RES: [Bioperl-l] Mysql columns and Blast evalues
Aaron J. Mackey
amackey at pcbi.upenn.edu
Thu Mar 10 09:34:47 EST 2005
Many databases store mantissa and exponent separately, e.g. 4.5e-100
gets stored as 4.5 (low-precision float) and -100 (signed "medium"
integer)
That way you can continue to use native database filters:
SELECT *
FROM hit
WHERE hit.exponent <= -6
OR (hit.exponent = -5 AND hit.mantissa = 1)
This will identify all hits with E values less than or equal to 1e-5
(if you don't care about those equal to exactly 1e-5, you can drop the
OR clause).
This mechanism also allows you to format the mantissa for printing
precision, without worrying about converting the entire thing to a
less-precise double:
my $evalue = sprintf(%0.1fe%d, $mantissa, $exponent);
-Aaron
On Mar 10, 2005, at 4:42 AM, davila wrote:
> I wonder to know what other (mysql) column types (any further details
> would be appreciated) colleagues are using to store their Blast
> evalues ?
>
--
Aaron J. Mackey, Ph.D.
Dept. of Biology, Goddard 212
University of Pennsylvania email: amackey at pcbi.upenn.edu
415 S. University Avenue office: 215-898-1205
Philadelphia, PA 19104-6017 fax: 215-746-6697
More information about the Bioperl-l
mailing list