关于 tooluniverse-gwas-finemapping
面向 GWAS 位点因果变异优先级分析的 ToolUniverse 技能,结合可信集、LD、功能注释和基因关联证据。也提供本地统计精细定位、共定位及 TWAS 计算流程。
主要功能
- 01评估变异因果后验概率
- 02分析可信集与 LD 结构
- 03结合 L2G 与功能注释
- 04执行精细定位、共定位和 TWAS
适用场景
- 01筛查 GWAS 位点的候选因果变异
- 02根据表达及功能证据连接变异与基因
- 03对自备汇总统计数据进行计算分析
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-gwas-finemapping安装后在 Claude Code 中输入/tooluniverse-gwas-finemapping确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.env.templatepython_implementation.pytest_skill_comprehensive.py详细介绍
计算,而非描述
当分析需要计算(统计、数据处理、评分、信息补充)时,请通过 Bash 编写并运行 Python 代码。不要描述你打算怎么做,而要实际执行并报告结果。使用 ToolUniverse 工具检索数据,然后使用 Python(pandas、scipy、statsmodels、matplotlib)进行分析。
GWAS 精细定位与因果变异优先级排序
使用统计精细定位和位点到基因预测,识别并优先排序 GWAS 位点上的因果变异。
概述
全基因组关联研究(GWAS)会识别与性状相关的基因组区域,但连锁不平衡(LD)使因果变异难以确定。精细定位使用贝叶斯统计方法,根据 GWAS 汇总统计数据,计算每个变异具有因果性的后验概率。
推理策略——从这里开始: 精细定位要回答的问题是:该位点上的哪个变异具有因果性?请按以下流程分析:
- 先看 LD 结构——处于高 LD(r² > 0.8)的变异无法通过统计方法彼此区分。在认定某个变异是致因变异之前,先通过 Open Targets 或 GWAS Catalog 查询 LD 区块。
- 功能注释可打破 LD 平局——如果两个变异的后验概率相近,但其中一个是编码变异(错义、终止获得),或位于活跃的调控元件(启动子、增强子),则在生物学上优先考虑该变异。功能证据是区分依据。
- eQTL 共定位是关键桥梁——如果某个变异同时也是相关组织中附近基因的显著 eQTL(例如,T2D 位点在胰岛中的 eQTL),就能建立机制层面的解释。通过 Open Targets L2G 分数查询 eQTL 证据;不要假设最近的基因就是效应基因。
此技能提供以下工具:
- 使用精细定位后验概率优先排序因果变异
- 使用位点到基因(L2G)预测将变异与基因关联
- 使用功能后果注释变异
- 根据精细定位结果提出验证策略
关键概念
可信集合
可信集合是一个最小变异集合,以较高置信度(通常为 95% 或 99%)包含因果变异。集合中的每个变异都有一个具有因果性的后验概率,可通过以下方法计算:
- SuSiE(单效应之和)
- FINEMAP(贝叶斯精细定位)
- PAINTOR(概率注释整合器)
后验概率
在给定 GWAS 数据和 LD 结构的情况下,特定变异具有因果性的概率。后验概率越高,变异越可能具有因果性。
位点到基因(L2G)预测
L2G 分数整合多种数据类型,预测变异会影响哪个基因:
- 与基因的距离(越近,分数越高)
- eQTL 证据(表达变化)
- 染色质相互作用(Hi-C、启动子捕获)
- 功能注释(编码变异、调控区域)
L2G 分数范围为 0 到 1,分数越高表示基因与变异之间的关联越强。
精细定位推理框架(重要)
查询,不要猜测——绝不要假设领先 SNP 就是因果变异。务必使用下方工具检查 LD 结构、可信集合和功能注释。
步骤 1:领先 SNP 与因果变异
领先 SNP(P 值最显著的 SNP)通常并非因果变异。它只是基因分型芯片上被标记效果最好的变异。因果变异可能:
- 与领先 SNP 完全处于 LD(r2 > 0.95),但具有功能性后果
- 是芯片上未包含的非编码调控变异
- 是该位点多个独立信号之一(条件分析可揭示多个信号)
操作:始终针对领先 SNP 调用 OpenTargets_get_variant_credible_sets。如果后验概率 < 0.5,则领先 SNP 很可能不是因果变异——请检查可信集合中的其他变异。
步骤 2:LD 结构解读
LD 区块定义了精细定位的分辨率上限:
- 紧密 LD 区块(变异数量少,r2 > 0.9):可信集较小;功能注释可作为决胜依据
- 宽泛 LD 区块(变异数量多):可信集较大;仅靠统计精细定位还不够——需要功能数据(eQTL、染色质、CRISPR)
- 人群很重要:欧洲、非洲、东亚人群的 LD 模式各不相同。非洲人群的 LD 区块较短,精细定位分辨率更高。请确认 GWAS 是在哪个人群中开展的。
步骤 3:可信集分析
解读可信集时:
- 数量很重要:95% 可信集包含 1-3 个变异 = 分辨率高。包含 50 个以上变异 = 分辨率低,需要更多数据。
- 后验概率分布:如果一个变异的 PP > 0.5,它就是明显的首选。如果 PP 均匀分布在许多变异上,则无法通过统计方法确定单个因果变异。
- 单个位点有多个可信集:表示存在多个独立因果信号(等位基因异质性)。每个可信集代表不同的因果机制。
步骤 4:共定位推理
共定位旨在判断两个关联信号(例如 GWAS + eQTL)是否共享同一个因果变异。
- 较高的 L2G 分数(> 0.7)+ 相关组织中的 eQTL:有力证据表明该变异通过改变基因表达影响疾病
- GWAS 信号较强,但没有 eQTL:该变异可能通过蛋白质编码改变、剪接,或尚未分析的组织/细胞类型发挥作用
- 远端基因(非最近基因)的 eQTL:效应基因不是最近的基因。查询 L2G 分数——不要默认最近的基因
步骤 5:优先级决胜依据
当多个变异的后验概率相近时:
- 编码变异(错义、终止增益)> 调控变异 > 内含子变异 > 基因间变异
- 在疾病相关组织中带有活性染色质标记(H3K27ac、H3K4me1)
- 破坏转录因子结合基序
- 在不同物种间保守(PhyloP、GERP)
- 在疾病相关组织中存在效应方向一致的 eQTL
常见查询
- “TCF7L2 位点上的哪个变异可能是 2 型糖尿病的因果变异?” → 使用
OpenTargets_get_variant_credible_sets或gwas_search_snps,并设置 gene=TCF7L2 - “对 rs429358(APOE4)进行精细定位” → 使用
OpenTargets_get_variant_info,然后使用OpenTargets_get_variant_credible_sets - “GWAS 研究 GCST90029024 中的所有因果位点” → 使用
OpenTargets_get_study_credible_sets - “阿尔茨海默病的 GWAS 研究” → 使用
OpenTargets_search_gwas_studies_by_disease或gwas_search_studies
使用的工具
Open Targets Genetics(GraphQL)
OpenTargets_get_variant_info:变异详情和等位基因频率OpenTargets_get_variant_credible_sets:包含某个变异的可信集OpenTargets_get_credible_set_detail:可信集详细信息OpenTargets_get_study_credible_sets:GWAS 研究中的所有位点OpenTargets_search_gwas_studies_by_disease:按疾病查找研究
GWAS Catalog(REST API)
gwas_search_snps:按基因或 rsID 查找 SNPgwas_get_snp_by_id:SNP 详细信息gwas_get_associations_for_snp:某个变异的所有性状关联gwas_search_studies:按疾病/性状查找研究
自助式统计精细定位、共定位和 TWAS
本技能上文的“局限性”一节已指出,Open Targets 尚未对所有已发表的 GWAS 位点进行精细定位。如果某个位点没有预先计算的 OpenTargets_get_variant_credible_sets/OpenTargets_get_study_credible_sets 结果,可以使用三个本地计算工具,直接根据你已有或从其他来源获取的每个 SNP 的原始汇总统计数据(beta、标准误、SNP ID)自行运行统计分析:
Finemap_credible_set(beta=[...], se=[...], snp=[...], coverage=0.95, sd_prior=...)— 使用 Wakefield 近似贝叶斯因子,对单个因果变异进行精细定位。返回每个 SNP 的后验纳入概率(PIP)、top_snp/top_pip,以及达到指定覆盖率的可信集合。已在线验证:{"n_snps": 6, "top_snp": "rs3", "top_pip": 1.0, "credible_set": [...]}。Coloc_abf_test(beta1=[...], se1=[...], beta2=[...], se2=[...], snp=[...], p1=..., p2=..., p12=...)— 贝叶斯共定位(coloc.abf,Giambartolomei 2014),用于检验同一组 SNP 上的两个信号(例如 GWAS 命中位点和 eQTL)是否共享一个因果变异。返回五个后验概率 PP0-PP4(PP4 = 共享因果变异——应首先查看的数值)。已在线验证:一个包含 6 个 SNP 的示例区域返回了实际后验概率。SPrediXcan_associate(weight=[...], gwas_z=[...], snp_sd=[...], covariance=..., snp=[...])— 基于汇总数据的全转录组关联分析(S-PrediXcan,Barbeira 2018):将某个基因的 eQTL 预测权重与 GWAS 每个 SNP 的 z 分数结合起来,检验该基因的预测表达量(而不仅仅是附近变异)是否与性状相关。返回 TWAS z 分数、p 值和方向。已在线验证:{"twas_zscore": 4.73, "p_value": 2.2e-06, ...}。
原始输入的获取方式:这三个工具会对你提供的数组进行计算,不会自行获取汇总统计数据。src/tooluniverse/data/gwas_sumstats_tools.json 中的 3 个工具(GWASSumStats_list_studies、GWASSumStats_get_trait_studies、GWASSumStats_get_region_associations)原本就是为此而设计的,但截至本文撰写时,这三个工具均已失效:EBI 已全面弃用 GWAS 汇总统计 REST API,每次调用都会返回明确的 410 Gone(“This API has been deprecated. For ways to access summary statistics see: https://www.ebi.ac.uk/gwas/docs/methods/summary-statistics”);这一点已通过 tu test 和直接对同一端点执行独立的 curl 请求予以确认。不要通过 GWASSumStats_* 构建工作流并指望它正常运行;请使用该文档页面链接的 GWAS Catalog 当前批量下载/FTP 方式或其他来源获取区域级汇总统计数据,然后将得到的 beta/SE/SNP 数组传入上述三个计算工具。
理解精细定位输出
解读后验概率
- > 0.5:很可能是因果变异(强候选)
- 0.1 - 0.5:可能是因果变异
- 0.01 - 0.1:可能是因果变异,但不确定
- < 0.01:不太可能是因果变异
解读 L2G 分数
- > 0.7:基因-变异关联的置信度高
- 0.5 - 0.7:置信度中等
- 0.3 - 0.5:关联较弱,但仍有可能
- < 0.3:置信度低
常见问题
问:为什么并非所有变异都有可信集合? 答:精细定位需要:
- GWAS 汇总统计数据(不仅仅是最显著的命中结果)
- LD 参考面板
- 足够强的信号(p < 5e-8)
- 计算资源
问:一个变异可以属于多个可信集合吗? 答:可以!一个变异可能是多个性状的因果变异(多效性),也可能出现在同一性状的不同研究中。
问:如果排名最高的 L2G 基因离变异很远,该怎么办? 答:这表明可能存在调控效应(增强子、启动子)。请检查:
- 相关组织中的 eQTL 证据
- 染色质互作数据(Hi-C)
- 调控元件注释(Roadmap、ENCODE)
问:如何在可信集合中的变异之间进行选择? 答:按以下优先级筛选:
- 后验概率(越高越好)
- 功能后果(编码区 > 调控区 > 基因间区)
- eQTL 证据
- 进化保守性
- 实验可行性
局限性
- 依赖 LD:精细定位的准确性取决于 LD 结构是否与研究人群相匹配
- 需要汇总统计数据:并非所有研究都会提供完整的汇总统计数据
- 计算密集:对大型研究进行精细定位需要大量资源
- 先验假设:贝叶斯方法依赖先验假设(因果变异的数量、效应大小)
- 数据缺失:Open Targets 中并非所有 GWAS 位点都经过精细定位
最佳实践
- 探索新疾病时,先从研究级查询开始
- 检查多项研究,确认信号是否可重复
- 结合功能数据(eQTL、染色质、CRISPR 筛选)
- 考虑祖源——不同人群的 LD 存在差异
- 通过实验验证——精细定位提供的是候选对象,而非确凿证据
参考文献
- Wang 等人(2020)《一种简单的新型回归变量选择方法及其在遗传精细定位中的应用》JRSS-B(SuSiE)
- Benner 等人(2016)《FINEMAP:使用全基因组关联研究汇总数据进行高效变量选择》Bioinformatics
- Ghoussaini 等人(2021)《Open Targets Genetics:利用大规模遗传学和功能基因组学系统识别与性状相关的基因》NAR
- Mountjoy 等人(2021)《一种开放式方法,用于对所有已发表的人类 GWAS 性状相关位点中的因果变异和基因进行系统性优先排序》Nat Genet
相关技能
- tooluniverse-gwas-explorer:更广泛的 GWAS 分析
- tooluniverse-eqtl-colocalization:将变异与基因表达关联起来
- tooluniverse-gene-prioritization:系统性基因排序