当前位置: 首页 > 专利查询>大连大学专利>正文

一种DNA存储的码字设计方法技术

技术编号:32226493 阅读:12 留言:0更新日期:2022-02-09 17:31
本发明专利技术公开了一种DNA存储的码字设计方法,其具体为:将存储信息转换为DNA序列,首先要将信息转换为二进制数据。其次,构建最小方差霍夫曼树,利用它对二进制数据进行压缩。然后,将压缩后的二进制数据以4位为一组进行不重叠分块,得到至多16种组合,根据组合的概率依次从字典中选择码字进行映射,得到DNA序列。最后,求得DNA序列的GC含量,如果GC含量高于60%或者低于40%,会对映射关系进行调整,使得它在40%到60%之间;再进一步检查DNA序列中是否含有均聚物超过3的情况,如果存在就进行替换修改。本发明专利技术不仅具有高的编码率和结构简单的特点,而且编码完成的DNA序列还满足GC含量在40%到60%之间和均聚物运行长度不超过3的约束条件。过3的约束条件。过3的约束条件。

【技术实现步骤摘要】
一种DNA存储的码字设计方法


[0001]本专利技术涉及编码设计
,具体涉及一种DNA存储的码字设计方法。

技术介绍

[0002]目前,全球对数据存储的需求超过了全球存储能力的增长速度。DNA作为自然遗传信息的载体,提供了一种稳定、资源高效、可持续的数据存储解决方案。直到21世纪的头十年,Church和Goldman的开创性工作才使DNA存储成为主流。Church等人成功地在DNA分子中存储了高达659KB的数据,而在这项工作之前,最大的存储数据量小于1KB。Goldman等人存储的数据更多,达到了739KB。值得注意的是,这两项研究中存储的数据不仅包含文本,还包含图像、声音、pdf等,这证实了DNA可以存储多种数据类型。
[0003]具体来说,DNA数据存储是一项新兴的研究,即将二进制数字信息转化为DNA序列,以合成DNA的形式进行密集而持久的数据存储。但是目前DNA编码方法仅仅简单地将二进制数据映射成DNA序列,存在编码率低、合成成本高的缺点。

技术实现思路

[0004]针对现有技术存在上述问题,本申请提出了一种结构简单和高编码率的码字设计方法,其编码得到的序列还满足GC含量在40%

60%之间和均聚物运行长度不超过3的约束条件。
[0005]为实现上述目的,本申请的技术方案为:一种DNA存储的码字设计方法,包括:
[0006]步骤1:获取输入数据并转换为二进制数据;
[0007]步骤2:将所述二进制数据进行压缩;
[0008]步骤3:压缩后的所述二进制数据分成长度为4的不重叠块,所述不重叠块至多有16种组合;
[0009]步骤4:获取不重叠块出现的概率;
[0010]步骤5:根据字典中的码字对所述不重叠块进行编码:
[0011]步骤6:获取编码后DNA序列的GC含量,如果GC含量低于40%或者高于60%,则进行步骤5,改变映射关系继续编码,反之则进行步骤7;
[0012]步骤7:寻找均聚物运行长度不小于3的情况,如果有,则进行替换修改,如果没有执行步骤8;
[0013]步骤8:获取编码率,并且将DNA序列输出。
[0014]进一步的,如果输入数据为文本数据,则将每个字符转换为ACSII码;如果输入数据为图像数据,则将图像转换为像素值;然后再将所述ACSII码、像素值转换为8位的二进制数据。
[0015]进一步的,使用最小方差霍夫曼树进行二进制数据压缩。
[0016]进一步的,所述霍夫曼树包含n个叶节点,对应n个源符号,其出现的概率是p
i
,n个叶节点到根节点的距离l
i
的方差σ2,是通过下面的公式获得:
[0017][0018]其中,是每个码字的平均长度,通过下面公式获得:
[0019][0020]在所有可能的霍夫曼树中,有最小方差的树被称为最小方差霍夫曼树。
[0021]进一步的,根据字典中的码字来对不重叠块进行编码,具体为:
[0022]字典C1={C,A}
[0023]字典C2={TA,TG,TC}
[0024]字典C3={GAT,GTA,GAC,GAG,GTC,GTG,GCA,GCT,GGT,GGA,GCG}。
[0025]更进一步的,GC含量指的是在一条DNA序列中,碱基G和碱基C所占整个DNA序列中碱基的百分比,如下公式所示:
[0026][0027]其中,GC(s)表示序列s的GC含量,|G|和|C|表示序列s中碱基G和碱基C的个数,|s|表示序列s全部的碱基个数。
[0028]更进一步的,寻找均聚物运行长度不小于3的情况,具体为:寻找DNA序列中相同的碱基连续出现3次及以上的情况。
[0029]更进一步的,所述编码率表示的是多少位原始数据能代表一个DNA核苷酸,其利用公式(4)获得:
[0030][0031]其中,b表示的是原始数据的比特数,n表示的是存储相同数据的DNA核苷酸的总数。
[0032]本专利技术由于采用以上技术方案,能够取得如下的技术效果:
[0033]1、在编码之前本专利技术首先使用最小方差霍夫曼树进行数据压缩,这样可以有效地降低生物研究的成本,提高了整个DNA编码的编码率;
[0034]2、在DNA存储过程中,不同的序列出现错误的概率是不一样的,对于存在长均聚物运行、高GC含量的DNA序列在DNA合成和测序的过程中出现错误的概率会明显的提高;因此本专利技术引入约束条件来限制此类DNA序列的出现,提高了DNA存储过程的可靠性和准确性。
[0035]3、基于码字设计的DNA存储编码方法不仅能够存储文本还可以存储图像,而且具有结构简单,算法复杂度低的特点。
附图说明
[0036]图1为一种DNA存储的码字设计方法实现流程图。
具体实施方式
[0037]下面将结合本专利技术中的附图,对本专利技术实施中的技术方案进行清楚、完整的描述,可以理解的是,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本
专利技术的实施例,本领域的技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术的保护范围。
[0038]本专利技术中所涉及的约束条件有GC含量在40%到60%之间和均聚物运行长度不能超过3。其中,GC含量指的是在一条DNA序列中,碱基G和碱基C所占整个DNA序列中碱基的百分比;均聚物运行长度不能超过3表示在一个DNA序列中相同的碱基不能连续出现3次及以上。
[0039]实施例1
[0040]本专利技术的实施例是在以本专利技术技术方案为前提下进行实施的,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述实施例。实施例中用该编码算法对一个大小为511B的文本文件进行编码,满足的约束条件如上所述。
[0041]步骤1:获取输入数据并转换为二进制数据。
[0042]具体的,首先利用abs函数将文本文件中的字符转换为ACSII码,再将其转换为8位的二进制数,511B的文本文件经过上述操作可以转化为4088bits的二进制数据。
[0043]步骤2:将所述二进制数据进行压缩。
[0044]需要说明的是,将每16位的二进制数作为一组,然后利用最小方差霍夫曼树进行压缩,其中霍夫曼树是通过源符号出现的概率构建。所有的源符号根据它们出现的概率进行排序,概率较低的符号被放置在离根节点较远的地方,概率较高的符号被放置在离根节点较近的地方,这使编码之后的字符串的平均长度和期望值降低,从而达到无损压缩数据的目的;
[0045]具体的,首先将二进制数据分为16位一组,其次利用unique函数去重,然后利用tabulate函数求其概率,再次根据概率构造霍夫曼树,最后利用最小方差霍夫曼树对二进制数据进行压缩;
[0046]步骤3:压缩后的所述二进制数据分成长度为4的不重叠块,所述不重叠块至多有16种组合;
[0047]步骤4:获取不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DNA存储的码字设计方法,其特征在于,包括:步骤1:获取输入数据并转换为二进制数据;步骤2:将所述二进制数据进行压缩;步骤3:压缩后的所述二进制数据分成长度为4的不重叠块,所述不重叠块至多有16种组合;步骤4:获取不重叠块出现的概率;步骤5:根据字典中的码字对所述不重叠块进行编码:步骤6:获取编码后DNA序列的GC含量,如果GC含量低于40%或者高于60%,则进行步骤5,改变映射关系继续编码,反之则进行步骤7;步骤7:寻找均聚物运行长度不小于3的情况,如果有,则进行替换修改,如果没有执行步骤8;步骤8:获取编码率,并且将DNA序列输出。2.根据权利要求1所述一种DNA存储的码字设计方法,其特征在于,如果输入数据为文本数据,则将每个字符转换为ACSII码;如果输入数据为图像数据,则将图像转换为像素值;然后再将所述ACSII码、像素值转换为8位的二进制数据。3.根据权利要求1所述一种DNA存储的码字设计方法,其特征在于,使用最小方差霍夫曼树进行二进制数据压缩。4.根据权利要求3所述一种DNA存储的码字设计方法,其特征在于,所述霍夫曼树包含n个叶节点,对应n个源符号,其出现的概率是p
i
,n个叶节点到根节点的距离l
i
...

【专利技术属性】
技术研发人员:王宾郑燕芬胡轶男张强
申请(专利权)人:大连大学
类型:发明
国别省市:

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

1