omics.co.in logo omics.co.in

7. Variant Annotation & Prioritization

⚡ Category 7 of 14  ·  🧬 6 Primary Tools

Interpreting functional consequences, predicting deleteriousness, annotating population allele frequencies, and mapping clinical pathogenicity across constitutional and oncology variant callsets.

🔍 Ctrl + K

7. Variant Annotation & Prioritization

6 Primary Tools

Translating raw genomic coordinates into biological, clinical, and functional consequences across gene models, clinical databases (ClinVar, COSMIC), and population allele frequencies.

ToolPrimary Role & PurposeSupported PlatformsExecutable Pipeline
Ensembl VEP →Supports ClinVar, gnomAD, dbNSFP, splice predictions, AlphaMissenseAll VCF VariantsView Code ↓
SnpEff / SnpSift →High speed, integrates with diverse genomes, versatile filtering syntaxModel & Non-Model VCFsView Code ↓
ANNOVAR →Database-driven tool for OMIM, COSMIC, 1000G, and conservation scoresTargeted, Exome & WGSView Code ↓
OpenCRAVAT →Interactive web interface, modular scoring plugins (CHASMplus, VEST)Cancer & Rare DiseaseView Code ↓
vcfanno →High-performance Go tool to annotate VCFs with external BED/VCF sourcesAll VCF CohortsView Code ↓
bcftools →Essential standard for VCF merging, normalization, querying, and filteringAll Genomic VariantsView Code ↓
🌐 Extended Variant Annotation & Interpretation Ecosystem: Clinical & In Silico Interpretation
Variant Effect Engines: Ensembl VEP, SnpEff, ANNOVAR, OpenCRAVAT, vcfanno
Pathogenicity & Clinical: ClinVar, VarSome, InterVar, Franklin, AutoPVS1, Exomiser
In Silico & Deep Learning: AlphaMissense, CADD, REVEL, SpliceAI, gnomAD (pLI/LOEUF)
Oncology & Mutational Signatures: OncoKB, CIViC, cBioPortal, maftools, MutationalPatterns, SigProfiler
🏷️

Functional & Clinical Variant Effect Predictor

EMBL-EBI Standard Clinical Evidence

Ensembl Variant Effect Predictor (VEP) determines the effect of genomic variants (SNVs, indels, CNVs, SVs) on genes, transcripts, and protein sequences. It integrates with ClinVar, gnomAD, dbNSFP, and deep learning scores like AlphaMissense.

# 1. Annotate VCF with Ensembl VEP (ClinVar, gnomAD, HGVS, AlphaMissense)
vep \
  -i input_variants.vcf.gz \
  -o vep_annotated.vcf.gz \
  --format vcf --vcf --compress_output bgzip \
  --species homo_sapiens --assembly GRCh38 \
  --offline --cache --dir_cache ~/.vep \
  --everything \
  --af_gnomade --af_gnomadg \
  --clin_sig_allele 1 \
  --symbol --biotype --canonical \
  --fork 8

# 2. Index annotated VCF
tabix -p vcf vep_annotated.vcf.gz
Key Flags: --offline --cache enables fast local annotation without network latency; --everything activates SIFT, PolyPhen, regulatory features, and HGVS nomenclature; --fork 8 parallelizes across 8 CPU threads.
⚡

High-Speed Genomic Annotation & Filter Language

Ultra-Fast Annotation SnpSift Filtering

SnpEff annotates variants with functional consequences (missense, nonsense, splice donor/acceptor) based on genomic coordinates and coding impact. SnpSift provides a powerful domain-specific query language to filter annotated VCF files.

# 1. Annotate variants with SnpEff
snpEff -Xmx8g GRCh38.105 input_variants.vcf.gz \
  | bgzip > snpeff_annotated.vcf.gz
tabix -p vcf snpeff_annotated.vcf.gz

# 2. Filter with SnpSift for HIGH impact mutations (stop_gained, frameshift)
SnpSift filter "(ANN[*].IMPACT = 'HIGH') & (gen[0].DP >= 20)" \
  snpeff_annotated.vcf.gz \
  | bgzip > high_impact_mutations.vcf.gz

# 3. Extract tabular TSV summary of candidate genes
SnpSift extractFields high_impact_mutations.vcf.gz \
  CHROM POS REF ALT "ANN[*].GENE" "ANN[*].EFFECT" "ANN[*].IMPACT" > candidates.tsv
Key Flags: GRCh38.105 designates Ensembl database build; SnpSift filter executes boolean logic on complex nested INFO and FORMAT fields.
📚

Database-Driven Gene, Region & Filter Annotation

Database Driven COSMIC & OMIM

ANNOVAR is a database-driven tool capable of functional annotation across gene-based, region-based, and filter-based databases, integrating OMIM disease phenotypes, COSMIC somatic mutations, and conservation metrics (GERP++, phyloP).

# 1. Convert VCF to ANNOVAR format
convert2annovar.pl -format vcf4 input_variants.vcf > sample.avinput

# 2. Run multi-database table annotation
table_annovar.pl sample.avinput humandb/ \
  -buildver hg38 \
  -out sample_annotated \
  -remove \
  -protocol refGene,cytoBand,gnomad30_genome,cosmic92,clinvar_202401,cadd16gt \
  -operation g,r,f,f,f,f \
  -nastring . \
  -csvout
Key Flags: -protocol lists active databases; -operation g,r,f designates gene-based, region-based, and filter-based operations respectively.
🖥️

Modular Clinical & Cancer Variant Interpretation

Modular Plugins CHASMplus Driver

OpenCRAVAT is an open-source variant interpretation platform featuring a modular plugin architecture, cancer driver scoring (CHASMplus), pathogenicity classifiers (VEST), and an interactive web GUI for clinical reporting.

# 1. Install cancer and clinical annotation modules
oc module install chasmplus vest clinvar cgc gnomad

# 2. Run OpenCRAVAT annotation on somatic VCF
oc run input_somatic.vcf \
  -l hg38 \
  -a chasmplus vest clinvar cgc \
  -t html excel \
  -d opencravat_results/

# 3. View interactive results in web browser
# oc gui opencravat_results/input_somatic.vcf.sqlite
Key Flags: -a chasmplus vest applies machine-learning classifiers for missense oncogenic drivers; -t html excel outputs interactive dashboards and clinical spreadsheets.
🚀

Ultra-Fast Arbitrary VCF & BED Annotation in Go

Go Speed Interval Joins

vcfanno is a high-speed tool written in Go that annotates VCF files with any number of external VCF and BED sources based on genomic overlap, supporting custom mathematical aggregations (mean, max, concat, self).

# 1. Define TOML configuration file (conf.toml)
cat << 'EOF' > conf.toml
[[annotation]]
file = "cadd_scores.vcf.gz"
fields = ["PHRED", "RawScore"]
ops = ["self", "self"]
names = ["CADD_PHRED", "CADD_RAW"]

[[annotation]]
file = "encode_promoters.bed.gz"
columns = [4]
names = ["PROMOTER_ID"]
ops = ["concat"]
EOF

# 2. Run multi-threaded vcfanno
vcfanno -p 16 conf.toml input_variants.vcf.gz | bgzip > vcfanno_annotated.vcf.gz
tabix -p vcf vcfanno_annotated.vcf.gz
Key Flags: -p 16 annotates millions of variants concurrently; ops = ["self", "concat"] manages interval aggregation logic.
🛠️

The Definitive VCF/BCF Filtering & Normalization Engine

Industry Standard VCF / BCF

bcftools is the universal standard for manipulating variant call files in VCF and binary BCF formats. It normalizes indels against reference genomes, splits multi-allelic records, performs complex expression filtering, and extracts clean TSV data matrices.

# 1. Normalize indels (left-align and split multi-allelic sites)
bcftools norm -m-both -f GRCh38.fa raw_calls.vcf.gz -Oz -o norm.vcf.gz
bcftools index norm.vcf.gz

# 2. Filter for high-confidence PASS variants (Depth >= 20, Genotype Quality >= 30)
bcftools filter -i 'FILTER=="PASS" && QUAL>=30 && FORMAT/DP>=20 && FORMAT/GQ>=30' \
  norm.vcf.gz -Oz -o filtered_highconf.vcf.gz
bcftools index filtered_highconf.vcf.gz

# 3. Query specific variant coordinates and genotypes into flat tabular format
bcftools query -f '%CHROM\t%POS\t%REF\t%ALT[\t%SAMPLE=%GT:%DP]\n' \
  filtered_highconf.vcf.gz > genotype_matrix.tsv
Key Flags: norm -m-both -f splits multi-allelic records and left-aligns indels according to HGVS rules; bcftools query outputs clean, parseable TSVs.
← Return to Home Hub
📦 Practice Datasets
🗺️ NGS Data Analysis Process & Workflow Architecture (High-Resolution)
⬇️ Download
NGS Analysis Process Graph Full View