CN111091876B - 一种dna存储方法、系统及电子设备 - Google Patents

一种dna存储方法、系统及电子设备 Download PDF

Info

Publication number
CN111091876B
CN111091876B CN201911290607.7A CN201911290607A CN111091876B CN 111091876 B CN111091876 B CN 111091876B CN 201911290607 A CN201911290607 A CN 201911290607A CN 111091876 B CN111091876 B CN 111091876B
Authority
CN
China
Prior art keywords
dna
sequence
file
storage
dna storage
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.)
Active
Application number
CN201911290607.7A
Other languages
English (en)
Other versions
CN111091876A (zh
Inventor
肖焯
姜青山
陈会
车丹丹
李正强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201911290607.7A priority Critical patent/CN111091876B/zh
Publication of CN111091876A publication Critical patent/CN111091876A/zh
Application granted granted Critical
Publication of CN111091876B publication Critical patent/CN111091876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种DNA存储方法、系统及电子设备。包括:将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件。本申请可以最大化降低成本,提升DNA存储密度。

Description

一种DNA存储方法、系统及电子设备
技术领域
本申请属于DNA存储技术领域,特别涉及一种DNA存储方法、系统及电子设备。
背景技术
随着大数据科学的迅猛发展,传统存储介质,如磁带、光盘、硬盘等已逐渐不能满足现有的数据存储的迫切需要。作为智能分子,DNA已经被用作“建筑材料”构建纳米结构(DNA origami)、微电路(DNA electrical circuit)等。同时,作为一种完全不同的全新应用领域,DNA分子作为一种“信息材料”成为新型的存储介质DNA Information Storage,由于具有存储密度高,保存时间长,维护成本低等优势,近年来受到了极大关注。
DNA存储作为新兴的概念,是由DNA高通量合成与测序技术催生的信息与生物相融合的新领域,通过DNA分子的碱基序列直接编码数字信息,由高通量合成技术合成序列存储进行信息写入,并利用高通量测序技术实现信息的读取。相比国外,尽管我国在DNA合成与测序方面已经取得了丰硕的成果,但在DNA数字存储领域的研究仍然处于起步阶段,目前尚无可与世界先进技术相媲美的DNA存储编码方法以及DNA存储系统。进行DNA存储相关的研究有助于我国在数据存储、大数据应用、合成生物学等方面实现技术突破,并在存储资源的国际争夺战中占领制高点;同时,DNA存储在各方面的应用,如军事文化信息、银行信息、数据归档等方面具有极大的战略意义。
近年来,世界上各大科研机构、公司都在DNA数字存储领域的研究均投入了大量的人力物力。当前的研究重点主要集中在编码系统的设计与改进、可靠性与存储密度的提高、以及随机存取与深度复制功能的实现等相关方面。自G.Church研究团队于2012年提出DNA数字存储的概念和第一代通用DNA数字存储的编码方法以来,多个研究团队,包括美国国立卫生研究院(NIH),微软(Microsoft),苏黎世联邦理工学院(ETH)等均发表了多项研究成果。而2017年,美国哥伦比亚大学Y.Erlich研究团队发表的DNA喷泉码(DNA Fountain)更是实现了接近于理论极限的DNA存储编码方式。编码方法的研究对实现高效稳定的DNA存储,并对接上下游支撑使能技术起到至关重要的作用。
近年来也出现了基于DNA折纸等自组装技术,通过构建多样可控的微纳米结构体,利用其控制的金属物质空间排布以及生物分子自身的导电性构建DNA电路,然而这种技术本质上不能在DNA碱基序列上直接存储信息,其读取信息技术门槛高,依赖于超分辨率显微镜等精密设备,与已经可以形成百万bit信息量存储的主流技术相比,DNA电路技术还处于不成熟阶段缺乏技术普及与广泛应用的基础。另外,近年来也有研究团队提出利用DNA分子的电性质存储信息,然而由于其主要利用DNA的加工技术形成DNA电路,领域内一般认为该研究方向并非是真正意义上的DNA存储。因此,在高通量DNA合成和测序技术支撑下的DNA碱基序列存储数字信息技术必将是这一领域的主流。
综上所述,目前的研究方法与技术还存在着一些问题:
(1)、针对DNA存储的系统技术,目前还没有相对成熟的DNA存储系统;
(2)、现有研究方法没有对不同格式文件,特定约束下的文件大小的理论极限值进行计算。
发明内容
本申请提供了一种DNA存储方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本申请提供了如下技术方案:
一种DNA存储方法,包括以下步骤:
步骤a:将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;
步骤b:对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;
步骤c:使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
步骤d:将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件。
本申请实施例采取的技术方案还包括:所述步骤a还包括:对不同格式的存储文件进行预处理,导入到DNA存储系统中;所述预处理包括文件格式定义、数据压缩及删冗;对于常见的文件格式,根据不同的系统下打开不同的文件导入窗口,选择需要导入的存储文件,根据所述存储文件的后缀名选择读取的格式;对于不常用的文件格式,提供压缩算法,导入存储文件前对所述存储文件进行压缩后再导入到系统中。
本申请实施例采取的技术方案还包括:在所述步骤a中,所述编码模块通过编码算法将存储文件转换成二进制,并划分成固定大小的DNA存储单元具体包括:将所述存储文件转换为以字节为单位的二进制序列,一个字节对应固定位数的二进制序列;再将二进制数序列划分为固定长度的二进制DNA存储单元。
本申请实施例采取的技术方案还包括:所述步骤b还包括:将所述DNA存储单元的IndexDNA序列转换为固定位数的三进制的ATCG序列,再使用IndexDNA序列转换规则将生成的三进制序列转换为碱基序列。
本申请实施例采取的技术方案还包括:在所述步骤c中,所述使用DateDNA算法将每段DNA存储单元转换为DateDNA序列具体包括:首先将整个存储文件转换成为二进制序列,再根据二进制数与DateDNA序列的转换要求,选择转化规则将二进制数转换为DateDNA序列,并根据设定的类四进制编码转换算法将整个存储文件完全转换成DateDNA碱基序列。
本申请实施例采取的技术方案还包括:所述步骤c之后还包括:IndexDNA序列还原;将需要还原的DNA存储文件导入到系统中,系统读取该存储文件时,确定每一段DNA存储单元的序列的序号,固定每一段DNA存储单元前面的设定长度的序列为该段DNA存储单元的IndexDNA序列,使用IndexDNA序列对应的解码算法,将IndexDNA序列还原成该段DNA存储单元的序号。
本申请实施例采取的技术方案还包括:所述步骤c之后还包括:DateDNA序列的信息提取;当固定每一段DNA存储单元的序号时,使用DateDNA序列解码算法,生成对应的二进制文件,再依次按照DNA存储单元的序号,将每一段DNA存储单元生成的二进制文件整合为完整的计算机存储的二进制文件,再进行ASCII码转换,生成对应的原存储文件。
本申请实施例采取的技术方案还包括:所述步骤c之后还包括:评测系统性能,度量指标体系。
本申请实施例采取的另一技术方案为:一种DNA存储系统,包括:
数据划分模块:用于将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;
IndexDNA序列转换模块:用于对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;
DateDNA序列转换模块:用于使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
DNA序列生成模块:用于将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件。
本申请实施例采取的又一技术方案为:一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的DNA存储方法的以下操作:
步骤a:将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;
步骤b:对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;
步骤c:使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
步骤d:将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件。
相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的DNA存储方法、系统及电子设备通过将压缩编码算法和DNA存储单元编解码算法集成于DNA存储的工作流中,针对不同类型数据的编码及不同类型DNA存储介质在多种场景的应用,对不同的文件进行数据编码,转化成可用于DNA合成的碱基序列,实现数据长期保存情况下,保证其安全性和完整性。相对于现有技术,本申请可以最大化降低成本,提升DNA存储密度,实现能追踪的高效DNA存储系统。
附图说明
图1是本申请实施例的DNA存储方法的流程图;
图2是本申请实施例的DNA存储系统框架图;
图3为图形化用户界面效果图;
图4是本申请实施例的DNA存储系统的结构示意图;
图5是本申请实施例提供的DNA存储方法的硬件设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
请参阅图1和图2,图1是本申请实施例的DNA存储方法的流程图,图2是本申请实施例的DNA存储系统框架图。本申请实施例的DNA存储方法包括以下步骤:
步骤1:对不同格式的存储文件进行预处理后,导入到DNA存储系统中;
步骤1中,预处理包括文件格式定义、数据压缩及删冗等。在使用DNA存储系统时,需要将不同格式的文件导入到DNA存储系统中。常见的文件格式包括图像文件、文本文件、程序文件等,不同格式的文件有不同的头部信息,在导入文件时,需要分别读取每一个文件的头部信息进行处理。
为了支持不同格式的文件导入,本申请针对不同格式的文件进行以下操作:对于图像文件、文本文件、程序文件等常见的文件格式,根据不同的系统(Linux、windows、MacOS)下打开不同的文件导入窗口,选择需要导入的文件,自动根据文件的后缀名,选择读取的格式。对于不常用的文件格式,提供ZIP、RAR等压缩算法,导入文件前,根据用户的需求选择是否对文件进行压缩转换,并在系统存储目录生成压缩后的文件,再统一导入到系统中。对应每个导入的文件,系统中可以选择是否将文件拷贝到系统的存储路径下。
步骤2:将存储文件传入编码模块中,编码模块根据存储文件的大小,通过编码算法自动将存储文件转换成二进制,并划分成固定大小的DNA存储单元;
步骤2中,在现有的DNA合成技术中,可以合成的DNA片段长度比较短。对数据量比较大的文件进行存储时,无法用一段DNA将整个文件进行存储,因此本申请将数据量较大的存储文件划分为多个DNA存储单元。具体划分方式包括:先将原始文件数据转换为二进制数序列(或先将原始文件数据划分为多个字符串单元,再将每个字符串单元转换为二进制数序列),再将二进制数序列划分为多个DNA存储单元。将原始文件数据转换为以字节为单位的二进制序列(或先将原始文件数据划分为多个字符串单元,再将每个字符串单元转换为二进制数序列),一个字节对应8位的二进制序列;将特定数量的字节依顺序前后相连成为转换单元的二进制数序列,再将二进制数序列划分为固定长度的二进制DNA存储单元,一个DNA存储单元可以转换为一条DNA数据存储的序列。其中,每段DNA存储单元对应的二进制数序列有特定的长度,一般为120-220位,本申请实施例中,为了保证数据在存储和编解码可能出现的错误,将每段DNA存储单元的长度设定为140位二进制序列(对应20个字符)。
步骤3:对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列,使用转换规则将每段DNA存储单元的IndexDNA序列转换为碱基序列;
步骤3中,在进行数据转换时,存储文件被划分为多个DNA存储单元,每段DNA存储单元都有先后顺序,为了确保在DNA存储系统中每段DNA存储单元都有唯一的索引值,需要一段索引序列包含每段DNA存储单元在整个存储文件中的位置信息,从而便于将一系列的DNA存储单元还原为完整的数据存储文件。本申请使用IndexDNA序列(长度为15bit)指明DNA存储单元在整个存储文件的绝对位置。在DNA存储单元长度确定的情况下,减少IndexDNA序列的长度可以提高转换效率,增加IndexDNA序列的长度可以增加DNA序列储存的信息量。
上述中,排序信息采用的是常用的十进制数,但计算机采用的是二进制存储信息,因此需要将十进制数转换为二进制数。在编写DNA序列时,首先将DNA存储单元的IndexDNA序列转换为固定位数的三进制的ATCG序列(IndexDNA sequence),然后使用IndexDNA序列转换规则将生成的三进制序列转换为碱基序列。
该转换规则需要满足:
(a)碱基序列中应该避免单个碱基重复出现;
(b)碱基序列中应该避免出现集合S∈{ATG,CTG,TTG,CAG,AAA,TTT,CCC,GGG}等包含DNA转录和翻译起始密码子和终止密码子等碱基序列;
(c)IndexDNA序列的长度应该是固定的,将DNA存储单元在数据中的位置编号转换为固定位数的三进制序列,便于数据编码和读取。
为了满足IndexDNA序列长度固定,且满足碱基序列的合成规则,本申请设计一套IndexDNA序列转换规则,如下表所示:
表1 IndexDNA序列转换规则
当DNA序列开始编码时,按照对应关系,将“1”对应碱基A,“2”对应碱基T,“0”对应碱基G,从序列的第三位起,首先判断序列X中第i位和第i-1位满足上述对应关系的哪一组条件。若{X[i-1],X[i]}属于集合D={AT,CT,CA,TT,AA,GG,CC}中,则根据该条件对应关系进行X[i+1]位对应的碱基转换。以此类推,直到将所有IndexDNA序列完全转换成碱基序列。
步骤4:使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
步骤4中,根据计算机的存储原理,对于文本文件,每一个字符都对应ASCII码表上对应的十进制格式,将每一个字符对应的十进制ASCII码依次转换成7位的二进制序列。转换算法调用操作系统下对应的函数。
首先将整个存储文件转换成为二进制序列,再根据二进制数与DateDNA序列的转换要求,选择转化规则将二进制数转换为DateDNA序列。当出现碱基替换时,只能改变当前DNA存储单元的内容,而不会影响到其他DNA存储单元的内容。
本申请实施例中,DateDNA序列的转换采用“类四进制”算法,除特殊情况外,需要将DateDNA序列上的每个碱基对应两个二进制位数的信息。同时,DateDNA序列的编码过程中要防止起始密码子序列和终止密码子序列以及单碱基连续重复出现,并避免集合S∈{ATG,CTG,TTG,CAG,AAA,TTT,CCC,GGG}中存在的序列。按照尽可能重复利用存储空间的情况,本申请设计出一套类四进制编码转换方案,具体如下表所示:
表2类四进制编码转换方案
对存储文件进行编码时,按照对应关系,将两位二进制数字“00”对应碱基A,“01”对应碱基T,“10”对应碱基C,“11”对应碱基G,从序列的第三位起,首先判断序列X中第i位和第i-1位满足上述对应关系的哪一组条件。若{X[i-1],X[i]}属于集合B={AT,CT,CA,TT,AA,GG,CC}中,则根据该条件对应关系进行X[i+1]位对应的碱基转换。以此类推,直到将整个存储文件完全转换成DateDNA碱基序列。
步骤5:将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,并存储在系统的指定路径下,生成完整的可供使用的DNA存储文件。
步骤5中,为了便于DNA存储系统的管理、提供更友好的用户界面、更便捷的操作方式,本申请还设计了图形化用户界面(Graphical User Interface),图形化用户界面效果如图3所示,其可以为用户提供图形化的手段与系统进行交互。生成DNA存储文件后,在图形化用户界面中生成该DNA存储文件的图标,用户通过双击该图标即可打开DNA存储文件进行查看或编辑等操作。图形化用户界面提供和DNA合成技术生物装置接口与一套系统集成的软件,还设计有文件存储、压缩等功能图标,能够帮助使用者更高效的调用函数功能进行数据处理。
步骤6:IndexDNA序列还原;将需要还原的DNA存储文件导入到系统中,系统读取该文件时,需要确定每一段DNA存储单元的序列的序号,固定每一段DNA存储单元的前面15bit为该段DNA存储单元的IndexDNA序列,使用IndexDNA序列对应的解码算法,将IndexDNA序列还原成该段DNA存储单元的序号。
步骤7:DateDNA序列的信息提取:当固定每一段DNA存储单元的序号时,使用DateDNA序列解码算法,生成对应的二进制文件,再依次按照DNA存储单元的序号,将每一段DNA存储单元生成的二进制文件整合为完整的计算机存储的二进制文件,再进行ASCII码转换,生成对应的原存储文件。
步骤8:评测新系统性能,度量指标体系;
步骤8中,本申请在构建一体化全流程DNA存储的基础上,研究DNA存储系统性能评测,可度量的指标体系,以及其有效实现机制和方法,包括程序的运行时间和运行所需要的资源消耗等,实现易操作、可展示、能追踪的高效DNA存储集成软件系统,支持100M以上碱基合成量的DNA存储与管理。
请参阅图4,是本申请实施例的DNA存储系统的结构示意图。本申请实施例的DNA存储系统包括数据处理模块、数据划分模块、IndexDNA序列转换模块、DateDNA序列转换模块、DNA序列生成模块、IndexDNA序列还原模块、DateDNA序列信息提取模块和测评模块。
数据处理模块:用于对不同格式的存储文件进行预处理后,导入到DNA存储系统中;其中,预处理包括文件格式定义、数据压缩及删冗等。在使用DNA存储系统时,需要将不同格式的文件导入到DNA存储系统中。常见的文件格式包括图像文件、文本文件、程序文件等,不同格式的文件有不同的头部信息,在导入文件时,需要分别读取每一个文件的头部信息进行处理。
为了支持不同格式的文件导入,本申请针对不同格式的文件进行以下操作:对于图像文件、文本文件、程序文件等常见的文件格式,根据不同的系统(Linux、windows、MacOS)下打开不同的文件导入窗口,选择需要导入的文件,自动根据文件的后缀名,选择读取的格式。对于不常用的文件格式,提供ZIP、RAR等压缩算法,导入文件前,根据用户的需求选择是否对文件进行压缩转换,并在系统存储目录生成压缩后的文件,再统一导入到系统中。对应每个导入的文件,系统中可以选择是否将文件拷贝到系统的存储路径下。
数据划分模块:用于将存储文件传入编码模块中,编码模块根据存储文件的大小,通过编码算法自动将存储文件转换成二进制,并划分成固定大小的DNA存储单元;其中,在现有的DNA合成技术中,可以合成的DNA片段长度比较短。对数据量比较大的文件进行存储时,无法用一段DNA将整个文件进行存储,因此本申请将数据量较大的存储文件划分为多个DNA存储单元。具体划分方式包括:先将原始文件数据转换为二进制数序列(或先将原始文件数据划分为多个字符串单元,再将每个字符串单元转换为二进制数序列),再将二进制数序列划分为多个DNA存储单元。将原始文件数据转换为以字节为单位的二进制序列(或先将原始文件数据划分为多个字符串单元,再将每个字符串单元转换为二进制数序列),一个字节对应8位的二进制序列;将特定数量的字节依顺序前后相连成为转换单元的二进制数序列,再将二进制数序列划分为固定长度的二进制DNA存储单元,一个DNA存储单元可以转换为一条DNA数据存储的序列。其中,每段DNA存储单元对应的二进制数序列有特定的长度,一般为120-220位,本申请实施例中,为了保证数据在存储和编解码可能出现的错误,将每段DNA存储单元的长度设定为140位二进制序列(对应20个字符)。
IndexDNA序列转换模块:用于对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列,使用转换规则将每段DNA存储单元的IndexDNA序列转换为碱基序列;其中,在进行数据转换时,存储文件被划分为多个DNA存储单元,每段DNA存储单元都有先后顺序,为了确保在DNA存储系统中每段DNA存储单元都有唯一的索引值,需要一段索引序列包含每段DNA存储单元在整个存储文件中的位置信息,从而便于将一系列的DNA存储单元还原为完整的数据存储文件。本申请使用IndexDNA序列(长度为15bit)指明DNA存储单元在整个存储文件的绝对位置。在DNA存储单元长度确定的情况下,减少IndexDNA序列的长度可以提高转换效率,增加IndexDNA序列的长度可以增加DNA序列储存的信息量。
上述中,排序信息采用的是常用的十进制数,但计算机采用的是二进制存储信息,因此需要将十进制数转换为二进制数。在编写DNA序列时,首先将DNA存储单元的IndexDNA序列转换为固定位数的三进制的ATCG序列(IndexDNA sequence),然后使用IndexDNA序列转换规则将生成的三进制序列转换为碱基序列。
该转换规则需要满足:
(a)碱基序列中应该避免单个碱基重复出现;
(b)碱基序列中应该避免出现集合S∈{ATG,CTG,TTG,CAG,AAA,TTT,CCC,GGG}等包含DNA转录和翻译起始密码子和终止密码子等碱基序列;
(c)IndexDNA序列的长度应该是固定的,将DNA存储单元在数据中的位置编号转换为固定位数的三进制序列,便于数据编码和读取。
为了满足IndexDNA序列长度固定,且满足碱基序列的合成规则,本申请设计一套IndexDNA序列转换规则,如下表所示:
表1 IndexDNA序列转换规则
当DNA序列开始编码时,按照对应关系,将“1”对应碱基A,“2”对应碱基T,“0”对应碱基G,从序列的第三位起,首先判断序列X中第i位和第i-1位满足上述对应关系的哪一组条件。若{X[i-1],X[i]}属于集合D={AT,CT,CA,TT,AA,GG,CC}中,则根据该条件对应关系进行X[i+1]位对应的碱基转换。以此类推,直到将所有IndexDNA序列完全转换成碱基序列。
DateDNA序列转换模块:用于使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;其中,根据计算机的存储原理,对于文本文件,每一个字符都对应ASCII码表上对应的十进制格式,将每一个字符对应的十进制ASCII码依次转换成7位的二进制序列。转换算法调用操作系统下对应的函数。
首先将整个存储文件转换成为二进制序列,再根据二进制数与DateDNA序列的转换要求,选择转化规则将二进制数转换为DateDNA序列。当出现碱基替换时,只能改变当前DNA存储单元的内容,而不会影响到其他DNA存储单元的内容。
本申请实施例中,DateDNA序列的转换采用“类四进制”算法,除特殊情况外,需要将DateDNA序列上的每个碱基对应两个二进制位数的信息。同时,DateDNA序列的编码过程中要防止起始密码子序列和终止密码子序列以及单碱基连续重复出现,并避免集合S∈{ATG,CTG,TTG,CAG,AAA,TTT,CCC,GGG}中存在的序列。按照尽可能重复利用存储空间的情况,本申请设计出一套类四进制编码转换方案,具体如下表所示:
表2类四进制编码转换方案
对存储文件进行编码时,按照对应关系,将两位二进制数字“00”对应碱基A,“01”对应碱基T,“10”对应碱基C,“11”对应碱基G,从序列的第三位起,首先判断序列X中第i位和第i-1位满足上述对应关系的哪一组条件。若{X[i-1],X[i]}属于集合B={AT,CT,CA,TT,AA,GG,CC}中,则根据该条件对应关系进行X[i+1]位对应的碱基转换。以此类推,直到将整个存储文件完全转换成DateDNA碱基序列。
DNA序列生成模块:用于将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,并存储在系统的指定路径下,生成完整的可供使用的DNA存储文件。为了便于DNA存储系统的管理、提供更友好的用户界面、更便捷的操作方式,本申请还设计了图形化用户界面(Graphical User Interface),图形化用户界面效果如图3所示,其可以为用户提供图形化的手段与系统进行交互。生成DNA存储文件后,在图形化用户界面中生成该DNA存储文件的图标,用户通过双击该图标即可打开DNA存储文件进行查看或编辑等操作。图形化用户界面提供和DNA合成技术生物装置接口与一套系统集成的软件,还设计有文件存储、压缩等功能图标,能够帮助使用者更高效的调用函数功能进行数据处理。
IndexDNA序列还原模块:用于将需要还原的DNA存储文件导入到系统中,系统读取该文件时,需要确定每一段DNA存储单元的序列的序号,固定每一段DNA存储单元的前面15bit为该段DNA存储单元的IndexDNA序列,使用IndexDNA序列对应的解码算法,将IndexDNA序列还原成该段DNA存储单元的序号。
DateDNA序列信息提取模块:用于在固定每一段DNA存储单元的序号时,使用DateDNA序列解码算法,生成对应的二进制文件,再依次按照DNA存储单元的序号,将每一段DNA存储单元生成的二进制文件整合为完整的计算机存储的二进制文件,再进行ASCII码转换,生成对应的原存储文件。
测评模块:用于评测新系统性能,度量指标体系;本申请在构建一体化全流程DNA存储的基础上,研究DNA存储系统性能评测,可度量的指标体系,以及其有效实现机制和方法,包括程序的运行时间和运行所需要的资源消耗等,实现易操作、可展示、能追踪的高效DNA存储集成软件系统,支持100M以上碱基合成量的DNA存储与管理。
实验证明,经过开发和调试,本申请可以满足非计算机专业人士的使用该系统生成用于存储的DNA序列文件,且支持三大主流操作系统(Linux、windows、MacOS),对不同的系统具有兼容性;程序运行所需要的资源少,软件的存储路径可根据用户需求进行修改。
图5是本申请实施例提供的DNA存储方法的硬件设备结构示意图。如图5所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。
处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:
步骤a:将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;
步骤b:对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;
步骤c:使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
步骤d:将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。
本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:
步骤a:将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;
步骤b:对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;
步骤c:使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
步骤d:将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:
步骤a:将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;
步骤b:对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;
步骤c:使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
步骤d:将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件。
本申请实施例的DNA存储方法、系统及电子设备通过将压缩编码算法和DNA存储单元编解码算法集成于DNA存储的工作流中,针对不同类型数据的编码及不同类型DNA存储介质在多种场景的应用,对不同的文件进行数据编码,转化成可用于DNA合成的碱基序列,实现数据长期保存情况下,保证其安全性和完整性。相对于现有技术,本申请可以最大化降低成本,提升DNA存储密度,实现能追踪的高效DNA存储系统。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种DNA存储方法,其特征在于,包括以下步骤:
步骤a:将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;
步骤b:对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;
步骤c:使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
步骤d:将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件;
所述编码模块通过编码算法将存储文件转换成二进制,并划分成固定大小的DNA存储单元具体包括:将所述存储文件转换为以字节为单位的二进制序列,一个字节对应固定位数的二进制序列;再将二进制数序列划分为固定长度的二进制DNA存储单元。
2.根据权利要求1所述的DNA存储方法,其特征在于,所述步骤a还包括:对不同格式的存储文件进行预处理,导入到DNA存储系统中;所述预处理包括文件格式定义、数据压缩及删冗;对于常见的文件格式,根据不同的系统下打开不同的文件导入窗口,选择需要导入的存储文件,根据所述存储文件的后缀名选择读取的格式;对于不常用的文件格式,提供压缩算法,导入存储文件前对所述存储文件进行压缩后再导入到系统中。
3.根据权利要求1所述的DNA存储方法,其特征在于,所述步骤b还包括:将所述DNA存储单元的IndexDNA序列转换为固定位数的三进制的ATCG序列,再使用IndexDNA序列转换规则将生成的三进制序列转换为碱基序列。
4.根据权利要求3所述的DNA存储方法,其特征在于,在所述步骤c中,所述使用DateDNA算法将每段DNA存储单元转换为DateDNA序列具体包括:首先将整个存储文件转换成为二进制序列,再根据二进制数与DateDNA序列的转换要求,选择转化规则将二进制数转换为DateDNA序列,并根据设定的类四进制编码转换算法将整个存储文件完全转换成DateDNA碱基序列。
5.根据权利要求1至4任一项所述的DNA存储方法,其特征在于,所述步骤c之后还包括:IndexDNA序列还原;将需要还原的DNA存储文件导入到系统中,系统读取该存储文件时,确定每一段DNA存储单元的序列的序号,固定每一段DNA存储单元前面的设定长度的序列为该段DNA存储单元的IndexDNA序列,使用IndexDNA序列对应的解码算法,将IndexDNA序列还原成该段DNA存储单元的序号。
6.根据权利要求5所述的DNA存储方法,其特征在于,所述步骤c之后还包括:DateDNA序列的信息提取;当固定每一段DNA存储单元的序号时,使用DateDNA序列解码算法,生成对应的二进制文件,再依次按照DNA存储单元的序号,将每一段DNA存储单元生成的二进制文件整合为完整的计算机存储的二进制文件,再进行ASCII码转换,生成对应的原存储文件。
7.根据权利要求6所述的DNA存储方法,其特征在于,所述步骤c之后还包括:评测系统性能,度量指标体系。
8.一种实现权利要求1所述DNA存储方法的DNA存储系统,其特征在于,包括:
数据划分模块:用于将存储文件传入编码模块中,编码模块通过编码算法将所述存储文件转换成二进制,并划分成固定大小的DNA存储单元;
IndexDNA序列转换模块:用于对每一段DNA存储单元进行排序和编号,并使用IndexDNA序列编码算法生成每段DNA存储单元的IndexDNA序列;
DateDNA序列转换模块:用于使用DateDNA算法将每段DNA存储单元转换为DateDNA序列;
DNA序列生成模块:用于将每段DNA存储单元对应的IndexDNA序列与DateDNA序列相加,得到每段DNA存储单元对应的DNA序列文件,并将每一段DNA序列文件合成到一个DNA文件中,生成完整的DNA存储文件。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述1至7任一项所述的DNA存储方法。
CN201911290607.7A 2019-12-16 2019-12-16 一种dna存储方法、系统及电子设备 Active CN111091876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911290607.7A CN111091876B (zh) 2019-12-16 2019-12-16 一种dna存储方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911290607.7A CN111091876B (zh) 2019-12-16 2019-12-16 一种dna存储方法、系统及电子设备

Publications (2)

Publication Number Publication Date
CN111091876A CN111091876A (zh) 2020-05-01
CN111091876B true CN111091876B (zh) 2024-05-17

Family

ID=70395704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911290607.7A Active CN111091876B (zh) 2019-12-16 2019-12-16 一种dna存储方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN111091876B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858510B (zh) * 2020-07-16 2021-08-20 中国科学院北京基因组研究所(国家生物信息中心) Dna活字存储系统和方法
WO2022073225A1 (zh) * 2020-10-10 2022-04-14 中国科学院深圳先进技术研究院 一种基于dna存储的增量信息管理方法和设备
CN112162952B (zh) * 2020-10-10 2023-11-03 中国科学院深圳先进技术研究院 一种基于dna存储的增量信息管理方法和设备
WO2022088184A1 (zh) * 2020-11-02 2022-05-05 中国科学院深圳先进技术研究院 数据的存储方法、电子设备以及计算机可读存储介质
WO2022109879A1 (zh) * 2020-11-25 2022-06-02 中国科学院深圳先进技术研究院 用于dna数据存储的二进制信息到碱基序列的编解码方法和编解码装置
CN112711935B (zh) * 2020-12-11 2023-04-18 中国科学院深圳先进技术研究院 编码方法、解码方法、装置及计算机可读存储介质
CN112700819B (zh) * 2020-12-31 2021-11-30 云舟生物科技(广州)有限公司 基因序列的处理方法、计算机存储介质及电子设备
CN113782102B (zh) * 2021-08-13 2022-12-13 中科碳元(深圳)生物科技有限公司 Dna数据的存储方法、装置、设备及可读存储介质
CN114356220B (zh) * 2021-12-10 2022-10-28 中科碳元(深圳)生物科技有限公司 基于dna存储的编码方法、电子设备及可读存储介质
CN114356222B (zh) * 2021-12-13 2022-08-19 深圳先进技术研究院 数据存储方法、装置、终端设备及计算机可读存储介质
CN116150773B (zh) * 2022-08-17 2024-01-30 中国人民解放军军事科学院军事医学研究院 利用计算机安全技术进行基因数据保护的方法
CN116187435B (zh) * 2022-12-19 2024-01-05 武汉大学 基于大小喷泉码及mrc算法利用dna进行信息存储方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850760A (zh) * 2015-03-27 2015-08-19 苏州泓迅生物科技有限公司 带有编码信息的人工合成dna存储介质及信息的存储读取方法和应用
CN106845158A (zh) * 2017-02-17 2017-06-13 苏州泓迅生物科技股份有限公司 一种利用dna进行信息存储的方法
CN107798219A (zh) * 2016-08-30 2018-03-13 清华大学 将数据进行生物存储并还原的方法
CA3052062A1 (en) * 2017-01-10 2018-07-19 Roswell Biotechnologies, Inc. Methods and systems for dna data storage
CN109074424A (zh) * 2016-05-04 2018-12-21 深圳华大生命科学研究院 利用dna存储文本信息的方法、其解码方法及应用
WO2019079802A1 (en) * 2017-10-20 2019-04-25 President And Fellows Of Harvard College METHODS OF HIGH-RATE ENCODING AND DECODING OF INFORMATION STORED IN DNA
CN109830263A (zh) * 2019-01-30 2019-05-31 东南大学 一种基于寡核苷酸序列编码存储的dna存储方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850760A (zh) * 2015-03-27 2015-08-19 苏州泓迅生物科技有限公司 带有编码信息的人工合成dna存储介质及信息的存储读取方法和应用
CN109074424A (zh) * 2016-05-04 2018-12-21 深圳华大生命科学研究院 利用dna存储文本信息的方法、其解码方法及应用
CN107798219A (zh) * 2016-08-30 2018-03-13 清华大学 将数据进行生物存储并还原的方法
CA3052062A1 (en) * 2017-01-10 2018-07-19 Roswell Biotechnologies, Inc. Methods and systems for dna data storage
CN106845158A (zh) * 2017-02-17 2017-06-13 苏州泓迅生物科技股份有限公司 一种利用dna进行信息存储的方法
WO2019079802A1 (en) * 2017-10-20 2019-04-25 President And Fellows Of Harvard College METHODS OF HIGH-RATE ENCODING AND DECODING OF INFORMATION STORED IN DNA
CN109830263A (zh) * 2019-01-30 2019-05-31 东南大学 一种基于寡核苷酸序列编码存储的dna存储方法

Also Published As

Publication number Publication date
CN111091876A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
CN111091876B (zh) 一种dna存储方法、系统及电子设备
CN109254733B (zh) 用于存储数据的方法、装置和系统
JP6931050B2 (ja) バイナリデータをエンコード及びデコードする方法及び装置
WO2016116377A1 (en) Multiple erasure codes for distributed storage
US10198454B2 (en) Quality score compression for improving downstream genotyping accuracy
WO2009000141A1 (fr) Procédé, système et dispositif de représentation d'informations de structure logique de fichier de mise en page
CN108921552B (zh) 一种验证证据的方法及装置
KR101535703B1 (ko) 데이터 객체 변환 장치 및 방법
CN103067441A (zh) 一种图片分享的方法、装置和设备
CN112527736A (zh) 基于dna的数据存储方法、数据恢复方法及终端设备
MXPA06000813A (es) Sistema y metodo para almacenar un documento en un formato binario en serie.
US20180041224A1 (en) Data value suffix bit level compression
CN110704608A (zh) 文本主题生成方法、装置和计算机设备
CN112307369A (zh) 一种短链接处理方法、装置、终端及存储介质
Chong et al. Grid-based computer animation rendering
CN113535749A (zh) 查询语句生成方法及装置
JP2012124679A (ja) 符号化データを復号する装置及び方法
CN110807111A (zh) 三维图形的处理方法及装置、存储介质、电子设备
CN103092607A (zh) 一种电信话单数据编解码方法
CN102075572A (zh) 一种嵌入式web服务器
US8463759B2 (en) Method and system for compressing data
CN101553800B (zh) 将主机系统sam/vsam文件转换为开放系统sam/vsam文件的转换装置和方法
CN104040533A (zh) 利用写时差异的数据共享
CN109542904A (zh) 业务数据处理方法、装置、服务器和介质
WO2022120626A1 (zh) 基于dna的数据存储方法、数据恢复方法、装置及终端设备

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