CN110506272B - 用于访问以访问单元结构化的生物信息数据的方法和装置 - Google Patents

用于访问以访问单元结构化的生物信息数据的方法和装置 Download PDF

Info

Publication number
CN110506272B
CN110506272B CN201780063013.5A CN201780063013A CN110506272B CN 110506272 B CN110506272 B CN 110506272B CN 201780063013 A CN201780063013 A CN 201780063013A CN 110506272 B CN110506272 B CN 110506272B
Authority
CN
China
Prior art keywords
read
data
reads
encoded
access
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.)
Active
Application number
CN201780063013.5A
Other languages
English (en)
Other versions
CN110506272A (zh
Inventor
M·K·巴卢奇
C·艾伯蒂
G·佐亚
D·伦齐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Genomsys SA
Original Assignee
Genomsys SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from PCT/EP2016/074307 external-priority patent/WO2018068829A1/en
Priority claimed from PCT/EP2016/074301 external-priority patent/WO2018068828A1/en
Priority claimed from PCT/EP2016/074311 external-priority patent/WO2018068830A1/en
Priority claimed from PCT/EP2016/074297 external-priority patent/WO2018068827A1/en
Application filed by Genomsys SA filed Critical Genomsys SA
Priority claimed from PCT/US2017/041579 external-priority patent/WO2018071078A1/en
Publication of CN110506272A publication Critical patent/CN110506272A/zh
Application granted granted Critical
Publication of CN110506272B publication Critical patent/CN110506272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/10Ploidy or copy number detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/20Sequence assembly
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • G16B40/10Signal processing, e.g. from mass spectrometry [MS] or from PCR
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/10Ontologies; Annotations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/40Encryption of genetic data
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/50Compression of genetic data
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B99/00Subject matter not provided for in other groups of this subclass
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Epidemiology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Public Health (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

用于对基因组测序仪产生的压缩基因组序列数据进行编码和选择性访问的方法和装置。编码过程基于相对于预先存在的或构造的参考序列来比对读序,基于通过描述符集合对读序进行分类和编码,并且进一步将描述符集合划分成不同类型的访问单元。在保证取得映射到特定基因组区域的所有读序的情况下,通过以下方式高效地选择性访问该特定基因组区域:发信号通知用于存储或发送描述符集合的数据映射配置的类型,确定需要被取得和解码的最小数目的访问单元以访问基因组区域,提供包含用于优化数据访问过程的所有信息的主索引表。

Description

用于访问以访问单元结构化的生物信息数据的方法和装置
技术领域
本公开提供了用于高效地选择性访问以访问单元进行了结构化的压缩基因组测序数据的新方法,该方法通过提供已知的现有技术表示方法所不具备的新的有效功能改善了压缩性能,减少了需要访问的数据量,降低了解码过程的算法复杂度并改进了序列数据访问性能。
背景技术
基因组测序数据的适当表达是例如基因组变体识别(calling)这样的基因组分析应用以及通过以各种目的处理测序数据和元数据来进行的所有其他分析的根本。
由于高通量低成本测序技术的出现,人类基因组测序逐渐变得价格可承受。这种机会在从癌症的诊断和治疗到遗传疾病的辨认、从针对抗体辨认的病原体监测到新疫苗、药物的开发以及个性化治疗的定制的多个领域中开辟了新的前景。
医院、基因组分析提供者、生物信息学和大型生物数据存储中心正在寻找价格可承受的、快速的、可靠的和互连的基因组信息处理方案,其能够使基因组医学规模扩大到世界范围。由于数据存储和数据访问已经成为测序数据使用中的主要瓶颈,因此越来越多地研究以压缩形式表示基因组测序数据的方法。
最常用的测序数据基因组信息表达是用于原始基因组序列的FASTQ格式和用于映射到参考基因组的基因组序列的SAM(序列比对映射)格式。这些都是当基因组信息稀少而珍贵、且用户希望能够读取和人工编辑测序数据时构思的基于文本的格式。FASTQ基于记录的概念。各个FASTQ记录由四个部分组成,其中第一部分专用于标识记录(读序名称或读序标识符)的串,第二部分表示构成读序的核苷酸序列,第三部分是隔离符(通常由字符“+”表示),第四部分(具有与第二部分完全相同的长度)包含测序质量分数,其表示在“识别(calling)”各个核苷酸时测序过程具有的置信度。
对以FASTQ和SAM表示的信息,最常用的压缩方案依赖于一些通用算法的使用,诸如LZ(来自发布第一版的作者Lempel和Ziv)方案(已知的zip、gzip等)。当使用诸如gzip之类的通用压缩器时,压缩的结果通常是二进制数据的单块。这种单体形式的信息导致很难存档、传输和处理,特别是在数据量极大的高通量测序的情况下。BAM格式的特征在于压缩性能较差,这是因为它仅将通用熵编码应用于冗余且结构差的SAM格式,而不是提取SAM格式中包含的实际基本基因组信息。因此,应用诸如“gzip”之类的通用文本压缩算法,而不是利用各个数据源(基因组数据本身)的特定性质,会得到非常低效的压缩方案。
BAM通过创建外部索引来支持对数据的选择性访问,该外部索引包含与以箱(bin)表示的基因组区域交叠的、压缩文件中的数据块的偏移。在BAM索引化中使用分级箱结构,其中各个箱与特定基因组间隔交叠。各个箱要么不交叠,要么完全被其它箱所包含。这种方案的主要缺点是:
·索引文件在内容外部,需要作为单独的资源进行计算和管理。这在数据操作和处理方面效率不高,因为索引文件中包含的信息对于数据文件中已经包含的信息来说是冗余的。
·分箱大小被限制为六个值(229,226,223,220,217或者214)。这限制了选择性访问基因组区域的灵活性,该基因组区域只能通过使用这六个值来标识。
·根据分箱和索引的特定结构,在保证正确取得映射到基因组区域的所有读序的情况下,选择性访问基因组区域会需要多个文件搜索调用(例如,调用将文件读取指针移动到所需位置的函数)以确保与所请求的间隔交叠的所有读序都能被实际取得。
与BAM相比,较少使用但较复杂而较高效的用于基因组数据压缩的方案是CRAM。CRAM由于采用了相对于参考的差分编码而提供了较高效的压缩(其部分地利用了数据源冗余),但是它仍然缺少多个特征,例如增量更新的可能性、对流传输的支持以及对特定类的压缩数据的选择性访问。通过根据要编码的数据的具体类型采用不同的算法,可以获得由CRAM格式提供的、相对于BAM更好的基因组数据压缩。因此,与BAM相比,其被认为是向前迈出的一步,即使它仍然缺少与熵编码阶段相关联的适当的源建模阶段。
关于数据操作,通过外部索引文件来实现CRAM文件索引化,该外部索引文件由g压缩(gzipped)标签定界文件构成,其包含对与编码基因组数据的各个基因组区域交叠的数据块进行描述的6个列。这种索引化方案主要缺点是:
·索引文件在内容外部,需要作为单独的资源进行计算和管理,就像BAM的情况一样。这种技术方案在存储、数据操作和处理方面效率不高,因为索引文件中包含的信息对于数据文件中已经包含的信息来说是冗余的。
·索引是作为单块进行g压缩的,因此即使访问小的基因组区域也需要对整个文件进行解压缩和解析。
·尽管在解压缩时具有可读性,g压缩标签分隔格式并不是高效的、被机器解析和处理的格式。
所描述的现有技术方案产生差的压缩比和一经压缩就难以浏览和操作的数据结构。下游分析会非常慢,因为即使执行简单的操作,特别是访问基因组数据集的选定区域,也需要处理那些大且刚性的数据结构。
CRAM依赖于CRAM记录的概念。各个CRAM记录通过对重构该记录所需的所有元素进行编码来表示单个映射读序或非映射读序。特别地,用于序列数据压缩的CRAM方案存在以下缺点和限制:
·CRAM不支持数据索引化和对共有特定特征的数据子集的随机访问。数据索引化超出了规范的范围(参见CRAM规范v 3.0的第12节),并且数据索引化其是作为单独的文件实现的。相反,本文中描述的发明的方案采用集成有编码处理并且索引被嵌入在编码(即压缩后的)比特流中的数据索引化方法。
·CRAM是由可以包含任何类型的映射读序(完全匹配的读序、仅具有替换的读序、具有插入或缺失(也称为“插入缺失(indel)”)的读序)的核心数据块构建。不存在根据相对于参考序列的映射结果按类对读序进行数据分类和分组的概念。这意味着即使仅搜索具有特定特征的读序,也需要检查所有的数据。本申请中公开的本发明通过在编码之前按类对数据进行分类和划分来解决这种限制。
·CRAM基于将各个读序封装到“CRAM记录”中的概念。这意味着当搜索以特定生物特征为特征的读序(例如具有替换但不具有“indel”的读序,或者完全映射的读序)时,需要检查各个完整的“记录”。
·相反,在本发明中,有着在单独的信息层中单独地编码的数据类的概念,并且没有封装了各个读序的记录的概念。这使得能够较高效地访问具有特定生物特征的读序(例如具有替换但不具有“indel”的读序,或者完全映射的读序)的集合,而无需对各个读序(块)解码以检查其特征。
·在CRAM记录中,各个记录字段与特定信息标志相关联,并且各个标志必须始终承载相同的信息,因为没有上下文概念,因为各个CRAM记录可以包含任何不同类型的数据。该编码机制引入冗余信息并且阻碍使用高效的基于上下文的熵编码。
·相反,在本发明中,没有对数据进行标志标注的概念,因为这本质上是由数据所属的信息“层”定义的。这暗含着要使用的符号数目大大减少,并且因此减少了信息源熵,从而产生了较高的压缩性能。这种改进是可能的,因为使用不同的“层”使得编码器能够根据上下文在具有不同含义的各个层上重复使用相同的符号。在CRAM中,各个标志必须始终具有相同的含义,因为没有上下文的概念,并且各个CRAM记录可以包含任何类型的数据。
·在CRAM中,利用不同的语法元素来表示替换、插入和缺失,该选项增加了信息源字母表的大小并产生较高的源熵。相反,所公开的发明的方案针对替换、插入和缺失使用单个字母表和编码。这使得编码和解码过程较简单,并且产生熵较低的源模型,其编码产生以高压缩性能为特征的比特流。
发明内容
在本文中所公开的本发明引入了多个创新要素,其产生高性能压缩并直接在压缩域中提供对读序和相关信息(或仅其部分)的高效选择性访问。
为了实现在当前实践中尚未实现的这些新特征,本发明在编码器侧具有以下特征:
1.读序被比对并映射到预先存在或构建的参考序列上。
2.读序根据映射过程的结果分类为类和子类(即,与参考序列片段完全匹配的读序、仅与失配类型相匹配的读序、与给定类型的有限数量的失配相匹配的读序等等......,详见以下章节。
3.根据读序的分类,通过特定“描述符”的子集来表示读序及其相关的比对信息,这些子集经过熵编码以实现高压缩效率(即,各个类由特定且“最小”描述符子集表示,描述符子集的针对特定读序的值的集合也被称为“基因组记录”。
4.在各个类中,描述符的编码子集(即,基因组记录)被进一步划分为被称为访问单元的数据单元的有序列表,其由基因组区域的边界表征,由压缩基因组记录表示的读序被映射到该边界。
5.根据两种不同模式之一对于各个数据集进行划分为访问单元:(a)非交叠模式(即,与访问单元相关联的基因组区域不交叠);b)交叠模式(即,与一个访问单元相关联的基因组区域可以和与其他访问单元相关联的基因组区域交叠)。在非交叠模式中,访问单元根据与访问单元相关联的基因组区域的两个坐标(起始和终止)的增加值来排序。在交叠模式中,根据起始坐标(即,相关联的基因组区域的坐标的最小值)的增加值来对访问单元进行排序。
6.由编码器用于将读序压缩和构造成访问单元的划分类型(交叠或非交叠模式)被登记为完整数据集的数据集报头的字段。该信息字段由解码设备使用,以优化选择性访问过程,从而在存储到文件系统或流传输到客户端之后访问访问单元时在两种情况下取得所需数据。
在成对读序的情况下,除了从第1项到第6项列出的所有步骤之外,在编码过程中还使用:
1.读序对和相关联的比对信息由特定描述符子集表示为单个元素(即,单个基因组记录用于各个序列对)并且被包括在单个访问单元中以实现高性能压缩。
2.超过访问单元边界并且由超出为各个参考序列定义的给定参数值的对长度表征的读序对而是被拆分,由两个描述符子集表示为单端读序,并根据它们各自的映射位置被编码并包括在不同的访问单元中。
编码器使用编码参数值来确定读序对是否必须作为同一访问单元中的单体进行编码,或被拆分成单端读序并被编码到两个不同的访问单元,编码参数值被登记到数据集报头字段中。各个参考序列可以使用不同的编码参数。当需要在压缩域中选择性地访问基因组区域时,该信息使得能够最小化访问和解码的访问单元的数量。
当在编码阶段之后将访问单元存储到文件系统中时,执行以下步骤:
1.组成访问单元的数据块根据两种可能的格式存储到文件系统中:(a)描述符流毗连(CDSC)格式,其中,属于相同描述符的数据被构造成流并且被存储在存储设备的毗连区域中;(b)访问单元毗连(AUC)格式,其中,属于不同描述符但属于相同访问单元的数据被存储在存储设备的毗连区域中。
2.在AUC数据格式用于数据存储的情况下,可以以两种不同的模式实现数据毗连:a)基于类,同一类的所有访问单元存储在存储设备的同一区域中(类毗连模式,CC);b)基于基因组区域,所有访问单元映射到存储在存储设备的相同区域的相同基因组区域(基因组区域毗连模式,GRC)。
3.关于将数据集存储到文件系统中采用的访问单元存储格式的信息,DSC或AUC/CC或AUC/GRC,被登记在数据集报头的字段中,使得当取得和解码数据时可以获得该信息以优化数据访问过程。在基于区域的选择性访问的情况下,对于最小化文件系统访问来说特别关注AUC数据格式,因为其使得属于同一访问单元的数据能够被存储在存储设备的毗连区域中。在AUC数据格式的情况下,当访问不同类的任何子集的数据时CC模式将较高效,而当访问映射到相同基因组区域的所有类的数据时GRC模式将较高效。相反,DSC格式对于一些其他用例较高效,例如当通过应用加密算法来保护一个或多个描述符流时,在这种情况下,描述符流的数据毗连使得保护和访问操作较高效。
4.存储表征与包含在访问单元中的数据相关联的基因组区域的信息,并且该信息可用于称作主索引表的多维数据结构中,该主索引表的结构如下:
a.在访问单元中所包含的所有读序或读序对中最左侧匹配碱基相对于所述参考序列的位置,以核苷酸数目表示。
b.在访问单元中所包含的所有读序或读序对中,最右边的匹配碱基相对于所述参考序列的位置,以核苷酸的数目表示。
c.访问单元大小列表(当使用AUC模式时)
d.各个访问单元的各个描述符数据块的第一个字节相对于数据集净荷的第一个字节的偏移量的列表(表示为字节数)。
在数据取得侧,当访问单元已经以压缩形式被存储在文件系统中并且需要选择性地访问映射到指定基因组区域上的描述符的任何子集时,执行以下步骤;
1.解码器从适当的数据集报头字段中取出信息,该信息指定;
a.将基因组数据划分为存储在文件系统中的AU的模式:非交叠模式或交叠模式
b.用于文件系统中存储所有AU数据的格式:DSC或AUC/CC或AUC/GRC
2.利用在步骤1获得的信息,通过访问和处理存储在MIT中的信息,标识包含满足选择性访问请求的数据的所有AU。
3.使用最小数目的AU,即通过使用最小数目的文件访问调用得到的最小数目的数据块,来取得满足选择性数据访问请求的所有数据。
4.对最小量的数据进行解码以满足选择性数据访问请求。
在除了第1和2点的步骤之外访问单元还承载成对读序描述符的情况下,针对各个参考序列,从数据集报头中取出用于决定何时读序对不被作为单体进行编码而是将读序拆分并编码到两个不同的AU的编码参数。这样的参数用于标识AU的最小数量,其需要取得和解码以满足选择性访问请求并且保证正确地取得所有拆分的对的读序。
在客户端侧,当访问单元以压缩形式被流传输到客户端并且需要选择性地访问映射到指定基因组区域上的描述符的任何子集时,执行以下步骤;
1.解码器从传输块报头取出指定数据类和AU所覆盖的范围的信息,以决定是否必须对AU进行解码以回答选择性接入请求或者可以忽略AU。
在除了在第1点的步骤之外访问单元还承载成对读序描述符的情况下,从数据集报头中取出用于决定何时读序对不被作为单体进行编码而是将读序拆分并编码到两个不同的AU的编码参数。此类参数用于标识是否需要对输入的AU进行解码以满足选择性接入请求。
通过提供一种用于选择性地访问文件中的基因组区域的方法来解决已有现有技术解决方案的问题,所述文件被设置成熵编码后的访问单元AUi,所述方法包括以下步骤:
-从索引表中提取该访问单元AUi的起始坐标si和终止坐标ei的值,该索引表被包含在文件中并且对于文件存储的信息而言与AUi分开地编码
-还包括从文件的基因组数据集报头(1602)提取阈值MaxD,其中,该阈值MaxD指定了当文件中存在读序对时,读序对的配对距离可以取的最大值。
在选择性访问方法的另一方面中,索引表包含访问单元的类,以在不需对访问单元进行熵解码的情况下通过采用指针的向量来根据数据类选择性地标识熵编码后的访问单元。
在选择性访问方法的另一方面,其中,所述AUi包括称为访问单元范围的范围信息,所述访问单元范围表示所述AU包含的所有基因组记录的AU起始位置和最右侧基因组记录位置之间包括的基因组范围。
在选择性访问方法的另一方面,AU可以有两种不同的模式:
-第一模式,其中,毗连地存储来自同一AU的不同描述符的数据块
-第二模式,其中,属于相同描述符但属于不同访问单元的数据块被存储在文件的毗连区域中。
在选择性访问方法的另一方面,模式信息被编码在参数集的字段中并被包括在所述基因组数据集报头中。
在选择性访问方法的另一方面,在所述第一模式中,还可以用两个附加的不同子模式来表示:
-第一子模式,其中,将相同类的所有AUi毗连地存储在所述文件中
-第二子模式,其中,将相同基因组区域的AUi毗连地存储在所述文件中
在编码方法的另一方面,所述索引表包含以下信息:
在访问单元所包含的所有读序或读序对中最左侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息。
在所述访问单元所包含的所有读序或读序对中最右侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息。
各个访问单元的各个描述符数据块的第一个字节相对于数据集净荷的第一个字节的以字节数表示的偏移量的列表。
描述符流大小列表,当使用所述第一模式时
访问单元大小列表,当使用所述第二模式时。
在选择性访问方法的另一方面,对于流传输信息的情况,从各个访问单元AUi的报头提取访问单元AUi的起始坐标si和终止坐标ei的值。
在选择性访问方法的另一方面,读序对的距离是以参考系中碱基或坐标数目来表示。
一种用于编码包含基因组区域的基因组数据的方法,基因组数据被设置成熵编码后的访问单元AUi,所述方法包括以下步骤:
-在索引表中对访问单元AUi的起始坐标si和终止坐标ei的值进行编码,索引表对于文件存储的信息而言与所述AUi分开地编码
-在文件的基因组数据集报头(1602)中对阈值MaxD进行编码,其中,阈值MaxD指定当在待编码基因组数据中存在读序对时读序对的配对距离可以取的最大值。
在编码方法的另一方面中,索引表还包含访问单元的映射类,以能够在不需对访问单元进行熵解码的情况下在解码器处通过采用指针的向量根据数据类选择性地标识熵编码后的访问单元。
在编码方法的另一方面中,所述AUi包括称为访问单位范围的范围信息,所述访问单位范围表示所述AU包含的所有基因组记录的AU开始位置和最右基因组记录位置之间包括的基因组范围。
在编码方法的另一方面,所述AU可以具有两种不同的模式:
-第一模式,其中,毗连地存储来自同一AU的不同描述符的数据块
-第二模式,其中,属于相同描述符但属于不同访问单元的数据块被存储在文件的毗连区域中
在编码方法的另一方面,模式信息被编码在参数集的字段中并且被包括在基因组数据集报头中。
在编码方法的另一方面,在第一模式中,还可以用两个附加的不同子模式来表示:
-第一子模式,其中,将相同类的AUi毗连地存储在所述文件中
-第二子模式,其中,将相同基因组区域的访问单元毗连地存储
在编码方法的另一方面,所述索引表包含以下信息:
在访问单元所包含的所有读序或读序对中最左侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息。
在所述访问单元所包含的所有读序或读序对中最右侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息。
各个访问单元的各个描述符数据块的第一个字节相对于数据集净荷的第一个字节的以字节数表示的偏移量的列表。
描述符流大小列表,当使用所述第一模式时
访问单元大小列表,当使用所述第二模式时。
在编码方法的另一方面,所述读序对的距离是以参考系中的碱基或坐标数目来表示。
一种用于对包含基因组区域的压缩编码后的基因组数据进行解码的方法,所述编码后的基因组数据被设置成熵编码后的访问单元AUi,所述方法包括以下步骤:
-从索引表中解析所述访问单元AUi的起始坐标si和终止坐标ei的值,所述索引表对于文件存储的信息而言与所述AUi非交联地编码
-从所述文件的基因组数据集报头(1602)中另外解析阈值MaxD,其中,所述阈值MaxD指定了当在所述编码后的基因组数据中存在读序对时所述读序对的配对距离可以取的最大值。
在解码方法的另一方面中,索引表还包含访问单元的映射类,以能够在不需对访问单元进行熵解码的情况下通过采用指针的向量根据数据类选择性地标识熵编码后的访问单元。
在解码方法的另一方面中,所述访问单元包括称为访问单位范围的范围信息,所述访问单位范围表示所述AU包含的所有基因组记录的AU开始位置和最右基因组记录位置之间包括的基因组范围。
在解码方法的另一方面,AU可以具有两种不同的模式:
-第一模式,其中,毗连地存储来自同一AU的不同描述符的数据块,
-第二模式,其中,属于相同描述符但属于不同访问单元的数据块被存储在文件的毗连区域中。
在解码方法的另一方面,模式信息被从参数集的字段中解析并且被包括在基因组数据集报头中。
在解码方法的另一方面,在第一模式中还可以用两个附加的不同子模式来表示:
-第一子模式,其中,将相同类的AUi毗连地存储在所述文件中
-第二子模式,其中,将相同基因组区域的访问单元毗连地存储
在解码方法的另一方面,索引表包含以下信息:
在访问单元所包含的所有读序或读序对中最左侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息。
在所述访问单元所包含的所有读序或读序对中最右侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息。
各个访问单元的各个描述符数据块的第一个字节相对于数据集净荷的第一个字节的以字节数表示的偏移量的列表。
描述符流大小列表,当使用所述第一模式时
访问单元大小列表,当使用所述第二模式时。
在解码方法的另一方面,读序对的距离是以参考系中的碱基或坐标数目来表示。
一种具有指令的计算机可读介质,该指令在被执行时使得至少一个处理器执行所述选择性访问方法。
一种具有指令的计算机可读介质,该指令在被执行时使得至少一个处理器执行所述编码方法。
一种具有指令的计算机可读介质,该指令在被执行时使得至少一个处理器执行所述解码方法。
一种支持数据,所述支持数据存储有根据所述编码方法进行编码后的基因组数据。
一种文件格式,其中基因组数据是根据所述编码方法进行编码。
根据所述编码方法编码的文件,其中,编码后的信息被加密。
一种用于选择性访问所述编码的基因组信息的装置,所述装置包括用于执行选择性访问步骤的设备。
附图说明
图1示出了参考序列上的坐标系以及如何将读序和读序对映射在参考序列上。
图2示出了参考序列上的坐标如何也被称为参考上的碱基的位置。
图3示出了用于基因组记录的映射位置的定义。
图4示出了与基因组记录位置相关的访问单元范围和覆盖区域的定义。
图5示出了基因组记录长度定义如何为参考序列上的将读序或读序对的最左侧映射碱基与最右侧映射碱基分开的基因组位置的数目。在读序对的情况下,这是当两个读序被映射到同一参考序列上时,将读序1的最左侧碱基与其配对读序2的最右侧碱基分开的参考序列上的基因组位置的数目。“配对距离”被定义为读序1的最左位置和读序2的最左侧位置之间的差。
图6示出了计算基因组记录长度的示例。
图7示出了比对读序或读序对如何能跨越两个以上的访问单元。当相应的基因组记录长度大于读序或读序对映射位置离包含该记录的AU的终点的距离时,将发生这种情况。即使读序在不覆盖指定基因组区域的访问单元中编码,一致的选择性访问算法也应该能够取得与指定基因组区域交叠的所有碱基。
图8示出了读序对映射在跨越不同访问单元范围的基因组区域上的事实如何要求选择性访问过程必须能够标识可能包含由选择性访问入请求指定的基因组区域R上映射的基因组记录的所有访问单元。
图9示出了在由配对距离阈值MAXD限定的单体的读序对和编码对的情况下,AU的标识和用于对包括在位置S和E之间的区域的选择性访问的解码过程的示例。
图10示出了根据特定的选择性访问行为,读序701、702、703和704如何部分地或全部地返回。在这两种情况下,访问单元K和K+1都应被解码。
图11示出了用于对在参考序列(P类)上完全映射的恒定长度读序的对进行编码的描述符。
图12示出了用于对在参考序列(P类)上完全映射的可变长度读序进行编码的描述符。
图13示出了用于对相对于参考序列(N类)具有未知碱基的恒定长度读序的对进行编码的描述符。
图14示出了用于对在参考序列(M类)上映射的具有至少一个替换的恒定长度读序的对进行编码的描述符。
图15示出了用于对映射到参考序列(I类)上的具有至少一个插入、缺失或软剪辑碱基的恒定长度读序的对进行编码的描述符。
图16示出了在文件系统上存储同一类数据的访问单元的两种方式。使用DSC模式毗连地存储属于不同访问单元的相同描述符流的数据块。使用AUC模式,毗连地存储属于相同访问单元但不同描述符流的数据块。在纵轴上报告由特定标识符(Descriptor_Stream_ID)标识的不同描述符流,在横轴上报告如在主索引表中排序的、并且对于交叠和非交叠情况由各个描述符流和数据类内的索引标识的不同访问单元。
图17示出了在文件系统上存储同一类数据的访问单元的两种方式。使用AUC/CC和AUC/GRC模式。使用AUC/CC模式,毗连地存储属于相同数据类的数据块。使用AUC/GRC模式,毗连地存储不同数据类但属于相同基因组区域的数据块。在纵轴上报告由特定标识符(Class_ID)标识的不同数据类,在横轴上报告不同的毗连基因组区域。
图18显示了存储按数据类划分的AU起始位置(Csjk)和终止位置(Cejk)的主索引表。
图19示出了将数据集报头与压缩数据集关联的编码器,该数据集报头包含关于所使用的访问单元划分模式(交叠或非交叠)以及关于数据存储格式(DSC、AUC/CC、AUC/GRC)的信息,其后是主索引表、针对各个参考序列的用于读序和读序对的编码的编码参数的向量以及编码后的读序。
图20示出了通过用未映射的读序组装较长的序列(又称为“交叠群(contigs)”),如何可以使用半映射读序对(HM类)来填充参考序列的未知区域。
具体实施方式
本发明所指的基因组或蛋白质组序列例如包括但不限于,核苷酸序列、脱氧核糖核酸(DNA)序列、核糖核酸(RNA)和氨基酸序列。虽然本文的说明相当详细地描述了核苷酸序列形式的基因组信息,但应理解,用于压缩的方法和系统也可实施于其它基因组或蛋白质组序列,虽然如本领域技术人员所能理解的将有一些改动。
高通量测序(HTS)机产生形式为核苷酸序列(也称为“碱基”)的基因组测序信息,该核苷酸序列由所规定的词汇表中的字母的串表示。最小的词汇表是由五个符号{A,C,G,T,N}表示的,其表示DNA中存在的四种核苷酸,即腺嘌呤、胞嘧啶、鸟嘌呤和胸腺嘧啶。在RNA中,胸腺嘧啶被尿嘧啶(U)取代。N表示测序机不能检测到任何碱基,因此该位置处的核苷酸的真实性质是不确定的。在测序机采用IUPAC模糊码作为词汇表的情况下,符号所用的字母表由以下符号组成:{A,C,G,T,U,W,S,M,K,R,Y,B,D,H,V,N或-}。
在本发明的语境中,“基因组数据集”被定义为任何结构化的基因组数据集,包括例如活生物体的基因组数据、通过活生物体的基因组测序或通过对原始测序数据执行的任何其他基因组数据处理步骤生成的一个或更多个序列和元数据。
测序机产生的核苷酸序列称为“读序”。读序可以由几十个至几千个核苷酸构成。一些测序技术产生由“对”构成的读序,其中一个读序源自一条DNA链,另一个读序源自另一条链。在产生读序对的测序过程中与读序相关联的另一个读序被称为其“配对读序”。
在本公开中,参考序列是与一维整数坐标系相关联的核苷酸序列,对于该一维整数坐标系,各个整数坐标与单个核苷酸相关联。坐标值只能等于或大于零。在本发明的语境中,这个坐标系是基于零的(即,第一个核苷酸的坐标为0,并且它被称为处在位置0处)并且从左到右线性增加。
当将读序映射在参考序列上时,所述参考序列被用作最左位置被标为位置0的一维坐标系的轴。在映射到参考序列的读序中,构成在由最小坐标编号标识的参考序列位置处映射的读序的核苷酸通常被称为“最左侧”核苷酸,而构成在由最大坐标编号标识的参考序列位置处映射的读序的核苷酸被称为“最右侧”核苷酸。另请参见图1。在本公开中,核苷酸也称为“碱基”。
当读序被映射到参考序列时,最左侧的映射碱基的坐标被认为表示该读序在参考序列上的映射位置。
参考基因组由一个或更多个参考序列组成,并由科学家组装成物种基因组的代表性示例。例如,GRCh37(基因组参考协会人类基因组(第37版))源自来自纽约布法罗的13名匿名志愿者。然而,参考序列也可以由合成序列组成,该合成序列是构想的并且只是鉴于读序的进一步处理而言为了改善其压缩性而构成的。
在整个本公开中,基因组记录被定义为以下的编码表示:
·单端读序或成对的读序,可选地与比对信息、读序标识符和质量值相关联
·参考序列(例如染色体)或其一部分。
在本公开中,基因组记录位置被定义为在基因组记录中编码的读序或读序对的最左侧映射碱基在参考序列上的位置。
读序或读序对记录中的映射碱基旨在作为:
·与参考序列上的对应碱基匹配的比对读序的碱基
·与对应碱基不匹配(也称作单核苷酸多态性)的比对读序的碱基
存在于比对读序中但不存在于参考序列中(也称作插入)的碱基以及由比对过程保留但未映射到参考序列上(也称作软剪辑)的碱基没有对应到任何映射位置。
在本公开中,构成具有映射在参考序列的最小坐标上的碱基的读序对的读序称为“读序1”,而其配对读序称为“读序2”。
由使用当今技术的测序机作为一对而生成的两个读序之间隔开的以核苷酸(或碱基)数目或坐标表示的距离是未知的,并且通过将组成读序对的两个读序映射到参考序列(即,使适宜的匹配函数最小化)来确定该距离。
在本公开中,基因组记录长度被定义为在记录中编码的最左侧映射碱基与在记录中编码的最右侧映射碱基之间的距离。
在两个读序被映射在相同参考上并且在相同基因组记录中编码的读序对的情况下,配对距离被定义为读序1的最左侧映射碱基和读序2的最左侧映射碱基之间的距离。配对距离的示例在图5中示出。
在本公开中,在单端读序的情况下,基因组记录长度(GRL)被限定为通过从最右侧映射碱基的映射位置减去最左侧碱基的映射位置并加上“1”而获得的整数。
GRL=(最右侧碱基位置)-(最左侧碱基位置)+1
在本公开中,在读序对的情况下,基因组记录长度(GRL)被限定为通过从配对读序(读序2)的最右侧碱基映射位置的坐标中减去映射在参考序列(读序1)的最小位置处的读序的最左侧碱基映射位置并加上“1”而获得的整数。图5例示了基因组记录长度的这种定义。
在本公开中,在对参考序列或其部分进行了编码的基因组记录的情况下,基因组记录长度被定义为组成编码序列的核苷酸的数目。
在本公开中,基因组范围被定义为由起始坐标S和终止坐标E(S≤E)定义的参考序列上的毗连集合。基因组范围的起始和终止位置总是包括在该基因组范围中。
本发明旨在定义当借助于所包括的描述符集将读序压缩成被称为访问单元的多个数据块时使得能够高效地访问映射到任何基因组区域的比对基因组读序的新方法。
在本公开中,访问单元(AU)被定义为以下的逻辑数据结构,其包含经结构化以帮助数据访问和操作的基因组信息或相关元数据的编码表示。访问单元是可由实施本公开所描述的发明的解码装置解码的最小数据结构。
根据AU承载的编码信息的类型,可以独立于任何其它AU或者使用包含在其它AU中的信息来解码AU。
根据编码数据的性质,AU可以是多种类型的。访问单元包含参考序列或其一部分或包含属于单个数据类的编码读序或编码读序对。读序的类是根据读序或读序对与参考序列的匹配结果定义的。
例如,访问单元可以包含GRCh37(基因组参考协会人类基因组(第37版))的整个染色体1。另一访问单元可以包含GRCh37的染色体1的位于坐标50’000与150’000之间的核苷酸的编码表示。另一访问单元可以仅包含完全而没有任何失配地映射到参考序列上的读序或读序对。另一访问单元可以包括仅包含作为相对于参考序列的失配的“N”符号的读序或读序对。另一访问单元可以包括具有任何类型的替换(例如,存在于读序或读序对中的一个碱基与参考序列中的对应映射位置处的碱基不同)的读序或读序对。另一访问单元可以包括具有失配、插入、缺失和软剪辑碱基的读序或读序对。另一访问单元可以仅包含未映射到参考序列上的读序或读序对。另一访问单元可以仅包含这种读序对:一个读序被映射至参考序列上而另一读序未被映射至参考序列上。另一种类型的访问单元可以仅包含由一个或更多个参考序列(例如染色体)组成的参考基因组的编码片段。
访问单元的重要特征在于,它以压缩形式包含重构基因组信息(读序或读序对、参考序列)所需的所有元素、关联的比对信息以及该访问单元表示的读序或读序对的元数据。换句话说,为了完全重构由访问单元承载的读序、读序对或参考序列以及相关联的信息,仅需要取得访问单元本身,并且在需要时取得包含其参考的参考序列在内的访问单元。
在各个访问单元中,在下一节中列出的表示编码读序或读序对的描述符被聚集在单独的数据块中-每种类型一个-以在应用熵编码来压缩它们时利用它们的同构统计特性。
各个访问单元包含压缩后的描述符子集,这些描述符子集表示属于映射到参考序列上的基因组区域的同一类的读序或读序对。参考序列上的这种基因组区域由起始坐标(或起始位置)和终止坐标(或终止位置)定义。
描述符是表示重建(即,解码)编码的参考序列、编码读序及相关映射信息或编码读序对及相关映射信息所需的信息的一部分的语法元素。定义了不同类型的描述符来表达:
·读序在参考序列上的映射位置,
·读序与其配对读序之间的距离,
·读序的长度,
·比对读序中相对于参考序列失配的位置,
·相对于关联位置处的参考序列的失配类型,
·不能通过映射过程映射在参考序列上并且被分类为“软剪辑”碱基的碱基,
·读序长度,
·SAM规范指定的映射标志,
·通过映射过程与单端读序或读序对相关联的多个映射位置,
·拼接读序的存在的标识(即,这样的读序:与作为映射在参考序列的单个位置上的单个连接读序进行映射的情况相比,当拆分成几段时,能够找到较高匹配精度的映射位置),
·所使用的参考序列的具体类型,比如:
〇参考基因组,例如由如基因组参考协会(例如,GRCh37)、加州大学圣克鲁斯分校(例如,hg19)的协会公布的基因组,
〇使用指定的读序集和指定的组装规则集构建的参考序列,
·应用于参考序列的修改的位置和类型,修改是为了减小用于对映射在这样修改的参考序列上的读序的失配进行表示的描述符的熵,
·不能以指定的匹配精度映射在参考序列的任何位置处的读序的表示,
·整个参考序列或其部分的表示。
下面的章节提供了本公开中提及并且被本发明使用的各个描述符的完整列表和精确定义。
如上所述,本发明使用多种描述符来表示压缩形式的参考序列、读序或读序对,使得可以用它们的相关信息对其进行完全重构。在读序或读序对根据在参考序列上的映射结果也被分类且分至不同的类以及被的熵编码成单独数据块的情况下,不同的描述符子集用于表示各类读序或读序对。因此,访问单元仅包含表示参考序列(或其部分)或者属于同一类的读序或读序对所需的那些熵编码后的描述符。图12示出了针对可变长度的读序的这种情况,图11、图13、图14和图15示出了针对恒定长度的读序对的这种情况。
在整个本公开中,访问单元起始位置被定义为访问单元包含的所有基因组记录中最左侧的基因组记录位置。
在整个本公开中,访问单元终止位置被定义为访问单元包含的所有基因组记录的所有映射碱基中的最右侧映射碱基位置。
在整个本公开中,访问单元范围被定义为访问单元包含的所有基因组记录中的AU起始位置和最右侧基因组记录位置之间包括的基因组范围。通过从AU终止位置减去AU起始位置并加“1”可以计算出其基因组范围内的位置数量(或坐标)。
在整个本公开中,访问单元覆盖区域被定义为AU起始位置与终止位置之间的基因组范围。
在整个本公开中,访问单元也被称作是覆盖了其起始位置和终止位置之间的基因组区域。
包含在AU中的基因组记录只能在距AU终止位置一定距离处具有映射位置,该距离小于基因组记录长度。然而,可能发生属于在基因组记录中编码的读序或读序对的碱基导致被映射在由不同AU覆盖的基因组区域中。这种情况的发生在图8中示出。
存在以下事实:读序或读序对的一部分或一对中的完整读序2可以映射到不属于包含其压缩表示的访问单元的范围(即,相关联的熵编码后的描述符子集)的基因组区域上,每当需要取得映射到特定基因组区域上的所有读序或读序对时上述事实就会是一个问题。这种操作在许多基因组分析应用中非常普遍,并且需要以非常高的效率来实现,以避免检查组成数据集的所有访问单元以确保已取得所有请求的读取。本发明的公开解决了以下问题,提供了一种方法,该方法对读序和读序对产生高压缩性能,并且还提供了一种新解决方案,该解决方案通过访问和解码最小数目的访问单元或者等效地最少量的数据,同样保证了可以访问映射到任何感兴趣基因组区域上至少一个碱基的所有读序。
根据上文提供的定义,可以标识构建访问单元的两种有用方式:
1.“非交叠模式”,其中,相同数据类的访问单元的基因组范围从不交叠
2.“交叠模式”,其中,相同数据类的访问单元的基因组范围可以交叠。
在基因组数据被压缩并作为文件存储在存储器中的情况下以及在存储文件从一个存储装置流传输到另一个存储装置的流传输的情形下,“非交叠模式”是优选的,因为它使得能够实现较高效的选择性访问过程。“交叠模式”支持这样的流传输情形:在整个基因组序列数据于发送装置处可用之前,基因组数据集的一部分变得可用以编码到访问单元中并进行传输。
参考序列和基因组读序的压缩表示
基因组读序压缩的高效方案的共同要素是利用序列数据相对于参考序列的相关性。即使人群的躯体特征极其多样化,人与人之间不同的核苷酸数的实际部分仅约占构成整个基因组的核苷酸总数的0.1%。因此,表征各个个体的特定基因组信息相对于整个基因组承载的整个信息非常有限。当预先存在的参考基因组可用时,无论是用于先前的测序还是作为公开的“平均”共识参考,编码实际信息的最高效方式是仅标识和编码相对于参考基因组的差异。
为了利用FASTQ数据的形式的原始读序来进行,执行在可用参考基因组上进行映射的初步预处理步骤。如果参考基因组不可用或者由于使用特定参考序列而引入的偏差是不可取的,则通过将可用读序组装成较长序列来构造新参考序列是可能的替代方案。
当已经相对于预先存在的或构建的参考序列映射了读序时,各个读序可以由本公开中表示为“读序描述符”或简称为“描述符”的多个元素完全表示。
例如,在读序与参考序列的片段完美匹配的情况下,表示该读序仅需的描述符子集由参考序列上的映射位置的坐标(通常是读序的最左侧碱基的映射位置的坐标)、该读序本身的长度和指示该读序相对于参考序列链在正向还是反向DNA链上映射的信息构成。
在不能找到读序的所有碱基与参考序列的所有碱基匹配的任何映射位置的情况下,保留具有最小失配数的映射。在这种情况下,需要不同的描述符子集来进一步表示对应于具有最小失配数或接近最小失配数的映射位置而可能发生的替换、插入、缺失和剪辑碱基。利用这样的描述符子集,可以使用由描述符承载的信息和由参考序列承载的信息来重构读序。
映射过程还可以产生其它类型的信息,例如:多个可能的映射位置和相关分数、映射质量、拼接读序的规范、属于一个读序对的读序在两个不同的参考序列(通常是染色体)上的映射、测序过程的特征(例如聚合酶链反应复制或光学复制)。所有这些信息需要特定的附加描述符,该附加描述符扩展各个子集,然后通过应用对于各个描述符子集而言适当的熵编码算法来压缩各个子集。
由于以下原因,基因组测序过程可以生成读序副本(即,同一基因组序列的两个或更多个精确副本):
·基因组测序过程的化学反应(聚合酶链式反应复制),
·数据采集处理(光学复制)。如果读序对在同一个区块上,并且读序之间的距离小于依赖于实验的给定配置参数,则读序被称为光学副本。
因此,根据映射过程的结果,各个读序或读序对可以由特定描述符子集唯一地表示。
通常使用的方法(例如SAM和CRAM)不根据表示读序或读序的映射信息所需的特定描述符子集来对读序或读序对进行编码(即,它们不将读序分类为数据类,并且不将其单独编码到访问单元,该访问单元以压缩形式仅包含属于单个数据类的读序。在成对生成的读序的情况下,现有技术的方法不像本公开中描述的本发明的那样将其作为划分成类的单个元素进行编码。这种现有技术方法特征在于以下限制和缺点:
1.在不根据对于参考序列的映射结果将读序分类至单独的数据类并且使用唯一的描述符超集的情况下对读序或读序对进行编码是产生差的压缩性能的低效方法。
2.将读序对作为单独的读序进行编码需要复制承载相同信息的多个描述符,因此造成低效且产生差的压缩性能。
3.取得读序对的重构所需的信息是复杂且低效的,因为该过程需要在可能整个数据集中进行强力顺序搜索,而在下一代测序(NGS)技术的情况下,整个数据集会是非常大的。
4.对映射到特定基因组区域的读序或读序对的选择性访问需要搜索整个数据集以保证取得所有的读序或读序对。
当借助于单个描述符子集对读序对进行编码时,对于本领域技术人员而言,以下技术优点是显然的:
1.将读序对作为单个元素(例如,读序对标识符、映射距离、映射参考标识符、当前由SAM文件格式中的特定标志编码的各种映射质量信息)进行编码而不复制两个读序共有的显然冗余的信息。
2.相互配对信息(即,规定哪个读序是任意当前读序的配对读序的信息)的取得是直接的并且不需要任何进一步处理。相反,在现有技术的方案中,会需要解析整个数据。
为了能够高效地选择性地访问测序数据的特定部分并能够在数字数据网络上传输,用于表示比对至参考序列的读序的描述符集被构造为在逻辑上分开且独立的数据块(称为访问单元(AU))。各个访问单元仅包含单个数据类的压缩表示,并且可以独立于任何其它访问单元或仅使用承载映射使用了的参考序列区域的编码表示的访问单元来进行解码。这实现了选择性访问和乱序传输功能。
为了提高压缩效率,本发明消除了为两个读序都映射在同一参考序列上的各个读序对指定“映射参考标识符”描述符的需要。各个访问单元可以仅包含映射在同一参考序列上的读序或读序对。通过使用这样的解决方案,表示参考序列标识符的描述符需要针对各个访问单元或访问单元组编码仅一次(并且不像目前在SAM/BAM格式中所做的那样针对各个读序进行重复)。
上述规则的唯一例外是两个读序映射在不同参考序列(例如染色体)上的读序对。在这种情况下,对该读序对进行拆分并且把两个读序作为两个单独的基因组记录进行编码,且各个编码后的读序包含其配对读序被映射到的参考序列的标识符。
本领域技术人员知道,将信息分类成具有同构统计特性的元素组对于使用应用于异构数据集的通用压缩器(例如,LZ型算法)而言提供了较好的压缩性能。因此,当借助于特定描述符子集对基因组序列成对地进行编码时,由于表征各个单独描述符子集的熵低,所以实现了较高压缩,并且当重构和取得读序对时实现了高处理效率。
读序描述符
本节介绍专用于表示映射在参考序列上的基因组读序的描述符。用于表示各个读序或读序对的特定描述符子集依赖于相对于参考序列的映射结果(即,读序或读序对与参考序列之间存在还是不存在失配)。
位置
读序或读序对位置被定义为读序或读序对中的最左侧碱基在参考序列上的映射位置。“位置”类型的描述符对于各个读序或读序对是必需的。“位置”描述符的值可以表示:
·读序或读序对中的最左侧碱基在参考序列上的坐标的值
·相对于在同一访问单元中编码的先前读序或读序对的坐标的差。
对于表示各个编码读序或读序对,需要“位置”描述符。
在本发明公开中,这种描述符将被称为pos描述符。
读序配对
在读序对的情况下,表示各个读序如何与读序对中的其配对读序相关联的描述符可以由多个语法元素表示,例如其可以表示:
·读序的碱基与配对读序中的相应碱基(例如,读序中的最左侧映射碱基与配对读序中的最左侧映射碱基)之间的坐标差。在本发明公开中,这种描述符将被称为pair描述符。
·配对读序在参考序列上的绝对坐标与配对序列所映射到的参考序列的标识符。在以下情况下使用此表示选项:
〇读序对的两个读序映射在不同的参考序列(例如,染色体)上,或者
〇当读序对的两个读序映射在同一参考序列上、但是由超过给定值的数量的碱基分隔开时,该给定值被指定为最大可能的允许配对距离。
在本发明公开中,这种描述符将被称为abspair描述符。在配对读序被映射在不同参考序列上的情况下,标识参考序列的描述符被称为refid。
·在成对读序的情况下,将读序与其配对读序分隔开的编码读序的数量。在本发明公开中,这种描述符将被称为pcount描述符。
最大配对距离
如已经提到的,两个读序之间的关联是通过测序过程生成的信息,而配对距离是通过使用参考序列的映射过程而确定的。在存在比经历测序过程的DNA片段的可能大小大得多的值的情况下,由于在本公开的下文中讨论的许多原因,将编码拆分成两个单端读序并将它们编码成单独的访问单元会较适当和较方便。显然,保持了已经将该两个读序生成为一对的信息。这是通过定义针对整个数据集或依赖于所覆盖的基因组区域而在各个访问单元中(即对于每条染色体)描述符“pair”可以取的最大值来获得的。换句话说,参数MaxD被指定为描述符“pair”可以取的最大值。MaxD的值被表示为碱基(或参考序列中的坐标)数目,并且其被编码器用来确定特定描述符子集,该特定描述符子集用于将读序对作为单个单元在相同访问单元中编码还是作为单独读序在不同访问单元编码。
根据以下三种可能情况,使用描述符子集值对读序对进行编码:
1.两个读序被映射到同一参考序列上,并且最左侧碱基的坐标之差小于或等于参数MAXD。
2.两个读序被映射到同一参考序列上,并且最左侧碱基的坐标之差大于参数MAXD。
3.两个读序被映射到不同参考序列(例如不同染色体)上。
在读序未被作为单体编码的情况下,使用配对距离的特殊预留值来表示这样的信息。这些描述符称为“距离标志”,其在表2中列出并解释。
为了涵盖上面列出的情况,对描述符的规定如下:
表1–针对各个映射情况并且随参数MAXD变化的配对距离描述符的值。下表提供了距离标志的容许值和相关语义:
表2–距离标志定义和相关的语义。
在以下部分中提供使用配对距离描述符来对读序对进行编码的示例。
1)同一读序对的读序1和读序2被映射到染色体X上(ID==22),并且读序2在染色体X上的绝对坐标是155249594。
配对距离 绝对坐标 参考标识符
标志3=1 155249594 22
2)同一读序对中的读序1和读序2以配对距离1548961(“pair”>MAXD)映射到同一参考序列上。读序2被映射在参考序列上的坐标32567499处。
配对距离 绝对坐标 参考标识符
标志1 32567499 不存在
3)同一读序对的读序1和读序2以353个位置的配对距离(“pair”<MAXD)映射在同一参考序列上
配对距离 绝对坐标 参考标识符
353 不存在 不存在
4)读序1是不成对的
配对距离 绝对坐标 参考标识符
标志5 不存在 不存在
在本公开中,表示配对距离的表格的描述符集合也被称为配对描述符。
必须强调,每当配对距离超过指定值时,拆分读序对并将其作为单独读序进行编码可能看起来与上文所主张的实现高压缩性能的目标矛盾。实际上,由当前测序技术获得的大的且在统计上有意义的实验数据集获得的配对距离的值呈现以数百碱基值为中心的高斯分布。呈现几个希格玛的配对距离值的对的数目是总数据的1%。因此,对于这种小部分对进行的拆分导致的编码效率降低可被忽略,但是能够实现针对特定基因组区域的选择性访问操作的访问带宽大幅减少和整体速度高度提升。
读序长度
在读序具有可变长度的情况下,针对各个读序使用描述符来表示该长度,其被表达为构成该读序的核苷酸的数目。显然,仅在可变读序长度的情况下,才需要对于各个读序的读序长度描述符。
在本公开中,该描述符也被称为rlen描述符。
反向互补
DNA由双螺旋构成,其中每条链是另一条链的互补,因为腺嘌呤(‘A’)仅与胸腺嘧啶(‘T’)偶联且胞嘧啶(‘C’)仅与鸟嘌呤(‘G’)偶联。因此,仅需要表示一条链便可获知另一条链的核苷酸构成。这就是参考序列总是由单个序列表示并且映射工具能够找到属于两个链的读序的映射位置的原因。如果读序被映射在DNA螺旋的互补链上,则称其为“反向互补”。描述符有必要承载这样的信息并且承载表示原始读序是否是其映射到的参考序列的反向互补的信息。
对于各个读序,需要反向互补描述符。
在本公开中,这种描述符也称为rcomp描述符。
未知碱基位置
在测序过程中,会发生机器在读序或构成读序对的读序的给定位置处无法检测到任何碱基的情况。这种事件由特殊符号“N”在相应读序位置处进行标识。因此需要标识了“N”符号在读序中的每次出现的描述符。
该描述符可以表示:
·以参考序列的坐标表示的、符号‘N’在读序中或在读序对的读序中的绝对位置,
·在同一读序或读序对的读序中,前一个‘N’的相对位置。
在本公开中,这种描述符也被称为nmis描述符。
失配位置和类型
映射在参考序列上的读序相对于所映射到的参考序列片段可能具有失配。根据以下情况,这些失配可以被分类并标注为替换、缺失或插入:
·相对于参考序列存在不同的核苷酸(碱基)(替换)
·映射读序中缺少核苷酸(缺失)
·读序中存在参考序列中所不存在的核苷酸(插入)
各个失配类型的表示暗含着使用三个描述符,一个描述符表示读序或读序对中的失配位置(也称为mmpos),另一描述符表示仅存在替换时的失配类型(也称为subtype),再一描述符表示存在替换、插入和缺失时的失配类型(也称为mmtype)。
软剪辑
映射在参考序列上的基因组读序可以在它们的边缘处存在核苷酸序列部分,这些核苷酸序列部分与该参考序列上的映射位置处的那些核苷酸中的任一个核苷酸不匹配或者仅与几个核苷酸匹配。这些序列部分被称为软剪辑,并且可以通过简单地由表示该序列部分的碱基的符号串构成的描述符来表示。
在读序的起始处和/或终止处,读序只能允许一个或两个软剪辑。
在本文中,这种描述符还被称为sclips描述符。
映射标志
映射标志用于承载如下的与比对过程相关的特定信息:
·对于读序或读序对,存在多个映射位置
·存在拼接读序
·存在PCR(聚合酶链反应)或光学复制
·存在补加比对(在针对同一读序或读序对,比对器产生了多个可能映射位置的情况下使用)
·读序未通过质量检查(即,特定于技术供应商的用于测量测序过程的质量的过程)
在本文中,这种描述符也被称为flags描述符。
未映射的读序
在读序或读序对的读序均未被映射到参考序列的任何位置的情况下,该读序或读序对被分类为未映射。在这种情况下,通过由表示读序的符号的逐字序列构成的描述符来表示这些读序。这些读序被划分成属于单独数据类的访问单元,其显然不能通过指定基因组区域来选择性地访问。
对不具有失配的读序或读序对进行编码
在读序或读序对完全地映射到参考序列上(即,没有任何失配)的情况下,需要以下描述符子集来重构该读序和相关联的映射信息:
·针对各个读序或读序对的位置描述符(pos)
·针对各个读序对的一个反向互补描述符,或针对各个读序对的两个反向互补描述符(rcomp)
·针对各个读序的长度描述符(rlen)(仅在可变长度读序的情况下)
·针对各个读序对的配对描述符(pair)
·映射标志集(flags)
在本发明中,这种读序或读序对被分类为属于P类。
位置描述符pos表示读序或读序对的最左侧映射碱基在参考基因组上的位置。
反向互补描述符rcomp指示读序被映射到参考序列的正向链上还是被映射到反向链上。
在可变长度读序的情况下,描述符rlen提供了读序长度。
pair描述符承载重构整个读序对所需的信息。表1提供了该描述符的语法。
图11提供了对属于P类的读序对进行编码的示例,图12提供了可变长度的单端读序的对应示例。
对具有仅由未知碱基表示的失配的读序或读序对进行编码
在读序或读序对映射到参考序列上但包含至少一个未知碱基的情况下,需要以下描述符子集来重构该读序和相关联的映射信息:
·针对各个读序或读序对的位置描述符(pos)
·针对各个读序对的一个反向互补描述符,或针对各个读序对的两个反向互补描述符(rcomp)
·针对各个未知碱基的位置(nmis)
·针对各个读序的长度描述符(rlen)(仅在可变长度读序的情况下)
·针对各个读序对的配对描述符(pair)
·映射标志集(flags)
已经存在于P类子集中的描述符具有相同的语法和语义。附加描述符nmis提供了被测序过程检测为“未知”的碱基(符号‘N’)在读序(读序对)中的位置。
在本发明中,这种读序或读序对被分类为属于N类。
图13提供了对N类读序对进行编码的示例。
对具有未知碱基和替换的读序或读序对进行编码
在读序或读序对映射在参考序列上并且存在至少一个替换但没有缺失或插入的情况下,需要以下描述符子集来重构该读序和相关联的映射信息:
·针对各个读序或读序对的位置描述符(pos)
·针对各个读序对的一个反向互补描述符,或各个读序对的两个反向互补描述符(rcomp)
·针对各个替换位置的描述符(mmpos)
·针对各个替换类型的描述符(subtype)
·针对各个未知基的位置(nmis)
·针对各个读序的长度描述符(rlen)(仅在可变长度读序的情况下)
·针对各个读序对的配对描述符(pair)
·映射标志集(flags)
已经存在于P类子集中的描述符具有相同的语法和语义。用于这种读序数据类的附加描述符是表示替换位置的mmpos和表示替换类型的subtype。
图14提供了对这种类型的读序对进行编码的示例。
在本发明公开内容中,这样的读序或读序对被认为属于M类。
对具有至少一个插入、缺失或软剪辑的读序或读序对进行编码
当读序或读序对在以至少一个插入、缺失或软剪辑的情况下映射在参考序列上时,定义以下描述符子集:
·针对各个读序或读序对的位置描述符(pos)
·针对各个读序对的一个反向互补描述符,或各个读序对的两个反向互补描述符(rcomp)
·针对失配(插入、缺失、替换)的各个位置的描述符(mmpos)
·针对失配(插入、缺失、替换)的各个类型的描述符(mmtype)
·针对各个软剪辑序列的描述符(sclips)
·针对各个未知基的位置(nmis)
·针对各个读序的长度描述符(rlen)(仅在可变长度读序的情况下)
·针对各个读序对的配对描述符(pair)
·针对映射标志集(flags)
已经存在于M类子集中的描述符具有相同的语法和语义。在这种情况下使用的附加描述符是表示替换、插入和缺失的位置的mmpos、表示失配(替换、插入或缺失)的类型的mmtype以及表示软剪辑碱基的sclips。
在本发明公开内容中,这样的读序或读序对被认为属于I类。图15提供了对属于I类的读序对进行编码的示例。
仅一个读序被映射到参考序列的读序对
在读序对由映射读序(属于P类、N类、M类或I类中的任一个)和未映射读序构成的情况下,该读序对被分类为属于被称为HM(半映射)类的单独类。
映射到参考序列上的读序可以是上述任何类(P、N、M和I),并且将使用已经针对各个类描述的描述符子集来编码。未映射读序是通过使用恰当的熵编码器来压缩表示该读序的符号的串来编码的。
参考序列描述符
参考序列通常被表示为代表可以在相应生物样本中发现的核苷酸的符号串。在DNA的情况下,核苷酸有四种并且由符号A、C、G和T表示。在RNA的情况下,T由U代替。添加了第五符号以表示在序列中测序装置不能根据实验所需的置信度确定核苷酸类型的坐标。在本公开中,参考序列可以在一个访问单元中完整编码,或者划分成两个或更多个子序列。
用于表示待进行熵编码的参考序列或子序列的描述符是依照相应字母表的允许符号的序列或子序列的逐字表示。
根据匹配规则对读序进行分类
本公开的发明将测序机产生的读序根据相对于一个或更多个“预先存在的”参考序列的比对的匹配结果来分类为六个不同的“类”。
当相对于参考序列比对核苷酸的DNA序列时,可以标识出以下情况:
1.发现参考序列中的区域来毫无错误地匹配读序(即完全映射)。这样的核苷酸序列称为“完全匹配读序”或标为“P类”。
2.发现参考序列中的区域在仅由生成该读序的测序机无法检测到任何碱基(核苷酸)的位置的数量确定的失配类型和数目的情况下与读序匹配。这种类型的失配用“N”表示,该字母用于表示未定义的核苷酸碱基。在本文档中,这种类型的失配被称为“n型”失配。这样的序列属于“N类”读序。当读序被分类为属于“N类”时,将匹配不精确度限制到给定上限并且在被认为有效匹配与被认为无效匹配之间设定分界是有用的。因此,也通过设定阈值(MAXN)来约束分配至N类的读序,该阈值(MAXN)规定了读序可以包含的未定义碱基(即,被称为“N”的碱基)的最大数目。这种分类隐含地定义了当与对应的参考序列进行参照时属于N类的所有读序共享的所需的最小匹配精度(或最大失配度),这构成了用于对压缩数据应用选择性数据搜索的有用标准。
3.发现参考序列中的区域以以下情况与读序匹配:由生成该读序的测序机无法检测到任何(如果有的话)核苷酸碱基(即“n型”失配)的位置的数量确定的失配类型和数目,加上已经检测到与参考序列中存在碱基的不同的碱基的失配的数目。这种类型的失配标为“替换”,也称为单核苷酸变异(SNV)或单核苷酸多态性(SNP)。在本文档中,这种类型的失配也称为“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型”失配中的一种类型或另一种类型的简单阈值之外,对“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类”。
根据匹配规则对读序对进行分类
上一节中说明的分类涉及单端读序。在成对地生成读序而其中已知两个读序被长度可变的未知序列分开的测序技术(即Illumina Inc.)的情况下,考虑将整个读序对分类到单个数据类是合适的。与另一读序偶联的读序被称为其“配对读序”。
如果成对的两个读序属于同一类,则将整个读序对分类到类是显然的:对于任何类(即,P、N、M、I、U),将整个读序对分至同一类。如果两个读序属于不同的类,但它们都不属于“U类”,则将整个读序对分至根据下式规定而具有最高优先级的类:
P<N<M<I
其中,“P类”的优先级最低,“I类”的优先级最高。
如果仅一个读序属于“U类”且其配对读序属于P、N、M、I类中的任一类,则定义代表“半映射”的第六类“HM类”。
规定这种特别的读序类是基于其用于尝试确定参考基因组中存在的缺口或未知区域(也称为鲜为人知或未知的区域)的事实的启示。通过使用可以映射在已知区域上的读序对在边缘处映射读序对来重构这样的区域。然后使用未映射的配对读序来构造未知区域的所谓的“交叠群(contigs)”,如图20所示。因此,对仅这种类型的读序对提供选择性访问大大减少了相关的计算负担,从而能够更高效地处理由大量数据集所产生的这种数据,而使用现有技术解决方案将需要完全检查该大量数据集。
下表总结了为了定义各个读序所属的数据类而应用于读序的匹配规则。在表的前五列中关于失配类型(n型失配、s型失配、d型失配、i型失配和c型失配)的存在或不存在定义了规则。第六列就各个失配类型的最大阈值和可能的失配类型的任何函数f(n,s)和w(n,s,d,i,c)提供了规则。
表3.各个读序要被分类在本发明公开中定义的数据类中而必须满足的不匹配类型和约束集合。
定义概要
/>
/>
表4.与访问单元相关联的元素和特征的定义概要。
将压缩描述符子集划分为访问单元以及用于将访问单元存储到文件系统或流传输到客户端的模式。
当通过适当的描述符子集将读序或读序对分类并编码到基因组记录中时,将熵编码后的描述符流划分成以其相对访问单元范围表征的访问单元。换句话说,访问单元仅收集将其最左侧碱基映射到与各个访问单元相关联的访问单元范围内的基因组记录。针对基因组数据集的访问单元范围的定义可以有两种类型:非交叠或交叠。
当访问单元被存储到文件系统中时,可以定义和实现用于将访问单元映射到物理存储介质上的两种有用模式:
a)访问单元毗连(AUC)模式,其中,毗连地存储来自不同描述符流但属于同一访问单元的数据块。
b)描述符流毗连(DSC)模式,其中,将属于相同描述符但属于不同访问单元的数据块存储在文件系统的毗连区域中。
在基于选择性访问基因组区域的情况下,AUC模式对于最小化文件系统访问来说是特别感兴趣的,因为它使得能够将属于同一访问单元的数据存储在存储设备的毗连区域中。
DSC模式实现了不同数据组织,其将属于相同描述符的所有数据块分类在存储设备的毗连区域中。由于这个原因,DSC模式对于除了基于基因组区域的选择性访问之外的其他使用情况较感兴趣且高效,例如当仅需要加密一个或任何描述符流子集时,在这种情况下,相同类型的描述符的数据毗连性使得操作较高效。
图16中报告了为AUC和DSC存储映射模式而定义的数据映射配置的图示。
此外,就存储介质的AU排序而言,AUC模式可以以两种不同的方式实现。存储设备中的访问单元的顺序可以是基于类的,其中将相同数据类的所有访问单元存储在存储设备的相同区域中(类毗连模式,CC);或者是基于基因组区域的,其中将所有访问单元映射到存储在存储设备的相同区域中的相同或最近的基因组区域(基因组区域毗连模式,GRC)。当仅访问单个类的数据时,AUC/CC模式将较高效,当访问映射到相同基因组区域的不同类的数据时,AUC/GRC模式导致较高效。图17中报告了由CC和GRC存储映射模式定义的数据映射配置的图示。
在通过承载AU的片段的传输分组将AU流传输到客户端的情况下,显然仅可以采用AUC模式。
表征与访问单元中包含的数据相关联的基因组区域的信息(即,访问单元范围和访问单元被存储为称作主索引表的多维数据结构并以该多维数据结构可用,该主索引表被结构化并包含以下信息:
1.在访问单元中所包含的所有读序或读序对中最左侧匹配碱基相对于所述参考序列的位置(以核苷酸的数目表示)。
2.在所述存取单元中包含的所有读序或读序对中,最右侧匹配碱基相对于所述参考序列的位置(以核苷酸的数目表示)。
3.访问单元大小列表(当使用AUC模式时)。
4.各个访问单元的各个描述符数据块的第一个字节相对于数据集净荷的第一个字节的偏移量的列表(以字节数表示)。
关于将数据划分为访问单元的方式以及如何将访问单元存储到文件系统中的信息对于优化数据访问过程是必要的。这就是将这样的信息登记到数据集报头中并且使其在解码单元执行选择性数据访问时可用的原因。
AUC与DSC模式相比的技术优势
表5-DSC与AUC模式相比的技术优势。
基于基因组区域的选择性数据访问的优化
通过以下进行对特定基因组区域的选择性访问:1)标识覆盖参考序列上的特定区域的访问单元,以及2)访问合适的数据。接下来的部分描述了通过知道所使用的存储模式(AUC或DSC)如何可以优化对被标识为应答选择性数据访问请求的AU的数据的访问。
在使用DSC模式存储AU时的数据访问
参照图16,当访问由块B_0_M到B_N_M组成的访问单元M时,使用主索引表的Block_Byte_Offset[Sequence_ID][Class_ID][M][0]条目来搜索访问单元的第一个字节:
1)fseek(FILE,Block_Byte_Offset[Sequence_ID][Class_ID][M][0],Dataset_Payload_First_Byte_Offset)
然后计算Block_Byte_Offset[Sequence_ID][Class_ID][M+1][0]和Block_Byte_Offset[Sequence_ID][Class_ID][M][0]之间的差,以知道块大小并相应地读取其净荷:
2)fread(payload_buffer,Block_Byte_Offset[Sequence_ID][Class_ID][M+1][0]-Block_Byte_Offset[Sequence_ID][Class_ID][M][0],1,FILE)
对访问单元中的所有块重复步骤1和2,直到索引为以下的最后一个为止,N=Num_Descriptors[Sequence_ID][Class_ID]-1:
2xN+1)fseek(FILE,Block_Byte_Offset[Sequence_ID][Class_ID][M][N],Dataset_Payload_First_Byte_Offset)
2xN+2)fread(payload_buffer,Block_Byte_Offset[Sequence_ID][Class_ID][M+1][N+1]
-Block_Byte_Offset[Sequence_ID][Class_ID][M][N],1,FILE)
在使用AUC模式存储AU时的数据访问
参照图16,当访问由块B_0_M到B_N_M组成的访问单元M时,使用主索引表的Block_Byte_Offset[Sequence_ID][Class_ID][M][0]条目来搜索访问单元的第一个字节:
1)fseek(FILE,Block_Byte_Offset[Sequence_ID][Class_ID][M][0],Dataset_Payload_First_Byte_Offset)
然后,使用主索引表的AU_Size[Sequence_ID][Class_ID][M]条目来读取作为整片数据块的访问单元:
2)fread(payload_buffer,AU_Size[Sequence_ID][Class_ID][M],1,FILE)
AUC和DSC模式的针对基于基因组区域的选择性访问的数据访问效率的比较
当使用AUC模式时,取得属于被标识为覆盖与选择性访问请求相关的特定基因组区域的AU的数据较有效,因为与DSC模式中所需的2xN+2次查找+读取操作相比,仅一次查找和一次读取意味着各个AU对盘的访问次数极大地减少。与其吞吐量相比,物理存储设备通常具有相对高的查找时间。换句话说,它们需要相对较长的时间来开始读取,但是一经开始,就可以相对较快地读取连续字节。这就是为什么最好尽量减少查找且最好整片读取。
为了能够实现高效的整片读取,关于保证采用AUC模式的信息在数据集报头中可用是必要的。
描述符流选择性数据访问的优化
在诸如仅单独访问一些描述符或分别对描述符流中的一个或描述符流子集应用加密/解密之类的使用情况下,DSC模式要高效得多。如下文各节描述的,通过数据集报头中的适当信令得知在文件系统中使用了DSC数据存储模式使得对基因信息的这样的处理较高效。
在使用DSC模式存储AU时的数据访问
参考表7,当访问由块B_N_0至B_N_M组成的描述符流N(Class_ID=C,Descriptor_ID=D)时,使用主索引表的Block_Byte_Offset[0][C][0][D]条目来搜索该描述符流的第一个字节:
1)fseek(FILE,Block_Byte_Offset[0][C][0][D],Dataset_Payload_First_Byte_Offset)
然后使用主索引表的Descriptors_Stream_Size[C][D]条目来将Descriptors_Stream作为整片数据块读取:
2)fread(payload_buffer,Descriptors_Stream_Size[C][D],1,FILE)
然后在payload_buffer上执行数据访问和或其他处理操作,例如加密,但不限于此。
在使用AUC模式存储AU时的数据访问
参考表7,当访问由块B_N_0至B_N_M组成的描述符流N(Class_ID=C,Descriptor_ID=D)时,使用主索引表的Block_Byte_Offset[0][C][0][D]条目来搜索该描述符流的第一个字节:
1)fseek(FILE,Block_Byte_Offset[0][C][0][D],
Dataset_Payload_First_Byte_Offset)
然后,读取块的Block_Header:
2)fread(header_buffer,Block_Header_Size,1,FILE)
然后,使用Block_Header的BS字段来读取块净荷:
3)fread(payload_buffer[0],BS,1,FILE)
对于组成描述符流的所有块(N)重复步骤1至3:
3xN+0)fseek(FILE,Block_Byte_Offset[Seq_Count][C][N][D],Dataset_Payload_First_Byte_Offset)
3xN+1)fread(header_buffer,Block_Header_Size,1,FILE)
3xN+2)fread(payload_buffer[N],BS,1,FILE)
AUC和DSC模式的针对基于描述符流的选择性访问的数据访问效率比较
使用DSC模式进行描述符访问和处理流是较高效的,因为与AUC模式中的3xN+2次访问相比,针对各个描述符流仅需要访问存储设备两次。
如果使用DSC模式来进行存储数据的信息在数据集报头中可用,则可以实现优化(最少)次数的存储访问。
在数据取得和解码侧当实现了将数据划分成访问单元(交叠或非交叠)并且在存储介质上使用了DSC、AUC/CC或AUC/GRC使用了映射模式来优化选择性访问过程时,仅需要标识需要对哪些访问单元进行解码来保证恢复映射到所选择的基因组区域的所有读序。关于访问单元范围和访问单元覆盖区域的信息以及确定何时将成对读序作为单体进行编码或拆分为单端读序的阈值分别在数据集报头和主索引表中可用。这些信息将在下一节中详细说明。
读序对和选择性访问
读序对的作为单体的编码表示的特征在于将“配对距离”表示为构成该对的两个读序在参考上的映射位置的坐标差。原则上,这种描述符可以取零到整个参考序列大小的任何数(例如,针对人类染色体1的几乎2.5亿个碱基)之间的任何可能的值。当需要保证属于特定区域的所有读序连同相关信息被正确解码并且作为数据访问请求的结果而被提供时,这种可能性使得选择性访问仅属于这些特定基因组区域的比对序列数据在数据量访问和处理方面两者而言的计算量是膨胀性的。当一对中的两个读序被映射到两个不同参考序列上时,该问题更加难以解决,并且需要较多的带宽和处理资源。
接下来的部分描述本发明如何解决选择性访问用分类到独立的访问单元中的描述符编码的基因组读序对的问题。
对读序的选择性访问
对映射到一个或更多个参考序列的基因组数据的选择性访问通常通过指定参考序列(例如,染色体)的所选择的基因组区域的第一(起始)和最后(终止)坐标来执行。
当执行选择性访问以取得映射到由起始坐标和终止坐标定义的基因组区域上的读序和读序对时,取得和解码过程的两个行为被认为是解决该问题的有效方案:
1.解码器取得整个基因组读序或仅取得与指定基因组区域交叠的基因组片段(低至单个碱基)。取得操作包括整个读序(当被完全包含在指定基因组区域中时)或映射到指定基因组区域上的仅部分读序。
2.解码器返回将至少一个碱基映射到指定基因组区域上的所有读序或读序对。
图10示出了如在第1项所描述的解码行为的情况下,将仅部分地返回读序701、702、703和704(那些片段与指定基因组区域交叠),而在如第2项中所描述的取得和解码行为的情况下,它们将被完整地返回。在这两个行为的情况下,为了获得期望的结果,访问单元i和i+1应当被解码。
情况1和2的不同之处仅在于解码应用返回的数据量,但是它们都需要确定需要对哪些访问单元进行解码来提供对对应于指定基因组区域的数据进行期望访问。本发明定义了新的算法,该算法能够支持第1项和第2项的这两个行为的情况,并且同时最小化需要被解码和检查的访问单元的数量,这等效于最小化了需要的数据访问带宽和处理(即解码)复杂度。通过仅访问在数据集报头中可用的信息并解析主索引表并且甚至在某些特定情况下部分解析,就可以标识需要解码的访问单元,所有这些信息是可在压缩域中容易访问的。
对压缩成访问单元的序列数据的选择性访问
当基因组数据被压缩成访问单元并且各个访问单元覆盖特定基因组区域时,一些读序可能跨越访问单元范围的边缘来映射,其中读序的一部分被映射在属于一个访问单元范围的基因组位置处,而读序的另一部分被映射在属于之前或之后的访问单元的基因组区域上(分别就访问单元边界在参考序列上的较小或较大坐标而言)。在图7中清楚地例示了这种可能性的发生。
如在Illumina测序技术的常见情况中,读序对的存在对实现一致和高效的选择性数据访问机制提出了甚至更大的挑战。这是因为为了确保压缩效率,将各个读序对表示为单体的信息只能在仅覆盖特定基因组区域的单个访问单元中编码。因此,当需要访问映射在给定基因组区域上的所有读序对时,仅解码覆盖此区域的所有访问单元是不够的,而是原则上必需对所有先前访问单元进行解码和检查,以检查任何一对中的读序2是否可以被映射在需要选择性访问的基因组区域中。本领域技术人员容易理解,这样的过程在带宽和处理复杂度降低方面损害了对存储在覆盖特定基因组区域的访问单元中的压缩序列数据的选择性访问可以并且应当提供的所有优点。
总之,实现对表示为单体(为了高压缩性能)并以压缩形式包含在覆盖特定基因组区域的访问单元中的读序对的高效的选择性访问过程的障碍导致特别的困难,这是因为:
1.映射到访问单元范围的边缘附近的读序对会将一部分读序或整个读序映射到访问单元范围之外。
2.读序与其配对读序之间的距离会是大的,并且读序2可以被映射到由其他访问单元覆盖的区域上,但是其会在编码了读序1的访问单元中作为单体编码。
这两种可能性在图8中例示,其中所有读序对在AU 1中编码,但是这些读序对的一些片段会映射由其他访问单元覆盖的基因组区域。
本公开中提供的选择性访问问题的高效解决方案解决了情况1和情况2这两者,其基于特定编码和解码技术,该技术保证了对映射到期望基因组区域的所有读序的访问并且同时提供确定需要被解码的最小数量访问单元的可能性。这种优化约束等效于访问和解码与要取得的基因组区域相关联的最小量数据,以用于将数据任意给定地划分为重叠或非重叠的访问单元范围。
当通过使用单个数据结构压缩了读序对,并且这样的编码方法与本公开中描述的访问单元划分方法组合时,可能发生以下情况(参见图8):
·读序的一部分在具有与该读序映射到的基因组区域仅部分交叠的范围的访问单元中(201)。在单端读取的情况下是如此,但是当处理双端读序时,问题会较经常发生,双端读序的平均距离通常比平均读序长度大得多的。
·整个读序在不覆盖该读序映射到的基因组区域的访问单元中(202和203)
·上述两种可能性的组合(204)
对于配对距离和读序映射位置的不同值,在图8中提供了以上列出的三种情况的图示。在图8的示例中,读序对RP2和RP4被映射到完全由访问单元1覆盖的区域,而RP1、RP3和RP5中的部分核苷酸映射到由访问单元2覆盖的位置,RP6具有远离访问单元1和访问单元2的配对读序。
对经比对的读序数据和访问单元的选择性访问
在下面的部分中描述了用于实现对映射到参考序列上并在访问单元中编码的读序或读序对的高效选择性访问的方法。本发明所公开的方法提供的优点在于确定和识别要解码的访问单元的最小数量,以保证所有的单端读序或属于读序对的读序将至少一个碱基映射在需要选择性访问的基因组区域R上。
在需要访问属于由参考序列上的坐标s和e标识的基因组区域的编码(压缩)数据的情况下,本发明中公开的过程标识哪些是需要访问和解码的访问单元以保证取得将至少一个核苷酸映射到被请求访问的所选基因组区域R上的所有读序。
在给定了由起始位置s和终止位置e指定的参考序列的基因组区域R的情况下,对于给定集合i的访问单元AUi以及由起始坐标si和终止坐标ei定义的相关联的覆盖区域,通过标识相关联的起始坐标si或终止坐标ei满足以下表达式的所有访问单元AUi,可以确定需要访问、解码和检查的访问单元的最小集合:
·s≤si≤e
·s≤ei≤e
·si≤s和ei≥e
当在编码过程期间针对各个访问单元确定了si和ei的值时,对于存储场景可以将其存储在被称为主索引表的索引化数据结构中,或者在流传输场景中存储在各个传输块的报头中。通过检查包含于主索引表中或承载于各个传输块报头中的si和ei的值,并且将其与确定请求选择性访问的基因组区域的s和e进行比较,可以标识为了满足选择性访问请求并且保证取得将至少一个碱基映射在所请求的基因组区域上的所有读序而需要访问和解码访问单元AUi的最小集合。
针对具有可变长度的单端读序的解码过程。
以下部分描述了当编码读序具有可变长度时选择性地访问压缩基因组数据的基因组区域的步骤。
1.分析器或基因组数据处理应用需要访问映射到由参考序列上的坐标s(起始)和坐标e(终止)定义的基因组区域的所有编码序列数据,其中s<e。
2.解码器访问和解码所有访问单元AUi,其中K≤i≤K+N(AUK to AUK+N),对此:
a.S∈AK(即,起始坐标s属于AK覆盖的基因组区域)
b.e∈AK+N(即,终止坐标e属于AK+N覆盖的基因组区域)
3.解码器需要确定需要解码多少个访问单元AUi其中i<K,从而确保取得将至少一个碱基映射到参考序列上的P≥s位置处的所有读序。搜索选择s≤ei≤e的所有AU以解码,并且当已经解析了在MIT中存在的针对所选类的AU的ei的所有值时停止。可以跳过具有起始位置si>e的访问单元,因为它们不包含将至少一个碱基映射在选择访问的基因组区域中的任何读序。
对成对读序的选择性访问
在本发明中指定的新的算法能够实现对读序的一致和高效的选择性访问,并且包括以下步骤:
1.参数MaxD的定义,所述参数MaxD设置了配对距离的阈值,当配对距离大于该阈值时,读序对在单独的访问单元中作为两个单独读序编码,当配对距离小于该阈值时,读序在同一访问单元的同一个基因组记录中编码。这样的机制可防止远离其配对读序而被映射的读序在覆盖区域将远离映射坐标的访问单元中编码(并且因此在选择性地访问这些读序覆盖的基因组区域的情况下,这些读序将不被取得)。
2.由编码器设置并用于确定在哪种情况下将读序对作为单体编码或作为两个单独读序编码的参数MaxD存储在文件的“数据集报头”中或在流传输场景下存储在传输块报头中,使得MaxD可用于在解码器处以通过解码对于取得映射到所选基因组区域的各个读序对中的所有读序而言需要的最小数量的访问单元来执行选择性访问过程。
在给定了由起始位置s和终止位置e指定的参考序列的基因组区域的情况下,对于给定集合i的访问单元AUi以及由起始坐标si和终止坐标ei定义的相关联的覆盖区域,通过标识相关联的起始坐标si或终止坐标ei满足以下表达式的所有访问单元AUi,可以确定需要访问、解码和检查的访问单元的最小集合:
s-MaxD≤si≤e
图9中报告了确定AUi并且标识对应的访问单元的示例。当在编码过程期间针对各个访问单元确定了si和ei的值时,对于存储场景可以将其存储在称为主索引表的索引化数据结构中。通过检查包含于主索引表中的si和ei的值,并且将其与确定请求选择性访问的基因组区域的s-MaxD以及e进行比较,可以标识需要访问和解码以满足选择性访问请求并且保证取得将至少一个碱基映射在所请求的基因组区域上的所有读序的访问单元AUi的最小集合。
对具有恒定长度的成对读序的解码过程。
下文描述了在对具有恒定长度的编码基因组读序数据映射到的参考序列的基因组区域进行选择性访问过程中涉及的步骤。
1.分析器或基因组数据处理应用需要访问映射到由坐标s(起始)和坐标e(终止)定义的基因组区域的所有编码序列数据,其中s<e。
2.为了找到包含将至少一个碱基映射在指定间隔中的编码读序的AU,实施本发明中所描述的选择性访问方法的解码装置应解析MIT,并且:
a.解码具有最大sK≤s和eK>s的AUK
b.解码具有si≤e的所有i>K的访问单元AUi
c.搜索具有起始位置si<s和终止位置ei>s的附加访问单元AUi
其中,si和ei是AUi的起始位置和终止位置。
在点2.c处描述的搜索应在si<s-MaxD时停止,其中,MaxD是以上定义的针对配对距离的用于判定何时须拆分读序对并在两个不同基因组记录中编码的阈值。
MaxD的标量和向量参数
上述参数MaxD可以是对整个编码后的基因组数据集有效的常数,或者可以是对于不同基因组区域定义的不同值。适当方案是对各个参考序列(例如染色体)定义不同参数值。这种方案能够具有技术优点的原因是测序实验可能要求所产生的读序的密度在一个基因组区域(例如,染色体)与另一个基因组区域之间不同。为了增加压缩效率,并且同时最大化选择性访问操作的效率,适当的是根据所生成的读序的密度来调整选择性访问的特征。因此,有用的是对于各个不同的参考序列对于MaxD的值使用不同的值。为了实现这种选择性访问算法,各个编码后的基因组数据集需要承载MaxD值向量,其中,该向量的各个元素与不同参考序列相关联。这在图19中示出,其中,阈值向量(1601)在全局参数集容器(1604)中传送,全局参数集容器由实现本公开中描述的方法的编码设备编码。
这种方案具有能够支持编码数据的最佳并行处理的附加优点,其中,不同处理单元(群集)处理映射到不同参考序列上的测序数据。
数据集报头和主索引表
为了支持上述索引化机制和选择性访问过程,这里描述作为本发明组成部分的两种数据结构:
·承载全局参数的数据集报头(1602)。数据集报头的语法在表6中提供。
·本发明公开了称为主索引表(MIT)的索引化工具。在表4中与映射读序(即被分类为属于类P、N、M、I或HM的读序)相关地提供了MIT语法,其由分别表示访问单元起始位置和终止位置的两个坐标Csjk和Cejk组成,其中
〇C表示读序类(即,C∈{P,N,M,I,HM})
〇j表示参考序列标识符
〇k表示各个参考序列内的AU标识符
图18示出了上面定义的包含访问单元起始位置(Csk)和终止位置(Cejk)的主索引表的示例。
包含以上定义的坐标的主索引表(1603)连同压缩的基因组内容的数据集报头(1602)一起在数据结构中编码,如图14所示。在表4中提供了这样的数据结构的示例。
/>
/>
数据集报头语法数据集报头是承载由编码器和解码器在操纵编码基因组信息时使用的全局参数的数据结构。数据集报头(Dataset Header)的各个元素的组成和含义列于下表6中。
/>
/>
表6–数据集报头。
主索引表语法
本发明公开了称为主索引表(MIT)的索引化工具。
表5提供了本公开中定义的主索引表的语法,其中Class_ID是本公开中定义的映射读序的类的唯一标识符:P、N、M、I和HM类。例如,Class_ID可以定义为:
主索引表(MIT)是基于多维阵列的数据结构,其包括:
·访问单元中包含的所有读序或读序对的主比对中的最左侧匹配碱基(作为来自不同描述符流的块的集合)相对于参考序列的位置(以核苷酸数目表示)。在表7中,其由Start_AU_Ref_Position[Sequence_ID][Class_ID][AU_ID]表示。
·访问单元中包含的所有读序或读序对的主比对中的最右侧匹配碱基(作为来自不同描述符流的块的集合)相对于参考序列的位置(以核苷酸的数目表示)。在表7中,其由End_AU_Ref_Position[Sequence_ID][Class_ID][AU_ID]表示。
·如果各个访问单元存储在存储介质上作为毗连的数据块,如果各个访问单元存储在存储介质上作为毗连的数据块,则为以字节为单位的各个访问单元的大小
·构成相对于各个参考序列编码的各个类的各个AU的各个编码描述符块的第一个字节的字节偏移。该偏移是相对于数据集净荷(Dataset Payload)的第一个字节(基于0)来计算的。如果块是空的并且(1)Block_Header_Flag被设定,则其等于0xFFFFFFFF。如果块是空的并且(2)Block_Header_Flag未被设定,则其等于描述符流中的下一块的Block_Byte_Offset值,或者对于描述符流中的最后一个块而言,等于描述符流净荷大小。在表7中,其由Block_Byte_Offset[Sequence_ID][Class_ID][AU_ID][Descriptor_ID]表示。
在表7中两种编码方法之间的交替由称为Block_Header_Flag的标志来通知。
/>
/>
表7–主索引表
传输块报头语法
在流传输场景中,由文件系统或存储场景中可用的主索引表承载的信息由传输块报头承载,并且根据以下语法与属于任何访问单元的各个数据块相关联。
/>
表8-传输块报头语法。
块报头语法
/>
表9-块报头语法。
传输格式到文件格式的转换过程
本节描述了对上文定义的数据集报头中的参数Seq_Count和Seq_Blocks[seq]进行更新,并且根据上文描述的传输块报头中存在的语法元素编译在上一节中定义的主索引表的过程。
定义这样的过程是为了保证所得到的文件在数据集报头和主索引表中保留由原始传输格式承载的等效信息。当需要将经由传输会话接收的数据存储在本地存储设备中时,使用这样的转换过程,从而得到的文件保留由传输会话承载的所有信息,并且针对适当文件访问对这样的信息进行格式化。
该过程定义如下:
1.SEQ_Count被初始化为0,并且每次SEQID不同于任何先前接收的SEQID时增加1。
2.每次(SEQID,AUID)向量不同于任何先前(SEQID,AUID)向量时,SEQ_Blocks[SEQID]增加1。
3.计算在子节6.4.3.1中定义的主索引表的坐标:
a.Sequence_ID=Seq_Count
b.Class_ID=Block Header中的Class_ID在子条款6.3.8.1中定义
c.AU_ID=Seq_Blocks[SEQID]
d.如果未设定Block_Header_Flag,则Descriptor_ID=Block Header中的Descriptor_ID,否则Descriptor_ID=0(Block_Header_Flag被设定),在子条款6.3.8.1中定义。
4.计算命名为Start_AU_Ref_Position[Sequence_ID][Class_ID][AU_ID]的主索引表条目:
a.Start_AU_Ref_Position[Sequence_ID][Class_ID][AU_ID]=Start_POS
5.计算命名为End_AU_Ref_Position[Sequence_ID][Class_ID][AU_ID]的主索引表条目:
a.End_AU_Ref_Position[Sequence_ID][Class_ID][AU_ID]=End_POS
6.Dataset Header字段Block_Header_Flag是用户定义的。
7.如果未设定Block_Header_Flag,则:
a.每次接收到由新的(Class_ID,Descriptor_ID)向量标识的传输块时,创建称为DSCN[Class_ID][Descriptor_ID]的新的描述符流容器(dscn),并且定义称为Block_Ptr[Class_ID][Descriptor_ID]的变量并将其初始化为0。
b.将Block_Ptr[Class_ID][Descriptor_ID]增加DSCN[Class_ID][Descriptor_ID]的sizeof(gen_info)+任何gen_info子节点长度。
c.由块报头中的Class_ID和Descriptor_ID标识的所有块的净荷被复制到DSCN[Class_ID][Descriptor_ID]的值[]字段中。
d.对于上述各块,定义称为Block_Ptr[Class_ID][Descriptor_ID][AU_ID]的新变量,并将Block_Ptr[Class_ID][Descriptor_ID]的当前值赋值给该新变量。
e.对于各个块,将Block_Ptr[Class_ID][Descriptor_ID]增加Block_size-Transport_Block_Header_Size,其中,Transport_Block_Header_Size是以字节为单位的传输块报头的大小。
f.当会话终止时并且在将结果数据写入到输出文件之前,定义称为DS_Offset的变量,将其初始化为0。
g.在将各个DSCN[Class_ID][Descriptor_ID]写入输出文件中之后,DS_Offset增加(gen_info header)的大小+长度(DSCN[Class_ID][Descriptor_ID])。
h.对于在输出文件中写入的各个DSCN[Class_ID][Descriptor_ID],对称为Block_Byte_Offset[Sequence_ID][Class_ID][AU_ID][Descriptor_ID]的主索引表条目进行如下更新:
Block_Byte_Offset[Sequence_ID][Class_ID][AU_ID][Descriptor_ID]=DS_Offset+Block_Ptr[Class_ID][Descriptor_ID][AU_ID]
8.否则,如果设定了Block_Header_Flag,则:
a.创建称为DatasetPayload的缓冲区。
b.对于各个块,从传输块报头中提取块报头并存储。
c.将包括先前提取的块报头和块净荷的各个块写入到数据集净荷(DatasetPayload)中。
d.对于各个块,Block_Byte_Offset[Sequence_ID][Class_ID][AU_ID][Descriptor_ID]等数据集净荷中的块的字节偏移量。
e.计算称为AU_Size[Sequence_ID][Class_ID][AU_ID]的主索引表条目作为具有相同Sequence_ID、Class_ID和AU_ID的所接收的各个传输块的(block_size-Transport_Block_Header_Size)的累积和。
f.在会话的末尾,将DatasetPayload作为Dataset Payload转储到输出文件中,如第5.4条中所定义。
在该过程的末尾,通常当最终用户停止执行传输过程时,主索引表的第三个循环即for(AU_ID=0;AU_ID<Seq_Blocks[Sequence_ID];AU_ID++)必须重新排序,其通过对于Sequence_ID和Class_ID索引的各个组合增加Start_AU_Ref_Position[Sequence_ID][Class_ID][AU_ID]的值来重新排序。
相关申请的交叉引用
本申请要求专利申请PCT/EP2016/074311、PCT/EP2016/074301、PCT/EP2016/074307、PCT/EP2016/074297、PCT/US2017/17842、PCT/US2017/17841的优先权和权益。

Claims (29)

1.一种用于选择性地访问文件中的基因组区域的方法,所述文件被设置成熵编码后的访问单元AUi,所述方法包括以下步骤:
从索引表中提取所述访问单元AUi的起始坐标si和终止坐标ei的值,所述索引表被包含在所述文件中并且对于文件存储的信息而言与所述AUi分开地编码,
从所述文件的数据集报头(1602)提取阈值MaxD,其中,所述阈值MaxD指定了当所述文件中存在读序对时,要使所述读序对作为单体进行编码或分别编码而所述读序对的配对距离能够取的最大值,并且
使用所提取的起始坐标和结束坐标的值以及所提取的阈值MaxD执行对基因组区域的选择性访问。
2.根据权利要求1所述的方法,其中,所述索引表包含访问单元的类,以在不需对访问单元进行熵解码的情况下通过采用指针的向量来根据数据类选择性地标识熵编码后的访问单元。
3.根据权利要求2所述的方法,其中,所述AUi包括称为访问单元范围的范围信息,所述访问单元范围表示所述AU包含的所有基因组记录的AU起始位置和最右侧基因组记录位置之间包括的基因组范围。
4.根据权利要求3所述的方法,其中,所述AU能够有两种不同的模式:
第一模式,其中,毗连地存储来自同一AU的不同描述符的数据块,
第二模式,其中,属于相同描述符但属于不同访问单元的数据块被存储在所述文件的毗连区域中。
5.根据权利要求4所述的方法,其中,模式信息被编码在参数集的字段中并被包括在所述数据集报头中。
6.根据权利要求4的所述方法,其中,在所述第一模式中还能够用两个附加的不同子模式来表示:
第一子模式,其中,将相同类的所有AUi毗连地存储在所述文件中,
第二子模式,其中,将相同基因组区域的AUi毗连地存储在所述文件中。
7.根据权利要求6所述的方法,其中,所述索引表包含以下信息:
在所述访问单元所包含的所有读序或读序对中最左侧映射碱基相对于参考序列的以核苷酸数目表示的位置信息,
在所述访问单元所包含的所有读序或读序对中最右侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息,
各个访问单元的各个描述符数据块的第一个字节相对于数据集净荷的第一个字节的以字节数表示的偏移量的列表,
使用了所述第一模式时的描述符流大小列表,
使用了所述第二模式时的访问单元大小列表。
8.根据权利要求7所述的方法,其中,对于信息流传输的情况,从各个所述访问单元AUi的报头中提取所述访问单元AUi的起始坐标si和终止坐标ei的值。
9.根据权利要求8所述的方法,其中,所述读序对的距离以参考系中的碱基或坐标数目来表示。
10.一种用于对包含基因组区域的基因组数据进行编码的方法,所述基因组数据被设置成熵编码后的访问单元AUi,所述方法包括以下步骤:
在索引表中对所述访问单元AUi的起始坐标si和终止坐标ei的值进行编码,对于在文件中存储信息的情况,所述索引表与所述AUi分开地编码,
在所述文件的基因组数据集报头(1602)中另外对阈值MaxD进行编码,其中,所述阈值MaxD指定了当待编码基因组数据中存在读序对时,要使所述读序对作为单体进行编码或分别编码而所述读序对的配对距离能够取的最大值。
11.根据权利要求10所述的方法,其中,所述索引表还包含访问单元的映射类,以能够在不需对所述访问单元进行熵解码的情况下在解码器处通过采用指针的向量根据数据类而选择性地标识熵编码后的访问单元。
12.根据权利要求11所述的方法,其中,所述AUi包括称为访问单元范围的范围信息,所述访问单元范围表示所述AU包含的所有基因组记录的AU起始位置和最右侧基因组记录位置之间包括的基因组范围。
13.根据权利要求12所述的方法,其中,所述AU能够有两种不同的模式:
第一模式,其中,毗连地存储来自同一AU的不同描述符的数据块,
第二模式,其中,属于相同描述符但属于不同访问单元的数据块被存储在所述文件的毗连区域中。
14.根据权利要求13所述的方法,其中,模式信息被编码在参数集的字段中并被包括在所述数据集报头中。
15.根据权利要求13的所述方法,其中,在所述第一模式中还能够用两个附加的不同子模式来表示:
第一子模式,其中,将相同类的所有AUi毗连地存储在所述文件中,
第二子模式,其中,将相同基因组区域的访问单元毗连地存储。
16.根据权利要求15所述的方法,其中,所述索引表包含以下信息:
在所述访问单元所包含的所有读序或读序对中最左侧映射碱基相对于参考序列的以核苷酸数目表示的位置信息,
在所述访问单元所包含的所有读序或读序对中最右侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息,
各个访问单元的各个描述符数据块的第一个字节相对于数据集净荷的第一个字节的以字节数表示的偏移量的列表,
使用了所述第一模式时的描述符流大小列表,
使用了所述第二模式时的访问单元大小列表。
17.根据权利要求16所述的方法,其中,所述读序对的距离是以参考系中的碱基或坐标数目来表示。
18.一种用于对包含基因组区域的压缩编码后的基因组数据进行解码的方法,所述编码后的基因组数据被设置成熵编码后的访问单元AUi,所述方法包括以下步骤:
从索引表中解析所述访问单元AUi的起始坐标si和终止坐标ei的值,所述索引表对于文件存储的信息而言与所述AUi分开地编码,
从所述文件的基因组数据集报头(1602)另外解析阈值MaxD,其中,所述阈值MaxD指定了当所述编码后的基因组数据中存在读序对时,要使所述读序对作为单体进行编码或分别编码而所述读序对的配对距离能够取的最大值。
19.根据权利要求18所述的方法,其中,所述索引表还包含访问单元的映射类,以能够在不需对所述访问单元进行熵解码的情况下通过采用指针的向量根据数据类而选择性地标识熵编码后的访问单元。
20.根据权利要求19所述的方法,其中,所述访问单元包括称为访问单元范围的范围信息,所述访问单元范围表示所述AU包含的所有基因组记录的AU起始位置和最右侧基因组记录位置之间包括的基因组范围。
21.根据权利要求20所述的方法,其中,所述AU能够有两种不同的模式:
第一模式,其中,毗连地存储来自同一AU的不同描述符的数据块,
第二模式,其中,属于相同描述符但属于不同访问单元的数据块被存储在所述文件的毗连区域中。
22.根据权利要求21所述的方法,其中,模式信息被从参数集的字段中解析并被包括在所述数据集报头中。
23.根据权利要求21所述的方法,其中,所述第一模式还能够用两个附加的不同子模式来表示:
第一子模式,其中,将相同类的所有AUi毗连地存储在所述文件中,
第二子模式,其中,将相同基因组区域的访问单元毗连地存储。
24.根据权利要求23所述的方法,其中,所述索引表包含以下信息:
在所述访问单元所包含的所有读序或读序对中最左侧映射碱基相对于参考序列的以核苷酸数目表示的位置信息,
在所述访问单元所包含的所有读序或读序对中最右侧映射碱基相对于所述参考序列的以核苷酸数目表示的位置信息,
各个访问单元的各个描述符数据块的第一个字节相对于数据集净荷的第一个字节的以字节数表示的偏移量的列表,
使用了所述第一模式时的描述符流大小列表,
使用了所述第二模式时的访问单元大小列表。
25.根据权利要求24所述的方法,其中,所述读序对的距离是以参考系中的碱基或坐标数目来表示。
26.一种计算机可读介质,所述计算机可读介质具有指令,该指令在被执行时使得至少一个处理器执行权利要求1所述的用于选择性地访问文件中的基因组区域的方法。
27.一种计算机可读介质,所述计算机可读介质具有指令,该指令在被执行时使得至少一个处理器执行权利要求10所述的用于对包含基因组区域的基因组数据进行编码的方法。
28.一种计算机可读介质,所述计算机可读介质具有指令,该指令在被执行时使得至少一个处理器执行权利要求18所述的用于对包含基因组区域的压缩编码后的基因组数据进行解码的方法。
29.一种用于选择性访问根据权利要求10所述的用于对包含基因组区域的基因组数据进行编码的方法编码的基因组信息的装置。
CN201780063013.5A 2016-10-11 2017-07-11 用于访问以访问单元结构化的生物信息数据的方法和装置 Active CN110506272B (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
PCT/EP2016/074307 WO2018068829A1 (en) 2016-10-11 2016-10-11 Method and apparatus for compact representation of bioinformatics data
EPPCT/EP2016/074301 2016-10-11
EPPCT/EP2016/074307 2016-10-11
EPPCT/EP2016/074311 2016-10-11
PCT/EP2016/074301 WO2018068828A1 (en) 2016-10-11 2016-10-11 Method and system for storing and accessing bioinformatics data
EPPCT/EP2016/074297 2016-10-11
PCT/EP2016/074311 WO2018068830A1 (en) 2016-10-11 2016-10-11 Method and system for the transmission of bioinformatics data
PCT/EP2016/074297 WO2018068827A1 (en) 2016-10-11 2016-10-11 Efficient data structures for bioinformatics information representation
USPCT/US2017/017841 2017-02-14
PCT/US2017/017842 WO2018071055A1 (en) 2016-10-11 2017-02-14 Method and apparatus for the compact representation of bioinformatics data
PCT/US2017/017841 WO2018071054A1 (en) 2016-10-11 2017-02-14 Method and system for selective access of stored or transmitted bioinformatics data
USPCT/US2017/017842 2017-02-14
PCT/US2017/041579 WO2018071078A1 (en) 2016-10-11 2017-07-11 Method and apparatus for the access to bioinformatics data structured in access units

Publications (2)

Publication Number Publication Date
CN110506272A CN110506272A (zh) 2019-11-26
CN110506272B true CN110506272B (zh) 2023-08-01

Family

ID=61905752

Family Applications (6)

Application Number Title Priority Date Filing Date
CN201780062919.5A Pending CN110168651A (zh) 2016-10-11 2017-02-14 用于选择性访问存储的或传输的生物信息数据的方法和系统
CN201780063014.XA Active CN110121577B (zh) 2016-10-11 2017-07-11 编码/解码基因组序列数据的方法、基因组编码器/解码器
CN201780062885.XA Active CN110114830B (zh) 2016-10-11 2017-07-11 用于生物信息数据索引的方法和系统
CN201780063013.5A Active CN110506272B (zh) 2016-10-11 2017-07-11 用于访问以访问单元结构化的生物信息数据的方法和装置
CN201780086529.1A Active CN110603595B (zh) 2016-10-11 2017-12-14 用于从压缩的基因组序列读段重建基因组参考序列的方法和系统
CN201780086770.4A Active CN110678929B (zh) 2016-10-11 2017-12-15 用于高效压缩基因组序列读段的方法和系统

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201780062919.5A Pending CN110168651A (zh) 2016-10-11 2017-02-14 用于选择性访问存储的或传输的生物信息数据的方法和系统
CN201780063014.XA Active CN110121577B (zh) 2016-10-11 2017-07-11 编码/解码基因组序列数据的方法、基因组编码器/解码器
CN201780062885.XA Active CN110114830B (zh) 2016-10-11 2017-07-11 用于生物信息数据索引的方法和系统

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201780086529.1A Active CN110603595B (zh) 2016-10-11 2017-12-14 用于从压缩的基因组序列读段重建基因组参考序列的方法和系统
CN201780086770.4A Active CN110678929B (zh) 2016-10-11 2017-12-15 用于高效压缩基因组序列读段的方法和系统

Country Status (17)

Country Link
US (6) US20200042735A1 (zh)
EP (3) EP3526694A4 (zh)
JP (4) JP2020505702A (zh)
KR (4) KR20190073426A (zh)
CN (6) CN110168651A (zh)
AU (3) AU2017342688A1 (zh)
BR (7) BR112019007359A2 (zh)
CA (3) CA3040138A1 (zh)
CL (6) CL2019000968A1 (zh)
CO (6) CO2019003638A2 (zh)
EA (2) EA201990916A1 (zh)
IL (3) IL265879B2 (zh)
MX (2) MX2019004130A (zh)
PE (7) PE20191058A1 (zh)
PH (6) PH12019550060A1 (zh)
SG (3) SG11201903270RA (zh)
WO (4) WO2018071054A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526598B (en) * 2014-05-29 2018-11-28 Imagination Tech Ltd Allocation of primitives to primitive blocks
US11574287B2 (en) 2017-10-10 2023-02-07 Text IQ, Inc. Automatic document classification
US11030324B2 (en) * 2017-11-30 2021-06-08 Koninklijke Philips N.V. Proactive resistance to re-identification of genomic data
WO2019191083A1 (en) * 2018-03-26 2019-10-03 Colorado State University Research Foundation Apparatuses, systems and methods for generating and tracking molecular digital signatures to ensure authenticity and integrity of synthetic dna molecules
MX2020012672A (es) * 2018-05-31 2021-02-09 Koninklijke Philips Nv Sistema y metodo para interpretacion de alelos usando un genoma de referencia basado en graficos.
CN108753765B (zh) * 2018-06-08 2020-12-08 中国科学院遗传与发育生物学研究所 一种构建超长连续dna序列的基因组组装方法
US20200058379A1 (en) * 2018-08-20 2020-02-20 The Board Of Trustees Of The Leland Stanford Junior University Systems and Methods for Compressing Genetic Sequencing Data and Uses Thereof
GB2585816A (en) * 2018-12-12 2021-01-27 Univ York Proof-of-work for blockchain applications
US20210074381A1 (en) * 2019-09-11 2021-03-11 Enancio Method for the compression of genome sequence data
CN110797087B (zh) * 2019-10-17 2020-11-03 南京医基云医疗数据研究院有限公司 测序序列处理方法及装置、存储介质、电子设备
JP2022553199A (ja) 2019-10-18 2022-12-22 コーニンクレッカ フィリップス エヌ ヴェ 多様な表形式データの効果的な圧縮、表現、および展開のためのシステムおよび方法
CN111243663B (zh) * 2020-02-26 2022-06-07 西安交通大学 一种基于模式增长算法的基因变异检测方法
CN111370070B (zh) * 2020-02-27 2023-10-27 中国科学院计算技术研究所 一种针对大数据基因测序文件的压缩处理方法
US20210295949A1 (en) * 2020-03-17 2021-09-23 Western Digital Technologies, Inc. Devices and methods for locating a sample read in a reference genome
US11837330B2 (en) 2020-03-18 2023-12-05 Western Digital Technologies, Inc. Reference-guided genome sequencing
EP3896698A1 (en) * 2020-04-15 2021-10-20 Genomsys SA Method and system for the efficient data compression in mpeg-g
CN111459208A (zh) * 2020-04-17 2020-07-28 南京铁道职业技术学院 针对地铁供电系统电能的操纵系统及其方法
AU2021342166A1 (en) * 2020-09-14 2023-01-05 Illumina, Inc. Custom data files for personalized medicine
CN112836355B (zh) * 2021-01-14 2023-04-18 西安科技大学 一种预测采煤工作面顶板来压概率的方法
ES2930699A1 (es) * 2021-06-10 2022-12-20 Veritas Intercontinental S L Metodo de analisis genomico en una plataforma bioinformatica
CN113670643B (zh) * 2021-08-30 2023-05-12 四川虹美智能科技有限公司 智能空调测试方法及系统
CN113643761B (zh) * 2021-10-13 2022-01-18 苏州赛美科基因科技有限公司 一种用于解读二代测序结果所需数据的提取方法
US20230187020A1 (en) * 2021-12-15 2023-06-15 Illumina Software, Inc. Systems and methods for iterative and scalable population-scale variant analysis
CN115391284B (zh) * 2022-10-31 2023-02-03 四川大学华西医院 基因数据文件快速识别方法、系统和计算机可读存储介质
CN116541348B (zh) * 2023-03-22 2023-09-26 河北热点科技股份有限公司 数据智能存储方法及终端查询一体机
CN116739646B (zh) * 2023-08-15 2023-11-24 南京易联阳光信息技术股份有限公司 网络交易大数据分析方法及分析系统
CN117153270B (zh) * 2023-10-30 2024-02-02 吉林华瑞基因科技有限公司 一种基因二代测序数据处理方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494767A (zh) * 2001-02-02 2004-05-05 压缩/解压缩结构化文档的方法
CN1802645A (zh) * 2003-05-08 2006-07-12 西门子公司 用于建立和更新用户界面以访问数据网络中的信息页面的方法和装置
CN103049680A (zh) * 2012-12-29 2013-04-17 深圳先进技术研究院 基因测序数据读取方法及系统
CN103336916A (zh) * 2013-07-05 2013-10-02 中国科学院数学与系统科学研究院 一种测序序列映射方法及系统
WO2014156400A1 (ja) * 2013-03-28 2014-10-02 三菱スペース・ソフトウエア株式会社 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
WO2014186604A1 (en) * 2013-05-15 2014-11-20 Edico Genome Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
CN104246689A (zh) * 2011-12-08 2014-12-24 凡弗3基因组有限公司 提供基因组数据的动态索引和可视化的分布式系统
CN105284117A (zh) * 2013-04-05 2016-01-27 佳能株式会社 根据运动信息压缩方案通过层间运动信息预测对图像进行编码或解码的方法和设备
CN105574360A (zh) * 2014-11-05 2016-05-11 安捷伦科技有限公司 将靶标富集的序列读出分配到基因组位置的方法

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6303297B1 (en) * 1992-07-17 2001-10-16 Incyte Pharmaceuticals, Inc. Database for storage and analysis of full-length sequences
JP3429674B2 (ja) 1998-04-28 2003-07-22 沖電気工業株式会社 多重通信システム
EP1410301A4 (en) * 2000-04-12 2008-01-23 Cleveland Clinic Foundation SYSTEM FOR IDENTIFYING AND ANALYZING GENE EXPRESSION CONTAINING ELEMENTS RICH IN ADENYLATE URIDYLATE (ARE)
US20040153255A1 (en) * 2003-02-03 2004-08-05 Ahn Tae-Jin Apparatus and method for encoding DNA sequence, and computer readable medium
WO2005024562A2 (en) * 2003-08-11 2005-03-17 Eloret Corporation System and method for pattern recognition in sequential data
US7805282B2 (en) * 2004-03-30 2010-09-28 New York University Process, software arrangement and computer-accessible medium for obtaining information associated with a haplotype
US8340914B2 (en) * 2004-11-08 2012-12-25 Gatewood Joe M Methods and systems for compressing and comparing genomic data
US20130332133A1 (en) * 2006-05-11 2013-12-12 Ramot At Tel Aviv University Ltd. Classification of Protein Sequences and Uses of Classified Proteins
SE531398C2 (sv) 2007-02-16 2009-03-24 Scalado Ab Generering av en dataström och identifiering av positioner inuti en dataström
KR101369745B1 (ko) * 2007-04-11 2014-03-07 삼성전자주식회사 비동기화된 비트스트림들의 다중화 및 역다중화 방법 및장치
US8832112B2 (en) * 2008-06-17 2014-09-09 International Business Machines Corporation Encoded matrix index
GB2477703A (en) * 2008-11-14 2011-08-10 Real Time Genomics Inc A method and system for analysing data sequences
US20100217532A1 (en) * 2009-02-25 2010-08-26 University Of Delaware Systems and methods for identifying structurally or functionally significant amino acid sequences
DK2494060T3 (en) * 2009-10-30 2016-08-01 Synthetic Genomics Inc Coding of text for nucleic acid sequences
EP2362657B1 (en) * 2010-02-18 2013-04-24 Research In Motion Limited Parallel entropy coding and decoding methods and devices
US20140228223A1 (en) * 2010-05-10 2014-08-14 Andreas Gnirke High throughput paired-end sequencing of large-insert clone libraries
CA2797645C (en) * 2010-05-25 2020-09-22 The Regents Of The University Of California Bambam: parallel comparative analysis of high-throughput sequencing data
JP6420543B2 (ja) * 2011-01-19 2018-11-07 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ゲノムデータ処理方法
US9215162B2 (en) * 2011-03-09 2015-12-15 Annai Systems Inc. Biological data networks and methods therefor
CN103797486A (zh) * 2011-06-06 2014-05-14 皇家飞利浦有限公司 用于组装核酸序列数据的方法
PL2721819T3 (pl) * 2011-06-16 2024-02-19 Ge Video Compression, Llc Kodowanie entropijne obsługujące przełączanie trybów
US8707289B2 (en) * 2011-07-20 2014-04-22 Google Inc. Multiple application versions
CN104081772B (zh) * 2011-10-06 2018-04-10 弗劳恩霍夫应用研究促进协会 熵编码缓冲器配置
EP2776962A4 (en) * 2011-11-07 2015-12-02 Ingenuity Systems Inc METHODS AND SYSTEMS FOR IDENTIFICATION OF CAUSAL GENOMIC VARIANTS
KR101922129B1 (ko) * 2011-12-05 2018-11-26 삼성전자주식회사 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치
EP2608096B1 (en) * 2011-12-24 2020-08-05 Tata Consultancy Services Ltd. Compression of genomic data file
US9600625B2 (en) * 2012-04-23 2017-03-21 Bina Technologies, Inc. Systems and methods for processing nucleic acid sequence data
US9679104B2 (en) * 2013-01-17 2017-06-13 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
WO2014145503A2 (en) * 2013-03-15 2014-09-18 Lieber Institute For Brain Development Sequence alignment using divide and conquer maximum oligonucleotide mapping (dcmom), apparatus, system and method related thereto
KR101522087B1 (ko) * 2013-06-19 2015-05-28 삼성에스디에스 주식회사 미스매치를 고려한 염기 서열 정렬 시스템 및 방법
US20150032711A1 (en) * 2013-07-06 2015-01-29 Victor Kunin Methods for identification of organisms, assigning reads to organisms, and identification of genes in metagenomic sequences
KR101493982B1 (ko) * 2013-09-26 2015-02-23 대한민국 품종인식 코드화 시스템 및 이를 이용한 코드화 방법
CN104699998A (zh) * 2013-12-06 2015-06-10 国际商业机器公司 用于对基因组进行压缩和解压缩的方法和装置
US10902937B2 (en) * 2014-02-12 2021-01-26 International Business Machines Corporation Lossless compression of DNA sequences
US9916313B2 (en) * 2014-02-14 2018-03-13 Sap Se Mapping of extensible datasets to relational database schemas
US9886561B2 (en) * 2014-02-19 2018-02-06 The Regents Of The University Of California Efficient encoding and storage and retrieval of genomic data
US9354922B2 (en) * 2014-04-02 2016-05-31 International Business Machines Corporation Metadata-driven workflows and integration with genomic data processing systems and techniques
US20150379195A1 (en) * 2014-06-25 2015-12-31 The Board Of Trustees Of The Leland Stanford Junior University Software haplotying of hla loci
GB2527588B (en) * 2014-06-27 2016-05-18 Gurulogic Microsystems Oy Encoder and decoder
US20160019339A1 (en) * 2014-07-06 2016-01-21 Mercator BioLogic Incorporated Bioinformatics tools, systems and methods for sequence assembly
US10230390B2 (en) * 2014-08-29 2019-03-12 Bonnie Berger Leighton Compressively-accelerated read mapping framework for next-generation sequencing
US10116632B2 (en) * 2014-09-12 2018-10-30 New York University System, method and computer-accessible medium for secure and compressed transmission of genomic data
WO2016202918A1 (en) * 2015-06-16 2016-12-22 Gottfried Wilhelm Leibniz Universität Hannover Method for compressing genomic data
CN105956417A (zh) * 2016-05-04 2016-09-21 西安电子科技大学 云环境下基于编辑距离的相似碱基序列查询方法
CN105975811B (zh) * 2016-05-09 2019-03-15 管仁初 一种智能比对的基因序列分析装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1494767A (zh) * 2001-02-02 2004-05-05 压缩/解压缩结构化文档的方法
CN1802645A (zh) * 2003-05-08 2006-07-12 西门子公司 用于建立和更新用户界面以访问数据网络中的信息页面的方法和装置
CN104246689A (zh) * 2011-12-08 2014-12-24 凡弗3基因组有限公司 提供基因组数据的动态索引和可视化的分布式系统
CN103049680A (zh) * 2012-12-29 2013-04-17 深圳先进技术研究院 基因测序数据读取方法及系统
WO2014156400A1 (ja) * 2013-03-28 2014-10-02 三菱スペース・ソフトウエア株式会社 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
CN105284117A (zh) * 2013-04-05 2016-01-27 佳能株式会社 根据运动信息压缩方案通过层间运动信息预测对图像进行编码或解码的方法和设备
WO2014186604A1 (en) * 2013-05-15 2014-11-20 Edico Genome Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
CN103336916A (zh) * 2013-07-05 2013-10-02 中国科学院数学与系统科学研究院 一种测序序列映射方法及系统
CN105574360A (zh) * 2014-11-05 2016-05-11 安捷伦科技有限公司 将靶标富集的序列读出分配到基因组位置的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《Aligned genomic data compression via improved modeling》;Idoia Ochoa等;《Journal of Bioinformatics and Computational Biology》;20141113;第12卷(第6期);第1-5页 *
《Implementation and optimization of CABAC in a genomic data compression framework with support for random access》;Jens Panneel;《dissertatie Ghent University Faculty of Engineering and Architecture》;20150101;第1-81页 *
《信号交叠下S模式ADS-B信号解码仿真》;许晓;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20131215(第S1期);第C031-59页 *
《面向个人基因组变异的功能注释与可视化方法研究》;隽立然;《中国博士学位论文全文数据库 医药卫生科技辑》;20160215(第2期);第E060-5 *

Also Published As

Publication number Publication date
PE20191056A1 (es) 2019-08-06
JP2020505702A (ja) 2020-02-20
CL2019000972A1 (es) 2019-08-23
AU2017341685A1 (en) 2019-05-02
CO2019003595A2 (es) 2019-08-30
CO2019009920A2 (es) 2020-01-17
EP3526707A4 (en) 2020-06-17
PH12019550059A1 (en) 2019-12-16
SG11201903272XA (en) 2019-05-30
WO2018071080A3 (en) 2018-06-28
PH12019501881A1 (en) 2020-06-29
KR20190062541A (ko) 2019-06-05
CL2019000968A1 (es) 2019-08-23
EP3526694A1 (en) 2019-08-21
PE20191227A1 (es) 2019-09-11
BR112019016232A2 (pt) 2020-04-07
BR112019007360A2 (pt) 2019-07-09
US20190385702A1 (en) 2019-12-19
IL265928A (en) 2019-05-30
PE20191057A1 (es) 2019-08-06
EA201990917A1 (ru) 2019-08-30
JP2020500382A (ja) 2020-01-09
CL2019000973A1 (es) 2019-08-23
CL2019002277A1 (es) 2019-11-22
IL265928B (en) 2020-10-29
EP3526694A4 (en) 2020-08-12
CO2019003639A2 (es) 2020-02-28
BR112019007363A2 (pt) 2019-07-09
JP7079786B2 (ja) 2022-06-02
PH12019550058A1 (en) 2019-12-16
WO2018071079A1 (en) 2018-04-19
US20200051665A1 (en) 2020-02-13
US11404143B2 (en) 2022-08-02
MX2019004128A (es) 2019-08-21
CN110678929B (zh) 2024-04-16
BR112019007357A2 (pt) 2019-07-16
CO2019003842A2 (es) 2019-08-30
CN110603595B (zh) 2023-08-08
CN110603595A (zh) 2019-12-20
PH12019550057A1 (en) 2020-01-20
CL2019002276A1 (es) 2019-11-29
AU2017341684A1 (en) 2019-05-02
PE20200323A1 (es) 2020-02-13
WO2018071055A1 (en) 2018-04-19
AU2017342688A1 (en) 2019-05-02
CA3040147A1 (en) 2018-04-19
JP2019537172A (ja) 2019-12-19
IL265972A (en) 2019-06-30
CN110168651A (zh) 2019-08-23
CA3040145A1 (en) 2018-04-19
WO2018071080A2 (en) 2018-04-19
IL265879B2 (en) 2024-01-01
KR20190073426A (ko) 2019-06-26
CN110114830B (zh) 2023-10-13
EP3526707A2 (en) 2019-08-21
CN110121577B (zh) 2023-09-19
JP2020500383A (ja) 2020-01-09
US20200035328A1 (en) 2020-01-30
IL265879A (en) 2019-06-30
CL2019002275A1 (es) 2019-11-22
US20190214111A1 (en) 2019-07-11
EP3526657A1 (en) 2019-08-21
CO2019009922A2 (es) 2020-01-17
BR112019016236A2 (pt) 2020-04-07
CN110506272A (zh) 2019-11-26
BR112019007359A2 (pt) 2019-07-16
CN110678929A (zh) 2020-01-10
EP3526657A4 (en) 2020-07-01
PE20200226A1 (es) 2020-01-29
CA3040138A1 (en) 2018-04-19
US20200042735A1 (en) 2020-02-06
MX2019004130A (es) 2020-01-30
BR112019016230A2 (pt) 2020-04-07
US20200051667A1 (en) 2020-02-13
CO2019003638A2 (es) 2019-08-30
KR20190069469A (ko) 2019-06-19
SG11201903271UA (en) 2019-05-30
WO2018071054A1 (en) 2018-04-19
EA201990916A1 (ru) 2019-10-31
PE20191058A1 (es) 2019-08-06
SG11201903270RA (en) 2019-05-30
PE20200227A1 (es) 2020-01-29
PH12019550060A1 (en) 2019-12-16
CN110121577A (zh) 2019-08-13
PH12019501879A1 (en) 2020-06-29
CN110114830A (zh) 2019-08-09
KR20190117652A (ko) 2019-10-16
IL265879B1 (en) 2023-09-01

Similar Documents

Publication Publication Date Title
CN110506272B (zh) 用于访问以访问单元结构化的生物信息数据的方法和装置
US11763918B2 (en) Method and apparatus for the access to bioinformatics data structured in access units
CN110168652B (zh) 用于存储和访问生物信息学数据的方法和系统
AU2018221458B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
JP6949970B2 (ja) バイオインフォマティクスデータを送信する方法及びシステム
JP2020509473A (ja) 複数のゲノム記述子を用いた生体情報データのコンパクト表現方法及び装置
WO2018071078A1 (en) Method and apparatus for the access to bioinformatics data structured in access units
CN110663022B (zh) 使用基因组描述符紧凑表示生物信息学数据的方法和设备
NZ757185B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
EA043338B1 (ru) Способ и устройство для компактного представления биоинформационных данных с помощью нескольких геномных дескрипторов

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