CellRank is a modular framework to study cellular dynamics based on Markov state modeling of multi-view single-cell data. See our documentation, and the CellRank 1 and CellRank 2 manuscripts to learn more. Read a summary of the CellRank papers here.
CellRank scales to large cell numbers, is fully compatible with the scverse ecosystem, and is easy to use. In the backend, it is powered by pyGPCCA (Reuter et al. (2018)). Feel free to open an issue if you encounter a bug, need our help, or just want to make a comment/suggestion.
- Estimate differentiation direction based on a varied number of biological priors, including RNA velocity (La Manno et al. (2018), Bergen et al. (2020)), any pseudotime or developmental potential, experimental time points, metabolic labels, and more.
- Compute initial, terminal and intermediate macrostates.
- Infer fate probabilities and driver genes.
- Visualize and cluster gene expression trends.
- ... and much more, check out our documentation.
pip install cellrankSee the installation guide for more options.
If you like CellRank, check out these packages from the same authors. Almost all are part of the scverse ecosystem.
| Package | Description | Reference |
|---|---|---|
| moscot | Optimal transport for temporal, spatial, and spatio-temporal single-cell mapping | Klein et al. (2025) |
| moslin | Trajectory inference with lineage barcodes via optimal transport (part of moscot) | Lange et al. (2024) |
| VeloVI | RNA velocity with variational inference and uncertainty quantification (part of scvi-tools) | Gayoso et al. (2024) |
| RegVelo | Jointly learning gene regulation and RNA velocity | Wang et al. (2024) |
| CellMapper | kNN-based label, embedding, and molecular layer transfer between datasets | — |
| CellAnnotator | LLM-based cell type annotation with support for major LLM providers | — |