Nanopore测序的基因组组装策略

最近拿到了nanopore的数据,尝试对其组装。目前用的是Canu,预计2个月内才能走完第一波分析,速度实在感人,所以翻了翻文献,找找组装方法。

目前Nanopore卖点主要是两个角度:第一是Nanopore的读长长,某些情况下能够达到单条上M,但是这种情况可遇而不可求,很多时候只存在于宣传册上。另一个则是Nanpore便宜,这样就能够保证测序深度,从而提高组装质量。

但是Nanopore也有一个劣势,那就是它的错误谱(error profile)和PacBio不一样,并非随机,而是主要集中在homopolymer。因此PacBio在纠错之后的准确率可以高达99%,但是Nanopore达不到该水平。这个问题就导致了Nanopore在组装时候会消耗更多的计算资源。比如说Canu在文档里提到,它将Nanopore纠错后的错误率从原来的0.144下调到0.12,速度提高了5-10倍。

Decrease the default maximum error rate allowed when finding overlaps in corrected Nanopore reads from 14.4% to 12.0%. With the over-occurring kmer changes mentioned previously, run times for finding overlaps in Nanopore reads should decrease by 5 to 10 fold.

PacBio的纠错后错误率默认设置是0.045,那么相对速度可能就是Nanopore的30倍。换句话说,同样的数据量,PacBio装1天,可能Nanopore就要一个月。很多基因组大一点,根本就不敢用Canu。

We also tried to use Canu41 but could not get to the final assembly stage owing to the high computational requirements.

这里总结下我看文献找到的一些组装策略,一般我们可以都尝试下,然后选择结果参数最好的作为最终版本

方案1: 不纠错直接组装。输入数据分为两种情况,一种是用所有的原始数据(包括长度过滤2K/5K以下),一种则是选择最长的30X, 40X作为输入。

  • miniasm: https://github.com/lh3/miniasm
  • WTDBG2: https://github.com/ruanjue/wtdbg2
  • SMARTdenovo: https://github.com/ruanjue/smartdenovo
  • RA: https://github.com/lbcb-sci/ra,个人对这个工具极其失望,运行速度慢,内存管理差,中断之后会删除所有中间文件。
  • Flye: - https://github.com/fenderglass/Flye
    : 不纠错直接组装得到的contig,需要先进行三代自纠错,才能用二代纠错,否则比对率会比较低。

方案2: 纠错后组装,然后挑选所有数据或者最长的30X, 40X作为输入。可供选择的纠错工具如下

  • NextDenovo: https://github.com/Nextomics/NextDenovo
  • Canu: https://github.com/marbl/canu
  • MECAT: https://github.com/xiaochuanle/MECAT
  • NECAT: https://github.com/xiaochuanle/NECAT

: NECAT, Canu可以从头跑到尾,其中NECAT是MECAT的继任者,专门处理Nanopore组装。

由于Canu的参数选择会明显的影响到运行速度,因此在Canu官方FAQ里对不同Nanopore版本参数组装进行了介绍

  • Nanopore R7 1D和低相似度reads: 这种数据目前已经不存在了,所以不在此处讨论。
  • Nanopore R7 2D和 Nanopore R9 1D: 如果数据覆盖度和错误率比较高的话,需要调整参数overlapper=mhap utgReAlign=true. 对于大基因组会降低连续性。
  • Nanopore R9 2D: 调整纠错后的错误率. correctedErrorRate=0.105
  • Nanopore R9.4: 这应该是目前公司的交付结果,原始数据错误已经有很高提升,纠错后的错误率也比较低。如果基因组的覆盖度超过30X,那么设置如下参数corMhapOptions=--threshold 0.8 --ordered-sketch-size 1000 --ordered-kmer-size 14' correctedErrorRate=0.105 可以提高运行速度。
Nanopore不同平台的试剂

由于现在的三代测序价格低了,因此之前那种低深度测序,然后用二代进行raw read纠错的方法,或者混合组装的方法,就不讨论了。

欢迎在评论区补充工具

参考资料

  • https://www.biostars.org/p/331117/
  • https://github.com/marbl/canu/releases
  • https://github.com/rrwick/Filtlong

你可能感兴趣的:(Nanopore测序的基因组组装策略)