中文

通过批处理实现更高效的PBWT前缀数组访问

数据结构与算法 2026-05-26 v2

摘要

位置Burrows-Wheeler变换(PBWT)通常用于紧凑地存储单倍型面板,使得给定一个查询单倍型,我们可以快速找到查询与面板中单倍型之间的集合最大精确匹配(SMEMs)。此过程通常分为两步:首先,我们找到查询中在面板单倍型的相同位置出现的最大子串;然后,对于每个这样的子串,报告面板中该子串出现位置与查询中位置相同的单倍型。最近,Bonizzoni、Gagie和Gao(2026)为第二步给出了两种时间-空间权衡:他们要么使用 O((r+h)logn)O ((r + h) \log n) 比特和 O(loglogmin(h,)+k)O (\log \log \min (h, \ell) + k) 时间来报告面板中的 kk 个单倍型,要么使用 O(rlogh+hlogn)O (r \log h + h \log n) 比特和 O(kloglogh)O (k \log \log h) 时间,其中 rr 是面板PBWT中的运行次数,hh\elln=hn = h \ell 分别是面板的高度、长度和大小。我们在此观察到,如果我们可以批处理查询,直到找到 rlg(h)/lgrr \lg (h) / \lg r 个这样的子串,并且每个子串平均报告至少 lg(r)/lgh\lg (r) / \lg h 个面板中的单倍型,那么对于第二步,我们可以轻松地使用 O(rlogh)O (r \log h) 比特和常数时间来报告每个单倍型。我们的方法基于一种从PBWT快速构建前缀数组的算法,这可能具有独立的研究价值。为了完整性,我们也给出了散度数组的类似结果。

关键词

引用

@article{arxiv.2605.15819,
  title  = {More efficient PBWT prefix-array access via batching},
  author = {Travis Gagie},
  journal= {arXiv preprint arXiv:2605.15819},
  year   = {2026}
}