1)背景

伴随着大规模的基因分型及测序工程的产生(例如1000 Genomes Project),之前的信息贮存格式例如gff文件它记录了每一个基因的详细信息,其中许多基因信息在基因组之间是共享的,而我们需要记录的仅仅是不同基因组之间变异的地方,因此这些格式会显得格外冗余。这就迫切需要一种新的格式来记录高效的记录这些变异信息。VCF(Variant Call Format)就是这样一种用来贮存基因序列变异信息的文本文件(通常是压缩格式)。

2)VCF格式简介

VCF 格式文件包含有2部分:1) header section,元信息(meta-information),以‘##’为前缀,通常包含fileformat、fileDate、reference等信息,头行信息( header line ),以‘#’为前缀;2) data section,该部分为主题部分,记录了每个样品每个位点处的基因分型信息。

vcf格式简介-LMLPHP

主题部分每列的含义:

vcf格式简介-LMLPHP

vcf格式简介-LMLPHP

1)CHROM - chromosome:参考基因组标识。
2)POS - position:变异位点相对于参考基因组所在的位置(1-based)。在每个染色体内,按照数字位置升序排列。
3)ID - identifier: 如果是dbSNP variant则需要给出相应的rs 号,若不是,则默认使用‘.’
4)REF - reference base(s): 参考序列碱基,必须是 A,C,G,T,N其中的一种。
5) ALT - alternate base(s): 表示variant的Allele,若有多个,则使用逗号分隔,(变异所支持的碱基类型及碱基数量)这里的碱基类型和碱基数量,对于SNP来说是单个碱基类型的编号,而对于Indel来说是指碱基个数的添加或缺失,以及碱基类型的变化
6)QUAL - quality:表示 Phred质量值,用来表示 ALT的可靠性
7)FILTER - filter status:表示是否通过过滤。PASS表示该位点通过过滤,否则表示没有通过。例如,q10表示质量值低于10
8)INFO - additional information:表示的是变异描述信息。包括18种,都是以<key>=[,data]格式,并使用分号分隔的形式,其中很多的注释信息在VCF文件的头部注释中给出。

AA :ancestral allele    AC  :allele count in genotypes, for each ALT allele, in the same order as listed    AF  :allele frequency for each ALT allele in the same order as listed: use this when  estimated from primary data, not called genotypes AN  :total number of alleles in called genotypes    BQ  :RMS base quality at this position  CIGAR :cigar string describing how to align an alternate allele to the reference alleleDB  :dbSNP membership   DP  :combined depth across samples, e.g. DP=154 END :end position of the variant described in this record H2  :membership in hapmap2  H3  :membership in hapmap3  MQ  :RMS mapping quality, e.g. MQ=52    MQ0 :Number of MAPQ == 0 reads covering this record NS  :Number of samples with data    SB  :strand bias at this position   SOMATIC :indicates that the record is a somatic mutation, for cancer genomics   VALIDATED :validated by follow-up experiment    1000G :membership in 1000 Genomes

9)FORMAT:可选的扩展,例如GT:AD:DP:GQ:PL。该部分是主体部分,表示基因型信息的多个标签,这些标签之间以冒号分割,其对应的值位于第10列,同样以冒号分割,表示第一个样品的基因型结果
10)SAMPLES:表示样本信息,各个Sample的值,由BAM文件中的@RG下的SM标签所决定,这些值对应着第9列的各个格式,不同格式的值用冒号分开,每一个sample对应着1列;多个samples则对应着多列,这种情况下列的数多余10列。

vcf格式简介-LMLPHP

vcf格式简介-LMLPHP

vcf格式简介-LMLPHP

3)vcftools的下载与简单应用

vcftools 则是一款非常优秀的工具来处理vcf 文件,可以用来对vcf文件进行解析、分析、操作。vcftools大致可以被分为两个模块:1)Perl API,该模块主要是可以对vcf文件进行多种操作,包括合并,比较,取交并集,及简单的统计  2)第二个模块包含C++可执行程序,用来分析vcf文件中的SNP数据,可以用来估计等位基因频率,连锁不平衡,质量控制等分析。

1)下载https://github.com/vcftools/vcftools2)tar zxvf  vcftools-vcftools-v0.1.16-0-g93ec375.tar.gz3)./configure --help4)./configure5)make6)make install

下面会给出三个简单的例子:

1)比较两个文件共享变异位点
 vcftools --vcf input_data.vcf --diff other_data.vcf --out compare
2)计算等位基因频率
vcftools --vcf cohort.intersect.vcf --freq --out output
3)统计测序深度
vcftools --vcf input_data.vcf --depth  -c >output

4)参考资源

The Variant Call Format Specification,VCFv4.3 and BCFv2.2
The variant call format and VCFtools
https://en.wikipedia.org/wiki/Variant_Call_Format
http://www.cnblogs.com/emanlee/p/4562064.html
https://gatkforums.broadinstitute.org/gatk/discussion/1268/how-should-i-interpret-vcf-files-produced-by-the-gatk

05-08 15:21