MVMR有几点注意事项:
(1)选择的几个暴露彼此之间应该存在一定的关联,比如高密度脂蛋白(HDL),低密度脂蛋白(LDL)和甘油三酯(TG)等。
(2)一般来说,SNP只要与其中一个暴露强相关即可
(3)应该提取SNP在所有暴露和结局中的信息,不能有缺失
(4)进行MVMR分析需要关于暴露和结局的完整GWAS结果
最明显的就是存在多个暴露
举个栗子,某人爱喝酒,也爱吸烟。要看这两个暴露对冠心病的影响。前提,知道吸烟和饮酒经常(75%)同时发生在一个人身上,那么做法就是找出爱喝酒爱吸烟共同的SNP,看此SNP和冠心病的关联。
MVMR其实很简单,就是在回归模型里多加了几个自变量而已。
接下来,我们将以“TwoSampleMR”包进行简单实践:
library(TwoSampleMR)
id_exposure <- c("ieu-a-299","ieu-a-300", "ieu-a-302") # 三个暴露分别是HDL cholesterol,LDL cholesterol和Triglycerides
id_outcome <- "ieu-a-7" #冠心病SNP
exposure_dat <- mv_extract_exposures(id_exposure)
dim(exposure_dat)
# [1] 432 9
View(exposure_dat)
我们可以看一下暴露数据的格式,这里总共有144个SNP,每个SNP对应于三个暴露的信息,因此会有上述的144*4 = 432行数据。
outcome_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()函数来帮助你去除不必要的暴露。