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
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.3.0 (2016-05-03)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 14.04.3 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.30.1 flowWorkspace_3.18.10
## [3] gridExtra_2.2.1 ncdfFlow_2.18.0
## [5] BH_1.60.0-2 RcppArmadillo_0.7.400.2.0
## [7] flowViz_1.36.2 lattice_0.20-33
## [9] cluster_2.0.4 fda_2.4.4
## [11] Matrix_1.2-6 flowCore_1.38.2
##
## loaded via a namespace (and not attached):
## [1] Rcpp_0.12.7 mvtnorm_1.0-5 corpcor_1.6.8
## [4] assertthat_0.1 digest_0.6.10 mime_0.5
## [7] R6_2.1.3 plyr_1.8.4 chron_2.3-47
## [10] stats4_3.3.0 pcaPP_1.9-60 evaluate_0.9
## [13] zlibbioc_1.18.0 misc3d_0.8-4 data.table_1.9.6
## [16] Rgraphviz_2.16.0 hexbin_1.27.1 rmarkdown_1.0
## [19] stringr_1.1.0 htmlwidgets_0.7 munsell_0.4.3
## [22] shiny_0.14 httpuv_1.3.3 BiocGenerics_0.18.0
## [25] IDPmisc_1.1.17 htmltools_0.3.5 multicool_0.1-9
## [28] tibble_1.2 codetools_0.2-14 matrixStats_0.50.2
## [31] XML_3.98-1.4 rrcov_1.4-3 dplyr_0.5.0
## [34] MASS_7.3-45 grid_3.3.0 jsonlite_1.0
## [37] xtable_1.8-2 gtable_0.2.0 DBI_0.5-1
## [40] magrittr_1.5 formatR_1.4 scales_0.4.0
## [43] graph_1.50.0 KernSmooth_2.23-15 stringi_1.1.1
## [46] latticeExtra_0.6-28 robustbase_0.92-6 RColorBrewer_1.1-2
## [49] tools_3.3.0 Biobase_2.32.0 DEoptimR_1.0-6
## [52] ks_1.10.4 parallel_3.3.0 yaml_2.1.13
## [55] colorspace_1.2-6 knitr_1.14
[ Back to top ]