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.
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 flowViz
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(flowViz) # for flow data visualization
## 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:
## FSC SSC CD8 CD69 CD4 CD3 HLADr Time
First, we need to transform all the fluorescence channels. Using a workFlow
object can help to keep track of our progress.
## Create a workflow instance and transform data using asinh
wf <- workFlow(ITN)
## Warning: 'workFlow' is deprecated.
## Use 'flowWorkspace::GatingSet' instead.
## See help("Deprecated")
asinh <- arcsinhTransform()
tl <- transformList(colnames(ITN)[3:7], asinh,
transformationId = "asinh")
add(wf, tl)
Next we use the lymphGate
function to find the T-cells in the CD3/SSC projection.
## Identify T-cells population
lg <- lymphGate(Data(wf[["asinh"]]), channels=c("SSC", "CD3"),
preselection="CD4", filterId="TCells", eval=FALSE,
scale=2.5)
add(wf, lg$n2gate, parent="asinh")
print(xyplot(SSC ~ CD3| PatientID, wf[["TCells+"]],
par.settings=list(gate=list(col="red",
fill="red", alpha=0.3))))
## Note: method with signature 'filter#missing' chosen for function 'glpolygon',
## target signature 'logicalFilterResult#missing'.
## "filterResult#ANY" would also be valid
## Warning in grid.Call.graphics(L_polygon, x$x, x$y, index): semi-
## transparency is not supported on this device: reported only once per page
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
## try http:// if https:// URLs are not supported
source("https://bioconductor.org/biocLite.R")
biocLite("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 3.2.2 (2015-08-14)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu precise (12.04.4 LTS)
##
## 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] splines stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] flowStats_3.28.1 flowWorkspace_3.16.0
## [3] gridExtra_2.0.0 ncdfFlow_2.16.0
## [5] BH_1.58.0-1 RcppArmadillo_0.6.100.0.0
## [7] flowViz_1.34.0 lattice_0.20-33
## [9] cluster_2.0.3 mvoutlier_2.0.6
## [11] sgeostat_1.0-26 fda_2.4.4
## [13] Matrix_1.2-2 flowCore_1.36.0
##
## loaded via a namespace (and not attached):
## [1] multicool_0.1-9 ks_1.10.0 reshape2_1.4.1
## [4] pcaPP_1.9-60 colorspace_1.2-6 htmltools_0.2.6
## [7] stats4_3.2.2 yaml_2.1.13 XML_3.98-1.3
## [10] chron_2.3-47 hexbin_1.27.1 DBI_0.3.1
## [13] Rgraphviz_2.14.0 BiocGenerics_0.16.0 RColorBrewer_1.1-2
## [16] plyr_1.8.3 robustbase_0.92-5 stringr_1.0.0
## [19] zlibbioc_1.16.0 munsell_0.4.2 robCompositions_1.9.1
## [22] pls_2.5-0 gtable_0.1.2 mvtnorm_1.0-3
## [25] codetools_0.2-14 evaluate_0.8 misc3d_0.8-4
## [28] latticeExtra_0.6-26 Biobase_2.30.0 knitr_1.11
## [31] GGally_0.5.0 parallel_3.2.2 sROC_0.1-2
## [34] DEoptimR_1.0-4 proto_0.3-10 Rcpp_0.12.1
## [37] KernSmooth_2.23-15 corpcor_1.6.8 scales_0.3.0
## [40] formatR_1.2.1 graph_1.48.0 IDPmisc_1.1.17
## [43] ggplot2_1.0.1 digest_0.6.8 stringi_1.0-1
## [46] dplyr_0.4.3 grid_3.2.2 tools_3.2.2
## [49] rgl_0.95.1367 magrittr_1.5 rrcov_1.3-8
## [52] MASS_7.3-43 data.table_1.9.6 assertthat_0.1
## [55] rmarkdown_0.8.1 reshape_0.8.5 R6_2.1.1
[ Back to top ]