Look at the reads,not just the call
A variant caller gives you a table. IGV shows you the pile-up that produced it, which is how you find out whether to believe the table.
Ten seconds looking at a locus separates a real variant from an alignment artefact.
Tumour above normal, treated above control, on the same axis. The difference is visible immediately.
A screenshot of a pile-up is the most convincing figure in a variant paper, and the easiest to produce.
Everything isa horizontal lane
IGV draws one row per file over a shared coordinate axis. Understanding the lanes is understanding the tool.
Colour meanssomething specific
IGV is dense on purpose. Four conventions cover most of what you will see.
A base that disagrees with the reference. Matching bases stay grey, so mismatches stand out.
Mapping quality zero — the aligner could not place the read uniquely. Treat that region with suspicion.
Unexpected insert size or orientation, which is how structural variants announce themselves.
An insertion, sized by the number beside it. A deletion shows as a black line bridging the gap.
A real variant looks like coloured bases stacked in a clean column, on reads from both strands, away from read ends. An artefact tends to sit at the end of reads, appear on one strand only, or cluster in a region where the grey bars have gone pale — which is IGV telling you the mapping quality there is zero.
Sorted,and indexed
IGV reads regions on demand rather than loading whole files, which is why it is fast and why it is strict.
$ samtools sort -o sample.sorted.bam sample.bam
$ samtools index sample.sorted.bam
The index has to sit beside the file with the matching name. If IGV shows an empty track over a region you know is covered, that is nearly always a missing or stale .bai, not a data problem. On a rented machine you can run IGV with a desktop and keep the BAMs local to it, which beats copying tens of gigabytes back to a laptop to look at one locus.
IGV isbeing built
The image and its definition are being verified. When they are done, it deploys by name like the rest.