English

Optimal-Time Mapping in Run-Length Compressed PBWT

Data Structures and Algorithms 2026-02-17 v1

Abstract

The Positional Burrows--Wheeler Transform (PBWT) is a data structure designed for efficiently representing and querying large collections of sequences, such as haplotype panels in genomics. Forward and backward stepping operations -- analogues to LF- and FL-mapping in the traditional BWT -- are fundamental to the PBWT, underpinning many algorithms based on the PBWT for haplotype matching and related analyses. Although the run-length encoded variant of the PBWT (also known as the μ\mu-PBWT) achieves O(\newR)O(\newR)-word space usage, where \newR\newR is the total number of runs, no data structure supporting both forward and backward stepping in constant time within this space bound was previously known. In this paper, we consider the multi-allelic PBWT that is extended from its original binary form to a general ordered alphabet {0,,σ1}\{0, \dots, \sigma-1\}. We first establish bounds on the size \newR\newR and then introduce a new O(\newR)O(\newR)-word data structure built over a list of haplotypes {S1,,S\height}\{S_1, \dots, S_\height\}, each of length \width\width, that supports constant-time forward and backward stepping. We further revisit two key applications -- haplotype retrieval and prefix search -- leveraging our efficient forward stepping technique. Specifically, we design an O(\newR)O(\newR)-word space data structure that supports haplotype retrieval in O(loglog\wordh+\width)O(\log \log_{\word} h + \width) time. For prefix search, we present an O(\height+\newR)O(\height + \newR)-word data structure that answers queries in O(mloglog\wordσ+\occ)O(m' \log\log_{\word} \sigma + \occ) time, where mm' denotes the length of the longest common prefix returned and \occ\occ denotes the number of haplotypes prefixed the longest prefix.

Keywords

Cite

@article{arxiv.2602.13461,
  title  = {Optimal-Time Mapping in Run-Length Compressed PBWT},
  author = {Paola Bonizzoni and Davide Cozzi and Younan Gao},
  journal= {arXiv preprint arXiv:2602.13461},
  year   = {2026}
}

Comments

To appear in CPM2026 (r1)

R2 v1 2026-07-01T10:36:15.814Z