基因测序质量行数据压缩预处理、解压还原方法及系统技术方案

技术编号:22503399 阅读:25 留言:0更新日期:2019-11-09 02:58
本发明专利技术公开了一种基因测序质量行数据压缩预处理、解压还原方法及系统,本发明专利技术基因测序质量行数据压缩预处理、解压还原的基本原理是从输入的质量行文件或数据块中取出若干列作为索引列,然后对所有的质量行数据重新排列,所有索引列相同的质量行为一组,并按它们在原数据块中的相对位置排列在一起。由于索引列相同的质量行数据往往更为相似,这种数据重组的方式能够将相似的基因测序数据排列在一起,从而提高了数据的局部相似性。本发明专利技术不引入额外的存储开销,仅仅通过很小的计算开销实现大的数据窗口内的数据重排列,从而提高压缩效率,本发明专利技术适合对基因测序过程中的质量行数据进行压缩预处理,而且数据块越大,优势越明显。

Methods and systems of data compression, decompression and reduction for gene sequencing quality lines

The invention discloses a method and system for compressing, decompressing and restoring gene sequencing quality row data. The basic principle of compressing, decompressing and restoring gene sequencing quality row data is to take several columns from the input quality row file or data block as index columns, and then rearrange all quality row data. All index columns have the same quality behavior , and arrange them together according to their relative positions in the original data block. Because the same quality row data of index column is often more similar, this way of data reorganization can arrange the similar gene sequencing data together, thus improving the local similarity of data. The invention does not introduce additional storage overhead, and only achieves data rearrangement in a large data window through a small calculation overhead, so as to improve the compression efficiency. The invention is suitable for compression preprocessing of quality row data in the process of gene sequencing, and the larger the data block, the more obvious the advantage.

【技术实现步骤摘要】
基因测序质量行数据压缩预处理、解压还原方法及系统
本专利技术涉及基因测序质量行数据的压缩预处理以及解压技术,具体涉及一种基因测序质量行数据压缩预处理、解压还原方法及系统。
技术介绍
基因检测是通过血液、其他体液、或细胞对DNA进行检测的技术,通过特定设备对被检测者细胞中的DNA分子信息作检测,分析它所含有的基因类型和基因缺陷及其表达功能是否正常的一种方法,从而使人们能了解自己的基因信息,明确病因或预知身体患某种疾病的风险。基因检测可以诊断疾病,也可以用于疾病风险的预测。随着基因测序技术的不断升级,测序通量越来越高,同时测序成本直线下降,高通量测序技术逐渐在科研、医疗等领域得到广泛应用。同时,人们生活水平的提高,采用基因检测技术来诊断和预测疾病的人群也日益增长。这使得采用基因检测技术产生的测序数据量急剧增长。海量基因测序数据的存储和传输已经成为基因检测应用中面临的重要技术难题。具有高压缩率的无损压缩算法是解决这一难题的重要技术途径。基因测序结果中质量行数据的压缩又是基因测序数据压缩中的难点。目前基因测序中质量行数据的压缩处理策略是:先通过压缩预处理,如改变数据的排列顺序,然后再利用经典的压缩算法,获得好的压缩效率。最为常用的方法是:利用BWT算法进行预处理,然后利用算术编码等实施压缩。压缩预处理的目的是将相同或相似的数据尽量放在一起,然后再使用压缩算法,可提高压缩的效率。BWT(Burrows-WheelterTransform)作为最常用的压缩预处理方法,其主要思想是:将长度为N的原始字符串S向右依次循环移位,得到N个字符串,再对这N个字符串按字典顺序排序。仅需保存排序后的N个字符串的末尾字符组成的字符串L和原始字符S在这N个字符串的位置,就能够恢复出原始字符串S。BWT算法主要包括如下关键步骤:(1)获得向右循环移位后的字符串:令原始字符串S的长度为N,对其实施向右循环移位操作,即依次向右移动一位,最末位移到第一位,重复上述操作,可以得到N个字符串;(2)对移位后的字符串进行排序:按照字典顺序对向右循环移位得到的N个字符串进行排序,得到字符矩阵M;(3)获得预处理后的数据:根据字符矩阵M,得到其最后一列的字符组成的字符串L,即:L[k]=M[k,N-1](0≤k≤N-1),L的第k个字符就是矩阵M第k行的最后一个字符。令原始字符组串S位于M的第I行,即:M[I,j]=S[j](0≤j≤N-1),则输出预处理的结果(L,I)。在解压过程中,BWT算法需要根据(L,I)恢复出原始字符串S。具体处理过程如下:(1)计算出预处理过程中矩阵M的第一列字符组成的字符串F:由于矩阵M是按字典顺序排序的,因此可对L中的字符按字典顺序排序,即得到的字符串F;(2)确定L与F中字符的对应关系:假设矩阵M’是矩阵M向右循环移了一位,则可知M’的第一列即为L,由于M’的第二列与矩阵M的第一列相同,都是按字典顺序排序后的结果,可知L中相同字母的出现顺序与F中相同字母的出现顺序相同,因此可以建立L与F中字符的对应关系T,L[j]=F[T[j]];(3)获得原始字符串S:由于矩阵M中的字符串都是由原始字符串S向右循环移位后得到的,F[i]和L[i]分别是M中第i行的第一个字符和最后一个字符,因此在向右循环移位时,L[i]一直位于F[i]的前面。根据L与F之间的关系向量T,可以按如下方法从后至前依次求得S中的每个字符:S[N-1-i]=L[Ti[I]]0≤i≤N-1),其中T0[x]=x,Ti+1[x]=T[Ti[x]]。这样就得到了原始的字符串S。BWT方法是一种高效的压缩预处理方法,它通过向右循环移位的方式调整待压缩字符串内的字符顺序,使得相同或相似的字符排列在一起,从而能够提高后续压缩的效率。但是BWT算法存在如下两个缺陷:(1)额外开销较大:由于BWT算法需要保存原始字符串S在矩阵M中的位置信息I,因此在预处理阶段引入了额外的存储开销。由于这一额外开销的存在,可能导致预处理后的结果并不能提高压缩效率。(2)预处理窗口较小:BWT算法只是对字符串内的字符调整了顺序,其预处理窗口仅为固定长度的字符串,预处理的窗口较小,没有考虑从文件或大的数据块的角度去调整数据的顺序。在海量数据环境下,BWT算法由于预处理窗口较小,限制了其提高大数据块内的数据相似性。此外,其预处理过程中的额外开销也限制了压缩效率的进一步提高。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种基因测序质量行数据压缩预处理、解压还原方法及系统,本专利技术不引入额外的存储开销,仅仅通过很小的计算开销实现大的数据窗口内的数据重排列,从而提高压缩效率,本专利技术适合对基因测序过程中的质量行数据进行压缩预处理,而且数据块越大,优势越明显。为了解决上述技术问题,本专利技术采用的技术方案为:本专利技术提供一种基因测序质量行数据压缩预处理方法,实施步骤包括:1)读取质量行数据的原始数据块Data并确定其索引列的列号Index_No;2)根据原始数据块Data的索引列建立分组信息表IIT;3)根据分组信息表IIT,将原始数据块Data中各个质量行按照索引列信息重新分组排列、并删除索引列部分的数据,得到分组重排后的数据Grouped_Data;4)提取原始数据块Data的索引列的数据Index_Data,将索引列的列号Index_No、原始数据块Data的索引列的数据Index_Data以及分组重排后的数据Grouped_Data作为压缩预处理结果输出。优选地,步骤2)的详细步骤包括:2.1)初始化分组信息表IIT的表项数量为0,且分组信息表IIT的表项结构包括序号、索引列信息Index、变量num、变量start和变量temp,其中变量num为具有相应索引列信息的质量行数目,变量start表示具有该索引列信息的质量行在分组排序后所处的起始位置,变量temp为分组重排过程中已处理的具有相应索引列信息的质量行数目;2.2)初始化原始数据块Data的当前质量行的行号i为0;2.3)顺序扫描原始数据块Data中的当前质量行Data[i],如果达到原始数据块Data的末尾,则跳转执行步骤2.6);否则取出当前质量行Data[i]的索引列信息Index,其中Data[i]是指原始数据块Data中当前质量行i的内容;将当前质量行的行号i加1;2.4)查找分组信息表IIT中的所有表项,如果有分组信息表IIT的某个表项j的索引列信息、当前质量行Data[i]的索引列信息Index两者相等,则将表项j的变量num加1,跳转执行步骤2.3);否则,跳转执行步骤2.5);2.5)在分组信息表IIT中建立新的表项k,并设置表项k的索引列信息IIT[k].Index等于当前质量行Data[i]的索引列信息Index、表项k的变量num等于1,将序号k加1;跳转执行步骤2.3);2.6)初始化分组信息表IIT的当前表项j为0;2.7)顺序扫描分组信息表IIT的表项,为各索引列信息设置其对应分组的起始位置,如果达到分组信息表IIT的末尾,本步骤结束,跳转执行步骤3);否则针对分组信息表IIT当前扫描的表项j,如果表项的序号j为0,则设置表项j的变量start的值为0、变量temp的值为0、当前表项序本文档来自技高网
...

【技术保护点】
1.一种基因测序质量行数据压缩预处理方法,其特征在于实施步骤包括:1)读取质量行数据的原始数据块Data并确定其索引列的列号Index_No;2)根据原始数据块Data的索引列建立分组信息表IIT;3)根据分组信息表IIT,将原始数据块Data中各个质量行按照索引列信息重新分组排列、并删除索引列部分的数据,得到分组重排后的数据Grouped_Data;4)提取原始数据块Data的索引列的数据Index_Data,将索引列的列号Index_No、原始数据块Data的索引列的数据Index_Data以及分组重排后的数据Grouped_Data作为压缩预处理结果输出。

【技术特征摘要】
1.一种基因测序质量行数据压缩预处理方法,其特征在于实施步骤包括:1)读取质量行数据的原始数据块Data并确定其索引列的列号Index_No;2)根据原始数据块Data的索引列建立分组信息表IIT;3)根据分组信息表IIT,将原始数据块Data中各个质量行按照索引列信息重新分组排列、并删除索引列部分的数据,得到分组重排后的数据Grouped_Data;4)提取原始数据块Data的索引列的数据Index_Data,将索引列的列号Index_No、原始数据块Data的索引列的数据Index_Data以及分组重排后的数据Grouped_Data作为压缩预处理结果输出。2.根据权利要求1所述的基因测序质量行数据压缩预处理方法,其特征在于,步骤2)的详细步骤包括:2.1)初始化分组信息表IIT的表项数量为0,且分组信息表IIT的表项结构包括序号、索引列信息Index、变量num、变量start和变量temp,其中变量num为具有相应索引列信息的质量行数目,变量start表示具有该索引列信息的质量行在分组排序后所处的起始位置,变量temp为分组重排过程中已处理的具有相应索引列信息的质量行数目;2.2)初始化原始数据块Data的当前质量行的行号i为0;2.3)顺序扫描原始数据块Data的当前质量行Data[i],如果达到原始数据块Data的末尾,则跳转执行步骤2.6);否则取出当前质量行Data[i]的索引列信息Index,其中Data[i]是指原始数据块Data中当前质量行i的内容;将当前质量行的行号i加1;2.4)查找分组信息表IIT中的所有表项,如果有分组信息表IIT的某个表项j的索引列信息、当前质量行Data[i]的索引列信息Index两者相等,则将表项j的变量num加一,跳转执行步骤2.3);否则,跳转执行步骤2.5);2.5)在分组信息表IIT中建立新的表项k,并设置表项k的索引列信息IIT[k].Index等于当前质量行Data[i]的索引列信息Index、表项k的变量num等于1,将序号k加1;跳转执行步骤2.3);2.6)初始化分组信息表IIT的当前表项j为0;2.7)顺序扫描分组信息表IIT的表项,为各索引列信息设置其对应分组的起始位置,如果已经到达分组信息表IIT的末尾,本步骤结束,跳转执行步骤3);否则针对分组信息表IIT当前扫描的表项j,如果表项的序号j为0,则设置表项j的变量start的值为0、变量temp的值为0,当前表项序号j加1;跳转继续执行步骤2.7);否则设置表项j的变量start的值为上一个表项j-1的变量start及其变量num之和,表项j的变量temp的值为0,当前表项序号j加1,跳转继续执行步骤2.7)。3.根据权利要求1所述的基因测序质量行数据压缩预处理方法,其特征在于,步骤3)的详细步骤包括:3.1)为分组重排后的数据Grouped_Data分配空间,其行数与原始数据块Data相同;3.2)初始化原始数据块Data的当前质量行的行号i的值为0;3.3)扫描原始数据块Data的当前质量行,当前质量行的数据为Data[i],其中i为当前质量行的行号,取出当前质量行Data[i]的索引列信息Index;3.4)在分组信息表IIT中查找索引信息与Index相同的表项j;3.5)在分组重排后的数据Grouped_Data中插入删除了索引列信息的质量行数据,且插入位置k的值为表项j的变量start和变量temp之和,并将表项j的变量temp值加1;3.6)将行号i加1,判断行号i是否超过原始数据块Data的总行数,如果尚未超过原始数据块Data的总行数则跳转执行步骤3.3);否则,跳转执行步骤4)。4.一种基因测序质量行数据解压还原方法,其特征在于实施步骤包括:S1)读取解压后得到的索引列的数据Index_Data、分组重排后的数据Grouped_Data以及索引列的列号Index_No,根据分组重排后的数据Grouped_Data和索引列的列号信息Index_No确定原始数据块Data的质量行数目和每行的字符数据,为存储原始数据块Data分配空间;S2)根据索引列的列号Index_No,将索引列的数据Index_Data的每一列数据分别赋值给原始数据块Data中列号属于Index_No所记录的相应列;S3)根据索引列的数据Index_Data建立分组信息表IIT;S4)根据分组信息表IIT,依次...

【专利技术属性】
技术研发人员:赵强利宋卓李根蒋艳凰冯博伦唐宏伟徐霞丽毛海波
申请(专利权)人:人和未来生物科技长沙有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1