# Bioconductor Flowcore

> Provides S4 data structures and basic functions to deal with flow cytometry data.

- Skill: `biomate-ai/bioconductor-flowcore` (Agent Skill)
- Install (CLI): `npx skillmds@latest add biomate-ai/bioconductor-flowcore`
- Raw SKILL.md: https://api.skillmd.com/api/skills/biomate-ai/bioconductor-flowcore/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: biomate-ai (https://skillmd.com/u/biomate-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/biomate-ai/bioconductor-flowcore

---


# flowCore

## Dependencies & Environment

> Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.

- **Version:** 2.24.0 · **Bioconductor:** 3.23 · **R:** ≥ 4.6
- **Imports:** Biobase, BiocGenerics, Rcpp, matrixStats, cytolib, S4Vectors
- **System requirements:** GNU make, C++17
- **Install:** `BiocManager::install("flowCore")`

## When to Use
- **FCS3.0 Standard Parsing**: Reading and interpreting Flow Cytometry Data File Standard Version FCS3.0 files.
- **Segment Extraction**: Locating and extracting HEADER, TEXT, DATA, and ANALYSIS segments from flow cytometry data sets.
- **Large File Handling**: Processing data sets of 100 megabytes and larger where byte offsets exceed standard limits.
- **Compensation Matrix Retrieval**: Extracting the fluorescence compensation matrix ($COMP) applied to the data.

## When NOT to Use
- **Automated Cell Clustering**: For automated cell clustering, use flowMeans instead because flowCore focuses on file standard specifications and data structures.
- **Probability Binning**: For generating multivariate probability distribution fingerprints, use flowFP instead because flowCore only handles the raw file segments.

## Data Requirements
- **Input Format**: FCS3.0 conformant files.
- **Structure**: Must contain HEADER, TEXT, and DATA segments.
- **Storage Mode**: List mode data storage or histograms.

## Key Parameters
- **$BEGINDATA** (required): Byte-offset from the beginning of the data set to the beginning of the DATA segment.
- **$DATATYPE** (required): Type of data in the DATA segment (ASCII 'A', integer 'I', single precision floating point 'F', or double precision 'D').
- **$BYTEORD** (required): Byte order for the data acquisition computer (e.g., 4,3,2,1 or 1,2,3,4).
- **$COMP** (optional): Fluorescence compensation matrix elements stored in row-major order.
- **$PnB** (required): Number of bits reserved for parameter number n.
- **$PnR** (required): Range for parameter number n.

## Best Practices
- **Primary TEXT Segment Placement**: Ensure the primary TEXT segment is located entirely within the first 99,999,999 bytes of the data set.
- **ANALYSIS Segment Verification**: Check the $BEGINANALYSIS and $ENDANALYSIS keywords to determine if an ANALYSIS segment is present, especially if HEADER offsets are zero.
- **Internationalization**: Use the $UNICODE keyword to support multi-byte characters for string type keyword values.
- **Data Integrity**: Utilize the cyclic redundancy check (CRC) word placed at the end of each FCS3.0 data set to confirm file integrity after network transfers.

## Common Pitfalls
- **Large Data Set Offsets**: Data sets exceed the 99,999,999 byte limit, causing standard HEADER offsets to fail. *Fix*: Substitute '0's in the HEADER and place the true byte offsets in the $BEGINDATA and $ENDDATA keyword values in the TEXT segment.
- **Delimiter Collisions**: The delimiter character appears within a keyword or keyword value. *Fix*: Immediately follow the delimiter with a second identical delimiter character to escape it.
- **Missing Zero Values in Free Format ASCII**: Free format ASCII data ($DATATYPE/A/ with $PnB/*/) misinterprets consecutive delimiters. *Fix*: Explicitly specify zero values with the zero (0) character rather than leaving empty space between delimiters.

## Alternatives
- **flowMeans**: For downstream non-parametric clustering of the extracted flow cytometry data.
- **flowFP**: For fingerprinting and probability binning of the extracted flow cytometry data.

## Citations
- Data File Standards Committee of the International Society for Analytical Cytology (ISAC). FCS version 2.0 can be found in Cytometry 1990;11(3):323-32.

## References
- Homepage: bioconductor.org/packages/flowcore
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/flowCore/inst/doc/HowTo-flowCore.pdf

<!-- biomate-cta -->
---

## Run this on BioMate

This skill is the **knowledge layer** — when, why, and how to use `flowcore`. To **run this analysis on your own data** with managed compute, automated QC, and reproducible outputs, use **[BioMate](https://www.biomate.ai?ref=kb&pkg=flowcore)** — free to start.

▶ **[Open `flowcore` on BioMate →](https://www.biomate.ai?ref=kb&pkg=flowcore)**

