CAFE is an open-source, free, no-code, web-app platform for high-dimensional spectral flow cytometry data (SFCM) analysis. CAFE has been developed in Python and it can run seamlessly on regular computers operating on either Windows or macOS/Linux. The application will allow the analysis and visualization of SFCM data to produce high-resolution publication-ready figures that support reproducible research of immune cell populations.
Example data for testing available at FigShare:
Update: CAFE is now published in Bioinformatics
Md Hasanul Banna Siam, Md Akkas Ali, Donald Vardaman, Satwik Acharyya, Mallikarjun Patil, Daniel J Tyrrell, CAFE: An Integrated Web App for High-Dimensional Analysis and Visualization in Spectral Flow Cytometry, Bioinformatics, 2025;, btaf176, https://doi.org/10.1093/bioinformatics/btaf176
Click here to access the guide for installation and running CAFE
First, open your Terminal app on Mac/Linux, or Powershell on WIndows:
1. Install uv: (skip this step if you already have uv installed)
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Restart your terminal afterwards so that uv command is found.
2. Install CAFE directly from GitHub: (copy & paste the following code in terminal):
uv tool install "git+https://github.com/mhbsiam/cafe"3. Run CAFE using uv: Once Cafe is installed using uv, just open a terminal anywhere and type:
cafeThis should automatically open the CAFE tool in a web browser. The initial setup of the tool may take longer on your first use.
4. If a newer version exists, updating CAFE to a newer version:
uv tool upgrade cafe-app5. To uninstall CAFE:
uv tool uninstall cafe-app- Click the Releases button on the right side of this page.
- Locate the latest release
- Select CAFE_version.zip file to download.
- Extract the files
- Navigate to the " ./CAFE " folder path where you will find the following files: cafe.py, pixi.toml, cafe.yaml etc.
- Then, follow the instructions below to run the tool using Pixi or Conda.
Pixi creates an isolated environment with the right Python (3.12) and every dependency for you.
For Mac/Linux
Run the following command to install Pixi for Mac/Linux:
curl -fsSL https://pixi.sh/install.sh | PIXI_VERSION=v0.72.0 bashFor Windows,
(1) first run the following code:
iwr -useb https://pixi.sh/install.ps1 | iex(2) Then run the code below to restore Pixi to a specific version:
pixi self-update --version 0.72.0After installation using Pixi, run it from the CAFE folder:
# Navigate to the directory containing pixi.toml
cd ./path/to/cafe
# Run the tool with pixi
pixi run cafeConda also builds an isolated environment with the correct Python (3.12) from
cafe.yaml. From the extracted ./CAFE folder (the one containing cafe.yaml):
conda env create -f cafe.yaml
conda activate cafeAlready have a
cafeenvironment from an older version? Remove it first withconda env remove -n cafe -y, then recreate it.
After installing with Conda, activate the environment and run the script:
# Navigate to the directory containing cafe.py
cd ./path/to/cafe
conda activate cafe
python cafe.pyWindows OS has known issues with Scanpy and thus generates a higher number of clusters with a given Leiden resolution value. A numpy conflict may provide a value error message, ignore the warning. For optimal performance, consider using WSL to download the CAFE folder from Github using git clone and run the app using Pixi.
git clone https://github.com/mhbsiam/cafe.gitHere is a tutorial on how to install and activate WSL on a Windows computer. Finally, while reporting data generated using CAFE, mentioning the operating system used for data generation is highly recommended for replicability.
Original codes were refactored using Devin CLI and Claude Code. New design aesthetics were implemented following 'impeccable' design.
CAFE's batch-effect check (per-marker Earth Mover's Distance between batches) was inspired by the evaluation approach in CytoNorm (Van Gassen et al., Cytometry Part A 97:268–278, 2020, doi:10.1002/cyto.a.23904; Quintelier et al., Cytometry Part A, 2025, doi:10.1002/cyto.a.24910) and its Python port CytoNormPy. CAFE implements this metric independently using SciPy.
If you use CAFE in your research, please cite our paper:
Md Hasanul Banna Siam, Md Akkas Ali, Donald Vardaman, Satwik Acharyya, Mallikarjun Patil, Daniel J Tyrrell, CAFE: An Integrated Web App for High-Dimensional Analysis and Visualization in Spectral Flow Cytometry, Bioinformatics, 2025;, btaf176, https://doi.org/10.1093/bioinformatics/btaf176
Donald Vardaman, Md Akkas Ali, Md Hasanul Banna Siam, Chase Bolding, Harrison Tidwell, Holly R. Stephens, Mallikarjun Patil, and Daniel J. Tyrrell. "Development of a Spectral Flow Cytometry Analysis Pipeline for High-Dimensional Immune Cell Characterization." The Journal of Immunology (2024). https://doi.org/10.4049/jimmunol.2400370.


