Skip to content

Which Genome Visualization Tools Are Worth Using on Your Own Data

Oak
A dark lab instrument projects a hovering stack of short glowing filaments aligned over one long strand, a few lit amber.

If you have your own whole-genome sequencing data and want to look at it, use three tools and stop there. Use IGV (the Integrative Genomics Viewer) on the desktop for inspecting individual loci in your BAM or CRAM alignments. Use the UCSC Genome Browser or Ensembl for annotation context around a variant you care about, and igv.js when you want a view embedded in your own notebook or web page. Everything else in the genome visualization ecosystem is either a specialized instrument for a problem you probably do not have (circular bacterial genome maps, Hi-C contact matrices, cohort-level oncoprints) or a library for building custom tracks. The reason the list is short is that visualization at the scale of one person’s genome is mostly a verification step: you have a variant call or an expression outlier from a pipeline, and you want to see the underlying reads before you believe it.

What you are looking at, and why a picture helps

A personal genome arrives as a small number of large files. Alignments come as BAM or, increasingly, CRAM. CRAM is reference-compressed and roughly half the size. Each is paired with an index (.bai, .crai) that lets a viewer seek to a coordinate without reading the whole file. Variants come as a bgzip-compressed VCF with a .tbi or .csi index. Coverage and other quantitative signals come as bigWig. RNA-seq quantification comes as a per-transcript table, and splice junctions as a BED or the SJ.out.tab file STAR emits.

Visualization matters because variant callers make systematic mistakes that are obvious to the eye and invisible in a quality score. A survey of variant analysis tools for next-generation sequencing found dozens of callers with substantially different behavior on the same input, which is a polite way of saying the call set you get depends heavily on the tool.1 The characteristic failure modes are worth memorizing.

  • a heterozygous call where all supporting reads share the same start position (PCR duplicate or a single mismapped cluster)
  • an indel in a homopolymer or short tandem repeat where the aligner has placed the gap in several different positions across reads
  • a variant sitting in a segmental duplication where mapping quality drops to zero
  • strand bias where every alternate read comes from one strand

Ten seconds in IGV separates these from real signal, and the review literature on visualization has made the same argument for years: the picture is where you reconcile evidence across data types that no single summary statistic captures.2

IGV desktop: the tool to learn first

IGV is the default because it reads the formats you have, it indexes rather than loads, and it renders alignment detail at base resolution.3 Install the desktop application rather than relying on the web version if your BAM or CRAM is local and large, and give the JVM enough heap: edit igv.args or the launcher to include -Xmx8g if you plan to view a few tracks at once.

A few settings change how much you get out of it. Under View → Preferences → Alignments, raise the visibility range threshold from the default 30 kb only if you understand the cost. Set the downsampling window and read count deliberately. By default IGV samples 100 reads per 50-base window, which is fine for 30× WGS but will hide depth structure if you are looking at a targeted region at 500×. Turn on “show soft-clipped bases”, which is the single most informative display option for spotting structural variant breakpoints, since a cluster of reads with long soft clips all starting at the same coordinate is usually a breakpoint the caller missed. Right-click a track to group by pair orientation (deletions show as read pairs with larger-than-expected insert size, inversions as pairs with the same orientation) and to color by insert size.

Load a reference that matches your BAM exactly. Mixing GRCh38 alignments with a hg19 annotation set produces coordinates that are wrong by kilobases to megabases and is the most common self-inflicted error in personal genome work. If your pipeline used an analysis set with alt contigs, note that reads mapping to alts will appear at zero mapping quality in the primary assembly view.

For repeated inspection of many loci, drive IGV from a script instead of clicking. IGV listens on port 60151 by default, so you can send it commands over a socket:

echo -e "load /data/me.cram\ngenome hg38\nsnapshotDirectory /tmp/snaps\ngoto chr7:117,559,590-117,559,620\nsnapshot cftr_locus.png" | nc localhost 60151

Or use igvtools and the batch file format for a few hundred regions in one pass. This is how you review a list of clinically annotated variants without losing an afternoon.

When to reach for UCSC or Ensembl instead

IGV shows you your reads. The UCSC Genome Browser and Ensembl show you what the rest of the world knows about that coordinate, which is a different question. Once you have confirmed a variant is real, the next steps are all annotation. Is this position conserved across mammals (phyloP, phastCons tracks)? Is it in a regulatory element with evidence in a relevant tissue (ENCODE cCREs)? What is its allele frequency in gnomAD? Is there a published expression quantitative trait locus (eQTL) at this position in GTEx? Those tracks live in the browsers, and assembling them yourself is not worth the effort.

The reason to care about the eQTL and regulatory tracks specifically is that most common variation is non-coding, and the interpretive gap in personal genomics sits squarely there. Functional annotation of a non-coding variant depends on tissue-specific regulatory data rather than protein consequence prediction, and the tooling reflects that split.4 Reviews of genomic analysis in the sequencing era make the point plainly: the bottleneck has moved from generating sequence to attributing function to the variants you find.5

Practical note on workflow: use UCSC’s session and custom track features rather than uploading your whole VCF. Convert the handful of variants you are examining to a small BED or VCF, host it or paste it as a custom track, and save the session URL. Uploading a full personal VCF to a third-party server is a privacy decision you should make consciously.

Building your own views

When the standard views stop answering your question, the two libraries worth learning are igv.js and Gosling. igv.js is the same rendering model as the desktop application in JavaScript, works in Jupyter and Colab, and reads indexed remote files over HTTP range requests, which means you can serve a CRAM from object storage and view slices of it without downloading. This is the right choice when you want IGV’s alignment view inside a notebook next to your analysis code.

Gosling is the right choice when you want a view IGV does not have: a grammar-based declarative specification, in the Vega tradition, where you describe tracks, encodings, and linked coordinate systems as JSON. Use it for whole-genome overviews, circular layouts, and multi-scale displays. The taxonomy of visualization tasks in genomics, which separates identifying a feature at one locus from comparing across genomic scales or across samples, is a useful map of when a general browser is enough and when you need a purpose-built layout.6

Our view on the tradeoff: write custom visualization only after you have a question a general browser genuinely cannot answer. The cost of a custom view is not the code, it is that you no longer get the annotation tracks, the coordinate handling, and the years of accumulated correctness for free. Most personal genomics questions are answered by a locus view plus a table.

A minimal setup that works

Start with samtools quickcheck and samtools idxstats on your alignment file to confirm it is complete and indexed. Generate a coverage bigWig once with bamCoverage --binSize 50 --normalizeUsing None from deepTools, so you have a whole-genome depth track that loads instantly and shows you dropouts and copy-number structure at a glance. Keep your VCF bgzipped and tabix-indexed. Then load reference, VCF, coverage bigWig, and alignments into IGV as a saved session so you can reopen the whole state in one step.

Two things to watch. Chromosome naming must be consistent (chr1 versus 1) across every file in a session, and bcftools annotate --rename-chrs is the fix. And CRAM requires the exact reference FASTA used at compression time, so record its checksum somewhere you will find it later, because a CRAM without its reference is close to unreadable.

Where any of this touches health, the visualization step tells you whether a call is technically sound. It does not tell you what the call means for you. Interpretation of a specific variant in the context of your history, family, and symptoms is a conversation with a clinician or a genetic counselor, and the picture in IGV is evidence you bring to that conversation rather than a substitute for it.

Questions people also ask

What are some tools used for genome analysis? For a personal genome, the working set starts with bwa-mem2 or minimap2 for alignment. Next come samtools and bcftools for manipulation and small-variant calling, and GATK or DeepVariant for higher-accuracy SNV and indel calls. Manta or Delly handle structural variants, VEP or ANNOVAR handle annotation, and IGV handles inspection. Introductory treatments of whole-genome analysis methods cover this same pipeline structure and are a reasonable orientation if you are new to it.7

Which tools are used in data visualization for genomics? IGV and igv.js are used for read-level views, and the UCSC Genome Browser and Ensembl for annotation context. JBrowse 2 gives a self-hosted browser you control, and Gosling or the Vega ecosystem gives custom multi-scale views. Circos or Proksee are used for circular layouts, which are mostly relevant to microbial genomes rather than human ones.

What are some tools used for genomic analysis of expression data? For RNA-seq, quantify with Salmon or kallisto for transcript abundance or STAR plus featureCounts if you need alignments, then visualize junctions and coverage in IGV’s Sashimi plot view. Comparing one person’s expression against a reference distribution such as GTEx is the interpretive step, and it depends entirely on tissue match.

Why not just use a web browser view of my VCF? A VCF tells you what the caller concluded. The alignment tells you what the sequencer observed, and the two disagree often enough that read-level inspection remains the standard check before you act on any single variant.3 Broader surveys of presenting human genome data have argued since the first draft assembly that annotation display and primary evidence display serve different purposes and you need both.8

Footnotes

  1. S. Pabinger, A. Dander, M. Fischer, et al. A survey of tools for variant analysis of next-generation genome sequencing data. Briefings in Bioinformatics, 2013. https://doi.org/10.1093/bib/bbs086 ↩

  2. Cydney B Nielsen, Michael Cantor, Inna Dubchak, et al. Visualizing genomes: techniques and challenges. Nature Methods, 2010. https://doi.org/10.1038/nmeth.1422 ↩

  3. H. Thorvaldsdottir, J. T. Robinson, J. P. Mesirov. Integrative Genomics Viewer (IGV): high-performance genomics data visualization and exploration. Briefings in Bioinformatics, 2012. https://doi.org/10.1093/bib/bbs017 ↩ ↩2

  4. Evelina Gasperskaja, Vaidutis Kučinskas. The most common technologies and tools for functional genome analysis. Acta medica Lituanica, 2017. https://doi.org/10.6001/actamedica.v24i1.3457 ↩

  5. Tuuli Lappalainen, Alexandra J. Scott, Margot Brandt, et al. Genomic Analysis in the Age of Human Genome Sequencing. Cell, 2019. https://doi.org/10.1016/j.cell.2019.02.032 ↩

  6. S. Nusrat, T. Harbig, N. Gehlenborg. Tasks, Techniques, and Tools for Genomic Data Visualization. Computer Graphics Forum, 2019. https://doi.org/10.1111/cgf.13727 ↩

  7. Alexis N. Burian, Wufan Zhao, Te‐Wen Lo, et al. Genome sequencing guide: An introductory toolbox to whole‐genome analysis methods. Biochemistry and Molecular Biology Education, 2021. https://doi.org/10.1002/bmb.21561 ↩

  8. Ann E Loraine, Gregg A Helt. Visualizing the genome: techniques for presenting human genome data and annotations. BMC Bioinformatics, 2002. https://doi.org/10.1186/1471-2105-3-19 ↩

Woolf Software builds longitudinal molecular profiles of individuals: whole-genome sequencing, blood RNA sequencing, and plasma proteomics, delivered as a detailed report plus every data file. Build your profile.