IGV User Guide

This guide describes the Integrative Genomics Viewer (IGV).

Look at a printer-friendly HTML version of the whole User Guide.

User Interface

Main Window

The following figure shows data from The Cancer Genome Atlas:


The tool bar provides access to commonly used functions. The menu bar and pop-up menus (not shown) provide access to all other functions.

The red box on the chromosome ideogram indicates which portion of the chromosome is displayed. When zoomed out to display the full chromosome, the red box disappears from the ideogram.

The ruler reflects the visible portion of the chromosome. The tick marks indicate chromosome locations. The span lists the number of bases currently displayed.

IGV displays data in horizontal rows called tracks. Typically, each track represents one sample or experiment. This example shows methylation, gene expression, copy number, LOH, and mutation data.

IGV also displays features, such as genes, in tracks. By default, IGV displays data in one panel and features in another, as shown here. Drag-and-drop a track name to move a track from one panel to another. Combine data and feature panels by selecting that option on the General tab of the Preferences window.
Track names are listed in the far left panel. Legibility of the names depends on the height of the tracks; i.e., the smaller the track the less legible the name.
Attribute names are listed at the top of the attribute panel. Colored blocks represent attribute values, where each unique value is assigned a unique color. Hover over a colored block to see the attribute value. Click an attribute name to sort tracks based on that attribute value.

 

 



 

Menu Bar

Menu Command Description
File Load from File Displays genomic data from one or more files. more...
  Load from URL Displays genomic data from a file identified by URL. more...
  Load from Server Displays genomic data from the IGV data server. more...
  Load from DAS Displays genomic data from a Distributed Annotation Server (DAS). more...
  New Session Unloads all currently loaded data, as if you exited and restarted IGV. more...
  Open Session Opens a previously saved session file. more...
  Save Session Saves your current settings to a named session file. more...
  Save Image Saves a snapshot of the IGV window to a graphics file, omitting the menu bar and tool bar.  Can save in .png, .jpg, or .svg format. New in 2.3.26: One can also save as .eps, by installing the EPSGraphics library
  Exit Closes IGV.
Genomes Load Genome from File Loads a genome into IGV from your file system.
  Load Genome from URL Loads a genome into IGV from a web URL.
  Load Genome from Server Loads a genome into IGV from the IGV data server. more...
  Create .genome File Save your genome file in .genome format.
  Manage Genome List Choose which genomes to display in the genome drop-down menu in the tool bar.
View Preferences Opens a tabbed menu of data display preferences. more...
  Color Legends Displays color legends for track data, which may be modified. more...
  Show Name Panel Shows/hides the track name panel.
  Set Name Panel Width Resets the track name panel width.
  Show Attribute Display Shows/hides attributes and attribute values. more...
  Select Attributes to Show Shows/hides selected attributes and attribute values. more...
  Show Header Panel Shows/hides the chromosome location header panel.
  Reorder Panels Allows the user to reorder the display panels.
  Go to View and select loci visited in your navigation history.
Tracks Sort Tracks Sorts track data. more...
  Group Tracks Groups track data. more...
  Filter Tracks Filters track data. more...
  Fit Data to Window Sets the track height to display all of the data, or as much data as possible. more...
  Set Track Height Sets the track height to a specified value. more...
Regions Region Navigator Opens the region navigator. more...
  Gene Lists Opens the gene lists window. more...
  Export Regions

Saves currently defined regions of interest to a BED file. If no regions of interest are defined, no BED file is created. more...

  Import Regions Imports regions of interest from a BED file. more...
Tools Run Batch Script Executes a series of sequential tasks.  Users can load at .txt file that contains a list of commands, one per line, that will be run by IGV.  The accepted commands are the same as the IGV Port Commands.
  Run igvtools Launches the igvtools interface window. more...
  Find Motif Search for a particular nucleotide sequence in the reference genome. more...
  Gitools Heatmaps Data and results are represented as browsable heatmaps. Data can be exported from IGV in gitools format, or loaded directly into a running gitools session. See http://www.gitools.org for details.
  BEDTools

A fast, flexible suite of tools used to compare sets of genomic features. IGV uses BEDTools to compare features in loaded tracks, and view the results as a new track. See more details under Third Party Tools Integration.

GenomeSpace

Load File from GenomeSpace

Load a file into IGV from your GenomeSpace directory. more...
  Load Genome from GenomeSpace Load a genome into IGV from your GenomeSpace directory. more...
  Save Session to GenomeSpace Save current IGV session to your GenomeSpace directory. more...
  Load Session from GenomeSpace Load a previous session from your GenomeSpace directory. more...
  Logout Log out of GenomeSpace
  Register Register a new account at GenomeSpace
Help User Guide... Displays the IGV User Guide.
  Help Forum... In your default web browser, opens the home page for the igv-help forum.
  About IGV Displays IGV version and build number.

 

Tool Bar

Genome drop-down box

Loads a genome. more...
Chromosome drop-down box
Zooms to a chromosome. more...
Search box
Displays the chromosome location being shown. To scroll to a different location, enter the gene name, locus, or track name and click Go. more...
Whole genome view
Zooms to whole genome view. more...
  Moves backward and forward through views of the genome like the back and forward buttons in a web browser.
Refresh
Refreshes the display.
Define a region
Defines a region of interest on the chromosome. more...
  Reduces the row height on all tracks to fit all data for the region in view into the window; will also expand tracks (to their maximum preferred size) to fill the view, if needed.
  Toggles the pop-up information windows in IGV on or off.
Zoom slider
Zooms in and out on a chromosome. Sometimes referred to as the "railroad track." more...

Pop-up Menus

To select tracks and display the pop-up menu, do one of the following:

  • Right-click a track to select it and display the pop-up menu.
  • Right-click an attribute value to select all tracks with that attribute value and display the pop-up menu. Tip: Keep in mind that right-clicking an attribute may select tracks that are not visible in the data panel. Scroll down the data panel to view all the selected tracks.
  • Control-click track names (Mac: Command-click) to select the tracks, then right-click one of the selections to display the pop-up menu.

Commands in the track pop-up menu change the display options for the selected tracks. Most changes made via the pop-up menu are lost when you exit IGV unless you save the session. In a few cases, changing the pop-up menu also changes an option in the Preferences window; these changes are persistent.

The type of data displayed in the selected tracks determines which commands appear in the pop-up menu. This page lists commands by track type: data track, feature track, and alignment track. Use your browser's search function to find a particular command.

Data Track

Data tracks display numeric values. For an example, click File>Load from Server and select The Cancer Genome Atlas.GBM.Expression.GBM Batch 1-8 Centered and Normalized (hg18). The following commands appear in the pop-up menu for data tracks:

Command Description
Track Settings  
Rename Track Renames a track. more...
Change Track Color (Positive/Negative Values) Changes the track color for selected tracks. more...
Change Track Height Changes the track height for selected tracks. more...
Change Font Size Changes the font size for selected tracks.
Type of Graph
Heatmap
Bar Chart
Points
Line Plot
Changes the way IGV displays track data. more...
Windowing Function
10th Percentile
Median
Mean
90th Percentile
Maximum
 
 

Changes the value represented by each pixel of track data.

At all but the lowest zoom levels, each pixel represents a significant amount of data. IGV divides the data to be displayed into "windows" of equal length each corresponding to a single pixel, summarizes the values across each window, and then displays the summarized values in the track. Select the function IGV will use to summarize the values.

Data Range  
Set Data Range Changes the minimum, baseline, and maximum values of the graph used to display track data. more...
Set Heatmap Scale Changes the data range and color of the heatmaps used to display track data. more...
Log scale Plots the chart for that track on a log scale.
Autoscale Toggles the autoscaling function for a given track.  With autoscaling enabled, IGV automatically adjusts the plot Y scale to the data range currently in view.  As the user pans and moves, this scaling continually adjusts.  
Show Data Range Toggles whether the numeric range of the values in the view for a given track is displayed; works for charts other than heatmaps.
Create Overlay Track Merge the selected tracks so that they are displayed on top of one another.
Separate Tracks Only enabled for overlaid tracks. Restores them to separate tracks.
Remove Track(s) Removes selected track(s) from the display. more...
Save image Saves the data visible in the IGV panel to a PNG file.

 

Feature Track

Feature tracks identify genomic features. For an example, see the Gene track, which IGV loads when you select a genome. The following commands appear in the pop-up menu for feature tracks:

Command Description
Rename Track Renames a track. more...
Change Track Color Changes the track color for selected tracks. more...
Change Track Height Changes the track height for selected tracks. more...
Change Font Size Changes the font size of the feature labels.

Collapsed

Expanded

Squished

Displays overlapping features, such as different transcripts of a gene, on one line or multiple lines or condensed (squished).  more...

Copy Details to Clipboard Copies the pop-up text for the selected feature to the system clipboard so that you can paste the information into other applications.
Copy Sequence Copies the sequence of the selected feature to the system clipboard so that you can paste the information into other applications.
Set Feature Visibility Window Specifies the threshold, in kilobases, for IGV to display features in the window. In other words, if you set this at 50 kb, IGV will only display features after you have zoomed in to display 50 kb or less in the IGV window.
Remove Track(s) Removes selected track(s) from the display. more...
Save image Saves the data visible in the IGV panel to a PNG file.

 

Alignment Track

Alignment tracks display alignments (more...). For an example, select the Human hg19 genome from the genome dropdown menu in the toolbar, and then click File>Load from Server and select an alignment from the 1000 Genomes project. Tip: Zoom in to view alignments and the alignment track pop-up menu.

Command Description
Rename track Renames a track.
Copy read details to clipboard When you hover over a read, the tool tip displays information about the read. This option copies that information and the read sequence to the clipboard.
Sort alignments Sorts alignments by start location, strand, base, mapping quality, sample, read group, or insert size (as defined in the BAM file). 
Group alignments Groups alignments by read strand, first-in-pair strand, sample, read group, chromosome of mate, or tag.
Color alignments

Colors alignments by insert size, pair orientation, read strand, read group, or sample.

Regarding the Color by insert size option: 

IGV uses color coding to flag anomalous insert sizes.

Blue is for inserts that are smaller than expected.  That is, the inferred insert size on the reference genome is smaller than expected given the actual insert size.

Red is for inserts that are larger than expected.  That is, the inferred insert size on the reference genome is larger than expected given the actual insert size.

Shade base by quality Uses the color intensity of a mismatched base to indicate its quality score: the darker the color the higher the score. Changing this option also changes the option on the Alignments tab of the Preferences window.
Show mismatched bases By default, mismatched bases are displayed as colored letters on a gray bar that represents the read.
Show all bases Select this option to display all bases in the read.
View as pairs For more information on this option, see this page.
Go to mate Jumps to the region of the paired read (if any).
View mate region in split screen

For more information on this option, see this page.

Set insert size options Controls color-coding of paired reads based on the inferred insert size.
Re-pack alignments Sorts alignments to minimize gaps at the top of the track.
Show coverage track When selected, IGV displays the matching coverage track for the alignment track.
Load coverage data

Loads coverage data for an alignment track. To generate coverage data, use igvtools. more...

Loading an alignment track from the IGV data server (File > Load from Server) automatically loads the matching coverage data.

Collapsed

Expanded

Squished

Changes the height of the reads to adjust the amount of information displayed.
Select by name Opens a window so you can enter the name of a read. IGV will highlight that read with a colored border.  Note that IGV does not change the view, so if the read is not currently visible this option will have no apparent effect.
Clear selections

Clears the outlines that show paired reads.

  • Control+click (Mac: Command+click) a read to outline the read and its paired mate in the same color. Colors are arbitrary but unique to each pair. A black outline indicates that the selected read has no mate.
  • To clear the outline for a paired read, Control+click (Command+click) either read.
  • To clear all outlines, right-click and select Clear selectionss
Copy consensus sequence

Calculates the concensus sequence for the region in view and copies the information to the clipboard. The method for calculating the consensus is taken from Cavener, Nucleic Acids Res. 15, 1353-1361, 1987.

1. If the frequency of a single nucleotide at a specific position is greater than 50% and greater than twice the number of the second most frequent nucleotide it is assigned as the consensus nucleotide.

2. If the sum of the frequencies of two nucleotides is greater than 75% (but neither meet the criteria for a single nucleotide assignment) they are assigned as co-consensus nucleotides.

3. If no single nucleotide or pair of nucleotides meets the criteria,  assign an 'N'.

Information copied to the clipboard includes:

  • Locus of the copied sequence (i.e., region currently in view)
  • The consensus sequence.
  • A matrix with the details of all nucleotide counts used to calculate the consensue sequence. Rows in the matrix correspond to the bases along the sequence. The values in a row show the counts for each type of nucleotide at that locus. A header row above the matrix indicates the order of the nucleotide columns (A, C, G, T, and N).
Sashimi Plot Open a Sashimi-style plot window. more...
Remove track Removes selected tracks from the display. more...
Save image Saves the data visible in the IGV panel to an image file

 

Preferences

To display the Preferences window, click View>Preferences. Preferences are preserved across sessions. To override preferences during a session, use the track display pop-up menu. Each section on this page describes the options on a tab of the Preferences window: General, Tracks, Mutations, Charts, Alignments, Probes, Proxy and Advanced.

General

Select to distinguish regions with zero values (white) from regions with missing data (gray). Clear (default) to display both regions in the same way (white). Affects only bar charts and scatter plots.
Select to display all tracks in a single panel. Clear (default) to display data tracks (e.g., expression data) in one panel and feature tracks (e.g., genes) in another.
Select (default) to show attributes and attribute values to the left of the data panel. Clear to hide the attributes. This option and View>Show Attribute Display have the same effect on attribute display.
Select to outline the boundaries of regions of interest in black. Clear (default) to leave them without black boundaries.
Zoom in on search results. When selected (default) the zoom level is automatically adjusted so that the target feature fills the view after a successful search. If not checked, the target feature of a search is centered in the view but the zoom level is unaffected.
Change this to change the resolution (in base pairs) at which the sequence track becomes visible.
Change this to define how large a flanking region (in base pairs) IGV will add before and after a feature locus when you zoom to a feature, or when you view gene/loci lists in multiple panels.
Click here to change the background color of the IGV display.
Use this to set a default font size for labeling tracks and features.

Tracks

Default track height for bar charts, scatter plots, and line plots.
Default track height for all other tracks.

Name of an attribute in the sample information file. IGV uses the corresponding attribute value as the track name.

Select to expand feature tracks by default. You may have to restart IGV for this to take effect.

Collapsed:

Expanded:

Select (default) to show the "expand/collapse" triangular icon on feature tracks.

Collapsed with the icon:                          Expanded with the icon:

                           

Select to normalize tracks containing coverage data in .tdf files that were created using igvtools.  This normalization option multiplies each value by [1,000,000 / (totalReadCount)].  This is only available for .tdf files created using igvtools builds dated 1/28/2010 or later.  Earlier versions of igvtools did not record the total read count.

Mutations

Select to overlay mutation data on other tracks. more...
Name of an attribute column in the sample information file. IGV uses the corresponding attribute values to "link" mutation tracks with other tracks. more...
Select this to show mutation tracks that are not linked to other tracks, and therefore will not be seen if the overlay option is checked.  This option has no affect if the overlay option is not selected.

Select to color-code mutation data. Click Choose Colors (or View>Color Legends) to display the Color Legends window, which allows you to view and change mutation color codes.

Charts

Select to add a border at the top to the track.
Select to add a border at the bottom of the track.

Select (default) to color the top and bottom borders (if any). Clear to show the borders in black regardless of the track color. Tip: To change the track color, use the track display pop-up menu.

Select to label the track with its name, provided the track is at least 25 pixels high.
Select to label the y-axis with its data range.
Select (default) to allow charts (barchart, scatterplot, and lineplot) to automatically adjust the plot Y scale to the data range currently in view.  As the user pans and moves, this scaling continually adjusts.  Clear to turn autoscaling off.  There is an option in the popup menu to enable autoscaling for a single track.

Select (default) to show the range of the data.

Select to show all features in heatmaps.

The following figures illustrate these track display options.

  • Color borders selected (default):
  • All options selected:

 

Alignments

 

 

Sets the threshold at which IGV displays reads. Reads are visible only when IGV is zoomed in to display a number of bases less than or equal to this threshold.

Downsampling

IGV can randomly sample alignments instead of keeping all of them in memory. The coverage track, displaying total coverage at a region, is unaffected; that is, it always shows unsampled values.

  • Downsample reads: Select to perform downsampling (default).
  • Max read count: The maximum number of reads per window. IGV uses reservoir sampling, so that all reads are kept if the read count is less than Max read count. If the read count is greater, the probability of any given read being sampled is equal to (Max read count) / (actual read count).
  • per window size (bases): Sampling is performed over windows, using the window size specified here.

Filter and Shading Options

  • Coverage allele-freq threshold: Sets the mismatch threshold at which bases on an alignment coverage track are colored.  The default is 0.2, i.e., if a nucleotide differs from the reference sequence in greater than 20% of quality-weighted reads, IGV colors the bar in the coverage bar chart in proportion to the read count of each base (ACGT). The threshold for an individual track can be changed from the pop-up menu.
  • Filter duplicate reads: Clear to display alignments marked as duplicate reads.
  • Filter vendor failed reads: Select (default) to filter out reads that are marked "vendor failed".
  • Flag unmapped pairs: Select to draw a red box around any paired alignment whose mate is not mapped.
  • Show center line: Select so that, when zoomed in sufficiently, IGV displays a line at the center of the display. At higher resolutions, the center line becomes two lines that frame the aligned bases at the center of the display, as shown in the figure above.
  • Filter alignments by read group: Select to hide alignments that match the read groups listed in the filter file. The filter file is a text file that lists read groups, one per line.  This option means that IGV does not load the alignments associated with these read groups.
  • Mapping quality threshold: Sets a threshold on alignment mapping quality. Only alignments with mapping quality greater than or equal to this threshold are shown.
  • Show coverage track: Select to display a coverage track for each alignment track. The coverage track is visible only when alignments are visible. It displays a gray bar chart showing the depth of the reads at each locus. If a nucleotide differs from the reference sequence in greater than 20% of quality-weighted reads, IGV colors the bar in proportion to the read count of each base (A, C, G, T). Modifying this option affects the display of subsequently loaded alignment tracks. Note, to change the threshold from the default 20%, see Coverage allele-freq threshold.
  • Show soft-clipped bases: Select to show the soft clipped sections of the read.
  • Flag zero-quality alignments:
  • Shade mismatched bases by quality: Select (default) to shade mismatched bases by quality.  The letters representing bases of lower quality will be more transparent, while higher-quality bases will appear more solid.

Splice Junction Track Options

  • Show junction track: Select to display the splice junction track.
  • Min flanking width: The minimum amount of nucleotide coverage required on both sides of a junction for a read to be associated with the junction. This affects the coverage of displayed junctions, and the display of junctions covered only by reads with small flanking regions.
  • Min junction coverage:  The minimum number of reads associated with a junction required for the junction to be displayed.
Sets default size thresholds for color-coded flagging of paired end alignments. Only paired end alignments with insert sizes between these thresholds are flagged.  Select Compute to compute selected values from the actual size distribution of each library.

 

 

Probes

Select an option to determine how IGV places expression data on the genome:

  • Map probes to target loci: Use the probe ID to determine the probe locus and display data at that location. If that fails, map the probe ID to a gene, determine the gene locus, and display data at that location.
  • Map probes to genes: Map the probe ID to a gene, determine the gene locus, and display data at that location.

Modifying this option affects the display of subsequently loaded alignment tracks.

Proxy

Sets proxy parameters for connecting to the Internet.  IGV will use this to load hosted genomes and hosted data sets.
Select and enter values if a username and password is required for the proxy.
Clears all proxy settings.

Advanced

Select this option to enable a port on which IGV listens for commands and http requests. Enabling the port allows control of IGV from a web browser. more...

Select this option to edit URLs for the IGV data and genome servers. These settings are rarely changed. 

IGV caches each genome that it loads. On rare occasions, it may be necessary to clear the cached genome file to display an updated version of the genome. Click Clear Genome Cache to do this.

Genome Server URL is the URL for the genome server that populates the genome drop-down list.

Data Registry URL is the URL for the hosted data sets registry (populates File>Load from Server dialog).

Keep this selected to allow IGV to automatically check for updated genomes. Clear to disable this automatic check.

This allows you to move your default IGV directory.

 

Color Legends

By default, IGV uses heatmaps to display certain types of data (see Default Display). Use the Color Legends window to change the default colors for these heatmaps.

To change the default colors:

  1. Click View>Color Legends to display the Color Legends window.
  2. Click a heatmap legend to set its color and range.
  3. For LOH and Mutation data, click a colored box to change its color.

 

Keyboard Shortcuts

There are some useful keyboard shortcuts you can use in IGV.

Shortcut Description
ctrl-R Defines the region currently in view as a region of interest.
ctrl-F/ctrl-B Skip forward to the next feature and back to the last feature.
ctrl-shift-F/ctrl-shift-B If you have the feature track expanded and have selected one of the rows, this will skip forward to the next exon or back to the last exon.

alt-left/alt-right (Windows)
cmd-[ and cmd-] (Mac)

These move you back and forward through your IGV history.
Arrow keys Pans left, right, up, and down in the current chromosome.
Home/End keys Skips to the page top or bottom of the current view, then pages right or left respectively.
PageUp/PageDown keys Pages up and down the current view.

 

Starting IGV

You can start IGV from either the:

Java Web Start

To start IGV from using Java Web Start:

  1. Go to the IGV downloads page: http://www.broadinstitute.org/igv/download.
  2. When prompted, register or log in as requested. You must register to download IGV.
  3. Click the launch icon. The browser displays the web start launch window.
  4. Select Open with Java™ Web Start and click OK. If the system displays messages about trusting the application, confirm that you trust the application. Web Start downloads and starts IGV.

Command Line

To start IGV from the command line:

  1. Be sure that Java 6 or later is installed on your machine.
  2. Download the binary distribution.
  3. Unzip the binary distribution.
  4. Open README file and use the shell scripts, which you can edit. You can also invoke Java directly.

You can optionally specify either a session file or a comma-delimited list of files to load, and a locus in the form of a locus string (e.g. chr1:100-200) or gene name. These 2 arguments are order dependent, you cannot specify a locus without specifying a file to load. Other arguments that you can use from the command line include:

 

Navigating

Zooming

Zoom out to view the whole genome, zoom in to a chromosome and continue zooming to base pair resolution. As you zoom in, the gene track shows gene names and sequence data. If the sequence data is unavailable, small blocks replace the bases. If you are using a genome stored on the IGV genome server, you must be connected to the internet to view the sequence data.  (Note that the zoom slider, also sometimes called the "railroad track," does not appear when you are viewing the full genome; it reappears when you zoom in to the chromosome level.)

Click the whole genome view icon to zoom out to the genome view.

From the genome view, zoom to a chromosome by clicking its label.

Select a chromosome from the drop-down menu to zoom to it.

Click and drag on the genome ruler to sweep over and select an area to which to zoom.

To zoom in and out on a chromosome:

Zoom in Zoom out
+ -
Double-click or shift-click the track data Alt-click (Mac: option-click) the track data
Click a zoom level on the zoom slider Click a zoom level on the zoom slider
Click the plus (+) icon on the zoom slider Click the minus (-) icon on the zoom slider
Click and drag on the genome ruler to select an
area to which to zoom
 

Scrolling

To scroll the display:

Vertical scroll Horizontal scroll*
Scroll bar in the IGV window Click and drag the track data
Click and drag the track data Click the chromosome ideogram to scroll to that location
Page Up and Page Down keys Click the ruler to center that location
Up and down arrow keys Left and right arrow keys
  Home and End keys (scroll by screen width)

* You cannot scroll horizontally when IGV is displaying the whole genome or a whole chromosome.

Searching

Use the search box to locate:

Note: When loading from a file with an index, search may not find all matches. This is because IGV does not keep the entire file contents in memory when an index is present.

Jumping

If you have a feature track loaded (e.g., Gene track, BED, or GFF file), you can jump from one feature to the next.

  1. Click on the track name to select the track that contains the features that you want to find.
  2. Jump from feature to feature:
    • Press Ctrl+F to jump forward to the next feature.
    • Press Ctrl+B to jump backward to the previous feature.

    IGV positions the start of the next (or previous) feature at the center of the display.

You can also jump from one exon to the next. To exon-jump, select a feature track and press Shift+Ctrl+F to center the next exon in your view, Shift+Ctrl+B to move back one exon.

Back and Forward Buttons

The back and forward buttons in the toolbar () allow you to move backward and forward through your views of the genome the way you move back and forward in a web browser.

Loading a Genome

Genomes are selected from the genome drop-down list.  Intially, this list contains a single item, Human hg18.  To add additional genomes see the section below on "Selecting a Hosted Genome."

Selecting a Hosted Genome

IGV provides a number of genomes that are hosted on a server at the Broad Institute. Initially, the genome drop-down list contains a single item, "Human hg18".  

If the genome you need is not available, either post a request at http://groups.google.com/group/igv-help  that it be added, or follow the instructions below to load or import it.

Loading a Genome

This option supports defining a reference genome by loading either an IGV .genome file or a FASTA file.  The .genome file is created as described below. FASTA files must be plain text (not gzipped), and must be indexed with a .fai as defined by the Samtools suite (http://sourceforge.net/projects/samtools/). If the file is not indexed, IGV will attempt to index it.  IGV remembers the location of the FASTA file and the file will appear in the drop-down list until it is removed as described above (Genomes>Manage Genome List). 

Creating a .genome File

This option enables additional files to be associated with the FASTA reference sequence file, as described below. These files are archived in a zip with with a .genome extension. This option also allows the reference sequence to be defined as a directory of FASTA files, rather than a single FASTA.

Prerequisites:

Note: If you are choosing files from the NCBI directory, you will generally want to use the .fna or .ffn file (nucleic acid sequences), as opposed to the .faa (amino acids). Choose the .gff file for the annotation file.

Step-by-step:

  1. Click Genomes>Create .genome File. IGV displays the a window where you enter the information.
  2. Enter an ID and a descriptive name for the genome.
  3. Enter the path on your file system or a web URL to the FASTA file for the genome.  If the FASTA file has not already been indexed, an index will be created during the import process. This will generate a file with a ".fai" extension which must be in the same directory as the FASTA file; thus it is necessary that the directory containing the file be writable. 
  4. Optionally, specify the cytoband file and the annotation (gene) file.
  5. If the sequence (chromosome) names differ between your FASTA and annotation files, you might need to create an alias file to provide a mapping between the different names. Certain well-known aliases are built into IGV and do not require an alias file. These include mappings that involve adding or removing the prefix "chr" to the name, for example  1 > chr1 and chr1 > 1.  Also, NCBI identifiers of the form  gi|125745044|ref|NC_002229.3| in a FASTA file will be mapped to names of the form NC_002229.3 in the corresponding GFF file. 
  6. Click Save. IGV displays the Genome Archive window.
  7. Select the directory in which to save the genome archive (*.genome) file and click Save. IGV saves the genome and loads it into IGV.

Removing an Imported Genome

To remove an imported genome:

 

Viewing the Reference Genome

Sequence Track Options

Flipping the Strand

You can change the strand that is displayed by clicking on the arrow in the title to the left of the track. Note that the sequence and the arrow are only displayed when zoomed in to a sufficiently small region. 

 

The direction of the arrow indicates which strand is currently displayed. An arrow pointing left indicates that the negative strand is showing. This strand will show the complement nucleotides and reverse complement translations. 

You can also flip the strand by right-clicking on the sequence track and selecting Flip Strand in the track popup menu.

Sequence Translation

With the reference genome sequence track, you can optionally display a 3-band track that shows a 3-frame translation of the amino acid sequence for the corresponding nucleotide sequence. The translation is shown for the strand indicated.

Amino acids are displayed as blocks colored in alternating shades of gray. Methionines are colored green, and all stop codons are colored red. When you zoom all the way in, the amino acid symbols will appear. 

You can toggle the display of this translation track by clicking once, anywhere in the sequence or translation track, or by toggling Show Translation in the track popup menu.

Feature Track Options

Viewing Options for the Feature Track

There are 3 different options for viewing the feature track.  These allow you to display overlapping features, such as different transcripts of a gene, on one line or multiple lines

To change the view of the feature track, right-click on the feature track and select one of the options:

Collapsed

Squished

Expanded

Exon Jumping

This feature is similar to feature jumping.  To feature-jump, you select a feature track and press Ctrl-F for forward, Ctrl-B for back.  To exon-jump, you select a feature track and press SHIFT-Ctrl-F to center the next exon in your view, SHIFT-Ctrl-B to move back one exon.

GFF style tags for BED files

The "name" field (column 4) of a BED file can contain GFF3 style key-value attribute tags by specifying "gffTags=on" on the track line.  These attributes will be displayed in the mouse hover popup text.

Loading Data and Attributes

Data and genomic annotations can be loaded from local files, HTTP URLs, an IGV data server, or a Distributed Annotation Server (DAS).

Load from File

Load data files by browsing for files on the local file system. See File Formats for information about the file formats IGV accepts.

To load data from the file system:

  1. Select File>Load from File. IGV displays the Select Files window.
  2. Select one or more data files or sample information files, then click OK. CTRL-click (Mac: Command-click) to select multiple files.

IGV will display a warning if the file is an un-indexed ASCII-format file over 50 MB.  It is recommended that such files should be indexed or converted to the binary TDF format prior to loading (see section on igvtools).

Load from URL

To load data from an HTTP URL:

  1. Select File>Load from URL.
  2. Enter the HTTP or FTP URL for a data file or sample information file, then click OK.

Notes:

 

Load from Server

To load data from the IGV data server:

  1. Select File>Load from Server. The Available Datasets window appears:
  2. Expand the tree to see the datasets.
  3. Select one or more datasets. Click the check box to the left of a dataset to select it.
    Warning: Selecting a folder selects all of its subfolders and all of the datasets in those folders. This can potentially be a huge amount of data. To be sure you are loading only the data you want, open collapsed folders and select only the datasets of interest.
  4. Click OK. IGV displays the genomic data.

Load from a Distributed Annotation System (DAS)

IGV provides limited DAS support for "basic features" requests .  To load from a DAS server, enter the DAS source feature URL, with data source name.  Some examples that are known to work for the hg18 assembly are:

Note: The segment tag, if present, is ignored.  IGV generates the segment tag as needed.

UCSC DAS Sources

The UCSC DAS server is organized such that all features for a given genome assembly (e.g. hg18) are served from a single feature URL.  Specific tracks are specified by the type tag.  To prevent queries from overwhelming available memory IGV requires that a type tag parameter be included with UCSC DAS urls,  for example the following URL  loads the "dgv" track

To see all available types for a specific assembly the following URL can be used (substitute an assembly id, e.g. hg18, for <dbID>).

http://genome.ucsc.edu/cgi-bin/das/<dbID>/types?

Feature Visibility Window

The DAS protocol does not provide a reliable way to know how many features will be returned for a given request.  To prevent IGV from freezing when loading high-density DAS tracks a "feature visibility window" is used to prevent loading when zoomed out.  The default value for the window is 250 kb.  This can be changed by right-clicking over the track.

Removing Tracks and Attributes

To remove all tracks and attributes:

To remove specific tracks, do one of the following:

Note:

 Creating a Chromosome Name Alias File

One of the common causes for a data loading failure is a mismatch in chromosome names between the data file and the IGV genome it is being viewed against.  Many Bowtie users report this problem after aligning to the supplied NCBI index files because chromosomes are named by accession numbers in the form: gi|224589811|ref|NC_000002.11|. 

The workaround is to create an alias file in 2-column tab-delimited format.  The first column contains the chromosome name in your data file, for example wig or bam file.  The second column contains the corresponding name in the genome assembly you are viewing (e.g., chr1 for our "hg19" genome).  For instance, the alias file might look like this:


NC_000002.11  <tab>  gi|224589811|ref|NC_000002.11|
NC_000002.12  <tab>  gi|224589811|ref|NC_000002.12|

 

Name the file after the genome with an underscore, the word "alias", and the extension .tab.  For example, hg19_alias.tab.  Place this file in the igv directory. The default location for this folder <user home>/igv/genomes, it can be changed in Preferences -> Advanced

Note: Certain well-known aliases are built into IGV and do not require an alias file.  These include mappings that involve adding or removing the prefix "chr" to the name, for example  1 -> chr1 and chr1 -> 1.    Also, NCBI identifiers that start with "gi|" and follow the pattern illustrated in the example above are automatically mapped. 

Viewing Data

Default Display

When you load genomic data, IGV displays the data in horizontal rows called tracks. Typically, each track represents one sample or experiment. For each track, IGV displays the track identifier, one or more attributes, and the data.

When loading a data file, IGV uses the file extension to determine the file format (see File Formats), the file format to determine the data type (Table 1), and the data type to determine the track default display options (Table 2).

File Format Data Type
Table 1. File Format Determines Data Type
CBS, CN, MAF, SEG, SNP, VCF Copy number
LOH LOH
GCT Gene expression or RNAi
GISTIC GISTIC data
RES Gene expression
BAM, bam.list, Goby files, PSL, SAM Sequence alignments
BED, genePred, GFF, GFF3 Genome annotations
MUT Mutation
GWAS Genome-wide association study data
IGV, WIG, HDF5 file not created with alignment processor, bedgraph Other
Cytoband, FASTA Not applicable. Cytoband and sequence files for an imported genome.

 

Data Type Default Graph Type Default Data Range Default Colors
Table 2. Data Type Determines Display Options
Copy number Heatmap -1.5 to 1.5 Blue to red
Gene expression Heatmap -1.5 to 1.5 Blue to red
Chip Bar chart None, data is autoscaled Blue
DNA methylation Heatmap 0 to 1
(methylation score)
Green
Allele-specific copy number Heatmap -1.5 to 1.5 Blue to red
LOH Heatmap -1 to 1 Blue = LOH (1)
Yellow = Retained (0)
Red = Conflict (-1)
RNAi Heatmap -3 to 3 Red to blue
GWAS Scatter plot None, data is autoscaled Chromosome colors
Other Bar chart None, data is autoscaled Blue

Changing the Display

You can override IGV's default display options in several ways:

  • Use the track pop-up menu to change the appearance of selected tracks.
  • Use the Preferences window to set display preferences for all tracks.
  • Use the Color Legends window to set the default data range and color for heatmaps, which IGV uses to display copy number, gene expression, RNAi, methylation, LOH, and mutation data (Table 2).
  • For IGV and segmented (SEG, CBS) data files, add a type line to the data file to override the default data type associated with the file format and thus the default display options for the data.
  • Add a track line at the top of a data file to specify the display settings for the data.
  • Override the default display settings by including display attributes in the sample information file. Note that changes made with this method take precedence over the defaults prescribed by a #type line.  

This section describes a few commonly used display options that apply to all (or most) tracks: graph type, data range, track color, track height, and track names. For information about how to load and display specific types of data, see Viewing Data. For a complete list of display options, review the options available in the pop-up menus, Preferences window, Color Legends window, and the menu bar (View and Tracks menus).

Graph Type

Most tracks are displayed using one of four graph types (the following graphs show the same data):

Heatmap:  
Bar chart:  
Points (Scatter plot):  
Line plot:

IGV determines the default graph type for a track as described in Default Display.

To change the graph type of selected tracks:

  • Right-click a track and select a graph type from the pop-up menu.

Data Range

The data range for a track provides the minimum, baseline, and maximum value for the graph, and also whether the scale is linear or logarithmic. IGV determines the default data range for a track as described in Default Display.

To change the data range for selected heat map tracks:

  • Right-click a track and select Set Heatmap Scale from the pop-up menu.  The heatmap scale can be set per track.

To change the data range for other selected tracks:

  • Right-click a track and select Set Data Range from the pop-up menu.

Changing the data range can significantly affect the data display: 

minimum, baseline, maximum Result
 0,0,3  
-1.5,0,1.5  
 -5,0,5  

Track Color

To change the track color for selected heat map tracks:

  • Right-click a track and select Set Heatmap Scale from the pop-up menu.

To change the track color for tracks that are displayed as something other than a heatmap (i.e., bar chart, scatter plot, or line plot):

  • Right-click a track and from the pop-up menu select either Change Track Color (Positive Values) or Change Track Color (Negative Values).

Track Height

To change the height of selected tracks:

To change the height of all tracks:

  • Select Tracks>Set Track Height and enter a value.

To fit the data to the window:

  • Select Tracks>Fit to Window.
    IGV displays all tracks. If necessary, it sets the track height to 1 pixel and scrolls the data.

Track Names

By default, IGV displays track names to the left of the attribute panel. Legibility of the track names depends on track height; for example, track names will not be legible when track height is 1 pixel).

To select the attribute IGV uses as the track name:

To display the track name as a track label:

To rename a track:

  • Right-click a track or a track name, then select Rename Track in the pop-up menu.

You can only rename one track at a time. You can preserve track name changes only by saving the session.

Viewing Options for the Feature Track

There are 3 different options for viewing the feature track.  These allow you to display overlapping features, such as different transcripts of a gene, on one line or multiple lines

To change the view of the feature track, right-click on the feature track and select one of the options:

Collapsed

Squished

Expanded

Expression Data

File Formats

For expression data, use the GCT file format. This a tab-delimited format that contains a row for each probe set ID (or gene), a column for each sample, and expression values for each feature in each sample.

Display Notes

  • By default, IGV displays expression data as a blue-to-red heatmap where the data range is -1.5 to 1.5. If loaded expression data appears in tracks colored all red, check the data values and modify the data range as necessary.
  • To change track display options, use the track pop-up menu. The commands that appear in the pop-up menu are those relevant to any data track.

Genomic Locations for Probes

To display expression data, IGV must first map the probe set IDs named in the expression data file to their genomic locations. IGV displays data for all of the probes that it can map to genomic locations. If none of the probes in the file can be mapped, IGV displays an error message.

IGV determines the genomic locations for probes as follows:

  1. If you use the delimiters |@ and | to specify the probe loci in the file (see the GCT file format), IGV uses the specified loci. Otherwise, it goes to the next step.
  2. IGV searches all loaded annotation tracks for each probe. (This is the same as entering the ID in the first column [the Name column] of the file into the search box on the IGV tool bar and clicking Go.) If a probe is found, IGV displays the data at that location. Otherwise, it goes to the next step.
  3. IGV searches its probe mapping files for each probe. If a probe is found, IGV determines the probe locus and displays the data at that location. Otherwise, it goes to the next step.
  4. IGV uses its gene mapping files to map each probe ID to a gene symbol, determines the gene locus, and displays the data at that location.

Choose preferred mapping: By default, IGV uses its probe mapping files before its gene mapping files. If you prefer to map probes to genes, select the Map probes to genes radio button on the Probes tab of the Preferences window.

Probe Mapping Files

Probe mapping files map probe identifiers to chromosomal locations. They are compiled from source files provided by Affymetrix, Agilent, and Illumina. The Affymetrix and Agilent mapping files are split by species due to their large size. Separate mapping files are provided for human, mouse, and other (non-mouse, non-human) species. Human probe identifiers are mapped to hg18. Depending on the vendor, mouse probe identifiers are mapped to mm9 (Affymetrix), mm5 (Agilent) or mm8 (Illumina).

Following are links to the probe mapping files:

Gene Mapping Files

Gene mapping files map probe identifiers to gene identifiers. Following are links to the gene mapping files:

Sources for the Mapping Files

The probe and gene mapping files are compiled from source files provided by Affymetrix, Agilent, and Illumina. A list of the source files is available at http://www.broadinstitute.org/igv/resources/probes/data_sources_for_mapping.txt.

RNAi Data

IGV displays RNAi data similarly to expression data, with one exception: to facilitate analysis of hairpin scores, IGV provides a unique RNAi bar chart. To display the bar chart:

  • Right-click an RNAi track and select Bar Chart from the pop-up menu.

The following figure explains how to read the bar chart.

Hover over a track to view hairpin values.


 

Segmented Data

File Format

For segmented copy number data, use the SEG or CBS file format.

Display Notes

  • By default, IGV displays segmented data as a blue-to-red heatmap where the data range is -1.5 to 1.5. If loaded segmented data appears in tracks colored all red, check the data values and modify the data range as necessary.
  • To change track display options, use the track pop-up menu. The commands that appear in the pop-up menu are those relevant to any data track.

 

GWAS Data

IGV can display genome-wide association study (GWAS)  data as a "manhattan plot", color-coded by chromosome.   Data formats are described here.

The plot represents the significance of the association between a SNP or haplotype and the trait being measured.  The Y-axis shows -log10 transformed P values, which represent the strength of association.

The size of the data points in the plot and their height on the left-hand side of the data pane relate directly to their significance: the larger the point and the higher the point on the scale, the more significant the association with the trait.  You can see the point size difference in the following screenshot of data on chromosome 1.

As in other parts of IGV, hovering over a data point allows you to see a pop-up containing the data specifically associated with that point.  You can see the pop-up for the topmost data point in this image. Note that the point's position on the scale on the left is associated with its P value. 

GWAS Pop-up Menu

 The following commands appear in the pop-up menu for GWAS tracks:

Command Description
Rename Track Renames the track.
Remove Track Removes the selected track from the display.
Set Data Range... Changes the minimum, baseline, and maximum values of the scale used for the GWAS data.
Change Track Height... Changes the display height of the track.

Color Scheme
Chromosome color
Single color
Alternating color

Changes the display to use different color schemes for the chromosome color-coding. The chromosome color scheme (default) uses the colors defined by IGV. 

The single color scheme changes all the chromosomes to display in a single color (blue by default). 

The alternating color scheme uses two colors (blue and gold by default) that alternate through the chromosomes.

Set primary color...

Set the color for the single color scheme and for one of the colors in the alternating color scheme.
Set alternating color... Set the alternating color in the alternating color scheme.

Set minimum point size...

Set the minimum data point display size.
Set maximum point size... Set the maximum data point display size.
Save image... Save the current display as a PNG file.

 

Viewing Alignments

File Formats

The preferred file format for viewing alignments in IGV is the BAM format, a binary form of Sequence Alignment Format (SAM). Both BAM and SAM files are described on the Samtools project page http://samtools.sourceforge.net/. IGV requires that BAM files be indexed.

For large alignment files we recommend using the BAM format.  However, SAM files can be used if the alignments are sorted by start position and indexed.  The igvtools utility can be used to both sort and index the files.  Alternatively, if the file is already sorted, an index will be automatically created upon first loading the file.  IGV will attempt to store the index in the directory where the alignment file resides with an extension of ".sai".   If that fails, the index is stored in the user's IGV directory.

Alignments Preferences

To display the Alignments Preferences window, click View>Preferences, then click the Alignments tab. For more detailed information about each of the preference options in this window, see the Alignment Preferences information in the User Interface section of the User Guide.

Alignments Panel

IGV displays sequence alignment data in a separate Alignments panel. The display changes as you zoom in. When zoomed out, IGV displays only coverage data, when available (more detail below).

When zoomed in to the alignment read visibility threshold (by default, 30 KB), IGV shows the reads. At this resolution the colored bars in the coverage track identify loci where more than 20% of the quality weighted reads differ from the reference.  For paired end alignments, reads that have a different than expected insert size are color coded to indicate the difference, and reads that have a mate on another chromosome are color coded to indicate the chromosome of the mate pair. (more detail below).

At higher resolutions read bases that do not match the reference are color coded, and insertions () and deletions relative to the reference become visible.  By default, read bases that match are displayed in gray.  To color code all bases, regardless of whether they are mismatched, right-click the track and select Show All Bases from the pop-up menu.  In addition, mismatched bases are assigned a transparency value proportional to the  read quality (phred) score.  This has the effect of de-emphasizing  low quality reads.  Transparency shading can be turned off temporarily from the pop-up menu, or persistently from the Preferences window.

By default, when zoomed in sufficiently, IGV displays a line at the center of the display. At higher resolutions, the center line becomes two lines that frame the aligned bases at the center of the display, as shown in the figure above.

This option, along with many others, can be modified on the Alignments tab of the Preferences window.

Note that alignments that are displayed with light gray borders and white fill, as shown in the following screenshot, have a mapping quality equal to zero.  This value (0) means the read could also be mapped to another location.

Paired-End Alignments

IGV provides several options for working with paired-end alignments:

IGV colors paired-end alignments whose inferred insert size is larger than expected or whose mate read is aligned to a different chromosome. A read with a mate aligned to a different chromosome is color-coded to identify the other chromosome.

IGV uses color coding to flag anomalous insert sizes.

Blue is for inserts that are smaller than expected.  That is, the inferred insert size on the reference genome is smaller than expected given the actual insert size.

Red is for inserts that are larger than expected.  That is, the inferred insert size on the reference genome is larger than expected given the actual insert size.

Control+click (Mac: Command+click) a read to outline the read and its paired mate in the same color. Colors are arbitrary but unique to each pair. A black outline indicates that the selected read has no mate.

  • Control+click (Command+click) either read to clear the outline.
  • Right-click and select Go to Mate Region to jump to the paired mate. Note: If the paired reads have a large insert size, the paired mate will not be highlighted.  This is a known issue that will be addressed in  a future release.
  • Right-click and select Clear Selections to clear all outlines.
Hover over a read to view information about the read, including the location of its paired mate.

 

Split Screen View

Split screen views can be invoked on-the-fly from paired-end alignment tracks.  Right-click over an alignment and select View mate region in split screen from the drop-down list.  If the alignment clicked over does not have a mapped mate this option will be grayed out.

 

Return to Normal View

To return to the “normal view”, double-click the name panel at the top of one of the panes, or right-click in a name panel and select Switch to standard view.

 

View As Pairs

NGS paired-end reads can be drawn as a single "template", with a connecting line joining the two pairs.  To display this view, right-click over the alignments and select View as pairs.   If the alignment track does not contain paired-end data this option will not be available.

Example: 

Normal  view:

Paired view:

 

Insertions

In a gapped alignment, IGV indicates insertions with respect to the reference with a purple bar ().  Hover over the insertion symbol to view the inserted bases.

 

Deletions

In a gapped alignment, IGV indicates deletions with respect to the reference with a black bar.

Read Coverage

Default Coverage Data

IGV supplements each alignment track with a coverage track. When IGV is zoomed in sufficiently to display alignments, the coverage track displays the depth of the reads displayed at each locus as a grey bar chart. If a nucleotide differs from the reference sequence in greater than 20% of quality weighted reads, IGV colors the bar in proportion to the read count of each base (A, C, G, T).

To hide the coverage track, clear the Show Coverage Track option on the Alignments tab of the Preferences window.

Extended Coverage Data

To display coverage data at the whole genome or chromosome level, use the igvtools package (count command) to generate coverage data for the alignments file.  The resulting file can be associated with the alignment track by file naming convention, or loaded independently as a separate track.  

To associate a coverage track using filename, the track must be named as follows, and placed in the same directory as the alignment track:

<alignment file name>.tdf

For example,  the coverage track for test.bam would be named test.bam.tdf. 

To dynamically associate coverage data with a BAM track, choose the "Load Coverage Data" from either the alignment or coverage track pop-up menu.   When the alignment data is loaded with its matching coverage data, the coverage track displays data at all zoom levels.

Sorting Alignments

Alignments can be sorted by start location, strand, nucleotide, mapping quality, sample, or read group.

To sort alignments:

  1. Right-click a track to display the pop-up menu.
  2. Select a Sort option from the pop-up menu. IGV sorts the alignments that intersect the center line of the display.

Sorting rearranges rows so that alignments that intersect the center of the display appear in the order specified.  This can cause the alignment layout away from the center line to appear sparse.   To restore the layout to an optimally packed configuration, select Re-pack alignments from the pop-up menu.

Illumina Sequencing Support

IGV includes limited support for viewing alignments in the "sorted.txt" format from the Illumina Pipeline version 1.3, with the following restrictions.

Mapping File: To view alignments from a sorted.txt file in which the chromosome names are not chromosome names in IGV, a mapping file must be provided. This is a 2-column tab-delimited file with chromosome names from the sorted.txt file in column 1, and corresponding IGV chromosome names in column 2. The file must be named "sequence.map" and placed in a specific directory, which is platform dependent:

Windows: <user home>/igv/sam
Linux: <user home>/igv/sam
Mac: <user home>/.igv/sam

On Windows computers the user home directory is normally found at:

C:/Documents and Settings/<user name>

 

Interpreting Color by Insert Size

The inferred insert size can be used to detect structural variants, such as:

  • deletions
  • insertions
  • inter-chromosomal rearrangements

IGV uses color coding to flag anomalous insert sizes. When you select Color alignments>by insert size in the popup menu, the default coloring scheme is:

  • for an inferred insert size that is larger than expected (deletion)
  • for an inferred insert size that is smaller than expected (insertion)
  • for paired end reads that are coded by the chromosome on which their mates can be found

Deletions

In a deletion a section of DNA is absent in the subject genome compared to the reference genome.

When pairs from a section of DNA spanning the deletion are aligned to the genome the inferred insert size will be larger than expected.  This is due to the deleted section of the genome, not present in the subject.  Schematically this can be visualized as follows:

So in the case of a deletion, the inferred insert size is GREATER THAN the expected insert size.   In IGV such an event might look like the following.

Reads that are colored red have larger than expected inferred sizes, and therefore indicate possible deletions.

Insertions

In the case of an insertion, a section of DNA is present in the subject genome that is not represented in the reference genome.

The effect on distance between aligned pairs is opposite in the case of a deletion; the "inferred insert size" is smaller than expected.

The maximum size of an insertion detectable by insert size anomaly is limited by the size of the fragments.  They must be long enough to span the insertion and include sequences on both ends that are mapped to the reference.  The maximum detectable size is approximately equal to:

fragment length - (2x read length)

Detection of this event is therefore more likely with larger fragment libraries, such as Illumina mate-pair (not paired-end) and SOLID.

In the example above reads that are colored blue have smaller than expected inferred sizes, and therefore indicate insertions.

Inter-chromosomal Rearrangement

IGV codes inserts for inter-chromosomal rearrangements.  For instance, in this case, one end is on chromosome 1 and the other is on chromosome 6.

Interpreting Color by Pair Orientation

The orientation of paired reads can be used to detect structural events including:

  • inversions
  • duplications
  • translocations

By selecting Color alignments>by pair orientation, you can flag anomalous pair orientations in IGV.

Orientation is defined in terms of read-strand: left versus right, and first read versus second read of a pair.

(figure courtesy of Bob Handsaker)

These categories only apply where both mates map to the same chromosome.

Inversions

An inversion is a large section of DNA that is reversed in the subject genome compared to the reference genome.

When an inversion shows up in paired-end reads, the reads are distinctively variant from the reference genome.

This appears in IGV as shown below.

Inverted Duplication

When a large section of DNA is duplicated and inserted into the genome in a reversed configuration compared to the original sequence, this is called an inverted duplication.

There will be overlapping left and right reads, and there will likely be altered coverage depth/copy number.

This appears in IGV as shown below.

Tandem Duplication

When a large section of DNA is duplicated and inserted into the genome next to the original sequence, this is called a tandem duplication.

 The reads will not only be duplicated, but also be arranged as shown below.

IGV will display this rearrangement as shown below.

Translocation on the Same Chromosome

When a large section of DNA is removed from one location and inserted elsewhere, that is a translocation. 

Translocations on the same chromosome can be detected by color-coding for pair orientation, whereas translocations between two chromosomes can be detected by coloring by insert size.

Splice Junctions

The splice junction view displays an alternative representation of .bed files encoding splice junctions, such as the "junctions.bed" file produced by the TopHat program.  This view is enabled by including a track line that specifies either name=junctions or graphType=junctions. TopHat's "junctions.bed" file includes a track line specifying name=junctions by default, so no action is required for these files. Note: The track can also be computed dynamically from an Alignment track by enabling the "Show splice junctions track" option in the alignment preferences.

Junction files should be in the standard .bed format.  The 'score' field is used to indicate depth of coverage.

Each splice junction is represented by an arc from the beginning to the end of the junction.  Junctions from the '+' strand are colored red and extend upward from the center line.  Junctions from the '-' strand are blue and extend downward.  The height of the arc, and its thickness, are proportional to the depth of read coverage.  All junctions with more than 50 reads have the same thickness.  Hovering the mouse over a junction will display the coverage.

Sashimi Plot

Sashimi plots are quantitative multi-sample visualization of mRNA se-quencing reads aligned to gene annotations. Sashimi plots are made using alignments (stored in the SAM/BAM format) and gene model annotations. Sashimi plots can be used to quickly screen di fferentially spliced exons along genomic regions of interest. 

To view a Sashimi plot of your alignment data, right click on the alignment track to bring up the pop-up menu, and select "Sashimi Plot".

If there is more than one feature track loaded, you will be presented with a dialog for choosing which track represents the gene annotations. Only one track can serve as feature annotations. If there is only one possible feature track (such as the reference genome gene track), this dialog is skipped. IGV will also allow prompt you to select which alignment tracks you would like to view in the Sashimi plot window. Any number of these can be selected. 

Once the input tracks are chosen, the Sashimi plot is displayed in a separate window (see examples below). The coverage for each alignment track is plotted as a bar graph. Arcs representing splice junctions connect exons. The thickness of each arc corresponds to the junction depth, which is displayed as a number in the arc. The gene annotation track is shown below the junction tracks. To view only those junctions which overlap a particular exon, select that exon by clicking on it. Multiple exons can be selected using ctrl + <click>. Clicking somewhere on the gene track, other than an exon, de-selects all exons.

You can zoom and pan this window in the same manner as IGV, however the boundaries are limited in size to the region IGV was viewing when the window was generated. It is recommended that the user set the view to the gene (or region) of interest before creating the plot. The current genomic coordinates are displayed just above the gene annotation tracks.

Static images of Sashimi plots can also be generated outside IGV by sashimi_plot, a Python tool which is part of MISO.
 

Example

Load example data from this session, or follow the steps below:

  • Start IGV, and load the genome Human hg18
  • Select File > Load from Server
  • Select BodyMap 2.0 > Merged 50bp and 75bp > Reads > Heart, Liver, and Kidney.
  • View gene SLC25A3 by entering it in the search bar.

Right-click on any alignment track and select "Sashimi Plot"

Check all 3 checkboxes, and click OK.

There are 3 isoforms for SLC25A3. Click on the 3rd exon of the top isoform (ID NM_005888), and you will see there are splice junctions only present in heart cells.

After selecting exon 3 for the top isoform, you will see this:

Viewing Variants

Mutation Files

File Formats

Mutation data is loaded from a .mut file.   The resulting values can be visualized as distinct tracks or overlaid on other associated tracks (e.g., expression or SNP data from the same patient).  This association is specified by means of a special "linking" column in a sample information file.   By default IGV looks for a column with the heading LINKING_ID for this association, but the exact heading is configurable as a user preference under the Mutations tab of the Preferences window.   Mutations are overlaid on another track when the values of this column are equal.   A typical use case is to record an identifier identifying a patient, or sample, in this column.

To visualize mutation data:

  1. Format mutation data using the MUT file format; e.g., example.mut.
  2. Format the data from platform-specific assays using an appropriate file format; e.g., example.gct (expression data) and example.seg (segmented copy number data).
  3. Define attributes and their values in a sample information file; e.g., example_sampleinfo_LINKING_ID.txt. A sample information file contains a row for each track and a column for each attribute:
    The first column contains track identifiers. The track identifier for each mutation track and each associated data track must be included in the sample information file. The track identifiers can be found in the data files (e.g., example.mut, example.gct, and example.seg).
    Each subsequent column identifies an attribute and its value (if any) for each track. IGV uses the value of one attribute (by default, LINKING_ID) to link mutations to associated data tracks; a mutation track and data track that have the same value for this attribute are linked.

 

 

In the example sample information file, the LINKING_ID attribute (2nd column) links the mutation and data tracks. However, in practice, it might be easier to use an existing an attribute rather than adding a LINKING_ID attribute. Notice that, in this example, the LINKING_ID and Sample attributes have the same value. The LINKING_ID attribute could be removed from the sample information file and the Sample attribute used to link the mutation and data tracks. By default, IGV uses the LINKING_ID to overlay mutations on data tracks. If you use an attribute other than LINKING_ID, enter that attribute name on the Mutations tab of the Preferences window

Display Notes

By default, IGV displays mutations (variant bases) in distinct tracks and overlaid on associated data tracks. Mutations displayed in distinct tracks are color coded by type (missense, silent, and so on). Mutations overlaid on data tracks are colored black for clarity.

Use the Color Legends window to view or change the mutation color codes.

Use the Mutations tab of the Preferences window to modify other display options for mutations.

VCF Files

VCF stands for Variant Call Format, and this file format is used by the 1000 Genomes project to encode SNPs and other structural genetic variants.  The format is further described on the 1000 Genomes project Web site.  VCF calls are available at EBI / NCBI.

Viewing a VCF File with Genotypes


Each bar across the top of the plot shows the allele fraction for a single locus.
The genotypes for each locus in each sample. Dark blue = heterozygous, Cyan = homozygous variant, Grey = reference.  Filtered entries are transparent.

If a file has more than 10 genotypes, the VCF file will be opened in its own pane, with a scroll bar, as shown below.


VCF Popup Menu

To see the options for changing the view of your VCF file, right-click on a variant.  Some of the options are specific to the variant selected.

The window size at which VCF data is loaded is proportional to the number of samples.  To change this, right-click and select Set Feature Visibility Window...

To change the color coding of the plot, select Color By>Allele.

The Sort Variant By options allow you to sort the set by a trait of a specific variant.  You can select the sort twice for the same variant to flip it, i.e., if you sort depth, it sorts from high to low; select the depth sort a second time to sort from low to high.

The Display Mode changes what you can see of the data:

Collapsed removes all the genotypes, leaving only the allele frequency bars.


Expanded shows the genotypes at the usual row height, with the sample names in the first column.


Squished shows the genotypes with the rows compressed to maximize the data visible on the page.


You can also adjust the height of the squished row by right-clicking and selecting Change Squished Row Height. You can change the height of the rows in the window provided.

Viewing a VCF File Without Genotypes

If you open a VCF file that does not contain genotypes data, the view will be different, displaying only the bars marking the calls, as shown below. 

Similarly, the popup menu will be more limited, with only the Set Feature Visibility Window... and Remove Track options functional.

Gene List View

The Gene Lists functionalities in IGV allow you to view lists of genes or loci side-by-side irrespective of their genomic location.  

Loading/Defining Gene Lists

To load or define a new gene/locus list, select Regions >Gene Lists....


This opens a window for selecting an existing list or creating a new list. 

You can load an existing gene list from this window.  To do so, select the gene list and click View.

My Lists

You can click Import to upload a text file containing your gene list. You can find and download files (in GMT format) with multiple gene lists in them at the Molecular Signatures Database.

You can also click New to create a new gene list.  This opens a dialog in which you can enter a name, description, and your list of genes or regions.  Entries in a gene list can be a gene symbol, cytoband name, or a locus defined as  <chr>:<start>-<end>.


When you click OK, this gene list will be filed under My lists in the gene lists window. Select that group, then select your new gene list, and click Load to view it.

You can save your gene list as a .gmt file by clicking Export.

To make a copy of a gene list, select an existing gene list and click Copy.  This opens a window in which you can edit the list. When you click OK after editing it, this copied list will be filed under My lists.

You can edit or delete anything in My lists.

The Loaded List

When you load a gene list, the main IGV window splits vertically to show the currently-loaded data for all the regions of the gene list.

Each vertical panel can be individually zoomed by double-clicking in that space.

Sorting by Panel

Right-click on a gene name in the panel header to bring up the sort menu. This menu will vary depending on data type.

The following image illustrates what happens if you select Sort by amplification in the KRAS panel.

Removing or Rearranging Panels

To remove a panel, right-click on the panel header and select Remove panel.

Panels can be rearranged by drag and drop.  Click on the grey header bar at the top of the panel and drag it to its new position.  For example, in the figure below KRAS has been dropped between RAC1 and RAC2.

Changing the View

To return to the original view of the gene (that is, not zoomed), right-click the name/cytoband panel at the top of the pane you want to reset and select Reset panel to '[gene name]'.

To return to the “normal view”, double-click the name/cytoband panel at the top of any of the panes, or right-click in a name/cytoband panel and select Switch to standard view.

Viewing Gene Networks

For more information see Viewing Gene Networks in the cBio Portal.

Regions of Interest

Regions of interest (ROI) are intervals that are defined and bookmarked by the user. Once the region is defined, it can be given a short description, can be used for sorting, and the sequence contained in that interval can be copied to the system clipboard for use in another application.

This page outlines three ways to define a region of interest--by mouse, by keyboard shortcut, and by using the Region Navigator. The forth section details functions applied to regions of interest from the ROI menu.

Defining a Region of Interest by mouse

  1. On the tool bar, click the Define a Region of Interest icon:

  1. In the data panel, click the start of the region and then the end of the region. Do NOT click and drag. IGV draws lines delimiting the region.

Defining a Region of Interest by keyboard shortcut

Starting from IGV 2.1.11 (released May 2012), define a region of interest either by a single base at the center of the view or with the entire displayed view.

Using the Region Navigator

The Region Navigator provides an editable table view of defined regions of interest. The table can be used to edit, add, and remove regions of interest as well as navigate. To open the Region Navigator select Regions>Region Navigator from the menu bar.

Adding Regions with the Region Navigator

You can add regions of interest by defining them as above. You can also leave the Region Navigator open while you browse your data and genome, and when you are zoomed into a region that interests you, click Add. This will add the entire interval currently visible in IGV as a region of interest in the Region Navigator. In the screenshot, the same region was added twice.

Editing Regions

The duplicated region in the screenshot was edited to a wider region and given a descriptor.

Navigating

 

Using Regions of Interest

Options Available From the Region of Interest Bar menu

Menu item and function Instructions
Sort tracks based on data values within the region of interest

Click the red bar above the region and select a Sort option. Sort options vary with the data types.

  • For copy number data, sort includes by amplification, by deletion, by breakpoint amplitudes, and by value. 
Scatter Plot See Scatter Plots section of IGV guide.

Zoom. Center and zoom to the region of interest in your view

Click the red bar above the region and select Zoom.

Edit description allows for a short description.

Click the red bar above the region and select Edit description.

Copy sequence or export the region of interest

Click the red bar above the region and select Copy sequence.

Delete removes the region of interest.

Click the red bar above the region and select Delete.

Options Available from the Menu Bar

Menu item functions Instructions
Remove regions of interest from the display Select Regions>Region Navigator, select the region(s) you want to remove, and click Remove.
Export the defined regions of interest as a BED file (the data in the region are not exported) Select Regions>Export Regions and save the file.
Import one or more regions of interest Select Regions>Import Regions, browse to the location of the BED file, and select it.

 

Sample Attributes

Attributes can be associated with tracks  and used for filtering, sorting, and grouping data.  By default all tracks have at least 3 attributes: Data File, Data Type, and Name. To display additional attributes, load a sample attribute file.  IGV displays attribute names and values in the attributes panel.

Color-Coded Attribute Values

IGV uses color-coded blocks to represent the attribute values.

Showing and Hiding Attributes

To show or hide selected attributes:

  1. Click View>Select Attributes to Show. IGV displays a list of attributes.
  2. Select (or clear) an attribute’s check box to show (or hide) the attribute.
  3. Click OK. IGV updates the display to show only the selected attributes.

To show or hide all attributes:

 

Sorting, Grouping, and Filtering

By default, IGV displays tracks in the order in which they are loaded (i.e., the order of the data in the files). Alternatively, it is possible to sort the tracks by attribute, region of interest, or track list. You can also group or filter tracks.

Sorting by Attribute

If tracks are grouped, IGV sorts the tracks in each group. To sort groups by attribute, first sort the ungrouped tracks by the desired attributes, then group the tracks.

To sort tracks based on an attribute value:

Alternatively, use the Sort Tracks command for additional options:

  1. Click Tracks>Sort Tracks. IGV displays the Sort window:
  2. Select the attributes to sort by and whether to sort based on ascending or descending values.
  3. Click Ok.

Sorting by Region of Interest

If tracks are grouped, IGV sorts the tracks in each group. It then sorts the groups using a composite score for the group, which IGV defines as the maximum score from the tracks in that group.

To sort tracks in the data panel based on a region of interest:

  1. Define a region of interest on the genome, as shown below.
  2. Click the red bar above the defined region and select an option from the pop-up menu:
    • Sort by amplification: Affects tracks of copy number data. Sorts tracks based on copy number values in this region, from highest to lowest.
    • Sort by deletion: Affects tracks of copy number data. Sorts tracks based on copy number values in this region, from lowest to highest.
    • Sort by breakpoint amplitudes: Affects tracks of copy number data.  Sorts tracks by the sum of the absolute value of copy number changes within the region.
    • Sort by expression: Affects tracks of gene expression data. Sorts tracks based on gene expression in this region, from highest to lowest.
    • Sort by value: Sorts tracks based on the values of the track data in this region, from highest to lowest.
    • Delete: Removes this region-of-interest annotation.

Sorting and Filtering by Track List

To display selected tracks in a specific order:

  1. Create a sample information file that contains two columns. The first column must be labeled 'Array' and lists the tracks that you want to display. The second column can be labeled 'Order' (or any other label) and lists the sort order for the tracks.
    For example, the following sample information file provides a track list for use with segmented_data_080520.seg:
    Array Order
    primary_GBM_10 a
    primary_GBM_20 b
    primary_GBM_30 c
    primary_GBM_40 d
    primary_GBM_50 e
    primary_GBM_60 f
    primary_GBM_70 g
  2. Load the data file and the sample information file that you created in step 1.
  3. Apply a filter to display only those tracks that contain a value for the Order attribute. To do so, select Tracks>Filter Tracks and apply the following filter:
    Order is not equal to <leave the text field blank>
  4. Sort the tracks based on the Order attribute. To do so, select Tracks>Sort Tracks and select the Order attribute.

Grouping Tracks by Attribute

To group tracks by attribute:

Filtering Track Data

You can filter track data to display only tracks that meet certain criteria.

To filter tracks:

  1. Select Tracks>Filter Tracks. IGV displays the Filter Tracks window:
     
  2. Enter a filter criterion by selecting an attribute from the first drop-box and an operator from the second drop-box and entering an attribute value in the text box.
  3. Optionally, add additional criteria:
    • Click the plus (+) button to enter another filter criterion.
    • Click the minus (-) button to remove a filter criterion.
  4. Determine how the criteria should be combined by choosing one of the following, at the top of the window:
    • Match all of the following to combine the criteria using a logical AND
    • Match any of the following to combine the criteria using a logical OR
  5. Click OK to apply the filter.

To clear the filter:

  1. Select Tracks>Filter Tracks.
  2. At the top of the Filter Tracks window, click Show all tracks, then click OK

Saving and Restoring Sessions

Saving and Restoring

You can save the current state of an IGV session to a named session file. You can use that file to restore the IGV session yourself or share it with colleagues, as long as they have access to the session file and any data files that were loaded when the session file was saved. For example, if the data files are loaded into IGV from a shared directory and the IGV session file is saved to that shared directory, anyone with access to the directory can restore the saved IGV session.

To save a session:

  1. Click File>Save Session.
  2. In the Save Session window, select a directory and session file name and click OK.

To restore a saved session:

  1. Click File>Open Session.
  2. In the Open Session window, select a session file and click OK. IGV ends the current session and restores the saved session.

Session File

IGV Version 1.5 and Greater

Overview

Sessions are an integral part of IGV, allowing users to share their data and views with other users simply and accurately.  Session files describe the session in XML. If you wish to manually create or edit a session file, use the information below to better understand the components of each session file.

Session XML Hierarchy
Description of Session Components

Required - These elements are required in a session file. All session files must follow XML standards.

Optional  - These elements are optional in a session file and are added by IGV to help determine the placement of the data and visual style choices.

Session Example

The XML below is an example of a simple Session created by IGV

------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<Global genome="hg18" locus="All" version="3">

<Resources>

<Resource url="http://genome.cse.ucsc.edu/cgi-bin/hgTrackUi?g=rnaGene" label="RNA Genes" name="RNA Genes" path="http://www.broadinstitute.org/igvdata/annotations/hg18/rna_genes.bed"/>

<Resource url="http://genome.cse.ucsc.edu/cgi-bin/hgTrackUi?g=wgRna" label="sno/miRNA" name="sno/miRNA" path="http://www.broadinstitute.org/igvdata/annotations/hg18/sno_mirna.bed"/>

</Resources>

<Panel height="445" name="DataPanel" width="1000">

<Track color="0,0,178" colorScale="ContinuousColorScale;0.0;20.0;255,255,255;0,0,178" displayName="Non coding RNA" expand="false" height="45" id="http://www.broadinstitute.org/igvdata/annotations/hg18/rna_genes.bed" name="RNA Genes" renderer="BASIC_FEATURE" visible="true" windowFunction="count">

<DataRange baseline="0.0" drawBaseline="true" flipAxis="false" maximum="20.0" minimum="0.0" type="LINEAR"/>

</Track>

<Track color="0,0,178" colorScale="ContinuousColorScale;0.0;20.0;255,255,255;0,0,178" displayName="sno miRNA" expand="false" height="45" id="http://www.broadinstitute.org/igvdata/annotations/hg18/sno_mirna.bed" name="sno/miRNA" renderer="BASIC_FEATURE" visible="true" windowFunction="count">

<DataRange baseline="0.0" drawBaseline="true" flipAxis="false" maximum="20.0" minimum="0.0" type="LINEAR"/>

</Track>

</Panel>

<Panel height="65" name="FeaturePanel" width="1000">

<Track color="0,0,178" colorScale="ContinuousColorScale;0.0;20.0;255,255,255;0,0,178" displayName="RefSeq genes" expand="false" height="30" id="Genes" name="Genes" renderer="BASIC_FEATURE" visible="true" windowFunction="count">

<DataRange baseline="0.0" drawBaseline="true" flipAxis="false" maximum="20.0" minimum="0.0" type="LINEAR"/>

</Track>

</Panel>

</Global>

 

Server Configuration

Configuring a Genome Server

Upload a new genome to your own server to share with others:

  1. Use the steps described in Loading a Genome to create an initial .genome file and sequence directory.  The sequence directory contains a file for each chromosome/contig sequence in the genome. 
  2. Copy the sequence directory to a web-accessible directory.
  3. Copy the .genome file (which is a zip archive) to a temporary directory and unzip it.
  4. Remove the .genome file from the temporary directory.
  5. Open the property.txt file in a text editor and edit the following properties:
    • id: Unique identifier for the genome (for example, "hg18"). This property is input to some commands in igvtools. 
    • name: This is the name that appears in the pull-down genome list in IGV.
    • sequenceLocation: http:// <path to sequence directory> (this is the location of the sequence directory discussed in step 1 & 2)
  6. Zip all the files in the temporary directory, including the edited property.txt file, and name the resulting archive <id>.genome.  This naming convention is mandatory for igvtools.
  7. Copy the <id>.genome file to a web-accessible directory.
  8. To make your genome appear in the users' pull-down list, create a genomes list file. The IGV default genomes list file can be used as a starting point. Each line in the genomes list is formatted as follows:
    Format <name>  *tab*  <URL of the .genome file>  *tab*  <id>
    Example Human hg18         http://www.broadinstitute.org/igvdata/genomes/hg18.genome         hg18
  9. To test in IGV, change the genome URL in the Advanced preferences tab (View>Preferences) to: http://<path to your genomes.txt file>.  You must quit IGV and restart for this preference to take effect. The genome should appear in the drop-down list.

 

Configuring a Data Server

 

By default, the File>Load from Server option in IGV provides access to public datasets stored on the IGV data server. You can host your own web accessible datasets by creating server registry and configuration files.

 To create a custom load from server menu

  1. For each top level node in the hierarchy, create an XML file that describes the datafiles accessible under that node.  Each datafile is specified by a Resource element which has 2 attributes: a name to be displayed to the user and a URL to the file.   The resources can be organized into categories, which in turn can be nested to form a tree structure.  An example follows.

    <?xml version="1.0" encoding="UTF-8"?>
    <Global name="Example Project"  infolink="http://www.broadinstitute.org/igv/" version="1">
        <Category name="Category">
            <Category name="Subcategory One">
            <Resource name="pi.12mer.tdf"
                      path="http://www.broadinstitute.org/igvdata/annotations/hg18/conservation/pi.12mer.wig.tdf" />
            </Category>
            <Category name="Subcategory One">
            <Resource name="omega.12mer.tdf"
                      path="http://www.broadinstitute.org/igvdata/annotations/hg18/conservation/omega.12mer.tdf" />
            </Category>
        </Category>
    </Global>

    The
    infolink attribute, which displays an information link for the resource, may be included in any <Global> or <Category> element.
     
  2. Create a registry (text) file that lists the XML files. For example:

    http://www.broadinstitute.org/igvdata/annotations/hg18/hg18_annotations.xml
    http://www.broadinstitute.org/igvdata/tcga_external.xml
    http://www.broadinstitute.org/igvdata/mmgp.xml
    http://www.broadinstitute.org/igvdata/epigenetics_public.xml
    http://www.broadinstitute.org/igvdata/1KG/1KG.xml
    http://www.mycompany.org/igvdata/example_project.xml

  3. In IGV, on the Advanced tab of the Preferences window, update the Data Registry URL to point to your registry file.

IGV points to exactly one data registry file. If you'd like your data server to provide access to the public datasets on the IGV data server, include them in your registry file, as shown above.

 

Password Protected Directories

Overview

When a user enters a password-protected URL, IGV prompts for a user name and password. If the username/password combination is incorrect, IGV will continue to ask the user to authenticate until the combination is entered correctly or the user clicks Cancel.

Verification and Examples

There is an example site so that users can test the password protection feature. Click http://www.broadinstitute.org/igvdata/private/.  IGV should prompt for a username and password.  Enter:

username: guest
password: password

After verifying that server connection and authentication, user can try the following example files in IGV by clicking File>Load from URL:

  • http://www.broadinstitute.org/igvdata/private/SignalK562H3k36me3.tdf
  • http://www.broadinstitute.org/igvdata/private/cpgIslands.hg18.bed
  • http://www.broadinstitute.org/igvdata/private/snp130.bedz
  • http://www.broadinstitute.org/igvdata/private/snp130.bedz.sai

Setting Up a Password-protected Site

There are many ways to set up a password-protected site.  The following describes one method of handling this on an Apache server.

Apache

The Apache HTTP Server is a commonly used web server; it is, for example, in use at the Broad Institute. Setting up a password requires:

  • an Access File
  • a Password File

The Access File (.htaccess) is located in the restricted directory.  It should contain the following information:

AuthUserFile /home/[path]/.htpasswd
AuthName "Private IGV Folder"
AuthType Basic
Require valid-user

The first line should contain the path to the Password File.

The Password File (.htpasswd) should be placed in a directory that is accessible internally, not through the web. This is can be the home directory, but it must be a location that is not externally visible.  An example password file might look like this:

user1:kJs1GPxWtLet2

The file contains the usernames and passwords for all authenticated users, with one user per line. In the example line,  the username is "user1" and the password is "kJx1GPxWtLet2," which is an encrypted password representing the human-readable word, "password."

To make the authentication lines, users can contact IT staff or use one of several websites that help generate them.  The one used for this line was http://www.kxs.net/support/htaccess_pw.html. This website provides a string that can be used in the .htpasswd file.

To test use a web browser to access a file in  the password-protected directory URL.   You should be prompted for a username and password.

 

 

 

 

 

 

External Control of IGV

Controlling IGV through a Port

IGV can optionally listen for http requests over a port. This option is turned off by default but can be enabled from the Advanced tab of the Preferences window

Note:  IGV will write a response back to the port socket upon completion of each command.  It is good practice to read this response before sending the next command.   Failure to do so can overflow the socket buffer and cause IGV to freeze.   See the example below for the recommended pattern.

Commands

Command Description
new Create a new session.  Unloads all tracks except the default genome annotations.
load file Loads data or session files.  Specify a comma-delimited list of full paths or URLs.
collapse trackName Collapses a given trackName. trackName is optional, however, and if it is not supplied all tracks are collapsed.
echo Writes "echo" back to the response.  (Primarily for testing)
exit Exit (close) the IGV application.
expand trackName Expands a given trackName. trackName is optional, however, and if it is not supplied all tracks are expanded.
genome genomeId Selects a genome. 
goto locus or listOfLoci Scrolls to a single locus or a space-delimited list of loci. If a list is provided, these loci will be displayed in a split screen view.  Use any syntax that is valid in the IGV search box.
region chr start end Defines a region of interest bounded by the two loci (e.g., region chr1 100 200).
maxPanelHeight height Sets the number of vertical pixels (height) of each panel to include in image. Images created from a port command or batch script are not limited to the data visible on the screen. Stated another way, images can include the entire panel not just the portion visible in the scrollable screen area. The default value for this setting is 1000, increase it to see more data, decrease it to create smaller images.
setSleepInterval ms Sets a delay (sleep) time in milliseconds.  The sleep interval is invoked between successive commands.
snapshotDirectory path Sets the directory in which to write images.
snapshot filename Saves a snapshot of the IGV window to an image file.  If filename is omitted, writes a PNG file with a filename generated based on the locus.  If filename is specified, the filename extension determines the image file format, which must be .png, .jpg, or .svg.

sort option locus

Sorts an alignment track by the specified option.  Recognized values for the option parameter are: base, position, strand, quality, sample,  readGroup, AMPLIFICATION, DELETION, EXPRESSION, SCORE, and MUTATION_COUNT.  The locus option can define a single position, or a range.  If absent sorting will be perfomed based on the region in view, or the center position of the region in view, depending on the option.
squish trackName Squish a given trackName. trackName is optional, and if it is not supplied all annotation tracks are squished.
viewaspairs trackName Set the display mode for an alignment track to "View as pairs".  trackName is optional.
preference key value Temporarily set the preference named key to the specified value. This preference only lasts until IGV is shut down.

Example

Example java code:

        Socket socket = new Socket("127.0.0.1", 60151);
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

        out.println("load na12788.bam,n12788.tdf");
        String response = in.readLine();
        System.out.println(response);

        out.println("genome hg18");
        response = in.readLine();
        System.out.println(response);

        out.println("goto chr1:65,827,301");
        //out.println("goto chr1:65,839,697");
        response = in.readLine();
        System.out.println(response);

        out.println("snapshotDirectory /screenshots");
        response = in.readLine();
        System.out.println(response);

        out.println("snapshot");
        response = in.readLine();
        System.out.println(response);
 

Running IGV with a batch file

As of version 1.5, a user can load a text file to execute a series of sequential tasks by using Tools>Run Batch Script. The user loads a TXT file that contains a list of commands, one per line, that will be run by IGV. Arguments are delimited by spaces (NOTE: not tabs). Lines beginning with # or // are are skipped. See Controlling IGV through a Port for accepted commands.

Example

new
load  myfile.bam
snapshotDirectory mySnapshotDirectory
genome hg18
goto chr1:65,289,335-65,309,335
sort position
collapse
snapshot
goto chr1:113,144,120-113,164,120
sort base
collapse
snapshot
goto chr4:68,457,006-68,467,006
sort strand
collapse
snapshot

The example script does the following:

  1. Loads a file.
  2. Sets the genome and snapshot directory.
  3. Jumps to a specified locus.
  4. Sorts, collapses, and then takes a snapshot of the screen.
  5. Repeats these steps for other loci.

 

Creating HTML Links to IGV

This section describes two forms of HTML links for interacting with IGV from a web page. The first can be used to launch IGV on the client machine at a specific locus with a supplied session file. The second can be used to load data and session files into IGV (after it has been launched).  

Links to Launch and Load Data

The first type of HTML link makes use of a dynamic "php" file hosted at the Broad Institute to launch IGV on a specified session or data file.  An example follows

http://www.broadinstitute.org/igv/projects/current/igv.php?sessionURL=URL&user=name&locus=locus

The table below contains the full parameter list

Parameter   Description
sessionURL Required URL to a session file (further described below), or a comma-delimited list of data files.
file   Alias for sessionURL
index Optional URL to an index file, or a comma-delimited list of index files.  This parameter is only used if sessionURL points to and indexed data file or list of files.   If a list is used, the index list must be the same length as the data file list.
locus Optional Locus to display. Use any syntax that is valid in the IGV search box.
user Optional

A short name identifying your website or organization.

genome Optional A genome identifier (e..g hg18).  This is useful if you specify a data file rather than a session file for the sessionURL.  Click here for a list of recognized genome ids.
initalHeapSize Optional Initial memory footprint, specified as an integer followed by an "m" for megabytes.  The default value is 256m. 
maxHeapSize Optional Maximum memory setting.  The default value is 1000m  (1 gigabyte). 
name Optional Specifies a name or names for the track(s).  This parameter is ignored if loading a session file. 
merge Optional Controls whether or not the loaded data is merged with the existing IGV session, or a loaded into a new session.  If false, any data currently loaded will be unloaded after clicking this link.   The default value is false if file is a session file, true otherwise. 

 

BAM File Example:

http://www.broadinstitute.org/igv/projects/current/igv.php?sessionURL=http://1000genomes.s3.amazonaws.com/data/NA12878/high_coverage_alignment/NA12878.mapped.ILLUMINA.bwa.CEU.high_coverage_pcr_free.20130520.bam&genome=hg19&locus=chr1:64,098,103-64,098,175

Session File Example:

http://www.broadinstitute.org/igv/projects/current/igv.php?sessionURL=http://www.broadinstitute.org/igvdata/exampleFiles/gbm_session.xml

 

Links to Load Data

The second type of link will load data into a running IGV.  This makes use of the listener port, which must be enabled.  This option can be controlled on the "Advanced" preferences tab, and is enabled by default listening on port 60151.   Links can be created to load data or jump to a locus as follows.

http://localhost:port/load?file=URL&locus=locus&genome=genome&merge=[true|false]&name=name

http://localhost:port/goto?locus=locus

The file parameter value can be a URL or a comma-delimited list of URLs to most IGV-supported data file types (exceptions listed below), or a session file.   The merge parameter (optional) controls whether or not the loaded data is merged with the existing IGV session, or a loaded into a new session.  If false, any data currently loaded will be unloaded after clicking this link.   The default value is false if file is a session file, true otherwise.  The name parameter (optional) specifies a name or names for the track.  If multiple tracks are loaded as a comma-delimited list, the name parameter value should also be a comma-delimited list of the same size.   The name parameter is ignored if loading a session.

Examples:

http://localhost:60151/load?file=http://www.broadinstitute.org/igvdata/annotations/hg18/conservation/pi.12mer.wig.tdf&locus=egfr&genome=hg18

http://localhost:60151/load?file=http://www.broadinstitute.org/igvdata/exampleFiles/gbm_session.xml&merge=true

http://localhost:60151/goto?locus=egfr

Session File Format

IGV produces a session file in XML format when a user clicks on File>Save Session. You can also create a session file manually.  The XML format (IGV version 1.5) is described below.

Session XML Hierarchy
  • <Global>
    • <Resources>
      • <Resource>
    • <Panel>
      • <Track>
        • <DataRange>
Description of Session Components

Required - These elements are required in a session file.

  • <Global>: The root XML element.
    • genome= The genome id (e.g., hg18).
    • locus= The initial genomic region to be viewed (chromosome:start-end or gene name).
    • version= The session version (this must equal '3').
  • <Resources>: An enclosing element for all Resource elements.
  • <Resource>: Contains information about the data sources to be loaded, including data files, feature files, sample information files, and DAS servers.
    • name= The name of the track (single track files only).
    • path= The location of the data source (file path or URL).
    • url= Defines a URL for external links associated with a feature track. Any '$$' in this string will be substituted with the name of the current feature.

Optional  - These elements are optional in a session file and are used to determine the placement of tracks and visual style choices. They are included in an XML file produce when you save a session in IGV, but are typically not included in an XML file that is created manually.

  • <Panel>:
    • name= A panel identifier used internally by IGV. 
    • height= The default height for the panel.
  • <Track>:
    • color= The default color for the data in the track.
    • expand= Whether the track is initially expanded or not.
    • height= The default height of the track.
    • id= A track identified used internally by IGV.
    • name= The display name for the track.
    • renderer= The renderer used to display the data.
    • visible= Whether the track is visible or has been filtered out.
    • windowFunction= The function to be used when displaying data
  • <DataRange>:  Defines the y axis for tracks when rendered as charts.
    • baseline= Line is drawn at this y value. Default is 0.
    • maximum= Maximum y value.
    • minimum= Minimum y value. Default is 0.
    • type= Scale type, "LINEAR" or "LOG"
    • drawBaseline (not used)
    • flipAxis (not used)
Session File Example

The XML below is an example of a minimal session file.

------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<Global genome="hg18" locus="EGFR" version="3">

<Resources>

<Resource name="RNA Genes" path="http://www.broadinstitute.org/igvdata/tcga/gbm/GBM_batch1-8_level3_exp.txt.recentered.080820.gct.tdf"/>

<Resource name="RNA Genes" path="http://www.broadinstitute.org/igvdata/annotations/hg18/rna_genes.bed"/>

<Resource name="sno/miRNA" path="http://www.broadinstitute.org/igvdata/tcga/gbm/Sample_info.txt"/>

</Resources>

</Global>

 

Motif Finder

Motif Finder

Search for a particular nucleotide sequence in the reference genome. The results are displayed as features in two new tracks. By default, the results from the positive strand are displayed in blue, and results from the negative strand in red. To change the color, right-click on the track and select Change Track Color... from the pop-up menu.

Steps:

1. Bring up the motif finder dialog, via Tools>Find Motif...

2. Enter the sequence for which to search, using one of following three formats:

3. Enter names for the feature tracks that will show where the sequence matches the positive and negative strands of the reference genome. 

Example

Since we entered a short sequence, it gets a large number of hits. Looking at the results directly upstream of the gene GBP4, we see a match on the postive strand and two on the negative strand. Note that by default, the search result tracks are displayed in Expanded mode, so you can see overlapping matches.

 

igvtools

The igvtools utility provides a set of tools for pre-processing data files.  These include:

From IGV: igvtools is accessed by selecting Tools>Run igvtools...

Command line: The igvtools commands can also be run from the command line.  To install, download the igvtools zip file from the Downloads page.  On Windows, enter the commands at an MS-DOS prompt (select Start>Run and type: cmd). On Mac, enter the commands in a terminal window (select Applications>Utilities>Terminal).

 

Running igvtools from the Command Line

Downloading igvtools

The igvtools utilities can be downloaded from the Downloads page on the IGV Web site.

          igvtools_<version #>.zip includes the jar file and shell scripts for running igvtools, as well as the genome files.
          igvtools_nogenomes_<version #>.zip includes the jar file and shell scripts and shell scripts for running igvtools.

Starting with shell scripts

The igvtools utilities can be invoked, with or without the graphical user interface (GUI), from one of the following scripts:

   igvtools (command-line version for linux and  Mac OS 10.x)
   igvtools_gui (gui version for linux and  Mac OS 10.x)

   igvtools.bat (command-line version for windows)
   igvtools_gui.bat (gui version for windows)

The general form of the command-line version is:

   igvtools [command] [options][arguments]
or
   igvtools.bat [command] [options][arguments]

Recognized commands, options, arguments, and file types are described below.

Starting with java

Igvtools can also be started directly using Java.  This option allows more control over Java parameters, such as the maximum memory to allocate.  In this example, igvtools is started with 1500 MB of memory allocated:

   java -Xmx1500m  -Djava.awt.headless=true -jar igvtools.jar [command] [options][arguments]

To start with a GUI the command is

   java -Xmx1500m  -jar igvtools.jar -g

Memory settings

The scripts above allocate a fixed amount of memory.  If this amount is not available on your platform you will get an error along the lines of "Could not start the Virtual Machine".   If this happens you will need to edit the scripts to reduce the amount of memory requested,  or use the Java startup option.  The memory is set via a "-Xmx" parameter. For example  -Xmx1500m requests 1500 MB,  -Xmx1g requests 1 gigabyte.

Genome

The genome argument in the toTDF and count command can be either an id, or a full path to a .chrom.sizes or an IGV .genome file. 
 

Commands

toTDF

The toTDF command converts a sorted data input file to a binary tiled data (.tdf) file. Use this command to pre-process large datasets for improved IGV performance. 

Supported input file formats are: .wig, .cn, .snp, .igv, and .gct.

Note: This tool was previously known as "tile"

Usage:

          igvtools toTDF [options]  [inputFile] [outputFile] [genome]

Required arguments:

          inputFile    The input file (see supported formats below).

          outputFile   Binary output file.  Must end in ".tdf".

          genome      A genome id or path to a .chrom.sizes or .genome file.  Default is hg18.

Options:

  -z num  Specifies the maximum zoom level to precompute. The default
               value is 7 and is sufficient for most files. To reduce file
               size at the expense of IGV performance this value can be
               reduced.

  -f  list     A comma delimited list specifying window functions to use
               when reducing the data to precomputed tiles.   Possible
               values are min, max, and mean.  By default only the mean
               is calculated.

  -p file    Specifies a "bed" file to be used to map probe identifiers
               to locations.  This option is useful when preprocessing . gct
               files.  The bed file should contain 4 columns:
                           chr start end name
               where name is the probe name in the .gct file.

Example:

          igvtools toTDF -z 5  copyNumberFile.cn copyNumberFile.tdf hg18

Notes:

Data file formats, with the exception of .gct files, must be sorted by start position.  Files can be sorted with the sort command described below.  Attempting to preprocess an unsorted file will result in an error.

Count

The count command computes average feature density over a specified window size across the genome. Common usages include computing coverage for alignment files and counting hits in Chip-seq experiments. By default, the resulting file will be displayed as a bar chart when loaded into IGV.

Supported input file formats are: .sam, .bam, .aligned, .psl, .pslx, and .bed.

Usage:

          igvtools count [options] [inputFile] [outputFile] [genome]

Required arguments:

          inputFile    The input file (see supported formats above).

          outputFile   Binary output file.  Must end in ".tdf" or ".wig".  To indicate that you want to
                             output both a .tdf and a .wig file, list both output filenames as a single string,
                             separated by a comma with no other delimiters.  To display feature
                             intensity in IGV, the density must be computed with this command, and the
                             resulting file must be named <feature track filename>.tdf.
                             The special string "stdout" can be used in either position, in which case the output will
                             be written to the standard output stream in wig format.

          genome      A genome id or path to a .chrom.sizes or .genome file.  Default is hg18.

Options:

-z, --maxZoom num

Specifies the maximum zoom level to precompute.

-w, --windowSize num

The window size over which coverage is averaged. Defaults to 25 bp.

 -e, --extFactor num

The read or feature is extended by the specified distance in bp prior to counting. This option is useful for chip-seq and rna-seq applications. The value is generally set to the average fragment length of the library minus the average read length.

--preExtFactor num

The read is extended upstream from the 5' end by the specified distance.

--postExtFactor num

Effectively overrides the read length, defines the downstream extent from the 5' end. Intended for use with preExtFactor.

-f, --windowFunctions list

A comma delimited list specifying window functions to use when reducing the data to precomputed tiles. Possible values are min, max, mean, median, p2, p10, p90, and p98. The "p" values represent percentile, so p2=2nd percentile, etc.

--strands [arg]

By default, counting is combined among both strands. This setting outputs the count for each strand separately. Legal argument values are 'read' or 'first'. 'read' Separates count by 'read' strand, 'first' uses the first in pair strand".  Results are saved in a separate column for .wig output, and a separate track for TDF output.

--bases

Count the occurrence of each base (A,G,C,T,N). Takes no arguments. Results are saved in a separate column for .wig output, and a separate track for TDF output.

--query [querystring]

Only count a specific region. Query string has syntax <chr>:<start>-<end>. e.g. chr1:100-1000. Input file must be indexed. 

--minMapQuality [mqual]

Set the minimum mapping quality of reads to include. Default is 0.

--includeDuplicates

Include duplicate alignments in count. Default false. If this flag is included, duplicates are counted. Takes no arguments

--pairs

Compute coverage from paired alignments counting the entire insert as covered. When using this option only reads marked "proper pairs" are used.

Notes:

The input file must be sorted by start position. See the sort command below.

Example:
          igvtools count -z 5 -w 25 -e 250 alignments.bam  alignments.cov.tdf  hg18

Index

Creates an index for an alignment or  feature file.  Index files are required for loading alignment files into IGV, and can significantly improve performance for large feature files.  Note that the index file is not directly loaded into IGV. Rather, IGV looks for the index file when the alignment or feature file is loaded.  This command does not take an output file argument. Instead, the filename is generated by appending ".sai" (for alignments) or ".idx" (for features) to the input filename as IGV relies on this naming convention to find the index . The input file must be sorted by start position (see sort command, below). 

Supported input file formats are: .sam, .aligned, .vcf, .psl, and .bed.

NOTES:

  • This command will not index a binary (BAM) file.  Use the samtools package to sort and index BAM files. 
  • The "sai" index is an IGV format, it does not work with samtools or any other application.

Usage:

  igvtools index [inputFile]

Sort

Sorts the input file by start position, as required.

Supported input file formats are: .cn, .igv, .sam, .aligned, .psl, .bed, and .vcf.

NOTE:  This command does not work with BAM files.  The samtools package can be used to sort .bam files.

Usage:

          igvtools  sort [options] [inputFile]  [outputFile]

Required arguments:

          inputFile 

          outputFile 

The special string "stdout" can be used as [outputFile], in which case the output will
be written to the standard output stream instead of a file.

Options:

  -t tmpdir  Specify a temporary working directory.  For large input files
             this directory will be used to store intermediate results of
             the sort. The default is the users temp directory.

  -m maxRecords  The maximum number of records to keep in memory during the
             sort.  The default value is 500000.  Increase this number
             if you receive "too many open files" errors.   Decrease it
             if you experience "out of memory" errors.

Version

  Prints the igvtools version number to the console.

Running igvtools from the IGV Interface

Select Tools>Run igvtools to open the igvtools window.  This window allows you to run the toTDF, Count, Sort, and Index tools:

  1. Select the tool that you want from the Command drop-down list.  The toTDF tool is selected by default.
  2. Specify the necessary files and/or genome.
  3. Select any of the alternative options you want.
  4. Click Run.

Information about the run will appear in the Messages box.  Note that if you exit the IGV application, any tool that is in progress will be terminated. 

toTDF

The toTDF tool converts a sorted data input file to a binary tiled data (.tdf) file.  Use this tool to pre-process large datasets for improved IGV performance.

Select:

  • the Input File (supported formats are .wig, .cn, .snp, .igv, and .gct)
  • the Output File (must end in .tdf)
  • the Genome (default is whatever genome is selected in IGV)

Options you can change include:

  • Zoom Levels: specifies the maximum zoom level to precompute.  The default is 7; this is sufficient for most files. This value can be reduced to reduce file size, though it will impair IGV performance.
  • Window Functions: allows user to select the window functions to use when reducing data to precomputed tiles.  Mean is the default, but you can also select Min, Max, or Median, as well as percentiles of the data.
  • Probe to Loci Mapping: specifies a .bed file to be used to map probe identifiers to locations.  This is useful when preprocessing .gct files.  The .bed file should contain 4 columns: chr start end name (where name is the probe name in the .gct file).

Count

Count computes average feature density over a specified window size across the genome. Common usages include computing coverage for alignment files and counting hits in Chip-seq experiments.  By default, the resulting file will be displayed as a bar chart when loaded into IGV.  To display feature intensity in IGV, the density must be computed with this option, and the resulting file must be named <feature track filename>.tdf.

Select:

  • the Input File, which must be sorted by start position (see the Sort tool, below). Supported file formats are .sam, .bam, .aligned, .psl, .pslx, and .bed.
  • the Output File (must end in .tdf or .wig)
  • the Genome (default is whatever genome is selected in IGV)

Options you can change include:

  • Zoom Levels: specifies the maximum zoom level to precompute.  The default is 7; this is sufficient for most files. This value can be reduced to reduce file size, though it will impair IGV performance.
  • Window Functions: allows user to select the window functions to use when reducing data to precomputed tiles.  Mean is the default, but you can also select Min, Max, or Median, as well as percentiles of the data.
  • Window Size: specifies the window size over which coverage is averaged, in base pairs; default is 25 bp

Index

This command creates an index for an alignment file or a feature file.  Index files are required for loading alignment files into IGV, and can significantly improve performance for large feature files. Note that you do not directly load the index file into IGV. Rather, IGV looks for a corresponding index file when the alignment or feature file is loaded.  This command does not take an output file argument. Instead, the filename is generated by appending ".sai" (for alignments) or ".idx" (for features) to the input filename as IGV relies on this naming convention to find the index . The input file must be sorted by start position (see the Sort tool, below).

NOTE: This tool cannot index a binary (BAM) file.   Use the samtools package to sort and index BAM files.

Select the Input File.  Supported file formats are .sam, .aligned, .vcf, .psl, and .bed.

Sort

Sort sorts the input file by start position.

NOTE:  This option does not work with BAM files.  The samtools package can be used to sort .bam files.

Select:

  • the Input File. Supported file formats: .cn, .igv, .sam, .aligned, .psl, .bed, and .vcf.
  • the Output File

Options you can change include:

  • Temp Directory: specifies a temporary working directory.  For large input files, this directory will be used to store intermediate results of the sort. The default is the user's Temp directory.
  • Max Records: specifies the maximum number of records to keep in memory during the sort.  The default value is 500000.  Increase this number if you receive "too many open files" errors.   Decrease it if you experience "out of memory" errors.