Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-23T09:25:44.230Z
Answers.LastActivityDate: 2019-07-23T09:33:19.100Z
Answers.LastEditDate: 2019-07-23T09:33:19.100Z
Answers.UserDisplayName: Jay Moore
Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-22T14:02:50.597Z
Answers.LastActivityDate: 2019-07-22T14:02:50.597Z
Answers.UserDisplayName: Jvstonebridge
Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-04-17T04:11:21.827Z
Answers.LastActivityDate: 2020-04-17T04:11:21.827Z
Answers.UserDisplayName: Jim Robinson
Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-30T02:55:22.837Z
Answers.Text: 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.
Answers.UserDisplayName: Migwell
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-04-17T18:46:12.113Z
Answers.Text: My setup also required -Y option, ssh -XY user@server
Answers.UserDisplayName: Stuber
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-10T02:35:46.060Z
Answers.Text: 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.
Answers.UserDisplayName: Su Na
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-23T17:11:59.147Z
Answers.LastActivityDate: 2019-07-23T17:11:59.147Z
Answers.UserDisplayName: Kohl Kinning
Body: <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>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-07-23T04:23:56.590Z
Comments.Text: 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?
Comments.UserDisplayName: Kohl Kinning
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-07-23T05:51:44.753Z
Comments.Text: 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.
Comments.UserDisplayName: Migwell
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-07-24T16:22:53.720Z
Comments.Text: 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.
Comments.UserDisplayName: Kohl Kinning
Tags: <sam><igv><cloud>
Title: Hosting IGV web on a server
ThreadText: # 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.
  
  1. Download and install IGV for linux from the IGV [site](https://software.broadinstitute.org/software/igv/download) on to your server.
  2. Connect to the server using ssh with X11 forwarding enabled
  
     `ssh -X user@server`
  3. 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.
  
  
  ---
  
  