CN110678929A - 用于高效压缩基因组序列读段的方法和系统 - Google Patents
用于高效压缩基因组序列读段的方法和系统 Download PDFInfo
- Publication number
- CN110678929A CN110678929A CN201780086770.4A CN201780086770A CN110678929A CN 110678929 A CN110678929 A CN 110678929A CN 201780086770 A CN201780086770 A CN 201780086770A CN 110678929 A CN110678929 A CN 110678929A
- Authority
- CN
- China
- Prior art keywords
- read
- descriptor
- reads
- sequence
- indicating
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 236
- 238000007906 compression Methods 0.000 title description 29
- 230000006835 compression Effects 0.000 title description 29
- 230000008569 process Effects 0.000 claims abstract description 44
- 238000013507 mapping Methods 0.000 claims description 63
- 239000002773 nucleotide Substances 0.000 claims description 49
- 125000003729 nucleotide group Chemical group 0.000 claims description 49
- 229910052757 nitrogen Inorganic materials 0.000 claims description 11
- 229910052698 phosphorus Inorganic materials 0.000 claims description 10
- 108020004414 DNA Proteins 0.000 claims description 9
- 238000005192 partition Methods 0.000 claims description 9
- 108091028043 Nucleic acid sequence Proteins 0.000 claims description 8
- 235000013877 carbamide Nutrition 0.000 claims description 5
- 150000003672 ureas Chemical class 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 3
- 238000006243 chemical reaction Methods 0.000 abstract description 9
- 238000012163 sequencing technique Methods 0.000 description 21
- 239000012634 fragment Substances 0.000 description 12
- 230000009466 transformation Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 102000053602 DNA Human genes 0.000 description 7
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000006467 substitution reaction Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 230000014616 translation Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000012268 genome sequencing Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 210000000349 chromosome Anatomy 0.000 description 4
- 238000012165 high-throughput sequencing Methods 0.000 description 4
- 102000039446 nucleic acids Human genes 0.000 description 4
- 108020004707 nucleic acids Proteins 0.000 description 4
- 150000007523 nucleic acids Chemical class 0.000 description 4
- RWQNBRDOKXIBIV-UHFFFAOYSA-N thymine Chemical compound CC1=CNC(=O)NC1=O RWQNBRDOKXIBIV-UHFFFAOYSA-N 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- ISAKRJDGNUQOIC-UHFFFAOYSA-N Uracil Chemical compound O=C1C=CNC(=O)N1 ISAKRJDGNUQOIC-UHFFFAOYSA-N 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- OPTASPLRGRRNAP-UHFFFAOYSA-N cytosine Chemical compound NC=1C=CNC(=O)N=1 OPTASPLRGRRNAP-UHFFFAOYSA-N 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- UYTPUPDQBNUYGX-UHFFFAOYSA-N guanine Chemical compound O=C1NC(N)=NC2=C1N=CN2 UYTPUPDQBNUYGX-UHFFFAOYSA-N 0.000 description 2
- 230000008450 motivation Effects 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 241000894007 species Species 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
- 208000026350 Inborn Genetic disease Diseases 0.000 description 1
- 206010028980 Neoplasm Diseases 0.000 description 1
- 101150071882 US17 gene Proteins 0.000 description 1
- 229960000643 adenine Drugs 0.000 description 1
- 150000001413 amino acids Chemical class 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000019506 cigar Nutrition 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229940104302 cytosine Drugs 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 208000016361 genetic disease Diseases 0.000 description 1
- 238000011331 genomic analysis Methods 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 244000052769 pathogen Species 0.000 description 1
- 238000011338 personalized therapy Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 229920002477 rna polymer Polymers 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 210000001082 somatic cell Anatomy 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 229940035893 uracil Drugs 0.000 description 1
- 229960005486 vaccine Drugs 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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/10—Ploidy or copy number 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
- 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
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
-
- 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
- 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
- G16B45/00—ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
-
- 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/10—Ontologies; Annotations
-
- 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
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/40—Encryption 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
- 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
- G16B99/00—Subject matter not provided for in other groups of this subclass
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Genetics & Genomics (AREA)
- Molecular Biology (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Epidemiology (AREA)
- Evolutionary Computation (AREA)
- Public Health (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Labeling Devices (AREA)
- Apparatus Associated With Microorganisms And Enzymes (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
提供了一种用于压缩由基因组测序仪产生的基因组序列数据的方法和设备。通过将序列读段与预先存在或构建的参考序列比对来编码序列读段,编码过程包括将读段分类为数据类,然后根据多个基因组描述符对每个类进行编码。相同类型的基因组描述符被组织成块,这些块通过应用连续的转换阶段、二值化和熵编码来压缩。特定的源模型和熵编码器用于每个数据类和每个相关描述符。
Description
交叉参考相关应用
本申请要求2017年7月11日提交的专利申请PCT/US2017/041579和2017年2月14日提交的专利申请PCT/US17/17842的优先权和权益。
技术领域
本公开提供了一种表示基因组测序数据的新方法,该方法通过提供用已知现有技术表示方法不可用的新功能,减少了所利用的存储空间并提高了访问性能。
背景技术
基因组测序数据的适当表示是实现高效基因组分析应用的基础,例如,基因组变体调用和通过处理测序数据和元数据以各种目的执行的所有其他分析。
高通量低成本测序技术的出现使人类基因组测序变得负担得起。这种机会在从癌症的诊断和治疗到遗传疾病的鉴定、从用于抗体鉴定的病原体监测到新疫苗、药物的创建和个性化治疗的定制等多个领域开辟了新的前景。
医院、基因组分析提供商、生物信息学和大型生物数据存储中心正在寻找负担得起、快速、可靠和互联的基因组信息处理解决方案,这些解决方案能够将基因组医学扩展到世界范围。由于测序过程中的一个瓶颈已经成为数据存储,所以以压缩形式表示基因组测序数据的方法越来越受到研究。
测序数据最常用的基因组信息表示基于压缩FASTQ和SAM格式。目标是压缩传统使用的文件格式(分别用于不比对和比对数据的FASTQ和SAM)。这样的文件由纯文本字符构成,并且如上所述,通过使用通用方法进行压缩,例如,LZ(来自Lempel和Ziv,出版了第一个版本的作者)方案(众所周知的zip、gzip等)。当使用通用压缩器(例如,gzip)时,压缩的结果通常是二进制数据的单个块。这种单片形式的信息很难存档、传输和阐述,特别是当像在高通量测序的情况下,数据量非常大时。BAM格式的特点是压缩性能差,这是由于集中压缩低效和冗余的SAM格式,而不是提取SAM文件所传递的实际基因组信息,并且由于采用通用文本压缩算法,例如,gzip,而不是利用每个数据源(基因组数据本身)的特定性质。
CRAM是一种更复杂的基因组数据压缩方法,使用较少,但比BAM更有效。CRAM为采用相对于参考的差分编码提供了更有效的压缩(部分利用了数据源冗余),但是仍然缺乏诸如增量更新、流的支持以及对特定类压缩数据的选择性访问等特性。
这些方法生成较差的压缩率和一旦压缩就难以导航和操作的数据结构。下游分析可能非常慢,因为即使为了执行简单的操作或访问基因组数据集的选定区域,也需要处理大而刚性的数据结构。CRAM依赖于CRAM记录的概念。每个CRAM记录通过编码重建它所必需的所有元素来表示单个映射或未映射的读段。
CRAM提出了以下缺点和限制,这些缺点和限制通过本公开中描述的发明得以解决和消除:
1.CRAM不支持数据索引和对共享特定功能的数据子集的随机访问。数据索引超出了规范的范围(参见CRAM规范v3.0的第12节),作为一个单独的文件来实现。相反,本公开中描述的本发明的方法采用与编码过程集成的数据索引方法,并且索引被嵌入到编码(即压缩)比特流中。
2.CRAM是由核心数据块构建的,这些数据块可以包含任何类型的映射读段(完全匹配的读段、仅带有替代的读段、带有插入或删除的读段(也称为“indels”))。根据相对于参考序列的映射结果,没有数据分类和类中读段分组的概念。这意味着即使只搜索具有特定特征的读段,也需要检查所有数据。本发明通过在编码之前对数据进行分类和划分来解决这种限制。
3.CRAM是基于将每次读段都封装到“CRAM记录”中的概念。这意味着在搜索以特定生物特征为特征的读段(例如,具有替代但没有“indels”的读段或完全映射的读段)时,需要检查每个完整的“记录”。
相反,在本发明中,存在在分离的信息块中单独编码的数据类的概念,并且不存在封装每次读段的记录的概念。这使得能够更有效地访问具有特定生物学特征的一组读段(例如,具有替代但没有“indels”的读段或完全映射的读段),而不需要解码每个读段(块)来检查其特征。
4.在CRAM记录中,每个记录字段都与一个特定的标志相关联,并且每个标志必须始终具有相同的含义,因为没有上下文的概念,这是因为每个CRAM记录可以包含任何不同类型的数据。这种编码机制引入了冗余信息,并阻止了基于上下文的高效熵编码的使用。
相反,在本发明中,没有表示数据的标志的概念,因为这是由数据所属的信息“块”内在定义的。这意味着要使用的符号数量大大减少,随之而来的信息源熵减少,从而导致更有效的压缩。这种改进是可能的,因为不同“块”的使用使得编码器能够根据上下文在具有不同含义的每个块上重用相同的符号。在CRAM中,每个标志必须始终具有相同的含义,因为没有上下文的概念,每个CRAM记录可以包含任何类型的数据。
5.在CRAM替代中,插入和删除通过使用不同的语法元素来表示,这种选项增加了信息源字母表的大小并产生了更高的源熵。相反,所公开的发明的方法使用单个字母和编码进行替代、插入和删除。这使得编码和解码过程更简单,并且产生更低熵源模型,该模型编码产生以高压缩性能为特征的比特流。
本发明旨在通过分类和划分测序数据来压缩基因组序列,使得待编码的冗余信息最小化,并且在压缩域中直接启用诸如选择性访问和支持增量更新等特征。
所提出的方法的一个方面是定义在不同块中结构化并分别编码的数据和元数据的类。这种方法相对于现有方法的更相关的改进在于:
1.压缩性能的提高,这是由于通过为每类数据或元数据提供有效的源模型而构成的信息源熵的降低;
2.直接在压缩域中为任何进一步的处理目的对压缩数据和元数据的部分执行选择性访问的可能性;
3.用与特定序列读段集相关联的新序列数据和/或元数据和/或新分析结果递增(即不需要解码和重新编码)更新压缩数据和元数据的可能性。
附图说明
图1示出了读段对中读段1和读段2的定义以及映射读段中最左侧和最右边核苷酸的定义;
图2示出了访问单元如何封装表示在参考序列的连续间隔中映射的序列读段的压缩描述符,报头信息额外到压缩描述符之前,以便能够进行数据解析;
图3示出了类型为P的访问单元是如何由报头和表示读段映射位置(pos)、反向补码信息(rcomp)、配对末端读段时的配对信息(对)、可变读段长度时的读段长度(rlen)和映射标志(标志)的描述符块的多路复用组成的,用于对p类的读段进行编码;
图4示出了映射读段对的pos描述符的计算,其中,读段对n映射在位置Pn,读段对n+1映射在位置Pm;
图5示出了如何根据参考序列计算一个碱基的绝对映射位置;
图6示出了rcomp描述符用于配对末端读段;
图7示出了如何计算读段对中错配位置的示例;
图8示出了如何计算基因组记录长度和配对距离;
图9示出了没有拼接的多个比对;最左侧的读段有N个比对;N是要解码的mmap的第一个值,表示第一读段的比对数;mmap描述符的以下N个值解码并用于计算第二读段的比对数;
图10示出了如何使用pos、对和mmap描述符来编码无拼接的多个比对;最左侧的读段有N个比对;
图11示出了与拼接的多个比对;
图12示出了多个拼接比对;使用pos、对、mmap和msar描述符来表示与拼接的多个比对;
图13描述了一种编码器设备,包括以下步骤:相对于参考基因组比对基因组序列,生成相对于参考基因组表示基因组序列的描述符,用专用熵编码器压缩每个描述符块;
图14示出了压缩比特流的解码过程,包括以下步骤:解复用输入比特流,以提取熵编码的描述符,对每种类型的描述符进行熵编码,使用参考基因组解码比对的序列读段;
图15示出了如何用阈值向量配置N、M和I类数据编码器,并生成N、M和I数据类的单独子类;
图16示出了半映射读段对(HM类)如何通过用未映射读段组装较长重叠群来填充参考序列的未知区域;
图17示出了如何应用参考转换来消除读段中的错配;在某些情况下,参考转换可能会生成新的错配,或者更改在应用转换之前参考参考时发现的错配类型;
图18示出了当移除错配的所有或一个子集时,参考转换如何改变类读段(即,在应用参考转换之后,在转换分配给类P之前属于类M的读段);
图19示出了所有数据类如何使用相同的转换参考进行重新编码或者不同的转换可以如何用于每个类N、M和I,或者其任意组合。
发明内容
以下权利要求的特征通过提供一种编码基因组序列数据的方法解决了现有技术解决方案的问题,所述基因组序列数据包括核苷酸序列的读段,所述方法包括以下步骤:
将所述读段与一个或多个参考序列比对,从而创建比对读段,
根据所述一个或多个参考序列的指定匹配规则对所述比对读段进行分类,从而创建比对读段的类,
将分类的比对读段编码为多个语法元素块,
用报头信息构造所述语法元素块,从而创建连续的访问单元,
其中,所述编码还包括二值化和熵编码基因组描述符。
在编码方法的另一方面,所述二值化和熵编码基因组描述符使得对于不同的描述符,所述二值化和所述熵编码是不同的。
在编码方法的另一方面,所述描述符包括:
pos,用于表示读段在参考序列上的映射位置,
rcomp,用于在映射标志上表示所述读段被映射在上面的DNA或RNA链,以使比对器能够进一步指定映射过程的结果。
在编码方法的另一方面,还包括编码以下描述符:
mmpos,用于表示在比对读段中相对于参考序列错配的位置,
mmtype,用于表示相关位置处相对于参考序列的错配的类型。
在编码方法的另一方面,还包括编码clips描述符,用于表示软或硬剪切的核苷酸。
在编码方法的另一方面,还包括编码rlen描述符,用于表示每个编码序列读段的长度。
在编码方法的另一方面,还包括编码以下描述符:
mmap,用于表示通过映射过程与单个读段或读段对相关联的多个映射位置,
msar,用于表示拼接读段的存在的标识(即,当读段被分割成组块时,该读段找到匹配精度比当读段被映射为在参考序列上的单个位置上映射的单个连续读段时,更高的映射位置)。
在编码方法的另一方面,还包括编码mscore描述符,以表示由基因组序列读段比对器生成的每次读段的映射/比对分数。
在编码方法的另一方面,还包括对pair描述符进行编码,以便在配对末端读段的情况下,表示所述读段是如何配对的。
在编码方法的另一方面,还包括编码ureads描述符,以表示不能在所述参考序列的任何位置比对的读段。
在编码方法的另一方面,还包括对用于表示描述符子集的rtype描述符进行编码,所述描述符子集用于对不能以指定的匹配精度映射到所述参考序列的任何位置的序列读段进行编码。
在编码方法的另一方面,还包括编码rgroup描述符,以表示所述读段所属的读段组。
在编码方法的另一方面,还包括编码以下描述符:
rftp,用于表示重叠群和参考序列之间错配的位置,错配的位置由特殊的终止子字符终止,
rftt,用于表示重叠群和参考序列之间的错配类型。
在编码方法的另一方面,
使用双截断一元码或单个双截断一元码对所述pos描述符二值化,
使用截断一元码对所述rcomp描述符进行二值化,
使用二进制编码将所述映射标志描述符二值化。
在编码方法的另一方面,
使用分割单元方式的截断一元码对用于表示比对读段相对于参考序列的错配的位置的mmpos描述符进行二值化,
使用截断一元码对用于表示在相关位置处相对于参考序列的错配类型的所述mmtype描述符二值化。
在编码方法的另一方面,使用符号截断指数哥伦布、截断一元、符号指数哥伦布和二进制码的串联,对用于表示软或硬剪切的核苷酸的所述clips描述符二值化。
在编码方法的另一方面,使用按分割单元的截断一元码,对表示每个编码序列读段的长度的所述rlen描述符二值化。
在编码方法的另一方面:
用按分割单元的截断一元码,对用于表示通过映射过程与单个读段或读段对相关联的多个映射位置的所述mmap描述符二值化,
使用符号指数哥伦布码,对用于表示存在拼接读段的标识的所述msar描述符二值化。
在编码方法的另一方面,使用截断一元码,对表示由基因组序列读段比对器生成的每次读段的映射/比对分数的所述mscore描述符二值化。
在编码方法的另一方面,使用二进制编码和案分割单元的的截断一元码的串联,对在配对末端读段的情况下表示读段如何配对的所述pair描述符二值化。
在编码方法的另一方面,使用截断一元码,对表示不能在参考序列的任何位置比对的读段的所述ureads描述符二值化。
在编码方法的另一方面,使用截断一元码对所述rtype描述符二值化,所述rtype描述符用于表示描述符子集,所述描述符子集用于对不能以指定的匹配精度映射到所述参考序列的任何位置的序列读段进行编码。
在编码方法的另一方面,使用截断一元码,对表示读段属于哪个读段组所述rgroup描述符二值化。
在编码方法的另一方面:
使用二进制编码和按分割单元的截断一元码的串联,对用于表示重叠群和参考序列之间错配的位置的所述rftp描述符二值化,
使用二进制编码和截断一元码的串联,对用于表示重叠群和参考序列之间错配的类型的所述rftt描述符二值化。
在编码方法的另一方面,用于编码所述描述符的配置参数包含在语法报头中。
在编码方法的另一方面,所述配置参数通过创建要添加到编码基因组文件中的更新语法报头来更新。
在编码方法的另一方面,所述配置参数包括数据集类型,用于表示在参考该编码参数的访问单元中编码的数据类型。
在编码方法的另一方面,所述配置参数还包括读段长度,用于表示在恒定读段长度的情况下序列读段的核苷酸长度。
在编码方法的另一方面,所述配置参数还包括质量值深度参数,用于表示与每个编码核苷酸相关的质量值的数量。
在编码方法的另一方面,所述配置参数还包括比对分数深度,用于表示与每个编码比对相关联的比对分数的数量。
在编码方法的另一方面,所述配置参数还包括终止子大小,用于表示用于mmpos描述符的终止子符号的字节大小。
在编码方法的另一方面,所述配置参数还包括终止子值,用于表示用于mmpos描述符的终止子符号的值。
在编码方法的另一方面,所述配置参数还包括类的数量,用于表示在参考所述配置参数的所有访问单元中编码的数据类的数量。
在编码方法的另一方面,所述配置参数还包括类标识符,以表示与本公开中定义的数据类(P、N、M、I、HM、U)相关联的标识符。
在编码方法的另一方面,所述配置参数还包括描述符的数量,用于表示包含在参考所述配置参数的访问单元中的描述符的总数。
在编码方法的另一方面,所述配置参数还包括编码模式标识符,用于表示本公开中定义的编码模式。
在编码方法的另一方面,所述配置参数还包括多个组参数,用于参考当前编码参数表示存在于所有访问单元中的rgroup描述符的不同值的数量。
在编码方法的另一方面,所述配置参数还包括一个或多个组名参数,用于表示一个或多个读段组标识符。
在编码方法的另一方面,所述配置参数还包括多比对标志,用于表示访问单元中存在多个比对。
在编码方法的另一方面,所述配置参数还包括拼接读段标志,用于表示访问单元中存在拼接读段,当设置为0时,不存在拼接读段。
在编码方法的另一方面,所述配置参数还包括多签名基本标志,用于在包含未映射序列读段(U类)的访问单元中表示多个签名的使用。
在编码方法的另一方面,所述配置参数还包括签名大小,用于表示编码签名的每个整数的位大小。
在编码方法的另一方面,所述配置参数还包括分数指数参数,用于表示用于在对mscore描述符中编码的多比对分数的指数部分来编码的位数。
在编码方法的另一方面,所述配置参数还包括分数小数参数,用于表示用于在对mscore描述符中编码的多比对分数的小数部分来编码的位数。
本发明还提供了一种解码编码基因组数据的方法,所述基因组序列数据包括核苷酸序列的读段,所述方法包括以下步骤:
解析包含所述编码基因组数据的访问单元,以通过使用报头信息提取基因组描述符的多个块,
解码所述多个块,
其中,所述对多个块的解码包括解码和去二值化基因组描述符,以根据定义比对的读段相对于一个或多个参考序列的分类的特定匹配规则,提取比对的读段。
在解码方法的另一方面,所述描述符包括:
pos描述符,用于表示读段在参考序列上映射位置,
rcomp描述符,用于在映射标志上表示所述读段被映射在上面的DNA或RNA链,以使比对器能够进一步指定映射过程的结果。
在解码方法的另一方面,还包括解码以下描述符:
mmpos,用于表示在比对读段相对于参考序列的错配的位置,
mmtype,用于表示相关位置处相对于参考序列的错配的类型。
在解码方法的另一方面,还包括解码clips描述符,用于表示软或硬剪切的核苷酸。
在解码方法的另一方面,还包括解码rlen描述符,用于表示每个编码序列读段的长度。
在解码方法的另一方面,还包括解码以下描述符:
mmap,用于表示通过映射过程与单个读段或读段对相关联的多个映射位置,
msar,用于表示拼接读段的存在的标识(即,当读段被分割成组块时,该读段找到匹配精度比当读段被映射为在参考序列上的单个位置上映射的单个连续读段时,更高的映射位置)。
在解码方法的另一方面,还包括解码mscore描述符,以表示由基因组序列读段比对器生成的每次读段的映射/比对分数。
在解码方法的另一方面,还包括对pair描述符进行解码,以便在配对末端读段的情况下,表示所述读段是如何配对的。
在解码方法的另一方面,还包括解码ureads描述符,以表示不能在参考序列的任何位置比对的读段。
在解码方法的另一方面,还包括对用于表示描述符子集的rtype描述符进行解码,所述描述符子集用于对不能以指定的匹配精度映射到所述参考序列的任何位置的序列读段进行编码。
在解码方法的另一方面,还包括解码rgroup描述符,以表示所述读段所属的读段组。
在解码方法的另一方面,还包括解码以下描述符:
rftp,用于表示重叠群和参考序列之间错配的位置,错配的位置由特殊的终止子字符终止,
rftt,用于表示重叠群和参考序列之间的错配类型。
在解码方法的另一方面,从语法报头中提取用于解码所述描述符的配置参数。
在解码方法的另一方面,所述配置参数包括数据集类型,用于表示在参考该解码参数的访问单元中解码的数据类型。
在解码方法的另一方面,所述配置参数还包括读段长度,用于表示在恒定读段长度的情况下序列读段的核苷酸长度。
在解码方法的另一方面,所述配置参数还包括质量值深度参数,用于表示与每个解码核苷酸相关的质量值的数量。
在解码方法的另一方面,所述配置参数还包括比对分数深度,用于表示与每个解码比对相关联的比对分数的数量。
在解码方法的另一方面,所述配置参数还包括终止子大小,用于表示用于mmpos描述符的终止子符号的字节大小。
在解码方法的另一方面,所述配置参数还包括终止子值,用于表示用于mmpos描述符的终止子符号的值。
在解码方法的另一方面,所述配置参数还包括类的数量,用于表示在参考所述配置参数的所有访问单元中编码的数据类的数量。
在解码方法的另一方面,所述配置参数还包括类标识符,以表示与本公开中定义的数据类(P、N、M、I、HM、U)相关联的标识符。
在解码方法的另一方面,所述配置参数还包括描述符的数量,用于表示包含在参考所述配置参数的访问单元中的描述符的总数。
在解码方法的另一方面,所述配置参数还包括编码模式标识符,用于表示本公开中定义的编码模式。
在解码方法的另一方面,所述配置参数还包括多个组参数,用于表示存在于参考当前解码参数的所有访问单元中的rgroup描述符的不同值的数量。
在解码方法的另一方面,所述配置参数还包括一个或多个组名参数,用于表示一个或多个读段组标识符。
在解码方法的另一方面,所述配置参数还包括多比对标志,用于表示访问单元中存在多个比对。
在解码方法的另一方面,所述配置参数还包括拼接读段标志,用于表示访问单元中存在拼接读段,当设置为0时,不存在拼接读段。
在解码方法的另一方面,所述配置参数还包括多签名基本标志,用于在包含未映射序列读段(U类)的访问单元中表示多个签名的使用。
在解码方法的另一方面,所述配置参数还包括签名大小,用于表示编码签名的每个整数的位大小。
在解码方法的另一方面,所述配置参数还包括分数指数参数,用于表示用于对mscore描述符中编码的多比对分数的指数部分来编码的位数。
在解码方法的另一方面,所述配置参数还包括分数小数参数,用于表示用于对mscore描述符中编码的多比对分数的小数部分来编码的位数。
本发明还提供了一种编码设备,包括用于实现前述编码方法的所有方面的编码装置。
本发明还提供了一种解码设备,用于实现前述解码方法的所有方面。
本发明还提供了一种包括先前定义的基因组描述符的文件格式。
本发明还提供了一种计算机可读介质,包括指令,当指令被执行时,使得至少一个处理器执行前述编码方法的所有方面。
本发明还提供了一种计算机可读介质,包括指令,当指令被执行时,使得至少一个处理器执行前述解码方法的所有方面。
本发明还提供了一种支持数据,其存储根据执行前述编码方法的所有方面编码的基因组。
具体实施方式
本发明中提到的基因组或蛋白质组序列包括例如但不限于核苷酸序列、脱氧核糖核酸(DNA)序列、核糖核酸序列和氨基酸(RNA)序列。尽管本文的描述相当详细地涉及核苷酸序列形式的基因组信息,但是应当理解,如本领域技术人员所理解的,用于压缩的方法和系统也可以用于其他基因组或蛋白质组序列,尽管有一些变化。
基因组测序信息是由高通量测序(HTS)机器以核苷酸序列(又称“碱基”)的形式生成的,核苷酸序列由来自定义词汇的字符串表示。最小的词汇由五个符号表示:{A、C、G、T、N}表示脱氧核糖核酸中存在的四种核苷酸,即,腺嘌呤、胞嘧啶、鸟嘌呤和胸腺嘧啶。在RNA中,胸腺嘧啶被尿嘧啶(U)取代。N表示测序仪无法调用任何碱基,因此位置的真实性质尚未确定。如果测序仪采用了IUPAC歧义码,则用于这些符号的字母为(A、C、G、T、U、W、S、M、K、R、Y、B、D、H、V、N或-)。
测序仪产生的核苷酸序列被称为“读段”。序列读段长度可以在几十到几千个核苷酸之间。一些技术产生“配对”的序列读段,其中,一个读段来自一个DNA链,另一读段来自另一链。在产生配对的测序过程中,与另一读段相关联的读段被称为配对读段。
根据一组匹配规则排列序列读段以识别与参考基因组片段相似的区域的过程称为“比对”或“映射”。
在本公开中,参考序列是与一维整数坐标系相关联的核苷酸序列,其中,每个整数坐标系与单个核苷酸相关联。坐标值只能等于或大于零。在本发明的上下文中,该坐标系是从零开始的(即第一个核苷酸具有坐标0,并且被称为位于位置0),并且从左向右线性增加。参考序列是测序仪产生的核苷酸序列比对/映射的任何序列。序列的一个示例实际上可以是“参考基因组”,科学家将其作为一个物种的一组基因的代表性示例进行组装。例如,GRCh37,基因组参考联盟人类基因组(构建37)来自纽约州水牛城的十三名匿名志愿者。然而,参考序列也可以由合成序列组成,考虑到它们的进一步处理,该合成序列的构思和构建仅仅是为了提高读段的可压缩性。
基因组序列读段压缩的有效方法的一个共同要素是利用序列数据相对于参考序列的相关性。即使人类群体的体细胞轮廓极其多样化,人与人之间不同的核苷酸数量的实际部分仅约占组成整个基因组的核苷酸总数的0.1%。因此,相对于整个基因组携带的全部信息,表征每个个体的特定基因组信息非常有限。当现有的参考基因组可用时,无论是用于先前测序还是作为已发表的“平均”共识参考,迄今为止编码信息的最常见方式是仅识别和编码与参考基因组相关的差异。
为了做到这一点,原始序列读段通常以FASTQ数据文件的形式表示,这是在参考基因组上映射的初步预处理步骤。在没有合适的参考基因组的情况下,或者如果不希望使用特定的参考引入偏差,则通过将手头的序列读段组装成称为重叠群的较长序列来构建新的参考序列,是一种可能的选择。
当在参考序列上映射序列读段时,所述参考序列用作一维坐标系的轴,其中,最左侧的位置被表示为位置0。对于映射到参考序列的每个序列读段,映射到由最小坐标数识别的参考序列位置的核苷酸通常被称为“最左侧”核苷酸,而映射到由最大坐标数识别的参考序列位置的核苷酸被称为“最右侧”核苷酸。这如图1所示。在本公开中,核苷酸也被称为碱基。
当序列读段被映射到参考序列时,最左侧映射碱基的坐标被称为表示读段在参考序列上的映射位置。
存在于比对读段中但不存在于参考序列中的碱基(也称为插入)和由比对过程保留但未映射到参考序列上的碱基(也称为软剪切)没有映射位置。
当序列读段不能根据指定的匹配规则映射到所用参考序列的任何映射位置时,称为未映射。
通过在序列读段中寻找重叠区域来构建较长基因组序列的过程称为组装。
构建较短读段的较长基因组序列被称为重叠群(见https://en.wikipedia.org/wiki/Contig)。
在装配过程中未能建立任何重叠群的序列读段被称为未比对。
参考基因组由一个或多个参考序列组成,科学家将其作为一个物种的一组基因的代表性示例进行组装。例如,GRCh37,基因组参考联盟人类基因组(构建37)来自纽约州水牛城的十三名匿名志愿者。然而,参考序列也可以由合成序列组成,考虑到它们的进一步处理,该合成序列的构思和构建仅仅是为了提高读段的可压缩性。
在本公开中,构成在参考序列的最小坐标上具有基本映射的读段对的读段被称为“读段1”,而其配对被称为“读段2”。
用核苷酸(或碱基)的数量表示的距离是未知的,该距离是由测序仪使用当前技术水平的测序技术分离配对产生的两个读段,并且该距离是通过将组成该对的两个读段(即,最小化适当的匹配函数)映射到参考序列来确定的。
在本公开中,基因组记录是编码可选地与比对信息、读段标识符和质量值相关联的单序列读段或配对序列读段的数据结构。
在本公开中,访问单元(AU)被定义为包含基因组信息或相关元数据的编码表示的逻辑数据结构,以便于比特流访问和操作。这是能够由实现本公开中描述的本发明的解码装置解码的最小数据组织。
根据编码信息的类型,可以独立于任何其他AU来解码AU或者使用包含在其他AU中的信息来解码AU。
根据编码序列数据的性质,AU可以分为多种类型。访问单元包含参考序列或其一部分,或属于单一数据类的编码读段或读段对。任何单个AU都不能包含两种或多种类型的序列数据。例如,一个访问单元可能包含GRCh37的整个染色体1,基因组参考联盟人类基因组(构建37)。另一访问单元可以包含位于坐标50’000和150’000之间的GRCh37的染色体1的核苷酸的编码表示。另一访问单元可以只包含完全映射到参考序列上的读段或读段对,而没有任何错配。另一访问单元可以包含读段或读段对,这些读段或读段对仅包含“N”个符号,作为相对于参考序列的错配。另一访问单元可以包含含有任何类型替代的读段或读段对(例如,读段或读段对中存在的一个碱基不同于参考序列中相应映射位置的碱基)。另一访问单元可以包含含有错配、插入、删除和软剪切碱基的读段或读段对。另一访问单元可能只包含不映射到参考序列上的读段或读段对。另一访问单元可以只包含读段对,其中,一个读段被映射到参考序列上,而另一读段未被映射到参考序列上。另一种类型的访问单元可以仅包含由一个或多个参考序列(例如,染色体)组成的参考基因组的编码片段。
访问单元的基本特征是它以压缩形式包含重建基因组信息(序列读段或读段对、参考序列)、相关联的比对信息和它所代表的读段或读段对的元数据所需的所有元素。换言之,为了完全重建读段、读段对或参考序列以及由访问单元携带的相关信息,只需要检索访问单元本身,并且在适用的情况下,检索包含它所参考的参考序列的访问单元。
在每个访问单元中,下一节中列出的表示编码的读段或读段对的描述符聚集在单独的数据块中,每种类型一个,以便利用它们的同质统计特性来实现高性能熵编码。
每个访问单元包含描述符的压缩子集,描述符表示映射到参考序列上基因组区域的属于同一类的序列读段或读段对。参考序列上的这种基因组区域由开始坐标(或开始位置)和结束坐标(或结束位置)定义。
图2和图3示出了访问单元的一个示例。访问单元由编码基因组描述符块组成(将在下一节描述)。为了能够在网络上传输,块进一步分解成数据包。当压缩基因组序列读段时,每个访问单元包含表示映射到参考序列基因组间隔的序列读段或未映射序列读段的压缩描述符。访问单元可用于携带参考基因组或其部分。参考序列可以编码为单个核苷酸长序列,也可以分割为编码为未映射基因组序列读段的较短序列。
在本公开的上下文中,以下定义适用:
访问单元开始位置:访问单元中包含的所有基因组记录中最左侧的基因组记录位置。
访问单元结束位置:访问单元中包含的所有基因组记录的所有映射碱基中最右边的碱基位置。
访问单元范围:包含在访问单元中的所有基因组记录中,包含在访问单元起始位置和最右边基因组记录位置之间的基因组范围。
访问单元大小:访问单元中包含的基因组记录的数量。
访问单元覆盖区域:包含在访问单元开始位置和访问单元结束位置之间的基因组范围。
在本公开的上下文中,一个或多个访问单元被组织在称为基因组数据集的结构中。基因组数据集是包含报头和访问单元的压缩单元。组成基因组数据集的访问单元集构成基因组数据集有效载荷。
一个或多个基因组数据集的集合称为数据集组。
在本公开的上下文中,基因组描述符是表示重构(即解码)编码参考序列、序列读段和相关映射信息所必需的部分信息的语法元素(以及文件格式和/或比特流的语法结构的元素)。在表3列出本发明公开的基因组描述符。
根据本发明公开的方法,参考序列或其一部分、序列读段和相关联的比对信息使用上面列出的描述符的子集编码,然后根据每个描述符特定的统计属性使用多个熵编码器熵编码。具有同质统计特性的压缩描述符块被构造在访问单元中,这些访问单元表示一个或多个基因组序列的最小编码表示,该基因组序列可以由实现本公开中描述的本发明的装置操纵。
基因组描述符被组织成如下定义的块和流。
块被定义为由报头和有效载荷组成的数据单元,有效载荷由相同类型的压缩描述符部分组成。
描述符流被定义为用于解码特定数据类的描述符的编码描述符块序列。
测序装置可能会在序列读段中引入错误,例如:
1.由于对调用任何特定碱基缺乏信心而跳过碱基调用的决定。这称为未知碱基,标记为“N”(表示为“n型”错配);
2.使用错误的符号(即表示不同的核酸)来代表测序样品中实际存在的核酸;这通常称为“替代错误”(表示为“s类型”错配);
3.在一个序列读段中插入不涉及任何实际存在的核酸的额外符号;这通常称为“插入错误”(表示为“i型”错配);
4.从一个序列读段中删除代表测序样品中实际存在的核酸的符号;这通常称为“删除错误”(表示为“d型”错配);
5.一个或多个片段重组为单个片段,该片段不反映起始序列的真实情况;这通常会导致比对器决定裁剪碱基(表示为“c型”错配)。
在基因组测序中,术语“覆盖”用于表达序列数据相对于“参考序列”的冗余水平。比对基因组测序数据的平均覆盖是参考基因组每个位置的每个碱基出现在比对数据中的平均次数。例如,为了在人类基因组上达到30倍的覆盖(32亿个碱基长),测序仪将产生总共30×32亿个碱基,这样参考中的每个位置平均被“覆盖”30次。
覆盖被认为是:
部分的(小于1X),当参考基因组的某些部分没有被任何可用的序列读段映射时;
单次的(1X),当参考基因组的所有核苷酸被序列读段中存在的一个且只有一个符号映射时;
多次的(2X,3X,NX),当参考基因组的每个核苷酸被多次映射时。
本发明旨在定义一种基因组信息表示格式,其中,相关信息是有效可访问和可运输的,并且冗余信息的权重降低。
所公开发明的主要创新方面如下。
1.根据相对于参考序列的比对结果,序列读段被分类和划分为数据类。这种分类和划分使得能够根据与比对结果和匹配精度相关的标准选择性地访问编码数据。
2.分类的序列读段和相关元数据由基因组描述符表示,在具有同质统计属性的块中组织基因组描述符,使得能够定义以低信息熵为特征的不同信息源。
3.用适用于每个类的统计特性的不同源模型对每个分离的信息源建模的可能性以及为每个分离的可访问数据单元(访问单元)在每个读段类和每个描述符块内改变源模型的可能性。根据每个源模型的统计特性,采用适当的转换、二值化和上下文自适应概率模型以及相关的熵编码器。
4.描述符块之间对应关系和依赖性的定义,以便能够选择性地访问测序数据和相关元数据,而不需要解码所有描述符块(如果不需要所有信息的话)。
5.相对于“预先存在的”(也称为“外部”)参考序列或相对于通过对“预先存在的”参考序列应用适当的转换以减少描述符块信息源的熵而获得的“转换的”参考序列,对每个序列数据类和相关联的元数据块进行编码。所述描述符表示划分成不同数据类的读段。在参考“预先存在的”参考或“转换的“预先存在的”参考序列使用相应的描述符对读段进行任何编码之后,各种错配的出现可用于定义对参考序列的适当转换,以便找到具有低熵的最终编码表示并实现更高的压缩效率。
6.一个或多个参考序列(也称为“内部”参考,以区别于“预先存在的”参考序列,这里也称为“外部”参考序列)的构建,用于对读段类进行编码,读段相对于不满足一组约束的预先存在的参考序列呈现一定程度的匹配精度。设置这种约束的目的是,以压缩形式表示相对于“内部”参考序列比对的读段类的编码成本和表示“内部”参考序列本身的成本低于逐字编码未比对的读段类,或者使用没有转换或具有转换的“外部”参考序列。
7.通过以报头信息的形式嵌入压缩基因组数据中的数据结构,传输控制编码和解码过程的配置参数。这种配置参数可以在编码过程中更新,以提高压缩性能。以更新的配置数据结构的形式在压缩内容中传送这种更新。
在下文中,将进一步详细描述上述各个方面。
根据匹配规则对序列读段进行分类
根据相对于一个或多个“预先存在的”参考序列的比对匹配结果,由测序仪产生的序列读段被本发明分成六个不同的“类”。
当核苷酸的DNA序列相对于参考序列比对时,可以确定以下情况:
1.发现参考序列中的区域与序列读段没有任何错误(即完美的映射)的匹配,。这种核苷酸序列被称为“完全匹配读段”,或者被称为“P类”。
2.发现参考序列中的区域与序列读段的匹配有一类型和数量的错配,错配的类型和数量仅由产生读段的测序仪不能调用任何碱基(或核苷酸)的位置数量决定。这种类型的错配用“N”表示,该字母用于表示未定义(undefined)的核苷酸碱基。在本公开中,这种类型的错配被称为“n型”错配。这种序列属于“类N”读段。一旦读段被分类为属于“类N”,将匹配不精确性的程度限制在给定的上限并在被认为是有效匹配的和不是有效匹配的之间设置边界是有用的。因此,分配给类N的读段还由设置阈值(MAXN)来限制,该阈值定义了读段可以包含的未定义碱基(即称为“N”的碱基)的最大数量。这种分类隐含地定义了当参考相应的参考序列时,属于类N的所有读段共享的所需最小匹配精度(或最大错配程度),这构成了对压缩数据应用选择性数据搜索的有用标准。
3.发现参考序列中的区域与序列读段的匹配有一些类型和数量的错配,错配的类型和数量由产生读段的测序仪不能调用任何核苷酸碱基(如果存在的话)的位置数量(即“n型”错配)加上调用不同于参考中存在的碱基的错配数量决定。这种被称为“替代”的错配类型也被称为单核苷酸变异(SNV)或单核苷酸多态性(SNP)。在本公开中,这种类型的错配也被称为“s型”错配。序列读段然后被称为“M错配读段”,并被分配给“类M”。与在“类M”的情况下一样,对于属于“类M”的所有读段,将匹配不精确性的程度限于给定的上限并在被认为是有效匹配的和不是有效匹配的之间设置边界是有用的。因此,分配给类M的读段也通过定义一组阈值来限制,一个阈值用于“n型”(MAXN)错配的数量“n”(如果存在的话),另一阈值用于替代“s”(MAXS)的数量。第三个约束是由数量“n”和“s”的任意函数定义的阈值,f(n,s)。这样的第三约束使得能够根据任何有意义的选择性访问标准生成匹配不精确的上限的类。例如,非限制性地,f(n,s)可以是(n+s)1/2或(n+s)或任何线性或非线性表达式,其将边界设置为属于“类M”的读段所允许的最大匹配不精确度水平。当出于各种目的分析序列读段时,这种边界构成了将期望的选择性数据搜索应用于压缩数据的非常有用的标准,因为除了应用于一种类型或另一种类型的简单阈值之外,有可能对“n型”错配和“s型”错配(替代)的数量的任何可能组合设置进一步的边界。
4.第四类是通过测序读段构成的,所述读段在“插入”、“删除”(又名indels)和“剪切”之间呈现至少一种任何类型的错配,如果存在的话,加上属于类N或类M的任何错配类型。这种序列被称为“I错配读段”,并分配给“类I”。插入由参考中不存在但读段序列中存在的一个或多个核苷酸的额外序列构成。在本公开中,这种类型的错配被称为“i型”错配。在文献中,当插入的序列位于序列的边缘时,也被称为“软剪切的”(即核苷酸与参考错配,但保持在与被丢弃的“硬剪切的”核苷酸相反的比对读段中)。在本公开中,这种类型的错配被称为“c型”错配。保留或丢弃核苷酸是由比对器阶段做出的决定,而不是由本发明公开的读段的分类器做出的决定,该分类器在读段由测序仪或随后的比对阶段确定时接收和处理读段。删除是相对于参考的读段中的“空穴(holes)”(缺失的核苷酸)。在本公开中,这种类型的错配被称为“d型”错配。与在类“N”和“M”的情况下一样,可能并且适当地定义匹配不精确性的限制。“类I”的约束集的定义基于用于“类M”的相同原则,并在表1的最后几行中报告。除了允许用于类J数据的每种类型错配的阈值之外,另一约束由错配数量“n”、“s”、“d”、“i”和“c”、w(n,s,d,i,c)的任何函数确定的阈值来定义。这种额外约束使得可以根据任何有意义的用户定义的选择性访问标准生成匹配不精确上限的类。例如,但不授限制性地,w(n,s,d,i,c)可以是(n+s+d+i+c)1/5或(n+s+d+i+c)或任何线性或非线性表达式,其将边界设置为属于“类I”的读段所允许的最大匹配不精确水平。当出于各种目的分析序列读段时,这种边界构成了将期望的选择性数据搜索应用于压缩数据的非常有用的标准,因为它能够为“类I”读段中允许的错配数量的任何可能组合设置超出应用于每种类型的允许错配的简单阈值的进一步边界。
5.第五类包括当参考参考序列时,没有发现每个数据类的任何被认为有效的映射(即不满足定义表1中指定的最大匹配不精确性上限的匹配规则集)的所有读段。当参考参考序列时,这种序列被称为“未映射的”,并且被分类为属于“U类”。
6.在配对末端读段的情况下,定义了第六类,其中,配对的一个读段不能映射到参考基因组的任何位置(即属于U类),而另一读段属于P、N、M、I类中的一个。这种类从半映射中命名为“HM类”。
根据匹配规则对读段对进行分类
上一节中指定的分类涉及单序列读段。在配对生成读段的测序技术(即Illumina公司)的情况下,已知两个读段被未知的可变长度序列分开,适当地考虑将整个对分类为单个数据类。一个读段和另一读段耦合,被称为其“配对”。
如果这两个配对的读段属于同一个类,则如下分配给整个配对的一个类:对于任何类(即,P、N、M、I、U),整个配对分配给同一类。如果这两个读段属于不同的类,但都不属于“U类”,则通过根据以下表达式定义的最高优先级将整个配对分配给类:
P<N<M<I
其中,“类P”具有最低优先级,“类I”具有最高优先级。
如果只有一个读段属于“U类”,并且其配对属于任何一个P类、N类、M类,则第六类被定义为“HM类”,代表“半映射”。
这种特定类的读段的定义和相关的分配规则的动机是,这种数据用于试图确定参考基因组的间隙或未知区域(也称为鲜为人知或未知的区域)。这种区域通过使用可以映射到已知区域上的配对读段在边缘映射配对来重建。然后,未映射的配对用于构建未知区域的所谓“重叠群”,如图16所示。因此,仅提供对这种类型的读段对的选择性访问大大减少了相关联的计算负担,使得能够非常有效地处理由大量数据集产生的这种数据,需要使用现有技术的解决方案完全检查这些数据集。
下表总结了应用于读段的匹配规则,以便定义每个读段所属的数据类。规则在表的前五列中根据错配类型(n、s、d、i和c类型错配)的存在与否来定义。第六列提供了关于每种错配类型的最大阈值以及可能错配类型的函数f(n,s)和w(n,s,d,i,c)的规则。
表1每个序列读段必须满足的错配类型和约束集被分类到本发明公开中定义的数据类中。
序列读段数据类N、M和I的匹配规则划分为不同匹配精度的子类
前面几节中定义的类型为N、M和I的数据类可以进一步分解为任意数量的不同子类,这些子类具有不同程度的匹配精度。这种选项在提供更精细的粒度方面是一个重要的技术优势,因此对每个数据类的选择性访问要高效得多。作为示例而非限制,为了将类N划分成k个子类(子类N1、…、子类Nk),需要用相应的分量MAXN1、MAXN2、…、MAXN(k-1)、MAXN(k)来定义向量,条件是MAXN1<MAXN2<…<MAXN(k-1)<MAXN,并且当为向量的每个元素评估时,将每个读段分配给满足表1中指定的约束的最低等级的子类。这在图15中示出,其中,数据分类单元1501包含类P、N、M、I、U、HM编码器和用于注释和元数据的编码器。N类编码器配置有阈值向量MAXN1至MAXNk1502,其生成N个数据的k个子类(1506)。
在类型M和类型I的类的情况下,通过分别为MAXM和MAXTOT定义具有相同属性的向量并使用每个向量分量作为阈值来检查函数f(n,s)和w(n,s,d,i,c)是否满足约束,应用相同的原理。与在类型为N的子类的情况下一样,分配给满足约束的最低子类。每种分类类型的子类数量是独立的,任何细分组合都是可以接受的。这在图15中示出,其中,M类编码器1503和I类编码器1504分别配置有阈值MAXM1至MAXMj和MAXTOT1至MAXTOTh的向量。这两个编码器分别生成M数据的j子类(1507)和I数据的h子类(1508)。
当配对中的两个读段分类在同一子类中时,则该配对属于同一子类。
当配对中的两个读段分类为不同类的子类时,则根据以下表达式,该配对属于较高优先级类的子类:
N<M<I
其中,N的优先级最低,而I的优先级最高。
当两个读段属于类N或M或I中的一个的不同子类时,则根据以下表达式,该配对属于具有最高优先级的子类:
N1<N2<…<Nk
M1<M2<…<Mj
I1<I2<…<Ih
其中,最高索引具有最高优先级。
“外部”参考序列的转换
为分类在类N、M和I中的读段找到的错配可以用于创建“转换”参考,以用于更有效地压缩读段表示。
被分类为属于类N、M或I(相对于表示为RS0的“预先存在”(即“外部”)参考序列)的读段可以根据与“转换的”参考的实际错配的出现,相对于“转换的”参考序列RS1进行编码。例如,如果属于类M的readM in(表示为类M的第i次读段)包含相对于参考序列RSn的错配,则在“转换”之后,可以用A(Refn)=Refn+1获得readM in=readP i(n+1),其中,A是从参考序列RSn到参考序列RSn+1的转换。
图19示出了一个示例,说明如何通过修改对应于错配位置的碱基,将包含相对于参考序列1(RS1)的错配(属于M类)的读段转换为相对于从RS1获得的参考序列2(RS2)的完全匹配读段。这些读段保持分类的,并且在同一数据类访问单元中与其他读段一起编码,但是仅使用P类读段所需的描述符和描述符值来进行编码。这种转换可以表示为:
RS2=A(RS1)
当在应用于RS1时产生RS2的转换A的表示加上读段对RS2的表示对应于比类M的读段对RS1的表示更低的熵时,传输转换A的表示和读段对RS2的对应表示是有利的,因为实现了数据表示的更高压缩。
用于在压缩比特流中传输的转换A的编码需要定义如下表中定义的两个额外语法元素。
图18生成了一个示例,说明如何应用参考转换来减少映射读段中要编码的错配数量。
必须注意,在某些情况下,转换适用于参考:
可能会在应用转换之前参考参考时不存在的读段表示中引入错配;
可以修改错配的类型,读段可能包含A而不是G,而所有其他读段包含C而不是G,但是错配保持在相同的位置;
不同的数据类和每个数据类的数据子集可以指相同的“转换的”参考序列,或者指通过对相同的预先存在的参考序列应用不同的转换而获得的参考序列。
图19还示出了在应用了参考转换并且使用“转换的”参考来表示读段之后,读段如何通过适当的描述符集(例如,使用类P的描述符来编码从类M读段)将编码类型从数据类变为另一数据类的示例。例如,当转换改变了与读段中实际存在的碱基中的读段错配相对应的所有碱基时,就会发生这种情况,从而虚拟地将属于类M的读段(当参考原始的非“转换”参考序列时)转换成类P的虚拟读段(当参考“转换”参考时)。以下各节提供了用于每类数据的描述符集的定义。
图19示出了不同类的数据如何使用相同的“转换”参考R1=A0(R0)(1900)来重新编码读段,或者不同的转换AN(1901)、AM(1902)、AI(1903)可以分别应用于每一类的数据,以产生不同的参考基因组RN、RM、RI。
基因组数据集报头
一旦用类的定义完成了读段的分类,进一步的处理包括定义一组不同的语法元素,这些语法元素表示当被表示为映射到给定的参考序列上时能够重建读序列的剩余信息。这些语法元素的数据结构需要存储解码引擎使用的全局参数和元数据。这些数据在下表描述的基因组数据集报头中结构化。数据集被定义为重建与单次基因组测序运行和所有后续分析相关的基因组信息所需的编码元素的集合。如果同一基因组样品在两次不同的运行中测序两次,将在两个不同的数据集中编码获得的数据。
表2基因组数据集报头
基因组描述符
参考给定参考序列的序列读段(即,DNA片段)可以可选地使用由以下描述符的各种组合形成的子集来完全表达:
表3基因组描述符及其意义
对于类U,描述符clips识别那些读段部分(通常是边缘)与“内部”参考不匹配的部分,具有一组指定的匹配精度约束。
描述符ureads用于逐字编码不能映射到任何可用参考上的读段,无论该参考是预先存在的(即“外部的”,例如,实际的参考基因组)还是“内部的”参考序列。
这种分类创建了一组描述符(语法元素),可以用来唯一地表示基因组序列读段。下表总结了与“外部”(即“预先存在”)或“内部”(即“构造”)参考比对的每一类读段所需的语法元素。星号“*”表示强制描述符始终存在于每个类的所有编码读段中。
表4表示每一类数据所必需的基因组描述符
表征属于类P的读段,并且如果通过产生配对、一些标志和读段长度的测序技术获得,则可以仅通过位置、反向补码信息和配对之间的偏移来完全地重建。
下一节将进一步详细说明这些描述符是如何为类P、N、M和I定义的,而对于类U,将在下一节中描述。
HM类仅适用于读段对,这是一种特殊情况,一个读段属于类P、N、M或I,另一读段属于类U。
pos描述符
pos描述符用于计算基因组记录的最左侧映射碱基的参考序列上的绝对映射位置。每个pos描述符的值表示基因组记录的最左侧映射碱基与前一个碱基在参考序列上的坐标之间的差异。图4示出了计算映射读段对的pos描述符的示例。
每个编码块中pos描述符的第一值总是0,因为对于在访问单元中编码的第一映射读段或读段对,不可能有差分编码。在访问单元中编码的第一映射读段或读段对的绝对位置包含在访问单元报头中。
因此,计算第n个基因组记录的最左侧映射碱基在参考序列上的绝对位置,作为:
其中,p0是从访问单元报头中检索到的访问单元中第一基因组记录的映射值。
为了计算碱基参考序列上的绝对位置,以下公式适用:
p=pstart+ndet-nins+dstart+delta
其中,
p是碱基在参考序列上的绝对位置
pstart是覆盖碱基的基因组记录的映射位置
nins是同一基因组记录中碱基之前插入的碱基数
ndel是同一基因组记录中碱基之前删除的碱基数
dstart是基因组记录中碱基与基因组记录位置的偏移
delta是读段对中两个读段之间的(有符号)配对距离,这只能用于基因组记录的第二读段的位置。
注:在配对末端读段的情况下,当计算与基因组记录位置的偏移dstart时,这两个读段被认为是连续的。添加delta时会考虑相对读段位置。
图5示出了基于参考序列的一个碱基的映射位置p的计算示例。
rcomp描述符
rcomp描述符传送关于读段的链的信息。解码rcomp描述符的每一位都是标志,指示读段是在正向(位设置为0)还是反向(位设置为1)链上。图6示出了配对末端读段的rcomp描述符的值和语义。在图中,r1是读段1,r2是读段2。根据每次读段的映射位置,rcomp描述符可以有四个不同的值。
表5rcomp描述符的值和含义
flags描述符
标志描述符是表6中描述的一组标志。
表6flag描述符的每一位的语义
mmpos
mmpos描述符表示读段或读段对中相对于参考序列错配的位置。该位置表示为与基因组记录中先前错配位置的距离。第一错配的位置表示为与基因组记录中最左侧映射碱基的距离。
在配对读段的情况下,或者在包含一个以上基因组片段的一般记录中,在计算连续错配之间的距离时,不考虑连续片段之间的间隙。
如果编码对同时包含读段1和读段2,读段2中错配的位置将偏移读段1的长度。例如,在恒定长度等于100的读段的情况下,如果配对中的第一错配在读段2的位置44,则为该基因组记录解码的第一mmpos描述符假定值为144。
如果所描述的配对缺少读段1(因为被编码在另一块中,或者因为读段2不配对),则错配的位置不会偏移读段1的长度。例如,在固定读段长度100的情况下,如果读段2中的第一突变在位置44,但是读段2是不配对的,则为该基因组记录解码的第一mmpos描述符假定值44。
每个mmpos描述符与mmtype描述符相关联,该描述符表示在使用mmpos计算的位置处解码的读段或读段对中出现的错配类型。
图7提供了如何计算读段对中错配位置的示例,其中,len1是读段1的长度。
应计算基因组记录中第i个错配在参考序列上的绝对位置,如表7所示。
表7如何计算基因组记录中错配的绝对位置
在表7中定义了以下变量:
mmabsi是读段或读段对中第i个错配的参考序列中的绝对位置;
mmposi是基因组记录中mmpos描述符的第i个值;
len1是读段对中读段1的长度;
delta是计算的读段1和读段2之间的配对距离,如配对描述符所定义的并且如图5所示。
参考基因组记录的mmpos描述符序列以保留的终止子值终止,该终止子值不能解释为错配位置。
mmtype
mmtype描述符指定在解码读段中使用相关mmpos描述符计算的位置出现的错配类型。
mmtype描述符没有终止子的保留值,因为每个基因组记录应包含相同数量的mmtype和mmpos描述符。
表8根据使用的字母表列出了mmtype描述符的值和相应的语义。
表8根据所使用的字母表的mmtype描述符值和语义
clips(剪切)
clips描述符用于表示映射读段或读段对中的剪切碱基(也称为软剪切或硬剪切)。该描述符将软剪切编码为带有额外元素的ASCII字符序列,以识别剪切的碱基在读段或读段对中的位置。在硬剪切的情况下,只编码剪切碱基的位置和数量。每个描述符包含基因组记录标识符,其后是与基因组记录中的剪切碱基位置和软剪切情况下的实际剪切碱基相关的信息。
表9和表10提供了clips描述符的语法和语义。
表10clips描述符的语法
record_id是当前访问单元中编码的基因组记录的计数器。
clips_pos表示读段或读段对中下一个剪切碱基的位置。位置值具有以下含义:
soft_clipped_base是由alphabet_id识别的字母表中的一个符号。
hard_clipped_bases表示在相应clips_pos指示的位置上的硬剪切基底的数量;
ureads
ureads描述符将逐字序列读段表示为属于当前使用的由alphabet_id识别的字母表的ASCII字符序列。
rlen
rlen描述符仅在本公开中定义的参数集中reads_length=0时可变长度读段的情况下使用。
解码后的rlen描述符将当前序列读段的长度表示为包括软剪切的碱基数。
pair(配对)
使用pair描述符对重建配对读段所需的信息进行编码。将一个基因组片段与另一个基因组片段相关联的配对信息可以用三种方式表达:
1.如果两个读段都映射在相同的参考上并编码在相同的基因组记录中,配对距离定义为读段1最左侧映射碱基和读段2最左侧映射碱基之间的距离。配对距离的示例如图8所示。
2.作为第二读段在与第一读段相同的参考序列上的绝对映射位置。
3.作为第二读段在不同于第一读段的参考序列上的绝对映射位置。
当解码的配对描述符的前两个字节具有表11中列出的一个值时,编码配对信息,如上面第2和第3点所述。
图8示出了如何将基因组记录长度定义为参考序列上的基因组位置数,该参考序列将读段或读段对的最左侧映射碱基与最右侧映射碱基分开。在读段对的情况下,这是当两个读段映射到相同的参考序列上时,将读段1的最左侧碱基与其配对读段2的最右侧碱基分开的参考序列上基因组位置的数目。“配对距离”定义为读段1的最左侧位置和读段2的最左侧位置之间的差值。“配对距离”表示为配对描述符的有符号整数值。
当将读段与参考序列比对时,读段2可以映射到比读段1的映射位置小的位置(例如,向左);在这种情况下,上述情况1中使用的配对距离将为负。这意味着关于读段链的信息在配对距离描述符的符号中编码。
表11读段距离描述符的保留值,示意读段对如何编码
读段距离
读段距离被编码为2字节有符号整数,其中:
LSB用于表示符号(如果符号位为0,则数字为非负数,如果符号位为1,则数字为负数),并且
剩余的15位用于表示配对距离的绝对值。
这种方法能够表示从-32766到32766范围内的配对距离。如果读段间隔较大,则绝对位置应编码在表11中定义的特殊值0x7ffd或0x8003之后的配对描述符中,两个读段在两个单独的基因组记录中编码(即“分割”配对)。
读段距离的解码过程
读段距离的解码过程如下所示:
符号=读段距离&0x0001;
读段距离=读段距离>>1;
如果(符号)读段距离=-读段距离;
mscore
mscore描述符为每次比对提供分数。应用于表示基因组序列读段比对器产生的每次读段的映射/比对分数。
分数应使用指数和小数部分来表示。用于表示指数和小数部分的位数在编码参数中指定(参见下面的参数集)。表12显示了对于11位指数和52位小数部分,这在IEEE RFC754中是如何指定的。
每个比对的分数应表示为:
一个符号位(S);
指数(E)为11位;
尾数(M)为53位。
表12比对分数表示为64位双精度浮点值
如果用于计算分数的碱基(基数)为10,则分数计算如下:
分数=-1sx10E×M
rgroup
rgroup描述符识别基因组记录所属的读段组。它是无符号8位整数,值从0到num_groups-1。如下面定义的参数集中所定义的,访问单元中读段组的存在由参数集中的num_groups>0来表示。
msar
msar(多片段比对记录)描述符支持拼接读段和包含indels或软剪切的替代二次比对。
msar旨在传达以下信息:
映射的片段长度;
用于二次比对和/或拼接读段的不同映射连续性(即,CIGAR串)。
msar可用于表示比对读段的二次比对的错配、插入、删除、链和剪切碱基。
多个比对
以下描述符是为支持多个比对而定义的。
mmap
mmap描述符用于指示配对中的读段或最左侧的读段已经比对了多少个位置。包含多个比对的基因组记录与一个多字节mmap描述符相关联。mmap描述符的前两个字节表示无符号整数N,其将读段称为单个片段(如果spliced_reads_flag=0,如本公开中所定义的),或者表示读段已经拼接到其中的所有片段,用于几个可能的比对(如果spliced_reads_flag=1)。值N表示当前记录中为模板编码的pos描述符的值的数量。如本公开所述,N后面跟随一个或多个8位无符号整数Mi。
多个比对链
在多个比对的情况下,本公开中定义的rcomp描述符用于使用上述相同的语法来指定每个读段比对的链。
多个比对的分数
在多个比对的情况下,将本公开中定义的一个mscore分配给每个比对。
无拼接的多个比对
如果访问单元中不存在拼接,则spliced_reads_flag将取消设置。
在配对末端测序中,mmap描述符由16位无符号整数N和一个或多个8位无符号整数Mi组成,i采用的值从1到完整的第一(这里是最左侧)读段比对数。对于每个第一读段比对,无论是否拼接,Mi都用来表示有多少片段用于比对第二读段(在这种情况下,没有拼接,这等于比对的数量),然后为第一读段的比对编码配对描述符的多少值。
Mi值应用于计算表示第二读段比对数。
特殊值Mi(Mi=0)表示最左侧读段的第i比对与最右侧读段的比对配对,该最右侧读段已经与k<i的最左侧读段的第k比对配对(则没有检测到新的比对,这与上面的等式一致)。
例如,在最简单的情况下:
1.如果最左侧的读段有一个比对,最右边的读段有两个替换的比对,则N取值1,M1取值2。
2.如果在最左侧的读段中检测到两个替换的比对,但在最右边仅检测到一个,则N取值2,M1取值1,M2取值0。
当Mi为0时,pair的相关值应链接到现有的第二读段比对;否则将引发语法错误,并且比对被视为已中断。
示例:如前所述,如果第一读段有两个映射位置,而第二读段只有一个,则N为2,M1为1,M2为0。如果接下来是整个模板的另一个替代的次要映射,则N取值3,M3取值1。
图9示出了在没有拼接的多个比对情况下,N、P和Mi的含义,图10示出了如何使用pos、pair和mmap描述符来编码多个比对信息。
参考图10,以下内容适用:
当最左侧读段的第i个比对与最右侧读段的比对配对时,Mi的一些值可以是=0,该最右侧读段的比对已经与k<i的最左侧读段的第k比对配对;
配对描述符的一个保留值可以呈现给属于其他AU范围的信号比对。如果存在,则总是当前记录的第一对描述符。
带拼接的多个比对
如果数据集用拼接读段编码,则msar描述符能够表示本公开中定义的拼接长度和链。
解码mmap和msar描述符后,解码器知道有多少读段或读段对以被编码,以表示多个映射,以及有多少片段组成每个读段或读段对映射。这如图11和图12所示。
参考图11,以下内容适用:
最左侧读段具有N1比对,拼接为N(N1≤N);
N表示最左侧读段的所有比对中出现的拼接数量,并被编码为mmap描述符的第一值;
N1和N2表示第一和第二读段的比对数量,并使用msar描述符的N+P值进行计算。
参考图12,以下内容适用:
最左侧具有N1比对,拼接为N(N1≤N),如果N1=N AND N2=P,则不存在拼接;
pair描述符的数量可以计算为NP=最大值(N1,P)+M0,其中,
M0是值为0的Mi数;
如果一个特殊的配对描述符指示在其他AU中存在比对,则NP必须增加1。
比对分数
mscore描述符允许表示比对的映射分数。在单端测序中,每个模板都有N1值;在配对末端测序中,将对整个模板的每次比对都有一个值(第一读段的不同比对的数量可能+进一步的第二读段比对的数量,即,当Mi-1>0时)。
分数=最大值(N1,N2)+M0
其中,M0表示Mi=0的总数。
如本公开中定义的,与每个比对相关联的分数的数量由编码参数as_depth表示。
无拼接的多个比对的描述符
表13在没有拼接的多个比对情况下,如何计算在一个基因组记录中表示多个比对所需的描述符数量。
带拼接的多个比对的描述符
表14显示了在带拼接的多个比对情况下,如何计算在一个基因组记录中表示多个比对所需的描述符数量。
表14用于表示多个比对和相关分数的描述符。
不同序列的多个比对
可能发生的情况是,比对过程找到了与主映射所在的序列不同的另一参考序列的替代映射。
对于唯一比对的读段对,当例如与另一条染色体上的配对嵌合比对时,应使用pair描述符来表示绝对读位置。pair描述符应用于表示包含同一模板进一步比对的下一条记录的参考和位置。最后一条记录(例如,如果替代映射在三个不同的AU中编码,则为第三条)应包含第一条记录的参考和位置。
如果一对中最左侧读段的一个或多个比对出现在与当前编码的AU相关的参考序列不同的参考序列上,则应使用pair描述符的保留值(与唯一比对情况下出现在另一参考的比对不同)。保留值后应跟随参考序列标识符和下一个AU中包含的所有序列中最左侧比对的位置(即该记录的pos描述符的第一解码值)。
插入、删除、未映射部分的多个比对
当替代的二级映射不保留序列比对的参考区域的邻接性时,可能无法重建由比对器生成的精确映射,因为实际序列(以及与错配相关的描述符,例如,替代或indels)仅被编码用于一次比对。msar描述符应用于表示二二次比对如何在参考序列上映射,如果包含indels和/或软剪切。如果msar由二次比对的特殊符号“*”表示,则解码器应根据一次比对和二次比对映射位置重建二次比对。
原始数据
原始读段只属于U类。在比对的数据集中被编码为未映射的读段。为与外部或内部参考比对的读段定义的一些描述符用于编码原始读段。其动机是,使用从要编码的数据构建的参考序列来编码原始读段。
ureads
ureads描述符将逐字序列读段表示为属于当前使用的字母表的ASCII字符序列。
rtype
rtype描述符用于表示基因组记录中用于编码一个未映射读段或读段对的描述符子集,如表15所示。
rtype描述符还支持在同一个数据集中混合基于参考和无参考的压缩。在这种情况下,rtype=0表示基于参考的编码记录,而rtype>0表示用于无参考的压缩的描述符集(在这种情况下,描述符在需要时参考计算的参考)。
表15 rtype描述符的语义
描述符的二值化
在一个实施例中,本发明使用上下文自适应二进制算术编码(CABAC)来压缩基因组描述符。CABAC首先将所有要编码的符号转换成二进制表示。二值化过程在算术编码之前将非二进制值符号(例如,映射位置、映射读段长度或错配类型)转换成二进制代码。
与基于应用于异构元素块的通用压缩器的现有格式相比,选择适合于每个描述符的统计特性的适当二值化,提供了更好的压缩比。
在以下几节中定义了这些变量:
symVal:要二值化的基因组描述符的非二进制值;
cLength:表示值被二值化的位数;
cMax:是要二值化的最大可能值。较大的值将截断。
虽然为这些变量的固定值计算了下面的二值化表,但是必须理解,本原理不限于这些值,因此根据本原理也可以使用其他值,同时保持本原理的精神。
本公开中使用的每个二值化算法由标识符识别,如表16所示。
表16二值化的类型和各自的标识符
二进制编码(BI)
这是一个标准的二进制表示,每个数值都以二进制表示进行编码。如表28所示当binarization_id=0时,变量cLength代表表示该值的位数。
截断一元(TU)二值化
TU二进制字符串是symVal 1后跟一个零的串联。如果symVal==cMax,则将丢弃尾部0位。表17示出了cMax=3的截断一元二值化的二进制字符串。
表17cMax==3的截断一元二值化的二进制字符串。
如下描述这种二值化处理以及算术解码的语法。
binValue是二进制值,可以是0或1。
指数哥伦布(EG)二值化
使用这种技术对基因组描述符二值化的解析过程始于从比特流中的当前位置开始读取位,直到并包括第一非零位的位,并计数等于0的前导位数。
该过程规定如下:
变量symVal的分配如下:
其中,函数调用read_bits从存储介质中读取的位数等于作为输入传递的参数。从read_bits(leadingZeroBits)返回的值被解释为无符号整数的二进制表示,先写入最高有效位。
表18通过将位字符串分成“前缀”和“后缀”位来说明指数哥伦布码的结构。“前缀”位是如上所述为计算leadingZeroBits而解析的那些位,在表18的位字符串列中显示为0或1。“后缀”位是在symVal计算中解析的位,如表18中的xi所示,i在0至leadingZeroBits-1(含)的范围内。每个xi等于0或1。
位字符串形式 | symVal范围 |
1 | 0 |
0 1x0 | 1..2 |
0 0 1x<sub>1</sub>x<sub>0</sub> | 3..6 |
0 0 0 1x<sub>2</sub>x<sub>1</sub>x<sub>0</sub> | 7..14 |
0 0 0 0 1x<sub>3</sub>x<sub>2</sub>x<sub>1</sub>x<sub>0</sub> | 15..30 |
0 0 0 0 0 1x<sub>4</sub>x<sub>3</sub>x<sub>2</sub>x<sub>1</sub>x<sub>0</sub> | 31..62 |
... | ... |
表18 symVal值从0到62的二进制表示
表19示出了位字符串对symVal值的显式分配。
位字符串 | symVal |
1 | 0 |
0 1 0 | 1 |
0 1 1 | 2 |
0 0 1 0 0 | 3 |
0 0 1 0 1 | 4 |
0 0 1 1 0 | 5 |
0 0 1 1 1 | 6 |
0 0 0 1 0 0 0 | 7 |
0 0 0 1 0 0 1 | 8 |
0 0 0 1 0 1 0 | 9 |
... | ... |
表19指数哥伦布位字符串和显式形式的symVal
根据基因组描述符,使用以下一种方法解码二值化语法元素的值:
解码的基因组描述符的值等于对应于二值化描述符的symVal值;
解码的基因组描述符的值是通过应用符号0阶指数哥伦布解码来计算的,例如,在https://en.wikipedia.org/wiki/Exponential-哥伦布_coding中以symVal值作为输入来定义。
有符号指数哥伦布(SEG)二值化
根据这种二值化方法,基因组描述符通过按绝对值递增的顺序对语法元素进行排序并以较低的symVal值表示给定绝对值的正值而与symVal值相关联。表20显示了分配规则。
symVal | 语法元素值 |
0 | 0 |
1 | 1 |
2 | -1 |
3 | 2 |
4 | -2 |
5 | 3 |
6 | -3 |
k | (-1)<sup>k+1</sup>Ceil(k÷2) |
表20为符号指数哥伦布编码的基因组描述符分配语法元素给symVal截断指数哥伦布(TEG)二值化
这种二值化过程需要使用额外的输入参数tegParam,该参数定义了如何计算二值化。
这个过程的输出是语法元素的TEG二值化。
TEG二进制字符串是1(在symVal==0的情况下)或2(在symVal>0的情况下)类型二值化的串联:
值最小值(symVal,tegParam)的cMax=tegParam的截断一元二值化
如果symVal!=0,值Abs(symVal)-tegParam的指数哥伦布二值化
表21显示了tegParam==2的截断指数哥伦布二值化的二进制字符串。
表21 tegParam=2的截断指数哥伦布二值化的二进制字符串
有符号截断指数哥伦布(STEG)二值化
这种二值化过程需要使用额外的输入参数stegParam。
STEG二进制字符串是1(在symVal=0的情况下)或2(在其他情况下)二值化的串联:
1.Abs(symVal)的截断指数哥伦布二值化
2.如果symVal!=0,等于1(如果symVal<0)或等于0(如果symVal>0)的一位标志。
表22示出了stegParam=2的这种带符号截断指数哥伦布二值化的二进制字符串。
表22 stegParam=2的带符号截断指数哥伦布二值化的二进制字符串
按分割单元的截断一元(SUTU)二值化
这种二值化过程需要使用两个输入参数splitUnitSize和outputSymSize。outputSymSize必须始终是splitUnitSize的倍数。
SUTU二进制字符串是重复TU二值化的串联,其中,每个TU二值化应用于symVal的长度为splitUnitSize位的部分。换言之,symVal由通过TU二值化获得的x二进制字符串表示,其中,x=outputSymSize/splitUnitSize。每个二进制字符串的cMax参数定义为cMax=(1<<splitUnitSize)–1。
表23显示了splitUnitSize=2、outputSymbSize=8的按分割单元的截断一元二值化的二进制字符串。
表23 splitUnitSize=2,outputSymbSize=8的按分割单元的截断一元二值化的二进制字符串
下面描述这种二值化处理的比特流语法。
表24用于TU二值化的CABAC解码过程
有符号的按分割单元的截断一元(SSUTU)二值化
这种二值化过程需要使用两个输入参数splitUnitSize和outputSymSize。
SSUTU二进制字符串是通过扩展SUTU二值化过程获得的,符号symVal被编码为单独的标志。
值Abs(symVal)的SUTU二值化;
如果symVal!=0,则等于1(如果symVal<0)或等于0(如果symVal>0)的一位标志。
表25显示了splitUnitSize=2、outputSymbSize=8的带符号的按分割单元的截断一元二值化的二进制字符串。
表25 splitUnitSize=2、outputSymbSize=8的带符号的按分割单元的截断一元二值化的二进制字符串
如下描述这种二值化过程的语法。
sign_flag表示对ctxIdx识别的上下文变量的位的cabac解码。
decode_cabac_SUTU()表示SUTU二值化的cabac解码过程。
双截断一元(DTU)二值化
这种二值化过程需要使用两个输入参数splitUnitSize和outputSymSize。
DTU二进制字符串是两种二值化的串联,即TU二值化和SUTU二值化。参数cMax用于TU二值化,参数splitUnitSize和outputSymSize用于SUTU二值化(在内部导出其cMax)。
最小值(Abs(symVal),cMax)的TU二值化的第一实例;
如果Abs(symVal)>cMax,则值Abs(symVal)–CMax的SUTU二值化的第二实例。
表26示出了双截断一元二值化的二进制字符串,其中,cMax=1,splitUnitSize=2,outputSymSize=8。
表26双截断一元二值化的二进制字符串,其中,cMax=1,splitUnitSize=2,outputSymSize=8
如下描述二值化过程。
decode_cabac_TU()表示TU二值化的cabac解码过程。
decode_cabac_SUTU()表示SUTU二值化的cabac解码过程。
带符号双截断一元(SDTU)二值化
这种二值化过程需要使用两个额外的输入参数splitUnitSize和outputSymSize。
通过扩展DTU二值化过程获得SDTU二进制字符串,符号symVal被编码为标志。
值Abs(symVal)的DTU二值化;
如果symVal!=0,则等于1(如果symVal<0)或等于0(如果symVal>0)的一位标志。
表27示出了双截断一元二值化的二进制字符串,其中,cMax=1,splitUnitSize=2,outputSymSize=8。
表27带符号双截断一元二值化的二进制字符串,其中,cMax=1,splitUnitSize=2,outputSymSize=8。
如下描述这种二值化过程的语法。
sign_flag表示对ctxIdx识别的上下文变量的位的cabac解码。
decode_cabac_DTU()表示带有DTU二值化的cabac解码。
二值化参数
前面介绍的每种二值化算法都需要编码和解码端的配置参数。在一实施例中,所述配置参数封装在表28中描述的数据结构中。每个二值化算法由表16中列出的标识符来识别。
二值化ID | 参数 |
0 | cLength |
1 | cMax |
2 | - |
3 | - |
4 | tegParam |
5 | stegParam |
6 | splitUnitSize,outputSymSize |
7 | splitUnitSize,outputSymSize |
8 | cMax,splitUnitSize,outputSymSize |
9 | cMaxsplitUnitSize,outputSymSize |
表28二值化参数结构
在表28中,以下语义适用:
cMax表示要二值化的最大值。较大的值将截断。
cLength表示值被二值化的位数。
tegParam表示在本公开中定义的用于TEG二值化的tegParam变量。
stegParam表示在本公开中定义的用于STEG二值化的stegParam变量。
splitUnitSize表示在本公开中为SUTU、SSTU和DTU二值化定义的splitUnitSize变量。
outputSymSize表示在本公开中为SUTU、SUTUDTU和SDTU二值化定义的outputSymSize变量。
本发明技术优势的证据
如表29所示,通过将指示的CABAC二值化应用于相应基因组描述符,需要在*非额外信息中报告压缩性能,因为根据本公开的原理,已经可用于压缩表示。
可以获得表30。通过与BAM和CRAM方法的相应文件大小以及文献中被称为DeeZ的一个最佳压缩器进行比较,可以理解本公开中描述的方法的压缩性能的改进(参见Numanagic,I.等人的“Comparison of high-throughput sequencing data compressiontools”,《自然方法》(ISSS:1548-7091),第13卷,第1005-1008页,伦敦:Nature PublishingGroup,2016年)。必须理解的是,DeeZ、BAM和CRAM压缩性能是通过将用于比对的压缩参考基因组的大小与压缩基因组序列数据的大小相加来计算的。根据本公开的原理,参考基因组嵌入压缩文件中。在今天的实践中,所述压缩的参考基因组是FASTA(ASCII文本)文件,使用通用压缩器,例如,GZIP、LZMA、Bzip2进行压缩。在建议的比较中,参考基因组hs37d5.fa使用xz Linux命令进行压缩,并选择最大压缩(-9)。
应用于描述符的二值化
表30显示了应用于本公开中定义的基因组描述符的二值化。当指示几个二值化的串联时,不同的二值化应用于构成本公开中定义的每个描述符的不同元素。
表29与每个基因组描述符相关联的二值化
rftp和rftt
本节提供了rftp和rftt二值化的示例,如图10所示。
与重叠群和用于比对的参考基因组之间的五个错配相关的描述符如下所示:
每个核苷酸符号都与一个整数代码相关联:
核苷酸 | 代码 |
A | 0 |
C | 1 |
G | 2 |
T | 3 |
N | 4 |
转换后,这些值变为:
rftp | 5 | 2 | 5 | 1 | 2 |
rftt | 1 | 3 | 3 | 1 | 0 |
如下计算rftp的二值化值:
1.终止子值可以二值化为0或1。在此处,对于该示例,我们选择0。
2.如果终止子=0,则使用splitUnitSize=4、outputSymbolSize=12的二值化编号6,并且以下二进制字符串与rftp的值相关联。
a.5=11110
b.2=110
c.5=11110
d.1=10
e.2=110
如下计算rftt的二值化值:
1.了解参考基因组中存在的核苷酸,从可能要编码的符号中移除相应的符号。即,对于示例的第一错配,如果参考中的对应符号是“G”,则待编码的可能符号的空间是0、1、3、4。
2.测量待编码数据上的错配类型的符号的频率,并从0到3进行索引。索引0受最频繁错配的影响,而索引3受不太频繁错配的影响。在本示例中,索引可以是:{0=>3,1=>0,2=>4,3=>1}。
3.在给定示例中,五个错配将使用TU二值化进行二值化,如下所示:
符号 | 索引 | cMax=3的TU二值化 |
1 | 3 | 111 |
3 | 0 | 0 |
3 | 0 | 0 |
1 | 3 | 0 |
0 | 1 | 10 |
利用上面所示的二值化方法,实现了以下压缩结果:
*不需要额外的信息,因为根据本公开的原理,已经在压缩表示中可用。
表30相对于最新解决方案的压缩性能(字节大小)。
编码参数
在一实施例中,编码和解码每个访问单元所需的参数封装在表31中定义的名为参数集的数据结构中。
表31基因组描述符的编码参数
编码设备
图13示出了根据本发明原理的编码设备。编码设备接收例如由基因组测序装置产生的参考基因组1302和未比对的基因组序列1300作为输入。基因组测序装置在本领域中是已知的,例如,Illumina HiSeq2500、Thermo-Fisher Ion Torrent装置或Oxford NanoporeMinION。未比对的序列数据1300馈送到读段比对单元1301,读段比对单元1301将序列映射到参考基因组1302上。比对的基因组序列1303然后馈送到基于参考的压缩器1305,压缩器1305产生表示映射和未映射基因组序列的基因组描述符1306。由基于参考的压缩器1305生成的基因组描述符1306首先由几个二值化单元1307二值化,然后由几个熵编码器1308熵编码。熵编码的基因组描述符然后馈送到多路复用设备1310,以构建组成压缩比特流1311的一个或多个访问单元。多路复用比特流还包含由编码参数编码器1309构建的编码参数结构1304。每个访问单元包含熵编码的描述符,表示属于本公开中定义的一类数据的比对信息和序列读段。
解码设备
图14示出了根据本公开原理的解码设备。解复用单元1401从网络或存储元件接收多路复用比特流1400,并提取组成所述比特流的访问单元的熵编码有效载荷。熵解码器1402接收提取的有效载荷,并将不同类型的基因组描述符解码成其二进制表示。所述二进制表示然后馈送到几个二进制解码器1404,其生成基因组描述符1405。编码参数解码器1403接收与基因组信息多路复用的编码参数,并将其提供给解码单元1406。表示基因组序列读段的基因组描述符1405馈送到序列读段重建单元1406,序列读段重建单元1406使用可用的参考基因组1408重建比对的基因组序列1407。
此处公开的发明技术可以用硬件、软件、固件或其任意组合来实现。当以软件实现时,这些可以存储在计算机介质上并由硬件处理单元执行。硬件处理单元可以包括一个或多个处理器、数字信号处理器、通用微处理器、专用集成电路或其他分立逻辑电路。
本公开的技术可以在各种装置或设备中实现,包括移动电话、台式计算机、服务器、平板电脑和类似装置。
Claims (82)
1.一种编码基因组序列数据的方法,所述基因组序列数据包括核苷酸序列的读段,其特征在于,所述方法包括以下步骤:
将所述读段与一个或多个参考序列比对,从而创建比对读段,
根据所述一个或多个参考序列的指定匹配规则对所述比对读段进行分类,从而创建比对读段的类,
将分类的比对读段编码为多个语法元素块,
用报头信息构造所述语法元素块,从而创建连续的访问单元,
其中,所述编码还包括二值化和熵编码基因组描述符。
2.根据权利要求1所述的方法,其特征在于,所述二值化和熵编码基因组描述符使得对于不同的描述符,所述二值化和所述熵编码是不同的。
3.根据权利要求2所述的方法,其特征在于,所述描述符包括:
pos,用于表示读段在参考序列上的映射位置,
rcomp,用于在映射标志上表示所述读段被映射在上面的DNA或RNA链,以使比对器能够进一步指定映射过程的结果。
4.根据权利要求3所述的方法,其特征在于,还包括编码以下描述符:
mmpos,用于表示在比对读段中相对于参考序列的错配的位置,
mmtype,用于表示相关位置处相对于参考序列的错配的类型。
5.根据权利要求4所述的方法,其特征在于,还包括编码clips描述符,所述clips描述符用于表示软或硬剪切的核苷酸。
6.根据权利要求5所述的方法,其特征在于,还包括编码rlen描述符,所述rlen描述符用于表示每个编码序列读段的长度。
7.根据权利要求6所述的方法,其特征在于,还包括编码以下描述符:
mmap,用于表示通过所述映射过程与单个读段或读段对相关联的多个映射位置,
msar,用于表示拼接读段的存在的标识(即,当读段被分割成组块时,该读段找到匹配精度比当读段被映射为在参考序列上的单个位置上映射的单个连续读段时,更高的映射位置)。
8.根据权利要求7所述的方法,其特征在于,还包括编码mscore描述符,以表示由基因组序列读段比对器生成的每次读段的映射/比对分数。
9.根据权利要求8所述的方法,其特征在于,还包括对pair描述符进行编码,以便在配对末端读段的情况下,表示所述读段是如何配对的。
10.根据权利要求9所述的方法,其特征在于,还包括编码ureads描述符,以表示不能在所述参考序列的任何位置比对的读段。
11.根据权利要求10所述的方法,其特征在于,还包括对用于表示描述符子集的rtype描述符进行编码,所述描述符子集用于对不能以指定的匹配精度映射到所述参考序列的任何位置的序列读段进行编码。
12.根据权利要求11所述的方法,其特征在于,还包括编码rgroup描述符,以表示所述读段所属的读段组。
13.根据权利要求12所述的方法,其特征在于,还包括编码以下描述符:
rftp,用于表示重叠群和参考序列之间错配的位置,错配的位置由特殊的终止子字符终止,
rftt,用于表示重叠群和参考序列之间的错配类型。
14.根据权利要求3所述的方法,其特征在于,
使用双截断一元码或单个双截断一元码对所述pos描述符二值化,
使用截断一元码对所述rcomp描述符二值化,
使用二进制编码对所述映射标志描述符二值化。
15.根据权利要求4所述的方法,其特征在于,
使用按分割单元的截断一元码对用于表示在比对读段中相对于参考序列的错配的位置的所述mmpos描述符二值化,
使用截断一元码对用于表示在相关位置处相对于参考序列的错配类型的所述mmtype描述符二值化。
16.根据权利要求5所述的方法,其特征在于,使用符号截断指数哥伦布、截断一元、符号指数哥伦布和二进制码的串联,对用于表示软或硬剪切的核苷酸的所述clips描述符二值化。
17.根据权利要求6所述的方法,其特征在于,使用按分割单元的截断一元码,对表示每个编码序列读段的长度的所述rlen描述符二值化。
18.根据权利要求7所述的方法,其特征在于,使用按分割单元的截断一元码,对用于表示通过所述映射过程与单个读段或读段对相关联的多个映射位置的所述mmap描述符二值化,
使用符号指数哥伦布码,对用于表示存在拼接读段的标识的所述msar描述符二值化。
19.根据权利要求8所述的方法,其特征在于,使用截断一元码,对表示由基因组序列读段比对器生成的每次读段的映射/比对分数的所述mscore描述符二值化。
20.根据权利要求9所述的方法,其特征在于,使用二进制编码和按分割单元的截断一元码的串联,对在配对末端读段的情况下表示读段如何配对的所述pair描述符二值化。
21.根据权利要求10所述的方法,其特征在于,使用截断一元码,对表示不能在所述参考序列的任何位置比对的读段的所述ureads描述符二值化。
22.根据权利要求11所述的方法,其特征在于,使用截断一元码对所述rtype描述符二值化,所述rtype描述符用于表示描述符子集,所述描述符子集用于对不能以指定的匹配精度映射到所述参考序列的任何位置的序列读段进行编码。
23.根据权利要求12所述的方法,其特征在于,使用截断一元码对表示读段属于哪个读段组的所述rgroup描述符二值化。
24.根据权利要求13所述的方法,其特征在于,
使用二进制编码和按分割单元的截断一元码的串联,对用于表示重叠群和参考序列之间错配的位置的所述rftp描述符二值化,
使用二进制编码和截断一元码的串联,对用于表示重叠群和参考序列之间错配类型的所述rftt描述符二值化。
25.根据权利要求13所述的方法,其特征在于,所述描述符通过在语法报头中插入配置参数来编码。
26.根据权利要求25所述的方法,其特征在于,所述配置参数通过创建要添加到编码基因组文件中的更新语法报头来更新。
27.根据权利要求26所述的方法,其特征在于,所述配置参数包括数据集类型,用于表示在参考该编码参数的访问单元中编码的数据类型。
28.根据权利要求27所述的方法,其特征在于,所述配置参数还包括读段长度,用于表示在恒定读段长度的情况下序列读段的核苷酸长度。
29.根据权利要求28所述的方法,其特征在于,所述配置参数还包括质量值深度参数,用于表示与每个编码核苷酸相关的质量值的数量。
30.根据权利要求29所述的方法,其特征在于,所述配置参数还包括比对分数深度,用于表示与每个编码比对相关联的比对分数的数量。
31.根据权利要求30所述的方法,其特征在于,所述配置参数还包括终止子大小,用于表示用于mmpos描述符的终止子符号的字节大小。
32.根据权利要求31所述的方法,其特征在于,所述配置参数还包括终止子值,用于表示用于mmpos描述符的终止子符号的值。
33.根据权利要求32所述的方法,其特征在于,所述配置参数还包括类的数量,用于表示在参考所述配置参数的所有访问单元中编码的数据类的数量。
34.根据权利要求33所述的方法,其特征在于,所述配置参数还包括类标识符,以表示与本公开中定义的数据类(P、N、M、I、HM、U)相关联的标识符。
35.根据权利要求34所述的方法,其特征在于,所述配置参数还包括描述符的数量,用于表示包含在参考所述配置参数的访问单元中的描述符的总数。
36.根据权利要求35所述的方法,其特征在于,所述配置参数还包括编码模式标识符,用于表示本公开中定义的编码模式。
37.根据权利要求36所述的方法,其特征在于,所述配置参数还包括多个组参数,用于表示存在于参考当前编码参数的所有访问单元中的rgroup描述符的不同值的数量。
38.根据权利要求37所述的方法,其特征在于,所述配置参数还包括一个或多个组名参数,用于表示一个或多个读段组标识符。
39.根据权利要求38所述的方法,其特征在于,所述配置参数还包括多比对标志,用于表示所述访问单元中存在多个比对。
40.根据权利要求39所述的方法,其特征在于,所述配置参数还包括拼接读段标志,用于表示所述访问单元中存在拼接读段。
41.根据权利要求40所述的方法,其特征在于,所述配置参数还包括多签名基本标志,用于在包含未映射序列读段(U类)的访问单元中表示多个签名的使用。
42.根据权利要求41所述的方法,其特征在于,所述配置参数还包括签名大小,用于表示编码签名的每个整数的位大小。
43.根据权利要求42所述的方法,其特征在于,所述配置参数还包括分数指数参数,用于表示用于对mscore描述符中编码的多比对分数的指数部分来编码的位数。
44.根据权利要求43所述的方法,其特征在于,所述配置参数还包括分数小数参数,用于表示用于对mscore描述符中编码的所述多比对分数的小数部分来编码的位数。
45.一种解码编码基因组数据的方法,所述基因组序列数据包括核苷酸序列的读段,其特征在于,所述方法包括以下步骤:
解析包含所述编码基因组数据的访问单元,以通过使用报头信息提取基因组描述符的多个块,
解码所述多个块,
其中,对多个块的解码包括解码和去二值化基因组描述符,以根据定义比对的读段相对于一个或多个参考序列的分类的特定匹配规则,提取所述比对的读段。
46.根据权利要求45所述的方法,其特征在于,所述描述符包括:
pos描述符,用于表示读段在参考序列上的映射位置,
rcomp描述符,用于在映射标志上表示所述读段被映射在上面的DNA或RNA链,以使比对器能够进一步指定映射过程的结果。
47.根据权利要求46所述的方法,其特征在于,还包括解码以下描述符:
mmpos,用于表示在比对读段中相对于参考序列的错配的位置,
mmtype,用于表示相关位置处相对于参考序列的错配的类型。
48.根据权利要求47所述的方法,其特征在于,还包括解码clips描述符,所述clips描述符用于表示软或硬剪切的核苷酸。
49.根据权利要求48所述的方法,其特征在于,还包括解码rlen描述符,所述rlen描述符用于表示每个编码序列读段的长度。
50.根据权利要求49所述的方法,其特征在于,还包括解码以下描述符:
mmap,用于表示通过映射过程与单个读段或读段对相关联的多个映射位置,
msar,用于表示拼接读段的存在的标识(即,当读段被分割成组块时,该读段找到匹配精度比当读段被映射为在参考序列上的单个位置上映射的单个连续读段时,更高的映射位置)。
51.根据权利要求50所述的方法,其特征在于,还包括解码mscore描述符,以表示由基因组序列读段比对器生成的每次读段的映射/比对分数。
52.根据权利要求51所述的方法,其特征在于,还包括对pair描述符进行解码,以便在配对末端读段的情况下,表示所述读段是如何配对的。
53.根据权利要求51所述的方法,其特征在于,还包括解码ureads描述符,以表示不能在参考序列的任何位置比对的读段。
54.根据权利要求53所述的方法,其特征在于,还包括对用于表示描述符子集的rtype描述符进行解码,所述描述符子集用于对不能以指定的匹配精度映射到所述参考序列的任何位置的序列读段进行编码。
55.根据权利要求54所述的方法,其特征在于,还包括解码rgroup描述符,以表示所述读段所属的读段组。
56.根据权利要求55所述的方法,其特征在于,还包括解码以下描述符:
rftp,用于表示重叠群和参考序列之间错配的位置,错配的位置由特殊的终止子字符终止,
rftt,用于表示重叠群和参考序列之间的错配类型。
57.根据权利要求56所述的方法,其特征在于,所述描述符通过从语法报头中提取配置参数来解码。
58.根据权利要求57所述的方法,其特征在于,所述配置参数包括数据集类型,用于表示在参考该解码参数的访问单元中解码的数据类型。
59.根据权利要求58所述的方法,其特征在于,所述配置参数还包括读段长度,用于表示在恒定读段长度的情况下序列读段的核苷酸长度。
60.根据权利要求59所述的方法,其特征在于,所述配置参数还包括质量值深度参数,用于表示与每个解码核苷酸相关的质量值的数量。
61.根据权利要求60所述的方法,其特征在于,所述配置参数还包括比对分数深度,用于表示与每个解码比对相关联的比对分数的数量。
62.根据权利要求30所述的方法,其特征在于,所述配置参数还包括终止子大小,用于表示用于mmpos描述符的终止子符号的字节大小。
63.根据权利要求62所述的方法,其特征在于,所述配置参数还包括终止子值,用于表示用于mmpos描述符的终止子符号的值。
64.根据权利要求63所述的方法,其特征在于,所述配置参数还包括类的数量,用于表示在参考所述配置参数的所有访问单元中编码的数据类的数量。
65.根据权利要求64所述的方法,其特征在于,所述配置参数还包括类标识符,以表示与本公开中定义的数据类(P、N、M、I、HM、U)相关联的标识符。
66.根据权利要求67所述的方法,其特征在于,所述配置参数还包括描述符的数量,用于表示包含在参考所述配置参数的访问单元中的描述符的总数。
67.根据权利要求66所述的方法,其特征在于,所述配置参数还包括编码模式标识符,用于表示本公开中定义的编码模式。
68.根据权利要求67所述的方法,其特征在于,所述配置参数还包括多个组参数,用于表示存在于参考当前解码参数的所有访问单元中的rgroup描述符的不同值的数量。
69.根据权利要求68所述的方法,其特征在于,所述配置参数还包括一个或多个组名参数,用于表示一个或多个读段组标识符。
70.根据权利要求69所述的方法,其特征在于,所述配置参数还包括多比对标志,用于表示访问单元中存在多个比对。
71.根据权利要求70所述的方法,其特征在于,所述配置参数还包括拼接读段标志,用于表示访问单元中存在拼接读段,当设置为0时,不存在拼接读段。
72.根据权利要求71所述的方法,其特征在于,所述配置参数还包括多签名基本标志,用于在包含未映射序列读段(U类)的访问单元中表示多个签名的使用。
73.根据权利要求72所述的方法,其特征在于,所述配置参数还包括签名大小,用于表示编码签名的每个整数的位大小。
74.根据权利要求73所述的方法,其特征在于,所述配置参数还包括分数指数参数,用于表示用于对mscore描述符中编码的多比对分数的指数部分来编码的位数。
75.根据权利要求43所述的方法,其特征在于,所述配置参数还包括分数小数参数,用于表示用于对mscore描述符中编码的多比对分数的小数部分来编码的位数。
76.一种编码设备,其特征在于,包括用于实现根据权利要求1所述的编码方法的编码装置。
77.一种解码设备,其特征在于,包括用于实现根据权利要求31所述的解码方法的解码装置。
78.一种文件格式,其特征在于,包含根据权利要求13所述的基因组描述符。
79.一种计算机程序,其特征在于,包括用于执行根据权利要求1所述的编码方法的指令。
80.一种计算机程序,其特征在于,包括用于执行根据权利要求31所述的解码方法的指令。
81.一种存储装置,其特征在于,用于存储根据权利要求1所述的计算机程序。
82.一种存储装置,其特征在于,用于存储用根据权利要求1所述的编码方法创建的文件。
Applications Claiming Priority (9)
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 |
PCT/EP2016/074307 WO2018068829A1 (en) | 2016-10-11 | 2016-10-11 | Method and apparatus for compact representation of bioinformatics data |
PCT/EP2016/074301 WO2018068828A1 (en) | 2016-10-11 | 2016-10-11 | Method and system for storing and accessing bioinformatics data |
PCT/EP2016/074297 WO2018068827A1 (en) | 2016-10-11 | 2016-10-11 | Efficient data structures for bioinformatics information representation |
PCT/US2017/017842 WO2018071055A1 (en) | 2016-10-11 | 2017-02-14 | Method and apparatus for the compact representation of bioinformatics data |
USPCT/US2017/017842 | 2017-02-14 | ||
PCT/US2017/041579 WO2018071078A1 (en) | 2016-10-11 | 2017-07-11 | Method and apparatus for the access to bioinformatics data structured in access units |
USPCT/US2017/041579 | 2017-07-11 | ||
PCT/US2017/066863 WO2018151788A1 (en) | 2017-02-14 | 2017-12-15 | Method and systems for the efficient compression of genomic sequence reads |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110678929A true CN110678929A (zh) | 2020-01-10 |
CN110678929B CN110678929B (zh) | 2024-04-16 |
Family
ID=61905752
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780062919.5A Pending CN110168651A (zh) | 2016-10-11 | 2017-02-14 | 用于选择性访问存储的或传输的生物信息数据的方法和系统 |
CN201780062885.XA Active CN110114830B (zh) | 2016-10-11 | 2017-07-11 | 用于生物信息数据索引的方法和系统 |
CN201780063014.XA Active CN110121577B (zh) | 2016-10-11 | 2017-07-11 | 编码/解码基因组序列数据的方法、基因组编码器/解码器 |
CN201780063013.5A Active CN110506272B (zh) | 2016-10-11 | 2017-07-11 | 用于访问以访问单元结构化的生物信息数据的方法和装置 |
CN201780086529.1A Active CN110603595B (zh) | 2016-10-11 | 2017-12-14 | 用于从压缩的基因组序列读段重建基因组参考序列的方法和系统 |
CN201780086770.4A Active CN110678929B (zh) | 2016-10-11 | 2017-12-15 | 用于高效压缩基因组序列读段的方法和系统 |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780062919.5A Pending CN110168651A (zh) | 2016-10-11 | 2017-02-14 | 用于选择性访问存储的或传输的生物信息数据的方法和系统 |
CN201780062885.XA Active CN110114830B (zh) | 2016-10-11 | 2017-07-11 | 用于生物信息数据索引的方法和系统 |
CN201780063014.XA Active CN110121577B (zh) | 2016-10-11 | 2017-07-11 | 编码/解码基因组序列数据的方法、基因组编码器/解码器 |
CN201780063013.5A Active CN110506272B (zh) | 2016-10-11 | 2017-07-11 | 用于访问以访问单元结构化的生物信息数据的方法和装置 |
CN201780086529.1A Active CN110603595B (zh) | 2016-10-11 | 2017-12-14 | 用于从压缩的基因组序列读段重建基因组参考序列的方法和系统 |
Country Status (17)
Country | Link |
---|---|
US (6) | US20200042735A1 (zh) |
EP (3) | EP3526694A4 (zh) |
JP (4) | JP2020505702A (zh) |
KR (4) | KR20190073426A (zh) |
CN (6) | CN110168651A (zh) |
AU (3) | AU2017342688A1 (zh) |
BR (7) | BR112019007359A2 (zh) |
CA (3) | CA3040138A1 (zh) |
CL (6) | CL2019000972A1 (zh) |
CO (6) | CO2019003595A2 (zh) |
EA (2) | EA201990917A1 (zh) |
IL (3) | IL265879B2 (zh) |
MX (2) | MX2019004130A (zh) |
PE (7) | PE20191058A1 (zh) |
PH (6) | PH12019550057A1 (zh) |
SG (3) | SG11201903270RA (zh) |
WO (4) | WO2018071054A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117153270A (zh) * | 2023-10-30 | 2023-12-01 | 吉林华瑞基因科技有限公司 | 一种基因二代测序数据处理方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2526598B (en) * | 2014-05-29 | 2018-11-28 | Imagination Tech Ltd | Allocation of primitives to primitive blocks |
US11574287B2 (en) | 2017-10-10 | 2023-02-07 | Text IQ, Inc. | Automatic document classification |
US11030324B2 (en) * | 2017-11-30 | 2021-06-08 | Koninklijke Philips N.V. | Proactive resistance to re-identification of genomic data |
WO2019191083A1 (en) * | 2018-03-26 | 2019-10-03 | Colorado State University Research Foundation | Apparatuses, systems and methods for generating and tracking molecular digital signatures to ensure authenticity and integrity of synthetic dna molecules |
JP7428660B2 (ja) * | 2018-05-31 | 2024-02-06 | コーニンクレッカ フィリップス エヌ ヴェ | グラフベースの参照ゲノムを使用した対立遺伝子解釈のためのシステムおよび方法 |
CN108753765B (zh) * | 2018-06-08 | 2020-12-08 | 中国科学院遗传与发育生物学研究所 | 一种构建超长连续dna序列的基因组组装方法 |
US11474978B2 (en) * | 2018-07-06 | 2022-10-18 | Capital One Services, Llc | Systems and methods for a data search engine based on data profiles |
US20200058379A1 (en) * | 2018-08-20 | 2020-02-20 | The Board Of Trustees Of The Leland Stanford Junior University | Systems and Methods for Compressing Genetic Sequencing Data and Uses Thereof |
GB2585816A (en) * | 2018-12-12 | 2021-01-27 | Univ York | Proof-of-work for blockchain applications |
US20210074381A1 (en) * | 2019-09-11 | 2021-03-11 | Enancio | Method for the compression of genome sequence data |
CN110797087B (zh) * | 2019-10-17 | 2020-11-03 | 南京医基云医疗数据研究院有限公司 | 测序序列处理方法及装置、存储介质、电子设备 |
US11916576B2 (en) | 2019-10-18 | 2024-02-27 | Koninklijke Philips N.V. | System and method for effective compression, representation and decompression of diverse tabulated data |
CN111243663B (zh) * | 2020-02-26 | 2022-06-07 | 西安交通大学 | 一种基于模式增长算法的基因变异检测方法 |
CN111370070B (zh) * | 2020-02-27 | 2023-10-27 | 中国科学院计算技术研究所 | 一种针对大数据基因测序文件的压缩处理方法 |
US12006539B2 (en) | 2020-03-17 | 2024-06-11 | Western Digital Technologies, Inc. | Reference-guided genome sequencing |
US12014802B2 (en) * | 2020-03-17 | 2024-06-18 | Western Digital Technologies, Inc. | Devices and methods for locating a sample read in a reference genome |
US11837330B2 (en) | 2020-03-18 | 2023-12-05 | Western Digital Technologies, Inc. | Reference-guided genome sequencing |
EP3896698A1 (en) * | 2020-04-15 | 2021-10-20 | Genomsys SA | Method and system for the efficient data compression in mpeg-g |
CN111459208A (zh) * | 2020-04-17 | 2020-07-28 | 南京铁道职业技术学院 | 针对地铁供电系统电能的操纵系统及其方法 |
MX2022015885A (es) * | 2020-09-14 | 2023-04-03 | Illumina Inc | Archivos de datos personalizado para medicina personalizada. |
CN112836355B (zh) * | 2021-01-14 | 2023-04-18 | 西安科技大学 | 一种预测采煤工作面顶板来压概率的方法 |
ES2930699A1 (es) * | 2021-06-10 | 2022-12-20 | Veritas Intercontinental S L | Metodo de analisis genomico en una plataforma bioinformatica |
CN113670643B (zh) * | 2021-08-30 | 2023-05-12 | 四川虹美智能科技有限公司 | 智能空调测试方法及系统 |
CN113643761B (zh) * | 2021-10-13 | 2022-01-18 | 苏州赛美科基因科技有限公司 | 一种用于解读二代测序结果所需数据的提取方法 |
WO2023114415A2 (en) * | 2021-12-15 | 2023-06-22 | Illumina Software, Inc. | Systems and methods for iterative and scalable population-scale variant analysis |
CN115391284B (zh) * | 2022-10-31 | 2023-02-03 | 四川大学华西医院 | 基因数据文件快速识别方法、系统和计算机可读存储介质 |
CN116541348B (zh) * | 2023-03-22 | 2023-09-26 | 河北热点科技股份有限公司 | 数据智能存储方法及终端查询一体机 |
CN116739646B (zh) * | 2023-08-15 | 2023-11-24 | 南京易联阳光信息技术股份有限公司 | 网络交易大数据分析方法及分析系统 |
CN117708755B (zh) * | 2023-12-17 | 2024-06-21 | 重庆文理学院 | 基于生态环境的数据处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120230338A1 (en) * | 2011-03-09 | 2012-09-13 | Annai Systems, Inc. | Biological data networks and methods therefor |
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
US20150234870A1 (en) * | 2014-02-14 | 2015-08-20 | Srinivasan Kumar | Dynamic mapping of extensible datasets to relational database schemas |
WO2016202918A1 (en) * | 2015-06-16 | 2016-12-22 | Gottfried Wilhelm Leibniz Universität Hannover | Method for compressing genomic data |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6303297B1 (en) * | 1992-07-17 | 2001-10-16 | Incyte Pharmaceuticals, Inc. | Database for storage and analysis of full-length sequences |
JP3429674B2 (ja) | 1998-04-28 | 2003-07-22 | 沖電気工業株式会社 | 多重通信システム |
EP1410301A4 (en) * | 2000-04-12 | 2008-01-23 | Cleveland Clinic Foundation | SYSTEM FOR IDENTIFYING AND ANALYZING GENE EXPRESSION CONTAINING ELEMENTS RICH IN ADENYLATE URIDYLATE (ARE) |
FR2820563B1 (fr) * | 2001-02-02 | 2003-05-16 | Expway | Procede de compression/decompression d'un document structure |
US20040153255A1 (en) * | 2003-02-03 | 2004-08-05 | Ahn Tae-Jin | Apparatus and method for encoding DNA sequence, and computer readable medium |
DE10320711A1 (de) * | 2003-05-08 | 2004-12-16 | Siemens Ag | Verfahren und Anordnung zur Einrichtung und Aktualisierung einer Benutzeroberfläche zum Zugriff auf Informationsseiten in einem Datennetz |
WO2005024562A2 (en) * | 2003-08-11 | 2005-03-17 | Eloret Corporation | System and method for pattern recognition in sequential data |
US7805282B2 (en) * | 2004-03-30 | 2010-09-28 | New York University | Process, software arrangement and computer-accessible medium for obtaining information associated with a haplotype |
WO2006052242A1 (en) * | 2004-11-08 | 2006-05-18 | Seirad, Inc. | Methods and systems for compressing and comparing genomic data |
WO2007132461A2 (en) * | 2006-05-11 | 2007-11-22 | Ramot At Tel Aviv University Ltd. | Classification of protein sequences and uses of classified proteins |
SE531398C2 (sv) | 2007-02-16 | 2009-03-24 | Scalado Ab | Generering av en dataström och identifiering av positioner inuti en dataström |
KR101369745B1 (ko) * | 2007-04-11 | 2014-03-07 | 삼성전자주식회사 | 비동기화된 비트스트림들의 다중화 및 역다중화 방법 및장치 |
US8832112B2 (en) * | 2008-06-17 | 2014-09-09 | International Business Machines Corporation | Encoded matrix index |
WO2010056131A1 (en) * | 2008-11-14 | 2010-05-20 | Real Time Genomics, Inc. | A method and system for analysing data sequences |
US20100217532A1 (en) * | 2009-02-25 | 2010-08-26 | University Of Delaware | Systems and methods for identifying structurally or functionally significant amino acid sequences |
DK2494060T3 (en) * | 2009-10-30 | 2016-08-01 | Synthetic Genomics Inc | Coding of text for nucleic acid sequences |
EP2362657B1 (en) * | 2010-02-18 | 2013-04-24 | Research In Motion Limited | Parallel entropy coding and decoding methods and devices |
US20140228223A1 (en) * | 2010-05-10 | 2014-08-14 | Andreas Gnirke | High throughput paired-end sequencing of large-insert clone libraries |
KR101952965B1 (ko) * | 2010-05-25 | 2019-02-27 | 더 리젠츠 오브 더 유니버시티 오브 캘리포니아 | Bambam:고처리율 서열분석 데이터의 병렬 비교 분석 |
WO2012098515A1 (en) * | 2011-01-19 | 2012-07-26 | Koninklijke Philips Electronics N.V. | Method for processing genomic data |
WO2012168815A2 (en) * | 2011-06-06 | 2012-12-13 | Koninklijke Philips Electronics N.V. | Method for assembly of nucleic acid sequence data |
CN107517384B (zh) * | 2011-06-16 | 2020-06-30 | Ge视频压缩有限责任公司 | 解码器、编码器、解码方法、编码方法以及存储介质 |
US8707289B2 (en) * | 2011-07-20 | 2014-04-22 | Google Inc. | Multiple application versions |
WO2013050612A1 (en) * | 2011-10-06 | 2013-04-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Entropy coding buffer arrangement |
CN111710361A (zh) * | 2011-11-07 | 2020-09-25 | 凯杰雷德伍德城公司 | 用于识别原因性基因组变体的方法和系统 |
KR101922129B1 (ko) * | 2011-12-05 | 2018-11-26 | 삼성전자주식회사 | 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치 |
KR20200044149A (ko) * | 2011-12-08 | 2020-04-28 | 파이브3 제노믹스, 엘엘씨 | 게놈 데이터의 동적 인덱싱 및 시각화를 제공하는 분산 시스템 |
EP2608096B1 (en) * | 2011-12-24 | 2020-08-05 | Tata Consultancy Services Ltd. | Compression of genomic data file |
US9600625B2 (en) * | 2012-04-23 | 2017-03-21 | Bina Technologies, Inc. | Systems and methods for processing nucleic acid sequence data |
CN103049680B (zh) * | 2012-12-29 | 2016-09-07 | 深圳先进技术研究院 | 基因测序数据读取方法及系统 |
US9679104B2 (en) * | 2013-01-17 | 2017-06-13 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
WO2014145503A2 (en) * | 2013-03-15 | 2014-09-18 | Lieber Institute For Brain Development | Sequence alignment using divide and conquer maximum oligonucleotide mapping (dcmom), apparatus, system and method related thereto |
JP6054790B2 (ja) | 2013-03-28 | 2016-12-27 | 三菱スペース・ソフトウエア株式会社 | 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム |
GB2512829B (en) * | 2013-04-05 | 2015-05-27 | Canon Kk | Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme |
WO2014186604A1 (en) * | 2013-05-15 | 2014-11-20 | Edico Genome Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
KR101522087B1 (ko) * | 2013-06-19 | 2015-05-28 | 삼성에스디에스 주식회사 | 미스매치를 고려한 염기 서열 정렬 시스템 및 방법 |
US20150032711A1 (en) * | 2013-07-06 | 2015-01-29 | Victor Kunin | Methods for identification of organisms, assigning reads to organisms, and identification of genes in metagenomic sequences |
KR101493982B1 (ko) * | 2013-09-26 | 2015-02-23 | 대한민국 | 품종인식 코드화 시스템 및 이를 이용한 코드화 방법 |
CN104699998A (zh) * | 2013-12-06 | 2015-06-10 | 国际商业机器公司 | 用于对基因组进行压缩和解压缩的方法和装置 |
US10902937B2 (en) * | 2014-02-12 | 2021-01-26 | International Business Machines Corporation | Lossless compression of DNA sequences |
US9886561B2 (en) * | 2014-02-19 | 2018-02-06 | The Regents Of The University Of California | Efficient encoding and storage and retrieval of genomic data |
US9354922B2 (en) * | 2014-04-02 | 2016-05-31 | International Business Machines Corporation | Metadata-driven workflows and integration with genomic data processing systems and techniques |
US20150379195A1 (en) * | 2014-06-25 | 2015-12-31 | The Board Of Trustees Of The Leland Stanford Junior University | Software haplotying of hla loci |
GB2527588B (en) | 2014-06-27 | 2016-05-18 | Gurulogic Microsystems Oy | Encoder and decoder |
US20160019339A1 (en) * | 2014-07-06 | 2016-01-21 | Mercator BioLogic Incorporated | Bioinformatics tools, systems and methods for sequence assembly |
US10230390B2 (en) * | 2014-08-29 | 2019-03-12 | Bonnie Berger Leighton | Compressively-accelerated read mapping framework for next-generation sequencing |
US10116632B2 (en) * | 2014-09-12 | 2018-10-30 | New York University | System, method and computer-accessible medium for secure and compressed transmission of genomic data |
US20160125130A1 (en) * | 2014-11-05 | 2016-05-05 | Agilent Technologies, Inc. | Method for assigning target-enriched sequence reads to a genomic location |
CN105956417A (zh) * | 2016-05-04 | 2016-09-21 | 西安电子科技大学 | 云环境下基于编辑距离的相似碱基序列查询方法 |
CN105975811B (zh) * | 2016-05-09 | 2019-03-15 | 管仁初 | 一种智能比对的基因序列分析装置 |
-
2017
- 2017-02-14 PE PE2019000804A patent/PE20191058A1/es unknown
- 2017-02-14 BR BR112019007359A patent/BR112019007359A2/pt not_active IP Right Cessation
- 2017-02-14 JP JP2019540510A patent/JP2020505702A/ja not_active Withdrawn
- 2017-02-14 WO PCT/US2017/017841 patent/WO2018071054A1/en active Search and Examination
- 2017-02-14 CN CN201780062919.5A patent/CN110168651A/zh active Pending
- 2017-02-14 WO PCT/US2017/017842 patent/WO2018071055A1/en active Application Filing
- 2017-02-14 AU AU2017342688A patent/AU2017342688A1/en not_active Abandoned
- 2017-02-14 MX MX2019004130A patent/MX2019004130A/es unknown
- 2017-02-14 KR KR1020197013567A patent/KR20190073426A/ko unknown
- 2017-02-14 US US16/341,426 patent/US20200042735A1/en not_active Abandoned
- 2017-02-14 EP EP17859972.6A patent/EP3526694A4/en not_active Withdrawn
- 2017-02-14 CA CA3040138A patent/CA3040138A1/en not_active Abandoned
- 2017-02-14 SG SG11201903270RA patent/SG11201903270RA/en unknown
- 2017-07-11 CA CA3040147A patent/CA3040147A1/en not_active Abandoned
- 2017-07-11 IL IL265879A patent/IL265879B2/en unknown
- 2017-07-11 KR KR1020197013419A patent/KR20190069469A/ko not_active Application Discontinuation
- 2017-07-11 JP JP2019540513A patent/JP2020500383A/ja not_active Withdrawn
- 2017-07-11 EA EA201990917A patent/EA201990917A1/ru unknown
- 2017-07-11 EP EP17860868.3A patent/EP3526707A4/en not_active Withdrawn
- 2017-07-11 PE PE2019000805A patent/PE20191227A1/es unknown
- 2017-07-11 CN CN201780062885.XA patent/CN110114830B/zh active Active
- 2017-07-11 PE PE2019000802A patent/PE20191056A1/es unknown
- 2017-07-11 WO PCT/US2017/041591 patent/WO2018071080A2/en unknown
- 2017-07-11 JP JP2019540511A patent/JP7079786B2/ja active Active
- 2017-07-11 US US16/337,642 patent/US11404143B2/en active Active
- 2017-07-11 SG SG11201903271UA patent/SG11201903271UA/en unknown
- 2017-07-11 CN CN201780063014.XA patent/CN110121577B/zh active Active
- 2017-07-11 MX MX2019004128A patent/MX2019004128A/es unknown
- 2017-07-11 BR BR112019007357A patent/BR112019007357A2/pt not_active Application Discontinuation
- 2017-07-11 KR KR1020197013418A patent/KR20190062541A/ko active Search and Examination
- 2017-07-11 PE PE2019000803A patent/PE20191057A1/es unknown
- 2017-07-11 BR BR112019007363A patent/BR112019007363A2/pt not_active Application Discontinuation
- 2017-07-11 EA EA201990916A patent/EA201990916A1/ru unknown
- 2017-07-11 EP EP17860980.6A patent/EP3526657A4/en active Pending
- 2017-07-11 CN CN201780063013.5A patent/CN110506272B/zh active Active
- 2017-07-11 BR BR112019007360A patent/BR112019007360A2/pt not_active Application Discontinuation
- 2017-07-11 CA CA3040145A patent/CA3040145A1/en not_active Abandoned
- 2017-07-11 AU AU2017341684A patent/AU2017341684A1/en not_active Abandoned
- 2017-07-11 JP JP2019540512A patent/JP2019537172A/ja not_active Withdrawn
- 2017-07-11 SG SG11201903272XA patent/SG11201903272XA/en unknown
- 2017-07-11 US US16/337,639 patent/US20190214111A1/en not_active Abandoned
- 2017-07-11 WO PCT/US2017/041585 patent/WO2018071079A1/en active Search and Examination
- 2017-07-11 AU AU2017341685A patent/AU2017341685A1/en not_active Abandoned
- 2017-12-14 KR KR1020197026863A patent/KR20190117652A/ko not_active Application Discontinuation
- 2017-12-14 US US16/485,623 patent/US20190385702A1/en active Pending
- 2017-12-14 BR BR112019016230A patent/BR112019016230A2/pt not_active Application Discontinuation
- 2017-12-14 PE PE2019001667A patent/PE20200323A1/es unknown
- 2017-12-14 CN CN201780086529.1A patent/CN110603595B/zh active Active
- 2017-12-15 BR BR112019016232A patent/BR112019016232A2/pt not_active Application Discontinuation
- 2017-12-15 US US16/485,649 patent/US20200051667A1/en active Pending
- 2017-12-15 PE PE2019001669A patent/PE20200226A1/es unknown
- 2017-12-15 CN CN201780086770.4A patent/CN110678929B/zh active Active
-
2018
- 2018-02-14 BR BR112019016236A patent/BR112019016236A2/pt unknown
- 2018-02-14 US US16/485,670 patent/US20200051665A1/en active Pending
- 2018-02-14 PE PE2019001668A patent/PE20200227A1/es unknown
-
2019
- 2019-04-08 IL IL265928A patent/IL265928B/en active IP Right Grant
- 2019-04-10 CL CL2019000972A patent/CL2019000972A1/es unknown
- 2019-04-10 CL CL2019000973A patent/CL2019000973A1/es unknown
- 2019-04-10 CL CL2019000968A patent/CL2019000968A1/es unknown
- 2019-04-11 PH PH12019550057A patent/PH12019550057A1/en unknown
- 2019-04-11 CO CONC2019/0003595A patent/CO2019003595A2/es unknown
- 2019-04-11 PH PH12019550059A patent/PH12019550059A1/en unknown
- 2019-04-11 CO CONC2019/0003638A patent/CO2019003638A2/es unknown
- 2019-04-11 IL IL265972A patent/IL265972A/en unknown
- 2019-04-11 CO CONC2019/0003639A patent/CO2019003639A2/es unknown
- 2019-04-11 PH PH12019550060A patent/PH12019550060A1/en unknown
- 2019-04-11 PH PH12019550058A patent/PH12019550058A1/en unknown
- 2019-04-15 CO CONC2019/0003842A patent/CO2019003842A2/es unknown
- 2019-08-12 CL CL2019002275A patent/CL2019002275A1/es unknown
- 2019-08-12 CL CL2019002276A patent/CL2019002276A1/es unknown
- 2019-08-12 CL CL2019002277A patent/CL2019002277A1/es unknown
- 2019-08-13 PH PH12019501879A patent/PH12019501879A1/en unknown
- 2019-08-13 PH PH12019501881A patent/PH12019501881A1/en unknown
- 2019-09-12 CO CONC2019/0009922A patent/CO2019009922A2/es unknown
- 2019-09-12 CO CONC2019/0009920A patent/CO2019009920A2/es unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120230338A1 (en) * | 2011-03-09 | 2012-09-13 | Annai Systems, Inc. | Biological data networks and methods therefor |
CN103336916A (zh) * | 2013-07-05 | 2013-10-02 | 中国科学院数学与系统科学研究院 | 一种测序序列映射方法及系统 |
US20150234870A1 (en) * | 2014-02-14 | 2015-08-20 | Srinivasan Kumar | Dynamic mapping of extensible datasets to relational database schemas |
WO2016202918A1 (en) * | 2015-06-16 | 2016-12-22 | Gottfried Wilhelm Leibniz Universität Hannover | Method for compressing genomic data |
Non-Patent Citations (8)
Title |
---|
PARIDAENS: "AFRESh: an adaptive framework for compression of reads and assembled sequences with random access functionality", 《BIOINFORMATICS》 * |
PARIDAENS: "AFRESh: an adaptive framework for compression of reads and assembled sequences with random access functionality", 《BIOINFORMATICS》, 5 January 2017 (2017-01-05) * |
PENG: "Re-alignment of the unmapped reads with base quality score", 《BMC BIOINFORMATICS》 * |
PENG: "Re-alignment of the unmapped reads with base quality score", 《BMC BIOINFORMATICS》, 18 March 2015 (2015-03-18) * |
TOM PARIDAENS: "AFRESh: an adaptive framework for compression of reads and assembled sequences with random access functionality", BIOINFORMATICS, pages 1464 * |
XIAOQING PENG: "Re-alignment of the unmapped reads with base quality score", BMC BIOINFORMATICS 2015 * |
张德礼等: "通过新基因计算机识别与实验确认对NCBI人类基因数据库一些模式参考序列错误的分析与纠正", 《遗传学报》 * |
张德礼等: "通过新基因计算机识别与实验确认对NCBI人类基因数据库一些模式参考序列错误的分析与纠正", 《遗传学报》, no. 05, 10 May 2004 (2004-05-10) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117153270A (zh) * | 2023-10-30 | 2023-12-01 | 吉林华瑞基因科技有限公司 | 一种基因二代测序数据处理方法 |
CN117153270B (zh) * | 2023-10-30 | 2024-02-02 | 吉林华瑞基因科技有限公司 | 一种基因二代测序数据处理方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110678929B (zh) | 用于高效压缩基因组序列读段的方法和系统 | |
EP3526709B1 (en) | Efficient data structures for bioinformatics information representation | |
EP3583249B1 (en) | Method and systems for the reconstruction of genomic reference sequences from compressed genomic sequence reads | |
CN110168652B (zh) | 用于存储和访问生物信息学数据的方法和系统 | |
AU2018221458B2 (en) | Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors | |
JP7362481B2 (ja) | ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体 | |
JP7324145B2 (ja) | ゲノムシーケンスリードの効率的圧縮のための方法及びシステム | |
CN110663022B (zh) | 使用基因组描述符紧凑表示生物信息学数据的方法和设备 | |
AU2017399715A1 (en) | Method and systems for the reconstruction of genomic reference sequences from compressed genomic sequence reads | |
ES2960009T3 (es) | Método y sistemas para la compresión eficiente de lecturas de secuencias genómica | |
NZ757185B2 (en) | Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors | |
EA043338B1 (ru) | Способ и устройство для компактного представления биоинформационных данных с помощью нескольких геномных дескрипторов |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |