GMOD / docker-apollo

:whale: Apollo 2.X Docker Image
GNU General Public License v3.0
10 stars 12 forks source link

User created annotations #26

Closed tomdolafi closed 6 years ago

tomdolafi commented 6 years ago

Hi,

I have an Ubuntu VM with Docker-CE. I start the Apollo 2.0.6 container as shown in the Readme. All seems fine, but there are no user created annotations unlike the demo site (http://apollo.berkeleybop.io/Apollo2/annotator/index). I also get this error repeatedly in the logs...

ERROR apollo.AnnotatorController - User does not have permissions for the site

Any suggestions?

Thanks, Tom

nathandunn commented 6 years ago

I updated the documentation for clarity (https://github.com/GMOD/docker-apollo/blob/master/README.md). I would:

Note that if you want to check if its working you can use any command. If you want a persistent database and data you’ll need to mount some volumes as shown under the examples for “production”.

Nathan

On Dec 19, 2017, at 7:06 PM, Tom notifications@github.com wrote:

Hi,

I have an Ubuntu VM with Docker-CE. I start the Apollo 2.0.6 container as shown in the Readme. All seems fine, but there are no user created annotations unlike the demo site (http://apollo.berkeleybop.io/Apollo2/annotator/index). I also get this error repeatedly in the logs...

ERROR apollo.AnnotatorController - User does not have permissions for the site

Any suggestions?

Thanks, Tom

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

tomdolafi commented 6 years ago

I did those steps previously. What I was attempting to point out is that the annotations tab is empty after I load data as shown in readme. Is that expected for this test data? On the demo site the annotations are there. I also tried it with the yeast data and got the same results.

I also though that this "ERROR apollo.AnnotatorController - User does not have permissions for the site" is somehow related to missing annotations.

I have also tried the "production" container with external volumes with our own data. Getting into issues with formatting our data for jbrowse. We love the idea to run Apollo as a docker instance to minimize administration.

I'll try with 2.0.8.

Thanks, Tom

tomdolafi commented 6 years ago

Can't get image from quay.io.

docker run -it -p 8888:8080 quay.io/gmod/apollo:2.0.8
Unable to find image 'quay.io/gmod/apollo:2.0.8' locally
docker: Error response from daemon: unauthorized: access to the requested resource is not authorized.
See 'docker run --help'.

This works..

docker run -it -p 8888:8080 quay.io/gmod/apollo:latest but I couldn't find the sample data with in it.

Thanks, Tom

nathandunn commented 6 years ago

Apologies, should be docker-apollo:

docker run -it -p 8888:8080 quay.io/gmod/docker-apollo:2.0.8

I'll update the readme.

tomdolafi commented 6 years ago

That worked to get the docker image.

The sample directory doesn't exist in this image (/apollo/jbrowse-download/sample_data/json/volvox). /apollo only contains an apollo.war. I extracted the war and could not find the sample data.

Thanks, Tom

nathandunn commented 6 years ago

Sorry, those are crappy directions (I'll continue to update them).

1 - If you make the following local directories:

2 - run

docker run -it -v /absolute/path/to/jbrowse-data:/data -v /absolute/path/to/postgres-data:/var/lib/postgresql -p 8888:8080 quay.io/gmod/docker-apollo:latest http://quay.io/gmod/docker-apollo:latest

3- Copy your JBrowse data into the jbrowse-data directory it should be available under “/data” . Example jbrowse-data/yeast will be available as “/data/yeast” on the server.

4 - You can download the specific data from here: http://genomearchitect.readthedocs.io/en/latest/Apollo2Build.html#adding-sample-data http://genomearchitect.readthedocs.io/en/latest/Apollo2Build.html#adding-sample-data

I just ran through this with this setup and it worked. I’ll update the instructions with this. Let me know if you run into anything else.

On Dec 20, 2017, at 2:36 PM, Tom notifications@github.com wrote:

That worked to get the docker image.

The sample directory doesn't exist in this image (/apollo/jbrowse-download/sample_data/json/volvox). /apollo only contains an apollo.war. I extracted the war and could not find the sample data.

Thanks, Tom

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GMOD/docker-apollo/issues/26#issuecomment-353203015, or mute the thread https://github.com/notifications/unsubscribe-auth/AAt2qjqoFbAPvFbn44lKzt6eEfrJFXNxks5tCYvggaJpZM4RH14A.

tomdolafi commented 6 years ago

Run latest vs 2.0.8? Instructions worked perfectly to get it installed and running with sample data.

Does this sample data come with user-created annotation? I zero annotations loaded. Tracks and Ref sequences loaded fine. How can I get user-created annotation loaded like the demo site (http://apollo.berkeleybop.io/Apollo2/annotator/index)?

In Logs I see these two errors... are these benign?

ERROR apollo.PermissionService - Error checking permissions from session java.lang.NullPointerException: Cannot get property 'username' on null object

ERROR apollo.AnnotatorController - User does not have permissions for the site

Is the best place to address issues converting our own fasta and gff data to jbrowse format with help@gmod.org?

Thanks, Tom

nathandunn commented 6 years ago

On Dec 20, 2017, at 4:52 PM, Tom notifications@github.com wrote:

Run latest vs 2.0.8? Instructions worked perfectly to get it installed and running with sample data.

Does this sample data come with user-created annotation? I zero annotations loaded. Tracks and Ref sequences loaded fine. How can I get user-created annotation loaded like the demo site (http://apollo.berkeleybop.io/Apollo2/annotator/index http://apollo.berkeleybop.io/Apollo2/annotator/index)?

You have to create your own annotations (just right-click or drag up). If you can login and create annotations you are good to go.

We have a lot of documentation: http://genomearchitect.github.io/users-guide/ http://genomearchitect.github.io/users-guide/

Instructions for the Apollo mailing list are here if you have general questions (http://genomearchitect.org/ http://genomearchitect.org/) including the archive.

In Logs I see these two errors... are these benign?

ERROR apollo.PermissionService - Error checking permissions from session java.lang.NullPointerException: Cannot get property 'username' on null object

ERROR apollo.AnnotatorController - User does not have permissions for the site

These are benign so long as it allows you to log in and create annotations.

Is the best place to address issues converting our own fasta and gff data to jbrowse format with help@gmod.org mailto:help@gmod.org?

http://genomearchitect.readthedocs.io/en/latest/Data_loading.html http://genomearchitect.readthedocs.io/en/latest/Data_loading.html

http://gmod.org/wiki/JBrowse_Configuration_Guide#Reference_Sequences http://gmod.org/wiki/JBrowse_Configuration_Guide#Reference_Sequences

You can hit both the Apollo general list and the JBrowse mailing list for JBrowse specific things: http://gmod.org/wiki/JBrowse#Contacts_and_Mailing_Lists http://gmod.org/wiki/JBrowse#Contacts_and_Mailing_Lists

Nathan

Thanks, Tom

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GMOD/docker-apollo/issues/26#issuecomment-353226080, or mute the thread https://github.com/notifications/unsubscribe-auth/AAt2qkcardLEHZCCB0BWJDf3VqFrmrB-ks5tCavcgaJpZM4RH14A.

tomdolafi commented 6 years ago

I am able to create annotations, but I have to refresh the page to have them appear in the user-created annotations area. On the demo site annotations appear immediately.

Nothing logs to catalina.out during annotation creation. On page refresh these two errors occur, but page is functional.

2017-12-21 15:35:03,123 [http-nio-8080-exec-6] ERROR apollo.AnnotatorController  - User does not have permissions for the site
2017-12-21 15:36:03,132 [http-nio-8080-exec-8] ERROR apollo.PermissionService  - Error checking permissions from session java.lang.NullPointerException: Cannot get property 'username' on null object
java.lang.NullPointerException: Cannot get property 'username' on null object   

Thanks, Tom

nathandunn commented 6 years ago

Hmm, it should just work at this point like the demo site.

Do you see any output in the javascript console or network tabs?

Nathan

On Dec 21, 2017, at 7:40 AM, Tom notifications@github.com wrote:

I am able to create annotations, but I have to refresh the page to have them appear in the user-created annotations area. On the demo site annotations appear immediately.

Nothing logs to catalina.out during annotation creation. On page refresh these two errors occur, but page is functional.

2017-12-21 15:35:03,123 [http-nio-8080-exec-6] ERROR apollo.AnnotatorController - User does not have permissions for the site 2017-12-21 15:36:03,132 [http-nio-8080-exec-8] ERROR apollo.PermissionService - Error checking permissions from session java.lang.NullPointerException: Cannot get property 'username' on null object java.lang.NullPointerException: Cannot get property 'username' on null object
Thanks, Tom

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GMOD/docker-apollo/issues/26#issuecomment-353382274, or mute the thread https://github.com/notifications/unsubscribe-auth/AAt2qh5imajr5xxeFg2M4rBU4dnCXTXAks5tCnvkgaJpZM4RH14A.

tomdolafi commented 6 years ago

nothing in the network tab.

This js error shows in the console tab.

SyntaxError: Unexpected token o in JSON at position 1
    at JSON.parse (<anonymous>)
    at Object.annotationNotification (AnnotTrack.js:422)
    at lang.js:373
    at SockJS.onmessage (spring-websocket.js:2689)
    at SockJS.REventTarget.dispatchEvent (spring-websocket.js:84)
    at SockJS._dispatchMessage (spring-websocket.js:1025)
    at SockJS._didMessage (spring-websocket.js:1083)
    at WebSocket.that.ws.onmessage (spring-websocket.js:1215)
tomdolafi commented 6 years ago

That error is listed to be from AnnotTrack.js line 519

nathandunn commented 6 years ago

It is, but its a bit tricky to see. The trick is to open the network tab, filter by websockets, and then reload. If you click on frames you should see the correct behavior coming up and going down. If you could put in both the sent and returned message from the frame, that would be great. Here is an example of me adding an annotation here:

screen shot 2017-12-21 at 10 49 12 am

tomdolafi commented 6 years ago

It was a cache issue. Chrome held an older version of AnnotTrack.js from one of the various docker images I had tried out. Drag and drop works.

In the old version at Line 422 parse was called twice.
changeData = JSON.parse(JSON.parse(message.body));

nathandunn commented 6 years ago

Whew! Glad it worked out. Go ahead and close this issue if everything is working, but feel free to ping me (or create a PR for the doc). Hopefully this helps clarify this for others.

Thanks.

tomdolafi commented 6 years ago

Thanks a lot for your help.