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

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

Info

Publication number
WO2023130562A1
WO2023130562A1 PCT/CN2022/079689 CN2022079689W WO2023130562A1 WO 2023130562 A1 WO2023130562 A1 WO 2023130562A1 CN 2022079689 W CN2022079689 W CN 2022079689W WO 2023130562 A1 WO2023130562 A1 WO 2023130562A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
molecular
code
information
initial information
Prior art date
Application number
PCT/CN2022/079689
Other languages
English (en)
French (fr)
Inventor
张璐帅
姜朔
Original Assignee
密码子(杭州)科技有限公司
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 密码子(杭州)科技有限公司 filed Critical 密码子(杭州)科技有限公司
Publication of WO2023130562A1 publication Critical patent/WO2023130562A1/zh

Links

Images

Classifications

    • 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
    • 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]

Definitions

  • the present disclosure relates to the field of storage technology, in particular, to a method and device for storing information in molecules.
  • One of the objects of the present disclosure is to provide a method and device for storing information in molecules.
  • a method for storing information in a molecule comprising:
  • each first address code separately, so as to represent a corresponding first address code with first re-encoded information having a first preset number of digits and a first preset base system;
  • the determined molecular modules are combined in order such that the composition corresponds to said initial information.
  • obtaining the initial information to be stored, and using the first address code and the first content code to represent the initial information includes:
  • the total number of bits of the initial information is an integer multiple of the unit number of bits, dividing the initial information into one or more initial information segments;
  • the initial information is complemented so that the total number of digits of the obtained complemented initial information is an integer multiple of the unit number of digits, and dividing the supplementary initial information into one or more initial information segments;
  • the number of bits of each initial information segment is the unit number of bits.
  • filling the initial information includes:
  • the placeholder content is supplemented in the initial information, wherein the placeholder content and non-placeholder content in the initial information respectively correspond to different molecular modules.
  • the initial information also includes error correction content.
  • the sum of the first preset number of digits and the first preset base is smaller than the maximum possible number of different values of the first address code
  • the power of the first preset number of digits in the first preset base is greater than the maximum possible number of different values of the first address code.
  • determining the corresponding molecular module according to the first content encoding and the first re-encoding information includes:
  • Different molecular modules are determined for the first content encoding and the first recoding information respectively.
  • determining the corresponding molecular module according to the first content encoding and the first re-encoding information includes:
  • Different molecular modules are respectively determined for different contents on the same bit in the first recoding information.
  • determining the corresponding molecular module according to the first content encoding and the first re-encoding information includes:
  • the first re-encoded information is represented by a second address code and a second content code, wherein each position in the first re-encoded information is represented by a one-to-one corresponding to the position. represented by two address codes, and the content at each position in the first re-encoded information is represented by a corresponding second content code;
  • the corresponding molecular module is determined according to the first content code, the second address code and the second content code.
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code includes:
  • Different molecular modules are respectively determined for the first content code, the second address code and the second content code.
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code includes:
  • Different molecular modules are respectively determined for the second content codes with different values.
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code includes:
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code includes:
  • Different molecular modules are determined for combinations of different values of the first content code, the second address code, and the second content code.
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code includes:
  • Different molecular modules are respectively determined for combinations of different values of the second address code and the second content code.
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code includes:
  • combining the determined molecular modules in order such that the composition corresponds to said initial information comprises:
  • the molecular modules formed with corresponding terminations are mixed to produce a composition corresponding to the initial information.
  • the molecular fragment that is the termination is part of the corresponding molecular module
  • the molecular fragments as terminations are added to the corresponding molecular modules after the determination of the molecular modules.
  • mixing molecular modules formed with corresponding terminations to produce a composition corresponding to said initial information comprises at least one of the following:
  • the polymerase chain reaction was used to sequentially assemble the identified molecular modules.
  • molecular modules include deoxyribonucleic acid, ribonucleic acid, peptides, organic polymers, small organic molecules, carbon nanomaterials, non-natural nucleotides, modified nucleotides, synthetic nucleotides, inorganic at least one of a substance and a spacer-disposed molecular fragment.
  • At least one of sequence distribution, sequence length, secondary structure, crystalline or amorphous properties, and morphology of the molecular modules are used to distinguish various molecular modules.
  • the edit distance between different molecular modules is greater than or equal to a preset distance threshold.
  • a method for storing information in a molecule comprising:
  • each first content code separately, so as to represent a corresponding first content code with second re-encoded information having a second preset number of digits and a second preset base;
  • the determined molecular modules are combined in order such that the composition corresponds to said initial information.
  • obtaining the initial information to be stored, and using the first address code and the first content code to represent the initial information includes:
  • the total number of bits of the initial information is an integer multiple of the unit number of bits, dividing the initial information into one or more initial information segments;
  • the initial information is complemented so that the total number of digits of the obtained complemented initial information is an integer multiple of the unit number of digits, and dividing the supplementary initial information into one or more initial information segments;
  • the number of bits of each initial information segment is the unit number of bits.
  • filling the initial information includes:
  • the placeholder content is supplemented in the initial information, wherein the placeholder content and non-placeholder content in the initial information respectively correspond to different molecular modules.
  • the initial information also includes error correction content.
  • the sum of the second preset number of digits and the second preset base is smaller than the maximum possible number of different values of the first content encoding
  • the power of the second preset number of digits in the second preset base system is greater than the maximum possible number of different values of the first content encoding.
  • determining the corresponding molecular module according to the first address encoding and the second re-encoding information includes:
  • Different molecular modules are determined for the first address encoding and the second recoding information respectively.
  • determining the corresponding molecular module according to the first address encoding and the second re-encoding information includes:
  • Different molecular modules are respectively determined for different contents on the same bit in the second recoding information.
  • determining the corresponding molecular module according to the first address encoding and the second re-encoding information includes:
  • the second re-encoded information is represented by a third address code and a third content code, wherein each position in the second re-encoded information is represented by a one-to-one corresponding to the position.
  • three-address code, and the content at each position in the second re-encoded information is represented by a corresponding third content code;
  • the corresponding molecular module is determined according to the first address code, the third address code and the third content code.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code includes:
  • Different molecular modules are respectively determined for the first address code, the third address code and the third content code.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code includes:
  • Different molecular modules are respectively determined for the third content codes with different values.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code includes:
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code includes:
  • Different molecular modules are respectively determined for combinations of different values of the two codes in the first address code, the third address code and the third content code.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code includes:
  • Different molecular modules are respectively determined for combinations of different values of the third address code and the third content code.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code includes:
  • combining the determined molecular modules in order such that the composition corresponds to said initial information comprises:
  • the molecular modules formed with corresponding terminations are mixed to produce a composition corresponding to the initial information.
  • the molecular fragment that is the termination is part of the corresponding molecular module
  • the molecular fragments as terminations are added to the corresponding molecular modules after the determination of the molecular modules.
  • mixing molecular modules formed with corresponding terminations to produce a composition corresponding to said initial information comprises at least one of the following:
  • the polymerase chain reaction was used to sequentially assemble the identified molecular modules.
  • molecular modules include deoxyribonucleic acid, ribonucleic acid, peptides, organic polymers, small organic molecules, carbon nanomaterials, non-natural nucleotides, modified nucleotides, synthetic nucleotides, inorganic at least one of a substance and a spacer-disposed molecular fragment.
  • At least one of sequence distribution, sequence length, secondary structure, crystalline or amorphous properties, and morphology of the molecular modules are used to distinguish various molecular modules.
  • the edit distance between different molecular modules is greater than or equal to a preset distance threshold.
  • a method for storing information in a molecule comprising:
  • each first address code and each first content code to represent a corresponding first address code with first re-encoded information having a first preset number of digits and a first preset base , and use second re-encoding information with a second preset number of digits and a second preset base to represent a corresponding first content code;
  • the determined molecular modules are combined in order such that the composition corresponds to said initial information.
  • obtaining the initial information to be stored, and using the first address code and the first content code to represent the initial information includes:
  • the total number of bits of the initial information is an integer multiple of the unit number of bits, dividing the initial information into one or more initial information segments;
  • the initial information is complemented so that the total number of digits of the obtained supplemented initial information is an integer multiple of the unit number of digits, and dividing the supplementary initial information into one or more initial information segments;
  • the number of bits of each initial information segment is the unit number of bits.
  • filling the initial information includes:
  • the placeholder content is supplemented in the initial information, wherein the placeholder content and non-placeholder content in the initial information respectively correspond to different molecular modules.
  • the initial information also includes error correction content.
  • the sum of the first preset number of bits and the first preset base is smaller than the maximum possible number of different values of the first address code, and the second preset number of bits and The sum of the second preset base is smaller than the maximum possible number of different values of the first content encoding;
  • the power of the first preset number of digits in the first preset base system is greater than the maximum possible number of different values of the first address code
  • the second preset number of the second preset base system is The power of the number of digits is greater than the maximum possible number of different values of the first content encoding.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • Different molecular modules are determined for the first recoding information and the second recoding information, respectively.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • Different molecular modules are respectively determined for contents at different bits in the second recoding information, and different molecular modules are respectively determined for different contents at the same bit in the second recoding information.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • the first re-encoded information is represented by a second address code and a second content code, wherein each position in the first re-encoded information is represented by a one-to-one corresponding to the position.
  • two address codes, and the content at each position in the first re-encoded information is represented by a corresponding second content code;
  • the second re-encoded information is represented by a third address code and a third content code, wherein each position in the second re-encoded information is represented by a one-to-one corresponding to the position.
  • three-address code, and the content at each position in the second re-encoded information is represented by a corresponding third content code;
  • the corresponding molecular module is determined according to the third address code and the third content code.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • Different molecular modules are respectively determined for the second address code, the second content code, the third address code and the third content code.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • Different molecular modules are respectively determined for the third content codes with different values.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • Different molecular modules are determined for the second address code, the second content code, the third address code and the third content code, or combinations of different values of the three codes.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • Different molecular modules are respectively determined for combinations of different values of the third address code and the third content code.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information comprises:
  • combining the determined molecular modules in order such that the composition corresponds to said initial information comprises:
  • the molecular modules formed with corresponding terminations are mixed to produce a composition corresponding to the initial information.
  • the molecular fragment that is the termination is part of the corresponding molecular module
  • the molecular fragments as terminations are added to the corresponding molecular modules after the determination of the molecular modules.
  • mixing molecular modules formed with corresponding terminations to produce a composition corresponding to said initial information comprises at least one of the following:
  • the polymerase chain reaction was used to sequentially assemble the identified molecular modules.
  • molecular modules include deoxyribonucleic acid, ribonucleic acid, peptides, organic polymers, small organic molecules, carbon nanomaterials, non-natural nucleotides, modified nucleotides, synthetic nucleotides, inorganic at least one of a substance and a spacer-disposed molecular fragment.
  • At least one of sequence distribution, sequence length, secondary structure, crystalline or amorphous properties, and morphology of the molecular modules are used to distinguish various molecular modules.
  • the edit distance between different molecular modules is greater than or equal to a preset distance threshold.
  • a device for storing information in a molecule comprising:
  • an acquisition unit configured to acquire initial information to be stored
  • an encoding unit configured to perform the following operations:
  • the initial information is represented by a first address code and a first content code, wherein each position in the initial information is represented by a first address code corresponding to the position, and the initial information
  • the content at each location is respectively represented by a corresponding first content code
  • a corresponding molecular module is determined according to the first content encoding and the first re-encoding information.
  • the device also includes:
  • a writer unit configured to sequentially combine the determined molecular modules such that the composition corresponds to the initial information.
  • a device for storing information in a molecule comprising:
  • an acquisition unit configured to acquire initial information to be stored
  • an encoding unit configured to perform the following operations:
  • the initial information is represented by a first address code and a first content code, wherein each position in the initial information is represented by a first address code corresponding to the position, and the initial information
  • the content at each location is respectively represented by a corresponding first content code
  • the corresponding molecular module is determined according to the first address encoding and the second recoding information.
  • the device also includes:
  • a writer unit configured to sequentially combine the determined molecular modules such that the composition corresponds to the initial information.
  • a device for storing information in a molecule comprising:
  • an acquisition unit configured to acquire initial information to be stored
  • an encoding unit configured to perform the following operations:
  • the initial information is represented by a first address code and a first content code, wherein each position in the initial information is represented by a first address code corresponding to the position, and the initial information
  • the content at each location is respectively represented by a corresponding first content code
  • each first address code and each first content code to represent a corresponding first address code with first re-encoded information having a first preset number of digits and a first preset base , and use second re-encoding information with a second preset number of digits and a second preset base to represent a corresponding first content code;
  • the corresponding molecular modules are determined according to the first recoding information and the second recoding information.
  • the device also includes:
  • a writer unit configured to sequentially combine the determined molecular modules such that the composition corresponds to the initial information.
  • Figure 1 shows a form of storage where information is stored in molecules
  • Fig. 2 shows a schematic flowchart of a method for storing information in a molecule according to an exemplary embodiment of the present disclosure
  • Fig. 3 shows a schematic flowchart of step S100 in a method for storing information in a molecule according to an exemplary embodiment of the present disclosure
  • Fig. 4 shows a storage form of storing information in a molecule in a specific example of the present disclosure
  • Fig. 5 shows the storage form of storing information in molecules in another specific example of the present disclosure
  • Fig. 6 shows a schematic flowchart of a method for storing information in a molecule according to another exemplary embodiment of the present disclosure
  • Fig. 7 shows a schematic flowchart of a method for storing information in a molecule according to yet another exemplary embodiment of the present disclosure
  • FIG. 8 shows a schematic diagram of a combined molecular module according to a first specific example of the present disclosure
  • FIG. 9 shows a schematic diagram of a combined molecular module according to a second specific example of the present disclosure.
  • Figure 10 shows a schematic diagram of a combined molecular module according to a third specific example of the present disclosure.
  • FIG. 11 shows a schematic diagram of a combined molecular module according to a fourth specific example of the present disclosure.
  • Fig. 12 shows a schematic diagram of a combined molecular module according to a fifth specific example of the present disclosure
  • Fig. 13 shows a schematic diagram of a combined molecular module according to a fifth specific example of the present disclosure
  • Fig. 14 shows a schematic diagram of a combined molecular module according to a sixth specific example of the present disclosure
  • Fig. 15 shows a block diagram of an apparatus for storing information in molecules according to an exemplary embodiment of the present disclosure.
  • different molecular modules can be used to represent different contents of the information to be stored, and the complete information to be stored can be represented by synthesizing or combining these molecular modules.
  • the complete information to be stored can be represented by synthesizing or combining these molecular modules.
  • Table 1 For a piece of binary information shown in Table 1 below, it has a total of 10 to 10 bits, and the value of the content of each bit can be 0 or 1.
  • two different molecular modules can be used to represent content 0 and content 1 respectively, and 10 to 10 different molecular modules can be used to represent 10 to 10 addresses respectively, by synthesizing or combining the above-mentioned ( 2+10 10 ) kinds of molecular modules can represent the piece of information shown in Table 1, and the storage form shown in Figure 1, wherein each small rectangular box represents a kind of molecular module.
  • the molecular module library formed by 10 10 different molecular modules for storing information will be very large, and its realization is very difficult, and the difficulty of synthesizing or combining these molecular modules is also very large. High, which makes it very difficult to write information into the molecule. Furthermore, when reading the information, it may involve analytically identifying different molecular modules on the order of 10 10 , which is also very difficult.
  • the present disclosure proposes a method for storing information in molecules.
  • the method may include:
  • Step S100 acquire initial information to be stored, and use a first address code and a first content code to represent the initial information.
  • the initial information may include various forms of information, such as text information, picture information, audio information or video information, and the like.
  • information technology it is convenient to convert the above-mentioned various forms of information into, for example, binary codes and the like.
  • the technical solution of the present disclosure will be described in detail by taking the initial information as binary coded information as an example.
  • the initial information may also be information encoded in other bases.
  • the initial information may also include preset error correction content.
  • the error correction function can be realized by introducing a linear erasure correction code (for example, RS-code) into the original information as error correction content.
  • the linear erasure code can be calculated based on the original information. In a specific example, assuming that the original information is "110111101", then in a calculation method, the obtained linear erasure code is "010", and the initial information including error correction content can be expressed as "110111101010" , where the calculated linear erasure code "010" is added at the end of the original message.
  • the error correction content can also be obtained in other ways, and can be added at other positions relative to the original information, which is not limited here.
  • the acquired initial information may be represented by a first address code and a first content code, wherein each position in the initial information may be represented by a first address code corresponding to the position, and the initial The content at each position of the information may be represented by a corresponding first content code.
  • obtaining the initial information to be stored, and using the first address code and the first content code to represent the initial information may include:
  • Step S101 obtaining initial information
  • Step S102 determining the unit digit of the content at a position corresponding to a first address code in the initial information
  • Step S103 when the total number of digits of the initial information is an integer multiple of the unit number of digits, dividing the initial information into one or more initial information segments;
  • Step S104 when the total number of digits of the initial information is not an integer multiple of the unit digit, the initial information is complemented so that the total number of digits of the obtained initial information is an integral multiple of the unit digit, and the initial Information is divided into one or more initial information fragments.
  • the unit digits of content at each position in the initial information are equal to each other, and the number of digits of each initial information piece is the unit digit. That is to say, when using the first address code and the first content code to represent the initial information, the initial information is divided into one or more initial information segments each having a unit bit number, and each initial information segment is given a corresponding An address code and a first content code for subsequent processing.
  • the placeholder content may be added to the initial information, wherein the placeholder content and non-placeholder content in the initial information may respectively correspond to different molecular modules.
  • placeholder content can be supplemented at one or more places at the head, tail, and middle of the initial information (in some embodiments, the placeholder content can be represented by "0", but it should be noted that The "0" used for filling is different from the original "0" in the initial information.
  • different molecular modules should be used to represent these two different "0”. In this paper, the underlined as placeholder for "0").
  • the placeholder content and non-placeholder content in the initial information correspond to different molecular modules, they can be easily distinguished when reading the information. For example, if the initial information is "1001100010110001" and the unit digit is 3, that is, when the total number of initial information 16 is not an integral multiple of the unit digit 3, then the placeholder content can be added to the head of the initial information, and the resulting complement The bit initial information is " 00 1001100010110001". Alternatively, placeholder content may be added at the end of the initial information, and the resulting filled initial information may be expressed as "1001100010110001 00 ".
  • the same molecular module can also be used to represent placeholder content and non-placeholder content.
  • the number of unit digits, or different ways of dividing the initial information can be determined according to needs. For example, for the initial information "1001100010110001", it can be divided into different initial information segments as shown in Table 2 to Table 8 below:
  • the unit digit of the initial information segment is 1.
  • the first address code can include “0”, “1", “2”, “3”, “4", "5", “6”, “7”, “8”, “9", “10”, There are 16 types of "11”, “12”, “13”, “14” and “15”, and the first content code may include 2 types of "0” and "1".
  • the first address code can include 8 types of "0", “1", “2", “3”, “4", "5", “6” and “7", and the first content code can include “00 “, "01”, “10” and “11” in total 4 types.
  • the number of unit digits of the initial information segment is 3. Since the total number of bits of the initial information is not an integer multiple of the unit number of bits, in Table 4, two "0”s are added as placeholder content at the head of the initial information, so that the total number of bits of the resulting initial information The number is an integer multiple of the unit digit for easy division.
  • the first address codes can include six kinds of "0", “1", “2”, “3”, "4" and "5", and the corresponding first content codes can include "001", "010", There are 4 types of "100” and "110".
  • the first content code may also include one or more of "000”, “011”, "101” and "111".
  • the total number of bits of the supplemented initial information can be an integer multiple of the unit number of bits by supplementing the placeholder content at the end of the initial information.
  • " 0 " is used here to indicate the content of the placeholder, but it can also be represented by other characters, and the " 0 " used for the placeholder has different meanings from other "0"s in the initial information.
  • different molecular modules can be used to represent them respectively.
  • the first address codes may include four kinds of "0", “1", “2” and “3", and the corresponding first content codes may include "1001", “1000", “1011” and "0001". It can be understood that, in other specific examples, the first content code may also be other four-digit binary numbers, which will not be enumerated here.
  • the first address code may include two kinds of "0" and "1", and the corresponding first content code may include "10011000” and "10110001". It can be understood that, in other specific examples, the first content code may also be other eight-bit binary numbers, which will not be enumerated here.
  • the number of unit digits of the initial information segment is 16.
  • the first address code may include one type of "0”, and the corresponding first content code may include "1001100010110001". It can be understood that, in other specific examples, the first content code may also be other sixteen-bit binary numbers, which will not be enumerated here.
  • first address code and the first content code can also be converted into other bases, such as octal, decimal, hexadecimal, etc.
  • the method for storing information in a molecule may further include:
  • Step S210 respectively re-encoding each first address code to represent a corresponding first address code with first re-encoding information having a first preset number of digits and a first preset base system;
  • Step S310 determine the corresponding molecular module according to the first content encoding and the first re-encoding information.
  • the sum (B1+S1) of the first preset number of digits B1 and the first preset base S1 may be smaller than the maximum possible number of different values of the first address code, so as to effectively reduce the representation The total number of molecular modules required for the first address encoding.
  • the power of the first preset number of digits (S1 B1 ) of the first preset base system may be greater than the maximum possible number of different values of the first address code of the initial information, so that the first re-encoded information can represent all The first address that may appear is coded to ensure the reliability of the code.
  • the first re-encoded information in binary system can be represented by 6 (ie, 4+2) different molecular modules to represent a total of 16 (ie, 2 4 ) different first address codes; using 5-bit binary system
  • the first coded information of can use 7 (that is, 5+2) different molecular modules to represent a total of 32 (that is, 2 5 ) different first address codes;
  • Encoding information can be represented by 8 (i.e., 5+3) different molecular modules to represent a total of 243 (i.e., 3 5 ) different first address codes; using 10-bit decimal first re-encoding information, it can A total of 1010 different first address codes are represented by 20 (ie, 10+10) different molecular modules. It can be seen that through recoding, when the number of first address codes to be represented increases exponentially
  • the corresponding molecular module may be determined based on the first content encoding and the first re-encoding information. Specifically, different molecular modules may be determined for the first content encoding and the first re-encoding information respectively.
  • different molecular modules when determining the corresponding molecular modules for the first recoding information, different molecular modules can be determined for the contents of different bits in the first recoding information, and respectively for the first recoding information The different contents on the same bit of ⁇ determine different molecular modules. It should be noted that in such an embodiment, the same content at different positions in the first recoding information will also be represented by different molecular modules, so as to include the position information in the molecular modules, thereby distinguishing The same content in different locations.
  • each of the first address codes can be recoded into 3-bit binary first recoded information, as shown in Table 10 below:
  • first content encoding 1 0 0 1 1 1 0 0 0 first address code 0 1 2 3 4 5 6 7 first coded information 000 001 010 011 100 101 110 111
  • molecular module A1 and molecular module A2 can be used to represent two different first content codes “0" and “1", respectively, and molecular module B1 and molecular module B2 can be used to represent the first re-encoded information.
  • molecular module B3 and molecular module B4 respectively use molecular module B3 and molecular module B4 to represent “0” and “1” on the second bit in the first re-encoded information
  • molecular module B5 and Molecular module B6 to represent "0" and "1” on the third bit in the first re-encoded information
  • molecular module A1, molecular module A2, molecular module B1, molecular module B2, molecular module B3, molecular module B4 , the molecular module B5 and the molecular module B6 are molecules or molecular fragments, and they are different in pairs. In this way, a total of 8 different molecular modules are needed to represent 8-bit binary initial information.
  • the combined storage form may be as shown in FIG. 4 .
  • the first to fourth molecular modules from left to right respectively represent the first content code of the first bit "1" of the initial information, and the first re-encoded information of the first address code. "0" on the first bit of the first address code, "0" on the second bit of the first re-encoding information of the first address code, and "0" on the third bit of the first re-encoding information of the first address code ".
  • the first chain in the first row corresponds to the first digit "1" in the initial information "10011000”
  • the second chain in the second row corresponds to the second digit in the initial information "10011000” "0”
  • the third chain in the third line corresponds to the 3rd bit “0" in the initial information "10011000”
  • the fourth chain in the fourth line corresponds to the 4th bit in the initial information "10011000” "1”
  • the fifth chain in the fifth line corresponds to the 5th bit "1” in the initial information "10011000”
  • the sixth chain in the sixth line corresponds to the 6th bit in the initial information "10011000” 0
  • the seventh chain in the seventh line corresponds to the 7th bit "0” in the initial information "10011000”
  • the eighth chain in the eighth line corresponds to the 8th bit in the initial information "10011000” 0.
  • Each type of molecular chains in each row can be mixed together, or they can be connected end to end to form longer molecular chains
  • determining the corresponding molecular module according to the first content encoding and the first re-encoding information may include:
  • the first re-encoded information is represented by a second address code and a second content code, wherein each position in the first re-encoded information can be represented by a one-to-one corresponding to the position
  • the second address code is used to represent, and the content at each position in the first re-encoded information can be represented by the corresponding second content code
  • the corresponding molecular module is determined according to the first content code, the second address code and the second content code.
  • the second address code and the second content code can be used to represent each first recoded information respectively, as shown in Table 11 below:
  • the first content code has two different values of "0” and “1”
  • the second address code has three different values of "0", "1” and “2”
  • the second content code has "0" and "1" are two different values.
  • different molecular modules may be respectively determined for the first content code, the second address code, and the second content code, so as to distinguish these three codes.
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code may include:
  • Different molecular modules are respectively determined for the second content codes with different values.
  • two different first content codes “0” and “1” can be represented by molecular module A1 and molecular module A2 respectively, and two different first content codes “0” and “1” can be represented by molecular module A3 and molecular module A4
  • molecular module A5 molecular module A6 and molecular module A7 to represent three different second address codes "0", "1” and "2”
  • the molecular module A1, the molecular module A2, the molecular module A3, the molecular module A4, the molecular module A5, the molecular module A6 and the molecular module A7 are molecules or molecular fragments, and they are different in pairs.
  • a total of 7 different molecular modules are needed to represent the initial information of 8-bit binary system.
  • the combined storage form may be as shown in FIG. 5 .
  • the first to seventh molecular modules from left to right respectively represent the first content code of the first digit "1" of the initial information, the first digit of the first digit "1" The second content code "0" and the corresponding first second address code "0", the first second second content code "0" and the corresponding second second address code "1", the first The third second content code of the bit is "0" and the corresponding third second address code is "2".
  • the first chain in the first row corresponds to the first digit "1" in the initial information "10011000”
  • the second chain in the second row corresponds to the second digit in the initial information "10011000” "0”
  • the third chain in the third line corresponds to the 3rd bit “0" in the initial information "10011000”
  • the fourth chain in the fourth line corresponds to the 4th bit in the initial information "10011000” "1”
  • the fifth chain in the fifth line corresponds to the 5th bit "1” in the initial information "10011000”
  • the sixth chain in the sixth line corresponds to the 6th bit in the initial information "10011000” 0
  • the seventh chain in the seventh line corresponds to the 7th bit "0” in the initial information "10011000”
  • the eighth chain in the eighth line corresponds to the 8th bit in the initial information "10011000” 0.
  • Each type of molecular chains in each row can be mixed together, or they can be connected end to end to form longer molecular chains
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code may include:
  • a code for a certain value may not correspond to any molecular module, but be represented by a missing state, which can reduce the number of different kinds of molecular modules required.
  • the first content code "0" can be represented by the molecular module A1
  • the first content code “1" can be represented by the absence state, that is, there is no molecular module to represent the first content code "0”.
  • a content code "1" can be represented by the absence state, that is, there is no molecular module to represent the first content code "0”.
  • molecular module A3 and molecular module A4 can be used similarly to represent two different values of the second content code "0" and “1", and molecular module A5, molecular module A6 and molecular module A7 can be used to represent three different The second address codes "0", "1” and "2" for taking values, wherein the molecular module A1, the molecular module A3, the molecular module A4, the molecular module A5, the molecular module A6 and the molecular module A7 are molecules or molecular fragments, And they are different from each other. In this way, a total of 6 different molecular modules are required to represent 8-bit binary initial information.
  • different molecular modules may also be determined for combinations of different values of the first content code, the second address code, and the second content code.
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code may include:
  • Different molecular modules are respectively determined for combinations of different values of the second address code and the second content code.
  • the combination of the second content code “0" and the second address code “0” can be represented by the molecular module A8, and the second content code can be represented by the molecular module A9 is “0" and the second address code is “1”, use the molecular module A10 to represent the combination of the second content code “0” and the second address code is "2”, and use the molecular module A11 to represent the second
  • the combination of the second content coded as "1” and the second address coded as "1” is represented by molecular module A12
  • the combination of the second address coded as "1” is represented by molecular module A13 Indicates a combination where the second content code is "1" and the second address code is "2".
  • the initial information in Table 11 can also be completely represented by combining the molecular module A1 and the molecular module A2 representing the first content code. In this way, a total of 8 different
  • different molecular modules can also be determined for combinations of different values of the first address code and the second address code, and the initial information can be represented by combining the molecular module representing the second content code; or can also be respectively Combinations of different values of the first address code and the second content code determine different molecular modules, and combine the molecular modules representing the second address codes to represent the initial information.
  • the missing state may be used to represent a value of a combination of two codes among the first content code, the second address code and the second content code.
  • determining the corresponding molecular module according to the first content code, the second address code and the second content code may include:
  • the missing state can be used to represent the combination of the second content coded as "0" and the second address coded as "0”
  • the molecular module A9 can be used to represent the combination of the second content coded as For the combination of "0” and the second address code "1”
  • the molecular module A10 is used to represent the combination of the second content code "0” and the second address code "2”
  • the molecular module A11 is used to represent the second content
  • the combination coded as "1” and the second address coded as "0” is represented by the molecular module A12 as the combination of the second content coded as "1” and the second address coded as "1”
  • the molecular module A13 The second content code is a combination of "1” and the second address code is "2”.
  • the initial information in Table 11 can also be completely represented by combining the molecular module A1 and the molecular module A2 representing the first content code. In this way, a total of 7 different molecular modules
  • the first content encoding may also be re-encoded.
  • methods for storing information in molecules can include:
  • Step S220 respectively re-encoding each first content code, so as to represent a corresponding first content code with second re-encoding information having a second preset number of digits and a second preset binary system;
  • Step S320 determine the corresponding molecular module according to the first address code and the second recoded information.
  • the sum (B2+S2) of the second preset number of digits B2 and the second preset base S2 may be smaller than the maximum possible number of different values of the first content code, so as to effectively reduce the representation The total number of molecular modules required for the first content encoding.
  • the power of the second preset number of digits (S2 B2 ) of the second preset system may be greater than the maximum possible number of different values of the first content code, so that the second re-encoded information can represent all possible occurrences
  • the first content is coded to ensure the reliability of the code.
  • the first content encoding can be re-encoded to obtain the second re-encoding information to reduce the number required to represent the first content encoding.
  • the second re-encoding information in binary system can use 6 (ie, 4+2) different molecular modules to represent a total of 16 (ie, 2 4 ) different first content codes; using 5-bit binary system
  • the second encoding information of can use 7 (i.e., 5+2) different molecular modules to represent a total of 32 (i.e., 2 5 ) different first content encodings;
  • Encoding information, 8 (i.e., 5+3) different molecular modules can be used to represent a total of 243 (i.e., 3 5 ) different first content encodings;
  • 10-bit decimal second re-encoding information it can be A total of 1010 different first content codes are represented by 20 (ie, 10+10) different molecular modules. It can be seen that through re-encoding, when the
  • the corresponding molecular module can be determined based on the first address encoding and the second re-encoding information. Specifically, different molecular modules may be determined for the first address encoding and the second recoding information respectively.
  • different molecular modules when determining the corresponding molecular modules for the second re-encoding information, different molecular modules can be determined for the contents of different bits in the second re-encoding information, and respectively for the second re-encoding information The different contents on the same bit of ⁇ determine different molecular modules. It should be noted that, in such an embodiment, for the same content in different positions in the second recoding information, different molecular modules will be used to represent the position information in the molecular modules, so as to distinguish The same content in different locations.
  • determining the corresponding molecular module according to the first address encoding and the second re-encoding information may include:
  • the second re-encoded information is represented by a third address code and a third content code, wherein each position in the second re-encoded information can be represented by a one-to-one corresponding to the position
  • the third address code is used to represent, and the content at each position in the second re-encoded information can be represented by a corresponding third content code
  • the corresponding molecular module is determined according to the first address code, the third address code and the third content code.
  • each of the first content codes can be re-coded and represented by a third address code and a third content code, as shown in Table 13 below:
  • the third address code has two different values of "0" and "1"
  • the third content code has two different values of "0” and "1”
  • the first address code has "0", "1", "2” and "3" have four different values.
  • different molecular modules may be respectively determined for the first address code, the third address code and the third content code, so as to distinguish these three codes.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code may include:
  • Different molecular modules are respectively determined for the third content codes with different values.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code may include:
  • a code for a certain value may not correspond to any molecular module, but be represented by a missing state, which can reduce the number of different kinds of molecular modules required.
  • the absence state can be used to represent the first address code "0", that is, there is no molecular module corresponding to the first address code "0", and the molecular module A15, molecular The module A16 and the molecular module A17 represent three other different first address codes "1", "2" and "3".
  • third content codes "0" and “1” can be represented similarly by molecular module A18 and molecular module A19
  • two different third address codes can be represented by molecular module A20 and molecular module A21" 0" and "1" wherein, molecular module A15, molecular module A16, molecular module A17, molecular module A18, molecular module A19, molecular module A20 and molecular module A21 are molecules or molecular fragments, and they are different in pairs. In this way, a total of 7 different molecular modules are needed to represent the initial information of 8-bit binary system.
  • different molecular modules may also be determined for combinations of different values of the first address code, the third address code, and the third content code.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code may include:
  • Different molecular modules are respectively determined for combinations of different values of the third address code and the third content code.
  • the combination of the third content code “0" and the third address code “0” can be represented by the molecular module A22, and the third content code can be represented by the molecular module A23 is “0” and the third address code is "1", use molecular module A24 to represent the combination that the third content code is “1” and the third address code is "0”, and use molecular module A25 to represent the third Combination of content coded as "1" and third address coded as "1”.
  • the initial information in Table 13 can also be completely represented. In this way, a total of 8 different molecular modules are needed to represent 8-bit binary initial information.
  • different molecular modules can also be determined for combinations of different values of the first address code and the third address code, and the initial information can be represented by combining the molecular module representing the third content code; Combinations of different values of the first address code and the third content code determine different molecular modules, and combine with the molecular module representing the third address code to represent the initial information.
  • the missing state can be used to represent a value of a combination of two codes among the first address code, the third address code and the third content code.
  • determining the corresponding molecular module according to the first address code, the third address code and the third content code may include:
  • the missing state can be used to represent the combination of the third content coded as "0" and the third address coded as "0”
  • the molecular module A23 can be used to represent the combination of the third content coded as For the combination of "0” and the third address code "1”
  • the molecular module A24 is used to represent the combination of the third content code “1” and the third address code "0”
  • the molecular module A25 is used to represent the third content Combination coded as "1" and third address coded as "1”.
  • the initial information in Table 13 can also be completely represented. In this way, a total of 7 different molecular modules are needed to represent the 8-bit binary initial information.
  • both the first address encoding and the first content encoding may also be re-encoded.
  • methods for storing information in molecules may include:
  • Step S230 respectively re-encode each first address code and each first content code, so as to represent a corresponding first re-encoded information with a first preset number of digits and a first preset base
  • An address code, and a corresponding first content code is represented by second re-encoding information having a second preset number of digits and a second preset base system;
  • Step S330 determine the corresponding molecular module according to the first recoding information and the second recoding information.
  • the sum (B1+S1) of the first preset number of digits and the first preset base can be smaller than the maximum possible number of different values of the first address code
  • the second The sum (B2+S2) of the two preset digits and the second preset system can be less than the maximum possible number of different values of the first content code, so as to effectively reduce the number of characters representing the first address code and the first content code The total number of molecular modules required.
  • the power of the first preset number of digits in the first preset system (S1 B1 ) may be greater than the maximum possible number of different values of the first address code
  • the second preset digit of the second preset system The number power (S2 B2 ) may be greater than the maximum possible number of different values of the first content code, so that the first re-encoding information and the second re-encoding information can respectively represent all possible first address codes and first Content coding to ensure the reliability of coding.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information may include:
  • Different molecular modules are determined for the first recoding information and the second recoding information, respectively.
  • different molecular modules can be determined for the contents of different bits in the first recoding information, and can be determined for different contents of the same bit in the first recoding information different molecular modules.
  • different molecular modules can be determined for the contents of different bits in the second recoding information, and different molecular modules can be determined for different contents of the same bit in the second recoding information module, as described above.
  • the second address code and the second content code may be further used to represent the first re-encoded information, wherein each position in the first re-encoded information may be represented by a one-to-one corresponding to the position.
  • the content at each location in the first re-encoded information can be represented by a corresponding second content code, as described above.
  • the second re-encoded information may be further represented by a third address code and a third content code, wherein each position in the second re-encoded information may have a one-to-one correspondence with the position and the content at each location in the second re-encoded information may be represented by a corresponding third content code, as described above.
  • different molecular modules can be determined for the contents of different bits in the first recoding information, and different molecular modules can be determined for different contents of the same bit in the first recoding information. and different molecular modules are respectively determined for different contents in the second recoding information, and different molecular modules are respectively determined for different contents in the same bit in the second recoding information.
  • the molecular modules respectively corresponding to the first recoding information and the second recoding information may be different molecules or molecular fragments.
  • different molecular modules can be determined for the contents of different bits in the first recoding information, and different molecular modules can be determined for different contents of the same bit in the first recoding information, And for each second re-encoded information, the second re-encoded information can be represented by a third address code and a third content code, and a corresponding molecular module can be determined according to the third address code and the third content code.
  • the molecular modules respectively corresponding to the first recoding information, the third address code and the third content code may be different molecules or molecular fragments.
  • the first re-encoding information may be represented by a second address code and a second content code, and the corresponding and different molecular modules are respectively determined for different contents in the second recoding information, and different molecular modules are respectively determined for different contents in the same bit in the second recoding information.
  • the molecular modules respectively corresponding to the second address code, the second content code and the second recoding information may be different molecules or molecular fragments.
  • the first re-encoding information may be represented by a second address code and a second content code, and the corresponding , and for each second re-encoded information, the second re-encoded information can be represented by the third address code and the third content code, and the corresponding molecule can be determined according to the third address code and the third content code module.
  • each first address code and each first content code can be re-coded, and the second address code and the second content code can be used to represent the first re-coded information, and the third address code and the third content code can be used to represent the first re-coded information.
  • encoded to represent the second re-encoded information as shown in Table 14 below:
  • the second content code, the second address code, the third content code and the third address code each have two different values of "0" and "1".
  • different molecular modules may be respectively determined for the second address code, the second content code, the third address code, and the third content code, so as to distinguish these codes.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information may include:
  • Different molecular modules are respectively determined for the third content codes with different values.
  • two different second address codes “0” and “1” can be represented by molecular module A5 and molecular module A6 respectively
  • two different second address codes “0” and “1” can be represented by molecular module A3 and molecular module A4
  • Indicate two different second content codes “0” and “1” use molecular module A20 and molecular module A21 to represent two different third address codes “0” and “1”
  • use molecular module A18 and molecular module A19 to represent two different third content codes “0” and “1”
  • molecular module A5, molecular module A6, molecular module A3, molecular module A4, molecular module A20, molecular module A21, molecular module A18 and molecular module A19s are molecules or molecular fragments, and they are different in pairs. In this way, a total of 8 different molecular modules are needed to represent 8-bit binary initial information.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information may include:
  • a value of a code may not correspond to any molecular module, but be represented by a missing state, which can reduce the number of types of required molecular modules.
  • the second address code "0" can be represented by the missing state, that is, there is no molecular module corresponding to the second address code "0", and the second address code "0" can be represented by the molecular module A6.
  • different molecular modules may also be determined for the second address code, the second content code, the third address code and the third content code, or combinations of different values of the three codes.
  • determining the corresponding molecular module according to the first recoding information and the second recoding information may include:
  • Different molecular modules are respectively determined for combinations of different values of the third address code and the third content code.
  • the combination of the second content code “0" and the second address code “0” can be represented by the molecular module A8, and the second content code can be represented by the molecular module A9 is “0" and the second address code is "1", use the molecular module A11 to represent the combination of the second content code is “1” and the second address code is "0", use the molecular module A12 to represent the second Combination of content coded as "1" and second address coded as "1".
  • the molecular module A22 can also be used to represent the combination of the third content coded as "0" and the third address coded as "0"
  • the molecular module A23 can be used to represent the combination of the third content coded as "0” and the third address coded as Combination of "1”
  • use molecular module A24 to represent the combination of third content coded as “1” and third address coded as "0”
  • use molecular module A25 to represent the combination of third content coded as "1” and third address Combinations coded as "1".
  • molecular module A8, molecular module A9, molecular module A10, molecular module A11, molecular module A22, molecular module A23, molecular module A24 and molecular module A25 can be used to represent 8-bit binary initial information.
  • the 8-bit binary initial information may be represented by molecular module A8, molecular module A9, molecular module A10, molecular module A11, molecular module A20, molecular module A21, molecular module A18 and molecular module A19.
  • molecular module A3, molecular module A4, molecular module A5, molecular module A6, molecular module A22, molecular module A23, molecular module A24 and molecular module A25 can be used to represent 8-bit binary initial information.
  • the corresponding molecular module can also be determined based on a combination of the second address code, the second content code, the third address code, and the third content code, and the other two or three codes, which will not be repeated here. .
  • determining the corresponding molecular module according to the first recoding information and the second recoding information may include:
  • the missing state can be used to represent the combination of the third content coded as "0” and the third address coded as "0”
  • the molecular module A23 can be used to represent the combination of the third content coded as For the combination of "0” and the third address code "1”
  • the molecular module A24 is used to represent the combination of the third content code “1” and the third address code "0”
  • the molecular module A25 is used to represent the third content Combination coded as "1" and third address coded as "1”.
  • Combining the molecular module A10 , molecular module A11 , molecular module A12 and molecular module A13 representing combinations of different values of the second content code and the second address code can also completely represent the initial information in Table 14. In this way, a total of 7 different molecular modules are needed to represent the initial information of 8-bit binary system.
  • the method for storing information in a molecule may also include:
  • Step S400 combining the determined molecular modules in sequence, so that the composition corresponds to the initial information.
  • the molecular module may include deoxyribonucleic acid (DNA), ribonucleic acid (RNA), peptides, organic polymers, organic small molecules, carbon nanomaterials, inorganic substances, and the like.
  • molecular modules may also include non-natural nucleotides, modified nucleotides, artificially synthesized nucleotides, and the like. When storing information, it involves the combination of different molecular modules representing content codes and address codes. These molecular modules can be connected by covalent bonds, ionic bonds, hydrogen bonds, intermolecular forces, hydrophobic forces, complementary base pairing, etc. Modes of action are grouped together.
  • different molecular modules representing different values of the same content code or address code may be the same type of molecular modules, for example, all are DNA.
  • different molecular modules representing different values of the same content code or address code may be different types of molecular modules, for example, one DNA and one RNA are respectively used to represent two different values of a content code.
  • the molecular modules representing different types of content codes or address codes may be the same type of molecular modules, for example, different RNAs are used to represent all content codes and address codes.
  • different types of molecular modules can be used to represent different types of content codes and address codes, for example, RNA is used to represent content codes, and DNA is used to represent address codes.
  • different molecular modules can be distinguished using at least one of their sequence distribution, sequence length, and secondary structure.
  • sequences of DNA, RNA, peptides, organic polymers, different lengths or different secondary structures can be used to represent different values of different codes.
  • different chemical forms of DNA, RNA, peptides, organic polymers, small organic molecules, unnatural nucleotides, modified nucleotides, synthetic nucleotides, carbon nanomaterials, inorganic substances, Physical properties, crystalline or amorphous properties, and morphology represent different values for different codes.
  • the composition obtained by combining molecular modules may be a mixture or a compound.
  • the composition may include a variety of different DNA strands, and these DNA strands may respectively represent one or more fragments of the initial information in the initial information, and they may be mixed together to represent the complete initial information.
  • the DNA chains representing various fragments of initial information can be further synthesized into longer DNA chains to represent complete initial information in the form of compounds.
  • the molecular modules representing address codes can be combined in front of, behind or inserted in the middle of the molecular modules representing corresponding content codes, here No limit.
  • a molecular module representing a certain address code or content code may also include multiple molecular fragments, and these molecular fragments may also be arranged at intervals.
  • the molecular module representing the second address code may be combined before, after or inserted in the middle of the molecular module representing the corresponding second content code.
  • a molecular module with a corresponding terminal part can be selected, that is, the molecular fragment as the terminal part is the corresponding molecule A part of the module to realize the sequential connection of different molecular modules.
  • combining the determined molecular modules in sequence so that the composition corresponds to the initial information may include: forming terminations corresponding to the preset order at the connecting ends of the determined molecular modules; and mixing the molecular modules formed with the corresponding terminations to produce a composition corresponding to the initial information. That is to say, the molecular fragments as terminations are added to the corresponding molecular modules after the determination of the molecular modules.
  • different terminations may be added to the tail of molecular module A3 so that it can be connected to molecular module A5, molecular module A6 and molecular module A7 respectively, to form the correct molecular chain.
  • DNA can be used as a molecular module.
  • DNA is composed of bases, deoxyribose sugar, and phosphate, among which there are four types of bases: adenine (A), guanine (G), thymine (T) and cytosine (C).
  • A adenine
  • G guanine
  • T thymine
  • C cytosine
  • two polydeoxynucleotide chains are coiled around a common central axis, forming a double helix structure.
  • the deoxyribose-phosphate chains are on the outside of the helix, with the bases facing in.
  • the two polydeoxynucleotide chains are reverse complementary, connected by base pairing formed by hydrogen bonds between bases, forming a fairly stable combination. Accordingly, the terminations of the DNA molecular modules may include cohesive ends.
  • a ligase can be used to sequentially combine the determined multiple DNA strands corresponding to the corresponding address codes and content codes.
  • a linker provided at the end of the DNA chain can be used to sequentially combine the determined multiple DNA chains under the action of ligase.
  • PCR polymerase chain reaction
  • the determined multiple DNA strands are used as templates, and the DNA strands containing the corresponding sequences at the junction ends of the two DNA strands to be ligated are amplified.
  • the DNA strands to be ligated can be directly amplified.
  • RNA can be utilized as a molecular module.
  • RNA is composed of phosphoric acid, ribose sugar, and bases, and the bases of RNA mainly include four types: A (adenine), G (guanine), C (cytosine), and U (uracil).
  • the terminations of the RNA molecular modules may comprise corresponding functional groups.
  • the determined multiple RNA chains can be sequentially combined under the action of ligase by using the linker sequence arranged at the end of the RNA chain and the DNA linker sequence.
  • peptides can be utilized as molecular modules.
  • the amino group of one amino acid and the carboxyl group of another amino acid can be condensed into a peptide, and the amide group formed is called a peptide bond in protein chemistry.
  • the molecule of amino acid is the smallest, and the protein is the largest.
  • Two or more amino acids are dehydrated and condensed to form several peptide bonds to form a peptide chain, and multiple peptide chains are folded in multiple stages to form a protein molecule.
  • Proteins are also sometimes referred to as "polypeptides”.
  • the terminations of the peptide molecular modules may comprise corresponding functional groups.
  • the identified peptides can be linked under the action of a catalyst to represent at least a portion of the initial message.
  • the edit distance between different molecular modules can be greater than or equal to a preset distance threshold.
  • Edit distance refers to the number of manipulation steps required to convert from one molecular module to another.
  • the molecular module is a DNA chain including 10 bases
  • the edit distance between the molecular modules "ATCGTAGCCA” and “TTCGTAGCCA” is 1
  • the edit distance between the molecular modules "ATCGTAGCCA” and “TAGCATCGGT” is 10.
  • the preset distance threshold For the convenience of reading, when designing molecular modules, only multiple molecular modules whose edit distance between pairs is greater than or equal to the preset distance threshold can be selected.
  • the read molecular module can still be mapped to a specific , thus improving the fault tolerance of molecular storage.
  • the information is stored as content-address pairs, and the molecular modules in the pre-made molecular module library are repeatedly used by recoding the address and/or content of the information.
  • Large-scale parallel assembly to achieve information storage compared with the method of synthesizing DNA by growing nucleotides one by one to store information, the number of types of molecular modules required is greatly reduced, and parallel assembly greatly improves the efficiency of combination, thereby reducing storage costs. Difficulty, improved storage efficiency.
  • the present disclosure also proposes a device for storing information in molecules, as shown in FIG. 15 , the device may include an acquisition unit 910 and an encoding unit 920 .
  • the obtaining unit 910 may be configured to obtain the initial information to be stored.
  • the encoding unit 920 may be configured to represent the initial information with a first address code and a first content code, wherein each position in the initial information is represented by a first address code corresponding to the position one to one, and the initial information The content at each position of is respectively represented by a corresponding first content code.
  • the encoding unit 920 may also be configured to re-encode each first address code separately, so as to use the first re-encoded information with the first preset number of digits and the first preset base to represent a corresponding first address code; and determine the corresponding molecular module according to the first content code and the first recoding information.
  • the encoding unit 920 may also be configured to re-encode each first content encoding separately, so as to use the second re-encoding with the second preset number of digits and the second preset base Information to represent a corresponding first content code; and determine the corresponding molecular module according to the first address code and the second re-coded information.
  • the encoding unit 920 may also be configured to re-encode each first address code and each first content code respectively, so as to use the first preset number of digits and the first preset
  • the first re-encoding information of the base system is used to represent a corresponding first address code
  • the second re-encoding information having a second preset number of digits and a second preset base system is used to represent a corresponding first content code
  • the corresponding molecular modules are determined according to the first recoding information and the second recoding information.
  • the encoding unit 920 may include a processor 921 and a memory 922.
  • the memory 922 stores instructions. When the instructions are executed by the processor 921, the above-mentioned encoding steps are implemented.
  • the processor 921 may execute various actions and processes according to instructions stored in the memory 922 .
  • the processor 921 may be an integrated circuit chip, which has a signal processing capability.
  • the above-mentioned processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • FPGA off-the-shelf programmable gate array
  • Various methods, steps and logic block diagrams disclosed in the embodiments of the present disclosure may be realized or executed.
  • the general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc., and may be an X86 architecture or an ARM architecture, or the like.
  • the memory 922 stores executable instructions, and the instructions are executed by the processor 921 in the encoding method described above.
  • Memory 922 can be volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory.
  • the nonvolatile memory can be read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), or flash memory.
  • Volatile memory can be random access memory (RAM), which acts as external cache memory.
  • RAM Static Random Access Memory
  • DRAM Dynamic Random Access Memory
  • SDRAM Synchronous Dynamic Random Access Memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • ESDRAM Enhanced Synchronous Dynamic Random Access Memory
  • SLDRAM Synchronous Linked Dynamic Random Access Memory
  • DRRAM Direct Memory Bus Random Access Memory
  • the device may further include a writer unit 930, which may be configured to sequentially combine the determined molecular modules so that the composition corresponds to the initial information.
  • each block in a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more logic devices for implementing the specified Executable instructions for a function.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by a dedicated hardware-based system that performs the specified functions or operations , or may be implemented by a combination of dedicated hardware and computer instructions.
  • the various example embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, firmware, logic, or any combination thereof. Certain aspects may be implemented in hardware, while other aspects may be implemented in firmware or software, which may be executed by a controller, microprocessor or other computing device.
  • aspects of the embodiments of the present disclosure are illustrated or described as block diagrams, flowcharts, or using some other graphical representation, it is to be understood that the blocks, devices, systems, techniques, or methods described herein may serve as non-limiting Examples are implemented in hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controllers or other computing devices, or some combination thereof.
  • the word "exemplary” means “serving as an example, instance, or illustration” rather than as a “model” to be exactly reproduced. Any implementation described illustratively herein is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, the disclosure is not to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or detailed description.
  • the word “substantially” is meant to include any minor variations due to defects in design or manufacturing, device or component tolerances, environmental influences, and/or other factors.
  • the word “substantially” also allows for differences from a perfect or ideal situation due to parasitic effects, noise, and other practical considerations that may exist in an actual implementation.
  • connection means that one element/node/feature is directly connected (or electrically, mechanically, logically, or otherwise) to another element/node/feature. direct communication).
  • coupled means that one element/node/feature can be directly or indirectly connected to another element/node/feature mechanically, electrically, logically or otherwise to allow interactions even though the two features may not be directly connected. That is, “coupled” is intended to encompass both direct and indirect couplings of elements or other features, including connections utilizing one or more intervening elements.
  • first”, “second”, and similar terms may also be used herein for reference purposes only, and thus are not intended to be limiting.
  • the words “first,” “second,” and other such numerical terms referring to structures or elements do not imply a sequence or order unless clearly indicated by the context.
  • the term “provide” is used broadly to cover all ways of obtaining an object, so “provide something” includes, but is not limited to, “purchasing”, “preparing/manufacturing”, “arranging/setting”, “installing/ Assembly”, and/or “Order” objects, etc.

Landscapes

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

Abstract

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

Description

用于在分子中存储信息的方法和设备
相关申请的交叉引用
本申请要求于2022年1月5日提交的、标题为“用于在分子中存储信息的方法和设备”的中国专利申请第202210009421.5号的优先权,该申请的公开内容通过引用被全部合并于此。
技术领域
本公开涉及存储技术领域,具体来说,涉及一种用于在分子中存储信息的方法和设备。
背景技术
随着信息技术的大幅发展,人们对于数据存储的需求也在迅速提高。传统的数据存储介质包括硬盘、闪存、磁带、光盘等,其存在存储密度低、保存时间短、能耗高等问题。为了实现更高的存储密度和更可靠的存储效果,目前已提出了在分子中存储信息的相关方法和设备。以DNA分子进行数据存储为例,其存储密度理论上可以达到传统存储介质的10 6至10 7倍以上,数量级地降低数据存储运行和维护的费用。此外,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中所示的一段二进制信息,其具有共10 10位,且每一位上的内容的取值可以为0或者1。相应地,可以用两种不同的分子模块来分别表示内容0和内容1,并用10 10种不同的分子模块来分别表示10 10个地址,通过按照预设规则来合成或组合上面所述的(2+10 10)种分子模块,可以表示表1中所示的这段信息,如图1中所示的存储形式,其中每个小矩形框表示一种分子模块。
表1
内容 1 0 0 1 1 0 0 0 1 0 1
地址 0 1 2 3 4 5 6 7 8 9 10 10
然而,可以理解的是,用于存储信息的由10 10量级的不同分子模块所形成的分子模块库将是非常庞大的,其实现难度很高,且合成或组合这些分子模块的难度也很高,这会 导致将信息写入到分子中变得非常困难。此外,在读取信息时,可能涉及分析鉴别10 10量级的不同分子模块,这也是非常困难的。
为了解决上述问题,本公开提出了一种用于在分子中存储信息的方法,通过对待存储的初始信息进行重编码,极大程度地减少了所需的分子模块的种数,从而可以降低读写难度,改善读写效率。如图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”。或者,可以在初始信息的尾部补充占位内容,所得的补位初始信息可以被表示为“1001100010110001 00”。此外,可以理解的是,在一些实施例中,当可以采用其他方式来区分占位内容与非占位内容时(例如,可以将位于信息的头部的一个或多个“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 1 00
第一地址编码 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)可以小于第一地址编码的不同取值的最大可能种数,以有效地减小表征第一地址编码所需的分子模块的总数目。并且,第一预设进制的第一预设位数次幂(S1 B1)可以大于初始信息的第一地址编码的不同取值的最大可能种数,从而使得第一重编码信息能够表示所有可能出现的第一地址编码,以保障编码的可靠性。
例如,利用3位2进制的第一重编码信息,可以用5(即,3+2)个不同的分子模块来表示共8(即,2 3)个不同的第一地址编码;利用4位2进制的第一重编码信息,可以用6(即,4+2)个不同的分子模块来表示共16(即,2 4)个不同的第一地址编码;利用5位2进制的第一重编码信息,可以用7(即,5+2)个不同的分子模块来表示共32(即,2 5)个不同的第一地址编码;利用5位3进制的第一重编码信息,可以用8(即,5+3)个不同的分子模块来表示共243(即,3 5)个不同的第一地址编码;利用10位10进制的第一重编码信息,可以用20(即,10+10)个不同的分子模块来表示共10 10个不同的第一地址编码。由此可见,通过重编码,当需要表示的第一地址编码的数目发生指数增长时,只需要线性增加分子模块的数量即可,因而大幅地压缩了所需的分子模块的种类。
进一步地,可以基于第一内容编码和第一重编码信息来确定相应的分子模块。具体 而言,可以分别为第一内容编码和第一重编码信息确定不同的分子模块。
在一些实施例中,在为第一重编码信息确定相应的分子模块时,可以分别为第一重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块。需要注意的是,在这样的实施例中,对于第一重编码信息中的在不同位置上的相同内容,也会用不同的分子模块来表示,以将位置信息包含在分子模块中,从而区分位于不同位置上的相同内容。
例如,在一具体示例中,当所获取的初始信息为“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
Figure PCTCN2022079689-appb-000001
其中,第一内容编码具有“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)可以小于第一内容编码的不同取值的最大可能种数,以有效地减小表征第一内容编码所需的分子模块的总数目。并且,第二预设进制的第二预设位数次幂(S2 B2)可以大于第一内容编码的不同取值的最大可能种数,从而使得第二重编码信息能够表示所有可能出现的第一内容编码,以保障编码的可靠性。例如在初始信息片段的单位位数较大的情况下,如果直接遍历所有不同取值的第一内容编码来选取相应的分子模块,则用来表示第一内容编码所需的分子模块的数目较大,因此可以对第一内容编码进行重编码以获得第二重编码信息,以减小用来表示第一内容编码所需的数目。
例如,利用3位2进制的第二重编码信息,可以用5(即,3+2)个不同的分子模块来表示共8(即,2 3)个不同的第一内容编码;利用4位2进制的第二重编码信息,可以用6(即,4+2)个不同的分子模块来表示共16(即,2 4)个不同的第一内容编码;利用5位2进制的第二重编码信息,可以用7(即,5+2)个不同的分子模块来表示共32(即,2 5)个不同的第一内容编码;利用5位3进制的第二重编码信息,可以用8(即,5+3)个不同的分子模块来表示共243(即,3 5)个不同的第一内容编码;利用10位10进制的第二重编码信息,可以用 20(即,10+10)个不同的分子模块来表示共10 10个不同的第一内容编码。由此可见,通过重编码,当需要表示的第一内容编码的数目发生指数增长时,只需要线性增加分子模块的数量即可,因而大幅地压缩了所需的分子模块的种类。
进一步地,可以基于第一地址编码和第二重编码信息来确定相应的分子模块。具体而言,可以分别为第一地址编码和第二重编码信息确定不同的分子模块。
在一些实施例中,在为第二重编码信息确定相应的分子模块时,可以分别为第二重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。需要注意的是,在这样的实施例中,对于第二重编码信息中的在不同位置上的相同内容,将会用不同的分子模块来表示,以将位置信息包含在分子模块中,从而区分位于不同位置上的相同内容。
在另一些实施例中,根据第一地址编码和第二重编码信息来确定相应的分子模块可以包括:
对于每个第二重编码信息,用第三地址编码和第三内容编码来表示该第二重编码信息,其中,第二重编码信息中的每个位置可以分别由与该位置一一对应的第三地址编码来表示,且第二重编码信息中的每个位置处的内容可以分别由相应的第三内容编码来表示;以及
根据第一地址编码、第三地址编码和第三内容编码来确定相应的分子模块。
例如,当所获取的初始信息为“10011000”时,可以按照上文所述的方式将其表示为如下面的表12中所示的形式:
表12
第一内容编码 10 01 10 00
第一地址编码 0 1 2 3
进一步地,可以将其中的每个第一内容编码重编码,并用第三地址编码和第三内容编码来表示,如下面的表13所示:
表13
Figure PCTCN2022079689-appb-000002
其中,第三地址编码具有“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)可以小于第一内容编码的不同取值的最大可能种数,以有效地减小表征第一地址编码和第一内容编码所需的分子模块的总数目。此外,第一预设进制的第一预设位数次幂(S1 B1)可以大于第一地址编码的不同取值的最大可能种数,以及第二预设进制的第二预设位数次幂(S2 B2)可以大于第一内容编码的不同取值的最大可能种数,从而使第一重编码信息和第二重编码信息能够分别表示所有可能出现的第一地址编码和第一内容编码,以保障编码的可靠性。
在一些实施例中,根据第一重编码信息和第二重编码信息来确定相应的分子模块可以包括:
分别为第一重编码信息和第二重编码信息确定不同的分子模块。
如上文所述的,在一些实施例中,可以分别为第一重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块。
类似地,在一些实施例中,可以分别为第二重编码信息中的不同位上的内容确定不同的分子模块,并且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块,如上文所述。
在一些实施例中,也可以进一步用第二地址编码和第二内容编码来表示第一重编码信息,其中,第一重编码信息中的每个位置可以分别由与该位置一一对应的第二地址编码来表示,且第一重编码信息中的每个位置处的内容可以分别由相应的第二内容编码来表示,如上文所述。
类似地,在一些实施例中,可以进一步用第三地址编码和第三内容编码来表示第二重编码信息,其中,第二重编码信息中的每个位置可以分别由与该位置一一对应的第三地址编码来表示,且第二重编码信息中的每个位置处的内容可以分别由相应的第三内容编码 来表示,如上文所述。
可以理解的是,在一具体示例中,可以分别为第一重编码信息中的不同位上的内容确定不同的分子模块,且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块,并且分别为第二重编码信息中的不同位上的内容确定不同的分子模块,且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。此外,分别与第一重编码信息和第二重编码信息对应的分子模块可以为不同的分子或分子片段。
在另一具体示例中,可以分别为第一重编码信息中的不同位上的内容确定不同的分子模块,且分别为第一重编码信息中的同一位上的不同内容确定不同的分子模块,并且对于每个第二重编码信息,可以用第三地址编码和第三内容编码来表示该第二重编码信息,且根据第三地址编码和第三内容编码来确定相应的分子模块。此外,分别与第一重编码信息、第三地址编码和第三内容编码对应的分子模块可以为不同的分子或分子片段。
在又一具体示例中,对于每个第一重编码信息,可以用第二地址编码和第二内容编码来表示该第一重编码信息,且根据第二地址编码和第二内容编码来确定相应的分子模块,并且分别为第二重编码信息中的不同位上的内容确定不同的分子模块,且分别为第二重编码信息中的同一位上的不同内容确定不同的分子模块。此外,分别与第二地址编码、第二内容编码和第二重编码信息对应的分子模块可以为不同的分子或分子片段。
在再一具体示例中,对于每个第一重编码信息,可以用第二地址编码和第二内容编码来表示该第一重编码信息,且根据第二地址编码和第二内容编码来确定相应的分子模块,并且对于每个第二重编码信息,可以用第三地址编码和第三内容编码来表示该第二重编码信息,且根据第三地址编码和第三内容编码来确定相应的分子模块。
例如,当所获取的初始信息为“10011000”时,可以按照上文所述的方式将其表示为如表12中所示的形式。进一步地,可以将其中的每个第一地址编码和每个第一内容编码重编码,并用第二地址编码和第二内容编码来表示第一重编码信息,用第三地址编码和第三内容编码来表示第二重编码信息,如下面的表14中所示:
表14
Figure PCTCN2022079689-appb-000003
Figure PCTCN2022079689-appb-000004
其中,第二内容编码、第二地址编码、第三内容编码和第三地址编码各自具有“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所述的设备,其特征在于,所述设备还包括:
    写入器单元,所述写入器单元被配置为按顺序组合所确定的分子模块,以使组合物对应于所述初始信息。
PCT/CN2022/079689 2022-01-05 2022-03-08 用于在分子中存储信息的方法和设备 WO2023130562A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2023130562A1 true WO2023130562A1 (zh) 2023-07-13

Family

ID=87072992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/079689 WO2023130562A1 (zh) 2022-01-05 2022-03-08 用于在分子中存储信息的方法和设备

Country Status (2)

Country Link
CN (1) CN116451780A (zh)
WO (1) WO2023130562A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104520864A (zh) * 2012-06-01 2015-04-15 欧洲分子生物学实验室 Dna中数字信息的高容量存储
CN110706751A (zh) * 2019-09-25 2020-01-17 东南大学 一种dna存储加密编码方法
CN111600609A (zh) * 2020-05-19 2020-08-28 东南大学 一种优化中文存储的dna存储编码方法
CN111858507A (zh) * 2020-06-16 2020-10-30 广州大学 基于dna的数据存储方法、解码方法、系统和装置
US20210348214A1 (en) * 2020-05-11 2021-11-11 Catalog Technologies, Inc. Programs and functions in dna-based data storage

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2934982T3 (es) * 2015-03-30 2023-02-28 Becton Dickinson Co Métodos para la codificación con códigos de barras combinatorios
AU2019315604A1 (en) * 2018-08-03 2021-03-25 Catolog Technologies, Inc Systems and methods for storing and reading nucleic acid-based data with error protection
JP7329876B2 (ja) * 2018-09-07 2023-08-21 イリディア・インコーポレイテッド ポリマーに記憶されたデータの書込みおよび読出しのための改善されたシステムおよび方法
CN112288089B (zh) * 2020-09-28 2022-12-20 清华大学 阵列式核酸信息存储方法及装置
CN112433986B (zh) * 2020-11-02 2023-07-07 中国科学院深圳先进技术研究院 数据的存储方法、电子设备以及计算机可读存储介质
CN112382340B (zh) * 2020-11-25 2022-11-15 中国科学院深圳先进技术研究院 用于dna数据存储的编解码方法和编解码装置
CN112711935B (zh) * 2020-12-11 2023-04-18 中国科学院深圳先进技术研究院 编码方法、解码方法、装置及计算机可读存储介质
CN112989405A (zh) * 2021-02-05 2021-06-18 武汉北大高科软件股份有限公司 一种数据存证的可信化存储方法、装置、设备和存储介质
CN113687976B (zh) * 2021-08-27 2022-04-12 中国人民解放军军事科学院军事医学研究院 面向dna信息存储的编码和解码方法与装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104520864A (zh) * 2012-06-01 2015-04-15 欧洲分子生物学实验室 Dna中数字信息的高容量存储
CN110706751A (zh) * 2019-09-25 2020-01-17 东南大学 一种dna存储加密编码方法
US20210348214A1 (en) * 2020-05-11 2021-11-11 Catalog Technologies, Inc. Programs and functions in dna-based data storage
CN111600609A (zh) * 2020-05-19 2020-08-28 东南大学 一种优化中文存储的dna存储编码方法
CN111858507A (zh) * 2020-06-16 2020-10-30 广州大学 基于dna的数据存储方法、解码方法、系统和装置

Also Published As

Publication number Publication date
CN116451780A (zh) 2023-07-18

Similar Documents

Publication Publication Date Title
Dong et al. DNA storage: research landscape and future prospects
Kiah et al. Codes for DNA sequence profiles
Lee et al. Terminator-free template-independent enzymatic DNA synthesis for digital information storage
Doricchi et al. Emerging approaches to DNA data storage: Challenges and prospects
US20210210165A1 (en) Systems and methods for storing and reading nucleic acid-based data with error protection
CN110945595B (zh) 基于dna的数据存储和检索
Yazdi et al. DNA-based storage: Trends and methods
US10423341B1 (en) Accurate and efficient DNA-based storage of electronic data
US10566077B1 (en) Re-writable DNA-based digital storage with random access
US20180211001A1 (en) Trace reconstruction from noisy polynucleotide sequencer reads
US20200193301A1 (en) Compositions and methods for nucleic acid-based data storage
WO2018148260A1 (en) Apparatus, method and system for digital information storage in deoxyribonucleic acid (dna)
CN112382340A (zh) 用于dna数据存储的二进制信息到碱基序列的编解码方法和编解码装置
US20210074380A1 (en) Reverse concatenation of error-correcting codes in dna data storage
Xu et al. Uncertainties in synthetic DNA-based data storage
Bansal et al. Sequencing technologies and analyses: where have we been and where are we going?
Welzel et al. DNA-Aeon provides flexible arithmetic coding for constraint adherence and error correction in DNA storage
CN111858507B (zh) 基于dna的数据存储方法、解码方法、系统和装置
Lee et al. Enzymatic DNA synthesis for digital information storage
Wang et al. Oligo design with single primer binding site for high capacity DNA-based data storage
WO2023130562A1 (zh) 用于在分子中存储信息的方法和设备
Lau et al. Magnetic DNA random access memory with nanopore readouts and exponentially-scaled combinatorial addressing
Wang et al. Mainstream encoding–decoding methods of DNA data storage
Ezekannagha et al. Design considerations for advancing data storage with synthetic DNA for long-term archiving
Zhang et al. A high storage density strategy for digital information based on synthetic DNA

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22918028

Country of ref document: EP

Kind code of ref document: A1