[Bioperl-l] no leading digit in expect values < 1e-99

Hilmar Lapp lapp@gnf.org
Sat, 09 Jun 2001 16:11:01 -0700


"Saurabh D. Patel" wrote:
> 
> your perl one liner prints cool on my system too.  I looked a little in
> HSP.pm under the BPlite directory and noticed the lines:
> 
>         my ($p)        = $scoreline =~ /[Sum ]*P[\(\d+\)]* = (\S+)/;
>         if (not defined $p) {($p) = $scoreline =~ /Expect = (\S+)/}
> 
> compare with HSP.pm under the Blast directory:
> 
>         $p      = "1$p"      if defined $p and $p=~ /^e/i;
> 
> I think adding this line would catch this case.
> 

Actually, if my one-liner were true, this doesn't matter at all.
However, my one-liner misses a tiny but important thing: the option
-w. If you add that you'll see that the comparison is done
alphanumerically.

Omitting the leading digit was a very very ill decision by NCBI IMO.
You can't even parse e-108 in C sscanf("e-108","%lf",&double_var).
Java (JDK 1.3) Double("e-108") doesn't do the job either. Who at NCBI
was responsible for this decision?? Is there a newer revision
correcting this?

	Hilmar

-- 
-------------------------------------------------------------
Hilmar Lapp                            email: lapp@gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
-------------------------------------------------------------