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.1 (2016-06-21)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.1 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] flowViz_1.38.0 lattice_0.20-35
## [3] flowStats_3.32.0 flowWorkspace_3.20.5
## [5] ncdfFlow_2.20.2 BH_1.62.0-1
## [7] RcppArmadillo_0.7.700.0.0 cluster_2.0.5
## [9] fda_2.4.4 Matrix_1.2-7.1
## [11] flowCore_1.40.6
##
## loaded via a namespace (and not attached):
## [1] rgl_0.98.1 Rcpp_0.12.10 mvtnorm_1.0-6
## [4] FNN_1.1 corpcor_1.6.9 assertthat_0.1
## [7] rprojroot_1.2 digest_0.6.12 mime_0.5
## [10] R6_2.2.0 plyr_1.8.4 backports_1.0.5
## [13] stats4_3.3.1 pcaPP_1.9-61 evaluate_0.10
## [16] zlibbioc_1.20.0 misc3d_0.8-4 data.table_1.10.4
## [19] Rgraphviz_2.18.0 hexbin_1.27.1 rmarkdown_1.4
## [22] stringr_1.2.0 htmlwidgets_0.8 munsell_0.4.3
## [25] shiny_1.0.1 httpuv_1.3.3 BiocGenerics_0.20.0
## [28] IDPmisc_1.1.17 htmltools_0.3.5 multicool_0.1-10
## [31] tibble_1.3.0 gridExtra_2.2.1 codetools_0.2-15
## [34] matrixStats_0.52.1 XML_3.98-1.6 rrcov_1.4-3
## [37] dplyr_0.5.0 MASS_7.3-45 grid_3.3.1
## [40] xtable_1.8-2 jsonlite_1.3 gtable_0.2.0
## [43] DBI_0.6-1 magrittr_1.5 scales_0.4.1
## [46] graph_1.52.0 KernSmooth_2.23-15 stringi_1.1.3
## [49] latticeExtra_0.6-28 robustbase_0.92-7 RColorBrewer_1.1-2
## [52] tools_3.3.1 Biobase_2.34.0 DEoptimR_1.0-8
## [55] ks_1.10.6 parallel_3.3.1 yaml_2.1.14
## [58] colorspace_1.3-2 knitr_1.15.1
[ Back to top ]