[Bioperl-l] error while remote blast against swissprot db

DeeGee gdorjee at hotmail.com
Sat Apr 14 21:39:50 UTC 2007


hi all, 
can anyone please tell me why and how can i fix the following script, which
gives me an error like:
waiting... 5 units of time
Can't call method "database_name" on an undefined value at
test1_remote_swissblast.pl line 41, <GEN4> line 31.
cheers!

use Bio::SeqIO;
use Bio::Tools::Run::RemoteBlast;

my $Seq_in = Bio::SeqIO->new (-file => $ARGV[0], 
                              -format => 'fasta');
my $query = $Seq_in->next_seq(); 

my $factory = Bio::Tools::Run::RemoteBlast->new(
                                '-prog'  => 'blastp',
                                '-data' => 'swissprot',
                                 _READMETHOD => "Blast"
                         );
my $blast_report = $factory->submit_blast($query);
my $max_number = 100;
my $trial = 0;


while ( my @rids = $factory->each_rid ) {

    print STDERR "\nSorry, maximum number of retries $max_number exceeded\n"
if $trial >= $max_number;
    last if $trial >= $max_number;
    $trial++;

    print STDERR "waiting... ".(5*$trial)." units of time\n" ;

    # RID = Remote Blast ID (e.g: 1017772174-16400-6638)
    foreach my $rid ( @rids ) {
        my $rc = $factory->retrieve_blast($rid);
       if( !ref($rc) ) {
           if( $rc < 0 ) {
                # retrieve_blast returns -1 on error
               $factory->remove_rid($rid);
            }
            # retrieve_blast returns 0 on 'job not finished'
           sleep 5*$trial;
        } else {

            #---- Blast done ----
            $factory->remove_rid($rid);
            my $result = $rc->next_result;
            print "database: ", $result->database_name(), "\n";
            while( my $hit = $result->next_hit ) {
                print "hit name is: ", $hit->name, "\n";
                while( my $hsp = $hit->next_hsp ) {
                    print "score is: ", $hsp->score, "\n";
                }          }
        }
    }
} 
-- 
View this message in context: http://www.nabble.com/error-while-remote-blast-against-swissprot-db-tf3577674.html#a9997343
Sent from the Perl - Bioperl-L mailing list archive at Nabble.com.




More information about the Bioperl-l mailing list