| name | tooluniverse-multiomic-disease-characterization |
| description | Comprehensive multi-omics disease characterization integrating genomics, transcriptomics, proteomics, pathway, and therapeutic layers for systems-level understanding. Produces a detailed multi-omics report with quantitative confidence scoring (0-100), cross-layer gene concordance analysis, biomarker candidates, therapeutic opportunities, and mechanistic hypotheses. Uses 80+ ToolUniverse tools across 8 analysis layers. Use when users ask about disease mechanisms, multi-omics analysis, systems biology of disease, biomarker discovery, or therapeutic target identification from a disease perspective. |
Multi-Omics Disease Characterization Pipeline
Characterize diseases across multiple molecular layers (genomics, transcriptomics, proteomics, pathways) to provide systems-level understanding of disease mechanisms, identify therapeutic opportunities, and discover biomarker candidates.
KEY PRINCIPLES:
- Report-first approach - Create report file FIRST, then populate progressively
- Disease disambiguation FIRST - Resolve all identifiers before omics analysis
- Layer-by-layer analysis - Systematically cover all omics layers
- Cross-layer integration - Identify genes/targets appearing in multiple layers
- Evidence grading - Grade all evidence as T1 (human/clinical) to T4 (computational)
- Tissue context - Emphasize disease-relevant tissues/organs
- Quantitative scoring - Multi-Omics Confidence Score (0-100)
- Druggable focus - Prioritize targets with therapeutic potential
- Biomarker identification - Highlight diagnostic/prognostic markers
- Mechanistic synthesis - Generate testable hypotheses
- Source references - Every statement must cite tool/database
- Completeness checklist - Mandatory section showing analysis coverage
- English-first queries - Always use English terms in tool calls. Respond in user's language
When to Use This Skill
Apply when users:
- Ask about disease mechanisms across omics layers
- Need multi-omics characterization of a disease
- Want to understand disease at the systems biology level
- Ask "What pathways/genes/proteins are involved in [disease]?"
- Need biomarker discovery for a disease
- Want to identify druggable targets from disease profiling
- Ask for integrated genomics + transcriptomics + proteomics analysis
- Need cross-layer concordance analysis
- Ask about disease network biology / hub genes
NOT for (use other skills instead):
- Single gene/target validation -> Use
tooluniverse-drug-target-validation
- Drug safety profiling -> Use
tooluniverse-adverse-event-detection
- General disease overview -> Use
tooluniverse-disease-research
- Variant interpretation -> Use
tooluniverse-variant-interpretation
- GWAS-specific analysis -> Use
tooluniverse-gwas-* skills
- Pathway-only analysis -> Use
tooluniverse-systems-biology
Input Parameters
| Parameter | Required | Description | Example |
|---|
| disease | Yes | Disease name, OMIM ID, EFO ID, or MONDO ID | Alzheimer disease, MONDO_0004975 |
| tissue | No | Tissue/organ of interest | brain, liver, blood |
| focus_layers | No | Specific omics layers to emphasize | genomics, transcriptomics, pathways |
Multi-Omics Confidence Score (0-100)
Score Components
Data Availability (0-40 points):
- Genomics data available (GWAS or rare variants): 10 points
- Transcriptomics data available (DEGs or expression): 10 points
- Protein data available (PPI or expression): 5 points
- Pathway data available (enriched pathways): 10 points
- Clinical/drug data available (approved drugs or trials): 5 points
Evidence Concordance (0-40 points):
- Multi-layer genes (appear in 3+ layers): up to 20 points (2 per gene, max 10 genes)
- Consistent direction (genetics + expression concordant): 10 points
- Pathway-gene concordance (genes found in enriched pathways): 10 points
Evidence Quality (0-20 points):
- Strong genetic evidence (GWAS p < 5e-8): 10 points
- Clinical validation (approved drugs): 10 points
Score Interpretation
| Score | Tier | Interpretation |
|---|
| 80-100 | Excellent | Comprehensive multi-omics coverage, high confidence, strong cross-layer concordance |
| 60-79 | Good | Good coverage across most layers, some gaps |
| 40-59 | Moderate | Moderate coverage, limited cross-layer integration |
| 0-39 | Limited | Limited data, single-layer analysis dominates |
Evidence Grading System
| Tier | Symbol | Criteria | Examples |
|---|
| T1 | [T1] | Direct human evidence, clinical proof | FDA-approved drug, GWAS hit (p<5e-8), clinical trial result |
| T2 | [T2] | Experimental evidence | Differential expression (validated), functional screen, mouse KO |
| T3 | [T3] | Computational/database evidence | PPI network, pathway mapping, expression correlation |
| T4 | [T4] | Annotation/prediction only | GO annotation, text-mined association, predicted interaction |
Report Template
Create this file structure at the start: {disease_name}_multiomic_report.md
# Multi-Omics Disease Characterization: {Disease Name}
**Report Generated**: {date}
**Disease Identifiers**: (to be filled)
**Multi-Omics Confidence Score**: (to be calculated)
---
## Executive Summary
(2-3 sentence disease mechanism synthesis - fill after all layers complete)
---
## 1. Disease Definition & Context
### Disease Identifiers
| System | ID | Source |
|--------|-----|--------|
### Description
### Synonyms
### Disease Hierarchy (parents/children)
### Affected Tissues/Organs
### Therapeutic Areas
**Sources**: (tools used)
---
## 2. Genomics Layer
### 2.1 GWAS Associations
| SNP | P-value | Effect | Gene | Study | Source |
|-----|---------|--------|------|-------|--------|
### 2.2 GWAS Studies Summary
| Study ID | Trait | Sample Size | Year | Source |
|----------|-------|-------------|------|--------|
### 2.3 Associated Genes (Genetic Evidence)
| Gene | Ensembl ID | Association Score | Evidence Type | Source |
|------|------------|-------------------|---------------|--------|
### 2.4 Rare Variants (ClinVar)
| Variant | Gene | Clinical Significance | Source |
|---------|------|-----------------------|--------|
### Genomics Layer Summary
- Total GWAS hits:
- Top genes by genetic evidence:
- Genetic architecture:
**Sources**: (tools used)
---
## 3. Transcriptomics Layer
### 3.1 Differential Expression Studies
| Experiment | Condition | Up-regulated | Down-regulated | Source |
|------------|-----------|--------------|----------------|--------|
### 3.2 Expression Atlas Disease Evidence
| Gene | Score | Source |
|------|-------|--------|
### 3.3 Tissue Expression Patterns (GTEx/HPA)
| Gene | Tissue | Expression Level | Source |
|------|--------|-----------------|--------|
### 3.4 Biomarker Candidates (Expression-Based)
| Gene | Tissue Specificity | Fold Change | Evidence | Source |
|------|-------------------|-------------|----------|--------|
Differential expression datasets:
Top DEGs:
Tissue-specific patterns:
: (tools used)
---
| Protein A | Protein B | Score | Source |
|-----------|-----------|-------|--------|
| Gene | Degree | Betweenness | Role | Source |
|------|--------|-------------|------|--------|
| Complex | Members | Function | Source |
|---------|---------|----------|--------|
| Gene | Interaction Score | Tissue | Source |
|------|-------------------|--------|--------|
Total PPIs:
Hub genes:
Network modules:
: (tools used)
---
| Pathway | Database | P-value | Genes | Source |
|---------|----------|---------|-------|--------|
| Pathway ID | Name | Genes Involved | Source |
|------------|------|----------------|--------|
| Pathway ID | Name | Description | Source |
|------------|------|-------------|--------|
| Pathway ID | Name | Organism | Source |
|------------|------|----------|--------|
Top enriched pathways:
Key pathway nodes:
Cross-pathway connections:
: (tools used)
---
| GO Term | Name | P-value | Genes | Source |
|---------|------|---------|-------|--------|
| GO Term | Name | P-value | Genes | Source |
|---------|------|---------|-------|--------|
| GO Term | Name | P-value | Genes | Source |
|---------|------|---------|-------|--------|
: (tools used)
---
| Drug | ChEMBL ID | Mechanism | Target | Phase | Source |
|------|-----------|-----------|--------|-------|--------|
| Gene | Tractability | Modality | Clinical Precedent | Source |
|------|-------------|----------|-------------------|--------|
| Drug | Original Indication | Mechanism | Target | Source |
|------|---------------------|-----------|--------|--------|
| NCT ID | Title | Phase | Status | Intervention | Source |
|--------|-------|-------|--------|--------------|--------|
Approved drugs:
Clinical pipeline:
Novel targets:
: (tools used)
---
| Gene | Genomics | Transcriptomics | Proteomics | Pathways | Layers | Evidence Tier |
|------|----------|-----------------|------------|----------|--------|---------------|
| Rank | Gene | Layers Found | Key Evidence | Druggable | Source |
|------|------|-------------|--------------|-----------|--------|
| Biomarker | Type | Evidence Layers | Confidence | Source |
|-----------|------|-----------------|------------|--------|
(Hypothesis with supporting evidence from multiple layers)
...
Key disrupted processes:
Critical pathway nodes:
Therapeutic intervention points:
Testable hypotheses:
---
| Component | Points | Max | Details |
|-----------|--------|-----|---------|
| Genomics data | | 10 | |
| Transcriptomics data | | 10 | |
| Protein data | | 5 | |
| Pathway data | | 10 | |
| Clinical data | | 5 | |
| Multi-layer genes | | 20 | |
| Direction concordance | | 10 | |
| Pathway-gene concordance | | 10 | |
| Genetic evidence quality | | 10 | |
| Clinical validation | | 10 | |
| | | | |
: XX/100 - [Tier]
---
| Omics Layer | Data Available | Tools Used | Findings |
|-------------|---------------|------------|----------|
| Genomics (GWAS) | Yes/No | | |
| Genomics (Rare Variants) | Yes/No | | |
| Transcriptomics (DEGs) | Yes/No | | |
| Transcriptomics (Expression) | Yes/No | | |
| Proteomics (PPI) | Yes/No | | |
| Proteomics (Expression) | Yes/No | | |
| Pathways (Enrichment) | Yes/No | | |
| Pathways (KEGG/Reactome) | Yes/No | | |
| Gene Ontology | Yes/No | | |
| Drugs/Therapeutics | Yes/No | | |
| Clinical Trials | Yes/No | | |
| Literature | Yes/No | | |
---
[ ] Disease disambiguation complete (IDs resolved)
[ ] Genomics layer analyzed (GWAS + variants)
[ ] Transcriptomics layer analyzed (DEGs + expression)
[ ] Proteomics layer analyzed (PPI + interactions)
[ ] Pathway layer analyzed (enrichment + mapping)
[ ] Gene Ontology analyzed (BP + MF + CC)
[ ] Therapeutic landscape analyzed (drugs + targets + trials)
[ ] Cross-layer integration complete (concordance analysis)
[ ] Multi-Omics Confidence Score calculated
[ ] Biomarker candidates identified
[ ] Hub genes identified
[ ] Mechanistic hypotheses generated
[ ] Executive summary written
[ ] All sections have source citations
---
| # | Tool | Parameters | Section | Items Retrieved |
|---|------|------------|---------|-----------------|
OpenTargets: (current)
GWAS Catalog: (current)
STRING: (current)
Reactome: (current)
Phase 0: Disease Disambiguation (ALWAYS FIRST)
Objective: Resolve disease to standard identifiers for all downstream queries.
Tools Used
OpenTargets_get_disease_id_description_by_name (primary):
- Input:
diseaseName (string) - Disease name
- Output:
{data: {search: {hits: [{id, name, description}]}}}
- Use: Get MONDO/EFO IDs and description
- CRITICAL: Disease IDs from OpenTargets use underscore format (e.g.,
MONDO_0004975), NOT colon format
OSL_get_efo_id_by_disease_name (secondary):
- Input:
disease (string) - Disease name
- Output:
{efo_id, name}
- Use: Get EFO/MONDO ID
OpenTargets_get_disease_description_by_efoId:
- Input:
efoId (string) - Disease ID (e.g., MONDO_0004975)
- Output:
{data: {disease: {id, name, description, dbXRefs}}}
- Use: Get full description, cross-references (OMIM, UMLS, DOID, etc.)
OpenTargets_get_disease_synonyms_by_efoId:
- Input:
efoId (string)
- Output:
{data: {disease: {id, name, synonyms: [{relation, terms}]}}}
OpenTargets_get_disease_therapeutic_areas_by_efoId:
- Input:
efoId (string)
- Output:
{data: {disease: {id, name, therapeuticAreas: [{id, name}]}}}
OpenTargets_get_disease_ancestors_parents_by_efoId:
- Input:
efoId (string)
- Output:
{data: {disease: {id, name, ancestors: [{id, name}]}}}
OpenTargets_get_disease_descendants_children_by_efoId:
- Input:
efoId (string)
- Output:
{data: {disease: {id, name, descendants: [{id, name}]}}}
OpenTargets_map_any_disease_id_to_all_other_ids:
- Input:
inputId (string) - Any known disease ID (e.g., OMIM:104300, UMLS:C0002395)
- Output:
{data: {disease: {id, name, dbXRefs: [str], ...}}}
- Use: Cross-map between OMIM, UMLS, ICD10, DOID, etc.
Workflow
- Search by disease name to get primary ID (OpenTargets)
- Get full description and cross-references
- Get synonyms for search term expansion
- Get therapeutic areas for context
- Get disease hierarchy (parents/children)
- If user provided OMIM/other ID, map to MONDO/EFO first
Collision-Aware Search
When disease name returns multiple hits:
- Check if user's input matches any hit exactly
- If ambiguous, present top 3-5 options and ask user to select
- Always prefer the most specific disease (not parent categories)
- For cancer, prefer the specific tumor type over generic "cancer"
Key Disease IDs to Track
After disambiguation, store these for all downstream queries:
efo_id - Primary ID for OpenTargets queries (e.g., MONDO_0004975)
disease_name - Canonical name (e.g., Alzheimer disease)
synonyms - For literature search expansion
therapeutic_areas - For context
dbXRefs - Cross-references (OMIM, UMLS, DOID, etc.)
Phase 1: Genomics Layer
Objective: Identify genetic variants, GWAS associations, and genetically implicated genes.
Tools Used
OpenTargets_get_associated_targets_by_disease_efoId (primary):
- Input:
efoId (string) - Disease EFO/MONDO ID
- Output:
{data: {disease: {id, name, associatedTargets: {count, rows: [{target: {id, approvedSymbol}, score}]}}}}
- Use: Get ALL disease-associated genes ranked by overall evidence score
- NOTE: Returns top 25 by default. For comprehensive analysis, note the total
count
OpenTargets_get_evidence_by_datasource:
- Input:
efoId (string), ensemblId (string), optional datasourceIds (array), size (int, default 50)
- Output:
{data: {disease: {evidences: {count, rows: [{...evidence details}]}}}}
- Use: Get specific evidence types. Key datasourceIds for genomics:
['ot_genetics_portal'] - GWAS/genetics
['gene2phenotype', 'genomics_england', 'orphanet'] - Rare variants
['eva'] - ClinVar variants
gwas_search_associations (GWAS Catalog):
- Input:
disease_trait (string), size (int, default 20)
- Output:
{data: [{association_id, p_value, or_per_copy_num, or_value, beta, risk_frequency, efo_traits: [{...}], ...}], metadata: {pagination: {totalElements}}}
- Use: Get genome-wide significant associations
- NOTE: Use disease name (e.g., "Alzheimer"), not ID. Returns paginated results
gwas_get_studies_for_trait:
- Input:
disease_trait (string), size (int)
- Output:
{data: [...studies], metadata: {pagination}}
- NOTE: May return empty if trait name does not match exactly. Try synonyms
gwas_get_variants_for_trait:
- Input:
disease_trait (string), size (int)
- Output:
{data: [...variants], metadata: {pagination}}
GWAS_search_associations_by_gene:
- Input:
gene_name (string)
- Output: Associations for a specific gene
OpenTargets_search_gwas_studies_by_disease:
- Input:
diseaseIds (array of strings), enableIndirect (bool, default true), size (int, default 10)
- Output:
{data: {studies: {count, rows: [{id, studyType, traitFromSource, publicationFirstAuthor, publicationDate, pubmedId, nSamples, nCases, nControls, ...}]}}}
- Use: Get GWAS studies from OpenTargets genetics portal
clinvar_search_variants:
- Input:
condition (string) or gene (string), optional max_results (int)
- Output: List of ClinVar variants with clinical significance
- Use: Rare variant / monogenic disease evidence
Workflow
- Get associated genes from OpenTargets (overall scores)
- For top 10-15 genes, get genetic evidence specifically via
OpenTargets_get_evidence_by_datasource
- Search GWAS Catalog for associations
- Search OpenTargets GWAS studies
- Search ClinVar for rare variants
- For top GWAS genes, check
GWAS_search_associations_by_gene
Gene Tracking
Maintain a dictionary of genes found in genomics layer:
genomics_genes = {
'PSEN1': {'score': 0.87, 'evidence': 'genetic', 'ensembl_id': 'ENSG00000080815', 'layer': 'genomics'},
'APP': {'score': 0.82, 'evidence': 'genetic', 'ensembl_id': 'ENSG00000142192', 'layer': 'genomics'},
}
Phase 2: Transcriptomics Layer
Objective: Identify differentially expressed genes, tissue-specific expression, and expression-based biomarkers.
Tools Used
ExpressionAtlas_search_differential:
- Input: optional
gene (string), condition (string), species (string, default 'homo sapiens')
- Output: Differential expression studies and results
- Use: Find studies where genes are differentially expressed in disease
ExpressionAtlas_search_experiments:
- Input: optional
gene (string), condition (string), species (string)
- Output: Expression experiments relevant to condition
- Use: Find all Expression Atlas experiments for the disease
expression_atlas_disease_target_score:
- Input:
efoId (string), pageSize (int, required)
- Output: Genes scored by expression evidence for the disease
- Use: Get expression-based disease-gene association scores
europepmc_disease_target_score:
- Input:
efoId (string), pageSize (int, required)
- Output: Genes scored by literature evidence for the disease
- Use: Complement expression evidence with literature-mined associations
HPA_get_rna_expression_by_source (Human Protein Atlas):
- Input:
gene_name (string), source_type (string: 'tissue', 'blood', 'brain'), source_name (string: e.g., 'brain', 'liver')
- Output:
{status, data: {gene_name, source_type, source_name, expression_value, expression_level, expression_unit}}
- NOTE: ALL 3 params required.
source_type options: 'tissue', 'blood', 'brain', 'cell_line', 'single_cell'
HPA_get_rna_expression_in_specific_tissues:
- Input:
gene_name (string), tissues (array of strings)
- Output: Expression across specified tissues
HPA_get_cancer_prognostics_by_gene:
- Input:
gene_name (string)
- Output: Cancer prognostic data (if cancer context)
HPA_get_subcellular_location:
- Input:
gene_name (string)
- Output: Subcellular localization data
HPA_search_genes_by_query:
- Input:
query (string)
- Output: Matching genes in HPA
Workflow
- Search Expression Atlas for differential expression studies
- Get expression-based disease scores
- Get literature-based disease scores (EuropePMC)
- For top 10-15 genes from genomics layer, check tissue expression via HPA
- Check disease-relevant tissue expression patterns
- For cancer: check prognostic biomarkers
Gene Tracking
Add transcriptomics genes to tracking:
transcriptomics_genes = {
'APOE': {'expression_score': 0.75, 'tissues': ['brain'], 'evidence': 'differential_expression', 'layer': 'transcriptomics'},
}
Phase 3: Proteomics & Interaction Layer
Objective: Map protein-protein interactions, identify hub genes, and characterize interaction networks.
Tools Used
STRING_get_interaction_partners (primary PPI):
- Input:
protein_ids (array of strings - gene names work), species (int, default 9606), confidence_score (float, default 0.4), limit (int, default 20)
- Output:
{status: 'success', data: [{stringId_A, stringId_B, preferredName_A, preferredName_B, ncbiTaxonId, score, nscore, fscore, pscore, ascore, escore, dscore, tscore}]}
- Use: Get interaction partners for disease genes
- NOTE:
protein_ids is an array, NOT string. Gene symbols like ['APOE'] work
STRING_get_network:
- Input:
protein_ids (array), species (int), confidence_score (float)
- Output: Network of interactions between input proteins
- Use: Build disease-specific PPI network
STRING_functional_enrichment:
- Input:
protein_ids (array), species (int)
- Output: Functional enrichment results (GO, KEGG, etc.)
- Use: Functional characterization of disease gene set
STRING_ppi_enrichment:
- Input:
protein_ids (array), species (int)
- Output: Statistical test for PPI enrichment (more interactions than expected)
- Use: Test if disease genes form a connected module
intact_get_interactions:
- Input:
identifier (string - UniProt ID or gene name)
- Output: Molecular interaction data from IntAct
intact_search_interactions:
- Input:
query (string), first (int, default 0), max (int, default 25)
- Output: Search results for interactions
HPA_get_protein_interactions_by_gene:
- Input:
gene_name (string)
- Output:
{gene, interactions, interactor_count, interactors: [...]}
humanbase_ppi_analysis:
- Input:
gene_list (array), tissue (string), max_node (int), interaction (string), string_mode (bool)
- Output: Tissue-specific PPI network
- NOTE: ALL params required.
interaction options: 'coexpression', 'interaction', 'coexpression_and_interaction'. string_mode: true/false
Workflow
- Take top 15-20 genes from genomics + transcriptomics layers
- Query STRING for interaction partners of each gene
- Build composite PPI network using STRING_get_network
- Test PPI enrichment (are genes more connected than random?)
- Get functional enrichment from STRING
- For disease-relevant tissue, get tissue-specific network (HumanBase)
- Identify hub genes (highest degree centrality)
- Check IntAct for experimentally validated interactions
Hub Gene Analysis
Calculate network centrality metrics:
- Degree: Number of interaction partners
- Betweenness: Number of shortest paths through node
- Hub score: Genes with degree > mean + 1 SD are hubs
Phase 4: Pathway & Network Layer
Objective: Identify enriched biological pathways and cross-pathway connections.
Tools Used
enrichr_gene_enrichment_analysis (primary enrichment):
- Input:
gene_list (array of gene symbols, min 2), libs (array of library names)
- Output:
{status: 'success', data: '{...JSON string with enrichment results...}'}
- Key libraries:
['KEGG_2021_Human'], ['Reactome_2022'], ['WikiPathway_2023_Human'], ['GO_Biological_Process_2023'], ['GO_Molecular_Function_2023'], ['GO_Cellular_Component_2023']
- NOTE:
data field is a JSON string, needs parsing. Contains connected_paths and per-library results
- NOTE:
libs is REQUIRED as array
ReactomeAnalysis_pathway_enrichment:
- Input:
identifiers (string - space-separated gene list), optional page_size (int, default 20), include_disease (bool), projection (bool)
- Output:
{data: {token, analysis_type, pathways_found, pathways: [{pathway_id, name, species, is_disease, is_lowest_level, entities_found, entities_total, entities_ratio, p_value, fdr, reactions_found, reactions_total}]}}
- Use: Reactome-specific pathway enrichment with statistical testing
Reactome_map_uniprot_to_pathways:
- Input:
id (string - UniProt accession)
- Output: List of Reactome pathways containing this protein
- Use: Map individual proteins to pathways
Reactome_get_pathway:
- Input:
stId (string - Reactome stable ID, e.g., 'R-HSA-73817')
- Output: Pathway details
Reactome_get_pathway_reactions:
- Input:
stId (string)
- Output: Reactions within pathway
kegg_search_pathway:
- Input:
keyword (string)
- Output: Array of KEGG pathway matches
kegg_get_pathway_info:
- Input:
pathway_id (string, e.g., 'hsa04930')
- Output: Detailed pathway information
WikiPathways_search:
- Input:
query (string), optional organism (string, e.g., 'Homo sapiens')
- Output: Matching community-curated pathways
Workflow
- Collect all genes from genomics + transcriptomics layers (top 20-30)
- Run Enrichr enrichment for KEGG, Reactome, WikiPathways
- Run ReactomeAnalysis for more detailed Reactome enrichment with p-values
- Search KEGG for disease-specific pathways
- Search WikiPathways for disease pathways
- For top Reactome pathways, get detailed reactions
- Identify cross-pathway connections (genes in multiple pathways)
Extended Reference: For detailed tool tables, examples, and templates, read REFERENCE.md in this skill directory.
The agent can access it via: read skills/tooluniverse-multiomic-disease-characterization/REFERENCE.md