Hello!
I would like to write the BLAST Search algorithm using BioJava for a school project.
I can not find any sources, tutorials, nothing in the BioJava Cookbook. I would like to specify the query and target sequences, and find the similar subsequences.
Can anybody give me some pointers?
Thanks, Peter
2 answers
If you just want to send a BLAST query to the NCBI-blast engine and then parse the result back, you can look at some examples that have been posted on Biostar: e.g: How To Perform A Blast Search From A Java Application? . You don't need Biojava.
If you want to implement the BLAST algorithm from scratch : it's a great challenge and you would learn many things(I've always dreamed to write this code), but I can't imagine this as a simple school-project, as I guess it took some years to write the first C version. However, IMHO, the most comprehensive description of the blast algorithm is its page on wikipedia: http://en.wikipedia.org/wiki/BLAST
Good Luck
You can find the QBLAST example in biojava cookbook. This is an old method that enables linking with BLAST. You can also try NCBI URLAPI if you are hoping to implement a web app.
Log in to answer this question.
Do you really want to re-implement the BLAST algorithm, or rather call BLAST from within BioJava? The former is an extremely epic task, as BLAST has a >20 year history of development and refinement, which you'll not be able to mirror in any reasonable amount of time.
Well, implementing a very basic BLAST is not that hard. Perhaps this is still challenging for a first-year PhD, but a sophisticated programmer may write a basic one in a week.