[Bioperl-l] Is it possible to parse BLAST output using IO:String?
Ryan Golhar
golharam at umdnj.edu
Mon Oct 30 20:11:51 UTC 2006
I'm trying to parse some blast output w/o actually creating the output
file. Instead, I'm capturing the output in a variable and would like to
use IO::String to represent the file:
$_ = `megablast -d somedatabase -i somesequence -D 2`;
my $blast_file = new IO::String($_);
my $searchio = new Bio::SearchIO(-format => 'blast', -fh =>
$blast_file);
my $results = $searchio->next_result;
my $hit = $results->next_hit;
if (! defined($hit)) {
warn "No BLAST hit for $accession on chr $chr for
Seq/$orth_id/$organism\n\n";
return;
}
Now, when Bio::SearchIO tries to read the output line by line, instead
it reads the entire output as 1 line.
If I provide the output in a file and use:
my $searchio = new Bio::SearchIO(-format => 'blast', -file =>
'/tmp/somefile.blast');
This works...so is it possible to use IO::String to provide
Bio::SearchIO with BLAST output?
Ryan
More information about the Bioperl-l
mailing list