Nathaniel K Brown, Travis Gagie, Massimiliano Rossi
{"title":"RLBWT Tricks.","authors":"Nathaniel K Brown, Travis Gagie, Massimiliano Rossi","doi":"","DOIUrl":null,"url":null,"abstract":"<p><p>Until recently, most experts would probably have agreed we cannot backwards-step in constant time with a run-length compressed Burrows-Wheeler Transform (RLBWT), since doing so relies on rank queries on sparse bitvectors and those inherit lower bounds from predecessor queries. At ICALP '21, however, Nishimoto and Tabei described a new, simple and constant-time implementation. For a permutation <math><mi>π</mi></math> , it stores an <math><mrow><mi>O</mi> <mfenced><mi>r</mi></mfenced> </mrow> </math> -space table - where <math><mi>r</mi></math> is the number of positions <math><mi>i</mi></math> where either <math><mrow><mi>i</mi> <mo>=</mo> <mn>0</mn></mrow> </math> or <math><mrow><mi>π</mi> <mfenced><mrow><mi>i</mi> <mo>+</mo> <mn>1</mn></mrow> </mfenced> <mo>≠</mo> <mi>π</mi> <mfenced><mi>i</mi></mfenced> <mo>+</mo> <mn>1</mn></mrow> </math> - that enables the computation of successive values of <math><mrow><mi>π</mi> <mfenced><mi>i</mi></mfenced> </mrow> </math> by table look-ups and linear scans. Nishimoto and Tabei showed how to increase the number of rows in the table to bound the length of the linear scans such that the query time for computing <math><mrow><mi>π</mi> <mfenced><mi>i</mi></mfenced> </mrow> </math> is constant while maintaining <math><mrow><mi>O</mi> <mfenced><mi>r</mi></mfenced> </mrow> </math> -space. In this paper we refine Nishimoto and Tabei's approach, including a time-space tradeoff, and experimentally evaluate different implementations demonstrating the practicality of part of their result. We show that even without adding rows to the table, in practice we almost always scan only a few entries during queries. We propose a decomposition scheme of the permutation <math><mi>π</mi></math> corresponding to the LF-mapping that allows an improved compression of the data structure, while limiting the query time. We tested our implementation on real-world genomic datasets and found that without compression of the table, backward-stepping is drastically faster than with sparse bitvector implementations but, unfortunately, also uses drastically more space. After compression, backward-stepping is competitive both in time and space with the best existing implementations.</p>","PeriodicalId":30209,"journal":{"name":"Leibniz International Proceedings in Informatics","volume":"233 ","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2022-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11327918/pdf/","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Leibniz International Proceedings in Informatics","FirstCategoryId":"1085","ListUrlMain":"","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2022/7/11 0:00:00","PubModel":"Epub","JCR":"Q3","JCRName":"Computer Science","Score":null,"Total":0}
引用次数: 0
Abstract
Until recently, most experts would probably have agreed we cannot backwards-step in constant time with a run-length compressed Burrows-Wheeler Transform (RLBWT), since doing so relies on rank queries on sparse bitvectors and those inherit lower bounds from predecessor queries. At ICALP '21, however, Nishimoto and Tabei described a new, simple and constant-time implementation. For a permutation , it stores an -space table - where is the number of positions where either or - that enables the computation of successive values of by table look-ups and linear scans. Nishimoto and Tabei showed how to increase the number of rows in the table to bound the length of the linear scans such that the query time for computing is constant while maintaining -space. In this paper we refine Nishimoto and Tabei's approach, including a time-space tradeoff, and experimentally evaluate different implementations demonstrating the practicality of part of their result. We show that even without adding rows to the table, in practice we almost always scan only a few entries during queries. We propose a decomposition scheme of the permutation corresponding to the LF-mapping that allows an improved compression of the data structure, while limiting the query time. We tested our implementation on real-world genomic datasets and found that without compression of the table, backward-stepping is drastically faster than with sparse bitvector implementations but, unfortunately, also uses drastically more space. After compression, backward-stepping is competitive both in time and space with the best existing implementations.
直到最近,大多数专家可能都认为我们无法在恒定时间内使用运行长度压缩 Burrows-Wheeler 变换 (RLBWT) 进行后向步进,因为这样做依赖于对稀疏位向量的秩查询,而这些查询继承了前一个查询的下限。不过,在 ICALP '21 上,Nishimoto 和 Tabei 描述了一种新的、简单的恒定时间实现方法。对于一个置换π,它存储了一个 O r 空间表(其中 r 是 i = 0 或 π i + 1 ≠ π i + 1 的位置 i 的数量),可以通过查表和线性扫描计算 π i 的连续值。Nishimoto 和 Tabei 展示了如何增加表中的行数以限制线性扫描的长度,从而使计算 π i 的查询时间恒定,同时保持 O r 空间。在本文中,我们对 Nishimoto 和 Tabei 的方法进行了改进,包括时间-空间权衡,并对不同的实现方法进行了实验评估,证明了他们的部分结果的实用性。我们表明,即使不在表中添加行,在实际查询中我们也几乎总是只扫描几个条目。我们提出了一种与 LF 映射相对应的 permutation π 分解方案,该方案可以改进数据结构的压缩,同时限制查询时间。我们在真实世界的基因组数据集上测试了我们的实施方案,发现在不压缩表的情况下,后向步进比稀疏位向量实施方案快得多,但不幸的是,使用的空间也大得多。压缩后,后向步法在时间和空间上都能与现有的最佳实现方法相媲美。