GWAS假阳性控制方法之计算独立试验次数——对Bonferroni校正的改进
2015-06-27 19:31阅读:
在上篇博文中提到,由于Marker之间存在LD,所以用Bonferroni校正对GWAS结果的错误发现率进行控制过于保守。而置换检验由于计算量太大,很难操作。既然Bonferroni校正的前提是每次试验独立,那么我们可不可以计算等效的独立SNP个数呢?
上篇博文中重画Q-Q图的思想就是一种方法,根据全基因组的LD-decay水平将基因组划分成若干block,block的个数就是等效的独立试验次数,那么校正后的显著水平应该为α/block数。但是这种方法过于粗糙,因为基因组局部的LD水平差异很大。下面介绍几种引用率较高的方法。
1. sampleM(Gao, Starmer et al. 2008)
该方法先建立任意两SNP之间的CLD(composite LD)矩阵,然后对该矩阵进行主成分分析,将贡献率达到99.5%的主成分个数作为等效的独立试验次数。具体步骤如下:
a. 计算CLD矩阵,直接用R语言的cor()函数,注意基因型编码方式:homo-alt-ref用0表示,het用1表示,homo-as-ref用2表示;
b. 计算特征值,直接用R语言的eigen()函数;
c. 将特征值从大到小累加到特征值总和的99.5%的特征值个数记为等效独立试验次数Meff;
d. 矫正后的显著性水平α’=α/Meff;
需要注意的是,该方法不能有基因型缺失,所以要先进行基因型缺失推断。且Marker数量不能大于1,000,对于Marker数大于1,000的数据,需要对染色体进行划分,单独计算每个block的Meff,然后将所有Meff求和,作为最后的等效独立试验次数
上篇博文中重画Q-Q图的思想就是一种方法,根据全基因组的LD-decay水平将基因组划分成若干block,block的个数就是等效的独立试验次数,那么校正后的显著水平应该为α/block数。但是这种方法过于粗糙,因为基因组局部的LD水平差异很大。下面介绍几种引用率较高的方法。
1. sampleM(Gao, Starmer et al. 2008)
该方法先建立任意两SNP之间的CLD(composite LD)矩阵,然后对该矩阵进行主成分分析,将贡献率达到99.5%的主成分个数作为等效的独立试验次数。具体步骤如下:
a. 计算CLD矩阵,直接用R语言的cor()函数,注意基因型编码方式:homo-alt-ref用0表示,het用1表示,homo-as-ref用2表示;
b. 计算特征值,直接用R语言的eigen()函数;
c. 将特征值从大到小累加到特征值总和的99.5%的特征值个数记为等效独立试验次数Meff;
d. 矫正后的显著性水平α’=α/Meff;
需要注意的是,该方法不能有基因型缺失,所以要先进行基因型缺失推断。且Marker数量不能大于1,000,对于Marker数大于1,000的数据,需要对染色体进行划分,单独计算每个block的Meff,然后将所有Meff求和,作为最后的等效独立试验次数
