通过孟德尔随机化分析,确认了两个疾病或性状的因果关联并且找到显著信号位点后,需要解释显著信号位点是如何影响这两个表型的。常见的一个解释方法是共定位分析。
共定位分析通常用于鉴定两个表型是否由某一区域的同一个causal variant驱动,从而加强两个表型之前的关联证据。这些表型可以是分子表型,也可以是常见的二分类疾病(如冠心病,糖尿病等)。其目的就是为了检验输入的两种表型在给定的区域内是否共享同一个因果变异。
待检验的表型,即最后用来计算共定位概率的配对数据,可以理解为就是我们需要讨论的性状或疾病。在GWAS分析中,一般只针对一个性状进行关联分析,而在QTL分析中,往往可以同时对很多表型进行关联。此时,我们检验的表型就是每一个基因-开放区域配对数据,因此,我们需要首先确定所有的配对数据,然后为它们分别指定共定位区域。详细可阅读coloc官网文档:https://chr1swallace.github.io/coloc/index.html
在这个方法中有四个假设:
①H0:表型1(GWAS)和表型2(QTL或者GWAS)与某个基因组区域的所有SNP位点无显著相关。
②H1/H2:表型1或表型2与某个基因组区域的SNP位点显著相关。
③H3:表型1和表型2与某个基因组区域的SNP位点显著相关,但由不同的因果变异位点驱动。
④H4:表型1和表型2与某个基因组区域的SNP位点显著相关,且由同一个因果变异位点驱动。
所以共定位分析,本质上是在检验第四种的后验概率;基于上面的假设,第四种设想 H4 在统计学上概率越高,越能解释显著信号位点如何影响表型。H4值的范围在0 - 1之间。后验概率越高越好。一般文献认为0.75 - 0.95的位点是共定位位点。
共定位的类型有很多种,包括eQTL-GWAS,meQTL-GWAS,pQTL-GWAS,eQTL-meQTL,GWAS-GWAS等等,这里如果两种表型都是疾病的GWAS数据,除了获得本地数据分析外,还可以利用ieu数据库在线分析。
以IEU GWAS database中LDL(ieu-a-300)与冠心病(ieu-a-7)为例,下面介绍两种方法实现连续型变量之间的共定位分析。(详情可阅读gwasglue官网文档https://mrcieu.github.io/gwasglue/)
(1)利用IEU GWAS database中的GWAS ID
# 读取R包
```{r}
suppressPackageStartupMessages(suppressWarnings({
library(gwasglue)
library(dplyr)
library(gassocplot)
library(coloc)
}))
```
# 首先找到一个已知与低密度脂蛋白胆固醇相关的区域
top<- ieugwasr::tophits('ieu-a-300') %>% arrange(p)
top
# 选择一个范围
chrpos<- paste0(top$chr[1],":", top$position[1] -90000,"-", top$position[1] +90000)
chrpos
# 提取数据
out<- ieugwasr_to_coloc(id1='ieu-a-300', id2='ieu-a-7', chrompos=chrpos)
#共定位分析
res<-coloc::coloc.abf(out[[1]],out[[2]])
# plot
temp<- coloc_to_gassocplot(out)
gassocplot::stack_assoc_plot(temp$markers, temp$z, temp$corr, traits=temp$traits)
# 结果解读
我们只需关注结果中的最后一列PP.H4.abf,对应前文中第4中假设H4,显示低密度脂蛋白与冠心病共有的因果变异的后验概率为99.7%,进一步说明了低密度脂蛋白对冠心病的因果效应。
(2) 利用IEU GWAS database中的GWAS VCF文件
# 下载低密度脂蛋白和冠心病的GWAS VCF文件并存放到R工作目录中,可参考下面链接(请自行复制到浏览器打开)
https://gwas.mrcieu.ac.uk/files/ieu-a-300/ieu-a-300.vcf.gz
https://gwas.mrcieu.ac.uk/files/ieu-a-300/ieu-a-300.vcf.gz.tbi
https://gwas.mrcieu.ac.uk/files/ieu-a-7/ieu-a-7.vcf.gz
https://gwas.mrcieu.ac.uk/files/ieu-a-7/ieu-a-7.vcf.gz.tbi
# 设置区域
chrpos<-"19:11112306-11292306"
# 从VCF文件中提取这一区域,并将其转换为coloc对象
vout<-gwasvcf_to_coloc("ieu-a-300.vcf.gz", "ieu-a-7.vcf.gz",chrpos)
# 共定位分析
vres<-coloc::coloc.abf(vout[[1]],vout[[2]])
# plot
library(gassocplot)
temp <- coloc_to_gassocplot(vout)
gassocplot::stack_assoc_plot(temp$markers, temp$z, temp$corr, traits=temp$traits)
参考资源
https://gwas.mrcieu.ac.uk/datasets/
https://mrcieu.github.io/gwasglue/
https://blog.csdn.net/u013012420/article/details/127697722
https://academic.oup.com/ibdjournal/article/24/4/829/4944340?login=false
https://chr1swallace.github.io/coloc/index.html
今天的分享到这里就结束了,如果本篇推文对你有帮助的话,就给小碗一个免费的👍吧!
网友评论