[Bioperl-l] Trouble using RemoteBlast.pm

Keith Boroevich kaboroev at sfu.ca
Wed Jan 18 12:55:09 EST 2006


I'm not sure if this is related, but in the last 3 days my remote BLAST
scripts have stop working.  I have not modified the code in any way.
The retrieve_blast() returns successful, and next_result() does return a
"Bio::Search::Result::BlastResult=HASH(0x15ad8d0)" object but takes a
long time to do so.  However, next_hit returns undef.  I'm not really
sure how to approach this problem.  Prior to 3 days ago the scripts
worked perfectly returning a list of hits, their accession and
significance.

Keith


On Tue, 2006-01-17 at 11:34 -0700, Barry Moore wrote:
> Nagesh-
> 
> Did you get this figured out?  Your script works as is on my system.
> You say temp.out is empty?  What does you input sequence
> (blastInput.txt) look like?
> 
> Barry
> 
> > -----Original Message-----
> > From: bioperl-l-bounces at portal.open-bio.org [mailto:bioperl-l-
> > bounces at portal.open-bio.org] On Behalf Of Hubert Prielinger
> > Sent: Monday, January 16, 2006 2:54 PM
> > To: Nagesh Chakka; bioperl-l at portal.open-bio.org
> > Subject: Re: [Bioperl-l] Trouble using RemoteBlast.pm
> > 
> > Nagesh Chakka wrote:
> > 
> > >Hi All,
> > >I was trying to setup a system to perform a remote blast on regular
> > basis. I
> > >thought this could be best achieved by using BioPerl module and came
> > across
> > >RemoteBlast.pm
> > >I had modified the sample script "bp_remote_blast.pl" which takes a
> file
> > >containing single FASTA sequence as an input. Also I wanted the blast
> > report
> > >to be saved in a file for latter use and
> > >modified the code as follows
> > >I am using the latest version of Bioperl (1.5) on a Fedora platform.
> >
> >#######################################################################
> > >print "$Bio::Root::Version::VERSION\n";
> > >use Bio::Tools::Run::RemoteBlast;
> > >use strict;
> > >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);
> > >
> > >#change a paramter
> > >$Bio::Tools::Run::RemoteBlast::HEADER{'ENTREZ_QUERY'} = 'Homo sapiens
> > >[ORGN]';
> > >
> > >#remove a parameter
> > >delete $Bio::Tools::Run::RemoteBlast::HEADER{'FILTER'};
> > >
> > >my $v = 1;
> > >#$v is just to turn on and off the messages
> > >
> > >my $r = $factory->submit_blast('blastInput.txt');
> > >
> > >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
> > >                {
> > >                        print "RID $rid\n";
> > >                        $factory->save_output('temp.out');
> > >                        $factory->remove_rid($rid);
> > >                }
> > >        }
> > >}
> > >
> >
> >#######################################################################
> ##
> > ########
> > >
> > >This script prints the RID and terminates immediately. Obviously the
> > >output file created is empty as the program did not wait for getting
> the
> > >blast results from the RID.
> > >Is there something I am doing wrong and what can I do for the program
> to
> > wait
> > >until the results are ready to be printed to the output file. I could
> not
> > get
> > >much information from the documentation and have no prior experience
> with
> > >Bioperl.
> > >Thanks very much for  your attention.
> > >Regards
> > >Nageshbi
> > >_______________________________________________
> > >Bioperl-l mailing list
> > >Bioperl-l at portal.open-bio.org
> > >http://portal.open-bio.org/mailman/listinfo/bioperl-l
> > >
> > >
> > >
> > >
> > hi nagesh,
> > try this, should work, I had the same problem:
> > 
> > .......................
> > .......................
> > 
> > else
> >                 {
> >                         print "RID $rid\n";
> >                         $factory->save_output('temp.out');
> > 
> > 			my $checkinput = $factory->file;
> >               		open(my $fh,"<$checkinput") or die $!;
> >               		while(<$fh>){
> >                 		print;
> >               		}
> >               		close $fh;
> > 
> > 
> > 			$factory->remove_rid($rid);
> >                 }
> >         }
> > }
> > 
> > regards
> > Hubert
> > 
> > PS: are you using the composition based statistics parameter with your
> > blast search?
> > if yes, is it working?
> > 
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at portal.open-bio.org
> > http://portal.open-bio.org/mailman/listinfo/bioperl-l
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l
> 



More information about the Bioperl-l mailing list