[Bioperl-l] Is it possible to parse BLAST output using IO:String?
Ryan Golhar
golharam at umdnj.edu
Mon Oct 30 21:54:45 UTC 2006
Hmmm. Yes, I suppose I could.
I did it with the backtick because I based my code off of the "To and
>From a String" from the SeqIO HOWTO...
-----Original Message-----
From: Jason Stajich [mailto:jason.stajich at gmail.com] On Behalf Of Jason
Stajich
Sent: Monday, October 30, 2006 4:44 PM
To: Sendu Bala
Cc: golharam at umdnj.edu; 'bioperl-l'
Subject: Re: [Bioperl-l] Is it possible to parse BLAST output using
IO:String?
right - can't you just do:
my $fh;
open($fh, "megablast -d ... | ") || die $!;
my $searchIO = Bio::SearchIO->new(-format => 'blast', -fh => $fh);
On Oct 30, 2006, at 1:27 PM, Sendu Bala wrote:
Ryan Golhar wrote:
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?
Why must it be IO::String? Why not just open() your megablast and
provide $searchio the real filehandle? It would be faster that way as
well.
Read the docs for `. Your usage above is inappropriate.
_______________________________________________
Bioperl-l mailing list
Bioperl-l at lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/bioperl-l
--
Jason Stajich, PhD
Miller Research Fellow
University of California
Dept of Plant and Microbial Biology
321 Koshland Hall #3102
Berkeley, CA 94720-3102
lab: 510.642.8441
http://pmb.berkeley.edu/~taylor/people/js.html
More information about the Bioperl-l
mailing list