Overview
scGPT is a Python package and pretrained foundation model for analyzing single-cell multi-omic data. It is built with generative AI methods and comes from the Bo Wang Lab, released under the MIT license.
The project ships pretrained checkpoints that you can use directly or fine-tune for a specific task. These cover common single-cell workflows such as annotating cell types, integrating data across batches, predicting the effect of perturbations, and inferring gene regulatory networks (GRNs).
It is aimed at biomedical and genomics data scientists working with single-cell data. The documentation provides tutorials for each main task, and the code and pretrained model checkpoints are available on GitHub, with the checkpoints downloaded separately.
What it does
- Pretrained foundation model for single-cell multi-omic data, released under the MIT license
- Cell-type annotation by fine-tuning a pretrained model on your dataset
- Batch integration for scRNA-seq data across different batches
- Perturbation prediction to estimate the effect of gene perturbations
- Gene regulatory network (GRN) inference, including on the pretrained model
- Reference mapping and zero-shot cell embeddings, plus multiple pretrained checkpoints such as a whole-human model trained on 33 million cells and organ-specific variants
Getting started
Install the scgpt package from PyPI, download a pretrained checkpoint, then follow a task tutorial to annotate, integrate, or embed your cells.
Install scGPT
Install the package from PyPI. The flash-attn dependency is optional but recommended, and the documentation notes it requires specific GPU and CUDA versions.
pip install scgpt "flash-attn<1.0.5" # flash-attn optional, recommendedHandle an orbax conflict if needed
If you run into orbax issues during install, pin orbax to an earlier version as shown in the README.
pip install scgpt "flash-attn<1.0.5" "orbax<0.1.8"Download a pretrained checkpoint
Pretrained checkpoints are downloaded separately from the links in the repository's Model Zoo. Each checkpoint folder includes a paired vocabulary file that maps gene names to IDs. The whole-human model is the recommended default.
# Download a checkpoint (for example, the whole-human model)
# from the Model Zoo links in the scGPT repository, then point
# your code at the local checkpoint folder.Follow a task tutorial
The documentation provides tutorials for each main task, including cell-type annotation, batch integration, perturbation prediction, GRN inference, and reference mapping using cell embeddings.
# See https://scgpt.readthedocs.io/en/latest/ for the
# fine-tuning and inference tutorials for each task.Commands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Annotate cell types in a single-cell dataset by fine-tuning a pretrained scGPT model
- Integrate scRNA-seq data across multiple batches to reduce batch effects
- Predict the effect of gene perturbations on single-cell profiles
- Infer gene regulatory networks and generate cell embeddings for reference mapping
How scGPT compares
scGPT alongside other open-source genomics & single-cell tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| Evo 2 | ★ 4.2k | Genome foundation model for modeling and designing DNA sequences across all domains of life. |
| scGPT | ★ 1.6k | Foundation model for single-cell multi-omics |
| gget | ★ 1.2k | A command-line tool and Python package that queries genomic reference databases — Ensembl, NCBI, UniProt, PDB, Enrichr, CELLxGENE — one line per lookup. |
| Nucleotide Transformer | ★ 919 | Foundation models for genomics and transcriptomics, pretrained on DNA sequences for downstream genomic prediction tasks. |
| Geneformer | — | Transformer foundation model pretrained on millions of single-cell transcriptomes for context-aware predictions in network biology. |