IGV and IGVTools on Biowulf

The Integrative Genomics Viewer (IGV) is a high-performance visualization tool for interactive exploration of large, integrated datasets. Features include:

References:

Documentation
Important Notes

NOTE: When running on Biowulf, make sure that web proxying is enabled by the http_proxy environment variable. Otherwise you may get a java error message about being unable to connect to remote hosts. For information about web proxies on the Biowulf cluster, see here.

Common pitfall

This is a list of common errors for IGV users on the cluster.

Failed to load saved session
This can be fixed by unusing the relative path:
View -> Preferences -> General
Unselect "Use relative paths in session files"
The cause of this error is IGV can't locate the files using relative paths. This appears to be a problem under only some circumstances.
"org.broad.igv.feature.genome.Genome.getLongChromosomeNames()" is null
When there is error regarding the genome, this normally can be fixed by using the full path of xx.fa instead of genome name, eg:
igvtools count xxx /fdb/igenomes/Mus_musculus/UCSC/mm10/Sequence/WholeGenomeFasta/genome.fa
This appears to be a problem under only some circumstances.
Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program. Sample session:

[user@biowulf]$ sinteractive --mem=8g --gres=lscratch:5
salloc.exe: Pending job allocation 46116226
salloc.exe: job 46116226 queued and waiting for resources
salloc.exe: job 46116226 has been allocated resources
salloc.exe: Granted job allocation 46116226
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn3144 are ready for job

[user@cn3144 ~]$ module load IGV IGVTools
[user@cn3144 ~]$ igv -m 8g

[user@cn3144 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$

Here are the commandline options:

The igv command on Helix is wrapped to include two additional options:

By default, IGV uses 2gb of memory and uses either /lscratch/$SLURM_JOBID/igvtmp if --gres=lscratch:N is used in a batch job (where N is the number GB needed for scratch space, where $USER is the login of the user running IGV. To allocate 20gb of memory, use:

igv --memory 20g

Input/output for IGV is menu-driven through the GUI.

IGVTools

IGVTools allows commandline utilities for working with ascii file formats.

By default, IGVTools uses 5gb of memory and the same temporary directory method as IGV. To allocate 20gb of memory, use:

igvtools --memory 20g [ additional options for igvtools ]

To see what options are available for the commandline IGVTools, just type igvtools at the prompt:

Program: igvtools. IGV Version 2.3.98 (141)07/25/2017 12:12 AM

Usage: igvtools [command] [options] [input file/dir] [other arguments]

Command: version print the version number
	 sort    sort an alignment file by start position.
	 index   index an alignment file
	 toTDF    convert an input file (cn, gct, wig) to tiled data format (tdf)
	 count   compute coverage density for an alignment file
	 formatexp  center, scale, and log2 normalize an expression file
	 gui      Start the gui
	 help      display this help message, or help on a specific command
	 See http://www.broadinstitute.org/software/igv/igvtools_commandline for more detailed help
[user@cn3144 ~]$ module load IGV
[user@cn3144 ~]$ igvtools toTDF sample.wig sample.tdf /fdb/igenomes/Homo_sapiens/UCSC/hg19/hg19.fa