You can parse all the ouput with
Bio::SearchIO. Try reading about
Bioperl. Many many incarnations on how to do this, but if you wanted to run it on the fly try the following code. You can also of course run the program and pipe the output to a file.
The
HOWTOs on the site give a good coverage on the SearchIO system.
(Note: Due to snowstorm in Boston and power outage the bioperl.org site is down for a little while)
use Bio::SearchIO.
my $fh;
open($fh, "fasta34 query.pep db |");
my $in = Bio::SearchIO->new(-format => 'fasta', -fh => $fh);
while( my $r = $in->next_result ) {
while( my $hit = $r->next_hit ) {
while( my $hsp = $hit->next_hsp ) {
}
}
}