mcpField
O
opentargets-database

opentargets-database

github.com/davila7数据与数据库33.0k219 次安装今天更新
代码仓库

关于 opentargets-database

opentargets-database 是查询 Open Targets Platform GraphQL API 的技能,该平台整合公开生物医学数据以支持靶点与疾病研究。它通过辅助脚本和 API 指引,帮助药物发现研究者评估靶点、证据和现有疗法。

主要功能

  1. 01搜索靶点、疾病和药物
  2. 02获取靶点注释与安全性数据
  3. 03查看靶点—疾病证据
  4. 04查找已知药物及临床阶段
  5. 05按评分查询关联
  6. 06执行自定义 GraphQL 查询

适用场景

  1. 01为疾病寻找候选靶点
  2. 02评估靶点可成药性与安全性
  3. 03探索药物再利用机会
  4. 04了解靶点相关的临床进展

安装

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

$npx skills add https://github.com/davila7/claude-code-templates --skill opentargets-database

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api_reference.md
evidence_types.md
target_annotations.md
scripts/
query_opentargets.py

详细介绍

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