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:
- 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.
Setup
Requirements
The following software is required to run SequenceServer:
- NCBI BLAST+ ( at least 2.2.18 )
- Ruby ( tested with 1.8.7 and 1.9.2)
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:
- 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
makeblastdbcommands.
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,
<db type>is eitherprot, ornucldepending on the type of sequence<db title>is what users will see<db>is the path to the FASTA file-parse_seqidsis required to generate links for downloading search hits (yes, it's slow on large files).- Additional options at
makeblastdb -help.
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?
- 'Beta 1' is deployed by the Keller lab at University of Lausanne; see Fourmidable Sequences.
- Guy Leonard @ National History Museum London
- Steffen Lemke @ Center for Organismal Studies, Heidelberg.
- Researchers at Benaroya Research Institute at Virginia Mason
- you...
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:
- Yannick Wurm is an evolutionary biologist using genomics tools to study the evolution of ant societies (eg: antgenomes.org, fire ant genome, competing fire ant queens). He will be at Queen Mary University London from January 2012.
- Anurag Priyam
- Cedric Wurm
- Ben J Woodcroft is a PhD student in Melbourne studying protein trafficking in apicomplexan parasites including malaria (e.g. ApiLoc), as well as maintaining a general interest in protein and genome evolution. From January 2012 he will be in Queensland.