[galaxy-dev] Display BAM with IGV

Nate Coraor nate at bx.psu.edu
Mon Aug 29 14:50:14 EDT 2011


Iry Witham wrote:
> Hi Nate,
> 
>     I have been able to get this to work on a Mac and Windows XP within
> limited guide lines.  The following are what I had to do to make it work:
> 
> My Mac is now running Java 1.6.0_26, Firefox 3.6.20, Google Crome
> ver.13.0.782.215 and Safari 5.1 (6534.50).  In addition I have installed Max
> OS 10.6.8 Supplemental Update 1.0.  My PC is running Windows XP SP3 with
> Java 1.6.0_26, Firefox 3.6.20 and IE8.  Windows updates are at current
> levels.  I have not tested this on Windows 7.
> 
> I am currently able to run the IGV-web tool from Galaxy via Firefox, Crome
> and Safari on the Mac and IE8 only on Windows.  When I use either Firefox or
> Crome on Windows I get the following error.
> 
> 
> ERROR [2011-08-24 09:22:40,169]  [TrackLoader.java:211]
> [SwingWorker-pool-20352093-thread-1]  java.lang.RuntimeException:
> java.lang.RuntimeException: Error loading file:
> http://galaxy/display_application/afa21414c9c9e7eb/igv_bam/web/8e5efb082c908
> 0aa/data/galaxy_afa21414c9c9e7eb.bam NULL content-length
> 
> ERROR [2011-08-24 09:22:40,169]  [TrackManager.java:245]
> [SwingWorker-pool-20352093-thread-1]  Error loading tracks
> 
> org.broad.igv.exceptions.DataLoadException: <html>An error occurred while
> loading:    
> http://galaxy/display_application/afa21414c9c9e7eb/igv_bam/web/8e5efb082c908
> 0aa/data/galaxy_afa21414c9c9e7eb.bam<br>java.lang.RuntimeException: Error
> loading file: 
> http://galaxy/display_application/afa21414c9c9e7eb/igv_bam/web/8e5efb082c908
> 0aa/data/galaxy_afa21414c9c9e7eb.bam NULL content-length
> 
>     at org.broad.igv.track.TrackLoader.load(TrackLoader.java:212)
> 
>     at org.broad.igv.track.TrackManager.load(TrackManager.java:271)
> 
>     at org.broad.igv.track.TrackManager.loadResources(TrackManager.java:241)
> 
>     at 
> org.broad.igv.ui.IGVMainFrame$StartupWorker.doInBackground(IGVMainFrame.java
> :2775)
> 
>     at com.jidesoft.utils.SwingWorker$1.call(Unknown Source)
> 
>     at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> 
>     at java.util.concurrent.FutureTask.run(Unknown Source)
> 
>     at com.jidesoft.utils.SwingWorker.run(Unknown Source)
> 
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> Source)
> 
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> 
>     at java.lang.Thread.run(Unknown Source)
> 
>     This error appears to be different from the original, at least in
> details though the results are the same.  I am also going to post this with
> IGV support.

Hi Iry,

If you get anything back from the IGV folks please post a followup.
Since IGV runs in the local JVM, that it works with one browser and not
another on the same system doesn't make a lot of sense.

--nate

> 
> Thanks,
> Iry
> 
> 
> On 8/15/11 2:46 PM, "Nate Coraor" <nate at bx.psu.edu> wrote:
> 
> > Iry Witham wrote:
> >> Hi Nate,
> >> 
> >>     I have checked the nginx.conf file and they comply to the documentation:
> >> 
> >>  #  added to allow nginx to handle file downloads
> >>         location /_x_accel_redirect/ {
> >>             internal;
> >>             alias /;
> >> 
> >>     I have also confirmed that the universe_wsgi.ini file contains the
> >> following:
> >> 
> >> And the following to the [app:main] section of universe_wsgi.ini:
> >> nginx_x_accel_redirect_base = /_x_accel_redirect
> >> 
> >> Iry
> > 
> > This will need some in-depth debugging, then.
> > 
> > If you access Galaxy directly via the port of its built-in web server
> > (by default, 8080), and request to display a dataset, does it set the
> > X-Accel-Redirect header in the response?
> > 
> > If you access the same dataset via the nginx address but rename the
> > underlying disk file, do you get an error message from nginx or from
> > Galaxy?
> > 
> > --nate
> > 
> >> 
> >> On 8/15/11 10:46 AM, "Nate Coraor" <nate at bx.psu.edu> wrote:
> >> 
> >>> Iry Witham wrote:
> >>>> Hi Everyone,
> >>>> 
> >>>>     I have been tasked with getting the IGV working within our Galaxy
> >>>> instance.  I have modified our Nginx configuration based on the more
> >>>> advanced
> >>>> configuration under "Sending files using nginx" on the nginxProxy page in
> >>>> the
> >>>> wiki.  The IGV viewer component in Galaxy does not display the results from
> >>>> a
> >>>> BAM file in either the web or local instance of IGV.  I have tested with
> >>>> IGV1.5 and with version 2.03.  Neither produce a visual representation of
> >>>> the
> >>>> sequence. When attempting to use the web option we get the same error
> >>>> provided in the original post as noted below.  Has anyone gotten this to
> >>>> work
> >>>> with Nginx-0.8.53 or any of the newer versions?
> >>> 
> >>> Hi Iry,
> >>> 
> >>> Have you checked to make sure that your nginx server is serving the file
> >>> for download, as opposed to the internal Galaxy web server?  In the
> >>> original email, it looked like nginx was being bypassed entirely (due to
> >>> serving on port 8080 - Galaxy's intenal server's default port).  But
> >>> even once nginx is in use, it's necessary to set up X-Accel-Redirect to
> >>> serve datasets.  See the instructions here:
> >>> 
> >>>     http://usegalaxy.org/production
> >>> 
> >>> --nate
> >>> 
> >>>> 
> >>>> Thanks,
> >>>> 
> >>>> Iry Witham
> >>>> Applications Administrator
> >>>> Scientific Computing Group
> >>>> Computational Sciences Dept.
> >>>> The Jackson Laboratory
> >>>> 600 Main Street
> >>>> Bar Harbor, ME  04609
> >>>> Phone: 207-288-6744
> >>>> email: iry.witham at jax.org
> >>>> 
> >>>> 
> >>>> 
> >>>> 
> >>>> 
> >>>> On Apr 27, 2011; 10:06am
> >>>> ³Hello all,
> >>>> I just updated our local copy of Galaxy and just wanted to try the new IGV
> >>>> display application.
> >>>> When I try to display a BAM file with the local IGV or the web IGV I
> >>>> encounter following error complaining about the Null content-length.
> >>>> Has any of you encountered the same problem? Do I miss something?
> >>>> Thanks in advance
> >>>> 
> >>>> Alex
> >>>> 
> >>>> 
> >>>> INFO [2011-04-27 16:00:14,440]  [TrackManager.java:225] [Thread-6]
> >>>> Loading1
> >>>> resources.
> >>>> ERROR [2011-04-27 16:00:14,589]  [SeekableHTTPStream.java:59] [Thread-6]
> >>>> Null content-length for:
> >>>> http://localhost:8080/display_application/a1f8a55a946ee078/igv_bam/local/45
> >>>> 4e
> >>>> df2520b73a7e/data/galaxy_a1f8a55a946ee078.bam
> >>>> ERROR [2011-04-27 16:00:14,590]  [TrackLoader.java:821] [Thread-6]  Error
> >>>> loading sam track
> >>>> java.lang.RuntimeException: Error loading file:
> >>>> http://localhost:8080/display_application/a1f8a55a946ee078/igv_bam/local/45
> >>>> 4e
> >>>> df2520b73a7e/data/galaxy_a1f8a55a946ee078.bam NULL content-length
> >>>>     at 
> >>>> org.broad.igv.util.SeekableHTTPStream.<init>(SeekableHTTPStream.java:60)
> >>>>     at 
> >>>> org.broad.igv.util.SeekableStreamFactory.getStreamFor(SeekableStreamFactory
> >>>> .j
> >>>> ava:42)
> >>>>     at 
> >>>> org.broad.igv.sam.reader.BAMHttpQueryReader.loadHeader(BAMHttpQueryReader.j
> >>>> av
> >>>> a:129)
> >>>>     at 
> >>>> org.broad.igv.sam.reader.BAMHttpQueryReader.getHeader(BAMHttpQueryReader.ja
> >>>> va
> >>>> :70)
> >>>>     at 
> >>>> org.broad.igv.sam.reader.BAMHttpQueryReader.getSequenceNames(BAMHttpQueryRe
> >>>> ad
> >>>> er.java:80)
> >>>>     at 
> >>>> org.broad.igv.sam.reader.CachingQueryReader.getSequenceNames(CachingQueryRe
> >>>> ad
> >>>> er.java:97)
> >>>>     at 
> >>>> org.broad.igv.sam.AlignmentDataManager.initChrMap(AlignmentDataManager.java
> >>>> :7
> >>>> 5)
> >>>>     at 
> >>>> org.broad.igv.sam.AlignmentDataManager.<init>(AlignmentDataManager.java:69)
> >>>>     at 
> >>>> org.broad.igv.sam.AlignmentDataManager.getDataManager(AlignmentDataManager.
> >>>> ja
> >>>> va:54)
> >>>>     at 
> >>>> org.broad.igv.track.TrackLoader.loadAlignmentsTrack(TrackLoader.java:761)
> >>>>     at org.broad.igv.track.TrackLoader.load(TrackLoader.java:143)
> >>>>     at org.broad.igv.track.TrackManager.load(TrackManager.java:271)
> >>>>     at 
> >>>> org.broad.igv.track.TrackManager.loadResources(TrackManager.java:241)
> >>>>     at 
> >>>> org.broad.igv.main.CommandExecutor.loadFiles(CommandExecutor.java:282)
> >>>>     at org.broad.igv.main.CommandExecutor.hget(CommandExecutor.java:148)
> >>>>     at org.broad.igv.main.CommandExecutor.execute(CommandExecutor.java:88)
> >>>>     at 
> >>>> org.broad.igv.main.CommandListener.processGet(CommandListener.java:193)
> >>>>     at org.broad.igv.main.CommandListener.run(CommandListener.java:93)
> >>>>     at java.lang.Thread.run(Thread.java:636)
> >>>> ERROR [2011-04-27 16:00:14,592]  [TrackLoader.java:211] [Thread-6]
> >>>> java.lang.RuntimeException: java.lang.RuntimeException: Error loading file:
> >>>> http://localhost:8080/display_application/a1f8a55a946ee078/igv_bam/local/45
> >>>> 4e
> >>>> df2520b73a7e/data/galaxy_a1f8a55a946ee078.bam NULL content-length²
> >>>> 
> >>>> 
> >>>> On Apr 27, 2011; 12:33pm
> >>>> ³Hi Alex,
> >>>> 
> >>>> Displaying BAM files at external applications usually requires an http
> >>>> server
> >>>> that supports partial gets. Unfortunately, the current lightweight http
> >>>> server that is built into Galaxy does not support these advanced http
> >>>> options.  However, this limitation can be overcome by using a proxy server
> >>>> that is able to handle http1.1 requests. Please see "Using a Proxy server"
> >>>> at
> >>>> https://bitbucket.org/galaxy/galaxy-central/wiki/Config/ProductionServer
> >>>> for
> >>>> help on setting this up.
> >>>> 
> >>>> Thanks for using Galaxy,
> >>>> 
> >>>> Dan²
> >>>> 
> >>>> On Apr 27, 2011; 9:07pm
> >>>> ³I¹m getting this same error and I¹m running nginx as a proxy server.  Is
> >>>> there a specfic parameter we should be aware of to allow partial gets?  I
> >>>> don¹t see anything in the wiki page for setting up the ProductionServer.
> >>>> 
> >>>> Thanks,
> >>>> 
> >>>> Dave²
> >>>> 
> >>>> On May 04, 2011; 7:47am
> >>>> ³Could someone who has successfully gotten the IGV tool to work using NGINX
> >>>> as your proxy, tell me if there was anything specific they needed to do
> >>>> with
> >>>> their NGINX or galaxy config to get it working?
> >>>> 
> >>>> Thanks,
> >>>> 
> >>>> Dave²
> >>>> 
> >>>> On May 09, 2011; 2:52pm
> >>>> ³It's necessary to set up the more advanced configuration under "Sending
> >>>> files using nginx" on the nginxProxy page in the wiki.  Could you let us
> >>>> know whether you're using that configuration or just a basic
> >>>> pass-through proxy?
> >>>> 
> >>>> Thanks,
> >>>> --nate²
> >>> 
> >>>> ___________________________________________________________
> >>>> Please keep all replies on the list by using "reply all"
> >>>> in your mail client.  To manage your subscriptions to this
> >>>> and other Galaxy lists, please use the interface at:
> >>>> 
> >>>>   http://lists.bx.psu.edu/
> >>> 
> >> 
> >> 
> 
> 


More information about the galaxy-dev mailing list