An interactive web-based conserved synteny browser application, The Jackson Laboratory (JAX) Synteny Browser. The browser allows researchers to highlight or selectively display genome features in the reference and/or the comparison genomes based on the biological attributes of the features. The current implementation for the browser supports the reference genomes of the laboratory mouse and human.
There is a live, working version of Synteny Browser available at: syntenybrowser.jax.org
User documentation can be found here.
Note: if you are running Windows some of the commands below might need to be altered Before starting the setup process, you'll need:
- A bash terminal (Mac OS X & Linux will have this included) or a way of running shell scripts
- A version of Python installed on your machine
- The
pip
Python library installed on your machine (your version of Python might have Pip included by default, but if not, you'll have to install it manually)
Assuming you have all of the above items, you'll need a Python library called Virtualenv which will allow you to run
Python scripts in isolated environments that can have their own dependencies, versions, and permissions without messing
with those belonging to your machine. To set up Virtualenv open up a bash and navigate to the root syntenybrowser/
directory (all of the following commands are run from this directory unless otherwise noted) and install Virtualenv:
pip install virtualenv
Note: if you're running Python 3, you may have to run pip3 install virtualenv
.
Once Virtualenv is installed, you'll need a database. To do this, you have two options:
A ready-made database is available from Box here
named 'syntenybrowser-db.zip' and, when decompressed, will yield a file named 'synteny.db'. This .db file will need to be
located in the root syntenybrowser/
directory before running the application, otherwise the application will not run.
(if you went with Option 1, skip to 'Setting Up the Application') To load your own database, you'll need a virtual environment that runs in Python3.6:
virtualenv venv-db -p python3.6
Once created, activate the virtual environment:
. venv-db/bin/activate
Install necessary packages:
pip install -r requirements.txt
Run the database creation script with the required parameter:
./create_database.sh synteny.db
Note: we have found that one of the scripts that queries data from an API can run into issues if you are using a VPN
This will take several minutes and when it's finished, it will yield a file named 'synteny.db' in root syntenybrowser/
directory (the database file needs to be located here so don't move it). Shut down the venv-db
virtual environment:
deactivate
Next, you'll need to get the application running using your new database (if you're at this step and haven't gotten a database using one of the two available options listed above, you'll need to do that first). To do this, we'll need a separate virtual environment that runs in Python2.7:
virtualenv venv-app -p python2.7
Once created, activate the virtual environment:
. venv-app/bin/activate
Install necessary packages:
pip install -r requirements.txt
Make sure the the application virtual environment is running. If it isn't, start it up (if it is, skip to the next step):
. venv-app/bin/activate
Run the application:
python runserver.py
When finished, shut down the virtual environment:
deactivate
- A bash terminal (Mac OS X & Linux will have this included) or a way of running shell scripts
- Docker installed on your machine
Start docker on your machine and once running, pull the image using
docker pull lamoua/synbrowser
Once the image is done pulling from DockerHub, run the container
docker run -p 5001:5001 synbrowser:latest
This should set off the container as well as start the Python Flask server. Navigating to the specified location (which should be localhost:5001 by default), should bring you to the JAX Synteny Browser interface running from the container.
The JAX Synteny Browser for Mouse-Human Comparative Genomics.
Manuscript in review
The JAX Synteny Browser is provided under the license found here.