This is a test version of Biostars. For the public version, visit https://www.biostars.org.
WebApollo installation issues

I have been told that setting up WebApollo is worth it for the conveniences it brings to annotation curation.

However the amount of debugging needed to get it up and running is astounding...

The error I have been trying to solve lately is the following: (output of catalina.out log from tomcat7)

ERROR loading seq data:
org.json.JSONException: JSONObject["length"] not found.
    at org.json.JSONObject.get(JSONObject.java:405)
    at org.json.JSONObject.getInt(JSONObject.java:465)
    at org.bbop.apollo.web.config.ServerConfiguration.parseRefSeqs(ServerConfiguration.java:494)
    at org.bbop.apollo.web.config.ServerConfiguration.init(ServerConfiguration.java:316)
    at org.bbop.apollo.web.config.ServerConfiguration.<init>(ServerConfiguration.java:67)
    at org.bbop.apollo.web.Login.init(Login.java:46)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1279)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1192)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:864)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

Has anybody encountered this before and if so what did you do to resolve it?

software-error

1 answer

Hi Cytosine,

What seems to be happening here is that WebApollo is looking for JBrowse's refSeqs.json and throwing an error from either failing to parse the file or failing to find it in the first place. If you can check your config.xml file for the <refseqs> tag, and check that it is pointing to a valid filepath for a JBrowse refSeqs.json file, then that would probably solve this particular problem. Note that refSeqs.json is the file normally produced when running prepare-refseqs.pl from the JBrowse pipeline.

Also, I must agree that the setup of the old version of WebApollo was pretty long and grueling. However, version "1.0" of WebApollo was recently released and has a much improved build setup. It uses standard Maven deployments, and has some simplified documentation to get things up and running faster.

For more info, see http://webapollo.readthedocs.org/en/latest/

Edit: also read the resolution below regarding permissions

Hi cmdcolin,

I did manage to solve the problem a few days after I posted that. It was about file and directory permissions more or less.

After I did sudo apt-get install tomcat7* and created $WEB_APOLLO_DATA_DIR and tmp folders myself, with the tomcat7:tomcat7 permissions, it all suddenly started working.

Good to know that there is an improved installation procedure for the next time I'm going to install WebApollo on a system. Thanks for the info!

Thanks for the info, we will try to take this into consideration in our documentation!

Log in to answer this question.