Simple Runs-Bounded FM-Index Designs Are Fast

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Abstract

Given a string X of length n on alphabet , the FM-index data structure allows counting all occurrences of a pattern P of length m in O(m) time via an algorithm called backward search. An important difficulty when searching with an FM-index is to support queries on L, the Burrows-Wheeler transform of X, while L is in compressed form. This problem has been the subject of intense research for 25 years now. Run-length encoding of L is an effective way to reduce index size, in particular when the data being indexed is highly-repetitive, which is the case in many types of modern data, including those arising from versioned document collections and in pangenomics. This paper takes a back-To-basics look at supporting backward search in FM-indexes, exploring and engineering two simple designs. The first divides the BWT string into blocks containing b symbols each and then run-length compresses each block separately, possibly introducing new runs (compared to applying run-length encoding once, to the whole string). Each block stores counts of each symbol that occurs before the block. This method supports the operation rankc(L, i) (i.e., count the number of times c occurs in the prefix L[1.i]) by first determining the block i/b in which i falls and scanning the block to the appropriate position counting occurrences of c along the way. This partial answer to rankc(L, i) is then added to the stored count of c symbols before the block to determine the final answer. Our second design has a similar structure, but instead divides the run-length-encoded version of L into blocks containing an equal number of runs. The trick then is to determine the block in which a query falls, which is achieved via a predecessor query over the block starting positions. We show via extensive experiments on a wide range of repetitive text collections that these FM-indexes are not only easy to implement, but also fast and space efficient in practice.

Original languageEnglish
Title of host publication21st International Symposium on Experimental Algorithms, SEA 2023
EditorsLoukas Georgiadis
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Publication dateJul 2023
Pages7:1--7:16
Article number7
ISBN (Electronic)978-3-95977-279-2
DOIs
Publication statusPublished - Jul 2023
MoE publication typeA4 Article in conference proceedings
EventInternational Symposium on Experimental Algorithms - Barcelona, Spain
Duration: 24 Jul 202326 Jul 2023
Conference number: 21

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume265
ISSN (Print)1868-8969

Fields of Science

  • data structures
  • efficient algorithms
  • 113 Computer and information sciences

Cite this