Display id instead of accession number in the sequence modal.

This works correctly only on BLAST 2.2.30+. Older BLAST+ will include 'lcl|' in
the id for non nr and blast databases which is unwanted. We could have stripped
'lcl|'. Instead we will change minimum BLAST+ version requirement (because we
anyway need at least 2.2.29+ for sequence retrieval to be robust).

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Refactor, document and clean up Sequence class.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Use -target_only option when fetching sequences from BLAST+ database.

BLAST+ sometimes returns more than one sequences for an accession number when
querying nr/nt database. The sequences returned are identical except their id.
This behaviour is unintuitive and causes SequenceServer to warn users that the
databases might be incorrectly formatted. Using -target_only ensures BLAST+
will return the exact match for the queried accession.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Enable -hash_index switch when creating databases.

Should make things faster.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Re-arrange files in spec/database.

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

Was broken due to addition of new test databases in commit "Add some databases
for testing".

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