Jbrowse failing to install

Hello,
Looking for anyone that was successful in installing the Jbrowse package from the Galaxy Tool-shed? I have been trying to install the package with no success. This is a local install of Galaxy 22.05 on Ubuntu server 22.04 with Nginx proxy to the Galaxy server.

When clicking the install button it gets stuck on “Installing tool dependencies”. Installing version 44.
The system shows no errors and I can see the install process taking up 100% of one core and eating up to 45GB of memory and then dropping down to around 15-18GB of memory being used.
I have tried running the install command on the command line and it gets stuck on “working to solve environment”.
I have checked to Jbrowse website and have the required dependencies installed. At wits end here, looking for anyone that has been able to get Jbrowse installed and working.

Checking the “Manage Dependencies” see the pic on what it shows. All dependencies are installed.

Thanks…

Update. left the install of Jbrowse running since Friday. Today Sunday evening, it looks to have installed. All green check marks now under Manage Dependencies. Yea! However, Running through the JBrowse tutorial here:

I get the following error when trying to view the output.

JBrowse window.onerror=function(msg){ if( document.body ) document.body.setAttribute(“JSError”,msg); } if(window.process&&process.versions&&process.versions.electron) { window.electronRequire = require; delete window.require; } html, body, div.jbrowse { margin: 0; padding: 0; height: 100%; width: 100%; }

Any one have suggestions here?

Update on this. I figured out that you need to go to the admin page and "Manage Allow’ and make sure to render HTML for JBrowse. This got rid of that error. Or you can also change the following line in the galaxy.yml file below:

sanitize_all_html: false

However, It is not displaying the data from the tutorial. I’m now getting an HTML 500 error:

uvicorn.access INFO 2023-06-30 09:42:49,389 [pN:main.5,p:26591,tN:MainThread] 10.214.120.171:0 - “GET /datasets/4b187121143038ff/display/data/raw/5890230b44f61bc6c41f16b8957e3646_0.gff.gz HTTP/1.0” 500

That path listed doesn’t exist on my Galaxy server. The question is, where is JBrowse getting that path?

Hi – if you still need help, could you explain a bit more about this part? Do you mean data generated within the environment does not display, or data after exported from the environment into a history as a dataset does not display, … or ??

If you could link back in the exact step that is failing with that context, and maybe a screenshot, we can try to help more. And, if you can replicate this behavior (or not) at a public Galaxy server that would also help. UseGalaxy.EU would be best for this test, with a shared history link back along with a paired screenshot.

Yes, the AllowList gets everyone at least once! Glad you found that.

I think that path is from the JBrowse environment. I don’t know this well enough to know which environment variable is used. And it seems odd of that is for a dataset within the history, exported out of an environment local to your server. I thought that gx_put() was a hard transfer, not a symlink but could be wrong.

Try explaining a bit more and we can bring in people who know more details :slight_smile:

Jennaj,
Thank you for your reply. First, I’m not a Galaxy user but the admin trying to install this for faculty that want to use the tool in their classroom instruction. From the JBrowse tutorial, I’m doing the first part “Simple Gene Tracks” right after the data files you need to upload to the server. Attaching the screenshot here.


After hitting the “Run Tool” button, this is what I"m getting:

Let me know if you need any more information. This is on Galaxy version 23.5.

1 Like

Thanks @cjkeist for the extra information, definitely helps.

The most current stable release of Galaxy is 23.0.

The upcoming release will be 23.1 … but that is still undergoing testing and should be avoided until finalized.

Please double check which you have installed. Maybe that was a typo? I’m guessing you have 22.5 installed? I don’t see any open tickets specific to your error profile, but may have missed something.

And, let’s ask for help from one of the primary developers working on this IE. ping @hexylena

Correct, type-0. The latest version I tried is 23.2. I try 23.0 and see if anything changes.

@hexylena , Jennaj,
I installed Galaxy 23.0.4 now. But still running into the same issue with JBrowser. It looks for data in the same path that doesn’t exist on the server.

Hi @cjkeist

Let’s loop back a bit to make sure we are in the same place.

  • Galaxy release Release v23.0.4 · galaxyproject/galaxy · GitHub
  • Not sure what version of the JBrowse wrapper… I’m testing with toolshed.g2.bx.psu.edu/repos/iuc/jbrowse/jbrowse/1.16.11+galaxy1
  • Whichever version you are running, it has been added to the AllowList (required for any HTML display).
  • Had a problem with data.N.gz compressed files but that is now resolved … either by uncompressing the data, or by adding the tool_id to the AllowList via GUI or manually.
  • Btw – Galaxy itself does not support data.gtf.gz or data.gff3.gz at all. Those datatypes uncompress when using auto-detect datatype during Upload (recommended).

Here is how it is working at ORG



Thanks for checking. If the AllowList change does not help, make sure you are checking the correct dataset path. That would be the path to the JBrowse dataset artifact in the history. The two input datasets from the history were already consumed when used in this mode.

I tried to set my job up just like yours – and the details look the “same” to me. Do you notice anything different?

Thanks for the images. But still not seeing what is the issue with my system. Attaching screenshots of the tools installed and the version of JBrowser. Along with the info on the JBrowse run. See if anything here helps.






1 Like

What happens if:

  • don’t use any of the advanced features
  • just input those two files (fasta and gff3)

A screenshot of the gff3 dataset in the history, expanded to show the metadata might also help.

As another guess, I’m not sure why the Tool ID listing of HMTL Rendered area doesn’t have the full tool_id string (for any app). Seems the version part is missing? Compare to…

Jennaj,
I’m not a Galaxy user, could you explain how to not use any of the advanced features? Also, How do I use just the Fasta and gff3 file in Jbrowse? Is the genome.fa the Fasta file? Or do I just delete all the other files in the history except for those two?

I’d be happy to set a time to do a screen share if that could help.

Hi @cjkeist

You can import that shared history, then use the rerun icon to bring up the job form. It will show exactly how I set the JBrowse job up at the ORG server (selecting just those two files from the history). Then, try to do the same at yours to see what happens.

That test is just to get an idea about the scope of the problem. Some ways of launching the application involve more functions than others. The test would be the simplest way.

Jennaj,
When I go to the rerun icon, there is no way for me to import just the two files that I can see.

Hi @cjkeist

Try starting over with a new job. The rerun icon brings up the prior tool form, and this tool is a bit special since it is starting up a separate application based on initial runtime conditions.

My example is directly from the tutorial, so just follow those instructions to create the same conditions. Then, when your rerun and my rerun “look the same” (in the job details, and the rerun form), then we have exact tests in two different server environments :slight_smile:

ps: I still think that the list view of your tools under AllowList are odd. The HTML sanitizing function is based on exact tool versions, so that may be where at least some of the display problems are coming from.

@cjkeist this can also be if you’re not using a proper webserver. JBrowse requires ‘range requests’, so it will not work if you’re doing run.sh, instead if needs nginx or apache2 ahead of it. I don’t see either of those with your posts so just wanted to check that that wasn’t the case.

Hi @hexylena,
I am using Nginx as the proxy. The config is below:

server {

listen 443 ssl;

server_name galaxy-a.dri.oregonstate.edu;

set $galaxy_root /srv/galaxy/galaxy;
# Enable HSTS
add_header Strict-Transport-Security "max-age=15552000; includeSubdomains";

location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Upgrade $http_upgrade;
    proxy_pass http://unix:/srv/galaxy/galaxy/tmp/gunicorn.sock;
}

# serve framework static content
location /static {
    alias $galaxy_root/static;
    expires 24h;
}
location /robots.txt {
    alias $galaxy_root/static/robots.txt;
    expires 24h;
}
location /favicon.ico {
    alias $galaxy_root/static/favicon.ico;
    expires 24h;
}

location /_x_accel_redirect/ {
    internal;
    alias /;
}

# serve visualization and plugin static content
location ~ ^/plugins/(?<plug_type>.+?)/(?<vis_name>.+?)/static/(?<static_file>.*?)$ {
    alias $galaxy_root/config/plugins/$plug_type/$vis_name/static/$static_file;
    expires 24;
}
ssl_certificate /etc/pki/tls/certs/server.crt;
ssl_certificate_key /etc/pki/tls/private/server.key;
ssl_protocols TLSv1.2 TLSv1.3;

ssl_stapling on;
ssl_stapling_verify on;
# use secure ciphers
ssl_ciphers
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE

-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AE
S128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES
256-GCM-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256;
ssl_prefer_server_ciphers on;

# enable session reuse
ssl_session_cache shared:SSL:8m;
ssl_session_timeout 5m;

}

@jennaj ,
I tried rerun but the same issue occurs.