流行病學研究常見的分析就是相關性分析了。
相關性分析某種程度上可以為我們提供一些研究思路,比如缺乏元素A與某種癌症相關,那么我們可以通過補充元素A來減少患癌率。這個結論的大前提是缺乏元素A會導致這種癌症,也就是說元素A和癌症有因果關系。
但實際上,元素A和癌症有相關性,不代表他們之間就有因果關系。也有可能是患癌症的人同時有其他的並發症,這種並發症會導致元素A缺乏。
再比如,研究表明,大胸女生與不愛運動相關。那么,到底是因為胸大的女性不愛運動,還是因為不愛運動導致胸大(肥胖)。
如果不做其他分析,光看這個相關性,我們是無法得知這兩個表征之間是否有真實的因果關系。
為了闡明這些表征是否有因果關系,我們一般在研究中考慮加入孟德爾隨機化分析。
1 孟德爾隨機化分析的思想
還是前面的例子,假定我們認為大胸的人(因)不願意運動(果)。
那我們的研究思路就是找到與大胸有關的顯著遺傳位點,再分析這些遺傳位點是否也與不愛運動相關。
如果與大胸相關的遺傳位點同時也與不愛運動相關,那么我們就會認為大胸的人就是不愛運動。
反過來,如果與大胸相關的遺傳位點與不愛運動沒有關系,那么我們認為大胸跟不愛運動是沒有因果關系的,他們之間存在相關性可能是由其他的因素導致的。
2 為什么孟德爾隨機化研究采用遺傳位點作為分析媒介
原因很簡單,遺傳位點是我們出生就決定了的,后期不會隨文化、經濟等因素改變。
如果我們發現位點A與大胸有相關性,那么毫無疑問,是位點A影響了胸部大小。
反過來說就不成立了,因為胸大,所以遺傳位點會變為A,這樣的結論聽起來就很怪異。
3 孟德爾隨機化研究計算原理
3.1 找到影響大胸的SNP位點
這個目前最流行的方法就是全基因組關聯分析了。
通過獲取不同個體的罩杯大小(表型)和他們的遺傳位點(基因型),做全基因組關聯分析。
3.2 將影響大胸的顯著信號位點作為后續分析的位點
我們對顯著信號位點的定義是P值<5*10-8
3.3 計算大胸顯著信號位點與不愛運動的關系
同樣可以用全基因組關聯分析的方法。
隨后獲得大胸顯著信號位點與不愛運動的效應值(BETA)或者風險值(OR)
3.4 畫顯著信號位點分別在大胸和不愛運動的效應值散點圖,散點圖的斜率代表大胸對不愛運動這個行為的影響大小(causal effect)
4 怎么做孟德爾隨機化分析
下面舉一個簡單的小例子。
4.1 安裝R包
install.packages("devtools")
library(devtools)
install_github("MRCIEU/TwoSampleMR")
4.2 導入大胸(exposure)的顯著信號位點
library(TwoSampleMR)
bmi_file <- system.file("data/bmi.txt", package="TwoSampleMR")
exposure_dat <- read_exposure_data(bmi_file)
大胸顯著信號位點數據格式如下:
4.3 導入顯著信號位點與不愛運動的相關性數據
outcome_dat <- read_outcome_data(snps = exposure_dat$SNP,filename = "F:/download/test.csv", sep = ",",snp_col = "SNP",beta_col = "beta",se_col = "se",effect_allele_col = "effect_allele",other_allele_col = "other_allele",eaf_col = "eaf",samplesize_col = "samplesize")
不愛運動信號位點數據格式test.csv如下:
導入顯著信號位點與不愛運動的相關性數據outcome_dat如下:
4.4 統一大胸和不愛運動的效應值方向
dat <- harmonise_data(exposure_dat, outcome_dat)
4.5 孟德爾隨機化分析
res <- mr(dat)
結果不顯著,說明兩者有相關性,但是沒有因果關系。
4.6 畫散點圖
p1 <- mr_scatter_plot(res, dat)
p1[[1]]
4.7 補充其他分析
4.7.1 Heterogeneity statistics
mr_heterogeneity(dat)
4.7.2 Horizontal pleiotropy
mr_pleiotropy_test(dat)
4.7.3 Single SNP analysis
res_single <- mr_singlesnp(dat)
4.7.4 Leave-one-out analysis
res_loo <- mr_leaveoneout(dat)
4.7.5 Forest plot
res_single <- mr_singlesnp(dat)
p2 <- mr_forest_plot(res_single)
p2[[1]]
4.7.6 Leave-one-out plot
res_loo <- mr_leaveoneout(dat)
p3 <- mr_leaveoneout_plot(res_loo)
p3[[1]]
4.7.7 Funnel plot
res_single <- mr_singlesnp(dat)
p4 <- mr_funnel_plot(res_single)
p4[[1]]
#######關於孟德爾隨機化的研究就講到這,更多詳情內容請看:https://mrcieu.github.io/TwoSampleMR/。 另外,本文提到的大胸與運動的關系,不是我瞎想出來的,真有人做過研究,對這篇文章感興趣的,請到微信公眾號“bio生物信息”后台回復“大胸” 😄