一种文件存储方法、装置、设备及计算机可读存储介质转让专利
申请号 : CN202010213191.5
文献号 : CN111443869B
文献日 : 2021-07-02
发明人 : 刘凯 , 张轶 , 王帆 , 张洪杰
申请人 : 中国科学院长春应用化学研究所
摘要 :
权利要求 :
1.一种文件存储方法,其特征在于,包括:获取待存储文件,并将所述待存储文件转换为对应的二进制码串;
将所述二进制码串按照第一位数进行分割,并将分割得出的分割码串按照第二位数进行分组,得出对应的分割码组;
在同一所述分割码串中,利用预设的平衡序列对应替换所述分割码组中的第一分割码组,并利用第二分割码组将第三分割码组的位数补充至与平衡序列的位数相等;其中,各所述平衡序列中的0、1含量均相等;
根据各所述分割码组的对应关系以及碱基映射关系确定出DNA信息片段,并存储所述DNA信息片段。
2.根据权利要求1所述的方法,其特征在于,在所述获取待存储文件,并将所述待存储文件转换为对应的二进制码串之后,进一步包括:将所述二进制码串转换为对应的Base64码串;
对应的,所述将所述二进制码串按照第一位数进行分割,并将分割得出的分割码串按照第二位数进行分组,得出对应的分割码组的过程,具体包括:将所述Base64码串按照第三位数进行分割,得到Base64码组;其中,所述Base64码组中的一个所述Base64码对应一个所述分割码组。
3.根据权利要求1所述的方法,其特征在于,在所述根据各所述分割码组的对应关系以及碱基映射关系确定出DNA信息片段,并存储所述DNA信息片段之后,进一步包括:对所述DNA信息片段进行测序以验证所述DNA信息片段的碱基序列是否与编码出的标准碱基序列一致。
4.根据权利要求3所述的方法,其特征在于,所述对所述DNA信息片段进行测序以验证所述DNA信息片段的碱基序列是否与编码出的标准碱基序列一致的过程,具体包括:通过Illumina测序法对所述DNA信息片段进行双向测序以验证所述DNA信息片段的所述碱基序列是否与编码出的标准碱基序列一致。
5.根据权利要求4所述的方法,其特征在于,进一步包括:若不一致,则发出对应的提示信息。
6.根据权利要求1所述的方法,其特征在于,在所述根据各所述分割码组的对应关系以及碱基映射关系确定出DNA信息片段,并存储所述DNA信息片段之后,进一步包括:检测所述DNA信息片段的长度。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述根据各所述分割码组的对应关系以及碱基映射关系确定出DNA信息片段,并存储所述DNA信息片段之后,进一步包括:
记录存储所述DNA信息片段的时间。
8.一种文件存储装置,其特征在于,包括:获取模块,用于获取待存储文件,并将所述待存储文件转换为对应的二进制码串;
分割模块,用于将所述二进制码串按照第一位数进行分割,并将分割得出的分割码串按照第二位数进行分组,得出对应的分割码组;
第一转换模块,用于在同一所述分割码串中,利用预设的平衡序列对应替换所述分割码组中的第一分割码组,并利用第二分割码组将第三分割码组的位数补充至与平衡序列的位数相等;其中,各所述平衡序列中的0、1含量均相等;
确定模块,用于根据各所述分割码组的对应关系以及碱基映射关系确定出DNA信息片段,并存储所述DNA信息片段。
9.一种文件存储设备,其特征在于,包括:存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的文件存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的文件存储方法的步骤。
说明书 :
一种文件存储方法、装置、设备及计算机可读存储介质
技术领域
背景技术
信息的存储需求。现有技术提出了一种基于DNA存储介质的信息存储方法,通过将待存储文
件进行DNA编码,以降低在存储待存储文件时所需的存储空间。但是,现有技术中,需要在
DNA编码的过程中引入纠错码来控制DNA信息片段中鸟嘌呤和胞嘧啶的含量,以避免在存储
或者传输待存储文件时出现的错误。纠错码本身并不是待存储文件中的信息,但它同样会
占用核苷酸存储空间。例如,原本100个核苷酸可以存储100位待存储文件中的信息,但是设
置纠错码需要占用10位,即需要10个核苷酸用于设置纠错码,因此实际存储待存储文件只
能利用90个核苷酸。这样一来,将导致DNA信息片段的逻辑存储密度低,待存储文件实际能
够占用的核苷酸存储空间少,核苷酸存储空间的实际存储效率低。
发明内容
可读存储介质,均具有上述有益效果。
其中,各所述平衡序列中的0、1含量均相等;
衡序列的位数相等;其中,各所述平衡序列中的0、1含量均相等;
方法的步骤。
按照第二位数进行分组,得出对应的分割码组;再在同一分割码串中,利用预设的平衡序列
对应替换分割码组中的第一分割码组,并利用第二分割码组将第三分割码组的位数补充至
与平衡序列的位数相等;其中,各平衡序列中的0、1含量均相等;根据各分割码组的对应关
系以及碱基映射关系确定出DNA信息片段,并存储DNA信息片段。可见,本方法是在编码DNA
信息片段的过程中,通过构建0、1含量均相等的平衡序列来控制DNA信息片段中的鸟嘌呤和
胞嘧啶含量,以避免在存储或者传输待存储文件时出现的错误。相较于现有技术,本方法避
免了纠错码占用核苷酸存储空间的情况,最大限度地利用DNA信息片段中每个核苷酸的信
息存储能力,因此本方法能够提高DNA信息片段的逻辑存储密度,提高核苷酸存储空间的实
际存储效率。
附图说明
明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
据提供的附图获得其他的附图。
具体实施方式
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
储介质,均具有上述有益效果。
文件中的信息利用预设编码方式转换为对应的二进制码,因此,整个待存储文件转换为对
应的二进制码串。
的分割码组。需要说明的是,本实施例对第一位数和第二位数的实际值不做限定,在实际操
作中,一般将第一位数设置为第二位数的整数倍,便于后续的操作。例如,作为一种具体的
实施方式,第一位数可以是42位,第二位数可以是6位,即分割码串为42位二进制码,分割码
组为6位二进制码;因此按照本实施例的方式进行切分,一个分割码串将对应切分为7个分
割码组。
一分割码组和第三分割码组分别对应同一分割码串中的三个分割码组,第二分割码组对应
同一分割码串中的一个分割码组,利用预设的平衡序列对应替换分割码组中的第一分割码
组,然后利用第二分割码组将第三分割码组的位数补充至与平衡序列的位数相等。此时,同
一分割码串中,有6个分割码组对应转换为8位二进制码。
为8位二进制码的基础上,根据预设的分割码组的对应关系将各转换后的分割码组对应组
合;然后根据预设的碱基映射关系,将对应组合的2位二进制码转换为对应的碱基,从而得
出DNA序列;再将DNA序列通过固相合成以及DNA连接酶转换得出DNA信息片段。其中,本实施
例对预设的碱基映射关系的具体映射方式不做限定,例如在本实施例中,00映射为腺嘌呤
A,10映射为胸腺嘧啶T,01映射为胞嘧啶C,11映射为鸟嘌呤G。固相合成即在固相载体上经
过程序化循环(脱保护,活化,偶连,氧化)过程,将核苷酸连接到DNA合成链末端,随着循环
周期进行,DNA链逐渐增长,以得出DNA信息片段。然后,将得出的DNA信息片段进行存储,即
对应存储的是待存储文件中的信息。
割码串按照第二位数进行分组,得出对应的分割码组;再在同一分割码串中,利用预设的平
衡序列对应替换分割码组中的第一分割码组,并利用第二分割码组将第三分割码组的位数
补充至与平衡序列的位数相等;其中,各平衡序列中的0、1含量均相等;根据各分割码组的
对应关系以及碱基映射关系确定出DNA信息片段,并存储DNA信息片段。可见,本方法是在编
码DNA信息片段的过程中,通过构建0、1含量均相等的平衡序列来控制DNA信息片段中的鸟
嘌呤和胞嘧啶含量,以避免在存储或者传输待存储文件时出现的错误。相较于现有技术,本
方法避免了纠错码占用核苷酸存储空间的情况,最大限度地利用DNA信息片段中每个核苷
酸的信息存储能力,因此本方法能够提高DNA信息片段的逻辑存储密度,提高存储空间的实
际存储效率。
位二进制码的首位的2个0后得出的6位二进制码;对应的,由于本实施例进一步将二进制码
串转换为对应的Base64码串,因此在进行码串分割时,具体是将Base64码串按照第三位数
进行分割,得到Base64码组。
码对应的平衡序列,利用预设的平衡序列替换Base64码组中的预设的3位Base64码;利用预
设的1位Base64码将其他3位Base64码对应的二进制补齐至8位,与平衡序列对应的二进制
码位数相同;然后根据同一Base64码组中各Base64码的对应关系和碱基映射关系,确定出
DNA信息片段,并对得出的DNA信息片段进行存储。
的DNA信息片段中的碱基序列;然后将实际获取的碱基序列与编码出的标准碱基序列进行
比较,以确定存储的DNA信息片段是否准确。
碱基序列进行双向测序,即得出存储的DNA信息片段中的碱基序列,然后将存储的DNA信息
片段中的碱基序列和编码出的标准碱基序列进行比较,判断二者是否一致,以确定存储的
DNA信息片段是否准确;并且成熟的Illumina测序方法及双向测序保证测序本身不会误读
引入错误,进一步保障存储DNA信息片段的正确性。
使得用户及时知晓存储状况。
置运行以发出对应的信息,如触发显示器显示当前存储的碱基序列和编码出的标准碱基序
列不一致的情况,者触发蜂鸣器发出蜂鸣音或者触发指示灯进行灯光闪烁等,以使得用户
可以根据提示装置的运行情况直观地获取待存储文件的存储状况。
过程示意图,图3为本发明实施例提供的一种文件存储方法中DNA编码过程的示意图。
and Technology,Shanghai Jiao Tong University,Fuzhou University,Fudan
University”,然后将存储文件利用编码器转换为二进制码串,再转换为对应的Base64码串
“Q2hhb mdjaH VuIEl uc3Rp dHV0Z SBvZi BBcHB saWVk IENoZ W1pc3 RyeSw gQ2hp
bmVzZ SBBY2 FkZW1 5IG9m IFNja WVuY2 VzLCB Tb3V0 aGVyb iBVbm l2ZXJ zaXR5 IG9mI
FNjaW VuY2U gYW5k IFRlY 2hub2 xvZ3k sIFNo YW5na GFpIE ppYW8 gVG9u ZyBVb ml2ZX
JzaXR 5LCBG dXpob 3UgVW 5pdmV yc2l0 eSBhb mQgRn VkYW4 gVW5p dmVyc 2l0eS 4=”;
然后将Base64码串以7个字符为一组进行分割,得出Base64码组,即7位Base64码为一组
Base64码组。
理解的是,由于base64码也是由去除掉8位二进制码的首位的2个0后得出的6位二进制确定
出的,因此平衡序列也与各分割码组对应。如表1所示,为本发明实施例提供的一种平衡序
列与base64码的对应关系:
将对应的base64码组中的第2、4、6个字符补齐至8位。
码组中的第2、4、6个字符,且每个base64码对应的是6位二进制;利用第7个字符“d”对应的6
位二进制码分别将第2、4、6个字符对应的六位二进制码补齐为8位,与平衡序列中对应的二
进制码的位数相等。更具体的,将“d”对应的6位二进制码中的“10”对应补充至“2”的6位二
进制码中,将“d”对应的6位二进制码中的“11”对应补充至“h”的6位二进制码中,将“d”对应
的6位二进制码中的“10”对应补充至“m”的6位二进制码中。需要说明的是,在实际操作中,
对具体的补充位置不做限定,例如可以补充至6位二进制码最前端,或者最后端,本实施例
优选的补充至6位二进制码的最后端。此时,一个base64码组对应的7个字符,即7位base64
码中,其中6个base64码都按照预设规则转换为对应的8位二进制码;然后根据各字符位数
的对应关系以及碱基映射关系确定出DNA序列。
射为腺嘌呤A,10映射为胸腺嘧啶T,01映射为胞嘧啶C,11映射为鸟嘌呤G,确定出对应的DNA
碱基序列,即base64码组“Q2hhbmd”对应的DNA碱基序列为“AGTAGTGC”。DNA碱基序列通过固
相合成及DNA连接酶得到DNA信息片段,该DNA信息片段即保存了待存储文件信息的信息。
的碱基序列,然后将存储的DNA信息片段中的碱基序列和编码出的标准碱基序列进行比较,
判断二者是否一致,以确定存储的DNA信息片段是否准确
时出现的错误。相较于现有技术,本方法避免了纠错码占用核苷酸存储空间的情况,最大限
度地利用DNA信息片段中每个核苷酸的信息存储能力,因此本方法能够提高DNA信息片段的
逻辑存储密度,提高存储空间的实际存储效率。
信息片段之后,进一步包括:
际操作中,DNA信息片段的长度一般为500‑1000dp,通过检测存储的DNA信息片段的长度,避
免DNA信息片段过长或过短导致的存储问题。
信息片段之后,进一步包括:
时间,因此用户能够根据记录的信息直观便捷直观地获取存储DNA信息片段的存储时间。需
要说明的是,记录存储DNA信息片段的时间的方式,可以是利用数据库表的方式进行记录,
也可以是利用文本文档的方式进行记录,本实施例对此不做限定。
待存储文件的相关存储信息。
计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算
机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
数相等;其中,各平衡序列中的0、1含量均相等;
的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通
技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些
改进和修饰也落入本发明权利要求的保护范围内。
言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明
即可。
软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业
技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本发明的范围。