# Space-Efficient Computation of the LCP Array from the Burrows-Wheeler   Transform

**Authors:** Nicola Prezza, Giovanna Rosone

arXiv: 1901.05226 · 2019-01-23

## TL;DR

This paper introduces space-efficient algorithms for computing the LCP array from the BWT of large text collections, significantly reducing memory usage while maintaining high processing speeds, with practical applications in bioinformatics.

## Contribution

The authors present novel algorithms that compute the LCP array from the BWT using less memory than previous methods, applicable to large string collections including DNA reads.

## Key findings

- Achieved LCP computation at 2.92 MB/sec for 16 GiB DNA data
- Merged BWTs of two 8 GiB collections at 1.7 MB/sec
- Extended algorithms to compute LCP of merged collections efficiently

## Abstract

We show that the Longest Common Prefix Array of a text collection of total size n on alphabet [1, {\sigma}] can be computed from the Burrows-Wheeler transformed collection in O(n log {\sigma}) time using o(n log {\sigma}) bits of working space on top of the input and output. Our result improves (on small alphabets) and generalizes (to string collections) the previous solution from Beller et al., which required O(n) bits of extra working space. We also show how to merge the BWTs of two collections of total size n within the same time and space bounds. The procedure at the core of our algorithms can be used to enumerate suffix tree intervals in succinct space from the BWT, which is of independent interest. An engineered implementation of our first algorithm on DNA alphabet induces the LCP of a large (16 GiB) collection of short (100 bases) reads at a rate of 2.92 megabases per second using in total 1.5 Bytes per base in RAM. Our second algorithm merges the BWTs of two short-reads collections of 8 GiB each at a rate of 1.7 megabases per second and uses 0.625 Bytes per base in RAM. An extension of this algorithm that computes also the LCP array of the merged collection processes the data at a rate of 1.48 megabases per second and uses 1.625 Bytes per base in RAM.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1901.05226/full.md

## Figures

3 figures with captions in the complete paper: https://tomesphere.com/paper/1901.05226/full.md

## References

19 references — full list in the complete paper: https://tomesphere.com/paper/1901.05226/full.md

---
Source: https://tomesphere.com/paper/1901.05226