Skip to main content

A Python package for the identification, characterization and comparison of spatial clusters from spatial omics data.


Documentation • Examples • Paper • Preprint

Tests Documentation PyPI Downloads

Background

Spatial clustering (or spatial domain identification) determines cellular niches characterized by specific admixing of these populations. It assigns cells to clusters based on both their intrinsic features (e.g., protein or mRNA expression), and the features of neighboring cells in the tissue.

CellCharter is able to automatically identify spatial domains and offers a suite of approaches for cluster characterization and comparison.

Features

  • Identify niches for multiple samples: By combining the power of scVI and scArches, CellCharter can identify domains for multiple samples simultaneously, even with in presence of batch effects.
  • Scalability: CellCharter can handle large datasets with millions of cells and thousands of features. The possibility to run it on GPUs makes it even faster
  • Flexibility: CellCharter can be used with different types of spatial omics data, such as spatial transcriptomics, proteomics, epigenomics and multiomics data. The only difference is the method used for dimensionality reduction and batch effect removal.
    • Spatial transcriptomics: CellCharter has been tested on scVI with Zero-inflated negative binomial distribution.
    • Spatial proteomics: CellCharter has been tested on a version of scArches, modified to use Mean Squared Error loss instead of the default Negative Binomial loss.
    • Spatial epigenomics: CellCharter has been tested on scVI with Poisson distribution.
    • Spatial multiomics: it's possible to use multi-omics models such as MultiVI, or use the concatenation of the results from the different models.
  • Best candidates for the number of domains: CellCharter offers a method to find multiple best candidates for the number of domains, based on the stability of a certain number of domains across multiple runs.
  • Domain characterization: CellCharter provides a set of tools to characterize and compare the spatial domains, such as domain proportion, cell type enrichment, (differential) neighborhood enrichment, and domain shape characterization.

Since CellCharter 0.3.0, we moved the implementation of the Gaussian Mixture Model (GMM) from PyCave, not maintained anymore, to TorchGMM, a fork of PyCave maintained by the CSOgroup. This change allows us to have a more stable and maintained implementation of GMM that is compatible with the most recent versions of PyTorch.

Getting started

Please refer to the documentation. In particular, the

Installation

  1. Create a conda or pyenv environment
  2. Install Python >= 3.10,<3.13 and PyTorch >= 1.12.0. If you are planning to use a GPU, make sure to download and install the correct version of PyTorch first from here.
  3. Install the library used for dimensionality reduction and batch effect removal according to the data type you are planning to analyze:
    • scVI for spatial transcriptomics and/or epigenomics data such as 10x Visium and Xenium, Nanostring CosMx, Vizgen MERSCOPE, Stereo-seq, DBiT-seq, MERFISH and seqFISH data.
    • A modified version of scArches's TRVAE model for spatial proteomics data such as Akoya CODEX, Lunaphore COMET, CyCIF, IMC and MIBI-TOF data.
  4. Install CellCharter using pip:
pip install cellcharter

We report here an example of an installation aimed at analyzing spatial transcriptomics data (and thus installing scvi-tools). This example is based on a Linux CentOS 7 system with an NVIDIA A100 GPU. It will install Pytorch for GPU by default.

conda create -n cellcharter-env -c conda-forge python=3.12
conda activate cellcharter-env
pip install scvi-tools
pip install cellcharter

Note: a different system may require different commands to install PyTorch and JAX. Refer to their respective documentation for more details.

Contribution

If you found a bug or you want to propose a new feature, please use the issue tracker.

Metadata

Release files for cellcharter 0.3.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cellcharter 0.3.7
File Size Uploaded
cellcharter-0.3.7.tar.gz 45.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cellcharter 0.3.7
File Interpreter ABI Platform
cellcharter-0.3.7-py3-none-any.whl Python 3 none any Details

Total release size: 97.0 kB

Release files / cellcharter-0.3.7.tar.gz

Download URL cellcharter-0.3.7.tar.gz
Size 45.8 kB
Tags Source
SHA-256 checksum
How to use checksums
52ec47c068df65ae9f541d374dc010ba9ae45de26121895f98ad485f8f04e1e8
BLAKE2b-256 checksum
How to use checksums
eeb1e3f0cee615f7884466b1d5b1a9548bdf22966f3e41227112782ac052c8de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 2, 2026.

Transparency log

Release files / cellcharter-0.3.7-py3-none-any.whl

Download URL cellcharter-0.3.7-py3-none-any.whl
Size 51.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
250069364005a73787043d7e6792378a94775822d6c57c4e62f438ea96d194dc
BLAKE2b-256 checksum
How to use checksums
6f991d293b5714dfc25f655655a290d7b3622275caec1cf27350498396592d49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.7 This release

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page