中文

计算超大字符串集合的最优 BWT

数据结构与算法 2022-12-05 v1

摘要

已知在大多数实现中,字符串集合的 Burrows-Wheeler 变换(BWT)的精确形式依赖于集合中字符串的输入顺序。对输入集合中的字符串重排序会影响相等字母游程数 rr,这可以说是基于 BWT 的数据结构(如 FM-index 或 rr-index)最重要的参数。Bentley、Gibney 和 Thankachan [ESA 2020] 提出了一种线性时间算法,用于计算使所得 BWT 游程数最少的输入集合排列。本文中,我们提出首个保证得到最少游程数 BWT(optBWT)的工具,结合:i) 从字符串集合构建 BWT 的算法(基于 SAIS [Cenzato 等, SPIRE 2021] 或 BCR [Bauer 等, CPM 2011]);ii) [Cox 等, Bioinformatics, 2012] 中引入的 SAP 数组数据结构;以及 iii) Bentley 等的算法。我们在真实与模拟数据上给出结果,表明相对于输入顺序在 rr 上取得的改进显著,且计算最优 BWT 带来的额外开销可忽略,使我们的工具在运行时间和空间占用上与其他 BWT 计算工具具有竞争力。特别是在真实数据上,optBWT 以仅 1.39×1.39\times 的减速取得了最多 31 倍的游程数减少。源代码见 https://github.com/davidecenzato/optimalBWT.git。

关键词

引用

@article{arxiv.2212.01156,
  title  = {Computing the optimal BWT of very large string collections},
  author = {Davide Cenzato and Veronica Guerrini and Zsuzsanna Lipták and Giovanna Rosone},
  journal= {arXiv preprint arXiv:2212.01156},
  year   = {2022}
}

备注

11 pages, 2 figures, 4 tables