A step-by-step guide to integrating Google's DeepVariant into your existing NGS pipeline, with benchmarks against GATK HaplotypeCaller.
Why DeepVariant?
Google's DeepVariant uses a deep convolutional neural network to call genetic variants from aligned sequencing reads. Since its release, it has consistently outperformed traditional callers on the PrecisionFDA Truth Challenge benchmarks, particularly for indels and low-complexity regions.
For startups building clinical-grade pipelines, the accuracy gains are significant — but integration isn't always straightforward. This guide covers the practical steps we use in our consulting engagements.
Prerequisites
- Docker or Singularity (for containerized execution)
- BAM/CRAM files aligned to GRCh38
- Reference genome FASTA with index
- At least 16 GB RAM (GPU optional but recommended)
Step 1: Container Setup
DeepVariant is distributed as a Docker image. For HPC environments, convert to Singularity:
singularity pull docker://google/deepvariant:1.6.0
Step 2: Running the Pipeline
DeepVariant runs in three stages: make_examples, call_variants, and postprocess_variants. The bundled run_deepvariant script handles all three:
run_deepvariant \
--model_type=WGS \
--ref=reference.fasta \
--reads=input.bam \
--output_vcf=output.vcf.gz \
--num_shards=$(nproc)
Benchmarking Results
In our audits, we typically see a 2-5% improvement in F1 score for indel calling compared to GATK HaplotypeCaller, with the gap widening in repetitive regions. SNP calling performance is comparable.
The trade-off is compute time — DeepVariant is slower without GPU acceleration. For most startups, the accuracy gains justify the infrastructure investment.
Next Steps
If you're considering DeepVariant for your pipeline, or want help benchmarking it against your current caller, get in touch. We offer both standalone integration projects and full pipeline audits.