基因组

生物信息百Jia软件(28):canu

2019-08-11  本文已影响0人  基因学苑

欢迎订阅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 ----------

上一篇下一篇

猜你喜欢

热点阅读