用于生物信息数据索引的方法和系统与流程

文档序号:18399662发布日期:2019-08-09 23:45阅读:257来源:国知局
本申请要求专利申请pct/ep2016/074311、pct/ep2016/074301、pct/ep2016/074307、pct/ep2016/074297、pct/us2017/17842、pct/us2017/17841的优先权和权益。本公开提供了划分和索引基因组测序数据以实现选择性访问和模式匹配的新方法。所公开的索引方法减少了在未比对读序中搜索特定核苷酸序列时所需的处理功率和数据访问时间。所公开的方法可以应用于:●基因组测序机产生的原始序列数据,●在根据指定的匹配标准进行读序映射的过程中未能映射到一个或更多个参考序列的任何区域上的未映射读序,●根据指定的匹配标准,在读序组装(也称为无参考比对)的过程中,不能与任何其他读序比对以形成更长的序列(也称为“重叠群”)的未比对读序。
背景技术
::基因组测序数据的适当索引对于实现有效的基因组分析应用(例如但不限于基因发现)是基本的。基因发现是识别与性状(trait)或表型(phenotype)发育相关的生物体基因组的区域的处理。基因发现需要在所研究的一个或更多个基因组样本中搜索核苷酸的特定模式。同样,其它基因组分析应用需要使用模式匹配技术来识别感兴趣的核苷酸的构型。在一些情况下,模式匹配被视为序列比对技术的替代,由此序列数据被映射到已有的参考序列上,以便构建更长的基因组序列。测序数据的最常用的基因组信息表示基于原始读序的fastq格式以及比对读序的sam和cram。这些解决方案不支持任何形式的原始或未映射读序的索引,并将它们存储为无序的记录序列。这意味着对特定模式的任何搜索都需要对整个数据集进行解码和解析。本发明的目的在于通过以下方式对原始或未映射的基因组读序进行索引:●根据共享的公共子序列对读序进行聚类(clustering)。根据所定义的聚类约束,属于聚类的所有读序包含可能具有一些失配的特定核苷酸序列。在本发明的公开中,共同序列被称为聚类签名(clustersignature),●将所述聚类签名编码为表示所述签名核苷酸的一个或更多个整数的序列,●将编码的签名存储在有序或无序向量中,●将编码的签名的向量与属于本公开中所定义的u类的原始、未映射或未比对读序一起进行编码。这种方法相对于现有方法的最相关的改进包括:1.对整个读序聚类而不是单端读序执行模式匹配的可能性,2.同时对多个聚类执行并行模式匹配的可能性,3.根据与聚类签名特性相关的标准对原始或未映射的读序进行排序的可能性,4.通过使已知基因能够与聚类签名进行比较来提高基因发现性能。附图说明图1示出了如何根据称为“签名”的核苷酸的共享子序列来对原始的、未映射的和未比对的读序进行聚类。图2示出了共享相同签名但具有不同精度级别的四个读序的示例。读序1包含确切的签名;读序2包含具有2个失配的签名;读序3包含除一个碱基(缺失)之外的签名;读序4包含带有额外碱基(插入)的签名。图3示出了在固定长度签名的情况下如何将长度为8的签名编码为无符号32位整数。图4示出了在固定长度签名的情况下如何将长度为6的签名编码为若干无符号8位整数。图5示出了在可变长度签名的情况下如何将长度为8和5的签名编码为无符号32位整数。图6示出了在可变长度签名的情况下如何将长度为6和5的签名编码为若干无符号8位整数。图7示出了当对原始、未映射或未比对读序进行编码时,主索引表包括两个向量,这两个向量包含编码签名和指向存储介质上的访问单元所包含的编码描述符的对应块的指针。图8示出了如何解码由8个核苷酸组成并被编码为32位整数的固定长度签名的示例。图9示出了如何解码由编码为8位整数组成的可变长度签名的示例。图10示出了访问单元如何包含用于表示相同基因组数据类的读序的熵编码描述符块。块被划分为用于网络传输的分组。图11示出了原始基因组序列编码器的架构。图12示出了集成在编码比对读序的更大架构中的图11的原始基因组序列编码器。图13示出了包含原始的、未映射的和未比对的序列数据的访问单元的解码器的架构。输出由解码的读序聚类和相关联的签名组成。图14示出了在基因组序列解码器中用于解码包含未映射读序(u类数据)的访问单元的图12的解码器。图15示出了如何使用半映射读序对(hm类)通过用未映射读序组装更长序列(也称为“重叠群(contigs)”)来填充参考序列的未知区域。技术实现要素:以下的权利要求的特征通过提供一种用于编码基因组序列数据的方法解决了现有技术解决方案的问题,所述基因组序列数据包括核苷酸序列的读序,所述方法包括以下步骤:将所述读序划分成如下读序聚类,其共享称为“聚类签名”的共同的核苷酸序列或子序列,将经聚类的读序编码为多个语法元素块,用报头信息构造所述语法元素块,从而创建连续的访问单元。在另一方面中,该编码方法还包括通过以下步骤对所述聚类签名进行编码:将所支持的字母表的各个核苷酸关联到唯一的二进制表示,在签名中连接各个核苷酸的二进制表示,以获得表示编码签名的比特串。在另一方面中,所述编码方法还包括通过所述编码签名识别编码读序的各个聚类的步骤。在另一方面中,所述语法元素块包括主索引表,所述主索引表包括通过将所支持的字母表的各个核苷酸关联到唯一的二进制表示、在签名中连接各个核苷酸的二进制表示以获得表示编码签名的比特串来编码并与整数值向量相关联的聚类签名,所述整数值向量表示编码语法元素块在存储介质上的位置,所述编码语法元素块表示属于各个聚类的读序。在另一方面中,所述语法元素流包括具有以下项的基因组数据集报头:用于唯一地标识各个数据集组的数据集组标识符,用于唯一地标识各个数据集的基因组数据集标识符,用于标识数据集所遵循的数据格式规范的品牌标识符,用于标识数据集所遵循的数据格式规范的次要版本号,用于通报固定长度读序的以核苷酸为单位的编码基因组读序长度,通报存在双端读序的标志,通报存在块报头的标志,通报访问单元被存储在存储介质上的排序的标志,用于对数据集进行编码的参考序列的数目,用于唯一地标识各个参考序列的针对每个参考序列的数字标识符,用于唯一地标识各个参考序列的针对每个参考序列的串标识符,用于对与各个参考序列相关联的访问单元进行计数的、每个参考序列的编码访问单元的数目,用于区分比对读序、未比对读序、未映射读序和参考序列的编码基因组数据的类型,在数据集中编码的数据类的数目,在解码处理时使用的数据集中所编码的针对每个数据类使用的描述符的数目,用于对编码未映射读序进行索引的聚类的总数,用于表示如下整数值的比特数,该整数值用于对编码聚类签名的解码所用的聚类签名进行编码,通报是否所有的聚类签名就核苷酸数目而言具有相同长度的标志聚类签名的长度。在所述编码方法的另一方面中,所述基因组读序是成对的在所述编码方法的另一方面中,所述基因组数据是被熵编码的一种用于对编码基因组数据进行解码的方法,所述方法包括以下步骤:解析包含所述编码基因组数据的访问单元,以利用报头信息来提取多个语法元素块,对所述多个语法元素块进行解码,以提取根据所述方法编码的原始、未映射和未比对读序,解析主索引表以获取经编码的聚类签名,通过将对应的核苷酸序列关联到各个签名的二进制表示来对所述聚类签名进行解码,解析与各个签名相关联的整数向量,以在存储介质上获取包含基因组数据的编码表示的访问单元,通过采用报头信息从访问单元提取多个语法元素块。在另一方面中,所述解码方法还包括:对包含全局配置参数的基因组数据集报头进行解码,在另一方面中,所述解码方法还包括:对包含编码聚类签名和编码块偏移的主索引表进行解码,在所述解码方法的另一方面中,所述基因组读序是成对的。在所述解码方法的另一方面中,所述基因组读序是被熵编码的。一种用于压缩原始、未映射和未比对的基因组序列数据(111)的基因组编码器(1115),所述基因组序列数据(111)包括核苷酸序列的读序,所述基因组编码器(1115)包括:聚类单元(112),其被配置为将所述读序划分为共享称为聚类签名的共同的核苷酸序列或子序列的读序组,从而创建读序聚类(113)和聚类签名(114),一个或更多个描述符编码单元(115),其被配置为将经聚类的读序编码为语法元素块。一个或更多个熵编码单元(1110),其被配置为根据所述语法元素块的统计特性来压缩所述语法元素块,以产生基因组访问单元(1111),签名编码单元(116),其被配置为通过将唯一二进制表示与所述聚类签名的各个符号相关联来对所述聚类签名(114)进行二进制化,基因组数据集报头和主索引表生成器(119),其被配置为将经二进制化的聚类签名(117)与整数向量关联起来,所述整数向量表示在基因组访问单元(1111)中包含的熵编码描述符在存储介质上的偏移,复用器(1113),其用于对压缩基因组数据和元数据进行复用。一种用于压缩基因组序列数据(121)的基因组编码器(1210),所述基因组序列数据(121)包括核苷酸序列的读序,所述基因组编码器(1210)包括:比对单元(122),其被配置为将所述读序与一个或更多个参考序列进行比对,从而创建比对读序,数据分类单元(124),其被配置为根据与一个或更多个已有参考序列或所构造的参考序列进行匹配的指定匹配规则来对所述比对读序进行分类,从而创建比对读序的类(128);一个或更多个描述符编码单元(125-127),其被配置为通过根据所述比对读序的类选择所述语法元素,来将所述分类比对读序编码为语法元素块,一个或更多个熵编码单元(1212-1214),其被配置为根据所述语法元素块的统计特性来压缩所述语法元素块,以产生基因组流(1215),如上所述配置的原始的、未映射的和未比对的读序编码单元(1115),复用器(1216),其用于对压缩基因组数据和元数据进行复用。一种基因组编码器,其包括能够执行所述编码方法的编码装置,所述编码方法包括:通过将所支持的字母表的各个核苷酸与唯一的二进制表示相关联来对所述聚类签名进行编码,以及在签名中连接各个核苷酸的所述二进制表示以获得表示编码的签名的比特串。一种用于对压缩基因组访问单元(134)进行解压缩的基因组解码器(1313),所述基因组解码器(1313)包括:解复用器(132),其用于对压缩基因组访问单元(134)和基因组数据集报头和主索引表(133)进行解复用,解析装置(135),其被配置为将所述基因组数据集报头和主索引表(133)解析为编码聚类签名(137),签名解码器(139),其被配置为将所述编码聚类签名(137)解码为聚类签名(1311),熵解码器(136),其被配置为将所述压缩基因组访问单元解压缩成称为基因组描述符(138)的语法元素块,一个或更多个描述符解码器(1310),其被配置为将基因组描述符解码为未压缩的核苷酸序列的读序(1312),一种用于对压缩基因组流(1410)进行解压缩的基因组解码器(148),所述基因组解码器(148)包括:解复用器(140),其用于将压缩基因组数据和元数据解复用成基因组比特流(141)和未映射的读序的比特流(145)熵解码器(142-144),其被配置为将所述压缩基因组流解析成称为基因组描述符(145)的语法元素块,一个或更多个基因组描述符解码器(146-147),其被配置为将所述基因组描述符解码为核苷酸序列的分类读序(1411),基因组数据类解码器(149),其被配置为选择性地对一个或更多个参考序列上的核苷酸序列的所述分类读序进行解码,以产生核苷酸序列的未压缩读序,未映射读序解码器(1313),其如上所述配置以产生未压缩的原始、未映射和未比对的读序(1414)和聚类签名(1415)。本发明还提供了一种包括指令的计算机可读介质,该指令在被执行时使得至少一个处理器执行前述编码方法的所有方面。本发明还提供了一种包括指令的计算机可读介质,该指令在被执行时使得至少一个处理器执行前述编码方法的所有方面。本发明还提供了一种包括指令的计算机可读介质,该指令在被执行时使得至少一个处理器执行前述解码方法的所有方面。本发明还提供了一种支持数据,其存储根据前述编码方法的所有方面编码的基因组。具体实施方式本发明中所涉及的基因组或蛋白质组序列包括,例如但不限于,核苷酸序列、脱氧核糖核酸(dna)序列、核糖核酸(rna)和氨基酸序列。虽然本文中的描述相对于核苷酸序列形式的基因组信息相当详细,但应理解,用于压缩的方法和系统也可实施于其它基因组或蛋白质组序列,但具有一些变化,如所属领域的技术人员将理解的。基因组测序信息由高通量测序(hts:highthroughputsequencing)机器以核苷酸序列(也称作“碱基(base)”)的形式产生,该核苷酸序列由定义的词汇表中的一串字母表示。最小的词汇表由五个符号表示:{a,c,g,t,n},其代表dna中存在的4种类型的核苷酸,即腺嘌呤、胞嘧啶、鸟嘌呤和胸腺嘧啶。在rna中,胸腺嘧啶被尿嘧啶(u)取代。n表示测序机不能调用任何碱基,因此该位置处的核苷酸的真实性质是不确定的。在测序机采用iupac模糊码作为词汇表的情况下,用于符号的字母表由以下符号组成:{a,c,g,t,u,w,s,m,k,r,y,b,d,h,v,n或-}。在氨基酸的情况下,所支持的符号是:{a,c,d,e,f,g,h,i,k,l,m,n,p,q,r,s,t,v,w,y}。在本发明的语境中,基因组数据集被定义为基因组数据的任何结构化集合,包括例如活生物体的基因组数据、通过活生物体的基因组测序或通过对原始测序数据执行的基因组数据处理的任何其它步骤生成的一个或更多个序列和元数据。在本发明的语境中,基因组数据集报头被定义为,包含由对根据本发明的公开的编码数据进行处理的编码和解码装置使用的全局参数的数据结构。测序机产生的核苷酸序列称为读序(reads)。读序可以由许多核苷酸组成,这些核苷酸的范围在几十到几千个之间。一些测序技术产生由读序对(pairs)组成的读序,其中一个读序源自一条dna链,而另一个读序源自另一条链。在产生读序对的测序过程中与另一个读序相关联的读序被称为该另一个读序的配对读序(mate)。在本公开中,参考序列是与一维整数坐标系相关的核苷酸序列,对于该一维整数坐标系,各个整数坐标与单个核苷酸关联起来。坐标值只能等于或大于零。在本发明的语境中,这个坐标系是基于零的(即,第一个核苷酸的坐标为0,并且它被称为处在位置0处)并且从左到右线性增加。当在参考序列上映射读序时,所述参考序列被用作最左位置被标为位置0的一维坐标系的轴。在映射到参考序列的读序中,构成在由最小坐标编号标识的参考序列位置处映射的读序的核苷酸通常被称为“最左侧”核苷酸,而构成在由最大坐标编号标识的参考序列位置处映射的读序的核苷酸被称为“最右侧”核苷酸。这在图3中示出。在本公开中,核苷酸也称为碱基。当读序被映射到参考序列时,最左侧的映射碱基的坐标被认为表示该读序在参考序列上的映射位置。存在于比对读序中但不存在于参考序列中(也称作插入)的碱基以及比对过程保留的未映射到参考序列上(也称作软剪辑)的碱基没有映射位置。当不能根据指定的匹配规则将读序映射到所使用的参考序列的任何映射位置时,将其称为未映射。通过在读序中寻找重叠区域来构建较长基因组序列的过程称为组装(assembly)。组装较短读序构建的较长的基因组序列称为重叠群(contig)。在组装过程中未能构建任何重叠群的读序称为未比对。在本发明的公开中,根据一些共享特性对读序进行分组的过程被定义为聚类(clustering)。具有相同特性的读序组被称为聚类(cluster)。在图1中提供了该概念的示意图。在本发明的公开中,在属于同一聚类的读序之间共享的特性被称为聚类签名或签名。图2中提供了包含具有不同精度的签名的读序的示例。签名可以由从二到数千的任意数目的核苷酸构成,并且签名可以针对所有聚类具有固定长度或可以具有可变长度。可以属于签名的符号的字母表取决于已被测序以产生正被处理的读序的特定基因组样本。作为示例而非限制,可以使用以下字母表:●对于dna○{a,g,c,t,n}○{a,g,c,t,r,y,s,w,k,m,b,d,h,v,n,.,-}(iupac符号)●对于rna○{a,g,c,u,n}○{a,g,c,u,r,y,s,w,k,m,b,d,h,v,n,.,-}(iupac符号)●对于氨基酸○{a,c,d,e,f,g,h,i,k,l,m,n,p,q,r,s,t,v,w,y}用于计算聚类签名的字母表的类型由在本公开中描述的称为基因组数据集报头的数据结构所携带的参数alphabet_id来标识。属于同一基因组数据集的聚类的签名可以是固定长度或可变长度的。编码在基因组数据集报头中的全局参数用于通报签名长度是固定的还是可变的。如果签名长度是固定的,则第二全局参数表示聚类签名的符号长度。在可变签名长度的情况下,此值为0。参考基因组由一个或更多个参考序列组成,并由科学家组装成物种基因组的代表性示例。例如,grch37(基因组参考协会人类基因组(第37版):thegenomereferenceconsortiumhumangenome(build37))源自来自纽约布法罗的十三名匿名志愿者。然而,参考序列也可以由合成序列组成,该合成序列是被构想出来的,并且只是被构成为考虑读序的进一步处理而改善其压缩性。在本公开中,将构成具有映射在参考序列的最小坐标上的碱基的读序对的读序称为“读序1”,而将其配对读序称为“读序2”。由使用了当今技术的测序机作为一对而生成的两个读序之间隔开的由核苷酸(或碱基)的数目所表示的距离是未知的,通过将组成读序对的两个读序映射到参考序列(即,使适宜的匹配函数最小化)来确定该距离。如以下部分所详述的,本发明的公开定义了一种根据读序在一个或更多个参考序列上的映射结果来对读序进行分类的方法:●映射在没有和失配的参考序列上的读序属于p类●映射在仅具有未知碱基(由符号“n”表示)作为失配的参考序列上的读序属于n类●映射在相对于低于定义阈值的参考具有多个替换的参考序列上的读序属于m类●映射在相对于低于定义阈值的参考具有多个替换、缺失、插入或软剪辑碱基的参考序列上的读序属于i类●具有一个映射的读序(属于前面四个类中的任何一个)和一个未映射的配对读序的读序对属于hm类●根据所建立的关于允许失配的最大数量的约束,不映射到任何参考序列上的读序属于u类访问单元(accessunit:au)被定义为逻辑数据结构,该逻辑数据结构包含基因组信息或相关元数据的编码表示,以便于比特流访问和操作。访问单元是可由实施本公开所描述的发明的解码装置解码的最小数据组织。访问单元可以包含属于在本公开中定义的仅一个数据类的读序。根据编码信息的类型,可以独立于任何其它au或者使用包含在其它au中的信息来对au进行解码。使用存储在特定类型的访问单元中的语法元素的特定子集,来对属于u类的未映射或未比对的读序进行编码。图10例示了访问单元的示例。访问单元由编码描述符的块(在下一节中描述)组成。为了能够在网络上传输,块被进一步分解为分组。描述符是表示重建(即,解码)编码参考序列、编码读序及相关映射信息所需的信息的一部分的语法元素。不同类型的描述符被定义为表达:●读序在参考序列上的映射位置,●读序与其配对读序之间的距离,●读序的长度,●比对读序中的相对于参考序列的失配的位置,●相对于关联位置处的参考序列的失配的类型,●不能通过映射过程映射到参考序列上并且被分类为“软剪辑”碱基的碱基,●读序长度,●sam规范指定的映射标志,●通过映射过程与单读序或读序对相关联的多个映射位置,●识别拼接读序(即,这样的读序:与作为映射在参考序列的单个位置上的单个连接读序进行映射的情况相比,当分成几段时,能够获得更高匹配精度的映射位置)的存在,●所使用的参考序列的具体类型,比如:○参考基因组,例如由如基因组参考协会(例如,grch37)、加州大学圣克鲁斯分校(例如,hg19)的协会公布的基因组,○使用指定的读序集和指定的组装规则集构建的参考序列,●应用于参考序列的修订的位置和类型(为了减小用于对映射在这样修订的参考序列上的读序的失配进行表示的描述符的熵),●不能以指定的匹配精度映射在参考序列的任何位置处的读序的表示,●根据指定的匹配精度,在组装过程期间不能被比对以构建任何重叠群的读序的表示,●整个参考序列或其部分的表示。根据本发明中公开的方法,使用上面列出的描述符的子集对参考序列或其部分、读序和相关联的比对信息进行编码,然后使用多个熵编码器根据各个描述符特定统计特性来对这些描述符进行熵编码。在访问单元中构造具有同种统计特性的描述符块,其表示可由实施本公开描述的本发明的装置操纵的一个或更多个基因组序列的最小编码表示。本公开中描述的本发明定义了一种对包含原始读序、未映射读序和未比对读序的编码表示的访问单元进行索引的方法。根据匹配规则对读序进行分类根据相对于一个或更多个“已有”参考序列的比对的匹配结果,所公开的发明将测序机产生的读序分类为六个不同的“类”。当相对于参考序列比对核苷酸的dna序列时,可以辨别以下情况:1.找到参考序列中的区域来毫无误差地匹配读序(即完全映射)。这样的核苷酸序列称为“完全匹配读序”或标为“p类”。2.找到参考序列中的区域来与这样的读序进行匹配:该读序具有仅由生成该读序的测序机无法检测到任何碱基(核苷酸)的位置的数量决定的失配类型和数目。这种类型的失配用“n”表示,该字母用于表示未定义的核苷酸碱基。在本文中,这种类型的失配被称为“n型”失配。这样的序列属于“n类”读序。一旦读序被分类为属于“n类”,那么将匹配不精确度限制到给定的上限并且在被认为有效匹配与被认为无效匹配之间设定分界是有用的。因此,也通过设定阈值(maxn)来约束分配至n类的读序,该阈值(maxn)规定了读序可以包含的未定义碱基(即,被称为“n”的碱基)的最大数目。这种分类隐含地定义了,当与对应的参考序列进行参照时属于n类的所有读序共有的所需最小匹配精度(或最大失配度),这构成了用于对压缩数据应用选择性数据搜索的有用标准。3.找到参考序列中的区域来与这样的读序进行匹配:该读序具有由生成该读序的测序机无法检测到任何(如果有的话)核苷酸碱基(即“n型”失配)的位置的数量决定的失配类型和数目,加上已经检测到与参考序列中所存在的不同的碱基的失配的数量。标为“替换”的这种类型的失配也称为单核苷酸变异(snv:singlenucleotidevariation)或单核苷酸多态性(snp:singlenucleotidepolymorphism)。在本文中,这种类型的失配也称为“s型”失配。然后将读序称为“m失配读序”并分配给“m类”。就像“n类”的情况一样,对于属于“m类”的所有读序而言,将匹配不精确度限制到给定的上限并且在被认为有效匹配与被认为无效匹配之间设定分界也是有用的。因此,分至m类的读序也通过定义一组阈值而受到约束,一个阈值用于“n型”失配的数目“n”(maxn)(如果有的话),另一阈值用于替换数“s”(maxs)。第三约束是由数字“n”和“s”二者的任意函数f(n,s)定义的阈值。这种第三约束使得能够根据任何有意义的选择性访问标准来生成具有匹配不精确度的上限的类。例如但不作为限制,f(n,s)可以是(n+s)1/2或(n+s)或任何线性或非线性表达式,它们对属于“m类”的读序所允许的最大匹配不精确度水平设定了边界。当出于各种目的而分析读序时,这样的边界构成了用于对压缩数据应用期望的选择性数据搜索的非常有用的标准,因为这使得可以在应用于一种类型或另一种类型的简单阈值之外对“n型”失配和“s型”失配(替换)的数目的任何可能组合设定进一步的边界。4.第四类由表现出“插入”,“缺失”(也称为indel)和“剪辑”中的任何类型的至少一种失配加上属于n类或m类的任何失配类型(如果有的话)的读序构成。这种序列称为“i失配读序”并被分至“i类”。插入由不存在于参考序列中但存在于读序中的一个或更多个核苷酸的额外序列构成。在本文中,这种类型的失配被称为“i型”失配。在文献中,当插入的序列位于序列的边缘时,它也被称为“软剪辑”(即,核苷酸与参考序列不匹配,但与被丢弃的“硬剪辑”核苷酸相反,保留在比对的读序中)。在本文中,这种类型的失配被称为“c型”失配。保留或丢弃核苷酸是在比对器阶段做出的决定,而不是由本发明中公开的接收和处理由测序机或由随后的比对阶段确定的读序的读序分类器做出的决定。缺失是读序中的相对于参考读序的“空洞”(缺少核苷酸)。在本文中,这种类型的失配被称为“d型”失配。与“n类”和“m类”的情况一样,为匹配不精确度规定一个极限是可行而且恰当的。“i类”约束集的定义基于“m类”所使用的相同原则并在表1的最后一个表格行中进行了报告。除了i类数据允许的每种类型的失配的阈值之外,还通过由失配数“n”、“s”、“d”、“i”和“c”的任何函数w(n,s,d,i,c)确定的阈值定义了另一约束。这种附加约束使得可以根据任何有意义的用户定义的选择性访问标准,来生成具有匹配不精确度上限的类。例如但不是作为限制,w(n,s,d,i,c)可以是(n+s+d+i+c)1/5或(n+s+d+i+c)或任何线性或非线性表达式,它们对属于“i类”的读序所允许的最大匹配不精确度水平设定了边界。当出于各种目的而分析读序时,这样的分界构成了用于对压缩数据应用期望的选择性数据搜索的非常有用的标准,因为这使得可以在应用于各种类型的可允许失配的简单阈值之外对“i类”读序允许的失配数目的任何可能组合设定进一步的边界。5.第五类包括在对参考序列进行参照时对于各个数据类都不能找到任何被认为有效的映射的所有读序(即,不满足规定了表1指定的最大匹配不精确度的上限的匹配规则集)。当对参考序列进行参照时,这些序列被认为“未映射”,并且被分类为属于“u类”。根据匹配规则对读序对进行分类上一节中说明的分类涉及单读序。在成对地生成读序(其中已知两个读序被长度可变的未知序列分开)的测序技术(即illuminainc.)的情况下,将整个读序对分类到单个数据类是合适的。与另一读序相结合的读序被称为其“配对读序”。如果成对读序属于相同的类,则整个读序对的分类是显然的:对于任何类(即,p、n、m、i、u),将整个读序对分至同一类。如果两个读序属于不同的类,但它们都不属于“u类”,则将整个读序对分至具有根据下式规定的最高优先级的类:p<n<m<i其中,“p类”的优先级最低,“i类”的优先级最高。如果只有一个读序属于“u类”且其配对读序属于p、n、m、i类中的任何一类,则定义代表“半映射”的第六类“hm类”。规定这种特别的读序类别是想到它可用于试图确定参考基因组中存在的缺口或未知区域(也称为鲜为人知或未知的区域)。通过使用可以映射在已知区域上的读序对在边缘处映射读序对来重构这样的区域。然后使用未映射的配对读序来构建如图15所示的未知区域的所谓的“重叠群(contigs)”。因此,仅对这种类型的读序对提供选择性访问大大减少了相关的计算负担,从而能够更高效地处理由使用现有技术解决方案将需要完全检查的大量数据集所产生的这种数据。下表总结了应用于读序的匹配规则,以便定义各个读序所属的数据类。在表的前五列中就失配类型(n型失配、s型失配、d型失配、i型失配和c型失配)的存在或不存在定义了规则。第六列就各个失配类型的最大阈值和可能的失配类型的任何函数f(n,s)和w(n,s,d,i,c)提供了规则。表.本发明的公开中定义的各个读序必须满足以被分类到数据类中的约束集和失配类型基因组读序和参考序列的压缩表示基因组读序压缩的高效方法的共同要素是,利用序列数据相对于参考序列的相关性。即使人群的体况极其多样化,人与人之间不同的核苷酸数的实际部分也仅约占构成整个基因组的核苷酸总数的0.1%。因此,表征各个个体的特定基因组信息相对于整个基因组携带的全部信息非常有限。当已有的参考基因组可用(无论是用于先前的测序还是作为公开的“平均”共识参考)时,编码实际信息的最高效方式是仅对相对于参考基因组的差异进行辨别和编码。为了以fastq数据形式的原始读序进行这种操作,执行在可用参考基因组上进行映射的初步预处理步骤。在参考基因组不可用的情况下或者如果不希望由于使用特定参考序列而引入偏差,则通过将可用读序组装成更长的序列来构造新参考序列是可能的替代方案。当已经相对于已有的或构造的参考序列映射了读序时,各个读序可以由本公开中标为“读序描述符”或简称为“描述符”的多个元素完全表示。例如,在读序与参考序列的片段完美匹配的情况下,表示该读序所需的描述符子集只是由参考序列上的映射位置的坐标(通常是读序的最左侧碱基的映射位置的坐标)、该读序本身的长度、和表示该读序相对于参考序列链是映射在正还是负dna链上的信息来构成。在不能找到任何读序的所有碱基与参考序列的所有碱基匹配的映射位置的情况下,保留具有最小失配数的一个或多个映射。在这种情况下,需要不同的描述符子集,来进一步表示对应于具有最小失配数或接近最小失配数的映射位置而可能发生的替换、插入、缺失和剪辑碱基。利用这样的描述符子集,可以使用由描述符携带的信息和由参考序列携带的信息来重构读序。映射处理还可以产生其它类型的信息,例如:多个可能的映射位置和相关分数,映射质量,拼接读序的规范,属于一个读序对的读序在两个不同的参考序列(通常是染色体)上的映射,测序处理(例如pcr或光学复制)的特征。所有这些信息需要特定的附加描述符,该附加描述符扩展各个子集,然后通过对各个描述符子集应用恰当的熵编码算法来压缩各个子集。由于以下原因,基因组测序处理可以生成读序副本(即,同一基因组序列的两个或更多个精确的副本):●基因组测序处理的化学性(聚合酶链式反应副本),●数据采集处理(光学复制)。如果读序对在同一个区块上,并且读序之间的距离小于取决于实验的给定配置参数,则该读序被称为光学副本。因此,各个读序或读序对可以根据映射处理的结果由特定的描述符子集唯一地表示。诸如sam和cram这样的常用方法不根据表示其映射信息所需的特定描述符子集来对读序或读序对进行编码。sam和cram不会根据它们所包含的相对于它们所映射到的参考序列的失配的数量和类型来将读序分类为数据类。此外,这些格式不将读序分别编码为仅包含压缩形式的属于单个数据类的读序的访问单元中。在成对生成的读序的情况下,现有技术的方法不将它们编码为,根据它们相对于参考序列的映射精确度分成类的单个元素。这种现有技术方法的特征在于以下限制和缺点:1.在不根据对于参考序列的映射结果将读序分类至单独的数据类的情况下对读序或读序对进行编码并且使用唯一的描述符超集是低效的方法,会产生较差的压缩性能。2.将读序对作为单独的读序进行编码需要复制携带相同信息的若干描述符,因此造成低效且产生较差的压缩性能。3.取得重构读序对所需的信息是复杂且低效的,因为该处理可能需要在整个数据集中进行强力顺序搜索,而在下一代测序(ngs)技术的情况下,整个数据集可能是非常大的。4.对映射到特定基因组区域的读序或读序对的选择性访问需要搜索整个数据集,以保证取得所有的读序或读序对。当通过单个描述符子集对读序对进行编码时,以下技术优点对于本领域技术人员是显然的:1.不把读序对作为单个元素(例如,读序对标识符、映射距离、映射参考标识符、当前由sam文件格式中的特定标志编码的各种映射质量信息)进行编码来复制显然是冗余的两个读序共有的信息2.相互配对信息(即,规定哪个读序是任意当前读序的配对读序的信息)的取得是直接的并且不需要任何进一步的处理。相反,在现有技术的方法中,可能需要解析整个数据。为了能够高效地选择性地访问测序数据的特定部分并能够在数字数据网络上传输它们,用于表示比对至参考序列的读序的描述符集被构造为在逻辑上分离且独立的数据块(称为访问单元(au))。各个访问单元仅包含单个数据类的压缩表示,并且可以独立于任何其它访问单元或仅使用携带用于映射的参考序列区域的编码表示的访问单元进行解码。这实现了选择性访问和乱序传输功能。为了提高压缩效率,本发明使得无需为两个读序都映射在同一参考序列上的各个读序对指定“映射参考标识符”描述符。各个访问单元只能包含映射在同一参考序列上的读序或读序对。通过使用这样的解决方案,表示参考序列标识符的描述符仅需要针对各个访问单元或访问单元组编码一次(并且不像目前在sam/bam格式中所做的那样,针对各个读序进行重复)。上述规则的唯一例外是,两个读序映射在不同参考序列(例如染色体)上的读序对。在这种情况下,对读序对进行分割并且把两个读序作为两个单独的基因组记录进行编码,且各个编码读序包含其配对读序所映射到的参考序列的标识符。本领域技术人员知道,对具有同种统计特性的元素组中的信息进行分类,相对于使用应用于异种数据集的通用压缩器(例如,lz型算法)提供了更优的压缩性能。因此,当通过特定的描述符子集成对地对基因组序列进行编码时,由于各个单独的描述符子集所特有的低熵以及重构和提取读序对时的高处理效率,实现了更好的压缩。聚类基因组读序本公开中描述的本发明包括:创建在给定匹配约束内共享共同核苷酸子序列(签名)的读序的组或“聚类”的步骤。属于给定聚类的读序包含精确和完整的签名,或者具有低于定义阈值的多个失配(替换、插入或缺失)。图2提供了以不同精度共享签名的读序的示例。阈值的示例包括:●任何类型的失配的总数,●通过将不同的权重分配给各个失配类型然后对各个读序中的所有失配的权重求和而获得的总得分,●替换、插入、缺失和剪辑碱基的出现的加权和。各个上述读序聚类被编码在一个或更多个访问单元中。因此,各个访问单元与一个聚类签名关联起来。在本发明的公开中,与被编码到访问单元中的聚类相关联的聚类签名也被称为“访问单元签名”。出于编码原因,在例如以下情况下,两个或更多个访问单元可以共享相同的签名:对每au编码的最大读序数设置限制;也就是说,可以用多于一个访问单元来对聚类进行编码。编码签名根据本发明的公开,一旦所有基因组序列被包括在聚类中,签名就被编码为一个或更多个n位整数的序列。根据以下步骤将签名编码为一个或更多个n位整数:●根据所采用的特定聚类算法,聚类签名可以是可变的或固定长度的。如果长度是固定的,则相应地设置通报(signaling)固定签名长度的全局参数,并且将该长度存储在基因组数据集报头中。否则,相应地设置通报可变签名长度的全局参数,并且在基因组数据集报头中将长度设置为0。●所支持的字母表的各个符号唯一地关联到二进制表示,其长度等于:○在固定签名长度的情况下,m=ceil(log2(所支持的字母表的基数)),○在可变签名长度的情况下,m=ceil(log2(所支持的字母表的基数)+1),其中ceil是返回大于或等于其自变量的最小整数的运算。●在可变签名长度的情况下,保留一个比特序列来表示被称为终止符(terminator)的特殊符号,该符号用于通报编码签名的结束。●在固定签名长度的情况下,其在本公开中被称为sl○如果m×sl<=n,则签名中毗连符号的二进制表示连接在单个比特串中,如果m×sl<n,则可能用0填充最高有效位。图3中提供了n=32和四个符号字母表的示例。○如果m×sl>n,则签名中的毗连符号的二进制表示连接在两个或更多个比特串中,如果bs不是n的整除数(也称为整除部分),则可能用0填充各个比特串的最高有效位。在图4中提供了n=8和四个符号字母表的示例。●在可变签名长度的情况下,其在本公开中对于第i个签名被称为sli○如果m×sli<=n,则签名中毗连符号的二进制表示连接在单个比特串中。在所有编码符号已被连接之后,用添加在最高有效位位置处的终止符符号来终止比特串,并且如果必要,用0填充剩余的最高有效位。在图5中提供了n=32和四个符号字母表的示例。○如果m×sli>n,则签名中的毗连符号的二进制表示连接在两个或更多个比特串中,如果bs不是n的整除数(也称为整除部分),则可能用0填充各个比特串的最高有效位。最后一个比特串由终止符终止,并且在其最高有效位位置处进一步用0填充。在图6中提供了n=8和四个符号字母表的示例。对压缩基因组数据进行索引以实现高效的选择性访问为了支持对比对数据的特定区域的选择性访问,本发明的公开定义了两种数据结构:携带全局参数的基因组数据集报头,以及在编码和解码处理期间使用的称为主索引表(mit:masterindextable)的索引工具。在表2中提供了基因组数据集报头的语法,在表3中提供了主索引表的语法。本发明的公开定义了如何支持利用包括在mit和基因组数据集报头中的元素进行索引的原始、未映射和未比对读序。基因组数据集报头基因组数据集报头是承载由编码器和解码器用来操纵编码基因组信息的全局参数的数据结构。基因组数据集报头的各个元素的组成和含义列于下表2中。与本发明中公开的索引机制相关的全局参数被编码在表2报告的基因组数据集报头中。这些包括:●用于表示编码签名的各个整数值的比特数。这由表2中的u_signature_size表示;●原始、未映射和未比对读序已划分为的聚类和关联签名的数目。这由表2中的u_clusters_num表示;●表示是否签名就核苷酸而言具有固定或可变长度的标志。这由表2中的u_signature_constant_length表示;●在固定签名长度的情况下的签名长度。这由表2中的u_signature_length表示。表2–基因组数据集报头语法主索引表本发明公开了一种称为主索引表(mit)的索引工具。主索引表(mit)是基于多维阵列的数据结构,包括:●包含在访问单元(来自不同描述符流的块的集合)中的所有读序或读序对的主比对(primaryalignment)中的最左侧匹配碱基相对于参考序列的位置(核苷酸的数目)。在表3中,这由start_au_ref_position[sequence_id][class_id][au_id]表示。●包含在访问单元(来自不同描述符流的块的集合)中的所有读序或读序对的主比对中的最右侧匹配碱基相对于参考序列的位置(核苷酸的数目)。在表3中,这由end_au_ref_position[sequence_id][class_id][au_id]表示。构成相对于各个参考序列编码的各个类的各个au的各个编码描述符块的第一个字节的字节偏移。相对于datasetpayload(基于0)的第一个字节计算偏移。如果块是空的并且(1)block_header_flag被设定,则它等于0xffffffff。如果块是空的并且(2)block_header_flag未被设定,则它等于描述符流中的下一个块的block_byte_offset值,或者对于描述符流中的最后一个块,等于描述符流净荷大小。在表3中,这由block_byte_offset[sequence_id][class_id][au_id][descriptor_id]表示。●根据所使用的编码方法(由全局配置参数通报),存在两个备择信息块:○如果各个访问单元作为毗连的数据块存储在存储介质上,则是以字节为单位的各个访问单元的大小,或者○如果同一类型的所有描述符被编码并作为毗连的数据块存储在存储介质上,则是编码描述符的各个块的大小。mit的最后一部分包含两个备择部分,这些备择部分根据描述符的各个编码块前面的报头的存在而使用。如果存在块报头(设定了block_header_flag),则mit包含各个描述符流的以字节为单位的大小。如果不存在块报头(未设定block_header_flag),则mit包含各个访问单元的以字节为单位的大小。两种编码方法之间的选择由表3中的称为block_header_flag的标志通报。表3–主索引表原始、未映射和未比对读序的索引工具本发明的公开描述了用于原始的、未映射的和未比对的读序(u类)的索引机制,其包括在表3报告的主索引表中。所述索引机制包括:●如前所述编码为n位整数的签名。这由表3中的u_cluster[cluster_id][0]表示。●指向对应于第一向量中的每一签名的经编码读序聚类的存储介质上的物理位置的指针。这由表3中的u_cluster[cluster_id][1]表示。这两个向量是图7所示的mit的一部分。该解决方案的优点对于,本领域技术人员来说是显然的,因为其实现了快速模式匹配而不需要解码任何编码数据(访问单元)。可以通过修改聚类签名的长度来调整模式匹配的粒度。短签名将生成较大的聚类,并且将实现对模式的粗略搜索,而更长的签名将生成更大数量的较小的聚类和更精细的模式搜索。解码聚类签名当解码设备必须对如本发明的公开中所述的编码的签名进行解码时,需要以下步骤:●读取基因组数据集报头中的全局参数,这些全局参数与下列参数相关:○原始、未映射和未比对读序聚类的数量,u_clusters_num○表示所有聚类是否具有以核苷酸为单位的相同长度的签名的标志u_signature_constant_length○各个整数使用的表示编码签名的比特数u_signature_size○在固定长度的情况下,以各个签名的核苷酸为单位的长度u_signature_length○主索引表中名为u_cluster的二维向量的各个u_cluster[cluster_id][0]元素(0≤cluster_id<u_clusters_num)被解码为u_signature_size位整数序列■在固定签名长度的情况下,要读取的整数的数目已知为:其中ceil函数返回大于或等于其自变量的最小整数。解码固定长度签名如图8所示。■在可变签名长度的情况下,解码器应在其二进制表示中检测包含终止符符号的第一整数,以便停止读取给定签名的整数。图9中提供了一个示例。●命名为u_cluster的主索引表中的二维向量的各个u_cluster[cluster_id][1]元素(具有0≤cluster_id<u_clusters_num)包含无符号整数的向量,该无符号整数表示编码读序的各个描述符块的访问单元中的第一字节的字节偏移,该读序属于与对应签名相关联的聚类。相对于数据集净荷(基于0)的第一字节来表示这种偏移。编码装置图11示出了根据本发明原理的编码装置1115。编码装置1115接收例如由基因组测序装置110产生的原始序列数据111作为输入。基因组测序装置110在本领域中是已知的,如illuminahiseq2500、thermo-fisheriontorrent设备或oxfordnanoporeminion。原始序列数据111被馈送到读序聚类单元112,读序聚类单元112通过对共享称为聚类签名的共同的核苷酸序列或子序列的读序进行聚类,来准备用于编码的序列。然后,由描述符编码器115根据命名为描述符的语法元素来表示经聚类的读序。用签名编码单元116对由聚类单元112生成的聚类签名114进行编码。然后,由描述符编码器115生成的基因组描述符118被熵编码,并被结构化为基因组访问单元1111。二进制化签名117和全局参数基因组数据集报头和由基因组数据集报头和mit生成器119生成的主索引表1112。然后,在复用比特流1114中复用基因组访问单元1111、基因组数据集报头和主索引表。编码装置1115可以是图12所示的较大编码装置1210的一部分,其中未映射的读序被编码并与编码的比对读序复用。图12示出了根据本发明原理的编码装置1210。编码装置1210接收例如由基因组测序装置120产生的原始序列数据121作为输入。基因组测序装置120在本领域中是已知的,如illuminahiseq2500、thermo-fisheriontorrent设备或oxfordnanoporeminion。将原始序列数据121馈送到比对器单元122,该比对器单元122通过将读序与参考序列1220进行比对来准备用于编码的序列。不能由比对单元122比对的读序被分类为未映射的读序(u类数据)1217,并且被馈送到未映射的读序编码器1115。未映射读序编码器1115的内部架构和内部工作已在先前段落中描述,并且在图11中示出。然后由数据分类模块124对比对单元122产生的比对序列进行分类。然后,数据类128被馈送到描述符编码器125-127。然后将基因组描述符流1211馈送到算术编码器1212-1214,算术编码器1212-1214根据描述符流所携带的数据或元数据的统计特性来对描述符进行编码。结果是,由复用单元1216复用在单个比特流中的一个或更多个基因组流1215。解码装置图13示出了根据本发明的原理的解码装置1313。解复用单元132从网络或存储元件接收复用比特流131,并且提取基因组数据集报头和主索引表133以及基因组访问单元134。解码装置1313接收基因组数据集报头和主索引表133以及基因组访问单元134,然后将它们分别馈送到基因组数据集报头和mit解析器135以及熵解码器136。然后,用签名解码器139对基因组数据集和mit解析器135提取的编码的聚类签名137进行解码,以产生聚类签名1311。基因组描述符流138被馈送到描述符解码器1310,以进一步将描述符解码成原始、未映射和未比对的读序1312。图14示出了上面描述的并在图13中示出的u类解码器如何可以成为基因组读序的更大解码器的一部分。图14示出了根据本发明的原理的解码装置148。流解复用器140从网络或存储元件接收复用的基因组比特流1410,以产生单独的基因组比特流141,然后将该基因组比特流141馈送到熵解码器142-144,以产生基因组描述符流145。包含编码原始、未映射和未比对读序(u类)1412的访问单元的比特流被馈送到:包含上面描述的并在图13中示出的原始、未映射和未比对读序1313的访问单元的解码器。提取的基因组描述符流145被馈送到描述符解码器146-147,以进一步将描述符解码成基因组数据类。类解码器149进一步处理基因组描述符1411并合并结果,以产生未压缩的比对读序。类解码器149能够通过操控由一个或更多个基因组携带的关于原始参考序列的信息,来重构该原始基因组序列。在参考序列不通过基因组流传输的情况下,它们必须在解码侧可用并且可由类解码器访问。本文公开的发明技术可以用硬件、软件、固件或其任意组合来实现。当以软件实现时,这些可以存储在计算机介质上并由硬件处理单元执行。硬件处理单元可以包括一个或更多个处理器、数字信号处理器、通用微处理器、专用集成电路或其它离散逻辑电路。本公开的技术可以在各种设备或装置中实现,包括移动电话、台式计算机、服务器、平板电脑和类似设备。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1