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

Peter Kos kos@rite.or.jp" <kos@rite.or.jp
Thu, 23 May 2002 13:45:24 +0900


Hi Carsten,

I do not really understand some bits of your code, but obviously 
"TIMTOWTDI" or what.
Otherwise, according your question, taking in account the responses I 
have read,
I suspect that the problem stems from the parameters not defined 
explicitly. I do not know what
the default is for Filtering in manual NCBI and in 
Bio::Tools::Run::RemoteBlast, but
I know that it is on (T) by default in local blastall. It makes a 
whole lot of difference with respect to
scores and e-value if you do the same comparison with and without (or 
using different
kinds of) filtering, even if everything else is the same.
I would therefore suggest you to give it a try: set everything 
explicitly in both cases
and see what happens.
It may not help, but not difficult to try either.

Regards
Peter

> 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
>



..................................................................  
..........
Peter B. Kos, Ph.D.
Molecular Microbiology and Genetics Lab.
Research Institute of Innovative Technology for the Earth (RITE)
9-2 Kizugawadai, Kizu-cho, Soraku-gun,
Kyoto 619-0292 JAPAN
Phone: +81-774-75-2308
Fax: +81-774-75-2321
E-mail: kos@rite.or.jp