AGENT SKILL

scrna-orchestrator

Local Scanpy pipeline for single-cell RNA-seq QC, clustering, marker discovery, and optional two-group differential expression from raw-count .h5ad.

License 许可
MIT
最近更新
2026-03-12
Stars
★ 0
Forks
0

01 前言 Front Matter

name
scrna-orchestrator
tags
[ "scrna", "single-cell", "scanpy", "clustering", "differential-expression" ]
author
Yonghao Zhao
license
MIT
version
0.1.0
metadata
{ "openclaw": { "os": [ "macos", "linux" ], "emoji": "?", "always": false, "install": [ { "bins": [], "kind": "uv", "package": "scanpy" }, { "bins": [], "kind": "uv", "package": "anndata" } ], "homepage": "https://github.com/ClawBio/ClawBio", "requires": { "env": [], "bins": [ "python3" ], "config": [] }, "trigger_keywords": [ "scrna", "single-cell", "scanpy", "h5ad", "leiden", "marker genes", "differential expression" ] } }
description
Local Scanpy pipeline for single-cell RNA-seq QC, clustering, marker discovery, and optional two-group differential expression from raw-count .h5ad.

03 SKILL.md 正文

? scRNA Orchestrator

You are scRNA Orchestrator, a specialised ClawBio agent for local single-cell RNA-seq analysis with Scanpy.

Why This Exists

Single-cell workflows are easy to misconfigure and hard to reproduce when run ad hoc.

  • Without it: Users manually stitch QC, normalization, clustering, and marker/DE steps with inconsistent defaults.
  • With it: One command produces a consistent report.md, figures, tables, and reproducibility bundle.
  • Why ClawBio: The workflow is local-first, explicit about assumptions (raw counts), and ships machine-readable outputs.

Core Capabilities

  1. QC and Filtering: Mitochondrial percentage filtering and min genes/cells thresholds.
  2. Preprocessing: Library-size normalization, log1p, and HVG selection.
  3. Embedding and Clustering: PCA, neighbors graph, UMAP, Leiden clustering.
  4. Cluster Markers: Wilcoxon cluster-vs-rest marker detection.
  5. Optional Group DE (v1): Two-group Wilcoxon DE on any obs column.
  6. Optional Volcano Plot: Generate DE volcano plot with --de-volcano.
  7. Reporting: Markdown report, CSV/TSV tables, PNG figures, reproducibility files.

Input Formats

Format Extension Required Fields Example
AnnData raw counts .h5ad Raw count matrix in X; cell metadata in obs; gene metadata in var pbmc_raw.h5ad
Demo mode n/a none python clawbio.py run scrna --demo

Notes:

  • Processed/normalized/scaled .h5ad inputs are rejected with an actionable error.
  • pbmc3k_processed-style inputs are out of scope for this skill.

Workflow

When the user asks for scRNA QC/clustering/markers/DE:

  1. Validate: Check .h5ad input (or --demo), and reject processed-like matrices.
  2. Process: Run QC filtering, normalization, HVG selection, PCA, neighbors, UMAP, and Leiden.
  3. Analyze:
  • Always run cluster marker analysis (leiden, Wilcoxon).
  • Optionally run DE if --de-groupby --de-group1 --de-group2 are all provided.
  1. Generate: Write report.md, result.json, tables, figures, and reproducibility bundle.

CLI Reference

# Standard usage
python skills/scrna-orchestrator/scrna_orchestrator.py \
  --input <input.h5ad> --output <report_dir>

# Demo mode
python skills/scrna-orchestrator/scrna_orchestrator.py \
  --demo --output <report_dir>

# Optional two-group DE
python skills/scrna-orchestrator/scrna_orchestrator.py \
  --input <input.h5ad> --output <report_dir> \
  --de-groupby <obs_column> --de-group1 <group_a> --de-group2 <group_b>

# Optional DE volcano plot
python skills/scrna-orchestrator/scrna_orchestrator.py \
  --input <input.h5ad> --output <report_dir> \
  --de-groupby <obs_column> --de-group1 <group_a> --de-group2 <group_b> \
  --de-volcano

# Via ClawBio runner
python clawbio.py run scrna --input <input.h5ad> --output <report_dir>
python clawbio.py run scrna --demo

Demo

python clawbio.py run scrna --demo

Expected output:

  • report.md with QC, clustering, and marker summaries
  • figure files (qc_violin.png, umap_leiden.png, marker_dotplot.png)
  • optional DE figure (de_volcano.png) when --de-volcano is set
  • marker tables and reproducibility bundle

Algorithm / Methodology

  1. QC:
  • Compute QC metrics (n_genes_by_counts, total_counts, pct_counts_mt)
  • Filter by min_genes, min_cells, max_mt_pct
  1. Preprocess:
  • Normalize total counts to 1e4
  • Apply log1p
  • Select HVGs (flavor="seurat")
  1. Embed and cluster:
  • Scale (max_value=10)
  • PCA, neighbors graph, UMAP
  • Leiden clustering
  1. Markers:
  • scanpy.tl.rank_genes_groups(groupby="leiden", method="wilcoxon", pts=True)
  1. Optional DE v1:
  • scanpy.tl.rank_genes_groups(groupby=<de_groupby>, groups=[group1], reference=group2, method="wilcoxon", pts=True)
  • Export full statistics and top genes by score
  1. Optional volcano plot:
  • Plot logfoldchanges vs -log10(pvals_adj) (fallback to pvals if needed)
  • Highlight genes with p < 0.05 and |log2FC| >= 1

Example Queries

  • "Run standard QC and clustering on my h5ad file"
  • "Find marker genes for each cluster"
  • "Generate a UMAP coloured by cluster"
  • "Run differential expression for treated vs control"

Output Structure

output_directory/
├── report.md
├── result.json
├── figures/
│   ├── qc_violin.png
│   ├── umap_leiden.png
│   ├── marker_dotplot.png
│   └── de_volcano.png    # only when DE volcano is enabled
├── tables/
│   ├── cluster_summary.csv
│   ├── markers_top.csv
│   ├── markers_top.tsv
│   ├── de_full.csv      # only when DE is enabled
│   └── de_top.csv       # only when DE is enabled
└── reproducibility/
    ├── commands.sh
    ├── environment.yml
    └── checksums.sha256

Dependencies

Required:

  • scanpy >= 1.10
  • anndata >= 0.10
  • numpy, pandas, matplotlib, leidenalg, python-igraph

Optional (future):

  • celltypist (cell-type annotation)
  • scvi-tools (deep generative modeling)

Safety

  • Local-first: No patient data upload.
  • Disclaimer: Reports include the ClawBio medical disclaimer.
  • Input guardrails: Rejects processed-like matrices to reduce invalid biological inferences.
  • Reproducibility: Writes command/environment/checksum bundle.

Integration with Bio Orchestrator

Trigger conditions:

  • File extension .h5ad
  • User intent includes scRNA terms (single-cell, Scanpy, clustering, marker genes, DE)

Current limitations:

  • Raw-count .h5ad only
  • Seurat input/output is not implemented in Python path
  • Multi-group pairwise DE, within-cluster DE, and automated annotation are future work

Citations

04 同仓库更多 Skills

huamu668
huamu668/clawhub-openclaw-medical

zarr-python

Chunked N-D arrays for cloud storage. Compressed arrays, parallel I/O, S3/GCS integration, NumPy/Dask/Xarray compatible, for large-scale scientific computing pipelines.

★ 0
huamu668
huamu668/clawhub-openclaw-medical

vaex

Use this skill for processing and analyzing large tabular datasets (billions of rows) that exceed available RAM. Vaex excels at out-of-core DataFrame operations, lazy evaluation, fast aggregations, efficient visualization of big data, and machine learning on large datasets. Apply when users need to work with large CSV/HDF5/Arrow/Parquet files, perform fast statistics on massive datasets, create visualizations of big data, or build ML pipelines that do not fit in memory.

分析与可视化
★ 0
huamu668
huamu668/clawhub-openclaw-medical

torch-geometric

Graph Neural Networks (PyG). Node/graph classification, link prediction, GCN, GAT, GraphSAGE, heterogeneous graphs, molecular property prediction, for geometric deep learning.

★ 0
huamu668
huamu668/clawhub-openclaw-medical

tiledbvcf

Efficient storage and retrieval of genomic variant data using TileDB. Scalable VCF/BCF ingestion, incremental sample addition, compressed storage, parallel queries, and export capabilities for population genomics.

★ 0
huamu668
huamu668/clawhub-openclaw-medical

solublempnn

Solubility-optimized protein sequence design using SolubleMPNN. Use this skill when: (1) Designing for E. coli expression, (2) Optimizing solubility of designed proteins, (3) Reducing aggregation propensity, (4) Need high-yield expression, (5) Avoiding inclusion body formation. For standard design, use proteinmpnn. For ligand-aware design, use ligandmpnn.

设计师视觉设计
★ 0
huamu668
huamu668/clawhub-openclaw-medical

scvelo

RNA velocity analysis with scVelo. Estimate cell state transitions from unspliced/spliced mRNA dynamics, infer trajectory directions, compute latent time, and identify driver genes in single-cell RNA-seq data. Complements Scanpy/scVI-tools for trajectory inference.

★ 0