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 example IPython notebook

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.

  • 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.

Required packages

This will soon go into a setuptools spec. (TODO!)

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

python >= 2.7
pandas >= 0.15.0
numexpr >= 2.1
seaborn >= 0.5.0
traits >= 4.0
FlowCytometryTools  >= 0.4.0

For the GUI, you additionally need:

pyface >= 4.0
pyqt >= 4.10

Note that many of these packages have additional dependencies, including but not limited to matplotlib, numpy, traitsui, decorator, etc. I’m pretty sure that they’re all well-behaved PyPI packages; you should be able to install all the above with pip install or the Canopy package manager.

Please note: I am a Linux user, and installing these packages is quite easy for me. It may be harder for Mac and Windows users; please write an install guide to help those that come after!

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.7.zip (195.0 kB 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.7.win-amd64-py2.7.exe (444.2 kB view details)

Uploaded Source

cytoflow-0.1.7.win32-py2.7.exe (409.8 kB view details)

Uploaded Source

cytoflow-0.1.7-cp27-none-win_amd64.whl (180.9 kB view details)

Uploaded CPython 2.7Windows x86-64

cytoflow-0.1.7-cp27-none-win32.whl (176.9 kB view details)

Uploaded CPython 2.7Windows x86

cytoflow-0.1.7-cp27-none-macosx_10_5_x86_64.whl (185.3 kB view details)

Uploaded CPython 2.7macOS 10.5+ x86-64

File details

Details for the file cytoflow-0.1.7.zip.

File metadata

  • Download URL: cytoflow-0.1.7.zip
  • Upload date:
  • Size: 195.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cytoflow-0.1.7.zip
Algorithm Hash digest
SHA256 57b92690cc10452169aa1134df62e6e82c10a949aa9177762736543d9f048c8b
MD5 4e5c68f4d770709ca09eb4f3eec3873f
BLAKE2b-256 98e36fd4b0236110731d61cb964bec633b00acc8d7f8c0726064866446c40335

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoflow-0.1.7.win-amd64-py2.7.exe
Algorithm Hash digest
SHA256 9ea0b778e8c9d7a3f5ef74f81a6e554baf52a663874b226a7b7c19c07084831a
MD5 0ffc797620eed75355af822273d3d773
BLAKE2b-256 f6dec4b0f6be9057de915aa87df946aec3b3cdd19d31aa5dc5cf560716670590

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoflow-0.1.7.win32-py2.7.exe
Algorithm Hash digest
SHA256 91a7ffc194b9faa8237ba8106b61960e05fe3643b691a70d7d567f42cd291d65
MD5 2af8d02495ea0a9c0a745c2bfdd24b5c
BLAKE2b-256 29631f9849b51a024187fa5a7579ab241a851d33bb4d40da8cdee4dec0b25a6e

See more details on using hashes here.

File details

Details for the file cytoflow-0.1.7-cp27-none-win_amd64.whl.

File metadata

File hashes

Hashes for cytoflow-0.1.7-cp27-none-win_amd64.whl
Algorithm Hash digest
SHA256 cde9f23005b5b8fce9eb0b70f9706e902f10b14d4d5d0cbf0fee7d86f81c6570
MD5 dfea9700a146e89f9488408302bb92ce
BLAKE2b-256 03bf8a131f6e2da0c6c2ee146edf0ed043df888c0e14f5d908c98f47cfb34036

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoflow-0.1.7-cp27-none-win32.whl
Algorithm Hash digest
SHA256 d83669927000d5c11879fb8ddb0804aae28b4e72b0be33762a880bdadfdd9a8f
MD5 e4da9fc79a7063b201b356a4ee32d9b5
BLAKE2b-256 5ed993453e485f70bf4d9b05426a67997ea24de575701f309b6ade189fcf38ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cytoflow-0.1.7-cp27-none-macosx_10_5_x86_64.whl
Algorithm Hash digest
SHA256 43e6f36bfe26cd68390035ecd3a8461506a195c0d8509a5f41b677148f9096ab
MD5 665be3708ae96e6b2a5e7e565edb9c3e
BLAKE2b-256 ecfa14424612a0b4ac44d7ba1b3ec241d8a67e47440c2477893c8bc3ce551943

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