孟德爾隨機(jī)化(Mendelian Randomization, MR)是一種利用遺傳變異作為工具變量來評(píng)估變量之間潛在因果關(guān)系的統(tǒng)計(jì)方法。這種方法尤其適用于那些難以通過隨機(jī)對(duì)照試驗(yàn)(RCT)直接研究的場景崖蜜,因?yàn)樗梢岳@過傳統(tǒng)研究中常見的一些偏差和限制。
基本概念和問題
1. 確定因果關(guān)系的挑戰(zhàn)
在常規(guī)的關(guān)聯(lián)分析中冗澈,很難區(qū)分一個(gè)變量是真正的因果變量還是僅僅與結(jié)果變量相關(guān)聯(lián)。這種困難通常涉及到以下幾個(gè)方面的問題:
- 反向因果關(guān)系:即可能出現(xiàn)結(jié)果影響因子的情況陋葡。
- 忽略的混雜變量:未觀測(cè)的變量可能同時(shí)影響研究變量和結(jié)果亚亲,導(dǎo)致偏見。
- 測(cè)量誤差:數(shù)據(jù)收集過程中的誤差可能影響結(jié)果的準(zhǔn)確性腐缤。
- 雙向因果關(guān)系:因子和結(jié)果可能互相影響捌归,形成因果回路。
2. RCT的優(yōu)勢(shì)與局限
隨機(jī)對(duì)照試驗(yàn)(RCT)被認(rèn)為是確定因果關(guān)系的“金標(biāo)準(zhǔn)”岭粤,通過將受試者隨機(jī)分配到對(duì)照組和實(shí)驗(yàn)組來控制混雜變量的影響惜索。然而,RCT成本高昂剃浇,有時(shí)由于倫理限制不可行巾兆,這時(shí)候孟德爾隨機(jī)化提供了另一種可能性。
image.png
實(shí)踐中的應(yīng)用
孟德爾隨機(jī)化的實(shí)施
以下是通過使用TwoSampleMR包進(jìn)行孟德爾隨機(jī)化分析的一個(gè)實(shí)例虎囚,展示如何在R環(huán)境中操作:
- 數(shù)據(jù)提取:從大型公共GWAS數(shù)據(jù)庫提取相關(guān)的遺傳工具變量角塑。
- 數(shù)據(jù)處理:對(duì)暴露(exposure)和結(jié)果(outcome)數(shù)據(jù)進(jìn)行處理和調(diào)和。
- 執(zhí)行MR分析:應(yīng)用多種MR方法來估計(jì)因果效應(yīng)淘讥,并進(jìn)行敏感性分析圃伶。
install.packages("remotes")
remotes::install_github("MRCIEU/TwoSampleMR")
library(TwoSampleMR)
# 提取工具變量
bmi_exp <- extract_instruments(outcomes='ieu-a-835', clump=TRUE, r2=0.01, kb=5000, access_token = NULL)
# 提取結(jié)果數(shù)據(jù)
t2d_out <- extract_outcome_data(snps=bmi_exp$SNP, outcomes='ieu-a-26', proxies = FALSE, maf_threshold = 0.01, access_token = NULL)
# 數(shù)據(jù)調(diào)和
mydata <- harmonise_data(exposure_dat=bmi_exp, outcome_dat=t2d_out, action=2)
# 執(zhí)行MR分析
res <- mr(mydata)
敏感性分析
- 異質(zhì)性檢驗(yàn)、多效性檢驗(yàn)、逐個(gè)剔除檢驗(yàn):通過這些方法評(píng)估分析的穩(wěn)定性和可靠性窒朋。
數(shù)據(jù)可視化
- 繪制散點(diǎn)圖搀罢、森林圖和漏斗圖:這些圖形幫助解釋結(jié)果,顯示可能的偏差和工具變異的影響范圍侥猩。
image.png
繪制敏感性分析圖
mr_leaveoneout_plot(single)
image.png
繪制散點(diǎn)圖
mr_scatter_plot(res,mydata)
image.png
繪制森林圖
res_single <- mr_singlesnp(mydata)
mr_forest_plot(res_single)
image.png
繪制漏斗圖
mr_forest_plot(res_single)
image.png
匯總
library(TwoSampleMR)
# 異質(zhì)性檢驗(yàn)
het <- mr_heterogeneity(mydata)
print(het)
# 多效性檢驗(yàn)(多元回歸Egger測(cè)試)
pleio <- mr_pleiotropy_test(mydata)
print(pleio)
# 逐個(gè)剔除檢驗(yàn)
single <- mr_leaveoneout(mydata)
print(single)
# 繪制逐個(gè)剔除敏感性分析圖
mr_leaveoneout_plot(single)
# 繪制散點(diǎn)圖
mr_scatter_plot(mydata, res)
# 獲取單個(gè)SNP分析的結(jié)果
res_single <- mr_singlesnp(mydata)
# 繪制森林圖
mr_forest_plot(res_single)
# 繪制漏斗圖
mr_funnel_plot(res_single)
學(xué)習(xí)資源
Two Sample MR Functions and Interface to MR Base Database ? TwoSampleMR (mrcieu.github.io)