Background: The computation of the statistical properties of motif occurrences
has an obviously relevant application: patterns that are significantly over- or under-represented
in genomes or proteins are interesting candidates for biological roles. However, the problem is
computationally hard; as a result, virtually all the existing motif finders use fast but
approximate scoring functions, in spite of the fact that they have been shown to produce
systematically incorrect results. A few interesting exact approaches are known, but they are very
slow and hence not practical in the case of realistic sequences.
Results: We give an exact solution, solely based on deterministic finite-state
automata (DFA), to the problem of finding the whole relevant part of the probability distribution
function of a simple-word motif in a homogeneous (biological) sequence. Out of that, the
z-value can always be computed, while the P-value can be obtained either when
it is not too extreme with respect to the number of floating-point digits available in the
implementation, or when the number of pattern occurrences is moderately low. In particular, the
time complexity of the algorithms for Markov models of moderate order (0≤m≤2) is
far better than that of Nuel, which was the fastest similar exact algorithm known to date; in
many cases, even approximate methods are outperformed.
Conclusions: DFA are a standard tool of computer science for the study of
patterns; previous works in biology propose algorithms involving automata, but there they are
used, respectively, as a first step to write a generating function, or to build a finite
Markov-chain imbedding (FMCI). In contrast, we directly rely on DFA to perform the calculations;
thus we manage to obtain an algorithm which is both easily interpretable and efficient. This
approach can be used for exact statistical studies of very long genomes and protein sequences, as
we illustrate with some examples on the scale of the human genome.
Contact: paolo.ribeca@gmail.com