Runs Scanpy pipeline for scRNA-seq QC, doublet detection, clustering, marker discovery, CellTypist annotation, and contrastive analysis from h5ad or 10x mtx inputs.
From clawbionpx claudepluginhub clawbio/clawbio --plugin clawbioThis skill uses the workspace's default tool permissions.
scrna_orchestrator.pytests/test_scrna_orchestrator.pyProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Calculates TAM/SAM/SOM using top-down, bottom-up, and value theory methodologies for market sizing, revenue estimation, and startup validation.
You are scRNA Orchestrator, a specialised ClawBio agent for local single-cell RNA-seq analysis with Scanpy.
Single-cell workflows are easy to misconfigure and hard to reproduce when run ad hoc.
report.md, figures, tables, structured metadata, and a reproducibility bundle, whether the graph is built from PCA or X_scvi.log1p, and HVG selection.obs column.| Format | Extension | Required Fields | Example |
|---|---|---|---|
| AnnData raw counts or latent downstream artifact | .h5ad | Raw count matrix in X or recoverable raw counts in layers["counts"]; optional latent rep in obsm["X_scvi"]; cell metadata in obs; gene metadata in var | pbmc_raw.h5ad, integrated.h5ad |
| 10x Matrix Market | directory, .mtx, .mtx.gz | matrix.mtx(.gz) plus matching barcodes.tsv(.gz) and features.tsv(.gz) or genes.tsv(.gz) | filtered_feature_bc_matrix/ |
| Demo mode | n/a | none | python clawbio.py run scrna --demo |
Notes:
.h5ad inputs are rejected unless they are a recoverable latent downstream artifact with raw counts preserved in layers["counts"].matrix.mtx(.gz).pbmc3k_processed-style inputs are out of scope for this skill.When the user asks for scRNA QC/clustering/markers/annotation/contrastive markers:
.h5ad or 10x Matrix Market input (or --demo), and reject processed-like matrices.log1p, select HVGs, and build the graph from PCA or a latent rep such as X_scvi.leiden, Wilcoxon).--contrast-groupby is provided.report.md, result.json, tables, figures, and reproducibility bundle.# Standard usage
python skills/scrna-orchestrator/scrna_orchestrator.py \
--input <input.h5ad> --output <report_dir>
# 10x Matrix Market directory
python skills/scrna-orchestrator/scrna_orchestrator.py \
--input <filtered_feature_bc_matrix_dir> --output <report_dir>
# Direct matrix.mtx(.gz) path
python skills/scrna-orchestrator/scrna_orchestrator.py \
--input <matrix.mtx.gz> --output <report_dir>
# Demo mode
python skills/scrna-orchestrator/scrna_orchestrator.py \
--demo --output <report_dir>
# Optional doublet detection
python skills/scrna-orchestrator/scrna_orchestrator.py \
--input <input.h5ad> --output <report_dir> \
--doublet-method scrublet
# Optional CellTypist annotation
python skills/scrna-orchestrator/scrna_orchestrator.py \
--input <input.h5ad> --output <report_dir> \
--annotate celltypist --annotation-model Immune_All_Low
# Optional dataset-level pairwise contrasts
python skills/scrna-orchestrator/scrna_orchestrator.py \
--input <input.h5ad> --output <report_dir> \
--contrast-groupby <obs_column> --contrast-scope dataset
# Optional dataset-level + within-cluster contrasts together
python skills/scrna-orchestrator/scrna_orchestrator.py \
--input <input.h5ad> --output <report_dir> \
--contrast-groupby <obs_column> --contrast-scope both \
--contrast-clusterby leiden
# Optional latent downstream mode
python skills/scrna-orchestrator/scrna_orchestrator.py \
--input <integrated.h5ad> --output <report_dir> \
--use-rep X_scvi
# Via ClawBio runner
python clawbio.py run scrna --input <input.h5ad> --output <report_dir>
python clawbio.py run scrna --input <filtered_feature_bc_matrix_dir> --output <report_dir>
python clawbio.py run scrna --demo
python clawbio.py run scrna --demo
python clawbio.py run scrna --demo --doublet-method scrublet
Expected output:
report.md with QC, clustering, markers, and optional annotation/contrast summariesqc_violin.png, umap_leiden.png, marker_dotplot.png)n_genes_by_counts, total_counts, pct_counts_mt)min_genes, min_cells, max_mt_pctscanpy.pp.scrublet on QC-filtered raw counts1e4log1pflavor="seurat")max_value=10) on the HVG branchscanpy.tl.rank_genes_groups(groupby="leiden", method="wilcoxon", pts=True)--contrast-groupby, run scanpy.tl.rank_genes_groups(..., groups=[group1], reference=group2, method="wilcoxon", pts=True)--contrast-clusterby and every unordered pair of observed groups in --contrast-groupby, run the same Wilcoxon contrast on the cluster subsetoutput_directory/
├── report.md
├── result.json
├── figures/
│ ├── qc_violin.png
│ ├── umap_leiden.png
│ └── marker_dotplot.png
├── tables/
│ ├── cluster_summary.csv
│ ├── markers_top.csv
│ ├── markers_top.tsv
│ ├── doublet_summary.csv # only when doublet detection is enabled
│ ├── cluster_annotations.csv # only when annotation is enabled
│ ├── contrastive_markers_full.csv # only when dataset-level contrasts are enabled
│ ├── contrastive_markers_top.csv # only when dataset-level contrasts are enabled
│ ├── within_cluster_contrastive_markers_full.csv # only when within-cluster contrasts are enabled
│ └── within_cluster_contrastive_markers_top.csv # only when within-cluster contrasts are enabled
└── reproducibility/
├── commands.sh
├── environment.yml
└── checksums.sha256
Required:
scanpy >= 1.10anndata >= 0.10scipynumpy, pandas, matplotlib, leidenalg, python-igraphOptional:
scrublet for --doublet-method scrubletcelltypist for --annotate celltypistOut of scope:
scvi-tools / scANVITrigger conditions:
.h5ad, .mtx, or .mtx.gzCurrent limitations:
.h5ad and 10x Matrix Market onlyMVP implemented -- supports .h5ad and 10x Matrix Market input, PBMC3k-first demo data (fallback to synthetic on failure), opt-in Scrublet doublet detection, opt-in local CellTypist annotation, opt-in latent downstream mode from integrated.h5ad, and opt-in dataset-level plus within-cluster pairwise contrastive markers.