English

Indexing Weighted Sequences: Neat and Efficient

Data Structures and Algorithms 2017-08-28 v2

Abstract

In a \emph{weighted sequence}, for every position of the sequence and every letter of the alphabet a probability of occurrence of this letter at this position is specified. Weighted sequences are commonly used to represent imprecise or uncertain data, for example, in molecular biology where they are known under the name of Position-Weight Matrices. Given a probability threshold 1z\frac1z, we say that a string PP of length mm occurs in a weighted sequence XX at position ii if the product of probabilities of the letters of PP at positions i,,i+m1i,\ldots,i+m-1 in XX is at least 1z\frac1z. In this article, we consider an \emph{indexing} variant of the problem, in which we are to preprocess a weighted sequence to answer multiple pattern matching queries. We present an O(nz)O(nz)-time construction of an O(nz)O(nz)-sized index for a weighted sequence of length nn over a constant-sized alphabet that answers pattern matching queries in optimal, O(m+Occ)O(m+Occ) time, where OccOcc is the number of occurrences reported. The cornerstone of our data structure is a novel construction of a family of z\lfloor z \rfloor special strings that carries the information about all the strings that occur in the weighted sequence with a sufficient probability. We obtain a weighted index with the same complexities as in the most efficient previously known index by Barton et al. (CPM 2016), but our construction is significantly simpler. The most complex algorithmic tool required in the basic form of our index is the suffix tree which we use to develop a new, more straightforward index for the so-called property matching problem. We provide an implementation of our data structure. Our construction allows us also to obtain a significant improvement over the complexities of the approximate variant of the weighted index presented by Biswas et al. (EDBT 2016) and an improvement of the space complexity of their general index.

Keywords

Cite

@article{arxiv.1704.07625,
  title  = {Indexing Weighted Sequences: Neat and Efficient},
  author = {Carl Barton and Tomasz Kociumaka and Chang Liu and Solon P. Pissis and Jakub Radoszewski},
  journal= {arXiv preprint arXiv:1704.07625},
  year   = {2017}
}

Comments

A new, even simpler version of the index

R2 v1 2026-06-22T19:27:03.253Z