lmb-embrapa / machado

This repository provides users with a framework to store, search and visualize biological data.
GNU General Public License v3.0
26 stars 15 forks source link

jbrowser path and reference files #356

Closed Aciole-David closed 1 year ago

Aciole-David commented 1 year ago

Setup

Python version: 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] Operating system: CPython Linux-5.15.0-70-generic-x86_64-with-glibc2.35

Expected behaviour

Jbrowser shows tracks

Actual behaviour

Error message(s): Could not load reference sequence definitions. RequestError: Unable to load http://localhost:8000/machadosample/api/jbrowse/refSeqs.json?soType=chromosome&organism=Arabidopsis%20thaliana status: 0.

Hello, I followed Readthedocs instructions about making jbrowser show tracks but it gave me the error above.

I do not know exactly what should be the path in baseUrl": "http://localhost/YOURPROJECT/api/jbrowse"

What exactly should be put in the baseUrl and the other fields?

Thank you all

azneto commented 1 year ago

What happens when you go to the following URL? http://localhost:8000/machadosample/api/jbrowse/refSeqs.json?soType=chromosome&organism=Arabidopsis%20thaliana

Here's an example of what should be shown: https://www.machado.cnptia.embrapa.br/demo_machado/api/jbrowse/refSeqs.json?soType=chromosome&organism=Arabidopsis%20thaliana

Here's the trackList.json file as an example: https://www.machado.cnptia.embrapa.br/jbrowse_demo/data/Arabidopsis thaliana/trackList.json

Aciole-David commented 1 year ago

Hi,

What happens when you go to the following URL? http://localhost:8000/machadosample/api/jbrowse/refSeqs.json?soType=chromosome&organism=Arabidopsis%20thaliana

image

Should the baseUrl path be /machadosample/api/jbrowse/ ? /api/jbrowse/ will point to the tracks data inside /var/www/html/jbrowse/data/Arabidopsis thaliana ?

Also, will this work if I create the tracks file with jbrowser's flatfile-to-json.pl ?

Thanks again!

azneto commented 1 year ago

The baseURL path must point to the API URL of your instance: http://localhost:8000/machadosample/api/jbrowse The Machado API will stream data directly to JBrowse.

You can also add additional tracks that point to files, though I haven't tried flatfile-to-json.pl Here's an example: https://machado.readthedocs.io/en/latest/jbrowse.html#use-reference-from-fasta-file-optional

Aciole-David commented 1 year ago

Did you spot any problem based on the screenshot I've sent?

Aciole-David commented 1 year ago

You can also add additional tracks that point to files, though I haven't tried flatfile-to-json.pl

So there's no evidence of jbrowser working in machado except for species which track data already exist?

azneto commented 1 year ago

Did you spot any problem based on the screenshot I've sent?

I haven't spot any issues.

So there's no evidence of jbrowser working in machado except for species which track data already exist?

You should be able to open your installation of JBrowse and visualize the data you've loaded. There's also a test dataset to browse. Examples:

jbrowse demo: https://www.machado.cnptia.embrapa.br/jbrowse_demo/?data=data%2FArabidopsis%20thaliana volvox test: https://www.machado.cnptia.embrapa.br/jbrowse_demo/?data=sample_data%2Fjson%2Fvolvox

Aciole-David commented 1 year ago

Indeed, I can see the volvox tracks since the first installation of jbrowser, but still nothing happens with my custom files.

Is it mandatory that the track files be located in both /machado-docker/data/jbdata/Arabidopsis thaliana/trackList.json and /var/www/html/jbrowse/data/Arabidopsis thaliana/trackList.json ?

Aciole-David commented 1 year ago

I restarted everything and followed the step-by-step from JBrowse Quick-Start Tutorial,

Now I can see my tracks and the features! image

But no tracks shown in the main pages: image

Aciole-David commented 1 year ago

I'm using the docker version, if that helps

azneto commented 1 year ago

Since you're using machado-docker, everything is contained in the machado-docker directory. You just need to have the /machado-docker/data/jbdata/Arabidopsis thaliana/trackList.json file.

The jbrowse contained in the machado-docker is already configured with the correct baseURL to open the data that is loaded to the database and doesn't require any changes.

You don't need to install jbrowse outside the container. It seems like there might be a problem with the jbrowse installation during the images/container instantiation.

I've just run the commands from the machado-docker repository and noticed there's a problem with the data directories permissions. Here are the docker log lines:

machado_container | mkdir: cannot create directory ‘/var/www/html/jbrowse/data/Arabidopsis thaliana’: Permission denied
machado_container | cp: cannot create regular file '/var/www/html/jbrowse/data/Arabidopsis thaliana/trackList.json': No such file or directory

The documentation for machado-docker was just fixed and here is the test result after running bash load_machadosample.sh

Screenshot from 2023-04-26 16-13-02

This issue does not belong here and will be closed. Please, use the machado-docker repository for inquiries related to docker issues.

Aciole-David commented 1 year ago

Thank you very much! This really makes sense now. I'm gonna rebuild everything and test.

Cheers!