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.5.0 RC (2025-04-04 r88126)
Bioconductor version: 3.21
Package version: 1.32.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.5.0 RC (2025-04-04 r88126)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.2 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.21-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0 LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_GB 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
##
## time zone: America/New_York
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] scales_1.3.0 ggcyto_1.36.0
## [3] ncdfFlow_2.54.0 BH_1.87.0-1
## [5] ggplot2_3.5.2 highthroughputassays_1.32.0
## [7] flowWorkspace_4.20.0 flowStats_4.20.0
## [9] flowCore_2.20.0 BiocStyle_2.36.0
##
## loaded via a namespace (and not attached):
## [1] tidyselect_1.2.1 hdrcde_3.4 farver_2.1.2
## [4] dplyr_1.1.4 bitops_1.0-9 fastmap_1.2.0
## [7] RCurl_1.98-1.17 pracma_2.4.4 XML_3.99-0.18
## [10] digest_0.6.37 lifecycle_1.0.4 cluster_2.1.8.1
## [13] magrittr_2.0.3 compiler_4.5.0 rlang_1.1.6
## [16] sass_0.4.10 tools_4.5.0 yaml_2.3.10
## [19] data.table_1.17.0 knitr_1.50 rrcov_1.7-6
## [22] labeling_0.4.3 interp_1.1-6 mclust_6.1.1
## [25] mnormt_2.1.1 plyr_1.8.9 RColorBrewer_1.1-3
## [28] rainbow_3.8 KernSmooth_2.23-26 fda_6.2.0
## [31] withr_3.0.2 RProtoBufLib_2.20.0 BiocGenerics_0.54.0
## [34] grid_4.5.0 pcaPP_2.0-5 stats4_4.5.0
## [37] latticeExtra_0.6-30 colorspace_2.1-1 MASS_7.3-65
## [40] tinytex_0.57 cli_3.6.4 mvtnorm_1.3-3
## [43] rmarkdown_2.29 generics_0.1.3 robustbase_0.99-4-1
## [46] IDPmisc_1.1.21 fds_1.8 cachem_1.1.0
## [49] splines_4.5.0 parallel_4.5.0 BiocManager_1.30.25
## [52] matrixStats_1.5.0 vctrs_0.6.5 Matrix_1.7-3
## [55] jsonlite_2.0.0 cytolib_2.20.0 bookdown_0.43
## [58] S4Vectors_0.46.0 clue_0.3-66 Rgraphviz_2.52.0
## [61] magick_2.8.6 jpeg_0.1-11 jquerylib_0.1.4
## [64] hexbin_1.28.5 glue_1.8.0 DEoptimR_1.1-3-1
## [67] gtable_0.3.6 deldir_2.0-4 munsell_0.5.1
## [70] tibble_3.2.1 pillar_1.10.2 htmltools_0.5.8.1
## [73] graph_1.86.0 deSolve_1.40 R6_2.6.1
## [76] ks_1.14.3 evaluate_1.0.3 lattice_0.22-7
## [79] Biobase_2.68.0 png_0.1-8 flowViz_1.72.0
## [82] corpcor_1.6.10 bslib_0.9.0 Rcpp_1.0.14
## [85] gridExtra_2.3 xfun_0.52 pkgconfig_2.0.3
[ Back to top ]