CN110168652B - 用于存储和访问生物信息学数据的方法和系统 - Google Patents
用于存储和访问生物信息学数据的方法和系统 Download PDFInfo
- Publication number
- CN110168652B CN110168652B CN201680090046.4A CN201680090046A CN110168652B CN 110168652 B CN110168652 B CN 110168652B CN 201680090046 A CN201680090046 A CN 201680090046A CN 110168652 B CN110168652 B CN 110168652B
- Authority
- CN
- China
- Prior art keywords
- data
- type
- genomic
- information
- read
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 239000002773 nucleotide Substances 0.000 claims description 41
- 125000003729 nucleotide group Chemical group 0.000 claims description 41
- 238000013507 mapping Methods 0.000 claims description 34
- 238000007906 compression Methods 0.000 claims description 22
- 230000006835 compression Effects 0.000 claims description 22
- 230000000295 complement effect Effects 0.000 claims description 18
- 238000003780 insertion Methods 0.000 claims description 16
- 230000037431 insertion Effects 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 15
- 230000037430 deletion Effects 0.000 claims description 15
- 230000002441 reversible effect Effects 0.000 claims description 7
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000006837 decompression Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 abstract description 50
- 238000012545 processing Methods 0.000 abstract description 27
- 238000005192 partition Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 35
- 238000004458 analytical method Methods 0.000 description 29
- 238000006467 substitution reaction Methods 0.000 description 25
- 230000008901 benefit Effects 0.000 description 11
- 239000013598 vector Substances 0.000 description 10
- 108020004414 DNA Proteins 0.000 description 9
- 239000012634 fragment Substances 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 108020004707 nucleic acids Proteins 0.000 description 7
- 102000039446 nucleic acids Human genes 0.000 description 7
- 150000007523 nucleic acids Chemical class 0.000 description 7
- 239000012472 biological sample Substances 0.000 description 6
- 108090000623 proteins and genes Proteins 0.000 description 6
- 108091028043 Nucleic acid sequence Proteins 0.000 description 5
- 108010038083 amyloid fibril protein AS-SAM Proteins 0.000 description 5
- 238000012165 high-throughput sequencing Methods 0.000 description 5
- 229910052757 nitrogen Inorganic materials 0.000 description 5
- 239000000523 sample Substances 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 4
- 238000012268 genome sequencing Methods 0.000 description 4
- RWQNBRDOKXIBIV-UHFFFAOYSA-N thymine Chemical compound CC1=CNC(=O)NC1=O RWQNBRDOKXIBIV-UHFFFAOYSA-N 0.000 description 4
- 210000000349 chromosome Anatomy 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 238000010230 functional analysis Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 229910052698 phosphorus Inorganic materials 0.000 description 3
- ISAKRJDGNUQOIC-UHFFFAOYSA-N Uracil Chemical compound O=C1C=CNC(=O)N1 ISAKRJDGNUQOIC-UHFFFAOYSA-N 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- OPTASPLRGRRNAP-UHFFFAOYSA-N cytosine Chemical compound NC=1C=CNC(=O)N=1 OPTASPLRGRRNAP-UHFFFAOYSA-N 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000011331 genomic analysis Methods 0.000 description 2
- UYTPUPDQBNUYGX-UHFFFAOYSA-N guanine Chemical compound O=C1NC(N)=NC2=C1N=CN2 UYTPUPDQBNUYGX-UHFFFAOYSA-N 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 102000004169 proteins and genes Human genes 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000002864 sequence alignment Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 238000012916 structural analysis Methods 0.000 description 2
- 229940113082 thymine Drugs 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- GFFGJBXGBJISGV-UHFFFAOYSA-N Adenine Chemical compound NC1=NC=NC2=C1N=CN2 GFFGJBXGBJISGV-UHFFFAOYSA-N 0.000 description 1
- 229930024421 Adenine Natural products 0.000 description 1
- 102000053602 DNA Human genes 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 229960000643 adenine Drugs 0.000 description 1
- 150000001413 amino acids Chemical class 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229940104302 cytosine Drugs 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 238000013399 early diagnosis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000011987 methylation Effects 0.000 description 1
- 238000007069 methylation reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 229940035893 uracil Drugs 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/30—Data warehousing; Computing architectures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/10—Sequence alignment; Homology search
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
- G16B40/10—Signal processing, e.g. from mass spectrometry [MS] or from PCR
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/20—Heterogeneous data integration
-
- C—CHEMISTRY; METALLURGY
- C12—BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
- C12Q—MEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
- C12Q1/00—Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
- C12Q1/68—Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
- C12Q1/6869—Methods for sequencing
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Biotechnology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- General Engineering & Computer Science (AREA)
- Analytical Chemistry (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Public Health (AREA)
- Epidemiology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Organic Chemistry (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Wood Science & Technology (AREA)
Abstract
用于存储和访问基因组数据的方法和系统基于所包含数据的可预测性,将基因组测序数据划分到不同类型的访问单元中。访问单元被分为不同类型,并且结构化允许选择性访问和选择性处理基因组数据。
Description
技术领域
本申请提供了用于高效存储、访问和传输生物信息学数据,特别是基因组测序数据的新方法。
背景技术
基因组测序数据的适当表示对于实现基因组数据的高效处理、存储和传输以使得可能进行并促进诸如用于各种目的通过处理测序数据和元数据而执行的基因组变体调用和所有分析的各种目的的分析应用是至关重要的。今天,基因组测序信息由高通量测序(HTS)机器以核苷酸(也称为碱基)序列的形式产生,所述核苷酸序列由来自定义的词汇表的字母串表示。
这些测序机不读出整个基因组或基因,但它们产生被称为序列读段的核苷酸序列的短随机片段。
质量分数与序列读段中的每个核苷酸相关。这个数字代表机器给出的核苷酸序列中特定位置的特定核苷酸的读段的置信水平。
NGS机器生成的原始测序数据通常存储在FASTQ文件中(另请参见图1)。
表示通过测序过程获得的核苷酸序列的最小词汇由代表DNA中存在的4种核苷酸,即腺嘌呤、胞嘧啶、鸟嘌呤和胸腺嘧啶,加上符号N的五个符号{A,C,G,T,N}组成,以表示测序机无法以足够的置信水平调用任何碱基,因此,这种位置的碱基类型在读取过程中仍未确定。在RNA中,胸腺嘧啶被尿嘧啶(U)取代。由测序机产生的核苷酸序列被称为“读段(read)”。在配对读段的情况下,术语“模板”用于指定已提取出读段对的原始序列。序列读段可以由许多核苷酸组成,核苷酸的数量在几十种至高达几千种的范围内。一些技术成对产生序列读段,其中每个读段可以来自两条DNA链中的一条。
在基因组测序领域中,术语“覆盖百分比(coverage)”用于表示序列数据相对于参考基因组的冗余水平。例如,为了在人类基因组(32亿碱基长)上达到30倍的覆盖百分比,测序机器应产生总共约30×32亿个碱基,使得参考中的每个位置平均被“覆盖”30次。
现有解决方案的状态
最常用的测序数据的基因组信息表示基于FASTQ和SAM文件格式,这些格式通常以压缩形式提供以减小原始大小。分别是用于非对比和对比的排序数据的FASTQ和SAM的传统的文件格式由纯文本字符构成,并且因此通过使用通用方法压缩,例如LZ(来自Lempel和Ziv,发布第一版本的作者)方案(众所周知的zip、gzip等)。当使用诸如gzip的通用压缩器时,压缩的结果通常是单个二进制数据块。当数据量非常大时,特别是在高通量测序的情况下,这种单片形式的信息很难存档、传输和精细处理。
在测序之后,基因组信息处理流水线的每个阶段产生由全新数据结构(文件格式)表示的数据,尽管事实上实际上只有一小部分生成的数据相对于前一阶段是新的。
图1示出了典型的基因组信息处理流水线的主要阶段,其中指示了相关的文件格式表示。
常用的解决方案存在若干缺点:数据存档对于在基因组信息处理流水线的每个阶段使用不同文件格式的这一事实是低效的,这意味着数据的多次复制,结果随之快速增加所需的存储空间。这本身并不高效,因为在逻辑上不是必要的,而是低效且不必要,并且HTS机器产生的数据量的增加也变得不可持续。事实上,这在可用存储空间和产生的成本方面具有后果,并且还阻碍了医疗保健中的基因组分析对更大部分人群的益处。要存储和分析的序列数据的指数增长所产生的IT成本的影响目前是科学界和医疗保健行业必须面对的主要挑战之一(参见Scott D.Kahn,“On the future of genomic data(关于基因组数据的未来)”-Science331,728(2011)以及Pavlichin,D.S.,Weissman,T.,和G.Yona.2013.“Thehuman genome contracts again(人类基因组再次收缩)”,Bioinformatics 29(17):2199-2202)。同时,有几项尝试将基因组测序从少数选定的个体扩展到大量人群的举措(参见Josh P.Roberts,“Million Veterans Sequenced(百万退伍军人测序)”-NatureBiotechnology,31,470(2013))。
基因组数据的传输是缓慢且低效的,因为当前使用的数据格式被组织成需要在接收端完全传输以便进行处理的高达几百Gb大小的单片文件。这意味着对一小部分数据进行分析需要以相当大的在消耗的带宽和等待时间方面的成本传输整个文件。通常,对于要传输的大量数据是被禁止在线传输的,并且通过将诸如硬盘驱动器或存储服务器的存储介质从一个位置物理地移动到另一个位置来执行数据传输。
本发明克服了采用现有技术方法时出现的这些限制。对于这样的事实,处理数据是缓慢且低效的,信息并未以这种方式进行构造使得在不需要访问整体数据的情况下,无法检索常用分析应用程序所需的不同类别数据和元数据的部分。这一事实意味着,在访问、解析和过滤大量数据的每个阶段,即使与特定分析目的相关的数据部分要小得多,由于需要,常见的分析流水线可能需要运行数天或数周,从而浪费宝贵且昂贵的处理资源。
这些限制阻碍了医疗保健专业人员及时获得基因组分析报告并及时对疾病爆发做出反应。本发明提供了满足这种需要的解决方案。
本发明克服了另一个技术限制。
实际上,本发明旨在通过组织和分割数据来提供适当的基因组测序数据和元数据表示,以便最大化数据和元数据的压缩,并且可以有效地启用多种功能,诸如选择性访问和支持增量更新以及许多其他功能。
本发明的一个关键方面是通过在特定层中构造而单独编码(即压缩)的适当的源模型表示的数据和元数据的类的特定定义。对于现有技术方法,本发明最重要的成就在于:
·由于通过为数据或元数据的每个类提供有效模型而造成信息源熵的减少,压缩性能提高;
·为任何进一步处理目的而对压缩数据和元数据的部分进行选择性访问的可能性;
·用新测序数据和/或元数据和/或新分析结果来增量地(不需要重新编码)更新和添加编码数据和元数据的可能性;
·一旦测序机或对比工具产生数据,就能够高效处理数据,而无需等待测序或对比过程的结束。
本申请公开了通过采用结构化访问单元方法解决了非常大量的基因组测序数据的高效操作、存储和传输的问题的方法和系统。
本申请克服了与基因组数据可访问性的功能、数据子集的高效处理、与高效压缩结合的传输和流功能的现有技术方法的所有限制。
今天,基因组数据最常用的表示格式是序列对比映射(SAM,Sequence AlignmentMapping)文本格式及其二进制对应BAM。SAM文件是人类可读的ASCII文本文件,而BAM采用基于块的gzip变体。可以索引BAM文件以启用有限的随机访问模式。这是通过创建单独的索引文件来支持的。
BAM格式的特点是压缩性能较差,原因如下:
1.它侧重于压缩低效且冗余的SAM文件格式,而不是提取SAM文件传达的实际基因组信息,并使用适当的模型来压缩实际基因组信息。
2.它采用通用的文本压缩算法,诸如gzip,而不是利用每个数据源的特定性质(基因组信息本身)。
3.它缺乏与数据分类相关的任何概念,数据分类能够实现特定类别的基因组数据的选择性访问。
不太常用但比BAM更有效的基因组数据压缩的更复杂的方法是CRAM(CRAMspecification:https://samtools.github.io/hts-specs/CRAMv3.pdf)。CRAM为现有引用采用差分编码提供了更高效的压缩(它部分利用了数据源冗余),但仍然缺乏诸如增量更新、支持流和对压缩数据的特定类选择性访问的功能。
CRAM依赖于CRAM记录的概念。每个CRAM记录通过编码重建它所需的所有元素来编码单个映射或未映射的读段。
所公开的发明与CRAM方法的主要区别在于:
1.对于CRAM,数据索引超出了规范的范围(请参阅CRAM规范v 3.0的第12节),并将数据索引作为单独的文件实现。在本发明中,数据索引与编码过程集成,并且索引被嵌入到编码比特流中。
2.在CRAM中,所有核心数据块都可以包含任何类型的映射读段(完全匹配的读段、仅具有替换的读段、具有插入缺失(indels)的读段)。在本发明中,根据相对于参考序列的映射结果,没有对类中的读段进行分类和分组的概念。
3.在所描述的发明中,没有封装每个读段的记录的概念,因为重建每个读段所需的数据被分散在被称为“层”的若干数据容器中。这使得能够更高效地访问具有特定生物学特征的读段组(例如具有替换但没有插入缺失的读段,或完美映射的读段),而无需解码每个(块)读段以检查其特征。
4.在CRAM记录中,每种类型的数据由特定标志表示。与CRAM不同,本发明中没有表示数据的标志的概念,因为数据本质上是由数据所属的“层”定义的。这意味着要使用的符号数量大大减少,并且随后减少信息源熵,导致更高效的压缩。这是由于使用不同的“层”使得编码器能够跨越具有不同含义的每个层重复使用相同的符号。在CRAM中,每个标志必须始终具有相同的含义,因为没有上下文的概念,并且每个CRAM记录可以包含任何类型的数据。
5.在CRAM替换中,根据不同的语法表达插入和缺失,而本发明使用单个字母表并编码用于替换、插入和缺失。这使得编码和解码过程更简单并且产生更低的熵源模型,其编码产生以更高压缩性能为特征的比特流。
现有技术中使用的基因组压缩算法可以分为以下类别:
·基于变换
·基于LZ
·读段重排序
·基于组装
·统计建模
前两个类别的共同缺点是不利用数据源(基因组序列读段)的特定特征,并将基因组数据作为要压缩的文本串进行处理,而不考虑此类信息的特定属性(例如,读段之间的冗余、对现有样本的参考)。用于基因组数据压缩的两个最先进的工具包,即CRAM和Goby(“结构化高通量测序数据的压缩”,F.Campagne,K.C.Dorff,N.Chambwe,J.T.Robinson,J.P.Mesirov,T.D.Wu),很难使用算术编码,因为它们通过几何分布隐式地将数据建模为独立的且相同分布的。Goby略微复杂,因为它将所有字段转换为整数列表,并且每个列表使用算术编码进行独立编码,而不使用任何上下文。在最有效的操作模式中,Goby能够在整数列表上执行一些列表间建模以改善压缩。这些现有技术解决方案产生差的压缩比和数据结构,这些数据结果一旦被压缩就难以(如果并非不可能)选择性地访问和操纵。由于连执行简单操作或访问基因组数据集的选定区域也必须处理大而刚性的数据结构,结果下游分析阶段可能效率低且非常慢。
图1示出基因组处理流水线中使用的文件格式之间关系的简化视图。在此图中,文件包含并不意味着存在嵌套文件结构,但它仅表示可以为每种格式编码的信息的类型和数量(即SAM包含FASTQ中的所有信息,但组织在不同的文件结构中)。CRAM包含与SAM/BAM相同的基因组信息,但它在可以使用的压缩类型方面具有更大的灵活性,因此它表示为SAM/BAM的超集。
使用多种文件格式来存储基因组信息是非常低效和昂贵的。在基因组信息生命周期的不同阶段具有不同的文件格式意味着即使增量信息最小,所利用的存储空间也会线性增长。下面列出了现有技术解决方案的其他缺点。
1.访问、分析在压缩的FastQ文件或其任何组合中存储的原始数据或向该原始数据添加注释(元数据)需要通过大量使用计算资源和时间来解压和重新压缩整个文件。
2.检索特定的信息子集,诸如读段映射位置、读段变体位置和类型、插入缺失位置和类型或在BAM文件中存储的对比数据中包含的任何其他元数据和注释,需要访问与每个读段相关联的整个数据卷。现有技术解决方案不可能选择性地访问单类元数据。
3.现有技术文件格式要求在处理可以开始之前在最终用户处接收整个文件。例如,读段的对比可以在依赖于适当的数据表示完成测序过程之前开始。测序、对比和分析可以并行开始和运行。
4.现有技术解决方案不支持结构化,并且不能根据不同测序过程的特定生成语义(例如,在同一个体的不同生命时间获得的测序)来区分通过不同测序过程获得的基因组数据。对于通过同一个体的不同类型的生物样品获得的测序出现相同的限制。
5.现有技术解决方案不支持对数据的整个部分或所选部分进行加密。例如,以下各项的加密:
a.选定的DNA区域
b.仅包含变体的那些序列
c.仅嵌合的序列
d.仅未映射的序列
e.特定元数据(例如,测序样本的来源、测序个体的标识、样本类型)
6.从与给定参考(即SAM/BAM文件)对比的测序数据转录到新的参考需要处理整个数据量,即使新参考仅与先前参考的单核苷酸位置不同。
因此需要适当的基因组信息存储层(基因组文件格式),该基因组信息存储层能够实现高效压缩,支持压缩域中的选择性访问,支持在基因组数据处理的不同阶段的所有级别的压缩域中增量添加异构元数据。
本发明通过采用所附权利要求组中所要求保护的方法、装置和计算机程序,提供了对现有技术的限制的解决方案。
附图说明
图1示出了典型基因组流水线的主要步骤和相关的文件格式。
图2示出了最常用的基因组文件格式之间的相互关系。
图3示出了如何通过从头组装或基于参考的对比在整个或部分基因组中组装基因组序列读段。
图4示出了如何计算参考序列上的读段映射位置。
图5示出了如何计算读段配对距离。
图6示出了如何计算配对错误。
图7示出了当读段配偶对被映射在不同染色体上时如何编码配对距离。
图8示出了序列读段如何来自基因组的第一或第二DNA链。
图9示出了在链2上映射的读段如何在链1上具有相应的反向补码读段。
图10示出了组成读段对的读段的四种可能组合以及rcomp层中的相应编码。
图11示出了如何在nmis层中编码N个失配。
图12示出了映射读段对中的替换实例。
图13示出了替换位置如何能够被计算为绝对值或差值。
图14示出了如何计算对没有IUPAC代码的替换进行编码的符号。
图15示出了如何在snpt层中对替换类型进行编码。
图16示出了如何计算对具有IUPAC代码的替换进行编码的符号。
图17示出了替换的替代源模型,其中仅对位置进行编码,但是每个替换类型使用一个层。
图18示出了当不使用IUPAC代码时如何对I类读段对中的替换、插入和缺失进行编码。
图19示出了当使用IUPAC代码时如何对I类读段对中的替换、插入和缺失进行编码。
图20示出了基因组信息数据结构的头文件的结构。
图21示出了主索引表如何包含每个访问单元中第一读段的参考序列上的位置。
图22示出了部分MIT的实例,该部分MIT示出了在P类的每个pos AU中的第一读段的映射位置。
图23示出了层头文件中的本地索引表如何是指向有效载荷中的AU的指针的向量。
图24示出了本地索引表的实例。
图25示出了主索引表和本地索引表之间的功能关系。
图26示出了访问单元如何由属于多个层的数据块组成。层由细分在数据包中的块组成。
图27示出了类型1的基因组访问单元(包含位置、配对、反向补码和读段长度信息)如何打包并封装在基因组数据复用中。
图28示出了访问单元如何由头文件和属于同质数据的一层或多层同质数据的复用块组成。每个块可以由包含基因组信息的实际描述符的一个或多个数据包组成。
图29示出了不需要参考来自待访问或解码并已访问的其他访问单元的任何信息的类型0的访问单元的结构。
图30示出了类型1的访问单元的结构。
图31示出了包含参考类型1的访问单元的数据的类型2的访问单元的结构。这些是编码读段中N的位置。
图32示出了包含参考类型1的访问单元的数据的类型3的访问单元的结构。这些是编码读段中失配的位置和类型。
图33示出了包含参考类型1的访问单元的数据的类型4的访问单元的结构。这些是编码读段中失配的位置和类型。
图34示出了前五种类型的访问单元。
图35示出了类型1的访问单元参考要解码的类型0的访问单元。
图36示出了类型2的访问单元参考要解码的类型0和1的访问单元。
图37示出了类型3的访问单元参考要解码的类型0和1的访问单元。
图38示出了类型4的访问单元参考要解码的类型0和1的访问单元。
图39示出了解码具有被映射在参考序列的第二区段(AU 0-2)的失配的序列读段所需的访问单元。
图40示出了变得可用的原始基因组序列数据如何被递增地添加到预编码的基因组数据中。
图41示出了基于访问单元的数据结构如何在排序过程完成之前启动基因组数据分析。
图42示出了对现有数据执行的新分析如何能够暗示读段从类型4的AU移动到类型3之一。
图43示出了新生成的分析数据如何封装在类型6的新AU中并在MIT中创建相应的索引。
图44示出了由于新参考序列(基因组)的发布而如何对数据进行转码。
图45示出了如何将被映射到具有更好质量(例如无插入缺失)的新基因组区域的读段从类型4的AU移动到类型3的AU。
图46示出了在找到新映射位置的情况下(例如,具有较少的失配)如何能够将相关读段从一个AU移动到同一类型的另一个AU。
图47示出了选择性加密如何能够应用于类型4的访问单元,仅仅因为它们包含要保护的敏感信息。
图48示出了原始基因组序列数据或对比的基因组数据如何被处理成封装在基因组复用中。可能需要对比、重新对比、组装阶段来准备用于编码的数据。生成的层被封装在访问单元中并通过基因组复用器复用。
图49示出了基因组解复用器(501)如何从基因组复用中提取访问单元层,每个AU类型的一个解码器(502)提取基因组描述符,然后将基因组描述符解码(503)成各种基因组格式,诸如FASTQ和SAM/BAM。
具体实施方式
本发明描述了用于以表示分子的符号序列的形式存储、传输、访问和处理基因组或蛋白质组信息的复用文件格式和相关的访问单元。
这些分子包括例如核苷酸、氨基酸和蛋白质。表示为符号序列的最重要的信息之一是由高通量基因组测序装置产生的数据。
任何活生物体的基因组通常表示为表达表征该生物体的核酸(碱基)链的一串符号。现有技术的基因组测序技术能够以与元数据(标识符、准确度等)相关的若干(多达数十亿)核酸串的形式仅产生基因组的片段化表示。这种串通常被称为“序列读段”或“读段”。
基因组信息生命周期的典型步骤包括序列读段提取、映射和对比、变体检测、变体注释以及功能和结构分析(参见图1)。
序列读段提取是由人类操作员或机器执行的过程,是遗传信息片段的表示的过程,遗传信息片段的表示是以表示构成生物样品的分子的符号序列的形式。在核酸的情况下,这种分子被称为“核苷酸”。通过提取产生的符号序列通常称为“读段”。该信息通常在现有技术中被编码为FASTA文件,文件包括文本头文件和表示测序分子的符号序列。
当对生物样品进行测序以提取生物体的DNA时,字母表由符号(A,C,G,T,N)组成。
当对生物样品进行测序以提取生物体的RNA时,字母表由符号(A,C,G,U,N)组成。
在IUPAC扩展符号集的情况下,所谓的“歧义代码”也由测序机生成,用于构成读段的符号的字母表是(A,C,G,T,U,W,S,M,K,R,Y,B,D,H,V,N或-)。
当不使用IUPAC模糊度代码时,质量得分序列可以与每个序列读段相关联。在这种情况下,现有技术解决方案将得到的信息编码为FASTQ文件。测序装置可能会在序列读段中引入错误,诸如:
1.错误的符号(即代表不同的核酸)的标识来表示实际存在于测序样品中的核酸;这通常被称为“替换错误”(失配);
2.在不涉及任何实际存在的核酸的其他符号的一个序列读段中的插入;这通常被称为“插入错误”;
3.来自表示实际存在于测序样品中的核酸的符号的一个序列读段的缺失;这通常被称为“缺失错误”;
4.将一个或多个片段重组成不反映起始序列的实际情况的单个片段。
术语“覆盖百分比”在文献中用于量化参考基因组或参考基因组的部分能够被可用序列读段覆盖的程度。覆盖百分比被称为是:
·当参考基因组的某些部分未被任何可用的序列读段映射时的部分(小于1X)
·当参考基因组的所有核苷酸被序列读段中的一个且唯一一个符号映射时的单个(1X)
·当参考基因组的每个核苷酸被多次映射时的多个(2X,3X,NX)。
序列对比是指通过寻找可能是序列之间的功能、结构或进化关系的结果的相似性区域来排列序列读段的过程。当参考称为“参考基因组”的预先存在的核苷酸序列进行对比时,该过程被称为“映射”。在这种情况下,也可以在没有预先存在的序列(即参考基因组)的情况下进行序列对比,该方法在现有技术中称为“从头”对比。现有技术解决方案将该信息存储在SAM、BAM或CRAM文件中。对比序列以重建部分或完整基因组的概念如图3所示。
变体检测(也被称为变体调用)是将基因组测序机的对比输出(由NGS装置产生并对比的序列读段)翻译成被测序的生物体的独特特征的概述的过程,被测序的生物体的独特特征在其他预先存在的序列中不能找到或者可以仅在少数预先存在的序列中找到。这些特征被称为“变体”,因为它们被表示为所研究的生物体的基因组与参考基因组之间的差异。现有技术解决方案将该信息存储在被称为VCF文件的特定文件格式中。
变体注释是将功能信息分配给由变体调用过程所识别的基因组变体的过程。这意味着根据变体与基因组中编码序列的关系以及根据变体对编码序列和基因产物的影响的变体分类。这在现有技术中通常存储在MAF文件中。
分析DNA(变体,CNV=拷贝数变异,甲基化等)链以确定它们与基因(和蛋白质)功能和结构的关系称为功能或结构分析。现有技术中存在几种不同的解决方案用于存储该数据。
基因组文件格式
在本文献中公开的发明包括用于表示、处理、操纵和传输基因组测序数据的压缩数据结构的定义,该定义与现有技术解决方案的不同之处在于至少以下方面:
-它不依赖于任何现有技术的基因组信息表示格式(即FASTQ、SAM)。
-它根据基因组数据和元数据的具体特征实施基因组数据和元数据的新的原始分类。序列读段被映射到参考序列,并根据对比过程的结果被分组在不同的类中。这导致具有较低信息熵的数据类,这些数据类可以通过使用不同的特定压缩算法进行更高效地编码。
-它定义了将序列读段和对比信息传递给对于下游分析应用程序能更高效处理的表示的语法元素和相关的编码/解码过程。
根据映射结果对读段进行分类并使用存储在层中(位置层、配合距离层、失配类型层等)的描述符对它们进行编码具有以下优点:
·当特定源模型对不同语法元素建模时,信息熵减少。
·更高效地访问已经组织在组/层中的数据,组/层具有用于下游分析阶段的特定含义,并且可以单独且独立地进行访问。
·存在模块化数据结构,这些模块化数据结构可以通过仅访问所需信息而不需要解码整个数据内容来递增地更新。
·由于信息本身的性质以及减轻测序过程中固有的错误的需要,测序机产生的基因组信息本质上是高度冗余的。这意味着需要识别和分析的相关遗传信息(相对于参考的变化)只是生成数据的一小部分。现有技术的基因组数据表示格式不被设想为在给定的分析阶段将有意义的信息与其余信息“隔离”,以使意义的信息迅速可用于分析应用。
·本发明所带来的解决方案是以这样一种方式表示基因组数据:数据的任何相关部分都可以容易地用于分析应用而无需访问和解压整个数据,并且通过高效压缩以最小化所需的存储空间和传输带宽来高效减少数据的冗余。
本发明的关键要素是:
1.以压缩形式“包含”结构化和可选择性访问的数据元素访问单元(AU)的文件格式的规范。这种方法可以被视为与现有技术方法,例如SAM和BAM相反,现有技术方法中数据以非压缩形式构造,然后压缩整个文件。本方法的第一个明显优点是能够高效且自然地提供对压缩域中的数据元素的各种形式的结构化选择性访问,这在现有技术方法中是不可能的或极其笨拙的。
2.将基因组信息结构化为同质数据和元数据的特定“层”提供了相当大的优势,使得能够定义以低熵为特征的信息源的不同模型。这些模型不仅可以在层与层之间不同,而且当层内的压缩数据被划分为包含在访问单元中的数据块时,每个层内也可以不同。这种结构使得能够对每类数据或元数据及其部分使用最合适的压缩,与现有技术方法相比,编码效率显著增加。
3.信息被结构化成访问单元(AU),使得基因组分析应用使用的任何相关数据子集可通过适当的接口高效且有选择地访问。这些特征可以更快地访问数据并提高处理效率。
4.主索引表和本地索引表的定义,使得能够选择性地访问由编码(即压缩)数据的层承载的信息,而无需解码整个压缩数据量。
5.通过对压缩域中的所选数据部分进行高效转码,当需要与新发布的参考基因组重新对比时,能够对已经对比和压缩的基因组数据进行重新排列。新参考基因组的频繁发布目前需要资源消耗和时间用于转码过程,以相对于新发布的参考重新对比已经压缩和存储的基因组数据,因为需要处理所有数据量。
本文件中描述的方法旨在利用关于基因组数据的可用先验知识来定义具有降低的熵的语法元素的字母表。在基因组学中,通常具有与待处理的种类相同种类的现有的基因组序列通常但不一定表示可用的知识。例如,不同个体的人类基因组仅相差1%。另一方面,少量数据包含足够的信息,以实现早期诊断、个性化医疗、定制药物合成等。本发明旨在定义基因组信息表示格式,其中相关信息可被高效地访问和传输,并且减少了冗余信息的权重。
本发明中使用的技术特征是:
1.将基因组信息分解为同质元数据的“层”,以尽可能地减少信息熵;
2.定义主索引表和本地索引表,以便能够选择性地访问被编码的信息的层,而无需解码整个编码信息;
3.采用上下文自适应二进制算术编码来编码在点1处定义的语法元素;
4.层的同步使得能够选择性地访问数据,而不必在不需要时解码所有层;
5.关于可被修改以减少熵的一个或多个自适应参考序列的差分编码。在基于第一参考的编码之后,记录的失配可以用于“适应/修改”参考序列,以便进一步减少信息熵。只要信息熵的减少是有意义的,这是一个可以迭代执行的过程。
为了解决现有技术的所有上述问题(就高效访问文件中的随机位置、高效传输和存储、高效压缩而言),本申请将更同质和/或语义上重要的数据重新排序并打包在一起以便容易处理。
本发明还采用基于访问单元概念的数据结构。
基因组数据被构建并编码到不同的访问单元中。以下是对包含在不同访问单元中的基因组数据的描述。
基因组数据分类
根据关于一个或多个参考序列或基因组的对比结果,通过测序机产生的序列读段被公开的发明分类为5个不同的“类”。
当将核苷酸的DNA序列与参考序列对比时,可能的结果为:
1.发现参考序列中的区域与序列读段匹配而没有任何错误(完美映射)。这种核苷酸序列将被称为“完全匹配的读段”或表示为“P类”
2.发现参考序列中的区域与序列读段匹配,该匹配有许多失配,该失配由测序机器不能调用任何碱基(或核苷酸)的多个位置构成。这种失配用“N”表示。这些序列将被称为“N失配读段”或“N类”。
3.发现参考序列中的区域与序列读段匹配,该匹配有许多失配,该失配由测序机器不能调用任何碱基(或核苷酸)的许多位置构成或者由测序机器不能调用已经调用与参考序列中报告的碱基不同的碱基的许多位置构成。这种类型的失配称为单核苷酸变异(SNV)或单核苷酸多态性(SNP)。该序列将被称为“M失配读段”或“M类”。
4.第四类由呈现失配类型的测序读段构成,该失配类型包括相同的M类失配加上插入或缺失的存在(也被称为插入缺失)。插入由参考中不存在但存在于读段序列中的一个或多个核苷酸的序列表示。在文献中,当插入的序列位于序列的边缘时,它被称为“软剪切”(即,核苷酸与参照不匹配,但保留在对比的读段中,这与被丢弃的“硬剪切”核苷酸相反)。保留或丢弃核苷酸通常是实现为对比工具的配置的用户决定。缺失是相对于参考的对比读段中的“孔”(缺少核苷酸)。这些序列将被称为“I失配读段”或“I类”。
5.第五类包括根据指定的对比约束在参考序列上现在能找到任何有效映射的所有读段。这些序列被称为是未映射的,并且属于“U类”
可以使用从头组装算法将未映射的读段组装成单个序列。一旦创建了新序列,未映射的读段就可以针对新序列被进一步映射,并将未映射的读段分类为4个类P、N、M和I中的一个。
该基因组数据的数据结构需要由解码引擎使用的全局参数和元数据的存储。这些数据在下表所述的主头文件中构成。
表1-主头文件结构
一旦用类的定义完成了读段的分类,进一步的处理在于定义一组不同的语法元素,这些语法元素表示当DNA读段序列被表示为映射在给定参考序列上时能够重建DNA读段序列的剩余信息。参考给定参考序列的DNA片段可以通过以下方式完全表达:
·参考序列(pos)上的起始位置。
·当必须将读段视为与参考(rcomp)相对的反向补码时发信号的标志。
·在配对读段(对)时与配偶对的距离。
·在测序技术产生可变的长度读段的情况下,读段长度的值。在读段长度恒定的情况下,与每个读段相关联的读段长度显然可以被省略,并且可以存储在主文件头中。
·对于每个失配:
○失配的位置(N类为nmis,M类为snpp,I类为indp)
○失配类型(N类中不存在,M类中的snpt,I类中的indt)
·指示序列读段的特定特性的标志,例如:
○在测序中具有多个片段的模板
○每个片段根据对比器正确对比
○未映射的片段
○模板中的下一个片段未映射
○第一片段或最后一片段的信号
○质量控制失败
○PCR或光学复制
○二次对比
○补充对比
·存在时可选的软剪切核苷酸串(I类中的indc)
该分类创建可用于单义地表示基因组序列读段的描述符(语法元素)组。下表总结了每类对比读段所需的语法元素。
表2-每类数据的定义层。
属于P类的读段被表征并且可以仅通过位置、反向补码信息来完美地重建,和在通过产生配偶对、一些标记和读段长度的测序技术获得配偶之间的偏移的情况下,仅通过配偶之间的偏移来完美地重建。
下一节将详细介绍如何定义这些描述符。
位置描述符层
在每个访问单元中,只有第一编码读段的映射位置作为参考基因组上的绝对位置被存储在AU头文件中。所有其他位置表示为相对于先前位置的差异并存储在特定层中。由读段位置的序列定义的信息源的建模,通常以降低的熵为特征,特别是对于产生高覆盖百分比结果的测序过程。一旦存储了第一对比的绝对位置,其他读段的所有位置都表示为相对于第一对比的差异(距离)。
例如,图4示出了在将第一对比的起始位置编码为参考序列上的位置“10000”之后,如何将从位置10180开始的第二读段的位置编码为“180”。对于高覆盖百分比数据(>50x),位置向量的大多数描述符将显示诸如0和1以及其他小整数的低值,这些低值的出现非常高。图4示出了三个读段对的位置如何在pos层中编码。
相同的源模型用于属于N、M、P和I类的读段的位置。为了实现对数据的任何组合的选择性访问,属于这四个类的读段的位置被编码在单独的层中,如表1所示。
配对描述符层
配对描述符被存储在配对层中。当所采用的测序技术产生成对读段时,这种层存储对重建起始读段对所需信息进行编码的描述符。尽管在本发明公开之日,绝大多数测序数据是通过使用产生成对读段的技术产生的,但并非所有技术都是如此。如果所考虑的基因组数据的测序技术不产生成对的读段信息,则这是为了重建所有测序数据信息不需要该层的存在的原因。
定义:
·配偶对:读段对中与另一个读段相关联的读段(例如,图4的实例中的读段2是读段1的配偶对)
·配对距离:参考序列上的核苷酸位置的数目,其将第一读段中的一个位置(配对锚,例如第一读段的最后一个核苷酸)与第二读段的一个位置(例如第二读段的第一个核苷酸)分开。
·最可能的配对距离(MPPD,most probable pairing distance):这是以核苷酸位置的数目表示的最可能的配对距离。
·位置配对距离(PPD,position pairing distance):PPD是根据特定位置描述符层中存在的将一个读段与其相应配偶分开的读段的数量来表达配对距离的方式。
·最可能的位置配对距离(MPPPD,most probable position pairingdistance):在特定位置描述符层中存在的将一个读段与其配偶对分开的最可能的读段数。
·位置配对错误(PPE,position pairing error):定义为MPPD或MPPPD与配偶的实际位置之间的差异。
·配对锚:一对中第一读段的最后一个核苷酸的位置,用作以核苷酸位置的数目或读段位置的数目计算配偶对的距离的参考。
图5示出了如何计算读段对之间的配对距离。
对描述层是配对错误的向量,被计算为要跳过的读段的数量以相对于定义的解码配对距离到达对的第一读段的配偶对。
图6示出了如何计算配对错误的实例,配对错误两者是绝对值和差分向量(以高覆盖百分比的低熵为特征)。
相同的描述符用于属于N、M、P和I类的读段的配对信息。为了能够选择性地访问不同的数据类,属于这四个类的读段的配对信息被编码在不同的层中,如图所示。
在被映射到不同参考的读段情况下的配对信息
在将序列读段映射到参考序列上的过程中,将对中的第一读段映射到一个参考(例如染色体1)并且将第二读段映射到不同的参考(例如染色体4)并不罕见。在这种情况下,上述配对信息必须通过与用于映射其中一个读段的参考序列相关的附加信息进行整合。这是通过编码以下各项实现的:
1.保留值(标志),指示该对被映射在两个不同的序列上(不同的值指示读段1或读段2是否被映射到当前未编码的序列)
2.唯一参考标识符,指的是在表1中描述的主头文件结构中编码的参考标识符。
3.第三元素,包含关于在点2处识别的参考的映射信息,并且表示为相对于最后一个编码位置的偏移。
图7提供了此方案的实例。
在图7中,由于读段4未映射到当前编码的参考序列,因此基因组编码器通过在对层中制作附加描述符来发信号通知该信息。在图7所示的实例中,对2的读段4被映射在4号参考上,而当前编码的参考是1号。该信息使用3个分量进行编码:
1)一个特殊的保留值被编码为配对距离(在这种情况下是0xffffff)
2)第二描述符提供主头文件中列出的参考ID(在这种情况下是4)
3)第三元素包含关于关注的参考的映射信息(170)。
反向补码描述符层
通过测序技术产生的读段对的每个读段,可以源自测序的有机样品的任一基因组链。但是,两个链中只有一个用作参考序列。图8示出了在读段对中如何一个读段(读段1)可以来自一个链而另一个读段(读段2)可以来自另一个链。
当链1用作参考序列时,读段2可以编码为链1上相应断片的反向补码。这显示在图9中。
在耦合读段的情况下,四个是直接和反向补码配偶对的可能组合。这在图10中示出。rcomp层编码四种可能的组合。
相同的编码用于属于P、N、M、I类的读段的反向补码信息。为了能够增强对数据的选择性访问,属于这四个类的读段的反向补码信息被编码在不同的层中,如表2所示。
N类的失配
N类包括显示失配的所有读段,其中存在“N”而不是碱基调用。所有其他碱基在参考序列上完全匹配。
读段1中的Ns的位置被编码为:
·读段1中的绝对位置,或
·作为相对于相同读段(具有最低的熵的那个读段)中先前N的差分位置。
读段2中的Ns的位置被编码为:
·读段2中的绝对位置+读段1长度,或
·相对于先前N的差分位置(无论哪个都具有最低熵)。
在nmis层中,每个读段对的编码由特殊的“分隔符”“S”符号终止。如图11所示。
编码替换(失配或SNP)
替换被定义为相对于存在于参考序列中相同位置的核苷酸,在映射读段中存在不同的核苷酸(参见图12)。
每个替换都可以被编码为:
·“位置”(snpp层)和“类型”(snpt层)。请参见图13、图14、图16和图15。
或者
·仅“位置”,但每个失配类型使用一个snpp层。见图17
替换位置
替换位置被计算为nmis层的值,即:
在读段1中,替换被编码为:
·读段1中的绝对位置,或者
·相同读段中先前替换的差异位置
在读段2中,替换被编码为:
·读段2的绝对位置+读段1长度,或
·相对于先前替换的差异位置。图13示出了如何在层snpp中编码替换位置。替换位置可以被计算为绝对值或差分值。
在snpp层中,每个读段对的编码由特殊的“分隔符”符号终止。
替换类型描述符
对于M类(和如下一节所述的I类),失配通过索引(从右向左移动)从引用中存在的实际符号编码到读段{A,C,G,T,N,Z}中存在的相应替换符号:。例如,如果对比的读段呈现C而不是存在于参考中的相同位置的T,则失配索引将表示为“4”。解码过程读取编码的语法元素,参考上给定位置处的核苷酸,并从左向右移动以检索解码的符号。例如,对于参考中存在G的位置接收的“2”将被解码为“N”。图14示出了当不使用IUPAC模糊度代码时的所有可能的替换和相应的编码符号,并且图15提供了在snpt层中编码替换类型的实例。
在存在IUPAC歧义代码的情况下,替换索引发生变异,如图16所示。
在上述替换类型的编码呈现高信息熵的情况下,替换编码的替换方法包括仅将失配位置存储在单独的层中,每个核苷酸一个,如图17所示。
插入和缺失的编码
对于I类,失配和缺失由索引(从右向左移动)从引用中存在的实际符号编码到读段:{A,C,G,T,N,Z}中存在的相应替换符号进行。例如,如果对比的读段呈现C而不是存在于参考中相同位置的T,则失配索引将为“4”。如果读段呈现缺失,其中A存在于参考中,则编码符号将为“5”。解码过程读取解码的语法元素,参考上给定位置处的核苷酸,并从左向右移动以检索解码的符号。例如,对于参考中存在G的位置接收的“3”将被解码为表示在序列读段中存在缺失的“Z”。
对于插入的A、C、G、T、N,插入分别被编码为6、7、8、9、10。
在采用IUPAC模糊代码的情况下,替换机制结果完全相同,但替换向量扩展为:S={A,C,G,T,N,Z,M,R,W,S,Y,K,V,H,D,B}。
图18和图19示出了如何在I类读段对中编码替换、插入和缺失的实例。
参考上面公开的编码元素描述文件格式和访问单元的以下结构。然而,访问单元、文件格式和复用也与源建模和基因组数据压缩的其他和不同算法产生相同的技术优势。
文件格式:选择性访问基因组数据的区域
主索引表
为了支持对对比数据的特定区域的选择性访问,本文档中描述的数据结构实现了被称为主索引表(MIT)的索引工具。这是包含在使用的参考序列上的特定读段映射的基因座的多维数组。MIT中包含的值是每个pos层中第一读段的映射位置,使得支持对每个访问单元的非顺序访问。MIT包含每类数据(P,N,M和I)和每个参考序列的一个部分。MIT包含在编码数据的主头文件中。图20示出了主头文件的通用结构,图21示出了MIT的通用可视化表示,并且图22示出了编码读段的类P的MIT的实例。
包含在图22中描绘的MIT中的值用于直接访问压缩域中的感兴趣区域(和相应的AU)。
例如,参考图22,如果需要访问参考2上位置150,000与250,000之间的区域,则解码应用将跳到MIT中的第二参考并且将寻找两个值k1和k2,使得k1<150,000,并且k2>250,000。其中k1和k2是从MIT读取的2个索引。在图22的实例中,这将导致MIT的第二向量的位置3和4。然后,解码应用将使用这些返回值从pos层本地索引表中获取适当数据的位置,如下一节所述。
连同指向包含属于上述四类基因组数据的数据的层的指针,MIT可以用作在基因组数据生命周期期间添加到基因组数据的附加元数据和/或注释的索引。
本地索引表
上述每个数据层都以被称为本地头文件的数据结构为前缀。本地头文件包含该层的唯一标识符、每个参考序列的访问单元计数器的向量、本地索引表(LIT)以及可选的一些层特定元数据。LIT是指向属于层有效载荷中每个AU的数据的物理位置的指针的向量。图23描绘了通用层头文件和有效载荷,其中LIT用于以非顺序方式访问编码数据的特定区域。
在前面的实例中,为了访问2号参考序列上对比的读段的区域150,000至250,000,解码应用从MIT检索位置3和4。解码过程将使用这些值来访问LIT相应部分的第3和第4个元素。在图24所示的实例中,层头文件中包含的总访问单元计数器用于跳过与参考1相关的AU相关的LIT索引(在本实例中为5)。因此,包含编码流中所请求的AU的物理位置的索引被计算为:
属于所请求的AU的数据块的位置=属于要跳过的参考1的AU的数据块+使用MIT检索的位置,即,
第一块位置:5+3=8
最后一个块位置:5+4=9
使用调用本地索引表的索引机制检索的数据块是所请求的访问单元的一部分。
图26示出了使用MIT和LIT检索的数据块如何组成一个或多个访问单元。
访问单元
以数据类来分类并在压缩或未压缩层中构建的基因组数据被组织成不同的访问单元。
基因组访问单元(AU)被定义为基因组数据的部分(以压缩或未压缩的形式),该基因组数据的部分重建核苷酸序列和/或相关元数据和/或DNA/RNA序列(例如虚拟参考)和/或由基因组测序机和/或基因组处理装置或分析应用产生的注释数据。
访问单元是可以通过仅使用全局可用数据(例如,解码器配置)独立于其他访问单元进行解码或使用其他访问单元中包含的信息进行解码的数据块。访问单元包含与位置信息(绝对和/或相对)形式的基因组数据、与反向补码相关的信息以及可能的配对和附加数据相关的数据信息。可以识别几种类型的访问单元。
访问单元的区别在于:
·类型,表征它们携带的基因组数据和数据集的性质以及它们的访问方式,
·顺序,提供访问属于同一类型的单元的唯一顺序。
任何类型的访问单元可以进一步被分类为不同的“类别”。
以下是不同类型的基因组访问单元定义的非详尽列表:
1)类型0的访问单元不需要参考来自待访问的或被解码并已访问的其他访问单元的任何信息(参见图29)。由它们包含的数据或数据集携带的整个信息参考号可以由解码设备或处理应用程序独立地读取和处理。
2)类型1的访问单元包含参考由类型0的访问单元携带的数据的数据(参见图30)。读取或解码和处理类型1的访问单元中包含的数据需要访问类型0的一个或多个访问单元。
3)这种类型的访问单元可以包含关于类型0的访问单元中包含的信息的失配或不相似或不对应的信息。
4)类型2、3和4的访问单元包含参考类型1的访问单元的数据(参见图31、图32和图33)。读取或解码和处理由类型2、3和4的访问单元包含的数据或数据集需要由访问单元ty中包含的数据或数据集所携带的信息。
5)类型0和1。类型2、3和4访问单元之间的差异取决于它们包含的信息的性质。
6)类型5的访问单元包含与类型1的访问单元中包含的数据或数据集相关联的元数据(例如,质量分数)和/或注释数据。类型5的访问单元可以在不同的层中被分类和标记。
7)类型6的访问单元包含被分类为注释数据的数据或数据集。类型6的访问单元可以在多个层中被分类和标记。
8)其他类型的访问单元可以扩展此处描述的结构和机制。作为实例,但不作为限制,基因组变体调用、结构和功能分析的结果可以被编码在新类型的访问单元中。本文中描述的访问单元中的数据组织不阻止任何类型的数据被封装在访问单元中,该访问单元是关于编码数据的性质完全透明的机制。
这种类型的访问单元可以包含关于类型0的访问单元中包含的信息的失配或不相似或不对应的信息。
图28示出了访问单元如何由标题和一层或多层同质数据组成。每个层可以由一个或多个块组成。每个块包含几个数据包,并且数据包是上面引入以表示例如读段位置、配对信息、反向补码信息、失配位置和类型等的描述符的结构化序列。
每个访问单元在每个块中可以具有不同数量的数据包,但是在访问单元内,所有块具有相同数量的数据包。
每个数据包可以通过3个标识符X Y Z的组合来识别,其中:
·X标识它所属的访问单元
·Y标识它所属的块(即它封装的数据类型)
·Z是表示相对于同一块中的其他数据包的数据包顺序的标识符
·图28示出了访问单元和数据包标签的实例。
·图34至图38示出了
几种类型的访问单元,表示它们的常用语法如下:
AU_T_N是具有标识符N的类型T的访问单元,AU_T_N可以意味着或可以不意味着根据访问单元类型的顺序概念。标识符用于将一种类型的访问单元与完全解码所携带的基因组数据所需的其他类型的访问单元唯一地相关联。
可以根据不同的测序过程将任何类型的访问单元进行分类并标记为不同的“类别”。例如,但不作为限制,可以在进行以下各项时进行分类和标记:
-在不同时间对同一生物体进行测序(访问单元包含具有“时间”内涵的基因组信息),
-对同一生物体的不同性质的有机样品(例如皮肤、血液、人类样品的毛发)进行测序。这些是具有“生物”内涵的访问单元。
类型1、2、3和4的访问单元是根据相对于它们所指的类型0的访问单元中编码的参考序列应用在基因组序列片段(也被称为读段)上的匹配函数的结果构建的。
例如,类型1的访问单元(AU)(参见图30)可以包含那些读段的位置和反向补码标志,这些标志当匹配函数应用于在类型0的AU中编码的参考序列的特定区域时导致完美匹配(或者对应于所选匹配函数的最大可能得分)。与类型0的AU中包含的数据一起,这种匹配函数信息足以完全重建由类型1的访问单元承载的数据集所代表的所有基因组序列读段。
参考先前在本文件中描述的基因组数据分类,上述类型1的访问单元将包含与P类的基因组序列读段(完全匹配)的相关的信息。
在可变读段长度和配对读段的情况下,前一实例中提到的类型1的AU中包含的数据必须与表示关于读段配对和读段长度的信息的数据集成,以便能够完全重建包括读段对关联的基因组数据。关于先前在本文件中引入的数据分类,对和rlen层将被编码在类型1的AU中。
针对类型1的访问单元应用的匹配函数,对类型2、3和4的AU的内容进行分类可以提供如下结果:
-包含在类型1的AU中的每个序列与指定位置对应的类型0的AU中包含的序列完全匹配;
-包含在类型2的AU中的每个序列与指定位置对应的类型0的AU中包含的序列完全匹配;除了在类型2的AU中的序列中存在的“N”符号(测序装置未调用的碱基)之外;
-包含在类型3的AU中的每个序列包括相对于指定位置所对应的类型0的AU中包含的序列的替换符号(变体)形式的变体;
-包含在类型4的AU中的每个序列包括相对于指定位置所对应的类型0的AU中包含的序列的替换符号(变体)、插入和/或缺失形式的变体;
类型0的访问单元是有序的(例如编号的),但它们不需要以有序的方式存储和/或传输(技术优势:并行处理/并行流式传输、复用)
类型1、2、3和4的访问单元不需要排序,也不需要以有序的方式存储和/或传输(技术优势:并行处理/并行流式传输)。
每个访问单元中包含的序列读段的数量是用户通过在根据本发明对基因组数据进行编码时使用的用户界面所指定的配置参数。该配置参数可以例如在相关访问单元的头文件中发送。
技术效果
如此处所述,在访问单元中构建基因组信息的技术效果是基因组数据:
1.可以选择性地查询以访问:
-数据的特定“类别”(例如,具有特定的时间或生物学内涵),而不必解压整个基因组数据或数据集和/或相关元数据。
-所有“类别”的基因组的特定区域、“类别”的子集、单个“类别”(有或没有相关元数据),无需解压基因组的其他区域
2.可以使用在以下时间可用的新数据逐步更新:
-对基因组数据或数据集进行新的分析
-通过对相同生物体(不同生物样品、相同类型的不同生物样品,例如在不同时间获得的血液样品,等)进行测序来产生新的基因组数据或数据集。
3.在以下情况下可以高效地转码为新的数据格式
-用作新参考的新基因组数据或数据集(例如,由类型0的AU承载的新参考基因组)
-更新编码格式规范
相对于诸如SAM/BAM的现有技术解决方案,上述技术特征解决了当从编码的格式检索和解压整个数据时要求在应用级发生数据过滤的问题。
以下是应用场景的实例,其中访问单元结构有助于技术优势。
选择性访问
特别地,基于不同类型的访问单元的所公开的数据结构使得能够
-仅提取所有“类别”或子集(即一个或多个层)或单个“类别”的整个测序的读段信息(数据或数据集),而不需要还解压相关的元数据信息(当前技术水平的限制:SAM/BAM甚至不能支持不同类别或层之间的区别)
-提取所有类别、类别子集、单个类别(有或没有相关元数据)的假定参考序列的特定区域上对比的所有读段,而不需要还解压基因组的其他区域(现有技术限制:SAM/BAM);
图39示出了对具有失配的参考序列(AU 0-2)的第二区段上映射的基因组信息的访问如何仅需要仅对AU 0-2、1-2和3-2进行解码。这是根据与映射区域(即参考序列上的位置)相关的标准和与应用于关于参考序列的编码序列读段的匹配函数相关的标准的选择性访问的实例(例如,仅在此实例中失配)。
进一步的技术优势是查询数据在数据可访问性和执行速度方面更高效,因为它可以基于仅访问和解码选择“类别”,较长基因组序列的特定区域,以及仅与所应用查询的标准匹配的类型1、2、3、4的访问单元的特定层及其任何组合。
将类型1、2、3、4的访问单元组织成层允许高效提取核苷酸序列
-具有关于一个或多个参考基因组的特定变异(例如失配、插入、缺失);
-不映射到任何考虑的参考基因组;
-完美地映射一个或多个参考基因组;
-具有一个或多个准确度的映射
增量更新
类型5和6的访问单元允许容易地插入注释而无需对整个文件进行解包/解码/解压,从而增加了文件的高效处理,这是现有技术方法的限制。在可以访问所需的基因组数据之前,现有的压缩解决方案可以必须访问并处理大量的压缩数据。这将导致低效的RAM带宽利用率以及硬件实施方式中的更多功耗。通过使用基于此处描述的访问单元的方法,可以减轻功耗和存储器访问问题。
主索引表(参见图21)中描述的数据索引机制与访问单元的利用一起实现了编码内容的增量更新,如下所述。
其他数据的插入
出于若干原因,可以定期将新基因组信息添加到现有基因组数据中。例如,在以下情况下:
·生物体在不同的时刻进行测序;
·同一个体的几个不同样品同时测序;
·测序过程生成的新数据(流式传输)。
在上述情况下,使用此处描述的访问单元和文件格式部分中描述的数据结构来构造数据使得能够对新生成的数据进行增量集成,而无需重新编码现有数据。增量更新过程可以按如下方式实现:
1.新生成的AU可以简单地在文件中与预先存在的AU串联,以及
2.新生成的数据或数据集的索引包含在本文档的文件格式部分中描述的主索引表中。一个索引应将新生成的AU定位在现有参考序列上,其他索引包括物理文件中新生成的AU的指针,以实现对它们的直接和选择性访问。
该机制如图40所示,其中在类型1的3个AU和从2至4的每个类型的4个AU中编码的预先存在的数据用每个类型3个AU更新,编码数据例如来自针对同一个体的新序列。
在流式传输压缩形式的基因组数据和数据集的特定用例中,预先存在的数据集的增量更新在分析数据时可能是有用的,只要数据由测序机在实际测序完成之前生成。编码引擎(压缩器)可以通过“聚类”映射在所选参考序列的相同区域上的序列读段来并行组装若干AU。一旦第一AU包含高于预先配置的阈值/参数的多个读段,就可以将AU发送到分析应用。与新编码的访问单元一起,编码引擎(压缩器)应确保新AU所依赖的所有访问单元已经被发送到接收端或与新AU一起发送。例如,类型3的AU将要求在接收端存在适当的类型0和类型1的AU,以便被正确地解码。
通过所描述的机制,接收变体调用应用将能够在发送侧完成测序过程之前接收的AU上开始调用变体。该过程的示意图如图41所示。
新的结果分析
在基因组处理生命周期期间,可以对相同数据应用基因组分析的若干次迭代(例如,使用不同处理算法的不同变体调用)。使用本文档中定义的AU和本文档文件格式部分中描述的数据结构使得能够利用新分析的结果对现有压缩数据进行增量更新。
例如,对现有压缩数据执行的新分析可以在这些情况下生成新数据:
1.新分析可以修改已经与编码数据相关联的现有结果。该用例在图42中示出,并且通过将一个访问单元的内容从一种类型完全或部分地移动到另一种类型来实现。在需要创建新的AU(由于每个AU预定义的最大大小)的情况下,必须创建主索引表中的相关索引,并在需要时对相关向量进行排序。
2.新数据是从新分析产生的,并且必须与现有编码数据相关联。在这种情况下,可以生成类型5的新AU并将新AU与现有的相同类型的AU向量串联。这个以及主索引表的相关更新如图43所示。
上述用例和图42和图43中描述的用例通过以下方式启用:
1.仅直接访问具有较差映射质量的数据的可能性(例如,类型4的AU);
2.通过简单地创建可能属于新类型的新访问单元,可以将读段重新映射到新的基因组区域(例如,包含在类型4AU中的读段可以被重新映射到具有较少(类型2-3)失配的新区域并包括在新创建的AU中);
3.创建仅包含新创建的分析结果和/或相关注释的类型6的AU的可能性。在这种情况下,新创建的AU仅需要包含对它们所参考的现有AU的“指针”。
转码
压缩的基因组数据可能需要转码,例如,在以下情况下:
·出版新的参考序列;
·使用不同的映射算法(重新映射)。
当基因组数据被映射到现有的公共参考基因组时,该参考序列的新版本的发布或使用不同处理算法映射数据的期望,在今天需要重新映射的过程。当使用诸如SAM或CRAM的现有技术文件格式重新映射压缩数据时,必须将整个压缩数据解压成其“原始”形式,以便参考新可用的参考序列或使用不同的映射算法再次映射。即使新发布的参考与之前略有不同,或者使用的不同映射算法产生与先前映射非常接近(或相同)的映射,也是如此。
使用此处描述的访问单元对基因组数据进行代码转换的优点是:
1.映射与新的参考基因组仅需要重新编码(解压和压缩)映射在具有变化的基因组区域上的AU的数据。另外,用户可以选择那些因任何原因可能需要重新映射的压缩读段,即使它们最初没有映射在改变的区域上(如果用户认为先前的映射质量差,则可能发生这种情况)。该用例如图44所示。
2.如果新发表的参考基因组仅在转移到不同基因组位置(“基因座”)的整个区域方面与先前的参考基因组不同,则转码操作结果特别简单和高效。实际上,为了移动映射到“移位”区域的所有读段,仅改变相关AU(组)头文件中包含的绝对位置的值就足够了。每个AU头文件包含绝对位置,AU中包含的第一读段被映射到参考序列,而所有其他读段位置相对于第一读段以差分方式编码。因此,通过简单地更新第一读段的绝对位置的值,AU中的所有读段被相应地移动。该机制不能通过诸如CRAM和BAM的现有技术方法来实现,因为基因组数据位置在压缩有效载荷中被编码,因此需要对所有基因组数据集进行完全解压和再压缩。
3.当使用不同的映射算法时,可以仅将其应用于被视为以低质量映射的压缩读段的一部分。例如,仅对在参考基因组上不完全匹配的读段应用新的映射算法是合适的。对于现有的格式,根据它们的映射质量(即失配的存在和数量)提取读段是不可能的(或者在一些限制的情况下仅部分可能)。如果新的映射工具返回新的映射结果,则相关的读段可以从来自同一类型的另一个的一个AU(图46)或从来自一种类型的一个AU被转码为另一个类型的AU(图45)。
此外,在可以访问所需的基因组数据之前,现有的压缩解决方案必须访问并处理大量的压缩数据。这将导致低效的RAM带宽利用率以及硬件实施方式中的更多功耗。通过使用基于此处描述的访问单元的方法,可以减轻功耗和存储器访问问题。
采用这里描述的基因组访问单元的另一个优点是促进并行处理和硬件实施方式的适用性。目前的解决方案,诸如SAM/BAM和CRAM,是为单线程软件实施方式而设计的。
选择性加密
基于本文档中描述的在若干类型的层中组织的访问单元的方法使得能够实施内容保护机制,否则使用现有技术的单片解决方案是不可能的。
本领域技术人员知道,与生物体的遗传谱相关的大多数基因组信息依赖于关于已知序列(例如参考基因组或基因组群)的差异(变体)。因此,要保护免受未经授权访问的个人遗传概况将在本文档中描述的类型3和4的访问单元中进行编码。因此,可以通过仅加密类型3和4的AU的有效载荷来实现对由排序和分析过程产生的最合理的基因组信息的受控访问的实施方式(例如,参见图47)。这将在处理能力和带宽方面产生显著节省,因为消耗资源的加密过程仅应用于数据子集。
Claims (23)
1.一种映射到参考序列的基因组数据的压缩的方法,其特征在于,所述方法包括,将所述基因组数据的文件划分为不同类型的数据单元,
其中所述划分是使得
第一类型的数据单元(280)包含基因组数据,所述基因组数据是被用于映射编码数据和位置数据的参考序列的一部分,所述位置数据指示所述参考序列的所述一部分的第一核苷酸的绝对位置,其中,所述基因组数据不参考任何其他类型的数据单元(290,300,310,320,321),第二类型的数据单元(290)包括基因组数据,所述基因组数据根据在参考基因组上的映射分类,并且构造在同质数据的层中,所述第二类型的数据单元也包含与指示与包含在所述第一类型的数据单元(280)的所述参考序列的所述一部分完美匹配的读段的位置的位置数据相关的信息以及相对于所述第一类型的数据单元中包含的基因组信息的反向补码信息,以及其中,
在所述第二类型的数据单元中的所述位置数据被存储,使得第一读段的映射位置作为绝对位置被存储,所有其他位置被表示为相对于先前位置的差别并被存储在特定层,以及
所述位置数据和反向补码数据在同质数据的各自不同层中构建,并通过应用特定的压缩算法进行压缩。
2.根据权利要求1所述的方法,其特征在于,所述第二类型的数据单元(290)还包括,与基因组读对配对(294)有关的信息和/或与读段长度(295)有关的进一步的信息。
3.根据权利要求1所述的方法,其特征在于,将所述基因组数据划分为不同类型的数据单元还包括另外类型的数据单元(300),所述另外类型的数据单元(300)包含与失配位置相关的信息,其中测序机不能确定任何核苷酸(存在N符号)。
4.根据前述权利要求中任一项所述的方法,其特征在于,将所述基因组数据划分为不同类型的数据单元还包括附加类型的数据单元(310),所述附加类型的数据单元包含与失配位置(311)和失配类型(312)相关的信息,失配涉及与所述第一类型的数据单元(280)相关的基因组数据。
5.根据权利要求1-3中任一项所述的方法,其特征在于,将所述基因组数据划分为不同类型的数据单元还包括附加类型的数据单元(320,321),所述附加类型的数据单元包含与插入缺失和失配位置有关的信息(321)、与插入缺失和失配类型有关的信息(322)以及关于软剪切核苷酸的信息和关于硬剪切的核苷酸的信息(323)。
6.根据权利要求1-3中任一项所述的方法,其特征在于,所述划分还包括另一种不同类型的数据单元,所述另一种不同类型的数据单元包含与数据单元相关联的元数据(432)和/或质量分数和/或注释数据(431)相关的信息。
7.根据权利要求6所述的方法,其特征在于,所述划分还包括包含注释数据的附加的不同类型的数据单元。
8.根据权利要求7所述的方法,其特征在于,权利要求7的数据单元的数据被组织成层,每个层包括与不同类别有关的信息,所述不同类别为:位置数据、反向补码、可选配对、可选失配和可选注释数据。
9.根据权利要求1-3中任一项所述的方法,其特征在于,所述数据单元包含头文件和有效载荷数据。
10.根据权利要求1所述的方法,其特征在于,所述第二类型的数据单元包括关于所述读段的配对的信息,并且其中,在所述数据单元的头文件中发信号通知所述关于所述读段的配对的信息的存在。
11.根据权利要求1-3中任一项所述的方法,其特征在于,包括在第一类型的数据单元中的读段的数量通过输入配置参数来设置。
12.根据权利要求11所述的方法,其特征在于,所述输入配置参数存储在所述数据单元的头文件中。
13.根据权利要求1-3中任一项所述的方法,其特征在于,所述数据单元的内容是加密的。
14.一种设备,其特征在于,所述设备包括适于执行根据权利要求1-3所述的方法的装置。
15.一种存储设备,其特征在于,所述存储设备存储根据权利要求1-3所述的方法被划分到数据单元中的基因组数据。
16.一种非暂时性计算机可读记录介质,其特征在于,所述计算机可读记录介质上记录有包括用于执行根据权利要求1-3所述的方法的指令集的程序。
17.一种方法,其特征在于,所述方法压缩根据权利要求1-3所述的方法被划分到数据单元中的基因组数据,其中,所述基因组数据被组织以形成文件格式。
18.一种对被划分为根据权利要求1-3所述的方法创建的数据单元的基因组数据的文件进行转码的方法,其特征在于,使得当数据相对新的参考基因组被重对比时,仅修改数据单元的有效载荷信息,而不必对整个文件进行转码。
19.根据权利要求18所述的方法,其特征在于,仅修改所选择的数据单元。
20.根据权利要求19所述的方法,其特征在于,所选择的数据单元是类型0(280)。
21.根据权利要求20所述的方法,其特征在于,所选择的数据单元是任何类型1-5(290,300,310,320,321)。
22.一种压缩的基因组数据的解压的方法,其特征在于,所述压缩的基因组数据包括不同类型的数据单元,所述数据单元表示所述基因组数据的文件的划分,其中,所述方法包括:
解码第一类型的数据单元(280)从中提取基因组数据,所述基因组数据是被用于映射基因组数据和位置数据的参考序列的一部分,所述位置数据指示所述参考序列的所述一部分的第一核苷酸的绝对位置,其中,所述基因组数据不参考任何其他类型的数据单元(290,300,310,320,321),
解码第二类型的数据单元(290)从中提取:(i)基因组数据,所述基因组数据根据在参考基因组上的映射分类,并且构造在同质数据的层中,(ii)与指示与包含在所述第一类型的数据单元(280)的所述参考序列的所述一部分完美匹配的读段的位置的位置数据相关的信息,以及(iii)相对于所述第一类型的数据单元中包含的基因组信息的反向补码信息,
其中,在所述第二类型的数据单元中的所述位置数据被存储,使得第一读段的映射位置作为绝对位置被存储,所有其他位置被表示为相对于先前位置的差别并被存储在特定层,
所述方法还包括,通过应用特定的解压缩算法,解压缩所述位置数据和反向补码数据,所述位置数据和反向补码数据在同质数据的各自不同层中构建。
23.一种设备,其特征在于,所述设备包括适于执行根据权利要求22所述的方法的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2016/074301 WO2018068828A1 (en) | 2016-10-11 | 2016-10-11 | Method and system for storing and accessing bioinformatics data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110168652A CN110168652A (zh) | 2019-08-23 |
CN110168652B true CN110168652B (zh) | 2023-11-21 |
Family
ID=57241049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680090046.4A Active CN110168652B (zh) | 2016-10-11 | 2016-10-11 | 用于存储和访问生物信息学数据的方法和系统 |
Country Status (16)
Country | Link |
---|---|
US (1) | US11386979B2 (zh) |
EP (1) | EP3526710A1 (zh) |
JP (1) | JP7092757B2 (zh) |
KR (1) | KR20190073428A (zh) |
CN (1) | CN110168652B (zh) |
AU (1) | AU2016426570A1 (zh) |
BR (1) | BR112019007307A2 (zh) |
CA (1) | CA3039689A1 (zh) |
CL (1) | CL2019000956A1 (zh) |
CO (1) | CO2019003599A2 (zh) |
EA (1) | EA037106B1 (zh) |
IL (1) | IL265909B2 (zh) |
MX (1) | MX2019004123A (zh) |
PH (1) | PH12019500794A1 (zh) |
SG (1) | SG11201903180RA (zh) |
WO (1) | WO2018068828A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11386979B2 (en) | 2016-10-11 | 2022-07-12 | Genomsys Sa | Method and system for storing and accessing bioinformatics data |
CN111028883B (zh) * | 2019-11-20 | 2023-07-18 | 广州达美智能科技有限公司 | 基于布尔代数的基因处理方法、装置及可读存储介质 |
EP3896698A1 (en) | 2020-04-15 | 2021-10-20 | Genomsys SA | Method and system for the efficient data compression in mpeg-g |
KR102418617B1 (ko) * | 2020-10-13 | 2022-07-07 | 서울대학교산학협력단 | 염기 비율과 연속적 발생을 제한하는 dna 저장 부호화 방법, 프로그램 및 장치 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102084380A (zh) * | 2007-08-02 | 2011-06-01 | 何塞·丹尼尔·洛皮斯·洛皮斯 | 仿真染色体“dna”结构链的电子系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003188735A (ja) * | 2001-12-13 | 2003-07-04 | Ntt Data Corp | データ圧縮装置及び方法並びにプログラム |
US20040153255A1 (en) * | 2003-02-03 | 2004-08-05 | Ahn Tae-Jin | Apparatus and method for encoding DNA sequence, and computer readable medium |
US8340914B2 (en) * | 2004-11-08 | 2012-12-25 | Gatewood Joe M | Methods and systems for compressing and comparing genomic data |
JP4852313B2 (ja) * | 2006-01-20 | 2012-01-11 | 富士通株式会社 | ゲノム解析プログラム、該プログラムを記録した記録媒体、ゲノム解析装置およびゲノム解析方法 |
WO2012031031A2 (en) * | 2010-08-31 | 2012-03-08 | Lawrence Ganeshalingam | Method and systems for processing polymeric sequence data and related information |
US9449191B2 (en) * | 2011-11-03 | 2016-09-20 | Genformatic, Llc. | Device, system and method for securing and comparing genomic data |
US9734284B2 (en) * | 2013-03-15 | 2017-08-15 | Micron Technology, Inc. | Hardware acceleration of short read mapping for genomic and other types of analyses |
US10902937B2 (en) * | 2014-02-12 | 2021-01-26 | International Business Machines Corporation | Lossless compression of DNA sequences |
US11386979B2 (en) | 2016-10-11 | 2022-07-12 | Genomsys Sa | Method and system for storing and accessing bioinformatics data |
-
2016
- 2016-10-11 US US16/341,373 patent/US11386979B2/en active Active
- 2016-10-11 EA EA201990920A patent/EA037106B1/ru unknown
- 2016-10-11 CA CA3039689A patent/CA3039689A1/en not_active Abandoned
- 2016-10-11 AU AU2016426570A patent/AU2016426570A1/en not_active Abandoned
- 2016-10-11 EP EP16791319.3A patent/EP3526710A1/en active Pending
- 2016-10-11 BR BR112019007307A patent/BR112019007307A2/pt not_active Application Discontinuation
- 2016-10-11 WO PCT/EP2016/074301 patent/WO2018068828A1/en active Search and Examination
- 2016-10-11 IL IL265909A patent/IL265909B2/en unknown
- 2016-10-11 JP JP2019520450A patent/JP7092757B2/ja active Active
- 2016-10-11 CN CN201680090046.4A patent/CN110168652B/zh active Active
- 2016-10-11 KR KR1020197013594A patent/KR20190073428A/ko not_active Application Discontinuation
- 2016-10-11 SG SG11201903180RA patent/SG11201903180RA/en unknown
- 2016-10-11 MX MX2019004123A patent/MX2019004123A/es unknown
-
2019
- 2019-04-09 CL CL2019000956A patent/CL2019000956A1/es unknown
- 2019-04-11 CO CONC2019/0003599A patent/CO2019003599A2/es unknown
- 2019-04-11 PH PH12019500794A patent/PH12019500794A1/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102084380A (zh) * | 2007-08-02 | 2011-06-01 | 何塞·丹尼尔·洛皮斯·洛皮斯 | 仿真染色体“dna”结构链的电子系统 |
Non-Patent Citations (1)
Title |
---|
人类基因组结构注释数据库系统存储优化;祝凯;《软件导刊》;20070930(第17期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
PH12019500794A1 (en) | 2019-12-02 |
AU2016426570A9 (en) | 2019-10-03 |
IL265909B2 (en) | 2024-07-01 |
CN110168652A (zh) | 2019-08-23 |
KR20190073428A (ko) | 2019-06-26 |
WO2018068828A1 (en) | 2018-04-19 |
IL265909A (en) | 2019-06-30 |
BR112019007307A2 (pt) | 2019-09-17 |
IL265909B1 (en) | 2024-03-01 |
EA201990920A1 (ru) | 2019-07-31 |
US11386979B2 (en) | 2022-07-12 |
SG11201903180RA (en) | 2019-05-30 |
CO2019003599A2 (es) | 2019-08-30 |
AU2016426570A1 (en) | 2019-06-06 |
JP2019537781A (ja) | 2019-12-26 |
US20200058378A1 (en) | 2020-02-20 |
JP7092757B2 (ja) | 2022-06-28 |
CA3039689A1 (en) | 2018-04-19 |
MX2019004123A (es) | 2019-06-10 |
EA037106B1 (ru) | 2021-02-05 |
EP3526710A1 (en) | 2019-08-21 |
WO2018068828A9 (en) | 2019-09-12 |
CL2019000956A1 (es) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020505702A (ja) | 保存または送信されたバイオインフォマティクスデータへの選択的アクセスのための方法およびシステム | |
CN110088839B (zh) | 用于生物信息学信息表示的有效数据结构 | |
CN110168652B (zh) | 用于存储和访问生物信息学数据的方法和系统 | |
CN110178183B (zh) | 用于传输生物信息学数据的方法和系统 | |
AU2018221458A1 (en) | Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors | |
CN110663022B (zh) | 使用基因组描述符紧凑表示生物信息学数据的方法和设备 | |
NZ757185B2 (en) | Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors | |
NZ753247B2 (en) | Efficient data structures for bioinformatics information representation |
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 |