影响基因型填充准确率的因素有很多,比如分型结果的质量,填充软件的选择,reference panel的选择,样本量的大小, SNP的密度等等。
为了提高填充的准确率,我们需要在填充前进行质量过滤。对于原始的分型结果,可以根据一些条件进行筛选和过滤,得到高质量的分型结果,用于后续的填充。
分型结果本质上是一张由样本和SNP位点构成的表格,对应的过滤手段也分成了两个大的方向,针对SNP位点的过滤和针对样本的过滤。
这里的质控条件和GWAS分析的质控条件是一致的,本文基于case/control的GWAS分析,讲解下常用的过滤条件。对于SNP位点的过滤,常用的过滤条件如下
1. missingness
在原始的分型结果中,会有部分分型失败的位点,称之为missing data。分型成功的比例称之为call rate, 根据snp call rate进行过滤的代码如下
代码语言:javascript复制plink
--noweb
--file test
--geno 0.1
--out filter
--geno
指定snp位点分型失败比例的阈值,分型失败的比例大于该阈值的位点会被过滤掉。
2. Hardy-Weinberg equilibrium
GWAS假设样本群体是符合哈温平衡的, 对于不符合哈温平衡的SNP位点,需要过滤掉。
需要注意的是,哈温平衡的计算是针对群体的,在case/control中,如果合并一起计算hwe, 该位点的不平衡很可能是由于两个群体间的差异构成,过滤之后会造成后续分析的假阴性,所以只需要针对control组的样本计算hwe, 然后进行过滤就可以了,代码如下
代码语言:javascript复制plink
--noweb
--file test
--hwe 0.000001
--out filter
--hwe
指定哈温平衡检验pvalue的阈值,小于该阈值的位点会被过滤掉。
3. minor allele frequency
MAF过低可能是由于分型算法不能够检测到对应的allel引起的, 比如测序深度或者荧光信号强度不够等因素,此时这些位点的分型结果是不太准确的,所以需要过滤。
其次为了能够有效进行后续的GWAS挖掘,要保证不同allel对应的样本量的大小。MAF<1%的突变称之为rare variants, 相比MAF > 5%的common variants, 罕见变异需要更大的样本量,当样本量不足时,会造成后续分析的假阳性,所以在样本量较小的情况下,不能够有效进行罕见变异的GWAS分析,需要去除。
过滤的代码如下
代码语言:javascript复制plink
--noweb
--file test
----maf 0.01
--out filter
--maf
指定MAF过滤的阈值,小于该阈值的位点会被过滤掉。
对于样本的过滤,常用的过滤条件如下
1. missingness
和SNP的call rate类似,只是换成了样本中的比例,过滤的代码如下
代码语言:javascript复制plink
--noweb
--file test
----mind 0.01
--out filter
--mind
指定样本分型失败比例的阈值,分型失败的比例大于该阈值的样本会被过滤掉。
2. gender check
通过样本的分型结果可以判断样本的性别,plink默认F值小于0.2的为女性,大于0.8的为男性,然后与该样本标记的性别进行比较,如果二者不一致,则需要去掉该样本,代码如下
代码语言:javascript复制plink
--noweb
--file test
--check-sex 0.2 0.8
--allow-no-sex
--out gender
运行成功后输出一个后缀为genome的文件,在该文件中,如果性别一致显示OK, 否则显示PROBLEM。在某些情况下,默认阈值可能过于严格,可以调整check-sex后面的参数。
识别到不一致的样本之后,可以将对应的样本ID整理到一个文件中,每行一个ID,然后通过下列代码进行过滤
代码语言:javascript复制plink
--noweb
--file test
--remove sample.list
--out filter
3. IBD
IBD用于衡量样本间的亲缘关系,亲缘关系较近的样本分型结果非常相似,极端的例子就是重复样本。GWAS分析的本质是一个无放回的抽样,需要保证样本间的独立性,所以亲缘关系较近的样本需要被去除。计算样本间IBD距离的代码如下
代码语言:javascript复制plink
--noweb
--file test
--genome
--allow-no-sex
--out ibd
4. heterozygosity and inbreeding
在一个随机交配产生的符合哈温平衡的群体中, 样本是具有一定的杂合基因型的,近亲繁殖会导致纯合基因型的出现,产生的后代样本杂合度降低,导致群体哈温平衡的偏离,这样的样本需要被去除,保证GWAS分析中群体符合哈温平衡的假设。
另外,杂合度过高的样本可能是实验阶段混合了两个样本的DNA导致的,所以也需要去除。实际操作中,通过近亲系数F来表征, F值的大小与样本杂合度呈负相关,F值越大,对应杂合度越低。通过下列代码可以计算样本的近亲繁殖系数
代码语言:javascript复制plink
--noweb
--file test
--het
--allow-no-sex
--out het
然后通过F值的分布来确定过滤的条件。
5. population stratification
群体分层指的是在样本中明显分成了多个亚群,亚群之间的差异会影响case/control组间差异的判断,对GWAS分析造成影响。对于群体分层,可以在后续GWAS分析中进行校正,这里的过滤指的是过滤掉个别明显偏离的离群值样本,可以通过主成分分析PCA或者MDS分析来实现,对应的方法比较多,后续在详细讲解。
除了这些过滤条件外,还需要调整SNP的方向,在reference panel中,SNP位点分型结果以参考基因组正链上的碱基表示,而在分型结果中会出现既有正链又有负链的情况,需要统一校正到正链上来。
对原始分型结果进行质控,可以提高基因型填充的准确率,进一步保证后续GWAS分析的准确性。