This guide describes the Integrative Genomics Viewer (IGV).
Look at a printer-friendly HTML version of the whole User Guide.
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 | 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... | |
| Load Genome | Loads a genome into IGV. | |
| Import Genome | Imports a genome into IGV. more... | |
| Remove Imported Genomes | Removes an imported genome from the Genomes drop-down list in the tool bar. 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. | |
| 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... | |
| Clear Regions | Removes all currently defined regions of interest. more... | |
| 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. | |
| Exit | Closes IGV. | |
| 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... | |
| Reorder Panels | Allows the user to reorder the display panels. | |
| Gene Lists | Opens the gene lists window. more... | |
| Region Navigator | Opens the region navigator. more... | |
| 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... | |
| Help | Help | Displays the IGV User Guide. |
| Tutorial | Displays the IGV Quick Start. | |
| Contact Support | Opens an email to IGV-help. | |
| About IGV | Displays IGV version and build number. |
|
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... |
To select tracks and display the pop-up menu, do one of the following:
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 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 Scatterplot 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. |
| Remove Tracks | Removes selected tracks from the display. more... |
| Save image | Saves the data visible in the IGV panel to a PNG file. |
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 Squished Expanded |
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 Tracks | Removes selected tracks from the display. more... |
| Save image | Saves the data visible in the IGV panel to a PNG file. |
Alignment tracks display alignments (more...). For an example, select the Human b36 genome, 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). |
| Re-pack alignments | Sorts alignments to minimize gaps at the top of the track. |
| Set maximum coverage depth | Downsamples reads if the depth exceeds this threshold. |
| 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 all bases | By default, mismatched bases are displayed as colored letters on a gray bar that represents the read. 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. |
| 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 Squished Expanded |
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.
|
| Remove track | Removes selected tracks from the display. more... |
| Save image | Saves the data visible in the IGV panel to a PNG file. |
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.

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

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

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

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

|
|
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.
|
|
|
Filter and Shading Options
|
![]() |
Splice Junction Track Options
|
![]() |
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. |

Select an option to determine how IGV places expression data on the genome:
Modifying this option affects the display of subsequently loaded alignment tracks.

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

![]() |
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. |
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:
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) |
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. |
| PageUp/PageDown keys | Pages up and down the current view. |
You can start IGV from either the:
To start IGV from using Java Web Start:
To start IGV from the command line:
You can specify optionally specify 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:
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 |
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.
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.
If you have a feature track loaded (e.g., Gene track, BED, or GFF file), you can jump from one feature to the next.
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.
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.
IGV displays annotations for one genome at a time. To load a different genome, select it from the genome drop-down list in the tool bar:
![]()
IGV provides a number of genomes that are hosted on a server at the Broad Institute. Initially, the genome drop-down lists only a small number of genomes. This interface is new in IGV 2.2; in previous versions the drop-down menu listed all available genomes hosted on the IGV server.


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.
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).
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:
To remove an imported genome:
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.
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.
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

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.
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.
Data and genomic annotations can be loaded from local files, HTTP URLs, an IGV data server, or a Distributed Annotation Server (DAS).
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:
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).
To load data from an HTTP URL:
Notes:
To load data from the IGV data server:

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.
To remove all tracks and attributes:
To remove specific tracks, do one of the following:
Note:
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 folder <user home>/igv/genomes (or <user home>/.igv/genomes on the Macintosh.
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.
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).
You can override IGV's default display options in several ways:
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).
Most tracks are displayed using one of four graph types (the following graphs show the same data):
| Heatmap: |
|
| Bar chart: |
|
| 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:
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:
To change the data range for other selected tracks:
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 |
|
To change the track color for selected heat map tracks:
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):
To change the height of selected tracks:
To change the height of all tracks:
To fit the data to the window:
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:
You can only rename one track at a time. You can preserve track name changes only by saving the session.
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

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.
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:
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 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 map probe identifiers to gene identifiers. Following are links to the gene 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.
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:
The following figure explains how to read the bar chart.
Hover over a track to view hairpin values.

For segmented copy number data, use the SEG or CBS file format.
IGV can display genome-wide association study (GWAS) data as a "manhattan plot", color-coded by chromosome. Data formats are describe 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.

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

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.
|
|
|
Hover over a read to view information about the read, including the location of its paired mate. |
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.


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

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.

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

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.
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.
Alignments can be sorted by start location, strand, nucleotide, mapping quality, sample, or read group.
To sort alignments:
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.
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>
The inferred insert size can be used to detect structural variants, such as:
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:
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 posibble deletions.
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 affect on distance between aligned pairs is opposite 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 sequence 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.
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.

The orientation of paired reads can be used to detect structural events including:
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.
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.

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.

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.

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.

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.

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

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.
The Gene Lists functionalities in IGV allow you to create lists of genes of interest, or import lists of genes that are related functionally, structurally, by location, or otherwise. You can then use these gene lists to tailor your use of IGV, making it faster and easier to see areas of the genome that interest you most.
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 Load.

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

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.

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.
Regions of interest 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.
To define a region of interest:
The defined region of interest is highlighted with a red bar just under the chromosome ruler. The black lines only appear if you hover your cursor over that red bar:

| To Accomplish This Task: | Do this: | |
| 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 loaded. Options for copy number data are shown.
|
|
| Center and zoom to the region of interest in your view |
Click the red bar above the region and select Zoom.
|
|
| Give the region a name or short description |
Click the red bar above the region and select Edit description.
|
|
| Export/copy the sequence in the region of interest |
Click the red bar above the region and select Copy sequence.
|
|
| Remove the region of interest . |
Click the red bar above the region and select Delete.
|
|
| To Accomplish This Task: | Do this: |
| Remove all regions of interest from the display | Select File>Clear Regions. |
| Export the defined regions of interest as a BED file (the data in the region are not exported) | Select File>Export Regions and save the file. |
| Import one or more regions of interest | Select File>Import Regions, browse to the location of the BED file, and select it. |
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 navigate. To open the Region Navigator select View>Region Navigator... from the main menu.

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.

You can add or edit descriptions for each region by double-clicking the Description field for a given region.

You can also edit the defined intervals for each region by similarly double-clicking the fields corresponding to the Start or End of intervals.

You can define multiple regions of interest on the same or different chromosomes, and those regions will be captured in the Region Navigator.

To navigate among multiple regions of interest, click a region. IGV will display that region, and zoom the view if you have Zoom to Region selected.
If you only want to see a listing of the regions on a single chromosome, navigate to that chromosome in IGV, open the Region Navigator, and clear the Show All Chrs checkbox.

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.
IGV uses color-coded blocks to represent the attribute values.

To show or hide selected attributes:
To show or hide all attributes:
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.
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:

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:
To display selected tracks in a specific order:
| 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 |
To group tracks by attribute:
You can filter track data to display only tracks that meet certain criteria.
To filter tracks:

To clear the filter:
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:
To restore a saved session:
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.
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.
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 hyperlink="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 hyperlink="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>
To upload a new genome to your own server so you can share it with others:
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 users' pull-down genome list in IGV.
sequenceLocation: http:// <path to sequence directory> (this is the location of the sequence directory discussed in step #1)
<name> <tab> <URL of the .genome file> <tab> <id>
for example
Human hg18 http://www.broadinstitute.org/igvdata/genomes/hg18.genome hg18
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
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
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.
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.
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:
There are many ways to set up a password-protected site. The following describes one method of handling this on an Apache server.
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:
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.
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.
| 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 or SVG 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, 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 a pairs". trackName is optional. |
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);
As of version 1.5, a user can load a text file to execute a series of sequential tasks by using File>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.
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:
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).
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. |
| 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:
Session File Example:
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/exampleFiles/gbm_session.xml&merge=true
http://localhost:60151/goto?locus=egfr
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.
Required - These elements are required in a session file.
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.
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>
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).
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.
The genome argument in the tile and count command can be either an id, or a full path to a .chrom.sizes or an IGV .genome file.
The tile 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.
Usage:
igvtools tile [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 tile -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.
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.
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
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:
Usage:
igvtools index [inputFile]
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
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.
Prints the igvtools version number to the console.
Select Tools>Run igvtools to open the igvtools window. This window allows you to run the Tile, Count, Sort, and Index tools:
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.
The Tile 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:
Options you can change include:
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:
Options you can change include:
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 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:
Options you can change include:
This guide details major feature updates for IGV version 2.0.
If you are launching the IGV client and you encounter an error message that tells you that you have a bad version number, ensure that you are running Java 6.
IGV 2.0 requires that Java 6 or later be installed on your computer (previous versions of IGV required Java 5 or later). If you do not know which version of Java you are currently running, try running this Web site: Java Tester.
For Windows: Java version 6 is available for download from Sun. Download here.
For Macintosh: All Macs running Leopard or after should have Java 6 installed on them. On some Macs the download fails when launched from Firefox 3.x. The error message under "details" will say something about an unsupported class version. For unknown reasons, Firefox sometimes tries to launch the app with Java 5, rather than Java 6. Safari launches correctly, as does Firefox 4.x. If you get this error, Java 5 may be the current default. In order to set Java 6 as the default on Leopard:
In order to set 6 as the default on Snow Leopard:
If you don't have 6 on your machine, Apple supplies their own version of Java. Use the Software Update feature (available in the Apple menu) to check that you have the most up-to-date version of Java for your Mac.
If you are unable to resolve this issue, please post a help request at the igv-help forum.
IGV 2.0 includes:
Other new functions are listed below.
IGV 2.0 supports a number of new file formats, including:

| The back and forward buttons allow you to move backward and forward through your views of the genome the way you move back and forward in a web browser. | |
|
The "Fit to Window" button reduces the row height on all tracks to fit all data for the region in view into the window.
It will also expand tracks (to their maximum preferred size) to fill the view, if needed. |
|
| The "Popup On/Off" button toggles the pop-up information windows in IGV on or off. |
There is a new option to sort alignments by insert size.
IGV now allows you to Set maximum coverage depth. IGV downsamples reads if the depth exceeds that threshold.
There are now options to color alignments:
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.
For more information on this option, see this page.
For more information on this option, see this page.
There are now three ways to view the tracks: Collapsed, Squished, or Expanded.
New NGS functionality includes:
Other new functionality is listed below.