Abstract

The deviation of the observed frequency of a word ww from its expected frequency in a given sequence xx is used to determine whether or not the word is avoided. This concept is particularly useful in DNA linguistic analysis. The value of the standard deviation of ww, denoted by std(w)std(w), effectively characterises the extent of a word by its edge contrast in the context in which it occurs. A word ww of length k>2k>2 is a ρρ-avoided word in xx if std(w)≤ρstd(w) \leq ρ, for a given threshold ρ<0ρ< 0. Notice that such a word may be completely absent from xx. Hence computing all such words na\"ıvely can be a very time-consuming procedure, in particular for large kk. In this article, we propose an O(n)O(n)-time and O(n)O(n)-space algorithm to compute all ρρ-avoided words of length kk in a given sequence xx of length nn over a fixed-sized alphabet. We also present a time-optimal O(σn)O(σn)-time and O(σn)O(σn)-space algorithm to compute all ρρ-avoided words (of any length) in a sequence of length nn over an alphabet of size σσ. Furthermore, we provide a tight asymptotic upper bound for the number of ρρ-avoided words and the expected length of the longest one. We make available an open-source implementation of our algorithm. Experimental results, using both real and synthetic data, show the efficiency of our implementation.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.