Skip to main content
Change of provenance

The repository or configuration that created this release differ from a previous release. View details.

scROMA

PyPI Docs CI License: GPL v3 Python

Batch-aware, SVD-based pathway-activity inference for single-cell transcriptomics, natively integrated with the Scanpy/AnnData ecosystem. scROMA is a Python implementation of ROMA (Representation and Quantification Of Module Activity) that scores each gene set from the coordinated variation among its member genes, with per-cell activity scores, per-gene contributions, and permutation-based significance. Its batch-aware extension corrects technical variation inside the gene-set subspace rather than across the whole transcriptome, and it ships with a generative simulation framework that produces data with fully specified ground-truth pathway activity.

Install

pip install scroma
# or with uv:
uv pip install scroma      # into the active environment
uv add scroma              # into a uv project

Requires Python ≥ 3.10 and anndata ≥ 0.12. Tutorial datasets download on first use (via pooch).

Quick start

import scroma

# --- core pathway-activity scoring ---
adata = scroma.datasets.pbmc3k()          # downloaded + cached on first use
roma = scroma.ROMA()
roma.adata = adata
roma.gmt   = scroma.use_hallmarks()       # bundled MSigDB Hallmark gene sets
roma.compute()
roma.summary()                            # significantly active pathways

# --- batch-aware scoring (correction within the gene-set subspace) ---
broma = scroma.BatchAwareROMA()
broma.adata = adata
broma.gmt   = scroma.use_hallmarks()
broma.compute(batch_key="batch", batch_method="harmonylike")

# --- simulation with ground-truth pathway activity ---
sim = scroma.simulate(n_batches=3, seed=42)        # AnnData + ground truth in .obsm/.uns
reps = scroma.load_benchmark("multi")              # 10 default benchmark replicates

Features

  • Two complementary scores per gene set: an L1 overdispersion score and a median-expression shift score, plus per-cell activity scores and per-gene contribution weights.
  • Permutation significance with Benjamini–Hochberg correction.
  • Batch-aware correction within each gene set (residualized, contrastive, weighted, centered, ComBat, MNN, harmonylike).
  • Ground-truth simulator (scroma.simulate / scroma.load_benchmark) for quantitative benchmarking.
  • Bundled gene sets (use_hallmarks, use_reactome, use_progeny) and one-call tutorial datasets (datasets.pbmc3k, datasets.pbmc_ifnb).

Documentation

Full docs and tutorials: https://scroma.readthedocs.io

  • Getting started — scoring pathway activity on PBMCs
  • Simulated data — visualising ground truth and computing AUROC
  • Gene-set weights — which genes drive a pathway
  • Pathway-activity clustermap

Citing scROMA

If you use scROMA, please cite the paper (see CITATION.cff).

License

scROMA is released under the GNU GPL v3.

Metadata

Release files for scroma 0.3.3

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

Change of provenance

The repository or configuration that created these release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Source distribution (sdist)

Source distribution for scroma 0.3.3
File Size Uploaded Provenance Actions
scroma-0.3.3.tar.gz 379.4 kB With provenance Details for scroma-0.3.3.tar.gz

Built distribution (wheel)

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

Total release size: 757.1 kB

Release files / scroma-0.3.3.tar.gz

Change of provenance

This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Download URL scroma-0.3.3.tar.gz
Size 379.4 kB
Tags Source
SHA-256 checksum
How to use checksums
295fd857d226e819d4706b77f7c147847398f7c2519f86a9c721ff1afb42f0ec
BLAKE2b-256 checksum
How to use checksums
678440940ce2a1822e090cbb5fd45d76afa6f34ad7b01b6de1361060f753143e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 6, 2026.

Transparency log

Release files / scroma-0.3.3-py3-none-any.whl

Change of provenance

This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.

We recommend inspecting the repository and configuration before proceeding. View details.

Download URL scroma-0.3.3-py3-none-any.whl
Size 377.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76527346512c281565d135d5ab36ce9821e94500ec5bdd2265ff03154544a28b
BLAKE2b-256 checksum
How to use checksums
78357f785f3631dc511f9e8aaa2bae95d81a4511f7c6e60a3e145c81d2fc0936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 6, 2026.

Transparency log

Security for scroma 0.3.3

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.

Change of provenance

The repository and configuration that created this release differ from a previous release.

While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.

Select from 2 files

Attestation for scroma-0.3.3.tar.gz

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 Aug 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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