Skip to content

Instantly share code, notes, and snippets.

@stevekm
Last active August 21, 2025 16:51
Show Gist options
  • Select an option

  • Save stevekm/ac76c0c2fa4ee89db8ce2421cc6fbffc to your computer and use it in GitHub Desktop.

Select an option

Save stevekm/ac76c0c2fa4ee89db8ce2421cc6fbffc to your computer and use it in GitHub Desktop.
Sample Batch Script for IGV Snapshots

Manual page here:

http://software.broadinstitute.org/software/igv/batch

These commands are also available:

http://software.broadinstitute.org/software/igv/PortCommands

Download here:

http://software.broadinstitute.org/software/igv/download

After installing IGV, a script can be run from the terminal. Sample script (save this as IGV_test.bat):

new
snapshotDirectory /path/to/snapshot_dir
load /path/to/sample1.bam
load /path/to/sample2.bam
genome hg19
maxPanelHeight 400
goto chr11:108138003-108138003
snapshot custom_chr11-108138003-108138003.png
goto chr9:21971111-21971111
snapshot custom_chr9-21971111-21971111.png
exit

Example command to run IGV:

bin/IGV_2.3.81/igv.sh -b code/IGV_test.bat

Running the script like this will cause a window to appear, and the commands will be executed.

If you are running IGV from a headless server (accessing the server via ssh), then this will require X11 to be running on the server and installed on your local computer (use XQuartz for OS X). Remember to enable X11 in your terminal by adding -Y to your ssh command, like so:

ssh [email protected] -Y

For scripting purposes, you can run the X11 virtualizer to avoid the requirement for an active X11 window when you call IGV. Use this command:

(Xvfb :10 &) && DISPLAY=:10 java -Xmx750m -jar bin/IGV_2.3.81/igv.jar -b code/IGV_test.bat && killall Xvfb

Example output:

chr3_185850354-185872709

@jimguo
Copy link

jimguo commented Apr 22, 2019

Hi, how did you load multiple bed files? Thanks.

@ShwetaCh
Copy link

ShwetaCh commented Nov 3, 2020

Is there a way to size to snapshot in a landscape mode? It gives me a portrait mode image. Thanks.

@stevekm
Copy link
Author

stevekm commented May 31, 2025

@jimguo see the repo here https://github.com/stevekm/IGV-snapshot-automator but you likely want this instead https://github.com/igvteam/igv-reports

@ShwetaCh the dimensions are related to the size of the xvfb buffer that gets used, I think there are some args you can try to use to control it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment