Bioconductor includes packages for analysis of diverse areas of high-throughput assays such as flow cytometry, quantitative real-time PCR, mass spectrometry, proteomics and other cell-based data.
R version: R version 4.0.3 (2020-10-10)
Bioconductor version: 3.12
Package version: 1.14.0
The following psuedo-code illustrates a typical R / Bioconductor session. It makes use of the flow cytometry packages to load, transform and visualize the flow data and gate certain populations in the dataset.
The workflow loads the flowCore
, flowStats
and flowWorkspace
packages and its
dependencies. It loads the ITN data with 15 samples, each of which includes,
in addition to FSC and SSC, 5 fluorescence channels: CD3, CD4, CD8, CD69 and
HLADR.
## Load packages
library(flowCore)
library(flowStats)
library(flowWorkspace)
library(ggcyto)
library(scales)
## Load data
data(ITN)
ITN
## A flowSet with 15 experiments.
##
## An object of class 'AnnotatedDataFrame'
## rowNames: sample01 sample02 ... sample15 (15 total)
## varLabels: GroupID SiteCode ... name (7 total)
## varMetadata: labelDescription
##
## column names(8): FSC SSC ... HLADr Time
First, we need to transform all the fluorescence channels. Using a GatingSet
object can help to keep track of our progress.
## Create a workflow instance and transform data using asinh
gs <- GatingSet(ITN)
trans.obj <- trans_new("myAsinh", transform=asinh, inverse=sinh)
tl <- transformerList(colnames(ITN)[3:7], trans.obj)
gs <- transform(gs, tl)
Next we use the lymphGate
function to find the T-cells in the CD3/SSC
projection.
## Identify T-cells population
lg <- lymphGate(gs_cyto_data(gs), channels=c("CD3", "SSC"),
preselection="CD4", filterId="TCells",
scale=2.5)
gs_pop_add(gs, lg)
## [1] 2
recompute(gs)
## done!
ggcyto(gs, aes(x = CD3, y = SSC)) + geom_hex(bins = 32) + geom_gate("TCells")
A typical workflow for flow cytometry data analysis in Bioconductor flow packages include data transformation, normalization, filtering, manual gating, semi-automatic gating and automatic clustering if desired. Details can be found in flowWorkFlow.pdf or the vignettes of the flow cytometry packages.
[ Back to top ]
Follow installation instructions to start using these
packages. To install the flowCore
package and all of its
dependencies, evaluate the commands
if (!"BiocManager" %in% rownames(installed.packages()))
install.packages("BiocManager")
BiocManager::install("flowCore")
Package installation is required only once per R installation. View a full list of available packages.
To use the flowCore
package, evaluate the command
library("flowCore")
This instruction is required once in each R session.
[ Back to top ]
Packages have extensive help pages, and include vignettes highlighting common use cases. The help pages and vignettes are available from within R. After loading a package, use syntax like
help(package="flowCore")
?read.FCS
to obtain an overview of help on the flowCore
package, and the
read.FCS
function, and
browseVignettes(package="flowCore")
to view vignettes (providing a more comprehensive introduction to
package functionality) in the flowCore
package. Use
help.start()
to open a web page containing comprehensive help resources.
[ Back to top ]
The following provide a brief overview of packages useful for analysis of high-throughput assays. More comprehensive workflows can be found in documentation (available from package descriptions) and in Bioconductor publications.
These packages use standard FCS files, including infrastructure, utilities, visualization and semi-autogating methods for the analysis of flow cytometry data.
flowCore, flowViz, flowQ, flowStats, flowUtils, flowFP, flowTrans,
Algorithms for clustering flow cytometry data are found in these packages:
flowClust, flowMeans, flowMerge, SamSPECTRAL
A typical workflow using the packages flowCore
, flowViz
, flowQ
and
flowStats
is described in detail in flowWorkFlow.pdf.
The data files used in the workflow can be downloaded from
here.
These packages provide data structures and algorithms for cell-based high-throughput screens (HTS).
This package supports the xCELLigence system which contains a series of real-time cell analyzer (RTCA).
These package provide algorithm for the analysis of cycle threshold (Ct) from quantitative real-time PCR data.
These packages provide framework for processing, visualization, and statistical analysis of mass spectral and proteomics data.
These packages provide infrastructure for image-based phenotyping and automation of other image-related tasks:
[ Back to top ]
sessionInfo()
## R version 4.0.3 (2020-10-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 18.04.5 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.12-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.12-bioc/R/lib/libRlapack.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] scales_1.1.1 ggcyto_1.18.0
## [3] ncdfFlow_2.36.0 BH_1.72.0-3
## [5] RcppArmadillo_0.10.1.0.0 ggplot2_3.3.2
## [7] highthroughputassays_1.14.0 flowWorkspace_4.2.0
## [9] flowStats_4.2.0 flowCore_2.2.0
## [11] BiocStyle_2.18.0
##
## loaded via a namespace (and not attached):
## [1] Biobase_2.50.0 httr_1.4.2 splines_4.0.3
## [4] RcppParallel_5.0.2 BiocManager_1.30.10 stats4_4.0.3
## [7] latticeExtra_0.6-29 yaml_2.2.1 robustbase_0.93-6
## [10] pillar_1.4.6 lattice_0.20-41 glue_1.4.2
## [13] digest_0.6.27 RColorBrewer_1.1-2 colorspace_1.4-1
## [16] plyr_1.8.6 htmltools_0.5.0 Matrix_1.2-18
## [19] pcaPP_1.9-73 XML_3.99-0.5 pkgconfig_2.0.3
## [22] magick_2.5.0 fda_5.1.5.1 bookdown_0.21
## [25] zlibbioc_1.36.0 purrr_0.3.4 mvtnorm_1.1-1
## [28] jpeg_0.1-8.1 tibble_3.0.4 aws.s3_0.3.21
## [31] farver_2.0.3 generics_0.0.2 ellipsis_0.3.1
## [34] withr_2.3.0 flowViz_1.54.0 BiocGenerics_0.36.0
## [37] hexbin_1.28.1 magrittr_1.5 crayon_1.3.4
## [40] IDPmisc_1.1.20 mclust_5.4.6 evaluate_0.14
## [43] ks_1.11.7 MASS_7.3-53 xml2_1.3.2
## [46] graph_1.68.0 tools_4.0.3 data.table_1.13.2
## [49] lifecycle_0.2.0 matrixStats_0.57.0 stringr_1.4.0
## [52] S4Vectors_0.28.0 munsell_0.5.0 cluster_2.1.0
## [55] compiler_4.0.3 rlang_0.4.8 grid_4.0.3
## [58] aws.signature_0.6.0 labeling_0.4.2 base64enc_0.1-3
## [61] rmarkdown_2.5 gtable_0.3.0 cytolib_2.2.0
## [64] curl_4.3 rrcov_1.5-5 R6_2.5.0
## [67] RProtoBufLib_2.2.0 gridExtra_2.3 knitr_1.30
## [70] dplyr_1.0.2 KernSmooth_2.23-18 Rgraphviz_2.34.0
## [73] stringi_1.5.3 parallel_4.0.3 Rcpp_1.0.5
## [76] vctrs_0.3.4 png_0.1-7 DEoptimR_1.0-8
## [79] tidyselect_1.1.0 xfun_0.18
[ Back to top ]