FCS (flow cytometry standard) files are the canonical format for storing data produced by flow cytometers.
fireflow aims to losslessly read and write FCS files produced from any
machine with the following versions:
- FCS2.0
- FCS3.0
- FCS3.1
- FCS3.2
Key features:
- Is written in Rust (reliable and fast)
- Fully implements/validates the FCS standards (see implementation details)
- Can convert between FCS versions
- Can repair non-compliant FCS files while minimizing unreadable data (see common issues)
- Has API for command line, Python, R (planned)
Pre-release
- Rust version: 1.89+
- Operating systems: Windows, MacOS, Linux
In addition to the core Rust library, fireflow has several wrappers.
Tested Python versions:
- CPython 3.11
- CPython 3.12
- CPython 3.13
- CPython 3.14
The python API is documented here.
The Python package/module for fireflow is pyreflow.
pyreflow is not yet available via PyPI or other package respositories so it
must be built from source:
Install using pip/git:
pip install git+https://github.com/usnistgov/fireflow.git#subdirectory=pyreflowThis will build and install the master branch into the currently active environment.
Alternatively, install into a conda environment.
Example env.yml:
channels:
- conda-forge
dependencies:
- maturin=1.8.7
- pip:
- git+https://github.com/usnistgov/fireflow.git#subdirectory=pyreflowSee here.
Coming soon
This library was developed as part of the ongoing efforts of the NIST Flow Cytometry Standards Consortium.
Please submit code-related issues to the issue tracker in this repository. Please send general inquiries to njd2@nist.gov.