SequenceServer (Beta 1)

Biologists constantly generate new sequence data. However, it is challenging to effectively share and search and compare sequence data. Deploying complex solutions such as GMOD is often overkill, and publicly available front ends for BLAST such as NCBI's wwwblast are difficult to use or install. There is a need for an easy-to-deploy and easy-to-use solution.

SequenceServer allows rapid creation of a web page to BLAST search sequence databases by using an intuitive user interface. SequenceServer can be used as a local point and click interface to NCBI BLAST+, or to provide one over the web. SequenceServer uses NCBI BLAST+, Sinatra, and jQuery.

Features

Ease of use for biologists:

Rapid deployment for bioinformatics administrators:

Setup

Requirements

The following software is required to run SequenceServer:

Download

Get the latest version SequenceServer from: https://github.com/yannickwurm/sequenceserver/archives/master.

Or download the zip in the command-line:

wget http://github.com/yannickwurm/sequenceserver/zipball/master

Installation

Unzip/Untar the downloaded file, cd to SequenceServer's directory and issue the following command that will make sure you have the required ruby dependencies:

gem install bundler && bundle install

Either set up BLAST databases from a directory of FASTA sequence files

 ruby database_formatter.rb directory_with_fasta_files

The database_formatter.rb script will assist you by:

Or set up BLAST databases from a single FASTA sequence file

In the directory containing the FASTA file, run:

makeblastdb -dbtype <db type> -title <db title> -in <db> -parse_seqids

Where,

Configuration

SequenceServer needs to know the location of the BLAST+ binaries, and the BLAST database. This is accomplished by providing a config.yml in the installation directory.

# .config.yml
bin: ~/ncbi-blast-2.2.25+/bin/
database: /Users/me/blast_databases/

A fully commented example.config.yml is provided for a start - copy it to config.yml, edit the values, and start blasting!

Running SequenceServer

From the installation directory, run:

ruby sequenceserver.rb

SequenceServer will be accessible on port 4567 at http://localhost:4567/ . Change the port by editing config.yml or with the -p command line option, eg: ruby sequenceserver.rb -p 8181.

SequenceServer automatically uses ruby's internal web servers. No need for Apache. By default it uses Webrick. Installling Thin (gem install thin), or Mongrel (gem install mongrel) can improve performance.

Who uses SequenceServer?

Reference

A manuscript describing SequenceServer is in prep. In the mean time, please cite "Priyam A., Woodcroft B.J., Wurm Y in prep. Sequenceserver: BLAST searching made easy").

Development

SequenceServer is in 'Beta 1'; many exciting features are planned for future release.

Our issues tracker logs development activities. feature indicates what is in the pipeline, and bugs indicates upcoming fixes. Feel free to add comments, vote, report bugs or request features. All contributions, patches and pulls are welcome.

Current contributors: