前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TwoSampleMR包实战教程之敏感性分析

TwoSampleMR包实战教程之敏感性分析

作者头像
生信与临床
发布2022-08-21 16:42:57
2.1K0
发布2022-08-21 16:42:57
举报

当我们计算出MR的结果后,接下来就要进行敏感性分析,这里我们主要从如下三方面进行检验:

(1)异质性检验(Heterogeneity test):主要是检验各个IV之间的差异,如果不同IV之间的差异大,那么这些IV的异质性就大。

(2)多效性检验 (Pleiotropy test):主要检验多个IV是否存在水平多效性,常用MR Egger法的截距项表示,如果该截距项与0差异很大,说明存在水平多效性。除此以外,MR-PRESSO包也是常用的检验水平多效性的R包。

(3)逐个剔除检验 (Leave-one-out sensitivity test):主要是逐个剔除IV后计算剩下IV的MR结果,如果剔除某个IV后其它IV估计出来的MR结果和总结果差异很大,说明MR结果对该IV是敏感的。

首先,我们一起回顾一下往期代码:

代码语言:javascript
复制
library(TwoSampleMR)
bmi_exp <- extract_instruments(
 outcomes='ieu-a-835',
 clump=TRUE, r2=0.01,
 kb=5000,access_token = NULL
  )
dim(bmi_exp)
# [1] 80 15
t2d_out <- extract_outcome_data(
 snps=bmi_exp$SNP,
 outcomes='ieu-a-26',
 proxies = FALSE,
 maf_threshold = 0.01,
 access_token = NULL
)
dim(t2d_out)
# [1] 80 16
 
mydata <- harmonise_data(
       exposure_dat=bmi_exp,
       outcome_dat=t2d_out,
       action= 2
       )
res <- mr(mydata)
res

第一部分 异质性检验

代码如下:

代码语言:javascript
复制
het <- mr_heterogeneity(mydata)
het

从上述结果来看,这些IV之间存在很强的异质性(Q_pval远小于0.05),这时候我们需要剔除某些outcome的P值非常小的SNP,或者直接使用随机效应模型来估计MR效应量,代码如下:

代码语言:javascript
复制
mr(mydata,method_list=c('mr_ivw_mre')) #使用随机效应模型

从随机效应模型的结果不难看出,BMI和二型糖尿病确实存在因果关系(pval < 0.05),并且BMI升高后二型糖尿病发病风险也相应增高(b > 0)。

第二部分 多效性检验

代码如下:

代码语言:javascript
复制
pleio <- mr_pleiotropy_test(mydata)
pleio

从上述结果看,MR-Egger的egger_intercept和0没有统计学差异(pval > 0.05),因此我们可以认为没有水平多效性的存在。

第三部分 逐个剔除检验

代码如下:

代码语言:javascript
复制
single <- mr_leaveoneout(mydata)
mr_leaveoneout_plot(single)

从上图来看,无论去除哪个SNP都不会对结果产生根本影响(所有的线条均在0的右侧),那就是说这个MR结果实际是稳健的。

总结一下,我们利用孟德尔随机化研究发现BMI的升高可以增加二型糖尿病的发病风险,这个结果没有统计学上的水平多效性并且结果比较稳健,针对存在的异质性问题,我们使用随机效应模型来估计效应量

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信与临床 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档