tooluniverse-network-pharmacology
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseNetwork 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.
IMPORTANT: Always use English terms in tool calls (drug names, disease names, target names), even if the user writes in another language. Only try original-language terms as a fallback if English returns no results. Respond in the user's language.
通过系统药理学方法构建并分析化合物-靶点-疾病(C-T-D)网络,以识别药物重定位机会、理解多药理学特征并预测药物作用机制。
重要提示:在工具调用中始终使用英文术语(药物名称、疾病名称、靶点名称),即使用户使用其他语言提问。只有当英文查询无结果时,才尝试使用原语言术语作为备选。请用用户使用的语言回复。
When to Use This Skill
何时使用该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
- Ask about disease module coverage by a compound's targets
NOT for (use other skills instead):
- Simple drug repurposing without network analysis -> Use
tooluniverse-drug-repurposing - Single target validation -> Use
tooluniverse-drug-target-validation - Adverse event detection only -> Use
tooluniverse-adverse-event-detection - General disease research -> Use
tooluniverse-disease-research - GWAS interpretation -> Use
tooluniverse-gwas-snp-interpretation
当用户有以下需求时适用:
- 询问“基于网络分析,[药物]能否被重定位用于治疗[疾病]?”
- 希望理解化合物的多靶点(多药理学)作用
- 需要构建并分析化合物-靶点-疾病网络
- 询问药物靶点与疾病基因之间的网络邻近性
- 希望对药物或靶点进行系统药理学分析
- 询问按网络指标排序的药物重定位候选物
- 需要预测药物在新适应症中的作用机制
- 希望识别疾病网络中的枢纽基因作为治疗靶点
- 询问化合物靶点对疾病模块的覆盖情况
不适用场景(请使用其他Skill):
- 无需网络分析的简单药物重定位 -> 使用
tooluniverse-drug-repurposing - 单靶点验证 -> 使用
tooluniverse-drug-target-validation - 仅检测不良事件 -> 使用
tooluniverse-adverse-event-detection - 一般性疾病研究 -> 使用
tooluniverse-disease-research - GWAS结果解读 -> 使用
tooluniverse-gwas-snp-interpretation
Input Parameters
输入参数
| Parameter | Required | Description | Example |
|---|---|---|---|
| entity | Yes | Compound name/ID, target gene symbol/ID, or disease name/ID | |
| entity_type | No | Type hint: | |
| analysis_mode | No | | |
| secondary_entity | No | Second entity for focused analysis (e.g., disease for compound input) | |
| 参数 | 是否必填 | 描述 | 示例 |
|---|---|---|---|
| entity | 是 | 化合物名称/ID、靶点基因符号/ID或疾病名称/ID | |
| entity_type | 否 | 实体类型提示: | |
| analysis_mode | 否 | 分析模式: | |
| secondary_entity | 否 | 用于聚焦分析的第二个实体(例如,化合物输入对应的疾病) | |
Network Pharmacology Score (0-100)
网络药理学评分(0-100分)
Score Components
评分组成
Network Proximity (0-35 points):
- Strong proximity (Z < -2, p < 0.01): 35 points
- Moderate proximity (Z < -1, p < 0.05): 20 points
- Weak proximity (Z < -0.5): 10 points
- No proximity: 0 points
Clinical Evidence (0-25 points):
- Approved for related indication: 25 points
- Active clinical trials: 15 points
- Completed trials with positive results: 10 points
- Preclinical only: 5 points
Target-Disease Association (0-20 points):
- Strong genetic evidence (GWAS, rare variants): 20 points
- Moderate evidence (pathways, literature): 12 points
- Weak evidence (computational only): 5 points
Safety Profile (0-10 points):
- FDA-approved, favorable safety: 10 points
- Known manageable adverse events: 7 points
- Significant safety concerns: 3 points
- Black box warning relevant to indication: 0 points
Mechanism Plausibility (0-10 points):
- Clear pathway mechanism with functional evidence: 10 points
- Indirect mechanism via network neighbors: 6 points
- Purely computational prediction: 2 points
网络邻近性(0-35分):
- 强邻近性(Z < -2,p < 0.01):35分
- 中等邻近性(Z < -1,p < 0.05):20分
- 弱邻近性(Z < -0.5):10分
- 无邻近性:0分
临床证据(0-25分):
- 已获批用于相关适应症:25分
- 处于活跃临床试验阶段:15分
- 已完成试验且结果阳性:10分
- 仅处于临床前阶段:5分
靶点-疾病关联(0-20分):
- 强遗传证据(GWAS、罕见变异):20分
- 中等证据(通路、文献):12分
- 弱证据(仅计算预测):5分
安全性特征(0-10分):
- 获FDA批准且安全性良好:10分
- 已知可控不良事件:7分
- 存在显著安全性问题:3分
- 有与适应症相关的黑框警告:0分
机制合理性(0-10分):
- 有明确的通路机制及功能证据:10分
- 通过网络邻居实现间接机制:6分
- 仅为计算预测:2分
Priority Tiers
优先级层级
| Score | Tier | Recommendation |
|---|---|---|
| 80-100 | Tier 1 | High repurposing potential - proceed with experimental validation |
| 60-79 | Tier 2 | Good potential - needs mechanistic validation |
| 40-59 | Tier 3 | Moderate potential - high-risk/high-reward, needs extensive validation |
| 0-39 | Tier 4 | Low potential - consider alternative approaches |
| 评分 | 层级 | 建议 |
|---|---|---|
| 80-100 | 层级1 | 重定位潜力高 - 可开展实验验证 |
| 60-79 | 层级2 | 潜力良好 - 需要机制验证 |
| 40-59 | 层级3 | 潜力中等 - 高风险高回报,需大量验证 |
| 0-39 | 层级4 | 潜力低 - 考虑其他方法 |
Evidence Grading System
证据分级系统
| Tier | Symbol | Criteria | Examples |
|---|---|---|---|
| T1 | [T1] | Human clinical proof, regulatory evidence | FDA-approved indication, Phase III trial, patient genomics |
| T2 | [T2] | Functional experimental evidence | Bioactivity data (IC50 < 1 uM), CRISPR screen, animal model |
| T3 | [T3] | Association/computational evidence | GWAS hit, network proximity, pathway enrichment, expression |
| T4 | [T4] | Prediction, annotation, text-mining | AlphaFold prediction, database annotation, literature co-mention |
| 层级 | 符号 | 标准 | 示例 |
|---|---|---|---|
| T1 | [T1] | 人类临床证据、监管机构认可证据 | FDA批准的适应症、III期试验、患者基因组学数据 |
| T2 | [T2] | 功能实验证据 | 生物活性数据(IC50 < 1 uM)、CRISPR筛选、动物模型 |
| T3 | [T3] | 关联/计算证据 | GWAS命中、网络邻近性、通路富集、表达数据 |
| T4 | [T4] | 预测、注释、文本挖掘 | AlphaFold预测、数据库注释、文献共提及 |
KEY PRINCIPLES
核心原则
- Report-first approach - Create report file FIRST, then populate progressively
- Entity disambiguation FIRST - Resolve all identifiers before analysis
- Bidirectional network - Construct C-T-D network comprehensively from both directions
- Network metrics - Calculate proximity, centrality, module overlap quantitatively
- Rank candidates - Prioritize by composite Network Pharmacology Score
- Mechanism prediction - Explain HOW drug could work for disease via network paths
- Clinical feasibility - FDA-approved drugs ranked higher than preclinical
- Safety context - Flag known adverse events and off-target liabilities
- Evidence grading - Grade all evidence T1-T4
- Negative results documented - "No data" is data; empty sections are failures
- Source references - Every finding must cite the source tool/database
- Completeness checklist - Mandatory section at end showing analysis coverage
- 先报告原则 - 先创建报告文件,再逐步填充内容
- 先实体消歧 - 在分析前解析所有标识符
- 双向网络 - 全面从两个方向构建C-T-D网络
- 网络指标 - 定量计算邻近性、中心性、模块重叠度
- 候选物排序 - 按综合网络药理学评分优先排序
- 机制预测 - 通过网络路径解释药物对疾病的潜在作用方式
- 临床可行性 - 已获批药物优先级高于临床前药物
- 安全性背景 - 标记已知不良事件和脱靶风险
- 证据分级 - 所有证据按T1-T4分级
- 记录阴性结果 - “无数据”也是数据;空章节视为失败
- 来源引用 - 所有发现必须引用来源工具/数据库
- 完整性检查清单 - 末尾必须包含分析覆盖情况的检查章节
Complete Workflow
完整工作流
Phase 0: Entity Disambiguation and Report Setup
阶段0:实体消歧与报告设置
Step 0.1: Create the report file immediately.
python
undefined步骤0.1:立即创建报告文件。
python
undefinedCreate report file FIRST
先创建报告文件
report_path = "[entity]_network_pharmacology_report.md"
report_path = "[entity]_network_pharmacology_report.md"
Write header and placeholder sections
写入标题和占位章节
**Step 0.2**: Resolve the input entity to all required identifiers.
```python
from tooluniverse import ToolUniverse
tu = ToolUniverse(use_cache=True)
tu.load_tools()
**步骤0.2**:解析输入实体以获取所有所需标识符。
```python
from tooluniverse import ToolUniverse
tu = ToolUniverse(use_cache=True)
tu.load_tools()=== COMPOUND DISAMBIGUATION ===
=== 化合物消歧 ===
Get ChEMBL ID from drug name
从药物名称获取ChEMBL ID
drug_info = tu.tools.OpenTargets_get_drug_chembId_by_generic_name(
drugName="metformin"
)
drug_info = tu.tools.OpenTargets_get_drug_chembId_by_generic_name(
drugName="metformin"
)
Returns: {data: {search: {hits: [{id: "CHEMBL1431", name: "METFORMIN", ...}]}}}
返回结果: {data: {search: {hits: [{id: "CHEMBL1431", name: "METFORMIN", ...}]}}}
chembl_id = drug_info['data']['search']['hits'][0]['id']
chembl_id = drug_info['data']['search']['hits'][0]['id']
Get drug details (mechanism, indications)
获取药物详情(作用机制、适应症)
drug_desc = tu.tools.OpenTargets_get_drug_id_description_by_name(
drugName="metformin"
)
drug_desc = tu.tools.OpenTargets_get_drug_id_description_by_name(
drugName="metformin"
)
Get DrugBank info
获取DrugBank信息
drugbank_info = tu.tools.drugbank_get_drug_basic_info_by_drug_name_or_id(
query="metformin", case_sensitive=False, exact_match=True, limit=1
)
drugbank_info = tu.tools.drugbank_get_drug_basic_info_by_drug_name_or_id(
query="metformin", case_sensitive=False, exact_match=True, limit=1
)
Returns: {status: "success", data: {drug_name: ..., drugbank_id: ..., ...}}
返回结果: {status: "success", data: {drug_name: ..., drugbank_id: ..., ...}}
Get PubChem CID and SMILES
获取PubChem CID和SMILES
pubchem_cid = tu.tools.PubChem_get_CID_by_compound_name(
name="metformin"
)
pubchem_cid = tu.tools.PubChem_get_CID_by_compound_name(
name="metformin"
)
Returns: {IdentifierList: {CID: [4091]}}
返回结果: {IdentifierList: {CID: [4091]}}
cid = pubchem_cid['IdentifierList']['CID'][0]
cid = pubchem_cid['IdentifierList']['CID'][0]
Get SMILES
获取SMILES
pubchem_props = tu.tools.PubChem_get_compound_properties_by_CID(
cid=cid
)
pubchem_props = tu.tools.PubChem_get_compound_properties_by_CID(
cid=cid
)
Returns: {CID: ..., MolecularWeight: ..., ConnectivitySMILES: ..., IUPACName: ...}
返回结果: {CID: ..., MolecularWeight: ..., ConnectivitySMILES: ..., IUPACName: ...}
=== TARGET DISAMBIGUATION ===
=== 靶点消歧 ===
Get Ensembl ID from gene symbol
从基因符号获取Ensembl ID
target_info = tu.tools.OpenTargets_get_target_id_description_by_name(
targetName="PSEN1"
)
target_info = tu.tools.OpenTargets_get_target_id_description_by_name(
targetName="PSEN1"
)
Returns: {data: {search: {hits: [{id: "ENSG00000080815", name: "PSEN1", ...}]}}}
返回结果: {data: {search: {hits: [{id: "ENSG00000080815", name: "PSEN1", ...}]}}}
ensembl_id = target_info['data']['search']['hits'][0]['id']
ensembl_id = target_info['data']['search']['hits'][0]['id']
Get gene details from Ensembl
从Ensembl获取基因详情
gene_details = tu.tools.ensembl_lookup_gene(
gene_id=ensembl_id, species='homo_sapiens'
)
gene_details = tu.tools.ensembl_lookup_gene(
gene_id=ensembl_id, species='homo_sapiens'
)
Returns: {status: "success", data: {display_name: ..., biotype: ..., ...}}
返回结果: {status: "success", data: {display_name: ..., biotype: ..., ...}}
Get MyGene info for cross-references
获取MyGene信息用于交叉引用
mygene = tu.tools.MyGene_query_genes(query="PSEN1")
mygene = tu.tools.MyGene_query_genes(query="PSEN1")
=== DISEASE DISAMBIGUATION ===
=== 疾病消歧 ===
Get disease ID and description
获取疾病ID和描述
disease_info = tu.tools.OpenTargets_get_disease_id_description_by_name(
diseaseName="Alzheimer disease"
)
disease_info = tu.tools.OpenTargets_get_disease_id_description_by_name(
diseaseName="Alzheimer disease"
)
Returns: {data: {search: {hits: [{id: "MONDO_0004975", name: "Alzheimer disease", ...}]}}}
返回结果: {data: {search: {hits: [{id: "MONDO_0004975", name: "Alzheimer disease", ...}]}}}
disease_id = disease_info['data']['search']['hits'][0]['id']
disease_id = disease_info['data']['search']['hits'][0]['id']
Get disease description
获取疾病描述
disease_desc = tu.tools.OpenTargets_get_disease_description_by_efoId(
efoId=disease_id
)
disease_desc = tu.tools.OpenTargets_get_disease_description_by_efoId(
efoId=disease_id
)
Get cross-references
获取交叉引用
disease_ids = tu.tools.OpenTargets_get_disease_ids_by_efoId(efoId=disease_id)
---disease_ids = tu.tools.OpenTargets_get_disease_ids_by_efoId(efoId=disease_id)
---Phase 1: Network Node Identification
阶段1:网络节点识别
Step 1.1: Identify compound nodes.
python
undefined步骤1.1:识别化合物节点。
python
undefinedGet drug targets and mechanism of action from OpenTargets
从OpenTargets获取药物靶点和作用机制
drug_moa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(
chemblId=chembl_id
)
drug_moa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(
chemblId=chembl_id
)
Returns: {data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction: ..., actionType: ..., targetName: ..., targets: [{id, approvedSymbol}]}]}}}}
返回结果: {data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction: ..., actionType: ..., targetName: ..., targets: [{id, approvedSymbol}]}]}}}}
Get associated targets from OpenTargets
从OpenTargets获取关联靶点
drug_targets_ot = tu.tools.OpenTargets_get_associated_targets_by_drug_chemblId(
chemblId=chembl_id, size=50
)
drug_targets_ot = tu.tools.OpenTargets_get_associated_targets_by_drug_chemblId(
chemblId=chembl_id, size=50
)
Returns: {data: {drug: {linkedTargets: {count: N, rows: [{id, approvedSymbol}]}}}}
返回结果: {data: {drug: {linkedTargets: {count: N, rows: [{id, approvedSymbol}]}}}}
Get targets from DrugBank
从DrugBank获取靶点
drug_targets_db = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id(
query="metformin", case_sensitive=False, exact_match=True, limit=1
)
drug_targets_db = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id(
query="metformin", case_sensitive=False, exact_match=True, limit=1
)
Returns: {status: "success", data: {drug_name: ..., targets: [{id, name, organism, actions}]}}
返回结果: {status: "success", data: {drug_name: ..., targets: [{id, name, organism, actions}]}}
Get drug-gene interactions from DGIdb
从DGIdb获取药物-基因相互作用
dgidb_interactions = tu.tools.DGIdb_get_drug_gene_interactions(
genes=["PSEN1", "APP", "BACE1"] # for disease-to-compound mode
)
dgidb_interactions = tu.tools.DGIdb_get_drug_gene_interactions(
genes=["PSEN1", "APP", "BACE1"] # 适用于疾病到化合物模式
)
Returns: {data: {genes: {nodes: [{name, interactions: [{drug: {name, conceptId}, interactionTypes: [{type}]}]}]}}}
返回结果: {data: {genes: {nodes: [{name, interactions: [{drug: {name, conceptId}, interactionTypes: [{type}]}]}]}}}
Get chemical-gene interactions from CTD
从CTD获取化学-基因相互作用
ctd_genes = tu.tools.CTD_get_chemical_gene_interactions(
input_terms="Metformin"
)
ctd_genes = tu.tools.CTD_get_chemical_gene_interactions(
input_terms="Metformin"
)
Returns: {data: [{ChemicalName, GeneSymbol, InteractionActions, ...}]}
返回结果: {data: [{ChemicalName, GeneSymbol, InteractionActions, ...}]}
Get STITCH chemical-protein interactions
从STITCH获取化学-蛋白质相互作用
stitch_id = tu.tools.STITCH_resolve_identifier(
identifier="metformin", species=9606
)
stitch_id = tu.tools.STITCH_resolve_identifier(
identifier="metformin", species=9606
)
Then query interactions
然后查询相互作用
stitch_interactions = tu.tools.STITCH_get_chemical_protein_interactions(
identifiers=["CIDm000004091"], species=9606
)
stitch_interactions = tu.tools.STITCH_get_chemical_protein_interactions(
identifiers=["CIDm000004091"], species=9606
)
Get current indications
获取当前适应症
drug_indications = tu.tools.OpenTargets_get_drug_indications_by_chemblId(
chemblId=chembl_id, size=50
)
drug_indications = tu.tools.OpenTargets_get_drug_indications_by_chemblId(
chemblId=chembl_id, size=50
)
Returns: {data: {drug: {indications: {rows: [{disease: {id, name}, maxPhaseForIndication, references}]}}}}
返回结果: {data: {drug: {indications: {rows: [{disease: {id, name}, maxPhaseForIndication, references}]}}}}
Check FDA approval status
检查FDA批准状态
fda_approval = tu.tools.OpenTargets_get_drug_approval_status_by_chemblId(
chemblId=chembl_id
)
fda_approval = tu.tools.OpenTargets_get_drug_approval_status_by_chemblId(
chemblId=chembl_id
)
Get associated diseases for drug (all trials/investigations)
获取药物关联的疾病(所有试验/研究)
drug_diseases = tu.tools.OpenTargets_get_associated_diseases_by_drug_chemblId(
chemblId=chembl_id, size=50
)
drug_diseases = tu.tools.OpenTargets_get_associated_diseases_by_drug_chemblId(
chemblId=chembl_id, size=50
)
Returns: {data: {drug: {linkedDiseases: {count: N, rows: [{id, name, description}]}}}}
返回结果: {data: {drug: {linkedDiseases: {count: N, rows: [{id, name, description}]}}}}
**Step 1.2**: Identify target nodes (disease-associated targets).
```python
**步骤1.2**:识别靶点节点(疾病关联靶点)。
```pythonGet disease-associated targets from OpenTargets
从OpenTargets获取疾病关联靶点
disease_targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId(
efoId=disease_id, limit=50
)
disease_targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId(
efoId=disease_id, limit=50
)
Returns: {data: {disease: {associatedTargets: {count: N, rows: [{target: {id, approvedSymbol}, score}]}}}}
返回结果: {data: {disease: {associatedTargets: {count: N, rows: [{target: {id, approvedSymbol}, score}]}}}}
Get disease-target evidence for top targets
获取顶级靶点的靶点-疾病证据
for target in disease_targets['data']['disease']['associatedTargets']['rows'][:10]:
evidence = tu.tools.OpenTargets_target_disease_evidence(
efoId=disease_id,
ensemblId=target['target']['id']
)
for target in disease_targets['data']['disease']['associatedTargets']['rows'][:10]:
evidence = tu.tools.OpenTargets_target_disease_evidence(
efoId=disease_id,
ensemblId=target['target']['id']
)
Get GWAS evidence for targets
获取靶点的GWAS证据
gwas_studies = tu.tools.OpenTargets_search_gwas_studies_by_disease(
diseaseIds=[disease_id], size=20
)
gwas_studies = tu.tools.OpenTargets_search_gwas_studies_by_disease(
diseaseIds=[disease_id], size=20
)
Returns: {data: {studies: {count: N, rows: [...]}}}
返回结果: {data: {studies: {count: N, rows: [...]}}}
Get gene-disease associations from CTD
从CTD获取基因-疾病关联
ctd_diseases = tu.tools.CTD_get_gene_diseases(
input_terms="PSEN1"
)
ctd_diseases = tu.tools.CTD_get_gene_diseases(
input_terms="PSEN1"
)
Get Pharos target info (druggability levels)
获取Pharos靶点信息(成药性水平)
for gene in ["PSEN1", "APP", "BACE1"]:
pharos = tu.tools.Pharos_get_target(target_name=gene)
# Returns target development level (Tclin, Tchem, Tbio, Tdark)
**Step 1.3**: Identify disease nodes and related conditions.
```pythonfor gene in ["PSEN1", "APP", "BACE1"]:
pharos = tu.tools.Pharos_get_target(target_name=gene)
# 返回靶点开发水平(Tclin, Tchem, Tbio, Tdark)
**步骤1.3**:识别疾病节点及相关病症。
```pythonGet related/similar diseases
获取相关/相似疾病
related_diseases = tu.tools.OpenTargets_get_similar_entities_by_disease_efoId(
efoId=disease_id, size=10, threshold=0.5
)
related_diseases = tu.tools.OpenTargets_get_similar_entities_by_disease_efoId(
efoId=disease_id, size=10, threshold=0.5
)
Returns: {data: {disease: {similarEntities: [{id, category, score, object: {id, name}}]}}}
返回结果: {data: {disease: {similarEntities: [{id, category, score, object: {id, name}}]}}}
Get disease hierarchy (children/parents)
获取疾病层级(子/父疾病)
disease_children = tu.tools.OpenTargets_get_disease_descendants_children_by_efoId(
efoId=disease_id
)
disease_parents = tu.tools.OpenTargets_get_disease_ancestors_parents_by_efoId(
efoId=disease_id
)
disease_children = tu.tools.OpenTargets_get_disease_descendants_children_by_efoId(
efoId=disease_id
)
disease_parents = tu.tools.OpenTargets_get_disease_ancestors_parents_by_efoId(
efoId=disease_id
)
Get phenotypes associated with disease
获取疾病相关表型
disease_phenotypes = tu.tools.OpenTargets_get_associated_phenotypes_by_disease_efoId(
efoId=disease_id, size=20
)
disease_phenotypes = tu.tools.OpenTargets_get_associated_phenotypes_by_disease_efoId(
efoId=disease_id, size=20
)
Get therapeutic areas
获取治疗领域
disease_areas = tu.tools.OpenTargets_get_disease_therapeutic_areas_by_efoId(
efoId=disease_id
)
---disease_areas = tu.tools.OpenTargets_get_disease_therapeutic_areas_by_efoId(
efoId=disease_id
)
---Phase 2: Network Edge Construction
阶段2:网络边构建
Step 2.1: Compound-target edges (bioactivity data).
python
undefined步骤2.1:化合物-靶点边(生物活性数据)。
python
undefinedGet ChEMBL bioactivity data for drug targets
从ChEMBL获取药物靶点的生物活性数据
chembl_activities = tu.tools.ChEMBL_get_target_activities(
target_chembl_id__exact="CHEMBL2111455", # example target ChEMBL ID
limit=50
)
chembl_activities = tu.tools.ChEMBL_get_target_activities(
target_chembl_id__exact="CHEMBL2111455", # 示例靶点ChEMBL ID
limit=50
)
Returns activity data with pchembl_value, standard_type (IC50, Ki, etc.)
返回带pchembl_value、standard_type(IC50、Ki等)的活性数据
Search ChEMBL mechanisms (all mechanisms for drug)
搜索ChEMBL中药物的所有作用机制
all_mechanisms = tu.tools.ChEMBL_search_mechanisms(
query="metformin", limit=50
)
all_mechanisms = tu.tools.ChEMBL_search_mechanisms(
query="metformin", limit=50
)
Get DrugBank drug targets with action types
从DrugBank获取带作用类型的药物靶点
db_targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id(
query="metformin", case_sensitive=False, exact_match=True, limit=1
)
db_targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id(
query="metformin", case_sensitive=False, exact_match=True, limit=1
)
Returns: targets with action type (inhibitor, substrate, etc.)
返回结果: 带作用类型(抑制剂、底物等)的靶点列表
Get pharmacology from DrugBank
从DrugBank获取药理学信息
db_pharmacology = tu.tools.drugbank_get_pharmacology_by_drug_name_or_drugbank_id(
query="metformin", case_sensitive=False, exact_match=True, limit=1
)
db_pharmacology = tu.tools.drugbank_get_pharmacology_by_drug_name_or_drugbank_id(
query="metformin", case_sensitive=False, exact_match=True, limit=1
)
Get BindingDB ligands for key targets (if UniProt ID available)
从BindingDB获取关键靶点的配体(若有UniProt ID)
binding_data = tu.tools.BindingDB_get_ligands_by_uniprot(uniprot_accession="P49768")
binding_data = tu.tools.BindingDB_get_ligands_by_uniprot(uniprot_accession="P49768")
**Step 2.2**: Target-disease edges (genetic and functional associations).
```python
**步骤2.2**:靶点-疾病边(遗传和功能关联)。
```pythonGet OpenTargets target-disease evidence
获取OpenTargets的靶点-疾病证据
for target in top_disease_targets[:10]:
td_evidence = tu.tools.OpenTargets_target_disease_evidence(
efoId=disease_id,
ensemblId=target['target']['id']
)
# Returns: evidence across datasources (genetics, pathways, literature, etc.)
for target in top_disease_targets[:10]:
td_evidence = tu.tools.OpenTargets_target_disease_evidence(
efoId=disease_id,
ensemblId=target['target']['id']
)
# 返回:跨数据源的证据(遗传学、通路、文献等)
Get GWAS associations for key genes
获取关键基因的GWAS关联
for gene_symbol in ["PSEN1", "APP", "APOE"]:
gwas_assoc = tu.tools.GWAS_search_associations_by_gene(gene_name=gene_symbol)
for gene_symbol in ["PSEN1", "APP", "APOE"]:
gwas_assoc = tu.tools.GWAS_search_associations_by_gene(gene_name=gene_symbol)
Get gene-disease links from CTD
从CTD获取基因-疾病关联
ctd_gene_diseases = tu.tools.CTD_get_gene_diseases(
input_terms="PSEN1"
)
ctd_gene_diseases = tu.tools.CTD_get_gene_diseases(
input_terms="PSEN1"
)
Get PharmGKB gene details (pharmacogenomics)
从PharmGKB获取基因详情(药物基因组学)
pharmgkb_gene = tu.tools.PharmGKB_get_gene_details(gene_symbol="PSEN1")
**Step 2.3**: Compound-disease edges (clinical evidence).
```pythonpharmgkb_gene = tu.tools.PharmGKB_get_gene_details(gene_symbol="PSEN1")
**步骤2.3**:化合物-疾病边(临床证据)。
```pythonGet clinical trial evidence
获取临床试验证据
trials = tu.tools.search_clinical_trials(
query_term="metformin",
condition="Alzheimer",
pageSize=20
)
trials = tu.tools.search_clinical_trials(
query_term="metformin",
condition="Alzheimer",
pageSize=20
)
Returns: {studies: [{NCT ID, brief_title, brief_summary, ...}]}
返回结果: {studies: [{NCT ID, brief_title, brief_summary, ...}]}
Also search with clinical_trials_search
也可使用clinical_trials_search进行搜索
trials2 = tu.tools.clinical_trials_search(
query="metformin Alzheimer disease",
limit=20
)
trials2 = tu.tools.clinical_trials_search(
query="metformin Alzheimer disease",
limit=20
)
Get CTD chemical-disease associations
从CTD获取化学-疾病关联
ctd_chem_diseases = tu.tools.CTD_get_chemical_diseases(
input_terms="Metformin"
)
ctd_chem_diseases = tu.tools.CTD_get_chemical_diseases(
input_terms="Metformin"
)
Returns: [{ChemicalName, DiseaseName, DirectEvidence: "therapeutic"|"marker/mechanism", ...}]
返回结果: [{ChemicalName, DiseaseName, DirectEvidence: "therapeutic"|"marker/mechanism", ...}]
Literature evidence (PubMed co-mentions)
文献证据(PubMed共提及)
pubmed_results = tu.tools.PubMed_search_articles(
query="metformin Alzheimer disease",
max_results=50
)
pubmed_results = tu.tools.PubMed_search_articles(
query="metformin Alzheimer disease",
max_results=50
)
Returns: list of {pmid, title, authors, journal, pub_date, ...}
返回结果: {pmid, title, authors, journal, pub_date, ...}的列表
Europe PMC search for broader coverage
用Europe PMC搜索以覆盖更多内容
europepmc_results = tu.tools.EuropePMC_search_articles(
query="metformin Alzheimer disease",
limit=50
)
**Step 2.4**: Target-target edges (PPI network).
```pythoneuropepmc_results = tu.tools.EuropePMC_search_articles(
query="metformin Alzheimer disease",
limit=50
)
**步骤2.4**:靶点-靶点边(PPI网络)。
```pythonGet STRING protein-protein interactions
从STRING获取蛋白质-蛋白质相互作用
string_ppi = tu.tools.STRING_get_interaction_partners(
protein_ids=["PSEN1", "APP", "APOE", "BACE1", "MAPT"],
species=9606,
limit=20
)
string_ppi = tu.tools.STRING_get_interaction_partners(
protein_ids=["PSEN1", "APP", "APOE", "BACE1", "MAPT"],
species=9606,
limit=20
)
Returns: {status: "success", data: [{stringId_A, stringId_B, preferredName_A, preferredName_B, score, ...}]}
返回结果: {status: "success", data: [{stringId_A, stringId_B, preferredName_A, preferredName_B, score, ...}]}
Get full STRING network
获取完整STRING网络
string_network = tu.tools.STRING_get_network(
protein_ids=["PSEN1", "APP", "APOE", "BACE1", "MAPT"],
species=9606
)
string_network = tu.tools.STRING_get_network(
protein_ids=["PSEN1", "APP", "APOE", "BACE1", "MAPT"],
species=9606
)
Get IntAct interactions
获取IntAct相互作用
intact_results = tu.tools.intact_search_interactions(
query="PSEN1", max=20
)
intact_results = tu.tools.intact_search_interactions(
query="PSEN1", max=20
)
Get OpenTargets target interactions
获取OpenTargets的靶点相互作用
ot_interactions = tu.tools.OpenTargets_get_target_interactions_by_ensemblID(
ensemblId="ENSG00000080815", # PSEN1
size=20
)
ot_interactions = tu.tools.OpenTargets_get_target_interactions_by_ensemblID(
ensemblId="ENSG00000080815", # PSEN1
size=20
)
Returns: {data: {target: {interactions: {count: N, rows: [{intA, targetA: {id, approvedSymbol}, intB, targetB: {id, approvedSymbol}, score, sourceDatabase}]}}}}
返回结果: {data: {target: {interactions: {count: N, rows: [{intA, targetA: {id, approvedSymbol}, intB, targetB: {id, approvedSymbol}, score, sourceDatabase}]}}}}
HumanBase tissue-specific PPI
HumanBase组织特异性PPI
humanbase_ppi = tu.tools.humanbase_ppi_analysis(
gene_list=["PSEN1", "APP", "APOE", "BACE1", "MAPT"],
tissue="brain",
max_node=50,
interaction="sn",
string_mode="physical"
)
---humanbase_ppi = tu.tools.humanbase_ppi_analysis(
gene_list=["PSEN1", "APP", "APOE", "BACE1", "MAPT"],
tissue="brain",
max_node=50,
interaction="sn",
string_mode="physical"
)
---Phase 3: Network Analysis
阶段3:网络分析
Step 3.1: Network topology analysis (computed from collected data).
Compute from Phase 2 data:
1. Node Degree:
- Count connections per node from STRING + IntAct + OpenTargets interactions
- Drug targets: connections from bioactivity data
- Disease genes: connections from PPI data
2. Hub Identification:
- Nodes with degree > mean + 2*SD are hubs
- Hub genes in disease module = priority therapeutic targets
3. Betweenness Centrality:
- Nodes on shortest paths between drug targets and disease genes
- High betweenness = potential mediating/bridging targets
4. Network Modules:
- Disease module: cluster of disease-associated genes in PPI
- Drug module: cluster of drug target genes in PPI
- Module overlap = direct network relevance
5. Shortest Paths:
- Paths from each drug target to each disease gene via PPI
- Shortest path length < 2 = direct interaction
- Path length 2-3 = close proximity
- Path length > 4 = distant, weaker associationStep 3.2: Network proximity calculation.
Network Proximity Z-score (computed from data):
1. Collect drug target set T_d from Phase 1
2. Collect disease gene set G_d from Phase 1
3. For each drug target t in T_d and disease gene g in G_d:
- Find shortest path d(t,g) in PPI network from Phase 2
4. Compute closest proximity: d_c = mean of min distances
5. Compare against random expectation:
- Sample N random gene sets of same size as T_d
- Compute proximity for each random set
- Z = (d_c - mean_random) / sd_random
6. Z < -2: strong proximity (35 points)
Z < -1: moderate proximity (20 points)
Z < -0.5: weak proximity (10 points)
Z >= -0.5: no proximity (0 points)
Practical computation from STRING/OpenTargets PPI data:
- Count direct interactions between drug targets and disease genes
- Count shared PPI partners (second-degree connections)
- Calculate overlap coefficient = shared_partners / min(degree_t, degree_d)
- Use number of shared pathways as additional proximity metricStep 3.3: Functional enrichment analysis.
python
undefined步骤3.1:网络拓扑分析(从收集的数据计算)。
从阶段2的数据计算:
1. 节点度:
- 从STRING + IntAct + OpenTargets相互作用统计每个节点的连接数
- 药物靶点:从生物活性数据统计连接数
- 疾病基因:从PPI数据统计连接数
2. 枢纽节点识别:
- 度 > 平均值 + 2*标准差的节点为枢纽节点
- 疾病模块中的枢纽基因为优先治疗靶点
3. 介数中心性:
- 位于药物靶点与疾病基因最短路径上的节点
- 高介数 = 潜在介导/桥接靶点
4. 网络模块:
- 疾病模块:PPI中疾病相关基因的聚类
- 药物模块:PPI中药物靶点基因的聚类
- 模块重叠 = 直接网络相关性
5. 最短路径:
- 药物靶点与疾病基因通过PPI的路径
- 最短路径长度 < 2 = 直接相互作用
- 路径长度2-3 = 邻近
- 路径长度 >4 = 距离远,关联弱步骤3.2:网络邻近性计算。
网络邻近性Z值(从数据计算):
1. 从阶段1收集药物靶点集T_d
2. 从阶段1收集疾病基因集G_d
3. 对于每个药物靶点t∈T_d和疾病基因g∈G_d:
- 从阶段2的PPI网络中找到最短路径d(t,g)
4. 计算最近邻近性:d_c = 最小距离的平均值
5. 与随机预期比较:
- 采样N个与T_d大小相同的随机基因集
- 计算每个随机集的邻近性
- Z = (d_c - mean_random) / sd_random
6. Z < -2: 强邻近性(35分)
Z < -1: 中等邻近性(20分)
Z < -0.5: 弱邻近性(10分)
Z >= -0.5: 无邻近性(0分)
从STRING/OpenTargets PPI数据进行实际计算:
- 统计药物靶点与疾病基因之间的直接相互作用数
- 统计共享PPI伙伴数(二级连接)
- 计算重叠系数 = shared_partners / min(degree_t, degree_d)
- 将共享通路数作为额外的邻近性指标步骤3.3:功能富集分析。
python
undefinedSTRING functional enrichment for disease genes
疾病基因的STRING功能富集
disease_gene_symbols = [t['target']['approvedSymbol']
for t in disease_targets['data']['disease']['associatedTargets']['rows'][:20]]
string_enrichment = tu.tools.STRING_functional_enrichment(
protein_ids=disease_gene_symbols,
species=9606
)
disease_gene_symbols = [t['target']['approvedSymbol']
for t in disease_targets['data']['disease']['associatedTargets']['rows'][:20]]
string_enrichment = tu.tools.STRING_functional_enrichment(
protein_ids=disease_gene_symbols,
species=9606
)
STRING PPI enrichment (statistical test for network connectivity)
STRING PPI富集(网络连通性统计检验)
string_ppi_enrich = tu.tools.STRING_ppi_enrichment(
protein_ids=disease_gene_symbols,
species=9606
)
string_ppi_enrich = tu.tools.STRING_ppi_enrichment(
protein_ids=disease_gene_symbols,
species=9606
)
Enrichr pathway analysis
Enrichr通路分析
enrichr_results = tu.tools.enrichr_gene_enrichment_analysis(
gene_list=disease_gene_symbols,
libs=["KEGG_2021_Human", "Reactome_2022", "GO_Biological_Process_2023"]
)
enrichr_results = tu.tools.enrichr_gene_enrichment_analysis(
gene_list=disease_gene_symbols,
libs=["KEGG_2021_Human", "Reactome_2022", "GO_Biological_Process_2023"]
)
Returns enrichment results per library
返回各数据库的富集结果
Reactome pathway enrichment
Reactome通路富集
reactome_enrichment = tu.tools.ReactomeAnalysis_pathway_enrichment(
identifiers=" ".join(disease_gene_symbols)
)
reactome_enrichment = tu.tools.ReactomeAnalysis_pathway_enrichment(
identifiers=" ".join(disease_gene_symbols)
)
Returns: {data: {pathways: [{pathway_id, name, p_value, fdr, entities_found, ...}]}}
返回结果: {data: {pathways: [{pathway_id, name, p_value, fdr, entities_found, ...}]}}
---
---Phase 4: Drug Repurposing Predictions
阶段4:药物重定位预测
Step 4.1: Identify and rank repurposing candidates.
python
undefined步骤4.1:识别并排序重定位候选物。
python
undefinedFor disease-to-compound mode: Find drugs targeting disease genes
疾病到化合物模式:寻找靶向疾病基因的药物
repurposing_candidates = []
for target in disease_targets['data']['disease']['associatedTargets']['rows'][:20]:
gene_symbol = target['target']['approvedSymbol']
ensembl_id = target['target']['id']
target_score = target['score']
# Get drugs from OpenTargets
target_drugs = tu.tools.OpenTargets_get_associated_drugs_by_target_ensemblID(
ensemblId=ensembl_id, size=20
)
# Get drugs from DGIdb
dgidb_drugs = tu.tools.DGIdb_get_drug_gene_interactions(genes=[gene_symbol])
# Get drugs from DrugBank
drugbank_drugs = tu.tools.drugbank_get_drug_name_and_description_by_target_name(
query=gene_symbol, case_sensitive=False, exact_match=False, limit=20
)
# Collect and deduplicate candidates
# Score each by: target_disease_score * drug_target_affinity * approval_statusrepurposing_candidates = []
for target in disease_targets['data']['disease']['associatedTargets']['rows'][:20]:
gene_symbol = target['target']['approvedSymbol']
ensembl_id = target['target']['id']
target_score = target['score']
# 从OpenTargets获取药物
target_drugs = tu.tools.OpenTargets_get_associated_drugs_by_target_ensemblID(
ensemblId=ensembl_id, size=20
)
# 从DGIdb获取药物
dgidb_drugs = tu.tools.DGIdb_get_drug_gene_interactions(genes=[gene_symbol])
# 从DrugBank获取药物
drugbank_drugs = tu.tools.drugbank_get_drug_name_and_description_by_target_name(
query=gene_symbol, case_sensitive=False, exact_match=False, limit=20
)
# 收集并去重候选物
# 按以下指标评分:target_disease_score * drug_target_affinity * approval_statusFor compound-to-disease mode: Already have drug targets, find their diseases
化合物到疾病模式:已获取药物靶点,寻找其关联疾病
for target in drug_targets:
# Get diseases associated with each drug target
target_diseases = tu.tools.OpenTargets_get_diseases_phenotypes_by_target_ensembl(
ensemblId=target['id'], size=20
)
**Step 4.2**: Mechanism prediction for repurposing candidates.
```pythonfor target in drug_targets:
# 获取每个药物靶点的关联疾病
target_diseases = tu.tools.OpenTargets_get_diseases_phenotypes_by_target_ensembl(
ensemblId=target['id'], size=20
)
**步骤4.2**:重定位候选物的机制预测。
```pythonFor each repurposing candidate, trace the network path:
对每个重定位候选物,追踪网络路径:
Drug -> Direct targets -> PPI neighbors -> Disease genes
药物 -> 直接靶点 -> PPI邻居 -> 疾病基因
Get drug mechanism
获取药物作用机制
drug_moa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(
chemblId=candidate_chembl_id
)
drug_moa = tu.tools.OpenTargets_get_drug_mechanisms_of_action_by_chemblId(
chemblId=candidate_chembl_id
)
Get pathways shared between drug targets and disease genes
获取药物靶点与疾病基因共享的通路
drug_target_genes = [t['approvedSymbol'] for t in drug_moa_targets]
combined_genes = list(set(drug_target_genes + disease_gene_symbols[:10]))
drug_target_genes = [t['approvedSymbol'] for t in drug_moa_targets]
combined_genes = list(set(drug_target_genes + disease_gene_symbols[:10]))
Pathway enrichment for combined gene set
联合基因集的通路富集
combined_pathways = tu.tools.ReactomeAnalysis_pathway_enrichment(
identifiers=" ".join(combined_genes)
)
combined_pathways = tu.tools.ReactomeAnalysis_pathway_enrichment(
identifiers=" ".join(combined_genes)
)
Check for specific pathway overlap
检查特定通路重叠
drug_pathways = tu.tools.drugbank_get_pathways_reactions_by_drug_or_id(
query=drug_name, case_sensitive=False, exact_match=True, limit=1
)
---drug_pathways = tu.tools.drugbank_get_pathways_reactions_by_drug_or_id(
query=drug_name, case_sensitive=False, exact_match=True, limit=1
)
---Phase 5: Polypharmacology Analysis
阶段5:多药理学分析
Step 5.1: Multi-target profiling.
python
undefined步骤5.1:多靶点分析。
python
undefinedGet ALL targets of compound (on-targets + off-targets)
获取化合物的所有靶点(主要靶点+脱靶靶点)
From OpenTargets
从OpenTargets获取
all_drug_targets = tu.tools.OpenTargets_get_associated_targets_by_drug_chemblId(
chemblId=chembl_id, size=100
)
all_drug_targets = tu.tools.OpenTargets_get_associated_targets_by_drug_chemblId(
chemblId=chembl_id, size=100
)
From DrugBank (includes enzymes, carriers, transporters)
从DrugBank获取(包括酶、载体、转运蛋白)
db_full_targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id(
query=drug_name, case_sensitive=False, exact_match=True, limit=1
)
db_full_targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id(
query=drug_name, case_sensitive=False, exact_match=True, limit=1
)
From CTD (chemical-gene interactions, includes indirect)
从CTD获取(化学-基因相互作用,包括间接作用)
ctd_interactions = tu.tools.CTD_get_chemical_gene_interactions(
input_terms=drug_name
)
ctd_interactions = tu.tools.CTD_get_chemical_gene_interactions(
input_terms=drug_name
)
Classify targets: primary (mechanism) vs secondary (off-target)
分类靶点:主要(作用机制)vs 次要(脱靶)
Count disease module coverage
统计疾病模块覆盖率
drug_target_set = set(drug_target_genes)
disease_gene_set = set(disease_gene_symbols[:50])
overlap = drug_target_set & disease_gene_set
coverage = len(overlap) / len(disease_gene_set) if disease_gene_set else 0
drug_target_set = set(drug_target_genes)
disease_gene_set = set(disease_gene_symbols[:50])
overlap = drug_target_set & disease_gene_set
coverage = len(overlap) / len(disease_gene_set) if disease_gene_set else 0
Target family analysis
靶点家族分析
for gene in drug_target_genes[:10]:
target_class = tu.tools.OpenTargets_get_target_classes_by_ensemblID(
ensemblId=gene_ensembl_id
)
**Step 5.2**: Selectivity analysis.
```pythonfor gene in drug_target_genes[:10]:
target_class = tu.tools.OpenTargets_get_target_classes_by_ensemblID(
ensemblId=gene_ensembl_id
)
**步骤5.2**:选择性分析。
```pythonGet target druggability and development levels
获取靶点成药性和开发水平
for gene in drug_target_genes[:10]:
# DGIdb druggability
druggability = tu.tools.DGIdb_get_gene_druggability(genes=[gene])
# Pharos target development level
pharos_info = tu.tools.Pharos_get_target(target_name=gene)
# Tclin = known drug targets, Tchem = has chemical tools, Tbio = has biology, Tdark = dark target
# OpenTargets tractability
tractability = tu.tools.OpenTargets_get_target_tractability_by_ensemblID(
ensemblId=gene_ensembl_id
)
---for gene in drug_target_genes[:10]:
# DGIdb成药性
druggability = tu.tools.DGIdb_get_gene_druggability(genes=[gene])
# Pharos靶点开发水平
pharos_info = tu.tools.Pharos_get_target(target_name=gene)
# Tclin = 已知药物靶点, Tchem = 有化学工具, Tbio = 有生物学研究, Tdark = 未知靶点
# OpenTargets可成药性
tractability = tu.tools.OpenTargets_get_target_tractability_by_ensemblID(
ensemblId=gene_ensembl_id
)
---Phase 6: Safety and Toxicity Context
阶段6:安全性与毒性背景
Step 6.1: Adverse event profiling.
python
undefined步骤6.1:不良事件分析。
python
undefinedGet FAERS adverse event data
获取FAERS不良事件数据
faers_ae = tu.tools.FAERS_search_reports_by_drug_and_reaction(
drug_name=drug_name, limit=100
)
faers_ae = tu.tools.FAERS_search_reports_by_drug_and_reaction(
drug_name=drug_name, limit=100
)
Get serious events
获取严重事件
faers_serious = tu.tools.FAERS_filter_serious_events(
operation="filter_serious_events",
drug_name=drug_name,
seriousness_type="all"
)
faers_serious = tu.tools.FAERS_filter_serious_events(
operation="filter_serious_events",
drug_name=drug_name,
seriousness_type="all"
)
Get death reports
获取死亡报告
faers_death = tu.tools.FAERS_count_death_related_by_drug(
medicinalproduct=drug_name
)
faers_death = tu.tools.FAERS_count_death_related_by_drug(
medicinalproduct=drug_name
)
Returns: [{term: "alive", count: N}, {term: "death", count: N}]
返回结果: [{term: "alive", count: N}, {term: "death", count: N}]
Calculate disproportionality for key AEs
计算关键不良事件的不相称性
faers_signal = tu.tools.FAERS_calculate_disproportionality(
operation="calculate_disproportionality",
drug_name=drug_name,
adverse_event="lactic acidosis" # example
)
faers_signal = tu.tools.FAERS_calculate_disproportionality(
operation="calculate_disproportionality",
drug_name=drug_name,
adverse_event="lactic acidosis" # 示例
)
Returns: {metrics: {PRR: {value, ci_95_lower, ci_95_upper}, ROR: {...}}, signal_detection: {signal_detected, signal_strength}}
返回结果: {metrics: {PRR: {value, ci_95_lower, ci_95_upper}, ROR: {...}}, signal_detection: {signal_detected, signal_strength}}
Get FDA warnings
获取FDA警告
fda_warnings = tu.tools.FDA_get_warnings_and_cautions_by_drug_name(
drug_name=drug_name
)
fda_warnings = tu.tools.FDA_get_warnings_and_cautions_by_drug_name(
drug_name=drug_name
)
Get black box warning status
获取黑框警告状态
bbox_warning = tu.tools.OpenTargets_get_drug_blackbox_status_by_chembl_ID(
chemblId=chembl_id
)
bbox_warning = tu.tools.OpenTargets_get_drug_blackbox_status_by_chembl_ID(
chemblId=chembl_id
)
Get drug adverse events from OpenTargets
从OpenTargets获取药物不良事件
ot_ae = tu.tools.OpenTargets_get_drug_adverse_events_by_chemblId(
chemblId=chembl_id
)
ot_ae = tu.tools.OpenTargets_get_drug_adverse_events_by_chemblId(
chemblId=chembl_id
)
Returns: {data: {drug: {adverseEvents: {count, rows: [{name, meddraCode, count, logLR}]}}}}
返回结果: {data: {drug: {adverseEvents: {count, rows: [{name, meddraCode, count, logLR}]}}}}
Get drug warnings from OpenTargets
从OpenTargets获取药物警告
drug_warnings = tu.tools.OpenTargets_get_drug_warnings_by_chemblId(
chemblId=chembl_id
)
**Step 6.2**: Target safety profiling.
```pythondrug_warnings = tu.tools.OpenTargets_get_drug_warnings_by_chemblId(
chemblId=chembl_id
)
**步骤6.2**:靶点安全性分析。
```pythonFor each drug target, assess safety
对每个药物靶点评估安全性
for target_ensembl_id in drug_target_ensembl_ids[:10]:
# OpenTargets target safety profile
safety = tu.tools.OpenTargets_get_target_safety_profile_by_ensemblID(
ensemblId=target_ensembl_id
)
# Gene constraint (is target essential?)
constraints = tu.tools.gnomad_get_gene_constraints(gene_symbol=gene_symbol)
# High pLI (>0.9) = loss-of-function intolerant = essential gene = safety concern
# Expression pattern (broadly expressed = more off-target risk)
expression = tu.tools.HPA_get_rna_expression_by_source(
gene_name=gene_symbol,
source_type="tissue",
source_name="brain"
)
---for target_ensembl_id in drug_target_ensembl_ids[:10]:
# OpenTargets靶点安全性特征
safety = tu.tools.OpenTargets_get_target_safety_profile_by_ensemblID(
ensemblId=target_ensembl_id
)
# 基因约束(靶点是否必需?)
constraints = tu.tools.gnomad_get_gene_constraints(gene_symbol=gene_symbol)
# 高pLI (>0.9) = 功能缺失不耐受 = 必需基因 = 安全性风险
# 表达模式(广泛表达 = 脱靶风险更高)
expression = tu.tools.HPA_get_rna_expression_by_source(
gene_name=gene_symbol,
source_type="tissue",
source_name="brain"
)
---Phase 7: Validation Evidence
阶段7:验证证据
Step 7.1: Clinical precedent.
python
undefined步骤7.1:临床先例。
python
undefinedSearch clinical trials for drug + disease combination
搜索药物+疾病组合的临床试验
trials = tu.tools.search_clinical_trials(
query_term=drug_name,
condition=disease_name,
pageSize=20
)
trials = tu.tools.search_clinical_trials(
query_term=drug_name,
condition=disease_name,
pageSize=20
)
Get trial details for each match
获取每个匹配试验的详情
for trial in trials.get('studies', [])[:5]:
nct_id = trial['NCT ID']
trial_details = tu.tools.clinical_trials_get_details(nct_id=nct_id)
trial_outcomes = tu.tools.extract_clinical_trial_outcomes(nct_id=nct_id)
trial_ae = tu.tools.extract_clinical_trial_adverse_events(nct_id=nct_id)
for trial in trials.get('studies', [])[:5]:
nct_id = trial['NCT ID']
trial_details = tu.tools.clinical_trials_get_details(nct_id=nct_id)
trial_outcomes = tu.tools.extract_clinical_trial_outcomes(nct_id=nct_id)
trial_ae = tu.tools.extract_clinical_trial_adverse_events(nct_id=nct_id)
Check approved indications
检查已批准适应症
approved = tu.tools.OpenTargets_get_approved_indications_by_drug_chemblId(
chemblId=chembl_id
)
approved = tu.tools.OpenTargets_get_approved_indications_by_drug_chemblId(
chemblId=chembl_id
)
Returns: {data: {drug: {approvedIndications: ["EFO_XXXXX", ...]}}}
返回结果: {data: {drug: {approvedIndications: ["EFO_XXXXX", ...]}}}
**Step 7.2**: Literature evidence.
```python
**步骤7.2**:文献证据。
```pythonPubMed search for drug-disease co-mentions
PubMed搜索药物-疾病共提及文献
pubmed_evidence = tu.tools.PubMed_search_articles(
query=f"{drug_name} {disease_name} repurposing OR repositioning OR network pharmacology",
max_results=50
)
pubmed_evidence = tu.tools.PubMed_search_articles(
query=f"{drug_name} {disease_name} repurposing OR repositioning OR network pharmacology",
max_results=50
)
Returns: list of {pmid, title, authors, journal, pub_date, ...}
返回结果: {pmid, title, authors, journal, pub_date, ...}的列表
Europe PMC with broader scope
用Europe PMC扩大搜索范围
europepmc_evidence = tu.tools.EuropePMC_search_articles(
query=f"{drug_name} {disease_name}",
limit=50
)
europepmc_evidence = tu.tools.EuropePMC_search_articles(
query=f"{drug_name} {disease_name}",
limit=50
)
OpenTargets publications for drug
从OpenTargets获取药物相关出版物
ot_drug_pubs = tu.tools.OpenTargets_get_publications_by_drug_chemblId(
chemblId=chembl_id, size=20
)
ot_drug_pubs = tu.tools.OpenTargets_get_publications_by_drug_chemblId(
chemblId=chembl_id, size=20
)
OpenTargets publications for disease
从OpenTargets获取疾病相关出版物
ot_disease_pubs = tu.tools.OpenTargets_get_publications_by_disease_efoId(
efoId=disease_id, size=20
)
ot_disease_pubs = tu.tools.OpenTargets_get_publications_by_disease_efoId(
efoId=disease_id, size=20
)
Get guideline searches
搜索指南
guidelines = tu.tools.PubMed_Guidelines_Search(query=f"{drug_name} {disease_name}")
**Step 7.3**: Experimental evidence.
```pythonguidelines = tu.tools.PubMed_Guidelines_Search(query=f"{drug_name} {disease_name}")
**步骤7.3**:实验证据。
```pythonChEMBL bioactivity data
ChEMBL生物活性数据
chembl_bioactivity = tu.tools.ChEMBL_search_drugs(
query=drug_name, limit=10
)
chembl_bioactivity = tu.tools.ChEMBL_search_drugs(
query=drug_name, limit=10
)
Check ADMET predictions (for novel formulation contexts)
检查ADMET预测(针对新制剂场景)
if smiles:
admet = tu.tools.ADMETAI_predict_toxicity(smiles=[smiles])
bbb = tu.tools.ADMETAI_predict_BBB_penetrance(smiles=[smiles])
bioavail = tu.tools.ADMETAI_predict_bioavailability(smiles=[smiles])
if smiles:
admet = tu.tools.ADMETAI_predict_toxicity(smiles=[smiles])
bbb = tu.tools.ADMETAI_predict_BBB_penetrance(smiles=[smiles])
bioavail = tu.tools.ADMETAI_predict_bioavailability(smiles=[smiles])
PharmGKB pharmacogenomics data
PharmGKB药物基因组学数据
pharmgkb_drug = tu.tools.PharmGKB_get_drug_details(drug_name=drug_name)
pharmgkb_clin = tu.tools.PharmGKB_get_clinical_annotations(query=drug_name)
---pharmgkb_drug = tu.tools.PharmGKB_get_drug_details(drug_name=drug_name)
pharmgkb_clin = tu.tools.PharmGKB_get_clinical_annotations(query=drug_name)
---Phase 8: Report Generation
阶段8:报告生成
Step 8.1: Compute Network Pharmacology Score.
Score Calculation:
1. Network Proximity Score (0-35):
- Count direct drug target <-> disease gene interactions in PPI
- Count shared PPI partners
- Count shared pathways
- Map to Z-score equivalent based on overlap significance
2. Clinical Evidence Score (0-25):
- Search clinical trials for drug-disease pair
- Check approved indications for related diseases
- Check max clinical trial phase
3. Target-Disease Association Score (0-20):
- Average OpenTargets association score for drug targets in disease
- Weight by evidence type (genetic > functional > computational)
4. Safety Score (0-10):
- FDA approval status (+5)
- Black box warning (-3)
- Death reports proportion
- Off-target count penalty
5. Mechanism Plausibility Score (0-10):
- Known mechanism for related indication (+5)
- Pathway evidence (+3)
- Network path length to disease module (+2)
Total: sum of components (0-100)Step 8.2: Generate comprehensive report.
markdown
undefined步骤8.1:计算网络药理学评分。
评分计算:
1. 网络邻近性评分(0-35):
- 统计PPI中药物靶点<->疾病基因的直接相互作用数
- 统计共享PPI伙伴数
- 统计共享通路数
- 根据重叠显著性映射到等效Z值
2. 临床证据评分(0-25):
- 搜索药物-疾病对的临床试验
- 检查相关疾病的已批准适应症
- 检查最高临床试验阶段
3. 靶点-疾病关联评分(0-20):
- 药物靶点在疾病中的平均OpenTargets关联评分
- 按证据类型加权(遗传>功能>计算)
4. 安全性评分(0-10):
- FDA批准状态(+5)
- 黑框警告(-3)
- 死亡报告比例
- 脱靶数量惩罚
5. 机制合理性评分(0-10):
- 相关适应症的已知作用机制(+5)
- 通路证据(+3)
- 到疾病模块的网络路径长度(+2)
总分:各部分得分之和(0-100)步骤8.2:生成综合报告。
markdown
undefinedNetwork Pharmacology Analysis: [Entity]
网络药理学分析:[实体]
Executive Summary
执行摘要
[2-3 sentence summary of key findings]
[2-3句话总结关键发现]
Network Pharmacology Score: [X]/100 - [Tier]
网络药理学评分: [X]/100 - [层级]
| Component | Score | Max | Evidence |
|---|---|---|---|
| Network Proximity | X | 35 | [summary] |
| Clinical Evidence | X | 25 | [summary] |
| Target-Disease Association | X | 20 | [summary] |
| Safety Profile | X | 10 | [summary] |
| Mechanism Plausibility | X | 10 | [summary] |
| TOTAL | X | 100 |
| 组成部分 | 得分 | 满分 | 证据 |
|---|---|---|---|
| 网络邻近性 | X | 35 | [摘要] |
| 临床证据 | X | 25 | [摘要] |
| 靶点-疾病关联 | X | 20 | [摘要] |
| 安全性特征 | X | 10 | [摘要] |
| 机制合理性 | X | 10 | [摘要] |
| 总分 | X | 100 |
1. Entity Profile
1. 实体特征
Compound: [Name]
化合物: [名称]
- ChEMBL ID: [ID]
- DrugBank ID: [ID]
- SMILES: [SMILES]
- Mechanism: [MOA]
- Approval status: [status]
- Current indications: [list]
- ChEMBL ID: [ID]
- DrugBank ID: [ID]
- SMILES: [SMILES]
- 作用机制: [MOA]
- 批准状态: [状态]
- 当前适应症: [列表]
Disease: [Name]
疾病: [名称]
- MONDO/EFO ID: [ID]
- Description: [brief]
- Top associated targets: [list with scores]
- Related diseases: [list]
- MONDO/EFO ID: [ID]
- 描述: [简介]
- 顶级关联靶点: [带评分的列表]
- 相关疾病: [列表]
2. Network Topology Summary
2. 网络拓扑摘要
- Total nodes: X (Y compounds, Z targets, W diseases)
- Total edges: X (Y C-T, Z T-D, W C-D, V T-T)
- Network density: X
- Hub nodes: [list of top hub genes]
- Modules detected: X
- 总节点数: X(Y个化合物,Z个靶点,W个疾病)
- 总边数: X(Y个C-T边,Z个T-D边,W个C-D边,V个T-T边)
- 网络密度: X
- 枢纽节点: [顶级枢纽基因列表]
- 检测到的模块数: X
Drug Target Module
药物靶点模块
[List drug targets with degree and betweenness]
[带度和介数的药物靶点列表]
Disease Gene Module
疾病基因模块
[List disease genes with degree and betweenness]
[带度和介数的疾病基因列表]
Module Overlap
模块重叠
[Shared genes, shared pathways, overlap coefficient]
[共享基因、共享通路、重叠系数]
3. Network Proximity
3. 网络邻近性
- Proximity measure: [metric used]
- Z-score: [value]
- Direct interactions: X drug target-disease gene pairs
- Shared PPI partners: X genes
- Shared pathways: X pathways
- Interpretation: [strong/moderate/weak proximity]
- 邻近性指标: [使用的指标]
- Z值: [数值]
- 直接相互作用: X个药物靶点-疾病基因对
- 共享PPI伙伴: X个基因
- 共享通路: X个通路
- 解读: [强/中等/弱邻近性]
4. Top Repurposing Candidates (Ranked)
4. 顶级重定位候选物(排序后)
Candidate 1: [Drug Name] - Score: X/100
候选物1: [药物名称] - 评分: X/100
ChEMBL ID: [ID] | Status: [Approved/Clinical/Preclinical]
Current indications: [list]
Network path: Drug -> [target1, target2] -> [PPI] -> [disease gene1, gene2]
Mechanism prediction: [how drug could work for disease]
Clinical evidence: [trials, literature]
Safety: [key concerns]
Evidence grade: [T1-T4]
[Repeat for top 10 candidates]
ChEMBL ID: [ID] | 状态: [已获批/临床阶段/临床前]
当前适应症: [列表]
网络路径: 药物 -> [target1, target2] -> [PPI] -> [disease gene1, gene2]
机制预测: [药物对疾病的潜在作用方式]
临床证据: [试验、文献]
安全性: [关键风险]
证据等级: [T1-T4]
[重复前10个候选物]
5. Polypharmacology Profile
5. 多药理学特征
Target Coverage
靶点覆盖
- Total drug targets: X
- Disease module targets hit: Y (Z%)
- Primary targets: [list with actions]
- Off-targets: [list with potential effects]
- 总药物靶点: X
- 命中的疾病模块靶点: Y(Z%)
- 主要靶点: [带作用类型的列表]
- 脱靶靶点: [带潜在作用的列表]
Multi-Target Effects
多靶点作用
[Analysis of synergistic vs antagonistic target modulation]
[协同vs拮抗靶点调控的分析]
Disease Module Coverage
疾病模块覆盖
[How well drug targets cover the disease network]
[药物靶点对疾病网络的覆盖情况]
6. Pathway Analysis
6. 通路分析
Drug-Affected Pathways
药物影响的通路
[Ranked list of pathways affected by drug]
[按优先级排序的药物影响通路列表]
Disease-Associated Pathways
疾病关联通路
[Ranked list of pathways associated with disease]
[按优先级排序的疾病关联通路列表]
Overlapping Pathways (Mechanism)
重叠通路(机制)
[Pathways shared between drug and disease - these explain the mechanism]
[药物与疾病共享的通路 - 解释作用机制]
7. Safety Considerations
7. 安全性考虑
Adverse Events
不良事件
[Top AEs with PRR/ROR where available]
[带PRR/ROR的顶级不良事件(若有)]
Target Safety Flags
靶点安全性标记
[Targets with known safety liabilities]
[已知安全风险的靶点]
Off-Target Risks
脱靶风险
[Off-targets in critical tissues]
[关键组织中的脱靶靶点]
Drug-Drug Interaction Context
药物-药物相互作用背景
[Key DDI considerations]
[关键DDI注意事项]
8. Clinical Precedent
8. 临床先例
Clinical Trials
临床试验
[List of relevant trials with NCT IDs and status]
[相关试验列表,含NCT ID和状态]
Literature Evidence
文献证据
[Key publications supporting or refuting repurposing hypothesis]
- N papers found for [drug] + [disease]
- Key findings: [summary]
[支持或反驳重定位假设的关键出版物]
- 找到[药物]+[疾病]相关文献N篇
- 关键发现: [摘要]
Pharmacogenomics
药物基因组学
[Relevant PGx data]
[相关PGx数据]
9. Evidence Summary Table
9. 证据摘要表
| Finding | Source | Evidence Grade | Confidence |
|---|---|---|---|
| [finding1] | [tool/database] | [T1-T4] | [High/Medium/Low] |
| ... | ... | ... | ... |
| 发现 | 来源 | 证据等级 | 置信度 |
|---|---|---|---|
| [发现1] | [工具/数据库] | [T1-T4] | [高/中/低] |
| ... | ... | ... | ... |
10. Recommendations
10. 建议
Immediate Actions
立即行动
- [Action 1 - e.g., review clinical trial NCT00620191]
- [Action 2 - e.g., validate mechanism in cell model]
- [行动1 - 例如,查看临床试验NCT00620191]
- [行动2 - 例如,在细胞模型中验证机制]
Further Investigation
进一步研究
- [Investigation 1]
- [Investigation 2]
- [研究方向1]
- [研究方向2]
Risk Mitigation
风险缓解
- [Risk 1 and mitigation strategy]
- [风险1及缓解策略]
Completeness Checklist
完整性检查清单
| Phase | Status | Tools Used | Key Findings |
|---|---|---|---|
| Entity Disambiguation | Done/Partial/Failed | [tools] | [summary] |
| Compound Node ID | Done/Partial/Failed | [tools] | [summary] |
| Target Node ID | Done/Partial/Failed | [tools] | [summary] |
| Disease Node ID | Done/Partial/Failed | [tools] | [summary] |
| C-T Edges | Done/Partial/Failed | [tools] | [summary] |
| T-D Edges | Done/Partial/Failed | [tools] | [summary] |
| C-D Edges | Done/Partial/Failed | [tools] | [summary] |
| T-T Edges (PPI) | Done/Partial/Failed | [tools] | [summary] |
| Network Topology | Done/Partial/Failed | [computed] | [summary] |
| Network Proximity | Done/Partial/Failed | [computed] | [summary] |
| Pathway Enrichment | Done/Partial/Failed | [tools] | [summary] |
| Repurposing Candidates | Done/Partial/Failed | [tools] | [summary] |
| Mechanism Prediction | Done/Partial/Failed | [analysis] | [summary] |
| Polypharmacology | Done/Partial/Failed | [tools] | [summary] |
| Safety/Toxicity | Done/Partial/Failed | [tools] | [summary] |
| Clinical Precedent | Done/Partial/Failed | [tools] | [summary] |
| Literature Evidence | Done/Partial/Failed | [tools] | [summary] |
| Report Generation | Done/Partial/Failed | - | [summary] |
---| 阶段 | 状态 | 使用工具 | 关键发现 |
|---|---|---|---|
| 实体消歧 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 化合物节点识别 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 靶点节点识别 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 疾病节点识别 | 已完成/部分完成/失败 | [工具] | [摘要] |
| C-T边构建 | 已完成/部分完成/失败 | [工具] | [摘要] |
| T-D边构建 | 已完成/部分完成/失败 | [工具] | [摘要] |
| C-D边构建 | 已完成/部分完成/失败 | [工具] | [摘要] |
| T-T边构建(PPI) | 已完成/部分完成/失败 | [工具] | [摘要] |
| 网络拓扑分析 | 已完成/部分完成/失败 | [计算] | [摘要] |
| 网络邻近性计算 | 已完成/部分完成/失败 | [计算] | [摘要] |
| 通路富集分析 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 重定位候选物识别 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 机制预测 | 已完成/部分完成/失败 | [分析] | [摘要] |
| 多药理学分析 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 安全性/毒性分析 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 临床先例验证 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 文献证据收集 | 已完成/部分完成/失败 | [工具] | [摘要] |
| 报告生成 | 已完成/部分完成/失败 | - | [摘要] |
---Tool Parameter Reference (Verified)
工具参数参考(已验证)
Compound Identification
化合物识别
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | |
| | |
| | |
| | |
| | |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | |
| | |
| | |
| | |
| | |
Target Identification
靶点识别
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | |
| | Gene info with cross-references |
| | Target with development level |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | |
| | 带交叉引用的基因信息 |
| | 带开发水平的靶点信息 |
Disease Identification
疾病识别
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | |
| | Disease cross-references |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | |
| | 疾病交叉引用 |
Network Edges
网络边
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | Network data |
| | Enrichment results |
| | PPI enrichment statistics |
| | |
| | Interaction data |
| | Tissue-specific PPI |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | 网络数据 |
| | 富集结果 |
| | PPI富集统计 |
| | |
| | 相互作用数据 |
| | 组织特异性PPI |
Drug-Target Edges
药物-靶点边
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | |
| | |
| | |
| | |
| | Activity data with pchembl_value |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | |
| | |
| | |
| | |
| | 带pchembl_value的活性数据 |
Target-Disease Edges
靶点-疾病边
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | Evidence data across datasources |
| | |
| | GWAS association data |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | 跨数据源的证据数据 |
| | |
| | GWAS关联数据 |
Drug-Disease Edges
药物-疾病边
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | |
| | |
| | |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | |
| | |
| | |
Pathway Analysis
通路分析
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | Enrichment per library |
| | Pathway data |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | 各数据库的富集结果 |
| | 通路数据 |
Safety Tools
安全性工具
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | |
| | Serious event data |
| | |
| | |
| | Drug warning data |
| | Target safety data |
| | Gene constraint (pLI, LOEUF) |
| | FDA warning text |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | 严重事件数据 |
| | |
| | |
| | 药物警告数据 |
| | 靶点安全性数据 |
| | 基因约束(pLI, LOEUF) |
| | FDA警告文本 |
Literature Tools
文献工具
| Tool | Key Parameters | Response Structure |
|---|---|---|
| | list of |
| | Article list |
| | Publication data |
| 工具 | 关键参数 | 响应结构 |
|---|---|---|
| | |
| | 文章列表 |
| | 出版物数据 |
Response Format Notes
响应格式说明
DrugBank tools: ALL require , , , (4 params, ALL required).
querycase_sensitiveexact_matchlimitFAERS analytics tools (disproportionality, compare, filter, stratify, rollup, trends): ALL require parameter.
operationFAERS count tools (count_death, count_reactions, etc.): Use NOT .
medicinalproductdrug_nameOpenTargets tools: Return nested structure.
{data: {entity: {field: ...}}}PubMed_search_articles: Returns plain list of dicts, NOT .
{articles: [...]}PubChem CID lookup: Returns (NO data wrapper).
{IdentifierList: {CID: [...]}}ReactomeAnalysis_pathway_enrichment: Takes space-separated string, NOT array.
identifiersensembl_lookup_gene: REQUIRES parameter.
species='homo_sapiens'STRING tools: Return .
{status: "success", data: [...]}CTD tools: Return with potentially large result sets.
{data: [...]}DrugBank工具:全部需要、、、这4个参数,缺一不可。
querycase_sensitiveexact_matchlimitFAERS分析工具(disproportionality、compare、filter、stratify、rollup、trends):全部需要参数。
operationFAERS计数工具(count_death、count_reactions等):使用而非。
medicinalproductdrug_nameOpenTargets工具:返回嵌套的结构。
{data: {entity: {field: ...}}}PubMed_search_articles:返回纯字典列表,而非。
{articles: [...]}PubChem CID查询:返回(无data包装)。
{IdentifierList: {CID: [...]}}ReactomeAnalysis_pathway_enrichment:接受空格分隔的字符串,而非数组。
identifiersensembl_lookup_gene:必填参数。
species='homo_sapiens'STRING工具:返回。
{status: "success", data: [...]}CTD工具:返回,结果集可能较大。
{data: [...]}Fallback Strategies
备选策略
| Phase | Primary Tool | Fallback 1 | Fallback 2 |
|---|---|---|---|
| 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 | clinical_trials_search | PubMed clinical |
| Safety | FAERS + FDA | OpenTargets AEs | DrugBank safety |
| Literature | PubMed search | EuropePMC search | OpenTargets publications |
| 阶段 | 主要工具 | 备选1 | 备选2 |
|---|---|---|---|
| 化合物识别 | OpenTargets药物查询 | ChEMBL搜索 | PubChem CID查询 |
| 靶点识别 | OpenTargets靶点查询 | ensembl_lookup_gene | MyGene_query_genes |
| 疾病识别 | OpenTargets疾病查询 | ols_search_efo_terms | CTD_get_chemical_diseases |
| 药物靶点 | OpenTargets药物作用机制 | DrugBank靶点 | DGIdb相互作用 |
| 疾病靶点 | OpenTargets疾病靶点 | CTD基因-疾病 | GWAS关联 |
| PPI网络 | STRING相互作用 | OpenTargets相互作用 | IntAct相互作用 |
| 通路分析 | ReactomeAnalysis富集 | enrichr富集 | STRING功能富集 |
| 临床试验 | search_clinical_trials | clinical_trials_search | PubMed临床 |
| 安全性 | FAERS + FDA | OpenTargets不良事件 | DrugBank安全性 |
| 文献 | PubMed搜索 | EuropePMC搜索 | OpenTargets出版物 |
Common Use Patterns
常见使用模式
Pattern 1: Drug Repurposing via Network Proximity
模式1:基于网络邻近性的药物重定位
Input: compound (metformin) + disease (Alzheimer disease)
Mode: compound-to-disease
Flow:
1. Resolve metformin -> CHEMBL1431, DB00331, CID:4091
2. Get metformin targets (OpenTargets, DrugBank, DGIdb)
3. Get Alzheimer disease genes (OpenTargets, GWAS)
4. Build PPI network (STRING, OpenTargets interactions)
5. Calculate proximity between drug targets and disease genes
6. Score and rank by Network Pharmacology Score
7. Predict mechanism via shared pathways
8. Validate with clinical trials and literature输入:化合物(metformin)+ 疾病(Alzheimer disease)
模式:compound-to-disease
流程:
1. 解析metformin -> CHEMBL1431, DB00331, CID:4091
2. 获取metformin靶点(OpenTargets、DrugBank、DGIdb)
3. 获取阿尔茨海默病基因(OpenTargets、GWAS)
4. 构建PPI网络(STRING、OpenTargets相互作用)
5. 计算药物靶点与疾病基因的邻近性
6. 按网络药理学评分排序
7. 通过共享通路预测机制
8. 用临床试验和文献验证Pattern 2: Disease-Driven Drug Discovery
模式2:疾病驱动的药物发现
Input: disease (lupus)
Mode: disease-to-compound
Flow:
1. Resolve lupus -> MONDO/EFO ID
2. Get disease-associated targets (top 50)
3. For each target, find approved drugs (OpenTargets, DGIdb, DrugBank)
4. Build C-T-D network from all drug-target-disease edges
5. Rank drugs by: number of disease targets hit, network proximity, safety
6. Identify polypharmacology advantages (drugs hitting multiple disease targets)输入:疾病(lupus)
模式:disease-to-compound
流程:
1. 解析lupus -> MONDO/EFO ID
2. 获取疾病关联靶点(前50个)
3. 为每个靶点寻找已获批药物(OpenTargets、DGIdb、DrugBank)
4. 从所有药物-靶点-疾病边构建C-T-D网络
5. 按以下指标排序药物:命中疾病靶点数量、网络邻近性、安全性
6. 识别多药理学优势(命中多个疾病靶点的药物)Pattern 3: Target-Centric Network
模式3:靶点中心网络
Input: target (EGFR)
Mode: target-centric
Flow:
1. Resolve EGFR -> ENSG00000146648
2. Get all compounds targeting EGFR (with bioactivity)
3. Get all diseases associated with EGFR
4. Build PPI network around EGFR
5. Identify which compounds could bridge to which diseases
6. Rank compound-disease pairs by network metrics输入:靶点(EGFR)
模式:target-centric
流程:
1. 解析EGFR -> ENSG00000146648
2. 获取所有靶向EGFR的化合物(带生物活性)
3. 获取所有与EGFR关联的疾病
4. 构建EGFR相关的PPI网络
5. 识别哪些化合物可连接到哪些疾病
6. 按网络指标排序化合物-疾病对Pattern 4: Polypharmacology Profiling
模式4:多药理学分析
Input: compound (aspirin)
Mode: bidirectional
Flow:
1. Resolve aspirin -> CHEMBL25
2. Get ALL targets (not just primary)
3. Map targets to disease modules
4. Identify multi-target coverage across diseases
5. Analyze synergistic vs antagonistic effects
6. Compare selectivity across target families输入:化合物(aspirin)
模式:bidirectional
流程:
1. 解析aspirin -> CHEMBL25
2. 获取所有靶点(不仅是主要靶点)
3. 将靶点映射到疾病模块
4. 识别跨疾病的多靶点覆盖
5. 分析协同vs拮抗靶点调控
6. 比较靶点家族的选择性Pattern 5: Mechanism Elucidation
模式5:机制阐明
Input: compound (rapamycin) + disease (aging/longevity)
Mode: compound-to-disease
Flow:
1. Resolve rapamycin -> CHEMBL413 (sirolimus)
2. Get mechanism: mTOR inhibitor
3. Map mTOR pathway to aging-related genes
4. Trace network paths: rapamycin -> mTOR -> autophagy -> aging genes
5. Assess pathway overlap and functional enrichment
6. Provide mechanistic explanation输入:化合物(rapamycin)+ 疾病(aging/longevity)
模式:compound-to-disease
流程:
1. 解析rapamycin -> CHEMBL413(sirolimus)
2. 获取作用机制:mTOR抑制剂
3. 将mTOR通路映射到衰老相关基因
4. 追踪网络路径:rapamycin -> mTOR -> 自噬 -> 衰老基因
5. 评估通路重叠和功能富集
6. 提供机制解释Edge Cases
边缘情况
Promiscuous Compounds (many targets)
多靶点化合物(大量靶点)
- Limit initial target retrieval to top 50 by confidence
- Classify into primary (mechanism) vs secondary (off-target)
- Focus network analysis on primary targets first
- Note polypharmacology implications
- 初始靶点检索限制为前5个置信度最高的靶点
- 分为主要(作用机制)vs次要(脱靶)靶点
- 先聚焦主要靶点进行网络分析
- 注明多药理学影响
Orphan Diseases (limited data)
罕见病(数据有限)
- Expand to parent disease categories in ontology
- Use related diseases from OpenTargets similar entities
- Leverage pathway-level analysis over gene-level
- Note data limitations in report
- 扩展到本体中的父疾病类别
- 使用OpenTargets相似实体中的相关疾病
- 侧重通路层面分析而非基因层面
- 在报告中注明数据局限性
Novel Targets (no known drugs)
新型靶点(无已知药物)
- Focus on target biology and disease association
- Use DGIdb druggability assessment
- Search for chemical probes (OpenTargets chemical probes)
- Suggest target-based screening approaches
- 侧重靶点生物学和疾病关联
- 用DGIdb评估成药性
- 搜索化学探针(OpenTargets chemical probes)
- 建议基于靶点的筛选方法
Large Networks (>100 nodes)
大型网络(>100节点)
- Prioritize top-scored edges
- Use network modules rather than full network
- Focus on shortest paths between entities
- Summarize statistics rather than listing all nodes
- 优先选择高分边
- 使用网络模块而非全网络
- 聚焦实体间的最短路径
- 总结统计数据而非列出所有节点
Disconnected Networks
断开的网络
- Report disconnection explicitly
- Analyze drug module and disease module separately
- Look for pathway-level connections as bridge
- Note that disconnection suggests low repurposing potential
- 明确报告断开情况
- 分别分析药物模块和疾病模块
- 寻找通路层面的连接作为桥梁
- 注明断开表明重定位潜力低
Troubleshooting
故障排除
"Disease not found":
- Try disease synonyms (e.g., "Alzheimer's disease" vs "Alzheimer disease")
- Use EFO/MONDO ID directly if known
- Search with for broader matching
OpenTargets_multi_entity_search_by_query_string(queryString=...) - Try parent disease category
"No drugs found for target":
- Target may be Tdark (no chemical tools) - check with Pharos
- Expand to target family or pathway
- Search DGIdb which aggregates multiple sources
- Check chemical probes as starting points
"No PPI data":
- Try different protein identifiers (gene symbol, UniProt, Ensembl protein)
- Use multiple PPI databases (STRING + IntAct + OpenTargets)
- Lower confidence threshold in STRING
- Use pathway co-membership as proxy for interaction
"Network proximity not significant":
- Drug targets may be functionally distant from disease module
- Try expanding disease gene set (increase limit)
- Consider indirect mechanisms via shared pathways
- Report honestly - not all drug-disease pairs have network support
"DrugBank parameter errors":
- ALL DrugBank tools require 4 params: ,
query,case_sensitive,exact_matchlimit - Use ,
case_sensitive=Falsefor exact drug name matchingexact_match=True - Use for broader searches
exact_match=False
"FAERS operation errors":
- Analytics tools (disproportionality, compare, filter, stratify) need param
operation - Count tools use NOT
medicinalproductdrug_name - Check FAERS tool name carefully to determine which pattern
“未找到疾病”:
- 尝试疾病同义词(例如“Alzheimer's disease” vs “Alzheimer disease”)
- 若已知直接使用EFO/MONDO ID
- 使用进行更广泛匹配
OpenTargets_multi_entity_search_by_query_string(queryString=...) - 尝试父疾病类别
“未找到靶点的相关药物”:
- 靶点可能是Tdark(无化学工具)- 用Pharos检查
- 扩展到靶点家族或通路
- 搜索整合多源数据的DGIdb
- 以化学探针为起点
“无PPI数据”:
- 尝试不同的蛋白质标识符(基因符号、UniProt、Ensembl蛋白)
- 使用多个PPI数据库(STRING + IntAct + OpenTargets)
- 降低STRING的置信度阈值
- 用通路共成员关系作为相互作用的替代指标
“网络邻近性不显著”:
- 药物靶点可能在功能上与疾病模块距离较远
- 尝试扩大疾病基因集(增加限制数)
- 考虑通过共享通路的间接机制
- 如实报告 - 并非所有药物-疾病对都有网络支持
“DrugBank参数错误”:
- 所有DrugBank工具需要4个参数:、
query、case_sensitive、exact_matchlimit - 精确匹配药物名称时使用、
case_sensitive=Falseexact_match=True - 广泛搜索时使用
exact_match=False
“FAERS操作错误”:
- 分析工具(disproportionality、compare、filter、stratify)需要参数
operation - 计数工具使用而非
medicinalproductdrug_name - 仔细检查FAERS工具名称以确定参数模式
Resources
资源
For focused drug repurposing (without network analysis): tooluniverse-drug-repurposing
For target validation: tooluniverse-drug-target-validation
For adverse event detection: tooluniverse-adverse-event-detection
For systems biology: tooluniverse-systems-biology
For protein interactions: tooluniverse-protein-interactions
聚焦药物重定位(无网络分析):tooluniverse-drug-repurposing
靶点验证:tooluniverse-drug-target-validation
不良事件检测:tooluniverse-adverse-event-detection
系统生物学:tooluniverse-systems-biology
蛋白质相互作用:tooluniverse-protein-interactions