Added Hotkey Ctrl+Enter for quick blasting

This patch fixes the issue #90, thus allowing users to quick blast
using the shortcut Ctrl+Enter while anywhere on the page. It is made
sure that a sequence value is filled up and appropriate database is
selected.

Signed-off-by: Vivek Rai <vivekraiiitkgp@gmail.com>
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Fixed erroneous blast method names

The click target event was returning incomplete string causing incorrect
blast method names to be appended in the dropdown list. This fix
is based upon the suggestion #2 by @yeban.

Closes off #119.

Signed-off-by: Vivek Rai <vivekraiiitkgp@gmail.com>
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Removed redundant file

[ap: the file was erroneously introduced in SHA: dccdce7]

Signed-off-by: Vivek Rai <vivekraiiitkgp@gmail.com>
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Ensure SequenceServer::App uses the same Logger instance throughout.

Wrapping `Logger.new` in `Proc.new` caused a new Logger instance to be returned
on each invocation of `settings.log`.  This is sub-optimal and looses all
customization made to the Logger instance -- log level and log format, during
startup.  Removing the surrounding `Proc.new` ensures the same instance is
returned each time `settings.log` is called.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Bring database_formatter under SequenceServer namespace.

And re-indent the code and strip trailing whitespaces.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
update format-databases help english

[ap: strip trailing whitespace]

Signed-off-by: Ben J Woodcroft <donttrustben@gmail.com>
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Fix typo in database formatting

Signed-off-by: Ben J Woodcroft <donttrustben@gmail.com>
Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Be accommodating to the absence of either nucleotide or protein databases.

All users may not use both nucleotide and protein databases.  If either
category is missing, SequenceServer shows an empty grey box in its place.
Let's change it so that other databases expands to fill in that space.

Closes #62.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Sort databases alphabetically, by their title, regardless of the case.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Fix warnings raised by ruby interpreter for sequenceserver.rb.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Merge remote-tracking branch 'vivek/master'

* vivek/master:
  Updated failing test cases, changes to to_fasta
  Updated the unit test cases to fix Travis fail
  Eliminate sequence name collisions
  Removed unused variable and typing mistake
  Added unit test for uniquification of sequence ids
  Added unit test for to_fasta

close #118

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Update documentation for SequenceServer#to_fasta.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Ensure Sequenceserver#to_fasta doesn't change the sequence in place.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Make SequenceServer#to_fasta's spec more stringent.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Whitespace fix in sequencehelpers_spec.rb

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Only add a human readable time stamp to an input sequence if the id is missing.

Previously request's ip was added, which is as uninformative as it gets, and
the time stamp was barely human readable.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Improve FASTA defline regex in sequencehelpers.rb.

FASTA defline must begin with a '>' and be followed by one or more characters.
The current regex allowed for '>' to be followed by zero or more characters.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
port should be specified through -p (or --port) command line option

So config file now contains BLAST specific settings only.  Whereas, port was
meant for the self hosting server.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Settings derived from configuration file are now local to an App object.

One process should be able to run multiple SS instances now.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Just raise IOError if no BLAST database were found by scan_blast_db.

Old, broken behaviour was to interactively guide the user through creation of
BLAST database. Broken at the expense of bad code. Hence removed.  Will
consider re-adding it later.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>