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.


Ease of use for biologists:

  • a single iPod-like search page
  • intuitive and helpful web interface: automatic sequence type detection that helps choose appropriate BLAST method and database types
  • links to easily download sequences of BLAST hits
  • support for advanced options.

Rapid deployment for bioinformatics administrators:

  • assisted formatting of BLAST databases (with sequence type detection)
  • automatic discovery of formatted BLAST databases during startup
  • uses ruby's internal web server (on any open port) or Apache
  • add custom hyperlinks to identified hits (to your genome browser or custom database)
  • open source & freely available for non-profits.



The following software is required to run SequenceServer:


Get the latest version SequenceServer from:

Or download the zip in the command-line:



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:

  • finding FASTA files in directory_with_fasta_files (and in subdirectories too)
  • detecting the sequence type of each file
  • asking you to name each database
  • subsequently running the appropriate makeblastdb commands.

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


  • <db type> is either prot, or nucl depending on the type of sequence
  • <db title> is what users will see
  • <db> is the path to the FASTA file
  • -parse_seqids is required to generate links for downloading search hits (yes, it's slow on large files).
  • Additional options at makeblastdb -help.


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?


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").


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: