最近拿到了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. Moreover, we could not select any subsets of reads for B. oleracea, as the sequencing depth was too low to subsample the sequencing data
这里总结下我看文献找到的一些组装策略,一般我们可以都尝试下,然后选择结果参数最好的作为最终版本
方案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/rvaser/ra
注: 不纠错直接组装得到的contig,需要先进行三代自纠错,才能用二代纠错,否则比对率会比较低。
方案2: 纠错后组装,然后挑选所有数据或者最长的30X, 40X作为输入。可供选择的纠错工具如下
- https://github.com/Nextomics/NextDenovo
- https://github.com/marbl/canu
- https://github.com/xiaochuanle/MECAT
- https://github.com/xiaochuanle/NECAT
注: NECAT, Canu可以从头跑到尾,其中NECAT是MECAT的继任者,专门处理Nanopore组装。
由于现在的三代测序价格低了,因此之前那种低深度测序,然后用二代进行raw read纠错的方法,或者混合组装的方法,就不讨论了。
欢迎在评论区补充工具
网友评论