反復の多い文字列の近似検索を高速化する双方向r-index
Move-rb: Faster Bi-Directional r-indexes and Approximate Pattern Matching
この論文をやさしく読む
ひとことで言うと
ゲノムなど反復の多い文字列で、多少の違いを許してパターンを探すための圧縮索引を改良した。
何に役立つ?
大量で反復の多い配列の近似検索について、索引サイズ、検索速度、構築費用を比較する際に役立つ。
この研究の面白いところ
圧縮率だけでなく検索中のメモリーと構築時間も比較し、方向切替や文字拡張にかかる理論上の時間も示している。
どこまで分かった?
速度とメモリーの倍率は要旨に記載された比較条件での結果。br-indexより索引が2倍大きく、派生版も高速化と引き換えに索引が大きくなる。
v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
反復の多い文字列に対する近似パターン照合は、生命情報学で重要な課題である。双方向r-indexはパターンの左側と右側への拡張に対応し、検索スキームを使う近似照合を高速化する。しかし既存のbr-indexとb-moveには二つのボトルネックがある。拡張のたびに、連長符号化したBWT上で文字の前後を探す問い合わせにO(σ)の時間がかかること、そして位置特定の際に接尾辞配列区間の値を維持しPLCP配列にアクセスするため、疎なビットベクトル上で前者問い合わせが必要なことである。 本研究は、最適化されたr-indexであるMove-rを基に、双方向r-indexのMove-rbを提案する。Move-rbはbr-indexの2倍の大きさだが、b-moveより最大24%小さい。近似照合の問い合わせはbr-indexより1~4桁、b-moveより1.9~10倍速く、36~42倍大きい非圧縮の双方向FM-indexであるcolumbaよりも最大5.5倍速い。索引自体を含む、近似照合で位置を特定する際のメモリー使用量は、ハミング距離では1.5倍、最大6.5倍、編集距離では2.5倍、最大7.4倍削減された。構築もbr-index、b-move、columbaより3~14倍速く、必要なメモリーは19~141分の1だった。相対Lempel-Ziv符号化した接尾辞配列を使う派生版は、索引が1.2~2.4倍大きくなる一方、位置特定が最大10倍速くなる。 これらの高速化には索引操作と検索スキームによる近似照合の最適化を用いる。方向を切り替えなければ、Move-rbは全長k文字への拡張を出力サイズに対して最適なO(k)時間で計算でき、1文字への拡張も同じ時間で行う。さらにO((r+逆方向のr) log(n/r_min) log σ)ビットを加えると、1文字拡張はO(log σ)時間になる。ここでrと逆方向のrは文字列とその逆順のBWTにおけるランの数で、r_minはその小さいほうである。方向切替による追加時間はO(log log_ω(n/r_min))にとどまる。
v1の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-24(UTC)
- 最新改訂
- 2026-09-24 · v1
- 査読・掲載
- 査読状況未確認
更新履歴
- v1 2026-09-24 この版を読む
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
Approximate pattern matching (APM) on highly repetitive texts is a central task in bioinformatics. Bi-directional r-indexes support left- and right-extension of a pattern and thereby accelerate APM algorithms based on search schemes, but existing variants -- br-index and b-move -- suffer from two bottlenecks: $O(\sigma)$ character-predecessor/-successor queries on the run-length-encoded BWT per extension, and predecessor queries on sparse bit vectors to maintain a value in the suffix array interval and to access the PLCP array while locating. We present Move-rb, a bi-directional r-index built on the optimized r-index Move-r. Although Move-rb is 2x larger than br-index, it is up to 24% smaller than b-move, answers APM queries 1-4 orders of magnitude faster than br-index, 1.9-10x faster than b-move and up to 5.5x faster than the state-of-the-art bi-directional (uncompressed) FM-index columba, which is 36-42x larger. Memory usage (including index size) during APM locate queries is reduced by 1.5x (up to 6.5x) for Hamming distance and 2.5x (up to 7.4x) for edit distance. Move-rb can be constructed 3-14x faster while using 19-141x less memory than br-index, b-move and columba. A variant using a relative Lempel-Ziv-encoded suffix array locates up to 10x faster while being 1.2-2.4x larger. We achieve these speedups by optimizing index operations and search scheme APM algorithms: Without a direction switch, Move-rb computes an all-$k$-character extension in output-optimal $O(k)$ time and a single-character extension in the same time. Augmenting Move-rb with $O((r+\overleftarrow{r})\log(n/r_{\min})\log\sigma)$ bits reduces a single-character extension to $O(\log\sigma)$ time, where $r$ and $\overleftarrow{r}$ are the numbers of runs in the BWT of the text and its reverse, and $r_{\min}=\min(r,\overleftarrow{r})$. A direction switch incurs only $O(\log\log_\omega(n/r_{\min}))$ additional time.
著者のコメント
26 pages, 14 figures, 9 tables. Accepted at the SIAM Symposium on Algorithm Engineering and Experiments (ALENEX 2027)
arXiv ID: 2609.30089 / 要約の誤りについて