[Bioperl-l] Storing Blast object in a local database

Marc Logghe Marc.Logghe at devgen.com
Tue Jan 11 04:18:17 EST 2005


Hi,

> Is it possible to store a blast object
> (Bio::Search::Result::BlastResult) in a mysql database?
> 
> Any pointers would be appreciated.

I only know that the biosql schema contains a SIMILARITY table that should be suited to store similarity results. However:
a) no fields are available to store the homology strings (query, hsp, consensus) and b) no API code is available (yet) to load the objects. Guess Hilmar can tell more about this.
It is possible however to store blast results in a GFF or Chado database.
Quite a while ago (before the time that the gbrowse plugin Aligner.pm existed) we turned blast results into GFF format. We used tags to store the homology strings. Of course, this also needed to make a customized plugin in order to dump the alignments afterwards. BTW, Bioperl contains a script to turn SearchIO results into GFF (bp_search2gff.pl) but needs some adaptations in case you also want to have the homology strings.
Like I already mentioned, gbrowse actually stores alignments (bla(s)t results) in Chado and these can be dumped using the Aligner plugin. See for yourself at http://www.wormbase.org/db/seq/gbrowse/wormbase?name=I%3A12765180..12775179;source=wormbase;width=800;version=100;label=CG-OP-ESTB-ESTO and dump the alignments. I am not sure about how everything is stored in the database and how the alignments are regenerated. I asume both the hits and query sequences are in the database plus the search results as features. Based on the locations associated with the features and the sequences, the alignements are regenerated by the plugin.
Of course all this runs in the framework of gbrowse and this is probably not what you need.
BioSQL would be a better option in case you only want to store the results and you don't need a gbrowse environment. But then, you need to write the API ;-)

Regards,
Marc



More information about the Bioperl-l mailing list