Hello,
I have recently updated our Galaxy dist and I'm running into problems viewing BAM files in IGV (v2.0.22), saying: Invalid GZIP header.
I have configured the Apache as explained in the Wiki using this
http.conf:
------------------------------------------------------------------------------------------------------------------------------------
<VirtualHost *:80>
ServerName 127.0.0.1
RewriteEngine on
RewriteRule ^/galaxy$ /galaxy/ [R]
RewriteRule ^/galaxy/static/style/(.*) /opt/galaxy/static/june_2007_style/blue/$1 [L]
RewriteRule ^/galaxy/static/scripts/(.*) /opt/galaxy/static/scripts/packed/$1 [L]
RewriteRule ^/galaxy/static/(.*) /opt/galaxy/static/$1 [L]
RewriteRule ^/galaxy/favicon.ico /opt/galaxy/static/favicon.ico [L]
RewriteRule ^/galaxy/robots.txt /opt/galaxy/static/robots.txt [L]
RewriteRule ^/galaxy(.*) http://localhost:8081$1 [P]
<Proxy
http://localhost:8081>
Order deny,allow
Allow from all
</Proxy>
<Location "/galaxy">
# Define the authentication method
XSendFile on
XSendFilePath /
# Compress all uncompressed content.http.conf
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:t?gz|zip|bz2)$ no-gzip dont-vary
</Location>
<Directory "/galaxy/static">
ExpiresActive On
ExpiresDefault "access plus 6 hours"
</Directory>
</VirtualHost>
----------------------------------------------------------------------------------------------------------------------------------------
By having this parts changed in
universe_wsgi.ini:
----------------------------------------------------------------------------------------------------------------------------------------
[server:main]
use = egg:Paste#http
port = 8081
host = 0.0.0.0
use_threadpool = True
[filter:gzip]
use = egg:Paste#gzip
[filter:proxy-prefix]
use = egg:PasteDeploy#prefix
prefix = /galaxy
[app:main]
paste.app_factory = galaxy.web.buildapp:app_factory
filter-with = proxy-prefix
cookie_path = /galaxy
apache_xsendfile = True
upstream_gzip = False
----------------------------------------------------------------------------------------------------------------------------------------
The resulting
Galaxy error log is:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
galaxy.web.framework DEBUG 2011-12-09 12:32:08,825 Error: this request returned None from get_history():
http://10.153.182.203/galaxy/root10.163.241.110 - - [09/Dec/2011:12:32:08 +0200] "GET /galaxy/root?app_action=data&user_id=c9a3f3a19e75965d&app_name=igv_bam&link_name=local_default&action_param=galaxy_9b0f702d0207cd78.bam.bai&dataset_id=9b0f702d0207cd78 HTTP/1.1" 200 - "-" "IGV Version 2.0.22 (1360)11/29/2011 02:24 PM Java/1.6.0_22"
10.163.241.110 - - [09/Dec/2011:12:32:08 +0200] "HEAD /galaxy/display_application/9b0f702d0207cd78/igv_bam/local_default/c9a3f3a19e75965d/data/galaxy_9b0f702d0207cd78.bam HTTP/1.1" 302 - "-" "IGV Version 2.0.22 (1360)11/29/2011 02:24 PM Java/1.6.0_22"
galaxy.web.framework DEBUG 2011-12-09 12:32:08,915 Error: this request returned None from get_history():
http://10.153.182.203/galaxy/root10.163.241.110 - - [09/Dec/2011:12:32:08 +0200] "HEAD /galaxy/root?app_action=data&user_id=c9a3f3a19e75965d&app_name=igv_bam&link_name=local_default&action_param=galaxy_9b0f702d0207cd78.bam&dataset_id=9b0f702d0207cd78 HTTP/1.1" 200 - "-" "IGV Version 2.0.22 (1360)11/29/2011 02:24 PM Java/1.6.0_22"
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 52683)
Traceback (most recent call last):
File "/opt/galaxy/eggs/Paste-1.6-py2.6.egg/paste/httpserver.py", line 1053, in process_request_in_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.6/SocketServer.py", line 322, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.6/SocketServer.py", line 618, in __init__
self.finish()
File "/usr/lib/python2.6/SocketServer.py", line 661, in finish
self.wfile.flush()
File "/usr/lib/python2.6/socket.py", line 297, in flush
self._sock.sendall(buffer(data, write_offset, buffer_size))
error: [Errno 32] Broken pipe
----------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Thanks in advance for your help
Alex