Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

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

Table of Contents

Workflow 1: Viewing E. coli data in IGV

Data files

You can start this tutorial two ways:

  1. If you have an intro_to_mapping directory with output from the Mapping tutorial or the Variant calling tutorial, then you should use those files for part 1 of this tutorial. You can proceed with either one alone or with both.
  2. 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:

    Code Block
    
    $BI/corral-repl/utexas/BioITeam/ngs_course/intro_to_mapping/IGV
    
    Expand
    Help
    Help
    Code Block
    scp -r username@lonestar.tacc.utexas.edu:/corral-repl/utexas/BioITeam/ngs_course/intro_to_mapping/IGV .
    

    Then skip down to #Launching IGV.

Prepare a GFF feature file for the reference sequence

...

To get this onto TACC easily, use:

Code Block

wget http://iubio.bio.indiana.edu/soft/molbio/readseq/java/readseq.jar

The general command to run the software is one of these:

Code Block

module load java
java -jar readseq.jar
java -cp readseq.jar run

This should return the help for Readseq.

(Why the module load and 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:

Code Block

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 and , 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.

...

Expand
Side-note on displaying BLAST results as GFF files in IGV or other browsers
Side-note on displaying BLAST results as GFF files in IGV or other browsers

Another useful trick with either IGV or UCSC: displaying your own BLAST results: BioPerl allows for super-easy conversion from blast output to a gff file; IGV and the UCSC browser both understand GFF files. The short script bl2gff.pl does the conversion.

Let's use the blast result we had from the earlier test for the JAG1 gene to show you how. You'll need to provide the input file - it's the ".oNNNNNN" output file from your blast job.

Code Block
titleDisplaying BLAST results in IGV or UCSC

grep '^gi' blast_jag1.o586038 > jag1_blast.out
module load perl
module load bioperl
bl2gff.pl jag1_blast.out > jag1_blast.out.gff

The resulting jag1_blast.out.gff can be moved to your local machine and opened in IGV. Load the human reference first though!

...

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 intro_to_mapping directory, these commands will perform the necessary steps.

Warning
titleSubmit to the TACC queue or run in an idev shell
Code Block
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

...

For starters, you could change into your intro_to_mapping directory and run commands like these if you just came from the Mapping tutorial:

Code Block

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
...

...

Expand
Remember how? Try it on your own first, before peeking...
Remember how? Try it on your own first, before peeking...

In the terminal connected to Lonestar, figure out the complete path to the IGV directory.

Code Block

pwd

Open a new terminal window on your Desktop. Fill in the parts in brackets <> in this command:

Code Block

scp -r <username>@lonestar.tacc.utexas.edu:</full/path/to/IGV/> .

Anchor
Launching IGV
Launching IGV

Launching IGV

...

Warning

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.

In Browser

Navigate a web browser to this page:http://www.broadinstitute.org/software/igv/download

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.

Locally on the classroom machines booted in Linux

...

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).

Code Block
wget http://www.broadinstitute.org/igv/projects/downloads/IGV_2.3.5.zip
unzip IGV_2.3.5.zip
unzipcd IGV_2.3.5.zip
cd IGV_2.3.5
java -Xmx2g -java -Xmx2g -jar igv.jar

Locally on your own Mac or Windows computer

Use this link to download IGV:

In a Web browser

Navigate a web browser to this page:http://www.broadinstitute.org/software/igv/projects/downloads/IGV_2.3.5.zip

After unzipping, you should be able to click on igv.bat for Windows or igv.command on MacOSX to lauch IGV. If this is not working, you might need to try the web start.

Load genome into IGV

From the main window of IGV, click on File -> Import Genome... and you should be presented with the following window.
Image Removed

Enter the ID and Name of the Genome you are working with (these can be anything) and select the path to your *.fasta file (the index, *.fai file needs to be in the same directory), then select the path to your *.gff file for the Gene File.

...

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.

Locally on your own Mac or Windows computer

Use this link to download IGV:

http://www.broadinstitute.org/igv/projects/downloads/IGV_2.3.5.zip

After unzipping, you should be able to click on igv.bat for Windows or igv.command on MacOSX to lauch IGV. If this is not working, you might need to try the web start.

Load genome into IGV

From the main window of IGV, click on File -> Load from File.... Choose bowtie.sorted.bam

After importing your reference genome and loading an alignment file, your screen should look similar to the following:
Image Removed
And you are now free to investigate different areas and their alignments in the genome.

Navigating in IGV

There are a lot of things you can do in IGV. Here are a few:

...

Genomes ? Create .genome File... and you should be presented with the following window.
Image Added

Enter the ID and Name of the Genome you are working with (these can be anything that makes sense to you) and select the path to your *.fasta file (the index, *.fai file needs to be in the same directory), then select the path to your *.gff file for the Gene File.

Load mapped reads into IGV

From the main window of IGV, click on File ? Load from File.... Choose bowtie.sorted.bam

After importing your reference genome and loading an alignment file, your screen should look similar to the following:
Image Added
And you are now free to investigate different areas and their alignments in the genome.

Navigating in IGV

There are a lot of things you can do in IGV. Here are a few:

  • Zoom in using the slider in the upper right. Do this until you see mapped reads and finally individual bases appear.
  • Navigate by clicking and dragging in the window. This is how you move left and right along the genome.
  • Navigate more quickly. Use page-up page-down, home, end.
  • Jump to the next point of interest. Click on a track name on the left side of the window (Ex: bowtie.vcf), to select it. You can then use control-f and control-b to jump forward and backward within that list of features. Try this on the variant calls track.
  • Jump right to a gene. (If you have gene features loaded.) Type its name into the search box. Try "topA".
  • Load multiple BAM alignments or VCF files at once. Try this to compare a few different regions between the bowtie and BWA results.
  • Change the appearance of genes. Right click on the gene track and try "expanded". Experiment with the other options.
  • Change the appearance of reads. Right click on a BAM track and choose "show all bases" and "expanded". Experiment with the other options.

...

  • Why are some reads different colors? Hint: Try changing the display options to show read pairs and editing some of the distance constraints.
  • What is a typical mapping quality (MQ) for a read? Convert this to the probability that it is mismapped.

    Expand
    titleRemember the formula for a Phred quality score?

    The estimated probability that a read is mapped incorrectly is 10^(-MQ/10).

  • Can you find a variant where the sequenced sample differs from the reference? This is going to be like looking for a needle in a haystack. Fortunately, we are going to learn how to use variant callers tomorrow and then we'll be able to zoom right to areas where there are discrepancies between reads and the reference genome that might indicate there were mutations in the sequenced E. coli.

    Expand
    Some interesting locations to look at for the time being...
    Some interesting locations to look at for the time being...
    • Coordinate 2,698,092
    • Coordinate 2,698,092

Load variant calls into IGV

We're really interested in places in the genome where we think there are mutations. If you have completed the Variant calling tutorial, then you can load your VCF files to check out those spots, but first you need to (guess what?) index it.

You can do this from within IGV:

...

    • 161,041. What gene is this in and what is the effect on the protein sequence?
    • Coordinate 3,248,957. What gene is this in and what is the effect on the protein sequence?
    • Coordinate 4,015,892. What is different about the reads mapped to this location?
    • Coordinate 3,894,997. What type of mutation is this?
    • Coordinate 1,733,647. What's going on here?
    • See if you can find more interesting locations. There are ~40 mutations total in this sample.

Load variant calls into IGV

We're really interested in places in the genome where we think there are mutations. If you have completed the Variant calling tutorial, then you can load your VCF files to check out those spots, but first you need to (guess what?) index it.

You can do this from within IGV:

  1. Choose Tools ? Run igvtools....
  2. Choose "index" from the commands drop-down menu.
  3. Select your *.vcf file (Ex: bowtie.vcf) for "Input File"
  4. Click the "run" button.

It will look like nothing has happened, but you can now close the "Run" window and choose File -> ? Load File. If you navigate to your IGV directory, you will now see a brand new bowtie.vcf.idx file. You can now load the file bowtie.vcf, and it will show up as a new track near the top of your window.

Tip: You can also index BAM and FASTA files the same way inside of IGV if you haven't already created indexes for them. But, it's usually easier and quicker to do this on the command line.

Exercises

...

bowtie.vcf, and it will show up as a new track near the top of your window.

Tip: You can also index BAM and FASTA files the same way inside of IGV if you haven't already created indexes for them. But, it's usually easier and quicker to do this on the command line.

Exercises

  • Check out the rbsA gene region? What's going on here?

    Expand
    Answer
    Answer

    There was a large deletion. Can you figure out the exact coordinates of the endpoints?

  • Navigate to coordinate 475,288. Compare the bowtie, BWA, and bowtie2 alignments. Can you explain what's going on here?

    Expand
    Answer
    Answer

    There is a 16 base deletion in the gltA gene reading frame.

  • What is going on in the pykF gene region? You might see red read pairs. What does that mean?

    Go to coordinate 2,698,092. Compare the bowtie and BWA alignments.

    Can you

    explain what's going on

    guess what type of mutation occurred here?

    Expand
    Answer
    Answer
    Go to coordinate 475,263. Compare the bowtie and BWA alignments. What's the story here?
    Expand
    AnswerAnswer

    The read pairs are discordantly mapped. There was an insertion of a new copy of a mobile genetic element (an IS150 element) that exists at other locations in the reference sequence.

Workflow 2: Viewing Human Genome Data in IGV

If you've made it through the other exercises on your own data, take a look at some human genome re-sequencing data where the files can be loaded directly from public databases.

Advanced exercise: human data scavenger hunt
Anchor
scavenger
scavenger
scavengerscavenger

See this page for the human data scavenger hunt

Data from the CEU trio from the 1000 Genomes Project can be found directly from the Broad's server for IGV. Find the dbSNP accession number for the SNP apparent in There are now MANY genomes available this way - one of the original family trios are represented in samples NA12892, NA12891, and NA12878 (mom, dad, child respectively).

Find one or more dbSNP accession numbers for SNPs apparent in one of the two 1000 genomes project trios in the intron between exons 8 and 9 of the GABBR1 gene.

Steps:

  1. Download and install the Integrative Genome Viewer from the Broad Institute.
  2. Select "Human hg18" or "Human hg19" as the reference genome
  3. Get some data: File -> “Load Load from Server…” Server… -> 1000 genomes -> Alignments -> CEU and YRI triosTrio WGS -> select those 3 samples
  4. Navigate to the rightmost exons of the GABBR1 gene and the rightmost exons
  5. Zoom in until you find the SNPsome SNPs - they might be in exons or introns; there is also at least one example of a short insertion variant between exons 2 and 3
  6. Load and look at the SNP track: File -> Load from server -> Annotations -> Variants and Repeats -> dbSNP

This is whole genome coverage data; later we'll look at exome data.

Expand
Answer
Answer

rs29220, rs29222, rs28359988, rs76688565, there might be more in the locus; I got tired of looking.

Is there an alternate allele in the child which correlates with one or both of the parents? (i.e. - do genetics work?)

From here...

You can also use IGV to visualize RNA-seq data in later tutorials.

Check out alternative genome browsers: