关于 tooluniverse-pathway-disease-genetics
这是一项 ToolUniverse 技能,用于将 GWAS 变异关联到基因、通路、疾病机制和潜在药物靶点。它面向研究遗传证据的人员,涵盖变异注释、通路富集和可成药性评估。
主要功能
- 01收集 GWAS 变异与性状
- 02注释变异并检查 eQTL
- 03跨数据库进行通路富集
- 04评估药物靶点与药物现状
- 05按证据优先排序候选靶点
适用场景
- 01研究疾病 GWAS 涉及的通路
- 02评估候选基因的可成药性
- 03从 GWAS 证据寻找药物靶点线索
MCP 相关
该技能使用 ToolUniverse 工具查询 GWAS、变异、表达、通路和药物靶点资源;输入未说明 MCP 服务或其向客户端提供的接口。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-pathway-disease-genetics安装后在 Claude Code 中输入/tooluniverse-pathway-disease-genetics确认已加载。
详细介绍
计算,而非描述
当分析需要计算(统计、数据处理、评分、信息补充)时,请通过 Bash 编写并运行 Python 代码。不要描述你会如何操作,而要实际执行并报告结果。使用 ToolUniverse 工具检索数据,然后通过 Python(pandas、scipy、statsmodels、matplotlib)进行分析。
通路-疾病遗传学:从 GWAS 到药物靶点
将全基因组关联研究(GWAS)变异与生物学通路联系起来,以深入理解机制并发现药物靶点。
适用场景
- “根据 GWAS,[疾病] 中有哪些通路受到干扰?”
- “[性状] 的 GWAS 基因中,哪些位于可成药通路?”
- “将 [SNP/变异] 映射到其因果基因和通路”
- “根据 [疾病] 的 GWAS 数据寻找药物靶点”
- “[基因] 在 [组织] 中有哪些 eQTL 证据?”
核心推理原则
基因到通路的推理
在 GWAS 中发现某个基因,并不能说明哪个通路发生了失调。要将基因 -> 通路 -> 疾病机制联系起来,需要思考:这个基因参与什么生物过程?使用 Reactome/KEGG 查找通路,然后思考:这些通路中,哪些与疾病表型相关?
例如,TCF7L2 是 T2D GWAS 中关联最强的基因。它参与 Wnt 信号通路。接下来要思考:Wnt 信号通路受到干扰后,如何损害 β 细胞功能或胰岛素分泌?这一推理步骤——从通路成员身份推导到疾病机制——需要结合通路数据、组织表达(GTEx)和疾病生物学。
非编码 GWAS 变异占多数,很少影响最近的基因。它们通过调控元件发挥作用,改变有时相距数百千碱基的基因表达。在认定最近的基因为因果基因之前,务必检查 eQTL 证据。
通路汇聚
多个疾病基因映射到同一通路,比单个基因提供的证据更有力。如果某种疾病的 5 个 GWAS 信号都映射到 NF-kB 通路,这是有力的机制证据——该通路很可能具有因果作用,而非仅仅偶然受到影响。如果 GWAS 基因分散在彼此无关的通路中,机制就不明确,此时可能需要检查上游调控因子,或能连接这些分散基因的基因网络枢纽。
进行富集分析(Reactome、KEGG、STRING)时,优先考虑在多个数据库中出现的通路。在三个数据库中都富集的通路,比仅在一项分析中出现的通路更可靠。
可成药性推理
已有药物靶向其组成部分的通路,比新颖的通路更具实际价值。在提出新靶点之前,先检查通路成员中是否已有药物靶点。使用 DGIdb 和 OpenTargets 调查该通路中已获批及临床阶段的药物。
优先级:(1)已获批用于其他适应症的药物,作用于 GWAS 支持的靶点 = 具有很强的药物再利用机会;(2)临床试验中的药物,作用于 GWAS 支持的靶点 = 可加速验证;(3)具有成药性的基因,无现有药物且 GWAS 证据强 = 新靶点机会。
当前治疗手段无法成药,并不意味着永远无法成药。应标记此类基因,但不要将其排除——它们可能通过基因治疗、RNA 疗法或下游通路干预发挥作用。
工具选择指南
阶段 1:疾病解析与 GWAS 数据收集
首先将疾病名称解析为本体 ID:
OpenTargets_multi_entity_search_by_query_string(queryString=<disease>)— 返回 EFO/MONDO ID
收集 GWAS 信号:
gwas_search_associations(query=<disease>)— 广泛搜索gwas_get_variants_for_trait(trait=<trait>, p_value_threshold=5e-8)— 全基因组显著信号gwas_get_snps_for_gene(gene_symbol=<gene>)— 以基因为中心的搜索
注意: gwas_get_associations_for_trait 已损坏——请改用 gwas_search_associations。gwas_get_snps_for_gene 使用 gene_symbol,而不是 mapped_gene。
阶段 2:变异注释和 eQTL 证据
注释变异:
EnsemblVEP_annotate_rsid(variant_id=<rsid>)— 功能后果、最近基因- 响应格式不固定:可能是列表、
{data, metadata}或{error}— 需处理这三种情况
在与疾病相关的组织中查询 eQTL 证据(例如,T2D 查询胰腺,神经系统疾病查询脑组织):
GTEx_query_eqtl(gene_input=<gene>, tissue=<tissue>)— 切勿传入空的gene_inputGTEx_get_expression_summary(gene_input=<gene>)— 跨所有组织的表达情况GTEx_get_median_gene_expression(gencode_id=[<versioned_id>], tissue_site_detail_id=[<tissue>])— 使用带版本号的 Ensembl ID(例如ENSG00000148737.11)和gtex_v8
阶段 3:通路富集
在多个数据库中运行富集分析,并交叉验证结果:
ReactomeAnalysis_pathway_enrichment(identifiers="P04637 P38398 ...")— 以空格分隔的 UniProt STRING,而非数组Reactome_map_uniprot_to_pathways(uniprot_id=<id>)— 查询单个基因所属的通路Reactome_get_participants(pathway_id=<R-HSA-XXXXX>)— 获取通路中的所有基因KEGG_get_gene_pathways(gene_id=<kegg_id>)— 查询单个基因对应的 KEGG 通路kegg_search_pathway(query=<disease_or_process>)— 关键词搜索STRING_functional_enrichment(protein_ids=[<genes>], species=9606)— 提供带 FDR 的 GO/KEGG/Reactome 结果PANTHER_enrichment(gene_list="GENE1,GENE2,...", organism=9606, annotation_dataset="GO:0008150")— 以逗号分隔的 STRING,而非数组
**MetaCyc 说明:**目前不可用(BioCyc 需要身份验证)。代谢通路请使用 KEGG 或 Reactome。
阶段 4:药物可开发性和药物格局
DGIdb_get_gene_druggability(genes=[<gene_list>])— 类别:临床可用、可成药等DGIdb_get_drug_gene_interactions(genes=[<gene_list>])— 使用genes参数(数组),而非gene_nameOpenTargets_get_associated_drugs_by_target_ensemblID(ensemblId=<id>)— 已批准药物和临床药物OpenTargets_target_disease_evidence(ensemblId=<id>, efoId=<disease_id>)— 遗传及其他证据评分
三步工作流
步骤 1:从 GWAS 到因果基因
- 通过
OpenTargets_multi_entity_search_by_query_string解析疾病 ID - 使用
gwas_get_variants_for_trait获取 GWAS 命中结果(p < 5e-8) - 使用 VEP 注释每个领先 SNP — 判断其为编码变异还是非编码变异
- 对于非编码变异,通过 GTEx 查询疾病相关组织中的 eQTL
- 优先考虑满足以下条件的基因:GWAS SNP 同时是显著 eQTL,且组织在生物学上与疾病相关
- 使用
OpenTargets_target_disease_evidence交叉核查其他遗传证据
证据等级:高 = GWAS p < 5e-8 + 相关组织中的 eQTL 共定位 + 编码变异;中 = GWAS p < 5e-8 + 任意组织中的 eQTL;低 = GWAS p < 5e-8 + 仅基于位置的映射。
步骤 2:从基因集到通路富集
- 收集步骤 1 中优先考虑的基因列表
- 运行
ReactomeAnalysis_pathway_enrichment和STRING_functional_enrichment - 通过
KEGG_get_gene_pathways将每个基因映射到 KEGG 通路 - 找出出现在多个数据库中的通路(结果趋同意味着证据更强)
- 对于代谢疾病,使用
humanbase_ppi_analysis补充组织特异性网络背景(必须提供全部 5 个参数:gene_list、tissue、max_node、interaction、string_mode) - 根据富集 FDR x GWAS 基因数量 x 生物学合理性对通路排序
第 3 步:通往药物靶点
- 从富集通路中,通过
Reactome_get_participants和KEGG_get_pathway_genes提取所有成员基因 - 通过
DGIdb_get_gene_druggability评估可成药性 - 通过
OpenTargets_get_associated_drugs_by_target_ensemblID查询现有药物 - 将通路基因与 GWAS 基因交叉比对:重叠基因 = 顶级候选
- 对每个候选进行分类:药物再利用机会 / 新靶点 / 当前不可成药
最终排名:遗传学证据 x 可成药性 x 通路中心性。标记新靶点(遗传学证据强 + 无现有药物)和药物再利用机会(已批准药物 + 在该疾病中有遗传学支持)。
关键参数注意事项
gwas_get_snps_for_gene:使用gene_symbol,而不是mapped_geneOpenTargets_multi_entity_search_by_query_string:使用queryString,而不是queryGTEx_query_eqtl:gene_input绝不能留空GTEx_get_median_gene_expression:使用带版本号的 gencode ID;使用gtex_v8ReactomeAnalysis_pathway_enrichment:identifiers是以空格分隔的 STRING,而不是数组DGIdb_get_drug_gene_interactions:使用genes(数组),而不是gene_namePANTHER_enrichment:gene_list是以逗号分隔的 STRING,而不是数组humanbase_ppi_analysis:必须提供全部 5 个参数EnsemblVEP_annotate_rsid:使用variant_id,而不是rsidkegg_find_genes:查询人类基因时,需包含organism="hsa"
局限性
- GTEx eQTL 查询并非正式的统计共定位分析(coloc/ENLOC)——应将其视为提示性证据
- GWAS Catalog 可能未收录近期发表的研究;请与 Open Targets 交叉核查
- Reactome 和 KEGG 对通路的定义不同;某些生物学过程只存在于其中一个数据库
- DGIdb 的可成药性分类采用启发式方法——“不可成药”仅适用于当前的治疗方式
- eQTL 具有组织特异性;查询错误的组织可能会遗漏因果效应
相关技能
- tooluniverse-gwas-trait-to-gene:专注于 GWAS 到基因的映射
- tooluniverse-gene-enrichment:详细的富集分析
- tooluniverse-drug-target-validation:深入的靶点验证
- tooluniverse-network-pharmacology:网络层面的药物分析
- tooluniverse-variant-functional-annotation:详细的变异解读