学习资料
##fileformat=VCFv4.2 ##FILTER=<ID=PASS,Description="All filters passed"> ##ALT=<ID=NON_REF,Description="Represents any possible alternative allele not already represented at this location by REF and ALT"> ##FILTER=<ID=LowQual,Description="Low quality"> ##FORMAT=<ID=AD,Number=R,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed"> ##GATKCommandLine=<ID=CombineGVCFs,CommandLine="CombineGVCFs --output output/gvcf/cohort.g.vcf.gz --variant output/gvcf/mother.sorted.markdup.g.vcf --referen> ##INFO=<ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed"> ##contig=<ID=20,length=63025520>
这一部分至少包括8列tab分割的常规信息(用来描述变异位点),第9列及以后表示各个样本的变异信息(可以包括成百上千个样本)。
补充一下正链上的参考等位基因的知识:
开始想象场景:我们用软件发现,在60bp处发现了一个变异,是A变成了T,那么应该这么表示:
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT align.bam AF086833 60 . A T 54 . DP=43 GT:PL 0/1:51,0,48
如果同一个位置检测到有两种可能发生的变异呢?
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT align.bam AF086833 60 . A T,C 43.2 . DP=95 GT:PL 1/2:102,124,42,108,0,48
事情还没完,刚刚两个例子都只是一个变异位点,但实际上有可能多个位点发生缺失(而这才是VCF复杂的开始),例如:58、59、60碱基(GGA)发生了缺失
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT align.bam AF086833 55 . TGAGGA TGA 182 . INDEL;IDV=42 GT:PL 0/1:215,0,255 AF086833 60 . A C,T 39.8 . DP=126 GT:PL 1/2:99,87,47,86,0,49
这里注意:虽然我们看到缺失是从58碱基开始发生的,但是记录的是从55碱基。你会不会好奇:为什么是55而不是准确的58?为什么要表示成TGAGGA->TGA,而不是GAGGA->GA或者GGA->空 呢?这个需要引入一个新词汇”variant normalizatoin“,也就是说,所有的结果展示都是有规定的。
VCF的标准化,为了方便交流,规定以下几点:
因此,这里写成TGAGGA->TGA就是表示缺失位点GGA向左最远可以匹配到第55号T碱基处
GT:AD:DP:GQ:PL 0/1:17,15:32:99:399,0,439 0/1:11,12:23:99:291,0,292 GT:AD:DP:GQ:PL 0/1:13,10:23:99:243,0,341 0/1:21,14:35:99:355,0,526
从VCF的头部可以看到这些字段的解释如下:
GT
AD
DP
GQ
PL
关于PL与GQ的解释可以参考GATK4 HaplotypeCaller
尽管我们可以根据REF和ALT知道了碱基发生了怎样的变化,但是我们想知道这个变化是只是发生在一个DNA拷贝中,还是两个拷贝都有?需要用一个指标来量化这种变异~基因型(Genotype)。GT就是用来表示样本中这个位点的基因型,其中0表示参考REF,1表示变异ALT的第一个entry,2表示ALT的第二个entry(以此类推)
对于二倍体生物,GT表示了一个样本中的等位基因:
当然,如果不是二倍体,命名原理也是一样:单倍体(Haploid)只有一个GT值;多倍体有多个GT值
从INFO列也可以看出等位基因的相关信息(A开头的大多和等位基因Allele相关)
AC=2;AF=0.5;AN=4; AC=3;AF=0.75;AN=4;
对于二倍体样本(Diploid sample),基因型为0/1表示杂合子:AC=1表示Allele数为1(即该位点只有1个等位基因发生变异);AF=0.5频率为0.5(该位点只有50%的等位基因发生变异);AN=2表示总Allele为2
基因型为1/1表示纯合子,AC=2,AF=1,AN=2
AC=2,AF=1,AN=2
正常人的二倍体基因组位点只有杂合和纯合两种情况,因此杂合AF一定是0.5,纯合AF一定是1,但实际的VCF数据是通过测序数据来的,随机性加上测序深度不够带来的系统误差,就使得结果变得不那么理想
List of Phred-scaled genotype likelihoods,直白来说就是一组等位基因的可能性,用来衡量不同基因型可能发生的概率,该值越小可能性越大,例如:
GT:PL 0/1:99:399,0,439
其中PL这一项有三个数值,分别对应三种可能的基因型(0/0,0/1,1/1)发生的概率:
291
-10*log10( 10^(-29) )=290
0/0
0
-10*log10( 1 )=0
0/1
439
-10*log10( 10^(-44) )=440
1/1
软件判断是那种基因型,到底是不是发生了变异,是需要一定的统计方法的,主体就是之前比对的结果BAM文件,其中包含了reads的比对信息,这里就是根据reads比对的数量进行判断
GT:AD:DP 0/1:17,15
GQ就是用Phred值来表示GT判断的准确性,它和PL相似,但是取值不同。PL最小值0表示最准确,GQ一般取PL的第二个小的值(除非第二小的PL大于99)。在GATK分析中,GQ最大就限制在99,因为超过99其实是没有什么意义的,并且还多占字符。因此,如果GATK中发现PL值中第二个小的值比99还要大,软件就将GQ标为99。用GQ值就可以得到,第一位和第二位之间到底差了多少,因此可以快速判断分析的准不准,选择第一个靠不靠谱
1 899282 rs28548431 C T [CLIPPED] GT:AD:DP:GQ:PL 0/1:1,3:4:26:103,0,26
这个位点的GT=0/1,可以判断基因型是C/T;GQ=26表示排名第二基因型的可能性是0.0025,结果不是很好,因为虽然判断的第一位基因型的PL 为0很可靠,但是毕竟相差不多,很难推翻第二位(如果GQ值再大一些,我们就更有信心说明判断的C/T基因型是正确的)。当然,这里GQ的原因很有可能是取样太少,只有4条reads在这个位点作为参考(DP=4),这四条中有1条带参考的碱基信息,另外3条与参考不一致,存在变异(AD=1,3)
因此,重点的结论来啦!尽管我们相信,这个位点确实存在变异,但是假阳性依然存在,也就意味着基因型判断结果不一定是杂合子C/T,有一定的可能是变异纯合T/T(PL(1/1)=26),但一定不可能是参考纯合C/C (PL(0/0)=103)