发布信息

用于DNA存储的编码方法及编码装置

作者:admin      2022-07-30 20:40:35     260



医药医疗技术的改进;医疗器械制造及应用技术用于dna存储的编码方法及编码装置技术领域1.本技术涉及数据存储技术领域,尤其涉及一种用于dna存储的编码方法及编码装置。背景技术:2.随着全球信息的爆炸式增长,传统的将信息以二进制序列(也就是0和1组成的序列)存到硬盘、光盘、u盘等媒介的方式,由于存在使用次数有限、存储寿命短以及信息密度低等缺点,已经难以满足大规模数据存储的需求。目前,将脱氧核糖核酸(deoxyribonucleic acid,dna)作为存储媒介已经成为一种趋势。3.但是,针对如何提高在将信息编码存入碱基序列后,碱基序列在合成、测序时的准确率,还没有比较完善的解决方案。技术实现要素:4.本技术公开一种用于dna存储的编码方法及编码装置,以解决如何提高在将信息编码存入碱基序列后,碱基序列在合成、测序时的准确率的问题。5.为了解决上述问题,本技术采用下述技术方案:6.第一方面,本技术实施例提供了一种用于dna存储的编码方法,包括:获取待编码的二进制序列,其中,所述二进制序列包括n个二进制单元,n为大于0的整数;根据预设的二进制单元与碱基单元的映射规则,分别获取与n个所述二进制单元中的各个所述二进制单元对应的所述碱基单元,其中,所述碱基单元中包括7个碱基,所述二进制单元中包括12个二进制位,所述碱基单元中的第一位碱基和第二位碱基为不同碱基,所述碱基单元中的第六位碱基和第七位碱基为不同碱基,所述碱基单元中的第二位碱基起至第六位碱基中的单碱基连续重复数量不超过2,所述碱基单元中的gc含量大于或等于0.4且小于或等于0.6;通过将获取到的n个所述碱基单元进行合并,获取与所述二进制序列对应的碱基序列,其中,所述碱基序列用于合成存储有与所述二进制序列对应的数据信息的dna。7.第二方面,本技术实施例提供了一种用于dna存储的编码装置,包括:第一获取模块,用于获取待编码的二进制序列,其中,所述二进制序列包括n个二进制单元,n为大于0的整数;第二获取模块,用于根据预设的二进制单元与碱基单元的映射规则,分别获取与n个所述二进制单元中的各个所述二进制单元对应的所述碱基单元,其中,所述碱基单元中包括7个碱基,所述二进制单元中包括12个二进制位,所述碱基单元中的第一位碱基和第二位碱基为不同碱基,所述碱基单元中的第六位碱基和第七位碱基为不同碱基,所述碱基单元中的第二位碱基起至第六位碱基中的单碱基连续重复数量不超过2,所述碱基单元中的gc含量大于或等于0.4且小于或等于0.6;第三获取模块,用于通过将获取到的n个所述碱基单元进行合并,获取与所述二进制序列对应的碱基序列,其中,所述碱基序列用于合成存储有与所述二进制序列对应的数据信息的dna。8.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。9.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。10.本技术实施例提供一种用于dna存储的编码方法,通过获取待编码的二进制序列,根据预设的二进制单元与碱基单元的映射规则,分别获取与二进制序列包括的n个二进制单元中的各个二进制单元对应的碱基单元,通过将获取到的n个碱基单元进行合并,获取与二进制序列对应的碱基序列,能够较快的得到与二进制序列对应的碱基序列,实现对二进制序列的编码。并且,由于本技术的碱基单元中包括7个碱基,碱基单元中的第一位碱基和第二位碱基为不同碱基,碱基单元中的第六位碱基和第七位碱基为不同碱基,碱基单元中的第二位碱基起至第六位碱基中的单碱基连续重复数量不超过2,因此,本技术能够避免碱基序列中的长重复碱基或者碱基序列中的极端gc含量在合成、测序时的影响,能够提高碱基序列在合成、测序时的准确率。附图说明11.图1为本技术实施例公开的一种用于dna存储的编码方法的流程示意图;12.图2为本技术实施例公开的一种编码及解码过程的示意图;13.图3为本技术实施例公开的一种用于dna存储的编码装置的结构示意图;14.图4为本技术实施例公开的电子设备的一种结构示意图。具体实施方式15.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。16.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。17.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的用于dna存储的编码方法进行详细地说明。18.图1为本技术实施例公开的一种用于dna存储的编码方法的流程示意图,该方法可以由电子设备执行,换言之,该方法可以由安装在电子设备的软件或硬件来执行,如图1所示,该方法包括如下步骤。19.s120、获取待编码的二进制序列,其中,所述二进制序列包括n个二进制单元,n为大于0的整数。20.通过对二进制序列按照一定数量的二进制位为一组进行分割,使得二进制序列包括n个二进制单元。21.需要说明的是,二进制序列的长度为8的整数倍。二进制序列是计算机上文件的底层表示,由0和1组成。任何存储在计算机上的文件都有唯一的二进制序列。22.s140、根据预设的二进制单元与碱基单元的映射规则,分别获取与n个所述二进制单元中的各个所述二进制单元对应的所述碱基单元。23.其中,所述碱基单元中包括7个碱基,所述二进制单元中包括12个二进制位,所述碱基单元中的第一位碱基和第二位碱基为不同碱基,所述碱基单元中的第六位碱基和第七位碱基为不同碱基,所述碱基单元中的第二位碱基起至第六位碱基中的单碱基连续重复数量不超过2,所述碱基单元中的gc含量大于或等于0.4且小于或等于0.6。24.dna分子具有四种碱基,分别为:鸟嘌呤(guanine,g)、胞嘧啶(cytosine,c)、腺嘌呤(adenine,a)和胸腺嘧啶(thymine,t)。25.由于考虑到将信息编码存入dna序列(即碱基序列)后,碱基序列中的长重复碱基或者碱基序列中的gc含量在合成、测序时的影响,本技术中的碱基单元满足下述条件:26.条件1:碱基单元中的第一位碱基和第二位碱基为不同碱基,碱基单元中的第六位碱基和第七位碱基为不同碱基,即碱基单元的边界上不能有重复碱基,以避免碱基单元组合后出现3个或3个以上连续重复碱基,例如,aatcgct和attcgga组合就会出现3个连续重复碱基aaa;27.条件2:碱基单元中的第二位碱基起至第六位碱基中的单碱基连续重复数量不超过2个,即碱基单元中的第二位碱基、第三位碱基和第四位碱基不全部相同,碱基单元中的第三位碱基、第四位碱基和第五位碱基不全部相同,碱基单元中的第四位碱基、第五位碱基和第六位碱基不全部相同,从而避免连续重复碱基过长;28.条件3:碱基单元中的g和c的含量之和大于或等于0.4且小于或等于0.6,即在一个碱基单元包括7个碱基的情况下,碱基单元中g和c的数量之和只能是3或4。29.通过满足上述条件的碱基单元得到的碱基序列,能够能够减小在合成、测序时的出错率。30.此外,由于碱基单元中的第二位碱基起至第六位碱基中的单碱基连续重复数量不超过2个,即通过本技术编码后的每一条碱基序列包含的连续重复碱基的数量最多只有2,因而更加稳健。31.s160、通过将获取到的n个所述碱基单元进行合并,获取与所述二进制序列对应的碱基序列,其中,所述碱基序列用于合成存储有与所述二进制序列对应的数据信息的dna。32.需要说明的是,碱基序列为通过对二进制序列进行编码得到。得到的碱基序列可以通过dna合成技术合成dna,从而实现将与二进制序列对应的数据信息存储到dna中。33.本技术实施例提供一种用于dna存储的编码方法,通过获取待编码的二进制序列,根据预设的二进制单元与碱基单元的映射规则,分别获取与二进制序列包括的n个二进制单元中的各个二进制单元对应的碱基单元,通过将获取到的n个碱基单元进行合并,获取与二进制序列对应的碱基序列,能够较快的得到与二进制序列对应的碱基序列,实现对二进制序列的编码。并且,由于本技术的碱基单元中包括7个碱基,碱基单元中的第一位碱基和第二位碱基为不同碱基,碱基单元中的第六位碱基和第七位碱基为不同碱基,碱基单元中的第二位碱基起至第六位碱基中的单碱基连续重复数量不超过2,因此,本技术能够避免碱基序列中的长重复碱基或者碱基序列中的极端gc含量在合成、测序时的影响,能够提高碱基序列在合成、测序时的准确率。34.在本技术实施例中,考虑到通过对二进制序列按照一定数量的二进制位为一组进行分割,得到的最后一个二进制单元中包括的二进制位的数量不一定与其他二进制单元中包括的二进制位的数量相同,因此,在所述根据预设的二进制单元与碱基单元的映射规则,分别获取与n个所述二进制单元中的各个二进制单元对应的所述碱基单元之前,还可以包括:获取第n个所述二进制单元中的二进制位的初始数量;在所述初始数量小于12的情况下,通过使用预设二进制位,将所述第n个所述二进制单元中的二进制位从所述初始数量补为12个。由于二进制序列的长度为8的整数倍,因此,第n个二进制单元中可能包括0个二进制位、8个二进制位或4个二进制位,均小于12,可以通过使用预设的二进制位,将第n个二进制单元中的二进制位的数量补为12个,其中,预设的二进制位可以为“0”。在本技术中,可以通过在第n个二进制单元的二进制位后补0,使得第n个二进制单元中包括的二进制位的数量与其他二进制单元中包括的二进制位的数量相同。35.在本技术实施例中,所述获取与所述二进制序列对应的碱基序列,可以包括:获取与所述初始数量对应的标记碱基单元;在合并的n个所述碱基单元后添加所述标记碱基单元,获取与所述二进制序列对应的碱基序列。示例性的,由于二进制序列的长度为8的整数倍,因此,第n个二进制单元中可能包括0个二进制位、8个二进制位或4个二进制位,在第n个二进制单元中包括0个二进制位的情况下,标记碱基单元可以为gaccgat,在第n个二进制单元中包括8个二进制位的情况下,标记碱基单元可以为gacctgt,在第n个二进制单元中包括4个二进制位的情况下,标记碱基单元可以为gacctga。通过在合并的n个碱基单元后添加与第n个二进制单元中的二进制位的初始数量对应的标记碱基单元,获取与二进制序列对应的碱基序列。36.在一种实现方式中,在所述标记碱基单元中包括7个碱基的情况下,在所述在合并的n个所述碱基单元后添加所述标记碱基单元,获取与所述二进制序列对应的碱基序列之后,还可以包括:获取与所述dna对应的所述碱基序列;将所述碱基序列分割为n个所述碱基单元和所述标记碱基单元;根据所述映射规则,分别获取与n个所述碱基单元中的各个所述碱基单元对应的所述二进制单元;根据所述标记碱基单元,确定第n个所述碱基单元对应的所述二进制单元中的二进制位的初始数量;根据所述初始数量,对第n个所述碱基单元对应的所述二进制单元中的二进制位的数量进行还原,得到目标二进制单元;将前(n-1)个所述碱基单元对应的所述二进制单元和所述目标二进制单元进行合并,得到所述二进制序列。37.示例性的,可以通过对需要解码的dna溶液或者dna干粉进行测序,得到与该dna对应的碱基序列。38.由于标记碱基单元与碱基单元均包括7个碱基,在通过对待编码的二进制序列进行编码,得到与二进制序列对应的碱基序列,再根据碱基序列合成dna后,可以获取与dna对应的碱基序列,通过对碱基序列按7个碱基为一组进行分割,将碱基序列分割为n个碱基单元和标记碱基单元,根据预设的二进制单元与碱基单元的映射规则,分别获取到与n个碱基单元中的各个碱基单元对应的二进制单元,根据标记碱基单元,确定第n个碱基单元对应的二进制单元中的二进制位的初始数量,并对第n个碱基单元对应的二进制单元中的二进制位的数量进行还原,即对编码过程中在第n个二进制单元中补充的预设二进制位进行删除,得到目标二进制单元,将前(n-1)个碱基单元对应的二进制单元和目标二进制单元进行合并,得到二进制序列,从而实现对碱基序列的解码,得到的二进制序列即为解码后得到的信息。39.在本技术中,通过将每12个二进制位映射到7个碱基,净信息密度经过四舍五入为12/7=1.71,由于净信息密度较高,因而编码的效率也更高。40.根据如下文所述的二进制单元与碱基单元的映射规则,下面以一个示例对本技术实施例的过程进行一个说明。41.如图2所示,输入信息的二进制序列为“010001001000 000111001111 111110111010 10100101”以12个二进制位为一组,一共分割成4组,前三组每组均有12个二进制位,最后一组只有8个二进制位,即二进制序列包括4个二进制单元,第四个二进制单元的二进制位的初始数量为8,在第四个二进制单元的8个二进制位后补4个预设二进制位(即“0”),使第四个二进制单元的长度达到12,该信息变成“010001001000 000111001111 111110111010 101001010000”,然后根据如下文所述的二进制单元与碱基单元的映射规则,得到与“010001001000”对应的碱基单元为“agctcag”,与“000111001111”对应的碱基单元为“actacgc”,与“111110111010”对应的碱基单元为“gacacca”,与“101001010000”对应的碱基单元为“catagcg”,对得到的四个碱基单元进行合并,并在合并的四个碱基单元后添加与第四个二进制单元的二进制位的初始数量8对应的标记碱基单元“gacctgt”,得到与二进制序列对应的碱基序列“agctcag actacgc gacacca catagcg gacctgt”,实现编码过程。然后,可以将得到的编码序列按照7个碱基一组进行分割,得到4个碱基单元和标记碱基单元,根据映射规则分别获取4个碱基单元对应的4个二进制单元,并根据标记碱基单元,确定第四个二进制单元中二进制位的初始数量,并根据第四个二进制单元中二进制位的初始数量对第四个二进制单元中的二进制位的数量进行还原,然后将得到的前三个二进制单元和还原后的第四个二进制单元进行合并,得到二进制序列,实现解码过程。42.另外,在另n为输入文件的二进制序列的长度,其中,n为大于0的整数,每个二进制单元的长度为12(即二进制单元包括12个二进制位),则实施编码或解码的映射所需的步数是n/12,这是关于n的线性函数,因而编码和解码都是线性复杂度。43.示例性的,4096个二进制单元与碱基单元的映射规则如下所示,其中,符号“《‑‑》”表示映射,该符号左侧是长度为12的二进制单元,右侧是长度为7的碱基单元:44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.[0070][0071]本技术实施例提供的用于dna存储的编码方法,执行主体可以为用于dna存储的编码装置。本技术实施例中以用于dna存储的编码装置执行用于dna存储的编码方法为例,说明本技术实施例提供的用于dna存储的编码装置。[0072]图3为本技术实施例公开的一种用于dna存储的编码装置的结构示意图。如图3所示,用于dna存储的编码装置300包括:第一获取模块310、第二获取模块320和第三获取模块330。[0073]在本技术中,第一获取模块310,用于获取待编码的二进制序列,其中,所述二进制序列包括n个二进制单元,n为大于0的整数;第二获取模块320,用于根据预设的二进制单元与碱基单元的映射规则,分别获取与n个所述二进制单元中的各个所述二进制单元对应的所述碱基单元,其中,所述碱基单元中包括7个碱基,所述二进制单元中包括12个二进制位,所述碱基单元中的第一位碱基和第二位碱基为不同碱基,所述碱基单元中的第六位碱基和第七位碱基为不同碱基,所述碱基单元中的第二位碱基起至第六位碱基中的单碱基连续重复数量不超过2,所述碱基单元中的gc含量大于或等于0.4且小于或等于0.6;第三获取模块330,用于通过将获取到的n个所述碱基单元进行合并,获取与所述二进制序列对应的碱基序列,其中,所述碱基序列用于合成存储有与所述二进制序列对应的数据信息的dna。[0074]在一种实现方式中,所述第二获取模块320,还用于:在所述根据预设的二进制单元与碱基单元的映射规则,分别获取与n个所述二进制单元中的各个二进制单元对应的所述碱基单元之前,获取第n个所述二进制单元中的二进制位的初始数量;在所述初始数量小于12的情况下,通过使用预设二进制位,将所述第n个所述二进制单元中的二进制位从所述初始数量补为12个。[0075]在一种实现方式中,所述第三获取模块330获取与所述二进制序列对应的碱基序列,包括:获取与所述初始数量对应的标记碱基单元;在合并的n个所述碱基单元后添加所述标记碱基单元,获取与所述二进制序列对应的碱基序列。[0076]在一种实现方式中,在所述标记碱基单元中包括7个碱基的情况下,所述第三获取模块330,还用于:在所述在合并的n个所述碱基单元后添加所述标记碱基单元,获取与所述二进制序列对应的碱基序列之后,获取与所述dna对应的所述碱基序列;将所述碱基序列分割为n个所述碱基单元和所述标记碱基单元;根据所述映射规则,分别获取与n个所述碱基单元中的各个所述碱基单元对应的所述二进制单元;根据所述标记碱基单元,确定第n个所述碱基单元对应的所述二进制单元中的二进制位的初始数量;根据所述初始数量,对第n个所述碱基单元对应的所述二进制单元中的二进制位的数量进行还原,得到目标二进制单元;将前(n-1)个所述碱基单元对应的所述二进制单元和所述目标二进制单元进行合并,得到所述二进制序列。[0077]本技术实施例提供的用于dna存储的编码装置能够实现用于dna存储的编码方法实施例实现的各个过程,为避免重复,这里不再赘述。[0078]可选地,如图4所示,本技术实施例还提供一种电子设备400,包括处理器401和存储器402,存储器402上存储有可在所述处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现上述用于dna存储的编码方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。[0079]本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述用于dna存储的编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。[0080]其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器rom、随机存取存储器ram、磁碟或者光盘等。[0081]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。[0082]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。[0083]上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部