package biocaml
Install
Dune Dependency
Authors
Maintainers
Sources
md5=497e3f2f7128a6ca347d66848da38a3d
sha512=4a76ebbafda3bc944afaff40d69791dfe153a0638ef5d7e6e1bc962b7f991d9545cd0af2d7930b39f8b31dbf067d0603cfa03d9b7a49396ab1ae452df47fd1f3
doc/biocaml.unix/Biocaml_unix/Solexa_score/index.html
Module Biocaml_unix.Solexa_score
Solexa quality scores.
A Solexa score is defined as -10*log(p/(1-p)) rounded to an integer, where p is a probability. Phred scores are far more widely used, and the Phred_score
module supports converting Solexa scores to Phred scores.
For details see The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. This module supports what is called the fastq-solexa format in this paper, with one exception. We are more permissive here in allowing conversions from/to the entire range of visible ASCII characters (codes 33 - 126) instead of restricting to codes 59 - 126 as specified in this paper. The smaller range is apparently based on the original Solexa software returning minimum scores of -5, but there is no reason for this minimum based on the general definition of Solexa scores.
val of_ascii : char -> t
of_ascii x
returns the PHRED score encoded by ASCII character x
.
val to_ascii : t -> char
to_ascii t
encodes t
as an ASCII character.
val of_probability : ?f:(float -> int) -> float -> t
of_probability ~f x
returns -10 * log_10(x/(1-x))
, which is the definition of Solexa scores.
Solexa scores are integral, and it is unclear what convention is used to convert the resulting float value to an integer. Thus, the optional f
is provided to dictate this. The default is to round the computed score to the closest integer.
val to_probability : t -> float
to_probablity x
converts x
to a probablity score. Note this is not the inverse of of_probability
due to the rounding done by the latter.