Variant Call Format
January 13, 2021
|Type of format||Genomic sequence format|
|Extended from||Tab-separated values|
The Variant Call Format (VCF) specifies the format of a text file used in bioinformatics for storing gene sequence variations. The format has been developed with the advent of large-scale genotyping and DNA sequencing projects, such as the 1000 Genomes Project. Existing formats for genetic data such as General feature format (GFF) stored all of the genetic data, much of which is redundant because it will be shared across the genomes. By using the variant call format only the variations need to be stored along with a reference genome.
The standard is currently in version 4.3, although the 1000 Genomes Project has developed its own specification for structural variations such as duplications, which are not easily accommodated into the existing schema. There is also a genomic VCF (gVCF) extended format, which includes additional information about "blocks" that match the reference and their qualities. A set of tools is also available for editing and manipulating the files.
##fileformat=VCFv4.3 ##fileDate=20090805 ##source=myImputationProgramV3.1 ##reference=file:///seq/references/1000GenomesPilot-NCBI36.fasta ##contig=<ID=20,length=62435964,assembly=B36,md5=f126cdf8a6e0c7f379d618ff66beb2da,species="Homo sapiens",taxonomy=x> ##phasing=partial ##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> ##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> ##INFO=<ID=AF,Number=A,Type=Float,Description="Allele Frequency"> ##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> ##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> ##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> ##FILTER=<ID=q10,Description="Quality below 10"> ##FILTER=<ID=s50,Description="Less than 50% of samples have data"> ##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> ##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> ##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> ##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. 20 17330 . T A 3 q10 NS=3;DP=11;AF=0.017 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3 20 1110696 rs6040355 A G,T 67 PASS NS=2;DP=10;AF=0.333,0.667;AA=T;DB GT:GQ:DP:HQ 1|2:21:6:23,27 2|1:2:0:18,2 2/2:35:4 20 1230237 . T . 47 PASS NS=3;DP=13;AA=T GT:GQ:DP:HQ 0|0:54:7:56,60 0|0:48:4:51,51 0/0:61:2 20 1234567 microsat1 GTC G,GTCT 50 PASS NS=3;DP=9;AA=G GT:GQ:DP 0/1:35:4 0/2:17:2 1/1:40:3
The VCF header
The header begins the file and provides metadata describing the body of the file. Header lines are denoted as starting with #. Special keywords in the header are denoted with ##. Recommended keywords include fileformat, fileDate and reference.
The header contains keywords that optionally semantically and syntactically describe the fields used in the body of the file, notably INFO, FILTER, and FORMAT (see below).
The columns of a VCF
The body of VCF follows the header, and is tab separated into 8 mandatory columns and an unlimited number of optional columns that may be used to record other information about the sample(s). When additional columns are used, the first optional column is used to describe the format of the data in the columns that follow.
|Name||Brief description (see the specification for details).|
|1||CHROM||The name of the sequence (typically a chromosome) on which the variation is being called. This sequence is usually known as 'the reference sequence', i.e. the sequence against which the given sample varies.|
|2||POS||The 1-based position of the variation on the given sequence.|
|3||ID||The identifier of the variation, e.g. a dbSNP rs identifier, or if unknown a ".". Multiple identifiers should be separated by semi-colons without white-space.|
|4||REF||The reference base (or bases in the case of an indel) at the given position on the given reference sequence.|
|5||ALT||The list of alternative alleles at this position.|
|6||QUAL||A quality score associated with the inference of the given alleles.|
|7||FILTER||A flag indicating which of a given set of filters the variation has failed or PASS if all the filters were passed successfully.|
|8||INFO||An extensible list of key-value pairs (fields) describing the variation. See below for some common fields. Multiple fields are separated by semicolons with optional values in the format: |
|9||FORMAT||An (optional) extensible list of fields for describing the samples. See below for some common fields.|
|+||SAMPLEs||For each (optional) sample described in the file, values are given for the fields listed in FORMAT|
Common INFO fields
Arbitrary keys are permitted, although the following sub-fields are reserved (albeit optional):
|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 allele|
|DP||combined depth across samples, e.g. DP=154|
|END||end position of the variant described in this record (for use with symbolic alleles)|
|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|
Any other info fields are defined in the .vcf header.
Common FORMAT fields
|AD||Read depth for each allele|
|ADF||Read depth for each allele on the forward strand|
|ADR||Read depth for each allele on the reverse strand|
|EC||Expected alternate allele counts|
|FT||Filter indicating if this genotype was “called”|
|GP||Genotype posterior probabilities|
|GQ||Conditional genotype quality|
|MQ||RMS mapping quality|
|PL||Phred-scaled genotype likelihoods rounded to the closest integer|
Any other format fields are defined in the .vcf header.
Tools to analyse VCF files
Public tools (free):
- Ensembl Variant Effect Predictor (VEP). As its name, basically, VEP allows you to predict the effects of your variants on genes, transcripts, protein sequence, and regulatory regions. VEP predicts (1) which genes and transcripts are affected by variants, (2) the location of variants, (3) the consequences of variants on protein sequence. VEP has an online interface for small-size data (<50Mb) and is also available as a local command-line tool for large-size data (>=50Mb). A container (e.g. Docker) may be necessary for the software compatible with your machine. Installation requires many prerequisites such as XCode, GCC, Perlbrew, Cpanm, Homebrew, mysql, DBI, DBD::mysql.
- gene.iobio.io This web tool allows you to search for important variants from list of genes of interest. Other features are demonstrated on their website.
- vcf.iobio.io Allow you to visualize and examine your variant file. 2 figures below are examples.
VIVA (VIsualization of VAriants), a tool for visualization of genomic variation data. It uses a command-line interface or can run on Jupyter Notebook.
Most of the annotations produced by these tools are predictions, hence they still require clinical evidence to confirm effects of a variant.
- The FASTA format, used to represent genome sequences.
- The FASTQ format, used to represent DNA sequencer reads along with quality scores.
- The SAM format, used to represent genome sequencer reads that have been aligned to genome sequences.
- The GVF format (Genome Variation Format), an extension based on the GFF3 format.
- Global Alliance for Genomics and Health (GA4GH), the group leading the management and expansion of the VCF format. The VCF specification is no longer maintained by the 1000 Genomes Project.
- "VCF Specification" (PDF). Retrieved 20 Oct 2016.
- "Specifications of SAM/BAM and related high-throughput sequencing file formats". GitHub. Retrieved 24 June 2014.
- "Encoding Structural Variants in VCF (Variant Call Format) version 4.0 | 1000 Genomes". Retrieved 20 October 2016.
- "GVCF - Genomic Variant Call Format". GATK. Broad Institute.
- "VCFtools from Github.io". Retrieved 20 October 2016.
- McLaren W, Gil L, Hunt SE, Riat HS, Ritchie GR, Thormann A, et al. (June 2016). "The Ensembl Variant Effect Predictor". Genome Biology. 17 (1): 122. doi:10.1186/s13059-016-0974-4. PMC 4893825. PMID 27268795.
- Di Sera T, Velinder M, Ward A, Qiao Y, Georges S, Miller C, et al. (October 2021). "Gene.iobio: an interactive web tool for versatile, clinically-driven variant interrogation and prioritization". Scientific Reports. 11 (1): 20307. Bibcode:2021NatSR..1120307D. doi:10.1038/s41598-021-99752-5. PMC 8514592. PMID 34645894.
- Tollefson GA, Schuster J, Gelin F, Agudelo A, Ragavendran A, Restrepo I, et al. (September 2019). "VIVA (VIsualization of VAriants): A VCF File Visualization Tool". Scientific Reports. 9 (1): 12648. doi:10.1038/s41598-019-49114-z. PMC 6718772. PMID 31477778.
- "HTS format specifications". samtools.github.io. Retrieved 2022-02-22.
- "Bio-IT World". www.bio-itworld.com. Retrieved 2018-10-26.