Integrative Genomics Viewer (IGV) tutorial (GVA14)
Overview
The Integrative Genomics Viewer (IGV) from the Broad Center allows you to view several types of data files involved in any NGS analysis that employs a reference genome, including how reads from a dataset are mapped, gene annotations, and predicted genetic variants.
Learning Objectives
In this tutorial, we're going to learn how to do the following in IGV:
Create a custom genome database (usually used for microbial genomes) or load a pre-existing genome assembly (usually used for the genomes of model organisms and higher Eukaryotes).
Load output from mapping reads to a reference genome.
Load output from calling genetic variants.
Navigate the view of the genome and interpret the display of this data.
Theory
Because NGS datasets are very large, it is often impossible or inefficient to read them entirely into a computer's memory when searching for a specific piece of data. In order to more quickly retrieve the data we are interested in analyzing or viewing, most programs have a way of treating these data files as databases. Database indexes enable one to rapidly pull specific subsets of the data from them.
The Integrative Genomics Viewer is a program for reading several types of indexed database information, including mapped reads and variant calls, and displaying them on a reference genome. It is invaluable as a tool for viewing and interpreting the "raw data" of many NGS data analysis pipelines.
Table of Contents
- 1 Overview
- 2 Learning Objectives
- 3 Theory
- 4 Table of Contents
- 5 Workflow 1: Viewing E. coli data in IGV
- 5.1 Data files
- 5.2 Prepare a GFF feature file for the reference sequence
- 5.3 If you have only done the mapping tutorial and NOT the variant calling tutorial
- 5.4 Copy files to your desktop
- 5.5 Launching IGV
- 5.6 Load genome into IGV
- 5.7 Load mapped reads into IGV
- 5.8 Navigating in IGV
- 5.8.1 Exercises
- 5.9 Load variant calls into IGV
- 5.9.1 Exercises
- 6 Workflow 2: Viewing Human Genome Data in IGV
- 7 From here...
Workflow 1: Viewing E. coli data in IGV
Data files
You can start this tutorial two ways:
If you have a
mappingdirectory with output from the Mapping tutorial or the SNV calling tutorial, then you should use those files for part 1 of this tutorial. You can proceed with either one alone or with both.If you do not have any results, you can use some "canned" ones that we provide. Copy the entire contents of this directory back to your local machine:
$BI/gva_course/mapping/IGVThen skip down to #Launching IGV.
Prepare a GFF feature file for the reference sequence
IGV likes its reference genome files in GFF (Gene Feature Format). Unfortunately, our old friend bp_seqconvert.pl doesn't do GFF. So, we're going to show you another tool for sequence format conversion called Readseq.
Readseq is written in java. To use it you need to first download the file readseq.jar linked from here.
To get this onto TACC easily, use:
wget http://iubio.bio.indiana.edu/soft/molbio/readseq/java/readseq.jar
The general command to run the software is one of these:
java -jar readseq.jar
java -cp readseq.jar run
This should return the help for Readseq.
(Why the funny invocation? You are actually using the command java and telling it where to find a "jar" file of java code to run. The -jar and -cp options run it in different ways. It's pretty confusing.)
To do the conversion that we want, use this command:
java -cp readseq.jar run NC_012967.1.gbk -f GFF -o NC_012967.1.gbk.gff
It's a bit hard to figure out because, unlike most conventions, it takes the unnamed arguments before the optional flag arguments, there is no example command, and you have to switch -jar to -cp. Search online for usage examples when you can't figure something out from the help.
Take a look at the contents of the original Genbank file and the new GFF file and try to get a handle on what is going on in this conversion.
If you have only done the mapping tutorial and NOT the variant calling tutorial
You will need to index your reference FASTA and convert your SAM output files into sorted and indexed BAM files. The "why?" behind these steps is described more fully in the Variant calling tutorial. If you are in your mapping directory, these commands will perform the necessary steps.
Submit to the TACC queue or run in an idev shell
samtools faidx NC_012967.1.fasta
samtools view -b -S -o bowtie/SRR030257.bam bowtie/SRR030257.sam
samtools sort bowtie/SRR030257.bam bowtie/SRR030257.sorted
samtools index bowtie/SRR030257.sorted.bam
Repeat the last three commands for each SAM output file that you want to visualize in IGV.
Copy files to your desktop
IGV is an interactive graphical viewer program. You can't run it on TACC, so we need to get the relevant files back to your desktop machine.
They include:
Indexed reference FASTA files
GFF reference sequence feature files
Sorted and indexed mapped read BAM files
VCF result files
... and possibly many other types of files.
The easiest way to to this is probably to copy everything you want to transfer into a new directory called IGV. Since many of the tutorial output files had the same names (but resided in different directories) be careful to give them unique destination names when you copy them into the new directory together.
For starters, you could change into your mapping directory and run commands like these if you just came from the mapping tutorial:
mkdir IGV
cp NC_012967.1.fasta IGV
cp NC_012967.1.fasta.fai IGV
cp NC_012967.1.gbk.gff IGV
cp bowtie/SRR030257.sorted.bam IGV/bowtie.sorted.bam
cp bowtie/SRR030257.sorted.bam.bai IGV/bowtie.sorted.bam.bai
...
Now, copy this entire IGV directory back to your local Desktop machine.
Launching IGV
For the remainder of the tutorial, work on your local machine. NOT TACC!
There are two ways; Launching IGV in your web browser or by downloading the binaries locally and running IGV from your machine.
Locally on the classroom machines booted in Linux
This downloads the IGV executable and tells the command line to launch it (via the java command).
wget http://www.broadinstitute.org/igv/projects/downloads/IGV_2.3.32.zip
unzip IGV_2.3.32.zip
cd IGV_2.3.32
java -Xmx2g -jar igv.jar
In a Web browser
Navigate a web browser to this page:http://www.broadinstitute.org/software/igv/download. You will need to register your email address to use this option!
Go ahead and click on the "Launch with 2 GB" option. This will download a "Java Web Start" file that you can launch by locating it on your Desktop and double-clicking.