欢迎订阅WX众号:基因学苑,更多精彩内容等你发掘!
基因学苑Q群:32798724
上一次介绍了三代拼接工具falcon,但是falcon这款无论是从安装还是使用都比较麻烦,对于新手是一个很大的考验,这里次我们介绍一款更好用的三代拼接工具canu。canu这款软件来自于经典的 Celera Assembler。celera最早用于人类全基因组计划,后来随着二代测序数据的普及,这种基于overlap的方法逐渐被基于kmer的方法取代,但是虽则三代测序的流行,这些工具又焕发了新的生命。如果没听过Celera的大名,刚快bing一下“Celera Genomics”。
应用场景
1、手里有三代pacbio测序的数据,fastq格式或者fasta格式,需要连接成更长的基因组序列。
2、有nanopore测序数据,需要拼接成更长的基因组。
软件官网
https://github.com/marbl/canu
官方文档页
https://canu.readthedocs.io/en/latest/tutorial.html
下载安装
cano的安装特别容易,从github上下载软件源代码,直接make编译就能够使用。
gitclonehttps://github.com/marbl/canu.git
cdcanu/src
make -j 32
软件使用
传统的celera软件最开始利用于一代的sanger测序以及后面的454测序数据,这些数据的特点是准确性较高,所以,直接采用基于overlap的方法就可以拼接。但是当前的pacbio后者nanopore数据,具有较高的错误率,因此,canu软件需要进行一个很重要的数据校正的过程。
这是canu软件的原理的一个示意图:
第一步:数据纠错(correct)
由于三代测序的测序错误是随机产生的,因此,可以通过多次测序进行数据纠错,纠错的原理并不难,将所有测序数据堆叠在一起,根据少数服从多数的原则,将测序错误位点进行纠正。这种原理其实与二代测序的“pileup”类似。
read1: ATGACGTGATCGTAGCTGATCGTCGTTGGGAA
read2:CGTGATCGTAGCTGATCGTCGTGGGAAACAG
read3: ATCGTAGCTGATCGTCG TGGGAAACAGATGA
read4: TAGCTGATCGTCG TGGGAAACAGATGAATG
^
|
差别位点
校正后的结果
read1: ATGACGTGATCGTAGCTGATCGTCGTGGGAA
read2:CGTGATCGTAGCTGATCGTCGTGGGAAACAG
read3: ATCGTAGCTGATCGTCGTGGGAAACAGATGA
read4: TAGCTGATCGTCGTGGGAAACAGATGAATG
第二步:修剪(trim)
trim的作用是得到read之间高质量的overlap区域,便于后面通过overlap进行连接。
read1: ATGACGTGATCGTAGCTGATCGTCGTGGGAA
read2: CGTGATCGTAGCTGATCGTCGTGGGAAACAG
read3: ATCGTAGCTGATCGTCGTGGGAAACAGATGA
read4: TAGCTGATCGTCGTGGGAAACAGATGAATG
|_________|
低质量区
将低质量区域的碱基trim掉
read1: GTAGCTGATCGTCGTGGGAA
read2: GTAGCTGATCGTCGTGGGAAACAG
read3: GTAGCTGATCGTCGTGGGAAACAGATGA
read4: TAGCTGATCGTCGTGGGAAACAGATGAATG
第三步:组装(assemble)
经过数据就锁和trim之后,这些高质量的reads,就可以直接通过reads之间的overlap区域,连接成更长的序列了,完成了序列拼接。
---------------
----------------
--------------
| | |
v v v
-----------------------------------
选项参数
canu的选项参数并不难理解,不像falcon在配置文件中设置。
-s 接一个配置文件
-p 指定输出前缀
-d 指定输出结果目录
-options 显示全部选项参数
genomeSize 设置一个预估的基因组大小,便于让Canu估计测序深度,单位是K,M,G
maxThreads 设置最大线程数
rawErrorRate 设置两个未纠错read之间最大期望差异碱基数
correctedErrorRate 设置纠错后read之间最大期望差异碱基数
minReadLength 设置最小使用的reads长度
minOverlapLength 设置Overlap的最小长度
另外非常重要一点就是,需要指定输入数据的类型,是原始测序的数据,还是经过处理的。
-pacbio-raw 直接测序得到的原始pacbio数据
-pacbio-corrected 经过纠正的pacbio数据
-nanopore-raw 原始的nanopore数据
-nanopore-corrected 结果纠正的nanopore数据
使用案例
直接下载软件官方的练习数据即可进行测试。这是一个大肠杆菌的基因组测序数据。
下载数据
curl-L -o pacbio.fastq http://gembox.cbcb.umd.edu/mhap/raw/ecoli_p6_25x.filtered.fastq
curl -L -o oxford.fasta http://nanopore.s3.climb.ac.uk/MAP006-PCR-1_2D_pass.fasta
pacbio数据拼接
canu-p ecoli -d ecoli-pacbio genomeSize=4.8m-pacbio-raw pacbio.fastq
nanopore数据拼接
canu-p ecoli -d ecoli-oxford genomeSize=4.8m-nanopore-raw oxford.fasta
更多详细内容可以查看官方文档。
---------- END ----------
网友评论