最近拿到了nanopore的數(shù)據(jù),嘗試對其組裝。目前用的是Canu,預計2個月內(nèi)才能走完第一波分析,速度實在感人,所以翻了翻文獻,找找組裝方法。
目前Nanopore賣點主要是兩個角度:第一是Nanopore的讀長長,某些情況下能夠達到單條上M,但是這種情況可遇而不可求,很多時候只存在于宣傳冊上。另一個則是Nanpore便宜,這樣就能夠保證測序深度,從而提高組裝質(zhì)量。
但是Nanopore也有一個劣勢,那就是它的錯誤譜(error profile)和PacBio不一樣,并非隨機,而是主要集中在homopolymer。因此PacBio在糾錯之后的準確率可以高達99%,但是Nanopore達不到該水平。這個問題就導致了Nanopore在組裝時候會消耗更多的計算資源。比如說Canu在文檔里提到,它將Nanopore糾錯后的錯誤率從原來的0.144下調(diào)到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倍。換句話說,同樣的數(shù)據(jù)量,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.
這里總結下我看文獻找到的一些組裝策略,一般我們可以都嘗試下,然后選擇結果參數(shù)最好的作為最終版本
方案1: 不糾錯直接組裝。輸入數(shù)據(jù)分為兩種情況,一種是用所有的原始數(shù)據(jù)(包括長度過濾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,個人對這個工具極其失望,運行速度慢,內(nèi)存管理差,中斷之后會刪除所有中間文件。 - Flye: - https://github.com/fenderglass/Flye
注: 不糾錯直接組裝得到的contig,需要先進行三代自糾錯,才能用二代糾錯,否則比對率會比較低。
方案2: 糾錯后組裝,然后挑選所有數(shù)據(jù)或者最長的30X, 40X作為輸入??晒┻x擇的糾錯工具如下
- 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的參數(shù)選擇會明顯的影響到運行速度,因此在Canu官方FAQ里對不同Nanopore版本參數(shù)組裝進行了介紹
- Nanopore R7 1D和低相似度reads: 這種數(shù)據(jù)目前已經(jīng)不存在了,所以不在此處討論。
-
Nanopore R7 2D和 Nanopore R9 1D: 如果數(shù)據(jù)覆蓋度和錯誤率比較高的話,需要調(diào)整參數(shù)
overlapper=mhap utgReAlign=true. 對于大基因組會降低連續(xù)性。 -
Nanopore R9 2D: 調(diào)整糾錯后的錯誤率.
correctedErrorRate=0.105 -
Nanopore R9.4: 這應該是目前公司的交付結果,原始數(shù)據(jù)錯誤已經(jīng)有很高提升,糾錯后的錯誤率也比較低。如果基因組的覆蓋度超過30X,那么設置如下參數(shù)
corMhapOptions=--threshold 0.8 --ordered-sketch-size 1000 --ordered-kmer-size 14' correctedErrorRate=0.105可以提高運行速度。

由于現(xiàn)在的三代測序價格低了,因此之前那種低深度測序,然后用二代進行raw read糾錯的方法,或者混合組裝的方法,就不討論了。
歡迎在評論區(qū)補充工具