How it works

OpenCyto allows users to perform data driven automated gating of cytometry data in BioConductor. Users build a gating template that defines a hierarchical relationship between cell populations, the parameters used to define them, and a series of data-driven gating algorithms to use.

Gates are not created until the algorithms actually see some data.

When the template is applied to a data set, openCyto then instantiates gates for each sample and cell population in a data-driven manner.

OpenCyto Docker Image

An openCyto docker image is available for easy installation.

At the command line install the image.:

> docker pull gfinak/opencyto
docker run gfinak/opencyto

Then navigate to localhost:8787 in your browser (username: rstudio password: rstudio).

Compatible Bioconductor Data structures

OpenCyto acts on Bioconductor objects called GatingSet and GatingHierarchy. A GatingSet is a collection of GatingHierarchy objects. A GatingHierarchy is a data structure holding data from a single FCS file (as a flowFrame) together with its associated metadata, annotations, cell populations, gates, etc.

A GatingSet can be constructed from a FlowJo workspace file in xml format using the flowWorkspace package, instantly making manually analyzed data accessible in R/Bioconductor.

Diva, and Cytobank xml gating files are also supported via the CytoML package.

A GatingSet can also be constructed from a flowSet object using the GatingSet() constructor.

The GatingSet will have no associated gates or populations, but these can be added using add_pop() from openCyto.

openCyto and the underlying core cytometry infrastructure has enabled a number of different projects:

Additional Resources

flowCore Resources

FlowWorkspace Resources

CytoML Resources

openCyto Resources

ggcyto Resources

Related Publications

Standardizing Flow Cytometry Immunophenotyping Analysis from the Human ImmunoPhenotyping Consortium

PDF Code Project Project Source Document