Assay
Variant Calling: sanity checks and pitfalls
Reads are aligned to a reference build, duplicates are marked, base quality scores may be recalibrated, and variants are called per sample or jointly across a cohort (GATK HaplotypeCaller, DeepVariant, bcftools). Then filtering, annotation and interpretation, where most of the judgment lives. The classic mistakes are mixing hg19 and hg38 coordinates, using a reference whose contig names do not match the annotation, trusting variants in low-mappability regions, and never running a sex or relatedness check that would have caught a sample swap.
Who this is for: Clinical and translational genomics analysts producing germline or somatic VCFs from exome or genome data, often under a pipeline they inherited. They need to know which variants are real, which are artifacts of alignment or mapping, and whether the sample they sequenced is the sample on the label.
- How to Fix Chromosome Naming Mismatches in Variant Calling
Your BED file and your VCF look fine and bedtools says they share nothing: the cause is usually one prefix, and the repair is a text edit, not a re-run.
- How to Detect Contamination in Variant Calling
A low mapping rate isn't "bad sequencing" until you've checked what the unmapped reads actually are.
- How to Catch a Genome Build Mismatch in Variant Calling
A BED file from the wrong build gives you confident, wrong overlaps, and the header check that catches it takes thirty seconds.
- How to Catch a Sample Swap in Variant Calling
X heterozygosity, chrY coverage and pairwise genotype concordance take minutes to compute and catch mislabels that no alignment or variant-quality QC report will ever flag.
- How to Tell If You Sequenced Deep Enough in Variant Calling
Mean coverage looks fine, the VCF looks clean, and you still cannot say whether the missing variants are absent or just unsampled.
- How to Avoid 0-Based vs 1-Based Coordinate Errors in Variant Calling
A VCF position and a BED start are not the same number, and the mismatch silently drops the first base of every target interval.