canu是celera的繼任者,能用於組裝pacbio和nanopore兩家公司得到的測序結果。
canu分為三個步驟,糾錯,修整和組裝,每一步都差不多是如下幾個步驟:
這三步可以分開執行,既可以用canu糾錯後結果作為其他組裝軟體的輸入,也可以將其他軟體的糾錯結果作為canu的輸入,因此下面分別執行這三步,並介紹重要的引數。
幾個全域性引數:genomesize設定預估的基因組大小,這用於讓canu估計測序深度; maxthreads設定執行的最大執行緒數;rawerrorrate用來設定兩個未糾錯read之間最大期望差異鹼基數;correctederrorrate則是設定糾錯後read之間最大期望差異鹼基數,這個引數需要在組裝時多次調整;minreadlength表示只使用大於閾值的序列,minoverlaplength表示overlap的最小長度。提高minreadlength可以提高執行速度,增加minoverlaplength可以降低假陽性的overlap。
ena搜尋
## pacbio sequal
wget -c -q
## minion
wget -c -q
# illuminia miseq
wget -c -q
wget -c -q
# build index for convert
~/opt/biosoft/smrtlink/smrtcmds/bin/pbindex pb.bam &
# convert bam to fasta
~/opt/biosoft/smrtlink/smrtcmds/bin/bam2fasta -o pb pb.bam &
第一步:糾錯。三代測序本身錯誤率高,使得原始資料充滿了噪音。這一步就是通過序列之間的相互比較糾錯得到高可信度的鹼基。主要調整兩個引數
canu -correct \
-p ath -d pb_ath \
threads=10 gnuplottested=true\
genomesize=120m minreadlength=2000 minoverlaplength=500\
coroutcoverage=120 cormincoverage=2 \
-pacbio-raw pb.fasta.gz
可以將上述命令儲存到shell指令碼中進行執行,nohup bash run_canu.sh 2> correct.log &
.
注: 有些伺服器沒有安裝gnuplot, gnuplottested=true 可以跳過檢查。
第二步:修整。這一步的目的是為了獲取更高質量的序列,移除可疑區域(如殘留的smrtbell接頭).
canu -trim \
-p ath -d pb_ath
maxthreads=20 gnuplottested=true\
genomesize=120m minreadlength=2000 minoverlaplength=500\
-pacbio-corrected ath/pb_ath.correctedreads.fasta.gz
第三步: 組裝。在前兩步獲得高質量的序列後,就可以正式進行組裝. 這一步主要調整的就是糾錯後的序列的錯誤率, correctederrorrate,它會影響utgovlerrorrate。這一步可以嘗試多個引數,因為速度比較塊。
# error rate 0.035
canu -assemble \
-p ath -d ath-erate-0.035 \
maxthreads=20 gnuplottested=true \
genomesize=120m\
correctederrorrate=0.035 \
-pacbio-corrected atg/pb_ath.trimmedreads.fasta.gz
# error rate 0.050
canu -assemble \
-p ath -d ath-erate-0.050 \
maxthreads=20 gnuplottested=true \
genomesize=120m\
correctederrorrate=0.050 \
-pacbio-corrected atg/pb_ath.trimmedreads.fasta.gz
最後輸出檔案下的ath.contigs.fasta
就是結果檔案。
對於高雜合物種的組裝,canu建議是用batoptions=-dg 3 -db 3 -dr 1 -ca 500 -cp 50
引數盡量分出兩套單倍型,然後對基因組去冗餘。
batoptions
表示傳遞後續的引數給組裝軟體bogart
,-dg 3 -db3
降低自動確定閾值時的錯誤率離差(deviation),從而更好的分開單倍型。-dr 1 -ca 500 -cp 50
會影響錯誤組裝的拆分,對於乙個模稜兩可的contig,如果至少另一條可選路徑的overlap長度至少時500bp,或者說另一條可選路徑時在長度上和當前最佳路徑存在50%的差異,那麼就將contig進行拆分。
關於雜合物種組裝的討論,參考
如果你的伺服器執行緒數很多,你在普通的機械硬碟上執行組裝,而且你的系統還是centos,那麼你需要調整乙個引數,避免其中一步的io嚴重影響伺服器效能。
canu通過兩個策略進行並行,bucketizing (『ovb』 任務) 和 sorting (『ovs』 任務)。 bucketizing會從1-overlap讀取輸出的overlap,將他們複製乙份作為中間檔案。sorting一步將這些檔案載入到記憶體中進行排序然後寫出到硬碟上。 如果你的overlap輸出特別多,那麼該步驟將會瞬間擠爆的你的io.
為了避免悲劇發生,請增加如下引數:ovsmemory=16g ovbconcurrency=15 ovsconcurrency=15
, 也就是降低這兩步同時投遞的任務數,緩解io壓力。
掃碼即刻交流
使用Canu對三代測序進行基因組組裝
canu是celera的繼任者,能用於組裝pacbio和nanopore兩家公司得到的測序結果。canu分為三個步驟,糾錯,修整和組裝,每一步都差不多是如下幾個步驟 這三步可以分開執行,既可以用canu糾錯後結果作為其他組裝軟體的輸入,也可以將其他軟體的糾錯結果作為canu的輸入,因此下面分別執行這...
三代測序組裝工具Canu學習筆記
canu是celera的繼任者,能用於組裝pacbio和nanopore兩家公司得到的測序結果。canu分為三個步驟 糾錯,修整和組裝。wget c o pacbio.fastq wget c o oxford.fasta 為了測試方便,這裡沒有從 canu 的原始碼編譯,而是直接使用的 docke...
震網三代利用
筆者在最近想了個問題,學校機房關閉進不去,然後教師機子無ip如何黑入,而且不在同乙個網段下面,如何入侵呢,於是看到了一篇關於隔離網路攻擊的文章。想到了一年前乙個漏洞,於是測試開始。首先我們來了解一下 震網三代 環境 ubuntu16.04 vmware14 and win7 x64 msf首先我們開...