用途
本技能用于系统性地探索疾病、药物与变异之间的关系,数据来源为 KEGG 的策展数据库。KEGG 将疾病映射到通路、将药物映射到靶点,而本技能的核心价值在于揭示这些条目之间的连接:哪些通路将疾病基因与药物靶点联系起来。这是一个网络问题,而非简单的查找。
主要能力
技能包含 12 个工具:
- KEGG_search_disease:按关键词搜索疾病条目
- KEGG_get_disease:按疾病 ID(如 H00004)获取疾病详情,包括基因、药物、通路
- KEGG_get_disease_genes:获取某疾病的全部关联基因
- KEGG_search_drug:按关键词搜索药物条目
- KEGG_get_drug:按药物 ID(如 D00123)获取药物详情,包括靶点、通路、代谢
- KEGG_get_drug_targets:获取某药物的分子靶点
- KEGG_search_network:搜索疾病-基因-药物网络条目
- KEGG_get_network:按网络 ID 获取网络详情与关系
- KEGG_search_variant:按关键词搜索变异条目
- KEGG_get_variant:按变异 ID 获取变异详情与疾病关联
- KEGG_convert_ids:将 KEGG 基因/化合物 ID 转换为外部 ID(uniprot、ncbi-geneid、ncbi-proteinid、chebi、pubchem),仅支持 KEGG 到外部
- KEGG_link_entries:查找跨数据库关系,例如某通路关联的全部基因、某疾病关联的全部药物
使用方式
典型工作流分为五个阶段:
- 疾病查询:使用 KEGG_search_disease 搜索疾病,再用 KEGG_get_disease 获取详情。
- 疾病基因:使用 KEGG_get_disease_genes 获取关联基因。
- 药物搜索:使用 KEGG_search_drug 按名称、靶点或关键词查找药物,再用 KEGG_get_drug 获取详情。
- 药物靶点:使用 KEGG_get_drug_targets 获取分子靶点。
- 网络与变异上下文:使用 KEGG_search_network 和 KEGG_get_network 探索疾病-基因-药物网络,使用 KEGG_search_variant 和 KEGG_get_variant 获取变异注释。
示例代码(来自资料):
from tooluniverse import ToolUniverse
tu = ToolUniverse()
tu.load_tools()
# 1. 查找 BRAF 相关疾病
diseases = tu.tools.KEGG_search_disease(keyword="BRAF")
# 2. 获取黑色素瘤的疾病基因
genes = tu.tools.KEGG_get_disease_genes(disease_id="H00038")
# 3. 搜索靶向 BRAF 的药物
drugs = tu.tools.KEGG_search_drug(keyword="BRAF inhibitor")
# 4. 获取维莫非尼的靶点
targets = tu.tools.KEGG_get_drug_targets(drug_id="D09996")
# 5. 获取 BRAF 变异信息
variants = tu.tools.KEGG_search_variant(keyword="BRAF V600E")
# 6. 探索疾病-基因-药物网络
networks = tu.tools.KEGG_search_network(keyword="BRAF melanoma")
ID 转换与交叉链接:
# 将 KEGG 人类基因 ID 转换为 UniProt 登录号(多个 ID 用 + 连接)
result = tu.tools.KEGG_convert_ids(kegg_id="hsa:672+hsa:675", target_db="uniprot")
# result['data'] -> [{"kegg_id": "hsa:672", "external_id": "up:P38398"}, ...]
# 将 KEGG 基因 ID 转换为 NCBI Gene ID
result = tu.tools.KEGG_convert_ids(kegg_id="hsa:672", target_db="ncbi-geneid")
反向转换方面,KEGG 人类基因 ID 就是 hsa: 加上 NCBI Gene ID(NCBI Gene 672 即 hsa:672);没有外部到 KEGG 的转换工具。
使用 KEGG_link_entries 检索 KEGG 数据库之间的关系:
# 查找包含某基因的全部 KEGG 通路 ID
result = tu.tools.KEGG_link_entries(source="hsa:7157", target="pathway")
# 查找某通路关联的全部基因
result = tu.tools.KEGG_link_entries(source="hsa05210", target="hsa")
适用场景
- 某疾病在 KEGG 中关联哪些基因?
- 查找靶向某基因/通路的 KEGG 药物
- 某疾病在 KEGG 中关联哪些变异?
- 展示某病症的 KEGG 疾病-基因-药物网络
- 查找靶向癌症中 BRAF 变异的药物
- 药物重定位假设:判断药物-靶点关系是直接的(药物结合基因产物)还是间接的(药物影响包含该基因的通路),直接关系证据更强
- 精准肿瘤学:KEGG 变异条目通常经过临床意义策展,变异与药物条目的关联可指示已确立的药物基因组学或精准肿瘤学关系
限制
- KEGG 覆盖并非穷尽,未出现在 KEGG 中不代表没有生物学参与;建议用 Reactome、WikiPathways 或 CTD 补充。
- ID 命名空间差异是常见错误来源:KEGG 使用自己的基因 ID(如 TP53 为 hsa:7157),查询 KEGG 专用工具前需先转换外部 ID。
- KEGG_convert_ids 仅支持 KEGG 到外部,不支持外部到 KEGG。
- 不要凭记忆假设 KEGG 疾病 ID、药物 ID 或基因 ID,应先用搜索工具查询;不要假设哪些通路连接疾病基因与药物,应使用 KEGG_link_entries 和 KEGG_get_network 获取实际连接。
- 药物条目详细程度不一:已批准药物通常有完整的靶点、通路和代谢信息,研究性化合物可能条目不完整。
- 结果解释需进行证据分级:强证据为 KEGG 疾病条目含策展基因列表、药物有确认靶点、通路有机制关联;中等为疾病-基因关联存在但无药物-靶点验证;弱为仅关键词搜索命中;不足为未找到 KEGG 条目。
与其他技能的集成
- 通路详情:使用 tooluniverse-systems-biology 进行 Reactome/WikiPathways 交叉引用
- 药物机制:使用 tooluniverse-drug-mechanism-research 获取 ChEMBL/DailyMed MOA
- 临床变异:使用 tooluniverse-cancer-variant-interpretation 获取 CIViC/ClinVar
- 药物安全:使用 tooluniverse-adverse-event-detection 获取 FAERS 数据
输出
生成 Markdown 报告,包含:疾病摘要(KEGG ID、名称、关联基因/通路)、带 KEGG 基因 ID 和符号的基因列表、带靶点和机制的候选药物、网络关系(疾病-基因-药物三角)、以及可用的变异注释。