whitews / FlowKit

A Python toolkit for flow cytometry analysis supporting GatingML and FlowJo workspaces
https://flowkit.readthedocs.io
BSD 3-Clause "New" or "Revised" License
153 stars 38 forks source link
cytometry data-science fcs fcs-files flow-cytometry flow-cytometry-analysis flowjo gatingml immunology python

FlowKit

"FlowKit"

PyPI license PyPI pyversions PyPI version DOI

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

Overview

FlowKit is a Python toolkit for flow cytometry analysis and visualization, with full support for the GatingML 2.0 standard and limited support for FlowJo 10 workspace files.

FlowKit Overview

Features

Requirements

FlowKit supports Python version 3.8 - 3.12. All dependencies are installable via pip, and are listed below.

NOTE: FlowUtils uses C extensions for significant performance improvements. For most platforms and Python versions, pre-built binaries of FlowUtils are available in PyPI (i.e. installable via pip). If a pre-built binary is not available for your environment, the C extensions must be compiled using the source package.

Required Python dependencies:

Installation

NOTE: For macOS users running on Apple Silicon, the version of pip may need to be upgraded prior to installing FlowKit in order to install the required dependencies.

From PyPI

pip install flowkit

From source

Clone the repository and ensure pip is up-to-date.

git clone https://github.com/whitews/flowkit
cd flowkit
pip install --upgrade pip
pip install .

Documentation

The FlowKit API documentation is available on ReadTheDocs here. The tutorial notebooks in the docs/notebooks directory are a great place to get started with FlowKit, and are linked below. If you have any questions about FlowKit, find any bugs, or feel something is missing from the tutorials below please submit an issue to the GitHub repository here.

Changelogs

Changelogs for versions are available here

Tutorials

The series of Jupyter notebook tutorials can be found in the docs/notebooks directory of this repository. Note, the interactive scatterplots do not render on GitHub. The rendered versions are available on our documentation page here. Or, clone the repo and run them locally to see the fully interactive plots.

Advanced Examples

Below are more advanced and practical examples for using FlowKit. If you have an example you would like to submit for consideration in this list (preferably with data), please submit an issue.

Contributing

Want to get involved in the development of FlowKit?

Read our CONTRIBUTING guidelines

Cite FlowKit

White, S., Quinn, J., Enzor, J., Staats, J., Mosier, S. M., Almarode, J., Denny, T. N., Weinhold, K. J., Ferrari, G., & Chan, C. (2021). FlowKit: A Python toolkit for integrated manual and automated cytometry analysis workflows. Frontiers in Immunology, 12. https://doi.org/10.3389/fimmu.2021.768541

Projects & Research Using FlowKit

The following projects and publications have utilized FlowKit. If you have a package or publication where FlowKit was used, and you want it listed here, feel free to submit an issue letting me know.