CN113687976B - 面向dna信息存储的编码和解码方法与装置 - Google Patents
面向dna信息存储的编码和解码方法与装置 Download PDFInfo
- Publication number
- CN113687976B CN113687976B CN202110994739.9A CN202110994739A CN113687976B CN 113687976 B CN113687976 B CN 113687976B CN 202110994739 A CN202110994739 A CN 202110994739A CN 113687976 B CN113687976 B CN 113687976B
- Authority
- CN
- China
- Prior art keywords
- subsequence
- original
- code
- subsequences
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Computer Security & Cryptography (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- General Physics & Mathematics (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)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明提供了一种面向DNA信息存储的编码和解码方法与装置,该方法包括将目标DNA序列进行拆分处理,得到多个原始子序列;针对每个所述原始子序列,生成所述原始子序列的多个第一编码,将多个所述第一编码分别插入至所述原始子序列中的指定位置,得到第一中间子序列;对每个所述第一中间子序列进行编码处理,得到所述目标DNA序列的编码后的多个目标子序列。相关技术中,当编码、解码过程中地址信息错误时,解码恢复得到的序列信息的正确率会明显下降,本申请的技术方案通过加入多个第一编码的方式,提高了编码、存储DNA序列的正确率;通过反复多次对序列进行CRC校验的方式,提高了解码、恢复DNA序列的正确率。
Description
技术领域
本发明涉及DNA信息存储技术领域,尤其是涉及一种面向DNA信息存储的编码和解码方法与装置。
背景技术
数字时代以来,信息量急速膨胀,普通的磁性存储介质已经无法满足数据的存储需求。随着分子遗传学和基因组学的发展,脱氧核糖核苷酸(简称DNA)这种生物遗传信息的存储物质逐渐进入人们的视野。DNA存储具有存储信息量大、信息体积比很小、信息拷贝成本低、信息存储时间长、存储成本低等优势,非常适合特大数据的长时间存储。为了适应DNA存储技术的发展,探索有效的DNA信息存储的编码和解码方法显得尤为重要。传统的DNA信息存储的编码方式中,地址信息的可靠性较差,当解码过程中地址信息读取错误时,解码得到的序列信息的正确率会明显下降,导致DNA信息存储方法的应用范围十分局限。
发明内容
本发明的目的在于提供一种面向DNA信息存储的编码和解码方法与装置,以提高DNA信息存储在编码过程和解码过程中的正确率。
第一方面,本发明实施例提供一种面向DNA信息存储的编码方法,该方法包括:将目标DNA序列进行拆分处理,得到多个原始子序列;针对每个原始子序列,生成原始子序列的多个第一编码,将多个第一编码分别插入至原始子序列中的指定位置,得到第一中间子序列,其中,第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码;对每个第一中间子序列进行编码处理,得到目标DNA序列的编码后的多个目标子序列。
在可选的实施方式中,上述生成原始子序列的多个第一编码的步骤,包括:根据原始子序列的位置,生成原始子序列的原始地址编码;通过CRC技术,生成原始地址编码的原始冗余校验码;将原始地址编码和原始地址编码的原始冗余校验码确定为第一编码。
在可选的实施方式中,上述对每个第一中间子序列进行编码处理,得到目标DNA序列的编码后的多个目标子序列的步骤,包括:当第一中间子序列中存在相同的码字,且相同的码字满足预设条件时,对第一中间子序列进行加密处理,得到第二中间子序列;对第二中间子序列进行编码处理,得到编码后的目标子序列。
第二方面,本发明实施例提供一种面向DNA信息存储的解码方法,该方法包括:对每个待解码目标子序列进行解码处理,得到多个第一中间子序列,其中,第一中间子序列包括原始子序列,以及插入至原始子序列中的指定位置的多个第一编码;第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码;针对每个第一中间子序列,对第一中间子序列中的每个第一编码进行校验处理,如果每个第一编码均校验正确,从第一中间子序列中提取得到原始子序列;将校验正确的第一中间子序列的原始子序列进行排序,得到目标DNA序列。
在可选的实施方式中,上述对每个待解码目标子序列进行解码处理,得到多个第一中间子序列的步骤之前,还包括:针对每个编码后的目标子序列,执行下述操作:对编码后的目标子序列进行加扰偏移处理,得到第三中间子序列;对第三中间子序列进行加躁采样与聚类匹配,得到第四中间子序列;将第四中间子序列确定为待解码目标子序列。
在可选的实施方式中,上述对编码后的目标子序列进行加扰偏移处理,得到第三中间子序列的步骤包括:对每个编码后的目标子序列进行加扰处理,得到第五中间子序列;对每个第五中间子序列进行数据偏移处理,得到第三中间子序列。
在可选的实施方式中,上述对第三中间子序列进行加躁采样与聚类匹配,得到第四中间子序列的步骤,包括:对每个第三中间子序列进行指定次数的加躁采样,得到采样结果;对采样结果进行聚类匹配,得到多个第四中间子序列。
第三方面,本发明实施例提供一种面向DNA信息存储的编码装置,该装置包括:拆分模块,用于:将目标DNA序列进行拆分处理,得到多个原始子序列;第一编码模块,用于:针对每个原始子序列,生成原始子序列的多个第一编码,将多个第一编码分别插入至原始子序列中的指定位置,得到第一中间子序列,其中,第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码;第二编码模块,用于:对每个第一中间子序列进行编码处理,得到目标DNA序列的编码后的多个目标子序列。
第四方面,本发明实施例提供一种面向DNA信息存储的解码装置,该装置包括:第一解码模块,用于:对每个待解码目标子序列进行解码处理,得到多个第一中间子序列,其中,第一中间子序列包括原始子序列,以及插入至原始子序列中的指定位置的多个第一编码;第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码;第二解码模块,用于:针对每个第一中间子序列,对第一中间子序列中的每个第一编码进行校验处理,如果每个第一编码均校验正确,从第一中间子序列中提取得到原始子序列;排序模块,用于:将校验正确的第一中间子序列的原始子序列进行排序,得到目标DNA序列。
第五方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明提供的实施例带来了以下有益效果:
本发明实施例提供了一种面向DNA信息存储的编码和解码方法与装置,涉及DNA信息存储的技术领域,包括将目标DNA序列进行拆分处理,得到多个原始子序列;针对每个所述原始子序列,生成所述原始子序列的多个第一编码,将多个所述第一编码分别插入至所述原始子序列中的指定位置,得到第一中间子序列,其中,所述第一编码包括所述原始子序列的原始地址编码和/或所述原始子序列的原始地址编码的原始冗余校验码;对每个所述第一中间子序列进行编码处理,得到所述目标DNA序列的编码后的多个目标子序列。当编码、解码过程中地址信息错误时,解码恢复得到的序列信息的正确率会明显下降,本申请的技术方案通过多次加入、加入多个第一编码的方式,提高了编码、存储DNA序列的正确率;通过反复多次对序列进行CRC校验的方式,提高了解码、恢复DNA序列的正确率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的面向DNA信息存储的编码方法流程图;
图2为本发明实施例提供的面向DNA信息存储的解码方法流程图;
图3为本发明实施例提供的面向DNA信息存储的编码和解码方法流程图;
图4为本发明实施例提供的面向DNA信息存储的编码装置的示意图;
图5为本发明实施例提供的面向DNA信息存储的解码装置的示意图;
图6为本发明实施例提供的序列地址优化测序数据处理过程的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
数字时代以来,合成DNA技术由于具有较好的稳定性,而且可以对数字数据进行高密度编码,因此该技术在序列的存储中具有一定的优势。目前大规模恢复存储的数据需要对基因库中的所有DNA进行测序,当前用于测序的传统经典方法流程如下:
1)数据首先被随机化处理,然后将长的DNA序列经过拆分成多个子序列。
2)给每个子序列增加地址位,然后采用RS(Reed-solomon codes,又称里所码)对每个序列进行编码,此为外编码。然后用多位二进制数据表示ATCG四种不同的碱基,此为内编码。
3)首先多个混合的编码子序列被多次重复读取,读取结果中包含一定改了的错误;然后所有读取的数据按照相似性进行聚类分析并重建,重建完成后对数据进行译码并将译码子序列重新拼接即可还原原始序列。
然而,在实际应用中发现,经典方法存在不足:各个子序列在带误码重复采样并聚类纠错时,子序列地址位一旦出现错误,恢复后的序列正确率将明显下降。
基于上述问题,本发明实施例提供了一种面向DNA信息存储的编码和解码方法与装置,该技术通过为子序列地址位增加CRC(Cyclic Redundancy Check,循环冗余校验),并在子序列中加入冗余地址位,以提高序列重建的成功率。该技术可以应用于DNA信息存储的场景中,尤其是面向DNA信息存储的编码和解码的场景中。
实施例一
为便于对本实施例进行理解,首先对本发明实施例所公开的一种面向DNA信息存储的编码方法进行详细介绍,如图1所示,该方法包括如下步骤:
步骤S102,将目标DNA序列进行拆分处理,得到多个原始子序列。
在具体实现时,首先,将需要编码存储的DNA序列(即目标DNA序列)进行拆分,拆分得到若干个原始子序列。
步骤S104,针对每个原始子序列,生成原始子序列的多个第一编码,将多个第一编码分别插入至原始子序列中的指定位置,得到第一中间子序列,其中,第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码。
在具体实现时,第一中间子序列包括原始子序列、原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码。
步骤S106,对每个第一中间子序列进行编码处理,得到目标DNA序列的编码后的多个目标子序列。
在具体实现时,上述编码处理一般为RS编码处理。RS编码过程会在子序列的末尾产生若干位的RS纠错码。编码后的目标子序列包括编码后的编码后的地址编码、编码后的冗余校验码和编码后的RS纠错码。
本实施例提供的面向DNA信息存储的编码方法,包括将目标DNA序列进行拆分处理,得到多个原始子序列;针对每个所述原始子序列,生成所述原始子序列的多个第一编码,将多个所述第一编码分别插入至所述原始子序列中的指定位置,得到第一中间子序列;对每个所述第一中间子序列进行编码处理,得到所述目标DNA序列的编码后的多个目标子序列。当编码、解码过程中地址信息错误时,解码恢复得到的序列信息的正确率会明显下降,本申请的技术方案通过多次加入第一编码的方式,提高了编码、存储DNA序列的正确率,提高了编码过程中的安全性。通过在子序列地址位中多次加入CRC冗余地址位的方法,提高了恢复DNA序列的成功率。通过为子序列地址位增加CRC,并在子序列中加入冗余地址位,以提高序列重建的成功率。
实施例二
为便于对本实施例进行理解,首先对本发明实施例所公开的一种面向DNA信息存储的解码方法进行详细介绍,如图2所示,该方法包括如下步骤:
步骤S202,对每个待解码目标子序列进行解码处理,得到多个第一中间子序列,其中,第一中间子序列包括原始子序列,以及插入至原始子序列中的指定位置的多个第一编码;第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码。
在具体实现时,上述解码过程一般为RS解码。
步骤S204,针对每个第一中间子序列,对第一中间子序列中的每个第一编码进行校验处理,如果每个第一编码均校验正确,从第一中间子序列中提取得到原始子序列。
在具体实现时,编码时为各子序列地址加入CRC校验,聚类解码后,对各序列地址位做CRC解码,针对校验结果判断子序列地址的正确性,确定地址位无错误时,才将该序列还原到原始序列,地址位校验错误则证明序列读取时地址位发生了错误并在解码时未得到纠正,需要进一步判断处理。通过此步骤,初步降低子序列排序的错误率;然后,为了进一步降低子序列地址位错误概率,在为各子序列加入多个冗余地址信息,在聚类及RS纠错解码后,对每个序列中的所有冗余地址进行CRC解码,通过冗余匹配纠正偶发的地址位错误,进一步降低子序列排序的错误率。
步骤S206,将校验正确的第一中间子序列的原始子序列进行排序,得到目标DNA序列。
在具体实现时,根据地址信息对原始子序列进行排序,得到目标DNA序列。
本实施例提供的面向DNA信息存储的解码方法,包括对每个待解码目标子序列进行解码处理,得到多个第一中间子序列;针对每个第一中间子序列,对第一中间子序列中的每个第一编码进行校验处理,如果每个第一编码均校验正确,从第一中间子序列中提取得到原始子序列;将校验正确的第一中间子序列的原始子序列进行排序,得到目标DNA序列。本实施例通过反复多次对序列进行CRC校验的方式,提高了解码、恢复DNA序列的正确率。
实施例三
本发明实施例提供了一种面向DNA信息存储的编码和解码全过程的方法,如图3所示,该方法包括如下具体步骤:
步骤S302,将目标DNA序列进行拆分处理,得到多个原始子序列;针对每个原始子序列,生成原始子序列的多个第一编码。
在具体实现时,目标DNA序列即是原始的DNA序列。根据原始子序列的位置,生成原始子序列的原始地址编码;通过CRC技术,生成原始地址编码的原始冗余校验码;将原始地址编码和原始地址编码的原始冗余校验码确定为第一编码。一般情况下,原始地址编码在前,冗余校验码在后,二者绑定组合称为第一编码,地址编码含有子序列在整个序列中的位置信息。
步骤S304,将多个第一编码分别插入至原始子序列中的指定位置,得到第一中间子序列,其中,第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码。
在具体实现时,将第一编码写入原始子序列的任意位置,且可以多次写入,写入的次数和位置都可以预先指定,得到第一中间子序列。多次加入第一编码可以增加编码的安全性,对应的,在解码时反复多次解码可以提高恢复DNA序列的正确率。
步骤S306,对每个第一中间子序列进行编码处理,得到目标DNA序列的编码后的多个目标子序列。
在具体实现时,对上述第一中间子序列进行RS编码,即对上述第一中间子序列根据预设的信息进行一定的编码变化,这变化的同时还会在第一中间子序列末尾生成若干位数的纠错码(RS纠错码),得到多个编码后的目标子序列。上述目标子序列包含编码后的地址编码、编码后的冗余校验码和编码后的RS纠错码。
步骤S308,当第一中间子序列中存在相同的码字,且相同的码字满足预设条件时,对第一中间子序列进行加密处理,得到第二中间子序列;对第二中间子序列进行编码处理,得到编码后的目标子序列。
在具体实现时,也可以对第一中间子序列进行加密处理后再进行RS编码,以得到目标子序列。比如,当第一中间子序列中存在过多的重复的码字,(根据编码者需求,不拘泥于只有重复的码字的情况),对第一中间子序列进行加密的加扰处理,以使编码过程更加安全。
上述步骤S302-步骤S308为面向DNA信息存储的编码方法的具体步骤。
步骤S310,针对每个编码后的目标子序列,执行下述操作:对编码后的目标子序列进行加扰偏移处理,得到第三中间子序列。
在具体实现时,对每个编码后的目标子序列进行加扰处理,得到第五中间子序列;对每个第五中间子序列进行数据偏移处理,得到第三中间子序列。具体来说,如果直接对编码后的目标子序列进行解码,则在序列聚类以及子序列恢复方面容易出现较大的误差,所以本实施例对上述目标子序列进行了一系列的处理。首先,在每一个子序列带误码读取后,利用扰码多项式对采样序列进行加扰,得到多个第五中间子序列,提高序列中码字的随机性,初步提高各采样序列之间的距离。然后,再对上述每一个第五中间子序列加入特定距离,提高各组序列之间的距离,得到多个第三中间子序列,提高聚类的成功率,进而提高恢复DNA序列的正确率。
步骤S312,对第三中间子序列进行加躁采样与聚类匹配,得到第四中间子序列;将第四中间子序列确定为待解码目标子序列。
在具体实现时,对每个第三中间子序列进行指定次数的加躁采样,得到采样结果;对采样结果进行聚类匹配,得到多个第四中间子序列。具体地,为了减小读取数据时的误差,首先,对上述第三中间子序列进行指定次数的读取,得到读取结果,读取每一位码字时,都有可能读错,所以读取次数越多,准确率越高,同时计算量也会成倍增加。然后对读取的所有结果进行聚类、分析匹配,根据概率,就能够读取得到相对正确的序列,即第四中间子序列。将第四中间子序列确定为待解码目标子序列。
步骤S314,对每个待解码目标子序列进行解码处理,得到多个第一中间子序列,其中,第一中间子序列包括原始子序列,以及插入至原始子序列中的指定位置的多个第一编码;第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码。
在具体实现时,利用扰码多项式即RS解码技术,对待解码目标子序列进行解码,得到第一中间子序列;其中,第一中间子序列包含有包括原始子序列,以及插入至原始子序列中的指定位置的多个第一编码;第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码。需要注意的是,运用RS解码技术解码得到的解码后的原始子序列、解码后的原始地址编码、解码后的原始冗余校验码不一定绝对正确,所以需要对第一中间子序列进行进一步校验。
步骤S316,针对每个第一中间子序列,对第一中间子序列中的每个第一编码进行校验处理,如果每个第一编码均校验正确,从第一中间子序列中提取得到原始子序列。
在具体实现时,由于在编码时加入了多次的第一编码,所以在解码过程中也要进行多次的检验处理,从而提高校验的正确率。利用CRC校验对第一中间子序中的解码后的原始冗余校验码进行反复多次的反向验证,判断解码后的原始冗余校验码的正确性,即校验每个第一编码的正确性。校验完毕后,保留包含有正确原始冗余校验码的第一中间子序,剔除包含有错误冗余校验码的第一中间子序。从剩下的第一中间子序列中提取得到原始子序列。通过反复多次的CRC解码校验,多次剔除含有错误原始冗余校验码的第一中间子序,提高了恢复DNA序列的正确率。
步骤S318,将校验正确的第一中间子序列的原始子序列进行排序,得到目标DNA序列。
在具体实现时,根据第一中间子序列中的解码后的原始地址编码对第一中间子序列进行排序,还原子序列在原始序列中的位置,恢复得到目标DNA序列。
步骤S314-步骤S318为DNA存储序列的解码过程。
本实施例通多次在子序列的多个位置加入CRC冗余校验码及地址编码的方法,提高了编码过程的安全性。本实施例还多次对编码后的子序列进行CRC校验,通过冗余匹配纠正偶发的地址位错误,降低子序列排序的错误率,提高恢复DNA序列的正确率。
实施例四
本发明实施例提供了一种面向DNA信息存储的编码装置,如图4所示,该装置包括:
拆分模块41,用于:将目标DNA序列进行拆分处理,得到多个原始子序列。
第一编码模块42,用于:针对每个原始子序列,生成原始子序列的多个第一编码,将多个第一编码分别插入至原始子序列中的指定位置,得到第一中间子序列,其中,第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码。
第二编码模块43,用于:对每个第一中间子序列进行编码处理,得到目标DNA序列的编码后的多个目标子序列。
上述第一编码模块42,还用于:根据原始子序列的位置,生成原始子序列的原始地址编码;通过CRC技术,生成原始地址编码的原始冗余校验码;将原始地址编码和原始地址编码的原始冗余校验码确定为第一编码。
上述第二编码模块43,还用于:当第一中间子序列中存在相同的码字,且相同的码字满足预设条件时,对第一中间子序列进行加密处理,得到第二中间子序列;对第二中间子序列进行编码处理,得到编码后的目标子序列。
本发明实施例所提供的面向DNA信息存储的编码装置,其实现原理及产生的技术效果和前述面向DNA信息存储的编码方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例五
本发明实施例提供了一种面向DNA信息存储的解码装置,如图5所示,该装置包括:
第一解码模块51,用于:对每个待解码目标子序列进行解码处理,得到多个第一中间子序列,其中,第一中间子序列包括原始子序列,以及插入至原始子序列中的指定位置的多个第一编码;第一编码包括原始子序列的原始地址编码和/或原始子序列的原始地址编码的原始冗余校验码。
第二解码模块52,用于:针对每个第一中间子序列,对第一中间子序列中的每个第一编码进行校验处理,如果每个第一编码均校验正确,从第一中间子序列中提取得到原始子序列。
排序模块53,用于:将校验正确的第一中间子序列的原始子序列进行排序,得到目标DNA序列。
预处理模块,用于:针对每个编码后的目标子序列,执行下述操作:对编码后的目标子序列进行加扰偏移处理,得到第三中间子序列;对第三中间子序列进行加躁采样与聚类匹配,得到第四中间子序列;将第四中间子序列确定为待解码目标子序列。
预处理模块,还用于:对每个编码后的目标子序列进行加扰处理,得到第五中间子序列;对每个第五中间子序列进行数据偏移处理,得到第三中间子序列。
预处理模块,还用于:对每个第三中间子序列进行指定次数的加躁采样,得到采样结果;对采样结果进行聚类匹配,得到多个第四中间子序列。
本发明实施例所提供的面向DNA信息存储的解码装置,其实现原理及产生的技术效果和前述面向DNA信息存储的解码方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例六
本发明实施例提供了一种面向DNA信息存储的方法,具体来说是一种序列地址优化测序数据处理方法,如图6所示,该方法包括:
步骤S602,序列分段并进行地址校验。首先将长序列分成若干段;然后,对每段数据分别写入序列地址;最后对地址进行循环冗余校验,并将校验位和地址位结合作为新的地址写入文件。
步骤S604,序列加扰,并进行RS编码。首先,对每个子文件(包括地址位)使用加扰多项式进行加扰,防止出现连续相同码字,同时对数据进行加密;然后,对每个加扰后的文件进行RS编码。
步骤S606,反复加扰采样,聚类初步纠错。首先,每个子文件数据进行深度为M的反复加噪采样;然后,对采样结果进行聚类分析,通过匹配,初步纠正采样过程中出现的噪声干扰。
步骤S608,RS纠错解码,再次纠错。首先,将带有RS编码校验位的数据进行RS纠错解码并用原始加扰多项式进行解扰,恢复出原始的带有地址码的数据信息,此时,地址码中带有CRC校验信息。
步骤S610,子文件地址校验,原始序列恢复。首先,对每一个文件进行CRC解码,通过校验位标志,找出地址正确的文件并放置到正确位置;然后,根据恢复出的文件地址信息和冗余地址位,匹配纠错找到正确的地址,利用地址对数据子文件进行重新排序;最后,利用子文件恢复出原始DNA序列信息。
本方案采用子序列地址位增加CRC校验,并在子序列中加入冗余地址位的方法,提高了DNA序列重建的成功率。
实施例七
本发明实施例还提供了一种电子设备,该电子设备包括处理器101和存储器100,该存储器100存储有能够被处理器101执行的机器可执行指令,该处理器执行机器可执行指令以实现上述面向DNA信息存储的编码和解码方法。
进一步地,电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述面向DNA信息存储的编码和解码,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的面向DNA信息存储的编码和解码方法、装置与电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种面向DNA信息存储的解码方法,其特征在于,所述方法包括:
对每个待解码目标子序列进行解码处理,得到多个第一中间子序列,其中,所述第一中间子序列包括原始子序列,以及插入至所述原始子序列中的指定位置的多个第一编码;所述第一编码包括所述原始子序列的原始地址编码和/或所述原始子序列的原始地址编码的原始冗余校验码;
针对每个所述第一中间子序列,对所述第一中间子序列中的每个所述第一编码进行校验处理,如果每个所述第一编码均校验正确,从所述第一中间子序列中提取得到原始子序列;
将校验正确的所述第一中间子序列的原始子序列进行排序,得到目标DNA序列;
所述对每个待解码目标子序列进行解码处理,得到多个第一中间子序列的步骤之前,还包括:
针对每个编码后的目标子序列,执行下述操作:
对编码后的目标子序列进行加扰偏移处理,得到第三中间子序列;
对所述第三中间子序列进行加躁采样与聚类匹配,得到第四中间子序列;
将所述第四中间子序列确定为所述待解码目标子序列。
2.根据权利要求1所述的方法,其特征在于,所述对所述编码后的目标子序列进行加扰偏移处理,得到第三中间子序列的步骤包括:
对每个编码后的目标子序列进行加扰处理,得到第五中间子序列;对每个所述第五中间子序列进行数据偏移处理,得到第三中间子序列。
3.根据权利要求1所述的方法,其特征在于,所述对所述第三中间子序列进行加躁采样与聚类匹配,得到第四中间子序列的步骤,包括:
对所述每个所述第三中间子序列进行指定次数的加躁采样,得到采样结果;
对所述采样结果进行聚类匹配,得到多个第四中间子序列。
4.一种面向DNA信息存储的解码装置,其特征在于,所述装置包括:
第一解码模块,用于:对每个待解码目标子序列进行解码处理,得到多个第一中间子序列,其中,所述第一中间子序列包括原始子序列,以及插入至所述原始子序列中的指定位置的多个第一编码;所述第一编码包括所述原始子序列的原始地址编码和/或所述原始子序列的原始地址编码的原始冗余校验码;
第二解码模块,用于:针对每个所述第一中间子序列,对所述第一中间子序列中的每个所述第一编码进行校验处理,如果每个所述第一编码均校验正确,从所述第一中间子序列中提取得到原始子序列;
排序模块,用于:将校验正确的所述第一中间子序列的原始子序列进行排序,得到目标DNA序列;
处理模块,用于针对每个编码后的目标子序列,执行下述操作:对编码后的目标子序列进行加扰偏移处理,得到第三中间子序列;对所述第三中间子序列进行加躁采样与聚类匹配,得到第四中间子序列;将所述第四中间子序列确定为所述待解码目标子序列。
5.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至3任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994739.9A CN113687976B (zh) | 2021-08-27 | 2021-08-27 | 面向dna信息存储的编码和解码方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994739.9A CN113687976B (zh) | 2021-08-27 | 2021-08-27 | 面向dna信息存储的编码和解码方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113687976A CN113687976A (zh) | 2021-11-23 |
CN113687976B true CN113687976B (zh) | 2022-04-12 |
Family
ID=78583321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110994739.9A Active CN113687976B (zh) | 2021-08-27 | 2021-08-27 | 面向dna信息存储的编码和解码方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113687976B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116451780B (zh) * | 2022-01-05 | 2024-07-05 | 密码子(杭州)科技有限公司 | 用于在分子中存储信息的方法和设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569320B2 (en) * | 2010-12-01 | 2017-02-14 | Seagate Technology Llc | Non-volatile memory program failure recovery via redundant arrays |
CA3111930A1 (en) * | 2018-09-07 | 2020-03-12 | Iridia, Inc. | Improved systems and methods for writing and reading data stored in a polymer |
CN110706751A (zh) * | 2019-09-25 | 2020-01-17 | 东南大学 | 一种dna存储加密编码方法 |
US11495324B2 (en) * | 2019-10-01 | 2022-11-08 | Microsoft Technology Licensing, Llc | Flexible decoding in DNA data storage based on redundancy codes |
-
2021
- 2021-08-27 CN CN202110994739.9A patent/CN113687976B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113687976A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110114830B (zh) | 用于生物信息数据索引的方法和系统 | |
CN102017425B (zh) | 用于执行级联纠错的方法和系统 | |
CN112100982B (zh) | Dna存储方法、系统和存储介质 | |
US20170109229A1 (en) | Data processing method and device for recovering valid code words from a corrupted code word sequence | |
CN111858507B (zh) | 基于dna的数据存储方法、解码方法、系统和装置 | |
CN114328000B (zh) | 1型2型分段纠错内码的dna存储级联编码与解码方法 | |
CN116757158B (zh) | 基于半导体存储的数据管理方法 | |
Gabrys et al. | Unique reconstruction of coded strings from multiset substring spectra | |
CN113687976B (zh) | 面向dna信息存储的编码和解码方法与装置 | |
WO2019001436A1 (zh) | 一种Polar码的编码方法及装置 | |
CN113345521A (zh) | 一种采用大片段dna存储的编码与恢复方法 | |
CN114253484B (zh) | 一种大数据云存储服务器 | |
CN116187435B (zh) | 基于大小喷泉码及mrc算法利用dna进行信息存储方法及系统 | |
CN110492889B (zh) | 检测纠正两位错误的编码解码方法、编码解码器及处理器 | |
CN113611364B (zh) | 面向dna存储的dna序列处理方法、装置与电子设备 | |
KR102497634B1 (ko) | 문자 빈도 기반 서열 재정렬을 통한 fastq 데이터 압축 방법 및 장치 | |
CN109997310A (zh) | 通过用修改后的有效载荷校验和加扰有效载荷来避免错误同步的记录和回放设备 | |
CN110190858B (zh) | 一种聚合物分子信息存储纠错编解码系统 | |
Tang et al. | Correcting a substring edit error of bounded length | |
CN109857340B (zh) | Nor flash中文件的存储和读取方法、装置及存储介质 | |
CN112527548A (zh) | 快闪存储器控制器、储存装置及读取方法 | |
EP0365634B1 (en) | Method and apparatus for encoding consisting of forming a codeword by combining a first code sequence with a second code sequence | |
CN104202056A (zh) | 一种二维码纠错译码的方法及二维码装置 | |
RU2710911C1 (ru) | Способ передачи многоблочных сообщений в комплексах телекодовой связи | |
US20240184666A1 (en) | Preprocessing for Correcting Insertions and Deletions in DNA Data Storage |
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 |