CN110178183B - 用于传输生物信息学数据的方法和系统 - Google Patents
用于传输生物信息学数据的方法和系统 Download PDFInfo
- Publication number
- CN110178183B CN110178183B CN201680090035.6A CN201680090035A CN110178183B CN 110178183 B CN110178183 B CN 110178183B CN 201680090035 A CN201680090035 A CN 201680090035A CN 110178183 B CN110178183 B CN 110178183B
- Authority
- CN
- China
- Prior art keywords
- data
- genome
- genomic
- reads
- stream
- 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 82
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 238000013507 mapping Methods 0.000 claims description 53
- 238000007906 compression Methods 0.000 claims description 22
- 230000006835 compression Effects 0.000 claims description 22
- 238000012546 transfer Methods 0.000 abstract description 6
- 238000012163 sequencing technique Methods 0.000 description 51
- 230000008569 process Effects 0.000 description 41
- 239000002773 nucleotide Substances 0.000 description 35
- 125000003729 nucleotide group Chemical group 0.000 description 35
- 238000004458 analytical method Methods 0.000 description 30
- 238000012545 processing Methods 0.000 description 28
- 238000006467 substitution reaction Methods 0.000 description 25
- 238000003780 insertion Methods 0.000 description 14
- 230000037431 insertion Effects 0.000 description 14
- 230000008901 benefit Effects 0.000 description 13
- 230000000295 complement effect Effects 0.000 description 13
- 238000012217 deletion Methods 0.000 description 13
- 230000037430 deletion Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 108020004414 DNA Proteins 0.000 description 9
- 238000013459 approach Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 230000002441 reversible effect Effects 0.000 description 8
- 239000012634 fragment Substances 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
- 108091028043 Nucleic acid sequence Proteins 0.000 description 6
- 239000012472 biological sample Substances 0.000 description 6
- 108090000623 proteins and genes Proteins 0.000 description 6
- 238000012268 genome sequencing Methods 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
- 108010038083 amyloid fibril protein AS-SAM Proteins 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000002068 genetic effect Effects 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
- 238000004891 communication Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 230000000694 effects Effects 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
- 238000002864 sequence alignment Methods 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
- 230000006837 decompression Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000003814 drug Substances 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
- 230000010354 integration Effects 0.000 description 2
- 102000004169 proteins and genes Human genes 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012916 structural analysis Methods 0.000 description 2
- 229940113082 thymine Drugs 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
- 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
- 230000001934 delay Effects 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 238000013399 early diagnosis Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 231100000640 hair analysis Toxicity 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
- 238000000638 solvent extraction Methods 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
- 230000009466 transformation 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/50—Compression of genetic data
-
- 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
- G16B20/00—ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
- G16B20/20—Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
-
- 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
- G16B25/00—ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
- G16B25/10—Gene or protein expression profiling; Expression-ratio estimation or normalisation
-
- 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
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/20—Sequence assembly
-
- 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
- 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
-
- 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
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C15/00—Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path
Landscapes
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Genetics & Genomics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Molecular Biology (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Time-Division Multiplex Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
基因组数据传输的方法和系统。通过在划分到随机可访问的访问单元的基因组数据流中利用结构化压缩的基因组数据集的复用来实现基因组数据的传输。
Description
技术领域
本申请提供了用于高效存储、访问、传输和复用生物信息学数据,特别是基因组测序数据的新方法。
背景技术
基因组测序数据的适当表示对于实现基因组数据的高效处理、存储和传输以使得可能进行并促进分析应用(诸如处于各种目的通过处理测序数据和元数据而执行的基因组变体调用和所有分析)是至关重要的。今天,基因组测序信息由高通量测序(HTS)机器以核苷酸(也称为碱基)序列的形式产生,所述核苷酸序列由来自定义的词汇表的字母串表示。
这些测序机不读出整个基因组或基因,但它们产生被称为序列读段的核苷酸序列的短随机片段。
质量分数与序列读段中的每个核苷酸相关。这个数字代表机器给出的核苷酸序列中特定位置的特定核苷酸的读段的置信水平。
NGS机器生成的原始测序数据通常存储在FASTQ文件中(另请参见图1)。
表示通过测序过程获得的核苷酸序列的最小词汇由五个符号:{A,C,G,T,N}组成,代表DNA中存在的4种核苷酸腺嘌呤、胞嘧啶、鸟嘌呤和胸腺嘧啶加上符号N,符号N表示测序机无法以足够的置信水平调用任何碱基,因此,这种位置的碱基类型在读取过程中仍未确定。在RNA中,胸腺嘧啶被尿嘧啶(U)替换。由测序机产生的核苷酸序列被称为“读段(read)”。在配对读段的情况下,术语“模板”用于指定读段对已从中提取的原始序列。序列读段可以由许多核苷酸组成,核苷酸的数量在几十至高达几千的范围内。一些技术成对产生序列读段,其中每个读段可以来自两条DNA链中的一条。
在基因组测序领域中,术语“覆盖率”用于表示序列数据相对于参考基因组的冗余水平。例如,为了在人类基因组(32亿碱基长度)上达到30倍的覆盖率,测序机器应产生总共约30×32亿个碱基,使得参考中的每个位置平均被“覆盖”30次。
现有解决方案的状态
最常用的测序数据的基因组信息表示基于FASTQ和SAM文件格式,这些格式通常以压缩形式提供以减小原始大小。传统的文件格式(分别是用于非比对和比对(align)的测序数据的FASTQ和SAM)由纯文本字符构成,并且因此通过使用通用方法压缩,例如LZ(来自Lempel和Ziv)方案(众所周知的zip、gzip等)。当使用诸如gzip的通用压缩器时,压缩的结果通常是单个二进制数据块。当数据量非常大时,特别是在高通量测序的情况下,这种单片形式的信息很难存档、传输和精细处理。
在测序之后,基因组信息处理流水线的每个阶段产生由全新数据结构(文件格式)表示的数据,尽管事实上实际上只有一小部分生成的数据相对于前一阶段是新的。
图1示出了典型的基因组信息处理流水线的主要阶段,其中指示了相关的文件格式表示。
常用的解决方案存在若干缺点:数据存档对于在基因组信息处理流水线的每个阶段使用不同文件格式的这一事实是低效的,这意味着数据的多次复制,结果随之快速增加所需的存储空间。这是低效且不必要,并且HTS机器产生的数据量的增加也变得不可持续。事实上,这在可用存储空间和产生的成本方面具有后果,并且还阻碍了医疗保健中的基因组分析对更大部分人群的益处。要存储和分析的序列数据的指数增长所产生的IT成本的影响目前是科学界和医疗保健行业必须面对的主要挑战之一(参见Scott D.Kahn,“On thefuture of genomic data(关于基因组数据的未来)”-Science 331,728(2011)以及Pavlichin,D.S.,Weissman,T.,和G.Yona.2013.“The human genome contracts again(人类基因组再次收缩)”,Bioinformatics 29(17):2199-2202)。同时,有几项尝试将基因组测序从少数选定的个体扩展到大量人群的举措(参见Josh P.Roberts,“Million VeteransSequenced(百万退伍军人测序)”-Nature Biotechnology,31,470(2013))。
基因组数据的传输是缓慢且低效的,因为当前使用的数据格式被组织成需要在接收端完全传输以便进行处理的高达几百Gb大小的单片文件。这意味着对一小部分数据进行分析需要在消耗带宽和等待时间方面以相当大的成本传输整个文件。通常,在线传输对于要传输的大量数据是禁止的,并且通过将诸如硬盘驱动器或存储服务器的存储介质从一个位置物理地移动到另一个位置来执行数据传输。
本发明克服了采用现有技术方法时出现的这些限制。对于这样的事实,处理数据是缓慢且低效的,信息并未以这种方式进行构造使得在不需要访问整体数据的情况下,无法检索常用分析应用程序所需的不同类别数据和元数据的部分。这一事实意味着,由于需要,在访问、解析和过滤大量数据的每个阶段,即使与特定分析目的相关的数据部分要小得多,常见的分析流水线也可能需要运行数天或数周,从而浪费宝贵且昂贵的处理资源。
这些限制阻碍了医疗保健专业人员及时获得基因组分析报告并及时对疾病爆发做出反应。本发明提供了满足这种需要的解决方案。
本发明克服了另一个技术限制。
实际上,本发明旨在通过组织和分割数据来提供适当的基因组测序数据和元数据表示,以便最大化数据和元数据的压缩,并且可以有效地启用多种功能,诸如选择性访问和支持增量更新。
本发明的一个关键方面是通过在特定层中构造而单独编码(即压缩)的适当的源模型表示的数据和元数据的类的特定定义。对于现有技术方法,本发明最重要的成就在于:
·由于为数据或元数据的每个类提供有效模型而减少信息源熵,压缩性能提高;
·为任何进一步处理目的而对压缩数据和元数据的部分进行选择性访问的可能性;
·利用新测序数据和/或元数据和/或新分析结果增量(不需要重新编码)更新和添加编码数据和元数据的可能性;
·一旦测序机或比对(alignment)工具产生数据,就能够高效处理数据,而无需等待测序或比对过程的结束。
本申请公开了通过采用与复用技术结合的结构化访问单元方法解决了非常大量的基因组测序数据的高效操作、存储和传输的问题的方法和系统。
本申请克服了与基因组数据可访问性的功能、数据子集的高效处理、与高效压缩结合的传输和流功能的现有技术方法的所有限制。
今天,基因组数据最常用的表示格式是序列比对映射(SAM)文本格式及其二进制对应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中,所有核心数据块都可以包含任何类型的映射读段(完全匹配的读段、仅具有替换的读段、具有插入缺失的读段)。在本发明中,根据相对于参考序列的映射结果,没有对类中的读段进行分类和分组的概念。
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文件中的原始数据或向存储在压缩的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的实例,该实例示出了在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示出了基因组复用中的数据封装,其中一个或多个基因组数据集482-483包含基因组流484以及基因组数据集列表481、基因组数据集映射表485和参考标识符映射表487的流。每个基因组流由头文件488和访问单元486组成。访问单元封装由包4810组成的块489。
图49示出了原始基因组序列数据或比对的基因组数据如何被处理成封装在基因组复用中。可能需要比对、重新比对、组装阶段来准备用于编码的数据。生成的层被封装在访问单元中并通过基因组复用器复用。
图50示出了基因组解复用器(501)如何从基因组复用中提取访问单元层,每个AU类型(502)的一个解码器提取基因组描述符,然后将基因组描述符解码(503)成各种基因组格式,诸如FASTQ和SAM/BAM。
具体实施方式
本发明描述了用于以表示分子的符号序列的形式存储、传送、访问和处理基因组或蛋白质组信息的复用文件格式和相关的访问单元。
这些分子包括例如核苷酸、氨基酸和蛋白质。表示为符号序列的最重要的信息之一是由高通量基因组测序装置产生的数据。
任何活生物体的基因组通常表示为表达表征该生物体的核酸(碱基)链的一串符号。现有的基因组测序技术的当前状态是能够以与元数据(标识符、准确度水平等)相关的若干(多达数十亿)串核酸的形式仅产生基因组的片段化表示。这种串通常被称为“序列读段”或“读段”。
基因组信息生命周期的典型步骤包括序列读段提取、映射和比对、变体检测、变体注释以及功能和结构分析(参见图1)。
序列读段提取是由人类操作员或机器执行的,以表示构成生物样本的分子的符号序列的形式表示遗传信息片段的过程。在核酸的情况下,这种分子被称为“核苷酸”。通过提取产生的符号序列通常称为“读段(reads)”。该信息通常在现有技术中被编码为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.将一个或多个片段重组成不反映起始序列的实际情况的单个片段。
术语“覆盖率(coverage)”在文献中用于量化参考基因组或其部分能够被可用序列读段覆盖的程度。覆盖率被称为是:
·部分(小于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片段可以通过以下方式完全表达:
·参考序列pos(292)上的起始位置。
·当必须将读段视为与参考rcomp(293)相反的反向补码的信号时发信号的标志。
·在配对读段对(294)时与配偶对的距离。
·在测序技术产生可变的长度读段的情况下,读段长度的值(295)。在读段长度恒定的情况下,与每个读段相关联的读段长度显然可以被省略,并且可以存储在主文件头中。
·对于每个失配:
○N类的失配位置nmis(300),M类的snpp(311),I类的indp(321)
○失配类型(N类中不存在,M类中的snpt(312),I类中的indt(322))
·指示序列读段的特定特征的标志(296),例如:
○在测序中具有多个片段的模板
○每个段根据比对器正确比对
○未映射的段
○未映射的模板中的下一个段
○第一段或最后一段的信号
○质量控制失败
○PCR或光学复制
○二次比对
○补充比对
·当对于I类存在时的软剪切核苷酸串(323)
该分类创建可用于单义地表示基因组序列读段的描述符(语法元素)组。下表总结了每类比对读段所需的语法元素。
表2-每类数据的定义层。
在通过产生配偶对、一些标记和读段长度的测序技术获得它们的情况下,属于P类的读段被表征并且可以仅通过位置、反向补码信息和配偶之间的偏移来完美地重构。
下一节将详细介绍如何定义这些描述符。
位置描述符层
在每个访问单元中,只有第一编码读段的映射位置作为参考基因组上的绝对位置存储在AU头文件中。所有其他位置表示为相对于先前位置的差异并存储在特定层中。由读段位置的序列定义的信息源的这种建模通常以降低的熵为特征,特别是对于产生高覆盖率结果的测序过程。一旦存储了第一比对的绝对位置,其他读段的所有位置都表示为相对于第一比对的差异(距离)。
例如,图4示出了在将第一比对的起始位置编码为参考序列上的位置“10000”之后,如何将从位置10180开始的第二读段的位置编码为“180”。对于高覆盖率数据(>50x),位置向量的大多数描述符将显示非常高的低值出现,低值例如0和1以及其他小整数。图4示出了三个读段对的位置如何在pos层中编码。
相同的源模型用于属于N、M、P和I类的读段的位置。为了实现对数据的选择性访问的任何组合,属于这四个类的读段的位置被编码在单独的层中,如表1所示。
配对描述符层
配对描述符被存储在配对层中。当所采用的测序技术产生成对读段时,这种层存储对重构起始读段对所需信息进行编码的描述符。尽管在本发明公开之日,绝大多数测序数据是通过使用产生成对的读段的技术产生的,但并非所有技术都是如此。如果所考虑的基因组数据的测序技术不产生成对的读段信息,则这是不需要该层存在以重构所有测序数据信息的原因。
定义:
·配偶对:与读段对中的另一个读段相关联的读段(例如,图4的实例中,读段2是读段1的配偶对)
·配对距离:参考序列上的核苷酸位置的数目,其将第一读段中的一个位置(配对锚,例如第一读段的最后一个核苷酸)与第二读段的一个位置(例如第二读段的第一个核苷酸)分开。
·最可能的配对距离(MPPD):这是以核苷酸位置数表示的最可能的配对距离。
·位置配对距离(PPD):PPD是根据出现在特定位置描述符层中的将一个读段与其相应配偶分开的读段的数量来表达配对距离的方式。
·最可能的位置配对距离(MPPPD):出现在特定位置描述符层中的将一个读段与其配偶对分开的最可能的读段数。
·位置配对错误(PPE):定义为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中的N的位置被编码为:
·读段1中的绝对位置,或
·作为相对于相同读段(具有最低的熵的那个读段)中先前N的差分位置。读段2中的N的位置被编码为
·读段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的一个或多个访问单元。
这种类型的访问单元可以包含关于类型0的访问单元中包含的信息的失配或不相似或不对应的信息。
3)类型2、3和4的访问单元包含参考类型1的访问单元的数据(参见图31、图32和图33)。读取或解码和处理由类型2、3和4的访问单元包含的数据或数据集需要类型0和1的访问单元中包含的数据或数据集所携带的信息。类型2、3和4访问单元之间的差异取决于它们包含的信息的性质。
4)类型5的访问单元包含与类型1的访问单元中包含的数据或数据集相关联的元数据(例如,质量分数)和/或注释数据。类型5的访问单元可以在不同的层中被分类和标记。
5)类型6的访问单元包含被分类为注释数据的数据或数据集。类型6的访问单元可以在多个层中被分类和标记。
6)其他类型的访问单元可以扩展此处描述的结构和机制。作为实例,而不是限制,基因组变体调用、结构和功能分析的结果可以被编码在新类型的访问单元中。本文中描述的访问单元中的数据组织不阻止任何类型的数据被封装在访问单元中,其是关于编码数据的性质完全透明的机制。
这种类型的访问单元可以包含关于类型0的访问单元中包含的信息的失配或不相似或不对应的信息。
图28示出了访问单元如何由头文件和一层或多层同质数据组成。每个层可以由一个或多个块组成。每个块包含几个数据包,并且数据包是上面引入以表示例如读段位置、配对信息、反向补码信息、失配位置和类型等的描述符的结构化序列。
每个访问单元在每个块中可以具有不同数量的数据包,但是在访问单元内,所有块具有相同数量的数据包。
每个数据包可以通过3个标识符X Y Z的组合来识别,其中:
·X标识它所属的访问单元
·Y标识它所属的块(即它封装的数据类型)
·Z是表示相对于同一块中的其他包的包顺序的标识符
·图28示出了访问单元和数据包标签的实例。
·图34至图38示出了几种类型的访问单元,表示它们的常用语法如下:
AU_T_N是具有标识符N的类型T的访问单元,其可以意味着或可以不意味着根据访问单元类型的顺序概念。标识符用于将一种类型的访问单元与完全解码所携带的基因组数据所需的其他类型的访问单元唯一地相关联。
可以根据不同的测序过程将任何类型的访问单元进行分类并标记为不同的“类别”。例如,但不作为限制,可以在进行以下各项时进行分类和标记:
-在不同时间对同一生物体进行测序(访问单元包含具有“时间”内涵的基因组信息),
-对同一生物体的不同性质的有机样本(例如皮肤、血液、人类的毛发样本)进行测序。这些是具有“生物”内涵的访问单元。
类型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中的序列中存在的“N”符号(测序装置未调用的碱基)之外;包含在类型2的AU中的每个序列与指定位置对应的类型0的AU中包含的序列完全匹配;
-包含在类型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所依赖的所有访问单元已经被发送到接收端或与其一起发送。例如,类型3的AU将要求在接收端存在适当的类型0和类型1的AU,以便被正确地解码。
通过所描述的机制,接收变体调用应用程序将能够在发送侧完成测序过程之前开始调用在AU上接收的变体。该过程的示意图如图41所示。
新的结果分析
在基因组处理生命周期期间,可以对相同数据应用基因组分析的若干次迭代(例如,使用不同处理算法的不同变体调用)。使用本文档中定义的AU和本文档文件格式部分中描述的数据结构使得能够利用新分析的结果对现有压缩数据进行增量更新。
例如,对现有压缩数据执行的新分析可以在这些情况下生成新数据:
1.新分析可以修改已经与编码数据相关联的现有结果。该用例在图42中示出,并且通过将一个访问单元的内容从一种类型完全或部分地移动到另一种类型来实现。如果需要创建新的AU(由于每个AU预定义的最大大小),必须创建主索引表中的相关索引,并在需要时对相关向量进行排序。
2.新数据是从新分析产生的,并且必须与现有编码数据相关联。在这种情况下,可以生成类型5的新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)。这将在处理能力和带宽方面产生显著节省,因为消耗资源的加密过程仅应用于数据子集。
基因组访问单元的传送
基因组数据复用(Genomic Data Multiplex)
基因组访问单元可以通过基因组数据复用内的通信网络传输。根据作为本发明的一部分公开的数据分类,基因组数据复用被定义为表示在可能发生诸如数据包丢失的错误的网络环境中传输的的分组化基因组数据和元数据的序列。
基因组数据复用被设想为在不同环境(通常是网络环境)下容易且致使更高效地传送基因组编码数据,并且具有现有技术解决方案中不存在的以下优点:
1.它使得编码工具生成的基因组文件格式或基因组数据的流或序列(如下所述)能够封装到一个或多个基因组数据复用中,以便通过网络环境承载,然后恢复有效且等同的流或文件格式,以便更高效地传输和访问信息。
2.它使得能够从封装的基因组数据流中选择性地检索编码的基因组数据,用于解码和呈现。
3.它使得多个基因组数据集能够复用到单个信息容器中进行传送,并且使得能够将携带信息的子集解复用到新的基因组数据复用中。
4.它使得能够复用由不同来源(随后单独访问的)和/或测序/分析处理产生的数据和元数据,并通过网络环境传输所得的基因组数据复用。
5它支持诸如丢包等错误的识别。
6它支持适当的重新排序数据,这些数据可能由于网络延迟而无序到达,因此与现有技术的解决方案相比,可以更高效地传输基因组数据。
基因组数据复用的实例如图49所示。
基因组数据集
在本发明的上下文中,基因组数据集被定义为基因组数据的结构化集,包括例如生物体的基因组数据、由基因组数据处理的若干个步骤产生的一个或多个序列和元数据或生物体的基因组测序的结果。一个基因组数据复用可以包括多个基因组数据集(如在多通道场景中),其中每个数据集指的是不同的生物体。几个数据集到单个基因组数据复用中的复用机制由被称为基因组数据集列表(GDL)和基因组数据集映射表(GDMT)的数据结构中包含的信息控制。
基因组数据集列表
基因组数据集列表(GDL)被定义为列出基因组数据复用中可用的所有基因组数据集的数据结构。每个列出的基因组数据集都由被称为基因组数据集ID(GID)的唯一值识别。
GDL中列出的每个基因组数据集都与以下内容相关:
·携带一个基因组数据集映射表(GDMT)并通过流ID的特定值识别的一个基因组数据流(genomic_dataset_map_SID);
·携带一个参考ID映射表(RIDMT)并由流ID的特定值识别的一个基因组数据流(reference_id_map_SID)。
在基因组数据流传输开始时,GDL作为单个传送数据包的有效载荷被发送;然后可以定期重新发送它,以便能够随机访问流。
下表中提供了GDL数据结构的语法,其中指示了与每个语法元素相关的数据类型。
构成上述GDL的语法元素具有以下含义和功能。
基因组数据集映射表
在流处理开始时产生并发送基因组数据集映射表(GDMT)(并且可能周期性地重新发送、更新或等同,以便能够更新流数据中的相关依赖性和对应点)。GDMT由基因组数据集列表后的单个包携带,并列出了识别组成一个基因组数据集的基因组数据流的SID。GDMT是组成由基因组复用携带的组成一个基因组数据集的基因组数据流的所有标识符(例如,基因组序列、参考基因组、元数据等)的完整集合。基因组数据集映射表通过提供与每个基因组数据集相关的基因组数据流的标识符而有助于实现对基因组序列的随机访问。
下表中提供了GDMT数据结构的语法,其中指示了与每个语法元素相关的数据类型。
构成上述GDMT的语法元素具有以下含义和功能。
extension_flelds是可选描述符,可用于进一步描述基因组数据集或一个基因组数据集组分。
参考ID映射表
在流式传输过程开始时产生并发送参考ID映射表(RIDMT)。RIDMT由基因组数据集列表后的单个包携带。RIDMT指定访问单元的块头文件中包含的参考序列的数字标识符(REFID)与表1中指定的主头文件中包含的(通常是文字的)参考标识符之间的映射。
可以定期重新传输RIDMT,以便:
·使得能够更新流数据中的对应点和相关依赖关系,
·支持添加到预先存在的参考序列的新参考序列的集成(例如,由从头组装过程创建的合成参考)
下表中提供了RIDMT数据结构的语法,其中指示了与每个语法元素相关的数据类型。
构成上述RIDMT的语法元素具有以下含义和功能。
基因组数据流
基因组数据复用包含一个或多个基因组数据流,其中每个流可以传输
·包含传送信息的数据结构(例如基因组数据集列表、基因组数据集映射表等)
·属于本发明中描述的基因组数据层之一的数据。
·与基因组数据相关的元数据
·任何其他数据
包含基因组数据的基因组数据流本质上是基因组数据层的数据包化版本,其中每个包前面都有一个描述包内容的头文件以及它是如何与复用的其他元素相关的。
本文件中描述的基因组数据流格式和本发明中定义的文件格式是可相互转换的。尽管只有在接收到所有数据之后才能完整地重构完整文件格式,但是在流式传输的情况下,解码工具可以在任何时间重构和访问并且开始处理部分数据。
基因组数据流由若干个基因组数据块组成,每个基因组数据块包含一个或多个基因组数据包。基因组数据块(GDB)是组成一个基因组AU的基因组信息的容器。根据通信信道要求,GDB可以分成若干个基因组数据包。基因组访问单元由属于不同基因组数据流的一个或多个基因组数据块组成。
基因组数据包(GDP)是组成一个GDB的传输单元。通常根据通信信道要求来设置包大小。
图27示出了当编码属于本发明中定义的P类的数据时基因组复用、流、访问单元、块和数据包之间的关系。在该实例中,三个基因组流封装关于序列读数的位置、配对和反向互补的信息。
基因组数据块由头文件、压缩数据的有效载荷和填充信息组成。
下表提供了具有每个字段的说明和典型的数据类型的GDB头文件的实施方式的实例。
AUID、POS和BS的使用使解码器能够重构在本发明中被称为主索引表(MIT)和本地索引表(LIT)的数据索引机制。在数据流场景中,AUID和BS的使用使接收端能够在本地动态地重新创建LIT,而无需发送额外数据。AUID、BS和POS的使用将使得能够在本地重新创建MIT,而无需发送额外数据。这具有以下技术优势:
·减少编码开销,如果传输整个LIT,编码开销会很大;
·避免需要基因组位置与访问单元之间的完整映射,这在流场景中通常不可用。
可以根据诸如最大数据包大小、丢包率等的网络层约束,将基因组数据块拆分为一个或多个基因组数据包。基因组数据包由编码或加密的基因组数据的头文件和有效载荷组成,如下表所述。
仅当接收到至少一个基因组数据集列表、一个基因组数据集映射表和一个参考ID映射表时,才能正确解码基因组复用,从而允许将每个包映射到特定的基因组数据集组分。
复用编码过程
图49示出了在本发明提供的数据结构中转化之前,原始基因组序列数据需要如何被映射到一个或多个在先已知的参考序列上(493)。在参考序列不可用的情况下,可以从原始序列数据(490)构建合成参考。这个过程被称为从头组装。已经比对的数据可以被重新比对以减少信息熵(492)。在比对后,基因组分类器(494)根据一个或多个参考序列上的序列读段的匹配函数创建数据类,并且从基因组序列分离元数据(432)(例如,质量值)和注释数据(431)。然后,数据解析器(495)生成本发明中描述的访问单元,并将它们发送到生成基因组复用的基因组复用器(496)。
Claims (19)
1.一种传输作为复用的数据流的基因组数据的方法,其特征在于,包括:
基因组数据集列表数据结构(481),用于提供所有基因组数据集(482-483)的列表,所述基因组数据集包括基因组流(484)中可用的基因组数据;
基因组数据集映射表(485)数据结构,用于提供与每个基因组数据集(482-483)相关的所述基因组数据的每个流的标识符;
其中所述基因组数据集被划分为可随机访问的访问单元(486);
所述基因组流(484)包括编码的比对读段,所述编码的比对读段被组织为同质数据描述符,以单义地表示基因组序列读段;
其中,在每个访问单元中,将所述访问单元的第一读段的映射位置作为相对于参考基因组的绝对位置进行存储,以及所有其他位置被表达为相对于先前位置的差异;
所述方法还包括,所述同质数据描述符的压缩以及所述数据流的传输。
2.根据权利要求1所述的方法,其特征在于,还包括参考ID映射表(487),用于提供包含在访问单元(486)的块头文件(291)中的参考序列的数字标识符与包含在流的主头文件(488)中的参考标识符之间的映射。
3.根据权利要求2所述的方法,其特征在于,所述基因组数据集被划分为访问单元。
4.根据权利要求3所述的方法,其特征在于,所述访问单元被划分为块(489)。
5.根据权利要求4所述的方法,其特征在于,所述块被划分为包(4810)。
6.根据前述权利要求中任一项所述的方法,其特征在于,所述基因组数据集列表包括用于识别与每个基因组数据集相关并在复用数据流中被复用的流的信息。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述基因组数据集映射表包括用于识别各种复用流中的对应点和相关依赖性的信息。
8.根据权利要求7所述的方法,其特征在于,所述各种复用流包括:基因组序列、参考基因组序列、元数据。
9.根据权利要求1所述的方法,其特征在于,在所述基因组数据集列表之后以单个包传输所述基因组数据集映射表。
10.根据权利要求9所述的方法,其特征在于,所述基因组数据集映射表被周期性地重新传输或更新,以便更新流式数据中的对应点和相关依赖性。
11.根据权利要求1所述的方法,其特征在于,所述基因组数据列表(481)作为单个传送包的有效载荷被发送。
12.根据权利要求11所述的方法,其特征在于,周期性地重新发送所述基因组数据列表,以便使得能够随机访问流。
13.根据权利要求1-5中任一项所述的方法,其特征在于,数据被组织为形成文件格式。
14.用于复用基因组数据的传输的设备,其特征在于,包括适于执行权利要求1-5所述的方法的装置。
15.存储设备,其特征在于,所述存储设备存储根据权利要求1-5所述的方法压缩的基因组数据。
16.一种计算机可读记录介质,其特征在于,上面记录有包括用于运行权利要求1-5所述的方法的指令集的程序。
17.用于接收包括基因组数据的基因组数据集的方法,其特征在于,包括:
-接收表示基因组数据集的复用的数据流;
-从所述复用的数据流中提取压缩的同质数据描述符;
-解压缩所述同质数据描述符,从而获得单义地表示基因组序列读段的比对读段;
-从所述复用的数据流中提取基因组数据集列表数据结构(481),所述基因组数据集列表数据结构(481)提供所有基因组数据集(482-483)的列表,所述基因组数据集包括基因组流(484)中可用的基因组数据;
-从所述复用数据流中提取基因组数据集映射表(485)数据结构,所述基因组数据集映射表(485)数据结构用于提供与每个基因组数据集(482-483)相关联的所述基因组数据的每个流的标识符;
-从所述复用的数据流中提取可随机访问的访问单元;
-从所述访问单元获得基因组数据集;
其中,在每个访问单元中,将第一读段的映射位置作为相对于参考基因组的绝对位置进行存储,以及所有其他位置被表达为相对于先前位置的差异。
18.用于接收基因组数据的设备,其特征在于,包括用于执行根据权利要求17所述的方法的装置。
19.一种用于传输复用的基因组数据的系统,其特征在于,包括如权利要求14所述的传输的设备和如权利要求18所述的接收的设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2016/074311 WO2018068830A1 (en) | 2016-10-11 | 2016-10-11 | Method and system for the transmission of bioinformatics data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110178183A CN110178183A (zh) | 2019-08-27 |
CN110178183B true CN110178183B (zh) | 2023-11-21 |
Family
ID=57241051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680090035.6A Active CN110178183B (zh) | 2016-10-11 | 2016-10-11 | 用于传输生物信息学数据的方法和系统 |
Country Status (19)
Country | Link |
---|---|
US (1) | US20200051668A1 (zh) |
EP (1) | EP3526712B1 (zh) |
JP (1) | JP6949970B2 (zh) |
KR (1) | KR20190062543A (zh) |
CN (1) | CN110178183B (zh) |
AU (1) | AU2016426572A1 (zh) |
BR (1) | BR112019007313A2 (zh) |
CA (1) | CA3039692A1 (zh) |
CL (1) | CL2019000955A1 (zh) |
CO (1) | CO2019003580A2 (zh) |
EA (1) | EA201990931A1 (zh) |
ES (1) | ES2867874T3 (zh) |
IL (1) | IL265907B2 (zh) |
MX (1) | MX2019004126A (zh) |
PE (1) | PE20191059A1 (zh) |
PH (1) | PH12019500795A1 (zh) |
PL (1) | PL3526712T3 (zh) |
SG (1) | SG11201903174SA (zh) |
WO (1) | WO2018068830A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10554220B1 (en) | 2019-01-30 | 2020-02-04 | International Business Machines Corporation | Managing compression and storage of genomic data |
WO2020231590A1 (en) * | 2019-05-14 | 2020-11-19 | Blayne Lequeux | Healthcare data cloud system, server and method |
EP3896698A1 (en) | 2020-04-15 | 2021-10-20 | Genomsys SA | Method and system for the efficient data compression in mpeg-g |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193708A (ja) * | 2006-01-20 | 2007-08-02 | Fujitsu Ltd | ゲノム解析プログラム、該プログラムを記録した記録媒体、ゲノム解析装置およびゲノム解析方法 |
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
CN103797487A (zh) * | 2011-07-05 | 2014-05-14 | 皇家飞利浦有限公司 | 使用生物信息学字符集和和映射的生物信息学字体的基因组/蛋白质组序列的表示、可视化,比较以及报告 |
CN104246689A (zh) * | 2011-12-08 | 2014-12-24 | 凡弗3基因组有限公司 | 提供基因组数据的动态索引和可视化的分布式系统 |
WO2016081712A1 (en) * | 2014-11-19 | 2016-05-26 | Bigdatabio, Llc | Systems and methods for genomic manipulations and analysis |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751694A (en) * | 1995-05-22 | 1998-05-12 | Sony Corporation | Methods and apparatus for synchronizing temporally related data streams |
CN102918590B (zh) * | 2010-03-31 | 2014-12-10 | 韩国电子通信研究院 | 编码方法和装置、以及解码方法和装置 |
US20130246460A1 (en) * | 2011-03-09 | 2013-09-19 | Annai Systems, Inc. | System and method for facilitating network-based transactions involving sequence data |
KR101922129B1 (ko) * | 2011-12-05 | 2018-11-26 | 삼성전자주식회사 | 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치 |
US20130254202A1 (en) * | 2012-03-23 | 2013-09-26 | International Business Machines Corporation | Parallelization of synthetic events with genetic surprisal data representing a genetic sequence of an organism |
US20140108323A1 (en) * | 2012-10-12 | 2014-04-17 | Bonnie Berger Leighton | Compressively-accelerated read mapping |
US10847251B2 (en) * | 2013-01-17 | 2020-11-24 | Illumina, Inc. | Genomic infrastructure for on-site or cloud-based DNA and RNA processing and analysis |
EP2994749A4 (en) * | 2013-01-17 | 2017-07-19 | Edico Genome Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
CN103971694B (zh) * | 2013-01-29 | 2016-12-28 | 华为技术有限公司 | 带宽扩展频带信号的预测方法、解码设备 |
NL2012222C2 (en) * | 2014-02-06 | 2015-08-10 | Genalice B V | A method of storing/reconstructing a multitude of sequences in/from a data storage structure. |
US10902937B2 (en) * | 2014-02-12 | 2021-01-26 | International Business Machines Corporation | Lossless compression of DNA sequences |
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 |
JP6788587B2 (ja) * | 2014-11-25 | 2020-11-25 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | ゲノムデータの安全な転送 |
US10394763B2 (en) * | 2015-05-19 | 2019-08-27 | Samsung Electronics Co., Ltd. | Method and device for generating pileup file from compressed genomic data |
US10560552B2 (en) * | 2015-05-21 | 2020-02-11 | Noblis, Inc. | Compression and transmission of genomic information |
WO2017153456A1 (en) * | 2016-03-09 | 2017-09-14 | Sophia Genetics S.A. | Methods to compress, encrypt and retrieve genomic alignment data |
-
2016
- 2016-10-11 EP EP16791321.9A patent/EP3526712B1/en active Active
- 2016-10-11 ES ES16791321T patent/ES2867874T3/es active Active
- 2016-10-11 JP JP2019540490A patent/JP6949970B2/ja active Active
- 2016-10-11 CN CN201680090035.6A patent/CN110178183B/zh active Active
- 2016-10-11 SG SG11201903174SA patent/SG11201903174SA/en unknown
- 2016-10-11 KR KR1020197013458A patent/KR20190062543A/ko not_active Application Discontinuation
- 2016-10-11 BR BR112019007313A patent/BR112019007313A2/pt not_active Application Discontinuation
- 2016-10-11 WO PCT/EP2016/074311 patent/WO2018068830A1/en active Search and Examination
- 2016-10-11 EA EA201990931A patent/EA201990931A1/ru unknown
- 2016-10-11 CA CA3039692A patent/CA3039692A1/en not_active Abandoned
- 2016-10-11 PE PE2019000812A patent/PE20191059A1/es unknown
- 2016-10-11 US US16/341,361 patent/US20200051668A1/en active Pending
- 2016-10-11 MX MX2019004126A patent/MX2019004126A/es unknown
- 2016-10-11 IL IL265907A patent/IL265907B2/en unknown
- 2016-10-11 AU AU2016426572A patent/AU2016426572A1/en not_active Abandoned
- 2016-10-11 PL PL16791321T patent/PL3526712T3/pl unknown
-
2019
- 2019-04-09 CL CL2019000955A patent/CL2019000955A1/es unknown
- 2019-04-11 PH PH12019500795A patent/PH12019500795A1/en unknown
- 2019-04-11 CO CONC2019/0003580A patent/CO2019003580A2/es unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193708A (ja) * | 2006-01-20 | 2007-08-02 | Fujitsu Ltd | ゲノム解析プログラム、該プログラムを記録した記録媒体、ゲノム解析装置およびゲノム解析方法 |
CN103797487A (zh) * | 2011-07-05 | 2014-05-14 | 皇家飞利浦有限公司 | 使用生物信息学字符集和和映射的生物信息学字体的基因组/蛋白质组序列的表示、可视化,比较以及报告 |
CN104246689A (zh) * | 2011-12-08 | 2014-12-24 | 凡弗3基因组有限公司 | 提供基因组数据的动态索引和可视化的分布式系统 |
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
WO2016081712A1 (en) * | 2014-11-19 | 2016-05-26 | Bigdatabio, Llc | Systems and methods for genomic manipulations and analysis |
Non-Patent Citations (2)
Title |
---|
"CRAM format specification(version 3.0)";Anonymous;《URL:https://samtools.github.io/hts-specs/CRAMv3.pdf》;20160908;全文 * |
人类基因组计划中的生物信息学;蔡立羽;《国外医学.生物医学工程分册》;19980218(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
AU2016426572A1 (en) | 2019-06-06 |
SG11201903174SA (en) | 2019-05-30 |
EA201990931A1 (ru) | 2019-11-29 |
ES2867874T3 (es) | 2021-10-21 |
IL265907B1 (en) | 2024-06-01 |
CL2019000955A1 (es) | 2019-08-23 |
CO2019003580A2 (es) | 2019-08-30 |
EP3526712A1 (en) | 2019-08-21 |
IL265907A (en) | 2019-06-30 |
WO2018068830A1 (en) | 2018-04-19 |
CA3039692A1 (en) | 2018-04-19 |
JP6949970B2 (ja) | 2021-10-13 |
CN110178183A (zh) | 2019-08-27 |
IL265907B2 (en) | 2024-10-01 |
KR20190062543A (ko) | 2019-06-05 |
BR112019007313A2 (pt) | 2019-09-17 |
PE20191059A1 (es) | 2019-08-06 |
EP3526712B1 (en) | 2021-03-24 |
WO2018068830A9 (en) | 2018-08-30 |
US20200051668A1 (en) | 2020-02-13 |
PL3526712T3 (pl) | 2021-12-13 |
MX2019004126A (es) | 2019-06-12 |
PH12019500795A1 (en) | 2019-12-02 |
JP2019537170A (ja) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200042735A1 (en) | Method and system for selective access of stored or transmitted bioinformatics data | |
EP3526709B1 (en) | Efficient data structures for bioinformatics information representation | |
CN110168652B (zh) | 用于存储和访问生物信息学数据的方法和系统 | |
CN110178183B (zh) | 用于传输生物信息学数据的方法和系统 | |
CA3052824A1 (en) | Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors | |
CN110663022B (zh) | 使用基因组描述符紧凑表示生物信息学数据的方法和设备 | |
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 |