Skip to main content
QUICK REVIEW

[论文解读] Memory Efficient De Bruijn Graph Construction

Yang Li, Pegah Kamousi|arXiv (Cornell University)|Jul 15, 2012
Algorithms and Data Compression参考文献 21被引用 3
一句话总结

本文提出最小子串划分(MSP),一种基于磁盘的算法,通过利用 k-mer 重叠来压缩 de Bruijn 图构建过程,将分区大小从 Θ(kn) 减少至 Θ(n),从而实现在不到 10 GB 内存下完成构建。该方法在不引起运行时性能下降的前提下实现了高压缩率和高性能,在大规模基因组数据集上优于现有算法。

ABSTRACT

Massively parallel DNA sequencing technologies are revolutionizing genomics research. Billions of short reads generated at low costs can be assembled for reconstructing the whole genomes. Unfortunately, the large memory footprint of the existing de novo assembly algorithms makes it challenging to get the assembly done for higher eukaryotes like mammals. In this work, we investigate the memory issue of constructing de Bruijn graph, a core task in leading assembly algorithms, which often consumes several hundreds of gigabytes memory for large genomes. We propose a disk-based partition method, called Minimum Substring Partitioning (MSP), to complete the task using less than 10 gigabytes memory, without runtime slowdown. MSP breaks the short reads into multiple small disjoint partitions so that each partition can be loaded into memory, processed individually and later merged with others to form a de Bruijn graph. By leveraging the overlaps among the k-mers (substring of length k), MSP achieves astonishing compression ratio: The total size of partitions is reduced from $Θ(kn)$ to $Θ(n)$, where $n$ is the size of the short read database, and $k$ is the length of a $k$-mer. Experimental results show that our method can build de Bruijn graphs using a commodity computer for any large-volume sequence dataset.

研究动机与目标

  • 解决在从头基因组组装中 de Bruijn 图构建的高内存占用问题,该问题在哺乳动物基因组中常超过数百 GB。
  • 克服现有基于磁盘的分区方法因 k-mer 分布碎片化而导致的高 I/O 开销和压缩率低下问题。
  • 开发一种分区策略,将重叠的 k-mers 保留在同一分区中,以最小化数据大小并提升效率。
  • 实现在商品硬件上可扩展的、内存高效的 de Bruijn 图构建,适用于数十亿条读长的数据集。
  • 证明所提出方法在实现低内存使用量和高性能的同时,不会造成运行时性能下降。

提出的方法

  • 提出最小子串划分(MSP),基于连续 k-mer 之间共享的固定长度最小子串(长度 p ≤ k)对短读长进行分区。
  • 使用最小子串作为键,将高度重叠的 k-mers 分组,确保相邻 k-mers 被置于同一分区中。
  • 采用基于磁盘的散列-聚集流水线:使用最小子串将读长划分为不相交的子集,在主内存中处理每个子集,并在后期处理中合并结果。
  • 利用 k-mers 的重叠结构,将总分区大小从 Θ(kn) 压缩至 Θ(n),显著降低 I/O 和内存压力。
  • 在随机字符串模型下进行理论分析,推导最小子串的期望分区大小和容量,验证压缩效率。
  • 实现完整的 de Bruijn 图构建流水线,集成标准组装工作流,并在真实短读长数据集上进行评估。

实验结果

研究问题

  • RQ1基于最小子串的 k-mers 划分是否能相比传统基于 k-mer 的划分,显著减少分区总大小?
  • RQ2将重叠的 k-mers 保留在同一分区中是否能带来可测量的内存效率和 I/O 性能提升?
  • RQ3MSP 基于的 de Bruijn 图构建能否在小于 10 GB 主内存下完成,同时保持具有竞争力的运行时间?
  • RQ4最小子串大小(p)如何影响压缩比和分区效率?
  • RQ5该方法在包含数十亿条短读长的真实世界大规模基因组数据集上是否具备可扩展性和有效性?

主要发现

  • MSP 方法将分区总大小从 Θ(kn) 减少至 Θ(n),与传统 k-mer 划分相比实现了 10-15 倍的压缩率。
  • 该方法成功使用少于 10 GB 主内存构建了大规模数据集的 de Bruijn 图,如 258.7 GB 的 Cladonema 和 137.5 GB 的 cichlid。
  • 尽管采用基于磁盘的方法,其运行时性能并未因算法设计而变慢,与现有算法相当。
  • 实验结果表明,MSP 在真实基因组数据集上的内存效率和整体性能均优于最先进算法。
  • 在随机字符串模型下的理论分析证实,MSP 分区的期望大小与数据集大小 n 呈线性关系,验证了压缩模型的有效性。
  • 该方法使在商品硬件上实现从头组装成为可能,无需高端内存资源即可完成大规模基因组组装。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。