📚 Table of Contents
1. The FCS File Format
Flow cytometry data is stored in the Flow Cytometry Standard (FCS) file format, maintained by the International Society for Advancement of Cytometry (ISAC). The current standard is FCS 3.1 (released 2010).
File Structure
An FCS file has four segments:
- HEADER: Fixed 256-byte block with byte offsets pointing to the other segments. Includes version string (e.g., "FCS3.1").
- TEXT: Key-value pairs containing metadata — parameter names ($PnN), channel counts ($TOT), acquisition date, laser settings, detector voltages, compensation matrix, etc. Delimited by a chosen separator character.
- DATA: The actual measurements. List-mode data where each row is one event and each column is one parameter. Stored as integers (for older files) or floating-point values. Typical parameters: FSC-A, FSC-H, SSC-A, SSC-H, FL1-A, FL2-A, etc., plus a Time parameter.
- ANALYSIS: Optional segment for gating results (rarely used; most analysis is done externally in software like FlowJo).
2. Display Types
Choosing the right plot type is critical for identifying populations, setting gates, and presenting results.
| Plot Type | Parameters | Best For | Limitations |
|---|---|---|---|
| Dot Plot | 2 | Exploring data; identifying outliers; seeing every event | Overplotting at high event counts (dense regions appear solid) |
| Density / Pseudocolor Plot | 2 | Resolving dense populations; publication figures | Colors can obscure rare events; color scales need context |
| Contour Plot | 2 | Clean population boundaries; publication | Rare events (<1%) may be invisible between contour lines |
| Zebra Plot | 2 | Hybrid of contour and dot plot; shows rare events as dots outside contour lines | Can be busy with complex data |
| Histogram | 1 | Single parameter expression; overlays; comparing conditions | Only shows one dimension; misses relationships between parameters |
| Overlay Histogram | 1 | Comparing staining intensity across samples or conditions | More than 3–4 overlays becomes difficult to read |
3. Scaling & Transformation
Flow cytometry data spans many orders of magnitude (from near-zero background to bright positive staining). Proper scaling is essential to visualize and gate data correctly.
Linear Scale
Values are displayed with equal spacing. Best for: scatter parameters (FSC, SSC), DNA content (cell cycle), and any parameter where the populations don't span more than ~1 decade.
Logarithmic Scale
Traditional 4-decade log scale compresses upper values and expands lower values. Good for most fluorescence parameters where positive and negative populations span several decades. Problem: Log scale cannot display zero or negative values — events get piled up on the axis.
Biexponential (Logicle / Hyperlog)
Modern flow cytometry's most important data transformation. Biexponential display behaves linearly near zero (and below zero) and logarithmically at higher values. This is critical because:
- Compensated data often contains negative values (spillover subtraction can push events below zero)
- On log scale, these events pile up at the axis, distorting populations and making gating impossible
- Biexponential correctly displays the full range including the negative tail of unstained populations
Transformation Parameters
Biexponential transforms have adjustable parameters (width, positive/negative decades) that control the linear-to-log transition. In FlowJo, these are the "T" (top of scale) and "W" (width of linear range) parameters. If populations look compressed against the axis, try adjusting the width parameter.
4. Gating Strategies
Gating is the process of selecting subsets of events for analysis. Gates are drawn on plots as regions (rectangles, polygons, ellipses, or quadrants) that define populations of interest.
The Standard Gating Hierarchy
Almost every flow cytometry analysis follows this core gating sequence before any marker-specific analysis:
Universal Pre-Gating Hierarchy
Remove fluidic artifacts
FSC vs SSC: exclude debris
FSC-H vs FSC-A
Viability dye negative
Population of interest
Gate Types
- Rectangular gate: Simple box on a bivariate plot. Fast to draw, easy to describe. Good for clearly separated populations.
- Polygon gate: Free-form shape that follows population contours. More accurate for irregularly shaped populations.
- Elliptical gate: Oval shape; good for roughly circular populations. Some software can auto-fit ellipses.
- Quadrant gate: Divides a bivariate plot into 4 quadrants. Common for two-color panels (e.g., CD4 vs CD8). Only appropriate when populations are clearly separated.
- Boolean gates: Combine gates logically:
- AND: Events in both Gate A and Gate B
- OR: Events in Gate A or Gate B (or both)
- NOT: Events NOT in Gate A (complement / exclusion)
Singlet Discrimination Deep Dive
Cell doublets (two cells stuck together) cause false positive events. They appear between populations on dot plots and corrupt statistics. Singlet discrimination removes them:
- FSC-H vs FSC-A: Single cells fall on a tight diagonal. Doublets have disproportionately high area relative to height (wider pulse). Gate on the diagonal.
- SSC-H vs SSC-W: Alternative approach using side scatter pulse geometry. Particularly useful for DNA cell cycle analysis where FSC may be affected by cell cycle stage.
- For best results, gate on both FSC and SSC singlet gates sequentially.
5. Common Gating Hierarchies
Below are standard gating strategies for the most commonly analyzed cell populations. All assume you've already applied the pre-gating hierarchy (time, scatter, singlets, live/dead).
T Cell Subsets
T lymphocytes
Helper vs Cytotoxic
Naïve/CM/EM/EMRA
CD3+CD4+ = helper T cells. CD3+CD8+ = cytotoxic T cells. Further subdivision by memory markers: CCR7+CD45RA+ (naïve), CCR7+CD45RA− (central memory), CCR7−CD45RA− (effector memory), CCR7−CD45RA+ (TEMRA).
B Cells
B lymphocytes
Naïve/Memory/Switched
NK Cells
Exclude T cells
NK cells
CD56brightCD16dim/− = regulatory/cytokine-producing NK. CD56dimCD16+ = cytotoxic NK.
Monocyte Subsets
On HLA-DR+ gate
CD14++CD16− = classical (85%). CD14++CD16+ = intermediate (5%). CD14+CD16++ = non-classical (10%).
Dendritic Cells
Exclude lineage markers
mDC vs pDC
Lineage cocktail (dump channel): CD3, CD14, CD16, CD19, CD20, CD56. Lin−HLA-DR+CD11c+ = myeloid DC. Lin−HLA-DR+CD123+ = plasmacytoid DC.
6. Statistical Measures
| Statistic | Definition | When to Use |
|---|---|---|
| % Positive | Fraction of events within a gate, as percentage of parent population | Reporting frequency of cell subsets |
| MFI (Mean) | Arithmetic mean fluorescence intensity of a gated population | Expression level comparison; sensitive to outliers |
| MFI (Median) | Median fluorescence intensity; 50th percentile value | Preferred for skewed distributions (most flow data); robust to outliers |
| gMFI (Geometric Mean) | Geometric mean; equivalent to mean of log-transformed data | Log-normally distributed data; traditional flow metric |
| CV (%) | Coefficient of variation = (SD/Mean) × 100% | Instrument QC (bead CV); assessing population spread |
| Robust CV (rCV) | CV calculated from the median and robust SD (84.13th − 50th percentile) | More stable for non-Gaussian data; used by some QC software |
| Stain Index | (MFIpos − MFIneg) / (2 × SDneg) | Evaluating antibody titration; comparing reagent performance; panel optimization |
7. Quality Control
The Time Parameter
The time parameter records the acquisition time of each event. Plotting any fluorescence parameter vs. time reveals fluidic instabilities:
- Spikes: Air bubbles or partial clogs
- Gradual drift: Laser warm-up, temperature change, or failing pressure regulation
- Sudden shifts: Clog release, pressure change, sample tube running empty
Apply a time gate to exclude unstable regions before any analysis.
QC Beads
| Bead Type | Purpose | Frequency |
|---|---|---|
| CS&T Beads (BD) | Daily QC; sets PMT voltages; tracks instrument performance over time via Levey-Jennings plots | Daily (before experiments) |
| Rainbow Beads (Spherotech) | Multi-peak beads spanning 3–4 decades; verify linearity and PMT response | Daily or weekly |
| MESF Beads | Molecules of Equivalent Soluble Fluorochrome; quantitate absolute fluorescence | For quantitative studies |
| ABC Beads (Quantum Simply Cellular) | Antibody Binding Capacity; quantitate antibody molecules per cell | For receptor density quantitation |
| Compensation Beads | Anti-Ig capture beads for single-stain compensation controls | Every experiment with multiple colors |
8. High-Dimensional Analysis
As panels grow beyond 15–20 parameters, manual sequential gating becomes impractical and biased. High-dimensional computational tools offer unbiased population discovery.
| Algorithm | Type | What It Does | Common Software |
|---|---|---|---|
| tSNE | Dimensionality reduction | Non-linear projection of high-dimensional data to 2D. Preserves local structure; similar cells cluster together. Good for visualization. | FlowJo, Cytobank, OMIQ, R |
| UMAP | Dimensionality reduction | Similar to tSNE but faster and better at preserving global structure. Increasingly preferred over tSNE. | FlowJo, OMIQ, Python, R |
| FlowSOM | Clustering | Self-Organizing Map + hierarchical clustering. Groups events into metaclusters representing cell populations. Fast; handles millions of events. | R (FlowSOM package), OMIQ, Cytobank |
| PhenoGraph | Clustering | k-nearest neighbor graph-based clustering. Often produces more granular clusters than FlowSOM. Good for rare populations. | R, Python, OMIQ |
| SPADE | Tree visualization | Spanning-tree Progression of Density-normalized Events. Creates a tree structure showing population relationships. | Cytobank, R |
| Diffusion Map | Trajectory analysis | Reveals differentiation trajectories and developmental pathways. | R (destiny), Python (scanpy) |
| PCA | Dimensionality reduction | Linear projection; finds axes of maximum variance. Good for initial exploration and removing correlated dimensions. | All platforms |
9. Batch Analysis & Standardization
Cross-Sample Normalization
When comparing MFI values across experiments, dates, or sites, raw MFI is unreliable because it depends on instrument-specific factors (PMT voltage, laser power, optical alignment). Solutions:
- MESF (Molecules of Equivalent Soluble Fluorochrome): Convert MFI to standardized fluorescence units using MESF calibration beads. Instrument-independent.
- ABC (Antibody Binding Capacity): Quantitate actual receptor density per cell using Quantum Simply Cellular beads. Gold standard for comparing expression across instruments and sites.
- Normalize to reference sample: Include the same reference sample (e.g., frozen PBMCs from a single healthy donor) across all experiments. Express results as fold-change relative to reference.
Batch Effects
Common sources of batch effects include: reagent lot changes (especially tandem dyes), instrument service/recalibration, operator differences, sample processing time variations, and ambient temperature. Mitigate by: randomizing sample order, including internal controls, and using harmonization algorithms (e.g., CytoNorm, CytofBatchAdjust for CyTOF).
10. Software Overview
| Software | Type | Platform | Key Features |
|---|---|---|---|
| FlowJo (BD) | Desktop | Mac/Windows | Industry standard; intuitive gating; tSNE/UMAP/FlowSOM built-in; extensive plugin ecosystem; workspace sharing |
| FCS Express (De Novo) | Desktop | Windows | Direct export to PowerPoint; batch analysis; GxP compliance module; image cytometry support |
| Kaluza (Beckman Coulter) | Desktop | Windows | Radar plots; optimized for CytoFLEX data; merge/overlay capabilities |
| Cytobank | Cloud | Browser | Collaborative cloud platform; viSNE, SPADE, FlowSOM; ideal for multi-site studies |
| OMIQ | Cloud | Browser | Modern cloud platform; opt-SNE, FlowSOM, PhenoGraph, UMAP; AI-assisted gating |
| SpectroFlo (Cytek) | Acquisition + Analysis | Windows | Spectral unmixing; reference spectrum management; spectral cytometry-optimized |
| R (flowCore/openCyto) | Programming | Cross-platform | Full programmatic control; reproducible pipelines; integration with Bioconductor |
| Python (FlowCytometryTools, CytoFlow) | Programming | Cross-platform | Machine learning integration; scripting; Jupyter notebooks |
11. Reporting & Publication Standards
MIFlowCyt (Minimum Information about Flow Cytometry)
MIFlowCyt is the ISAC-endorsed reporting standard for flow cytometry experiments. When publishing, your methods section should include:
- Instrument: Manufacturer, model, laser configuration, detector configuration
- Software: Acquisition and analysis software with version numbers
- Sample preparation: Cell source, processing steps, staining conditions (time, temperature, concentrations)
- Antibodies/reagents: Target, clone, fluorochrome, vendor, catalog number, lot number, titrated concentration
- Controls: List all controls used (unstained, single-stains, FMOs, isotypes, biological controls)
- Gating strategy: Show the full gating hierarchy as a figure or supplementary figure. Number of events collected.
- Compensation: How compensation was performed (beads vs cells, software used)
- Data transformation: Scaling method (log, biexponential, linear)
Figure Preparation
- Use pseudocolor or contour plots (not dot plots) for publication
- Label axes with both the fluorochrome AND the marker name (e.g., "CD4 BV421")
- Show the gating hierarchy in supplementary materials
- Include the number of events displayed and the parent gate
- Use consistent axis scaling across comparison panels
- Export plots as high-resolution (300+ DPI) vector graphics when possible