in reply to Re: Problem retrieving results from web server
in thread Problem retrieving results from web server

Thanks for the suggestion...much appreciated.

I've verified there's nothing wrong with the network and I've incorporated Data::Dumper so see what's going on:

my $blast_factory = Bio::Tools::Run::RemoteBlast -> new ( '-prog' => 'blastn', '-data' => 'nr', '-expect' => '1e-10', '-readmethod' => 'SearchIO'); print Dumper ($blast_factory); #ok #loop over all sequences input and count how many sequences are found my $count = 0; while (my $seq = $seqio -> next_seq) { $count++; #loop to blast each sequence against the database my $job = $blast_factory -> submit_blast ($seq); print "Blasting sequence number $count\n"; print Dumper($job); #returns 1, ok #loop to load rids returned for the blast job submitted while (my @rids = $blast_factory -> each_rid) { #loop over rids to check server for a result foreach my $rid (@rids) { print Dumper ($rid); #returns rid#, ok my $blast_results = $blast_factory -> retrieve_blast($rid); print Dumper ($blast_results); #returns -1, PROBLEM #check to see if a result object is returned if ( !ref($blast_results) ) { #if error returned remove rid from stack if ($blast_results == 0) { print STDERR "retrieve_blast returns 0\n"; #watch dots sleep 5; #pause between submitting requests to genbank server } elsif ($blast_results == (-1)) { print STDERR "retrieve_blast returns -1\n"; $blast_factory -> remove_rid($rid); } last if $blast_results == (-1); } #if result, use Bio::SearchIO to return a Bio::SeqIO result object if ( ref($blast_results)) { print "Receiving blast results...\n"; my $result = $blast_results -> next_result(); $blast_factory -> remove_rid($rid); #remove rid from stack

This is the output:

$VAR1 = bless( { '_root_cleanup_methods' => [ sub { "DUMMY" } ], '_readmethod' => 'SearchIO', '_flush_on_write' => 1, '_root_verbose' => 0 }, 'Bio::Tools::Run::RemoteBlast' ); Blasting sequence number 1 $VAR1 = '1'; $VAR1 = '1080865802-2043-175938892824'; -------------------- WARNING --------------------- MSG: --------------------------------------------------- $VAR1 = -1; retrieve_blast returns -1
Looks like it's able to use the $blast_factory settings to obtain an rid# from the queue, but once it's done that, throws an error when trying to retrieve the result object.