介绍

Canu专门组装PacBio或Oxford Nanopore序列。Canu分为三个阶段:校正、修整和装配。校正阶段将提高读取中基数的准确性。微调阶段将微调显示为高质量序列的部分的读取,删除可疑区域,如剩余的SMRTbell适配器。组装阶段将把读取排序为重叠,生成一致序列,并创建备用路径图。
输入序列可以是FASTA或FASTQ格式,未压缩或用gzip(.gz)、bzip2(.bz2)或xz(.xz)压缩。请注意,不支持zip文件(.zip)。

官方测试数据下载

下面包括了pacbio、Nanopore以及Pacbio HIFI的测试数据集

1
2
3
4
5
6
7
8
9
10
11
12
13
#Pacific Biosciences released P6-C4 chemistry reads for Escherichia coli K12. 
curl -L -o pacbio.fastq http://gembox.cbcb.umd.edu/mhap/raw/ecoli_p6_25x.filtered.fastq

#Oxford Nanopore样本数据(Escherichia coli K12)
curl -L -o oxford.fasta http://nanopore.s3.climb.ac.uk/MAP006-PCR-1_2D_pass.fasta

#PacBio测序的大肠杆菌K12 HiFi数据集
curl -L -o ecoli.fastq https://sra-pub-src-1.s3.amazonaws.com/SRR10971019/m54316_180808_005743.fastq.1

canu \
-p asm -d ecoli_hifi \
genomeSize=4.8m \
-pacbio-hifi ecoli.fastq

软件安装

1
2
3
4
5
6
7
8
#Conda
conda install -c conda-forge -c bioconda -c defaults canu
#Homebrew
brew install brewsci/bio/canu
#使用源代码中的最新未发行版本
git clone https://github.com/marbl/canu.git
cd canu/src
make -j <number of threads>

用法

1
2
3
4
5
6
7
8
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

-p选项用于设置中间文件和输出文件的文件名前缀
-s选项将从提供的规范(“ spec”)文件中导入参数列表。
-pacbio和-nanopore假定为原始和未修剪,而-pacbio hifi假定为校正和修剪
使用-pacbio-corrected或-nanopore-corrected 提供预校正的读操作将只运行修剪和组装阶段。
指定reads作为 -corrected -untrimmed将只运行组装步骤。

rawErrorRate <float=unset>
两次未修正的读取之间重叠的允许差值,用分数误差表示;通常不需要修改(PacBio read的默认值为0.300,Nanopore read的默认值为0.500)
correctedErrorRate <float=unset>
两次修正后的读数之间重叠的允许差值,用分数误差表示(PacBio read的默认值为0.045,Nanopore read的默认值为0.144);对于低覆盖率数据集((less than 30X),建议将校正错误率稍微增加1%左右。对于高覆盖率数据集(more than 60X),我们建议将校正错误率稍微降低1%左右。

Canu官方文档

组装PacBio CLR或Nanopore数据

For PacBio:

1
2
3
4
canu \
-p ecoli -d ecoli-pacbio \
genomeSize=4.8m \
-pacbio pacbio.fastq

For Nanopore:

1
2
3
4
canu \
-p ecoli -d ecoli-oxford \
genomeSize=4.8m \
-nanopore oxford.fasta

用HiCanu组装PacBio HiFi

HiCanu通过压缩均聚物、纠正孤立错误和掩盖系统错误来支持PacBio HiFi数据。现在将组装大肠杆菌K12 HiFi数据集,并通过PacBio测序,可在NCBI SRA(3 GB)获得。组装时,使用-pacbio hifi指定输入读数:

1
2
3
4
5
6
7
8
#常规组装
canu -p asm -d <outDir> genomeSize=<GSize> useGrid=false maxThreads=<nThreads> \
-pacbio-hifi <HiFi-reads.fasta>

# For trio binning assembly
canu -haplotype -p asm -d <outDir> genomeSize=<GSize> useGrid=false \
maxThreads=<nThreads> -haplotypePat <pat-reads.fq> -haplotypeMat <mat-reads.fq> \
-pacbio-raw <HiFi-reads.fasta>
1
2
3
4
5
6
curl -L -o ecoli.fastq https://sra-pub-src-1.s3.amazonaws.com/SRR10971019/m54316_180808_005743.fastq.1

canu \
-p asm -d ecoli_hifi \
genomeSize=4.8m \
-pacbio-hifi ecoli.fastq

使用多种技术和多个文件进行组装

Canu可以读取任意数量的输入文件,这些文件可以是多种格式和技术的混合体。请注意,当前不支持将PacBio HiFi数据与其他数据类型相结合。官网文档将在两个FASTQ文件中组合10X PacBio CLR读取,在一个FASTA文件中组合10X Nanopore读取:

1
2
3
4
5
6
7
8
curl -L -o mix.tar.gz http://gembox.cbcb.umd.edu/mhap/raw/ecoliP6Oxford.tar.gz
tar xvzf mix.tar.gz

canu \
-p ecoli -d ecoli-mix \
genomeSize=4.8m \
-pacbio pacbio.part?.fastq.gz \
-nanopore oxford.fasta.gz

手动校正,修剪和组装

  1. 矫正原始数据
  2. 修剪校正的输出
  3. 用不同的严格度将修剪的输出组装两次,重叠使用(参考此处)
1
2
3
4
5
6
7
8
9
10
11
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

Consensus Accuracy

使用PacBio-HiFi数据的HiCanu一致序列通常远高于99.99%,官方文档说到不鼓励对这些组件进行任何后期处理/抛光,因为重复中的mis-mapping可能会导致错误。

对于PacBio数据集,Canu一致序列通常远高于99%的一致性。纳米孔的准确度因孔和基孔的不同而不同,但对于最新的数据,准确度通常在99%以上。精确性可以通过使用专门为该任务开发的工具来提高。
Canu推荐Arrow用于PacBio,Nanopolish或Medaka用于Oxford Nanpore数据。当Illumina reads可用时,FreeBayes可用于polish either PacBio or Oxford Nanopore assemblies.

参考

Nurk S, Walenz B P, Rhie A, et al. HiCanu: accurate assembly of segmental duplications, satellites, and allelic variants from high-fidelity long reads[J]. Genome research, 2020, 30(9): 1291-1305.

点击返回主页