scATrans Documentation#
Single-cell active transcription analysis#
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) via 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.
Try it now#
pip install scatrans
import scatrans as scat
result = scat.run_default_pipeline(
adata, # AnnData with spliced/unspliced (or mature/nascent) layers
groupby="condition", target_group="Disease", reference_group="Control",
sample_col="sample", # optional; auto-selects pseudobulk when >=3 replicates/group
organism="mouse", # or "human"
)
result["candidates"].head() # ranked, filtered genes
result["enrichment"].head() # GO enrichment on those genes
New here? Follow Installation → Quickstart → Tutorials (real data, fully worked) in that order.
Install scATrans with pip, with optional extras for pseudobulk, velocity, or Memento backends.
A minimal end-to-end example: load data, score genes, filter, enrich, plot.
Worked examples on real spinal-cord-injury endothelial cell data, with and without spliced/unspliced layers.
Core workflow, DE backends, enrichment, plotting, and advanced options.
What each output column means, and what it should (and should not) be used for in a paper or supplement.
Detailed description of every public function in scATrans.
Tutorial data source, and the methods/libraries scATrans builds on.
Common errors and how to fix them, in one place.
Found a bug? Want to contribute? Check out the source and open an issue.