孟德尔随机化的工具变量怎么选?完整筛选步骤
简要回答:工具变量要同时满足三条核心假设:与暴露强相关、与混杂因素无关、只通过暴露影响结局。实际操作按"显著性阈值 → 连锁不平衡去除 → F 统计量 → 等位基因对齐 → 排除混杂相关位点"的顺序筛选,再用多种敏感性分析验证结果稳健。
先理解三条核心假设
孟德尔随机化(MR)用遗传变异(通常是 SNP)作为工具变量,推断暴露对结局的因果效应。工具变量必须满足:
- 关联性:SNP 与暴露强相关;
- 独立性:SNP 与暴露—结局之间的混杂因素无关;
- 排他性:SNP 只通过暴露影响结局,不存在其他通路(水平多效性)。
第 1 条可以用数据检验,第 2、3 条只能尽量排除和做敏感性分析,这也是审稿人最常追问的地方。
常规筛选步骤
- 显著性阈值:从暴露的 GWAS 汇总数据中选取 P < 5×10⁻⁸ 的 SNP;如果符合条件的位点太少,有研究会放宽到 5×10⁻⁶,但需要在文中说明理由。
- 去除连锁不平衡:常用 r² < 0.001、窗口 10000 kb 进行 clumping,保证工具变量彼此独立。
- 弱工具变量检验:计算每个 SNP 的 F 统计量(近似为 β²/SE²),一般要求 F > 10。
- 等位基因对齐:把暴露和结局数据的效应等位基因统一方向,处理回文 SNP。
- 排除混杂相关位点:在公开数据库中查询每个 SNP 是否与已知混杂因素或结局直接相关,相关的予以剔除。
- 方向性检验:可用 Steiger 检验确认 SNP 解释暴露的方差大于解释结局的方差。
在 R 里怎么做
常用 TwoSampleMR 包,主要函数:
| 步骤 | 函数 |
|---|---|
| 提取暴露工具变量 | extract_instruments() |
| 去除连锁不平衡 | clump_data() |
| 提取结局数据 | extract_outcome_data() |
| 等位基因对齐 | harmonise_data() |
| 主分析 | mr() |
| 异质性 / 多效性 | mr_heterogeneity()、mr_pleiotropy_test() |
结果要做哪些敏感性分析
主分析一般用逆方差加权(IVW),同时报告 MR-Egger、加权中位数等方法;用 Cochran's Q 看异质性,MR-Egger 截距看水平多效性,留一法看是否由单个 SNP 驱动,必要时用 MR-PRESSO 识别离群值。几种方法方向一致,结论才更有说服力。
什么时候需要找导师
如果你卡在数据来源选择(样本是否重叠、人群是否一致)、结果不一致不知道怎么解释,或者审稿人质疑多效性,找做过 MR 的导师逐步核对思路会省很多时间。
常见追问
工具变量 SNP 太少怎么办?
可以适当放宽显著性阈值(如 5×10⁻⁶)并在文中说明,同时报告 F 统计量证明不是弱工具变量;也可以考虑换用样本量更大的 GWAS 数据。
暴露和结局数据可以来自同一个人群吗?
两样本 MR 一般要求两组数据样本不重叠或重叠很少,否则可能造成偏倚;人群祖源最好一致,例如都是欧洲人群。
IVW 显著但 MR-Egger 不显著,结论还成立吗?
MR-Egger 统计效能较低,结果不显著不一定否定结论;关键看各方法效应方向是否一致、截距检验是否提示多效性,并如实讨论。
本文由鉴刊课堂教研组整理,仅介绍科研方法,供学习参考。鉴刊课堂只提供方法指导,不代写论文、不代做数据分析。
