Skip to main content

Python tools for quantitative, reproducible flow cytometry analysis

Project description

Welcome to a different style of flow cytometry analysis. For a quick demo, check out an introductory Jupyter notebook, and then look at an example with some real data

What’s wrong with other packages?

Packages such as FACSDiva and FlowJo are focused on primarily on identifying and counting subpopulations of cells in a multi-channel flow cytometry experiment. While this is important for many different applications, it reflects flow cytometry’s origins in separating mixtures of cells based on differential staining of their cell surface markers.

Cytometers can also be used to measure internal cell state, frequently as reported by fluorescent proteins such as GFP. In this context, they function in a manner similar to a high-powered plate-reader: instead of reporting the sum fluorescence of a population of cells, the cytometer shows you the distribution of the cells’ fluorescence. Thinking in terms of distributions, and how those distributions change as you vary an experimental variable, is something existing packages don’t handle gracefully.

What’s different about CytoFlow?

A few things.

  • Free and open-source. Use the software free-of-charge; modify it to suit your own needs, then contribute your changes back so the rest of the community can benefit from them.

  • An emphasis on metadata. CytoFlow assumes that you are measuring fluorescence on several samples that were treated differently: either they were collected at different times, treated with varying levels of inducers, etc. You specify the conditions for each sample up front, then use those conditions to facet the analysis.

  • Cytometry analysis conceptualized as a workflow. Raw cytometry data is usually not terribly useful: you may gate out cellular debris and aggregates (using FSC and SSC channels), then compensate for channel bleed-through, and finally select only transfected cells before actually looking at the parameters you’re interested in experimentally. CytoFlow implements a workflow paradigm, where operations are applied sequentially; a workflow can be saved and re-used, or shared with your coworkers.

  • Easy to use. Sane defaults; good documentation; focused on doing one thing and doing it well.

  • Good visualization. I don’t know about you, but I’m getting really tired of FACSDiva plots.

  • Versatile. Built on Python, with a well-defined library of operations and visualizations that are well separated from the user interface. Need an analysis that CytoFlow doesn’t have? Export your workflow to an IPython notebook and use any Python module you want to complete your analysis. Data is stored in a pandas.DataFrame, which is rapidly becoming the standard for Python data management (and will make R users feel right at home.)

  • Extensible. Adding a new analysis module is simple; the interface to implement is only four functions.

  • Statistically sound. Ready access to useful data-driven tools for analysis, such as fitting 2-dimensional Gaussians for automated gating and mixture modeling.

Note: this is still beta software! Prepare to run into bugs. The point-and-click interface is even buggier, and does not expose all the functionality of the underlying analysis modules. Caveat emptor!

Installation

See the installation notes on ReadTheDocs.

Required packages

These are all in the setuptools spec.

For the core cytoflow library, you need the following Python packages:

python >= 2.7
pandas >= 0.15.0
numpy >= 1.9.0
numexpr >= 2.1
matplotlib == 1.4.3
scipy >= 0.14
scikit-learn >= 0.16
seaborn >= 0.6.0
traits >= 4.0
fcsparser >= 0.1.1

For the GUI, you additionally need:

pyface == 4.4.0
envisage >= 4.0
pyqt >= 4.10 -- this must be installed separately!

Note that many of these packages have additional dependencies, including but not limited to traitsui, decorator, etc. Everything except PyQT should be a well well-behaved PyPI package; you should be able to install all the above with pip install or the Canopy package manager.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cytoflow-0.1.10.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cytoflow-0.1.10.win-amd64-py2.7.exe (458.1 kB view details)

Uploaded Source

cytoflow-0.1.10.win32-py2.7.exe (423.7 kB view details)

Uploaded Source

cytoflow-0.1.10-cp27-none-win32.whl (190.2 kB view details)

Uploaded CPython 2.7Windows x86

cytoflow-0.1.10-cp27-none-macosx_10_5_x86_64.whl (198.5 kB view details)

Uploaded CPython 2.7macOS 10.5+ x86-64

File details

Details for the file cytoflow-0.1.10.tar.gz.

File metadata

  • Download URL: cytoflow-0.1.10.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cytoflow-0.1.10.tar.gz
Algorithm Hash digest
SHA256 be0f7144103822694e2d5fddd43efcfe6503c506b1ec8a17ad0293ee56aec6ec
MD5 bdf3b95f431f94e307d41c6e2dbfa63e
BLAKE2b-256 d8771ced32626238add2991d98d4db2c44704c46231e13528431858370e79f0e

See more details on using hashes here.

File details

Details for the file cytoflow-0.1.10.win-amd64-py2.7.exe.

File metadata

File hashes

Hashes for cytoflow-0.1.10.win-amd64-py2.7.exe
Algorithm Hash digest
SHA256 96b27e340c9d77ffc54d1c88bee8eceb76a5370d6731d917a13a91eb9faeae07
MD5 7843dd37eebd171c63ef3bea92762571
BLAKE2b-256 fe0b1e13804b6bf54cc4d4b895df58a0bfac69ccd5b7001620fc9fe77113b924

See more details on using hashes here.

File details

Details for the file cytoflow-0.1.10.win32-py2.7.exe.

File metadata

File hashes

Hashes for cytoflow-0.1.10.win32-py2.7.exe
Algorithm Hash digest
SHA256 92a2c2fb7ecfc4437cb51858b90013034387d2762708abe7a36047964e64e0da
MD5 d73b9e9459f1770427966b6ba140024e
BLAKE2b-256 8315fa9b1b24cd8e40b6dddef16feb4b1f148a907d1957b32c1ece47e6c7a4b6

See more details on using hashes here.

File details

Details for the file cytoflow-0.1.10-cp27-none-win32.whl.

File metadata

File hashes

Hashes for cytoflow-0.1.10-cp27-none-win32.whl
Algorithm Hash digest
SHA256 a447b6dcf76bec15b2d02a1ee7967b4c44f2dc02bca535c4eab8455589d05e4e
MD5 b18455e19f726141924aafdc7b313812
BLAKE2b-256 1568409dee17856e7f7c5ac6b6e872102f0d190e31a43b408cc925271099e750

See more details on using hashes here.

File details

Details for the file cytoflow-0.1.10-cp27-none-macosx_10_5_x86_64.whl.

File metadata

File hashes

Hashes for cytoflow-0.1.10-cp27-none-macosx_10_5_x86_64.whl
Algorithm Hash digest
SHA256 71e22645a5557a9846598e9588fed7b8e950b0af476246df9dbbfe6d121446fe
MD5 ff810cb09f5c4e5afe825a323f05755c
BLAKE2b-256 e5ce7376e335a8d3f1ee30199c5a77c29ff5f00521cec28eb08102d90910b279

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page