U-index: A Universal Indexing Framework for Matching Long Patterns
Lorraine A. K. Ayad, Gabriele Fici, Ragnar Groot Koerkamp, Grigorios Loukides, Rob Patro, Giulio Ermanno Pibiri, Solon P. Pissis
TL;DR
This work introduces the U-index, a universal, sketch-based framework for long-pattern text indexing that places a lightweight sketch of the text atop the original data and builds an index on that sketch. By sketching both the text and queries with minimizers (or other locally consistent sketches) and then verifying candidate matches in the original text, the approach enables fast construction and substantially reduced index size while preserving competitive query performance for long patterns ($m\ge\ell$). The framework is agnostic to the underlying index on the sketch (e.g., suffix array, FM-index), and provides formal performance guarantees that relate construction time and space to the sketch size $z$ and a tunable parameter $\tau$ for encoding the sketch. Experimental results demonstrate substantial space and construction-time benefits over traditional indexes on DNA, protein, and English corpora, with practical effectiveness highlighted by long-read mapping experiments in computational biology. The work suggests that sketch-based universal indexes are promising where queries are long and datasets are large, offering a flexible, modular path to scalable text search.
Abstract
Text indexing is a fundamental and well-studied problem. Classic solutions either replace the original text with a compressed representation, e.g., the FM-index and its variants, or keep it uncompressed but attach some redundancy - an index - to accelerate matching. The former solutions thus retain excellent compressed space, but are slow in practice. The latter approaches, like the suffix array, instead sacrifice space for speed. We show that efficient text indexing can be achieved using just a small extra space on top of the original text, provided that the query patterns are sufficiently long. More specifically, we develop a new indexing paradigm in which a sketch of a query pattern is first matched against a sketch of the text. Once candidate matches are retrieved, they are verified using the original text. This paradigm is thus universal in the sense that it allows us to use any solution to index the sketched text, like a suffix array, FM-index, or r-index. We explore both the theory and the practice of this universal framework. With an extensive experimental analysis, we show that, surprisingly, universal indexes can be constructed much faster than their unsketched counterparts and take a fraction of the space, as a direct consequence of (i) having a lower bound on the length of patterns and (ii) working in sketch space. Furthermore, these data structures have the potential of retaining or even improving query time, because matching against the sketched text is faster and verifying candidates can be theoretically done in constant time per occurrence (or, in practice, by short and cache-friendly scans of the text). Finally, we discuss some important applications of this novel indexing paradigm to computational biology. We hypothesize that such indexes will be particularly effective when the queries are sufficiently long, and so demonstrate applications in long-read mapping.
