<p>One possibility might be to put the full IGV application on the server, and use the igvR package in R on the server to access the IGV API.  You could then use R plotting facilities etc to show your data, accessed via the IGV API.  There might be APIs for IGV in other languages, if you prefer, not sure.<br>
Edit:  I haven't tried this package, this is a speculative idea.</p>

CC BY-SA 4.0
2019-07-23T09:25:44.230Z
2019-07-23T09:33:19.100Z
2019-07-23T09:33:19.100Z
Jay Moore
<p>According to their discription </p>

<blockquote>
  <p>igv-webapp is a pure-client "genome browser" application based igv.js.</p>
</blockquote>

<p>Pure-client, so it will be difficult to let it display tracks that are on the server itself. Perhaps you are looking for something more similar to the <a href="https://genomearchitect.readthedocs.io/en/latest/" rel="nofollow noreferrer">Apollo Genome browser</a>. This, while more difficult to install, allows for the display of server-side data tracks and allows for manual curating of annotations as a nice bonus :)</p>

CC BY-SA 4.0
2019-07-22T14:02:50.597Z
2019-07-22T14:02:50.597Z
Jvstonebridge
<p>obviously I'm late but if this is still an open question open an issue in one of our github projects,<br>
github.com/igvteam/igv (Java desktop), 
github.com/igvteam/igv.js (pure javascript component), 
github.com/igvteam/igv-webapp (html/javascript application, 100% client side)
as appropriate.   </p>

<p>As already mentioned the web igvs are 100% client, data is fetched from servers using range requests.   It scales very well,  as long as your data is indexed.   If you really want to generate server side images a better choice might be the UCSC genome browser which is designed for that.</p>

CC BY-SA 4.0
2020-04-17T04:11:21.827Z
2020-04-17T04:11:21.827Z
Jim Robinson
<p>You can use X11 forwarding to run IGV on the headless server where the data is located and simply forward the GUI to your client machine using the X11 protocol. This is a solution I use consistently for my research when working with 20+ tracks that I want to keep on the server.</p>

<ol>
<li><p>Download and install IGV for linux from the IGV <a href="https://software.broadinstitute.org/software/igv/download" rel="noreferrer">site</a> on to your server. </p></li>
<li><p>Connect to the server using ssh with X11 forwarding enabled</p>

<p><code>ssh -X user@server</code></p></li>
<li><p>Navigate to the recently downloaded and unzipped IGV folder. Execute the igv.sh script.</p>

<p><code>./igv.sh</code></p></li>
</ol>

<p>The script launches the IGV session with 4gb of memory. Edit the script to launch with more, 32gb in this edited excerpt.</p>

<pre><code>exec java -showversion --module-path="<span class="math-container">${prefix}/lib" -Xmx32g \
@"$</span>{prefix}/igv.args" \
-Dapple.laf.useScreenMenuBar=true \
-Djava.net.preferIPv4Stack=true \
--module=org.igv/org.broad.igv.ui.Main "$@"
</code></pre>

CC BY-SA 4.0
2019-07-30T02:55:22.837Z
This will probably work the best in my situation. I'm guessing it won't be so helpful for people who don't use X11 on their local machines, though.
Migwell
CC BY-SA 4.0
2020-04-17T18:46:12.113Z
My setup also required -Y option, ssh -XY user@server
Stuber
CC BY-SA 4.0
2023-08-10T02:35:46.060Z
Also note that this solution need X11 forwarding enabled. Check [this question](https://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-to-run-graphics-applications-remotely) for details.
Su Na
CC BY-SA 4.0
2019-07-23T17:11:59.147Z
2019-07-23T17:11:59.147Z
Kohl Kinning
<p>I have my analysis on a cloud server. The data is quite large, so copying it locally is not really an option. I want to be able to host IGV as a server on that server, so that it can access those files.</p>

<p>I installed IGV web (<a href="https://github.com/igvteam/igv-webapp" rel="nofollow noreferrer">https://github.com/igvteam/igv-webapp</a>) on my server, and ran it, but the Tracks → Local File option opens a file browser on <em>my</em> local machine, it doesn't let me select files on the server.</p>

<p>Is there any easy way to host IGV web on a cloud server?</p>

CC BY-SA 4.0
2019-07-23T04:23:56.590Z
Please add some info. Which cloud platform are you using? A commercial solution or an in-house server? What operating system are you using to access the server?
Kohl Kinning
CC BY-SA 4.0
2019-07-23T05:51:44.753Z
I'm not sure the cloud platform matters. It's just a remote server setup using OpenStack. I'm using Ubuntu both on the server and on my local machine.
Migwell
CC BY-SA 4.0
2019-07-24T16:22:53.720Z
It only matters in the in way that you enable X11 forwarding in my solution below. I suppose the specifics of X11 forwarding on different platforms would be better suited for StackOverflow. My answer outlines how to run IGV on a server and access the GUI using an ssh client.
Kohl Kinning
<sam><igv><cloud>
Hosting IGV web on a server
# Hosting IGV web on a server

(Asked by: username_0 on 2019-07-22)

I have my analysis on a cloud server. The data is quite large, so copying it locally is not really an option. I want to be able to host IGV as a server on that server, so that it can access those files.

I installed IGV web (<https://github.com/igvteam/igv-webapp>) on my server, and ran it, but the Tracks → Local File option opens a file browser on *my* local machine, it doesn't let me select files on the server.

Is there any easy way to host IGV web on a cloud server?

**Tags:** sam, igv, cloud
> **Comments:**
> **username_1**: Please add some info. Which cloud platform are you using? A commercial solution or an in-house server? What operating system are you using to access the server?  
> **username_0**: I'm not sure the cloud platform matters. It's just a remote server setup using OpenStack. I'm using Ubuntu both on the server and on my local machine.  
> **username_1**: It only matters in the in way that you enable X11 forwarding in my solution below. I suppose the specifics of X11 forwarding on different platforms would be better suited for StackOverflow. My answer outlines how to run IGV on a server and access the GUI using an ssh client.  

---

## 4 answers

### Answer by username_1 on 2019-07-23. Score: 7 | Accepted answer

You can use X11 forwarding to run IGV on the headless server where the data is located and simply forward the GUI to your client machine using the X11 protocol. This is a solution I use consistently for my research when working with 20+ tracks that I want to keep on the server.

Download and install IGV for linux from the IGV site on to your server. 
Connect to the server using ssh with X11 forwarding enabled
ssh -X user@server
Navigate to the recently downloaded and unzipped IGV folder. Execute the igv.sh script.
./igv.sh

The script launches the IGV session with 4gb of memory. Edit the script to launch with more, 32gb in this edited excerpt.
exec java -showversion --module-path="${prefix}/lib" -Xmx32g \
@"${prefix}/igv.args" \
-Dapple.laf.useScreenMenuBar=true \
-Djava.net.preferIPv4Stack=true \
--module=org.igv/org.broad.igv.ui.Main "$@"

> **Comments:**
> **username_0**: This will probably work the best in my situation. I'm guessing it won't be so helpful for people who don't use X11 on their local machines, though.  
> **username_5**: My setup also required -Y option, ssh -XY user@server  
> **username_6**: Also note that this solution need X11 forwarding enabled. Check [this question](https://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-to-run-graphics-applications-remotely) for details.  

---

### Answer by username_2 on 2019-07-23. Score: 1

One possibility might be to put the full IGV application on the server, and use the igvR package in R on the server to access the IGV API. You could then use R plotting facilities etc to show your data, accessed via the IGV API. There might be APIs for IGV in other languages, if you prefer, not sure.  
Edit: I haven't tried this package, this is a speculative idea.


---

### Answer by username_3 on 2019-07-22. Score: 1

According to their discription

> igv-webapp is a pure-client "genome browser" application based igv.js.

Pure-client, so it will be difficult to let it display tracks that are on the server itself. Perhaps you are looking for something more similar to the [Apollo Genome browser](https://genomearchitect.readthedocs.io/en/latest/). This, while more difficult to install, allows for the display of server-side data tracks and allows for manual curating of annotations as a nice bonus :)


---

### Answer by username_4 on 2020-04-17. Score: 1

obviously I'm late but if this is still an open question open an issue in one of our github projects,  
github.com/igvteam/igv (Java desktop),
github.com/igvteam/igv.js (pure javascript component),
github.com/igvteam/igv-webapp (html/javascript application, 100% client side)
as appropriate.

As already mentioned the web igvs are 100% client, data is fetched from servers using range requests. It scales very well, as long as your data is indexed. If you really want to generate server side images a better choice might be the UCSC genome browser which is designed for that.


---

