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
    # add_nascent_score=True,  # optional detection columns
    gene_sets=my_pathways,  # optional program-level table
)
result.regime    # reliability pre-flight (global unspliced fraction)
result.selected  # DE-selected genes with mechanism annotation
result.programs  # program-level table when gene_sets is provided

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: scatrans-0.10.7.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.7.tar.gz
Algorithm Hash digest
SHA256 f71020863a650d175a2b733a308523bca1589e01226f48e2758115b386b8859c
MD5 09562129cfd3dc598a096d1d190f5426
BLAKE2b-256 ce5174c1e85575e0917f79ec528844c21ba70765b8ce16885f90de6971e894f7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: scatrans-0.10.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 17a2115508eef89353981354c846c2d553ee126df730813da9c02ff8456539f5
MD5 55c00c4c7a81ac248eb0b924898a40b9
BLAKE2b-256 ec7934290c7f75dee172d596187df1a782e007cc05cb95d235d05ed9adf91f90

See more details on using hashes here.

Provenance

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

This release

0.10.7 This release

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