掌桥专利:专业的专利平台
掌桥专利
首页

DNA分子序列的信息存储方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 19:30:30


DNA分子序列的信息存储方法、装置、电子设备和存储介质

技术领域

本发明涉及DNA分子序列的编码和解码技术领域,尤其涉及一种DNA分子序列的信息存储方法、装置、电子设备和存储介质。

背景技术

在DNA合成和测序的过程中常常会出现错误,而稳定的信息存储则需要能够避免这些错误产生。现有的DNA编码技术主要是针对以Illumina为代表的二代测序(短读长高通量测序)而设计的,而纳米孔测序、PacBio单分子测序等第三代长读长测序技术的错误类型与二代测序的错误类型有所不同。如二代测序中最主要的错误类型是分子丢失和碱基替换,纳米孔测序中最主要的错误类型是碱基替换、碱基增添(insertions)以及碱基缺失(deletions)三类。

因此,针对二代测序设计的DNA编码方案通常不适用于从纳米孔测序的读数中恢复信息。目前针对纳米孔读数的DNA编码方案的纠错能力有限,通常仅能处理比率较低的错误和模式单一的错误,而在应对更高比率的错误或者模式复杂的错误时能力较差。

发明内容

本发明提供一种DNA分子序列的信息存储方法、装置、电子设备和存储介质,用以解决现有技术中DNA分子中信息存储和读取的可靠性和准确性较低的问题。

本发明提供一种DNA分子序列的信息存储方法,包括:

对目标数据进行编码,并在编码得到的序列中添加引导碱基进行序列锚定,得到待处理序列;

对所述待处理序列进行切分,得到对应的若干子序列,并对所述若干子序列中的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合;

对所述序列集合进行筛选,得到所述若干子序列中每一个子序列对应的标准子序列;

基于所述标准子序列进行序列组合,得到所述目标数据对应的目标DNA序列,并将所述目标DNA序列合成为DNA分子。

根据本发明提供的一种DNA分子序列的信息存储方法,所述对目标数据进行编码,并在编码得到的序列中添加引导碱基进行序列锚定,得到待处理序列,包括:

对目标数据进行编码,得到所述目标数据对应的第一序列;

在所述第一序列中确定锚定点,并在所述锚定点上添加引导碱基,得到待处理序列。

根据本发明提供的一种DNA分子序列的信息存储方法,所述对所述若干子序列中的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合,包括:

对所述若干子序列中的每一个子序列中若干序列位进行信息替换,得到每一次替换时所对应的子序列;

将每一次替换时所对应的子序列进行汇总,得到所述若干子序列中每一个子序列对应的序列集合。

根据本发明提供的一种DNA分子序列的信息存储方法,所述对所述序列集合进行筛选,得到所述若干子序列中每一个子序列对应的标准子序列,包括:

确定所述序列集合中每一个子序列对应的第一错误率,并基于所述第一错误率对所述序列集合进行筛选,得到第一序列集合;

确定所述第一序列集合中每一个子序列对应的信噪比,并基于所述信噪比对所述第一序列集合进行筛选,得到第二序列集合;

确定所述第二序列集合中每一个子序列的第二错误率,并基于所述第二错误率对所述第二序列集合进行筛选,得到第三序列集合;

计算所述第三序列集合中每一个子序列对应的GC比,并基于所述GC比对所述第三序列集合进行筛选,得到第四序列集合;

对所述第四序列集合进行分子活性判断,以在处理后的第四序列集合中确定标准子序列,其中所述标准子序列的数量与所述待处理序列划分后的子序列数量相同。

根据本发明提供的一种DNA分子序列的信息存储方法,所述确定所述第一序列集合中每一个子序列对应的信噪比,并基于所述信噪比对所述第一序列集合进行筛选,得到第二序列集合,包括:

确定序列采集窗口,基于所述序列采集窗口对所述第一序列集合中的每一个子序列进行序列采集,并计算得到所述第一序列集合中的每一个子序列对应的信噪比;

将所述信噪比与阈值进行比较,并根据得到的比较结果对所述第一序列集合进行筛选,得到第二序列集合。

根据本发明提供的一种DNA分子序列的信息存储方法,所述基于所述标准子序列进行序列组合,得到所述目标数据对应的目标DNA序列,并将所述目标DNA序列合成为DNA分子,包括:

基于所述标准子序列对应的序号进行序列拼接,得到所述目标数据对应的目标DNA序列;

对所述目标DNA序列进行逻辑冗余添加,并将完成逻辑冗余添加后的所述目标DNA序列合成为DNA分子。

根据本发明提供的一种DNA分子序列的信息存储方法,所述方法还包括:

确定待解码序列,并识别所述待解码序列所包含的引导碱基;

根据所述引导碱基确定所述待解码序列的错误序列,并基于纠错码对所述错误序列进行纠错,得到纠错后的所述待解码序列;

对纠错后的所述待解码序列进行解码,得到对应的目标信息。

本发明还提供一种DNA分子序列的信息存储装置,包括:

序列编码模块,用于对目标数据进行编码,并在编码得到的序列中添加引导碱基进行序列锚定,得到待处理序列;

序列划分模块,用于对所述待处理序列进行切分,得到对应的若干子序列,并对所述若干子序列中的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合;

序列筛选模块,用于对所述序列集合进行筛选,得到所述若干子序列中每一个子序列对应的标准子序列;

序列写入模块,用于基于所述标准子序列进行序列组合,得到所述目标数据对应的目标DNA序列,并将所述目标DNA序列合成为DNA分子。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的DNA分子序列的信息存储方法。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的DNA分子序列的信息存储方法。

本发明提供的DNA分子序列的信息存储方法、装置、电子设备和存储介质,在进行编码生成写入到DNA分子中的序列时,首先对需要进行存储的目标数据进行编码,然后在编码所得到的序列中添加相应的引导碱基,得到待处理序列,然后对待处理序列进行划分处理,并针对于划分后的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合,进而在序列集合中进行序列筛选,得到每一个序列集合所对应的标准序列,最后进行序列的组合,将组合所得到的目标DNA序列合成为DNA分子。这一方案实现了在将信息编码写入至DNA分子中时,通过引导碱基和逻辑冗余的添加,使得在进行测序时能够准确的对错误序列进行纠正,提高了DNA分子中信息读取的稳定性。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的DNA分子序列的信息存储方法的流程示意图;

图2是本发明提供的对目标数据进行处理得到待处理序列的步骤的流程示意图;

图3是本发明提供的进行筛选得到标准子序列的步骤的流程示意图;

图4是本发明提供的DNA分子序列的信息存储装置的结构示意图;

图5是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合图1-图5描述本发明的DNA分子序列的信息存储方法。

图1是本发明提供的DNA分子序列的信息存储方法的流程示意图,如图1所示,该方法包括步骤101至步骤104。

步骤101,对目标数据进行编码,并在编码得到的序列中添加引导碱基进行序列锚定,得到待处理序列。

在需要将相应的文件文本进行记录和存储,以存储在相对应的DNA分子序列中时,通过将需要进行存储的文本进行编码处理,得到可以存储在DNA分子中的一个序列,进而完成信息的存储。具体地,在对目标数据进行存储时,首先对其进行编码处理,得到相应的序列,然后在所得到的编码中进行引导碱基的添加,对所得到的序列进行锚定,以得到进行后续处理的待处理序列。

示例性地,在对目标数据进行编码处理时,首先得到目标数据在完成编码时所对应的一个序列,然后为了确保后续在进行测序时保证序列的准确性,可以在完成编码后的序列中添加数个引导碱基,在对目标文件所包含的信息进行分隔的同时,便于后续测序时对于序列的正确性的判断。

需要说明的是,使用本发明进行DNA写入的目标数据,可以是任意类型的数字信息,如图片、文字、音频以及视频等。

另外,在进行编码之前,本发明预先对DNA编码中的编码效率与稳定性进行了定量建模,从而提供了理性参数选择的依据。通过针对不同的错误率,设置不同的编码参数,可以有效的减少不必要的冗余,从而最大限度地提高信息存储密度。

具体而言,编码密度和信息恢复的稳健性之间存在一个权衡关系。当增加冗余的碱基以提高稳健性时,编码密度就会被降低。反之,当减少冗余以提高编码密度时,信息恢复更容易受到序列错误的影响。因此,为了定量地描述这种关系,可以建立一个数学模型,以量化编码密度和稳健性之间的权衡,并据此确定在不同错误率下的最佳参数组合。

通过实验和与前人工作的对比可以得到,相较于常规的编码方式,通过设置模型参数组合来平衡编码密度和稳健性,可以在保证信息恢复的情况下提高信息存储密度,其中对比的实验数据如下表1所示。

表1:

参照图2,图2是本发明提供的对目标数据进行处理得到待处理序列的步骤的流程示意图,其中该步骤包括步骤201至步骤202。

步骤201,对目标数据进行编码,得到目标数据对应的第一序列;

步骤202,在第一序列中确定锚定点,并在锚定点上添加引导碱基,得到待处理序列。

在对目标数据进行处理时,首先对目标数据进行编码处理,得到目标数据对应的第一序列,然后为了实现在解码的时候对序列正确性的判断,以及对错误序列的修改,会在第一序列中添加相应的引导碱基,而在进行添加时,首先根据引导碱基添加的规则,在第一序列中确定添加引导碱基的位置,进而在对应的位置进行引导碱基的添加,以得到待处理序列。

示例性地,对应任意需要进行存储的信息,在进行存储时都可以进行相应的编码处理得到对应的一个序列,如在对目标数据进行编码时,可以基于Huffman编码(哈夫曼编码,又称霍夫曼编码)方式进行处理,得到第一序列。

在得到第一序列时,由于需要进行引导碱基的添加,此时可以设定引导碱基添加的方式,比如每间隔多少位序列添加一个碱基,以作为引导碱基。比如在确定每间隔4位添加一个碱基作为引导碱基时,若初始得到的第一序列有1000位,那么在进行引导碱基的添加时,所得到的待处理序列的长度为1250位,且引导碱基的位置会分别在第1位、第6位、第11位......第1246位。

步骤102,对待处理序列进行切分,得到对应的若干子序列,并对若干子序列中的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合。

对应进行编码处理后所得到的待处理序列,并不是直接将其存储至相应的DNA分子中,而是通过一定的处理,确定所存储的序列的准确性,同时保证在后续测序过程中进行及时准确的纠错处理,提高处理错误的能力。

具体地,在得到了待处理序列之后,所进行的处理是进行错误信息的剔除,而在进行错误信息的剔除时,首先对待处理序列进行切分处理,得到若干个子序列,且所有的子序列进行拼接即可得到待处理序列,然后对每一个子序列进行序列扩展,得到一个序列集合,其中每一个子序列对应一个序列集合。

示例性地,在对待处理序列进行切分/划分处理时,可以将待处理序列进行等分划分,比如待处理序列的序列长度为10000碱基,此时在进行划分时所得到子序列可以是10个序列长度为1000碱基的序列。当然,在进行划分时也可以不等分划分,但是为了更加便捷的进行处理,优先考虑通过等分划分的方式对待处理序列进行划分。

在完成对待处理序列的划分,得到对应的若干子序列之后,对每一个子序列进行序列扩展处理,每一个子序列通过序列扩展可以得到一个满足数量要求的序列集合。具体地,在对子序列进行处理,得到每一个子序列所对应的序列集合时,包括:对若干子序列中的每一个子序列中若干序列位进行信息替换,得到每一次替换时所对应的子序列;将每一次替换时所对应的子序列进行汇总,得到若干子序列中每一个子序列对应的序列集合。

示例性地,在进行序列扩展时,通过按照不同的扩展规则对子序列进行处理,比如信息替换,将一个序列中各序列位上所对应的信息进行修改或者替换,进而在完成修改和替换时得到一个扩展序列。

而在进行序列的扩展时,可以基于喷泉码实现对子序列的序列扩展,其中,喷泉码(也称为无码率抹除码)是一类抹除码,其有能力从一组给定的源符号中产生一串无限的编码符号序列,而在理想情况下,只需获得大小和源符号集合相同或稍大的任意编码符号子集,便可恢复源符号。因此在基于喷泉码进行序列扩展时,根据所使用的喷泉码进行处理,同时可以根据所设定的方式进行反向推理,即可得到初始进行扩展的原始序列。

步骤103,对序列集合进行筛选,得到若干子序列中每一个子序列对应的标准子序列。

在完成对所得到的若干子序列中的每一个子序列进行扩展得到序列集合之后,为了得到准确的进行存储的序列,通过在每个序列集合中进行筛选,在每一个序列集合中选择一个用于进行存储的子序列,进而将所确定的子序列进行拼接,作为最后进行存储的目标DNA序列。具体地,在得到每一个子序列对应的序列集合时,通过对序列集合中所包含的序列进行筛选,以在每一个序列集合中得到一个标准子序列。

示例性地,在对序列集合进行筛选时,通过对序列集合中所包含的所有子序列进行筛选处理,通过设置相应的筛选条件,对每一个序列集合中所包含的序列进行筛选,以得到每一个序列集合对应的标准子序列。

参照图3,图3是本发明提供的进行筛选得到标准子序列的步骤的流程示意图,其中,该步骤包括步骤301至步骤305。

步骤301,确定序列集合中每一个子序列对应的第一错误率,并基于第一错误率对序列集合进行筛选,得到第一序列集合;

步骤302,确定第一序列集合中每一个子序列对应的信噪比,并基于信噪比对第一序列集合进行筛选,得到第二序列集合;

步骤303,确定第二序列集合中每一个子序列的第二错误率,并基于第二错误率对第二序列集合进行筛选,得到第三序列集合;

步骤304,计算第三序列集合中每一个子序列对应的GC比,并基于GC比对第三序列集合进行筛选,得到第四序列集合;

步骤305,对第四序列集合进行分子活性判断,以在处理后的第四序列集合中确定标准子序列,其中标准子序列的数量与待处理序列划分后的子序列数量相同。

在进行筛选以确定标准子序列时,通过设置一定量的筛选判断条件,依次进行筛选处理,最后得到相对应的标准子序列,以通过序列拼接得到进行存储的一个序列。具体地,在进行筛选时,所设定的筛选条件包括但不限于有:序列错误率、信噪比、GC比以及生物特征,其中,GC比为子序列中G(鸟嘌呤)和C(胞嘧啶)两种核苷酸占所有核苷酸的比例,且通常需要使得子序列的GC比在40%到60%之间,生物特征用来判断其是否具有潜在的生物活性,以及是否与存储的生物化学方法相冲突等。通过根据所设定的条件不断的进行筛选和优化,使得最后所得到的序列具有更好的稳定性,同时在进行解码时也可以快速实现正确解码。

示例性地,以待处理序列的长度为1000碱基,且每间隔4位添加一个引导碱基,划分为10段,那么此时在进行划分之后,得到10个序列长度为100的子序列,在此将每个子序列进行编号,分别为1、2、...、10。那么在进行筛选处理时,以其中一个子序列进行说明,以编号为1的子序列为例,称为子序列1。

在进行筛选处理之前,子序列1通过序列扩展得到相对应的序列集合,设定此时所得到的序列集合中包含的序列的数量为50,那么在进行筛选时,首先针对该50个序列进行第一错误率的计算,此时通过设定一个序列查看窗口k-mer,其中k为窗口所包含的碱基的位数,通常来说,k的具体数值应当与测序技术原理相匹配,对于纳米孔测序技术,一般的设定值为5或6。

对50个序列中的其中一个序列进行错误率的计算,针对于查看窗口每一次所显示的k位的序列,基于纳米孔测序的错误模式进行分析,确定一个序列在完成分析时的错误率,进而通过所得到的错误率确定是否将该序列进行剔除。比如可以设置错误率阈值为70%,若一个序列在进行错误分析时确定其错误率高于70%的其它序列时,则将该序列从50个序列构成的子序列1所对应的序列集合中剔除。

接着,在完成对序列集合的第一次筛选之后,可以进行第二次筛选,此时可以通过计算每一个序列的信噪比进行筛选,具体地,在基于第一错误率对序列集合进行筛选得到第一序列集合之后,对第二序列集合中的每一个序列进行信噪比的计算,以根据所得到的信噪比进行第二次的筛选。

具体地,在基于信噪比进行筛选处理时,包括:确定序列采集窗口,基于序列采集窗口对第一序列集合中的每一个子序列进行序列采集,并计算得到第一序列集合中的每一个子序列对应的信噪比;将信噪比与阈值进行比较,并根据得到的比较结果对第一序列集合进行筛选,得到第二序列集合。

示例性地,信噪比定义为两个相邻窗口产生的电信号的高斯分布的重叠区域的平均负对数,即

其中R是信噪比,A是上述重叠区域

其中,μ1,σ1和μ2,σ2分别指两个相邻电信号的高斯分布的均值和方差。

接着上述的筛选,在对50个序列完成第一次筛选时,若此时子序列1对应的集合中的序列数量由50个变为了45个,那么此时在进行信噪比计算时,针对此时得到的45个序列进行处理。

因此,在基于信噪比进行第二次筛选时,也可以设定一个k-mer的窗口,通过基于相邻两个窗口所产生的电信号确定相邻两个窗口所对应的信噪比。如前所述,k通常设置为5或6,以k=6为例,此时在进行处理时所得到的窗口的数量为95,那么在进行信噪比的计算时,所得到的信噪比的值有94个,然后在通过计算平均信噪比得到一个序列对应的信噪比,进而通过阈值设定进行序列的筛选,比如设置筛选阈值为60%。

最后,根据所设定的阈值,该45个序列中确定哪一个或者哪一些序列需要进行剔除,如将信噪比小于60%子序列集合中其它序列的子序列进行剔除。

然后,接着在进行筛选时,在第二序列集合中将易错子序列进行删除,具体地,由于第一步错误率的筛选是针对序列全局进行的,因此序列的局部模式没有被筛选,或者说某些容易出错的部分被序列中其它部分掩盖了。因此,需要对序列进行更加细致的筛选,即检查序列中是否包含极容易出错的k-mer窗口,例如连续相同的碱基(AAAAA)等。子序列中只要包含这种窗口,就会被从子序列集合中剔除,未被剔除的子序列构成第三序列集合。

另外,为了降低在序列合成、存储和测序过程中的错误,对于所得到的第三序列集合进行基于GC比的筛选,通过确定序列的GC比,确定是否满足所设定的条件,实现对第三序列集合的筛选。具体而言,设定子序列的GC比应当在40%-60%之间,而不符合这一要求的子序列被从集合中剔除。同时,为了排除了不适合整合到DNA分子或活细胞中的序列,还会基于生物特征或者分子整合条件对所得到的第三序列集合进行筛选。最后,通过不断的筛选,确定可以被写入存储到DNA分子中的序列。

需要说明的是,对于所得到的第四序列集合,其所包含的序列的数量可以是一个,也可以是多个,当在第四序列集合中只包含有一个序列时,直接将其作为对应的序列集合所对应的标准子序列,而在第四序列集合中包含有多个序列时,可以将其中的任意一个作为标准子序列,如可以随机选择一个。

步骤104,基于标准子序列进行序列组合,得到目标数据对应的目标DNA序列,并将目标DNA序列存合成为DNA分子。

在确定了进行划分后若干子序列对应的标准子序列之后,将会进行序列组合,得到一个序列,也就是得到目标数据所对应的目标DNA序列,进而将目标DNA序列合成为DNA分子。

具体地,在对所得到的标准子序列进行处理,以得到待合成的DNA分子时,包括:基于标准子序列对应的序号进行序列拼接,得到目标数据对应的目标DNA序列;对目标DNA序列进行逻辑冗余添加,并将完成逻辑冗余添加后的目标DNA序列合成为DNA分子。

在对目标数据进行编码所得到的待处理序列进行划分时,对应所划分得到的若干子序列,可以根据连接关系进行序号标记,比如划分为10个子序列,那么子序列对应的序号分别为1、2、......、10。因此对于所得到的标准子序列,也会有着相应的序号,然后在进行拼接组合得到目标DNA序列时,基于序号确定各标准子序列之间的连接关系,然后基于连接关系进行序列拼接,得到目标DNA序列。

同时在完成序列拼接得到目标DNA序列之后,还可以对目标DNA序列进行逻辑冗余添加,以提高对目标DNA序列的保护。示例性地,在进行逻辑冗余添加时,可以使用Reed-Solomon码(里德-所罗门码,一种前向纠错编码)。

在一实施例中,对于基于上述方式完成存储的DNA分子,在进行序列的读取和解码时,通过对进行解码的序列中的相关信息进行识别,如引导碱基,然后通过对序列的纠错处理,得到正确的可以进行解码的序列,进而通过解码得到相应的数据信息。

而在进行解码得到相关的数据信息时,包括:确定待解码序列,识别待解码序列所包含的引导碱基;根据引导碱基确定待解码序列的错误序列,并基于纠错码对错误序列进行纠错,得到纠错后的待解码序列;对纠错后的待解码序列进行解码,得到对应的目标信息。

具体地,在进行解码操作时,首先确定待解码序列,根据目标子序列的预设长度对待解码序列进行拆分,得到单独的子序列;下一步,识别需要进行解码的子序列中所包含的引导碱基,然后根据引导碱基对子序列中的错误序列进行识别和确定,进而根据所设定的纠错码对错误序列进行纠错,以得到纠错后的子序列,最后重新将纠错后的子序列按照原顺序拼接在一起,通过解码和转码便可以得到待解码序列所对应的数据信息,如得到存储在其中的图片、语句、视频或者音频等。

在实际应用中,基于上述方式得到的序列,在进行纳米孔测序时,可以在源头上减少序列的错误,也就是在生成进行存储的序列时,先验地降低了错误产生的概率。

相比于天然序列,基于上述提及的序列生成方式,在纳米孔测序中所产生的错误明显减少,具体如下表2所示。

表2:

通过实验结果可以看到,在基于上述提及的方式进行序列的编码生成时,可以有效地降低纳米孔测序中三种类型错误的发生频率,尤其是碱基插入和碱基缺失,相比于天然序列有20%-30%的降低。

本发明实施例提供的方法,在DNA分子序列的信息存储过程中,在进行编码生成写入到DNA分子中的序列时,首先对需要进行存储的目标数据进行编码,然后在编码所得到的序列中添加相应的引导碱基,得到待处理序列,然后对待处理序列进行划分处理,并针对于划分后的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合,进而在序列集合中进行序列筛选,得到每一个序列集合所对应的标准序列,最后进行序列的组合,将组合所得到的目标DNA序列写入到对应的DNA分子中。这一方法实现了在将信息编码写入至DNA分子中时,通过引导碱基的添加,使得在进行单分子长读长测序时能够准确的对错误序列进行纠正,提高了DNA分子中信息读取的稳定性。

下面对本发明提供的DNA分子序列的信息存储装置进行描述,下文描述的DNA分子序列的信息存储装置与上文描述的DNA分子序列的信息存储方法可相互对应参照。

图4是本发明提供的DNA分子序列的信息存储装置的结构示意图,如图4所示,该DNA分子序列的信息存储装置400包括:

序列编码模块401,用于对目标数据进行编码,并在编码得到的序列中添加引导碱基进行序列锚定,得到待处理序列;

序列划分模块402,用于对待处理序列进行切分,得到对应的若干子序列,并对若干子序列中的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合;

序列筛选模块403,用于对序列集合进行筛选,得到若干子序列中每一个子序列对应的标准子序列;

序列写入模块404,用于基于标准子序列进行序列组合,得到目标数据对应的目标DNA序列,并将目标DNA序列合成为DNA分子。

基于上述实施例,序列编码模块401还用于:

对目标数据进行编码,得到目标数据对应的第一序列;

在第一序列中确定锚定点,并在锚定点上添加引导碱基,得到待处理序列。

基于上述实施例,序列划分模块402还用于:

对若干子序列中的每一个子序列中若干序列位进行信息替换,得到每一次替换时所对应的子序列;

将每一次替换时所对应的子序列进行汇总,得到若干子序列中每一个子序列对应的序列集合。

基于上述实施例,序列筛选模块403还用于:

确定序列集合中每一个子序列对应的第一错误率,并基于第一错误率对序列集合进行筛选,得到第一序列集合;

确定第一序列集合中每一个子序列对应的信噪比,并基于信噪比对第一序列集合进行筛选,得到第二序列集合;

确定第二序列集合中每一个子序列的第二错误率,并基于第二错误率对第二序列集合进行筛选,得到第三序列集合;

计算第三序列集合中每一个子序列对应的GC比,并基于GC比对第三序列集合进行筛选,得到第四序列集合;

对第四序列集合进行分子活性判断,以在处理后的第四序列集合中确定标准子序列,其中标准子序列的数量与待处理序列划分后的子序列数量相同。

基于上述实施例,序列筛选模块403还用于:

确定序列采集窗口,基于序列采集窗口对第一序列集合中的每一个子序列进行序列采集,并计算得到第一序列集合中的每一个子序列对应的信噪比;

将信噪比与阈值进行比较,并根据得到的比较结果对第一序列集合进行筛选,得到第二序列集合。

基于上述实施例,序列写入模块404还用于:

基于标准子序列对应的序号进行序列拼接,得到目标数据对应的目标DNA序列;

对所述目标DNA序列进行逻辑冗余添加,并将完成逻辑冗余添加后的所述目标DNA序列合成为DNA分子。

基于上述实施例,DNA分子序列的信息存储装置400还包括一模块,用于:

确定待解码序列,并识别待解码序列所包含的引导碱基;

根据引导碱基确定待解码序列的错误序列,并基于纠错码对错误序列进行纠错,得到纠错后的待解码序列;

对纠错后的待解码序列进行解码,得到对应的目标信息。

图5是本发明提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行DNA分子序列的信息存储方法,该方法包括:对目标数据进行编码,并在编码得到的序列中添加引导碱基进行序列锚定,得到待处理序列;对待处理序列进行切分,得到对应的若干子序列,并对若干子序列中的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合;对序列集合进行筛选,得到若干子序列中每一个子序列对应的标准子序列;基于标准子序列进行序列组合,得到目标数据对应的目标DNA序列,并将目标DNA序列合成为DNA分子。

此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的DNA分子序列的信息存储方法,该方法包括:对目标数据进行编码,并在编码得到的序列中添加引导碱基进行序列锚定,得到待处理序列;对待处理序列进行切分,得到对应的若干子序列,并对若干子序列中的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合;对序列集合进行筛选,得到若干子序列中每一个子序列对应的标准子序列;基于标准子序列进行序列组合,得到目标数据对应的目标DNA序列,并将目标DNA序列合成为DNA分子。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法所提供的DNA分子序列的信息存储方法,该方法包括:对目标数据进行编码,并在编码得到的序列中添加引导碱基进行序列锚定,得到待处理序列;对待处理序列进行切分,得到对应的若干子序列,并对若干子序列中的每一个子序列进行序列扩展,得到每一个子序列对应的序列集合;对序列集合进行筛选,得到若干子序列中每一个子序列对应的标准子序列;基于标准子序列进行序列组合,得到目标数据对应的目标DNA序列,并将目标DNA序列合成为DNA分子。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是、也可以不是物理上分开的,作为单元显示的部件可以是、也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到,各实施方式可借助软件加上必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术分类

06120115929727