从短读长到混合组装:Unicycler 核心算法与工作流程全解析

Unicycler 在组装短 Illumina reads 时,核心使用的是 De Bruijn graph(德布鲁因图) 算法,并且它是通过直接调用著名的短读长组装软件 SPAdes (St. Petersburg genome assembler) 来实现这一过程的。

具体来说,Unicycler 处理短 reads 的机制如下:

1. 仅使用短 reads (Short-read only mode)

如果你只提供 Illumina 短 reads,Unicycler 本质上会作为一个 SPAdes 的“包装器 (wrapper)”运行。它会:

  • 使用 多 k-mer (multiple k-mer) 的 De Bruijn graph 算法来构建组装图。
  • 执行错误纠正 (error correction)。
  • 解析图中的复杂结构(如由测序错误或重复序列引起的 bubbles 和 tips)。
  • 输出高质量的 contigs 和 scaffolds。

2. 混合组装模式 (Hybrid mode: Illumina + Nanopore/PacBio)

Unicycler 的真正强大之处在于混合组装。在这种模式下,短 reads 的 De Bruijn graph 组装是整个流程的“基石”:

  • 第一步 (Short-read assembly):首先调用 SPAdes 组装高精度的 Illumina reads,生成一组高准确度但可能被重复序列打断的初始 contigs。
  • 第二步 (Long-read assembly):使用长 reads (如 Oxford Nanopore 或 PacBio) 构建 Overlap-Layout-Consensus (OLC) 图(通常借助 miniasm)。
  • 第三步 (Bridging):Unicycler 使用其专有的桥接算法,将长 reads 作为“桥梁”,把 SPAdes 生成的短 read contigs 连接起来,从而跨越重复区域,形成完整的环状基因组 (circularized genomes)。
  • 第四步 (Polishing):最后,再次利用高精度的 Illumina 短 reads(通常通过 PilonRacon + Pilon)对混合组装的结果进行抛光,纠正长 reads 带来的随机插入/缺失 (indel) 错误。

总结

对于“Illumina 短 reads 的组装算法”这一问题,最准确的答案是:De Bruijn graph 算法(通过内置调用 SPAdes 实现)。这种设计使得 Unicycler 既能保留 SPAdes 在短读长组装中的极高碱基准确率,又能利用长读长解决基因组中的复杂重复区域。

(参考: Wick, R. R., Judd, L. M., Gorrie, C. L., & Holt, K. E. (2017). Unicycler: Resolving bacterial genome assemblies from short and long sequencing reads. PLOS Computational Biology, 13(6), e1005595.)

Leave a Reply

Your email address will not be published. Required fields are marked *