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