首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >多变量孟德尔随机化研究(MVMR)简介

多变量孟德尔随机化研究(MVMR)简介

作者头像
生信与临床
发布2022-08-21 17:04:29
发布2022-08-21 17:04:29
8.8K0
举报

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍前两期讲完了双向和两步孟德尔随机化研究的基本思路,其实它们都是从双样本孟德尔随机化(two sample Mendelian randomization, TSMR)衍生出来的,本质上没有区别。但是今天讲的多变量孟德尔随机化研究(multivariable Mendelian randomization, MVMR)和通常的双样本是有区别,其基本原理如下图所示:

这里有几点注意事项:

(1)选择的几个暴露彼此之间应该存在一定的关联,比如高密度脂蛋白(HDL),低密度脂蛋白(LDL)和甘油三酯(TG)等。

(2)一般来说,SNP只要与其中一个暴露强相关即可。

(3)应该提取SNP在所有暴露和结局中的信息,不能有缺失。

(4)进行MVMR分析需要关于暴露和结局的完整GWAS结果。

之前我和大家简单讲过IVW的核心算法,R代码如下:

代码语言:javascript
复制
lm(beta.outcome ~ beta.exposure,  weights = 1/se.outcome^2, data = data)

‍‍

在MVMR研究中,R代码如下 (以三个暴露为例):

代码语言:javascript
复制
lm(beta.outcome ~ beta.exposure1 +  beta.exposure2 + beta.exposure3, weights = 1/se.outcome^2, data = data)

MVMR其实很简单,就是在回归模型里多加了几个自变量而已。

接下来,我将以“TwoSampleMR”包及其提供的数据进行简单实践:

代码语言:javascript
复制
library(TwoSampleMR)
id_exposure <- c("ieu-a-299","ieu-a-300", "ieu-a-302") # 三个暴露分别是HDL cholesterol,LDL cholesterol和Triglycerides
id_outcome <- "ieu-a-7"
exposure_dat <- mv_extract_exposures(id_exposure)
dim(exposure_dat)
[1] 432  9

‍‍‍‍‍

我们可以看一下暴露数据的格式,这里总共有144个SNP,每个SNP对应于三个暴露的信息,因此会有上述的144*4 = 432行数据。从下图,我们可以看出SNP rs10490626和HDL没有关联,但是它和LDL强相关,所以我们需要把它纳入研究。

代码语言:javascript
复制
oucome_dat <- extract_outcome_data(exposure_dat$SNP, id_outcome) #提取结局数据
mvdat <- mv_harmonise_data(exposure_dat,  outcome_dat) # 对数据进行harmonisation
res <- mv_multiple(mvdat) #计算结果,大家也可以试试mv_residual()函数
res

‍‍‍‍

结果如下图所示:

从结果我们不难看出,在矫正了其它脂质的影响之后,HDL和冠心病的发病风险没有关联了。如果大家单独算一对一的MR,会发现这三个脂质均和冠心病相关,但在MVMR中HDL的显著性消失了,这和一些临床观测的结果一致(有临床研究观察到HDL并没有之前认为的那种保护作用)。

在进行MVMR研究时,我们不建议使用很多的暴露,因为这会带来比较严重的共线性问题,一般3~5个为宜。如果暴露间的共线性问题比较严重,建议使用“TwoSampleMR”包的mv_lasso_feature_selection()函数来帮助你去除不必要的暴露。

关于多变量孟德尔随机化研究就简单介绍到这里,希望对大家有所帮助!

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

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

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

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

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