mcpField
O
opentargets-database

opentargets-database

github.com/jackspace数据与数据库1635 次安装12 周前更新
代码仓库

关于 opentargets-database

opentargets-database 是面向研究人员和药物研发团队的技能,可通过 Open Targets GraphQL API 查询靶点、疾病、药物及相关证据。它提供常用查询的辅助函数,并说明如何解读关联评分与证据类型。

主要功能

  1. 01搜索靶点、疾病和药物
  2. 02获取靶点与疾病注释
  3. 03检查靶点-疾病证据
  4. 04查询药物及临床开发信息
  5. 05执行自定义 GraphQL 查询

适用场景

  1. 01发现并排序疾病相关靶点
  2. 02评估靶点的可成药性与安全性
  3. 03探索药物再利用机会
  4. 04审查证据和临床先例

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jackspace/claudeskillz --skill opentargets-database

安装后在 Claude Code 中输入/opentargets-database确认已加载。

附带文件SKILL.json

详细介绍

Open Targets Database

概述

Open Targets Platform 是一个综合性资源,用于系统地识别和优先排序潜在的治疗药物靶点。它整合了公开数据集,包括人类遗传学、组学、文献和化学数据,用于建立并评估靶点与疾病之间的关联。

主要功能:

  • 查询靶点(基因)注释,包括可成药性、安全性和表达情况
  • 搜索带有证据评分的疾病—靶点关联
  • 检索多种数据类型的证据(遗传学、通路、文献等)
  • 查找疾病的已知药物及其作用机制
  • 获取药物信息,包括临床试验阶段和不良事件
  • 评估靶点的成药性和治疗潜力

**数据访问:**该平台提供 GraphQL API、Web 界面、数据下载和 Google BigQuery 访问。本技能侧重于通过 GraphQL API 以编程方式访问数据。

何时使用此技能

在以下情况下应使用此技能:

  • **发现靶点:**查找针对某种疾病的潜在治疗靶点
  • **评估靶点:**评估基因的可成药性、安全性和成药性
  • **收集证据:**检索支持靶点—疾病关联的证据
  • **药物再利用:**识别可用于新适应症的现有药物
  • **竞争情报:**了解临床先例和药物研发格局
  • **靶点优先级排序:**根据遗传证据和其他数据类型对靶点进行排序
  • **研究作用机制:**调查生物通路和基因功能
  • **发现生物标志物:**查找疾病中差异表达的基因
  • **评估安全性:**识别药物靶点可能存在的毒性问题

核心工作流

1. 搜索实体

首先查找目标、疾病或药物的标识符。

对于靶点(基因):

from scripts.query_opentargets import search_entities

# Search by gene symbol or name
results = search_entities("BRCA1", entity_types=["target"])
# Returns: [{"id": "ENSG00000012048", "name": "BRCA1", ...}]

对于疾病:

# Search by disease name
results = search_entities("alzheimer", entity_types=["disease"])
# Returns: [{"id": "EFO_0000249", "name": "Alzheimer disease", ...}]

对于药物:

# Search by drug name
results = search_entities("aspirin", entity_types=["drug"])
# Returns: [{"id": "CHEMBL25", "name": "ASPIRIN", ...}]

使用的标识符:

  • 靶点:Ensembl 基因 ID(例如,ENSG00000157764)
  • 疾病:EFO(Experimental Factor Ontology)ID(例如,EFO_0000249)
  • 药物:ChEMBL ID(例如,CHEMBL25)
2. 查询靶点信息

检索全面的靶点注释,以评估其成药性和生物学特征。

from scripts.query_opentargets import get_target_info

target_info = get_target_info("ENSG00000157764", include_diseases=True)

# Access key fields:
# - approvedSymbol: HGNC gene symbol
# - approvedName: Full gene name
# - tractability: Druggability assessments across modalities
# - safetyLiabilities: Known safety concerns
# - geneticConstraint: Constraint scores from gnomAD
# - associatedDiseases: Top disease associations with scores

需要查看的主要注释:

  • **可成药性:**小分子、抗体和 PROTAC 成药性预测
  • **安全性:**来自多个数据库的已知毒性问题
  • **遗传约束:**表明必需性的 pLI 和 LOEUF 评分
  • **疾病关联:**与该靶点相关且带有证据评分的疾病

有关所有靶点特征的详细信息,请参阅 references/target_annotations.md。

3. 查询疾病信息

获取疾病详情及相关靶点和药物。

from scripts.query_opentargets import get_disease_info

disease_info = get_disease_info("EFO_0000249", include_targets=True)

# Access fields:
# - name: Disease name
# - description: Disease description
# - therapeuticAreas: High-level disease categories
# - associatedTargets: Top targets with association scores
4. 检索靶点—疾病证据

获取支持靶点—疾病关联的详细证据。

from scripts.query_opentargets import get_target_disease_evidence

# Get all evidence
evidence = get_target_disease_evidence(
    ensembl_id="ENSG00000157764",
    efo_id="EFO_0000249"
)

# Filter by evidence type
genetic_evidence = get_target_disease_evidence(
    ensembl_id="ENSG00000157764",
    efo_id="EFO_0000249",
    data_types=["genetic_association"]
)

# Each evidence record contains:
# - datasourceId: Specific data source (e.g., "gwas_catalog", "chembl")
# - datatypeId: Evidence category (e.g., "genetic_association", "known_drug")
# - score: Evidence strength (0-1)
# - studyId: Original study identifier
# - literature: Associated publications

主要证据类型:

  1. **genetic_association:**GWAS、罕见变异、ClinVar、基因负担
  2. **somatic_mutation:**Cancer Gene Census、IntOGen、癌症生物标志物
  3. **known_drug:**来自已获批药物或临床药物的临床先例
  4. **affected_pathway:**CRISPR 筛选、通路分析、基因特征
  5. **rna_expression:**来自 Expression Atlas 的差异表达
  6. **animal_model:**来自 IMPC 的小鼠表型
  7. **literature:**来自 Europe PMC 的文本挖掘

有关所有证据类型及其解读指南的详细说明,请参阅 references/evidence_types.md。

5. 查找已知药物

识别用于治疗某种疾病的药物及其靶点。

from scripts.query_opentargets import get_known_drugs_for_disease

drugs = get_known_drugs_for_disease("EFO_0000249")

# drugs contains:
# - uniqueDrugs: Total number of unique drugs
# - uniqueTargets: Total number of unique targets
# - rows: List of drug-target-indication records with:
#   - drug: {name, drugType, maximumClinicalTrialPhase}
#   - targets: Genes targeted by the drug
#   - phase: Clinical trial phase for this indication
#   - status: Trial status (active, completed, etc.)
#   - mechanismOfAction: How drug works

临床阶段:

  • Phase 4:已获批药物
  • Phase 3:后期临床试验
  • Phase 2:中期临床试验
  • Phase 1:早期安全性试验
6. 获取药物信息

检索详细的药物信息,包括作用机制和适应症。

from scripts.query_opentargets import get_drug_info

drug_info = get_drug_info("CHEMBL25")

# Access:
# - name, synonyms: Drug identifiers
# - drugType: Small molecule, antibody, etc.
# - maximumClinicalTrialPhase: Development stage
# - mechanismsOfAction: Target and action type
# - indications: Diseases with trial phases
# - withdrawnNotice: If withdrawn, reasons and countries
7. 获取目标的所有关联

查找与某个目标相关的所有疾病,可选择按分数筛选。

from scripts.query_opentargets import get_target_associations

# Get associations with score >= 0.5
associations = get_target_associations(
    ensembl_id="ENSG00000157764",
    min_score=0.5
)

# Each association contains:
# - disease: {id, name}
# - score: Overall association score (0-1)
# - datatypeScores: Breakdown by evidence type

关联分数:

  • 范围:0-1(分数越高,证据越强)
  • 使用调和和汇总所有数据类型的证据
  • 不是置信度分数,而是相对排名指标
  • 即使证据充分,研究不足的疾病也可能得分较低

GraphQL API 详情

对于提供的辅助函数无法满足的自定义查询,请直接使用 GraphQL API,或修改 scripts/query_opentargets.py。

关键信息:

  • 端点: https://api.platform.opentargets.org/api/v4/graphql
  • 交互式浏览器: https://api.platform.opentargets.org/api/v4/graphql/browser
  • 无需身份验证
  • 仅请求所需字段,以尽量减小响应大小
  • 对大型结果集使用分页: page: {size: N, index: M}

请参阅 references/api_reference.md,了解:

  • 完整的端点文档
  • 所有实体类型的查询示例
  • 错误处理模式
  • API 使用最佳实践

最佳实践

目标优先级排序策略

对药物目标进行优先级排序时:

  1. 从遗传证据入手: 人类遗传学(GWAS、罕见变异)能提供最强的疾病相关性
  2. 检查可成药性: 优先考虑已有临床或研发先例的目标
  3. 评估安全性: 审查安全性隐患、表达模式和遗传约束
  4. 评估临床先例: 已知药物表明其具有成药性和治疗窗
  5. 考虑多种证据类型: 不同来源的证据相互印证,可增强可信度
  6. 进行机制验证: 检查通路证据和生物学合理性
  7. 人工审查文献: 对于关键决策,请查阅原始出版物
证据解读

强证据指标:

  • 多个独立证据来源
  • 高遗传关联分数(尤其是 L2G > 0.5 的 GWAS)
  • 已获批药物提供的临床先例
  • 与疾病匹配的 ClinVar 致病变异
  • 具有相关表型的模型小鼠

注意事项:

  • 仅有单一证据来源
  • 仅有文本挖掘证据(需要人工验证)
  • 不同来源的证据相互矛盾
  • 高必需性 + 广泛表达(治疗窗较差)
  • 存在多项安全性隐患

分数解读:

  • 分数用于评估相对强度,而非绝对可信度
  • 研究不足的疾病即使目标可能有效,分数也较低
  • 相较于计算预测,应更重视专家整理的来源
  • 查看证据明细,而不只是总体分数
常见工作流

工作流 1:疾病目标发现

  1. 搜索疾病 → 获取 EFO ID
  2. 查询疾病信息,并设置 include_targets=True
  3. 查看按关联分数排序的顶级目标
  4. 对有潜力的目标,获取详细目标信息
  5. 检查支持每项关联的证据类型
  6. 评估优先级目标的可成药性和安全性

工作流 2:目标验证

  1. 搜索目标 → 获取 Ensembl ID
  2. 获取全面的目标信息
  3. 检查可成药性(尤其是临床先例)
  4. 审查安全性隐患和遗传约束
  5. 检查疾病关联,以了解其生物学特性
  6. 查找化学探针或工具化合物
  7. 检查靶向该基因的已知药物,了解其作用机制

工作流 3:药物再利用

  1. 搜索疾病 → 获取 EFO ID
  2. 获取该疾病的已知药物
  3. 获取每种药物的详细信息
  4. 检查作用机制和目标
  5. 查找相关疾病适应症
  6. 评估临床试验阶段和状态
  7. 根据作用机制确定再利用机会

工作流 4:竞争情报

  1. 搜索感兴趣的目标
  2. 获取其具有关联证据的疾病
  3. 获取每种疾病的已知药物
  4. 查看临床阶段和研发状态
  5. 确定竞争者及其作用机制
  6. 评估临床先例和市场格局

资源

脚本

scripts/query_opentargets.py 用于常见 API 操作的辅助函数:

  • search_entities() - 搜索靶点、疾病或药物
  • get_target_info() - 检索靶点注释
  • get_disease_info() - 检索疾病信息
  • get_target_disease_evidence() - 获取支持性证据
  • get_known_drugs_for_disease() - 查找治疗某种疾病的药物
  • get_drug_info() - 检索药物详情
  • get_target_associations() - 获取某个靶点的所有关联
  • execute_query() - 执行自定义 GraphQL 查询
参考资料

references/api_reference.md 完整的 GraphQL API 文档,包括:

  • 端点详情和身份验证
  • 可用的查询类型(靶点、疾病、药物、搜索)
  • 所有常见操作的查询示例
  • 错误处理和最佳实践
  • 数据许可和引用要求

references/evidence_types.md 关于证据类型和数据来源的全面指南:

  • 对所有 7 种主要证据类型的详细说明
  • 各来源的评分方法
  • 证据解读指南
  • 各种证据类型的优势和局限
  • 质量评估建议

references/target_annotations.md 完整的靶点注释参考资料:

  • 对 12 个主要注释类别的说明
  • 可成药性评估详情
  • 安全性风险来源
  • 表达、必需性和约束数据
  • 靶点优先级排序的解读指南
  • 靶点评估中的警示信号和积极信号

数据更新与版本管理

Open Targets Platform 每季度更新一次,发布新的数据。截至 2025 年 10 月,当前版本可通过 API 端点获取。

版本信息: 请访问 https://platform-docs.opentargets.org/release-notes 查看最新更新。

引用: 使用 Open Targets 数据时,请引用: Ochoa, D. et al. (2025) Open Targets Platform: facilitating therapeutic hypotheses building in drug discovery. Nucleic Acids Research, 53(D1):D1467-D1477.

局限性与注意事项

  1. API 适用于探索性查询: 对大量靶点或疾病进行系统分析时,请使用数据下载或 BigQuery
  2. 评分是相对值,而非绝对值: 关联评分用于对证据强度排序,但不能预测临床成功
  3. 研究不足的疾病评分较低: 新发或罕见疾病可能有有力证据,但综合评分较低
  4. 证据质量各不相同: 专家整理的来源应比计算预测获得更高权重
  5. 需要结合生物学进行解读: 必须结合生物学和临床背景解读评分和证据
  6. 无需身份验证: 所有数据均可免费访问,但请正确引用

评论

支持 Markdown