К основному содержанию
скилл CX Codex

tooluniverse-network-pharmacology — скилл для Claude Code: сети

Строит и разбирает сети «соединение-мишень-болезнь»: ищет варианты перепрофилирования лекарств и объясняет механизм через сетевые метрики.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add mims-harvard/ToolUniverse --skill tooluniverse-network-pharmacology -a claude-code
Открыть на GitHub

Что делает tooluniverse-network-pharmacology

Скилл собирает сеть из трёх типов узлов: соединение, мишень, болезнь. Данные тянет из STRING, BioGRID, ChEMBL, DGIdb, OMIM и OpenTargets, а расчёты ведёт кодом на Python через Bash — pandas, scipy, statsmodels, matplotlib. Описаниями «что я бы сделал» дело не ограничивается: скилл выполняет вычисления и показывает результат.

Перед построением сети он просит разобраться, с чем вы имеете дело. Много мишеней у препарата — это либо нужная полифармакология, либо лишняя неселективность, и разница в том, помогают ли дополнительные мишени или вредят. Сетевую близость считают через Z-score: Z < -2 при p < 0.01 — сигнал, Z около нуля означает, что мишени с модулем болезни почти не связаны. Кандидатов ранжируют по шкале от 0 до 100, где 35 баллов даёт сетевая близость, 25 — клинические данные, 20 — связь мишени с болезнью, 10 — безопасность и 10 — правдоподобность механизма.

У скилла disable-model-invocation: true, поэтому сам он не запустится — вызывать нужно явно. Идентификаторы (ChEMBL, DrugBank, PubChem CID, Ensembl, MONDO/EFO) скилл советует разрешать до анализа: без этого узлы сети не сойдутся. Запросы к инструментам идут на английском, даже если вы пишете по-русски.

Какие задачи решает

  • построить сеть «соединение-мишень-болезнь» и посчитать сетевую близость
  • отличить нужную полифармакологию от нежелательной неселективности
  • ранжировать кандидатов на перепрофилирование по композитной шкале
  • предсказать механизм действия препарата в новом показании
  • найти hub-гены в сети болезни как терапевтические мишени

Примеры запросов агенту

  • Можно ли перепрофилировать метформин для болезни Альцгеймера по сетевому анализу?
  • Построй сеть «соединение-мишень-болезнь» для иматиниба и посчитай Z-score
  • Разбери полифармакологию этого ингибитора киназ: какие мишени дают эффект, а какие токсичность

Как установить tooluniverse-network-pharmacology

1Через Skills CLI (Vercel)

npx skills add mims-harvard/ToolUniverse --skill tooluniverse-network-pharmacology -a claude-code

2Вручную: положить файлы

~/.claude/skills/tooluniverse-network-pharmacology/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/tooluniverse-network-pharmacology/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о tooluniverse-network-pharmacology

Как установить tooluniverse-network-pharmacology в Claude?

Выполните npx skills add mims-harvard/ToolUniverse --skill tooluniverse-network-pharmacology -a claude-code. После этого файл скилла лежит в ~/.claude/skills/tooluniverse-network-pharmacology/SKILL.md.

Что делает tooluniverse-network-pharmacology?

Строит и анализирует сети «соединение-мишень-болезнь» для поиска вариантов перепрофилирования лекарств, изучения полифармакологии и предсказания механизма действия. Данные берёт из STRING, BioGRID, ChEMBL, DGIdb, OMIM и OpenTargets, расчёты ведёт на Python.

Почему скилл не запускается сам?

В его frontmatter стоит disable-model-invocation: true, поэтому модель не вызывает его по своей инициативе. Запускать нужно явным запросом.

Исходный текст

SKILL.md · Apache-2.0
---
name: tooluniverse-network-pharmacology
description: Compound-target-disease network construction and analysis for drug repurposing, polypharmacology discovery, and multi-target drug design. Uses STRING, BioGRID, ChEMBL, DGIdb, OMIM, OpenTargets. Use for off-target effect prediction, network-based drug repurposing, and identifying molecules with desired multi-target profile.
disable-model-invocation: true
---

## COMPUTE, DON'T DESCRIBE
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.

# Network Pharmacology Pipeline

Construct and analyze compound-target-disease (C-T-D) networks to identify drug repurposing opportunities, understand polypharmacology, and predict drug mechanisms using systems pharmacology approaches.

**LOOK UP DON'T GUESS** - Retrieve actual target lists, network data, and clinical evidence from tools. Do not infer network relationships from drug class alone.

**IMPORTANT**: Always use English terms in tool calls, even if the user writes in another language. Respond in the user's language.

---

## Polypharmacology Reasoning (Start Here)

Before building any network, reason about what kind of multi-target effect you are dealing with:

**A drug hitting multiple targets is either polypharmacology (desired multi-target) or promiscuity (undesired off-target). The distinction depends on whether the additional targets contribute to efficacy or cause toxicity.**

Use this framework to guide the analysis:

- **Desired polypharmacology**: multiple targets all lie within the same disease module or pathway. Example: a kinase inhibitor that hits both EGFR and ERBB2 in the same signaling cascade. Look for pathway co-membership and disease module overlap. This is a network proximity argument.
- **Off-target promiscuity**: additional targets are in unrelated pathways, especially those associated with known toxicity (hERG for cardiotoxicity, CYP3A4 for drug interactions, COX-1 for GI toxicity). Look for these in the safety phase before claiming benefit.
- **Repurposing hypothesis**: the drug's known targets have strong genetic/functional evidence for the new disease. Network proximity (Z-score) quantifies this. A Z < -2 with p < 0.01 is meaningful signal; a Z near 0 means the targets are essentially unconnected to the disease module.
- **Mechanism ambiguity**: if a drug has 10+ known targets, do not treat all as therapeutically relevant. Start with primary mechanism-of-action targets, then ask whether secondary targets add to or subtract from the therapeutic window.

Document this reasoning explicitly in the report before listing candidates.

---

## When to Use This Skill

Apply when users:
- Ask "Can [drug] be repurposed for [disease] based on network analysis?"
- Want to understand multi-target (polypharmacology) effects of a compound
- Need compound-target-disease network construction and analysis
- Ask about network proximity between drug targets and disease genes
- Want systems pharmacology analysis of a drug or target
- Ask about drug repurposing candidates ranked by network metrics
- Need mechanism prediction for a drug in a new indication
- Want to identify hub genes in disease networks as therapeutic targets

**NOT for** (use other skills instead):
- Simple drug repurposing without network analysis -> `tooluniverse-drug-repurposing`
- Single target validation -> `tooluniverse-drug-target-validation`
- Adverse event detection only -> `tooluniverse-adverse-event-detection`

---

## Key Principles

1. **Report-first approach** - Create report file FIRST, then populate progressively
2. **Entity disambiguation FIRST** - Resolve all identifiers before analysis
3. **Reason about polypharmacology type** - Desired vs. promiscuous (see above)
4. **Bidirectional network** - Construct C-T-D network from both directions
5. **Rank candidates** - Prioritize by composite Network Pharmacology Score
6. **Mechanism prediction** - Explain HOW drug could work via network paths
7. **Clinical feasibility** - FDA-approved drugs ranked higher than preclinical
8. **Safety context** - Flag known adverse events and off-target liabilities
9. **Evidence grading** - Grade all evidence T1-T4
10. **Negative results documented** - "No data" is data; empty sections are failures
11. **Source references** - Every finding must cite the source tool/database

---

## Network Pharmacology Score (0-100)

Five components with explicit reasoning at each step:

- **Network Proximity (35 pts)**: Z < -2, p < 0.01 earns full points. A drug whose targets are in a different network neighborhood from the disease module scores near zero here. Do not claim proximity without computing the Z-score.
- **Clinical Evidence (25 pts)**: Approved for related indication earns full points. Clinical trial evidence earns partial credit. Computational prediction alone earns none.
- **Target-Disease Association (20 pts)**: Strong genetic evidence (GWAS, rare variants) for the drug's primary targets in the new disease.
- **Safety Profile (10 pts)**: FDA-approved, favorable safety in target population.
- **Mechanism Plausibility (10 pts)**: A clear pathway mechanism with functional evidence, not just co-mention in literature.

Priority tiers: 80-100 = high repurposing potential (proceed to experimental validation); 60-79 = good potential (needs mechanistic validation); 40-59 = moderate potential (high-risk/high-reward); 0-39 = low potential.

Evidence grades: T1 = human clinical proof; T2 = functional experimental evidence (IC50 < 1 uM, CRISPR screen); T3 = association/computational (GWAS hit, network proximity); T4 = prediction or text-mining only.

> Full scoring details: [SCORING_REFERENCE.md](SCORING_REFERENCE.md)

---

## Workflow Overview

### Phase 0: Entity Disambiguation and Report Setup
- Create report file immediately
- Resolve entity to all required IDs (ChEMBL, DrugBank, PubChem CID, Ensembl, MONDO/EFO)
- Tools: `OpenTargets_get_drug_chembId_by_generic_name`, `drugbank_get_drug_basic_info_by_drug_name_or_id`, `PubChem_get_CID_by_compound_name`, `OpenTargets_get_target_id_description_by_name`, `OpenTargets_get_disease_id_description_by_name`

### Phase 1: Network Node Identification
- **Compound nodes**: Drug targets, mechanism of action, current indications
- **Target nodes**: Disease-associated genes, GWAS targets, druggability levels
- **Disease nodes**: Related diseases, hierarchy, phenotypes
- Tools: `OpenTargets_get_drug_mechanisms_of_action_by_chemblId`, `OpenTargets_get_associated_targets_by_drug_chemblId`, `drugbank_get_targets_by_drug_name_or_drugbank_id`, `DGIdb_get_drug_gene_interactions`, `CTD_get_chemical_gene_interactions`, `OpenTargets_get_associated_targets_by_disease_efoId`, `Pharos_get_target`

### Phase 2: Network Edge Construction
- **C-T edges**: Bioactivity data (ChEMBL, DrugBank, BindingDB)
- **T-D edges**: Genetic/functional associations (OpenTargets evidence, GWAS, CTD)
- **C-D edges**: Clinical trials, CTD chemical-disease, literature co-mentions
- **T-T edges**: PPI network (STRING, IntAct, OpenTargets interactions, HumanBase)
- Tools: `ChEMBL_get_target_activities`, `OpenTargets_target_disease_evidence`, `GWAS_search_associations_by_gene`, `search_clinical_trials`, `CTD_get_chemical_diseases`, `STRING_get_interaction_partners`, `STRING_get_network`, `intact_search_interactions`, `humanbase_ppi_analysis`

### Phase 3: Network Analysis
- Hub identification: which targets are most connected in the drug-disease subnetwork
- Shortest paths between drug targets and disease genes: how many hops, through which intermediaries
- Network proximity Z-score: are drug targets closer to disease module than random expectation
  - Use the **`Network_proximity`** tool — Guney/Barabasi (2016) + Menche (2015) set-distance with a degree-matched Z-score, computed deterministically from a graph you supply (inline `edges` or an `edgelist_path`) plus two node sets (`set_a`/`set_b`, or the aliases `targets`/`disease_genes`). `measure` = `closest` (default), `shortest`, or `separation` (s_AB < 0 ⇒ overlapping modules). Returns `value`, `z_score`, `p_value`.
  - **Feed it the edges from Phase 2.** Tested end-to-end: `STRING_get_network` returns rows with `preferredName_A`/`preferredName_B` (gene symbols) — map each to a `[A, B]` pair and pass as `edges`; the IDs line up with symbol-based gene sets natively (no conversion).
  - **Use a LARGE interactome for the null.** A small query-centered subnetwork (e.g. `STRING_get_network` with a low `limit`) makes the degree-matched random sets nearly identical to the real ones, giving an uninformative `z>0, p≈1`. For a meaningful Z, pull the broad interactome (high `limit`, or a full network via `NDEx_get_network`), not just the immediate neighborhood. (The skill's `scripts/network_proximity.py`, which downloads the full STRING network, is the CLI equivalent.)
- Functional enrichment to identify shared biological processes
- Tools: `Network_proximity`, `STRING_functional_enrichment`, `STRING_ppi_enrichment`, `enrichr_gene_enrichment_analysis`, `ReactomeAnalysis_pathway_enrichment`

### Phase 4: Drug Repurposing Predictions
- Identify drugs targeting disease genes (disease-to-compound mode)
- Find diseases associated with drug targets (compound-to-disease mode)
- Rank candidates by composite Network Pharmacology Score
- Predict mechanisms via shared pathways and network paths
- Tools: `OpenTargets_get_associated_drugs_by_target_ensemblID`, `drugbank_get_drug_name_and_description_by_target_name`, `drugbank_get_pathways_reactions_by_drug_or_id`

### Phase 5: Polypharmacology Analysis
- Classify each secondary target as contributing to efficacy or representing off-target risk
- Disease module coverage: what fraction of disease genes are hit directly or within 1 hop
- Target family analysis and selectivity
- Tools: `OpenTargets_get_target_classes_by_ensemblID`, `DGIdb_get_gene_druggability`, `OpenTargets_get_target_tractability_by_ensemblID`

### Phase 6: Safety and Toxicity Context
- Adverse event profiling (FAERS disproportionality, OpenTargets AEs)
- Target safety (gene constraints, expression, safety profiles)
- FDA warnings, black box status
- Tools: `FAERS_calculate_disproportionality`, `FAERS_filter_serious_events`, `FAERS_count_death_related_by_drug`, `FDA_get_warnings_and_cautions_by_drug_name`, `OpenTargets_get_drug_adverse_events_by_chemblId`, `OpenTargets_get_target_safety_profile_by_ensemblID`, `gnomad_get_gene_constraints`

### Phase 7: Validation Evidence
- Clinical trials for drug-disease pair
- Literature evidence (PubMed, EuropePMC)
- ADMET predictions if SMILES available
- Pharmacogenomics data
- Tools: `search_clinical_trials`, `get_clinical_trial_descriptions`, `PubMed_search_articles`, `EuropePMC_search_articles`, `ADMETAI_predict_toxicity`, `PharmGKB_get_drug_details`

### Phase 8: Report Generation
- Compute Network Pharmacology Score from components
- Document polypharmacology reasoning (desired vs. promiscuous)
- Generate report using template
- Include completeness checklist

> Full step-by-step code examples: [ANALYSIS_PROCEDURES.md](ANALYSIS_PROCEDURES.md)
> Report template: [REPORT_TEMPLATE.md](REPORT_TEMPLATE.md)

---

## Critical Tool Parameter Notes

- **DrugBank tools**: ALL require `query`, `case_sensitive`, `exact_match`, `limit` (4 params, ALL required)
- **FAERS analytics tools**: ALL require `operation` parameter
- **FAERS count tools**: Use `medicinalproduct` NOT `drug_name`
- **OpenTargets tools**: Return nested `{data: {entity: {field: ...}}}` structure
- **PubMed_search_articles**: Returns plain list of dicts, NOT `{articles: [...]}`
- **ReactomeAnalysis_pathway_enrichment**: Takes space-separated `identifiers` string, NOT array
- **ensembl_lookup_gene**: REQUIRES `species='homo_sapiens'` parameter

> Full tool parameter reference and response structures: [TOOL_REFERENCE.md](TOOL_REFERENCE.md)

---

## Fallback Strategies

When a tool fails, try the next in chain before reporting "no data":

- Compound ID: OpenTargets drug lookup -> ChEMBL search -> PubChem CID lookup
- Target ID: OpenTargets target lookup -> ensembl_lookup_gene -> MyGene_query_genes
- Disease ID: OpenTargets disease lookup -> ols_search_efo_terms -> CTD_get_chemical_diseases
- Drug targets: OpenTargets drug mechanisms -> DrugBank targets -> DGIdb interactions
- Disease targets: OpenTargets disease targets -> CTD gene-diseases -> GWAS associations
- PPI network: STRING interactions -> OpenTargets interactions -> IntAct interactions
- Pathways: ReactomeAnalysis enrichment -> enrichr enrichment -> STRING functional enrichment
- Clinical trials: search_clinical_trials -> ClinicalTrials_search_studies -> PubMed clinical
- Safety: FAERS + FDA -> OpenTargets AEs -> DrugBank safety
- Literature: PubMed search -> EuropePMC search -> OpenTargets publications

---

## Reference Files

- [ANALYSIS_PROCEDURES.md](ANALYSIS_PROCEDURES.md) - Full code examples for each phase
- [REPORT_TEMPLATE.md](REPORT_TEMPLATE.md) - Markdown template for final report output
- [SCORING_REFERENCE.md](SCORING_REFERENCE.md) - Detailed scoring rubric and computation method
- [TOOL_REFERENCE.md](TOOL_REFERENCE.md) - Tool signatures, response structures, troubleshooting
- [USE_PATTERNS.md](USE_PATTERNS.md) - Common analysis patterns and edge case strategies
- [QUICK_START.md](QUICK_START.md) - Quick-start guide with minimal examples

---

## Related Skills

- [tooluniverse-drug-repurposing](../tooluniverse-drug-repurposing/SKILL.md) - Drug repurposing without network analysis
- [tooluniverse-drug-target-validation](../tooluniverse-drug-target-validation/SKILL.md) - Target validation
- [tooluniverse-adverse-event-detection](../tooluniverse-adverse-event-detection/SKILL.md) - Adverse event detection
- [tooluniverse-systems-biology](../tooluniverse-systems-biology/SKILL.md) - Systems biology
- [tooluniverse-protein-interactions](../tooluniverse-protein-interactions/SKILL.md) - Protein interactions

© mims-harvard · Apache-2.0 · mims-harvard/ToolUniverse

Похожие скиллы

Всё по теме «Наука и исследования» →
opentargets-database google-deepmind Скилл даёт агенту доступ к Open Targets Platform через GraphQL: связи ген-болезнь, данные о лекарствах и оценка перспективности мишени. CX Codex +1 2 200установок chembl-database google-deepmind Скилл даёт агенту доступ к базе ChEMBL: молекулы, мишени, биоактивность, одобренные лекарства и поиск по структуре. CX Codex +1 2 200установок bioservices K-Dense-AI Помогает запрашивать биоинформатические базы через библиотеку BioServices в Python. Пригодится при аннотации белков, поиске путей в KEGG и маппинге химических соединений. CX Codex +1 1 900установок database-lookup K-Dense-AI Находит факты в 80 внешних базах данных через API с контролем пагинации и источников. Пригодится, когда научные или финансовые данные нужно подтвердить первоисточником. CX Codex +1 2 100установок target-prioritization Agents365-ai Скилл собирает досье по списку генов-кандидатов из DE-анализа: тянет данные из UniProt, OpenTargets, PubMed, HPA и ChEMBL и пересортировывает гены по составному баллу. CX Codex +1 2 900установок exploratory-data-analysis davila7 Скилл для Claude, который определяет формат научного файла и собирает отчёт о структуре, качестве и дальнейших шагах анализа. 279установок

Из того же набора55

tooluniverse-drug-drug-interaction Разбирает взаимодействия препаратов: механизм, тяжесть, оценка риска и что делать с назначением. Пригодится при полипрагмазии и смене терапии. CX Codex +1 452установок tooluniverse-disease-research Собирает отчёт о болезни по генетике, путям, лекарствам и клиническим испытаниям. Полезен, когда нужен разбор редкого заболевания с источниками. CX Codex +1 437установок tooluniverse-systems-biology Скилл для анализа биологических путей: обогащение по списку генов, связи белков с путями, поиск моделей SBML. Пригодится, когда есть список генов из RNA-seq или протеомики. CX Codex +1 433установок tooluniverse-protein-structure-retrieval Скилл для поиска и оценки качества белковых структур в базах RCSB PDB, PDBe, AlphaFold и SWISS-MODEL. Находит экспериментальные и предсказанные модели для драг-дизайна. CX Codex +1 433установок tooluniverse-precision-oncology Скилл подбирает терапию по мутациям, типу опухоли и биомаркерам: одобренные препараты, клинические испытания, механизмы резистентности. CX Codex +1 424установок tooluniverse-epigenomics Обрабатывает данные метилирования ДНК, модификаций гистонов, ChIP-seq и ATAC-seq. Помогает рассчитывать плотность CpG и строить статистику хроматина без путаницы в строках таблиц. CX Codex +1 422установок tooluniverse-pharmacovigilance Анализирует безопасность лекарств и побочные эффекты по базам FAERS, FDA и SIDER. Помогает рассчитывать метрики сигналов PRR и ROR прямо в терминале. CX Codex +1 420установок tooluniverse-chemical-compound-retrieval Скилл достаёт сведения о химических соединениях из PubChem и ChEMBL: имена, SMILES, InChI, CID, свойства и биоактивность. Пригодится, когда нужно сверить вещество по базам, а не угадывать. CX Codex +1 417установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой