build status code climate coverage gem version total downloads

gitter chat

SequenceServer - BLAST searching made easy!

SequenceServer lets you rapidly set up a BLAST+ server with an intuitive user interface for use locally or over the web.

Please cite: Priyam A, Woodcroft BJ, Rai V, Munagala A, Moghul I, Ter F, Gibbins MA, Moon H, Leonard G, Rumpf W & Wurm Y. 2015. Sequenceserver: A modern graphical user interface for custom BLAST databases. biorxiv doi: 10.1101/033142.

Install and configure

Please see

Develop and contribute

You will need Ruby and RubyGems, Node and npm, and CodeClimate. Further, please note that 1.0.x branch contains the stable releases, while the master branch is a work in progress towards next release and may be buggy.


Get source code and install dependencies.

git clone
gem install bundler
cd sequenceserver
npm install

We use Capybara with WebKit driver for functional testing, which requires qt to be installed. If bundle fails, install qt (On Mac: brew install qt) and run bundle again.

We use JSPM (via Node) for front-end package management and building JavaScript and CSS files.

If you are deploying SequenceServer from git you can skip npm install step and skip installing gems used for testing (and qt), etc. by running:

bundle install --without=development

Run, test, build

Launch SequenceServer in development mode. In development mode SequenceServer logs verbosely and uses raw front-end files.

bundle exec bin/sequenceserver -D

Run the specs, lint the code, build front-end and package everything as a gem.


Sometimes you may just want to run the specs or lint the code:

rake spec
rake lint

Using Docker

# With database fasta files inside a folder named db
docker run --rm -ti -p 4567:4567 -v $(pwd)/db:/db wurmlab/sequenceserver