CN109698702A - 基因测序数据压缩预处理方法、系统及计算机可读介质 - Google Patents
基因测序数据压缩预处理方法、系统及计算机可读介质 Download PDFInfo
- Publication number
- CN109698702A CN109698702A CN201710982649.1A CN201710982649A CN109698702A CN 109698702 A CN109698702 A CN 109698702A CN 201710982649 A CN201710982649 A CN 201710982649A CN 109698702 A CN109698702 A CN 109698702A
- Authority
- CN
- China
- Prior art keywords
- mer
- minus strand
- normal chain
- prediction
- short string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基因测序数据压缩预处理方法、系统及计算机可读介质,方法实施步骤包括获取参考基因组数据,获取短串K‑mer及其预测字符c之间的映射关系,得到包含参考基因组的正链及负链中任意短串K‑mer及其对应相邻位的预测字符c的预测数据模型P1;系统为包含编程以执行前述方法的计算机系统,计算机可读介质包含执行前述方法的计算机程序。本发明能够面向无损基因测序数据压缩的参考基因组数据预处理方法,为基因测序数据的高性能无损压缩和解压算法提供充分有效的信息,能够实现对任意基因组数据样本中的短串K‑mer的相邻位的预测字符c进行预测,预测信息越准确,则可以实现对基因组数据样本实现越低的压缩率。
Description
技术领域
本发明涉及基因测序和数据压缩技术,具体涉及一种基因测序数据压缩预处理方法、系统及计算机可读介质。
背景技术
近年来,随着下一代测序技术(Next Generation Sequence, NGS)的持续进步,基因测序的速度更快,成本更低,基因测序技术得以在更加广泛的生物、医疗、健康、刑侦、农业等等许多领域被推广应用,从而导致基因测序产生的原始数据量以每年3到5倍、甚至更快的速度爆炸式增长。而且,每个基因测序样本数据又很大,例如一个人的55x全基因组测序数据大约是400GB。因此,海量的基因测试数据的存储、管理、检索和传输面临技术和成本的挑战。
数据压缩(data compression)就是缓解这个挑战的技术之一。数据压缩,是为了减少存储空间而把数据转换成比原始格式更紧凑形式的过程。原始的输入数据包含我们需要压缩或减小尺寸的符号序列。这些符号被压缩器编码,输出结果是编码过的数据。通常在之后的某个时间,编码后的数据会被输入到一个解压缩器,在这里数据被解码、重建,并以符号序列的形式输出原始数据。如果输出数据和输入数据始终完全相同,那么这个压缩方案被称为无损的(lossless),也称无损编码器。否则,它就是一个有损的(lossy)压缩方案。
目前,世界各国研究人员已经开发出多种用于基因测序数据的压缩方法。基于基因测序数据的用途,其压缩后必须随时可以重建、恢复成原始数据,因此,有实际意义的基因测序数据压缩方法都是无损压缩。如果按总的技术路线分类,可以将基因测序数据压缩方法分成三大类:通用(general purpose)压缩算法、有参考基因组(reference-based)的压缩算法和无参考基因组(reference-free)的压缩算法。
通用压缩算法,就是不考虑基因测序数据的特点,采用通用的压缩方法进行数据压缩。
无参考基因组压缩算法,就是不使用参考基因组,只是利用基因测序数据自身的特点,采用某种压缩方法对目标样本数据直接进行数据压缩。已有的无参考基因组压缩算法常用的压缩方法有霍夫曼编码、以LZ77和LZ78为代表的字典方法、算术编码等基础的压缩算法及其变种和优化。
有参考基因组压缩算法,就是选取某个基因组数据作为参考基因组,利用基因测序数据自身的特点,以及目标样本数据和参考基因组数据之间的相似性,间接进行数据压缩。已有的有参考基因组压缩算法常用的相似性表示、编码和压缩方法主要还是霍夫曼编码、以LZ77和LZ78为代表的字典方法、算术编码等基础的压缩算法及其变种和优化。
衡量压缩算法性能或效率的2个最常用的技术指标是:压缩率(compressionratio)或压缩比;压缩/解压时间或压缩/解压速度。压缩率=(压缩后数据大小/压缩前数据大小)x 100%,压缩比=(压缩前数据大小/压缩后数据大小),即压缩率和压缩比互为倒数。压缩率和压缩比只和压缩算法本身有关,多种算法间可以直接进行比较,压缩率越小或压缩比越大,表明算法性能或效率越好;压缩/解压时间,即从读取原始数据到解压完成所需的机器运行时间;压缩/解压速度,即平均每单位时间可以处理压缩的数据量。压缩/解压时间和压缩/解压速度,既和压缩算法本身有关,也和使用的机器环境(包括硬件和系统软件)有关,因此,多种算法必须基于相同的机器环境运行,压缩/解压时间或压缩/解压速度的比较才有意义,在此前提下,压缩/解压时间越短,压缩/解压速度越快,表明算法性能或效率越好。另外,还有一个参考技术指标是运行时的资源消耗,主要是机器存储的峰值。在压缩率和压缩/解压时间相当的情况下,对存储的要求越少,表明算法性能或效率越好。
根据研究人员对已有的基因测序数据压缩方法的比较研究结果,无论是通用压缩算法、无参考基因组的压缩算法,还是有参考基因组压缩算法,都存在的问题有:1、压缩率还有进一步下降的空间;2、在获得相对较好的压缩率时,算法的压缩/解压时间相对较长,时间成本成为新的问题。此外,与通用压缩算法和无参考基因组压缩算法相比,有参考基因组压缩算法通常能获得更好的压缩率。但是,对于有参考基因组的压缩算法,参考基因组的选择会导致算法性能的稳定性问题,即处理相同的目标样本数据,当选择不同的参考基因组时,压缩算法性能可能存在明显差异;而使用相同的参考基因组选择策略,当处理同种的、不同的基因测序样本数据时,压缩算法的性能同样可能存在明显差异。尤其是对于有参考基因组压缩算法而言,如何基于参考基因组进行预处理以提高对基因测序数据的压缩率以及压缩性能,已经成为一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基因测序数据压缩预处理方法、系统及计算机可读介质,本发明通过检测包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1,能够面向无损基因测序数据压缩的参考基因组数据预处理方法,为基因测序数据的高性能无损压缩和解压算法提供充分有效的信息,能够实现对任意基因组数据样本中的短串K-mer的相邻位的预测字符c进行预测,预测信息越准确,则可以实现对基因组数据样本实现越低的压缩率。
为了解决上述技术问题,本发明采用的技术方案为:
一方面,本发明提供一种基因测序数据压缩预处理方法,实施步骤包括:
1)获取待处理的参考基因组数据dataref;
2)获取参考基因组数据dataref中作为短串K-mer的任意定长子字符串及其预测字符c之间的映射关系,得到包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。
优选地,步骤2)的实施步骤包括:
2.1)按照指定间隔顺序提取参考基因组数据dataref的正链S1中的定长子字符串作为短串K-mer构造正链短串集合KS1,所述正链S1为原始顺序的参考基因组数据dataref本身;
2.2)按照指定间隔顺序提取参考基因组数据 dataref的负链S2中的定长子字符串作为短串K-mer构造负链短串集合KS2,所述负链S2为参考基因组数据 dataref的逆序互补基因序列,所述逆序互补基因序列和参考基因组数据dataref之间碱基A和T互换、碱基C和G互换;
2.3)根据正链短串集合KS1、负链短串集合KS2生成参考基因组数据 dataref对应的预测数据模型P1,所述预测数据模型P1包含正链S1及负链S2中的任意短串K-mer及其对应的统计得到的最大可能相邻位的预测字符c之间的映射关系。
优选地,步骤2.3)的详细步骤包括:
2.3.1)针对正链短串集合KS1顺序提取短串K-mer并构造正链预测集合KP1,正链短串集合KS1中的每一个元素在正链预测集合KP1中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自正链的标记d、在正链S1中的相邻位碱基字母c0;
2.3.2)针对负链短串集合KS2顺序提取短串K-mer并构造负链预测集合KP2,负链短串集合KS2中的每一个元素在负链预测集合KP2中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、自负链的标记d、元素在负链S2中的相邻位碱基字母c0;
2.3.3)将正链预测集合KP1和负链预测集合KP2中的元组映射到碱基字母A、C、G、T,统计正链S1及负链S2中的任意短串K-mer及其对应的统计得到的最大可能相邻位的碱基字母,得到包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。
优选地,步骤2.3.3)的详细步骤包括:
2.3.3.1)逐个从正链预测集合KP1、负链预测集合KP2中取出每一个元组(k-mer,d,c0),其中k-mer为元组对应的短串K-mer,d为正负链类别,d=0表示为正链,d=1 表示为负链,c0为元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母;
2.3.3.2)使用预设的映射函数,将取出的每一个元组(k-mer,d, c0) 的子元组(k-mer,d)映射到一个范围为[0,L]的整数集合中的某一行生成一个L行4列的二维统计表F且由元组(k-mer,d, c0)中元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0确定其命中行的对应列,其中L是整数集合的上确界,0是整数集合的下确界,统计整数集合中每个值对应出现的碱基字母A、C、G、T的数目,二维统计表F中的4列对应碱基字母A、C、G、T,二维统计表F中的元素Fi,c存储了值为i的子元组(k-mer,d)所对应的碱基字母A、C、G、T出现的数目,其中,下标i∈[0,L],c∈{A、C、G、T};
2.3.3.3)从0到L行遍历二维统计表 F,将每行中最大值的元素Fi,c所对应的碱基字母构成一维字符序列作为包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1,预测数据模型P1的长度为L,L是整数集合的上确界,所述预测数据模型P1的第i位字符P1[i]表示命中整数集合第i行的元组对应的短串K-mer的预测字符c。
优选地,步骤2.3.3.2)中统计整数集合中每个值对应出现的A、C、G、T的数目具体是指:在将取出的每一个元组(k-mer,d, c0) 的子元组(k-mer,d)映射到一个范围为[0,L]的整数集合时,针对二维统计表F的每一行的四个元素Fi,c分别设置四个计数值的Fi,A、Fi,C、Fi,G、Fi,T,若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为A,则将第i行的Fi,A加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为C,则将第i行的Fi,C加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为G,则将第i行的Fi,G加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为T,则将第i行的Fi,T加1;最终统计得到整数集合中每个值对应出现的A、C、G、T的数目Fi,A、Fi,C、Fi,G、Fi,T。
优选地,步骤2.3)的详细步骤包括:
S2.3.1)针对正链短串集合KS1顺序提取短串K-mer并构造正链预测集合KP1,使得正链短串集合KS1中的每一个元素在正链预测集合KP1中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自正链的标记d、在正链S1中的相邻位碱基字母c0;
S2.3.2)针对负链短串集合KS2顺序提取短串K-mer并构造负链预测集合KP2,使得负链短串集合KS2中的每一个元素在负链预测集合KP2中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自负链的标记d、负链S2中的相邻位碱基字母c0;
S2.3.3)将正链预测集合KP1和负链预测集合KP2中的元组对应的短串K-mer及其在正链S1或负链S2中对应的相邻位碱基字母c0生成训练集,通过训练集来对神经网络模型进行训练,并将完成训练的神经网络模型作为包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。
同时,本发明还提供一种基于字符预测的基因测序数据压缩预处理系统,包括计算机系统,所述计算机系统被编程以执行前述的基因测序数据压缩预处理方法的步骤。
此外,本发明还提供一种计算机可读介质,所述计算机可读介质上存储有计算机程序,所述计算机程序使计算机系统执行前述的基因测序数据压缩预处理方法的步骤。
本发明具有下述优点:本发明能够提取参考基因组的相关信息并生成预测数据库,为后续基于参考基因组的基因测序数据高性能无损压缩和解压算法提供充分、有效、可快速查询、便于计算的信息,本发明能够实现对任意基因组数据样本中的短串K-mer的相邻位的预测字符c进行预测,基于预测字符c和原字符通过可逆函数(例如异或或位减法)进行可逆运算即可将正确的预测位变化为相同的字符,根据压缩算法的基本原则,相同的字符越多,则可以实现的压缩率就越低,因此本发明基因测序数据压缩预处理方法的预测信息越准确,则可实现对基因组数据样本实现越低的压缩率。
附图说明
图1为本发明实施例方法的基本流程示意图。
具体实施方式
实施例一:
如图1所示,本实施例基因测序数据压缩预处理方法的实施步骤包括:
1)获取待处理的参考基因组数据dataref(参考基因组数据dataref为一个或多个物种的完整或部分参考基因组或物种中某一个具体个体测序得到的基因序列);
2)获取参考基因组数据dataref中作为短串K-mer的任意定长子字符串及其预测字符c之间的映射关系,得到包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。短串K-mer的长度k一般取值为16~32中的一个具体值。
需要说明的是,相邻位可以是指下一位或/和上一位:如果基因测序数据压缩时从前k个字符开始取短串K-mer,则相邻位具体是指下一位;相反,如果基因测序数据压缩时从后k个字符开始取短串K-mer,则相邻位具体是指上一位;如果基因测序数据压缩时从中间k个字符开始取短串K-mer,则相邻位同时需要包括下一位和上一位。
本实施例中,步骤2)的实施步骤包括:
2.1)按照指定间隔顺序提取参考基因组数据dataref的正链S1中的定长子字符串作为短串K-mer构造正链短串集合KS1,所述正链S1为原始顺序的参考基因组数据dataref本身;
2.2)按照指定间隔顺序提取参考基因组数据 dataref的负链S2中的定长子字符串作为短串K-mer构造负链短串集合KS2,所述负链S2为参考基因组数据 dataref的逆序互补基因序列,所述逆序互补基因序列和参考基因组数据dataref之间碱基A和T互换、碱基C和G互换;
2.3)根据正链短串集合KS1、负链短串集合KS2生成参考基因组数据 dataref对应的预测数据模型P1,所述预测数据模型P1包含正链S1及负链S2中的任意短串K-mer及其对应的统计得到的最大可能相邻位的预测字符c之间的映射关系。
本实施例中,步骤2.3)的详细步骤包括:
2.3.1)针对正链短串集合KS1顺序提取短串K-mer并构造正链预测集合KP1,正链短串集合KS1中的每一个元素在正链预测集合KP1中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自正链的标记d、在正链S1中的相邻位碱基字母c0;
2.3.2)针对负链短串集合KS2顺序提取短串K-mer并构造负链预测集合KP2,负链短串集合KS2中的每一个元素在负链预测集合KP2中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、自负链的标记d、元素在负链S2中的相邻位碱基字母c0;
2.3.3)将正链预测集合KP1和负链预测集合KP2中的元组映射到碱基字母A、C、G、T,统计正链S1及负链S2中的任意短串K-mer及其对应的统计得到的最大可能相邻位的碱基字母,得到包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。本实施例中,正负链类型d为0或1,0表示读序列R来自正链,1表示读序列R来自负链。
本实施例中,步骤2.3.3)的详细步骤包括:
2.3.3.1)逐个从正链预测集合KP1、负链预测集合KP2中取出每一个元组(k-mer,d,c0),其中k-mer为元组对应的短串K-mer,d为正负链类别,d=0表示为正链,d=1 表示为负链,c0为元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母;
2.3.3.2)使用预设的映射函数,将取出的每一个元组(k-mer,d, c0) 的子元组(k-mer,d)映射到一个范围为[0,L]的整数集合中的某一行生成一个L行4列的二维统计表F且由元组(k-mer,d, c0)中元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0确定其命中行的对应列,其中L是整数集合的上确界,0是整数集合的下确界,统计整数集合中每个值对应出现的碱基字母A、C、G、T的数目,二维统计表F中的4列对应碱基字母A、C、G、T,二维统计表F中的元素Fi,c存储了值为i的子元组(k-mer,d)所对应的碱基字母A、C、G、T出现的数目,其中,下标i∈[0,L],c∈{A、C、G、T};
2.3.3.3)从0到L行遍历二维统计表 F,将每行中最大值的元素Fi,c所对应的碱基字母构成一维字符序列作为包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1,预测数据模型P1的长度为L,L是整数集合的上确界,所述预测数据模型P1的第i位字符P1[i]表示命中整数集合第i行的元组对应的短串K-mer的预测字符c。需要说明的是,预测数据模型P1的长度L涉及压缩处理的性能和压缩率,预测数据模型P1的长度L越大,则将取出的每一个元组(k-mer,d, c0) 的子元组(k-mer,d)映射到一个范围为[0,L]的整数集合中的某一行生成一个L行4列的二维统计表F时发生冲突的机会就越少,从而使得预测的准确率就会越高,但是这样会导致计算消费的资源较多;相反,预测数据模型P1的长度L越小,则将取出的每一个元组(k-mer,d, c0) 的子元组(k-mer,d)映射到一个范围为[0,L]的整数集合中的某一行生成一个L行4列的二维统计表F时发生冲突的机会就越多,从而使得预测的准确率就会越低,计算消费的资源较少。
本实施例中,步骤2.3.3.2)中统计整数集合中每个值对应出现的A、C、G、T的数目具体是指:在将取出的每一个元组(k-mer,d, c0) 的子元组(k-mer,d)映射到一个范围为[0,L]的整数集合时,针对二维统计表F的每一行的四个元素Fi,c分别设置四个计数值的Fi,A、Fi,C、Fi,G、Fi,T,若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为A,则将第i行的Fi,A加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为C,则将第i行的Fi,C加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为G,则将第i行的Fi,G加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为T,则将第i行的Fi,T加1;最终统计得到整数集合中每个值对应出现的A、C、G、T的数目Fi,A、Fi,C、Fi,G、Fi,T。
作为一个相邻位采用下一位的应用实例,将本实施例基因测序数据压缩预处理方法得到的预测数据模型P1用于基因测序数据压缩的步骤包括:
A1)从基因测序数据样本data中遍历获取读长为Lr的读序列R;
A2)针对每一条读序列R,按照顺序生成定长子字符串作为短串K-mer,根据短串K-mer确定读序列R的正负链类型d,且通过预设的预测数据模型P1获取每一个短串K-mer对应的预测字符c得到长度为Lr-k位的预测字符集PS,所述预测数据模型P1包含参考基因组的正链及负链中任意短串K-mer及其对应下一位的预测字符c;将读序列R的后Lr-k位、预测字符集PS编码后通过可逆函数(例如异或或位减法)进行可逆运算,所述可逆函数将任意一对相同的字符编码的运算输出结果相同;将读序列R的正负链类型d(正负链类型d为0或1,0表示读序列R来自正链,1表示读序列R来自负链)、前k位以及可逆运算结果作为三条数据流压缩输出。
其中,步骤A2)的实施步骤包括:
A2.1)从基因测序数据样本data中遍历取一条读长为Lr的读序列R,针对读序列R按照顺序生成长度为k的定长子字符串作为短串K-mer得到读序列短串集合KR;
A2.2)针对读序列短串集合KR中的每一个短串K-mer,根据短串K-mer确定读序列R的正负链类型d,且通过预设的预测数据模型P1获取每一个短串K-mer对应的预测字符c得到长度为Lr-k位的预测字符集PS,所述预测数据模型P1包含参考基因组的正链及负链中任意短串K-mer及其对应下一位的预测字符c;
A2.3)将读序列R的后Lr-k位、预测字符集PS编码后通过可逆函数进行可逆运算,所述可逆函数将任意一对相同的字符编码的运算输出结果相同;
A2.4)将读序列R的正负链类型d、前k位以及可逆运算结果作为三条数据流压缩输出;
A2.5)判断基因测序数据样本data中的读序列R是否遍历完毕,如果尚未遍历完毕,则跳转执行步骤A2.1);否则结束并退出。
其中,步骤A2.2)的详细步骤包括:
A2.2.1)针对读序列短串集合KR顺序提取短串K-mer,基于短串K-mer构造正链预测序列KP1,正链预测序列KP1中对于读序列短串集合KR中任意短串K-mer均存在一个对应的元组(k-mer,0),其中k-mer为短串K-mer,0表示假设该短串K-mer来自正链;
A2.2.2)针对正链预测序列KP1中的每一个元组(k-mer,0)通过预测数据模型P1获取其对应的预测字符c,得到正链预测序列KP1对应的正链预测字符序列PS1;所述预测数据模型P1包含参考基因组的正链及负链中任意短串K-mer及其对应下一位的预测字符c;
A2.2.3)针对读序列短串集合KR顺序提取短串K-mer,基于短串K-mer构造负链预测序列KP2,负链预测序列KP2中对于读序列短串集合KR中任意短串K-mer均存在一个对应的元组(k-mer,1),其中k-mer为短串K-mer,1表示假设该短串K-mer来自负链;
A2.2.4)针对负链预测序列KP2中的每一个元组(k-mer,1)通过预测数据模型P1获取其对应的预测字符c,得到负链预测序列KP2对应的负链预测字符序列PS2;
A2.2.5)计算正链预测字符序列PS1、读序列R后Lr-k位两者之间的编辑距离L1,计算负链预测字符序列PS2、读序列R后Lr-k位两者之间的编辑距离L2;
A2.2.6)判断编辑距离为L1小于L2是否成立,如果成立则判定读序列R的正负链类别d为正链、将正链预测字符序列PS1作为读序列R后Lr-k位对应的预测字符集PS;否则,判定读序列R的正负链类别d为负链、将负链预测字符序列PS2作为读序列R后Lr-k位对应的预测字符集PS。
其中,预测数据模型P1为长度为L的基因字符串,步骤A2.2.2)针对正链预测序列KP1中的每一个元组(k-mer,0)通过预测数据模型P1获取其对应的预测字符c的详细步骤包括:
A2.2.2.1)使用预测数据模型P1对应的映射函数将正链预测序列KP1中的每一个元组(k-mer,0)映射到一个[0,L]范围的整数集合中的某一行,其中L是整数集合的上确界,整数集合的上确界L与预测数据模型P1的长度相同,0是整数集合的下确界,根据映射结果生成一维表T1,一维表T1的长度为(Lr–k+1),一维表T1中的第i个元素T1[i]分别顺序存储映射至整数集合中第i行的元组(k-mer,0)对应的映射函数的值,i∈[0,Lr - k];
A2.2.2.2)根据一维表T1各个元组(k-mer,0)对应的映射函数的值从预测数据模型P1获取在其对应的预测字符c生成一维字符序列PS1,使得一维字符序列PS1的第i位PS1[i]的值等于预测数据模型P1中的第i位字符P1[T1[i]] ,预测数据模型P1中的第i位字符P1[T1[i]]为映射函数的值为PS1[i]对应的元组(k-mer,0) 对应的预测字符c,其中i∈[0,Lr -k],Lr为读序列R的读长,k为短串K-mer的长度。
其中,步骤A2.2.4)针对负链预测序列KP2中的每一个元组(k-mer,1)通过预测数据模型P1获取其对应的预测字符c的详细步骤包括:
A2.2.4.1)使用预测数据模型P1对应的映射函数将负链预测序列KP2中的每一个元组(k-mer,1)映射到一个[0,L]范围的整数集合中的某一行,其中L是整数集合的上确界,整数集合的上确界L与预测数据模型P1的长度相同,0是整数集合的下确界,根据映射结果生成一维表T2,一维表T2中长度为(Lr–k+1),一维表T2中的第i个元素T2[i] 分别顺序存储映射至整数集合中第i行的元组(k-mer,1)对应的映射函数的值,i∈[0,Lr-k];
A2.2.4.2)根据一维表T2各个元组(k-mer,1)对应的映射函数的值从预测数据模型P1获取在其对应的预测字符c生成一维字符序列PS2,使得一维字符序列PS2的第i位PS2[i]的值等于预测数据模型P1中的第i位字符P1[T2[i]],预测数据模型P1中的第i位字符P1[T2[i]]为映射函数的值为PS2[i]对应的元组(k-mer,0) 对应的预测字符c,其中i∈[0,Lr-k],Lr为读序列R的读长,k为短串K-mer的长度。
其中,步骤A2)中的可逆函数具体是指XOR异或函数,本实施例中,A、C、G、T四种基因字母分别被编码为00、01、10和11四种字符编码,例如某一位基因字母为A,而预测字符c同样为A,则该位的XOR异或操作结果(可逆运算结果)为00,否则XOR异或操作结果根据预测字符c不同而有所不同;在解压时,针对预测字符c的字符编码和XOR异或操作结果(可逆运算结果)再进行XOR异或操作(通过可逆函数的反函数进行逆向运算),即可复原得到原始的基因字母。将A、C、G、T四种基因字母分别被编码为00、01、10和11四种字符编码是一种优选的比较精简的编码方式,此外也可以根据需要采用其他的二进制编码方式,同样也可以实现基因字母、预测字符、可逆运算结果三者的可逆转换。毫无疑问,除了XOR异或运算以外,可逆函数也可以采用位减法,此时则可逆函数的反函数为位加法,同样也可以实现基因字母、预测字符、可逆运算结果三者的可逆转换。
其中,步骤A2)中的压缩具体是指使用统计模型和熵编码进行压缩。
需要说明的是,前述压缩方法仅仅为对本实施例基因测序数据压缩预处理方法应用的示例而非穷举。根据前文所述,基于预测字符c和原字符通过可逆函数进行可逆运算(例如异或或者位减法)即可将正确的预测位变化为相同的字符,根据压缩算法的基本原则,相同的字符越多,则可以实现的压缩率就越低,本实施例基因测序数据压缩预处理方法的预测信息越准确,则可实现对基因组数据样本实现越低的压缩率。在此启发下,作为本领域技术人员应当可以毫无疑义地确定,本实施例基因测序数据压缩预处理方法并不局限应用于前述压缩方法的特例。
同时,本实施例还提供一种基于字符预测的基因测序数据压缩预处理系统,包括计算机系统,所述计算机系统被编程以执行本实施例前述的基因测序数据压缩预处理方法的步骤,在此不再赘述。此外,本实施例还提供一种计算机可读介质,计算机可读介质上存储有计算机程序,计算机程序使计算机系统执行本实施例前述的基因测序数据压缩预处理方法的步骤,在此不再赘述。
实施例二:
本实施例二与实施例一基本相同,其主要不同点为构建预测数据模型P1的方式不同,本实施例中并非基于统计来获取正链S1及负链S2中的任意短串K-mer及其对应的相邻位的预测字符c之间的映射关系,而是通过将正链预测集合KP1和负链预测集合KP2中的元组对应的短串K-mer及其在正链S1或负链S2中对应的相邻位碱基字母c0生成训练集,通过训练集来对神经网络模型进行训练,并将完成训练的神经网络模型作为预测数据模型P1。
本实施例中,步骤2.3)的详细步骤包括:
S2.3.1)针对正链短串集合KS1顺序提取短串K-mer并构造正链预测集合KP1,使得正链短串集合KS1中的每一个元素在正链预测集合KP1中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自正链的标记d、在正链S1中的相邻位碱基字母c0;
S2.3.2)针对负链短串集合KS2顺序提取短串K-mer并构造负链预测集合KP2,使得负链短串集合KS2中的每一个元素在负链预测集合KP2中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自负链的标记d、负链S2中的相邻位碱基字母c0;
S2.3.3)将正链预测集合KP1和负链预测集合KP2中的元组对应的短串K-mer及其在正链S1或负链S2中对应的相邻位碱基字母c0生成训练集,通过训练集来对神经网络模型进行训练,并将完成训练的神经网络模型作为包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。
对应地,将本实施例基因测序数据压缩预处理方法得到的预测数据模型P1用于基因测序数据压缩时,步骤A2.2.2)针对正链预测序列KP1中的每一个元组(k-mer,0)通过预测数据模型P1的映射函数映射获取其对应的预测字符c具体是指将正链预测序列KP1中的每一个元组(k-mer,0)输入神经网络模型,得到该元组(k-mer,0)对应的预测字符c;步骤A2.2.4)针对负链预测序列KP2中的每一个元组(k-mer,1)通过预测数据模型P1的映射函数映射获取其对应的预测字符c具体是指将正链预测序列KP2中的每一个元组(k-mer,1)输入神经网络模型,得到该元组(k-mer,1)对应的预测字符c。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基因测序数据压缩预处理方法,其特征在于实施步骤包括:
1)获取待处理的参考基因组数据dataref;
2)获取参考基因组数据dataref中作为短串K-mer的任意定长子字符串及其预测字符c之间的映射关系,得到包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。
2.根据权利要求1所述的基因测序数据压缩预处理方法,其特征在于,步骤2)的实施步骤包括:
2.1)按照指定间隔顺序提取参考基因组数据dataref的正链S1中的定长子字符串作为短串K-mer构造正链短串集合KS1,所述正链S1为原始顺序的参考基因组数据dataref本身;
2.2)按照指定间隔顺序提取参考基因组数据 dataref的负链S2中的定长子字符串作为短串K-mer构造负链短串集合KS2,所述负链S2为参考基因组数据 dataref的逆序互补基因序列,所述逆序互补基因序列和参考基因组数据dataref之间碱基A和T互换、碱基C和G互换;
2.3)根据正链短串集合KS1、负链短串集合KS2生成参考基因组数据 dataref对应的预测数据模型P1,所述预测数据模型P1包含正链S1及负链S2中的任意短串K-mer及其对应的统计得到的最大可能相邻位的预测字符c之间的映射关系。
3.根据权利要求2所述的基因测序数据压缩预处理方法,其特征在于,步骤2.3)的详细步骤包括:
2.3.1)针对正链短串集合KS1顺序提取短串K-mer并构造正链预测集合KP1,正链短串集合KS1中的每一个元素在正链预测集合KP1中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自正链的标记d、在正链S1中的相邻位碱基字母c0;
2.3.2)针对负链短串集合KS2顺序提取短串K-mer并构造负链预测集合KP2,负链短串集合KS2中的每一个元素在负链预测集合KP2中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、自负链的标记d、元素在负链S2中的相邻位碱基字母c0;
2.3.3)将正链预测集合KP1和负链预测集合KP2中的元组映射到碱基字母A、C、G、T,统计正链S1及负链S2中的任意短串K-mer及其对应的统计得到的最大可能相邻位的碱基字母,得到包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。
4.根据权利要求3所述的基因测序数据压缩预处理方法,其特征在于,步骤2.3.3)的详细步骤包括:
2.3.3.1)逐个从正链预测集合KP1、负链预测集合KP2中取出每一个元组(k-mer,d,c0),其中k-mer为元组对应的短串K-mer,d为正负链类别,d=0表示为正链,d=1表示为负链,c0为元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母;
2.3.3.2)使用预设的映射函数,将取出的每一个元组(k-mer,d, c0) 的子元组(k-mer,d)映射到一个范围为[0,L]的整数集合中的某一行生成一个L行4列的二维统计表F且由元组(k-mer,d, c0)中元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0确定其命中行的对应列,其中L是整数集合的上确界,0是整数集合的下确界,统计整数集合中每个值对应出现的碱基字母A、C、G、T的数目,二维统计表F中的4列对应碱基字母A、C、G、T,二维统计表F中的元素Fi,c存储了值为i的子元组(k-mer,d)所对应的碱基字母A、C、G、T出现的数目,其中,下标i∈[0,L],c∈{A、C、G、T};
2.3.3.3)从0到L行遍历二维统计表 F,将每行中最大值的元素Fi,c所对应的碱基字母构成一维字符序列作为包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1,预测数据模型P1的长度为L,L是整数集合的上确界,所述预测数据模型P1的第i位字符P1[i]表示命中整数集合第i行的元组对应的短串K-mer的预测字符c。
5.根据权利要求4所述的基因测序数据压缩预处理方法,其特征在于,步骤2.3.3.2)中统计整数集合中每个值对应出现的A、C、G、T的数目具体是指:在将取出的每一个元组(k-mer,d, c0) 的子元组(k-mer,d)映射到一个范围为[0,L]的整数集合时,针对二维统计表F的每一行的四个元素Fi,c分别设置四个计数值的Fi,A、Fi,C、Fi,G、Fi,T,若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为A,则将第i行的Fi,A加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为C,则将第i行的Fi,C加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为G,则将第i行的Fi,G加1;若命中整数集合第i行的元组对应的短串K-mer在正链S1或负链S2中对应的相邻位碱基字母c0为T,则将第i行的Fi,T加1;最终统计得到整数集合中每个值对应出现的A、C、G、T的数目Fi,A、Fi,C、Fi,G、Fi,T。
6.根据权利要求2所述的基因测序数据压缩预处理方法,其特征在于,步骤2.3)的详细步骤包括:
S2.3.1)针对正链短串集合KS1顺序提取短串K-mer并构造正链预测集合KP1,使得正链短串集合KS1中的每一个元素在正链预测集合KP1中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自正链的标记d、在正链S1中的相邻位碱基字母c0;
S2.3.2)针对负链短串集合KS2顺序提取短串K-mer并构造负链预测集合KP2,使得负链短串集合KS2中的每一个元素在负链预测集合KP2中存在一个对应的元组,该元组至少包含三种信息:短串K-mer、来自负链的标记d、负链S2中的相邻位碱基字母c0;
S2.3.3)将正链预测集合KP1和负链预测集合KP2中的元组对应的短串K-mer及其在正链S1或负链S2中对应的相邻位碱基字母c0生成训练集,通过训练集来对神经网络模型进行训练,并将完成训练的神经网络模型作为包含参考基因组的正链及负链中任意短串K-mer及其对应相邻位的预测字符c的预测数据模型P1。
7.一种基于字符预测的基因测序数据压缩预处理系统,其特征在于,包括计算机系统,所述计算机系统被编程以执行权利要求1~6中任意一项所述的基因测序数据压缩预处理方法的步骤。
8.一种计算机可读介质,所述计算机可读介质上存储有计算机程序,其特征在于,所述计算机程序使计算机系统执行权利要求1~6中任意一项所述的基因测序数据压缩预处理方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710982649.1A CN109698702B (zh) | 2017-10-20 | 2017-10-20 | 基因测序数据压缩预处理方法、系统及计算机可读介质 |
US16/618,404 US11551785B2 (en) | 2017-10-20 | 2018-09-18 | Gene sequencing data compression preprocessing, compression and decompression method, system, and computer-readable medium |
PCT/CN2018/106192 WO2019076177A1 (zh) | 2017-10-20 | 2018-09-18 | 基因测序数据压缩预处理、压缩、解压方法、系统及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710982649.1A CN109698702B (zh) | 2017-10-20 | 2017-10-20 | 基因测序数据压缩预处理方法、系统及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109698702A true CN109698702A (zh) | 2019-04-30 |
CN109698702B CN109698702B (zh) | 2020-10-23 |
Family
ID=66226391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710982649.1A Active CN109698702B (zh) | 2017-10-20 | 2017-10-20 | 基因测序数据压缩预处理方法、系统及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109698702B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111081314A (zh) * | 2019-12-13 | 2020-04-28 | 北京市商汤科技开发有限公司 | 基因变异的识别方法及装置、电子设备和存储介质 |
CN116458119A (zh) * | 2020-11-19 | 2023-07-18 | 日本电信电话株式会社 | 估计装置、估计方法以及估计程序 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183873A (zh) * | 2007-12-11 | 2008-05-21 | 中山大学 | 一种基于bp神经网络的嵌入式系统数据压缩解压缩方法 |
US20100287165A1 (en) * | 2009-02-03 | 2010-11-11 | Halpern Aaron L | Indexing a reference sequence for oligomer sequence mapping |
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
CN105631239A (zh) * | 2014-10-30 | 2016-06-01 | 国际商业机器公司 | 用于管理基因序列的方法和装置 |
CN106603591A (zh) * | 2015-10-14 | 2017-04-26 | 北京聚道科技有限公司 | 一种面向基因组检测数据传输和预处理的处理方法及系统 |
CN106687966A (zh) * | 2014-08-05 | 2017-05-17 | 伊卢米纳剑桥有限公司 | 用于数据分析和压缩的方法和系统 |
CN107133493A (zh) * | 2016-02-26 | 2017-09-05 | 中国科学院数学与系统科学研究院 | 基因组序列的组装方法、结构变异探测方法和相应的系统 |
-
2017
- 2017-10-20 CN CN201710982649.1A patent/CN109698702B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183873A (zh) * | 2007-12-11 | 2008-05-21 | 中山大学 | 一种基于bp神经网络的嵌入式系统数据压缩解压缩方法 |
US20100287165A1 (en) * | 2009-02-03 | 2010-11-11 | Halpern Aaron L | Indexing a reference sequence for oligomer sequence mapping |
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
CN106687966A (zh) * | 2014-08-05 | 2017-05-17 | 伊卢米纳剑桥有限公司 | 用于数据分析和压缩的方法和系统 |
CN105631239A (zh) * | 2014-10-30 | 2016-06-01 | 国际商业机器公司 | 用于管理基因序列的方法和装置 |
CN106603591A (zh) * | 2015-10-14 | 2017-04-26 | 北京聚道科技有限公司 | 一种面向基因组检测数据传输和预处理的处理方法及系统 |
CN107133493A (zh) * | 2016-02-26 | 2017-09-05 | 中国科学院数学与系统科学研究院 | 基因组序列的组装方法、结构变异探测方法和相应的系统 |
Non-Patent Citations (2)
Title |
---|
QIAO MEIYING等: ""Chaotic Time Series Prediction Based on Phase Space Reconstruction and LSSVR Model"", 《PROCEEDINGS OF THE 30TH CHINESE CONTROL CONFERENCE》 * |
余兴阁: "无损数据压缩与解压算法的介绍与实现", 《信息与电脑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111081314A (zh) * | 2019-12-13 | 2020-04-28 | 北京市商汤科技开发有限公司 | 基因变异的识别方法及装置、电子设备和存储介质 |
CN116458119A (zh) * | 2020-11-19 | 2023-07-18 | 日本电信电话株式会社 | 估计装置、估计方法以及估计程序 |
Also Published As
Publication number | Publication date |
---|---|
CN109698702B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019076177A1 (zh) | 基因测序数据压缩预处理、压缩、解压方法、系统及计算机可读介质 | |
CN110021369B (zh) | 基因测序数据压缩解压方法、系统及计算机可读介质 | |
US10547324B2 (en) | Data compression coding method, apparatus therefor, and program therefor | |
CN102683149B (zh) | 质量分析数据处理方法和质量分析数据处理系统 | |
CN105610447B (zh) | 基于lz77算法的分区编码压缩方法 | |
CN107066837A (zh) | 一种有参考dna序列压缩方法和系统 | |
CN116016606B (zh) | 一种基于智慧云的污水处理运维数据高效管理系统 | |
CN115037805B (zh) | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 | |
CN109698702A (zh) | 基因测序数据压缩预处理方法、系统及计算机可读介质 | |
CN110021368B (zh) | 比对型基因测序数据压缩方法、系统及计算机可读介质 | |
CN113362915B (zh) | 一种基于多模态学习的材料性能预测方法及系统 | |
CN107565975A (zh) | Fastq格式文件无损压缩的方法 | |
CN109698703A (zh) | 基因测序数据解压方法、系统及计算机可读介质 | |
CN113128133B (zh) | 一种基于遗传算法的功耗攻击高效筛选方法 | |
Absardi et al. | A fast reference-free genome compression using deep neural networks | |
CN110111851A (zh) | 基因测序数据压缩方法、系统及计算机可读介质 | |
Sheena et al. | GenCoder: A Novel Convolutional Neural Network based Autoencoder for Genomic Sequence Data Compression | |
Hanus et al. | Compression of whole genome alignments | |
CN116743182A (zh) | 一种数据无损压缩方法 | |
Yang et al. | Word Data Research and Prediction Based on Wordle Game [J] | |
CN108259515A (zh) | 一种适用于带宽受限下传输链路的无损信源压缩方法 | |
Sawalha et al. | Internet of things data compression based on successive data grouping | |
CN115088038A (zh) | 基于新上下文的经比对的测序数据中的改进质量值压缩框架 | |
CN114665885A (zh) | 一种时序数据库自适应数据压缩方法 | |
CN111640467B (zh) | 基于自适应编码顺序的dna测序质量分数无损压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |