编码方法、解码方法、装置、终端设备及可读存储介质制造方法及图纸

技术编号:30431724 阅读:25 留言:0更新日期:2021-10-24 17:25
本申请适用于存储技术领域,尤其涉及编码方法、解码方法、装置、终端设备及可读存储介质。该编码方法可以获取待编码数据的初始碱基序列;然后可以对初始碱基序列进行分组,得到初始碱基序列对应的至少一组中间碱基序列,并利用G与C的占比满足预设条件的第一预设碱基序列对中间碱基序列进行替换,得到待编码数据对应的编码文件。即本申请实施例提供的编码方法可以使得编码文件中的GC占比符合要求,降低DNA序列合成和测序的成本以及出错的概率,降低DNA存储的成本,扩大DNA存储的应用规模。扩大DNA存储的应用规模。扩大DNA存储的应用规模。

【技术实现步骤摘要】
编码方法、解码方法、装置、终端设备及可读存储介质


[0001]本申请属于存储
,尤其涉及编码方法、解码方法、装置、终端设备及计算机可读存储介质。

技术介绍

[0002]脱氧核糖核酸(deoxyribonucleic acid,DNA)作为信息存储介质具有存储密度高、存储时间长以及损耗率低等特点,可以用于信息的大量存储。在DNA存储技术中,需要将待存储数据编码成DNA的碱基序列,然后可以根据碱基序列合成DNA,以将待存储数据存储至DNA中。其中,DNA编码技术是DNA存储中的关键技术。而现有的DNA编码技术会增加DNA合成及测序过程中出错的概率,不利于DNA存储技术的广泛应用。

技术实现思路

[0003]本申请实施例提供了一种编码方法、解码方法、装置、终端设备及计算机可读存储介质,可以解决现有的DNA编码技术会增加DNA合成及测序过程中出错的概率的问题,扩大DNA存储技术的应用范围。
[0004]第一方面,本申请实施例提供了一种编码方法,包括:
[0005]获取待编码数据的初始碱基序列;
[0006]对所述初始碱基序列进行分组,得到所述初始碱基序列对应的至少一组中间碱基序列;
[0007]利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,得到所述待编码数据对应的编码文件,所述第一预设碱基序列中包含的G与C的占比满足预设条件。
[0008]通过上述的编码方法,可以获取待编码数据的初始碱基序列,并对初始碱基序列进行分组,得到中间碱基序列。然后可以利用GC占比符合预设条件的第一预设碱基序列对中间碱基序列进行替换,以使得所得到的编码文件中包含的GC占比符合要求,降低DNA序列合成和测序的成本以及出错的概率,降低DNA存储的成本,扩大DNA存储的应用规模。
[0009]示例性的,所述待编码数据为文本,所述获取所述待编码数据的初始碱基序列,包括:
[0010]统计所述文本中各字符的出现频率;
[0011]以各所述字符为叶子节点、以各所述字符的出现频率为该叶子节点的权值构建所述文本对应的四叉哈夫曼树;
[0012]将所述四叉哈夫曼树的每一条边用碱基表示,得到所述文本对应的编码表;
[0013]根据所述编码表确定所述文本对应的初始碱基序列。
[0014]示例性的,所述利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,得到所述待编码数据对应的编码文件,包括:
[0015]利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所
述中间碱基序列替换,得到目标碱基序列;
[0016]获取所述目标碱基序列中连续出现次数等于预设次数的重复碱基;
[0017]利用与所述重复碱基对应的第二预设碱基序列将所述重复碱基替换,得到所述待编码数据对应的编码文件。
[0018]具体地,所述对所述初始碱基序列进行分组,得到所述初始碱基序列对应的至少一组中间碱基序列,包括:
[0019]按照第一碱基数量对所述初始碱基序列进行分组,得到至少一组所述中间碱基序列,各所述中间碱基序列包括的碱基数量为所述第一碱基数量。
[0020]在第一方面的一种可能的实现方式中,所述方法还包括:
[0021]获取所述初始碱基序列中的单独碱基序列,其中,所述单独碱基序列为对所述初始碱基序列进行分组后,得到的碱基数量小于所述第一碱基数量的碱基序列;
[0022]根据所述第一碱基数量和所述单独碱基序列对应的第二碱基数量确定需添加的第三碱基数量,并在所述单独碱基序列的预设位置添加所述第三碱基数量的碱基。
[0023]可选的,所述在所述单独碱基序列的预设位置添加所述第三碱基数量的碱基,包括:
[0024]根据GCAT的顺序在所述单独碱基序列的预设位置添加所述第三碱基数量的碱基。
[0025]示例性的,所述单独碱基序列为所述初始碱基序列头部的碱基序列或者为所述初始碱基序列尾部的碱基序列。
[0026]示例性的,所述预设位置为所述单独碱基序列的头部或者末尾。
[0027]在第一方面的一种可能的实现方式中,所述利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,得到所述待编码数据对应的编码文件,包括:
[0028]利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,并将替换后的中间碱基序列与单独碱基序列进行合并,得到目标碱基序列;
[0029]获取所述目标碱基序列中连续出现次数等于预设次数的重复碱基;
[0030]利用与所述重复碱基对应的第二预设碱基序列将所述重复碱基替换,得到所述待编码数据对应的编码文件。
[0031]可选的,所述预设次数为4次,所述重复碱基与第二预设碱基序列之间的对应关系包括以下至少一种:
[0032]GCATG对应GGGG;
[0033]GCATC对应CCCC;
[0034]GCATA对应AAAA;
[0035]GCATT对应TTTT。
[0036]示例性的,所述方法还包括:
[0037]根据所述中间碱基序列对应的第一碱基数量构建所述中间碱基序列对应的第一序列集合;
[0038]根据所述第一碱基数量确定所述第一预设碱基序列对应的第四碱基数量;
[0039]根据所述第四碱基数量构建所述第一预设碱基序列对应的第二序列集合,所述第
二序列集合中的各所述第一预设碱基序列中包含的G与C的占比满足所述预设条件;
[0040]建立所述第一序列集合中的各所述中间碱基序列与所述第二序列集合中的各所述第一预设碱基序列之间的对应关系。
[0041]可选的,所述第一碱基数量为5个,所述第四碱基数量为6个。
[0042]第二方面,本申请实施例提供了一种解码方法,包括:
[0043]获取待解码文件,所述待解码文件为基于上述第一方面中任一项所述的编码方法编码得到的文件;
[0044]对所述待解码文件进行碱基还原,得到所述待解码文件对应的初始碱基序列;
[0045]对所述初始碱基序列进行解码,得到所述待解码文件对应的解码数据。
[0046]通过上述的解码方法,可以对GC占比符合预设条件的待解码文件进行碱基的准确还原,得到待解码文件对应的初始碱基序列,并通过对初始碱基序列进行解码,即可以得到待解码文件对应的解码数据,可以有效提高解码效率和正确性。
[0047]示例性的,所述对所述待解码文件进行碱基还原,得到所述待解码文件对应的初始碱基序列,包括:
[0048]获取所述待解码文件中的第二预设碱基序列;
[0049]利用与所述第二预设碱基序列对应的重复碱基将所述第二预设碱基序列替换,得到所述待解码文件对应的目标碱基序列;
[0050]获取所述目标碱基序列中的第一预设碱基序列;
...

【技术保护点】

【技术特征摘要】
1.一种编码方法,其特征在于,包括:获取待编码数据的初始碱基序列;对所述初始碱基序列进行分组,得到所述初始碱基序列对应的至少一组中间碱基序列;利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,得到所述待编码数据对应的编码文件,所述第一预设碱基序列中包含的G与C的占比满足预设条件。2.如权利要求1所述的方法,其特征在于,所述待编码数据为文本,所述获取所述待编码数据的初始碱基序列,包括:统计所述文本中各字符的出现频率;以各所述字符为叶子节点、以各所述字符的出现频率为该叶子节点的权值构建所述文本对应的四叉哈夫曼树;将所述四叉哈夫曼树的每一条边用碱基表示,得到所述文本对应的编码表;根据所述编码表确定所述文本的初始碱基序列。3.如权利要求1所述的方法,其特征在于,所述利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,得到所述待编码数据对应的编码文件,包括:利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,得到目标碱基序列;获取所述目标碱基序列中连续出现次数等于预设次数的重复碱基;利用与所述重复碱基对应的第二预设碱基序列将所述重复碱基替换,得到所述待编码数据对应的编码文件。4.如权利要求1所述的方法,其特征在于,所述对所述初始碱基序列进行分组,得到所述初始碱基序列对应的至少一组中间碱基序列,包括:按照第一碱基数量对所述初始碱基序列进行分组,得到至少一组所述中间碱基序列,各所述中间碱基序列包括的碱基数量为所述第一碱基数量。5.如权利要求4所述的方法,其特征在于,所述方法还包括:获取所述初始碱基序列中的单独碱基序列,其中,所述单独碱基序列为对所述初始碱基序列进行分组后,得到的碱基数量小于所述第一碱基数量的碱基序列;根据所述第一碱基数量和所述单独碱基序列对应的第二碱基数量确定需添加的第三碱基数量,并在所述单独碱基序列的预设位置添加所述第三碱基数量的碱基。6.如权利要求5所述的方法,其特征在于,所述在所述单独碱基序列的预设位置添加所述第三碱基数量的碱基,包括:根据GCAT的顺序在所述单独碱基序列的预设位置添加所述第三碱基数量的碱基。7.如权利要求5所述的方法,其特征在于,所述单独碱基序列为所述初始碱基序列头部的碱基序列或者为所述初始碱基序列尾部的碱基序列。8.如权利要求5所述的方法,其特征在于,所述预设位置为所述单独碱基序列的头部或者末尾。9.如权利要求5至8中任一项所述的方法,其特征在于,所述利用与至少一组所述中间
碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,得到所述待编码数据对应的编码文件,包括:利用与至少一组所述中间碱基序列一一对应的第一预设碱基序列将至少一组所述中间碱基序列替换,并将替换后的中间碱基序列与单独碱基序列进行合并,得到目标碱基序列;获取所述目标碱基序列中连续出现次数等于预设次数的重复碱基;利用与所述重复碱基对应的第二预设碱基序列将所述重复碱基替换,得到所述待...

【专利技术属性】
技术研发人员:戴俊彪卢明伟黄小罗
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1