AGENT SKILL

diff-visualizer

Rich downstream visualisation and reporting for bulk RNA-seq differential expression and scRNA marker/contrast outputs.

License 许可
MIT
最近更新
2026-11-14
Stars
★ 12
Forks
5

01 前言 Front Matter

name
diff-visualizer
license
MIT
metadata
{ "tags": [ "differential-expression", "visualisation", "rnaseq", "scrna", "volcano", "heatmap" ], "author": "Yonghao Zhao", "version": "0.1.0", "openclaw": { "os": [ "darwin", "linux" ], "emoji": "📈", "always": false, "install": [ { "kind": "uv", "package": "pandas" }, { "kind": "uv", "package": "numpy" }, { "kind": "uv", "package": "matplotlib" }, { "kind": "uv", "package": "anndata" }, { "kind": "uv", "package": "scanpy" } ], "homepage": "https://github.com/ClawBio/ClawBio", "requires": { "bins": [ "python3" ] }, "trigger_keywords": [ "visualize de results", "differential expression visualization", "marker heatmap", "marker dotplot", "top genes heatmap", "diffviz" ] } }
description
Rich downstream visualisation and reporting for bulk RNA-seq differential expression and scRNA marker/contrast outputs.

02 资源文件 7

03 SKILL.md 正文

📈 Differential Visualizer

You are Differential Visualizer, a specialised ClawBio agent for turning completed bulk RNA-seq and single-cell differential outputs into richer figure and report packages.

Why This Exists

  • Without it: Users get one or two useful figures from upstream analysis, then hand-build publication-style plots and summary tables.
  • With it: A completed DE/marker table can be repackaged into volcanoes, heatmaps, bar charts, HTML/Markdown reports, and reproducibility artifacts in one step.
  • Why ClawBio: The skill stays local-first, composes directly with existing rnaseq-de and scrna-orchestrator outputs, and preserves machine-readable outputs.

Core Capabilities

  1. Auto-detect upstream outputs from rnaseq-de, scrna-orchestrator, or direct DE/marker tables.
  2. Bulk RNA visualisation with volcano, MA, top-gene bars, and optional counts+metadata heatmaps.
  3. scRNA visualisation with dataset-level contrast volcanoes, within-cluster comparison panels, marker ranking bars, and optional AnnData-based enhancement where the grouping axis is unambiguous.
  4. Reporting with report.md, self-contained report.html, result.json, and reproducibility files.

Input Formats

Format Extension Required Fields Example
rnaseq-de output directory directory tables/de_results.csv output/rnaseq_20260315/
scrna-orchestrator output directory directory tables/contrastive_markers_full.csv, tables/within_cluster_contrastive_markers_full.csv, or tables/markers_top.csv output/scrna_20260315/
Bulk DE table .csv, .tsv gene, log2FoldChange, plus padj or pvalue de_results.csv
scRNA contrast table .csv, .tsv names, scores contrastive_markers_full.csv
scRNA within-cluster contrast table .csv, .tsv cluster, comparison_id, group1, group2, names, scores within_cluster_contrastive_markers_full.csv
scRNA markers table .csv, .tsv cluster, names, scores markers_top.csv
Optional bulk counts .csv, .tsv gene rows, sample columns, first column gene id counts.csv
Optional bulk metadata .csv, .tsv sample_id metadata.csv
Optional AnnData .h5ad expression matrix plus gene names in var_names subset.h5ad

Workflow

When the user asks to visualise differential expression or marker results:

  1. Detect: Identify whether the input is bulk or scRNA, and whether it is an output directory or a direct result table.
  2. Validate: Confirm required columns and reject ambiguous/unsupported inputs with clear guidance.
  3. Render:
    • Bulk: volcano, top-gene bars, optional MA plot, optional heatmap.
    • scRNA: dataset-level contrast volcanoes, within-cluster marker panels, marker ranking bars, and optional AnnData UMAP/grouped panels when the inputs support a single grouping axis.
  4. Report: Write report.md, report.html, result.json, tables, figures, and reproducibility files.

CLI Reference

# Bulk table
python skills/diff-visualizer/diff_visualizer.py \
  --input de_results.csv --output diffviz_report

# Bulk directory with extra heatmap inputs
python skills/diff-visualizer/diff_visualizer.py \
  --input output/rnaseq_run --counts counts.csv --metadata metadata.csv \
  --output diffviz_report

# scRNA contrast table with AnnData enhancement
python skills/diff-visualizer/diff_visualizer.py \
  --mode scrna --input contrastive_markers_full.csv --adata cells.h5ad \
  --output diffviz_report

# Demo
python skills/diff-visualizer/diff_visualizer.py --demo --output /tmp/diffviz_demo
python skills/diff-visualizer/diff_visualizer.py --demo --mode scrna --output /tmp/diffviz_scrna_demo

# Via ClawBio runner
python clawbio.py run diffviz --input de_results.csv --output diffviz_report
python clawbio.py run diffviz --demo

Demo

python clawbio.py run diffviz --demo
python clawbio.py run diffviz --demo --mode scrna

Expected outputs:

  • report.md
  • report.html
  • result.json
  • figure bundle in figures/
  • summary tables in tables/
  • reproducibility files in reproducibility/

Output Structure

output_directory/
├── report.md
├── report.html
├── result.json
├── figures/
│   ├── volcano.png
│   ├── top_genes_bar.png
│   ├── ma_plot.png
│   ├── top_genes_heatmap.png
│   ├── contrast_volcano.png
│   ├── top_markers_bar.png
│   ├── marker_rank_bars.png
│   ├── marker_dotplot.png
│   ├── marker_heatmap.png
│   └── umap_feature_panel.png
├── tables/
│   ├── top_genes.csv
│   ├── significant_genes.csv
│   ├── top_markers.csv
│   └── top_markers_by_cluster.csv
└── reproducibility/
    ├── commands.sh
    ├── environment.yml
    └── checksums.sha256

Safety

  • Local-first only.
  • Reports include the ClawBio medical/research disclaimer.
  • No DE statistics are recomputed beyond lightweight visual ranking/summary logic.
  • Enhanced scRNA plots degrade gracefully if anndata/scanpy context is unavailable.

Integration with Bio Orchestrator

  • Routes from phrases like “visualize DE results”, “marker heatmap”, “marker dotplot”, and “top genes heatmap”.
  • Works downstream of rnaseq-de and scrna-orchestrator.

Citations

04 同仓库更多 Skills

stanfish06
stanfish06/skillquarium

zarr-python

Stores and queries chunked N-D scientific arrays with Zarr-Python 3, including codecs, sharding, S3/GCS storage, and NumPy/Dask/Xarray integration. Use for array layout, bounded I/O, format migration, or scientific metadata preservation.

★ 12
stanfish06
stanfish06/skillquarium

yeet

Publish local changes to GitHub by confirming scope, committing intentionally, pushing the branch, and opening a draft PR through the GitHub app from this plugin, with `gh` used only as a fallback where connector coverage is insufficient.

★ 12
stanfish06
stanfish06/skillquarium

xarray

N-dimensional labeled arrays and datasets in Python. Built on top of NumPy and Dask. It introduces labels in the form of dimensions, coordinates, and attributes on top of raw NumPy-like arrays, making data analysis in physical sciences more intuitive and less error-prone. Use for working with multi-dimensional scientific data, NetCDF/GRIB/Zarr files, climate/weather/oceanographic datasets, remote sensing, geospatial imaging, large out-of-memory datasets with Dask, and labeled array operations.

★ 12
stanfish06
stanfish06/skillquarium

writing-mstest-tests

Use when asked to fix, rewrite, update, improve, modernize, show corrected code for, or explain existing MSTest tests or MSTest-specific configuration. Use for "review" when corrected code or edits are wanted, even for one pasted assertion or passing tests with bad failure output. Covers expected/actual labels; generic Boolean, collection, string, numeric, null, identity, exception, hard-cast, and object[] checks; TestContext/lifecycle; timeout/cancellation; OS/CI conditions, retry, cleanup, parallelization, MSTest.Sdk project setup, and MSTESTxxxx. Honor the installed MSTest version. DO NOT USE to design new test cases (code-testing), perform report-only audits, create project files rather than explain MSTest setup, run tests, migrate frameworks, or handle non-MSTest/non-.NET code.

★ 12
stanfish06
stanfish06/skillquarium

wgs-prs

End-to-end WGS to polygenic risk score pipeline. Takes paired-end FASTQ files (or a pre-existing VCF) through nf-core/sarek for variant calling, applies VCF QC (normalisation, hard filtering, Ti/Tv and Het/Hom checks), then computes polygenic risk scores via the PGS Catalog. Fills the FASTQ to VCF gap upstream of the gwas-prs skill.

★ 12
stanfish06
stanfish06/skillquarium

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

★ 12