一、什么是VCF文件
VCF(Variant Call Format)是用于存储基因组突变信息的一种列表文本格式,SNP(单个碱基变异),INDEL(插入/缺失),CNV(拷贝数变异)SV(结构变异)结果都是以VCF文件格式存储的。处理 VCF 格式软件主要包括 bcftools,vcftools,gatk,python pyvcf,plink 等,GATK软件应用最广。将VCF存储为二进制格式就是 BCF,二进制格式节省更多存储,vcf 与bcf 的关系类似 sam 与 bam 的关系。
二、如何看懂VCF文件
vcf 文件主要分为三部分。
第一部分:双井号注释,为文件头信息,主要介绍文件内容以及 INFO 部分的详细解释;
第二部分:单井号注释,为表头信息,基本内容分为 8 列,分别为:
1. CHROM(chromosome):变异位点所在染色体位置;
2. POS(position): 变异位点相对于参考基因组所在的位置,如果是indel,就是indel第一个碱基位置。
3. ID(identifier): variant 的 ID。 如果 call 出来的 SNP 存在于 dbSNP 数据库(是 NCBI 中专门用于存储物种 SNP 位点信息的数据库)里,就会显示相应的 dbSNP 里的 rs 编号;若没有,则用 ’.’ 表示其为一个新变体。
4. REF(reference base(s)):在这个变异位点处,参考基因组中所对应的碱基。
5. ALT(alternate base(s)): 与参考序列相比,研究对象基因组(Variant)中发生突变的碱基。
6. QUAL(quality): Phred标准下的质量值,可以理解为所 call 出来的变异位点的质量值。表示在该位点存在variant的可能性;该值越高,则variant的可信度越大;
计算方法:① Q=-10*lgP,Q表示质量值;P表示这个位点发生错误的概率。
②Phred值Q = -10 * lg (1-p) ,p为variant存在的概率;
通过计算公式可以看出值为10的表示错误概率为0.1,该位点为variant的概率为90%。
同理,当Q=20时,错误率就控制在了0.01。
7. FILTER(filter status]): 对变异位点进行过滤后,如果通过了过滤标准,那么这些通过标准的变异位点的FILTER一栏就会注释一个PASS,如果没有通过过滤,就会在FILTER这一栏提示除了PASS的其他信息。如果这一栏是一个“.”的话,就说明没有进行过任何过滤。
8. INFO: 这一行是variant的详细信息。详见三
第三部分为主体部分,每一行代表一个Variant(变体)的信息。
当文件中包含多个样品时,就会出现“FORMAT” 一列,用于提示后续不同样品中展示的信息。接下来是样品名,每个样品一列。
三、VCF文件 INFO 信息
1. GT(genotype): 表示这个样本的基因型,对于一个二倍体生物,GT值表示的是这个样本在这个位点所携带的两个等位基因。在做变异检测之后通常还要做一步 genotype 就是为了得到这个信息。两个数字中间用’/"分开,这两个数字表示双倍体的 sample 的基因型,0表示样本基因型跟REF的allele(等位碱基)一样;1表示跟ALT一样;2 表示有第二个 variant 的 allele(和 ALT 的第二种碱基相同)。
可以根据 GT 判断出样品的基因型。假设这个突变中 REF 为 C , ALT 为 T 碱基。
如果 GT 为:
(1)0/0 :表示样本中该位点为纯合位点,和 REF 的碱基类型一致——CC。
(2)0/1:表示样本中该位点为杂合突变,有 REF 和 ALT 两个基因型——CT;
(3)1/0:表示样本中该位点为杂合突变,有 REF 和 ALT 两个基因型——TC;
(4)1/1:表示样本中该位点为纯合突变,总体突变类型和 ALT 碱基类型一致,为 TT。
(5)1/2:表示样本中该位点为杂合突变,有 ALT1 和 ALT2 两个基因型,可能是 TA 或者 TG。
2. AD(Allele Depth): 表示覆盖到REF和ALT碱基的reads数,对应两个以逗号隔开的值,相当于支持REF和支持ALT的测序深度。
3. DP(Depth): 覆盖到这个位点的总的reads数量,是逗号前和逗号后的两个AD值的加和,越高结果越可信,通常可以用 DP 进行突变结果过滤。
4. GQ(Genotype Quality,基因型的质量值): 表示最可能的基因型的质量值。表示的意义同QUAL。Phred格式(Phred_scaled)的质量值,表示在该位点该基因型存在的可能性;该值越高,则Genotype的可能性越大。
5. PL(provieds the likelihoods of the given genotypes,指定的三种基因型的质量值): 对应3个以逗号隔开的值,这三个值分别表示该位点基因型是0/0,0/1,1/1的没经过先验的标准化Phred-scaled似然值(L)。这三种指定的基因型(0/0,0/1,1/1)的概率总和为1。如果转换成支持该基因型概率(P)的话,由于L=-10lgP,那么P=10^(-L/10),因此,当L值为0时,P=10^0=1。因此,这个值越小,是这个基因型的可能性越大。
举例
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT HCC007
chr1 899282 rs28548431 C T PASS GT:AD:DP:GQ:PL 0/1:1,3:4:25.92:103,0,26
在这个位点,GT=0/1,也就是说这个位点的基因型是C/T;GQ=25.92,质量值不太高,可能是因为cover到这个位点的reads数太少,DP=4,也就是说只有4条reads支持这个地方的变异;AD=1,3,也就是说支持REF的read有一条,支持ALT的有3条;在PL里,这个位点基因型的不确定性就表现的更突出了,0/1的PL值为0,虽然支持0/1的概率很高;但是1/1的PL值只有26,也就是说还有10^(-2.6)=0.25%的可能性是1/1;但几乎不可能是0/0,因为支持0/0的概率只有10^(-10.3)=5*10-11。
VCF第8列的信息
VCF第8列信息都是以 “TAG=Value”,并使用”;”分隔的形式。其中很多的注释信息在VCF文件的头部注释中给出。以下是这些TAG的解释
AC(Allele Count) 表示该Allele的数目;AF(Allele Frequency) 表示Allele的频率; AN(Allele Number) 表示Allele的总数目。
Dels: Fraction of Reads Containing Spanning Deletions。进行SNP和INDEL calling的结果中,有该TAG并且值为0表示该位点为SNP,没有则为INDEL。
第9列:位点的基因型,测序深度的描述,一般有两列内容,前者为格式,后者为格式对应的数据。
FS:使用Fisher’s精确检验来检测strand bias而得到的Fhred格式的p值。该值越小越好。一般进行filter的时候,可以设置 FS < 10~20。
LIST文件转VCF文件
awk 'OFS="\t" {print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11}' HCC-Indel.list > output.vcf
**学习内容历史久远,参考博主未知,侵权删。