[Bioperl-l] Loading Blast Report in a minimal way
    Sendu Bala 
    bix at sendu.me.uk
       
    Mon Oct  8 09:54:15 UTC 2007
    
    
  
zhihuali wrote:
> Hi netters,
> 
> I'm using SearchIO to parse my blast reports. They are extremely 
> huge, and not surprisingly, it's extremely slow and sometimes the 
> system crashed due to memmory problem. As I can handle small reports 
> quickly, it seems like a problem related to the way SearchIO works: 
> it slurps the whole report into the memory and builds millions of 
> objects.
> 
> I've checked old posts and some people used FastHitEventBuilder to 
> build hit objects without any hsp objects. And some people suggested 
> using tabular output of blast. But in my case I need to go to each of
>  the hsps of each hit, parse the alignment, and gather the
> information needed if that hsp fits certain criteria, and then move
> on to the next hsp/or jump over to the next hit/ or exit the
> processing, according to the information I have already got. An ideal
> way would be to read one hsp at a time from the report to the memory.
> Is there some way to modify SearchIO (or build another Search Event)
> to do this?
Use Bio::SearchIO::blast_pull
(ie.
use Bio::SearchIO;
my $in = Bio::SearchIO->new(-format => 'blast_pull',
                                             -file =>
't/data/new_blastn.txt');
)
It doesn't yet support all kinds of Blast report, however. Let me know
how you get on.
Cheers,
Sendu.
    
    
More information about the Bioperl-l
mailing list