Skip to main content
QUICK REVIEW

[논문 리뷰] Space-Efficient Computation of the LCP Array from the Burrows-Wheeler Transform

Nicola Prezza, Giovanna Rosone|arXiv (Cornell University)|2019. 01. 01.
Algorithms and Data Compression인용 수 7
한 줄 요약

이 논문은 Burrows-Wheeler 변환(BWT)으로부터 직접적으로 LCP 배열과 문자열 컬렉션의 BWT 병합을 계산하기 위한 공간 효율적인 알고리즘을 제시한다. 입력 및 출력을 제외한 추가 working space로 o(n log σ) 비트를 사용한다. Belazzougui의 접미사 트리 간격 탐색 알고리즘과 Beller 등이 제안한 LCP 구성 방법을 융합함으로써, 최적의 공간 사용을 달성하면서도 O(n log σ) 시간 복잡도를 유지하며, 소규모 알파벳에 대해 이전의 O(n) working space 솔루션보다 크게 향상되고 컬렉션으로 일반화된다.

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.

연구 동기 및 목표

  • 텍스트 컬렉션의 BWT로부터 sublinear working space를 사용하여 LCP 배열을 계산하는 것.
  • 단일 텍스트에서의 공간 효율적 LCP 계산을 문자열 컬렉션으로 일반화하는 것.
  • 두 개의 문자열 컬렉션 BWT를 병합하기 위한 공간 효율적 알고리즘을 설계하는 것.
  • 핵심 알고리즘을 지원하는 LCP 배열의 간단한 간격 탐색을 가능하게 하는 것.
  • 최소한의 램 사용으로 대규모 생물정보학적 데이터, 예를 들어 단백질 조각 컬렉션에서 높은 성능을 달성하는 것.

제안 방법

  • 웨이블릿 트리 표현을 사용하여 BWT로부터 오른쪽 최대 부분문자열과 그 SA-범위를 탐색하는 Belazzougui의 알고리즘을 활용한다.
  • 일반화된 접미사 트리의 리프 간격을 포함하도록 탐색을 수정하여 컬렉션의 LCP 배열 구성이 가능하도록 한다.
  • 하이브리드 데이터 구조 전략을 사용: 소규모 알파벳(σ < √n / log²n)의 경우 O(σ² log²n) working space를 사용하고, 더 큰 알파벳의 경우 Beller 등이 제안한 O(n) 공간 방법으로 백업한다.
  • LCP 배열과 문서 배열의 출력 공간을 재사용하여 중간 웨이블릿 행렬을 저장함으로써 총 working space를 o(n log σ) 비트로 감소시킨다.
  • 알파벳 크기에 따라 우선순위 큐 또는 스택을 사용하여 BWT 병합 중 간격 쌍을 관리함으로써 공간 효율성을 유지한다.
  • 웨이블릿 트리에서 순서 수를 사용한 역방향 검색을 통해 탐색 및 병합 중 확장된 부분문자열의 SA-범위를 계산한다.

실험 결과

연구 질문

  • RQ1LCP 배열을 o(n log σ) 비트의 sublinear working space를 사용하여 BWT로부터 유도할 수 있는가?
  • RQ2일반화된 접미사 트리의 컬렉션을 위해 접미사 트리 간격 탐색 절차를 리프 노드를 포함하도록 어떻게 확장할 수 있는가?
  • RQ3BWT 병합을 위해 o(n log σ) 비트의 working space를 사용하면서도 병합된 BWT를 재구성할 수 있는 능력을 유지할 수 있는가?
  • RQ4LCP 배열 계산 및 BWT 병합 시 공간 효율성과 시간 복잡도 사이의 성능 트레이드오프는 어떠한가?
  • RQ5제안된 알고리즘이 최소한의 램 사용으로 실제 생물정보학적 데이터, 예를 들어 단백질 DNA 조각에서 효율적으로 구현 가능한가?

주요 결과

  • 크기가 n인 알파벳 [1, σ]을 가진 텍스트 컬렉션의 LCP 배열은 BWT와 LCP를 제외한 추가 working space로 o(n log σ) 비트를 사용하여 O(n log σ) 시간에 계산할 수 있다.
  • 이 알고리즘은 Beller 등이 제안한 O(n) working space 솔루션을 컬렉션으로 일반화하여 공간 사용량을 o(n log σ) 비트로 감소시킨다.
  • 총 크기가 n인 두 컬렉션의 BWT는 o(n log σ) 비트의 working space를 사용하여 O(n log σ) 시간에 병합할 수 있으며, 이 과정에서 문서 배열이 부가적으로 계산된다.
  • DNA 알파벳을 대상으로 한 최적화된 구현은 16 GiB의 100-bp 단백질 조각을 1.5 바이트/기준점의 램 사용량으로 초당 2.92메가바이트 속도로 처리한다.
  • 두 개의 8 GiB 컬렉션을 병합하는 BWT 병합 알고리즘은 0.625 바이트/기준점의 램 사용량으로 초당 1.7메가바이트 속도로 처리된다.
  • 병합된 컬렉션의 LCP 배열을 계산하는 확장된 버전은 1.625 바이트/기준점의 램 사용량으로 초당 1.48메가바이트 속도로 처리된다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.