Skip to content

Best Variant Interpretation Software for Your Own Genome

Oak
A small feathered dinosaur on a steel turntable in a dark studio, with only a few of its millions of fine filaments glowing amber.

If you have your own whole-genome VCF and you want to interpret it yourself, a three-tool chain works. Use Ensembl VEP running offline against a local cache for annotation and slivar for filtering. Then use InterVar for a first-pass ACMG-AMP classification of the handful of variants that survive. All three are free, scriptable, and version-pinnable. VarSome and Franklin are useful for looking up a single variant after you have narrowed the list, but they are lookup interfaces rather than pipelines, and neither should be the place your analysis lives. Commercial platforms such as Golden Helix VSClinical buy you a curated evidence layer and an audit trail, which matters for a clinical laboratory and matters much less for one person reading their own data.

The rest of this page is the reasoning, the actual commands, and the failure modes that cause most self-directed genome analyses to produce confident nonsense.

The stack, end to end

The pipeline has four stages and each one throws away most of what came before it. A typical human genome carries roughly four to five million variants relative to GRCh38, of which about 3.5 to 4.3 million are single-nucleotide variants. Annotation attaches meaning to all of them. Filtering cuts to a few hundred. Classification produces evidence for a few dozen. Human review, ideally with a genetic counselor or clinical geneticist, decides what any of it means for you.

Tool surveys from the early days of this field already catalogued dozens of callers and annotators with little agreement between them 1. That has not changed. What has changed is that a small number of tools are maintained, benchmarked, and widely used. You should stay inside that set.

Annotation: VEP, offline, with a pinned cache

Ensembl VEP (Variant Effect Predictor) maps each variant onto transcripts and reports consequence terms, plus whatever external data you attach. Run it offline so your results are reproducible and your variants never leave your machine.

vep --offline --cache --dir_cache ~/.vep \
    --assembly GRCh38 --fasta GRCh38_full_analysis_set.fa \
    --input_file sample.vcf.gz --output_file sample.vep.vcf --vcf \
    --everything --pick_allele_gene --fork 8 \
    --custom file=clinvar_20250601.vcf.gz,short_name=ClinVar,format=vcf,type=exact,fields=CLNSIG%CLNREVSTAT \
    --plugin dbNSFP,/data/dbNSFP4.7a_grch38.gz,REVEL_score,AlphaMissense_pathogenicity \
    --plugin SpliceAI,snv=spliceai_scores.raw.snv.hg38.vcf.gz,indel=spliceai_scores.raw.indel.hg38.vcf.gz

Three flags do most of the work. The --everything flag turns on the full annotation set including SIFT, PolyPhen, and population frequencies. The --pick_allele_gene flag collapses the multiple transcript consequences per variant down to one per gene, which is what makes the output tractable. The --custom flag with the ClinVar VCF is how you get clinical assertions in. You must pull CLNREVSTAT alongside CLNSIG, because a “pathogenic” call with one submitter and no assertion criteria is not the same object as a three-star expert-panel review.

ANNOVAR and snpEff are the main alternatives. ANNOVAR is fast and has a large prebuilt database collection, but the licensing is awkward for anything commercial and the gene model handling is less careful than VEP’s. Use snpEff when you want a single self-contained jar and simple consequence calls.

Filtering with slivar and without a spreadsheet

slivar applies JavaScript expressions to an annotated VCF and carries a compressed gnomAD frequency index, so allele-frequency filtering does not require a join against a multi-gigabyte table.

slivar expr --vcf sample.vep.vcf.gz \
  --gnotate gnomad.v4.hg38.zip \
  --info 'INFO.gnomad_popmax_af < 0.001 && variant.FILTER == "PASS" && variant.ALT[0] != "*"' \
  --pass-only -o rare.vcf

A popmax allele frequency threshold of 0.1% is the right starting point for a rare dominant condition, and 1% for recessive carriers. gnomAD v4 covers 730,947 exomes and 76,215 genomes, which is enough that a genuinely rare disease variant should be near-absent. If a variant is annotated pathogenic in ClinVar and sits at 2% allele frequency in gnomAD, the ClinVar record is almost certainly wrong or the phenotype is far milder than the label implies.

For a phenotype-driven search, Exomiser is better than hand-built filters. You give it HPO (Human Phenotype Ontology) terms in a YAML analysis file and it ranks genes by combined variant and phenotype evidence. It is the tool to reach for if you have a specific clinical question rather than a general survey.

Classification: what InterVar does and where it stops

InterVar implements the 2015 ACMG-AMP variant classification guidelines, automating 18 of the 28 criteria and leaving the remaining 10 for the user to set by hand 2. Those remaining criteria are the ones requiring segregation data, functional studies, and case-level phenotype matching. That is precisely the evidence a software tool cannot manufacture.

This is the boundary of automated interpretation. InterVar will tell you that a variant is absent from population databases, predicted damaging, and in a gene with a known loss-of-function mechanism. It cannot tell you whether the variant tracks with disease in your family. A classification of “likely pathogenic” from any automated tool is a hypothesis to bring to a clinician. It is not a result.

VarSome runs a similar automated ACMG engine over a large aggregated knowledge base, and Franklin by Genoox offers free community-tier access. Both are good for a second opinion on a single variant. Neither replaces reading the underlying ClinVar submissions and the primary literature yourself.

Splicing variants are the ones you will miss

Coding consequence annotation handles missense and nonsense variants well and handles splicing badly. Variants outside the canonical GT-AG dinucleotides can still abolish or create splice sites, and information-theoretic and deep-learning models detect a substantial number of such variants in complete genomes that standard annotation passes over as benign 3. Run SpliceAI as a VEP plugin and treat a delta score above 0.5 as worth attention, above 0.8 as strong. These scores are predictions and require RNA evidence to confirm, which is one reason transcriptome data alongside the genome is useful.

Your variant calls set the ceiling

No interpretation tool can recover from a bad VCF. Three callers have been compared on the same human whole-genome data: GATK HaplotypeCaller, SAMtools, and Freebayes. The results show substantial disagreement between callers, particularly for indels 4. Best-practice clinical calling means documented coverage thresholds, explicit handling of regions with poor mappability, and validation against a truth set 5.

Do this once, before you interpret anything:

hap.py HG002_GRCh38_1_22_v4.2.1_benchmark.vcf.gz your_calls.vcf.gz \
  -f HG002_GRCh38_1_22_v4.2.1_benchmark_noinconsistent.bed \
  -r GRCh38.fa -o eval --engine vcfeval --threads 8

If your provider used the same pipeline on a Genome in a Bottle reference sample, ask for that output. Expect SNV F1 above 0.995 and indel F1 above 0.99 for a 30x short-read genome. Also check per-base coverage in the genes you care about, because several medically relevant genes have paralogs that short reads cannot resolve. DeepVariant is our default caller for personal genomes, with GATK as the alternative when you need joint calling across family members.

Questions people also ask

Should I use hg19 or hg38?

Use GRCh38 (hg38). It fixes reference errors and adds alt contigs that absorb reads from highly polymorphic regions. It is also what gnomAD v4, ClinVar, and SpliceAI now publish against. Convert older data with CrossMap or the GATK LiftoverVcf tool, then check the reject file. Liftover fails silently on some variants and flips strand on others.

Why is Illumina sequencing better than Sanger?

For discovery, Illumina wins on throughput and cost per base, and targeted next-generation sequencing has been shown to reach the sensitivity and specificity required to replace Sanger in diagnostic settings 6. Sanger remains the reference method for single-amplicon confirmation, and reading a history of sequencing chemistry makes clear why both still exist 7. Illumina error profiles are well characterized and improvable through library and run parameters 8.

Are humans 99.9% genetically identical?

Approximately, if you count single-nucleotide differences between two genomes. Including insertions, deletions, and structural variation the figure is closer to 99.4%. In absolute terms, your genome differs from the reference at roughly four to five million positions.

Is Franklin by Qiagen free?

Franklin is a Genoox product and offers a free tier that covers single-variant lookup and community classifications. Larger case volumes and clinical reporting features sit behind paid plans. Treat the free tier as a reference source rather than as your analysis environment.

How do I know if I have a genetic variant?

Search your annotated VCF for the position or the rsID with bcftools view -r chr7:117559590 sample.vcf.gz and inspect the genotype field. A 0/1 is heterozygous and 1/1 is homozygous for the alternate allele. Confirm read depth and genotype quality before believing it, and confirm any clinically meaningful finding with an orthogonal assay ordered through a clinician.

Footnotes

  1. S. Pabinger, A. Dander, M. Fischer, et al. A survey of tools for variant analysis of next-generation genome sequencing data. Briefings in Bioinformatics, 2013. https://doi.org/10.1093/bib/bbs086 ↩

  2. Quan Li, Kai Wang. InterVar: Clinical Interpretation of Genetic Variants by the 2015 ACMG-AMP Guidelines. The American Journal of Human Genetics, 2017. https://doi.org/10.1016/j.ajhg.2017.01.004 ↩

  3. Ben C. Shirley, Eliseos J. Mucaki, Tyson Whitehead, et al. Interpretation, Stratification and Evidence for Sequence Variants Affecting mRNA Splicing in Complete Human Genome Sequences. Genomics, Proteomics & Bioinformatics, 2013. https://doi.org/10.1016/j.gpb.2013.01.008 ↩

  4. Anna Supernat, Oskar Valdimar Vidarsson, Vidar M. Steen, et al. Comparison of three variant callers for human whole genome sequencing. Scientific Reports, 2018. https://doi.org/10.1038/s41598-018-36177-7 ↩

  5. Daniel C. Koboldt. Best practices for variant calling in clinical sequencing. Genome Medicine, 2020. https://doi.org/10.1186/s13073-020-00791-w ↩

  6. Birgit Sikkema-Raddatz, Lennart F. Johansson, Eddy N. de Boer, et al. Targeted Next-Generation Sequencing can Replace Sanger Sequencing in Clinical Diagnostics. Human Mutation, 2013. https://doi.org/10.1002/humu.22332 ↩

  7. Kübra Eren, Nursema Taktakoğlu, Ibrahim Pirim. DNA Sequencing Methods: From Past to Present. The Eurasian Journal of Medicine, 2023. https://doi.org/10.5152/eurasianjmed.2022.22280 ↩

  8. Michael A Quail, Iwanka Kozarewa, Frances Smith, et al. A large genome center’s improvements to the Illumina sequencing system. Nature Methods, 2008. https://doi.org/10.1038/nmeth.1270 ↩

Pothos builds longitudinal molecular profiles of individuals: whole-genome sequencing, single-cell RNA sequencing, and plasma proteomics, delivered as a detailed report, every data file, and stored cells. Build your profile.