scATrans
scATrans answers a simple follow-up after differential expression (DE): among the genes that changed, which look transcription-driven and which look stabilization-driven? It uses the nascent (unspliced) residual on top of a normal DE step—something total-count fold change alone cannot sort out.
| Step | What it does |
|---|---|
| DE | Chooses which genes make the list |
| Mechanism | Labels those genes (transcription vs. stabilization) |
| Detection (optional) | Extra nascent-activity scores; does not rewrite mechanism labels |
Pathway- or program-level summaries (gene_sets=) are usually more useful than
single-gene labels. Without spliced/unspliced layers, the package still runs
ordinary DE, enrichment, and plots.
Docs: Read the Docs.
What you need
- Python 3.9+ (tested 3.9–3.12)
- An AnnData object with a condition column in
.obs - For mechanism analysis:
spliced/unspliced(ormature/nascent) layers
Install
pip install scatrans
# or: conda install -c conda-forge -c bioconda scatrans
Optional extras (PyDESeq2, GSEA, scVelo, …): installation guide.
First run
import scatrans as scat
result = scat.partition_de_by_mechanism(
adata, # needs spliced/unspliced or mature/nascent layers
groupby="condition",
target_group="Disease",
reference_group="Control",
organism="mouse", # or "human"
de="builtin",
# sample_col="sample", # set this when you have biological replicates
# gene_sets=my_pathways, # optional pathway / program table
# induction_matched=True,
)
print(result.regime) # data-quality check on unspliced capture
print(result.selected.head()) # DE genes + soft mechanism labels
print(result.summary())
# Absolute program placement (optional):
# scat.program_mechanism_permutation_calibrated(adata, gene_sets, de=frozen_de, ...)
That is the recommended entry point. Next:
- Quickstart
- Tutorials
- FAQ if something looks off
Status
0.10.x (Beta). Import as import scatrans as scat and stick to names in
scatrans.__all__, scat.pl, and scat.qc. Details:
API stability.
Citation
Cite the Zenodo DOI above (and the manuscript when available). For analyses
tied to package version 0.10.9, use scatrans==0.10.9. See CITATION.cff.
License
Software: Apache License 2.0. Bundled GO/KEGG data 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
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.9.tar.gz.
File metadata
- Download URL: scatrans-0.10.9.tar.gz
- Upload date:
- Size: 14.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bd2f55e719b8165a806658857ff3844abe5a5704d02532de4c7d059651491b6
|
|
| MD5 |
c5b38350131befb3aa187dcd9414d55b
|
|
| BLAKE2b-256 |
22c6b6847ef3b9a3cbb62632a4c34f5a2eb01fef700bb5aad147376af39b7318
|
Provenance
The following attestation bundles were made for scatrans-0.10.9.tar.gz:
Publisher:
publish.yml on leelieber2025/scATrans
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scatrans-0.10.9.tar.gz -
Subject digest:
4bd2f55e719b8165a806658857ff3844abe5a5704d02532de4c7d059651491b6 - Sigstore transparency entry: 2247942407
- Sigstore integration time:
-
Permalink:
leelieber2025/scATrans@edb5694e9f2a59abfa23dacc95364ace4a150514 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/leelieber2025
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@edb5694e9f2a59abfa23dacc95364ace4a150514 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file scatrans-0.10.9-py3-none-any.whl.
File metadata
- Download URL: scatrans-0.10.9-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
000b8b56ca29a40aaa3958d65359eb063279cedfda6bc8ffbb826276b9efc132
|
|
| MD5 |
acac8a74d0e551a09bc79cbf2b9fc912
|
|
| BLAKE2b-256 |
5c3e0d58824b440f500e2456fe15238e528a915ab53b6fc10847bc6740c911f2
|
Provenance
The following attestation bundles were made for scatrans-0.10.9-py3-none-any.whl:
Publisher:
publish.yml on leelieber2025/scATrans
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scatrans-0.10.9-py3-none-any.whl -
Subject digest:
000b8b56ca29a40aaa3958d65359eb063279cedfda6bc8ffbb826276b9efc132 - Sigstore transparency entry: 2247942506
- Sigstore integration time:
-
Permalink:
leelieber2025/scATrans@edb5694e9f2a59abfa23dacc95364ace4a150514 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/leelieber2025
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@edb5694e9f2a59abfa23dacc95364ace4a150514 -
Trigger Event:
workflow_dispatch
-
Statement type: