一、引言
在遗传学和生物学研究中,孟德尔随机化分析是一种核心工具,用于确定基因与表型之间的因果关系。通过随机分配基因并观察表型变化,孟德尔随机化分析可以帮助我们理解基因对于特定性状的影响。然而,传统的孟德尔随机化分析存在一些局限性,包括受到拘束的基本假设和样本数量的限制。
为了克服传统孟德尔随机化分析的限制,近年来发展了一种突破性工具,即TwoSampleMR方法。TwoSampleMR方法利用大规模基因组数据和遗传变异信息,通过整合两个独立样本集合来推断基因与表型之间的因果关系[1]。它不仅能克服传统孟德尔随机化分析的局限性,还提供了更准确和可靠的因果推断。
本文旨在介绍革新性的TwoSampleMR方法,并探讨其在基因与表型因果关系研究中的应用。通过整合大规模基因组数据和遗传变异信息,TwoSampleMR方法提供了一种改进的孟德尔随机化分析方法。通过本文的阐述,读者将对TwoSampleMR方法的背景、原理、应用领域以及前景有更全面的了解。
二、孟德尔随机化的基本原理
孟德尔随机化实验是一种随机分组设计,旨在消除混杂因素的影响,以推断基因对特定性状或结果的因果影响。
- 「孟德尔随机化实验的原理」
- 随机分配基因:将基因分配到不同的处理组或对照组中,以确保组间差异是由基因而不是其他因素引起的。
- 保持混杂变量平衡:通过随机分组,可以确保处理组和对照组在混杂变量上是基本平衡的,即相似的特征分布和背景特征。
- 「MR优点」
- 因果推断:通过随机分配基因,孟德尔随机化分析可以提供比观察性研究更可靠的因果推断。
- 消除混杂因素:孟德尔随机化实验设计有效地消除了混杂因素的影响,提高了结果的内部有效性。
- 「MR局限性」
- 外部有效性的限制:孟德尔随机化实验的结果可能不具有广泛的外部有效性,因为实验条件通常受到限制。
- 样本量的限制:为了获得统计显著性和准确的结果,孟德尔随机化实验可能需要大样本量。
- 「相关研究中的应用实例」
- 研究基因与疾病之间的因果关系:使用孟德尔随机化分析,研究人员可以推断特定基因对特定疾病的因果关系,例如使用孟德尔随机化实验来验证基因是否与心血管疾病风险有关。
- 评估基因对治疗效果的影响:孟德尔随机化分析可以用于评估特定基因对药物治疗效果的影响,例如使用孟德尔随机化实验来确定特定基。
如果想更加详细的了解孟德尔随机化,请参考:解析基因影响:孟德尔随机化的创新思维
三、TwoSampleMR简介
TwoSampleMR方法是一种利用两个独立样本集合整合基因型和表型数据的方法,以推断基因对表型或疾病的因果影响。
- 「TwoSampleMR方法与孟德尔随机化分析的联系」
- 孟德尔随机化分析的局限性:传统的孟德尔随机化分析通常依赖于个体基因分型数据的可用性和其他假设的满足。
- TwoSampleMR方法的改进之处:TwoSampleMR方法通过利用大规模基因组数据和遗传变异信息,克服了传统孟德尔随机化分析的局限性,并提供更准确和可靠的因果推断。
- 「TwoSampleMR方法的工作原理和基本步骤」
TwoSampleMR方法基于遗传变异作为工具变量,利用两个独立的样本集合中的遗传变异与表型关联,评估基因对表型或疾病的因果关系。
- 基本步骤
- 第一步,建立两个独立的样本集合:一个用于基因型(遗传变异)数据,另一个用于表型数据。
- 第二步,进行遗传变异与表型的关联分析:使用统计方法,如回归分析,评估遗传变异与表型之间的关联。
- 第三步,进行TwoSampleMR分析:使用工具变量回归方法,估计基因对表型的因果效应。
- 第四步,进行敏感性分析和校正:对TwoSampleMR结果进行敏感性分析,评估潜在偏倚,并进行校正以确保推断的稳健性。
- TwoSampleMR方法的优势和独特之处
- 消除混杂因素的影响:TwoSampleMR方法通过遗传变异作为工具变量,可以在一定程度上消除混杂因素的影响,提供更可靠的因果推断。
- 利用大规模基因组数据:TwoSampleMR方法利用大规模基因组数据,可以获得更广泛的遗传变异信息,并提高对基因与表型关系的推断准确性。
- 应用领域广泛:TwoSampleMR方法可以应用于各种研究领域,如遗传疫苗研发、药物靶点识别和疾病机制探究等。
四、实例应用
- 「安装和加载包」
# 安装包 library(remotes) install_github("MRCIEU/TwoSampleMR") # 加载包 library(TwoSampleMR)
- 「列出可用的GWASs」
# available_outcomes(access_token = ieugwasr::check_access_token()) # 参数 # access_token 访问令牌。用于验证对数据的访问级别 ao <- available_outcomes()
结果展示
# A tibble: 42,350 x 22 id trait ncase group_name year author consortium sex pmid <chr> <chr> <int> <chr> <int> <chr> <chr> <chr> <int> 1 ieu-b-5103 Schizop~ 1234 public 2022 Trube~ PGC Male~ 3.54e7 2 ieu-b-5102 Schizop~ 52017 public 2022 Trube~ PGC Male~ 3.54e7 3 ieu-b-5101 Schizop~ 12305 public 2022 Trube~ PGC Male~ 3.54e7 4 ieu-b-5100 Schizop~ 64322 public 2022 Trube~ PGC Male~ 3.54e7 5 ieu-b-5099 Schizop~ 76755 public 2022 Trube~ PGC Male~ 3.54e7 6 ieu-b-5098 Schizop~ 5998 public 2022 Trube~ PGC Male~ 3.54e7 7 ieu-b-5075 Systoli~ NA public 2021 Sakau~ <NA> Male~ 3.46e7 8 ieu-b-5089 LDL cho~ NA public 2022 Si Fa~ UK Biobank Males NA 9 ieu-b-5088 Sepsis ~ 11568 public 2021 Hamil~ UK Biobank Male~ NA 10 ieu-b-5086 Sepsis ~ 1896 public 2021 Hamil~ UK Biobank Male~ NA # i 42,340 more rows # i 13 more variables: population <chr>, unit <chr>, sample_size <int>, # build <chr>, ncontrol <int>, category <chr>, subcategory <chr>, # ontology <chr>, note <chr>, mr <int>, nsnp <int>, priority <int>, # sd <dbl> # i Use `print(n = ...)` to see more rows
- 「获取工具变量」
# 获取工具变量Get instruments exposure_instruments <- extract_instruments("ieu-a-2")
结果展示:
pval.exposure samplesize.exposure chr.exposure se.exposure beta.exposure pos.exposure id.exposure SNP effect_allele.exposure other_allele.exposure eaf.exposure 1 2.18198e-08 339152 1 0.0030 -0.0168 47684677 ieu-a-2 rs977747 G T 0.5333 2 4.56773e-11 339065 1 0.0031 0.0201 78048331 ieu-a-2 rs17381664 C T 0.4250 3 5.05941e-14 313621 1 0.0087 0.0659 110082886 ieu-a-2 rs7550711 T C 0.0339 4 5.45205e-10 338768 1 0.0029 0.0181 201784287 ieu-a-2 rs2820292 C A 0.5083 5 1.88018e-28 338123 1 0.0030 0.0331 72837239 ieu-a-2 rs7531118 C T 0.6083 6 2.28718e-40 339078 1 0.0037 0.0497 177889480 ieu-a-2 rs543874 G A 0.2667 exposure mr_keep.exposure pval_origin.exposure data_source.exposure 1 Body mass index || id:ieu-a-2 TRUE reported igd 2 Body mass index || id:ieu-a-2 TRUE reported igd 3 Body mass index || id:ieu-a-2 TRUE reported igd 4 Body mass index || id:ieu-a-2 TRUE reported igd 5 Body mass index || id:ieu-a-2 TRUE reported igd 6 Body mass index || id:ieu-a-2 TRUE reported igd
- 「获取工具变量对结果的效应」
outcome_dat <- extract_outcome_data(snps=exposure_dat$SNP, outcomes = "ieu-a-7")
结果展示(截取部分):
SNP chr pos beta.outcome se.outcome samplesize.outcome 1 rs977747 1 47684677 -0.013896 0.0096146 184305 2 rs17203016 2 208255518 0.020352 0.0122315 184305 3 rs7550711 1 110082886 -0.048354 0.0305635 184305 4 rs9374842 6 120185665 0.013555 0.0106053 184305 5 rs4740619 9 15634326 -0.006546 0.0092497 184305 6 rs2112347 5 75015242 -0.005855 0.0096581 184305
- 「对暴露工具变量和结果数据进行谐波」
dat <- harmonise_data(exposure_dat, outcome_dat)
结果展示(部分):
SNP effect_allele.exposure other_allele.exposure 1 rs1000940 G A 2 rs10132280 A C 3 rs1016287 C T 4 rs10182181 G A 5 rs10733682 G A 6 rs10840100 G A
- 「进行MR分析」
res <- mr(dat) p1 <- mr_scatter_plot(res, dat) # 对于每个暴露-结果测试,都会创建一个散点图,并以图表列表的形式存储。例如,要绘制第一个散点图:p1。 p1[[1]]
结果展示:
id.exposure id.outcome outcome exposure method nsnp b se pval 1 ieu-a-2 ieu-a-7 Coronary heart disease || id:ieu-a-7 Body mass index || id:ieu-a-2 MR Egger 79 0.5024935 0.14396056 8.012590e-04 2 ieu-a-2 ieu-a-7 Coronary heart disease || id:ieu-a-7 Body mass index || id:ieu-a-2 Weighted median 79 0.3870065 0.07018812 3.510758e-08 3 ieu-a-2 ieu-a-7 Coronary heart disease || id:ieu-a-7 Body mass index || id:ieu-a-2 Inverse variance weighted 79 0.4459091 0.05898302 4.032020e-14 4 ieu-a-2 ieu-a-7 Coronary heart disease || id:ieu-a-7 Body mass index || id:ieu-a-2 Simple mode 79 0.3401554 0.15624864 3.250375e-02 5 ieu-a-2 ieu-a-7 Coronary heart disease || id:ieu-a-7 Body mass index || id:ieu-a-2 Weighted mode 79 0.3888249 0.10625414 4.577530e-04
- 「敏感性分析(Sensitivity analyses)」
- 异质性分析 Heterogeneity statistics
mr_heterogeneity(dat)
结果展示
id.exposure id.outcome outcome exposure method Q Q_df Q_pval 1 ieu-a-2 ieu-a-7 Coronary heart disease || id:ieu-a-7 Body mass index || id:ieu-a-2 MR Egger 143.3046 77 6.841585e-06 2 ieu-a-2 ieu-a-7 Coronary heart disease || id:ieu-a-7 Body mass index || id:ieu-a-2 Inverse variance weighted 143.6508 78 8.728420e-06
- 水平多效应 Horizontal pleiotropy
mr_pleiotropy_test(dat)
结果展示
id.exposure id.outcome outcome exposure egger_intercept se pval 1 ieu-a-2 ieu-a-7 Coronary heart disease || id:ieu-a-7 Body mass index || id:ieu-a-2 -0.001719304 0.003985962 0.6674266
- 「单SNP分析」
res_single <- mr_singlesnp(dat) p2 <- mr_forest_plot(res_single) p2[[1]]
结果展示
> res_single exposure outcome id.exposure id.outcome samplesize SNP b se p 1 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs1000940 -0.79010870 0.53475543 1.395379e-01 2 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs10132280 0.55063348 0.48253394 2.538162e-01 3 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs1016287 0.61785088 0.46376316 1.827763e-01 4 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs10182181 0.59207120 0.30029126 4.864884e-02 5 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs10733682 0.24154255 0.50662234 6.335256e-01 6 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs10840100 0.70868932 0.46230097 1.252855e-01 7 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs11030104 0.66519231 0.26407452 1.177031e-02 8 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs11057405 -0.45187500 0.63025658 4.733927e-01 9 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs11165643 0.23303167 0.42010860 5.791041e-01 10 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs11672660 1.14949853 0.37045723 1.916225e-03 11 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs1167827 0.57930000 0.49176000 2.387912e-01 12 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs11727676 -0.99873973 0.55364384 7.124086e-02 13 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs12286929 0.08540284 0.44645498 8.482976e-01 14 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs12429545 0.32774691 0.39920679 4.116489e-01 15 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs12448257 0.39272358 0.46131301 3.945933e-01 16 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs12940622 0.88907104 0.51660656 8.525393e-02 17 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs12986742 0.39710145 0.45387440 3.816202e-01 18 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs13021737 0.61299669 0.20603311 2.927653e-03 19 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs13078960 -0.69017241 0.43503448 1.126310e-01 20 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs13107325 -0.14131356 0.47345127 7.653403e-01
- 「留一分析(Leave-one-out analysis)」
# 执行留一分析,其中MR为 再次执行,但依次省略每个SNP,以确定是否 单个SNP正在推动这种关联。 res_loo <- mr_leaveoneout(dat) ## 森林图 p3 <- mr_leaveoneout_plot(res_loo) p3[[1]] ## 漏斗图 p4 <- mr_funnel_plot(res_single) p4[[1]]
结果展示(部分):
exposure outcome id.exposure id.outcome samplesize SNP b se p 1 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs1000940 0.4541284 0.05843628 7.765841e-15 2 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs10132280 0.4450525 0.05959723 8.162633e-14 3 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs1016287 0.4443855 0.05959844 8.896652e-14 4 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs10182181 0.4427817 0.05994598 1.509205e-13 5 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs10733682 0.4474244 0.05955045 5.762610e-14 6 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs10840100 0.4435657 0.05956120 9.532322e-14 7 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs11030104 0.4398036 0.06003691 2.379130e-13 8 Body mass index || id:ieu-a-2 Coronary heart disease || id:ieu-a-7 ieu-a-2 ieu-a-7 184305 rs11057405 0.4501990 0.05908266 2.540372e-14
五、总结
本文详细介绍了TwoSampleMR的使用方法,以及MR的分析流程和步骤。有希望更加了解里面某一模块的,欢迎关注并私信我,一起讨论学习。原创不易,请您帮忙点点赞和再看,谢谢!
参考文献:
[1] Bowden J, et al. (2016). Improving the accuracy of two-sample summary data Mendelian randomization: moving beyond the NOME assumption. International Journal of Epidemiology, 45(2), 567-575.