Genome annotation editor with a Java Server backend and a Javascript client that runs in a web browser as a JBrowse plugin.
Switch branches/tags
Clone or download
Failed to load latest commit information.
.github updated template to include info Apr 3, 2017
client/apollo Fix 1898 sequence alteration (#1902) Jun 18, 2018
docs Migration script fix (apollo1 -> apollo2) (#1934) Sep 19, 2018
gradle/wrapper got a working clone Mar 15, 2016
grails-app fixed REST API doc Sep 28, 2018
gwt-sdk removed additional libraries and fixed some potentially broken code May 4, 2016
lib upgraded gwt lib Mar 21, 2017
scripts Delete features for organism in smaller batches (#1877) Apr 16, 2018
src Remove all permissions (#1936) Sep 14, 2018
test Update Chado test Jun 1, 2018
tools Jbrowse plugin git methods and test fixes (#1758) Sep 27, 2017
web-app fixed REST API doc Sep 28, 2018
wrapper cleaned up grailsw Jun 25, 2016
.coveralls.yml added coveralls ; Apr 8, 2016
.gitignore Install npm package (#1773) Sep 29, 2017
.jshintrc Add jshint linter Mar 24, 2016
.travis.yml fix build by moving to jdk8 explicitly Jan 19, 2018 updated changelogs Jun 14, 2018 udpated license to BSD-3 Oct 11, 2018 updated doi reference Jun 22, 2018
apollo removed package-lock.json as well Jun 13, 2018 WIP - Fix delete status fixes 1909 (#1911) Jun 27, 2018
build.gradle added nosamples option for a speedier install Jun 14, 2018
build.xml bowerless build (#1691) Aug 29, 2017
gradlew added gradle ant wrapper Mar 14, 2016
gradlew.bat added gradle ant wrapper Mar 14, 2016
grailsw cleaned up grailsw Jun 25, 2016
grailsw.bat cleaned up grailsw Jun 25, 2016
index.html updated index file Aug 5, 2015 Update install_jbrowse script to output to the right extlib directory… Apr 22, 2015
package.json fixed conflict Jun 18, 2018
sample-docker-apollo-config.groovy Add organism filter Fixes #1442 - WIP (#1676) Jul 7, 2017
sample-h2-apollo-config.groovy updated samples and config for jbrowse Jun 14, 2018
sample-mysql-apollo-config.groovy updated samples and config for jbrowse Jun 14, 2018
sample-postgres-apollo-config.groovy updated samples and config for jbrowse Jun 14, 2018
settings.gradle added gradle ant wrapper Mar 14, 2016 added Nov 28, 2017


DOI Build Coverage Documentation Chat at Gitter

 Download the latest release

An instantaneous, collaborative, genome annotation editor. The stack is a Java web application / database backend and a Javascript client that runs in a web browser as a JBrowse plugin.

For general information on Apollo, go to

Complete Apollo installation and configuration instructions are available from the Apollo documentation pages

The Apollo client is implemented as a plugin for JBrowse. Additional JBrowse plugins may be found in the JBrowse registry and configured in apollo-config.groovy.

Setup guide

Setup guide for deploying on production and custom configuration guide.
Launchable public Amazon EC2 images may also be found in most regions under the name 'Apollo' as well as instructions for docker.

The quick-start guide for developers shows how to easily get started with Apollo.

Migrating data from older versions

You can follow steps in our migration guide to move annotations and data from older versions.

Note about data directories

Apollo 2.0 allows you to add multiple data directories to your webapp, and it expects the data directories to be stored outside of the tomcat webapps directory. Use the WA2.0 quick-start guide to learn how to add new data directories for your organisms.

Important Note: All data from a webapps directory will disappear when doing tomcat "undeploy" operations, even if it is a symlink..

Launch Apollo in a temporary server

To launch Apollo with temporary settings, use the apollo run-local command, which will initialize your server automatically with an H2 (zero-configuration) database.

apollo run-local 8080

It will also use your custom settings if an apollo-config.groovy file has been setup.

Generate a war file

Users can generate a war file (for example target/apollo-1.0.2.war) that will be copied into their tomcat webapps directory for production deployments:

apollo deploy 

Note: make sure to create an apollo-config.groovy file following the sample data (e.g. sample-postgres-apollo-config.groovy) to make sure you use your preferred database settings.

Run locally for GWT development

apollo devmode 

Thanks to



Thanks to YourKit for providing us the use of their YourKit Java Profiler. YourKit supports Open Source.