在外存中计算一组字符串的BWT和LCP数组
数据结构与算法
2020-12-07 v2
摘要
对超大规模字符串集合(例如由广泛使用的下一代测序技术产生的那些)进行索引,严重依赖于Burrows-Wheeler变换(BWT)的多字符串推广:内存方法的高要求刺激了近期外存算法的发展。计算一组字符串的最长公共前缀(LCP)数组的相关问题,对于计算字符串间的后缀-前缀重叠至关重要,这是许多基因组组装算法的关键步骤。在先前的一篇论文中,我们提出了一种内存中的分治方法来构建BWT和LCP,其中我们使用前向策略合并部分BWT以对后缀进行排序。在本文中,我们提出了一种替代的后向策略,以开发一种外存方法,用于在由不同长度的个字符串组成的集合上同时构建BWT和LCP数组。对于具有恒定长度的字符串集合,该算法的时间复杂度和I/O量为,使用的主存,其中是LCP数组中的最大值。
引用
@article{arxiv.1705.07756,
title = {Computing the BWT and LCP array of a Set of Strings in External Memory},
author = {Paola Bonizzoni and Gianluca Della Vedova and Yuri Pirola and Marco Previtali and Raffaella Rizzi},
journal= {arXiv preprint arXiv:1705.07756},
year = {2020}
}
备注
Theoretical Computer Science (2020). arXiv admin note: text overlap with arXiv:1607.08342