tooluniverse-network-pharmacology

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

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.
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

输入参数

ParameterRequiredDescriptionExample
entityYesCompound name/ID, target gene symbol/ID, or disease name/ID
metformin
,
EGFR
,
Alzheimer disease
entity_typeNoType hint:
compound
,
target
, or
disease
(auto-detected if omitted)
compound
analysis_modeNo
compound-to-disease
,
disease-to-compound
,
target-centric
,
bidirectional
(default)
bidirectional
secondary_entityNoSecond entity for focused analysis (e.g., disease for compound input)
Alzheimer disease

参数是否必填描述示例
entity化合物名称/ID、靶点基因符号/ID或疾病名称/ID
metformin
,
EGFR
,
Alzheimer disease
entity_type实体类型提示:
compound
target
disease
(若省略则自动检测)
compound
analysis_mode分析模式:
compound-to-disease
disease-to-compound
target-centric
bidirectional
(默认)
bidirectional
secondary_entity用于聚焦分析的第二个实体(例如,化合物输入对应的疾病)
Alzheimer disease

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

优先级层级

ScoreTierRecommendation
80-100Tier 1High repurposing potential - proceed with experimental validation
60-79Tier 2Good potential - needs mechanistic validation
40-59Tier 3Moderate potential - high-risk/high-reward, needs extensive validation
0-39Tier 4Low potential - consider alternative approaches
评分层级建议
80-100层级1重定位潜力高 - 可开展实验验证
60-79层级2潜力良好 - 需要机制验证
40-59层级3潜力中等 - 高风险高回报,需大量验证
0-39层级4潜力低 - 考虑其他方法

Evidence Grading System

证据分级系统

TierSymbolCriteriaExamples
T1[T1]Human clinical proof, regulatory evidenceFDA-approved indication, Phase III trial, patient genomics
T2[T2]Functional experimental evidenceBioactivity data (IC50 < 1 uM), CRISPR screen, animal model
T3[T3]Association/computational evidenceGWAS hit, network proximity, pathway enrichment, expression
T4[T4]Prediction, annotation, text-miningAlphaFold prediction, database annotation, literature co-mention

层级符号标准示例
T1[T1]人类临床证据、监管机构认可证据FDA批准的适应症、III期试验、患者基因组学数据
T2[T2]功能实验证据生物活性数据(IC50 < 1 uM)、CRISPR筛选、动物模型
T3[T3]关联/计算证据GWAS命中、网络邻近性、通路富集、表达数据
T4[T4]预测、注释、文本挖掘AlphaFold预测、数据库注释、文献共提及

KEY PRINCIPLES

核心原则

  1. Report-first approach - Create report file FIRST, then populate progressively
  2. Entity disambiguation FIRST - Resolve all identifiers before analysis
  3. Bidirectional network - Construct C-T-D network comprehensively from both directions
  4. Network metrics - Calculate proximity, centrality, module overlap quantitatively
  5. Rank candidates - Prioritize by composite Network Pharmacology Score
  6. Mechanism prediction - Explain HOW drug could work for disease 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
  12. Completeness checklist - Mandatory section at end showing analysis coverage

  1. 先报告原则 - 先创建报告文件,再逐步填充内容
  2. 先实体消歧 - 在分析前解析所有标识符
  3. 双向网络 - 全面从两个方向构建C-T-D网络
  4. 网络指标 - 定量计算邻近性、中心性、模块重叠度
  5. 候选物排序 - 按综合网络药理学评分优先排序
  6. 机制预测 - 通过网络路径解释药物对疾病的潜在作用方式
  7. 临床可行性 - 已获批药物优先级高于临床前药物
  8. 安全性背景 - 标记已知不良事件和脱靶风险
  9. 证据分级 - 所有证据按T1-T4分级
  10. 记录阴性结果 - “无数据”也是数据;空章节视为失败
  11. 来源引用 - 所有发现必须引用来源工具/数据库
  12. 完整性检查清单 - 末尾必须包含分析覆盖情况的检查章节

Complete Workflow

完整工作流

Phase 0: Entity Disambiguation and Report Setup

阶段0:实体消歧与报告设置

Step 0.1: Create the report file immediately.
python
undefined
步骤0.1:立即创建报告文件。
python
undefined

Create 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
undefined

Get 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**:识别靶点节点(疾病关联靶点)。

```python

Get 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.

```python
for gene in ["PSEN1", "APP", "BACE1"]: pharos = tu.tools.Pharos_get_target(target_name=gene) # 返回靶点开发水平(Tclin, Tchem, Tbio, Tdark)

**步骤1.3**:识别疾病节点及相关病症。

```python

Get 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
undefined

Get 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**:靶点-疾病边(遗传和功能关联)。

```python

Get 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).

```python
pharmgkb_gene = tu.tools.PharmGKB_get_gene_details(gene_symbol="PSEN1")

**步骤2.3**:化合物-疾病边(临床证据)。

```python

Get 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).

```python
europepmc_results = tu.tools.EuropePMC_search_articles( query="metformin Alzheimer disease", limit=50 )

**步骤2.4**:靶点-靶点边(PPI网络)。

```python

Get 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 association
Step 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 metric
Step 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
undefined

STRING 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
undefined

For 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_status
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']
# 从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_status

For 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.

```python
for target in drug_targets: # 获取每个药物靶点的关联疾病 target_diseases = tu.tools.OpenTargets_get_diseases_phenotypes_by_target_ensembl( ensemblId=target['id'], size=20 )

**步骤4.2**:重定位候选物的机制预测。

```python

For 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
undefined

Get 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.

```python
for gene in drug_target_genes[:10]: target_class = tu.tools.OpenTargets_get_target_classes_by_ensemblID( ensemblId=gene_ensembl_id )

**步骤5.2**:选择性分析。

```python

Get 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
undefined

Get 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.

```python
drug_warnings = tu.tools.OpenTargets_get_drug_warnings_by_chemblId( chemblId=chembl_id )

**步骤6.2**:靶点安全性分析。

```python

For 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
undefined

Search 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**:文献证据。

```python

PubMed 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.

```python
guidelines = tu.tools.PubMed_Guidelines_Search(query=f"{drug_name} {disease_name}")

**步骤7.3**:实验证据。

```python

ChEMBL 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
undefined

Network Pharmacology Analysis: [Entity]

网络药理学分析:[实体]

Executive Summary

执行摘要

[2-3 sentence summary of key findings]
[2-3句话总结关键发现]

Network Pharmacology Score: [X]/100 - [Tier]

网络药理学评分: [X]/100 - [层级]

ComponentScoreMaxEvidence
Network ProximityX35[summary]
Clinical EvidenceX25[summary]
Target-Disease AssociationX20[summary]
Safety ProfileX10[summary]
Mechanism PlausibilityX10[summary]
TOTALX100
组成部分得分满分证据
网络邻近性X35[摘要]
临床证据X25[摘要]
靶点-疾病关联X20[摘要]
安全性特征X10[摘要]
机制合理性X10[摘要]
总分X100

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. 证据摘要表

FindingSourceEvidence GradeConfidence
[finding1][tool/database][T1-T4][High/Medium/Low]
............
发现来源证据等级置信度
[发现1][工具/数据库][T1-T4][高/中/低]
............

10. Recommendations

10. 建议

Immediate Actions

立即行动

  1. [Action 1 - e.g., review clinical trial NCT00620191]
  2. [Action 2 - e.g., validate mechanism in cell model]
  1. [行动1 - 例如,查看临床试验NCT00620191]
  2. [行动2 - 例如,在细胞模型中验证机制]

Further Investigation

进一步研究

  1. [Investigation 1]
  2. [Investigation 2]
  1. [研究方向1]
  2. [研究方向2]

Risk Mitigation

风险缓解

  1. [Risk 1 and mitigation strategy]
  1. [风险1及缓解策略]

Completeness Checklist

完整性检查清单

PhaseStatusTools UsedKey Findings
Entity DisambiguationDone/Partial/Failed[tools][summary]
Compound Node IDDone/Partial/Failed[tools][summary]
Target Node IDDone/Partial/Failed[tools][summary]
Disease Node IDDone/Partial/Failed[tools][summary]
C-T EdgesDone/Partial/Failed[tools][summary]
T-D EdgesDone/Partial/Failed[tools][summary]
C-D EdgesDone/Partial/Failed[tools][summary]
T-T Edges (PPI)Done/Partial/Failed[tools][summary]
Network TopologyDone/Partial/Failed[computed][summary]
Network ProximityDone/Partial/Failed[computed][summary]
Pathway EnrichmentDone/Partial/Failed[tools][summary]
Repurposing CandidatesDone/Partial/Failed[tools][summary]
Mechanism PredictionDone/Partial/Failed[analysis][summary]
PolypharmacologyDone/Partial/Failed[tools][summary]
Safety/ToxicityDone/Partial/Failed[tools][summary]
Clinical PrecedentDone/Partial/Failed[tools][summary]
Literature EvidenceDone/Partial/Failed[tools][summary]
Report GenerationDone/Partial/Failed-[summary]

---
阶段状态使用工具关键发现
实体消歧已完成/部分完成/失败[工具][摘要]
化合物节点识别已完成/部分完成/失败[工具][摘要]
靶点节点识别已完成/部分完成/失败[工具][摘要]
疾病节点识别已完成/部分完成/失败[工具][摘要]
C-T边构建已完成/部分完成/失败[工具][摘要]
T-D边构建已完成/部分完成/失败[工具][摘要]
C-D边构建已完成/部分完成/失败[工具][摘要]
T-T边构建(PPI)已完成/部分完成/失败[工具][摘要]
网络拓扑分析已完成/部分完成/失败[计算][摘要]
网络邻近性计算已完成/部分完成/失败[计算][摘要]
通路富集分析已完成/部分完成/失败[工具][摘要]
重定位候选物识别已完成/部分完成/失败[工具][摘要]
机制预测已完成/部分完成/失败[分析][摘要]
多药理学分析已完成/部分完成/失败[工具][摘要]
安全性/毒性分析已完成/部分完成/失败[工具][摘要]
临床先例验证已完成/部分完成/失败[工具][摘要]
文献证据收集已完成/部分完成/失败[工具][摘要]
报告生成已完成/部分完成/失败-[摘要]

---

Tool Parameter Reference (Verified)

工具参数参考(已验证)

Compound Identification

化合物识别

ToolKey ParametersResponse Structure
OpenTargets_get_drug_chembId_by_generic_name
drugName: str
{data: {search: {hits: [{id, name, description}]}}}
OpenTargets_get_drug_id_description_by_name
drugName: str
{data: {search: {hits: [{id, name, description}]}}}
drugbank_get_drug_basic_info_by_drug_name_or_id
query: str
,
case_sensitive: bool
,
exact_match: bool
,
limit: int
(ALL required)
{status, data: {drug_name, drugbank_id, ...}}
PubChem_get_CID_by_compound_name
name: str
{IdentifierList: {CID: [int]}}
PubChem_get_compound_properties_by_CID
cid: int
{CID, MolecularWeight, ConnectivitySMILES, IUPACName}
ChEMBL_search_drugs
query: str
,
limit: int
{status, data: {drugs: [...]}}
工具关键参数响应结构
OpenTargets_get_drug_chembId_by_generic_name
drugName: str
{data: {search: {hits: [{id, name, description}]}}}
OpenTargets_get_drug_id_description_by_name
drugName: str
{data: {search: {hits: [{id, name, description}]}}}
drugbank_get_drug_basic_info_by_drug_name_or_id
query: str
,
case_sensitive: bool
,
exact_match: bool
,
limit: int
(全部必填)
{status, data: {drug_name, drugbank_id, ...}}
PubChem_get_CID_by_compound_name
name: str
{IdentifierList: {CID: [int]}}
PubChem_get_compound_properties_by_CID
cid: int
{CID, MolecularWeight, ConnectivitySMILES, IUPACName}
ChEMBL_search_drugs
query: str
,
limit: int
{status, data: {drugs: [...]}}

Target Identification

靶点识别

ToolKey ParametersResponse Structure
OpenTargets_get_target_id_description_by_name
targetName: str
{data: {search: {hits: [{id, name, description}]}}}
ensembl_lookup_gene
gene_id: str
,
species: str
(REQUIRED, e.g., "homo_sapiens")
{status, data: {display_name, biotype, ...}}
MyGene_query_genes
query: str
Gene info with cross-references
Pharos_get_target
target_name: str
Target with development level
工具关键参数响应结构
OpenTargets_get_target_id_description_by_name
targetName: str
{data: {search: {hits: [{id, name, description}]}}}
ensembl_lookup_gene
gene_id: str
,
species: str
(必填,例如"homo_sapiens")
{status, data: {display_name, biotype, ...}}
MyGene_query_genes
query: str
带交叉引用的基因信息
Pharos_get_target
target_name: str
带开发水平的靶点信息

Disease Identification

疾病识别

ToolKey ParametersResponse Structure
OpenTargets_get_disease_id_description_by_name
diseaseName: str
{data: {search: {hits: [{id, name, description}]}}}
OpenTargets_get_disease_description_by_efoId
efoId: str
{data: {disease: {id, name, description}}}
OpenTargets_get_disease_ids_by_efoId
efoId: str
Disease cross-references
工具关键参数响应结构
OpenTargets_get_disease_id_description_by_name
diseaseName: str
{data: {search: {hits: [{id, name, description}]}}}
OpenTargets_get_disease_description_by_efoId
efoId: str
{data: {disease: {id, name, description}}}
OpenTargets_get_disease_ids_by_efoId
efoId: str
疾病交叉引用

Network Edges

网络边

ToolKey ParametersResponse Structure
STRING_get_interaction_partners
protein_ids: list[str]
,
species: int
(9606),
limit: int
{status, data: [{stringId_A, stringId_B, preferredName_A, preferredName_B, score}]}
STRING_get_network
protein_ids: list[str]
,
species: int
Network data
STRING_functional_enrichment
protein_ids: list[str]
,
species: int
Enrichment results
STRING_ppi_enrichment
protein_ids: list[str]
,
species: int
PPI enrichment statistics
OpenTargets_get_target_interactions_by_ensemblID
ensemblId: str
,
size: int
{data: {target: {interactions: {count, rows: [{intA, targetA, intB, targetB, score}]}}}}
intact_search_interactions
query: str
,
max: int
Interaction data
humanbase_ppi_analysis
gene_list: list
,
tissue: str
,
max_node: int
,
interaction: str
,
string_mode: str
(ALL required)
Tissue-specific PPI
工具关键参数响应结构
STRING_get_interaction_partners
protein_ids: list[str]
,
species: int
(9606),
limit: int
{status, data: [{stringId_A, stringId_B, preferredName_A, preferredName_B, score}]}
STRING_get_network
protein_ids: list[str]
,
species: int
网络数据
STRING_functional_enrichment
protein_ids: list[str]
,
species: int
富集结果
STRING_ppi_enrichment
protein_ids: list[str]
,
species: int
PPI富集统计
OpenTargets_get_target_interactions_by_ensemblID
ensemblId: str
,
size: int
{data: {target: {interactions: {count, rows: [{intA, targetA, intB, targetB, score}]}}}}
intact_search_interactions
query: str
,
max: int
相互作用数据
humanbase_ppi_analysis
gene_list: list
,
tissue: str
,
max_node: int
,
interaction: str
,
string_mode: str
(全部必填)
组织特异性PPI

Drug-Target Edges

药物-靶点边

ToolKey ParametersResponse Structure
OpenTargets_get_drug_mechanisms_of_action_by_chemblId
chemblId: str
{data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction, actionType, targets}]}}}}
OpenTargets_get_associated_targets_by_drug_chemblId
chemblId: str
,
size: int
{data: {drug: {linkedTargets: {count, rows}}}}
drugbank_get_targets_by_drug_name_or_drugbank_id
query, case_sensitive, exact_match, limit
(ALL required)
{status, data: {targets: [{id, name, organism, actions}]}}
DGIdb_get_drug_gene_interactions
genes: list[str]
{data: {genes: {nodes: [{name, interactions}]}}}
CTD_get_chemical_gene_interactions
input_terms: str
{data: [{ChemicalName, GeneSymbol, InteractionActions}]}
ChEMBL_get_target_activities
target_chembl_id__exact: str
Activity data with pchembl_value
工具关键参数响应结构
OpenTargets_get_drug_mechanisms_of_action_by_chemblId
chemblId: str
{data: {drug: {mechanismsOfAction: {rows: [{mechanismOfAction, actionType, targets}]}}}}
OpenTargets_get_associated_targets_by_drug_chemblId
chemblId: str
,
size: int
{data: {drug: {linkedTargets: {count, rows}}}}
drugbank_get_targets_by_drug_name_or_drugbank_id
query, case_sensitive, exact_match, limit
(全部必填)
{status, data: {targets: [{id, name, organism, actions}]}}
DGIdb_get_drug_gene_interactions
genes: list[str]
{data: {genes: {nodes: [{name, interactions}]}}}
CTD_get_chemical_gene_interactions
input_terms: str
{data: [{ChemicalName, GeneSymbol, InteractionActions}]}
ChEMBL_get_target_activities
target_chembl_id__exact: str
带pchembl_value的活性数据

Target-Disease Edges

靶点-疾病边

ToolKey ParametersResponse Structure
OpenTargets_get_associated_targets_by_disease_efoId
efoId: str
,
limit: int
{data: {disease: {associatedTargets: {count, rows: [{target: {id, approvedSymbol}, score}]}}}}
OpenTargets_target_disease_evidence
efoId: str
,
ensemblId: str
(BOTH required)
Evidence data across datasources
CTD_get_gene_diseases
input_terms: str
{data: [{GeneName, DiseaseName, DirectEvidence}]}
GWAS_search_associations_by_gene
gene_name: str
GWAS association data
工具关键参数响应结构
OpenTargets_get_associated_targets_by_disease_efoId
efoId: str
,
limit: int
{data: {disease: {associatedTargets: {count, rows: [{target: {id, approvedSymbol}, score}]}}}}
OpenTargets_target_disease_evidence
efoId: str
,
ensemblId: str
(两者均必填)
跨数据源的证据数据
CTD_get_gene_diseases
input_terms: str
{data: [{GeneName, DiseaseName, DirectEvidence}]}
GWAS_search_associations_by_gene
gene_name: str
GWAS关联数据

Drug-Disease Edges

药物-疾病边

ToolKey ParametersResponse Structure
OpenTargets_get_drug_indications_by_chemblId
chemblId: str
,
size: int
{data: {drug: {indications: {rows: [{disease, maxPhaseForIndication}]}}}}
OpenTargets_get_associated_diseases_by_drug_chemblId
chemblId: str
,
size: int
{data: {drug: {linkedDiseases: {count, rows}}}}
CTD_get_chemical_diseases
input_terms: str
{data: [{ChemicalName, DiseaseName, DirectEvidence}]}
search_clinical_trials
query_term: str
(REQUIRED),
condition: str
,
pageSize: int
{studies: [{NCT ID, brief_title, ...}]}
工具关键参数响应结构
OpenTargets_get_drug_indications_by_chemblId
chemblId: str
,
size: int
{data: {drug: {indications: {rows: [{disease, maxPhaseForIndication}]}}}}
OpenTargets_get_associated_diseases_by_drug_chemblId
chemblId: str
,
size: int
{data: {drug: {linkedDiseases: {count, rows}}}}
CTD_get_chemical_diseases
input_terms: str
{data: [{ChemicalName, DiseaseName, DirectEvidence}]}
search_clinical_trials
query_term: str
(必填),
condition: str
,
pageSize: int
{studies: [{NCT ID, brief_title, ...}]}

Pathway Analysis

通路分析

ToolKey ParametersResponse Structure
ReactomeAnalysis_pathway_enrichment
identifiers: str
(space-separated, NOT array)
{data: {pathways: [{pathway_id, name, p_value, fdr, entities_found}]}}
enrichr_gene_enrichment_analysis
gene_list: list[str]
,
libs: list[str]
(REQUIRED)
Enrichment per library
drugbank_get_pathways_reactions_by_drug_or_id
query, case_sensitive, exact_match, limit
Pathway data
工具关键参数响应结构
ReactomeAnalysis_pathway_enrichment
identifiers: str
(空格分隔,非数组)
{data: {pathways: [{pathway_id, name, p_value, fdr, entities_found}]}}
enrichr_gene_enrichment_analysis
gene_list: list[str]
,
libs: list[str]
(必填)
各数据库的富集结果
drugbank_get_pathways_reactions_by_drug_or_id
query, case_sensitive, exact_match, limit
通路数据

Safety Tools

安全性工具

ToolKey ParametersResponse Structure
FAERS_calculate_disproportionality
operation: str
,
drug_name: str
,
adverse_event: str
{metrics: {PRR, ROR, IC}, signal_detection}
FAERS_filter_serious_events
operation: str
,
drug_name: str
,
seriousness_type: str
Serious event data
FAERS_count_death_related_by_drug
medicinalproduct: str
[{term, count}]
OpenTargets_get_drug_adverse_events_by_chemblId
chemblId: str
{data: {drug: {adverseEvents: {count, rows}}}}
OpenTargets_get_drug_warnings_by_chemblId
chemblId: str
Drug warning data
OpenTargets_get_target_safety_profile_by_ensemblID
ensemblId: str
Target safety data
gnomad_get_gene_constraints
gene_symbol: str
Gene constraint (pLI, LOEUF)
FDA_get_warnings_and_cautions_by_drug_name
drug_name: str
FDA warning text
工具关键参数响应结构
FAERS_calculate_disproportionality
operation: str
,
drug_name: str
,
adverse_event: str
{metrics: {PRR, ROR, IC}, signal_detection}
FAERS_filter_serious_events
operation: str
,
drug_name: str
,
seriousness_type: str
严重事件数据
FAERS_count_death_related_by_drug
medicinalproduct: str
[{term, count}]
OpenTargets_get_drug_adverse_events_by_chemblId
chemblId: str
{data: {drug: {adverseEvents: {count, rows}}}}
OpenTargets_get_drug_warnings_by_chemblId
chemblId: str
药物警告数据
OpenTargets_get_target_safety_profile_by_ensemblID
ensemblId: str
靶点安全性数据
gnomad_get_gene_constraints
gene_symbol: str
基因约束(pLI, LOEUF)
FDA_get_warnings_and_cautions_by_drug_name
drug_name: str
FDA警告文本

Literature Tools

文献工具

ToolKey ParametersResponse Structure
PubMed_search_articles
query: str
,
max_results: int
list of
{pmid, title, authors, journal, pub_date}
EuropePMC_search_articles
query: str
,
limit: int
Article list
OpenTargets_get_publications_by_drug_chemblId
chemblId: str
,
size: int
Publication data

工具关键参数响应结构
PubMed_search_articles
query: str
,
max_results: int
{pmid, title, authors, journal, pub_date}
的列表
EuropePMC_search_articles
query: str
,
limit: int
文章列表
OpenTargets_get_publications_by_drug_chemblId
chemblId: str
,
size: int
出版物数据

Response Format Notes

响应格式说明

DrugBank tools: ALL require
query
,
case_sensitive
,
exact_match
,
limit
(4 params, ALL required).
FAERS analytics tools (disproportionality, compare, filter, stratify, rollup, trends): ALL require
operation
parameter.
FAERS count tools (count_death, count_reactions, etc.): Use
medicinalproduct
NOT
drug_name
.
OpenTargets tools: Return nested
{data: {entity: {field: ...}}}
structure.
PubMed_search_articles: Returns plain list of dicts, NOT
{articles: [...]}
.
PubChem CID lookup: Returns
{IdentifierList: {CID: [...]}}
(NO data wrapper).
ReactomeAnalysis_pathway_enrichment: Takes space-separated
identifiers
string, NOT array.
ensembl_lookup_gene: REQUIRES
species='homo_sapiens'
parameter.
STRING tools: Return
{status: "success", data: [...]}
.
CTD tools: Return
{data: [...]}
with potentially large result sets.

DrugBank工具:全部需要
query
case_sensitive
exact_match
limit
这4个参数,缺一不可。
FAERS分析工具(disproportionality、compare、filter、stratify、rollup、trends):全部需要
operation
参数。
FAERS计数工具(count_death、count_reactions等):使用
medicinalproduct
而非
drug_name
OpenTargets工具:返回嵌套的
{data: {entity: {field: ...}}}
结构。
PubMed_search_articles:返回纯字典列表,而非
{articles: [...]}
PubChem CID查询:返回
{IdentifierList: {CID: [...]}}
(无data包装)。
ReactomeAnalysis_pathway_enrichment:接受空格分隔的
identifiers
字符串,而非数组。
ensembl_lookup_gene:必填
species='homo_sapiens'
参数。
STRING工具:返回
{status: "success", data: [...]}
CTD工具:返回
{data: [...]}
,结果集可能较大。

Fallback Strategies

备选策略

PhasePrimary ToolFallback 1Fallback 2
Compound IDOpenTargets drug lookupChEMBL searchPubChem CID lookup
Target IDOpenTargets target lookupensembl_lookup_geneMyGene_query_genes
Disease IDOpenTargets disease lookupols_search_efo_termsCTD_get_chemical_diseases
Drug targetsOpenTargets drug mechanismsDrugBank targetsDGIdb interactions
Disease targetsOpenTargets disease targetsCTD gene-diseasesGWAS associations
PPI networkSTRING interactionsOpenTargets interactionsIntAct interactions
PathwaysReactomeAnalysis enrichmentenrichr enrichmentSTRING functional enrichment
Clinical trialssearch_clinical_trialsclinical_trials_searchPubMed clinical
SafetyFAERS + FDAOpenTargets AEsDrugBank safety
LiteraturePubMed searchEuropePMC searchOpenTargets publications

阶段主要工具备选1备选2
化合物识别OpenTargets药物查询ChEMBL搜索PubChem CID查询
靶点识别OpenTargets靶点查询ensembl_lookup_geneMyGene_query_genes
疾病识别OpenTargets疾病查询ols_search_efo_termsCTD_get_chemical_diseases
药物靶点OpenTargets药物作用机制DrugBank靶点DGIdb相互作用
疾病靶点OpenTargets疾病靶点CTD基因-疾病GWAS关联
PPI网络STRING相互作用OpenTargets相互作用IntAct相互作用
通路分析ReactomeAnalysis富集enrichr富集STRING功能富集
临床试验search_clinical_trialsclinical_trials_searchPubMed临床
安全性FAERS + FDAOpenTargets不良事件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
    OpenTargets_multi_entity_search_by_query_string(queryString=...)
    for broader matching
  • 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_match
    ,
    limit
  • Use
    case_sensitive=False
    ,
    exact_match=True
    for exact drug name matching
  • Use
    exact_match=False
    for broader searches
"FAERS operation errors":
  • Analytics tools (disproportionality, compare, filter, stratify) need
    operation
    param
  • Count tools use
    medicinalproduct
    NOT
    drug_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_match
    limit
  • 精确匹配药物名称时使用
    case_sensitive=False
    exact_match=True
  • 广泛搜索时使用
    exact_match=False
“FAERS操作错误”:
  • 分析工具(disproportionality、compare、filter、stratify)需要
    operation
    参数
  • 计数工具使用
    medicinalproduct
    而非
    drug_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