Flow Kit

A Python toolkit for flow cytometry analysis supporting GatingML and FlowJo workspaces

Data SciencePythonBSD-3-Clause

Abstract

Flow Kit is an open-source Data Science project. A Python toolkit for flow cytometry analysis supporting GatingML and FlowJo workspaces. 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. Please see the changelogs for the latest API changes. It is built using Python. Key capabilities include: Read / Write FCS Files; Read FCS files, supporting FCS versions 2.0, 3.0, and 3.1; Export FCS data as:. The complete source code is publicly available on GitHub under the BSD 3-Clause "New" or "Revised" License, making it a useful reference for students building a Data Science mini project or final-year project.

1. Introduction

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. Please see the changelogs for the latest API changes.

2. Objective

A Python toolkit for flow cytometry analysis supporting GatingML and FlowJo workspaces

This project demonstrates how Python can be applied to a real-world Data Science problem.

3. Key Features / Modules

  • Read / Write FCS Files
  • Read FCS files, supporting FCS versions 2.0, 3.0, and 3.1
  • Export FCS data as:
  • A new FCS 3.1 file
  • NumPy array
  • Pandas DataFrame
  • CSV text file
  • Compensation
  • Compensate events using spillover matrices from:
  • $SPILL or $SPILLOVER keyword value

4. Technology Stack

Python

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later
  • pip / virtualenv for dependencies
  • VS Code, PyCharm or Jupyter Notebook
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/whitews/FlowKit.git
cd FlowKit

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Turn the analysis into an interactive dashboard
  • Automate data refresh with a scheduled job
  • Add a predictive model on top of the analysis

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What is the source of the dataset and how was missing data handled?
  2. Which exploratory analysis steps revealed the most useful insight?
  3. Why were these particular charts chosen to present the data?
  4. Which statistical or ML technique supports the conclusions?
  5. How could the analysis be automated or refreshed with new data?

9. Source Code & License

This project is developed by whitews and published on GitHub under the BSD 3-Clause "New" or "Revised" License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Data Science project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Data Science Internship