Flow Informatics and Computational Cytometry Society

About FICCS | Join | FICCS Wiki | Mailing List | Contact Us
MIFlowCyt | FCS / ACS | Object Model | XML Standards | Ontology | Database Schema
R | Java | Data Files
FICCS1 | OMWG1 | FICCS2 | FICCS3 | FICCS4 | FICCS5
Algorithms | Object Model | R Packages | Data Standards
FuGE | OBI | ISAC | Bioconductor
Become a Sponsor
subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link | subglobal8 link
 

Software

Summary

To date only rudimentary bioinformatics tools exist to manage, analyze, present, and disseminate flow cytometry data, and there is considerable demand for appropriate tools to be developed as analysis of individual samples requires inordinate amounts of time, is error-prone, not open to re-evaluation, non-standardized, and the most limiting aspect of the technology.

R - RFlowCyt

Introduction

RFlowCyt is a statistical package implemented in R that provides basic S4 data structures and routines for analysing flow cytometry data. RFlowCyt is available as part of the Bioconductor package.

Overview of RFlowCyt

The RFlowCyt library package contains tools divided into main categories as follows: Data Mananagement and Retrieval, Flow Cytometry Visualizations, Gating, Exploratory Analysis, and Flow Cytometry Hypothesis Testing and Statistical Inference.

Data Management and Retrieval

The RFlowCyt tools in this category are used for the following tasks:

  • Read in FCS binary files into R-objects of S4 class FCS.
  • Extract or subset information from the data (a matrix object) of the FCS R-object.
  • Extract metadata (which is of S4 class FCSmetadata) portion of the FCS R-object.
  • Replace data information.
  • Add column variables in the data.
  • Replace or add new information to the metadata portion of the FCS R-object.
  • Coerce among FCS, data.frame and matrix class objects.
  • Demonstrate equality between two FCS R objects.
  • Print or show methods for FCS objects.
  • Check for any discrepancies between the metadata and the data of the FCS object.
  • Fix the metadata to reflect the information obtained from the data if there are discrepancies.
  • Summarize the FCS R-object with Tukey?s five number summary of the data and with slot information in the metadata and to output an FCSsummary S4 class object.

Data Visualizations

Visualization tools help to analyze the multivariate flow cytometry data. Because each cell has multiple immunofluoroescence and light scatter measurements, we have made alternatives to visualize, beyond the ordinary bivariate scatterplots, the cell distributions based on the different measurements. The common approach in the field circumvents the visualization of data on all variables by selecting a subset of interesting cells by a sequential progression of 1 and 2 dimensional gating steps. Gating refers to the selection of a region of cells or observations in a bivariate or univariate plot by placing boundaries around the region. These boundaries or thresholds based on a particular immunofluoroescence or light scatter measurement are refered to as gates. The sequence of gating steps is based on certain pairs of measurements or individual measurement, in which the gated region in a previous step is subsequently gated further in the next gating step. First we discuss the bivariate and multivariate plotting tools and then the gating tools.

Gating

The FCSgate class extends the S4 FCS class. There are three aspects to gating that are summarized as follows: Create Gating Index, Extract Gated Data, and Extract Gating Information. See RFlowCyt documentation within BioConductor for further information.

Exploratory Data Analysis

Users may decide to use several qualitative means to investigate the data. The Patient Rule Induction Method (PRIM) allows the extraction of rules defined as subsets that maximizes or minimizes a target function which is usually specified as the mean of a binary. In the flow cytometry setting, this target function is the mean of binary HIV-protein stimulated (Y=1) or unstimulated status (Y=0) for a particular immunofluoroescence data subset or box, which ultimately estimates a rule through iterative trimmings of the box in the greedy, top-down Peeling Step and iterative additions into the box during the patient Expansion Step. A Cross-Validation Step implements the same Peeling and Expansion Steps on Testdata Sets. Hence, the estimated rules aim at finding distributional differences between the HIV-protein stimulated and unstimulated cells in a multi-dimensional setting where many different immunofluoroescence measurements are made on the same sample of cells from an individual in an HIV vaccine trial.

Flow Cytometry Statistical Testing and Inference

The testing tools in this section are used to evaluate differences between HIV-protein stimulated and unstimulated scenarios, particularly in the IFNgamma measurement after gating described by Roederer and Hardy. Each subsection describes particular tests that are implemented by runflowcytests and other functions.

Java - FACEJava

Introduction

FACEJava provides Java reference implementations for the Gating-ML, Compensation-ML and Transformation-ML XML standards. It has partial support for FlowRDF - enough for FCS files to be gated, transformed, and/or compensated. FCS 3.0 is supported through the use of the CFCS library. Also provided in FACEJava, is the FACEFlow command line tool which uses the FACEJava implementations to analyze FCS files.

All the FACEJava code is licensed under the LGPL.

FACEFlow

FACEFlow is a command-line tool which performs data analysis of FCS files using Gating-ML, Compensation-ML and Transformation-ML files. It accepts relations between FCS files and the other analysis files through either command-line arguments or in FlowRDF files. It processes the relations and outputs new FCS files for each of the final analysis results.

Usage

The following section contains the basics about how the FACEFlow application can be called. Much more info about how to use FACEFlow can be found in the FACEFlow.README.txt file included in the distributions.

With FlowRDF Files

    java -jar faceflow.jar [options] path_to_rdf_files  

More than one RDF file can be given and each will be processed in turn. Note that each file is considered to be totally separate and relations in different files will not be merged together.

For example,

    java -jar faceflow.jar rdf/FlowRDFExample.rdf  

Manually on the Command Line

    java -jar faceflow.jar [options] -f path_to_fcs_file  

The options are:

-g
Relates a Gating-ML file to the FCS file.
-gate
Specifies the id of the only gate within the Gating-ML file to be used. If -gate is not given, all gates within the file are used. -gate is ignored if -g is not given.
-t
Relates a Transformation-ML file to the FCS file.
-c
Relates a Compensation-ML file to the FCS file.
-m
Specifies the id of the spilloverMatrix element within the Compensation-ML file to use for compensation. Note that if -c is given, -m must also be given.

Only one of each of the -f, -g, -gate, -t, -c and -m options may be given.

Note that the -f, -g, -gate, -t, -c and -m options will be ignored if an RDF file is given. Extra relations cannot be manually added to those in a FlowRDF file.

For example,

    java -jar faceflow.jar -f fcs/FCSExample.fcs -c comp/compensation.xml -m matrix1 -g gating/gating.xml     

Other Options

The following options apply in both cases:

-d
Used to specify which directory the outputted FCS files should be written to. FACEFlow defaults to the current directory for FCS file output.
-q
Suppresses all the logging output normally made by FACEFlow to the console as it processes the relations.
-r
Performs a test run where all relations are processed (i.e., files are loaded and analysis is performed), but no new FCS files are outputted. This option can be used to find errors in the specified relations or the related files (e.g., they don't match the schema).
-double
Writes FCS files which contain double (IEEE 754 double-precision) values instead of the default float (IEEE 754 single-precision) values.

Releases

All the FACEjava releases can be found in the download area on SourceForge. For each release there are binary, source and documentation distributions. The binary distribution contains the FACEFlow application, the FACEJava JAR libraries (one for each file standard), CFCS, the external libraries and the Javadoc. The source distribution contains a snapshot of the Subversion repository at the time of release. It includes everything in Subversion, i.e., the source code, test cases, external libraries, build script, etc. The documentation distribution contains a copy of the Javadoc for the release.

More information

Please visit the sourceforge.net web site for more information about FACEJava.

Data Files

GvHD data

High-Content Flow Cytometry and Temporal Data Analysis for Defining a Cellular Signature of Graft-Versus-Host Disease

Brinkman, R.R., et al., Biology of Blood and Marrow Transplantation, 2007; In Press, doi:10.1016/j.bbmt.2007.02.002

Acute graft-versus-host disease (GVHD) is diagnosed by clinical and histologic criteria that are often nonspecific and typically apparent only after the disease is well established. Because GvHD is mediated by donor T cells and other immune effector cells, we sought to determine whether changes within a wide array of peripheral blood lymphocyte populations could predict the development of GvHD. Peripheral blood samples from 31 patients undergoing allogeneic blood and marrow transplant were analyzed for the proportion of 121 different subpopulations defined by 4-color combinations of lymphocyte phenotypic and activation markers at progressive time points posttransplant. Samples were processed using a newly developed high content flow cytometry technique and subjected to a spline- and functional linear discriminant analysis (FLDA)-based temporal analysis technique. This strategy identified a consistent posttransplant increase in the proportion and extent of fluctuation of CD3+CD4+CD8[beta]+ cells in patients who developed GVHD compared to those that did not. Although larger prospective clinical studies will be necessary to validate these results, this study demonstrates that high-content flow cytometry coupled with temporal analysis is a powerful approach for developing new diagnostic tools, and may be useful for developing a sensitive and specific predictive test for GVHD.

Patient identification removed.

Rituximab data

Identification of compounds that enhance the anti-lymphoma activity of rituximab using flow cytometric high-content screening

Gasparetto, M., et al., J Immunol Methods, 2004. 292(1-2): p. 59-71.

In this report, we describe a new flow cytometry technique termed flow cytometric high-content screening (FC-HCS) which involves semi-automated processing and analysis of multiparameter flow cytometry samples. As a first test of the FC-HCS technique, we used it to screen a 2000-compound library, called the National Cancer Institute (NCI) Diversity Set, to identify agents that would enhance the anti-lymphoma activity of the therapeutic monoclonal antibody rituximab. FC-HCS identified 15 compounds from the Diversity Set that significantly enhanced the ability of rituximab to inhibit cell cycle progression and induce apoptosis in lymphoma cells. The validity of the screening results was confirmed for several compounds using additional assays of cell proliferation, apoptosis and cell growth. The FC-HCS technique was relatively simple and reliable and could process up to 1000 samples/day on a single flow cytometer. The FC-HCS technique may be useful for a variety of applications including drug discovery, immunologic monitoring of patients, functional genomics studies and tissue engineering efforts.

Plate data

Demonstration of how to use flowCore to analyze data from a 96 well plate experiment

The file contains 5 plates, staining description, and R scripts.

Large datasets

Large testing data sets from FACSAria and FACSVantage SE, created by BD FACSDiva (v5.0.1)

Large data sets for testing purposes; list mode data with up to a million of events in over 20 parameters.

Normal donor study

Over 8GB of data from a study of immune responses to infectious agents and cancer antigens among 40 healthy young adults

Fundamental intention is to measure immune responses to infectious agents and cancer antigens among healthy young adults.  The antigenic stimuli include chronic and episodic in vivo stimuli (cytomegalovirus and flu, respectively), and clinically relevant stimuli for which we expect the donor pool to be unexposed (HIV and a set of cancer related antigens).

The tactic of the experiment was to add fresh peripheral blood mononuclear cells (lymphocytes and monocytes, PBMCs) to an array of antigenic stimuli and a set of controls, allow the cells to respond to the stimuli for 6 hours, then measure the responses and the cell types of the responders by staining the samples with a set of fluorescent antibodies and acquiring data on a four color flow cytometer.  In detail, each PBMC sample was distributed in 96 stimulation wells in a microtiter tray then stained with one of two 4 color antibody cocktails.  40 such PBMC samples each generated 96 flow cytometry list files. Detailed description is included in the zip file.