三代拼接工具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编译就能够使用。

git clone https://github.com/marbl/canu.git
cd canu/src
make -j 32

软件使用

传统的celera软件最开始利用于一代的sanger测序以及后面的454测序数据,这些数据的特点是准确性较高,所以,直接采用基于overlap的方法就可以拼接。但是当前的pacbio后者nanopore数据,具有较高的错误率,因此,canu软件需要进行一个很重要的数据校正的过程。
这是canu软件的原理的一个示意图:

  • 第一步:数据纠错(correct)
    由于三代测序的测序错误是随机产生的,因此,可以通过多次测序进行数据纠错,纠错的原理并不难,将所有测序数据堆叠在一起,根据少数服从多数的原则,将测序错误位点进行纠正。这种原理其实与二代测序的“pileup”类似。
  read1:   ATGACGTGATCGTAGCTGATCGTCGTTGGGAAread2:       CGTGATCGTAGCTGATCGTCG TGGGAAACAGread3:           ATCGTAGCTGATCGTCG TGGGAAACAGATGAread4:               TAGCTGATCGTCG TGGGAAACAGATGAATG^|差别位点

校正后的结果

  read1:   ATGACGTGATCGTAGCTGATCGTCGTGGGAAread2:       CGTGATCGTAGCTGATCGTCGTGGGAAACAGread3:           ATCGTAGCTGATCGTCGTGGGAAACAGATGAread4:               TAGCTGATCGTCGTGGGAAACAGATGAATG
  • 第二步:修剪(trim)
    trim的作用是得到read之间高质量的overlap区域,便于后面通过overlap进行连接。
  read1:   ATGACGTGATCGTAGCTGATCGTCGTGGGAAread2:       CGTGATCGTAGCTGATCGTCGTGGGAAACAGread3:           ATCGTAGCTGATCGTCGTGGGAAACAGATGAread4:               TAGCTGATCGTCGTGGGAAACAGATGAATG|_________|     低质量区

将低质量区域的碱基trim掉

  read1:   GTAGCTGATCGTCGTGGGAAread2:   GTAGCTGATCGTCGTGGGAAACAGread3:   GTAGCTGATCGTCGTGGGAAACAGATGAread4:    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

更多详细内容可以查看官方文档。

三代数据组装软件canu相关推荐

  1. 三代组装软件canu学习笔记

    三代组装软件canu学习笔记 (2017-08-07 14:17:43) 转载▼   分类: 三代 1:这个组装软件起源于PBcR包含在Celera Assembler中(http://wgs-ass ...

  2. NBT:宏基因组二、三代混合组装软件OPERA-MS

    文章目录 宏基因组二.三代测序混合组装软件OPERA-MS 热心肠日报 摘要 主要结果 图1. OPERA-MS工作流程图 图2. 宏基因组数据混合组装基因组评测 图3. 组装虚拟肠道微生物组 图4. ...

  3. 三代组装软件Canu使用

    Canu简介 Canu是Celera的继任者,能用于组装PacBio和Nanopore两家公司得到的测序结果. Canu分为三个步骤,纠错,修整和组装,每一步都差不多是如下几个步骤: 加载read到r ...

  4. 第三代主流测序数据组装软件

  5. 原核生物基因组三代数据(pacbio/nanopore)组装

    动物随随便便几个G,植物动不动十多个G,而细菌基因组一般就几M,基因组结构简单,没有重复序列杂合度这些组装障碍.我现在很多文章细菌基因组开始用三代测序组装了,还有些文章是二代结合三代测序???纳税人的 ...

  6. nextpolish安装_希望组自主三代组装软件NextDenovo最新版本全球学术开源!

    图1. NextDenovo V2.0-beta.1上线Github 测序中国2019年10月18日消息,希望组面向全球释放三代测序数据高效纠错.组装软件NextDenovo最新版本V2.0-beta ...

  7. 二代测序组装PK三代测序组装

    二代测序组装PK三代测序组装 2016-07-29    编辑:诺禾致源 三代Pacbio测序技术 以其长读长,无需扩增,无GC偏好性等优势成为de novo组装的新宠儿. 然而,Pacbio测序成本 ...

  8. Canu|三代组装软件

    Canu Canu是基于OLC算法,具有长reads的自纠错和组装功能,是应用最为广泛的三代组装软件(速度相对较慢). Canu相关使用方法来啦!!! 一.Canu的安装 方法一:conda安装 co ...

  9. 三代测序数据超快组装软件--大牛Li heng 力作

    三代测序数据超快组装软件--大牛Li heng 力作 (2017-06-19 16:53:46) 转载▼   分类: 三代 1:软件链接:https://github.com/lh3/miniasm ...

最新文章

  1. linux mysql 无法识别,Linux下MySQL 5.7.23无法远程连接解决方案
  2. 操作系统课设--扩展文件系统
  3. 概率论-2.7 分布的其他特征函数
  4. WCF 4.0 REST服务解决Method Not Allowed错误
  5. java.util -- List接口
  6. 初识C++之函数重载、重写、重定义的区别
  7. python怎么输入一个数字并调用_python如何直接输入上一句话,如何快速打出上一句话...
  8. Python入门1_数字表达式
  9. Eclipse alt+/ 失效 解决
  10. 如何使用Joyoshare VidiKit Mac版为WMV视频添加字幕?
  11. dd命令打包多个文件_Android shell 下dd命令浅析
  12. Linux内核4.17再获捷报
  13. ddt数据驱动常见的用法【多测师_王sir】
  14. matlab 离散数据 拐点,MATLAB 寻找离散点拐点
  15. Leftist Heaps 习题解
  16. 云服务器ubuntu建网站,云服务器ubuntu建网站
  17. uploader.php,Uploader.php
  18. MATLAB直方图图像去雾算法实现
  19. 多喝牛奶少吃糖 正确饮食摆脱经前综合征
  20. Esp8266(WIFI模块)刷阿里云固件

热门文章

  1. 点云滤波/分割/关键点提取/配准/识别/重建教程
  2. 使用合成数据集来做目标检测:目标检测的介绍
  3. 多视图立体匹配论文分享 | Fast-MVSNet (CVPR2020)
  4. Gaussian Filter
  5. Android测试原理(二)
  6. centos7虚拟机网桥模式不通_CentOS7虚拟机桥接设置及问题
  7. python打印空心平行四边形的面积公式_打印等腰三角形和空心平行四边形
  8. 局域网连接其他机器命令_弱电工程师必备技能,PING命令使用方法大全
  9. 在线作图|2分钟在线绘制三维CCA图
  10. R语言绘制堆叠条形图