CN112102883B - 一种fastq文件压缩中的碱基序列编码方法和系统 - Google Patents

一种fastq文件压缩中的碱基序列编码方法和系统 Download PDF

Info

Publication number
CN112102883B
CN112102883B CN202011016128.9A CN202011016128A CN112102883B CN 112102883 B CN112102883 B CN 112102883B CN 202011016128 A CN202011016128 A CN 202011016128A CN 112102883 B CN112102883 B CN 112102883B
Authority
CN
China
Prior art keywords
sequence
base
base sequence
degenerate
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011016128.9A
Other languages
English (en)
Other versions
CN112102883A (zh
Inventor
陈毓新
赵子健
李胜康
龚淳
黄志博
张勇
方林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BGI Shenzhen Co Ltd
Original Assignee
BGI Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BGI Shenzhen Co Ltd filed Critical BGI Shenzhen Co Ltd
Publication of CN112102883A publication Critical patent/CN112102883A/zh
Application granted granted Critical
Publication of CN112102883B publication Critical patent/CN112102883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search

Landscapes

  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biophysics (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明属于生物信息数据处理技术领域,涉及一种FASTQ文件压缩中的碱基序列编码方法和系统,S1对待编码碱基序列的简并碱基信息进行编码;S2判断待编码碱基序列是否存在接头序列,若存在所述接头序列则对所述接头序列进行编码;S3将待编码碱基序列与参考序列进行比对,若所述待编码碱基序列与参考序列比对成功,则将所述待编码碱基序列的比对信息进行编码;S4若所述待编码碱基序列与参考序列比对失败,则对所述待编码碱基序列进行熵编码。其通过尽量降低接头序列、简并碱基、低质量碱基给序列比对和熵编码带来的负面影响,从而提高了比对率和熵编码的压缩率。

Description

一种FASTQ文件压缩中的碱基序列编码方法和系统
技术领域
本发明是关于一种FASTQ文件压缩中的碱基序列编码方法和系统,属于生物信息数据处理技术领域。
背景技术
自DNA测序技术诞生以来,测序数据不断增长,且增长速度越来越快,随着测序数据的积累,数据管理成本不断提升,包括存储成本和传输成本,因此需要将测序数据进行数据压缩以降低成本。
作为通用的基因组数据存储格式,FASTQ文件负责存储核酸序列和相应测序质量分数,其以四行为单位表示一个短读序列,每一个短读序列包括了标识符、碱基序列以及测序质量值,标准的FSATQ格式文件结构如下:
@SRR001666.1 071112_SLXA-EAS1_s_7:5:1:817:345length=36
GGGTGATGGCCGCTGCCGATGGCGTCAAATCCCACC
+
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IG9IC
其中,第一行和第三行为标识符,第一行以@开头,后面跟随着这条短读序列的标识符,第三行以+开头,后面可以跟随着同样的标识符,也可以不跟随其他内容。第二行为碱基序列,通常是由ACGTN组成的字符串,极少数情况下会出现其他字符。第四行为测序质量值,长度与第二行相同,指代每个碱基的测序可信度,有两种质量值系统,分别从!和@开始,范围都是40个字符左右。
碱基序列包括单端序列(Single-end sequencing)和双端序列,双端序列包括Paired-end sequencing和mate-paired sequencing;对于单端测序,单次测序只会产生单个FASTQ文件,而对于双端测序,单次测序会产生一对FASTQ文件,这两个文件的行数相等,每一对FASTQ文件在文件位置上都是一一对应的,且在基因组上的位置也是相邻的。
最早的压缩方法是使用压缩工具进行压缩,如gzip,bzip2等,这种通用工具由于对FASTQ格式的特征利用不足,因此压缩率并不理想。在这之后,出现了专门压缩FASTQ文件的工具,但起初算法策略并不统一,比如SeqDB和G-SQZ都选择了将碱基序列和测序质量值结合编码的做法。SeqDB用一个字节来同时存碱基和测序质量值的组合;G-SQZ以<碱基,测序质量值>为单位,在统计频率之后进行了零阶霍夫曼编码。由于这种策略的压缩率很差,因而很快被摒弃,另一种将FASTQ文件中的碱基序列、ID和测序质量值三个信息流独立压缩的做法成为了主流。
沿袭这种框架的开源工具很多,但算法不一而足。详细而言,FASTQ文件中的ID和测序质量值基本都采用熵编码,也即利用信息之间的相似性进行去冗余,但碱基序列的压缩则比较复杂,在熵编码之外,因为有参考序列(常见为基因组序列)的存在,许多碱基序列能够比对到基因组上的相应序列,因而可以被参考序列中的比对信息替换。这类开源工具中表现较为出色的有quip,fqzcomp,DSRC和LFQC等。
现有技术FASTQ文件压缩过程中,在处理碱基序列方面,主要分为两种,一种是无需外部参考序列的方法,另一种是基于外部参考序列进行序列比对的方法。
对于无需外部参考序列的方法,通常使用简单的熵编码如游程编码,或是在经BWT(Burrows–Wheeler_transform)算法处理后进行游程编码,而更复杂一些的技术,则通过已处理的序列拟合后续序列,或是自己建立字典,或以Similar graph作为后续序列的索引。
基于外部参考序列进行序列比对的方法,是将比对成功的序列替换成其在参考序列上的比对信息,包括比对位置、比对方向等信息。目前使用的比对方法基本都基于种子序列定位及延伸算法(seed-and-extend),简单来说,就是按一定方法在待比对序列上取若干子串(单个子串可以连续或不连续)作为种子序列,定位种子序列在参考序列上的精确匹配位置,再通过延长来确定是否符合比对条件。
根据在定位种子序列阶段所用索引结构的差异,比对方法基本可以分为两类,分别是基于哈希(HASH)索引和基于BWT索引的比对方法。前者将参考序列按照固定模式取得若干子串(substring),并用哈希索引存储起来(比如传统的连续子串策略就是在参考序列上连续取长度为k的子串),在比对时用同样策略在待比对序列上取子串即为种子序列;后者将参考序列直接保存为BWT索引,并利用FM-index(Full-text Minute-space index)结构实现对任意长度序列的搜索,又因为这种搜索模式是不断延伸单个碱基(如把AATC比对到参考序列上,可以先得到所有A的比对位置,再陆续得到AA、AAT、AATC的比对位置,也可以以C、TC、ATC、AATC的顺序进行,还可以以A、AT、AAT、AATC的顺序,总之一次只延伸一位),通常做法是取无法再向前及向后延伸的精确匹配子串作为种子序列。
比较而言,基于BWT索引的比对方法,由于在搜索阶段对目标序列无长度要求,因此优点是在种子序列的选取上更为灵活,而基于HASH索引只能将固定模式的子串作为种子序列,因此优点是速度更快。
在序列压缩中,序列比对是很重要的一个环节,因为比对率高会大幅提升序列部分的压缩率,以至于给整体压缩率带来积极影响,但比对率会因为序列的某些负面影响因素而下降,这时就需要尽量摒除负面因素以提高压缩率。该负面因素可以是序列中的简并碱基和接头序列。
根据密码子的简并性,常用一个字符指代某两个或者更多碱基,这种情况即为简并碱基,常见的简并碱基基本只有N(指代ACGT四个碱基),极少数情况会出现其他简并碱基(如V指代ACG三个碱基)。简并碱基的出现一般是因为测序质量较差,因此,如果在编码简并碱基时考虑测序质量值的影响,就能尽可能提高压缩率,并屏蔽简并碱基对后续整体碱基序列编码的负面影响。
接头序列是测序流程留下的污染序列,当被捕获的序列长度小于测序仪的读长时,会造成接头序列被测序并进入结果中,由于接头序列是人造物,与测序物种无关,因此该序列会给后续编码带来干扰。接头序列一般出现在序列的中部,或者以子串的形式出现在序列的尾部,且接头序列在单个文件中是固定的,因此可以针对性地进行查找。
在比对结果的编码部分,现有技术中的编码对数据的去冗余程度不足,在得到诸如比对位置、比对方向、错配碱基等信息后,就直接交由熵编码算法压缩,因而压缩率不够理想,并且对于双端测序数据,现有技术也没有很好地利用成对的短读序列在基因组上的位置相邻关系。另外,对于难以比对的碱基序列,现有技术基本直接使用熵编码进行压缩,而未使用测序质量值辅助压缩,因此压缩率还有待进一步提升。
发明内容
针对上述现有技术的不足,本发明的目的是提供一种FASTQ文件压缩中的碱基序列编码方法和系统,其能降低接头序列和简并碱基给比对率带来的负面影响,并在比对结果编码和序列熵编码两方面提高压缩率。
为实现上述目的,本发明提供了一种FASTQ文件压缩中的碱基序列编码方法,包括以下步骤:S1对待编码碱基序列的简并碱基信息进行编码;S2判断待编码碱基序列是否存在接头序列,若存在接头序列则对接头序列进行编码;S3将待编码碱基序列中的简并碱基和接头序列设为通配符,将经过处理的待编码碱基序列与参考序列进行比对;S4若待编码碱基序列与参考序列比对成功,则将待编码碱基序列的比对信息进行编码;S5若待编码碱基序列与参考序列比对失败,则对待编码碱基序列进行熵编码。
进一步,步骤S1中对待编码碱基序列的简并碱基信息进行编码的方法为:遍历待编码碱基序列,获得所有简并碱基的个数与字符,获得简并碱基对应测序质量值中的最大值Max_Qn,并记录连续简并碱基在所有测序质量值小于等于Max_Qn的碱基中的相对位置及长度,将其中连续的简并碱基视为一个碱基,编码时将连续简并碱基块作为一个位置,并记录其相对间隔和长度。
进一步,步骤S1中对待编码碱基序列的简并碱基信息进行编码的方法为:遍历待编码碱基序列,获得所有简并碱基的个数与字符,获得简并碱基对应测序质量值中的最大值Max_Qn,并记录连续简并碱基在所有测序质量值小于等于Max_Qn的碱基中的相对位置及长度,以非简并碱基为目标进行编码,其具体过程为:首先检测是否存在简并碱基,若存在,则首先标识存在简并碱基,并标识非简并碱基的个数和非简并碱基的相对间隔。
进一步,步骤S2中接头序列的编码,包括以下步骤:S2.1将完整的接头序列ada,与完整的碱基序列seq进行比对,以判断接头序列ada是否存在于碱基序列seq上,若存在则进入S2.3,若不存在则进入下一步;S2.2将接头序列ada的头部与碱基序列seq尾部进行局部比对,以检测接头序列ada的子串是否存在于碱基序列seq的尾端上,若存在进入下一步,若不存在则碱基序列seq上不存在接头序列;S2.3对步骤S2.1和S2.2中的对比结果进行编码。
进一步,步骤S2.3中的对比对结果进行编码包括:对于步骤S2.1的比对结果,编码接头序列在碱基序列上的起始位置和变异信息;对于步骤S2.2的比对结果,编码接头序列的子串长度和变异信息,步骤S2.1和步骤S2.2中通过指定最大容纳错配数作为比对成功标志,且简并碱基不计入错配。
进一步,步骤S3中种子序列定位及延伸算法的比对过程包括以下步骤:S3.1挑选种子序列,基于种子序列的平均或最低测序质量值进行筛选,平均或最低测序质量值高于阈值的进入定位及延伸阶段,为增加备用种子序列的数量,将简并碱基和接头序列视作通配符,并对包含通配符的种子序列进行筛选;S3.2对种子序列进行定位及延伸,将简并碱基和接头序列视作通配符,不计入错配。
进一步,在步骤S3中在种子序列的筛选方法为:筛选在参考序列上出现次数最少的种子序列,挑选算法为基于哈希索引的比对算法的挑选逻辑或基于BWT索引的比对算法的挑选逻辑;在基于哈希索引的比对算法中,由于种子的精确比对是直接用种子序列在HASH索引中进行检索,因此将碱基所涵盖的种子序列进行比对,获得的比对位置最少的种子序列,成为不含简并碱基的备选种子序列,进行定位及延伸;在基于BWT索引的比对算法中,在对子序列进行延伸比对时,若当前步骤要延伸的碱基为简并碱基,则将简并碱基视为通配符获得四组子串,选择四组子串中比对位置最多的子串继续延伸比对,直到子序列无法再向前及向后延伸,则子序列为种子序列。
进一步,步骤S4中的比对信息包括:比对位置、比对方向和变异信息,其中,变异信息可分为错配、插入和缺失三类。
进一步,将步骤S4中的比对信息进行编码包括以下步骤:S4.1对比对位置信息进行熵编码,采用分段熵编码或指数-哥伦布编码,另外对于双端测序数据将两个位置信息转化为前置标识符、首位置和相对距离后进行编码;S4.2对比对方向进行二值编码;S4.3编码每条碱基序列的变异数目和变异种类,将所有变异信息的位置间隔进行编码,其余变异信息在后三个阶段中分别编码;S4.4对于发生错配的部分,编码每条碱基序列的错配碱基;S4.5对于发生插入的部分,编码每条碱基序列中插入碱基的类型和插入长度;S4.6对于发生缺失的部分,编码每条碱基序列的缺失长度。
本发明还公开了一种FASTQ文件压缩中的碱基序列编码系统,包括:简并碱基编码模块,用于对待编码碱基序列的简并碱基信息进行编码;接头序列编码模块,用于判断待编码碱基序列是否存在接头序列,若存在接头序列则对接头序列进行编码;信息比对模块,用于将待编码碱基序列与参考序列进行比对;比对成功信息编码模块,用于在待编码碱基序列与参考序列比对成功时,对待编码碱基序列的比对信息进行编码;比对失败信息编码模块,用于在待编码碱基序列与参考序列比对失败时,对待编码碱基序列进行熵编码。
本发明由于采取以上技术方案,其具有以下优点:本发明中方案能够尽量降低接头序列、简并碱基、低质量碱基给序列比对和熵编码带来的负面影响,从而提高了比对率和熵编码的压缩率。
附图说明
图1是本发明一实施例中对简并碱基的处理流程的示意图;
图2是本发明一实施例中对接头序列的处理流程的示意图;
图3是本发明一实施例中对比对结果进行编码的示意图;
图4是本发明一实施例中对碱基序列进行熵编码的示意图。
具体实施方式
为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
实施例一
本实施例提供了一种FASTQ文件压缩中的碱基序列编码方法,包括以下步骤:
S1对待编码碱基序列的简并碱基信息进行编码。
由于简并碱基的测序质量值通常显著低于非简并碱基,因此借助测序质量值来压缩简并碱基的位置信息会提高压缩率,又因为在低质量值碱基中绝大多数是简并碱基,因此以连续简并碱基为单位进行记录。具体来说,先记录所有简并碱基的测序质量值的最大值Max_Qn,然后,记录简并碱基个数和字符,以及连续简并碱基在所有测序质量值小于等于Max_Qn的碱基中的相对位置及长度,则在解压阶段,通过Max_Qn、简并碱基的个数和字符、连续简并碱基的相对位置信息及长度的结合还原出所有简并碱基。
如图1所示,以碱基AGTATCGGNTACNTGATCNATCG为例进行说明,获得待编码碱基序列中的简并碱基信息方法为:遍历待编码碱基序列,获得所有非ACGT字符的个数与字符(如N),对于图1中的碱基其简并碱基为3个N,获得简并碱基对应测序质量值中的最大值Max_Qn,碱基AGTATCGGNTACNTGATCNATCG的质量是IIIHHII″!III″HHHHI!III!,其中,简并碱基对应测序质量值中的最大值Max_Qn为″,并记录连续简并碱基在所有测序质量值小于等于Max_Qn的碱基中的相对位置及长度。在本实施例中,质量值小于等于Max_Qn的碱基一共有5个,从前到后依次为GNNNG,将其中连续的3个简并碱基视为一个碱基,即测序质量值小于等于Max_Qn的碱基可以表示为G,[N,N,N],G。编码时将连续简并碱基块作为一个位置,并记录其相对间隔和长度,例如针对本实施例中的碱基其相对间隔为(1),长度为3。其中,步骤S1中简并碱基的编码包括对简并碱基个数、简并碱基字符、Max_Qn、简并碱基相对距离rel_dis和长度进行编码。
由于在质量值小于等于Max_Qn的碱基中,非简并碱基的占比较小,因此在简并碱基位置信息的编码部分,也可以只记录非简并碱基的位置,该方法可以作为对上述方法的替代。如图1所示,本段中的方法与上一段中的方法基本相同,不同之处在于:在找到质量值小于等于Max_Qn的5个碱基后,以非简并碱基为目标进行编码。其具体过程为:首先检测是否存在简并碱基,若存在,则首先标识存在简并碱基,并标识非简并碱基的个数和非简并碱基的相对间隔,比如本实施例中的碱基其非简并碱基的个数为2,非简并碱基出现在第一个和第五个上,因此相对间隔为(0,3)。
对Max_Qn、简并碱基的相关位置、碱基信息的记录和编码,使得在后续的碱基序列编码过程中,简并碱基的影响被完全摒除,从而碱基序列的压缩率被提高。在解码阶段,根据测序质量值字符串,结合简并碱基个数、Max_Qn和简并碱基所在位置信息,获知当前序列上哪些位置为简并碱基,再通过简并碱基字符,还原简并碱基。
S2判断待编码碱基序列是否存在接头序列,若存在接头序列则对接头序列进行编码。
如图2所示,步骤S2中接头序列的编码,包括以下步骤:
S2.1将完整的接头序列ada,与完整的碱基序列seq进行比对,以判断接头序列ada是否存在于碱基序列seq上,若存在则进入S2.3,若不存在则进入下一步。本实施例中,仅指定最大容纳错配数作为比对成功的标志,即比对结束时错配总数小于等于最大容纳错配数即视为比对成功,且简并碱基不计入错配。
S2.2将接头序列ada的头部与碱基序列seq尾部进行局部比对,以检测接头序列ada的子串是否存在于碱基序列seq的尾端上,若存在进入下一步,若不存在则接头序列的子串向后移动一位继续比较,直至不能移动为止,若仍不存在,则判断碱基序列seq上不存在接头序列;接头序列ada的子串为接头序列的一部分。本步骤中通过指定最大容纳错配数MaxMis作为比对成功标志,即比对结束时错配总数小于等于最大容纳错配数即视为比对成功,且简并碱基不计入错配。
值得注意的是,在S2.2中,由于匹配长度一直在缩短,因此MaxMis取固定值在一些情况下并不合适,比如在adaEdge较小时,比对成功的概率较大,一些情况下被匹配上的碱基序列并不是接头序列,因此也可以将MaxMis设为adaEdge与某个大于0且小于1的经验值的乘积,以在adaEdge较小时规避问题。
S2.3对步骤S2.1和S2.2中的对比结果进行编码。其具体为:对于步骤S2.1的比对结果,编码接头序列在碱基序列上的起始位置和变异信息;对于步骤S2.2的比对结果,编码接头序列的子串长度和变异信息。
在编码信息流时,每个比对位置的编码范围是[0,len(seq)-len(ada)],每个比对长度的编码范围是[minLen,len(ada)-1]。对于S2.1而言,变异位置的编码范围是[0,len(ada)-1],对于S2.2而言,变异位置的编码范围是[0,len(adaEdge)-1],变异信息的编码范围是整个IUPAC的字符库大小。
S3待编码碱基序列与参考序列进行比对,比对算法基于种子序列定位及延伸算法,比对包括以下步骤:
S3.1挑选种子序列,其中,为筛选备用种子序列,基于种子序列的平均或最低测序质量值作为阈值进行筛选,低于阈值的不进入下一阶段,为增加备用种子序列的数量,将简并碱基和接头序列视作通配符,并对包含通配符的种子序列进行筛选。
具体来说,对于含简并碱基的待比对序列,在种子序列挑选阶段,略过含简并碱基的种子序列。举例来说,对于AGCTAGGCGANCNG这条待比对序列,假如将连续子串视作种子,且种子长度设为10,则有AGCTAGGCGA,GCTAGGCGAN,CTAGGCGANC,TAGGCGANCN,AGGCGANCNG,一共5条种子序列可供选择,但由于后4条种子序列都包含了简并碱基,若略过含简并碱基的种子序列,则只有第1条可用,如果错配恰好出现在序列前部,则该序列比对失败的概率较大。若将简并碱基视作通配符纳入种子序列,则能将AGCTAGGCGAN这条子串视作AGCTAGGCGA*,将AGCTAGGCGAA,AGCTAGGCGAC,AGCTAGGCGAG,AGCTAGGCGAT都纳入种子序列的选取范围,以提高比对成功的概率。
另一方面,对于含接头序列的待比对序列,在种子序列的挑选阶段,也可以将接头序列所覆盖的碱基都视作通配符纳入种子序列,流程与含简并碱基的待比对序列的逻辑一致。例如序列AGCTAGGCGANCNG中,若检测出中部的AGGCGAN为接头序列,且种子序列挑选算法为连续子串策略,则其两端的AGCT和CNG无法提供种子序列,此时将中间的接头序列视作通配符,则将AGCT******和*******CNG纳入种子序列的筛选范围,提高比对概率。
另外,种子序列的筛选通过以下方法加以优化,举例而言,AGCT******包含了46个备选的种子序列,如果全部进行定位及延伸,会增加大量的比对时间。因此,先对这些种子序列进行挑选,挑选的原则是选中那些在参考序列上出现次数最少的种子序列。由于比对算法根据索引结构的不同,主要分为哈希(HASH)索引和BWT(Burrows-Wheeler Transform)索引两类,因此挑选算法也分为两类,一类是基于哈希索引的比对算法的挑选逻辑,一类是基于BWT索引的比对算法的挑选逻辑。在基于哈希索引的比对算法中,由于种子的精确比对是直接用种子序列在HASH索引中进行检索,因此将AGCT******所涵盖的种子序列进行比对,获得的比对位置最少或相对较少的种子序列,成为不含简并碱基的备选种子序列,进行定位及延伸。在基于BWT索引的比对算法中,在对子序列进行延伸比对时,若当前步骤要延伸的碱基为简并碱基,如AAT→AATN,则取AATA、AATC、AATG、AATT四者中比对位置最多的子串,继续延伸比对,直到子序列无法再向前及向后延伸,即为种子序列。
除简并碱基和接头序列这两种因素外,对种子序列的挑选还可以增加对于碱基序列的测序质量值的筛选,种子序列挑选的方法为:种子序列包含的各个碱基的测序质量值的均值必须高于阈值,或者种子序列包含的各个碱基的最低测序质量值必须高于阈值,否则不对种子进行后续的定位及延伸操作。
S3.2对种子序列进行定位及延伸,将简并碱基和接头序列视作通配符,不计入错配。
在种子序列的挑选阶段结束后,需要定位到种子序列在参考序列上的精确比对位置,并对种子序列之外的剩余碱基进行比对确认,在这一步,对于存在简并碱基的碱基序列,以及存在检测到接头序列的碱基序列,简并碱基和接头序列都可以被视作通配符,不将简并碱基和接头序列计入错配和插入缺失的总数。
举例而言,对于上述的AGCTAGGCGANCNG,在仅讨论简并碱基时,如果对AGCTAGGCGA这个种子序列进行定位及延伸,需要用参考基因组上所有AGCTAGGCGA出现位置后的碱基,与NCNG进行比较,而如果有某个匹配位置上,后四位碱基为ACAG,即视为完全匹配成功,没有任何错配。另一方面,在仅讨论接头序列时,如果接头序列为尾部的GANCNG,则序列前面的AGCTAGGC匹配成功,即视为整条序列匹配成功,如果接头序列为中部的AGGCGAN,则在定位及延伸阶段,尾部CNG中的N也不纳入比对错误的计数中。如果实际比对时,简并碱基和接头序列都存在,则对两部分的通配符进行加和,以尽量提高比对率。
S4若待编码碱基序列与参考序列比对成功,则将待编码碱基序列的比对信息进行编码。
比对信息包括:比对位置、比对方向和变异信息,其中,变异信息可分为错配、插入和缺失三类。
将比对信息进行编码,如图3所示,包括以下步骤:
S4.1对比对位置信息进行熵编码,由于数字取值范围为参考序列大小,因此数值通常较大,可采用分段熵编码或指数-哥伦布编码,另外对于双端测序数据,将一对短读序列所比对到的两个位置信息转化为前置标识符、首位置和相对距离(即这对序列的两个比对位置的距离)后进行编码,而相对距离因其近似服从正态分布而有相应的编码算法,在下文详述。
接下来介绍分段熵编码和变长熵编码两种算法,这两种算法都可用于编码取值范围不确定或较大的数字流。
首先是分段熵编码,对于k阶分段熵编码而言,若要编码的数字不超过2km,则初始化1个长度熵编码器(编码范围为m)和m个位熵编码器(编码范围为2k),将每个待编码数字转化为2k进制流数据,该2k进制流数据的长度x用长度熵编码器编码,2k进制流数据的x位数字分别用前x个位熵编码器编码。
从1阶模型开始阐述,设常数k=1,若当前待编码数字为17,其用二进制表示结果为10001,则产生了6个信息流,分别是二进制长度(等于5),第五位比特(等于1),第四位比特(等于0),第三位比特(等于0),第二位比特(等于0),第一位比特(等于1),分别交由6个独立的熵编码器进行编码,包括1个二进制长度的熵编码器和5个二值编码器。其中,二进制长度的熵编码器的编码范围可初始化为1个较大值(如64,编码范围即可覆盖到264),则二值编码器也需要初始化64个。在编码数字17时,第六位比特到第六十四位比特的二值编码器都不进行任何操作。
若k=2,且当前待编码数字为17,由于17用四进制表示为101,则产生了4个信息流,分别是四进制长度(等于3),第三位比特(等于1),第二位比特(等于0),第一位比特(等于1),分别交由4个独立的熵编码器进行编码,包括1个二进制长度的熵编码器和3个四值编码器(即编码范围等于4)。其中,二进制长度的熵编码器的编码范围可初始化为1个较大值(如32,编码范围即可覆盖到264),则四值编码器也需要初始化32个。在编码数字17时,第四位比特到第三十二位比特的四值编码器都不进行任何操作。
接下来是变长熵编码,具体而言,就是在编码某个数字时,根据其编码范围所需的最少的二进制位数来编码该数字,如参考序列长度为65000,最少需要16位二进制位(2^16=65536)来表示序列上的任意一个位置,因此每个比对位置都用长度为16的二进制流进行表示,随后再对二进制流进行二值编码。
对于双端测序数据,将两个位置信息转化为前置标识符、首位置和相对距离后进行编码,而相对距离因其近似服从正态分布而有特定的编码算法。具体来说,基于测序原理,双端测序数据的一对短读序列通常会比对到参考序列上的邻近位置,记为pos1和pos2,将其拆分为三个信息流:前置标识符、首位置、相对距离,具体来说,前置标识符表示pos1和pos2谁更小(取值范围为2),首位置即为较小的pos的数值(可用分段熵编码或指数-哥伦布编码),相对距离为pos1与pos2的差值的绝对值。
基于测序原理,相对距离通常近似服从正态分布,记相对距离为reldis,记正态分布的中位数为med,则在理想情况下,将reldis拆分为两个信息流:相对大小标识符(标记reldis和med谁更小,取值范围为2)和二者差值的绝对值(可用分段熵编码或指数-哥伦布编码),分别进行编码,能有效提升压缩率。在压缩时遍历两次数据的情况下,遍历数据后计算得出med,在只遍历一次时,根据已处理数据不断更新med的数值,具体而言,将med设为所有已处理的reldis的中位数,或剔除较大和较小的数值后,仅计算中间部分的reldis的中位数。
S4.2比对方向只有正向和反向互补两种可能,因此直接在熵编码阶段使用二值编码即可。
S4.3编码每条碱基序列的变异数目和变异种类,将所有变异信息的位置间隔进行编码,其余变异信息独立编码。
每条碱基序列的变异数目即三种变异即错配、插入和缺失个数之和,变异种类则是根据各个变异发生的位置先后,记录各个变异发生的顺序,如某序列含2个错配(发生在2号和30号碱基),1个插入(发生在15号碱基),1个缺失(从43号碱基开始),则变异个数为4,变异种类为(0,1,0,2)(设0为错配,1为插入,2为缺失),而位置间隔信息为(1,12,14,12)。
编码三类信息时,变异数目的编码范围是序列长度,变异种类的编码范围是3,位置间隔信息的编码范围是编码当前变异时剩余的序列长度。另外,由于变异与测序质量值也可能存在关联,如低测序质量值碱基比对失败成为错配,因此位置间隔信息的编码也可以加入质量值信息的考量。
S4.4对于发生错配的部分,编码每条碱基序列的错配碱基。
对于错配碱基,因其与参考序列上的匹配字符必然不符,因此其编码范围为3,举例来说,若参考序列上这一位碱基为A,则测序序列上这一位碱基只能是TCG中的一种。
S4.5对于发生插入的部分,编码每条碱基序列中插入碱基的类型和插入长度。插入长度的编码范围为编码当前变异时剩余序列的长度。插入碱基的编码范围为4,即ATCG都有可能。
S4.6对于发生缺失的部分,编码每条碱基序列的缺失长度。
缺失长度的编码范围为编码当前变异时剩余序列的长度。
S5若待编码碱基序列与参考序列比对失败,则对待编码碱基序列进行熵编码。为提高压缩率,以每个碱基的测序质量值为基础,对碱基序列进行熵编码,且为了优化性能,对每位碱基的质量值进行归并处理。
在屏蔽简并碱基和接头序列的影响下,以每个碱基的测序质量值为基础,对碱基序列进行熵编码。对于比对失败的碱基序列,用熵编码方法进行压缩。由于测序序列内部是服从一定规律的,而测序质量值较差的碱基会对规律的拟合造成干扰,因此在熵编码阶段使用测序质量值可以有效避免低质量碱基对模型的负面影响,提高压缩率。
具体而言,假设在熵编码阶段使用的是k阶模型(多值编码,碱基范围为4)进行拟合,且测序质量值范围为40,则在不使用测序质量值的情况下,需要4^k个模型进行拟合,而如果考虑测序质量值,且测序质量值不进行兼并处理,则使用40*(4^k)个模型即可,即在原本的拟合模型之外,使每一位碱基都加入测序质量值的考量。
实际使用中,测序质量值范围取值可能小于或大于40,因此可以在压缩阶段根据需要进行创建,即若当前处理的测序质量值ascii码不在已有的模型中,程序再申请新的内存块,以分配新的模型。
实际使用中,如果质量值不进行兼并处理,会占用较大内存,且当处理的数据量较小时,同个模型被调用次数可能较低,压缩效果不够明显,因此可以对测序质量值进行兼并处理,也就是,将相邻的若干个测序质量值归入同一个bin内,比如[1,5]这5个位置的测序质量值,全部归入第一个bin,[6,10]归入第二个bin,在此逻辑下,范围为40的测序质量值,需要的模型数目会从40*(4^k)个降低到8*(4^k)个。
但兼并处理的逻辑不仅于此,同一个bin内不一定要兼并同样数目的测序质量值,也可以在低质量区域提高区分度,使单个bin内的的测序质量值减少(如位置1、位置2分别是单独的bin),或者在高质量区域提高区分度,使单个bin内的的测序质量值减少(如位置39、40分别是单独的bin)。如图4所示,在处理S简并碱基和接头序列时,由于这两种信息已经进行了额外保存,因此可以在熵编码阶段把相应部分切割出去,对剩余部分进行编码。如果要尽量避免此类情况对总体模型的负面影响,也可以将被切割掉的部分一同计入,即将简并碱基和接头序列视为通配符,比如用6阶模型编码TACTGNAC中的末尾C时,如果直接切割掉简并碱基,其实是用TACTGA作为基础,结合TACTGA的质量值来预估C的概率,但如果计入简并碱基N,则是用ACTGAA,ACTGCA,ACTGGA,ACTGTA四种6mer中既有概率最大者,结合上述各个碱基序列的质量值作为基础对C进行编码。
实施例二
基于相同的发明构思,本实施例提供了一种FASTQ文件压缩中的碱基序列编码系统,包括:
简并碱基编码模块,用于对待编码碱基序列的简并碱基信息进行编码;
接头序列编码模块,用于判断待编码碱基序列是否存在接头序列,若存在接头序列则对接头序列进行编码;
信息比对模块,用于将待编码碱基序列与参考序列进行比对;
比对成功信息编码模块,用于在待编码碱基序列与参考序列比对成功时,对待编码碱基序列的比对信息进行编码;
比对失败信息编码模块,用于在待编码碱基序列与参考序列比对失败时,对待编码碱基序列进行熵编码。

Claims (6)

1.一种FASTQ文件压缩中的碱基序列编码方法,其特征在于,包括以下步骤:
S1对待编码碱基序列的简并碱基信息进行编码;
S2判断待编码碱基序列是否存在接头序列,若存在所述接头序列则对所述接头序列进行编码;
S3将待编码碱基序列中的简并碱基和接头序列设为通配符,将设为通配符的待编码碱基序列与参考序列进行比对;
S4若设为通配符的所述待编码碱基序列与参考序列比对成功,则将设为通配符的所述待编码碱基序列的比对信息进行编码;
S5若设为通配符的所述待编码碱基序列与参考序列比对失败,则对设为通配符的所述待编码碱基序列进行熵编码;
所述步骤S1中对待编码碱基序列的简并碱基信息进行编码的方法为:遍历待编码碱基序列,获得所有简并碱基的个数与字符,获得简并碱基对应测序质量值中的最大值Max_Qn,并记录连续简并碱基在所有测序质量值小于等于Max_Qn的碱基中的相对位置及长度,将其中连续的简并碱基视为一个碱基,编码时将连续简并碱基块作为一个位置,并记录其相对间隔和长度;
或所述步骤S1中对待编码碱基序列的简并碱基信息进行编码的方法为:
遍历待编码碱基序列,获得所有简并碱基的个数与字符,获得简并碱基对应测序质量值中的最大值Max_Qn,并记录连续简并碱基在所有测序质量值小于等于Max_Qn的碱基中的相对位置及长度,以非简并碱基为目标进行编码,其具体过程为:首先检测是否存在简并碱基,若存在,则首先标识存在简并碱基,并标识非简并碱基的个数和非简并碱基的相对间隔;
所述步骤S2中对接头序列进行编码,包括以下步骤:
S2.1将完整的接头序列ada,与完整的碱基序列seq进行比对,以判断所述接头序列ada是否存在于碱基序列seq上,若存在则进入S2.3,若不存在则进入下一步;
S2.2将所述接头序列ada的头部与碱基序列seq尾部进行局部比对,以检测所述接头序列ada的子串是否存在于所述碱基序列seq的尾端上,若存在进入下一步,若不存在则所述碱基序列seq上不存在所述接头序列;
S2.3对所述步骤S2.1和S2.2中的对比结果进行编码;
所述步骤S2.3中的对比对结果进行编码包括:对于所述步骤S2.1的比对结果,编码所述接头序列在所述碱基序列上的起始位置和变异信息;对于所述步骤S2.2的比对结果,编码所述接头序列的子串长度和变异信息,所述步骤S2.1和步骤S2.2中通过指定最大容纳错配数作为比对成功标志,且简并碱基不计入错配。
2.如权利要求1所述的FASTQ文件压缩中的碱基序列编码方法,其特征在于,所述步骤S3中将设为通配符的待编码碱基序列与参考序列进行比对的方法包括以下步骤:
S3.1挑选种子序列,基于种子序列的平均或最低测序质量值进行筛选,所述平均或最低测序质量值高于阈值的进入定位及延伸阶段,为增加备用种子序列的数量,将简并碱基和接头序列视作通配符,并对包含通配符的种子序列进行筛选;
S3.2对种子序列进行定位及延伸,将简并碱基和接头序列视作通配符,不计入错配。
3.如权利要求2所述的FASTQ文件压缩中的碱基序列编码方法,其特征在于,在所述步骤S3中种子序列的筛选方法为:筛选在参考序列上出现次数最少的种子序列,挑选算法为基于哈希索引的比对算法的挑选逻辑或基于BWT索引的比对算法的挑选逻辑;在基于哈希索引的比对算法中,由于种子的精确比对是直接用种子序列在HASH索引中进行检索,因此将碱基所涵盖的种子序列进行比对,获得的比对位置最少的种子序列,成为不含简并碱基的备选种子序列,进行定位及延伸;在基于BWT索引的比对算法中,在对子序列进行延伸比对时,若当前步骤要延伸的碱基为简并碱基,则将所述简并碱基视为通配符获得四组子串,选择所述四组子串中比对位置最多的子串继续延伸比对,直到子序列无法再向前及向后延伸,则所述子序列为种子序列。
4.如权利要求1所述的FASTQ文件压缩中的碱基序列编码方法,其特征在于,所述步骤S4中的比对信息包括:比对位置、比对方向和变异信息,其中,变异信息分为错配、插入和缺失三类。
5.如权利要求4所述的FASTQ文件压缩中的碱基序列编码方法,其特征在于,将所述步骤S4中的比对信息进行编码包括以下步骤:
S4.1对所述比对位置信息进行熵编码,采用分段熵编码或指数-哥伦布编码,另外对于双端测序数据将两个位置信息转化为前置标识符、首位置和相对距离后进行编码;
S4.2对比对方向进行二值编码;
S4.3编码每条碱基序列的变异数目和变异种类,将所有变异信息的位置间隔进行编码,其余变异信息在后三个阶段中分别编码;
S4.4对于发生所述错配的部分,编码每条碱基序列的错配碱基;
S4.5对于发生所述插入的部分,编码每条碱基序列中插入碱基的类型和插入长度;
S4.6对于发生所述缺失的部分,编码每条碱基序列的缺失长度。
6.一种FASTQ文件压缩中的碱基序列编码系统,其特征在于,包括:
简并碱基编码模块,用于对待编码碱基序列的简并碱基信息进行编码;
接头序列编码模块,用于判断待编码碱基序列是否存在接头序列,若存在所述接头序列则对所述接头序列进行编码;
信息比对模块,用于将待编码碱基序列中的简并碱基和接头序列设为通配符,将设为通配符的待编码碱基序列与参考序列进行比对;
比对成功信息编码模块,用于在设为通配符的所述待编码碱基序列与参考序列比对成功时,对设为通配符的所述待编码碱基序列的比对信息进行编码;
比对失败信息编码模块,用于在设为通配符的所述待编码碱基序列与参考序列比对失败时,对设为通配符的所述待编码碱基序列进行熵编码;
所述简并碱基编码模块中对待编码碱基序列的简并碱基信息进行编码的方法为:遍历待编码碱基序列,获得所有简并碱基的个数与字符,获得简并碱基对应测序质量值中的最大值Max_Qn,并记录连续简并碱基在所有测序质量值小于等于Max_Qn的碱基中的相对位置及长度,将其中连续的简并碱基视为一个碱基,编码时将连续简并碱基块作为一个位置,并记录其相对间隔和长度;
或所述简并碱基编码模块中对待编码碱基序列的简并碱基信息进行编码的方法为:
遍历待编码碱基序列,获得所有简并碱基的个数与字符,获得简并碱基对应测序质量值中的最大值Max_Qn,并记录连续简并碱基在所有测序质量值小于等于Max_Qn的碱基中的相对位置及长度,以非简并碱基为目标进行编码,其具体过程为:首先检测是否存在简并碱基,若存在,则首先标识存在简并碱基,并标识非简并碱基的个数和非简并碱基的相对间隔;
所述接头序列编码模块中对接头序列进行编码,包括以下步骤:
S2.1将完整的接头序列ada,与完整的碱基序列seq进行比对,以判断所述接头序列ada是否存在于碱基序列seq上,若存在则进入S2.3,若不存在则进入下一步;
S2.2将所述接头序列ada的头部与碱基序列seq尾部进行局部比对,以检测所述接头序列ada的子串是否存在于所述碱基序列seq的尾端上,若存在进入下一步,若不存在则所述碱基序列seq上不存在所述接头序列;
S2.3对所述步骤S2.1和S2.2中的对比结果进行编码;
所述步骤S2.3中的对比对结果进行编码包括:对于所述步骤S2.1的比对结果,编码所述接头序列在所述碱基序列上的起始位置和变异信息;对于所述步骤S2.2的比对结果,编码所述接头序列的子串长度和变异信息,所述步骤S2.1和步骤S2.2中通过指定最大容纳错配数作为比对成功标志,且简并碱基不计入错配。
CN202011016128.9A 2020-08-20 2020-09-24 一种fastq文件压缩中的碱基序列编码方法和系统 Active CN112102883B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010842137 2020-08-20
CN2020108421377 2020-08-20

Publications (2)

Publication Number Publication Date
CN112102883A CN112102883A (zh) 2020-12-18
CN112102883B true CN112102883B (zh) 2023-12-08

Family

ID=73755382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011016128.9A Active CN112102883B (zh) 2020-08-20 2020-09-24 一种fastq文件压缩中的碱基序列编码方法和系统

Country Status (1)

Country Link
CN (1) CN112102883B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113178231B (zh) * 2021-04-26 2024-01-05 中国科学院武汉病毒研究所 一种基于二代测序技术的consensus序列统计分析、可视化方法

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1023893A (ja) * 1996-07-09 1998-01-27 Hitachi Ltd Dna塩基配列上のタンパク質コード領域検出方法
AU1438801A (en) * 1999-10-26 2001-05-08 Biological Targets, Inc. Gene mining system and method
AU2003248548A1 (en) * 2002-05-20 2003-12-12 Abmaxis, Inc. Generation and selection of protein library in silico
FR2933514A1 (fr) * 2008-07-02 2010-01-08 Canon Kk Procedes et dispositifs de codage et de decodage par similarites pour documents de type xml
CN101984445A (zh) * 2010-03-04 2011-03-09 深圳华大基因科技有限公司 一种基于聚合酶链式反应产物测序序列分型的实现方法和系统
CN105760706A (zh) * 2014-12-15 2016-07-13 深圳华大基因研究院 一种二代测序数据的压缩方法
CN106100641A (zh) * 2016-06-12 2016-11-09 深圳大学 针对fastq数据的多线程快速存储无损压缩方法及其系统
CN106295250A (zh) * 2016-07-28 2017-01-04 北京百迈客医学检验所有限公司 二代测序短序列快速比对分析方法及装置
CN106951731A (zh) * 2017-03-28 2017-07-14 上海至本生物科技有限公司 一种大片段插入或缺失的预测方法及系统
WO2017214765A1 (zh) * 2016-06-12 2017-12-21 深圳大学 针对fastq数据的多线程快速存储无损压缩方法及其系统
CN107958139A (zh) * 2017-12-01 2018-04-24 上海药明康德新药开发有限公司 一种用于dna编码化合物文库的核苷酸双链的计算机编码方法
CN108165616A (zh) * 2016-12-01 2018-06-15 北京大学 一种利用模糊核酸测序信息进行比对及变异鉴定的方法和系统
CN108779491A (zh) * 2016-02-11 2018-11-09 10X基因组学有限公司 用于全基因组序列数据的从头组装的系统、方法和介质
CN110021351A (zh) * 2018-07-19 2019-07-16 深圳华大生命科学研究院 分析碱基连锁强度以及基因分型方法和系统
CN110021355A (zh) * 2017-09-22 2019-07-16 深圳华大生命科学研究院 二倍体基因组测序片段的单倍体分型和变异检测方法和装置
JP2020509474A (ja) * 2016-10-11 2020-03-26 ゲノムシス エスエー 圧縮されたゲノムシーケンスリードからゲノムリファレンスシーケンスを再構築するための方法とシステム
CN111368132A (zh) * 2020-02-28 2020-07-03 元码基因科技(北京)股份有限公司 基于dna序列存储音频或视频文件的方法及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007137225A2 (en) * 2006-05-19 2007-11-29 The University Of Chicago Method for indexing nucleic acid sequences for computer based searching
US8486630B2 (en) * 2008-11-07 2013-07-16 Industrial Technology Research Institute Methods for accurate sequence data and modified base position determination
WO2013166303A1 (en) * 2012-05-02 2013-11-07 Ibis Biosciences, Inc. Dna sequencing

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1023893A (ja) * 1996-07-09 1998-01-27 Hitachi Ltd Dna塩基配列上のタンパク質コード領域検出方法
AU1438801A (en) * 1999-10-26 2001-05-08 Biological Targets, Inc. Gene mining system and method
AU2003248548A1 (en) * 2002-05-20 2003-12-12 Abmaxis, Inc. Generation and selection of protein library in silico
FR2933514A1 (fr) * 2008-07-02 2010-01-08 Canon Kk Procedes et dispositifs de codage et de decodage par similarites pour documents de type xml
CN101984445A (zh) * 2010-03-04 2011-03-09 深圳华大基因科技有限公司 一种基于聚合酶链式反应产物测序序列分型的实现方法和系统
CN105760706A (zh) * 2014-12-15 2016-07-13 深圳华大基因研究院 一种二代测序数据的压缩方法
CN108779491A (zh) * 2016-02-11 2018-11-09 10X基因组学有限公司 用于全基因组序列数据的从头组装的系统、方法和介质
WO2017214765A1 (zh) * 2016-06-12 2017-12-21 深圳大学 针对fastq数据的多线程快速存储无损压缩方法及其系统
CN106100641A (zh) * 2016-06-12 2016-11-09 深圳大学 针对fastq数据的多线程快速存储无损压缩方法及其系统
CN106295250A (zh) * 2016-07-28 2017-01-04 北京百迈客医学检验所有限公司 二代测序短序列快速比对分析方法及装置
JP2020509474A (ja) * 2016-10-11 2020-03-26 ゲノムシス エスエー 圧縮されたゲノムシーケンスリードからゲノムリファレンスシーケンスを再構築するための方法とシステム
CN108165616A (zh) * 2016-12-01 2018-06-15 北京大学 一种利用模糊核酸测序信息进行比对及变异鉴定的方法和系统
CN106951731A (zh) * 2017-03-28 2017-07-14 上海至本生物科技有限公司 一种大片段插入或缺失的预测方法及系统
CN110021355A (zh) * 2017-09-22 2019-07-16 深圳华大生命科学研究院 二倍体基因组测序片段的单倍体分型和变异检测方法和装置
CN107958139A (zh) * 2017-12-01 2018-04-24 上海药明康德新药开发有限公司 一种用于dna编码化合物文库的核苷酸双链的计算机编码方法
CN110021351A (zh) * 2018-07-19 2019-07-16 深圳华大生命科学研究院 分析碱基连锁强度以及基因分型方法和系统
CN111368132A (zh) * 2020-02-28 2020-07-03 元码基因科技(北京)股份有限公司 基于dna序列存储音频或视频文件的方法及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Phylogenomics of Auchenorrhyncha (Insecta: Hemiptera) using transcriptomes: examining controversial relationships via degeneracy coding and interrogation of gene conflict;Rachel K.Skinner 等;Systematic Entomology;45;第85-113页 *
基于Solexa平台高通量测序数据的分析与处理流程研究;刘永波;曹艳;雷波;唐江云;胡亮;;农业网络信息(12);第32-38页 *
字符串匹配算法在DNA序列比对中的应用;陈建平;;数学建模及其应用(03);第72-74、79页 *
序列特异性核酸酶及其在植物基因组定向修饰中的应用;韦韬;张勇;刘玉;郑雪莲;邓科君;陈成彬;宋文芹;;中国细胞生物学学报(11);第1650-1659页 *
新一代高通量RNA测序数据的处理与分析;王曦;汪小我;王立坤;冯智星;张学工;;生物化学与生物物理进展(08);第834-836页 *

Also Published As

Publication number Publication date
CN112102883A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN110121577B (zh) 编码/解码基因组序列数据的方法、基因组编码器/解码器
US5406278A (en) Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
EP0462363A2 (en) Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion
US6522268B2 (en) Systems and methods for multiple-file data compression
US8838551B2 (en) Multi-level database compression
US7511639B2 (en) Data compression for communication between two or more components in a system
CN111625509A (zh) 深度测序基因序列数据文件的无损压缩方法
CN112102883B (zh) 一种fastq文件压缩中的碱基序列编码方法和系统
US9236881B2 (en) Compression of bitmaps and values
WO2018151786A1 (en) Method and systems for the reconstruction of genomic reference sequences from compressed genomic sequence reads
KR20190113971A (ko) 다중 게놈 디스크립터를 이용한 생명정보학 데이터의 압축 표현 방법 및 장치
JP2020509473A (ja) 複数のゲノム記述子を用いた生体情報データのコンパクト表現方法及び装置
KR20190071741A (ko) 생물 정보학 데이터의 간략 표현 방법 및 장치
CN112397148A (zh) 序列比对方法、序列校正方法及其装置
CN113300723B (zh) 基于最大似然删除位置搜索的mgc码快速译码方法
CN110111852A (zh) 一种海量dna测序数据无损快速压缩平台
CN110190858B (zh) 一种聚合物分子信息存储纠错编解码系统
JP2023513203A (ja) 新しいコンテキストに基づくアライメントされた配列決定データにおける改善されたクオリティ値圧縮フレームワーク
JP2590287B2 (ja) データ圧縮方法およびデータ圧縮装置
Zhang et al. Approximate Pattern Matching Using the Burrows-Wheeler Transform.
EP0472730A1 (en) Data compression and restoration method and device therefor
JP2020510907A (ja) ゲノムシーケンスリードの効率的圧縮のための方法及びシステム
Bai et al. Reference-Based Compression of FASTQ Data Using Longest Match Model
JPH05224878A (ja) ユニバーサル符号を用いたデータ圧縮方式
CN110663022B (zh) 使用基因组描述符紧凑表示生物信息学数据的方法和设备

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