[Bioperl-l] Exception MSG
Mgavi Brathwaite
lsbrath at gmail.com
Wed Nov 30 05:25:32 UTC 2011
Hello,
Brushing up on my BioPerl and I can't figure out this MSG:
------------- EXCEPTION -------------
MSG: cannot open >/Users/mydata/Desktop/gi|255572219|ref|XP_002527049|.out
STACK Bio::Tools::Run::RemoteBlast::save_output
/Library/Perl/5.10.0/Bio/Tools/Run/RemoteBlast.pm:678
STACK toplevel /Users/mydata/Documents/workspace/BI7643/rb_ex.pl:40
-------------------------------------
Here is the code:
#!/usr/bin/perl -w
use strict;
use Bio::Tools::Run::RemoteBlast;
#=cut
my $prog = 'blastp';
my $db = 'swissprot';
my $e_val = '1e-10';
my @params = ('-prog' => $prog,
'-data' => $db,
'expect' => $e_val,
'readmethod' => 'SearchIO' );
my $factory = Bio::Tools::Run::RemoteBlast->new(@params);
#human database
$Bio::Tools::Run::RemoteBlast::HEADER{'ENTREZ_QUERY'} = 'Homo sapiens
[ORGN]';
my $v =1; # this is just to turn on and off the messages
# Construct the sequence object
my $seq_in = Bio::SeqIO->new(-file => "/Users/mydata/Desktop/rb_ex.fa", -format
=> "fasta");
while (my $input = $seq_in->next_seq()){
my $r = $factory->submit_blast($input);
print STDERR "waiting..." if ($v > 0);
while (my @rids = $factory->each_rid()){
foreach my $rid (@rids){
my $rc = $factory->retrieve_blast($rid);
if( !ref($rc) ) {
if($rc < 0){
$factory->remove_rid($rid);
}
print STDERR "." if ($v > 0);
sleep 5;
} else {
my $result = $rc->next_result();
#save output
my $filename = ">/Users/mydata/Desktop/".$result->query_name().".out";#error
$factory->save_output($filename);
$factory->remove_rid($rid);
print "\nQuery Name: ", $result->query_name(), "\n";
while ( my $hit = $result->next_hit ) {
next unless ( $v > 0);
print "\thit name is ", $hit->name, "\n";
while( my $hsp = $hit->next_hsp ) {
print "\t\tscore is ", $hsp->score, "\n";
}
}
}
}
}
}
Thanks for the help!
More information about the Bioperl-l
mailing list