本发明专利技术提供一种针对FASTQ数据的多线程快速存储无损压缩方法,应用于DNA序列的压缩,其中,所述方法包括:数据分类步骤:输入原始FASTQ数据,并将所述原始FASTQ数据的短读分成元数据、质量分数和碱基序列三个数据流;数据压缩步骤:针对元数据,利用增量编码方式进行检测并消除元数据的冗余信息;针对质量分数,利用比特级别的PPM预测模型和算术编码进行压缩;针对碱基序列,利用固定阶位的改良型算术编码进行压缩;数据输出步骤:将不同数据流的压缩结果进行归档合并,输出经过压缩后的最终数据。本发明专利技术还提供一种针对FASTQ数据的多线程快速存储无损压缩系统。本发明专利技术提供的技术方案能提高压缩效率和压缩速度。
【技术实现步骤摘要】
本专利技术涉及数据压缩领域,尤其涉及一种针对FASTQ数据的多线程快速存储无损压缩方法及其系统。
技术介绍
随着DNA测序技术的发展,基因组测序成本越来越低。2014年,测定一个人类基因组的成本控制在1000美元的里程碑已经到来。由于测序效率的提高,DNA序列数据量呈现出爆炸性增长。由于DNA测序数据的增长速度远远超过了计算机微处理器和存储设备的增长速度,存储和分析DNA测序技术和大型基因组项目所产生的DNA数据“海啸”已经成为制约DNA测序产业进一步发展的一个重要瓶颈。而且,由于DNA测序技术正从高通量测序(High-Throughput Sequencing),又称为下一代测序(Next Generation Sequencing)发展到单分子测序技术(又称为第三代测序技术),FASTQ数据的短读从50~200bp不等的固定长度发展到1kbp~300kbp不等的不定长度,数据变化之大进一步制约DNA测序产业的发展,因此迫切需要相关的数据压缩技术投入使用。然而,目前一些主流高效的通用压缩软件如gzip(http://www.gzip.org/)、bzip2(http://gzip.org/)和LZMA(http://www.7-zip.org/sdk.html)。gzip软件对于要压缩的文件首先会采用基于LZ77算法的变种压缩方式,对得到的结果再根据情况使用静态Huffman编码或者动态Huffman编码方法进行压缩。bzip2软件把要压缩的数据进行分块处理(100~900KB每块),对于重复出现的字符序列使用BWT(Burrows-Wheeler transform)算法进行转换处理,然后再采用MTF(Move-To-Front transform)算法和哈弗曼编码(Huffman coding)进行压缩。LZMA软件使用了类似于LZ77算法的字典编码机制,对数据流、重复序列大小以及重续序列位置单独进行了压缩,支持几种散列链变体、二叉树以及基数树作为它的字典查找算法基础。但是,这些压缩方法并未考虑DNA数据的生物学特性,如长重复片段和互补回文结构等,导致对DNA序列数据的压缩效果不甚理想,而且压缩速度较慢。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种针对FASTQ数据的多线程快速存储无损压缩方法及其系统,旨在解决现有技术中针对DNA序列数据的压缩效果较差且压缩速度较慢的问题。本专利技术提出一种针对FASTQ数据的多线程快速存储无损压缩方法,应用于DNA序列的压缩,其特征在于,所述方法包括:数据分类步骤:输入原始FASTQ数据,并将所述原始FASTQ数据的短读分成元数据、质量分数和碱基序列三个数据流;数据压缩步骤:针对元数据,利用增量编码方式进行检测并消除元数据的冗余信息;针对质量分数,利用比特级别的PPM预测模型和算术编码进行压缩;针对碱基序列,利用固定阶位的改良型算术编码进行压缩;数据输出步骤:将不同数据流的压缩结果进行归档合并,输出经过压缩后的最终数据。优选的,在所述数据压缩步骤中采用了Pthreads的线程级并行编程方式来同时处理所述三个数据流的压缩。优选的,所述数据压缩步骤具体包括:针对质量分数,采用游程长读编码方式对质量分数的数据流进行初次压缩以实现预处理;利用比特级别的PPM预测模型和算术编码对经过预处理后的压缩数据进行再次压缩。优选的,所述数据压缩步骤具体包括:针对碱基序列,判断DNA序列的压缩模式是基于非参考基因的压缩模式还是基于参考基因的压缩模式;如果是基于非参考基因的压缩模式,则利用固定阶位的改良型算术编码将碱基序列的数据流进行压缩;如果是基于参考基因的压缩模式,则通过DNA数据匹配工具对DNA短读序列进行比对并剔除冗余,记录相应的匹配信息并以SAM格式文件保存,然后利用固定阶位的改良型算术编码将保存的SAM格式文件提取压缩。另一方面,本专利技术还提供一种针对FASTQ数据的多线程快速存储无损压缩系统,所述系统包括:数据分类模块,用于输入原始FASTQ数据,并将所述原始FASTQ数据的短读分成元数据、质量分数和碱基序列三个数据流;数据压缩模块,用于针对元数据,利用增量编码方式进行检测并消除元数据的冗余信息;针对质量分数,利用比特级别的PPM预测模型和算术编码进行压缩;针对碱基序列,利用固定阶位的改良型算术编码进行压缩;数据输出模块,用于将不同数据流的压缩结果进行归档合并,输出经过压缩后的最终数据。优选的,所述数据压缩模块采用Pthreads的线程级并行编程方式来同时处理所述三个数据流的压缩。优选的,所述数据压缩模块具体用于:针对质量分数,采用游程长读编码方式对质量分数的数据流进行初次压缩以实现预处理;利用比特级别的PPM预测模型和算术编码对经过预处理后的压缩数据进行再次压缩。优选的,所述数据压缩模块具体用于:针对碱基序列,判断DNA序列的压缩模式是基于非参考基因的压缩模式还是基于参考基因的压缩模式;如果是基于非参考基因的压缩模式,则利用固定阶位的改良型算术编码将碱基序列的数据流进行压缩;如果是基于参考基因的压缩模式,则通过DNA数据匹配工具对DNA短读序列进行比对并剔除冗余,记录相应的匹配信息并以SAM格式文件保存,然后利用固定阶位的改良型算术编码将保存的SAM格式文件提取压缩。本专利技术提供的技术方案充分利用了DNA数据的生物学特性,能在两种FASTQ数据(即长读和短读)中获得极高的压缩比,通过设计高效的编码方式把FASTQ数据拆分成三种类型的数据流并对此分别进行单独压缩,大大提高了压缩率,并且,对上游DNA数据匹配工具提供了接口,能应用于基于参考基因的压缩模式,发挥同源物种基因组之间的高度相似性,进一步提高重测序数据的压缩比。另外,通过采用Pthreads(POSIX threads)的线程级并行编程,能够同时压缩处理三种数据流所产生的中间文件,从而大大提高压缩速度,增加了适用性,进而提高了压缩效率。附图说明图1为本专利技术一实施方式中针对FASTQ数据的多线程快速存储无损压缩方法流程图;图2为本专利技术一实施方式中针对FASTQ数据的多线程快速存储无损压缩系统10的内部结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术具体实施方式提供了一种针对FASTQ数据的多线程快速存储无损压缩方法,应用于DNA序列的压缩,其中,所述方法主要包括如下步骤:S11、数据分类步骤:输入原始FASTQ数据,并将所述原始FASTQ数据的短读分成元数据、质量分数和碱基序列三个数据流;S12、数据压缩步骤:针对元数据,利用增量编码方式进行检测并消除元数据的冗余信息;针对质量分数,利用比特级别的PPM预测模型和算术编码进行压缩;针对碱基序列,利用固定阶位的改良型算术编码进行压缩;S13、数据输出步骤:将不同数据流的压缩结果进行归档合并,输出经过压缩后的最终数据。本专利技术提供的一种针对FASTQ数据的多线程快速存储无损压缩方法充分利用了DNA数据的生物学特性,能在两种FASTQ数据(即长读和短读)中获得极高的压缩比,通过设计高效的编码方式把FA本文档来自技高网...
【技术保护点】
一种针对FASTQ数据的多线程快速存储无损压缩方法,应用于DNA序列的压缩,其特征在于,所述方法包括:数据分类步骤:输入原始FASTQ数据,并将所述原始FASTQ数据的短读分成元数据、质量分数和碱基序列三个数据流;数据压缩步骤:针对元数据,利用增量编码方式进行检测并消除元数据的冗余信息;针对质量分数,利用比特级别的PPM预测模型和算术编码进行压缩;针对碱基序列,利用固定阶位的改良型算术编码进行压缩;数据输出步骤:将不同数据流的压缩结果进行归档合并,输出经过压缩后的最终数据。
【技术特征摘要】
1.一种针对FASTQ数据的多线程快速存储无损压缩方法,应用于DNA序列的压缩,其特征在于,所述方法包括:数据分类步骤:输入原始FASTQ数据,并将所述原始FASTQ数据的短读分成元数据、质量分数和碱基序列三个数据流;数据压缩步骤:针对元数据,利用增量编码方式进行检测并消除元数据的冗余信息;针对质量分数,利用比特级别的PPM预测模型和算术编码进行压缩;针对碱基序列,利用固定阶位的改良型算术编码进行压缩;数据输出步骤:将不同数据流的压缩结果进行归档合并,输出经过压缩后的最终数据。2.如权利要求1所述的针对FASTQ数据的多线程快速存储无损压缩方法,其特征在于,在所述数据压缩步骤中采用了Pthreads的线程级并行编程方式来同时处理所述三个数据流的压缩。3.如权利要求2所述的针对FASTQ数据的多线程快速存储无损压缩方法,其特征在于,所述数据压缩步骤具体包括:针对质量分数,采用游程长读编码方式对质量分数的数据流进行初次压缩以实现预处理;利用比特级别的PPM预测模型和算术编码对经过预处理后的压缩数据进行再次压缩。4.如权利要求2所述的针对FASTQ数据的多线程快速存储无损压缩方法,其特征在于,所述数据压缩步骤具体包括:针对碱基序列,判断DNA序列的压缩模式是基于非参考基因的压缩模式还是基于参考基因的压缩模式;如果是基于非参考基因的压缩模式,则利用固定阶位的改良型算术编码将碱基序列的数据流进行压缩;如果是基于参考基因的压缩模式,则通过DNA数据匹配工具对DNA短读序列进行比对并剔除冗余,记录相应的匹配信息并以SAM格式文件保存,然后利用固定阶位的改良型算术编码将保存的SAM格式文件...
【专利技术属性】
技术研发人员:朱泽轩,黄志安,孙怡雯,文振焜,
申请(专利权)人:深圳大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。