写在前面,学习中介MR分析这部分内容之前,请先学习:

1. 基础中介分析

1.1 中介分析逻辑

MR中介分析,主要分为以下几个步骤:

  • ①暴露→结局单因素MR分析(可多个暴露对多个结局)
  • ②暴露→中介单因素MR分析(可多个暴露对多个中介)
  • ③中介→结局单因素MR分析(可多个中介对多个结局)
  • ④暴露+中介→结局多因素分析(只能个暴露,个中介对个结局):
  • ⑤中介效应的计算

中介MR分析得出阳性结果,必须完成步骤①②③或者①②④,且满足每个步骤为阳性结果。 故完成①②③或者①②④之后,使用每一步生成的mr分析结果,可直接进行中介效应的计算。

  • 单因素结果:table_s2_mr_results.csv
  • 多因素结果:table_s2_mr_results(basical多因素MR分析).csvtable_s2_mr_results(ivw多因素MR分析).csv

1.2 中介效应计算(示例)

library(DrugTargetMR)

#查看该函数的具体用法
?mr_analysis_mediation

# 暴露→结局单因素MR分析,对应路径为:"./e2o_table_s2_mr_results.csv"
# 暴露→中介单因素MR分析,对应路径为:"./e2m_table_s2_mr_results.csv"
# 中介→结局单因素MR分析,对应路径为:"./m2o_table_s2_mr_results.csv"


# 执行中介MR分析(两步法)
mr_analysis_mediation(e2o_path = "./e2o_table_s2_mr_results.csv",
                      e2m_path  = "./e2m_table_s2_mr_results.csv",
                      m2o_path  = "./m2o_table_s2_mr_results.csv",
                      em2o_path = "",
                      method_mediation  = 1,
                      out_path = "./",
                      out_prefix = 1)

    
#进行中介分析的方法。目前涵盖了3种方法,分别对应1,2,3。 
# 当method_mediation = 1,需要传入参数e2o_path、e2m_path和m2o_path; 
# 当method_mediation = 2或3, 需要传入参数e2o_path、e2m_path和em2o_path。 

用于中介效应计算的文件格式说明,MR中介批量计算使用到的格式:必须满足5列数据,列名不区分大小写。

  • exposure,必须;
  • outcome,必须;
  • b或者beta(文件中,仅能有其中一列),必须;
  • se或者se_mr(文件中,仅能有其中一列),必须;
  • pval或者pval_mr(文件中,仅能有其中一列),必须;
  • method,可选。来自MR分析的结果,默认选择”Wald ratio”,“Inverse variance weighted”分析结果,不支持缩写。

如下是标准格式截图:

2. 一键中介分析

在进行暴露-中介-结局,两两间的MR分析中使用到的参数一致的情况下(如纳入和排除工具变量的p值,Clump的参数),可以使用mr_local_mediation()完成分析任务。如果两两间MR分析的参数不一致,不建议使用该函数。

2.1 分析代码

# 加载包
library(DrugTargetMR)

#查看该函数的具体用法
?mr_local_mediation


# 调用函数 
mr_local_mediation(
  exposure = "./data_prepare/ieu-a-2.txt",
  mediator = "./data_prepare/15506_34_LRP12_LRP12.txt" ,
  outcome = "./data_prepare/vte_meta.txt",
  clump = T,
  mediator_index_snp=T,
  exp_p = 5e-08,
  out_p = 0,
  method = 1,
  bfile ="./data/1kg.v3/EUR",
  out_path = "./result"
)