在接下来的一段时间内我们将具体演示一些nanopore数据拼接的软件,只要正确安装好软件,输入数据,然后等待结果就行,操作过程是非常容易的。真的这么容易吗?当然不是,劝你提前放弃一次性拼接好基因组的想法,基因组拼接是一项艺术和技术性的工作,需要多次尝试,直到拼出“最好”的基因组,正所谓“操千曲而后晓声,观千剑而后识器”。
canu软件介绍
canu是一款流行的三代测序数据拼接软件,适用于Pacbio与nanopore测序数据。canu软件其实具有悠久的历史,虽然只发表与2017年,但其源于著名的CeleraAssembler。CeleraAssembler主要用于一代测序,现在celeraAssembler不在更新。canu延续了celeraAssembler工具的组装原理,专门用于三代测序长读长以及高错误率较高的测序的结果进行组装。采用Overlap-Layout-Consensus,也就是得到序列与序列之间的交叠进行的组装。但是,canu软件的缺点是非常消耗资源,拼接比较耗时,默认会开始所有CPU。
软件安装
软件官网:https://github.com/marbl/canu说明文档:https://canu.readthedocs.io/en/latest/
git clone https://github.com/marbl/canu.gitcd canu/srcmake -j <number of threads>
canu拼接原理
canu拼接主要分为三大步骤:纠错,修建read,拼接。可以单独运行一个步骤,也可以同时运行三个步骤。
第一步:纠错(correct)将read"堆叠"到一起进行修正,一般三代测序的错误以多一个碱基或者少一个碱基为主,因为单分子测序有时候可能测两个碱基的时候信号连到一起了或者有时候对同一个碱基测了多次导致这种错误。另外也有单个碱基差异的情况。第二步:修剪(trim) 使用overlap确定read哪些区域是高质量区域,哪些区域质量较低需要修整。最后保留单个最高质量的序列块,例如第三步:组装(assemble)序列组装时根据一致的overlap对序列进行编排(layout),最后得到contig
cano案例
canu -d canu -p canu genomeSize=4.7m maxThreads=4 -nanopore-raw ../4.filter/clean.filtlong.fq.gz >canu.log
选项参数:-p:输出前缀-d:输出结果目录-nanopore-raw:输入的为没有纠错过得nanopore数据-num_threads:CPU线程数genomeSize:设置预估的基因组大小,这用于让Canu估计测序深度;maxThreads:设置运行的最大线程数;rawErrorRate:用来设置两个未纠错read之间最大期望差异碱基数;correctedErrorRate:则是设置纠错后read之间最大期望差异碱基数,这个参数需要在组装时多次调整;minReadLength:表示只使用大于阈值的序列minOverlapLength:表示Overlap的最小长度。提高minReadLength可以提高运行速度,增加minOverlapLength可以降低假阳性的overlap。
总结
1、有纠错步骤;2、部分基因组拼接效果比较好;3、默认会占用所有CPU,非常耗时;4、有些数据无法拼接出结果。
上传数据,直接分析
如果没有高性能计算设备,无法成功安装相关软件,可以选择租用我么通过的高性能生物数据分析平台。512G以及1T内存可供选择,内涵大量nanopore数据分析工具以及使用案例脚本。真正的上传数据,直接分析。数据分析案例在服务器中的的/ifs1/TestDatas/nanopore/目录下,购买过服务器的用户可以将数据拷贝或者链接到直接目录下进行操作。