生信『三代测序』基因组

生信小白组装学习系列:初识Canu与其组装实战训练(3)

2019-05-30  本文已影响57人  lakeseafly

随着技术的进步,还有各种流程工具的推出,三代测序PacBio和Nanopore在测序,还有基因组研究中越来越扮演着角色。掌握一些三代技术组装的知识,是未来作为生信工作者必不可少的技能。这次推文会给大家带来很多人都很熟悉的一款工具Canu,这里会简单探讨一下其使用的方法,给还没有接触过该工具的小伙伴,带来一些基础的认知。

Canu的介绍

简介
Canu是专门设计给组装PacBio或Oxford Nanopore长序列的一款工具。输入的序列可以是FASTA或FASTQ格式,未压缩或使用gzip(.gz),bzip2(.bz2)或xz(.xz)压缩的格式。但注意,Canu暂时并不支持zip文件(.zip)。

特点
Canu支持断点运行,允许从系统中断或其他它常终止中断点运行。每次重新启动Canu时,它都会检查程序集目录中的文件,以决定下一步该做什么。例如,如果除了两个组装任务之外的所有任务都已完成,那么当其重新启动之后,Canu仅会进行运行所缺失的两个任务。为获得最佳结果,请勿在重新启动,中途时候更改Canu的参数。Canu具有智能的检测功能。Canu能根据当前服务器所有可用的资源,自动检测计算资源并扩展调整自身参数的配置。当然你也可手动去调整,可以使用参数maxMemory和maxThreads明确限制内存和处理器的数目。

对数据的要求

对于真核基因组,理论上超过20倍的数据覆盖率,足以胜过当前的混合组装的方法。但Canu建议是,最小的数据深度范围为30倍至60倍。因为更深的覆盖度,将让Canu使用更长的读取进行装配,这将导致更好的组装结果。

运行流程

Canu分三个阶段进行组装运作:

x修正阶段将会提高reads中碱基的准确性。修剪阶段将reads修剪到,看起来像高质量序列,并删除可疑的区域,例如剩余的SMRTbell的adpaters。组装阶段将reads排序为contigs,生成对应的共有序列(consensus suquences) 并创建可能的共有序列互相相连的路径。

Canu的安装

目前Canu的最新版本是1.8,大家可以直接到官网下载其安装包,然后解压编译:

gunzip -dc canu-v1.8.tar.gz | tar -xf -
cd canu-1.8/src
make -j 8
cd ..

又或者使用已经编译好的版本(最推荐):

wget https://github.com/marbl/canu/releases/download/v1.8/canu-1.8.Linux-amd64.tar.xz

tar -xJf canu-1.8.*.tar.xz

又或者使用conda进行下载安装:

conda install canu

基本运行参数

usage:   canu [-version] [-citation] \
              [-correct | -trim | -assemble | -trim-assemble] \
              [-s <assembly-specifications-file>] \
               -p <assembly-prefix> \
               -d <assembly-directory> \
               genomeSize=<number>[g|m|k] \
              [other-options] \
              [-pacbio-raw |
               -pacbio-corrected |
               -nanopore-raw |
               -nanopore-corrected] file1 file2 ...

实战分析

这里使用一组细菌的数据来练练,并且熟悉使用Canu组装的整个流程。首先简单介绍一下我们使用到的数据。我们即将组装的细菌叫苏云金芽孢杆菌菌株,其strain是HS18-1,该细菌对双翅目的害虫具有一定的杀虫活性。该原始数据大小为1.5Gb,组装出来的基因大小为6.4Mb。

数据和运行

该数据存储于ENA中,然后这里我们只选取pacbio的数据进行下载:

wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR209/006/SRR2093876/SRR2093876_subreads.fastq.gz

然后就可以直接使用canu开始运行了:

canu -p Bt2 -d Bt2_assembly genomeSize=6.2m  -pacbio-raw SRR2093876_subreads.fastq.gz

这个组装大概需要1个多小时去完成,生成的组装文件在Bt2_assembly/Bt2.contigs.fasta,另外其他可能有用的文件Bt2.unassembled.fasta (没有被组装好的reads),Bt2.report This file (包含了每一步的运行信息)。

如果你想知道canu究竟执行了什么脚本,我们可以到canu-scripts目录去查看其运行的脚本:

ls Bt2_assembly/canu-scripts/

###屏幕显示
canu.01.out  canu.02.out  canu.03.out  canu.04.out  canu.05.out  canu.06.out  canu.07.out  canu.08.out  canu.09.out  canu.10.out  canu.11.out  canu.12.out
canu.01.sh   canu.02.sh   canu.03.sh   canu.04.sh   canu.05.sh   canu.06.sh   canu.07.sh   canu.08.sh   canu.09.sh   canu.10.sh   canu.11.sh   canu.12.sh

Canu的最基本最基本的介绍到这里就结束了,看起来还是蛮简单易懂的,入门的目的算是达成了,但是呢,这离真正掌握熟悉整个三代组装,还是有一段距离的(因为组装植物,动物等等的难度可是比细菌高很多,然后这里还没有设计太多polish的内容)。这里就先挖下一个坑,忙完这一段后日后还是要抽时间好好再实战学习三代组装的流程,毕竟未来是三代测序的时代呀。

如果你觉得你离组装还太遥远,不要紧,下期会给大家带来如何评估组装好的基因组质量的推文,会更加实用简单易懂,最后给大家附上Canu其他一些使用教程:

  1. Canu官方最完整的使用教程:https://canu.readthedocs.io/en/latest/tutorial.html
  2. Canu使用遇到的常见问题(你遇到的问题百分之九十会出现在这里):
    https://canu.readthedocs.io/en/latest/faq.html
上一篇下一篇

猜你喜欢

热点阅读