[Bioperl-l] Trouble using RemoteBlast.pm
Nagesh Chakka
nagesh.chakka at anu.edu.au
Mon Jan 16 16:56:45 EST 2006
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
More information about the Bioperl-l
mailing list