plugins/tooluniverse/skills/tooluniverse-spatial-omics-analysis/SKILL.md
Spatial multi-omics interpretation pipeline. Transforms spatially variable genes (SVGs), domain annotations, and tissue context into biological insights via domain-by-domain characterization, cell-type composition, spatial gene expression patterns, RNA+protein+metabolite integration. Use for Visium, MERFISH, seqFISH, Slide-seq, spatial proteomics, and spatial multi-omics interpretation. Goes beyond statistics to disease mechanisms and therapeutic opportunities.
npx skillsauth add mims-harvard/tooluniverse tooluniverse-spatial-omics-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive biological interpretation of spatial omics data. Transforms spatially variable genes (SVGs), domain annotations, and tissue context into actionable biological insights.
KEY PRINCIPLES:
When uncertain about any scientific fact, SEARCH databases first (PubMed, UniProt, ChEMBL, ClinVar, etc.) rather than reasoning from memory. A database-verified answer is always more reliable than a guess.
When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.
Apply when users:
NOT for: Single gene interpretation (use target-research), variant interpretation, drug safety, bulk RNA-seq, GWAS analysis.
| Parameter | Required | Description | Example |
|-----------|----------|-------------|---------|
| svgs | Yes | Spatially variable genes | ['EGFR', 'CDH1', 'VIM', 'MYC', 'CD3E'] |
| tissue_type | Yes | Tissue/organ type | brain, liver, lung, breast |
| technology | No | Spatial omics platform | 10x Visium, MERFISH, DBiTplus |
| disease_context | No | Disease if applicable | breast cancer, Alzheimer disease |
| spatial_domains | No | Domain -> marker genes dict | {'Tumor core': ['MYC','EGFR']} |
| cell_types | No | Cell types from deconvolution | ['Epithelial', 'T cell'] |
| proteins | No | Proteins detected (multi-modal) | ['CD3', 'PD-L1', 'Ki67'] |
| metabolites | No | Metabolites (SpatialMETA) | ['glutamine', 'lactate'] |
Data Completeness (0-30): SVGs (5), Disease context (5), Spatial domains (5), Cell types (5), Multi-modal (5), Literature (5)
Biological Insight (0-40): Pathway enrichment FDR<0.05 (10), Cell-cell interactions (10), Disease mechanism (10), Druggable targets (10)
Evidence Quality (0-30): Cross-database validation 3+ DBs (10), Clinical validation (10), Literature support (10)
| Score | Tier | Interpretation | |-------|------|----------------| | 80-100 | Excellent | Comprehensive characterization, strong insights, druggable targets | | 60-79 | Good | Good pathway/interaction analysis, some therapeutic context | | 40-59 | Moderate | Basic enrichment, limited domain comparison | | 0-39 | Limited | Minimal data, gene-level annotation only |
| Tier | Criteria | Examples | |------|----------|----------| | [T1] | Direct human/clinical evidence | FDA-approved drug, validated biomarker | | [T2] | Experimental evidence | Validated spatial pattern, known L-R pair | | [T3] | Computational/database evidence | PPI prediction, pathway enrichment | | [T4] | Annotation/prediction only | GO annotation, text-mined association |
Resolve tissue/disease identifiers, establish analysis context. Get MONDO/EFO IDs for disease queries.
OpenTargets_get_disease_id_description_by_name, OpenTargets_get_disease_description_by_efoId, HPA_search_genes_by_queryResolve gene IDs, annotate functions, tissue specificity, subcellular localization.
MyGene_query_genes, UniProt_get_function_by_accession, HPA_get_subcellular_location, HPA_get_rna_expression_by_source, HPA_get_comprehensive_gene_details_by_ensembl_id, HPA_get_cancer_prognostics_by_gene, UniProtIDMap_gene_to_uniprotIdentify enriched pathways globally and per-domain. Filter FDR < 0.05.
STRING_functional_enrichment (PRIMARY), ReactomeAnalysis_pathway_enrichment, GO_get_annotations_for_gene, kegg_search_pathway, WikiPathways_searchCharacterize each domain biologically, assign cell types from markers, compare domains.
HPA_get_biological_processes_by_gene, HPA_get_protein_interactions_by_genePredict communication from spatial patterns. Check ligand-receptor pairs across domains.
STRING_get_interaction_partners, STRING_get_protein_interactions, intact_search_interactions, Reactome_get_interactor, DGIdb_get_drug_gene_interactionsConnect to disease mechanisms, identify druggable targets, find clinical trials.
OpenTargets_get_associated_targets_by_disease_efoId, OpenTargets_get_target_tractability_by_ensemblID, OpenTargets_get_associated_drugs_by_target_ensemblID, search_clinical_trials, DGIdb_get_gene_druggability, civic_search_genesIntegrate protein/RNA/metabolite data. Compare spatial RNA with protein detection.
HPA_get_subcellular_location, HPA_get_rna_expression_in_specific_tissues, Reactome_map_uniprot_to_pathways, kegg_get_pathway_infoClassify immune cells, check checkpoint expression, assess Hot vs Cold vs Excluded patterns.
STRING_functional_enrichment, OpenTargets_get_target_tractability_by_ensemblID, iedb_search_epitopesSearch published evidence, suggest validation experiments (smFISH, IHC, PLA).
PubMed_search_articles, openalex_literature_searchUse HuBMAP tools to find published spatial biology reference datasets for comparison, validation, or cross-study analysis.
| Tool | Purpose | Key Parameters |
|------|---------|----------------|
| HuBMAP_search_datasets | Search published spatial datasets by organ/assay/keyword | organ (code: "LK"=Kidney, "BR"=Brain, "LU"=Lung, etc.), dataset_type ("RNAseq", "CODEX", "MALDI"), query, limit |
| HuBMAP_list_organs | List all available organs with codes and UBERON IDs | (no required params) |
| HuBMAP_get_dataset | Get detailed metadata for a specific HuBMAP dataset | hubmap_id (e.g. "HBM626.FHJD.938") |
When to use: Phase 0 (find reference datasets for the tissue), Phase 8 (cross-reference findings with published HuBMAP atlas data).
See phase-procedures.md for detailed workflows, decision logic, and tool parameter specifications per phase.
Create file: {tissue}_{disease}_spatial_omics_report.md
# Spatial Multi-Omics Analysis Report: {Tissue Type}
**Report Generated**: {date} | **Technology**: {platform}
**Tissue**: {tissue_type} | **Disease**: {disease or "Normal tissue"}
**Total SVGs**: {count} | **Spatial Domains**: {count}
**Spatial Omics Integration Score**: (calculated after analysis)
## Executive Summary
## 1. Tissue & Disease Context
## 2. Spatially Variable Gene Characterization
- 2.1 Gene ID Resolution
- 2.2 Tissue Expression Patterns
- 2.3 Subcellular Localization
- 2.4 Disease Associations
## 3. Pathway Enrichment Analysis
- 3.1 STRING, 3.2 Reactome, 3.3-3.5 GO (BP, MF, CC)
## 4. Spatial Domain Characterization (per-domain + comparison)
## 5. Cell-Cell Interaction Inference
- 5.1 PPI, 5.2 Ligand-Receptor, 5.3 Signaling Pathways
## 6. Disease & Therapeutic Context
- 6.1 Disease Gene Overlap, 6.2 Druggable Targets, 6.3 Drug Mechanisms, 6.4 Trials
## 7. Multi-Modal Integration (if data available)
## 8. Immune Microenvironment (if relevant)
## 9. Literature & Validation Context
## Spatial Omics Integration Score (breakdown table)
## Completeness Checklist
## References (tools used, database versions)
See report-template.md for full template with table structures.
Spatial Multi-Omics Analysis provides:
Outputs: Markdown report with Spatial Omics Integration Score (0-100) Uses: 70+ ToolUniverse tools across 9 analysis phases Time: ~10-20 minutes depending on gene list size
tools
Generate the success criteria for a task or question, then review work against them. Given a task, goal, or open-ended question, decompose it into scenarios, evaluation perspectives, and fine-grained weighted YES/NO criteria using the Recursive Expansion Tree (RET) method; if work is supplied, score it criterion-by-criterion and surface what is missing or could be better. Use when asked to self-review or check your own work, judge whether a task is done well or completely, build a definition-of-done or completeness checklist, create an evaluation rubric or grading criteria, score or grade answers to a question, set up an LLM-as-judge rubric, or when the user mentions self-review, completeness check, success criteria, evaluation criteria, scoring rubric, Qworld, or the RET algorithm.
tools
Find the real protein target(s) of a peptide from its sequence — peptide target deorphanization / off-target identification, for ANY target class (GPCR, ion channel, protease, cytokine/growth-factor receptor, enzyme, integrin), not only GPCRs. Use when a peptide has a phenotype but does not bind its hypothesized target, when a peptide binds a target in one species or assay but not another, or to screen candidate targets for an orphan peptide. A target-class router steers a multi-route keyless pipeline (PROSITE/ELM motif, BLAST homology, HGNC/InterPro/GPCRdb/GtoPdb target-family enumeration, OpenTargets phenotype anchor, EnsemblCompara/Alliance cross-species reconciliation) plus optional NVIDIA-NIM co-folding (Boltz2, AlphaFold2-Multimer, OpenFold3) for structural confirmation.
tools
Install or update ToolUniverse in Claude Science — create the conda env, install the tooluniverse pip package, and (re)build the tooluniverse-research skill by fetching the current workflow library from GitHub. Use for first-time setup, upgrading the ToolUniverse version, refreshing the bundled workflows after an upstream release, or reinstalling on a new machine.
tools
Install, set up, verify, update, pin, uninstall, or troubleshoot the ToolUniverse plugin on OpenAI Codex. ALWAYS consult this skill for any of those — don't answer from memory, because the exact marketplace name (mims-harvard/ToolUniverse), the "codex plugin marketplace add" then "codex plugin add -m tooluniverse" flow, Codex's startup auto-upgrade behavior, the uvx tooluniverse MCP server, and the API-key env vars are easy to get wrong. Use it whenever someone wants to get ToolUniverse (or "the 1000+ scientific tools" / "the harvard tools") working on Codex, says the Codex plugin or its tools/skills won't load, hits a uvx or MCP-server startup error, asks how Codex updates it, wants to pin or remove it, or finds it running an old tool version — even if they never say the word "plugin". Not for the Claude Code plugin (use tooluniverse-claude-code-plugin), for running research with the tools, or for authoring new tools or skills.