igvteam / igv.js

Embeddable genomic visualization component based on the Integrative Genomics Viewer
MIT License
643 stars 230 forks source link

How do you pass parameters to igv.jar via JNLP? #457

Closed IDispose closed 7 years ago

IDispose commented 7 years ago

The IGV_lm.jnlp file loads the IGV Browser as designed. I am trying to pass the bam file and the locus as parameters via the argument node of the application-desc node. The Browser does not load the specified BAM file

Tried

\server\path\to\bam\mybamfile.bam URL Encoding the above http://server/getbafile <- A rest api in my web app that streams the BAM file (URL Encoded)

Nothing seems to work. JNLP documentation states it is possible to pass arguments to the main class.

What am I missing? Is it not possible to pass the parameters when using Java Web Start?

jrobinso commented 7 years ago

Yes, you can pass arguments in JNLP XML. See the JNLP documentation. You will of course have to generate the JNLP file (XML).

If this isn't working please attach your JNLP file.

On Mon, Oct 30, 2017 at 12:04 PM, IDispose notifications@github.com wrote:

The IGV_lm.jnlp file loads the IGV Browser as designed. I am trying to pass the bam file and the locus as parameters via the argument node of the application-desc node. The Browser does not load the specified BAM file

Tried

\server\path\to\bam\mybamfile.bam URL Encoding the above http://server/getbafile <- A rest api in my web app that streams the BAM file (URL Encoded)

Nothing seems to work. JNLP documentation states it is possible to pass arguments to the main class.

What am I missing? Is it not possible to pass the parameters when using Java Web Start?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/igvteam/igv.js/issues/457, or mute the thread https://github.com/notifications/unsubscribe-auth/AA49HNAkCN_ta0WtX_mxDBQIXH0jrSoTks5sxh3LgaJpZM4QLsjX .

IDispose commented 7 years ago

I realized I posted the issue to the wrong repo. But since I got a response quickly, I am posting the follow-up here. Let me know if I need to move the issue to the correct repo.

Here is my JNLP

<?xml version="1.0" encoding="utf-8"?>
<jnlp
  spec="6.0+"
  codebase="https://data.broadinstitute.org/igv/projects/current"
  href="https://data.broadinstitute.org/igv/projects/current/igv_lm.jnlp">
  <information>
    <title>IGV 2.3</title>
    <vendor>The Broad Institute</vendor>
    <homepage href="http://www.broadinstitute.org/igv"/>
    <description>IGV Software</description>
    <description kind="short">IGV</description>
    <icon href="IGV_64.gif"/>
    <icon kind="splash" href="IGV_64.gif"/>
    <offline-allowed/>
    <shortcut online="true">
      <desktop/>
      <menu submenu="IGV"/>
    </shortcut>
  </information>
  <security>
      <all-permissions/>
  </security>
  <update check="always"/>
  <resources>
    <java version="1.6+"
          initial-heap-size="256m" 
          max-heap-size="1800m"/>
    <jar href="igv.jar" download="eager" main="true"/>
    <jar href="batik-codec__V1.7.jar" download="eager"/>
    <jar href="goby-io-igv__V1.0.jar" download="eager"/> 
    <property name="java.net.preferIPv4Stack" value="true"/>     
    <property name="apple.laf.useScreenMenuBar" value="true"/>
    <property name="com.apple.mrj.application.growbox.intrudes" value="false"/>
    <property name="com.apple.mrj.application.live-resize" value="true"/>
    <property name="com.apple.macos.smallTabs" value="true"/>    
    <property name="http.agent" value="IGV"/>
    <property name="development" value="false"/>
  </resources>
  <application-desc main-class="org.broad.igv.ui.Main">
    <argument>https%3A%2F%2FMY_SERVER%2FMY_WEB_APP%2Fapi%2FGetBAMFile%2FBAM_FILE_NAME</argument>
  </application-desc>
</jnlp>

I have also tried

<argument>\\MY_SERVER\MY_NETWORK_SHARE\FOLDER\BAM_FILE_NAME.bam</argument> URL Encoded the above as well.

Confirmed that https://MY_SERVER/MY_WEB_APP/api/GetBAMFile/BAM_FILE_NAME returns the BAM file.

When I click the Anchor tag that references the JNLP, I get a prompt (from IE) asking for permission to run the file. Java Web Start splash screens popup along with a cert error (this is a self signed cert). IGV loads but the bam file for not load. Checked the log and trace files for JWS but no error messages that point to why the BAM file wasnt loaded.

IDispose commented 7 years ago

Moved question to IGV repo.