pyUCell: Robust and scalable single-cell signature scoring
In single-cell RNA-seq analysis, gene signature (or “module”) scoring constitutes a simple yet powerful approach to evaluate the strength of biological signals – typically associated to a specific cell type or biological process – in a transcriptome.
UCell is a computational method for evaluating gene signatures in single-cell datasets. UCell signature scores, based on the Mann-Whitney U statistic, are robust to dataset size and heterogeneity, and their calculation demands less computing time and memory than other available methods, enabling the processing of large datasets in a few minutes even on machines with limited computing power.
pyUCell is a python implementation for the UCell algorithm, also available for the R programming language (Bioconductor and GitHub)
Getting started
Please see installation instructions below, and refer to the documentation.
Installation
Install the latest release of pyUCell from PyPI:
pip install pyucell
or, for the latest development version:
pip install git+ssh://git@github.com/carmonalab/pyucell.git@master
Test the installation
import pyucell as uc
import scanpy as sc
adata = sc.datasets.pbmc3k()
signatures = {
'T_cell': ['CD3D', 'CD3E', 'CD2'],
'B_cell': ['MS4A1', 'CD79A', 'CD79B']
}
uc.compute_ucell_scores(adata, signatures=signatures)
Tutorials and how-to
Have a look at the documentation section; you may start from a basic tutorial or explore some important pyUCell parameters
For a comparison with the R version of UCell on the same scanpy test data, see this notebook
For an assessment of the running time of pyUCell, and parameters affecting speed see: pyUCell timing
Get help
Please address your questions and bug reports at: UCell issues.
Citation
-
UCell and pyUCell: single-cell gene signature scoring for R and Python. Massimo Andreatta & Santiago J Carmona (2026) Bioinformatics - doi.org/10.1093/bioinformatics/btag055
-
UCell: robust and scalable single-cell gene signature scoring. Massimo Andreatta & Santiago J Carmona (2021) CSBJ - doi.org/10.1016/j.csbj.2021.06.043
Developer guide for scverse tools
https://github.com/scverse/cookiecutter-scverse?tab=readme-ov-file
Metadata
Release files for pyucell 0.7.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyucell-0.7.3.tar.gz | 21.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyucell-0.7.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.3 kB
Release files / pyucell-0.7.3.tar.gz
| Download URL | pyucell-0.7.3.tar.gz |
|---|---|
| Size | 21.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
644fd1c0387e912e8750e199c24e5147fa79be5302c4efde978edff5cf4e7151
|
|
BLAKE2b-256 checksum How to use checksums |
a856b6a0437e382e22a006b2a18be21b80327a4ad9fe20a16d5daeedb3400116
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 4, 2026.
Transparency logRelease files / pyucell-0.7.3-py3-none-any.whl
| Download URL | pyucell-0.7.3-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
09c6244e856afbb07eacf07e66b296e37359462397bebfa20540a885d9ff68b4
|
|
BLAKE2b-256 checksum How to use checksums |
b76be7dad48f4a33b3adbf6e94c57bd4429b3487f8216939319baa38b0ca5813
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 4, 2026.
Transparency log