Intelligence

Analysis

flowCore: Keep Sample Identity Attached to Every Analysis Step

The original flowCore framework links event data and metadata. A reproducible pipeline must also preserve the relationship between a specimen, its analysis and its reported result.

The right calculation can belong to the wrong specimen

A technically correct operation does not protect an analysis from a sample-label error. When files are processed in batches, the relationship between event data and specimen metadata deserves the same attention as the calculation applied to the events.

What the original flowCore paper contributes

Hahne and colleagues' 2009 BMC Bioinformatics article describes flowFrame as a container for one FCS file's events and metadata, and flowSet as a collection supporting consistent operations across samples. The infrastructure includes compensation, transformation and gating, with related packages handling other analysis tasks.

The publication concerns a research software framework. Its data structures support organised analysis; they do not certify that a local pipeline preserves every specimen identity or meets a clinical intended use. Current software behaviour must be checked in the version actually used.

Original CFCM conceptual checklist: Link the identity; Track operations; Reconstruct the result. No patient data or reproduced source figure.
Original CFCM conceptual diagram. Educational synthesis; not clinical validation.

Review the join between files and metadata

For a teaching exercise, select a small batch and give every specimen, acquisition file and analysis output a stable identity. Make the mapping explicit. Check what happens when a file is renamed, one specimen has several tubes or a table arrives in a different order from the acquisition files.

Do not rely on row position as the only link. A pipeline can run without an error while applying the correct patient or experiment label to the wrong measurements. Retain enough evidence to show how labels were joined, and hold ambiguous records rather than silently assigning them.

Preserve the operations, not only the final object

Record which input was used, which configuration was applied and which intermediate steps changed the events available for interpretation. An exported summary table may be useful for statistics while being insufficient to reconstruct its own denominator. Define which records must accompany that table.

These are proposed local verification checks, not a new benchmark of flowCore. A suitable challenge should be chosen for the intended workflow, including a deliberate identity mismatch that the pipeline is expected to detect. Document the expected response before running the exercise; a late explanation of an unexpected result is weaker evidence than a predefined check.

Daily Learning Pill

Reproducibility includes knowing which specimen a result describes. Preserve identity alongside the mathematical operation.

Explore CFCM tools and resources. Original ChatGPT/Codex educational analysis, without independent scientific review or clinical certification.