scATrans
scATrans is a Python toolkit for single-cell differential analysis. It is primarily designed for datasets that contain spliced/unspliced (or mature/nascent) RNA layers. In this setting it computes a composite active transcription score that integrates differential expression with reference-based excess unspliced RNA to rank genes.
It also supports conventional differential expression workflows (no velocity data required) using scanpy, PyDESeq2 pseudobulk, linear mixed models, or optional Memento. Functional enrichment (ORA, GSEA, GO, KEGG) uses bundled gene sets with consistent universe handling, and a set of visualization functions is provided.
📚 Full documentation, tutorials, and the complete API reference are on Read the Docs: https://scatrans.readthedocs.io
Installation
pip install scatrans
# Optional extras: advanced (scVelo) mode, gene features, pseudobulk DE (PyDESeq2), Memento, GSEA
pip install "scatrans[advanced,gene_features,pseudobulk,memento,gsea]"
See Installation for extras, source installs, and logging setup.
When developing from a git checkout, install the editable tree you are
editing (pip install -e . from that checkout). A stale editable install
pointing at another path can make import scatrans load an older copy.
Quickstart
import scatrans as scat
# One-liner pipeline: score → filter → GO enrichment
result = scat.run_default_pipeline(
adata,
groupby="condition",
target_group="Disease",
reference_group="Control",
sample_col="sample", # optional; auto-selects pseudobulk when >=3 replicates/group
organism="mouse",
)
print(result["candidates"].head())
print(result["enrichment"].head())
See the Quickstart for a complete end-to-end walkthrough, the Tutorials for fully worked, real-data notebooks (with and without RNA-velocity layers), and the User Guide for DE backends, enrichment, plotting, and advanced options.
Before reporting results in a paper
active_score is a composite heuristic rank, not a p-value or FDR on
its own. See
Statistical Guidance
for what each output column means, safe vs. unsafe uses, and a reporting
checklist before you cite scATrans results in a manuscript or supplement.
API stability
scATrans is Beta (0.10.x). Prefer import scatrans as scat and the names
in scatrans.__all__ / scat.pl / scat.qc. Leaf modules such as
scatrans.tl.active are implementation detail and may move. Full
contract: API stability
(source: docs/api_stability.md).
License
Software (Python source) is licensed under Apache License 2.0. Bundled gene-set data (GO, KEGG) carries its own licensing terms — see License before commercial use.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scatrans-0.10.2.tar.gz.
File metadata
- Download URL: scatrans-0.10.2.tar.gz
- Upload date:
- Size: 14.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e306fc20de7dfe3fed671951e949cb7f714dbeebc78acc13c281ae3c9d90f513
|
|
| MD5 |
2e4a3376357ce01ebc87d5be67eb3ab4
|
|
| BLAKE2b-256 |
3214df1787793aa5c69c59c73198ee6d15e305fa797aa66c857d24b35d0a2b2b
|
File details
Details for the file scatrans-0.10.2-py3-none-any.whl.
File metadata
- Download URL: scatrans-0.10.2-py3-none-any.whl
- Upload date:
- Size: 9.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffc5fd79b6002f769c4cef22fb33d72e1ddb96bcaa189067165a195b522ab7e4
|
|
| MD5 |
89da8fb4eaf32e66e871df94cafd4aa9
|
|
| BLAKE2b-256 |
cf4ba209906ca3ccd2e9d00955ae5529a009342848efab552edc375f7718e1ed
|