基因测序数据压缩解压方法、系统及计算机可读介质与流程

文档序号:18202179发布日期:2019-07-17 06:14阅读:358来源:国知局
基因测序数据压缩解压方法、系统及计算机可读介质与流程

本发明涉及基因测序和数据压缩技术,具体涉及一种基因测序数据压缩解压方法、系统及计算机可读介质。



背景技术:

近年来,随着下一代测序技术(nextgenerationsequence,ngs)的持续进步,基因测序的速度更快,成本更低,基因测序技术得以在更加广泛的生物、医疗、健康、刑侦、农业等等许多领域被推广应用,从而导致基因测序产生的原始数据量以每年3到5倍、甚至更快的速度爆炸式增长。而且,每个基因测序样本数据又很大,例如一个人的55x全基因组测序数据大约是400gb。因此,海量的基因测试数据的存储、管理、检索和传输面临技术和成本的挑战。数据压缩(datacompression)就是缓解这个挑战的技术之一。数据压缩,是为了减少存储空间而把数据转换成比原始格式更紧凑形式的过程。原始的输入数据包含我们需要压缩或减小尺寸的符号序列。这些符号被压缩器编码,输出结果是编码过的数据。通常在之后的某个时间,编码后的数据会被输入到一个解压缩器,在这里数据被解码、重建,并以符号序列的形式输出原始数据。如果输出数据和输入数据始终完全相同,那么这个压缩方案被称为无损的(lossless),也称无损编码器。否则,它就是一个有损的(lossy)压缩方案。

目前,世界各国研究人员已经开发出多种用于基因测序数据的压缩方法。基于基因测序数据的用途,其压缩后必须随时可以重建、恢复成原始数据,因此,有实际意义的基因测序数据压缩方法都是无损压缩。如果按总的技术路线分类,可以将基因测序数据压缩方法分成三大类:通用(generalpurpose)压缩算法、有参考基因组(reference-based)的压缩算法和无参考基因组(reference-free)的压缩算法。

有参考基因组压缩算法,就是选取某个基因组数据作为参考基因组,利用基因测序数据自身的特点,以及目标样本数据和参考基因组数据之间的相似性,间接进行数据压缩。已有的有参考基因组压缩算法常用的相似性表示、编码和压缩方法主要还是霍夫曼编码、以lz77和lz78为代表的字典方法、算术编码等基础的压缩算法及其变种和优化。对于人类,这个参考基因组大概有3gb个a/c/g/t的字符。因此,任何人的测序获得基因测序数据的每一个读序列都能匹配到这个3gb字符串的某一个位置。基于上述特点,现有技术的有参考基因组(reference-based)的压缩算法中,如果某一个读序列比对到参考基因组中的某一个位置,则使用一个相对参考基因组的位置信息、一个cigar串来描述这一个读序列。因为大部分读序列并不是一字不差与参考序列匹配上的,因此,cigar串通常看起来是这个样子的:比如读序列为“....accttgg...”其在参考基因组中匹配的参考序列为“....aaccttgg...”,则对应的cigar串:m1d1m6,m表示匹配、d表示删除,意思就是从开头起,匹配了1个字符(a)、删除了一个字符(a)、后面继续匹配6个字符(ccttgg)。因为“相对参考基因组的位置+一个cigar串”,可以在有参考序列的情况下,完全还原读序列的数据,且cigar串相对原来的随机字符更好压缩,因此通常的压缩器,就将读序列通过比对,处理成“相对参考基因组的位置+一个cigar串”,然后压缩。

衡量压缩算法性能或效率的2个最常用的技术指标是:压缩率(compressionratio)或压缩比;压缩/解压时间或压缩/解压速度。压缩率=(压缩后数据大小/压缩前数据大小)*100%,压缩比=(压缩前数据大小/压缩后数据大小),即压缩率和压缩比互为倒数。压缩率和压缩比只和压缩算法本身有关,多种算法间可以直接进行比较,压缩率越小或压缩比越大,表明算法性能或效率越好;压缩/解压时间,即从读取原始数据到解压完成所需的机器运行时间;压缩/解压速度,即平均每单位时间可以处理压缩的数据量。压缩/解压时间和压缩/解压速度,既和压缩算法本身有关,也和使用的机器环境(包括硬件和系统软件)有关,因此,多种算法必须基于相同的机器环境运行,压缩/解压时间或压缩/解压速度的比较才有意义,在此前提下,压缩/解压时间越短,压缩/解压速度越快,表明算法性能或效率越好。另外,还有一个参考技术指标是运行时的资源消耗,主要是机器存储的峰值。在压缩率和压缩/解压时间相当的情况下,对存储的要求越少,表明算法性能或效率越好。

根据研究人员对已有的基因测序数据压缩方法的比较研究结果,无论是通用压缩算法、无参考基因组的压缩算法,还是有参考基因组压缩算法,都存在的问题有:1、压缩率还有进一步下降的空间;2、在获得相对较好的压缩率时,算法的压缩/解压时间相对较长,时间成本成为新的问题。此外,与通用压缩算法和无参考基因组压缩算法相比,有参考基因组压缩算法通常能获得更好的压缩率。但是,对于有参考基因组的压缩算法,参考基因组的选择会导致算法性能的稳定性问题,即处理相同的目标样本数据,当选择不同的参考基因组时,压缩算法性能可能存在明显差异;而使用相同的参考基因组选择策略,当处理同种的、不同的基因测序样本数据时,压缩算法的性能同样可能存在明显差异。尤其是对于有参考基因组压缩算法而言,如何基于参考基因组提高对基因测序数据的压缩率以及压缩性能,已经成为一项亟待解决的关键技术问题。



技术实现要素:

本发明要解决的技术问题:针对现有技术的上述问题,提供一种的基因测序数据压缩解压方法、系统及计算机可读介质,本发明具有压缩率低,压缩时间短,压缩性能稳定的优点,不需要对基因数据进行精准比对,有较高的计算效率,比对获取读序列r最近似的等长基因字符序列cs的准确度越高则重复字符串就越多,压缩的压缩率就越低。

为了解决上述技术问题,本发明采用的技术方案为:

一方面,本发明提供一种基因测序数据压缩方法,实施步骤包括:

a1)从基因测序数据样本data中遍历获取读长为lr的读序列r;

a2)针对每一条读序列r,将读序列r和参考基因组进行比对获取其在参考基因组中的最近似位置p,得到与读序列r最近似的等长基因字符序列cs;将读序列r、等长基因字符序列cs编码后通过可逆函数进行可逆运算,所述可逆函数将任意一对相同的字符编码的运算输出结果相同;将读序列r在参考基因组中的最近似位置p、可逆运算结果作为两条数据流压缩输出。

优选地,步骤a2)的详细步骤包括:

a2.1)从基因测序数据样本data中遍历获取一条读长为lr的读序列r;

a2.2)将读序列r和参考基因组进行比对获取其在参考基因组中的最近似位置p,得到与读序列r最近似的等长基因字符序列cs;

a2.3)将读序列r、等长基因字符序列cs编码后通过可逆函数进行可逆运算,所述可逆函数将任意一对相同的字符编码的运算输出结果相同;

a2.4)将读序列r在参考基因组中的最近似位置p、可逆运算结果作为两条数据流压缩输出;

a2.5)判断基因测序数据样本data中的读序列r是否遍历完毕,如果尚未遍历完毕,则跳转执行步骤a2.1);否则结束并退出。

优选地,所述可逆函数具体采用xor异或运算或者位减法。

优选地,步骤a2)中的压缩具体是指使用统计模型和熵编码进行压缩。

另一方面,本发明还提供一种基因测序数据解压方法,实施步骤包括:

b1)从待解压的基因测序数据datac中遍历获取待解压读序列rc;

b2)针对每一条待解压读序列rc,将待解压读序列rc解压重构为在参考基因组中的最近似位置p和长度为lr位的可逆运算结果cs1;根据在参考基因组中的最近似位置p在参考基因组中获取长度为lr位的基因字符串cs2;将可逆运算结果cs1、基因字符串cs2通过可逆函数的反函数进行逆向运算,得到待解压读序列rc对应的原始读序列r并输出,所述可逆运算将任意一对相同的字符编码的运算输出结果相同。

优选地,步骤b2)的详细步骤包括:

b2.1)从待解压的基因测序数据datac中遍历获取一条待解压读序列rc;

b2.2)将待解压读序列rc解压重构为在参考基因组中的最近似位置p和长度为lr位的可逆运算结果cs1;

b2.3)根据在参考基因组中的最近似位置p在参考基因组中获取长度为lr位的基因字符串cs2;

b2.4)将可逆运算结果cs1、基因字符串cs2通过可逆函数的反函数进行逆向运算,得到待解压读序列rc对应的原始读序列r并输出,所述可逆运算将任意一对相同的字符编码的运算输出结果相同;

b2.5)判断待解压的基因测序数据datac的待解压读序列rc是否遍历完毕,如果尚未遍历完毕,则跳转执行步骤b2.1);否则结束并退出。

优选地,所述可逆函数具体采用xor异或函数或位减法函数,xor异或函数的反函数为xor异或函数,位减法函数的反函数为位加法函数。

优选地,步骤b2)中的解压重构具体是指使用统计模型和熵编码的逆算法进行解压重构。

此外,本发明还提供一种基因测序数据解压系统,包括计算机系统,所述计算机系统被编程以执行本发明前述基因测序数据压缩方法或者本发明前述基因测序数据解压方法的步骤。

此外,本发明还提供一种计算机可读介质,所述计算机可读介质上存储有计算机程序,其特征在于,所述计算机程序使计算机执行本发明前述基因测序数据压缩方法或者本发明前述基因测序数据解压方法的步骤。

本发明具有下述优点:

1、本发明的基因测序数据压缩方法是一种无损的、有参考基因组的基因测序数据压缩方法,通过将读序列r和参考基因组进行比对获取等长基因字符序列cs;将读序列r、等长基因字符序列cs编码后通过可逆函数进行可逆运算,将读序列r在参考基因组中的最近似位置p、可逆运算结果作为两条数据流压缩输出,能够有效提升基因序列数据的压缩倍率,具有压缩率低,压缩时间短,压缩性能稳定的优点。

2、区别于现有技术使用参考序列进行基因序列精准比对后再进行数据压缩,本发明方法对将读序列r和参考基因组进行比对获取等长基因字符序列cs时不需要对基因数据进行精准比对,有较高的计算效率,比对准确度越高,则可逆运算结果中的重复字符串就越多,从而压缩的压缩率就越低。

3、本发明方法将读序列r和参考基因组进行比对获取等长基因字符序列cs时可通用各种基因测序数据比对方法,得到与读序列r最近似的等长基因字符序列cs的效率越高、精确度越高,则对应会导致压缩效率越高、压缩率越低。

本发明基因测序数据解压方法为本发明基因测序数据压缩方法对应的逆向方法,其同样也具有本发明基因测序数据压缩方法的前述优点,故在此不再赘述。

附图说明

图1为本发明实施例压缩方法的基本原理示意图。

图2为本发明实施例解压方法的基本原理示意图。

具体实施方式

参见图1,本实施例基因测序数据压缩方法的实施步骤包括:

a1)从基因测序数据样本data中遍历获取读长为lr的读序列r;

a2)针对每一条读序列r,将读序列r和参考基因组进行比对获取其在参考基因组中的最近似位置p,得到与读序列r最近似的等长基因字符序列cs;将读序列r、等长基因字符序列cs编码后通过可逆函数进行可逆运算,可逆函数将任意一对相同的字符编码的运算输出结果相同;将读序列r在参考基因组中的最近似位置p、可逆运算结果作为两条数据流压缩输出。

本实施例基因测序数据压缩方法能够将压缩率更进一步降低、在获得相对较好的压缩率时算法的压缩/解压时间相对较短、可兼容各种将读序列和参考基因组进行比对的算法。

本实施例中,步骤a2)的详细步骤包括:

a2.1)从基因测序数据样本data中遍历获取一条读长为lr的读序列r;

a2.2)将读序列r和参考基因组进行比对获取其在参考基因组中的最近似位置p,得到与读序列r最近似的等长基因字符序列cs;

a2.3)将读序列r、等长基因字符序列cs编码后通过可逆函数进行可逆运算,可逆函数将任意一对相同的字符编码的运算输出结果相同;

a2.4)将读序列r在参考基因组中的最近似位置p、可逆运算结果作为两条数据流压缩输出;

a2.5)判断基因测序数据样本data中的读序列r是否遍历完毕,如果尚未遍历完毕,则跳转执行步骤a2.1);否则结束并退出。

本实施例中,可逆函数具体采用xor异或运算或者位减法。

本实施例中,步骤a2)中的压缩具体是指使用统计模型和熵编码进行压缩。

参见图2,本实施例基因测序数据解压方法的实施步骤包括:

b1)从待解压的基因测序数据datac中遍历获取待解压读序列rc;

b2)针对每一条待解压读序列rc,将待解压读序列rc解压重构为在参考基因组中的最近似位置p和长度为lr位的可逆运算结果cs1;根据在参考基因组中的最近似位置p在参考基因组中获取长度为lr位的基因字符串cs2;将可逆运算结果cs1、基因字符串cs2通过可逆函数的反函数进行逆向运算,得到待解压读序列rc对应的原始读序列r并输出,可逆运算将任意一对相同的字符编码的运算输出结果相同。

本实施例中,步骤b2)的详细步骤包括:

b2.1)从待解压的基因测序数据datac中遍历获取一条待解压读序列rc;

b2.2)将待解压读序列rc解压重构为在参考基因组中的最近似位置p和长度为lr位的可逆运算结果cs1;

b2.3)根据在参考基因组中的最近似位置p在参考基因组中获取长度为lr位的基因字符串cs2;

b2.4)将可逆运算结果cs1、基因字符串cs2通过可逆函数的反函数进行逆向运算,得到待解压读序列rc对应的原始读序列r并输出,可逆运算将任意一对相同的字符编码的运算输出结果相同;

b2.5)判断待解压的基因测序数据datac的待解压读序列rc是否遍历完毕,如果尚未遍历完毕,则跳转执行步骤b2.1);否则结束并退出。

可逆函数具体采用xor异或函数或位减法函数,xor异或函数的反函数为xor异或函数,位减法函数的反函数为位加法函数。本实施例中,可逆运算具体是指xor异或运算。本实施例中,a、c、g、t四种基因字母分别被编码为00、01、10和11四种字符编码,例如某一位基因字母为a,而预测字符c同样为a,则该位的xor异或操作结果(可逆运算结果)为00,否则xor异或操作结果根据输入字符不同而有所不同;在解压时,针对预测字符c的字符编码和xor异或操作结果(可逆运算结果)再进行xor异或操作(xor异或函数的反函数进行逆向运算),即可复原得到原始的基因字母。将a、c、g、t四种基因字母分别被编码为00、01、10和11四种字符编码是一种优选的比较精简的编码方式,此外也可以根据需要采用其他的二进制编码方式,同样也可以实现基因字母、预测字符、可逆运算结果三者的可逆转换。毫无疑问,除了xor异或运算以外,可逆运算也可以采用减法,此时则可逆运算的逆运算为加法,同样也可以实现基因字母、预测字符、可逆运算结果三者的可逆转换。

本实施例中,步骤b2)中的解压重构具体是指使用统计模型和熵编码的逆算法进行解压重构。

此外,本实施例还提供一种基因测序数据解压系统,包括计算机系统,其特征在于,计算机系统被编程以执行本实施例基因测序数据压缩方法或者本实施例基因测序数据解压方法的步骤。

此外,本实施例还提供一种计算机可读介质,计算机可读介质上存储有计算机程序,其特征在于,计算机程序使计算机执行本实施例基因测序数据压缩方法或者本实施例基因测序数据解压方法的步骤。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1