孟德尔随机化入门:用公开GWAS数据完整跑一遍
以 BMI 为暴露、2 型糖尿病为结局,从下载公开汇总数据到敏感性分析,一次两样本孟德尔随机化的完整记录。
孟德尔随机化(MR)的原理并不难讲,难的是动手:数据去哪里下、工具变量怎么筛、回文 SNP 怎么处理、结果异质性很大要不要慌。PaperOK科研助手在官网公开了一个生信模式下的真实运行案例,用 GIANT 和 FinnGen 的公开汇总统计,把 BMI 与 2 型糖尿病的两样本 MR 从头到尾跑了一遍。对刚接触这个方法的研究生来说,这份记录可以当作一张流程地图来看。
第一步往往卡在下载
任务很简单:筛选IVs,进行IVW、MR-Egger及加权中位数的分析,做异质性、多效性检验,绘制散点图与森林图。科研助手依次检测数据源的连通性,遇到无法连接的S3地址使用其他下载地址,遇到网速缓慢的情况则采用多线程分段下载,并依索引仅获取所需的位点而非完整文件。
最终选择的数据是:暴露为GIANT 2015的BMI汇总统计(欧洲人群,排除UKBiobank),结局为FinnGen R12的2型糖尿病(82,878例病例,403,489名对照),连锁不平衡参考使用千人基因组EUR。选择无UK Biobank的暴露数据是为了尽可能减少两个样本之间的重叠。
从 1,860 个 SNP 到 67 个工具变量
筛选工具变量是 MR 里最容易出细节错误的一步。案例里的做法依次是:取 p<5×10⁻⁸ 的 1,860 个 SNP,按 r²<0.001 去连锁,剩下 68 个;结局数据里缺失的位点用代理 SNP 补上;逐个对齐效应等位基因,回文 SNP 按等位基因频率判断方向,无法判断的 FTO 位点予以剔除。最终保留 67 个工具变量,F 统计量最小为 29,弱工具变量的问题不大。
三种估计方法的工作分配,新手也应该知道:IVW相当于以精度为权重对每个SNP的估计值进行组合,具有最高的效率,但前提是所有工具变量都是有效的;加权中位数只需要超过一半的权重来自有效的工具变量,更能忍受少数“坏”SNP;MR-Egger允许存在定向多效性,但置信区间更大。三个数据对比起来,方向对、量级对,比只看一个数更有用。案例中MR-Egger的区间跨越了1,是“更保守、也更宽”的体现。
真实运行案例:BMI 与 2 型糖尿病的两样本 MR
BMI 每升高 1 个标准差,2 型糖尿病风险:IVW OR 1.95(1.43–2.66),加权中位数 2.17(1.93–2.44),MR-Egger 2.32(0.92–5.86),三种方法方向一致。异质性检验 Q=1795、I²=96%;Egger 截距 p=0.70,未见定向多效性证据。产出:结果与工具变量表、散点图、森林图、漏斗图、留一法图、分析报告和 5 个 Python 脚本。
异质性 96%,结论还站得住吗
I² 达到 96%,第一次跑 MR 的人看到这个数字多半会紧张。报告没有回避,而是把几项敏感性分析都做了:MR-PRESSO 剔除 11 个离群 SNP,Steiger 方向过滤,留一法逐个剔除,OR 都落在 1.9–2.2 之间;剔除离群 SNP 后,三种方法高度一致,IVW OR 为 2.08(1.87–2.30)。散点图上偏离最远的点是 TCF7L2 位点,这本身也是一个值得在讨论部分写一句的现象。
异质性较强说明每个工具变量给出的结果不整齐,但是Egger截距靠近0,且各种稳健方法的结果方向、大小相近,可以认为至少结果对方法选择是不敏感的。报告局限部分也写明了两份数据可能存在少量的芬兰队列重叠。这样的局限性由作者在论文中坦诚指出,比掩盖它更具说服力。
读这个案例时可以留意的几点
· 数据源选择要写清人群、版本和样本是否重叠
· 工具变量筛选的每一步都会改变 SNP 数量,最好留表记录
· 回文 SNP 和无法对齐的位点,宁可剔除也不要硬凑
· 异质性大时,用多种稳健方法互相印证,再谈结论
这些步骤都是科研助手里真实运行的的代码,脚本与结果表都保存在项目文件夹中,更换一组暴露/结局可以按照相同的方法重新运行。每一步做了什么命令、遇到什么报错、如何绕过,都可以在“工作过程”中展开查看。遇到看不懂的操作步骤也可以直接询问它为什么这么做。
也需提醒:本案例为公开汇总数据,用于演示分析流程。MR的因果性解释依赖于工具变量的几个基本假设,其是否成立、结果如何描述需结合专业背景判断,本文不作临床建议。
关于 PaperOK科研助手
懂科研的 AI 搭档,运行在你的电脑上:文献、数据、写作与汇报,一个对话框完成。支持 macOS、Windows、Linux,免费下载,了解 PaperOK科研助手 免费下载