VCF Annotation: How to Read Variant Consequence Reports
VCF annotation is the process of adding biological context to raw variant call format records. If you are a bioinformatician, clinical researcher, or lab scientist who works with germline or somatic sequencing data, this guide is for you. An annotated VCF turns a list of genomic positions into actionable information: which genes are affected, what the predicted protein change is, whether the variant is seen in population databases, and how likely it is to be pathogenic. Without careful reading, you can misinterpret consequences, miss key transcript differences, or overstate clinical significance. Here we break down the core fields, explain transcript selection, walk through population evidence and prediction tool limits, and define clinical boundaries.
At a Glance
| Annotation field | What it tells you | Key caution |
|---|---|---|
| Gene symbol | Which gene overlaps the variant | Multiple overlapping genes can exist, check all affected transcripts |
| Consequence | Type of effect (e.g., missense, stop gain) | Software may report many consequences per variant, focus on canonical or most severe |
| Impact | High, moderate, low, modifier | Impact is not clinical severity, a high impact variant may still be benign |
| Transcript ID and version | Specific transcript used for annotation | Different transcripts produce different consequences, always note the version |
| Population allele frequency (AF) | How common the variant is in cohorts like gnomAD | Absence from a database does not mean rare, populations are biased |
| SIFT, PolyPhen, CADD scores | Computational predictions of functional effect | Prediction tools have high false positive rates, do not use alone for clinical calls |
| ClinVar ID and clinical significance | Evidence based clinical classification | Not all ClinVar submissions are curated, check for review status |
Decision Criteria: Reading the Consequence Report
When you open an annotated VCF, you see a dense INFO field with comma separated terms. The most important judgment you make is deciding which consequence matters. A single variant often hits multiple transcripts. Use these criteria to filter:
- Transcript biotype: Prioritize protein coding transcripts over noncoding or pseudogenes. The canonical transcript (usually the longest or most biologically relevant) is a good first choice.
- Consequence ranking: Use the Sequence Ontology (SO) term ordering. A stop gained (SO:0001587) is more severe than a missense (SO:0001583). Many annotation tools return only the most severe consequence per variant, but be aware that flanking regions may produce different effects.
- Prediction scores: Combine tools. SIFT and PolyPhen consensus (both damage) increases confidence, but never rely on a single score. CADD scores above 20 are often used to flag deleteriousness, but thresholds vary by context.
- Population frequency: For a rare disease hypothesis, variants with AF > 1% in any large population are unlikely to be causative. For common complex traits, frequency filtering is less strict.
These criteria do not replace human review. They guide which variants move to the next step.
Practical Workflow for Annotating and Interpreting Variants
Follow this sequence to generate and read an annotation report. The workflow assumes you have a filtered VCF (germline or somatic) ready.
- Select an annotation tool and reference genome. Tools like SnpEff, VEP, and the NCBI Variant Interpretation pipeline all rely on a consistent reference genome (GRCh38 or GRCh37). Match your VCF to the reference used during alignment. The NCBI Bookshelf [1] provides technical references on reference genome compatibility.
- Choose a transcript database and version. The same VEP annotation can vary between Ensembl and RefSeq transcripts. Use a consistent version across a project. EMBL EBI Training [2] emphasizes that switching transcript sets mid analysis introduces systematic errors.
- Run annotation with population data. Supply external population frequency files (e.g., gnomAD exomes and genomes). The Galaxy Training Network [3] offers workflows that automatically merge ExAC or gnomAD AF into the INFO field. This step is essential for filtering common variants.
- Parse the CSQ or ANN field. Use software tools like the Germline VCF Annotator pipeline [11] to extract structured data from the VCF INFO field into a flat table. Do not manually parse comma separated lists without a parser, as you will miss subfields.
- Apply initial filters. Remove variants with high population AF (e.g., AF > 0.01 for rare disease). Then filter for coding consequences or predicted high impact.
- Review remaining variants manually. Open the table in a spreadsheet or IGV. For each candidate, check the annotation details. Does the transcript version match the current database? Is the population AF from a relevant ancestry group?
- Document decisions. Record which transcript, consequence, and prediction you used. This supports reproducibility. The MuSA pipeline [6] provides an example of deep annotation with full provenance tracking.
Common Mistakes in Reading VCF Annotation Reports
Ignoring transcript version. Many annotation reports show only the transcript name without version (e.g., NM_000546.6 versus NM_000546.5). The functional consequence can change if the transcript version differs. Always capture the version and check against the current RefSeq or Ensembl release.
Assuming one consequence per variant. By design a variant can be missense on one transcript and intronic on another. Annotation tools often list all consequences separated by commas. Some software silently selects the most severe, but that choice may not be biologically correct for your analysis. Inspect the full list.
Overinterpreting prediction scores. Computational predictions are not evidence of pathogenicity. They are weak supporting lines. A meta analysis from Bioconductor [4] shows that SIFT and PolyPhen agree less than 60% of the time on damaging predictions. Use them for filtering, not for diagnosis.
Misusing population frequency from small databases. Databases like gnomAD have good coverage for European populations but sparse representation for African, Indigenous, and other groups. A variant absent from gnomAD may be common in an unsequenced population. The NCBI Sequence Read Archive [5] provides raw data to check understudied groups, but frequency calculations from SRA require reprocessing.
Forgetting to check the reference allele. An annotated consequence assumes the reference genome is correct. If the reference allele itself is a minor allele in the population, the variant you call may be the reference. Tools that use reference free polarisation (like diempy [7]) can help but are not yet standard in VCF annotation pipelines.
Limits and Uncertainty in Annotation
Every annotation is a prediction based on incomplete knowledge. Accept these boundaries:
- Consequence accuracy: The exact effect on the protein depends on the transcript model. Alternative splicing can produce isoforms that skip the variant site. No current annotation pipeline models all isoforms perfectly.
- Population evidence: Variant allele frequencies are estimates. Confidence intervals are large for rare variants. An AF of 0.00001 could mean one observation in 100,000 alleles or zero. Low coverage in the database inflates uncertainty.
- Prediction limits: Algorithms like SIFT rely on sequence conservation. They cannot predict effects on splicing, regulatory elements, or noncoding RNA function. Tools that attempt to predict regulatory effects (e.g., CADD) are trained on limited datasets and may perform poorly in noncoding regions.
- Clinical boundaries: Annotated consequence reports are not medical reports. A predicted stop gain in a tumor suppressor gene might be relevant for cancer risk, but it does not prove causality. Clinical classification (following ACMG guidelines) requires additional evidence: segregation, functional studies, and case control data. The Galaxy Training Network [3] stresses that annotation output is a starting point, not a final verdict.
- Mitochondrial variants: Standard nuclear annotation pipelines fail for mitochondrial DNA because they use a different genetic code. If you work with mitochondrial variants, use dedicated tools like Mito_Plot [8] which properly annotate heteroplasmy and MT specific consequences.
Frequently Asked Questions
Q1: Why does the same variant have different consequences in different annotation tools?
Different tools use different transcript databases (Ensembl vs. RefSeq) and may apply different prioritization rules. If one tool reports a missense and another reports synonymous, check which transcript each tool used and whether the transcript version is current. The NCBI Bookshelf [1] provides guidance on aligning transcript databases.
Q2: Can I trust the ClinVar significance in an annotated VCF?
ClinVar annotations are useful but must be verified for review status. A record marked "no assertion criteria provided" is less reliable than one with "expert panel" or "practice guideline." Use the ClinVar submission ID to check the ClinVar website. Many annotation tools include the stars of review but you should confirm.
Q3: How do I handle variants that overlap multiple genes?
List all overlapping genes and consequences. For clinical reporting, some guidelines recommend reporting the most clinically relevant gene. For research, analyze each gene separately. The SNPWay tool [9] demonstrates how to map variants to pathways even when genes overlap.
Q4: What does "MODIFIER" impact mean in the annotation?
MODIFIER is assigned when the variant is in a noncoding region or has an uncertain effect on the transcript. It does not mean the variant has no biological impact. Many regulatory variants are classified as MODIFIER. You must use additional functional data (e.g., chromatin state, eQTLs) to decide relevance.
References and Further Reading
- NCBI Bookshelf. Free biomedical books and authoritative technical references on variant interpretation and database resources. https://www.ncbi.nlm.nih.gov/books/
- EMBL EBI Training. Official training resources covering VEP, transcript databases, and population frequency best practices. https://www.ebi.ac.uk/training/
- Galaxy Training Network. Open workflows for VCF annotation, filtering, and visualisation. https://training.galaxyproject.org/
- Bioconductor. R packages for parsing annotated VCFs and applying statistical filters. https://bioconductor.org/
- NCBI Sequence Read Archive. Repository for raw sequencing data useful for checking variant frequencies in underrepresented populations. https://www.ncbi.nlm.nih.gov/sra
- MuSA: a Nextflow pipeline for deep, reproducible annotation and clinical ranking of genomic variants. BMC Bioinformatics. https://pubmed.ncbi.nlm.nih.gov/42304195/
- Germline VCF Annotator: a lightweight pipeline for processing germline VCFs with robust variant extraction and read evidence quality control. bioRxiv. https://pubmed.ncbi.nlm.nih.gov/41993465/
- SNPWay: streamlined SNP to function and pathway over representation analysis. bioRxiv. https://pubmed.ncbi.nlm.nih.gov/42146374/
Related Articles
- Viral Phylogenetics: Interpreting Clusters Without Overstating Transmission
- Nextflow for Bioinformatics: Building a Reproducible Workflow
- Snakemake for Research Pipelines: A Practical Starting Framework
- Reproducible Bioinformatics: Files, Environments, Parameters, and Provenance
- Conda Environments for Bioinformatics: Managing Tools Without Version Drift