欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hicanu用于hifi基因组组装 |不同测序数据应用与基因组组装

程序员文章站 2022-03-11 18:44:47
...

介绍

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

官方测试数据下载

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

#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

软件安装

#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>

用法

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:

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

For Nanopore:

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指定输入读数:

#常规组装
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>
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读取:

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. 用不同的严格度将修剪的输出组装两次,重叠使用(参考此处)
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.

我的个人博客