First decision

Three ways in,and they are not equal

IGV needs a reference before it will draw anything. Which route you take depends on whether your organism is one it already knows.

A hosted genome

Genomes · Select Hosted Genome. Human, mouse and the common model organisms, with annotation included.

Your own FASTA

Genomes · Load Genome from File. Any organism, but you supply the index and any annotation yourself.

A .genome or .json bundle

Sequence, genes and aliases packaged together. What to build once you are doing this repeatedly.

Your own FASTA

One file,one index beside it

For a genome IGV does not host, a FASTA and its .fai are the minimum, and IGV will build the index for you if it can write to the directory.

prepare a reference

$ samtools faidx reference.fa

$ samtools idxstats sample.sorted.bam | head

Index the FASTAsamtools faidx writes the .fai. IGV can do it itself, but only if the directory is writable.
Add annotationA sorted, indexed GFF3 or GTF gives you gene models. Without one you get bare sequence.
Keep them togetherIGV expects the index next to the FASTA. Moving one and not the other breaks it silently.
The thing that breaks

Chromosome namesmust match exactly

This is the single most common IGV problem, and it produces an empty view rather than an error.

If your BAM was aligned against a reference calling it chr1 and you load a FASTA calling it 1, IGV will load both without complaint and show you nothing. Ensembl uses bare numbers, UCSC prefixes with chr, and the two are otherwise the same sequence.

chr1UCSC styleprefixed
1Ensembl stylebare, and otherwise identical
Empty viewMixedno error, just nothing drawn

Check with samtools idxstats against the BAM and head against the FASTA. The fix is to rename in the reference or re-align, never to hope it sorts itself out. The same applies to your VCF and any annotation you load beside it.

Keeping it

A .genome bundle,or a session

Two ways to avoid setting the same thing up again, for two different situations.

Build a .genome

Bundle sequence, annotation and a chromosome alias file, so the reference loads in one step from then on.

Save a session

File · Save Session captures the genome, every track and the current locus as one XML you can reopen.

Keep it with the data

On a rented machine, store the reference beside the BAMs. Sessions with absolute paths then keep working.

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.