美文网首页
多变量(暴露因素)对一个结局的MR分析

多变量(暴露因素)对一个结局的MR分析

作者: wo_monic | 来源:发表于2024-03-14 09:32 被阅读0次

多变量MR:
「目的」:同时评估多个暴露对一个结果的联合影响。
「[如何工作」:为每个暴露选择一组SNP作为工具变量。
「应用场景」:当我们想要了解多个暴露与一个结果之间的相互作用和联合效应时,
[例子」:探究脂肪摄入量和盐摄入量如何同时影响高血压的风险。使用与脂肪摄入和盐摄入关联的SNP作为工具变量来评估它们对高血压风险的联合影响。

挑选多对一的结局的注意事项

  1. 几个暴露因素之间最好是存在一定的相关性
  2. SNP只要与其中一个暴露强相关即可
  3. 应该提取SNP在所有暴露和结局中的信息,不能有缺失。 即使用的SNP应该在所有的暴露和结局中都应该存在。
  4. 该分析需要关于暴露和结局的完整GWAS结果

此实验是评估三个暴露因素,高密度胆固醇、低密度胆固醇、总胆固醇对冠状动脉心脏病的影响

##多个暴露因素对一个结局变量的影响
#此实验是评估三个暴露因素,高密度胆固醇、低密度胆固醇、总胆固醇对冠状动脉心脏病的影响
#HDL、LDL 和总胆固醇的 GWAS ID 为 ieu-a-299、ieu-a-300和 ieu-a-302。冠心病 (CHD) 的 GWAS ID 是 ieu-a-7。在本例中,我们将估计 HDL、LDL 和总胆固醇对 CHD 的多变量影响
rm(list = ls())
library("TwoSampleMR")
library(phenoscanner)
library(MRInstruments) ##该软件包包含许多 data.frames,其中每个都是 SNP 与性状关联的存储库。
library(ieugwasr) #一定要有这句话,否则会报错Error in r$status_code : $ operator is invalid for atomic vectors
library(tidyverse)

#ieu-a-299是高密度脂蛋白胆固醇HDL 
#ieu-a-300是低密度脂蛋白胆固醇
#ieu-a-302是甘油三酯,总胆固醇
#ieu-a-7是冠状动脉心脏病
id_exposure <- c("ieu-a-299", "ieu-a-300", "ieu-a-302") 
id_outcome <- "ieu-a-7"

#注意:此处的获取函数,是获取多个暴露因素的函数
mv_exposure_dat <- mv_extract_exposures(id_exposure) 
#mv_extract_exposures_local() #如果要是从本地读取,则使用这个函数

#提取暴露因素对应的SNP的结局变量
mv_outcome_dat <- extract_outcome_data(mv_exposure_dat$SNP, id_outcome) 

#协调结果,获取相同的参考等位基因
mvdat <- mv_harmonise_data(mv_exposure_dat, mv_outcome_dat)


pdf("5.many2one.pdf")
#进行多变量MR分析
res <- mv_multiple(mvdat,plots=TRUE)
res
dev.off()

head(res)
#id.exposure                        exposure id.outcome                              outcome nsnp           b         se         pval
#1   ieu-a-299 HDL cholesterol || id:ieu-a-299    ieu-a-7 Coronary heart disease || id:ieu-a-7   79 -0.08919724 0.05970552 1.351879e-01
#2   ieu-a-300 LDL cholesterol || id:ieu-a-300    ieu-a-7 Coronary heart disease || id:ieu-a-7   68  0.37853543 0.04976846 2.828614e-14
#3   ieu-a-302   Triglycerides || id:ieu-a-302    ieu-a-7 Coronary heart disease || id:ieu-a-7   42  0.13584165 0.06738291 4.380354e-02
#mv_residual(mvdat)
299高密度胆固醇
300低密度胆固醇
302总胆固醇
从res结果可以看到,299HDL 的b值是-0.089,Pval 是0.135187,这个是高密度胆固醇对冠状动脉心脏的影响是负的,但是最后的P值不显著。
300LDL是低密度胆固醇b值0.3785,Pval是2.8286e-14,说明低密度胆固醇是冠状动脉心脏病的正向因素,即低密度胆固醇高了,得病概率也高了。最后p值<0.01,达到极显著,b值是β值。
302总胆固醇和低密度是同样的结论,只是显著水平降低而已,但是仍然小于0.05,达到显著水平。
注意:此处的b值是指在3个因素共同对结局的作用中,对应暴露对结局的效应值。
这种方法没有配套的后续可视化函数。
参考https://mrcieu.github.io/TwoSampleMR/articles/perform_mr.html#multivariable-mr

另一种分析方法分析多对一的MR分析

exp_dat <- extract_instruments(outcomes = c("ieu-a-2", "ieu-a-100", "ieu-a-1032", "ieu-a-104", "ieu-a-1", "ieu-a-72", "ieu-a-999"))
table(exp_dat$exposure)
chd_out_dat <- extract_outcome_data(
  snps = exp_dat$SNP,
  outcomes = "ieu-a-7" #冠状动脉心脏病
)

dat2 <- harmonise_data(
  exposure_dat = exp_dat, 
  outcome_dat = chd_out_dat
)
res <- mr(dat2)
res

p1 <- mr_scatter_plot(res,dat2)
p1

##森林图
res_single <- mr_singlesnp(dat2)
p2 <- mr_forest_plot(res_single)
p2

#漏斗图
p4 <- mr_funnel_plot(res_single)
p4

#4.7.1 Heterogeneity statistics
mr_heterogeneity(dat2)

#4.7.2 Horizontal pleiotropy
mr_pleiotropy_test(dat2)

#4.7.3 Single SNP analysis
res_single <- mr_singlesnp(dat2)

#4.7.4 Leave-one-out analysis
res_loo <- mr_leaveoneout(dat2)
mr_leaveoneout_plot(res_loo)

这种方法可以和1对1的分析一样,使用mr系列的可视化函数。

留一法森林图
image.png
image.png
image.png
散点图
image.png
image.png
image.png
森林图
image.png
image.png
image.png

相关文章

  • 控制混杂偏倚-汇总

    混杂因素通常具备以下几个特点: *混杂因素必须与研究结局密切相关; * 混杂因素又与研究的暴露/处理因素有关;...

  • 单因子探索分析

    单因子分析 单因素分析(monofactor analysis)是指在一个时间点上对某一变量的分析。目的在于描述事...

  • TCGA预后基因筛选(单因素和多因素cox分析)

    ①单因素cox分析 单因素cox分析的输出文件,也为多因素cox分析的输入文件 ②多因素cox分析

  • 协方差分析

    协方差分析是将那些很难控制的因素作为协变量,在排除协变量影响的条件下,分析控制变量对观察变量的影响,从而更加准确的...

  • 2.样本量计算(队列研究)

    病例对照研究:回顾性。根据结局将人分成两类,看暴露因素的影响。计算OR 队列研究:前瞻性。根据暴露因素将人分成两类...

  • TCGA+biomarker——多因素Cox回归

    多因素Cox回归 单因素cox回归分析得到的是多个自变量与生存之间的关系,但并没有排除其他因素这个结果是否有作用。...

  • R相关性分析和相关性热图

    相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性分析...

  • R语言进行相关性分析

    相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性分析...

  • 使用R语言进行相关性分析热图的绘制

    相关性分析 相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性分析...

  • PCA降维算法的python实现

    主成分分析(PCA)是一种无监督的学习方式,是一种常用的线性降维方法。如果遇到多因素分析,想要很多个自变量与因变量...

网友评论

      本文标题:多变量(暴露因素)对一个结局的MR分析

      本文链接:https://www.haomeiwen.com/subject/kjkizdtx.html