Skip to main content

scATrans

PyPI version Bioconda Python versions Documentation Status CI License DOI

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.

Note: The spliced/unspliced (nascent-transcription) scoring is still experimental and under active validation — it is not yet recommended for production use on spliced/unspliced applications. The features that do not rely on the spliced/unspliced layers — differential expression, functional enrichment, and plotting — are stable and ready to use.

📚 Full documentation, tutorials, and the complete API reference are on Read the Docs.

Installation

# From PyPI
pip install scatrans

# Or from Bioconda
conda install -c conda-forge -c bioconda scatrans

# Optional extras (PyPI): 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. Domain conventions (upregulation-oriented scoring, residual vs DE, cutoff names, GSEA ranks, within-run λ scale) are spelled out in Domain Assumptions (also on Read the Docs after the next docs deploy).

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.

Author

Zhao Li (李钊)
Email: leelieber@gmail.com

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scatrans-0.10.5.tar.gz (15.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scatrans-0.10.5-py3-none-any.whl (9.1 MB view details)

Uploaded Python 3

File details

Details for the file scatrans-0.10.5.tar.gz.

File metadata

  • Download URL: scatrans-0.10.5.tar.gz
  • Upload date:
  • Size: 15.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for scatrans-0.10.5.tar.gz
Algorithm Hash digest
SHA256 62b282a28cb04b15f083bc2b002b4919d742591df240efda5c59b16cfdeed93c
MD5 0ad2b93bf779de024d8920c1fe9a1ea9
BLAKE2b-256 d00c7b68ae0d30dd7886cb1a9110efb8f39167d371517fa687d29f729601018e

See more details on using hashes here.

Provenance

The following attestation bundles were made for scatrans-0.10.5.tar.gz:

Publisher: publish.yml on leelieber2025/scATrans

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scatrans-0.10.5-py3-none-any.whl.

File metadata

  • Download URL: scatrans-0.10.5-py3-none-any.whl
  • Upload date:
  • Size: 9.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for scatrans-0.10.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f99eeaed96cfc3437eaf23a0494d7f616ced04385e18bef2d0732ff283ca8745
MD5 6594db1946bbb538fded92ca39bef8a0
BLAKE2b-256 ae0952e89fd4245dc9ee9f7fb6ae245a130902430cd01384ec623922aa61b6d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for scatrans-0.10.5-py3-none-any.whl:

Publisher: publish.yml on leelieber2025/scATrans

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.10.16

2 files

0.10.15

2 files

0.10.14

2 files

0.10.13

2 files

0.10.12

2 files

0.10.11

2 files

0.10.10

2 files

0.10.9

2 files

0.10.8

2 files

0.10.7

2 files

0.10.6

2 files

This release

0.10.5 This release

2 files

0.10.4

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.9.9

2 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