13章TabixとSQLite:メモリを使わないアプローチ

 この章では、「メモリ外の場所を使うアプローチ」を説明する。メモリ上ではなくディスク上にデータを保存して作業を行う計算上の戦略だ。ディスクからデータを読み取ることはメモリ内のデータを扱う場合よりもずっと遅くなるが(3章の3.3節「全能のUnixパイプ:スピードと美しさを1つに」を参照)、多くの場合これは、メモリ内処理や、(7章で見たようなUnixパイプを使った)ストリーミング処理が適切ではないときにとるべき手段である。特にここでは、メモリ外のデータを扱う2つのツール、TabixとSQLiteについて見ていくことにする。

13.1 BGZFとTabixを使用した索引付きのタブ区切りファイルへの高速アクセス

 BGZFとTabixは、ゲノミクスにおいて極めて重要な問題を解決する。ゲノムの場所や範囲にリンクされたデータに対して高速な読み取り専用ランダムアクセスがしばしば必要になるからだ。ゲノミクスで遭遇するデータの規模を考えると、この種のデータを取り出すのは、いくつかの理由から簡単なことではない。第1に、データが完全にメモリに収まらない可能性があるので、データがメモリ外(つまり低速ディスク上)にある場合のアプローチが必要となる。第2に、強力なリレーショナルデータベースシステムでさえも、特定の領域に重複する何百万ものエントリーを照会するときには遅くなることがある(これはゲノミクスではとても一般的な操作である)。本節で見るツールは、これらの制限を回避するために特別に設計され、タブ区切りのゲノム位置データへの高速ランダムアクセスを可能にしている。

 11章では、ソートされ索引が付けられたBAMファイルによって、特定の領域におけるアラインメントへのアクセスがいかに素早く行えるようになるかを見た。領域内のアラインメントの高速ランダムアクセスを可能にする技術は、BGZF(Blocked ...

Get バイオインフォマティクスデータスキル ―オープンソースツールを使ったロバストで再現性のある研究 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.