NOTICE: This repo has been integrated directly into https://github.com/GMOD/Apollo. It can be found on http://hub.docker.com/gmod/apollo or http://quay.io/repository/gmod/apollo.
Apollo is a browser-based tool for visualisation and editing of sequence annotations. It is designed for distributed community annotation efforts, where numerous people may be working on the same sequences in geographically different locations; real-time updating keeps all users in sync during the editing process.
The container is publicly available as gmod/apollo:latest
.
There are a large number of environment variables that can be adjusted to suit your site's needs. These can be seen in the apollo-config.groovy file.
This procedure starts tomcat in a standard virtualized environment with a PostgreSQL database with Chado.
Install docker for your system if not previously done.
Choose an option:
-
To test a versioned release to test installation, e.g.:
docker run -it -p 8888:8080 -v /directory/to/jbrowse/files:/data quay.io/gmod/docker-apollo:2.3.1
Other available versions -
Install a latest release to test installation:
docker run -it -p 8888:8080 -v /directory/to/jbrowse/files:/data gmod/apollo:latest
- To make sure you have the latest pull with
docker pull gmod/apollo
to fetch newer versions
- To make sure you have the latest pull with
-
To run in production against persistent JBrowse data and a persistent database you should:
- Create an empty directory for database data, e.g.
postgres-data
. - Put JBrowse data in a directory, e.g.
/jbrowse/root/directory/
. docker run -it -v /jbrowse/root/directory/:/data -v /postgres/data/directory:/var/lib/postgresql -p 8888:8080 quay.io/gmod/docker-apollo:latest
- Create an empty directory for database data, e.g.
-
See docker run instructions to run as a daemon (
-d
) and with a fresh container each time (--rm
) depending on your use-case. -
You can run production using the build created by quay.io instead (https://quay.io/repository/gmod/docker-apollo):
docker run -it -v /jbrowse/root/directory/:/data -v postgres-data:/var/lib/postgresql -p 8888:8080 quay.io/gmod/docker-apollo:latest
You can configure options if need be (though default will work) by setting environmental variables for apollo-config.groovy by passing through via multiple -e
parameters :
- `docker run -it -e APOLLO_ADMIN_PASSWORD=superdupersecrect -v /jbrowse/root/directory/:/data -v postgres-data:/var/lib/postgresql -p 8888:8080 quay.io/gmod/docker-apollo:latest`
In all cases, Apollo will be available at http://localhost:8888/ (or 8888 if you don't configure the port)
When you use the above mount directory /jbrowse/root/directory
and your genome is in
/jbrowse/root/directory/myawesomegenome
you'll point to the directory: /data/myawesomegenome
.
- Change the root path of the url (e.g., http://localhost:8888/otherpath) by adding the argument
-e APOLLO_PATH=otherpath
when running.
NOTE: If you don't use a locally mounted PostgreSQL database (e.g., creating an empty directory and mounting using -v postgres-data:/var/lib/postgresql
)
or set appropriate environment variables for a remote database
( see variables defined here) your annotations and setup will not be persisted.
The default credentials in this image are:
Credentials | |
---|---|
Username | [email protected] |
Password | password |
- Make the following directories somewhere with write permissions:
postgres-data
andjbrowse-data
. - Copy your jbrowse data into
jbrowse-data
. We provide working sample data. - Run the docker-command:
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
- Login to the server at
http://localhost:8888/
- Add an organism per the instructions under Figure 2. Using yeast as an example, if you copy the data into
jbrowse-data/yeast
then on the server you'll add the directory:/data/yeast
.
Apollo run-time options are specified in the createenv.sh file.
These are picked up in the apollo-config.groovy file and follows the rules of regular apollo configuration.
Special cases include CHADO. By default it is on, but use WEBAPOLLO_USE_CHADO=false
to turn off.