【技术实现步骤摘要】
【国外来华专利技术】用于压缩基因组序列数据的方法
[0001]本专利技术整体涉及表示由测序机器产生的基因组测序数据的方法,并且更具体地涉及用于压缩这样的基因组测序数据的计算机实现的方法。本公开提供了一种基于参考的压缩方法,其允许快速压缩和解压缩,同时不引起信息丢失,并且具有高压缩比。
技术介绍
[0002]下一代测序机器现在以可承受的价格产生海量的测序数据。最新的系统在36小时的单次运行中产生超过60亿个150个核苷酸长的序列,足以对20个完整的人类基因组进行测序。这为遗传疾病的诊断和个性化医疗的发展开辟了许多新的视角,旨在适应基于人基因组特异性的治疗。
[0003]然而,这也带来了新的挑战,特别是与存储海量数据相关的成本。用于原始(未比对)序列数据的最常用的文件格式为FASTQ格式,其保存序列数据(A、C、T、G核苷酸的字符串,也称为读段)、质量值(测序平台对每个核苷酸造成测序错误的概率)和序列名称。这是普通ASCII文本文件,通常用通用文本压缩方案LZ(Lempel
‑
Ziv方案,在gzip软件中实现)来压缩。然而,使用此类压缩方法带来了几个问题:
[0004]–
由于数据的冗余未被完全利用而导致的低压缩比
[0005]–
压缩和解压缩缓慢
[0006]还存在专用于FASTQ编码的压缩方法,分为基于参考的方法或基于非参考的方法。然而,它们中没有一个完全令人满意,原因是:a)基于参考的方法具有良好的压缩比,但速度缓慢,b)基于非参考的方法速度较快,但压缩比较低。这种基于 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于压缩由测序机器产生的基因组序列数据的计算机实现的方法,所述基因组序列数据包括已与参考序列比对的核苷酸或碱基的序列的读段,从而产生比对读段,所述比对读段作为读段列表存储在初始文件中,所述方法包括:针对每个比对读段,确定所述读段与所述参考序列是完全映射的还是不完全映射的,或者所述读段是否与所述参考序列是未映射的,根据所述确定对所述读段进行编码,其中根据第一编码过程对被确定为完全映射的所述读段进行编码,并且根据第二编码过程对被确定为未映射的所述读段进行编码,其中确定步骤包括针对每个不完全映射的读段,将所述读段与所述参考序列之间的失配的数目与阈值进行比较,其中,在编码步骤中,根据所述第二编码过程或第三编码过程对被确定为不完全映射的所述读段进行编码,当所述失配数目大于所述阈值时,根据所述第二编码过程对所述不完全映射的读段进行编码,并且当所述失配数目低于所述阈值时,根据所述第三编码过程对所述不完全映射的读段进行编码,其中,在所述第二编码过程中,所述读段的每个核苷酸或碱基被单独编码,其中所述第一编码过程和所述第三编码过程包括不同的描述符集合,每个描述符集合单义地表示与对应的编码过程相关联的所述读段,所述第一编码过程和所述第三编码过程中的每一者是简化的信息源熵编码过程。2.根据权利要求1所述的方法,其中所述确定步骤包括当读段被确定为与所述参考序列不完全映射并且具有低于所述阈值的失配数目时的进一步确定,所述进一步确定有关于所述读段与所述参考序列是全局映射的还是局部映射的,并且其中所述第三编码过程包括第一编码子过程和第二编码子过程,根据所述第一编码子过程对被确定为全局映射的所述读段进行编码,根据所述第二编码子过程对被确定为局部映射的所述读段进行编码,所述第一编码子过程和所述第二编码子过程包括不同的描述符集合,每个描述符集合单义地表示与对应的编码子过程相关联的所述读段。3.根据权利要求2所述的方法,其中所述第一编码子过程的所述描述符包括所述参考序列中的比对起始位置、读段长度和由符号替换表示的失配列表,并且其中所述第二编码子过程的所述描述符包括所述参考序列中的局部比对起始位置、读段长度、由符号替换表示的失配列表,以及不是所述比对的一部分的所述读段的剪切部分的长度。4.根据权利要求3所述的方法,其中,在所述编码步骤中,将要根据所述第二编码子过程编码的读段的所述剪切部分串联,所述剪切部分的每个核苷酸或碱基被单独编码。5.根据前述权利要求中任一项所述的方法,其中,在所述编码步骤中,在1个字节上编码不完全映射的读段的每个失配。6.根据权利要求5所述的方法,其中,在所述编码步骤中,不完全映射的读段的每个失配如下编码:
·
所述字节的前两位用于编码所述读段中存在的替代核苷酸或碱基而不是所述参考序列中的对应参考核苷酸或碱基;并且
·
所述字节的后六位用于编码所述参考序列中的所述失配的位置,所述位置被计算为相对于所述读段的前一个失配的偏移。7.根据权利要求6所述的方法,其中,在所述编码步骤中,如果在给定失配与所述前一
个失配之间计算出的所述偏移大于最大可编码值,则在所述两个失配之间插入至少一个假失配,直到所述失配中的每一者与所述至少一个假失配之间的每个偏移都低于所述最大可编码值,假失配被定义为这样的失配:对于所述失配,所述字节的位用于编码所述失配,或者用于编码与所述参考序列中的对应参考核苷酸或碱基相等的核苷酸或碱基。8.根据前述权利要求中任一项所述的方法,还包括将所述读段列表划分为读段块的初始步骤,其中每个块开始于包含对所述块进行解码所需的信息的标头,其中所述压缩方法逐块进行。9.根据权利要求8所述的方法,其中所述读段块具有相同的块大小。10.根据前述权利要求中任一项所述的方法,还包括提供包含编码读段列表的压缩文件的最终步骤,所述编码读段以与存储在所述初始文件中的所述读段的顺序相同的顺序存储在所述压缩文件中。11.根据前述权利要求中任一项所述的方法,其中所述阈值等于31。12.根据前述权利要求中任一项所述的方法,还包括:针对每个比对读段,确定所述读段是否包含至少一个对应于所述测序机器不能检出任何碱基或核苷酸的情况的失配的步骤。13.根据权利要求12所述的方法,还包括:针对每个包含至少一个对应于所述测序机器不能检出任何碱基或核苷酸的情况的失配的读段,确定此类失配的数目的步骤,以及将所述数目与参考阈值进行比较的步骤。14.根据权利要求13所述的方法,其中,在所述编码步骤中,如果此类失配的数目大于所述参考阈值,则将要根据所述第二编码过程编码的读段的每个核苷酸或碱基以4位单独编码,并且如果此类失配的数目低于所述参考阈值,则将要根据所述第二编码过程编码的读段的每个核苷酸或碱基以2位单独编码,并且所述编码步骤还包括编码沿着所述参考序列的位置的列表,所述位置对应于所述参考序列中的此类失配的位置。15.一种在计算机可读存储介质上体现的计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令在由处理器执行时,使得所述处理器执行包括前述权利要求中任一项所述的方法的所述步骤的操作。16.一种具有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在由处理器执行时,使得所述处理器执行包括权利要求1至14中任一项所述的方法的所述步骤的操作。17.一种设备,包括:处理器;和存储器,其可操作地耦接到所述处理器以形成计算装置,所述存储器存储处理器可执行指令,所述处理器可执行指令至少基于在所述处理器上被执行而使得所述处理器执行包括权利要求1所述的方法的所述步骤的操作。18.一种用于压缩基因组序列数据的方法,所述方法包括:由所述一个或多个处理器访问存储装置,所述存储装置以保留由映射和比对模块产生的多个读段记录的序列排序的方式存储所述多个读段记录;针对所述多个读段记录中的每个特定读段记录:由所述一个或多个处理器获得所述特定读段记录;
由所述一个或多个处理器确定所述特定读段记录是对应于被完全映射到参考序列的读段还是被不完全映射到所述参考序列的读段;基于由所述一个或多个处理器确定所述特定读段记录对应于被不完全映射到所述参考序列的读段,由所述一个或多个处理器确定所述不完全映射的读段的失配数目是否满足预先确定的失配阈值数目;基于确定所述失配数目满足所述预先确定的失配阈值数目,由所述一个或多个处理器将所述不完全映射的读段的每个失配编码为具有预先确定的压缩记录大小的压缩记录;以及由所述一个或多个处理器将所述压缩记录存储在所述存储装置中,同时维持所述读段记录的所述序列排序。19.根据权利要求18所述的方法,其中所述多个读段记录中的每个读段记录包括:指示所述比对读段相对于所述参考序列的绝对起始位置的数据,指示所述读段的长度的数据,指示所述读段是完全映射的还是不完全映射的数据,指示在所述读段中识别的失配的数目的数据,指示所述读段是否包括至少一个未确定的碱基N的数据,指示所述读段中的未确定的碱基N的数目的数据,指示所述读段是映射的还是未映射的数据,指示所述读段记录在由所述映射和比对模块输出的读段记录序列中的位置的数据,以及指示所述读段中的所述可能失配的相对位置的数据。20.根据权利要求18所述的方法,其中所述预先确定的压缩记录大小是一个字节。21.根据权利要求20所述的方法,其中将所述不完全映射的读段的每个失配编码为具有一个字节大小的压缩记录包括:针对每个特定失配,由一个或多个处理器编码所述字节的前两位以包括表示存在于所述读段中的替代核苷酸或碱基而不是所述参考序列中的对应参考核苷酸或碱基的数据;以及由一个或多个处理器编码所述字节的剩余六位以包括表示所述参考序列中的所述失配的位置的数据,所述位置被计算为相对于所述读段的前一个失配的偏移。22.根据权利要求21所述的方法,所述方法还包括:由一个或多个处理器确定所述偏移是否大于最大可编码值;基于确定所述偏移大于所述最大编码值,由一个或多个处理器在所述特定失配与所述前一个失配之间插入至少一个假失配。23.根据权利要求18所述的方法,其中所述方法还包括:基于确定所述失配数目不满足所述预先确定的失配阈值数目,由一个或多个处理器使用简化的信息熵编码过程将对应于所述失配中的每一者的位置的所述参考序列的位置列表编码到所述参考序列中。24.根据权利要求18所述的方法,其中所述方法还包括:基于确定所述读段记录对应于被完全映射到所述参考序列的读段,由所述一个或多个处理器使用简化的信息熵编码来编码所述读段记录的至少一部分。
25.根据权利要求18所述的方法,其中由所述一个或多个计算机确定所述不完全映射的读段的失配数目是否满足预先确定的失配阈值数目包括:由所述一个或多个处理器确定所述不完全映射的读段的所述失配数目是否大于所述参考阈值。26.一种用于压缩基因组序列数据的系统,所述系统包括:一个或多个计算机,和存储指令的一个或多个存储装置,所述指令在由一个或多个计算机执行时,能够操作以使得所述一个或多个计算机执行以下操作,所述操作包括:由所述一个或多个计算机访问存储装置,所述存储装置以保留由映射和比对模块产生的多个读段记录的序列排序的方式存储所述多个读段记录;针对所述多个读段记录中的每个特定读段记录:由所述...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。