Canu安装及使用
Canu是组装PacBio以及Nanopore序列的组装软件。本文摘录自官网手册。
=========================================================
参考手册及官网地址
=========================================================
Description
Canu specializes in assembling PacBio or Oxford Nanopore sequences.
Canu operates in three phases: correction, trimming and assembly.
For eukaryotic genomes, coverage more than 20x is enough to outperform.More coverage will let Canu use longer reads for assembly, which will result in better assemblies.
输入文件格式可以是FASTA或者FASTQ格式,解压或者压缩格式(.gz,.bz2,.xz)均可。
异常终止可以恢复断点继续运行。自动检测可用计算资源并适配。maxMemory和maxThreads参数可限制Memory和processors。
canu中大多数算法是单节点多线程或者节点间并行甚至多节点多核运行的,意味着更高的组装效率
#组装完为了提高准确度,使用相应的软件进行基因组的polish
We recommend Arrow for PacBio and Nanopolish or Medaka for Oxford Nanpore data. When Illumina reads are available, FreeBayes can be used to polish either PacBio or Oxford Nanopore assemblies.
==========================================================
正式开始
一、canu安装
git clone https://github.com/marbl/canu.git
cd canu/src
make -j <number of threads>
export PATH="/your-path-to-canu/canu/bin:$PATH"
二、下载demo数据
curl -L -o pacbio.fastq http://gembox.cbcb.umd.edu/mhap/raw/ecoli_p6_25x.filtered.fastq
curl -L -o ecoli.fastq https://sra-pub-src-1.s3.amazonaws.com/SRR10971019/m54316_180808_005743.fastq.1
curl -L -o yeast.20x.fastq.gz http://gembox.cbcb.umd.edu/mhap/raw/yeast_filtered.20x.fastq.gz
三、canu运行(从原始reads组装一步到位)
不同reads有不同的组装策略,结果文件夹下包含生成的中间文件correction、trimming以及unitigging,最终结果为ecoli.contigs.fasta。以下为常用案例。第一个demo尝试不到一小时就可运行完成。
#pacbio组装
canu -p ecoli -d ecoli-pacbio genomeSize=4.8m -pacbio pacbio.fastq
#nanopore组装
canu -p ecoli -d ecoli-oxford genomeSize=4.8m maxInputCoverage=100 -nanopore ecolk12mg1655_R10_3_guppy_345_HAC.fastq
#HiFi组装(需使用-pacbio-hifi参数声明输入类型)
canu -p asm -d ecoli_hifi genomeSize=4.8m -pacbio-hifi ecoli.fastq
#20X组装(调整correctedErroRate适配相对低质量数据)
canu -p asm -d yeast genomeSize=12.1m correctedErrorRate=0.105 -pacbio yeast.20x.fastq.gz
--------------------------------------------------------------
#自定义spec.txt文件,可通过如下方式。canu运行时指定-s spec.txt即可启用。
$ vi spec.txt
useGrid=1
gridOptions=-S /bin/bash -q all.q -l mem_free=60g
gridEngineThreadsOption=-pe mpi THREADS
gridEngineMemoryOption=-l mem_total=MEMORY
corOutCoverage=80
ovbMemory=8g
maxMemory=500g
maxThreads=48
ovsMemory=8-500g
ovsThreads=4
oeaThreads=4
canu -s spec.txt -p ecoli -d ecoli-auto genomeSize=4.8m -pacbio-raw p6.25x.fastq
--------------------------------------------------------------
四、Manually组装(Step By Step)
可以手动进行correct、trim以及assemble意味着更灵活的使用场景。可以跳过前两步,只进行组装,用来快速尝试不同的unitig构建策略;或者仅仅用canu来校正reads。
#Correct the raw reads
canu -correct -p ecoli -d ecoli genomeSize=4.8m -pacbio pacbio.fastq
#Trim the output of the correction
canu -trim -p ecoli -d ecoli genomeSize=4.8m -corrected -pacbio ecoli/ecoli.correctedReads.fasta.gz
#Assemble the output of trimming,twice(设置不同的correctedErrorRate可能会带来不同的组装连续性)
canu -p ecoli -d ecoli-erate-0.039 genomeSize=4.8m correctedErrorRate=0.039 -trimmed -corrected -pacbio ecoli/ecoli.trimmedReads.fasta.gz
canu -p ecoli -d ecoli-erate-0.075 genomeSize=4.8m correctedErrorRate=0.075 -trimmed -corrected -pacbio ecoli/ecoli.trimmedReads.fasta.gz
五、补充更多案例
待使用时再看这部分。
#Trio Binning组装(主要是利用父母本短reads区分F1代reads实现单倍型组装)
略
#Mix组装(组装时可以尝试一下该方式)
canu -p ecoli -d ecoli-mix genomeSize=4.8m -pacbio pacbio.part?.fastq.gz -nanopore oxford.fasta.gz
#RawONT组装(Experimental Stage,不建议尝试)
canu -p ecoli -d ecoli-oxford-uncorrected genomeSize=4.8m -untrimmed correctedErrorRate=0.12 maxInputCoverage=100 'batOptions=-eg 0.10 -sb 0.01 -dg 2 -db 1 -dr 3' -pacbio-hifi ecolk12mg1655_R10_3_guppy_345_HAC.fastq
============================================================
Canu参数简介
canu [-haplotype|-correct|-trim] \
[-s <assembly-specifications-file>] \
-p <assembly-prefix> \
-d <assembly-directory> \
genomeSize=<number>[g|m|k] \
[other-options] \
[-trimmed|-untrimmed|-raw|-corrected] \
[-pacbio|-nanopore|-pacbio-hifi] *fastq
[]代表可选参数。
第一行为设置运行程序,限制canu完成特定的步骤。
第二行为声明参数文件。
第三行-p为生成文件前缀。
第四行-d为生成的结果目录文件夹。
第五行为声明基因组大小,因为canu需要知道测序深度。
第六行other-options参数见https://canu.readthedocs.io/en/latest/parameter-reference.html#parameter-reference
第七行为声明reads情况
第八行为声明reads类型,-pacbio-hifi默认corrected和trimmed,直接进行组装。若结合来看,-pacbio -corrected 或者 -nanopore -corrected 将会直接进行trimming以及assembling阶段。需要注意的是,若声明-corrected -untrimmed将只进行组装步骤?
=============================================================
Canu输出简介
一、Log
相应的阶段会有对应的log文件产生。大多分析也包含在<prefix>.report文件中。
二、Reads
<prefix>.correctedReads.fasta.gz<prefix>.trimmedReads.fasta.gz
三、Sequence
<prefix>.contigs.fasta
#包含Everything which could be assembled and is the full assembly, including both unique, repetitive, and bubble elements.
<prefix>.unassembled.fasta
#Reads and low-coverage contigs which could not be incorporated into the primary assembly
#序列header line信息如下其中len是contig长度,reads是形成该contig的reads条数,class为序列类型(unassembled序列中会显示read),另外三个说明为yes/no
>t1g00000001 1en=46651083 reads=10220 class=contig suggestRepeat=no suggestBubble=no suggestcircular=yes trim-=20235-4660825
四、METADATA
layout文件提供每条read在最终组装中的位置信息,包括contig和位置信息
<prefix>.contigs.layout
<prefix>.contigs.layout.readToTig
#readID tigID bgn end
4599 1 0 30705
4239 1 776 2486
4238 1 2493 782
4236 1 784 2480
4237 1 2451 803
4240 1 2489 806
8438 1 1168 3225
<prefix>.contigs.layout.tigInfo
#A list of the contigs, lengths, coverage, number of reads and other metadata.
================================================================
更多参数如下,详细配置参见
https://canu.readthedocs.io/en/latest/tutorial.html
Module Tags
Tag Usage
Execution Configuration
Error Rates
Minimum Lengths
minReadLength
minOverlapLength
Overlap configuration
Minimap Overlapper Parameters
====================================================================
浙公网安备 33010602011771号