ImmunoPheno is a Python library for the design, annotation, and analysis of multiplexed cytometry data based on existing single-cell CITE-seq datasets. It implements functionalities for finding antibodies for gating specific cell populations, designing optimal antibody panels for multiplexed cytometry experiments, normalizing cytometry (CODEX, spectral flow cytometry, CyTOF, Imaging Mass Cytometry, mIHC, etc.) and CITE-seq data, and identifying and annotating cell populations in these data. Detailed information about the methods implemented in CAJAL can be found in:
- L. Wu, M. A. Nguyen, Z. Yang, S. Sivagnanam, N. Kirchberger, A. Joshi, K. J. Ahn, J. S. Tumulty, E. Cruz Cabrera, N. Romberg, K. Tan, L. M. Coussens, P. G. Camara. ImmunoPheno: a computational framework for data-driven design and analysis of immunophenotyping experiments. bioRxiv (2026). DOI: 10.64898/2026.02.01.703134.
Until we upload the package to PyPI, the pip installation works from GitHub:
pip install git+https://github.com/CamaraLab/ImmunoPheno.git
Installation on a standard desktop computer should take a few minutes.
The easiest way to run ImmunoPheno is via Jupyter. Install Jupyter with
pip install notebook
Then start up Jupyter from terminal / Powershell using
jupyter notebook
We provide a Docker image that contains ImmunoPheno and its dependencies. Running the following command will launch a Jupyter notebook server on localhost with ImmunoPheno and its dependencies installed:
docker run -it -p 8888:8888 -v C:\Users\myusername\Documents\myfolder:/home/jovyan/work camaralab/python3:immunopheno
The -p flag controls the port number on local host. For example, writing -p 4264:8888 will let you access
the Jupyter server from 127.0.0.1:4264. The -v "bind mount" flag allows one to mount a local directory on the
host machine to a folder inside the container so that you can read and write files on the host machine from within
the Docker image. Here one must mount the folder on the host machine as /home/jovyan/work or
/home/jovyan/some_other_folder as the primary user "jovyan" in the Docker image only has access to that directory.
See the Jupyter docker image documentation
for more information.
ImmunoPheno is also accessible through the Galaxy Platform. Galaxy tools for normalization, annotation, and antibody panel design can be found in the ImmunoPheno Galaxy Repository.
We maintain a central server and web interface (www.immunopheno.org containing the Human Immune Cell Antibody Reference (HICAR), including harmonized protein expression profiles for 115,979 cells across 6 human tissues, spanning 93 immune cell types annotated based on gene expression profiles, and covering 390 distinct monoclonal antibodies targeting 294 proteins. Code and documentation for deploying independent servers can be found at the ImmunoPhenoDB repository.
Documentation and tutorials can be found on ImmunoPheno's readthedocs.io website.
