Optimal-Time Mapping in Run-Length Compressed PBWT
Paola Bonizzoni, Davide Cozzi, Younan Gao
TL;DR
This work addresses the memory-efficiency and speed of mapping in the run-length encoded PBWT for multi-allelic haplotype panels. It introduces an O(tilde{r})-word data structure that supports constant-time forward and backward stepping by partitioning runs into sub-runs and organizing them into SubIB and SubIF representations. The authors then show how to perform efficient prefix searches and haplotype retrieval within this compressed framework, achieving time bounds of O(m' log log_w σ + occ) for prefix queries and O(w + log log_w h) for retrieval, all in O(tilde{r}) space (or O(tilde{r}) plus h when needed). These results provide a theoretically optimal-time mapping within μ-PBWT, enabling scalable analysis of large haplotype panels and foundational improvements for related PBWT-based tools in genomics.
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 $μ$-PBWT) achieves $O(\newR)$-word space usage, where $\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, \dots, σ-1\}$. We first establish bounds on the size $\newR$ and then introduce a new $O(\newR)$-word data structure built over a list of haplotypes $\{S_1, \dots, S_\height\}$, each of length $\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)$-word space data structure that supports haplotype retrieval in $O(\log \log_{\word} h + \width)$ time. For prefix search, we present an $O(\height + \newR)$-word data structure that answers queries in $O(m' \log\log_{\word} σ+ \occ)$ time, where $m'$ denotes the length of the longest common prefix returned and $\occ$ denotes the number of haplotypes prefixed the longest prefix.
