single-cell-rna-qc
scverse scRNA gold chain on .h5ad/.h5 — inspect, convert, MAD QC, optional scanpy.pp.scrublet, preprocess, Harmony/ComBat, PCA-UMAP-Leiden, Wilcoxon markers…
Skill by HERRY423
Chalk Labs
Need help deploying single-cell-rna-qc?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/herry423-single-cell-rna-qc-fd1c48
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
single-cell-rna-qc- Description
- scverse scRNA gold chain on .h5ad/.h5 — inspect, convert, MAD QC, optional scanpy.pp.scrublet, preprocess, Harmony/ComBat, PCA-UMAP-Leiden, Wilcoxon markers, subset, pseudobulk, pydeseq2, stable plots. Use when the user has scRNA-seq counts. Does not assign cell-type labels. rank_genes_groups is not condition DE. Do not call local doublet/ambient helpers SoupX, CellBender, or scDblFinder.
- License
- Apache-2.0
- Instructions
- 112 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (24)
- LICENSE.txt
- SKILL.md
- gold_chain.example.json · configs/
- r_interop.md · references/
- scverse_qc_guidelines.md · references/
- _common.py · scripts/
- ambient_rna.py · scripts/
- doublet_detection.py · scripts/
- qc_analysis.py · scripts/
- qc_core.py · scripts/
- qc_plotting.py · scripts/
- scrna_cluster_stability.py · scripts/
- scrna_convert.py · scripts/
- scrna_deseq.py · scripts/
- scrna_inspect.py · scripts/
- scrna_integrate.py · scripts/
- scrna_markers.py · scripts/
- scrna_pipeline.py · scripts/
- scrna_plot.py · scripts/
- scrna_preprocess.py · scripts/
- scrna_pseudobulk.py · scripts/
- scrna_reduce_cluster.py · scripts/
- scrna_scrublet.py · scripts/
- scrna_subset.py · scripts/
SKILL.md (first lines)
# Single-Cell RNA-seq Gold Chain (`single-cell-rna-qc`)
> [!NOTE]
> **Gold Reference Plugin**: This skill serves as the canonical reference implementation for all BioNexus analytical tools. All contributors must follow this architecture.
The `single-cell-rna-qc` skill implements the official [scverse](https://scverse.org/) community standard workflow for single-cell RNA sequencing data. It strictly enforces the distinction between **Execution Fidelity** and **Scientific Evidence Quality**, providing multi-dimensional `EvidenceCard` validation, input distribution audits, and reproducible provenance sidecars.
---
## ⚡ Canonical Workflow (Command-Line Interface)
The canonical execution path is the **modular scverse gold chain**:
```bash
# 0. Verify environment backend (scanpy, anndata)
python scripts/doctor.py --require-scverse
# 1. Inspect data semantics, sparsity, library size, and log-transformation
python skills/single-cell-rna-qc/scripts/scrna_inspect.py raw.h5ad
# 2. Run the complete canonical pipeline (MAD QC -> norm/log1p -> HVG -> PCA -> Leiden -> markers)
python skills/single-cell-rna-qc/scripts/scrna_pipeline.py raw.h5ad -o clustered.h5ad
# 3. Official doublet detection on raw count layer (scanpy.pp.scrublet)
python skills/single-cell-rna-qc/scripts/scrna_scrublet.py raw.h5ad -o raw_scrub.h5ad
# 4. Pseudobulk aggregation by biological replicate × condition
python skills/single-cell-rna-qc/scripts/scrna_pseudobulk.py clustered.h5ad -o pb.csv --by sample condition --design pb_design.tsv
# 5. Condition Differential Expression (Wald test via PyDESeq2)
python skills/single-cell-rna-qc/scripts/scrna_deseq.py pb.csv --design pb_design.tsv --condition condition --reference control --contrast-level treated -o de.csv
# 6. Generate standardized exploratory figures
python skills/single-cell-rna-qc/scripts/scrna_plot.py clustered.h5ad -o figures/ --color leiden
# 7. Multi-donor DE Evidence Audit (before lab meetings, manuscript submission, or sharing)
bionexus audit-de clustered.h5ad --de-table de.csv -o audit_report.md
```
---
## 🧬 Canonical Scripts & Architecture Matrix
| Step | Script | Canonical Backend | Evidence Grade | Output Artifacts |
| :--- | :--- | :--- | :---: | :--- |
| **Inspect** | `scrna_inspect.py` | `anndata` + `bionexus.integrity` | `A` | JSON summary (sparsity, log-scale check) |
| **Convert** | `scrna_convert.py` | `scanpy.read_*` | `A` | Standardized `.h5ad` |
| **QC (MAD)** | `qc_core.py` | `scanpy` / Median Absolute Deviation | `A` | Filtered `.h5ad` + QC metrics |
| **Doublets** | `scrna_scrublet.py` | **`scanpy.pp.scrublet` only** | `A` | `.h5ad` with doublet scores (Refuse if missing) |
| **Preprocess** | `scrna_preprocess.py` | `scanpy.pp.normalize_total`, `log1p`, `highly_variable_genes` | `A` | Preprocessed `.h5ad` |
| **Integrate** | `scrna_integrate.py` | `harmonypy` / `scanpy.pp.combat` | `A` | Batch-corrected PCA space |
| **Cluster** | `scrna_reduce_cluster.py` | `scanpy.tl.pca`, `neighbors`, `umap`, `leiden` | `A` | Clustered `.h5ad` (Numeric labels only) |
| **Markers** | `scrna_markers.py` | `scanpy.tl.rank_genes_groups` (Wilcoxon) | `A` | Cluster marker gene rankings table |
| **Plot** | `scrna_plot.py` | `scanpy.pl` / `matplotlib` | `A` | `umap_leiden.png`, `dotplot_markers.png`, `violin_qc.png` |
| **Subset** | `scrna_subset.py` | `anndata` slice & stale embedding drop | `A` | Subsampled `.h5ad` |
| **Pseudobulk** | `scrna_pseudobulk.py` | Sum raw counts over replicate groups | `A` | Pseudobulk count matrix `pb.csv` + `pb_design.tsv` |
| **Condition DE** | `scrna_deseq.py` | **`pydeseq2` (Wald test)** | `A` | Differential expression table `de.csv` (Refuse if missing) |
---
## 🛡️ Scientific Honesty Invariants & Non-Negotiables
1. **Numeric Cluster Labels Only**:
- The pipeline writes numeric cluster identities (`leiden: "0"`, `"1"`, `"2"`).
- **Strictly Forbidden:** Guessing or hallucinating biological cell-type labels (e.g. "T-cell", "Macrophage") without validated reference annotations or orthogonal experimental ground truth.
2. **Marker Genes vs Condition DE**:
- Exploratory marker gene identification (`rank_genes_groups`) discovers cluster-specific expression within a single dataset.
- **Strictly Forbidden:** Publishing exploratory marker p-values as experimental condition treatment effect p-values. Condition DE requires pseudobulk replicate aggregation and `pydeseq2`.
3. **No Masquerading Heuristics**:
- Local fallback scripts (`ambient_rna.py`, `doublet_detection.py`, `qc_analysis.py`) are legacy Grade C heuristics.
- **Strictly Forbidden:** Claiming or labeling local heuristics as official community algorithms like SoupX, CellBender, or scDblFinder.
4. **Deterministic Refusal**:
- If a gold-standard backend (`scanpy`, `pydeseq2`) is missing, the tool must cleanly return `refuse()` with `EvidenceGrade.ABSTAIN`.
---
## 📊 Scientific EvidenceCard Contract
Every analytical run produces a structured `EvidenceCard` evaluating the 7 quality dimensions:
```json
{
"method": "scanpy_gold_chain",
"backend": "scanpy",
"evidence_grade": "A",
"conclusion_status": "SUPPORTED",
"evidence_card": {
"execution_fidelity": "A",
"input_integrity": "A",
"assumption_validity": "A",
"statistical_support": "A",
"parameter_robustness": "B",
"cross_method_concordance": "UNTESTED",
"external_validation": "UNTESTED"
},
"limitations": [
"This plugin does not assign cell-type identity. Leiden/KMeans labels are numeric only.",
"Research-use only. Not a clinical diagnostic, not CLIA/CAP validated, and not an authorized medical device."
]
}
```
---
## ⚠️ Deprecated / Legacy Scripts (Grade C Heuristics)
The following scripts are maintained solely for backward compatibility. They are not part of the default canonical path:
- `qc_analysis.py` (Replaced by `scrna_pipeline.py`)
- `doublet_detection.py` (Replaced by `scrna_scrublet.py`)
- `ambient_rna.py` (Local NNLS heuristic; not SoupX/CellBender)From HERRY423/BioNexus, Apache-2.0.
More from HERRY423/BioNexus
- 0.616score
instrument-data-to-allotrope
HERRY423
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV using native allotropy or…
SkillBFreshness: B★ 31Claude Code +9 - 0.616score
single-cell-rna-qc
HERRY423
scverse scRNA gold chain on .h5ad/.h5 — inspect, convert, MAD QC, optional scanpy.pp.scrublet, preprocess, Harmony/ComBat, PCA-UMAP-Leiden, Wilcoxon markers…
SkillBFreshness: B★ 31Claude Code +9 - 0.616score
spatial-transcriptomics
HERRY423
squidpy spatial gold chain on SpatialData .zarr or AnnData .h5ad with obsm['spatial'].
SkillBFreshness: B★ 31Claude Code +9 - 0.613score
external-evidence-audit
HERRY423
Audit completed results from literature, database, analysis, sequence, structure, or slide capabilities, then optionally assemble an explicitly adjudicated…
SkillBFreshness: B★ 31Claude Code +9 - 0.613score
nextflow-development
HERRY423
Prepare nf-core samplesheets, cluster nextflow.config, and write launch artifacts.
SkillBFreshness: B★ 31Claude Code +9 - 0.613score
scvi-tools
HERRY423
Train official scvi-tools models (scVI/scANVI/totalVI/PeakVI/MultiVI/veloVI) on raw counts after the scRNA gold chain.
SkillBFreshness: B★ 31Claude Code +9 - 0.608score
start
HERRY423
Orient a session on this plugin.
SkillBFreshness: B★ 31Claude Code +9 - 0.608score
provenance-and-audit
HERRY423
SHA-256 hashes, environment snapshot, and activity-aware Methods text.
SkillBFreshness: B★ 31Claude Code +9 - 0.608score
single-cell-de-audit
HERRY423
Review completed multi-donor single-cell differential expression before submission.
SkillBFreshness: B★ 31Claude Code +9
Signals
- Stars
- 31
- Forks
- 4
- Open issues
- 9
- Last commit (this folder)
- Sep 11, 2026 (1 month ago)
- Last release
- Aug 18, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/HERRY423/BioNexus
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from HERRY423
- 0.616score
instrument-data-to-allotrope
HERRY423
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV using native allotropy or…
SkillBFreshness: B★ 31Claude Code +9 - 0.616score
single-cell-rna-qc
HERRY423
scverse scRNA gold chain on .h5ad/.h5 — inspect, convert, MAD QC, optional scanpy.pp.scrublet, preprocess, Harmony/ComBat, PCA-UMAP-Leiden, Wilcoxon markers…
SkillBFreshness: B★ 31Claude Code +9 - 0.616score
spatial-transcriptomics
HERRY423
squidpy spatial gold chain on SpatialData .zarr or AnnData .h5ad with obsm['spatial'].
SkillBFreshness: B★ 31Claude Code +9 - 0.613score
external-evidence-audit
HERRY423
Audit completed results from literature, database, analysis, sequence, structure, or slide capabilities, then optionally assemble an explicitly adjudicated…
SkillBFreshness: B★ 31Claude Code +9 - 0.613score
nextflow-development
HERRY423
Prepare nf-core samplesheets, cluster nextflow.config, and write launch artifacts.
SkillBFreshness: B★ 31Claude Code +9 - 0.613score
scvi-tools
HERRY423
Train official scvi-tools models (scVI/scANVI/totalVI/PeakVI/MultiVI/veloVI) on raw counts after the scRNA gold chain.
SkillBFreshness: B★ 31Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get single-cell-rna-qc running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
single-cell-rna-qc skill. Agent Mart. https://agentmart.dev/skills/herry423-single-cell-rna-qc-fd1c48 (last updated 2026-10-24)