What it is for

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.

Verify a call

Ten seconds looking at a locus separates a real variant from an alignment artefact.

Compare samples

Tumour above normal, treated above control, on the same axis. The difference is visible immediately.

Explain a result

A screenshot of a pile-up is the most convincing figure in a variant paper, and the easiest to produce.

The tracks

Everything isa horizontal lane

IGV draws one row per file over a shared coordinate axis. Understanding the lanes is understanding the tool.

The referenceSequence and gene models along the bottom. The coordinate everything else is drawn against.
Alignment tracksOne per BAM or CRAM. Grey bars are the reads, and a coverage histogram sits above them.
Variant tracksA VCF drawn as a row of marks, so each call lines up with the reads that support it.
Signal tracksBigWig or BedGraph — coverage, methylation, ChIP. Continuous data rather than discrete features.
Reading a pile-up

Colour meanssomething specific

IGV is dense on purpose. Four conventions cover most of what you will see.

Coloured letters

A base that disagrees with the reference. Matching bases stay grey, so mismatches stand out.

Pale grey reads

Mapping quality zero — the aligner could not place the read uniquely. Treat that region with suspicion.

Red and blue pairs

Unexpected insert size or orientation, which is how structural variants announce themselves.

Purple I marks

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.

Before it will open anything

Sorted,and indexed

IGV reads regions on demand rather than loading whole files, which is why it is fast and why it is strict.

prepare a BAM

$ samtools sort -o sample.sorted.bam sample.bam

$ samtools index sample.sorted.bam

By positionSortcoordinate order, not read order
.baiIndexbeside the file, matching name
JumpThenany locus, without a full scan

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.

The status

IGV isbeing built

The image and its definition are being verified. When they are done, it deploys by name like the rest.

Read it, then run itPrepaid and by the hour, on a machine that is yours about a minute after you ask.