During my latest work I came upon the problem of how to perform BLAST searches using Biojava and a locally installed
version of BLAST. I'll not describe here what either BLAST or Biojava
are; if you don't know already, this page is probably of no interest
to you.
I found out that, while it's possible, one needs considerable effort
(e.g. compared to Bioperl) to
use BLAST - possibly because of the platform-independency of Java
;-). Judging from the mailing list, the problem occurs fairly often;
nevertheless, I've found neither an faq nor a website that describes
how to solve it, or even code examples. So I decided to write one
myself.
General info: this is by no means a perfect solution (or
I would propose to include it into Biojava). I've only used it with a
version of BLAST installed on a linux machine, and I've not tested it
thoroughly. But it should give a hint on how to solve the problem,
I hope it helps to avoid some of the snares, and I've mentioned many
places where it could be improved. Comments are always welcome, just
send me a mail.
You can download the whole code described
on these pages. The archive also includes a sample program that shows
how to use the Blast class.
There are three major parts to the solution: the first one is the actual
execution of BLAST, which is done by Runtime.exec() and doesn't
present too many problems. The second one is the parsing of the
results to have a nice data structure (a SeqSimilaritySearchResult),
which can be achieved by plugging several tools together in the right
way. The third one is the inclusion of all that into the Biojava
framework, i.e., to write a class implementing
SeqSimilaritySearcher. Strangely, this is also the toughest problem -
here I present only a quickly written solution that has major
performance problems. I recommend reading the following documents in
the order in which I've listed them, but you don't have to :-).
Part 1: Implementing a SequenceDB
Part 2: Executing a BLAST search
Part 3: Parsing the search results
URL dieser Seite: http://www.joerg-ruedenauer.de/Software/blast/blast.html
Autor dieser Seite: Jörg Rüdenauer
Letzte Änderung am: 14.07.2002
Haftungsausschluss