English

Wheeler maps

Data Structures and Algorithms 2023-08-22 v1

Abstract

Motivated by challenges in pangenomic read alignment, we propose a generalization of Wheeler graphs that we call Wheeler maps. A Wheeler map stores a text T[1..n]T[1..n] and an assignment of tags to the characters of TT such that we can preprocess a pattern P[1..m]P[1..m] and then, given ii and jj, quickly return all the distinct tags labeling the first characters of the occurrences of P[i..j]P[i..j] in TT. For the applications that most interest us, characters with long common contexts are likely to have the same tag, so we consider the number tt of runs in the list of tags sorted by their characters' positions in the Burrows-Wheeler Transform (BWT) of TT. We show how, given a straight-line program with gg rules for TT, we can build an O(g+r+t)O(g + r + t)-space Wheeler map, where rr is the number of runs in the BWT of TT, with which we can preprocess a pattern P[1..m]P[1..m] in O(mlogn)O(m \log n) time and then return the kk distinct tags for P[i..j]P[i..j] in optimal O(k)O(k) time for any given ii and jj. We show various further results related to prioritizing the most frequent tags.

Keywords

Cite

@article{arxiv.2308.09836,
  title  = {Wheeler maps},
  author = {Andrej Baláz and Travis Gagie and Adrián Goga and Simon Heumos and Gonzalo Navarro and Alessia Petescia and Jouni Sirén},
  journal= {arXiv preprint arXiv:2308.09836},
  year   = {2023}
}
R2 v1 2026-06-28T11:59:10.111Z