[Bioperl-l] e-value from RemoteBlast differs from hand made blast

Carsten Daub daub@mpimp-golm.mpg.de
Wed, 22 May 2002 12:56:55 +0200


Hi,

I blasted with RemoteBlast and the score/e-values I obtain differ from
the ones
I get by a hand made blast at NCBI.
Is there a way to get the the same score/e-value by RemoteBlast as by
hand-made blast?

Carsten

Here the program text I used:

use Bio::Tools::Run::RemoteBlast;
use strict;
my $v = 1;
my $prog = 'blastp';
my $db   = 'nr';
my $e_val= '50';

my @params = ( '-prog' => $prog,
               '-data' => $db,
               '-expect' => $e_val );

my $factory = Bio::Tools::Run::RemoteBlast->new(@params);
$v = 1;
my $str = Bio::SeqIO->new(-file=>$ARGV[0] , '-format' => 'fasta' );
my $input = $str->next_seq();
my $readmethod = $factory->readmethod;
print STDERR "readmethod: $readmethod\n";

#  Blast a sequence against a database:
my $r = $factory->submit_blast($input);
print STDERR "waiting..." if( $v > 0 );
print "#name\tdescription\traw_score\tevalue\n";
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 {
      $factory->remove_rid($rid);
      my $result = $rc->next_result;
      #print "db is ", $result->database_name(), "\n";
      my $count = 0;
      while( my $hit = $result->next_hit ) {
        $count++;
        next unless ( $v > 0);
        print $hit->name, "\t", $hit->description(), "\t",
$hit->raw_score(), "\t", $hit->significance(), "\n";
        #print "hit name    : ", $hit->name, "\n";
        #print "description : ", $hit->description(), "\n";
        #print "length      : ", $hit->length, "\n";
        #print "algorithm   : ", $hit->algorithm(), "\n";
        #print "raw score   : ", $hit->raw_score(), "\n";
        #print "significance: ", $hit->significance(), "\n";
        #while( my $hsp = $hit->next_hsp ) {
        #  print "score      : ", $hsp->score, "\n";
        #  print "evalue     : ", $hsp->evalue(), "\n";
        #}
      }
    }
  }
}

--
Carsten Daub
MPI of Molecular Plant Physiology