/FlowIO

A Python library for reading and writing Flow Cytometry Standard (FCS) files

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

FlowIO

PyPI license PyPI pyversions PyPI version DOI

Test (master) Test (develop) Coverage Documentation Status PyPI - Downloads

Overview

FlowIO is a Python library for reading / writing Flow Cytometry Standard (FCS) files, with zero external dependencies and is compatible with Python 3.7+.

FlowIO retrieves event data exactly as it is encoded in the FCS file: as a 1-dimensional list without separating the events into channels or performing any preprocessing (e.g. applying gain). Metadata stored in the FCS file is available as a dictionary via the 'text' attribute. Basic attributes are also available for commonly accessed properties. For example, the channel count can be used to easily convert the event data to a multi-column NumPy array:

import flowio
import numpy

fcs_data = flowio.FlowData('example.fcs')
npy_data = numpy.reshape(fcs_data.events, (-1, fcs_data.channel_count))

For higher level interaction with flow cytometry data, including GatingML and FlowJo 10 support, see the related FlowKit project.

Installation

The recommended way to install FlowIO is via the pip command:

pip install flowio

Or, if you prefer, you can install from the GitHub source:

git clone https://github.com/whitews/flowio
cd flowio
pip install .

Documentation

The FlowIO API documentation is available on ReadTheDocs here. If you have any questions about FlowIO or find any bugs please submit an issue to the GitHub repository here.

Changelogs

Changelogs for versions are available here