太长不看版:
Nanopore的组装推荐尝试下用NextDenovo。组装之后直接用NextPolish默认参数做2轮或多轮二代polish。
Oxford NanoporeTechnologies (ONT) Limited公司在2012 年推出第一款基于纳米孔测序技术的测序仪。目前测序平台包括MinION、GridION X5、PromethION和Flongle。其中Flongle是迄今为止体积最小的测序设备,可在任何地点与智能手机配套使用。纳米孔测序技术的测序原理是:在纳米孔两边加上一定的电压,在电势的作用下,DNA电泳通过纳米孔,由于4种核苷酸的电离水平和空间结构不同,通过纳米孔时电流强度不同,根据电流强度准确判断碱基种类。纳米孔测序的读长可达数百kb甚至超过1Mb,在解决染色体着丝粒/端粒区域、性染色体等基因组复杂区域,以及复杂基因组组装时,与PacBio相比具有更大的优势[1]。前不久,加州大学圣克鲁斯基因研究所等单位的研究人员正是利用Nanopore的ultralong reads成功拼接出了首个人类X染色体基因组完成图序列[2]。
但是由于Nanopore测序技术在2017年才开始大规模商业应用,且其错误谱和PacBio数据相比有较明显的不同,很多后续的分析软件并不成熟,导致很多研究人员在拿到nanopore数据要进行基因组组装时,由于测序时的basecalling算法可能还不成熟及很多常规的基因组组装软件早期主要是针对PacBio数据特点进行开发的(如Falcon,Canu,SMARTdenovo,wtdbg),因此早期在用Nanopore数据组装过程中经常会遇到各种各样的问题,如纠错特别耗时及需要消耗大量的计算资源,组装出的基因组准确度不够,组装出的基因组大小与预估有偏差等,尤其是碰到基因组超过10Gb的物种,随着Nanopore测序数据量的急剧增加,现有的软件和算法无法在短时间内组装出高质量的组装结果。今天小编给大家介绍一款针对Nanopore数据纠错和组装比较快速的软件Nextdenovo和高效Polish工具Nextpolish。
首先来看NextDenovo软件(包括NextCorrect和NextGraph),它是希望组胡江团队开发的一个针对Nanopore数据纠错和组装的软件,目前该工具尚未发表,除了https://github.com/Nextomics/NextDenovo有软件的介绍外,暂时没有中文资料介绍Nextdenovo的使用。NextCorrect的设计理念和HGAP[3]类似,可对三代测序数据进行纠错(如PacBio和Nanopore原始测序数据),NextGraph则是利用NextCorrect纠错后的较高准确度的三代数据,基于string graph进行组装。
而NextPolish软件也是由胡江团队开发,目前该软件已被某生信权威杂志返修,预计会很快在线。https://github.com/Nextomics/NextPolish有软件介绍,主要的特点是可以非常快速的利用二代测序数据对三代的组装结果进行polish,从而进一步提高组装结果的单碱基准确度,和其他常用的polish软件(如Pilon)相比,效果更好,而且在所需计算资源和运算时间上,要明显优于Pilon。
以一篇发表在Nature Communication上的拟南芥nanopore数据介绍如何使用NextDenovo进行组装,
运行环境:CentOS Linux release 7.4.1708 (Core),128G内存, 32线程(Intel(R) Xeon(R) Gold 6151 CPU @3.00GHz)
软件安装
NextDenovo可以在https://github.com/Nextomics/NextDenovo页面获取最新的软件下载地址。目前是1.1.1版本。
# 软件下载
mkdir -p ~/opt/biosoft
cd ~/opt/biosoft
wget https://github.com/Nextomics/NextDenovo/releases/download/v1.1.1/NextDenovo.tgz
# 解压缩
tar xf NextDenovo.tgz
# 加入环境变量
export PATH=$PATH:~/opt/biosoft/NextDenovo
第一步: 新建一个分析项目
mkdir NextDenovo && cd NextDenovo
以发表在NC上的拟南芥数据为例, 下载该数据
#三代测序
wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR217/003/ERR2173373/ERR2173373.fastq.gz
seqkit fq2fa ERR2173373.fastq.gz | gzip -c > ERR2173373.fasta
第二步: 构建配置文件,文件名为run.cfg, 内容如下
job_type= local #运行在本地
job_prefix= Atha
task= all # 'all', 'correct', 'assemble'
rewrite= yes # yes/no
deltmp= yes
rerun= 3
parallel_jobs= 50
input_type= raw
input_fofn= ./input.fofn
workdir= ./03_rundir
#cluster_options= -w n -l vf={vf} -q all.q -pe smp {cpu} #集群参数
[correct_option]
read_cutoff= 1k
seed_cutoff= 2000
blocksize= 3g
pa_correction= 10
seed_cutfiles= 10
sort_options= -m 50g -t 10
minimap2_options_raw= -x ava-ont -t 10
correction_options= -p 25 -fast
[assemble_option]
random_round= 100
minimap2_options_cns= -x ava-ont -t 8 -k17 -w17
nextgraph_options= -a 1
第三步: 运行分析流程
nextDenovo run.cfg -l log.txt
NextDenovo初步组装结果如下:
StatType | ContigLength |
---|---|
N50 | 10467097 |
N60 | 9634521 |
N70 | 4871070 |
N80 | 4085651 |
N90 | 2479819 |
Longest | 14319760 |
Total | 115805502 |
Length>=1kb | 115805502 |
Length>=2kb | 115805502 |
Length>=5kb | 115805502 |
计算时间
Canu跑了相同的数据,设置原始错误率0.5,纠错后错误率为0.144,用3个节点(每个节点12个线程),运行了3天时间,而NextDenovo用单节点只用了12min。速度差异非常明显。
correct耗时
real 9m31s
user 95m10s
sys 18m21s
assemble耗时
real 2m28s
user 19m44s
sys 3m16s
组装质量评估
已有测试数据显示NextPolish在polish这一步在效果和时间上要优于其他polish软件(见下表),且NextPolish利用二代测序数据对三代的初步组装结果进行两轮polish后的平均单碱基准确度在99.99%以上,且并不需要进行三代数据的polish(详细评测结果见https://github.com/Nextomics/NextPolish/blob/master/doc/TEST1.pdf)。
因此我们对NextDenovo出来的组装结果只用NextPolish进行二代数据Polish后的组装版本进行组装质量评估。
首先看共线性图。
NextDenovo的组装结果
Canu的组装结果
NextDenovo和CANU都和参考基因组有着良好的共线性,但是NextDenovo的连续性更好,几乎成一条直线。
之后,我们使用QUAST来评估NextDenovo、Canu的组装结果。
NextDenovo N50 = 10467097, L50= 5, Total length = 115805502, GC % = 36.13
CANUN50 = 4875070, L50= 7, Total length = 114689024, GC % = 36.09
从上表可以看到,和Canu组装结果相比,NextDenovo拼接的序列总数更少, N50值更高,组装出的序列总长度也比较合理,
在BUSCO完整度上, 以embryophytaodb10作为物种数据库, 其中Athalina是拟南芥的参考基因组,我们以它们的BUSCO值作为参照。NextDenovo为没经过polish的初步组装结果,
Athalina : C:98.6%[S:98.0%,D:0.6%],F:0.4%, M:1.0%, n:1375
CANU: C:22.9%[S:22.8%,D:0.1%],F:20.2%,M:56.9%,n:1375
NextDenovo: C:27.9%[S:27.9%,D:0.0%],F:20.4%,M:51.7%,n:1375
二代Polish后(NextDenovo_NP)的BUSCO结果如下
Athalina : C:98.6%[S:98.0%,D:0.6%],F:0.4%,M:1.0%,n:1375
NextDenovo_NP: C:98.7%[S:98.1%,D:0.6%],F:0.3%,M:1.0%,n:1375
从以上这些数据我们也可以看到,NextPolish利用二代数据对组装结果polish后的BUSCO值相比NextDenovo的初步组装结果有了较大的提高。
通过以上评测,我们可以得出以下几个结论:
1.在Nanopore的组装上,NextDenovo效果要优于Canu,无论是连续性还是N50。NextDenovo+NextPolish后的组装结果平均单碱基准确度在99.99%以上,准确性已满足Bermuda standard[4],BUSCO完整性也非常好。在速度上,NextDenovo则明显优于Canu[5]。
2.NextPolish的速度要明显优于Pilon[6]和Racon[7],而Nanopore的组装结果通常用NextPolish直接进行2轮或多轮二代数据polish后,碱基准确度就能达到99.99%以上,并不需要进行三代数据的polish,并且不论基因组大小,都适用(关于NextPolish的详细评测结果见https://github.com/Nextomics/NextPolish/blob/master/doc/TEST1.pdf)
结论: Nanopore的组装建议用下NextDenovo。组装之后直接用NextPolish默认参数做2轮或多轮二代polish。
(1) 高胜寒, 禹海英, 吴双阳, 等. 复杂基因组测序技术研究进展[J]. 遗传, 2018, 40(11): 944-963.
(2) Miga K H, Koren S, Rhie A, etal. Telomere-to-telomere assembly of a complete human X chromosome[J]. BioRxiv,2019: 735928.
(3) Chin, Chen-Shan, et al."Nonhybrid, finished microbial genome assemblies from long-read SMRTsequencing data." Nature methods 10.6 (2013): 563.
(4) Staden R. A strategy of DNAsequencing employing computer programs[J]. Nucleic acids research, 1979, 6(7):2601-2610.
(5) Koren, Sergey, et al."Canu: scalable and accurate long-read assembly via adaptive k-merweighting and repeat separation." Genome research 27.5 (2017):722-736.
(6) Walker, Bruce J., et al."Pilon: an integrated tool for comprehensive microbial variant detectionand genome assembly improvement." PloS one 9.11 (2014): e112963.
(7) Vaser, Robert, et al."Fast and accurate de novo genome assembly from long uncorrectedreads." Genome research27.5 (2017): 737-746.
文章转自:生信媛