Skip to main content

scATrans

PyPI version Bioconda Python versions Documentation Status CI License DOI

scATrans is a Python package for mechanism-aware single-cell differential analysis. A standard differential expression (DE) step defines which genes changed; scATrans partitions those genes into transcription-driven versus stabilization-driven classes using the nascent (unspliced) RNA residual—a distinction that total-count fold change alone cannot resolve.

Component Role
DE Gene-list membership
Mechanism annotation Residual-based transcription vs. stabilization labels
Detection (optional) add_nascent_score=True adds active-transcription scores; does not drive mechanism labels

The primary workflow requires spliced and unspliced layers (or mature and nascent layers, e.g. from kb-python) and is most informative at the pathway or program level. The package also supports conventional DE without nascent layers (scanpy, PyDESeq2 pseudobulk, linear mixed models, optional Memento), enrichment (ORA, GSEA, GO, KEGG), and plotting.

Full documentation: Read the Docs.

Requirements

  • Python 3.10+
  • AnnData object with a condition column in .obs
  • For mechanism analysis: spliced/unspliced or mature/nascent layers

Installation

pip install scatrans
# or: conda install -c conda-forge -c bioconda scatrans

Optional extras (scVelo, gene-feature CLI, PyDESeq2, Memento, GSEA) and development installs: installation guide.

Quickstart

import scatrans as scat

result = scat.partition_de_by_mechanism(
    adata,  # AnnData with spliced/unspliced or mature/nascent layers
    groupby="condition",
    target_group="Disease",
    reference_group="Control",
    organism="mouse",
    de="builtin",  # method name, kwargs dict, DataFrame, or callable
    # sample_col="sample",  # preferred when biological replicates exist
    # add_nascent_score=True,  # optional detection columns
    gene_sets=my_pathways,  # optional program-level table
    # induction_matched=True,  # induction-controlled program tests
)
result.regime    # reliability pre-flight (global unspliced fraction)
result.selected  # DE-selected genes with soft mechanism annotation
result.programs  # program-level table when gene_sets is provided
result.summary() # program-first overview

Further reading:

Status

scATrans is 0.10.x (Beta). Prefer import scatrans as scat and names in scatrans.__all__, scat.pl, and scat.qc. See API stability.

Citation

If you use scATrans in published work, cite the software via the Zenodo DOI above and the manuscript when available. See CITATION.cff.

License

Software: Apache License 2.0. Bundled gene-set data (GO, KEGG) may carry separate terms; see the license page before commercial redistribution.

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.8.tar.gz (14.5 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.8-py3-none-any.whl (9.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scatrans-0.10.8.tar.gz
  • Upload date:
  • Size: 14.5 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.8.tar.gz
Algorithm Hash digest
SHA256 1af6ff4ca48c85ecd3ebd3ce6ab4ac2c6a35bca63dd4436fb8ca255854739da5
MD5 fd17ff511c63c1987aded3ff4e04a64e
BLAKE2b-256 68c5c926f3f31d4bd60613ac12ec9eb08674090f190081c68e16515a199fbb43

See more details on using hashes here.

Provenance

The following attestation bundles were made for scatrans-0.10.8.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.8-py3-none-any.whl.

File metadata

  • Download URL: scatrans-0.10.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4ea8f4383363117ed8b2e009f16339f127d2b6f7ac407b1a5b82a1ba7d098890
MD5 008f38da2685bfdf168a89c7a8f4811e
BLAKE2b-256 05a3ce8e40dfba6fa3f88c1d9c974e10e0d2d6030a31217c8fdbef9f79a3ea9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for scatrans-0.10.8-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

This release

0.10.8 This release

2 files

0.10.7

2 files

0.10.6

2 files

0.10.5

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