CN113611364B - 面向dna存储的dna序列处理方法、装置与电子设备 - Google Patents
面向dna存储的dna序列处理方法、装置与电子设备 Download PDFInfo
- Publication number
- CN113611364B CN113611364B CN202110994772.1A CN202110994772A CN113611364B CN 113611364 B CN113611364 B CN 113611364B CN 202110994772 A CN202110994772 A CN 202110994772A CN 113611364 B CN113611364 B CN 113611364B
- Authority
- CN
- China
- Prior art keywords
- subsequence
- subsequences
- target
- dna sequence
- code
- 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
- 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
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Epidemiology (AREA)
- Computer Security & Cryptography (AREA)
- Public Health (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明提供了一种面向DNA存储的DNA序列处理方法、装置与电子设备,涉及DNA信息存储的技术领域,包括获取目标DNA序列的多个目标子序列;对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列;将多个第二中间子序列确定为目标DNA序列的处理后的多个子序列。长序列分为多个子序列后,经过编码和带误码采样,各子序列由于码字种类较少,容易出现不同子序列距离接近情况,如此将给聚类结果造成干扰导致正确率下降。本申请的技术方案通过两步加扰方案,增加了子序列之间的距离,提高了聚类正确率,进而提高了还原DNA序列的正确率。
Description
技术领域
本发明涉及DNA信息存储的技术领域,尤其是涉及一种面向DNA存储的DNA序列处理方法、装置与电子设备。
背景技术
数字时代以来,信息量急速膨胀,普通的磁性存储介质已经无法满足数据的存储需求。随着分子遗传学和基因组学的发展,脱氧核糖核苷酸(DNA)这种生物遗传信息的存储物质逐渐进入人们的视野。DNA存储具有存储信息量大、信息体积比很小、信息拷贝成本低、信息存储时间长、存储成本低等优势,非常适合特大数据的长时间存储。
相关技术中,由于原始DNA序列经过了拆分、编码和带误码采样等复杂处理过程,再加上各子序列码字种类较少,所以编译后的DNA子序列之间的欧氏距离容易特别接近,甚至多个子序列中所包含的码字可能会混合在一起,导致解码时无法准确解读各个子序列中的编码,进而导致还原原始序列的正确率下降。
发明内容
本发明的目的在于提供一种面向DNA存储的DNA序列处理方法、装置与电子设备,以增大DNA子序列之间的欧氏距离,进而提高还原DNA序列的正确率。
第一方面,本发明实施例提供一种面向DNA存储的DNA序列处理方法,该方法包括:获取目标DNA序列的多个目标子序列;其中,目标DNA序列中的信息包含在多个目标子序列中;对每个目标子序列进行加扰处理,得到多个第一中间子序列;对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列;将多个第二中间子序列确定为目标DNA序列的处理后的多个子序列。
在可选的实施方式中,上述对每个目标子序列进行加扰处理,得到多个第一中间子序列的步骤,包括:利用预设的扰码多项式对每个目标子序列进行加扰处理,得到多个第一中间子序列。
在可选的实施方式中,上述对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列的步骤,包括:基于预设的距离参数,对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列。
在可选的实施方式中,上述获取目标DNA序列的多个目标子序列的步骤,包括:将目标DNA序列进行拆分处理,得到多个原始子序列;针对每个原始子序列,执行下述操作:将原始子序列的地址编码写入原始子序列中的指定位置,得到第三中间子序列;将原始子序列的地址编码的冗余校验码加入第三中间子序列的指定位置,得到第四中间子序列;对第四中间子序列进行RS编码,得到目标子序列。
在可选的实施方式中,上述对第四中间子序列进行RS编码,得到目标子序列的步骤,包括:当第四中间子序列中存在相同的码字,且相同的码字满足预设条件时,对第四中间子序列进行加密处理,得到第五中间子序列;对第五中间子序列进行RS编码,得到目标子序列。
在可选的实施方式中,上述将多个第二中间子序列确定为目标DNA序列的处理后的多个子序列的步骤之后,上述方法还包括:针对每个第二中间子序列,执行下述操作:对第二中间子序列进行指定次数的加躁采样,得到采样结果;对采样结果进行聚类匹配,得到第六中间子序列;利用扰码多项式对第六中间子序列进行解码,得到第七中间子序列;其中,第七中间子序列包含有解码后的地址编码、解码后的冗余校验码和解码后的RS纠错码;利用CRC校验,判断第七中间子序列中的解码后的冗余校验码的是否正确;如果错误,剔除第七中间子序列。
在可选的实施方式中,上述利用CRC校验,判断第七中间子序列中的解码后的冗余校验码的是否正确;如果错误,剔除第七中间子序列的步骤之后,还包括:依据解码后的地址编码对剩余的第七中间子序列进行排序,得到目标DNA序列。
第二方面,本发明实施例提供一种面向DNA存储的DNA序列处理装置,上述装置包括:目标获取模块,用于:获取目标DNA序列的多个目标子序列;其中,目标DNA序列中的信息包含在多个目标子序列中;处理模块,用于:对每个目标子序列进行加扰处理,得到多个第一中间子序列;对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列;确定模块,用于:将多个第二中间子序列确定为目标DNA序列的处理后的多个子序列。
第三方面,本发明实施例提供一种电子设备,包括存储器和处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种面向DNA存储的DNA序列处理方法、装置与电子设备,涉及DNA信息存储的技术领域,包括获取目标DNA序列的多个目标子序列;其中,目标DNA序列中的信息包含在多个目标子序列中;对每个目标子序列进行加扰处理,得到多个第一中间子序列;对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列;将多个第二中间子序列确定为目标DNA序列的处理后的多个子序列。长序列分为多个子序列后,经过编码和带误码采样,各子序列由于码字种类较少,容易出现不同子序列距离接近情况,如此将给聚类结果造成干扰导致正确率下降。本申请的技术方案通过两步加扰方案,增加了子序列之间的距离,提高了聚类正确率,进而提高了还原DNA序列的正确率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种面向DNA存储的DNA序列处理方法的流程图;
图2为本发明实施例提供的另一种面向DNA存储的DNA序列处理方法的流程图;
图3为本发明实施例提供的一种面向DNA存储的DNA序列处理方法的示意图;
图4为一种面向DNA存储的DNA序列处理的装置的示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
数字时代以来,合成DNA技术由于具有较好的稳定性,而且可以对数字数据进行高密度编码,因此该技术在序列的存储中具有一定的优势。目前大规模恢复存储的数据需要对基因库中的所有DNA进行测序,当前用于测序的传统经典方法流程如下:
1)数据首先被随机化处理,然后将长的DNA序列经过拆分成多个子序列。
2)给每个子序列增加地址位,然后采用RS(Reed-solomon codes,又称里所码)对每个序列进行编码,此为外编码。然后用多位二进制数据表示ATCG四种不同的碱基,此为内编码。
3)首先多个混合的编码子序列被多次重复读取,读取结果中包含一定改了的错误;然后所有读取的数据按照相似性进行聚类分析并重建,重建完成后对数据进行译码并将译码子序列重新拼接即可还原原始序列。
然而,在实际应用中发现,经典方法存在不足:长序列分为多个子序列后,经过编码和带误码采样,各子序列由于码字种类较少,容易出现不同子序列距离接近情况,如此将给聚类结果造成干扰导致正确率下降,进而导致还原原始序列的正确率下降。
基于上述问题,本发明实施例提供了一种面向DNA存储的DNA序列处理方法、装置与电子设备,该技术利用两步加扰方案增加原始子序列之间的距离,提高聚类正确率。该技术可以应用于DNA信息存储的场景中,尤其是处理面向DNA信息存储的DNA序列的场景中。
实施例一
为便于对本实施例进行理解,首先对本发明实施例所公开的一种面向DNA存储的DNA序列处理方法进行详细介绍,如图1所示,该方法包括如下步骤:
步骤S102,获取目标DNA序列的多个目标子序列;其中,目标DNA序列中的信息包含在多个目标子序列中。
在具体实现时,上述目标DNA序列指的是已经编码结束的DNA序列。对于一个DNA序列,所有的子序列按一定顺序组合成为一个完整的DNA子序列。
步骤S104,对每个目标子序列进行加扰处理,得到多个第一中间子序列;对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列。
在具体实现时,当读取编码完成之后的子序列时,即获取目标子序列时,由于子序列之间的欧氏距离过于接近,可能会出现误读取或者误获取的情况。故,在每一个子序列带误码读取后,利用扰码多项式对采样序列进行加扰,得到多个第一中间子序列,提高序列中码字的随机性,初步提高各采样序列之间的距离。然后,对每一组加扰后的带误码采样序列(即第一中间子序列),加入特定距离,再次提高各组序列之间的距离,以提高聚类的成功率。此过程即为两步加扰方案。
步骤S106,将多个第二中间子序列确定为目标DNA序列的处理后的多个子序列。
在具体实现时,将上述的第二中间子序列确定为目标DNA序列的处理后的多个子序列,后期的解码过程都是以该处理后的多个子序列为基础的。
本发明的实施例提供了一种面向DNA存储的DNA序列处理方法,该方法包括获取目标DNA序列的多个目标子序列;其中,目标DNA序列中的信息包含在多个目标子序列中;对每个目标子序列进行加扰处理,得到多个第一中间子序列;对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列;将多个第二中间子序列确定为目标DNA序列的处理后的多个子序列。长序列分为多个子序列后,经过编码和带误码采样,各子序列由于码字种类较少,容易出现不同子序列距离接近情况,如此将给聚类结果造成干扰导致正确率下降。本申请的技术方案通过两步加扰方案,增加了子序列之间的距离,提高了聚类正确率,进而提高了还原DNA序列的正确率。
实施例二
本发明实施例还提供了另一种面向DNA存储的DNA序列处理方法,该方法在上述实施例方法的基础上实现;该方法重点描述对每个目标子序列进行加扰处理,得到多个第一中间子序列;对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列(步骤S212-步骤S214);如图2所示,该方法包括如下具体步骤:
步骤S202,将目标DNA序列进行拆分处理,得到多个原始子序列。
在具体实现时,首先,将需要编码存储的DNA序列(即目标DNA序列)进行拆分,拆分得到若干个原始子序列。
步骤S204,针对每个原始子序列,执行下述操作:将原始子序列的地址编码写入原始子序列中的指定位置,得到第三中间子序列。
在具体实现时,针对每个原始子序列,进行如下操作:根据上述原始子序列在目标DNA序列中的位置,能够得到一个特定的地址编码,把相应的地址编码写入原始子序列的任意位置,且可以多次写入,得到第三中间子序列。
步骤S206,将原始子序列的地址编码的冗余校验码加入第三中间子序列的指定位置,得到第四中间子序列。
在具体实现时,根据CRC(Cyclic Redundancy Check,循环冗余校验)对第三中间子序列进行处理,将冗余校验码加入第三中间子序列的任意位置,且可以多次加入,得到第四中间子序列。一般来说,冗余校验码将置于地址编码后边,紧邻地址编码,地址编码和冗余校验码结合构成第一编码。多次加入第一编码可以增加编码的安全性,对应的,在解码时反复多次解码可以提高恢复DNA序列的正确率。
步骤S208,对第四中间子序列进行RS编码,得到目标子序列。
在具体实现时,对上述第四中间子序列进行RS编码,即对上述第四中间子序列根据预设的信息进行一定的编码变化,这变化的同时还会在第四中间子序列末尾生成若干位数的纠错码(RS纠错码),得到目标子序列。上述目标子序列包含编码后的地址编码、编码后的冗余校验码和编码后的RS纠错码。
步骤S210,当第四中间子序列中存在相同的码字,且相同的码字满足预设条件时,对第四中间子序列进行加密处理,得到第五中间子序列;对第五中间子序列进行RS编码,得到目标子序列。
在具体实现时,也可以对第四中间子序列进行加密处理后再进行RS编码,以得到目标子序列。比如,当第四中间子序列中存在过多的重复的码字,(根据编码者需求,不拘泥于只有重复的码字的情况),对第四中间子序列进行加密的加扰处理,以使编码过程更加安全。上述步骤(步骤S202-步骤S210)为获取目标DNA序列的多个目标子序列的方法步骤,也可以理解为面向DNA信息存储的编码的方法的步骤。
步骤S212,利用预设的扰码多项式对每个目标子序列进行加扰处理,得到多个第一中间子序列。
具体地,如果直接对步骤S208或者步骤S210的到的目标子序列进行解码,则在序列聚类以及子序列恢复方面容易出现较大的误差,所以本实施例对上述目标子序列进行了一系列的处理。首先,在每一个子序列带误码读取后,利用扰码多项式对采样序列进行加扰,得到多个第一中间子序列,提高序列中码字的随机性,初步提高各采样序列之间的距离。
步骤S214,基于预设的距离参数,对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列。
在具体实现时,再对上述每一个第一中间子序列加入特定距离,提高各组序列之间的距离,得到多个第二中间子序列,提高聚类的成功率,进而提高恢复DNA序列的正确率。
步骤S216,针对每个第二中间子序列,执行下述操作:对第二中间子序列进行指定次数的加躁采样,得到采样结果;对采样结果进行聚类匹配,得到第六中间子序列。
在具体实现时,为了减小读取数据时的误差,首先,对上述第二中间子序列进行指定次数的读取,得到读取结果,读取每一位码字时,都有可能读错,所以读取次数越多,准确率越高,同时计算量也会成倍增加。然后对读取的所有结果进行聚类、分析匹配,根据概率,就能够读取得到相对正确的序列,即第六中间子序列。
步骤S218,利用扰码多项式对第六中间子序列进行解码,得到第七中间子序列;其中,第七中间子序列包含有解码后的地址编码、解码后的冗余校验码和解码后的RS纠错码。
在具体实现时,利用扰码多项式即RS解码技术,对第六中间子序列进行解码,得到第七中间子序列;其中,第七中间子序列包含有解码后的地址编码、解码后的冗余校验码和解码后的RS纠错码。
步骤S220,利用CRC校验,判断第七中间子序列中的解码后的冗余校验码的是否正确;如果错误,剔除第七中间子序列。
在具体实现时,RS解码的到的解码后的地址编码和解码后的冗余校验码可能有错误,所以需要进一步验证,进一步验证的操作如下:利用CRC校验对第七中间子序中的解码后的冗余校验码进行反复多次的反向验证,判断解码后的冗余校验码的正确性,保留包含有正确冗余校验码的第七中间子序,剔除包含有错误冗余校验码的第七中间子序。通过反复多次的CRC解码校验,多次剔除含有错误冗余校验码的第七中间子序,提高了恢复DNA序列的正确率。
步骤S222,依据解码后的地址编码对剩余的第七中间子序列进行排序,得到目标DNA序列。
在具体实现时,根据第七中间子序列中的解码后的地址编码对第七中间子序列进行排序,还原子序列在原始序列中的位置,恢复得到目标DNA序列。步骤S218-步骤S222为DNA存储序列的解码过程。
本实施例通过两步加扰法,即利用预设的扰码多项式对每个目标子序列进行加扰处理,再基于预设的距离参数,对每个加扰处理后的子序列进行数据偏移处理的方法,对需要解码的序列进行预处理。通过该方法加大了子序列之间的欧氏距离,减小了聚类结果对恢复DNA原始序列正确率的影响,提高了恢复DNA原始序列的正确率。
实施例三
本发明实施例还提供了第三种面向DNA存储的DNA序列处理方法,如图3所示,该方法包括如下步骤:
步骤S302,序列分段并进行地址校验。首先将长序列分成若干段;然后,对每段数据分别写入序列地址;最后对地址进行循环冗余校验,并将校验位和地址位结合作为新的地址写入文件。
步骤S304,序列RS编码,并进行加扰。首先,对每个加扰后的文件进行RS编码;然后,对每个子文件(包括地址位)使用加扰多项式进行加扰,防止出现连续相同码字,对数据进行加密,同时增加序列之间的距离;最后,对每一个序列增加固定偏离,进一步增加序列间的距离。
步骤S306,反复加扰采样,聚类初步纠错。首先,每个子文件数据进行深度为M的反复加噪采样;然后,对采样结果进行聚类分析,通过匹配,初步纠正采样过程中出现的噪声干扰。
步骤S308,RS纠错解码,再次纠错。首先,对聚类结果数据进行去除偏离操作,恢复原始序列;然后,用原始加扰多项式对编码序列进行解扰;最后,将带有RS编码校验位的数据进行RS纠错解码恢复出原始的带有地址码的数据信息,此时,地址码中带有CRC校验信息。
步骤S310,子文件地址校验,原始序列恢复。首先,对每一个文件进行CRC解码,通过校验位标志,找出地址正确的文件并放置到正确位置;然后,根据恢复出的文件地址信息,对数据子文件进行重新排序;最后,利用子文件恢复出原始DNA序列信息。
本实施例提供了第三种面向DNA存储的DNA序列处理方法,通过两步加扰的方式加大了子序列之间的欧氏距离,减小了聚类结果对恢复DNA原始序列正确率的影响,提高了恢复DNA原始序列的正确率。
实施例四
本发明实施例还提供了一种面向DNA存储的DNA序列处理装置,如图4所示,该装置包括:
目标获取模块41,用于:获取目标DNA序列的多个目标子序列;其中,目标DNA序列中的信息包含在多个目标子序列中。
处理模块42,用于:对每个目标子序列进行加扰处理,得到多个第一中间子序列;对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列。
确定模块43,用于:将多个第二中间子序列确定为目标DNA序列的处理后的多个子序列。
上述处理模块,还用于:利用预设的扰码多项式对每个目标子序列进行加扰处理,得到多个第一中间子序列。
上述处理模块,还用于:基于预设的距离参数,对每个第一中间子序列进行数据偏移处理,得到多个第二中间子序列。
目标子序列确定模块,用于:将目标DNA序列进行拆分处理,得到多个原始子序列;针对每个原始子序列,执行下述操作:将原始子序列的地址编码写入原始子序列中的指定位置,得到第三中间子序列;将原始子序列的地址编码的冗余校验码加入第三中间子序列的指定位置,得到第四中间子序列;对第四中间子序列进行RS编码,得到目标子序列。
上述目标子序列确定模块,还用于:当第四中间子序列中存在相同的码字,且相同的码字满足预设条件时,对第四中间子序列进行加密处理,得到第五中间子序列;对第五中间子序列进行RS编码,得到目标子序列。
聚类匹配模块,用于:针对每个第二中间子序列,执行下述操作:对第二中间子序列进行指定次数的加躁采样,得到采样结果;对采样结果进行聚类匹配,得到第六中间子序列。
解码模块,用于:利用扰码多项式对第六中间子序列进行解码,得到第七中间子序列;其中,第七中间子序列包含有解码后的地址编码、解码后的冗余校验码和解码后的RS纠错码;利用CRC校验,判断第七中间子序列中的解码后的冗余校验码的是否正确;如果错误,剔除第七中间子序列。
解码模块,还用于:利用CRC校验,判断第七中间子序列中的解码后的冗余校验码的是否正确;如果错误,剔除第七中间子序列的步骤之后,还包括:依据解码后的地址编码对剩余的第七中间子序列进行排序,得到目标DNA序列。
本发明实施例所提供的面向DNA存储的DNA序列处理装置,其实现原理及产生的技术效果和前述面向DNA存储的DNA序列处理方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例五
本发明实施例还提供了一种电子设备,参见图5所示,该电子设备包括处理器101和存储器100,该存储器100存储有能够被处理器101执行的机器可执行指令,该处理器执行机器可执行指令以实现上述DNA序列处理方法。
进一步地,图5所示的电子设备还包括总线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序列处理方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的面向DNA存储的DNA序列处理、装置与电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种面向DNA存储的DNA序列处理方法,其特征在于,所述方法包括:
获取目标DNA序列的多个目标子序列;其中,所述目标DNA序列中的信息包含在所述多个目标子序列中;
对每个所述目标子序列进行加扰处理,得到多个第一中间子序列;对每个所述第一中间子序列进行数据偏移处理,得到多个第二中间子序列;
将所述多个第二中间子序列确定为所述目标DNA序列的处理后的多个子序列;
所述将所述多个第二中间子序列确定为所述目标DNA序列的处理后的多个子序列的步骤之后,所述方法还包括:
针对每个所述第二中间子序列,执行下述操作:
对所述第二中间子序列进行指定次数的加噪采样,得到采样结果;
对所述采样结果进行聚类匹配,得到第六中间子序列;
利用扰码多项式对所述第六中间子序列进行解码,得到第七中间子序列;其中,所述第七中间子序列包含有解码后的地址编码、解码后的冗余校验码和解码后的RS纠错码;
利用CRC校验,判断所述第七中间子序列中的所述解码后的冗余校验码的是否正确;如果错误,剔除所述第七中间子序列。
2.根据权利要求1所述的方法,其特征在于,所述对每个所述目标子序列进行加扰处理,得到多个第一中间子序列的步骤,包括:利用预设的扰码多项式对每个所述目标子序列进行加扰处理,得到所述多个第一中间子序列。
3.根据权利要求1所述的方法,其特征在于,所述对每个所述第一中间子序列进行数据偏移处理,得到多个第二中间子序列的步骤,包括:基于预设的距离参数,对每个所述第一中间子序列进行数据偏移处理,得到多个所述第二中间子序列。
4.根据权利要求1所述的方法,其特征在于,所述获取目标DNA序列的多个目标子序列的步骤,包括:
将目标DNA序列进行拆分处理,得到多个原始子序列;
针对每个所述原始子序列,执行下述操作:
将所述原始子序列的地址编码写入所述原始子序列中的指定位置,得到第三中间子序列;
将所述原始子序列的地址编码的冗余校验码加入所述第三中间子序列的指定位置,得到第四中间子序列;
对所述第四中间子序列进行RS编码,得到所述目标子序列。
5.根据权利要求4所述的方法,其特征在于,所述对所述第四中间子序列进行RS编码,得到所述目标子序列的步骤,包括:
当所述第四中间子序列中存在相同的码字,且所述相同的码字满足预设条件时,对所述第四中间子序列进行加密处理,得到第五中间子序列;
对所述第五中间子序列进行RS编码,得到所述目标子序列。
6.根据权利要求1所述的方法,其特征在于,所述利用CRC校验,判断所述第七中间子序列中的所述解码后的冗余校验码的是否正确;如果错误,剔除所述第七中间子序列的步骤之后,还包括:
依据所述解码后的地址编码对剩余的所述第七中间子序列进行排序,得到所述目标DNA序列。
7.一种面向DNA存储的DNA序列处理装置,其特征在于,所述装置包括:
目标获取模块,用于:获取目标DNA序列的多个目标子序列;其中,所述目标DNA序列中的信息包含在所述多个目标子序列中;
处理模块,用于:对每个所述目标子序列进行加扰处理,得到多个第一中间子序列;对每个所述第一中间子序列进行数据偏移处理,得到多个第二中间子序列;
确定模块,用于:将所述多个第二中间子序列确定为所述目标DNA序列的处理后的多个子序列;
第二处理模块,用于对所述第二中间子序列进行指定次数的加噪 采样,得到采样结果;对所述采样结果进行聚类匹配,得到第六中间子序列;利用扰码多项式对所述第六中间子序列进行解码,得到第七中间子序列;其中,所述第七中间子序列包含有解码后的地址编码、解码后的冗余校验码和解码后的RS纠错码;利用CRC校验,判断所述第七中间子序列中的所述解码后的冗余校验码的是否正确;如果错误,剔除所述第七中间子序列。
8.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至6任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994772.1A CN113611364B (zh) | 2021-08-27 | 2021-08-27 | 面向dna存储的dna序列处理方法、装置与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110994772.1A CN113611364B (zh) | 2021-08-27 | 2021-08-27 | 面向dna存储的dna序列处理方法、装置与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113611364A CN113611364A (zh) | 2021-11-05 |
CN113611364B true CN113611364B (zh) | 2022-04-08 |
Family
ID=78309532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110994772.1A Active CN113611364B (zh) | 2021-08-27 | 2021-08-27 | 面向dna存储的dna序列处理方法、装置与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113611364B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590842B (zh) * | 2017-09-05 | 2020-05-29 | 山东师范大学 | 基于像素和dna交叉动态混沌密码的图像加密方法和装置 |
WO2019196439A1 (en) * | 2018-04-13 | 2019-10-17 | The Hong Kong Polytechnic University | Data storage using peptides |
CN110569974B (zh) * | 2018-06-06 | 2021-08-24 | 天津大学 | 可包含人造碱基的dna存储分层表示与交织编码方法 |
CN110706751A (zh) * | 2019-09-25 | 2020-01-17 | 东南大学 | 一种dna存储加密编码方法 |
US20200287704A1 (en) * | 2020-05-22 | 2020-09-10 | Qiang Zhang | Color Image Encryption Method Based on DNA Strand Displacement Analog Circuit |
-
2021
- 2021-08-27 CN CN202110994772.1A patent/CN113611364B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113611364A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2520551B2 (ja) | インタ―リ―ブ式の誤り訂正符号を復号化するための復号器能力強化方法 | |
CN111539502B (zh) | 防伪二维码的生成方法、装置、服务器及存储介质 | |
CN112100982B (zh) | Dna存储方法、系统和存储介质 | |
CN114328000B (zh) | 1型2型分段纠错内码的dna存储级联编码与解码方法 | |
CN111858507B (zh) | 基于dna的数据存储方法、解码方法、系统和装置 | |
Gabrys et al. | Unique reconstruction of coded strings from multiset substring spectra | |
CN113687976B (zh) | 面向dna信息存储的编码和解码方法与装置 | |
CN111384972B (zh) | 多进制ldpc解码算法的优化方法、装置及解码器 | |
CN113611364B (zh) | 面向dna存储的dna序列处理方法、装置与电子设备 | |
CN116757158B (zh) | 基于半导体存储的数据管理方法 | |
CN110492889B (zh) | 检测纠正两位错误的编码解码方法、编码解码器及处理器 | |
CN116187435B (zh) | 基于大小喷泉码及mrc算法利用dna进行信息存储方法及系统 | |
US6961891B2 (en) | High-efficiency error detection and/or correction code | |
EP1612949A1 (en) | Method and system for correcting errors in electronic memory devices | |
CN112102883B (zh) | 一种fastq文件压缩中的碱基序列编码方法和系统 | |
CN110190858B (zh) | 一种聚合物分子信息存储纠错编解码系统 | |
CN113839678A (zh) | 一种哈夫曼解码系统、方法、设备及计算机可读存储介质 | |
JP2023513203A (ja) | 新しいコンテキストに基づくアライメントされた配列決定データにおける改善されたクオリティ値圧縮フレームワーク | |
EP3125454A1 (en) | Data processing method and device for correcting errors in defective copies of a data packet | |
CN114759929B (zh) | 车联网时序数据的压缩方法、装置和电子设备 | |
US20240184666A1 (en) | Preprocessing for Correcting Insertions and Deletions in DNA Data Storage | |
RU2710911C1 (ru) | Способ передачи многоблочных сообщений в комплексах телекодовой связи | |
EP3163512A1 (en) | Data processing apparatus and method for recovering a correct code symbol sequence from multiple incorrect copies | |
CN109857340B (zh) | Nor flash中文件的存储和读取方法、装置及存储介质 | |
Tang et al. | Correcting multiple short duplication and substitution errors |
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 |