CN116451780A - 用于在分子中存储信息的方法和设备 - Google Patents

用于在分子中存储信息的方法和设备 Download PDF

Info

Publication number
CN116451780A
CN116451780A CN202210009421.5A CN202210009421A CN116451780A CN 116451780 A CN116451780 A CN 116451780A CN 202210009421 A CN202210009421 A CN 202210009421A CN 116451780 A CN116451780 A CN 116451780A
Authority
CN
China
Prior art keywords
content
molecular
information
code
address
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
Application number
CN202210009421.5A
Other languages
English (en)
Other versions
CN116451780B (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.)
Codon Hangzhou Technology Co ltd
Original Assignee
Codon Hangzhou Technology Co ltd
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 Codon Hangzhou Technology Co ltd filed Critical Codon Hangzhou Technology Co ltd
Priority to CN202210009421.5A priority Critical patent/CN116451780B/zh
Priority to PCT/CN2022/079689 priority patent/WO2023130562A1/zh
Priority to AU2022431819A priority patent/AU2022431819A1/en
Priority to KR1020247025704A priority patent/KR20240132046A/ko
Publication of CN116451780A publication Critical patent/CN116451780A/zh
Application granted granted Critical
Publication of CN116451780B publication Critical patent/CN116451780B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • C12Q1/6844Nucleic acid amplification reactions
    • C12Q1/686Polymerase chain reaction [PCR]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/123DNA computing
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q2531/00Reactions of nucleic acids characterised by
    • C12Q2531/10Reactions of nucleic acids characterised by the purpose being amplify/increase the copy number of target nucleic acid
    • C12Q2531/113PCR
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q2531/00Reactions of nucleic acids characterised by
    • C12Q2531/10Reactions of nucleic acids characterised by the purpose being amplify/increase the copy number of target nucleic acid
    • C12Q2531/137Ligase Chain Reaction [LCR]

Landscapes

  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Organic Chemistry (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Genetics & Genomics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Wood Science & Technology (AREA)
  • Zoology (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Microbiology (AREA)
  • Immunology (AREA)
  • Biotechnology (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Read Only Memory (AREA)

Abstract

本公开涉及一种用于在分子中存储信息的方法和设备。该方法包括:获取待存储的初始信息,并用第一地址编码和第一内容编码来表示初始信息;分别对每个第一地址编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码;对于每个第一重编码信息,用第二地址编码和第二内容编码来表示该第一重编码信息;以及根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块,并按顺序组合所确定的分子模块,以使组合物对应于初始信息。

Description

用于在分子中存储信息的方法和设备
技术领域
本公开涉及存储技术领域,具体来说,涉及一种用于在分子中存储信息的方法和设备。
背景技术
随着信息技术的大幅发展,人们对于数据存储的需求也在迅速提高。传统的数据存储介质包括硬盘、闪存、磁带、光盘等,其存在存储密度低、保存时间短、能耗高等问题。为了实现更高的存储密度和更可靠的存储效果,目前已提出了在分子中存储信息的相关方法和设备。以DNA分子进行数据存储为例,其存储密度理论上可以达到传统存储介质的106至107倍以上,数量级地降低数据存储运行和维护的费用。此外,DNA还非常稳定,在干燥低温的条件下,其中的数据可以保存千年以上。另外,在碳排放和能耗、数据安全、便携性等方面,DNA存储相比于传统的存储方式也有着非常大的优势。然而,当下还缺乏一种合适的基于分子存储的方法和设备,在写入速度和成本等性能上可以与计算机系统融合,例如基于DNA合成的存储方法,其写入速度与成本均较传统的存储方法落后几个数量级,存在较大的局限。因此,存在对现有分子存储技术进行改进的需求。
发明内容
本公开的目的之一是提供一种用于在分子中存储信息的方法和设备。
根据本公开的第一方面,提出了一种用于在分子中存储信息的方法,所述方法包括:
获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一地址编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码;
根据第一内容编码和第一重编码信息来确定相应的分子模块;以及
按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
在一些实施例中,获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息包括:
获取所述初始信息;
确定所述初始信息中的与一个第一地址编码对应的一个位置处的内容的单位位数,其中,在所述初始信息中的每个位置处的内容的单位位数彼此相等;
当所述初始信息的总位数是所述单位位数的整数倍时,将所述初始信息划分为一个或多个初始信息片段;
当所述初始信息的总位数不是所述单位位数的整数倍时,对所述初始信息进行补位,使所得的补位初始信息的总位数是所述单位位数的整数倍,并将所述补位初始信息划分为一个或多个初始信息片段;
其中,每个初始信息片段的位数为所述单位位数。
在一些实施例中,对所述初始信息进行补位包括:
在所述初始信息中补充占位内容,其中,所述初始信息中的占位内容与非占位内容分别对应于不同的分子模块。
在一些实施例中,所述初始信息还包括纠错内容。
在一些实施例中,所述第一预设位数与所述第一预设进制的和小于第一地址编码的不同取值的最大可能种数;以及
所述第一预设进制的所述第一预设位数次幂大于第一地址编码的不同取值的最大可能种数。
在一些实施例中,根据第一内容编码和第一重编码信息来确定相应的分子模块包括:
分别为第一内容编码和第一重编码信息确定不同的分子模块。
在一些实施例中,根据第一内容编码和第一重编码信息来确定相应的分子模块包括:
分别为第一重编码信息中的不同位上的内容确定不同的分子模块;并且
分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块。
在一些实施例中,根据第一内容编码和第一重编码信息来确定相应的分子模块包括:
对于每个第一重编码信息,用第二地址编码和第二内容编码来表示该第一重编码信息,其中,第一重编码信息中的每个位置分别由与该位置一一对应的第二地址编码来表示,且第一重编码信息中的每个位置处的内容分别由相应的第二内容编码来表示;以及
根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块。
在一些实施例中,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
分别为第一内容编码、第二地址编码和第二内容编码确定不同的分子模块。
在一些实施例中,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
分别为不同取值的第一内容编码确定不同的分子模块;或
分别为不同取值的第二地址编码确定不同的分子模块;或
分别为不同取值的第二内容编码确定不同的分子模块。
在一些实施例中,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
当第一内容编码具有Nc1种不同取值时,分别为(Nc1-1)种不同取值的第一内容编码确定不同的分子模块,并使剩余的一种取值的第一内容编码不对应于任何分子模块;或
当第二地址编码具有Na2种不同取值时,分别为(Na2-1)种不同取值的第二地址编码确定不同的分子模块,并使剩余的一种取值的第二地址编码不对应于任何分子模块;或
当第二内容编码具有Nc2种不同取值时,分别为(Nc2-1)种不同取值的第二内容编码确定不同的分子模块,并使剩余的一种取值的第二内容编码不对应于任何分子模块。
在一些实施例中,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
分别为第一内容编码、第二地址编码和第二内容编码中的两种编码的不同取值的组合确定不同的分子模块。
在一些实施例中,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
分别为第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块。
在一些实施例中,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
当第二地址编码和第二内容编码的组合具有Nac2种不同取值时,分别为(Nac2-1)种第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第二地址编码和第二内容编码的组合不对应于任何分子模块。
在一些实施例中,按顺序组合所确定的分子模块,以使组合物对应于所述初始信息包括:
在所确定的分子模块的连接端处形成与预设顺序相应的端接部;以及
混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物。
在一些实施例中,作为端接部的分子片段为相应的分子模块的一部分;或者
作为端接部的分子片段在分子模块的确定之后被添加到相应的分子模块上。
在一些实施例中,混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物包括以下中的至少一者:
采用连接酶来按顺序组合所确定的分子模块;
采用设置在分子模块的端部的接头来按顺序组合所确定的分子模块;以及
采用聚合酶链式反应来按顺序组合所确定的分子模块。
在一些实施例中,分子模块包括脱氧核糖核酸、核糖核酸、肽、有机聚合物、有机小分子、碳纳米材料、无机物和间隔设置的分子片段中的至少一者。
在一些实施例中,采用分子模块的序列分布、序列长度、二级结构、结晶或无定型性质和形貌形态中的至少一者来区分各种分子模块。
在一些实施例中,不同的分子模块之间的编辑距离大于或等于预设距离阈值。
根据本公开的第二方面,提供了一种用于在分子中存储信息的方法,所述方法包括:
获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一内容编码进行重编码,以用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;
根据第一地址编码和第二重编码信息来确定相应的分子模块;以及
按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
在一些实施例中,获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息包括:
获取所述初始信息;
确定所述初始信息中的与一个第一地址编码对应的一个位置处的内容的单位位数,其中,在所述初始信息中的每个位置处的内容的单位位数彼此相等;
当所述初始信息的总位数是所述单位位数的整数倍时,将所述初始信息划分为一个或多个初始信息片段;
当所述初始信息的总位数不是所述单位位数的整数倍时,对所述初始信息进行补位,使所得的补位初始信息的总位数是所述单位位数的整数倍,并将所述补位初始信息划分为一个或多个初始信息片段;
其中,每个初始信息片段的位数为所述单位位数。
在一些实施例中,对所述初始信息进行补位包括:
在所述初始信息中补充占位内容,其中,所述初始信息中的占位内容与非占位内容分别对应于不同的分子模块。
在一些实施例中,所述初始信息还包括纠错内容。
在一些实施例中,所述第二预设位数与所述第二预设进制的和小于第一内容编码的不同取值的最大可能种数;以及
所述第二预设进制的所述第二预设位数次幂大于第一内容编码的不同取值的最大可能种数。
在一些实施例中,根据第一地址编码和第二重编码信息来确定相应的分子模块包括:
分别为第一地址编码和第二重编码信息确定不同的分子模块。
在一些实施例中,根据第一地址编码和第二重编码信息来确定相应的分子模块包括:
分别为第二重编码信息中的不同位上的内容确定不同的分子模块;并且
分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。
在一些实施例中,根据第一地址编码和第二重编码信息来确定相应的分子模块包括:
对于每个第二重编码信息,用第三地址编码和第三内容编码来表示该第二重编码信息,其中,第二重编码信息中的每个位置分别由与该位置一一对应的第三地址编码来表示,且第二重编码信息中的每个位置处的内容分别由相应的第三内容编码来表示;以及
根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块。
在一些实施例中,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
分别为第一地址编码、第三地址编码和第三内容编码确定不同的分子模块。
在一些实施例中,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
分别为不同取值的第一地址编码确定不同的分子模块;或
分别为不同取值的第三地址编码确定不同的分子模块;或
分别为不同取值的第三内容编码确定不同的分子模块。
在一些实施例中,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
当第一地址编码具有Na1种不同取值时,分别为(Na1-1)种不同取值的第一地址编码确定不同的分子模块,并使剩余的一种取值的第一地址编码不对应于任何分子模块;或
当第三地址编码具有Na3种不同取值时,分别为(Na3-1)种不同取值的第三地址编码确定不同的分子模块,并使剩余的一种取值的第三地址编码不对应于任何分子模块;或
当第三内容编码具有Nc3种不同取值时,分别为(Nc3-1)种不同取值的第三内容编码确定不同的分子模块,并使剩余的一种取值的第三内容编码不对应于任何分子模块。
在一些实施例中,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
分别为第一地址编码、第三地址编码和第三内容编码中的两种编码的不同取值的组合确定不同的分子模块。
在一些实施例中,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
分别为第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块。
在一些实施例中,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
当第三地址编码和第三内容编码的组合具有Nac3种不同取值时,分别为(Nac3-1)种第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第三地址编码和第三内容编码的组合不对应于任何分子模块。
在一些实施例中,按顺序组合所确定的分子模块,以使组合物对应于所述初始信息包括:
在所确定的分子模块的连接端处形成与预设顺序相应的端接部;以及
混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物。
在一些实施例中,作为端接部的分子片段为相应的分子模块的一部分;或者
作为端接部的分子片段在分子模块的确定之后被添加到相应的分子模块上。
在一些实施例中,混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物包括以下中的至少一者:
采用连接酶来按顺序组合所确定的分子模块;
采用设置在分子模块的端部的接头来按顺序组合所确定的分子模块;以及
采用聚合酶链式反应来按顺序组合所确定的分子模块。
在一些实施例中,分子模块包括脱氧核糖核酸、核糖核酸、肽、有机聚合物、有机小分子、碳纳米材料、无机物和间隔设置的分子片段中的至少一者。
在一些实施例中,采用分子模块的序列分布、序列长度、二级结构、结晶或无定型性质和形貌形态中的至少一者来区分各种分子模块。
在一些实施例中,不同的分子模块之间的编辑距离大于或等于预设距离阈值。
根据本公开的第三方面,提供了一种用于在分子中存储信息的方法,所述方法包括:
获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一地址编码和每个第一内容编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码,并用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;
根据第一重编码信息和第二重编码信息来确定相应的分子模块;以及
按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
在一些实施例中,获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息包括:
获取所述初始信息;
确定所述初始信息中的与一个第一地址编码对应的一个位置处的内容的单位位数,其中,在所述初始信息中的每个位置处的内容的单位位数彼此相等;
当所述初始信息的总位数是所述单位位数的整数倍时,将所述初始信息划分为一个或多个初始信息片段;
当所述初始信息的总位数不是所述单位位数的整数倍时,对所述初始信息进行补位,使所得的补位初始信息的总位数是所述单位位数的整数倍,并将所述补位初始信息划分为一个或多个初始信息片段;
其中,每个初始信息片段的位数为所述单位位数。
在一些实施例中,对所述初始信息进行补位包括:
在所述初始信息中补充占位内容,其中,所述初始信息中的占位内容与非占位内容分别对应于不同的分子模块。
在一些实施例中,所述初始信息还包括纠错内容。
在一些实施例中,所述第一预设位数与所述第一预设进制的和小于第一地址编码的不同取值的最大可能种数,且所述第二预设位数与所述第二预设进制的和小于第一内容编码的不同取值的最大可能种数;以及
所述第一预设进制的所述第一预设位数次幂大于第一地址编码的不同取值的最大可能种数,且所述第二预设进制的所述第二预设位数次幂大于第一内容编码的不同取值的最大可能种数。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第一重编码信息和第二重编码信息确定不同的分子模块。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第一重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块;和/或
分别为第二重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
对于每个第一重编码信息,用第二地址编码和第二内容编码来表示该第一重编码信息,其中,第一重编码信息中的每个位置分别由与该位置一一对应的第二地址编码来表示,且第一重编码信息中的每个位置处的内容分别由相应的第二内容编码来表示;以及
根据第二地址编码和第二内容编码来确定相应的分子模块;和/或
对于每个第二重编码信息,用第三地址编码和第三内容编码来表示该第二重编码信息,其中,第二重编码信息中的每个位置分别由与该位置一一对应的第三地址编码来表示,且第二重编码信息中的每个位置处的内容分别由相应的第三内容编码来表示;以及
根据第三地址编码和第三内容编码来确定相应的分子模块。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第二地址编码、第二内容编码、第三地址编码和第三内容编码确定不同的分子模块。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为不同取值的第二地址编码确定不同的分子模块;或
分别为不同取值的第二内容编码确定不同的分子模块;或
分别为不同取值的第三地址编码确定不同的分子模块;或
分别为不同取值的第三内容编码确定不同的分子模块。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
当第二地址编码具有Na2种不同取值时,分别为(Na2-1)种不同取值的第二地址编码确定不同的分子模块,并使剩余的一种取值的第二地址编码不对应于任何分子模块;或
当第二内容编码具有Nc2种不同取值时,分别为(Nc2-1)种不同取值的第二内容编码确定不同的分子模块,并使剩余的一种取值的第二内容编码不对应于任何分子模块;或
当第三地址编码具有Na3种不同取值时,分别为(Na3-1)种不同取值的第三地址编码确定不同的分子模块,并使剩余的一种取值的第三地址编码不对应于任何分子模块;或
当第三内容编码具有Nc3种不同取值时,分别为(Nc3-1)种不同取值的第三内容编码确定不同的分子模块,并使剩余的一种取值的第三内容编码不对应于任何分子模块。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第二地址编码、第二内容编码、第三地址编码和第三内容编码中的两种编码或三种编码的不同取值的组合确定不同的分子模块。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块;或
分别为第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
当第二地址编码和第二内容编码的组合具有Nac2种不同取值时,分别为(Nac2-1)种第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第二地址编码和第二内容编码的组合不对应于任何分子模块;或
当第三地址编码和第三内容编码的组合具有Nac3种不同取值时,分别为(Nac3-1)种第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第三地址编码和第三内容编码的组合不对应于任何分子模块。
在一些实施例中,按顺序组合所确定的分子模块,以使组合物对应于所述初始信息包括:
在所确定的分子模块的连接端处形成与预设顺序相应的端接部;以及
混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物。
在一些实施例中,作为端接部的分子片段为相应的分子模块的一部分;或者
作为端接部的分子片段在分子模块的确定之后被添加到相应的分子模块上。
在一些实施例中,混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物包括以下中的至少一者:
采用连接酶来按顺序组合所确定的分子模块;
采用设置在分子模块的端部的接头来按顺序组合所确定的分子模块;以及
采用聚合酶链式反应来按顺序组合所确定的分子模块。
在一些实施例中,分子模块包括脱氧核糖核酸、核糖核酸、肽、有机聚合物、有机小分子、碳纳米材料、无机物和间隔设置的分子片段中的至少一者。
在一些实施例中,采用分子模块的序列分布、序列长度、二级结构、结晶或无定型性质和形貌形态中的至少一者来区分各种分子模块。
在一些实施例中,不同的分子模块之间的编辑距离大于或等于预设距离阈值。
根据本公开的第四方面,提供了一种用于在分子中存储信息的设备,所述设备包括:
获取单元,所述获取单元被配置为获取待存储的初始信息;
编码单元,所述编码单元被配置为执行以下操作:
用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一地址编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码;以及
根据第一内容编码和第一重编码信息来确定相应的分子模块。
在一些实施例中,所述设备还包括:
写入器单元,所述写入器单元被配置为按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
根据本公开的第五方面,提供了一种用于在分子中存储信息的设备,所述设备包括:
获取单元,所述获取单元被配置为获取待存储的初始信息;
编码单元,所述编码单元被配置为执行以下操作:
用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一内容编码进行重编码,以用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;以及
根据第一地址编码和第二重编码信息来确定相应的分子模块。
在一些实施例中,所述设备还包括:
写入器单元,所述写入器单元被配置为按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
根据本公开的第六方面,提供了一种用于在分子中存储信息的设备,所述设备包括:
获取单元,所述获取单元被配置为获取待存储的初始信息;
编码单元,所述编码单元被配置为执行以下操作:
用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一地址编码和每个第一内容编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码,并用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;以及
根据第一重编码信息和第二重编码信息来确定相应的分子模块。
在一些实施例中,所述设备还包括:
写入器单元,所述写入器单元被配置为按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出了一种在分子中存储信息的存储形式;
图2示出了根据本公开的一示例性实施例的用于在分子中存储信息的方法的流程示意图;
图3示出了根据本公开的一示例性实施例的用于在分子中存储信息的方法中步骤S100的流程示意图;
图4示出了本公开的一具体示例中在分子中存储信息的存储形式;
图5示出了本公开的另一具体示例中在分子中存储信息的存储形式;
图6示出了根据本公开的另一示例性实施例的用于在分子中存储信息的方法的流程示意图;
图7示出了根据本公开的又一示例性实施例的用于在分子中存储信息的方法的流程示意图;
图8示出了根据本公开的第一具体示例的组合分子模块的示意图;
图9示出了根据本公开的第二具体示例的组合分子模块的示意图;
图10示出了根据本公开的第三具体示例的组合分子模块的示意图;
图11示出了根据本公开的第四具体示例的组合分子模块的示意图;
图12示出了根据本公开的第五具体示例的组合分子模块的示意图;
图13示出了根据本公开的第五具体示例的组合分子模块的示意图;
图14示出了根据本公开的第六具体示例的组合分子模块的示意图;
图15示出了根据本公开的一示例性实施例的用于在分子中存储信息的设备的框图。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在一些情况中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
在分子存储技术中,可以用不同的分子模块来表示待存储的信息中的不同的内容,并通过合成或组合这些分子模块来表示完整的待存储的信息。例如,对于下面的表1中所示的一段二进制信息,其具有共1010位,且每一位上的内容的取值可以为0或者1。相应地,可以用两种不同的分子模块来分别表示内容0和内容1,并用1010种不同的分子模块来分别表示1010个地址,通过按照预设规则来合成或组合上面所述的(2+1010)种分子模块,可以表示表1中所示的这段信息,如图1中所示的存储形式,其中每个小矩形框表示一种分子模块。
表1
内容 1 0 0 1 1 0 0 0 1 0 1
地址 0 1 2 3 4 5 6 7 8 9 1010
然而,可以理解的是,用于存储信息的由1010量级的不同分子模块所形成的分子模块库将是非常庞大的,其实现难度很高,且合成或组合这些分子模块的难度也很高,这会导致将信息写入到分子中变得非常困难。此外,在读取信息时,可能涉及分析鉴别1010量级的不同分子模块,这也是非常困难的。
为了解决上述问题,本公开提出了一种用于在分子中存储信息的方法,通过对待存储的初始信息进行重编码,极大程度地减少了所需的分子模块的种数,从而可以降低读写难度,改善读写效率。如图2、图6和图7所示,在本公开的示例性实施例中,该方法可以包括:
步骤S100,获取待存储的初始信息,并用第一地址编码和第一内容编码来表示初始信息。
其中,初始信息可以包括各种形式的信息,例如文字信息、图片信息、音频信息或视频信息等。在信息技术中,可以方便地将上述各种形式的信息转换为例如二进制编码等。在后文中,将以初始信息为二进制编码的信息为例,详细阐述本公开的技术方案。然而可以理解的是,根据需要,初始信息也可以是其他进制编码的信息。
此外,在一些实施例中,初始信息中还可以包括预先设置的纠错内容。例如,可以通过在原来的信息中引入线性纠删码(例如,RS-code)作为纠错内容来实现纠错的功能。线性纠删码可以是基于原来的信息计算而得的。在一具体示例中,假设原来的信息为“110111101”,那么在一种计算方式中,所得的线性纠删码为“010”,则包含了纠错内容的初始信息可以被表示为“110111101010”,其中计算所得的线性纠删码“010”被添加在原来的信息的尾部。可以理解的是,纠错内容也可以是采用其它方式获得的,且可以被添加在相对于原来的信息的其它位置上,这里不作限制。
进一步地,可以用第一地址编码和第一内容编码来表示获取到的初始信息,其中,初始信息中的每个位置可以分别由与该位置一一对应的第一地址编码来表示,且初始信息的每个位置处的内容可以分别由相应的第一内容编码来表示。
在一些实施例中,如图3所示,获取待存储的初始信息,并用第一地址编码和第一内容编码来表示初始信息可以包括:
步骤S101,获取初始信息;
步骤S102,确定初始信息中的与一个第一地址编码对应的一个位置处的内容的单位位数;
步骤S103,当初始信息的总位数是单位位数的整数倍时,将初始信息划分为一个或多个初始信息片段;
步骤S104,当初始信息的总位数不是单位位数的整数倍时,对初始信息进行补位,使所得的补位初始信息的总位数是单位位数的整数倍,并将补位初始信息划分为一个或多个初始信息片段。
其中,在初始信息中的每个位置处的内容的单位位数彼此相等,且每个初始信息片段的位数为单位位数。也就是说,在用第一地址编码和第一内容编码来表示初始信息时,将初始信息划分为各自具有单位位数的一个或多个初始信息片段,并赋予每个初始信息片段相应的第一地址编码和第一内容编码,以便后续的处理。
当初始信息的总位数不是单位位数的整数倍时,可以在初始信息中补充占位内容,其中,初始信息中的占位内容与非占位内容可以分别对应于不同的分子模块。具体而言,可以在初始信息的头部、尾部和中间的一处或多处补充占位内容(在一些实施例中,该占位内容可以用“0”来表示,但要注意的是,用于补位的“0”和初始信息中原有的“0”是不同的,相应地也要用不同的分子模块来表示这两种不同的“0”,在本文中,以下划线标出作为占位内容的“0”)。由于初始信息中的占位内容与非占位内容分别对应于不同的分子模块,因此在读取信息时可以方便地进行区分。例如,如果初始信息为“1001100010110001”,单位位数为3,即初始信息的总位数16不是单位位数3的整数倍时,那么可以在初始信息的头部补充占位内容,所得的补位初始信息为“001001100010110001”。或者,可以在初始信息的尾部补充占位内容,所得的补位初始信息可以被表示为“100110001011000100”。此外,可以理解的是,在一些实施例中,当可以采用其他方式来区分占位内容与非占位内容时(例如,可以将位于信息的头部的一个或多个“0”直接视为占位内容),也可以用相同的分子模块来表示占位内容和非占位内容。
单位位数,或者说对初始信息的不同划分方式可以是根据需要来确定的。例如,对于初始信息“1001100010110001”,可以将其划分为如下面的表2至表8中所示的不同的初始信息片段:
表2
第一内容编码 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1
第一地址编码 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
在表2所示的具体示例中,初始信息片段的单位位数为1。第一地址编码可以包括“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“11”、“12”、“13”、“14”和“15”共16种,而第一内容编码可以包括“0”和“1”共2种。
表3
第一内容编码 10 01 10 00 10 11 00 01
第一地址编码 0 1 2 3 4 5 6 7
在表3所示的具体示例中,初始信息片段的单位位数为2。第一地址编码可以包括“0”、“1”、“2”、“3”、“4”、“5”、“6”和“7”共8种,而第一内容编码可以包括“00”、“01”、“10”和“11”共4种。
表4
第一内容编码 001 001 100 010 110 001
第一地址编码 0 1 2 3 4 5
表5
第一内容编码 100 110 001 011 000 100
第一地址编码 0 1 2 3 4 5
在表4和表5所示的具体示例中,初始信息片段的单位位数为3。由于初始信息的总位数不是单位位数的整数倍,在表4中,在初始信息的头部补充了作为占位内容的两个“0”,以使所得的补位初始信息的总位数是单位位数的整数倍,以便于划分。第一地址编码可以包括“0”、“1”、“2”、“3”、“4”和“5”共6种,而相应的第一内容编码可以包括“001”、“010”、“100”和“110”共4种。此外,当以这种方式来表示其他具体的初始信息时,第一内容编码还可能包括“000”、“011”、“101”和“111”中的一种或多种。
另外,如表5中所示,可以通过在初始信息的尾部补充占位内容来使补位初始信息的总位数是单位位数的整数倍。需要注意的是,这里用“0”表示了占位内容,但也可以用其它字符来表示,且用于占位的“0”和初始信息中的其它“0”具有不同的含义,在后续步骤中,可以用不同的分子模块来分别表示。
表6
第一内容编码 1001 1000 1011 0001
第一地址编码 0 1 2 3
在表6所示的具体示例中,初始信息片段的单位位数为4。第一地址编码可以包括“0”、“1”、“2”和“3”共4种,而相应的第一内容编码可以包括“1001”、“1000”、“1011”和“0001”。可以理解的是,在其它具体示例中,第一内容编码也可能是其它的四位二进制数,这里不再枚举。
表7
第一内容编码 10011000 10110001
第一地址编码 0 1
在表7所示的具体示例中,初始信息片段的单位位数为8。第一地址编码可以包括“0”和“1”共2种,而相应的第一内容编码可以包括“10011000”和“10110001”。可以理解的是,在其它具体示例中,第一内容编码也可能是其它的八位二进制数,这里不再枚举。
表8
第一内容编码 1001100010110001
第一地址编码 0
在表8所示的具体示例中,初始信息片段的单位位数为16。第一地址编码可以包括“0”共1种,而相应的第一内容编码可以包括“1001100010110001”。可以理解的是,在其它具体示例中,第一内容编码也可能是其它的十六位二进制数,这里不再枚举。
此外,第一地址编码和第一内容编码也可以被转换为其它进制,八进制、十进制、十六进制等。
返回图2,在本公开的一示例性实施例中,用于在分子中存储信息的方法还可以包括:
步骤S210,分别对每个第一地址编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码;
步骤S310,根据第一内容编码和第一重编码信息来确定相应的分子模块。
在一些实施例中,第一预设位数B1与第一预设进制S1的和(B1+S1)可以小于第一地址编码的不同取值的最大可能种数,以有效地减小表征第一地址编码所需的分子模块的总数目。并且,第一预设进制的第一预设位数次幂(S1B1)可以大于初始信息的第一地址编码的不同取值的最大可能种数,从而使得第一重编码信息能够表示所有可能出现的第一地址编码,以保障编码的可靠性。
例如,利用3位2进制的第一重编码信息,可以用5(即,3+2)个不同的分子模块来表示共8(即,23)个不同的第一地址编码;利用4位2进制的第一重编码信息,可以用6(即,4+2)个不同的分子模块来表示共16(即,24)个不同的第一地址编码;利用5位2进制的第一重编码信息,可以用7(即,5+2)个不同的分子模块来表示共32(即,25)个不同的第一地址编码;利用5位3进制的第一重编码信息,可以用8(即,5+3)个不同的分子模块来表示共243(即,35)个不同的第一地址编码;利用10位10进制的第一重编码信息,可以用20(即,10+10)个不同的分子模块来表示共1010个不同的第一地址编码。由此可见,通过重编码,当需要表示的第一地址编码的数目发生指数增长时,只需要线性增加分子模块的数量即可,因而大幅地压缩了所需的分子模块的种类。
进一步地,可以基于第一内容编码和第一重编码信息来确定相应的分子模块。具体而言,可以分别为第一内容编码和第一重编码信息确定不同的分子模块。
在一些实施例中,在为第一重编码信息确定相应的分子模块时,可以分别为第一重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块。需要注意的是,在这样的实施例中,对于第一重编码信息中的在不同位置上的相同内容,也会用不同的分子模块来表示,以将位置信息包含在分子模块中,从而区分位于不同位置上的相同内容。
例如,在一具体示例中,当所获取的初始信息为“10011000”时,可以按照上文所述的方式将其表示为如下面的表9中所示的形式:
表9
第一内容编码 1 0 0 1 1 0 0 0
第一地址编码 0 1 2 3 4 5 6 7
进一步地,可以将其中的每个第一地址编码重编码为3位2进制的第一重编码信息,如下面的表10所示:
表10
第一内容编码 1 0 0 1 1 0 0 0
第一地址编码 0 1 2 3 4 5 6 7
第一重编码信息 000 001 010 011 100 101 110 111
相应地,可以分别用分子模块A1和分子模块A2来表示两种不同的第一内容编码“0”和“1”,分别用分子模块B1和分子模块B2来表示第一重编码信息中的第一位上的“0”和“1”,分别用分子模块B3和分子模块B4来表示第一重编码信息中的第二位上的“0”和“1”,并分别用分子模块B5和分子模块B6来表示第一重编码信息中的第三位上的“0”和“1”,其中,分子模块A1、分子模块A2、分子模块B1、分子模块B2、分子模块B3、分子模块B4、分子模块B5和分子模块B6为分子或分子片段,且它们两两各不相同。这样,共需要8种不同的分子模块来表示8位2进制的初始信息。可以看到,虽然分子模块B1、B3和B5都表示“0”,但由于其表示第一重编码信息中的不同位置上的“0”,因此它们是彼此不同的,以区分不同位置上的“0”。类似地,表示不同位置上的“1”的分子模块B2、B4和B6也是彼此不同的。
在一具体示例中,组合后所得的存储形式可以如图4中所示。其中,以第一行为例,从左往右的第一个至第四个分子模块分别表示初始信息的第一位“1”的第一内容编码、第一地址编码的第一重编码信息中的第一位上的“0”、第一地址编码的第一重编码信息中的第二位上的“0”和第一地址编码的第一重编码信息中的第三位上的“0”。以此类推,第一行中的第一条链对应于初始信息“10011000”中的第1位“1”,第二行中的第二条链对应于初始信息“10011000”中的第2位“0”,第三行中的第三条链对应于初始信息“10011000”中的第3位“0”,第四行中的第四条链对应于初始信息“10011000”中的第4位“1”,第五行中的第五条链对应于初始信息“10011000”中的第5位“1”,第六行中的第六条链对应于初始信息“10011000”中的第6位“0”,第七行中的第七条链对应于初始信息“10011000”中的第7位“0”,第八行中的第八条链对应于初始信息“10011000”中的第8位“0”。每行中的每类分子链可以被混合在一起,或者也可以首尾相连形成更长的分子链来表示初始信息。
在另一些实施例中,根据第一内容编码和第一重编码信息来确定相应的分子模块可以包括:
对于每个第一重编码信息,用第二地址编码和第二内容编码来表示该第一重编码信息,其中,第一重编码信息中的每个位置可以分别由与该位置一一对应的第二地址编码来表示,且第一重编码信息中的每个位置处的内容可以分别由相应的第二内容编码来表示;以及
根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块。
如同上文所述的具体示例,当所获取的初始信息为“10011000”时,可以用第二地址编码和第二内容编码来分别表示每个第一重编码信息,如下面的表11所示:表11
其中,第一内容编码具有“0”和“1”两种不同的取值,第二地址编码具有“0”、“1”和“2”三种不同的取值,而第二内容编码具有“0”和“1”两种不同的取值。
进一步地,在一些实施例中,可以分别为第一内容编码、第二地址编码和第二内容编码确定不同的分子模块,以区分这三种编码。
例如,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块可以包括:
分别为不同取值的第一内容编码确定不同的分子模块;或
分别为不同取值的第二地址编码确定不同的分子模块;或
分别为不同取值的第二内容编码确定不同的分子模块。
例如,在上面表11所示的具体示例中,可以分别用分子模块A1和分子模块A2来表示两种不同的第一内容编码“0”和“1”,用分子模块A3和分子模块A4来表示两种不同的第二内容编码“0”和“1”,并用分子模块A5、分子模块A6和分子模块A7来表示三种不同的第二地址编码“0”、“1”和“2”,其中,分子模块A1、分子模块A2、分子模块A3、分子模块A4、分子模块A5、分子模块A6和分子模块A7为分子或分子片段,且它们两两各不相同。这样,共需要7种不同的分子模块来表示8位2进制的初始信息。
在本公开的另一具体示例中,组合后所得的存储形式可以如图5中所示。其中,以第一行为例,从左往右的第一个至第七个分子模块分别表示初始信息的第一位“1”的第一内容编码、第一位“1”的第一位第二内容编码“0”和对应的第一位第二地址编码“0”、第一位的第二位第二内容编码“0”和对应的第二位第二地址编码“1”、第一位的第三位第二内容编码“0”和对应的第三位第二地址编码“2”。以此类推,第一行中的第一条链对应于初始信息“10011000”中的第1位“1”,第二行中的第二条链对应于初始信息“10011000”中的第2位“0”,第三行中的第三条链对应于初始信息“10011000”中的第3位“0”,第四行中的第四条链对应于初始信息“10011000”中的第4位“1”,第五行中的第五条链对应于初始信息“10011000”中的第5位“1”,第六行中的第六条链对应于初始信息“10011000”中的第6位“0”,第七行中的第七条链对应于初始信息“10011000”中的第7位“0”,第八行中的第八条链对应于初始信息“10011000”中的第8位“0”。每行中的每类分子链可以被混合在一起,或者也可以首尾相连形成更长的分子链以表示初始信息。
或者,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块可以包括:
当第一内容编码具有Nc1种不同取值时,分别为(Nc1-1)种不同取值的第一内容编码确定不同的分子模块,并使剩余的一种取值的第一内容编码不对应于任何分子模块;或
当第二地址编码具有Na2种不同取值时,分别为(Na2-1)种不同取值的第二地址编码确定不同的分子模块,并使剩余的一种取值的第二地址编码不对应于任何分子模块;或
当第二内容编码具有Nc2种不同取值时,分别为(Nc2-1)种不同取值的第二内容编码确定不同的分子模块,并使剩余的一种取值的第二内容编码不对应于任何分子模块。
也就是说,某一取值的一种编码可以不对应于任何分子模块,而是用缺失状态来表示,这可以减少所需的分子模块的不同种类的数目。
例如,在上面表11所示的具体示例中,可以用分子模块A1来表示第一内容编码“0”,而用缺失状态来表示第一内容编码“1”,即没有任何分子模块来表示第一内容编码“1”。此外,可以类似地用分子模块A3和分子模块A4来表示两种不同取值的第二内容编码“0”和“1”,并用分子模块A5、分子模块A6和分子模块A7来表示三种不同取值的第二地址编码“0”、“1”和“2”,其中,分子模块A1、分子模块A3、分子模块A4、分子模块A5、分子模块A6和分子模块A7为分子或分子片段,且它们两两各不相同。这样,共需要6种不同的分子模块来表示8位2进制的初始信息。
在一些实施例中,也可以分别为第一内容编码、第二地址编码和第二内容编码中的两种编码的不同取值的组合确定不同的分子模块。
在一具体示例中,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块可以包括:
分别为第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块。
例如,在上面表11所示的具体示例中,可以用分子模块A8来表示第二内容编码为“0”且第二地址编码为“0”的组合,用分子模块A9来表示第二内容编码为“0”且第二地址编码为“1”的组合,用分子模块A10来表示第二内容编码为“0”且第二地址编码为“2”的组合,用分子模块A11来表示第二内容编码为“1”且第二地址编码为“0”的组合,用分子模块A12来表示第二内容编码为“1”且第二地址编码为“1”的组合,以及用分子模块A13来表示第二内容编码为“1”且第二地址编码为“2”的组合。结合表示第一内容编码的分子模块A1和分子模块A2,也可以完整地表示表11中的初始信息。这样,共需要8种不同的分子模块来表示8位2进制的初始信息。
可以理解的是,也可以分别为第一地址编码和第二地址编码的不同取值的组合确定不同的分子模块,并结合表示第二内容编码的分子模块来表示初始信息;或者也可以分别为第一地址编码和第二内容编码的不同取值的组合确定不同的分子模块,并结合表示第二地址编码的分子模块来表示初始信息。
类似地,可以用缺失状态来表示第一内容编码、第二地址编码和第二内容编码中的一种两编码组合的一种取值。例如,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块可以包括:
当第二地址编码和第二内容编码的组合具有Nac2种不同取值时,分别为(Nac2-1)种第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第二地址编码和第二内容编码的组合不对应于任何分子模块。
例如,在上面表11所示的具体示例中,可以用缺失状态来表示第二内容编码为“0”且第二地址编码为“0”的组合,用分子模块A9来表示第二内容编码为“0”且第二地址编码为“1”的组合,用分子模块A10来表示第二内容编码为“0”且第二地址编码为“2”的组合,用分子模块A11来表示第二内容编码为“1”且第二地址编码为“0”的组合,用分子模块A12来表示第二内容编码为“1”且第二地址编码为“1”的组合,以及用分子模块A13来表示第二内容编码为“1”且第二地址编码为“2”的组合。结合表示第一内容编码的分子模块A1和分子模块A2,也可以完整地表示表11中的初始信息。这样,共需要7种不同的分子模块来表示8位2进制的初始信息。
如图6所示,在本公开的另一示例性实施例中,也可以对第一内容编码进行重编码。具体而言,用于在分子中存储信息的方法可以包括:
步骤S220,分别对每个第一内容编码进行重编码,以用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;以及
步骤S320,根据第一地址编码和第二重编码信息来确定相应的分子模块。
在一些实施例中,第二预设位数B2与第二预设进制S2的和(B2+S2)可以小于第一内容编码的不同取值的最大可能种数,以有效地减小表征第一内容编码所需的分子模块的总数目。并且,第二预设进制的第二预设位数次幂(S2B2)可以大于第一内容编码的不同取值的最大可能种数,从而使得第二重编码信息能够表示所有可能出现的第一内容编码,以保障编码的可靠性。例如在初始信息片段的单位位数较大的情况下,如果直接遍历所有不同取值的第一内容编码来选取相应的分子模块,则用来表示第一内容编码所需的分子模块的数目较大,因此可以对第一内容编码进行重编码以获得第二重编码信息,以减小用来表示第一内容编码所需的数目。
例如,利用3位2进制的第二重编码信息,可以用5(即,3+2)个不同的分子模块来表示共8(即,23)个不同的第一内容编码;利用4位2进制的第二重编码信息,可以用6(即,4+2)个不同的分子模块来表示共16(即,24)个不同的第一内容编码;利用5位2进制的第二重编码信息,可以用7(即,5+2)个不同的分子模块来表示共32(即,25)个不同的第一内容编码;利用5位3进制的第二重编码信息,可以用8(即,5+3)个不同的分子模块来表示共243(即,35)个不同的第一内容编码;利用10位10进制的第二重编码信息,可以用20(即,10+10)个不同的分子模块来表示共1010个不同的第一内容编码。由此可见,通过重编码,当需要表示的第一内容编码的数目发生指数增长时,只需要线性增加分子模块的数量即可,因而大幅地压缩了所需的分子模块的种类。
进一步地,可以基于第一地址编码和第二重编码信息来确定相应的分子模块。具体而言,可以分别为第一地址编码和第二重编码信息确定不同的分子模块。
在一些实施例中,在为第二重编码信息确定相应的分子模块时,可以分别为第二重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。需要注意的是,在这样的实施例中,对于第二重编码信息中的在不同位置上的相同内容,将会用不同的分子模块来表示,以将位置信息包含在分子模块中,从而区分位于不同位置上的相同内容。
在另一些实施例中,根据第一地址编码和第二重编码信息来确定相应的分子模块可以包括:
对于每个第二重编码信息,用第三地址编码和第三内容编码来表示该第二重编码信息,其中,第二重编码信息中的每个位置可以分别由与该位置一一对应的第三地址编码来表示,且第二重编码信息中的每个位置处的内容可以分别由相应的第三内容编码来表示;以及
根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块。
例如,当所获取的初始信息为“10011000”时,可以按照上文所述的方式将其表示为如下面的表12中所示的形式:
表12
第一内容编码 10 01 10 00
第一地址编码 0 1 2 3
进一步地,可以将其中的每个第一内容编码重编码,并用第三地址编码和第三内容编码来表示,如下面的表13所示:
表13
其中,第三地址编码具有“0”和“1”两种不同的取值,第三内容编码具有“0”和“1”两种不同的取值,且第一地址编码具有“0”、“1”、“2”和“3”共四种不同的取值。
进一步地,在一些实施例中,可以分别为第一地址编码、第三地址编码和第三内容编码确定不同的分子模块,以区分这三种编码。
其中,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块可以包括:
分别为不同取值的第一地址编码确定不同的分子模块;或
分别为不同取值的第三地址编码确定不同的分子模块;或
分别为不同取值的第三内容编码确定不同的分子模块。
例如,在上面表13所示的具体示例中,可以分别用分子模块A14、分子模块A15、分子模块A16和分子模块A17来表示四种不同的第一地址编码“0”、“1”、“2”和“3”,用分子模块A18和分子模块A19来表示两种不同的第三内容编码“0”和“1”,并用分子模块A20和分子模块A21来表示两种不同的第三地址编码“0”和“1”,其中,分子模块A14、分子模块A15、分子模块A16、分子模块A17、分子模块A18、分子模块A19、分子模块A20和分子模块A21为分子或分子片段,且它们两两各不相同。这样,共需要8种不同的分子模块来表示8位2进制的初始信息。
或者,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块可以包括:
当第一地址编码具有Na1种不同取值时,分别为(Na1-1)种不同取值的第一地址编码确定不同的分子模块,并使剩余的一种取值的第一地址编码不对应于任何分子模块;或
当第三地址编码具有Na3种不同取值时,分别为(Na3-1)种不同取值的第三地址编码确定不同的分子模块,并使剩余的一种取值的第三地址编码不对应于任何分子模块;或
当第三内容编码具有Nc3种不同取值时,分别为(Nc3-1)种不同取值的第三内容编码确定不同的分子模块,并使剩余的一种取值的第三内容编码不对应于任何分子模块。
也就是说,某一取值的一种编码可以不对应于任何分子模块,而是用缺失状态来表示,这可以减少所需的分子模块的不同种类的数目。
例如,在上面表13所示的具体示例中,可以用缺失状态来表示第一地址编码“0”,即没有任何分子模块对应于第一地址编码“0”,并分别用分子模块A15、分子模块A16和分子模块A17来表示其它三种不同的第一地址编码“1”、“2”和“3”。此外,可以类似地用分子模块A18和分子模块A19来表示两种不同的第三内容编码“0”和“1”,并用分子模块A20和分子模块A21来表示两种不同的第三地址编码“0”和“1”,其中,分子模块A15、分子模块A16、分子模块A17、分子模块A18、分子模块A19、分子模块A20和分子模块A21为分子或分子片段,且它们两两各不相同。这样,共需要7种不同的分子模块来表示8位2进制的初始信息。
在一些实施例中,也可以分别为第一地址编码、第三地址编码和第三内容编码中的两种编码的不同取值的组合确定不同的分子模块。
在一具体示例中,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块可以包括:
分别为第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块。
例如,在上面表13所示的具体示例中,可以用分子模块A22来表示第三内容编码为“0”且第三地址编码为“0”的组合,用分子模块A23来表示第三内容编码为“0”且第三地址编码为“1”的组合,用分子模块A24来表示第三内容编码为“1”且第三地址编码为“0”的组合,用分子模块A25来表示第三内容编码为“1”且第三地址编码为“1”的组合。结合表示第一地址编码的分子模块A14、分子模块A15、分子模块A16和分子模块A17,也可以完整地表示表13中的初始信息。这样,共需要8种不同的分子模块来表示8位2进制的初始信息。
可以理解的是,也可以分别为第一地址编码和第三地址编码的不同取值的组合确定不同的分子模块,并结合表示第三内容编码的分子模块来表示初始信息;或者也可以分别为第一地址编码和第三内容编码的不同取值的组合确定不同的分子模块,并结合表示第三地址编码的分子模块来表示初始信息。
类似地,可以用缺失状态来表示第一地址编码、第三地址编码和第三内容编码中的一种两编码组合的一种取值。例如,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块可以包括:
当第三地址编码和第三内容编码的组合具有Nac3种不同取值时,分别为(Nac3-1)种第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第三地址编码和第三内容编码的组合不对应于任何分子模块。
例如,在上面表13所示的具体示例中,可以用缺失状态来表示第三内容编码为“0”且第三地址编码为“0”的组合,用分子模块A23来表示第三内容编码为“0”且第三地址编码为“1”的组合,用分子模块A24来表示第三内容编码为“1”且第三地址编码为“0”的组合,用分子模块A25来表示第三内容编码为“1”且第三地址编码为“1”的组合。结合表示第一地址编码的分子模块A14、分子模块A15、分子模块A16和分子模块A17,也可以完整地表示表13中的初始信息。这样,共需要7种不同的分子模块来表示8位2进制的初始信息。
在本公开的又一示例性实施例中,也可以对第一地址编码和第一内容编码两者都进行重编码。具体而言,如图7所示,用于在分子中存储信息的方法可以包括:
步骤S230,分别对每个第一地址编码和每个第一内容编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码,并用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;
步骤S330,根据第一重编码信息和第二重编码信息来确定相应的分子模块。
如上文所描述的,在一些实施例中,第一预设位数与第一预设进制的和(B1+S1)可以小于第一地址编码的不同取值的最大可能种数,以及第二预设位数与第二预设进制的和(B2+S2)可以小于第一内容编码的不同取值的最大可能种数,以有效地减小表征第一地址编码和第一内容编码所需的分子模块的总数目。此外,第一预设进制的第一预设位数次幂(S1B1)可以大于第一地址编码的不同取值的最大可能种数,以及第二预设进制的第二预设位数次幂(S2B2)可以大于第一内容编码的不同取值的最大可能种数,从而使第一重编码信息和第二重编码信息能够分别表示所有可能出现的第一地址编码和第一内容编码,以保障编码的可靠性。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块可以包括:
分别为第一重编码信息和第二重编码信息确定不同的分子模块。
如上文所述的,在一些实施例中,可以分别为第一重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块。
类似地,在一些实施例中,可以分别为第二重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块,如上文所述。
在一些实施例中,也可以进一步用第二地址编码和第二内容编码来表示第一重编码信息,其中,第一重编码信息中的每个位置可以分别由与该位置一一对应的第二地址编码来表示,且第一重编码信息中的每个位置处的内容可以分别由相应的第二内容编码来表示,如上文所述。
类似地,在一些实施例中,可以进一步用第三地址编码和第三内容编码来表示第二重编码信息,其中,第二重编码信息中的每个位置可以分别由与该位置一一对应的第三地址编码来表示,且第二重编码信息中的每个位置处的内容可以分别由相应的第三内容编码来表示,如上文所述。
可以理解的是,在一具体示例中,可以分别为第一重编码信息中的不同位上的内容确定不同的分子模块,且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块,并且分别为第二重编码信息中的不同位上的内容确定不同的分子模块,且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。此外,分别与第一重编码信息和第二重编码信息对应的分子模块可以为不同的分子或分子片段。
在另一具体示例中,可以分别为第一重编码信息中的不同位上的内容确定不同的分子模块,且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块,并且对于每个第二重编码信息,可以用第三地址编码和第三内容编码来表示该第二重编码信息,且根据第三地址编码和第三内容编码来确定相应的分子模块。此外,分别与第一重编码信息、第三地址编码和第三内容编码对应的分子模块可以为不同的分子或分子片段。
在又一具体示例中,对于每个第一重编码信息,可以用第二地址编码和第二内容编码来表示该第一重编码信息,且根据第二地址编码和第二内容编码来确定相应的分子模块,并且分别为第二重编码信息中的不同位上的内容确定不同的分子模块,且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。此外,分别与第二地址编码、第二内容编码和第二重编码信息对应的分子模块可以为不同的分子或分子片段。
在再一具体示例中,对于每个第一重编码信息,可以用第二地址编码和第二内容编码来表示该第一重编码信息,且根据第二地址编码和第二内容编码来确定相应的分子模块,并且对于每个第二重编码信息,可以用第三地址编码和第三内容编码来表示该第二重编码信息,且根据第三地址编码和第三内容编码来确定相应的分子模块。
例如,当所获取的初始信息为“10011000”时,可以按照上文所述的方式将其表示为如表12中所示的形式。进一步地,可以将其中的每个第一地址编码和每个第一内容编码重编码,并用第二地址编码和第二内容编码来表示第一重编码信息,用第三地址编码和第三内容编码来表示第二重编码信息,如下面的表14中所示:
表14
其中,第二内容编码、第二地址编码、第三内容编码和第三地址编码各自具有“0”和“1”两种不同的取值。
进一步地,可以分别为第二地址编码、第二内容编码、第三地址编码和第三内容编码确定不同的分子模块,以区分这些编码。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块可以包括:
分别为不同取值的第二地址编码确定不同的分子模块;或
分别为不同取值的第二内容编码确定不同的分子模块;或
分别为不同取值的第三地址编码确定不同的分子模块;或
分别为不同取值的第三内容编码确定不同的分子模块。
例如,在上面表14所示的具体示例中,可以分别用分子模块A5和分子模块A6来表示两种不同的第二地址编码“0”和“1”,用分子模块A3和分子模块A4来表示两种不同的第二内容编码“0”和“1”,用分子模块A20和分子模块A21表示两种不同的第三地址编码“0”和“1”,并用分子模块A18和分子模块A19来表示两种不同的第三内容编码“0”和“1”,其中,分子模块A5、分子模块A6、分子模块A3、分子模块A4、分子模块A20、分子模块A21、分子模块A18和分子模块A19为分子或分子片段,且它们两两各不相同。这样,共需要8种不同的分子模块来表示8位2进制的初始信息。
或者,根据第一重编码信息和第二重编码信息来确定相应的分子模块可以包括:
当第二地址编码具有Na2种不同取值时,分别为(Na2-1)种不同取值的第二地址编码确定不同的分子模块,并使剩余的一种取值的第二地址编码不对应于任何分子模块;或
当第二内容编码具有Nc2种不同取值时,分别为(Nc2-1)种不同取值的第二内容编码确定不同的分子模块,并使剩余的一种取值的第二内容编码不对应于任何分子模块;或
当第三地址编码具有Na3种不同取值时,分别为(Na3-1)种不同取值的第三地址编码确定不同的分子模块,并使剩余的一种取值的第三地址编码不对应于任何分子模块;或
当第三内容编码具有Nc3种不同取值时,分别为(Nc3-1)种不同取值的第三内容编码确定不同的分子模块,并使剩余的一种取值的第三内容编码不对应于任何分子模块。
也就是说,一种编码的一种取值可以不对应于任何分子模块,而是用缺失状态来表示,这可以减少所需的分子模块的种类数目。
例如,在上面表14所示的具体示例中,可以用缺失状态来表示第二地址编码“0”,即没有任何分子模块对应于第二地址编码“0”,并用分子模块A6来表示第二地址编码“1”,用分子模块A3和分子模块A4来表示两种不同的第二内容编码“0”和“1”,用分子模块A20和分子模块A21表示两种不同的第三地址编码“0”和“1”,用分子模块A18和分子模块A19来表示两种不同的第三内容编码“0”和“1”,其中,分子模块A6、分子模块A3、分子模块A4、分子模块A20、分子模块A21、分子模块A18和分子模块A19为分子或分子片段,且它们两两各不相同。这样,共需要7种不同的分子模块来表示8位2进制的初始信息。
在一些实施例中,也可以分别为第二地址编码、第二内容编码、第三地址编码和第三内容编码中的两种编码或三种编码的不同取值的组合确定不同的分子模块。
在一具体示例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块可以包括:
分别为第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块;或
分别为第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块。
例如,在上面表14所示的具体示例中,可以用分子模块A8来表示第二内容编码为“0”且第二地址编码为“0”的组合,用分子模块A9来表示第二内容编码为“0”且第二地址编码为“1”的组合,用分子模块A11来表示第二内容编码为“1”且第二地址编码为“0”的组合,用分子模块A12来表示第二内容编码为“1”且第二地址编码为“1”的组合。此外,还可以用分子模块A22来表示第三内容编码为“0”且第三地址编码为“0”的组合,用分子模块A23来表示第三内容编码为“0”且第三地址编码为“1”的组合,用分子模块A24来表示第三内容编码为“1”且第三地址编码为“0”的组合,用分子模块A25来表示第三内容编码为“1”且第三地址编码为“1”的组合。
在一些实施例中,可以用分子模块A8、分子模块A9、分子模块A10、分子模块A11、分子模块A22、分子模块A23、分子模块A24和分子模块A25来表示8位2进制的初始信息。或者,可以用分子模块A8、分子模块A9、分子模块A10、分子模块A11、分子模块A20、分子模块A21、分子模块A18和分子模块A19来表示8位2进制的初始信息。又或者,可以用分子模块A3、分子模块A4、分子模块A5、分子模块A6、分子模块A22、分子模块A23、分子模块A24和分子模块A25来表示8位2进制的初始信息。
可以理解的是,也可以基于第二地址编码、第二内容编码、第三地址编码和第三内容编码中的其它两种或三种编码的组合来确定相应的分子模块,在此不再赘述。
类似地,可以用缺失状态来表示第二地址编码、第二内容编码、第三地址编码和第三内容编码中的一种组合的一种取值。在一具体示例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块可以包括:
当第二地址编码和第二内容编码的组合具有Nac2种不同取值时,分别为(Nac2-1)种第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第二地址编码和第二内容编码的组合不对应于任何分子模块;或
当第三地址编码和第三内容编码的组合具有Nac3种不同取值时,分别为(Nac3-1)种第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第三地址编码和第三内容编码的组合不对应于任何分子模块。
例如,在上面表14所示的具体示例中,可以用缺失状态来表示第三内容编码为“0”且第三地址编码为“0”的组合,用分子模块A23来表示第三内容编码为“0”且第三地址编码为“1”的组合,用分子模块A24来表示第三内容编码为“1”且第三地址编码为“0”的组合,用分子模块A25来表示第三内容编码为“1”且第三地址编码为“1”的组合。结合表示第二内容编码和第二地址编码的不同取值的组合的分子模块A10、分子模块A11、分子模块A12和分子模块A13,也可以完整地表示表14中的初始信息。这样,共需要7种不同的分子模块来表示8位2进制的初始信息。
进一步地,如图2、图6和图7所示,用于在分子中存储信息的方法还可以包括:
步骤S400,按顺序组合所确定的分子模块,以使组合物对应于初始信息。
在本公开的示例性实施例中,分子模块可以包括脱氧核糖核酸(DNA)、核糖核酸(RNA)、肽、有机聚合物、有机小分子、碳纳米材料、无机物等。在存储信息时,涉及表示内容编码和地址编码的不同分子模块的组合,这些分子模块之间可以以共价键、离子键、氢键、分子间作用力、疏水作用力、碱基互补配对等作用方式被组合在一起。
其中,表示同一种内容编码或地址编码的不同取值的不同分子模块可以是同种类型的分子模块,例如都为DNA。或者,表示同一种内容编码或地址编码的不同取值的不同分子模块可以是不同类型的分子模块,例如分别用一种DNA和一种RNA来表示一种内容编码的两种不同取值。此外,表示不同种类的内容编码或地址编码的分子模块可以是同种类型的分子模块,例如用不同的RNA来表示所有的内容编码和地址编码。或者,可以用不同类型的分子模块来分别表示不同种类的内容编码和地址编码,例如用RNA表示内容编码、用DNA表示地址编码等。
此外,不同的分子模块可以采用其序列分布、序列长度和二级结构中的至少一者来区分。例如,可以用DNA、RNA、肽、有机聚合物的不同序列、不同长度或不同二级结构来表示不同编码的不同取值。此外,也可以用DNA、RNA、肽、有机聚合物、有机小分子、碳纳米材料、无机物的不同的化学形式、物理性质、结晶或无定型性质以及形貌形态来表示不同编码的不同取值。
进一步地,对分子模块进行组合所得的组合物可以是混合物或化合物。例如,组合物可以包括多种不同的DNA链,这些DNA链可以分别表示初始信息中的一个或多个初始信息片段,它们混合在一起表示完整的初始信息。或者,也可以将表示各种初始信息片段的DNA链进一步合成为更长的DNA链,以化合物的形式来表示完整的初始信息。
在按顺序来组合表示各种编码的分子模块时,表示地址编码的分子模块可以被组合在表示相应的内容编码的分子模块的前面、后面或插入在表示相应的内容编码的分子模块中间,这里不作限制。此外,表示某一地址编码或内容编码的分子模块也可以包括多个分子片段,这些分子片段也可以是间隔设置的。例如,表示第二地址编码的分子模块可以被组合在表示相应的第二内容编码的分子模块的前面、后面或插入在表示相应的第二内容编码的分子模块中间。
此外,为了使不同的分子模块能够按顺序彼此连接,在一些实施例中,可以在选取分子模块时,选择具有相应的端接部的分子模块,即作为端接部的分子片段为相应的分子模块的一部分,以实现不同分子模块的按顺序的连接。
或者,在另一些实施例中,按顺序组合所确定的分子模块,以使组合物对应于初始信息可以包括:在所确定的分子模块的连接端处形成与预设顺序相应的端接部;以及混合形成有相应的端接部的分子模块以产生对应于初始信息的组合物。也就是说,作为端接部的分子片段在分子模块的确定之后被添加到相应的分子模块上。
例如,在图5所示的具体示例中,在组合过程中,可以在分子模块A3的尾部添加不同的端接部,以使其能够分别与分子模块A5、分子模块A6和分子模块A7相连,以形成正确的分子链。
在一具体示例中,可以利用DNA来作为分子模块。DNA由碱基、脱氧核糖和磷酸构成,其中碱基有腺嘌呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)共4种。在DNA分子结构中,两条多脱氧核苷酸链围绕一个共同的中心轴盘绕,构成双螺旋结构。脱氧核糖-磷酸链在螺旋结构的外面,碱基朝向里面。两条多脱氧核苷酸链反向互补,通过碱基间的氢键形成的碱基配对相连,形成相当稳定的组合。相应地,DNA分子模块的端接部可以包括黏性末端。
在组装表示不同编码的DNA时,如图8所示,可以采用连接酶来按顺序组合所确定的对应于相应的地址编码和内容编码的多条DNA链。
或者,如图9所示,可以采用设置在DNA链的端部的接头(linker)在连接酶的作用下来按顺序组合所确定的多条DNA链。
又或者,如图10和图11所示,可以采用聚合酶链式反应(PCR)来按顺序组合所确定的DNA。在图10所示的PCR方法中,以所确定的多条DNA链作为模版,并对包含了要连接的两段DNA链的连接端处的相应序列的DNA链进行扩增。在图11所示的PCR方法中,可以直接扩增要连接的DNA链。
在另一具体示例中,可以利用RNA来作为分子模块。其中,RNA由磷酸、核糖和碱基构成,RNA的碱基主要包括A(腺嘌呤)、G(鸟嘌呤)、C(胞嘧啶)、U(尿嘧啶)这4种。相应地,RNA分子模块的端接部可以包括对应的官能基团。
如图12所示,可以采用设置在RNA链的端部的接头序列和DNA的linker序列在连接酶的作用下来按顺序组合所确定的多条RNA链。
在又一具体示例中,可以利用肽来作为分子模块。一个氨基酸的氨基与另一个氨基酸的羧基可以缩合成肽,形成的酰胺基在蛋白质化学中称为肽键。氨基酸的分子最小,蛋白质最大,两个或以上的氨基酸脱水缩合形成若干个肽键从而组成一个肽链,多个肽链进行多级折叠就组成一个蛋白质分子。蛋白质有时也被称为“多肽”。相应地,肽分子模块的端接部可以包括对应的官能基团。
如图13所示,可以在催化剂的作用下连接所确定的肽,以表示初始信息的至少一部分。
此外,如上文所描述的,可以利用分子模块的不同的二级结构来表示不同编码的不同取值。如图14中所示的两个具体示例,具有不同二级结构的分子模块可以在连接酶的作用下被连接在一起。
另外,为了方便读取所存储的信息,避免分子模块的组合的个别错误造成对读取信息的干扰,不同的分子模块之间的编辑距离可以大于或等于预设距离阈值。编辑距离是指从一种分子模块转换到另一种分子模块所需的操作步骤的数量。例如,当分子模块为包括10个碱基的DNA链时,分子模块“ATCGTAGCCA”与“TTCGTAGCCA”的编辑距离为1,分子模块“ATCGTAGCCA”与“TAGCATCGGT”的编辑距离为10。为了方便读取,在设计分子模块时,就可以仅选取两两之间的编辑距离大于或等于预设距离阈值的多个分子模块。这样,在读取信息的过程中,即使分子模块中的个别碱基或其它片段出现错误,只要能够确定编辑距离小于预设距离阈值,仍然可以将读取到的该分子模块对应到某一具体的编码上,从而改善分子存储的容错性。
在本公开的用于在分子中存储信息的方法中,按照内容-地址对来存储信息,并且通过对信息的地址和/或内容进行重编码,反复利用预制的分子模块库中的分子模块进行大规模平行组装来实现信息存储,相比采用逐个生长核苷酸来合成DNA的方式存储信息,所需的分子模块的种类数目大幅减少,且平行组装大幅提高了组合的效率,从而降低了存储难度,改善了存储效率。
此外,本公开还提出了一种用于在分子中存储信息的设备,如图15所示,该设备可以包括获取单元910和编码单元920。
其中,获取单元910可以被配置为获取待存储的初始信息。
编码单元920可以被配置为用第一地址编码和第一内容编码来表示初始信息,其中,初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且初始信息的每个位置处的内容分别由相应的第一内容编码来表示。
在一示例性实施例中,编码单元920还可以被配置为分别对每个第一地址编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码;以及根据第一内容编码和第一重编码信息来确定相应的分子模块。
在另一示例性实施例中,编码单元920还可以被配置为分别对每个第一内容编码进行重编码,以用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;以及根据第一地址编码和第二重编码信息来确定相应的分子模块。
在又一示例性实施例中,编码单元920还可以被配置为分别对每个第一地址编码和每个第一内容编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码,并用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;以及根据第一重编码信息和第二重编码信息来确定相应的分子模块。
在一些实施例中,编码单元920可以包括处理器921和存储器922,存储器922上存储有指令,当指令被处理器921执行时,实现如上所述的编码步骤。
其中,处理器921可以根据存储在存储器922中的指令执行各种动作和处理。具体地,处理器921可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或者是ARM架构等。
存储器922存储有可执行指令,该指令在被处理器921执行上文所述的编码的方法。存储器922可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
此外,该设备还可以包括写入器单元930,写入器单元930可以被配置为按顺序组合所确定的分子模块,以使组合物对应于初始信息。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
另外,前面的描述可能提及了被“连接”或“耦接”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦接”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦接”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。

Claims (66)

1.一种用于在分子中存储信息的方法,其特征在于,所述方法包括:
获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一地址编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码;
根据第一内容编码和第一重编码信息来确定相应的分子模块;以及
按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
2.根据权利要求1所述的方法,其特征在于,获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息包括:
获取所述初始信息;
确定所述初始信息中的与一个第一地址编码对应的一个位置处的内容的单位位数,其中,在所述初始信息中的每个位置处的内容的单位位数彼此相等;
当所述初始信息的总位数是所述单位位数的整数倍时,将所述初始信息划分为一个或多个初始信息片段;
当所述初始信息的总位数不是所述单位位数的整数倍时,对所述初始信息进行补位,使所得的补位初始信息的总位数是所述单位位数的整数倍,并将所述补位初始信息划分为一个或多个初始信息片段;
其中,每个初始信息片段的位数为所述单位位数。
3.根据权利要求2所述的方法,其特征在于,对所述初始信息进行补位包括:
在所述初始信息中补充占位内容,其中,所述初始信息中的占位内容与非占位内容分别对应于不同的分子模块。
4.根据权利要求1所述的方法,其特征在于,所述初始信息还包括纠错内容。
5.根据权利要求1所述的方法,其特征在于,所述第一预设位数与所述第一预设进制的和小于第一地址编码的不同取值的最大可能种数;以及
所述第一预设进制的所述第一预设位数次幂大于第一地址编码的不同取值的最大可能种数。
6.根据权利要求1所述的方法,其特征在于,根据第一内容编码和第一重编码信息来确定相应的分子模块包括:
分别为第一内容编码和第一重编码信息确定不同的分子模块。
7.根据权利要求6所述的方法,其特征在于,根据第一内容编码和第一重编码信息来确定相应的分子模块包括:
分别为第一重编码信息中的不同位上的内容确定不同的分子模块;并且
分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块。
8.根据权利要求1所述的方法,其特征在于,根据第一内容编码和第一重编码信息来确定相应的分子模块包括:
对于每个第一重编码信息,用第二地址编码和第二内容编码来表示该第一重编码信息,其中,第一重编码信息中的每个位置分别由与该位置一一对应的第二地址编码来表示,且第一重编码信息中的每个位置处的内容分别由相应的第二内容编码来表示;以及
根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块。
9.根据权利要求8所述的方法,其特征在于,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
分别为第一内容编码、第二地址编码和第二内容编码确定不同的分子模块。
10.根据权利要求9所述的方法,其特征在于,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
分别为不同取值的第一内容编码确定不同的分子模块;或
分别为不同取值的第二地址编码确定不同的分子模块;或
分别为不同取值的第二内容编码确定不同的分子模块。
11.根据权利要求9所述的方法,其特征在于,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
当第一内容编码具有Nc1种不同取值时,分别为(Nc1-1)种不同取值的第一内容编码确定不同的分子模块,并使剩余的一种取值的第一内容编码不对应于任何分子模块;或
当第二地址编码具有Na2种不同取值时,分别为(Na2-1)种不同取值的第二地址编码确定不同的分子模块,并使剩余的一种取值的第二地址编码不对应于任何分子模块;或
当第二内容编码具有Nc2种不同取值时,分别为(Nc2-1)种不同取值的第二内容编码确定不同的分子模块,并使剩余的一种取值的第二内容编码不对应于任何分子模块。
12.根据权利要求8所述的方法,其特征在于,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
分别为第一内容编码、第二地址编码和第二内容编码中的两种编码的不同取值的组合确定不同的分子模块。
13.根据权利要求12所述的方法,其特征在于,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
分别为第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块。
14.根据权利要求12所述的方法,其特征在于,根据第一内容编码、第二地址编码和第二内容编码来确定相应的分子模块包括:
当第二地址编码和第二内容编码的组合具有Nac2种不同取值时,分别为(Nac2-1)种第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第二地址编码和第二内容编码的组合不对应于任何分子模块。
15.根据权利要求1所述的方法,其特征在于,按顺序组合所确定的分子模块,以使组合物对应于所述初始信息包括:
在所确定的分子模块的连接端处形成与预设顺序相应的端接部;以及
混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物。
16.根据权利要求15所述的方法,其特征在于,作为端接部的分子片段为相应的分子模块的一部分;或者
作为端接部的分子片段在分子模块的确定之后被添加到相应的分子模块上。
17.根据权利要求15所述的方法,其特征在于,混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物包括以下中的至少一者:
采用连接酶来按顺序组合所确定的分子模块;
采用设置在分子模块的端部的接头来按顺序组合所确定的分子模块;以及
采用聚合酶链式反应来按顺序组合所确定的分子模块。
18.根据权利要求1所述的方法,其特征在于,分子模块包括脱氧核糖核酸、核糖核酸、肽、有机聚合物、有机小分子、碳纳米材料、无机物和间隔设置的分子片段中的至少一者。
19.根据权利要求1所述的方法,其特征在于,采用分子模块的序列分布、序列长度、二级结构、结晶或无定型性质和形貌形态中的至少一者来区分各种分子模块。
20.根据权利要求1所述的方法,其特征在于,不同的分子模块之间的编辑距离大于或等于预设距离阈值。
21.一种用于在分子中存储信息的方法,其特征在于,所述方法包括:
获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一内容编码进行重编码,以用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;
根据第一地址编码和第二重编码信息来确定相应的分子模块;以及
按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
22.根据权利要求21所述的方法,其特征在于,获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息包括:
获取所述初始信息;
确定所述初始信息中的与一个第一地址编码对应的一个位置处的内容的单位位数,其中,在所述初始信息中的每个位置处的内容的单位位数彼此相等;
当所述初始信息的总位数是所述单位位数的整数倍时,将所述初始信息划分为一个或多个初始信息片段;
当所述初始信息的总位数不是所述单位位数的整数倍时,对所述初始信息进行补位,使所得的补位初始信息的总位数是所述单位位数的整数倍,并将所述补位初始信息划分为一个或多个初始信息片段;
其中,每个初始信息片段的位数为所述单位位数。
23.根据权利要求22所述的方法,其特征在于,对所述初始信息进行补位包括:
在所述初始信息中补充占位内容,其中,所述初始信息中的占位内容与非占位内容分别对应于不同的分子模块。
24.根据权利要求21所述的方法,其特征在于,所述初始信息还包括纠错内容。
25.根据权利要求21所述的方法,其特征在于,所述第二预设位数与所述第二预设进制的和小于第一内容编码的不同取值的最大可能种数;以及
所述第二预设进制的所述第二预设位数次幂大于第一内容编码的不同取值的最大可能种数。
26.根据权利要求21所述的方法,其特征在于,根据第一地址编码和第二重编码信息来确定相应的分子模块包括:
分别为第一地址编码和第二重编码信息确定不同的分子模块。
27.根据权利要求26所述的方法,其特征在于,根据第一地址编码和第二重编码信息来确定相应的分子模块包括:
分别为第二重编码信息中的不同位上的内容确定不同的分子模块;并且
分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。
28.根据权利要求21所述的方法,其特征在于,根据第一地址编码和第二重编码信息来确定相应的分子模块包括:
对于每个第二重编码信息,用第三地址编码和第三内容编码来表示该第二重编码信息,其中,第二重编码信息中的每个位置分别由与该位置一一对应的第三地址编码来表示,且第二重编码信息中的每个位置处的内容分别由相应的第三内容编码来表示;以及
根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块。
29.根据权利要求28所述的方法,其特征在于,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
分别为第一地址编码、第三地址编码和第三内容编码确定不同的分子模块。
30.根据权利要求29所述的方法,其特征在于,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
分别为不同取值的第一地址编码确定不同的分子模块;或
分别为不同取值的第三地址编码确定不同的分子模块;或
分别为不同取值的第三内容编码确定不同的分子模块。
31.根据权利要求29所述的方法,其特征在于,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
当第一地址编码具有Na1种不同取值时,分别为(Na1-1)种不同取值的第一地址编码确定不同的分子模块,并使剩余的一种取值的第一地址编码不对应于任何分子模块;或
当第三地址编码具有Na3种不同取值时,分别为(Na3-1)种不同取值的第三地址编码确定不同的分子模块,并使剩余的一种取值的第三地址编码不对应于任何分子模块;或
当第三内容编码具有Nc3种不同取值时,分别为(Nc3-1)种不同取值的第三内容编码确定不同的分子模块,并使剩余的一种取值的第三内容编码不对应于任何分子模块。
32.根据权利要求28所述的方法,其特征在于,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
分别为第一地址编码、第三地址编码和第三内容编码中的两种编码的不同取值的组合确定不同的分子模块。
33.根据权利要求32所述的方法,其特征在于,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
分别为第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块。
34.根据权利要求32所述的方法,其特征在于,根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块包括:
当第三地址编码和第三内容编码的组合具有Nac3种不同取值时,分别为(Nac3-1)种第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第三地址编码和第三内容编码的组合不对应于任何分子模块。
35.根据权利要求21所述的方法,其特征在于,按顺序组合所确定的分子模块,以使组合物对应于所述初始信息包括:
在所确定的分子模块的连接端处形成与预设顺序相应的端接部;以及
混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物。
36.根据权利要求35所述的方法,其特征在于,作为端接部的分子片段为相应的分子模块的一部分;或者
作为端接部的分子片段在分子模块的确定之后被添加到相应的分子模块上。
37.根据权利要求35所述的方法,其特征在于,混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物包括以下中的至少一者:
采用连接酶来按顺序组合所确定的分子模块;
采用设置在分子模块的端部的接头来按顺序组合所确定的分子模块;以及
采用聚合酶链式反应来按顺序组合所确定的分子模块。
38.根据权利要求21所述的方法,其特征在于,分子模块包括脱氧核糖核酸、核糖核酸、肽、有机聚合物、有机小分子、碳纳米材料、无机物和间隔设置的分子片段中的至少一者。
39.根据权利要求21所述的方法,其特征在于,采用分子模块的序列分布、序列长度、二级结构、结晶或无定型性质和形貌形态中的至少一者来区分各种分子模块。
40.根据权利要求21所述的方法,其特征在于,不同的分子模块之间的编辑距离大于或等于预设距离阈值。
41.一种用于在分子中存储信息的方法,其特征在于,所述方法包括:
获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一地址编码和每个第一内容编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码,并用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;
根据第一重编码信息和第二重编码信息来确定相应的分子模块;以及
按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
42.根据权利要求41所述的方法,其特征在于,获取待存储的初始信息,并用第一地址编码和第一内容编码来表示所述初始信息包括:
获取所述初始信息;
确定所述初始信息中的与一个第一地址编码对应的一个位置处的内容的单位位数,其中,在所述初始信息中的每个位置处的内容的单位位数彼此相等;
当所述初始信息的总位数是所述单位位数的整数倍时,将所述初始信息划分为一个或多个初始信息片段;
当所述初始信息的总位数不是所述单位位数的整数倍时,对所述初始信息进行补位,使所得的补位初始信息的总位数是所述单位位数的整数倍,并将所述补位初始信息划分为一个或多个初始信息片段;
其中,每个初始信息片段的位数为所述单位位数。
43.根据权利要求42所述的方法,其特征在于,对所述初始信息进行补位包括:
在所述初始信息中补充占位内容,其中,所述初始信息中的占位内容与非占位内容分别对应于不同的分子模块。
44.根据权利要求41所述的方法,其特征在于,所述初始信息还包括纠错内容。
45.根据权利要求41所述的方法,其特征在于,所述第一预设位数与所述第一预设进制的和小于第一地址编码的不同取值的最大可能种数,且所述第二预设位数与所述第二预设进制的和小于第一内容编码的不同取值的最大可能种数;以及
所述第一预设进制的所述第一预设位数次幂大于第一地址编码的不同取值的最大可能种数,且所述第二预设进制的所述第二预设位数次幂大于第一内容编码的不同取值的最大可能种数。
46.根据权利要求41所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第一重编码信息和第二重编码信息确定不同的分子模块。
47.根据权利要求46所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第一重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块;和/或
分别为第二重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。
48.根据权利要求41所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
对于每个第一重编码信息,用第二地址编码和第二内容编码来表示该第一重编码信息,其中,第一重编码信息中的每个位置分别由与该位置一一对应的第二地址编码来表示,且第一重编码信息中的每个位置处的内容分别由相应的第二内容编码来表示;以及
根据第二地址编码和第二内容编码来确定相应的分子模块;和/或
对于每个第二重编码信息,用第三地址编码和第三内容编码来表示该第二重编码信息,其中,第二重编码信息中的每个位置分别由与该位置一一对应的第三地址编码来表示,且第二重编码信息中的每个位置处的内容分别由相应的第三内容编码来表示;以及
根据第三地址编码和第三内容编码来确定相应的分子模块。
49.根据权利要求48所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第二地址编码、第二内容编码、第三地址编码和第三内容编码确定不同的分子模块。
50.根据权利要求49所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为不同取值的第二地址编码确定不同的分子模块;或
分别为不同取值的第二内容编码确定不同的分子模块;或
分别为不同取值的第三地址编码确定不同的分子模块;或
分别为不同取值的第三内容编码确定不同的分子模块。
51.根据权利要求49所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
当第二地址编码具有Na2种不同取值时,分别为(Na2-1)种不同取值的第二地址编码确定不同的分子模块,并使剩余的一种取值的第二地址编码不对应于任何分子模块;或
当第二内容编码具有Nc2种不同取值时,分别为(Nc2-1)种不同取值的第二内容编码确定不同的分子模块,并使剩余的一种取值的第二内容编码不对应于任何分子模块;或
当第三地址编码具有Na3种不同取值时,分别为(Na3-1)种不同取值的第三地址编码确定不同的分子模块,并使剩余的一种取值的第三地址编码不对应于任何分子模块;或
当第三内容编码具有Nc3种不同取值时,分别为(Nc3-1)种不同取值的第三内容编码确定不同的分子模块,并使剩余的一种取值的第三内容编码不对应于任何分子模块。
52.根据权利要求48所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第二地址编码、第二内容编码、第三地址编码和第三内容编码中的两种编码或三种编码的不同取值的组合确定不同的分子模块。
53.根据权利要求52所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
分别为第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块;或
分别为第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块。
54.根据权利要求52所述的方法,其特征在于,根据第一重编码信息和第二重编码信息来确定相应的分子模块包括:
当第二地址编码和第二内容编码的组合具有Nac2种不同取值时,分别为(Nac2-1)种第二地址编码和第二内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第二地址编码和第二内容编码的组合不对应于任何分子模块;或
当第三地址编码和第三内容编码的组合具有Nac3种不同取值时,分别为(Nac3-1)种第三地址编码和第三内容编码的不同取值的组合确定不同的分子模块,并使剩余的一种取值的第三地址编码和第三内容编码的组合不对应于任何分子模块。
55.根据权利要求41所述的方法,其特征在于,按顺序组合所确定的分子模块,以使组合物对应于所述初始信息包括:
在所确定的分子模块的连接端处形成与预设顺序相应的端接部;以及
混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物。
56.根据权利要求55所述的方法,其特征在于,作为端接部的分子片段为相应的分子模块的一部分;或者
作为端接部的分子片段在分子模块的确定之后被添加到相应的分子模块上。
57.根据权利要求55所述的方法,其特征在于,混合形成有相应的端接部的分子模块以产生对应于所述初始信息的组合物包括以下中的至少一者:
采用连接酶来按顺序组合所确定的分子模块;
采用设置在分子模块的端部的接头来按顺序组合所确定的分子模块;以及
采用聚合酶链式反应来按顺序组合所确定的分子模块。
58.根据权利要求41所述的方法,其特征在于,分子模块包括脱氧核糖核酸、核糖核酸、肽、有机聚合物、有机小分子、碳纳米材料、无机物和间隔设置的分子片段中的至少一者。
59.根据权利要求41所述的方法,其特征在于,采用分子模块的序列分布、序列长度、二级结构、结晶或无定型性质和形貌形态中的至少一者来区分各种分子模块。
60.根据权利要求41所述的方法,其特征在于,不同的分子模块之间的编辑距离大于或等于预设距离阈值。
61.一种用于在分子中存储信息的设备,其特征在于,所述设备包括:
获取单元,所述获取单元被配置为获取待存储的初始信息;
编码单元,所述编码单元被配置为执行以下操作:
用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一地址编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码;以及
根据第一内容编码和第一重编码信息来确定相应的分子模块。
62.根据权利要求61所述的设备,其特征在于,所述设备还包括:
写入器单元,所述写入器单元被配置为按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
63.一种用于在分子中存储信息的设备,其特征在于,所述设备包括:
获取单元,所述获取单元被配置为获取待存储的初始信息;
编码单元,所述编码单元被配置为执行以下操作:
用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一内容编码进行重编码,以用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;以及
根据第一地址编码和第二重编码信息来确定相应的分子模块。
64.根据权利要求63所述的设备,其特征在于,所述设备还包括:
写入器单元,所述写入器单元被配置为按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
65.一种用于在分子中存储信息的设备,其特征在于,所述设备包括:
获取单元,所述获取单元被配置为获取待存储的初始信息;
编码单元,所述编码单元被配置为执行以下操作:
用第一地址编码和第一内容编码来表示所述初始信息,其中,所述初始信息中的每个位置分别由与该位置一一对应的第一地址编码来表示,且所述初始信息的每个位置处的内容分别由相应的第一内容编码来表示;
分别对每个第一地址编码和每个第一内容编码进行重编码,以用具有第一预设位数和第一预设进制的第一重编码信息来表示相应的一个第一地址编码,并用具有第二预设位数和第二预设进制的第二重编码信息来表示相应的一个第一内容编码;以及
根据第一重编码信息和第二重编码信息来确定相应的分子模块。
66.根据权利要求65所述的设备,其特征在于,所述设备还包括:
写入器单元,所述写入器单元被配置为按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
CN202210009421.5A 2022-01-05 2022-01-05 用于在分子中存储信息的方法和设备 Active CN116451780B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202210009421.5A CN116451780B (zh) 2022-01-05 2022-01-05 用于在分子中存储信息的方法和设备
PCT/CN2022/079689 WO2023130562A1 (zh) 2022-01-05 2022-03-08 用于在分子中存储信息的方法和设备
AU2022431819A AU2022431819A1 (en) 2022-01-05 2022-03-08 Method and apparatus for storing information in molecule
KR1020247025704A KR20240132046A (ko) 2022-01-05 2022-03-08 정보를 분자에 저장하기 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210009421.5A CN116451780B (zh) 2022-01-05 2022-01-05 用于在分子中存储信息的方法和设备

Publications (2)

Publication Number Publication Date
CN116451780A true CN116451780A (zh) 2023-07-18
CN116451780B CN116451780B (zh) 2024-07-05

Family

ID=87072992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210009421.5A Active CN116451780B (zh) 2022-01-05 2022-01-05 用于在分子中存储信息的方法和设备

Country Status (4)

Country Link
KR (1) KR20240132046A (zh)
CN (1) CN116451780B (zh)
AU (1) AU2022431819A1 (zh)
WO (1) WO2023130562A1 (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107406888A (zh) * 2015-03-30 2017-11-28 赛卢拉研究公司 用于组合条形编码的方法和组合物
CN107407691A (zh) * 2015-01-22 2017-11-28 贝克顿迪金森公司 用于单细胞中核酸靶标的分子条码化的装置和系统
CA3108400A1 (en) * 2018-08-03 2020-02-06 Catolog Technologies, Inc. Systems and methods for storing and reading nucleic acid-based data with error protection
CA3111930A1 (en) * 2018-09-07 2020-03-12 Iridia, Inc. Improved systems and methods for writing and reading data stored in a polymer
CN111858507A (zh) * 2020-06-16 2020-10-30 广州大学 基于dna的数据存储方法、解码方法、系统和装置
CN112288089A (zh) * 2020-09-28 2021-01-29 清华大学 阵列式核酸信息存储方法及装置
CN112382340A (zh) * 2020-11-25 2021-02-19 中国科学院深圳先进技术研究院 用于dna数据存储的二进制信息到碱基序列的编解码方法和编解码装置
CN112433986A (zh) * 2020-11-02 2021-03-02 中国科学院深圳先进技术研究院 数据的存储方法、电子设备以及计算机可读存储介质
CN112711935A (zh) * 2020-12-11 2021-04-27 中国科学院深圳先进技术研究院 编码方法、解码方法、装置及计算机可读存储介质
CN112989405A (zh) * 2021-02-05 2021-06-18 武汉北大高科软件股份有限公司 一种数据存证的可信化存储方法、装置、设备和存储介质
CN113314187A (zh) * 2021-05-27 2021-08-27 广州大学 一种数据存储方法、解码方法、系统、装置及存储介质
CN113687976A (zh) * 2021-08-27 2021-11-23 中国人民解放军军事科学院军事医学研究院 面向dna信息存储的编码和解码方法与装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2013269536B2 (en) * 2012-06-01 2018-11-08 European Molecular Biology Laboratory High-capacity storage of digital information in DNA
CN110706751A (zh) * 2019-09-25 2020-01-17 东南大学 一种dna存储加密编码方法
US11306353B2 (en) * 2020-05-11 2022-04-19 Catalog Technologies, Inc. Programs and functions in DNA-based data storage
CN111600609B (zh) * 2020-05-19 2022-11-11 东南大学 一种优化中文存储的dna存储编码方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107407691A (zh) * 2015-01-22 2017-11-28 贝克顿迪金森公司 用于单细胞中核酸靶标的分子条码化的装置和系统
CN107406888A (zh) * 2015-03-30 2017-11-28 赛卢拉研究公司 用于组合条形编码的方法和组合物
CA3108400A1 (en) * 2018-08-03 2020-02-06 Catolog Technologies, Inc. Systems and methods for storing and reading nucleic acid-based data with error protection
CA3111930A1 (en) * 2018-09-07 2020-03-12 Iridia, Inc. Improved systems and methods for writing and reading data stored in a polymer
CN111858507A (zh) * 2020-06-16 2020-10-30 广州大学 基于dna的数据存储方法、解码方法、系统和装置
CN112288089A (zh) * 2020-09-28 2021-01-29 清华大学 阵列式核酸信息存储方法及装置
CN112433986A (zh) * 2020-11-02 2021-03-02 中国科学院深圳先进技术研究院 数据的存储方法、电子设备以及计算机可读存储介质
CN112382340A (zh) * 2020-11-25 2021-02-19 中国科学院深圳先进技术研究院 用于dna数据存储的二进制信息到碱基序列的编解码方法和编解码装置
CN112711935A (zh) * 2020-12-11 2021-04-27 中国科学院深圳先进技术研究院 编码方法、解码方法、装置及计算机可读存储介质
CN112989405A (zh) * 2021-02-05 2021-06-18 武汉北大高科软件股份有限公司 一种数据存证的可信化存储方法、装置、设备和存储介质
CN113314187A (zh) * 2021-05-27 2021-08-27 广州大学 一种数据存储方法、解码方法、系统、装置及存储介质
CN113687976A (zh) * 2021-08-27 2021-11-23 中国人民解放军军事科学院军事医学研究院 面向dna信息存储的编码和解码方法与装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YAYA HAO 等: "Data Storage Based on DNA", 《SMALL STRUCTURE》, vol. 2, no. 2, 25 September 2020 (2020-09-25) *
YIMING DONG 等: "DNA storage: research landscape and future prospects", 《NSR》, vol. 7, no. 6, 21 January 2020 (2020-01-21) *
滕越 等: "DNA数据存储技术原理及其研究进展", 《生物化学与生物物理进展》, vol. 48, no. 5, 19 October 2020 (2020-10-19) *

Also Published As

Publication number Publication date
CN116451780B (zh) 2024-07-05
KR20240132046A (ko) 2024-09-02
AU2022431819A1 (en) 2024-07-11
WO2023130562A1 (zh) 2023-07-13

Similar Documents

Publication Publication Date Title
JP7090148B2 (ja) Dnaベースのデータストレージ及びデータ取り出し
Kiah et al. Codes for DNA sequence profiles
US20180046921A1 (en) Code generation method, code generating apparatus and computer readable storage medium
CN112382340B (zh) 用于dna数据存储的编解码方法和编解码装置
CN103186490B (zh) 模拟存储单元中的优化的阈值搜索
WO2018148260A1 (en) Apparatus, method and system for digital information storage in deoxyribonucleic acid (dna)
EP2947779A1 (en) Method and apparatus for storing information units in nucleic acid molecules and nucleic acid storage system
EP0969480A1 (en) Encoding method and memory device
KR20130029080A (ko) 소거 없는 플래시 메모리의 다중 프로그래밍
EP3158647A1 (en) Method and apparatus for encoding information units in code word sequences avoiding reverse complementarity
US20230317164A1 (en) Systems and methods for writing by sequencing of nucleic acids
CN111858507B (zh) 基于dna的数据存储方法、解码方法、系统和装置
US20170109229A1 (en) Data processing method and device for recovering valid code words from a corrupted code word sequence
CN113314187B (zh) 一种数据存储方法、解码方法、系统、装置及存储介质
Wang et al. Oligo design with single primer binding site for high capacity DNA-based data storage
CN116451780B (zh) 用于在分子中存储信息的方法和设备
Zhang et al. A high storage density strategy for digital information based on synthetic DNA
CN110896309B (zh) Turbo乘积码的译码方法、装置、译码器及计算机存储介质
Chrisnata et al. Deletion correcting codes for efficient DNA synthesis
Wei et al. Dna storage: A promising large scale archival storage?
CN116564424A (zh) 基于纠删码与组装技术的dna数据存储方法、读取方法及终端
Zhang et al. High-density information storage and random access scheme using synthetic DNA
CN118412026A (zh) 用于在分子中存储信息的方法、设备和系统
TW202008302A (zh) 以dna為基礎之資料存取
Tsaftaris et al. On designing DNA databases for the storage and retrieval of digital signals

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