R version: R version 4.0.0 (2020-04-24)
Bioconductor version: 3.11
Package version: 1.12.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:
## FSC SSC CD8 CD69 CD4 CD3 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.0 (2020-04-24)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 18.04.4 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.11-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.11-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.0 ggcyto_1.16.0
## [3] ncdfFlow_2.34.0 BH_1.72.0-3
## [5] RcppArmadillo_0.9.870.2.0 ggplot2_3.3.0
## [7] highthroughputassays_1.12.0 flowWorkspace_4.0.0
## [9] flowStats_4.0.0 flowCore_2.0.0
## [11] BiocStyle_2.16.0
##
## loaded via a namespace (and not attached):
## [1] Biobase_2.48.0 splines_4.0.0 RcppParallel_5.0.0
## [4] assertthat_0.2.1 BiocManager_1.30.10 stats4_4.0.0
## [7] latticeExtra_0.6-29 yaml_2.2.1 robustbase_0.93-6
## [10] pillar_1.4.3 lattice_0.20-41 glue_1.4.0
## [13] digest_0.6.25 RColorBrewer_1.1-2 colorspace_1.4-1
## [16] htmltools_0.4.0 Matrix_1.2-18 plyr_1.8.6
## [19] pcaPP_1.9-73 XML_3.99-0.3 pkgconfig_2.0.3
## [22] magick_2.3 fda_5.1.4 bookdown_0.18
## [25] zlibbioc_1.34.0 purrr_0.3.4 mvtnorm_1.1-0
## [28] jpeg_0.1-8.1 tibble_3.0.1 farver_2.0.3
## [31] ellipsis_0.3.0 flowViz_1.52.0 withr_2.2.0
## [34] BiocGenerics_0.34.0 hexbin_1.28.1 magrittr_1.5
## [37] crayon_1.3.4 IDPmisc_1.1.20 mclust_5.4.6
## [40] evaluate_0.14 ks_1.11.7 MASS_7.3-51.6
## [43] graph_1.66.0 tools_4.0.0 data.table_1.12.8
## [46] lifecycle_0.2.0 matrixStats_0.56.0 stringr_1.4.0
## [49] munsell_0.5.0 cluster_2.1.0 compiler_4.0.0
## [52] rlang_0.4.5 grid_4.0.0 labeling_0.3
## [55] rmarkdown_2.1 cytolib_2.0.0 gtable_0.3.0
## [58] rrcov_1.5-2 R6_2.4.1 RProtoBufLib_2.0.0
## [61] gridExtra_2.3 knitr_1.28 dplyr_0.8.5
## [64] KernSmooth_2.23-17 Rgraphviz_2.32.0 stringi_1.4.6
## [67] parallel_4.0.0 Rcpp_1.0.4.6 vctrs_0.2.4
## [70] png_0.1-7 DEoptimR_1.0-8 tidyselect_1.0.0
## [73] xfun_0.13
[ Back to top ]