Skip to main content
QUICK REVIEW

[論文レビュー] Fractional Hitting Sets for Efficient and Lightweight Genomic Data Sketching

Rouzé, Timothé, Martayan, Igor|arXiv (Cornell University)|May 25, 2015
Genomics and Phylogenetic Studies参考文献 18被引用数 47
ひとこと要約

本稿では、短いリードを共通の最小部分文字列(p ≤ k)を共有する「スーパーk-mers」の互いに重複のない部分に分割する最小部分文字列分割(MSP)を用いた、ディスクベースのk-mャンタリング手法MSPKmerCounterを提案する。リード内でのk-mャンタリングの重複を活用することで、高い圧縮が達成され、I/Oおよびメモリ使用量が削減される。大規模なゲノムデータセットにおいて、Jellyfish や BFCounter よりも高速かつメモリ効率に優れる。これにより、一般ハードウェア上でもスケーラブルでメモリ効率の良いk-mャンタリングが可能になる。

ABSTRACT

A major challenge in next-generation genome sequencing (NGS) is to assemble massive overlapping short reads that are randomly sampled from DNA fragments. To complete assembling, one needs to finish a fundamental task in many leading assembly algorithms: counting the number of occurrences of k-mers (length-k substrings in sequences). The counting results are critical for many components in assembly (e.g. variants detection and read error correction). For large genomes, the k-mer counting task can easily consume a huge amount of memory, making it impossible for large-scale parallel assembly on commodity servers. In this paper, we develop MSPKmerCounter, a disk-based approach, to efficiently perform k-mer counting for large genomes using a small amount of memory. Our approach is based on a novel technique called Minimum Substring Partitioning (MSP). MSP breaks short reads into multiple disjoint partitions such that each partition can be loaded into memory and processed individually. By leveraging the overlaps among the k-mers derived from the same short read, MSP can achieve astonishing compression ratio so that the I/O cost can be significantly reduced. For the task of k-mer counting, MSPKmerCounter offers a very fast and memory-efficient solution. Experiment results on large real-life short reads data sets demonstrate that MSPKmerCounter can achieve better overall performance than state-of-the-art k-mer counting approaches. MSPKmerCounter is available at http://www.cs.ucsb.edu/~yangli/MSPKmerCounter

研究の動機と目的

  • 大規模ゲノムにおけるk-mャンタリングのメモリボトルネックを解消し、一般ハードウェア上でのデノボアセンブリを可能にすること。
  • 特に高カバレッジの哺乳類ゲノムにおいて、過剰なメモリを消費するハッシュテーブルベースの手法の限界を克服すること。
  • メインメモリを最小限に抑えつつ、高いパフォーマンスを維持するディスクベースのスケーラブルなソリューションを構築すること。
  • 最小限のメインメモリで、大規模なショートリードデータセットを効率的かつ並列処理可能にする。

提案手法

  • 短いリードを、共通の最小部分文字列(p ≤ k)を共有する「スーパーk-mャンターズ」の互いに重複のない部分に、最小部分文字列分割(MSP)を適用する。
  • 各リード内でのk-mャンタリングの重複を活用し、各部分の異なるk-mャンタリング数を削減することで、データ圧縮を実現し、I/Oオーバーヘッドを最小限に抑える。
  • ディスクベースのパイプラインを用いて、部分を逐次的にストレージと処理することで、メインメモリのオーバーフローを回避する。
  • マルチスレッド版を実装し、部分化とカウントフェーズを並列化することで、マルチコアシステム上のスループットを向上させる。
  • 各部分内でハッシュテーブルを用いて頻度カウントを実行し、後続処理で結果をマージする。
  • 構成パラメータを調整することで、メモリ使用量とI/O使用量を制御し、さまざまなハードウェア制約に応じたパフォーマンスチューニングを可能にする。

実験結果

リサーチクエスチョン

  • RQ1ディスクベースのk-mャンタリング手法は、Jellyfish や同様のインメモリ手法に比べ、大規模ゲノムデータに対してより高いメモリ効率を達成できるか?
  • RQ2リード内でのk-mャンタリングの重複を活用することで、MSPによりI/Oコストが顕著に削減されるか?
  • RQ3MSPKmerCounterは、Jellyfish や BFCounter といった最先端のツールと比較して、実行時間、メモリ使用量、ディスクI/Oの点で優れているか?
  • RQ4マルチコアシステム上で、MSPベースのk-mャンタリングは、低メモリフットプリントを維持しながら効果的に並列化可能か?
  • RQ5高カバレッジ(例:100倍カバレッジ)の非常に大きなデータセットに対しても、高価なメモリシステムを必要とせずにスケーラブルに動作するか?

主な発見

  • MSPKmerCounterは、Jellyfish や同様のインメモリツールに比べ、必要なメモリの僅か数パーセントで大規模なゲノムデータセットのk-mャンタリングを実行でき、一般ハードウェア上での利用を可能にした。
  • MSPによる効果的な圧縮のおかげで、ナイーブなハッシュベースの分割に比べ、I/Oコストが10〜15倍削減された。
  • マラウイ湖のカイケン(k=31)データセットにおいて、MSPKmerCounterは、Jellyfish(Disk) や BFCounter よりも短い実行時間で処理を完了したが、それらよりも低いメモリ使用量であった。
  • マルチスレッド版(MSPKmerCounter(MT))は、Jellyfish(Disk) よりも高速であり、2スレッドまでで良好なスケーラビリティを示したが、I/O帯域幅が限界となった。
  • MSPKmerCounterにおけるメモリ使用量、実行時間、ディスク使用量はすべて構成パラメータによって完全に制御可能であり、多様なハードウェア環境に合わせたチューニングが可能である。
  • 部分が互いに排他的であることを保証することで、スケーラブルかつ並列処理可能なk-mャンタリングが実現され、分散処理およびローカルアセンブリパイプラインの構築に道を開いた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。