H0: 表型1(GWAS)和 表型2 (以eQTL为例)与某个基因组区域的所有SNP位点无显著相关。
H1/H2:表型1(GWAS)或表型2(以eQTL为例)与某个基因组区域的SNP位点显著相关。
H3:表型1(GWAS)和 表型2 (以eQTL为例)与某个基因组区域的SNP位点显著相关,但由不同的因果变异位点驱动。
H4:表型1(GWAS)和 表型2 (以eQTL为例)与某个基因组区域的SNP位点显著相关,且由同一个因果变异位点驱动。
基于上面的假设,第四种设想 H4 在统计学上概率越高,越能解释显著信号位点如何影响表型。,H4值的范围在0-1之间,0表示概率为0%,1表示概率为100%。后验概率越高越好。很多文献认为PPA > 0.95的位点是共定位位点,也有一些文献会放松要求到0.75。接下来我们看下在R中如何进行实现这个分析方法。首先是包的安装:
install.packages("coloc")
1. 数据的准备
###test data
data(coloc_test_data)
attach(coloc_test_data)
plot_dataset(D1)
接下来我们看下输入数据的结构:
1) SNP的基础信息,包括SNP的ID(不一定是rsID)和SNP位置
2)关联分析的效应信息,包括beta值和效应方差方差varbeta,如果没有这一项,就需要有P、MAF和N
3) sdY,Y的标准差。或者 MAF,次等位基因频率;N,样本量。
4) type,分析的类型,有quant和cc两种,分别代表数量性状关联和Case/Control分析
5) p :未校正的 p 值;fdr :校正后的 p 值
6) beta :效应值,也就是线性回归的斜率
7) t-statistic :T检验的统计量
8) varbeta 效应值方差。计算公式如下:
既然数据结构确定那么不同的表型类型所需要的必须数据情况如下:
cc表型:
rs编号rs_id、P值、效应值beta、效应值方差varbeta;
quant表型:
1)rs编号rs_id、P值、表型的标准差sdY;
2)rs编号rs_id、P值、次等位基因频率 MAF;
最后就是数据的载入,在这里需要注意的是coloc接受的数据格式是列表,而且type和sdY需要在转换成列表后再指定,并且type只需要指定一个值。接下来看下我们实例中的数据结构:
2. 共定位分析
####abf 算法
my.res <- coloc.abf(dataset1=D1, dataset2=D2)
数据结果中包含两个子结果,一个是summary,主要描述了SNPs数量,以及H0(无因果变量)、H1(仅为性状1的因果变量)、H2(仅为性状2的因果变量)、H3(两个不同的因果变量)和H4(一个共同的因果变量)的后验概率。
另一个结果是result,主要描述的是每一个SNP位点的贝叶斯算子以及中间计算过程
上面结果中SNP.PP.H4表示的是GWAS显著信号和eQTL位点为同一个位点的后验概率,范围在0-1之间,0表示概率为0%,1表示概率为100%。后验概率越高越好。