软件介绍
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。
从来自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