CN109979540A - 一种dna信息存储编码方法 - Google Patents
一种dna信息存储编码方法 Download PDFInfo
- Publication number
- CN109979540A CN109979540A CN201811445344.8A CN201811445344A CN109979540A CN 109979540 A CN109979540 A CN 109979540A CN 201811445344 A CN201811445344 A CN 201811445344A CN 109979540 A CN109979540 A CN 109979540A
- Authority
- CN
- China
- Prior art keywords
- symbol
- source symbol
- probability
- dna
- occurrence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种DNA信息存储编码方法,该方法包括以下步骤:步骤一:选定待存储目标DNA信息文件,并获取其二进制数据码流;步骤二:扫描二进制码流获取信源符号及其出现概率,即:将转换获得的二进制码流按照i位一组进行扫描读取,以每i位二进制作为一个信源符号(其中i为扫描位数),统计各信源符号出现频次并计算其出现概率,将所得包含i位二进制数据的信源符号及其概率作为输入,使用四进制哈夫曼编码对码流中固定长度的二进制数据串进行编码;步骤三:进行四进制哈夫曼DNA编码。与现有技术相比,本发明可以获取较高信息存储密度的DNA信息存储方案,从而有效降低DNA信息存储的经济成本,减少信息的写入读取时间。
Description
技术领域
本发明涉及一种存储编码方法,特别是涉及一种DNA信息的编码方法。
背景技术
随着人类获取知识与产生数据的能力不断提升,人类一切社会活动产生的海量数据给数据存储带来了极大的挑战。目前全球的数字信息总量达4.4ZB(3.52×1022bits),并且仍在飞速增长。按照当下增长势头,全球的存储需求将在2040年达到惊人的3×1024 比特。如果完全依靠目前主流的基于磁性介质的存储设备对如此大量的数据进行存储,则存储设备的需求量是海量的,所需要的存放设备的物理空间也是巨大的。此外,磁带、磁盘等形式的存储设备耐久度有限,需要不菲的维护投入和设备的频繁更换。当前迫切需要寻找一种可以高密度、低功耗、长期稳定地存储数字信息的解决方案。如表1所示,给出了脱氧核糖核酸(Deoxyribonucleic acid,DNA)介质在存储密度、存储年限、维护能耗、读取时间方面与当下主流存储手段的对比。
表1
DNA密度极高。其单位质量下的存储潜力而言是磁盘设备的4200亿倍。单位体积的存储潜力是硬盘的100万倍,是闪存的1000倍。DNA信息存储寿命极长,可在千年、万年尺度上保持可读性。
DNA分子的构成单位是脱氧核苷酸,脱氧核苷酸根据其含氮碱基的不同,可以分为腺嘌呤脱氧核苷酸(腺苷酸,AMP)、鸟嘌呤脱氧核苷酸(鸟苷酸,GMP)、胞嘧啶脱氧核苷酸(胞苷酸,CMP)、胸腺嘧啶脱氧核苷酸(胸苷酸,TMP),这四种含氮碱基我们简称为A、G、C、T四种碱基。含有不同碱基的脱氧核糖核苷酸聚合成为链状螺旋的DNA分子,A、T、C、G四种碱基以不同的顺序排列组合,便可以存储生物的遗传信息,因此我们可以将DNA分子视为天然的四进制信息存储介质。
然而,目前已有的存储编码方法密度极限为2bit/nt。为了对存储过程中可能产生的随机错误而采用的降低错误率和纠错手段会引入一定的冗余,作为天然的四进制存储介质,在采用短链DNA作为信息载体的同时也需要额外引入地址码以更好地组织和解码携带信息的短链DNA,因此,目前DNA信息存储方案的实际存储密度均低于2bit/nt,无法很好地发挥DNA分子的信息存储潜力。
发明内容
针对现有DNA信息存储方案信息存储密度较低,不能很好发挥DNA分子的信息存储潜力的问题,本发明提出了一种DNA信息存储编码方法,实现了获取较高信息存储密度的DNA信息的存储方案。
一种DNA信息存储编码方法,其特征在于,该方法包括以下步骤:
步骤一:选定待存储目标DNA信息文件,并获取其二进制数据码流:
步骤二:扫描二进制码流获取信源符号及其出现概率,即:将转换获得的二进制码流按照i位一组进行扫描读取,以每i位二进制作为一个信源符号,其中i为扫描位数,统计各信源符号出现频次并计算其出现概率,将所得包含i位二进制数据的信源符号及其概率作为输入,使用四进制哈夫曼编码对码流中固定长度的二进制数据串进行编码;
步骤三:进行四进制哈夫曼DNA编码,该步骤具体包括以下处理:
步骤11、对于输入的信源符号进行扫描计数,确定各符号的出现频次与概率,用以确定各信源符号权重,统计码元符号种类数n,根据公式(2)要求添加t个虚拟信源符号,并将其概率设定为0;
信源符号种类数n与码元进制数r之间应该满足如下关系:
n=(r-1)k+r (1)
其中,k为编码过程的缩减次数,为正整数。
若不能满足该条件,则应在信源符号队列中增添t个概率为0的虚拟符号,即满足:
n+t=(r-1)k+r (2)
步骤12、对添加的t个虚拟信源符号和信源符号进行排序,按照出现概率大小递增或递减顺序排序;
步骤13、分别为出现概率最低的r个信源符号分配码元0、码元1、码元2、…、码元r-1,再将该r个信源符号对应概率相加,作为新的符号概率,与其余信源符号重新参与排序,该过程亦被称为一次缩减;
步骤14、对新的排序结果重复进行步骤(13)的操作;
步骤15、重复上述过程,直到所有信源符号(包相加得到的新信源符号)均分配到了相应码元;
步骤16、从最后一级开始,逐级向前记录各信源符号分配所得码元内容,最终获得各信源符号的编码码字,添加的t个虚拟信源符号及其编码结果可以舍弃。
与现有技术相比,本发明可以获取较高信息存储密度的DNA信息存储方案,从而有效降低DNA信息存储的经济成本,减少信息的写入读取时间。
附图说明
图1为本发明的一种DNA信息存储编码方法整体流程示意图;
图2为多元哈夫曼编码流程示意图;
图3为本发明的二进制转换工具软件界面图;
图4为四元哈夫曼DNA编码示例图;
图5为编码图片示例图;
图6为四元哈夫曼DNA编码流程示意图。
具体实施方式
下面将结合附图对本发明的具体实施方式作进一步的详细描述。
如图1所示,本发明的一种DNA信息存储编码方法整体流程示意图。
步骤一:选定待存储目标DNA信息文件,并获取其二进制数据码流:本发明的DNA信息存储方案适用于任何格式的计算机文件,存储过程中对其在计算机底层的二进制码流进行DNA编码,获取对应的DNA碱基序列。目标DNA信息文件的二进制码流具体获取方法使用本文开发的相应软件工具。如图3所示的二进制转换工具软件界面图,就是本发明所设计的一款可以实现任何指定文件(适用于任何格式)与其在计算机磁盘中存储的二进制内容进行相互转换的软件工具。该工具的特点即为可以实现任何格式的电脑文件与其在硬盘的底层二进制序列进行相互转换,但是该工具并非本发明的核心内容,只是便于实现DNA信息存储的一个工具。本发明的特点在于DNA编码过程中采用了哈夫曼编码可以有效提高最终编码密度。其中,如果程序输入的源文件为待存储文件的存储路径(亦可通过路径搜索方式进行指定),“ToBits”按钮可以获取指定文件在计算机硬盘中的二进制码流内容并以使用者指定的格式(.txt、.doc等)存储于指定路径下的文件内。相应的,如果以某文件的二进制码流(保存于.txt、.doc等文本文档中)作为输入,“ToByte”按钮可以实现将二进制码流恢复为其相应的文件,由二进制恢复得到的文件与其原文件是完全相同的。
步骤二:扫描二进制码流获取信源符号及其出现概率,即:将转换获得的二进制码流按照i位一组进行扫描读取,以每i位二进制作为一个信源符号(其中i为扫描位数),统计各信源符号出现频次并计算其出现概率,将所得包含i位二进制数据的信源符号及其概率作为输入,使用四进制哈夫曼编码对码流中固定长度的二进制数据串进行编码。
例如,对12位二进制序列001101101001按照2位一组进行扫描读取,结果为00、11、01、10、10和01,获得的信源符号有00,11,01和10四种,其出现概率分别为 0.17,0.17,0.33和0.33;若按照3位一组进行扫描读取获取结果为001,101,101和 001,获得的信源符号有001与101两种,其出现概率均为0.5。由于扫描位数对算法的时间复杂度有一定影响,扫描位数不可以无限增加,结合实验经验,本发明中设定扫描位数上限为N=52(根据具体情况,该值可进行一定变动)。
哈夫曼编码原理不做赘述,在此介绍r元哈夫曼编码过程,本文方法采用的四进制哈夫曼编码方法即为r=4时的应用。
步骤三:进行四进制哈夫曼DNA编码:
为了提高多元哈夫曼编码过程中的编码效率,应使得码字较长的信源符号概率尽量小,其出现频次也尽量少,因此信源符号种类数n与码元进制数r之间应该满足如下关系:
n=(r-1)k+r (1)
其中,k为编码过程的缩减次数,为正整数。
若不能满足该条件,则应在信源符号队列中增添t个概率为0的虚拟符号,即满足:
n+t=(r-1)k+r (2)
如图2所示,码元为r进制数据的多元哈夫曼编码流程简要叙述如下:
步骤11、对于输入的信源符号进行扫描计数,确定各符号的出现频次与概率,用以确定各信源符号权重,统计码元符号种类数n,根据公式(2)要求添加t个虚拟信源符号,并将其概率设定为0;
步骤12、对信源符号进行排序(包括添加的t个虚拟信源符号),排序依据为其出现概率大小,按递增或递减顺序排序;
步骤13、分别为出现概率最低的r个信源符号分配码元0、码元1、码元2、…、码元r-1,再将该r个信源符号对应概率相加,作为新的符号概率,与其余信源符号重新参与排序,该过程亦被称为一次缩减;
步骤14、对新的排序结果重复进行步骤(13)的操作;
步骤15、重复上述过程,直到所有信源符号(包相加得到的新信源符号)均分配到了相应码元;
步骤16、从最后一级开始,逐级向前记录各信源符号分配所得码元内容,最终获得各信源符号的编码码字,添加的t个虚拟信源符号及其编码结果可以舍弃。
如图4所示的四元哈夫曼DNA编码示例图中,给出8种信源符号及其概率的条件下应用四元哈夫曼编码对信源符号进行DNA编码,各信源符号编码结果为DNA碱基序列。
本发明可以获得超过现有DNA信息存储编码方案的编码存储密度,突破2bit/nt的限制。为了验证本编码方案的效果,选用的一份文本文件(文本为字符数为3307的《脊柱术后并发症病例》)和一张彩色图片kid.tif(如图5所示)进行编码实验。《脊柱术后并发症病例》编码结果和彩色图片编码结果分别如表1、表2所示。如表3所示,给出了目前DNA信息存储领域主流研究团队所提出存储方案的理论编码密度。
相较其他编码方案,本文提出的四进制哈夫曼DNA编码方案的理论存储密度可以突破2bit/nt的极限,甚至有的情形下可以达到10bit/nt的高度,这充分可以说明本文编码方案在存储密度上的优越性。这也意味着本文提出的DNA信息存储方案在经济成本上有着巨大优势,同时较高的存储密度也意味着在合成相同长度的DNA序列条件下,本方案可以存储更多信息,也就是单位时间内可以完成更多信息的存储写入和恢复读取,这也有效提缩减了DNA信息存储的整体流程用时。
表2
表3
表4
本发明的较佳实施方式描述如下:
选定待存储的目标文件,将目标文件转换为二进制码流并存储为目标文件;
令i=4,N=52;
将目标文件转化所得的二进制码流以i位为一组作为一个信源符号,扫描整体码流并统计信源符号种类数量及其出现频率并记录保存;
根据扫描所得信源符号种类数量及其出现概率,对信源符号进行四进制哈夫曼编码,获取字典Ci;编码存储密度计算公式如下,其单位为比特/码元:
其中,mi为平均码长,di为编码存储密度;
判断i值是否小于N+1,若是,令i=i+1,返回步骤3,若否,执行下一步;
比较i取不同值时哈夫曼编码所得编码密度,取用最大编码密度所对应字典,对存储目标文件的二进制码流进行编码,获得四进制码流;
将所得四进制码流按照A=0,T=1,C=2,G=3的对应规则转化为DNA碱基序列并保存。A、T、C、G为DNA分子的四种碱基,对其具体介绍在前文进行了补充,补充内容字体颜色为绿色。
Claims (1)
1.一种DNA信息存储编码方法,其特征在于,该方法包括以下步骤:
步骤一:选定待存储目标DNA信息文件,并获取其二进制数据码流:
步骤二:扫描二进制码流获取信源符号及其出现概率,即:将转换获得的二进制码流按照i位一组进行扫描读取,以每i位二进制作为一个信源符号,其中i为扫描位数,统计各信源符号出现频次并计算其出现概率,将所得包含i位二进制数据的信源符号及其概率作为输入,使用四进制哈夫曼编码对码流中固定长度的二进制数据串进行编码;
步骤三:进行四进制哈夫曼DNA编码,该步骤具体包括以下处理:
步骤(11)、对于输入的信源符号进行扫描计数,确定各符号的出现频次与概率,用以确定各信源符号权重,统计码元符号种类数n,根据公式(2)要求添加t个虚拟信源符号,并将其概率设定为0;
信源符号种类数n与码元进制数r之间应该满足如下关系:
n=(r-1)k+r (1)
其中,k为编码过程的缩减次数,为正整数;
若不能满足该条件,则应在信源符号队列中增添t个概率为0的虚拟符号,即满足:
n+t=(r-1)k+r (2)
步骤(12)、对添加的t个虚拟信源符号和信源符号进行排序,按照出现概率大小递增或递减顺序排序;
步骤(13)、分别为出现概率最低的r个信源符号分配码元0、码元1、码元2、…、码元r-1,再将该r个信源符号对应概率相加,作为新的符号概率,与其余信源符号重新参与排序,该过程亦被称为一次缩减;
步骤(14)、对新的排序结果重复进行步骤(13)的操作;
步骤(15)、重复上述过程,直到所有信源符号均分配到了相应码元;
步骤(16)、从最后一级开始,逐级向前记录各信源符号分配所得码元内容,最终获得各信源符号的编码码字,添加的t个虚拟信源符号及其编码结果可以舍弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811445344.8A CN109979540B (zh) | 2018-11-29 | 2018-11-29 | 一种dna信息存储编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811445344.8A CN109979540B (zh) | 2018-11-29 | 2018-11-29 | 一种dna信息存储编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109979540A true CN109979540A (zh) | 2019-07-05 |
CN109979540B CN109979540B (zh) | 2023-05-05 |
Family
ID=67076120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811445344.8A Active CN109979540B (zh) | 2018-11-29 | 2018-11-29 | 一种dna信息存储编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109979540B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442472A (zh) * | 2019-07-03 | 2019-11-12 | 天津大学 | 一种dna数据存储混合错误纠正与数据恢复方法 |
CN110727414A (zh) * | 2019-09-30 | 2020-01-24 | 安徽问天量子科技股份有限公司 | 基于哈夫曼编码的随机数生成方法 |
CN111243670A (zh) * | 2020-01-23 | 2020-06-05 | 天津大学 | 一种满足生物约束的dna信息存储编码方法 |
CN111600609A (zh) * | 2020-05-19 | 2020-08-28 | 东南大学 | 一种优化中文存储的dna存储编码方法 |
CN111681290A (zh) * | 2020-04-21 | 2020-09-18 | 华中科技大学鄂州工业技术研究院 | 一种基于dna编码技术的图片存储方法 |
WO2021056167A1 (zh) * | 2019-09-24 | 2021-04-01 | 深圳华大生命科学研究院 | 信息编码和解码方法、装置、存储介质以及信息存储和解读方法 |
CN112711935A (zh) * | 2020-12-11 | 2021-04-27 | 中国科学院深圳先进技术研究院 | 编码方法、解码方法、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5808572A (en) * | 1997-05-22 | 1998-09-15 | National Science Council | Method and apparatus for finite-length arithmetic coding |
CN1249083A (zh) * | 1996-12-30 | 2000-03-29 | 艾利森电话股份有限公司 | 处理信息的方法和设备 |
CN107623524A (zh) * | 2017-07-01 | 2018-01-23 | 中山大学 | 一种基于硬件的Huffman编码方法及系统 |
-
2018
- 2018-11-29 CN CN201811445344.8A patent/CN109979540B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1249083A (zh) * | 1996-12-30 | 2000-03-29 | 艾利森电话股份有限公司 | 处理信息的方法和设备 |
US5808572A (en) * | 1997-05-22 | 1998-09-15 | National Science Council | Method and apparatus for finite-length arithmetic coding |
CN107623524A (zh) * | 2017-07-01 | 2018-01-23 | 中山大学 | 一种基于硬件的Huffman编码方法及系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442472A (zh) * | 2019-07-03 | 2019-11-12 | 天津大学 | 一种dna数据存储混合错误纠正与数据恢复方法 |
CN110442472B (zh) * | 2019-07-03 | 2021-08-13 | 天津大学 | 一种dna数据存储混合错误纠正与数据恢复方法 |
WO2021056167A1 (zh) * | 2019-09-24 | 2021-04-01 | 深圳华大生命科学研究院 | 信息编码和解码方法、装置、存储介质以及信息存储和解读方法 |
CN110727414A (zh) * | 2019-09-30 | 2020-01-24 | 安徽问天量子科技股份有限公司 | 基于哈夫曼编码的随机数生成方法 |
CN110727414B (zh) * | 2019-09-30 | 2023-12-08 | 安徽问天量子科技股份有限公司 | 基于哈夫曼编码的随机数生成方法 |
CN111243670A (zh) * | 2020-01-23 | 2020-06-05 | 天津大学 | 一种满足生物约束的dna信息存储编码方法 |
CN111681290A (zh) * | 2020-04-21 | 2020-09-18 | 华中科技大学鄂州工业技术研究院 | 一种基于dna编码技术的图片存储方法 |
CN111681290B (zh) * | 2020-04-21 | 2023-08-15 | 华中科技大学鄂州工业技术研究院 | 一种基于dna编码技术的图片存储方法 |
CN111600609A (zh) * | 2020-05-19 | 2020-08-28 | 东南大学 | 一种优化中文存储的dna存储编码方法 |
CN112711935A (zh) * | 2020-12-11 | 2021-04-27 | 中国科学院深圳先进技术研究院 | 编码方法、解码方法、装置及计算机可读存储介质 |
WO2022120912A1 (zh) * | 2020-12-11 | 2022-06-16 | 中国科学院深圳先进技术研究院 | 编码方法、解码方法、装置及计算机可读存储介质 |
CN112711935B (zh) * | 2020-12-11 | 2023-04-18 | 中国科学院深圳先进技术研究院 | 编码方法、解码方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109979540B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109979540A (zh) | 一种dna信息存储编码方法 | |
CN111600609B (zh) | 一种优化中文存储的dna存储编码方法 | |
Wang et al. | Construction of bio-constrained code for DNA data storage | |
CN109830263B (zh) | 一种基于寡核苷酸序列编码存储的dna存储方法 | |
CN112382340B (zh) | 用于dna数据存储的编解码方法和编解码装置 | |
US20180046921A1 (en) | Code generation method, code generating apparatus and computer readable storage medium | |
Dimopoulou et al. | A biologically constrained encoding solution for long-term storage of images onto synthetic DNA | |
CN105760706B (zh) | 一种二代测序数据的压缩方法 | |
CN110867213B (zh) | 一种dna数据的存储方法和装置 | |
Schoeny et al. | Novel combinatorial coding results for DNA sequencing and data storage | |
CN112100982B (zh) | Dna存储方法、系统和存储介质 | |
WO2010108373A1 (zh) | 一种对词库压缩编码及解码的方法和系统 | |
Weinberger et al. | The DNA storage channel: Capacity and error probability bounds | |
Jain et al. | Coding for optimized writing rate in DNA storage | |
Wu et al. | HD-code: End-to-end high density code for DNA storage | |
KR20210004897A (ko) | 비트 매칭 기반으로 선형 부호를 고속 복호화하는 방법 및 장치 | |
CN111243670A (zh) | 一种满足生物约束的dna信息存储编码方法 | |
Wei et al. | Dna storage: A promising large scale archival storage? | |
CN115472232A (zh) | 一种基于分类算法的dna数据存储动态压缩方法 | |
CN100508073C (zh) | 一种闪烁存储器数据存取方法 | |
CN110111852A (zh) | 一种海量dna测序数据无损快速压缩平台 | |
CN115249509A (zh) | 基于脱氧核糖核酸技术的数据编码方法及解码方法 | |
Sabary et al. | Survey for a Decade of Coding for DNA Storage | |
CN112530522A (zh) | 序列纠错方法、装置、设备和存储介质 | |
Li et al. | DP-DNA: A Digital Pattern-Aware DNA Storage System to Improve Encoding Density |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |