1. PacBioToCA 简介
PacBioToCA 是 Celera Assembler 的一个模块,用于Pacbio数据的校正。因此,使用 PacBioToCA 需要安装 Celera Assembler。
利用 PacBioToCA 进行校正时:如果 Pacbio 数据量 > 20x 时,可以进行自我校正,而不需要其它更为精确的数据;推荐 Pacbio 数据量 > 50x 时进行自我校正;通常 > 15x 的 Pacbio 数据即可得到很好的组装结果。
2. 安装 Celera Assembler
推荐使用源码安装,直接下载二进制版本,可能提示错误:/lib64/libc.so.6: version `GLIBC_2.14′ not found
$ wget http://sourceforge.net/projects/wgs-assembler/files/wgs-assembler/wgs-8.3/wgs-8.3rc2.tar.bz2
$ tar jxf wgs-8.3rc2.tar.bz2 -C /opt/biosoft/
$ cd /opt/biosoft/wgs-8.3rc2/kmer
以下使用 make,不要使用 -j 参数进行多线程编译,会出错。
$ make && make install && cd ..
$ cd src && make && cd ..
$ echo 'PATH=$PATH:/opt/biosoft/wgs-8.3rc2/Linux-amd64/bin/' >> ~/.bashrc
如果进行 Pacbio 数据的自我校正,则需要 JAVA 1.8 版本
$ wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=106240 -O jre1.8.0_45.tar.gz
$ tar zxf jre1.8.0_45.tar.gz -C /opt/biosoft
$ echo 'PATH=/opt/biosoft/jre1.8.0_45/bin/:$PATH' >> ~/.bashrc
$ source ~/.bashrc
3. PacBioToCA 的使用
3.1 将错误率低的测序数据转换为 FRG 数据
$ wget http://sourceforge.net/projects/wgs-assembler/files/wgs-assembler/wgs-8.3/wgs-8.3rc2.tar.bz2 $ tar jxf wgs-8.3rc2.tar.bz2 -C /opt/biosoft/ $ cd /opt/biosoft/wgs-8.3rc2/kmer 以下使用 make,不要使用 -j 参数进行多线程编译,会出错。 $ make && make install && cd .. $ cd src && make && cd .. $ echo 'PATH=$PATH:/opt/biosoft/wgs-8.3rc2/Linux-amd64/bin/' >> ~/.bashrc 如果进行 Pacbio 数据的自我校正,则需要 JAVA 1.8 版本 $ wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=106240 -O jre1.8.0_45.tar.gz $ tar zxf jre1.8.0_45.tar.gz -C /opt/biosoft $ echo 'PATH=/opt/biosoft/jre1.8.0_45/bin/:$PATH' >> ~/.bashrc $ source ~/.bashrc
3. PacBioToCA 的使用
3.1 将错误率低的测序数据转换为 FRG 数据
Celera Assembler 软件输入的测序数据的文件格式是 FRG 格式。PacBioToCA 输入的错误率低的数据需要 FRG 格式。
1. 使用 fastqToCA 将 fastq 数据转换为 FRG 格式
一般情况下是利用错误率较低的 Illumina 数据来对 Pacbio 数据进行校正。 因此需要将 Illumina 的 Fastq 文件转换成 FRG 格式。 FRG 文件是文本文件,其中包含有 fastq 文件的路径和一些测序信息,比如插入片段长度、测序方向和碱基质量格式等。
fastqToCA 的常用示例和常用参数:
$ fastqToCA -insertsize 500 50 -libraryname pe500 -mates reads.1.fastq,reads.2.fastq > pe500.frg -insertsize 设置插入片段长度,为2个值,前者为插入片段长度,后者为标准差。 -libraryname 文库的ID -reads 单端测序的 fastq 文件路径。 -mates 双端测序的 fastq 文件路径。若双端数据交叉在一个文件中,则该参数后只有一个路径;若双端数据在2个fastq文件中,则2个路径用逗号分割。 -technology default:illumina 测序技术。可选的值有:none, sanger, 454, illumina(读长 < 160bp), illumina-long(任意读长), moleculo, pacbio-ccs, pacbio-corrected, pacbio-raw。 -type default:sanger 碱基质量格式。可选的值有:sanger, solexa, illumina。 -innie 测序方向为 5'-3' <-> 3'-5',适合小片段测序文库。 -outtie 测序方向为 3'-5' <-> 5'-3',适合大片段文库。
2. 使用 sffToCA 将 SFF 数据为 FRG 格式
Roche/454 数据格式为 SFF。
sffToCA 的常用示例和常用参数:
$ sffToCA -libraryname LIB -output NAME IN.SFF ... -insertsize 设置插入片段长度,为2个值,前者为插入片段长度,后者为标准差。 -libraryname 文库的ID。 -output 输出文件的前缀。
3.2 使用 pacBioToCA/PBcR 进行 Pacbio 数据的修正
pacBioToCA 能对 Pacbio 数据进行校正,也能进行调用 runCA 进行基因组组装。
pacBioToCA 的输入文件为:
1. pacbio.spec 该文件包含一些参数信息,以 参数=值 表示。必须提供该文件,该文件内容为空,则全部使用默认参数。 2. pacbio.fastq Pacbio测序的fastq文件,对该文件中的数据进行校正。 3. seq.frg Illumina或454数据由 fatsqToCA 转换得到的 FRG 格式文件。如果不提供该文件,则进行自我校正。
pacBioToCA 的常用例子(示例数据)和参数:
$ pacBioToCA -libraryname out_prefix -s pacbio.spec -fastq pacbio.fastq seq1.frg seq2.frg 必须参数: -libraryname STRING 设定输出文件的前缀。 -s FILE 从指定的参数文件获取额外的参数。若该文件内容为空,则使用默认的参数。 -fastq FILE 输入需要校正的 Pacbio 数据。 可选参数: -length INT default:500 pacBioToCA 对长度大于此值的测序 reads 进行修正。 -partitions INT default:200 将用于校正的数据分成指定份数,进行计算。内存不够,则需要增大该值。若内存足够,减小该值,可以减少计算时间。若该值太小(< 总线程数),软件会中途运行runCorrection.sh报错并停止运行。 -threads INT default:max 使用的线程数。默认为所有可用的线程数。 -shortReads 如果用于辅助校准的序列长度都 <= 100bp,则使用该参数。 -genomeSize INT default:0 设置基因组大小。设置改值后,在其它默认条件下,如果校正后的数据量 >25x,则会进行基因组组装。不设置该值,可能等同于设置该值为 5000000 (从软件输出信息中查知)。 -maxCoverage INT default:40 默认下,最多校正 40x 的数据量。 -maxGap INT 默认下,如果有一段 pacibo-read 区域没有 short-read 覆盖,则会打断 pacbio-read。此值设定所能允许的没有 short-read 覆盖的最大长度。当然,若此段区域没有其它 pacbio-reads 重叠,则也会进行打断。
此外,在 pacbio.spec 文件中常设置的参数为:
若不进行基因,则需要设置: assemble=0 软件默认设置最大内存使用量设置为系统最大可使用的内存量,若设定最大使用内存为 64G,则设置: ovlMemory=64 使用 CA 8 版本对大基因组(>100Mbp)进行校正,设置: maxGap=1500 ovlHashBlockLength=1000000000 ovlRefBlockLength=1000000000 使用Illumina数据进行校正: blasr=-noRefineAlign -advanceHalf -noSplitSubreads -minMatch 10 -minPctIdentity 70 -bestn 24 -nCandidates 24 自我校正: blasr=-minReadLength 200 -maxScore -1000 -maxLCPLength 16 -bestn 24 -nCandidates 24 ovlThreads=16 下面一个参数设置并行数。其值推荐设置为 总线程数 / ovlThreads值 。设置为2,表示每个 blasr 程序运行消耗 16 线程,并行运行 2 个 blasr 程序。 ovlConcurrency=2 若进行基因组组装。默认参数适用于单倍体数据或近亲杂交数据。对于大基因组或双倍体基因组,则需要设置: asmUtgErrorRate=0.10 asmCnsErrorRate=0.10 asmCgwErrorRate=0.10 asmOBT=1 asmObtErrorRate=0.08 asmObtErrorLimit=4.5 utgGraphErrorRate=0.05 utgMergeErrorRate=0.05 ovlHashBits=24 ovlHashLoad=0.80