4. Small Variant Calling (Germline SNVs & Indels)
6 Primary ToolsIdentification of single nucleotide variants (SNVs) and small insertions/deletions (indels) in constitutional DNA across short-read, long-read, and hybrid sequencing platforms.
| Tool | Primary Role & Purpose | Supported Platforms | Executable Pipeline |
|---|---|---|---|
| GATK HaplotypeCaller → | The industry benchmark caller for germline short-read cohorts | Short-Read (Illumina / MGI) | View Code ↓ |
| DeepVariant (Google) → | State-of-the-art accuracy across Illumina, PacBio HiFi, and ONT | Universal (Illumina / PacBio / ONT) | View Code ↓ |
| Clair3 → | Optimized for long reads (PacBio HiFi and Oxford Nanopore) | Long-Read (ONT / PacBio HiFi) | View Code ↓ |
| PEPPER-Margin-DeepVariant → | Tailored specifically for Oxford Nanopore Q20+ germline variant calling | Long-Read (ONT R10.4.1) | View Code ↓ |
| FreeBayes → | Suitable for non-model organisms, pooled samples, and varied ploidy | Short & Long-Read DNA | View Code ↓ |
| Octopus → | Handles diverse sequencing technologies and micro-homology regions | Illumina, PacBio & ONT | View Code ↓ |
DeepVariant, Clair3 (ONT / HiFi), PEPPER-Margin-DeepVariantGATK HaplotypeCaller, FreeBayes, OctopusIllumina DRAGEN Germline, Sentieon DNAscope, NVIDIA ParabricksWhatsHap, SHAPEIT5, Beagle, EagleLocal De-Novo Assembly & Pair-HMM Calling
Broad Institute’s GATK HaplotypeCaller calls germline SNPs and indels via local de-novo haplotype assembly of active regions. It evaluates candidate haplotypes using Pair-HMM likelihood models, generating GVCF records for joint cohort genotyping.
# 1. Run HaplotypeCaller in per-sample GVCF mode
gatk --java-options "-Xmx16g" HaplotypeCaller \
-R GRCh38.fa \
-I sample.dedup.bam \
-O sample.g.vcf.gz \
-ERC GVCF \
--dbsnp dbsnp_146.hg38.vcf.gz \
--native-pair-hmm-threads 8
# 2. Single-sample Genotyping (or joint call via GenomicsDBImport)
gatk GenotypeGVCFs \
-R GRCh38.fa \
-V sample.g.vcf.gz \
-O sample.genotyped.vcf.gz-ERC GVCF outputs non-variant reference confidence intervals required for population-scale joint calling; --native-pair-hmm-threads 8 offloads compute-heavy Pair-HMM matrix computation; -dbsnp populates rsIDs.Deep Convolutional Neural Network (CNN) Variant Calling
Google DeepVariant transforms aligned reads into multi-channel image tensors (base, quality, strand, mismatch) and feeds them into an Inception convolutional neural network to classify genotypes, consistently winning PrecisionFDA benchmark awards.
# 1. Run DeepVariant via Docker/Singularity for WGS
singularity exec --bind /data:/data \
docker://google/deepvariant:1.6.0 \
/opt/deepvariant/bin/run_deepvariant \
--model_type=WGS \
--ref=/data/GRCh38.fa \
--reads=/data/sample.dedup.bam \
--output_vcf=/data/deepvariant_calls.vcf.gz \
--output_gvcf=/data/deepvariant_calls.g.vcf.gz \
--num_shards=16
# 2. For PacBio HiFi or ONT data, change model_type:
# --model_type=PACBIO (or --model_type=ONT_R104)--model_type=WGS selects neural network weights calibrated for Illumina whole-genome data (switch to PACBIO or WES); --num_shards=16 distributes multi-core tensor classification across 16 threads.Bi-directional LSTM + CNN Long-Read Variant Caller
Clair3 is a hybrid deep-learning variant caller specifically designed for long reads. It couples a pileup model for rapid candidate scanning with a full-alignment bi-directional LSTM network for resolving complex multi-base indels and homopolymer tracts.
# 1. Run Clair3 on Oxford Nanopore Q20+ R10.4.1 BAM
run_clair3.sh \
--bam_fn=ont_aligned.sorted.bam \
--ref_fn=GRCh38.fa \
--threads=16 \
--platform="ont" \
--model_path=/models/ont/r1041_e82_400bps_sup_v420 \
--output=clair3_ont_out \
--include_all_ctgs \
--enable_phasing
# 2. Index output VCF
tabix -p vcf clair3_ont_out/merge_output.vcf.gz--platform="ont" (or "hifi"); --model_path specifies chemistry-tailored neural network weights; --enable_phasing outputs WhatsHap-phased diploid heterozygous variants.HMM + CNN Pipeline for Nanopore Q20+ Reads
PEPPER-Margin-DeepVariant is a joint pipeline developed by UCSC and Google. PEPPER finds candidate variants using recurrent neural networks; Margin phases haplotype blocks; DeepVariant generates final high-accuracy genotypes from Oxford Nanopore reads.
# 1. Run containerized PEPPER-Margin-DeepVariant
singularity exec --bind /data:/data \
docker://kishwars/pepper_deepvariant:r0.8 \
run_pepper_margin_deepvariant call_variant \
-b /data/ont_aligned.bam \
-f /data/GRCh38.fa \
-o /data/pepper_out \
-p pepper_sample \
-t 16 \
--ont_r10_q20 \
--phased_output--ont_r10_q20 activates neural weights calibrated for ONT R10.4.1 chemistry; --phased_output outputs phased VCF and haplotagged BAM files.Bayesian Haplotype-Based Variant Detector
FreeBayes is a Bayesian genetic variant detector that bypasses positional alignment assumptions by evaluating haplotype windows. It natively supports arbitrary organism ploidy, pooled sequencing, and complex micro-inversions.
# 1. Run FreeBayes with parallel regions and ploidy control
freebayes \
-f GRCh38.fa \
-p 2 \
--min-alternate-fraction 0.15 \
--min-alternate-count 3 \
--min-coverage 10 \
sample.dedup.bam \
| bcftools view -Oz -o freebayes_raw.vcf.gz
# 2. Filter variants by quality and depth
bcftools filter -i 'QUAL >= 30 && DP >= 15' freebayes_raw.vcf.gz \
-Oz -o freebayes_filtered.vcf.gz
tabix -p vcf freebayes_filtered.vcf.gz-p 2 specifies diploid calling (can be set to 4, 6, or pooled for polyploid crops); --min-alternate-fraction 0.15 filters low-frequency noise.Haplotype-Based Bayesian Polymorphism Caller
Octopus is a haplotype-based Bayesian caller that integrates machine-learned error models with combinatorial haplotype generation, excelling in repetitive DNA, segmental duplications, and micro-homology regions.
# 1. Run Octopus with forest error model
octopus \
-R GRCh38.fa \
-I sample.dedup.bam \
-o octopus_calls.vcf.gz \
--threads 16 \
--forest-model /opt/octopus/models/germline.model \
--organism-ploidy 2
tabix -p vcf octopus_calls.vcf.gz--forest-model evaluates random forest classification against false positives; --threads 16 distributes multi-core processing.