scATrans: annotating single-cell differential expression as transcription- or stabilization-weighted using unspliced RNA

Read the full article See related articles

Discuss this preprint

Start a discussion What are Sciety discussions?

Listed in

This article is not in any list yet, why not save it to one of your lists.
Log in to save this article

Abstract

Single-cell differential expression (DE) reports changes in mature mRNA abundance, but the same fold-change can reflect faster synthesis or slower decay. Metabolic labeling resolves this ambiguity but is costly and cannot be applied retrospectively to the vast majority of published scRNA-seq. scATrans closes this gap using layers every standard pipeline already generates: from DE-selected genes, a reference-corrected unspliced residual annotates each change as transcription- or stabilization-weighted, with no additional experiment. Benchmarked against metabolic-labeling systems with independent kinetic ground truth, the residual separates the two mechanisms at matched mature abundance (ROC-AUC 0.68–0.74, full-length NASC-seq2 K562; 0.59–0.63, 3′ scEU-seq RPE1); effect size scales with intron capture, not model complexity, and explicit kinetic fitting adds nothing over the static contrast. Per-gene, the residual recovers the classical bulk exon–intron contrast (EISA); what scATrans adds is the inference layer single-cell reanalysis actually needs—DE-defined membership, gene-structure correction, a capture-regime reliability pre-flight, induction-matched testing, and a permutation-calibrated program score—so that confident calls are reserved for where the data support them: gene programs, not single genes. Applied to standard 10x data with no labeling, scATrans recovers textbook post-transcriptional biology: a curated AU-rich-element program is called stabilization-weighted in LPS-stimulated PBMCs (confirmed by per-donor pseudobulk DE in an independent four-donor cohort), while a glucocorticoid-response program is called transcription-weighted in dexamethasone-treated A549 cells— opposite mechanisms recovered from unlabeled counts. scATrans turns any spliced/unspliced-resolved DE table into a mechanism-typed one, retrospectively and at scale.

Availability and implementation

scATrans requires Python ≥3.9, interoperates with the scverse ecosystem (AnnData, Scanpy), and is released under the Apache-2.0 license. Install with pip install scatrans or from Bioconda. Documentation and tutorials: https://scatrans.readthedocs.io . Analyses in this manuscript use software version 0.10.9.

Article activity feed