Adds scATrans, scFair, and AmbiDose to the ecosystem - #382
Open
leelieber2025 wants to merge 15 commits into
Open
leelieber2025 wants to merge 15 commits into
leelieber2025 wants to merge 15 commits into
Conversation
Author
|
Hi @scverse — just following up on this PR when you have a moment. Please let me know if you’d like any changes or updates. Thanks so much for your work on this project! |
Author
|
@Zethson Thanks — updated both meta.yaml files for the new schema: controlled-vocabulary tags, plus primary_category and language. CI is green. |
Member
|
My apologies. We're very behind on our reviews but have not forgotten! @muskanhashim will have a look soon |
Author
|
Hi @Zethson and @muskanhashim, no worries at all! Just a quick update: I've added a new one, so the ecosystem now includes 3 additions: scATrans, scFair, and AmbiDose. Thanks for your time! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Submission 1: scATrans
Name of the tool: scATrans
Short description:
scATrans is a Python package for mechanism-aware analysis of single-cell differential expression. Given spliced and unspliced layers (or mature and nascent layers), it takes a DE-selected gene list and partitions genes into transcription-driven versus stabilization-driven classes using a reference-corrected nascent residual.
It also supports conventional differential expression workflows (no velocity data required) via 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.
How does the package use scverse data structures (please describe in a few sentences):
scATrans is built on AnnData as its core data structure, using the
.layersslot to hold spliced/unspliced (nascent/mature) RNA counts for velocity-based scoring, and interoperates directly with scanpy for standard single-cell preprocessing and DE workflows (with optional scVelo, PyDESeq2, and Memento layered on top).Submission 2: scFair
Name of the tool: scFair
Short description:
scFair is a seamless Python alternative to
scanpy.pp.highly_variable_genesdesigned to improve single-cell HVG selection. It addresses common silent failures in traditional workflows by providing an auto-sizedn_top_genesselection (eliminating the need to guess the optimal gene count) and employing a smart top-k extension to prevent the loss of rare cell-type markers.How does the package use scverse data structures (please describe in a few sentences):
scFair directly operates on
AnnDataobjects, serving as a seamless alternative to standard scanpy preprocessing functions. It reads expression matrices from.Xor.layers, computes fairness-aware gene variability metrics, and writes the feature selection results (such as highly variable boolean flags, dispersions, and rankings) directly into the.varand.unsslots, ensuring 100% compatibility with downstream scverse tools.Submission 3: AmbiDose
Name of the tool: AmbiDose
Short description:
AmbiDose removes ambient RNA from droplet scRNA-seq. Empty droplets pin a sample-specific soup profile; each cell gets an operational dose along that profile; a rank-1 term is subtracted only from observed nonzero counts, with gene-name-free protection of dominant native genes. Corrected counts never exceed raw counts.
How does the package use scverse data structures (please describe in a few sentences):
The public API is
denoise()onAnnData. Raw UMI counts are read from.X(and optionally a matching raw 10x matrix); droplet class, coarse type, and per-cell dose are written to.obs; the ambient profile is stored on.var/.uns; corrected counts are written to.layers['ambidose_denoised']. Optional typing uses Scanpy Leiden on the same object, so output stays compatible with Scanpy and other scverse tools.