Installation
At the most basic level, setting up JBrowse consists of placing a copy of the JBrowse directory somewhere in the web-servable part of your server's file system (often /var/www
or /var/www/html
) and then JBrowse simply is a "static site" where it is just some HTML, Javascript, and CSS that can dynamically fetch and understand data formats.
What do I need to install JBrowse
There are a couple of pre-requisites that help with getting JBrowse setup including
- *nix operating system - MacOSX, Linux, or WSL on Windows
- Webserver - JBrowse is a static set of files, can be served with Apache or nginx
- Command line skills - Familiarity with the command line will help you follow this tutorial
- Sudo access - sudo is not necessary unless you need it to modify webserver files e.g. in /var/www
If you don't have all these things, consider using JBrowse Desktop, as this does not require command line and is easy to use on all operating systems :)
Important note about JBrowse plugins
If you are using JBrowse plugins, you will also want to install Node.js version 6 or over. Follow steps from https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions to install Node.js on Ubuntu to get the required Node.js, as the default installed Node.js from APT can sometimes be lower than 6.
Install system pre-requisites
Some system pre-requisites for a Ubuntu/WSL/Debian type system
sudo apt install build-essential zlib1g-dev
On CentOS/RedHat
sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel perl-ExtUtils-MakeMaker
Download JBrowse minified release
Download a JBrowse release from GitHub
curl -L -O https://github.com/GMOD/jbrowse/releases/download/1.16.11-release/JBrowse-1.16.11.zip
unzip JBrowse-1.16.11.zip
sudo mv JBrowse-1.16.11 /var/www/html/jbrowse
cd /var/www/html
sudo chown `whoami` jbrowse
cd jbrowse
./setup.sh
Alternative JBrowse setup needed if you use plugins
JBrowse now bundles plugins at build time, so if you use plugins or want to modify jbrowse source code yourself you must download the source code or use git clone of https://github.com/GMOD/jbrowse
git clone https://github.com/gmod/jbrowse
cd jbrowse
git checkout 1.16.11-release # or version of your choice
./setup.sh
npm run start # starts a express.js dev server on port 8082, alternatively move the entire jbrowse dir to /var/www/html as above
Note: use npm run watch
to automatically pick up changes to the code that you make (need to restart if you add or remove files though)
Also note: for users in China it has been recommended to set a mirror to npm when you use this alternative setup
npm config set registry http://r.cnpmjs.org
npm config set puppeteer_download_host=http://cnpmjs.org/mirrors
export ELECTRON_MIRROR="http://cnpmjs.org/mirrors/electron/"
Congratulations
You should see a message that says "Congratulations, JBrowse is on the web" with a link to the "Volvox example data"
If you don't see this then you may have missed a setup step