軟件介紹
FinisherSC 是一個能夠利用三代測序的 raw subreads 對基因組進行升級的軟件。其是一個Python寫的軟件,能夠并行化調用MUMmer軟件進行序列比對,若2條 Contigs 序列末端有且僅有一個連接對象,則整合兩條contigs;此外,軟件還可以使用 String graphs 方法利用屬于Repeat 的 Overlap 進行 Contigs 整合。
MUMmer 版本問題
FinisherSC 最近一次更新是在 3 May 2016,軟件使用的版本為 MUMmer3.23。但MUMmer版本并沒有停止在MUMmer3,在2018年,MUMmer 迎來了一個版本更迭MUMmer4。
journal.pcbi.1005944.t003.PNG
從來自MUMmer4文章的表格來看,速度及支持的數據量上有了明顯的提升。既然MUMmer4 優于 MUMmer 3.23。那么在運行FinisherSC時可不可以替換呢?經過本人實際測試,答案是肯定的。只是有一點特殊的就是,如果使用 MUMmer4 并且設置 -par 32 就會出現報錯(本人使用服務器的線程為32,內存為128G)。但如果不做設置,則可以順利跑完。說道這里你可能會有疑問,MUMmer 3.23 可以設置-par 32。而 MUMmer4 不做這個設置,那時間上會不會是 MUMmer4 花費的時間更多呢? 答案是否定的,經過本人實測, MUMmer4耗時:MUMmer 3.23耗時= 1: 6 左右。
我目前的能力還不夠,你讓我改軟件代碼可能做不到,在這提出這個發現,以供有興趣的研究。如果你和我一樣能力還不夠,希望該文章對你有幫助。
代碼實測
# 測試對象 contigs.fasta 86M ;raw_reads.fasta 8.73G
# MUMmer4
python /opt/biosoft/finishingTool/finisherSC.py -par 32 ./ /opt/biosoft/mummer4/bin/
## 報錯如下
# ./relatedReads_Double.fasta: 24000 sequences, 427024630 bp => dividing into 32 parts ................................ OK
# All done, 5 seconds elapsed
# nProc 32
# 32
# libgomp: Thread creation failed: Resource temporarily unavailable
# libgomp: Thread creation failed: Resource temporarily unavailable
# libgomp: Thread creation failed: Resource temporarily unavailable
# libgomp: Thread creation failed: Resource temporarily unavailable
# libgomp: Thread creation failed: Resource temporarily unavailable
# libgomp: Thread creation failed: Resource temporarily unavailable
# libgomp: Thread creation failed: Resource temporarily unavailable
# sh: fork: retry: 資源暫時不可用
# ERROR: Could not parse delta file, ./outGapFillRefine22.delta
# error no: 402
# ERROR: Could not parse delta file, ./outGapFillRefine28.delta
# error no: 402
# ERROR: Could not parse delta file, ./outGapFillRefine24.delta
# error no: 402
# ERROR: Could not parse delta file, ./outGapFillRefine05.delta
# error no: 402
# libgomp: Thread creation failed: Resource temporarily unavailable
# ERROR: Could not parse delta file, ./outGapFillRefine18.delta
# error no: 402
# ERROR: Could not parse delta file, ./outGapFillRefine01.delta
# error no: 402
# ERROR: Could not parse delta file, ./outGapFillRefine16.delta
# error no: 402
# ERROR: Could not parse delta file, ./outGapFillRefine32.delta
# error no: 402
python /opt/biosoft/finishingTool/finisherSC.py ./ /opt/biosoft/mummer4/bin/
# Time 4040.41538692 s
## 沒有報錯
# MUMmer3.23
python /opt/biosoft/finishingTool/finisherSC.py -par 32 ./ /opt/biosoft/MUMmer3.23/
# Time 22565.2418311 s
參考
NGS生物信息學分析 V6.0 陳連福 鄭越
MUMmer4: A fast and versatile genome alignment system