三代测序仪现在逐步投入正式使用之中,目前三代测序例如pacbio数据大的特点之一就是测序得到的reads特别长,最近我开展的一个项目中利用pacbio测序的到的reads中最长的到了23165bp,平均长度4033bp。虽然reads读长比较长,但是可靠性比较低,因此不能向一代、二代数据那样直接用于基因组拼接等。因而在使用之前我们需要利用一些来自454,illumina等平台的高质量二代数据对其进行correction,从原始的长reads中截取保守的高质量的短reads。以下分享利用pacBioToCA做correction的一般流程和方法。
首先pacBioToCA这个程序包含在wgs-assembler这个软件包中。该软件更多介绍以及下载地址:http://sourceforge.net/apps/mediawiki/wgs-assembler/index.php?title=Main_Page。
下载该软件之后按照以下的方法进行解压和安装
bzip2 -dc wgs-7.0.tar.bz2 | tar -xf -
cd wgs-7.0
cd kmer
gmake install
cd ../src
gmake
cd ..
但是在进行编译操作之前,需要对这个代码做一个简单的修改,因为默认该软件支持的最长的reads长度为2048bp,但是pacbio的reads会到20多kb。因此解压wgs-assembler 这个软件包之后,在wgs-assembler/src 这个文件夹里面有一个AS_global.h,将其206行的
#define AS_READ_MAX_NORMAL_LEN_BITS 11
改成
#define AS_READ_MAX_NORMAL_LEN_BITS 15
这样支持的最长的reads长度由2^11 (2048bp),变成2^15 (32768bp)了。
CA这个软件利用各种平台的数据(例如454平台,illumina),或者不同格式的数据(fasta,fastq,sff等)数据前需要,需要将其转换成一个.frg文件。CA软件中针对来自不同测序平台的数据,有不同的转换软件,例如fasta格式数据:fastaToCA,fastq格式数据:fastqToCA,sff格式数据:sffToCA。
在做correction的时候会用到其他的平台的高质量reads数据,因此需要用相应的转换软件,将该reads数据转换一下生成相应.frg文件。对pacbio数据的correction也是一个pacbio reads的转换软件 pacBioToCA。
pacBioToCA的参数如下:
usage: pacBioToCA [options] -s spec.file -fastq fastqfile <frg>
-length Minimum length to keep.
-partitions Number of partitions for consensus
-sge Submit consensus jobs to the grid
-sgeCorrection Parameters for the correction step for the grid. This should match the threads specified below, for example by using -pe threaded
-l libraryname Name of the library; freeformat text.
-t threads Number of threads to use for correction.
由此可见在运行pacBioToCA时需要其他平台reads的frg文件。
更多详细的关于pacBioToCA介绍以及其他格式数据的转换,请阅读 http://www.leekatz.com/wiki/index.php?title=Bioinformatics/pacBioToCA。
目前我自己对pacbio的数据处理和使用经验也不是很充分,后续将结合自己的经验和别人的分享在做进一步整理和总结,也欢迎各位同学分享。
更多其它可参考的资料如下:
sourceforge上关于pacBioToCA的信息:http://sourceforge.net/apps/mediawiki/wgs-assembler/index.php?title=PacBioToCA
wgs-assembler软件介绍:http://sourceforge.net/apps/mediawiki/wgs-assembler/index.php?title=Main_Page
1F
您好!请教一个问题,在fastqtoCA这一步,是只可以用一个文库么?假如有多个illumina文库,来纠正pacbio的数据,该怎么做?谢谢!
B1
@ liuyanhu 我也想问这个问题