| Literature DB >> 34804056 |
Scott White1,2,3, John Quinn4, Jennifer Enzor5,6, Janet Staats5,6, Sarah M Mosier1,6, James Almarode4, Thomas N Denny1,7, Kent J Weinhold1,5,6, Guido Ferrari1,3,6, Cliburn Chan1,2,3.
Abstract
An important challenge for primary or secondary analysis of cytometry data is how to facilitate productive collaboration between domain and quantitative experts. Domain experts in cytometry laboratories and core facilities increasingly recognize the need for automated workflows in the face of increasing data complexity, but by and large, still conduct all analysis using traditional applications, predominantly FlowJo. To a large extent, this cuts domain experts off from the rapidly growing library of Single Cell Data Science algorithms available, curtailing the potential contributions of these experts to the validation and interpretation of results. To address this challenge, we developed FlowKit, a Gating-ML 2.0-compliant Python package that can read and write FCS files and FlowJo workspaces. We present examples of the use of FlowKit for constructing reporting and analysis workflows, including round-tripping results to and from FlowJo for joint analysis by both domain and quantitative experts.Entities:
Keywords: FlowJo; GatingML; flow cytometry; python (programming language); single cell data science; software; systems immunology
Mesh:
Year: 2021 PMID: 34804056 PMCID: PMC8602902 DOI: 10.3389/fimmu.2021.768541
Source DB: PubMed Journal: Front Immunol ISSN: 1664-3224 Impact factor: 7.561
Comparison of features between FlowKit and other FCM software libraries.
| FlowKit | flowCore (R) | Cytoflow | CytoPy | FlowCal | FlowCytometryTools | |
|---|---|---|---|---|---|---|
| Version | 0.8.0 | 2.4.0 | 1.1.1 | 2.0.1 | 1.3.0 | 0.5.1 |
| (release date) | (Oct 2021) | (Nov 2020) | (Mar 2021) | (May 20221) | (Jan 2021) | (Jan 2021) |
| Programming Language | Python | R | Python | Python | Python | Python |
| (latest version supported) | (3.9) | (4.1) | (3.72) | (3.9) | (3.8) | (2.7, 35) |
| Uses Continuous Integration | Yes | Yes | No | No | No | Yes |
| Includes tests | Yes | Yes | Yes | Yes | Yes | Yes |
| Reports test coverage | Yes | No | No | No | No | No |
| FCS file library | FlowIO |
| fcsparser3 | FlowIO |
| fcsparser |
| Supports channel gain ($PnG) | Yes | Yes, but not by default | No | No | Yes, but not by default | No |
| Supports $TIMESTEP | Yes | No | No | No | No | No |
| Supports logicle | Yes | Yes | Yes | Yes | Yes4 | No |
| Supports FlowJo bi-exponential | Yes | Yes | No | No | No | No |
| Supports hierarchical gating | Yes | Yes1 | No | Yes | No | No6 |
| Supports GatingML 2.0 | Yes | Yes | No | No | No | No |
| Supports FlowJo 10 workspaces | Yes | Yes1 | No | No | No | No |
1. flowCore does not include hierarchical gating or FlowJo WSP support directly, this functionality is in the related flowWorkspace library.
2. Cytoflow is installable through Anaconda.
3. Cytoflow uses an internal fork of fcsparser.
4. The FlowCal logicle function is implemented in Python as opposed to C for the other libraries in this list.
5. It is unclear which Python versions are supported, PyPI states 2.7, the README file states “python 3”.
6. FlowCytometryTools supports a CompositeGate class to combine gates but does not have an API to explicitly create gate hierarchies.
Figure 1Basic elements provided by FlowKit for generating reports and downstream analysis. Clockwise from top left – metadata as key:value pairs, gating hierarchy as ASCII text, scatter plot of a gate, DataFrame of results from applying gating strategy specified in the Session class.
Figure 5Screenshot taken from FlowJo, showing an imported workspace that is entirely programmatically constructed.
Figure 2Comparison of marker distributions across CD4+ and CD8+ T cells.
Figure 3Comparison of dimension reduction algorithms on the Singlets (left) and CD3+ (right) gated events. Events are pseudo-colored by the CD4 marker intensity.
Figure 4(A) Comparison of the Leiden and Louvain community detection algorithms for clustering flow cytometry data. Labels in boxes are the assigned cluster indexes. Events plotted using PaCMAP for dimension reduction and colored according to the event cluster label. (B) Visualization of marker distribution for each cluster found using the Leiden algorithm shown in the top panel. Distributions are for values scaled to have zero mean and unit standard deviation; values to the left (right) of the thin vertical indicate mean marker values for that cluster that are below (above) the average for all cells.