CN117059176A - 基于组装优化的dna数据存储方法、装置及终端设备 - Google Patents
基于组装优化的dna数据存储方法、装置及终端设备 Download PDFInfo
- Publication number
- CN117059176A CN117059176A CN202210494797.XA CN202210494797A CN117059176A CN 117059176 A CN117059176 A CN 117059176A CN 202210494797 A CN202210494797 A CN 202210494797A CN 117059176 A CN117059176 A CN 117059176A
- Authority
- CN
- China
- Prior art keywords
- module
- dna
- data
- information
- assembly
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000013500 data storage Methods 0.000 title claims abstract description 45
- 238000005457 optimization Methods 0.000 title claims abstract description 45
- 108020004414 DNA Proteins 0.000 claims abstract description 235
- 102000053602 DNA Human genes 0.000 claims abstract description 187
- 238000006243 chemical reaction Methods 0.000 claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 238000007702 DNA assembly Methods 0.000 claims abstract description 19
- 238000005842 biochemical reaction Methods 0.000 claims abstract description 14
- 238000010367 cloning Methods 0.000 claims abstract description 6
- 238000010276 construction Methods 0.000 claims abstract description 6
- 239000013612 plasmid Substances 0.000 claims abstract description 6
- 238000012408 PCR amplification Methods 0.000 claims abstract description 5
- 238000013507 mapping Methods 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 20
- 239000000047 product Substances 0.000 claims description 19
- 239000012634 fragment Substances 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 230000003044 adaptive effect Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000001712 DNA sequencing Methods 0.000 claims description 6
- 239000007795 chemical reaction product Substances 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 230000002255 enzymatic effect Effects 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000013138 pruning Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000000126 substance Substances 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000006911 enzymatic reaction Methods 0.000 description 3
- 238000000338 in vitro Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 102000004190 Enzymes Human genes 0.000 description 2
- 108090000790 Enzymes Proteins 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- OPTASPLRGRRNAP-UHFFFAOYSA-N cytosine Chemical compound NC=1C=CNC(=O)N=1 OPTASPLRGRRNAP-UHFFFAOYSA-N 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- UYTPUPDQBNUYGX-UHFFFAOYSA-N guanine Chemical compound O=C1NC(N)=NC2=C1N=CN2 UYTPUPDQBNUYGX-UHFFFAOYSA-N 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- 238000003752 polymerase chain reaction Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 229920002477 rna polymer Polymers 0.000 description 2
- 238000001308 synthesis method Methods 0.000 description 2
- RWQNBRDOKXIBIV-UHFFFAOYSA-N thymine Chemical compound CC1=CNC(=O)NC1=O RWQNBRDOKXIBIV-UHFFFAOYSA-N 0.000 description 2
- 229930024421 Adenine Natural products 0.000 description 1
- GFFGJBXGBJISGV-UHFFFAOYSA-N Adenine Chemical compound NC1=NC=NC2=C1N=CN2 GFFGJBXGBJISGV-UHFFFAOYSA-N 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000006820 DNA synthesis Effects 0.000 description 1
- 108091028043 Nucleic acid sequence Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229960000643 adenine Drugs 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229940104302 cytosine Drugs 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 230000002209 hydrophobic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 239000002086 nanomaterial Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920000620 organic polymer Polymers 0.000 description 1
- 108090000765 processed proteins & peptides Proteins 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 229940113082 thymine Drugs 0.000 description 1
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B15/00—ICT specially adapted for analysing two-dimensional or three-dimensional molecular structures, e.g. structural or functional relations or structure alignment
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/20—Sequence assembly
Landscapes
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Crystallography & Structural Chemistry (AREA)
- Analytical Chemistry (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
基于组装优化的DNA数据存储方法、读取方法及终端,其方法包括:将数据信息通过编码转换成DNA模块组装数据,数据信息包含或可被转换为多个二进制信息;从DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;对多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据;优化后的DNA模块组装数据通过DNA组装反应,形成DNA分子长链,完成对所述数据信息的存储。本发明的存储速度快且反应所占空间小,该方法除应用于本文所描述的DNA数据存储方法外,还可以用于其它的高通量生化反应中,包括但不限于DNA组装、克隆、质粒构建、PCR扩增等。
Description
技术领域
本申请属于数据存储技术领域,尤其涉及一种基于DNA的数据存储方法、数据读取方法、数据存储装置、数据读取装置、终端设备及计算机可读存储介质,特别是基于组装优化的DNA数据存储方法、读取方法、装置、终端设备及高通量生化反应方法。
背景技术
人工智能及大数据时代的发展对数据存储需求越来越高,迫切需要存储密度高、存储时间长、维护成本低的新型存储介质。DNA作为一种新兴的信息存储介质,被认为是未来信息存储最有潜力的介质材料之一。
DNA分子具有四种碱基,它们分别是:腺嘌呤(Adenine,A)、胞嘧啶(Cytosine,C)、鸟嘌呤(Guanine,G)和胸腺嘧啶(Thymine,T)。基于DNA的数据存储技术是利用上述四种碱基序列来表示二进制“0”和“1”组成的数据序列。相较于传统的存储介质,DNA数据存储具有存储密度高,存储时间久,维护成本低,生物相容性好的特点。
DNA数据存储流程最通常包含以下步骤:(1)从图片、视频、文本等多模态原始信息转换二进制数字信息;(2)根据二进制信息与碱基A、T、C、G之间的通过特定的编码方法,将二进制信息转换为由碱基A、T、C、G编码形成的、存储有数据信息的A/T/C/G序列(即DNA序列);(3)采用DNA合成技术或其他技术将编码的A/T/C/G序列转换为DNA化学多聚物分子(后续称为DNA分子链),并存储在合适的环境中。之后,当需要获取存储的数据时,则可以执行以下步骤:(4)利用DNA测序技术,将存储的DNA分子链解读成A/T/C/G序列;(5)利用合适的解码方式将A/T/C/G序列转换为二进制信息;(6)将二进制信息转换为图片、视频、文本等计算机信息。
目前,如何高效进行DNA数据存储是行业急需要解决的问题。
发明内容
本发明的目的在于本申请实施例提供了一种于组装优化的DNA数据存储方法、读取方法、数据存储装置、终端设备及计算机可读存储介质,可以解决导致存储的DNA数据存储速度慢且反应所需的占位空间大的问题。
第一方面,本发明提供一种基于组装优化的DNA数据存储方法,包括:
将数据信息通过编码转换成DNA模块组装数据,数据信息包含或可被转换为多个二进制信息;
从DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;
对多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据;
所述优化后的DNA模块组装数据通过DNA组装反应,形成DNA分子长链,完成对所述数据信息的存储。
在第一方面的一种可能的实现方式中,对多组同一类模块组合进行简并性计算进一步包括:从多组同一类模块组合中将部分反应预先进行合并。
在第一方面的一种可能的实现方式中,对多组同一类模块组合进行简并性计算进一步包括:
从多组同一类模块组合中确定一组同一类模块组合,后从多组同一类模块组合选定同一类模块组合集合中找到可以合并的最优结果。
在第一方面的一种可能的实现方式中,“从多组同一类模块组合中确定一组同一类模块组合,后从多组同一类模块组合选定同一类模块组合集合中找到可以合并的最优结果”具体为:
S31:生成用于后续筛选可以合并其它模块的mask列表,mask的形式是与种类数量相同的一阶行矩阵;
S32:设置全局优化简并值global_opt_value,以对所述mask列表中所有的mask进行遍历;
S33:通过i控制mask的遍历,当前循环的mask记为current_mask;
S34:从all_mc_list中,根据select_mc与current_mask对所有组合进行筛选;all_mc_list为选定的同一类模块组合集合,select_mc为确定的一组同一类模块组合;
S35:针对mask中的变动位,得到所有masked_mc_list中出现过的元素,和得到所有可能的优化反应optimized_mc_candidate;
S36:根据masked_mc_list的数量对所有可能的优化反应进行剪枝,将反应产物数大于masked_mc_list的数量的candidate移除;
S37:对所有的candidate进行遍历,若其产物均在masked_mc_list中,则该优化有效,将有效的优化反应所对应的产物数,与global_opt_value比较,若大于则将该值替换;
S38:依次对所有mask_list中的mask进行遍历,重复上述步骤S33-S37过程;
S39:输出global_opt_value以及对应的全局优化简并模块组合,其为优化后的DNA模块组装数据。
在第一方面的一种可能的实现方式中,“从多组同一类模块组合中确定一组同一类模块组合,后从多组同一类模块组合选定同一类模块组合集合中找到可以合并的最优结果”还包括:
S41:从多组同一类模块组合中删除确定的同一类模块组合,组成新的多组同一类模块组合;
S42:从新的多组同一类模块组合中确定一组同一类模块组合,后将新的多组同一类模块组合做为选定的同一类模块组合集合,从中找到可以合并的最优结果;
S43:重复步骤S41至S42,直至多组同一类模块组合为空,从而找到所有的可以合并的最优结果。
在第一方面的一种可能的实现方式中,“确定一组同一类模块组合”是按照多组同一类模块组合相互顺序依次确定的。
在第一方面的一种可能的实现方式中,“将数据信息通过编码转换成DNA模块组装数据”进一步包括:
将数据信息处理成符合要求的二进制数据信息,并进行模块映射编码;
从预设的DNA模块库中挑选出适配的DNA模块,得到相应的所述DNA模块组装数据。
在第一方面的一种可能的实现方式中,“将数据信息处理成符合要求的二进制数据信息,并进行模块映射编码进一步包括:
将二进制数据划分成若干片段,每一片段或分别设置元信息和内容信息;
使用元信息DNA模块库和内容信息DNA模块库对元信息和内容信息分别映射编码,所述元信息DNA模块库和内容信息DNA模块库是尺寸与地址重编码的规则对应。
在第一方面的一种可能的实现方式中,“对所述优化后的DNA模块组装数据通过酶促组装反应,得到组装后的DNA分子长链”进一步包括:
在优化后的DNA模块组装数据中,DNA模块按照其前黏性末端和/或后黏性末端的碱基序列与预先约定的DNA模块进行反应。
第二方面,本发明提供一种基于优化组装的DNA数据读取方法,包括:
对DNA分子链进行模块识别;
根据模块信息进行模块映射信息解码,得到对应的二进制数据;
将二进制数据解码运算重建原始数据内容,实现数据读取。
在第二方面的一种可能的实现方式中,模块识别至少包括以下识别方法:通过DNA测序得到相应碱基序列,再通过碱基序列匹配得到模块信息。
第三方面,本发明提供一种基于组装优化的DNA数据存储装置,包括:
编码单元:用于将数据信息通过编码转换成DNA模块组装数据,数据信息包含或可被转换为多个二进制信息;
多组同一类模块组合获得单元:用于从所述DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;
组装优先单元:用于对多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据;
DNA分子长链形成单元:用于优化后的DNA模块组装数据通过DNA组装反应,形成DNA分子长链,完成对所述数据信息的存储。
在第三方面的一种可能的实现方式中,还包括:
DNA模块库:用于预先存储尺寸与地址重编码的规则对应的模块,若采用a位b进制重编码,则设置的所述模块库为a*b个模块,每组模块对应重编码后信息的一个位,每组中不同的模块代表该位的内容;
模块映射编码单元:用于通过模块映射编码,从所述DNA模块库中挑选出适配的模块,并确定所述模块顺序得到相应的模块组合。
第四方面,本发明提供一种DNA数据读取装置,包括:
模块识别单元:对DNA分子链进行模块识别;
解码单元:用于根据模块信息进行模块映射信息解码,得到对应的二进制数据;
读取单元:用于将二进制数据解码运算重建原始数据内容,实现数据读取。
在第四方面的一种可能的实现方式中,模块识别至少包括以下识别方法:通过DNA测序得到相应碱基序列,再通过碱基序列匹配得到模块信息。
第五方面,本发明提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序所述处理器执行所述计算机程序时实现上述数据存储的方法或上述任一项数据读取的方法。
第六方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据存储的方法或上述数据读取的方法。
第七方面,本发明提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述数据存储的方法或上述数据读取的方法。
第八方面,本发明提供一种高通量生化反应方法,对多组同一类模块组合进行简并性计算获得优化后的模块组装数据,再对所述优化后的模块组装数据进行生化反应,生化反应其包括克隆、质粒构建、PCR扩增的任一种高通量生化反应。
本司发明人组装优化技术,实现组装技术预先合并,完成DNA数据存储。本发明存储的速度快且反应所占用空间少。我司发明人还可以引入模块映射编码。模块映射编码可以实现基于批量化组装技术的DNA数据存储,在这个基础上进行的组装优化,更加提升整个合成的效率,并且反应时占位空间少。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用场景的系统架构示意图;
图2为本申请一实施例一种DNA数据存储方法的流程图;
图3为分子模块组装反应图;
图4为DNA模块示意图;
图5为DNA组装反应示意图;
图6为DNA模块组装反应优化(简并性计算)的第一示意例图;
图7为DNA模块组装反应优化(简并性计算)的第二示意例图;
图8为DNA模块组装反应优化示意图;
图9为针对单个分子模块组合的反应优化流程图;
图10为针对分子模块组合集合的反应优化(将全部组合进行优化)的一种流程图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
随着数字化信息广泛应用和大数据科学的急速发展,人们每天产生的信息数据呈指数型增长,而现有传统的存储介质已经逐渐无法满足需求。DNA分子链作为一种新型的存储介质,由于其具有存储密度高、保存时间长、维护成本低以及稳定性强等优势,受到广泛关注。
目前,针对DNA存储的研究更多的集中在通过高效的编码、解码以及提高容错性等方向提高存储效率,减少合成测序成本;在基于DNA的存储介质上更偏重于理论和材料结构的探索。
而DNA的体外合成技术,通常是根据任意设定的序列,以修饰的A/T/C/G碱基化学分子单体原料(即后续提到的DNA模块)为基础,在体外根据化学合成或者酶合成的方法,以每轮化学或酶反应逐个或逐N个碱基添加到上一个/N个碱基上的方式,通过多轮化学或酶反应,合成与设定序列一致的A/T/C/G组成的大分子DNA聚合物(即后续提到的DNA分子长链)。我司发明人发明的技术是将多个DNA模块通过DNA组装反应,合成与设定序列一致的DNA分子长链。DNA模块即预制的包含特定碱基序列的DNA分子链,在组装反应中与特定种类的模块相连接。其中由于每轮化学或酶反应,都需要花费支撑该轮化学或酶反应的试剂,耗材,人力及机械损耗成本,待合成DNA序列碱基数量决定了大部分的大分子DNA聚合物的合成成本,我司发明人提出了一种新的组装优化技术,实现先进行同一类合并,由此提升DNA数据存储的速度且反应所占的占用空间少。我司发明人还可以引入模块映射编码。模块映射编码可以实现基于批量化组装技术的DNA数据存储,在这个基础上进行组装优化,更加提升合成的效率、且减少占用的空间。
请参阅图1,是本申请一实施例提供的应用场景的系统架构示意图。图1示出了本申请实施例提供的一种实现数据自存储、自恢复的端到端的全流程DNA存储系统架构,如图1所示,在对数据进行存储之前,针对不同格式的数字数据(原始数据)进行编码得到待编码的二进制数据;通过模块映射编码,从预设的DNA模块库中挑选出适配的模块组合,将所述二进制数据转换为DNA组装所需要的模块编码信息;将这些简并性计算获得优化后的DNA模块组装数据;对所述优化后的DNA模块组装数据通过酶促组装反应,得到组装后的DNA分子长链,完成对所述数据信息的存储。简并性计算的核心在于将DAN模块进行组装优化。比如,将同一类模组先进行组装优化,组装优化可以是同一类模组全部先优化,也可以选择部分优化等。
在存储过程中,根据DNA不同的存储介质的特点,结合传统硅基存储介质,优化数据在DNA存储介质中的布局。需要解析时,对DNA分子链进行模块识别,按照预先设定的模块库进行模块匹配,得到模块映射编码信息;模块映射编码信息解码转换为二进制数据;将二进制数据解码运算重建原始的二进制数据内容,实现数据读取。模块识别可以采用测序得到碱基序列;再根据碱基序列结果按照预先设定的模块库进行模块匹配。
在大规模、复杂的数据存储应用场景中,对多组同一类模块组合先进行简并性计算获得优化后的DNA模块组装数据;后优化后的DNA模块组装数据通过DNA组装反应形成DNA分子长链,由此保证了大规模数据存储的效率。更为重要的是;通过模块映射编码,从预设的DNA模块库中挑选出适配的模块组合,将二进制数据转换为DNA模块组装所需要的模块编码信息;将该些模块编码信息进行反应连接成DNA分子链,这种方式使得DNA分子链的形成完全实现可模块化快速连接,解决了DNA存储与生物合成技术相结合进行数据存储时,写入的速度慢、成本高的问题。本发明的DNA存储写入速度快,可模块化写入且成本低,DNA存储的数据恢复时,可靠性高且恢复速度快。
一个完整的数据操作过程包括数据写入DNA分子链和数据从DNA分子链中读出或恢复的过程。但是,在本发明保护范围中,DNA分子链中数据写入利用优化的组装技术实现的,都应是本发明的保护范围,是本发明的其中一实例。另外,该方法除应用于本文所描述的DNA数据存储方法外,还可以用于其它的高通量生化反应中,包括但不限于DNA组装、克隆、质粒构建、PCR扩增等。
第一实例
请参阅图2,一种基于组装优化的DNA数据存储方法的流程图。它包括:
S110:将数据信息通过编码转换成DNA模块组装数据,数据信息包含或可被转换为多个二进制信息。
S120:从DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;
S130:对多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据;
S140:优化后的DNA模块组装数据通过DNA组装反应,形成DNA分子长链,完成对所述数据信息的存储。
一、以下具体说明步骤S110。
在DNA数据存储中,二进制形式的电子数据可以通过编码转换成DNA模块组装数据(即,DNA模块组合的集合),进一步通过酶促组装反应,得到组装后的DNA分子长链,以完成对信息进行存储。
数据信息主要是指待存储数据(可以是图像、文字、视频等各种信息),一般来说先处理成待存储数据对应的二进制序列时,可以获取该待存储数据对应的编码信息,将对应的编码信息转换为二进制的编码信息,从而得到对应的二进制序列。编码时考虑到提高容错性、提高存储效率等,会对编码预先进行各种处理,在此不再赘述。
将二进制序列转化成DNA模块组装数据有多种方案。
方案一:根据预设的映射关系,将二进制序列转换为DNA模块组装数据,由于DNA中的碱基包括A、T、C、G四种类型的碱基,比如,该预设的映射关系可以为二进制与四进制的映射关系后加上相互的位置关系确认DNA模块。当二进制序列的数据量足够长时,可以将二进制序列划分为不同的片段,以片段为单元按照预设映射关系映射后,加上片段之间的位置关系获得不同的DNA模块。DNA模块的黏性末端决定了其与特定的DNA连接。该些DNA模块的组合即为DNA模块组装数据。
在体外根据化学合成或者酶合成的方法,现有通过多轮化学或酶反应,合成与设定序列一致的A/T/C/G组成的大分子DNA聚合物(即DNA分子长链),本发明可以先优化步骤,预先进行简并性计算或称为预先同一类合并,减少化学或酶反应组装的量,提升速度。
方案一仅是简单举例,并不是用于局于本发明。
方案二:“将数据信息通过编码转换成DNA模块组装数据”进一步包括:
将数据信息处理成符合要求的二进制数据信息,并进行模块映射编码;从预设的DNA模块库中挑选出适配的DNA模块,得到相应的DNA模块组装数据。当二进制数据量特别大时,将二进制数据划分成若干片段,每一片段或分别设置元信息和内容信息;使用元信息DNA模块库和内容信息DNA模块库对元信息和内容信息分别映射编码,元信息DNA模块库和内容信息DNA模块库是尺寸与地址重编码的规则对应。后续着重举一例来说明。
二、以下具体说明步骤S120。
图3展示了DNA模块在酶催化条件下进行组装反应的过程示意图。在DNA模块中,A、B、C等字母表示模块的种类,每个种类的模块包含同样的黏性末端(如图4所示),同一类模块在组装反应中与特定种类的模块相连接(如图5所示为组装反应的一种情况)。例如,在图3中,本申请人规定种类B示意的模块与种类A(前)、种类C(后)示意的模块连接,则有如图5所示的反应产物。字母后的下标数字表示每个种类内不同的模块,例如B1与B2包含相同的前后黏性末端的碱基序列,身份序列信息不同。我们把B1和B2称为位于同一类模块组合中。而B1和B2分别是同一类模块组合中的不同模块。C1、C2又是另一类型模块组合中的不同模块。
从DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合。
三、以下具体说明步骤S130。
图3展示了当不同组同一类模块组合中只选出一个模块进行组装反应时,反应完全的产物是唯一的;当不同组同一类模块组合中选出多个模块进行反应时,会生成多个反应完全的产物。例如第二个反应(两个C模块:C1、C2),得到2个反应完全的产物;第三个反应(两个B模块:B1、B2,两个C模块:C1、C2),得到4个反应完全的产物。
对多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据。
当得到多组同一类模块组合信息后,假设有K组,则我们需要通过K个反应,将这些反应产物进行组装获得,进一步用于DNA数据存储。为了加快反应速度,我们可以对着K组分子模块组合进行优化(简并性计算),将部分反应进行合并。
例如图6和图7给出了两个示例。图6中,4组分子模块组合信息经过简并性计算可以合并为1个反应进行。图7中,8组分子模块组合信息经过简并性计算可以合并为3个反应进行,反应后得到的产物与原来8组反应分别进行得到的产物一致。
图8展示了分子模块组装反应优化的过程,经过简并性计算的K组分子模块组合可以优化为M组组合(M≤K),进而通过M组反应得到相应的K种完全反应的产物,从而实现减少反应次数、加快反应效率、降低反应的占用空间的效果。
图9与图10给出了本发明中,针对DNA模块组合进行优化(简并性计算)的过程。其中,图9展示了给定的一租DNA模块组合中,针对选定的分子模块组合,寻找可以合并的最优结果。例如,在图7所示的例子中,针对<A1 B1 C1>,图9所示的流程将在8组组合中寻找可以与之合并的反应,输出合并最多组合的结果,在该示例中即得到<A1 A2 B1 C1 C2>。图8则是利用图9对单个组合的优化过程,实现对一组组合完成全部的优化过程,并给出最终的优化结果,即该例中中间部分所给出的三个反应组合。
对多组同一类模块组合进行简并性计算进一步包括:从多组同一类模块组合中确定一组同一类模块组合,后从多组同一类模块组合选定同一类模块组合集合中找到可以合并的最优结果。
具体而言,图9的实现过程如下,仍以图7中给出的示例为例说明:
1)选定分子模块组合select_mc,即<A1 B1 C1>;
2)全部分子模块组合all_mc_list,即该例中全部8组分子模块组合;
3)生成mask列表,该列表用于后续筛选可以合并的其它模块。mask的形式是与种类数量相同的一阶行矩阵,其元素只有0与1两种情况。其中0代表待合并组合中与select_mc在对应种类上的模块相同;1代表不同。在该例中,所有的mask_list包括:<0 0 1>,<0 10>,<1 0 0>,<1 1 0>,<1 0 1>,<0 1 1>,<1 1 1>
4)设置全局优化简并值global_opt_value为0,该值用于记录最多可以将多少个反应合并。对mask列表中所有的mask进行遍历。
5)通过i控制mask的遍历,当前循环的mask记为current_mask。
6)从all_mc_list中,根据select_mc与current_mask对所有组合进行筛选。例如当current_mask为<1 0 1>时,即筛选出模块B与<A1 B1 C1>相同,模块A或模块C任意的组合。经过筛选,得到<A1 B1 C1>,<A1 B1 C2>,<A2 B1 C1>,<A2 B1 C2>,这四个组合记为masked_mc_list。
7)针对mask中的变动位,即模块A(第一位)与模块C(第三位),得到所有masked_mc_list中出现过的元素。该例中,模块A为:(A1,A2),模块C为(C1,C2)。组合得到所有可能的优化反应optimized_mc_candidate:
·<A1 B1 C1 C2>
·<A2 B1 C1 C2>
·<A1 A2 B1 C1>
·<A1 A2 B1 C2>
·<A1 A2 B1 C1 C2>
8)根据masked_mc_list的数量对所有可能的优化反应进行剪枝,将反应产物数大于masked_mc_list的数量的candidate移除。该例中,该current_mask循环下,masked_mc_list的数量为4;optimized_mc_candidate中每个优化对应的反应产物数为2,2,2,2,4,故不移除任何candidate。
9)对所有的candidate进行遍历,若其产物均在masked_mc_list中,则该优化有效。将有效的优化反应所对应的产物数,与global_opt_value比较,若大于则将该值替换。该例中,<A1 A2 B1 C1 C2>反应的产物四种均在masked_mc_list中,且反应的产物数为4,大于global_opt_value,因此替换为4。
10)依次对所有mask_list中的mask进行遍历,重复上述(5)-(9)过程。
11)输出global_opt_value以及对应的全局优化简并分子模块组合。该例中,global_opt_value即为4,优化后的组合为:<A1 A2 B1 C1 C2>。
“从多组同一类模块组合中确定一组同一类模块组合,后从所述多组同一类模块组合选定同一类模块组合集合中找到可以合并的最优结果”还包括:S41:从多组同一类模块组合中删除确定的同一类模块组合,组成新的多组同一类模块组合;S42:从新的多组同一类模块组合中确定一组同一类模块组合,后将新的多组同一类模块组合做为所述选定的同一类模块组合集合,从中找到可以合并的最优结果;S43:重复步骤S41至S42,直至多组同一类模块组合为空,从而找到所有的可以合并的最优结果。“确定一组同一类模块组合”是可以按照多组同一类模块组合的顺序依次确定的。
具体而言,图10的实现过程如下,仍以图7中给出的示例为例说明:
1)输入全部分子模块组合all_mc_list,该例中即为全部的8个组合。
2)随机选取其中一个作为select_mc。
3)根据图7所述流程,得到针对select_mc的优化反应。例如针对<A1 B1 C1>,优化得到<A1 A2 B1 C1 C2>,将其添加至optimized_mc_list。
4)更新all_mc_list,将上一步得到的优化反应中所涵盖的产物全部从原来的all_mc_list中删去。在该例中,<A1 A2 B1 C1 C2>对应的四种产物<A1 B1 C1>,<A1 B1 C2>,<A2 B1 C1>,<A2 B1 C2>从all_mc_list中删去。
5)检查all_mc_list是否为空集,若不为空,则继续执行上述(2)-(4)步骤。
输出optimized_mc_list得到优化结果。在本例中,即图7中将全部组合进行优化的简并性计算结果。
四、具体介绍S140。
在优化后的DNA模块组装数据中,DNA模块按照其前黏性末端和/或后黏性末端的碱基序列与预先约定的DAN模块进行反应。
实施例二
数据写读的完整流程,主要包含以下几个步骤:(1)编码;(2)模块映射编码;(3)DNA组装优化;(4)形成DNA分子长链。
S1:编码
若所获得待存储数据是非二进制数据,则先转化为二进制数据。将按照一定长度的比特进行划分,得到k个片段。还可以对k个片段进行预处理(为了数据完整性、可恢复性等)得到n个新的数据片段。
S2:模块映射编码
得到n个新的数据片段后,通过模块映射编码,将每个片段内的二进制数据信息转换为进行DNA组装所需要的模块编码信息。
具体而言,每个新的片段信息包含两个部分信息:元信息和内容信息。
元信息记录了该信息片段的信息。例如,元信息记录的是该信息片段在原始数据中的地址信息。内容信息包括该片段的数据信息和冗余信息。该冗余信息可以是基于元信息和内容信息生成的,用于片段内部发生读取错误时进行信息复原。
针对元信息和内容信息,可以使用两个不同的模块库进行映射编码,也可以只有一个模块库来完成映射编码。元信息模块库和内容信息模块库是逻辑上分为两个库,可以合并成同一个模块库,只是用于区分表示元信息的模块和用于表示内容信息的模块进行分别映射匹配仅是为了表述方便,在具体实现时,只需要设置一个模块库来完成映射编码即可。
即,每一片段分别设置元信息和内容信息;使用预制元信息DNA模块库和内容信息DNA模块库对元信息和内容信息分别映射编码,元信息DNA模块库和内容信息DNA模块库是尺寸与地址重编码的规则对应,若采用a位b进制重编码,则设置的所述模块库为a*b个模块,每组模块对应重编码后信息的一个位,每组中不同的模块代表该位的内容。
“使用内容信息DNA模块库对内容信息进行映射编码”,其进一步包括:将二进制信息以m个比特作分割得到若干个短信息,每个短信息拥有对应的地址信息;对地址信息按照a位b进制进行重编码;得到重编码后的每一短信息对应的“数据-地址对”,当m=1时,保存数据为1或者数据为0中任意一种情况的“数据-地址对”;当m>1时,保存任意2m-1种情况的“数据-地址对”;对“数据-地址对”信息使用内容信息DNA模块库进行模块映射,以获得每一短信息的“数据-地址对”适配的模块组合及对应的每一模块的编码信息。
针对上述内容信息,通过以下三个步骤进行处理和编码,具体一实例过程如下:
1)信息拆分:将二进制信息以m个比特作分割,得到若干个短信息,每个短信息拥有自己的地址信息。例如,假设数据为10011010,当m=1时:
数据 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
地址 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
2)信息重构:对地址进行进行重编码,假设重编码规则为3位2进制:
3)信息映射:根据上述两个步骤,得到“数据-地址对”为:
值得注意的是,当m=1时,只需要保存数据为1或者数据为0,任意一种情况的“数据-地址对”;当m>1时,需要保存任意2m-1种情况的“数据-地址对”。对该示例而言,假设保存的是数据为1的“数据-地址对”:
进一步,对需要实际存储的“数据-地址对”信息进行模块映射。准备DNA模块库,其尺寸与地址重编码的规则对应,即a位b进制重编码对应(a*b个模块)。在上述例子中,模块库共包含6个模块(3组,每组2个模块)。每组模块对应重编码后信息的一个位,每组中不同的模块代表该位的内容。即Ma,b,其中a=0,1,2,b=0,1。例如对于实际存储的信息“011”而言,对应的模块组合映射为:[M2,0,M1,1,M0,1]。对于上述示例中的数据而言,模块映射编码将其转换为:
数据-地址对 | 模块映射编码 |
111 | [M2,1,M1,1,M0,1] |
100 | [M2,1,M1,0,M0,0] |
011 | [M2,0,M1,1,M0,1] |
001 | [M2,0,M1,0,M0,1] |
针对元信息,直接进行上述第三步的信息映射,得到模块组合结果。“使用元信息DNA模块库对所述元信息映射编码”,其进一步包括:每个元信息对应一个模块组合,使用元信息DNA模块库,对每一元信息的每一位信息进行模块映射,每组模块对应重编码后信息的一个位,每组中不同的模块代表该位的内容,以获得每一短信息的元信息适配的模块组合及其中对应的每一模块编码信息。即,每个元信息对应一个模块组合,而每个内容信息对应多个模块组合。至此,每个信息片段内的元信息与内容信息经过上述步骤的模块映射编码后,转换为两组模块组合信息。例如当元信息为“110”,而内容信息为上述示例中的情况时,得到如下编码:
即,找到二进制数据的每一片段的元信息和内容信息的“数据-地址对”的模块组合及对应的每一模块编码信息,将其组成所述该片段对应的片段组合单元。换句话来说,每个片段的元信息和内容信息分别映射编码组成当前片段组合单元,依照片段的顺序得到相应的片段组合单元的顺序,以此得到二进制数据的一个或多个模块组合及模块组合中各个模块之间的顺序(如上表所示的部分模块组合)。DNA模块形成的DNA分子链可以是一条也可以为多条。DNA分子链中各个模块的元信息中包含其对应的片段信息,因此,数据读出时,通过对元信息的解析也可以其对应的片段信息的位置信息,同时也能读取出对应原始的二进制数据。
S3:DNA组装优化
从DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;并对多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据。
举个实例,四类分子模块(由字符A、B、C、D表示),每类分子模块有四种(由后缀1、2、3、4表示)。经DNA数据编码得到的分子模块组合集合(126组)。
经过图10所示的简并性计算过程,得到一下优化结果(41组):
S4:形成DNA分子长链
优化后的DNA模块组装数据经过连接形成DNA分子链后,可以独立保存,形成多条DNA分子链,也可以进一步将若干个DNA分子链进一步连接成更长的分子链进行保存。
我司发明人引入模块映射编码。模块映射编码可以实现基于批量化组装技术的DNA数据存储,在这个基础上进行的组装优化,更加提升整个合成的效率及减少反应时占位的空间。
第三实例
一种基于组装优化的DNA数据存储装置,包括:
编码单元:用于将数据信息通过编码转换成DNA模块组装数据,所述数据信息包含或可被转换为多个二进制信息;
多组同一类模块组合获得单元:用于从所述DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;
组装优先单元:用于对所述多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据;
DNA分子长链形成单元:用于优化后的DNA模块组装数据通过DNA组装反应,形成DNA分子长链,完成对所述数据信息的存储。
该装置还可以包括:
DNA模块库:用于预先存储尺寸与地址重编码的规则对应的模块,若采用a位b进制重编码,则设置的所述模块库为a*b个模块,每组模块对应重编码后信息的一个位,每组中不同的模块代表该位的内容;
模块映射编码单元:用于通过模块映射编码,从所述DNA模块库中挑选出适配的模块组合,将所述二进制数据转换为DNA组装所需要的模块编码信息;
第四实例
一种基于优化组装的DNA数据读取方法,包括:
对DNA分子链进行模块识别;
根据模块信息进行模块映射信息解码,得到对应的二进制数据;
将二进制数据解码运算重建原始数据内容,实现数据读取。
模块识别至少包括以下识别方法:通过DNA测序得到相应碱基序列,再通过碱基序列匹配得到模块信息。
整个DNA数据读取只需要实现对原始数据内容重建即可,从而实现将数据进行读取。
对应地,一种DNA数据读取装置,包括:
模块识别单元:对DNA分子链进行模块识别;
解码单元:用于根据模块信息进行模块映射信息解码,得到对应的二进制数据;
读取单元:用于将二进制数据解码运算重建原始数据内容,实现数据读取。
模块识别单元可以是对DNA分子链进行测序,得到碱基序列;模块映射编码单元是根据碱基序列结果按照预先设定的模块库进行模块匹配。
本申请一实施例提供的终端设备的结构。该实施例的终端设备包括:至少一个处理器处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,终端可以更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器在一些实施例中可以是所述终端设备的内部存储单元,例如终端设备的硬盘或内存。所述存储器在另一些实施例中也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
第五实例
与第一实例和第二实例基本类似,DNA模块不仅是脱氧核糖核酸(DNA),也可是扩大到模块,包括核糖核酸(RNA)、肽、有机聚合物、有机小分子、碳纳米材料、无机物等的其中之一种。在存储信息时,涉及表示内容编码和地址编码的不同模块的组合,这些模块之间可以以共价键、离子键、氢键、分子间作用力、疏水作用力、碱基互补配对等作用方式被组合在一起。
在第五方面提供一种模块数据存取方法,存储过程进一步包括:
S1:获得待存储数据,得到待编码的二进制数据;
S2:通过模块映射编码,从预设的模块库中挑选出适配的模块,并确定所述模块顺序得到相应的模块组合,即DNA模块组装数据;
S3:从DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;对多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据;
S4:优化后的DNA模块组装数据通过DNA组装反应,形成DNA分子长链,完成对所述数据信息的存储。
读取过程进一步包括:
S5:对模块进行模块识别;
S6:根据模块信息进行模块映射信息解码,得到对应的二进制数据;
S7:将二进制数据解码运算重建原始数据内容,实现数据读取。
第六实例
该方法除应用于本文所描述的DNA数据存储方法外,还可以用于其它的高通量生化反应中,包括但不限于DNA组装、克隆、质粒构建、PCR(聚合酶链式反应)扩增等。一般来说,克隆、质粒构建、PCR扩增会用到DNA反应。因此,本发明还可以提供一种高通量生化反应方法,包括:对所述多组同一类模块组合进行简并性计算获得优化后的模块组装数据,再对所述优化后的模块组装数据进行生化反应。以此提升反应速度且反应所占用空间少。
其具体的工作原理和实例一类似,在此就不再详细说明。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (19)
1.一种基于组装优化的DNA数据存储方法,其特征在于,包括:
将数据信息通过编码转换成DNA模块组装数据,所述数据信息包含或可被转换为多个二进制信息;
从所述DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;
对所述多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据;
所述优化后的DNA模块组装数据通过DNA组装反应,形成DNA分子长链,完成对所述数据信息的存储。
2.如权利要求1所述的基于组装优化的DNA数据存储方法,其特征在于,对所述多组同一类模块组合进行简并性计算进一步包括:从所述多组同一类模块组合中将部分反应预先进行合并。
3.如权利要求1所述的基于组装优化的DNA数据存储方法,其特征在于,对所述多组同一类模块组合进行简并性计算进一步包括:
从所述多组同一类模块组合中确定一组同一类模块组合,后从所述多组同一类模块组合选定同一类模块组合集合中找到可以合并的最优结果。
4.如权利要求3所述的基于组装优化的DNA数据存储方法,其特征在于,“从所述多组同一类模块组合中确定一组同一类模块组合,后从所述多组同一类模块组合选定同一类模块组合集合中找到可以合并的最优结果”具体为:
S31:生成用于后续筛选可以合并其它模块的mask列表,mask的形式是与种类数量相同的一阶行矩阵;
S32:设置全局优化简并值global_opt_value,以对所述mask列表中所有的mask进行遍历;
S33:通过i控制mask的遍历,当前循环的mask记为current_mask;
S34:从all_mc_list中,根据select_mc与current_mask对所有组合进行筛选;all_mc_list为选定的同一类模块组合集合,select_mc为确定的一组同一类模块组合;
S35:针对mask中的变动位,得到所有masked_mc_list中出现过的元素,和得到所有可能的优化反应optimized_mc_candidate;
S36:根据masked_mc_list的数量对所有可能的优化反应进行剪枝,将反应产物数大于masked_mc_list的数量的candidate移除;
S37:对所有的candidate进行遍历,若其产物均在masked_mc_list中,则该优化有效,将有效的优化反应所对应的产物数,与global_opt_value比较,若大于则将该值替换;
S38:依次对所有mask_list中的mask进行遍历,重复上述步骤S33-S37过程;
S39:输出global_opt_value以及对应的全局优化简并模块组合,其为优化后的DNA模块组装数据。
5.如权利要求3所述的基于组装优化的DNA数据存储方法,其特征在于,“从所述多组同一类模块组合中确定一组同一类模块组合,后从所述多组同一类模块组合选定同一类模块组合集合中找到可以合并的最优结果”还包括:
S41:从所述多组同一类模块组合中删除确定的所述同一类模块组合,组成新的多组同一类模块组合;
S42:从所述新的多组同一类模块组合中确定一组同一类模块组合,后将所述新的多组同一类模块组合做为所述选定的同一类模块组合集合,从中找到可以合并的最优结果;
S43:重复步骤S41至S42,直至多组同一类模块组合为空,从而找到所有的可以合并的最优结果。
6.如权利要求3或5所述的基于组装优化的DNA数据存储方法,其特征在于:“确定一组同一类模块组合”是按照多组同一类模块组合相互顺序依次确定的。
7.如权利要求1所述的DNA数据存储方法,其特征在于:“将数据信息通过编码转换成DNA模块组装数据”进一步包括:
将所述数据信息处理成符合要求的二进制数据信息,并进行模块映射编码;
从预设的DNA模块库中挑选出适配的DNA模块,得到相应的所述DNA模块组装数据。
8.如权利要求7所述的DNA数据存储方法,其特征在于:“将所述数据信息处理成符合要求的二进制数据信息,并进行模块映射编码进一步包括:
将所述二进制数据划分成若干片段,每一片段或分别设置元信息和内容信息;
使用元信息DNA模块库和内容信息DNA模块库对所述元信息和所述内容信息分别映射编码,所述元信息DNA模块库和内容信息DNA模块库是尺寸与地址重编码的规则对应。
9.如权利如权利要求1所述的方法,其特征在于,“对所述优化后的DNA模块组装数据通过酶促组装反应,得到组装后的DNA分子长链”进一步包括:
在所述优化后的DNA模块组装数据中,所述DNA模块按照其前黏性末端和/或后黏性末端的碱基序列与预先约定的DNA模块进行反应。
10.一种基于优化组装的DNA数据读取方法,其特征在于,包括:
对DNA分子链进行模块识别;
根据模块信息进行模块映射信息解码,得到对应的二进制数据;
将二进制数据解码运算重建原始数据内容,实现数据读取。
11.如权项10所述的方法,其特征在于,模块识别至少包括以下识别方法:通过DNA测序得到相应碱基序列,再通过碱基序列匹配得到模块信息。
12.一种基于组装优化的DNA数据存储装置,其特征在于,包括:
编码单元:用于将数据信息通过编码转换成DNA模块组装数据,所述数据信息包含或可被转换为多个二进制信息;
多组同一类模块组合获得单元:用于从所述DNA模块组装数据中将包含同样黏性末端的DNA模块形成为同一类模块组合,以此获得多组同一类模块组合;
组装优先单元:用于对所述多组同一类模块组合进行简并性计算获得优化后的DNA模块组装数据;
DNA分子长链形成单元:用于优化后的DNA模块组装数据通过DNA组装反应,形成DNA分子长链,完成对所述数据信息的存储。
13.如权利要求12所述的DNA数据存储装置,其特征在于,还包括:
DNA模块库:用于预先存储尺寸与地址重编码的规则对应的模块,若采用a位b进制重编码,则设置的所述模块库为a*b个模块,每组模块对应重编码后信息的一个位,每组中不同的模块代表该位的内容;
模块映射编码单元:用于通过模块映射编码,从所述DNA模块库中挑选出适配的模块,并确定所述模块顺序得到相应的模块组合。
14.一种DNA数据读取装置,其特征在于,包括:
模块识别单元:对DNA分子链进行模块识别;
解码单元:用于根据模块信息进行模块映射信息解码,得到对应的二进制数据;
读取单元:用于将二进制数据解码运算重建原始数据内容,实现数据读取。
15.如权项14所述的装置,其特征在于,模块识别至少包括以下识别方法:通过DNA测序得到相应碱基序列,再通过碱基序列匹配得到模块信息。
16.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序所述处理器执行所述计算机程序时实现上述权项1至权项9任一项数据存储的方法或上述权项10至权项11中任一项数据读取的方法。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权项1至权项9中任一项所述的数据存储的方法或上述权项10至权项11任一项所述的数据读取的方法。
18.一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述权项1至权项9中任一项所述的数据存储的方法或上述权项10至权项11所述的数据读取的方法。
19.一种高通量生化反应方法,其特征在于,包括:对多组同一类模块组合进行简并性计算获得优化后的模块组装数据,再对所述优化后的模块组装数据进行生化反应,所述生化反应其包括克隆、质粒构建、PCR扩增的任一种高通量生化反应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494797.XA CN117059176A (zh) | 2022-05-07 | 2022-05-07 | 基于组装优化的dna数据存储方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210494797.XA CN117059176A (zh) | 2022-05-07 | 2022-05-07 | 基于组装优化的dna数据存储方法、装置及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117059176A true CN117059176A (zh) | 2023-11-14 |
Family
ID=88663269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210494797.XA Pending CN117059176A (zh) | 2022-05-07 | 2022-05-07 | 基于组装优化的dna数据存储方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117059176A (zh) |
-
2022
- 2022-05-07 CN CN202210494797.XA patent/CN117059176A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Anavy et al. | Data storage in DNA with fewer synthesis cycles using composite DNA letters | |
Lopez et al. | DNA assembly for nanopore data storage readout | |
US11379729B2 (en) | Nucleic acid-based data storage | |
JP7179008B2 (ja) | 核酸ベースのデータ記憶 | |
RU2659025C1 (ru) | Способы кодирования и декодирования информации | |
US20180211001A1 (en) | Trace reconstruction from noisy polynucleotide sequencer reads | |
Pan et al. | Rewritable two-dimensional DNA-based data storage with machine learning reconstruction | |
Cao et al. | Adaptive coding for DNA storage with high storage density and low coverage | |
US11495324B2 (en) | Flexible decoding in DNA data storage based on redundancy codes | |
EP3178167A1 (en) | Code generation method, code generating apparatus and computer readable storage medium | |
US20210074380A1 (en) | Reverse concatenation of error-correcting codes in dna data storage | |
Cevallos et al. | A brief review on DNA storage, compression, and digitalization | |
Lee et al. | Enzymatic DNA synthesis for digital information storage | |
Yan et al. | Scaling logical density of DNA storage with enzymatically-ligated composite motifs | |
CN109658981B (zh) | 一种单细胞测序的数据分类方法 | |
Milenkovic et al. | Exabytes in a test tube | |
El-Shaikh et al. | Content-based filter queries on DNA data storage systems | |
CN116564424A (zh) | 基于纠删码与组装技术的dna数据存储方法、读取方法及终端 | |
CN117059176A (zh) | 基于组装优化的dna数据存储方法、装置及终端设备 | |
Hwang et al. | Toward a new paradigm of DNA writing using a massively parallel sequencing platform and degenerate oligonucleotide | |
Bi et al. | Extended XOR Algorithm with Biotechnology Constraints for Data Security in DNA Storage | |
JP2003101485A (ja) | 生体高分子を通信媒体もしくは記録媒体とした、情報通信方法、情報記録方法、エンコーダおよびデコーダ | |
Tsaftaris et al. | On designing DNA databases for the storage and retrieval of digital signals | |
WO2023108616A1 (zh) | 利用dna进行信息存储的方法和系统 | |
Shafir et al. | Sequence design and reconstruction under the repeat channel in enzymatic DNA synthesis |
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 |