Using Bioconductor for High Throughput Assays

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.

Sample Workflow

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)
A flowSet with 15 experiments.

An object of class "AnnotatedDataFrame"
  	rowNames: sample01, sample02, ..., sample15  (15 total)
  	varLabels and varMetadata description:
	GroupID:  Group Identifier
	SiteCode:  Site of examination
	...: ...
	name: sample name
	(7 total)
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)
> 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,
> add(wf, lg$n2gate, parent="asinh")
> print(xyplot(SSC ~ CD3| PatientID, wf[["TCells+"]],
               fill="red", alpha=0.3))))


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 ]

Installation and Use

Follow installation instructions to start using these packages. To install the flowCore package and all of its dependencies, evaluate the commands

> source("")
> 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 ]

Exploring Package Content

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 ]

Diverse Assays Resources

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.

Flow Cytometry

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, iFlow

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.

Cell-based Assays

These packages provide data structures and algorithms for cell-based high-throughput screens (HTS).

cellHTS2, RNAither

This package supports the xCELLigence system which contains a series of real-time cell analyzer (RTCA).


High-throughput qPCR Assays

These package provide algorithm for the analysis of cycle threshold (Ct) from quantitative real-time PCR data.

HTqPCR, ddCt, qpcrNorm

Mass Spectrometry and Proteomics data

These packages provide framework for processing, visualization, and statistical analysis of mass spectral and proteomics data.

clippda, MassArray, MassSpecWavelet, PROcess, flagme, xcms

Imaging Based Assays

These packages provide infrastructure for image-based phenotyping and automation of other image-related tasks:


[ Back to top ]

Fred Hutchinson Cancer Research Center