A spatially hierarchical DNA storage method for large-scale oligonucleotide pools

By using spatial hierarchical encoding and run feedback error correction methods in DNA storage, the problems of data writing/reading time and base insertion/deletion errors in DNA storage are solved, real-time reading of DNA storage data is realized and efficient error correction.

CN118841094BActive Publication Date: 2025-02-21TIANJIN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410927521.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-11
Publication Date
2025-02-21
Estimated Expiration
2044-07-11

AI Technical Summary

Technical Problem

In the DNA storage mode based on oligonucleotide pools, there is a high synthesis cost and time-consuming data writing/reading process, and traditional error correction codes are difficult to effectively handle base insertion/deletion errors, resulting in difficulty in data recovery.

Method used

The spatial hierarchical DNA storage method of large-scale oligonucleotide pools is used to realize real-time reading of data through DNA spatial hierarchical encoding, base run length sequence merging, real-time encoding base layer formation and run feedback error correction.

Benefits of technology

Real-time readout of DNA storage data is realized, the error rate in the data layer is reduced, cross-layer error propagation is eliminated, and error correction is performed through linear packet code decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118841094B_ABST
    Figure CN118841094B_ABST
Patent Text Reader

Abstract

The present invention discloses a spatially hierarchical DNA storage method for a large-scale oligonucleotide pool, which adopts a spatially hierarchical DNA encoding and decoding method to realize real-time data reading; disordered DNA chains are spatially organized into an addressable base array, and real-time data is sequentially encoded into sequential coding layers, wherein bases are mapped to the same position of all chains in the spatial array; in terms of data recovery, a real-time and accelerated processing method is pioneered, coding layers are formed in space, and error correction codes are used to fill the gaps where bases are missing, thereby realizing continuous and real-time streaming transmission; in addition, a hierarchical space-time recovery method is developed to promote error-free data flow, spatially realize instant consensus of multiple signals within a layer, and temporally update the data flow from the previously successfully decoded data flow; the error correction coding method and data recovery method proposed in the present invention can match the sequencing process, and realize real-time sequencing and data decoding and reading.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of deoxyribonucleic acid (DNA) storage, and in particular to a DNA storage method based on large-scale oligonucleotide pool spatial stratification for realizing rapid data readout by utilizing a high-throughput synthesized oligonucleotide pool. Background Art

[0002] With the rapid development of global information technology, the amount of data has shown explosive growth. Synthetic deoxyribonucleic acid has become a promising medium for archival data storage with high storage density and long-term persistence. Compared with existing magnetic, optical, and electrical storage media, DNA as a data storage medium has the characteristics of small size, high density, and long-lasting information retention. For example, in terms of density, Erlich et al. confirmed that the storage density of DNA can reach 215PB / g, and researchers have also confirmed that the data storage density can reach 125PB / g in a molecular pool with a larger storage scale and more complex reading. In terms of storage stability, Song et al. proved through accelerated aging experiments that the information stored in DNA can be preserved for thousands of years at room temperature in the laboratory. Grass et al. confirmed that if the DNA encoding information is stored in silica, it can be preserved for thousands of years.

[0003] With the development of high-throughput DNA synthesis technology and techniques, the use of a large number of oligonucleotide pools for data storage has become an important mode of DNA data storage. Using oligonucleotide pools as storage media, large-scale data writing can be achieved with the help of second-generation high-throughput synthesizers. In this mode, data is encoded, decomposed and distributed to a large number of DNA chains. In addition, in order to meet the actual data storage standards, efficient coding methods for error correction have been integrated, such as digital fountain codes and Reed-Solomon (RS) codes. Erlich et al. used fountain coding and RS codes to solve the problem of sequence loss and achieved ultra-high-density DNA storage. Grass et al. used two rounds of orthogonal Reed-Solomon (RS) error correction codes to achieve lossless recovery of original data. Press et al. developed a cascade code encoding scheme, in which the inner code is a hash code (HEDGES) with greedy search decoding to correct insertion and deletion errors, and the outer code is an RS code to correct residual errors.

[0004] However, in the oligonucleotide pool-based data storage model, there are still challenges such as high synthesis costs and time-consuming data writing / reading processes. When reading data, second-generation high-throughput sequencing such as Illumina is generally used, which is based on by-synthesis sequencing technology, but its sequencing process is time-consuming.

[0005] When using second-generation high-throughput sequencing, current sequencing technologies usually detect a single nucleotide (or homopolymer chain) in a single run. The encoded data can only be recovered after all the nucleotides in each single chain have been retrieved, which usually takes at least several hours. In high-throughput sequencing technology, Ion Torrent sequencing technology uses semiconductor chips as carriers. It detects the pH changes caused by H+ released during the synthesis of DNA chains, converts chemical signals into electrical signals, and obtains base information through synthesis-while-sequencing technology. Ion Torrent sequencing technology equipped with semiconductor chips is simpler, faster, more cost-effective and more scalable.

[0006] At the same time, errors may occur during nucleotide base synthesis or sequencing. Since DNA sequencing data are usually analyzed based on the entire chain, most DNA storage schemes, including the encoding process, are configured to use the entire chain as a whole. Base insertion / deletion may damage the chain, and traditional error correction codes may not work effectively. Base insertion / deletion errors have become a very challenging problem in DNA data storage. In Ion Torrent sequencing, non-terminated polymerization makes it difficult to accurately count merging events in homopolymer DNA. Therefore, base insertion or deletion dominates sequencing errors. In summary, the chain-based data storage method not only limits real-time data reading, but also exacerbates the difficulty of data recovery due to base insertion or deletion. Summary of the invention

[0007] The present invention provides a spatial hierarchical DNA storage method for a large-scale oligonucleotide pool, and proposes a spatial hierarchical DNA data storage method, which integrates DNA spatial hierarchical coding, base run length sequence merging, real-time coding base layer formation and run feedback error correction, and can realize real-time reading of DNA storage data, as described below:

[0008] A spatially hierarchical DNA storage method for a large-scale oligonucleotide pool, the method comprising the following steps:

[0009] (1) Grouping user data into L (20≤L≤500) data layers with a regular length of K (K is a positive integer) bits, and performing error correction coding on each individual data layer to obtain a coded data layer with a length of N (N>K) bits, and transcoding the coded data layer according to a determined mapping rule between bit pairs and bases to obtain a coded base layer;

[0010] (2) assigning the bases in the coding base layer to positions 1 to L of the DNA sequence in sequence according to different sequencing readout modes, thereby forming a data carrier portion of a DNA sequence of length L for single-end reading, and assigning the coding base layer to positions symmetrical at both ends of the DNA sequence in sequence, thereby obtaining a data carrier portion of a DNA sequence of length 2L for dual-end simultaneous reading;

[0011] (3) adding labels and primers to the generated DNA data-bearing sequence to obtain a large-scale oligonucleotide DNA sequence;

[0012] (4) preparing a sequencing library for each oligonucleotide pool synthesized, and further, using a high-throughput sequencing technology that aligns and fixes the oligonucleotides on a solid phase carrier to achieve simultaneous sequencing and readout;

[0013] (5) The oligonucleotide sequence aligned and immobilized on the surface of the solid phase carrier is subjected to real-time optical signal or electrical signal acquisition, signal analysis, incremental base recognition, and primer and label recognition. When using natural unmodified dNTP depolymerization detection, a partial run sequence in the form of base run length measurement can be detected. The base run length represents the length of continuous bases recognized when the current nucleotide is polymerized; when using modified dNTP depolymerization detection with terminators and fluorescent groups, the presence or absence of a signal is obtained by optical detection, that is, the presence or absence of a single base is determined;

[0014] (6) obtaining multiple copies of signals in different base signal forms according to the identified primers and labels, clustering the signals, merging the multiple copies of the signals, and converting them into a consensus program sequence;

[0015] (7) According to whether there are insertion and deletion errors in the sequencing process, a program sequence feedback update mechanism is set. When there are no insertion and deletion errors, the consistent program sequence is directly converted into a coding base layer; when there is insertion and deletion error propagation, the feedback result of the successful decoding of the previous layer is used to update the partial program sequence, and a multi-copy majority voting judgment is used to generate a consistent program sequence. Subsequently, according to the determined reference base sequence, the consistent partial program sequence is converted into a partial base sequence, and the partial base sequence is sequentially assigned to the determined position of the coding base layer, and the bases at the same position form a separate coding base layer;

[0016] (8) The base ratios of all coding base layers are counted and updated, and the coding base layers that have not been successfully decoded are output through threshold comparison, and sent to the decoder for decoding, so as to restore the original user data layer by layer.

[0017] The user data is split into L packets with a regular length K, and each individual data layer is error-corrected and coded to obtain a coded data layer with a length of N (N>K). According to the mapping rule between the determined bit pairs and bases, the coded data layer is transcoded to obtain a coded base layer. The specific steps are as follows:

[0018] (1.1) Divide the user data into L groups, corresponding to L data layers, where the data size of each layer is K bits;

[0019] (1.2) For each data layer, superimpose a pseudo-random sequence of the same length to scramble it, and encode it using a linear block code (N, K) to obtain an N-bit coded data layer; traverse all L data layers and repeat the same operation to obtain L coded data layers;

[0020] (1.3) According to the determined mapping rule between bit pairs and bases {00→A, 01→T, 10→G, 11→C}, the L coding data layers are transcoded respectively to obtain L coding base layers.

[0021] The method of sequentially allocating the bases in the coding base layer to positions 1 to L of the DNA sequence according to different sequencing readout modes to form a data carrier portion of a DNA sequence of length L read at a single end, and sequentially allocating the coding base layer to positions symmetrical at both ends of the DNA sequence to obtain a data carrier portion of a DNA sequence of length 2L read at both ends simultaneously, specifically comprises the following steps:

[0022] (2.1) Take out one base from the same position of L coding base layers in sequence and assign them to the positions from 1 to L in the data DNA sequence in order; traverse all the positions of the coding base layers and repeat the same steps to obtain N / 2 single-end read data DNA sequences with a length of L bases; wherein the base length d of the oligonucleotide sequence for constructing the data payload part satisfies 20≤d≤500;

[0023] (2.2) Take out two bases from the same position of the L coding base layers respectively, and according to the basic principle that the first layer of bases is located on the outside of the sequence and the last layer of bases is located on the inside of the sequence, splice the base pairs to the same position at both ends of the symmetric DNA sequence respectively, to form the data carrier part of a single DNA sequence with a length of 2L bases that can be read at both ends simultaneously; traverse all positions of the coding base layers and repeat the same steps to obtain N / 4 data DNA sequences with a length of 2L bases that can be read at both ends simultaneously; wherein the base length d of the oligonucleotide sequence that constructs the data load part satisfies 20≤d≤500.

[0024] The method of adding labels and primers to the generated DNA data-bearing sequence to obtain a large-scale oligonucleotide DNA sequence is as follows: adding labels and primers to the generated DNA data-bearing sequence to obtain a large-scale oligonucleotide DNA sequence is as follows: adding unique labels with a base length of n to both ends of each DNA sequence, and different oligonucleotide pools share the same set of labels. Further, adding primers of fixed length to one end / both ends of the DNA sequence, thereby constructing a complete oligonucleotide pool and performing high-throughput synthesis.

[0025] The preparation of sequencing libraries for each synthesized oligonucleotide pool is further performed by using a high-throughput sequencing technology that aligns and fixes the oligonucleotides on a solid phase carrier to achieve simultaneous sequencing and reading, specifically:

[0026] (3.1) Corresponding to the oligonucleotide sequence constructed by double-end symmetrical mapping of the coding base layer, the synthesized oligonucleotide pool is amplified by polymerase chain reaction using forward and reverse primer pairs respectively using conventional library construction methods, a small amount of sample is taken out and a sequencing adapter is added to construct a sequencing library, which is loaded into a sequencer for sequencing;

[0027] (3.2) Corresponding to the oligonucleotide sequence constructed by double-end symmetrical mapping of the coding base layer, a double-end library construction method is adopted, and the oligonucleotide pool is amplified by polymerase chain reaction using two pairs of forward and reverse overhang primers respectively to obtain two sequencing libraries, which are then mixed, and a small amount of sample is taken out for single template amplification on a solid phase carrier such as magnetic beads containing complementary sequences of the overhang primers to complete the sequencing sample preparation and load it into the sequencer for sequencing.

[0028] (3.3) Corresponding to the single-end asymmetric mapping of the coding base layer to construct the oligonucleotide sequence, a single-end library construction method is adopted, and the synthesized oligonucleotide pool is fixedly amplified in one direction, and only the forward primer is used for polymerase chain reaction amplification. A small amount of sample is taken out and single template amplification is performed on a solid phase carrier such as magnetic beads containing the complementary sequence of the hanging primer to complete the sequencing sample preparation, and the sample is loaded into the sequencer for sequencing.

[0029] The oligonucleotide sequence aligned and solidified on the surface of the solid phase carrier is subjected to real-time optical signal or electrical signal acquisition, signal analysis, incremental base recognition, and primer and label recognition to obtain a partial run sequence in the form of base run length measurement, and the specific steps are:

[0030] (4.1) In the incremental base recognition process, the base recognition results are recorded in real time, and the base run length measurement criterion is used to map the partial base sequence obtained by base recognition into a partial run sequence according to the determined reference base sequence;

[0031] (4.2) For the identified partial itinerary sequence, the distance metric of the itinerary space is used to perform primer identification and determine its boundary. Starting from the primer identification boundary, the partial itinerary sequence is intercepted and demapped into a base sequence of the same length as the labeled part. The labeled part is preprocessed and the validity check or error correction is performed using a check matrix. The valid information part of the partial itinerary sequence is retained and the corresponding primer, label and relative starting offset with the reference itinerary sequence are marked.

[0032] The method of obtaining multiple copies of signals in different base signal forms according to the identified primers and labels, clustering the signals, merging the multiple copies of the signals, and converting them into a consistent program sequence is specifically as follows:

[0033] (5.1) Counting the base run length measurement values ​​corresponding to each run sequence of the multiple signal copies one by one;

[0034] (5.2) Perform majority voting and output the base run length measurement with the highest frequency;

[0035] (5.3) Convert the base run length measurement value into a base sequence and output the base sequence after merging multiple copies layer by layer.

[0036] According to whether there are insertion and deletion errors in the sequencing process, a program sequence feedback update mechanism is set. When there are no insertion and deletion errors, the consistent program sequence is directly converted into a coding base layer; when there is insertion and deletion error propagation, the feedback result of the successful decoding of the previous layer is used to update the partial program sequence, and a multi-copy majority voting judgment is used to generate a consistent program sequence. Then, according to the determined reference base sequence, the consistent partial program sequence is converted into a partial base sequence, and the partial base sequence is sequentially assigned to the determined position of the coding base layer, and the bases at the same position form a separate coding base layer. The specific steps are:

[0037] (6.1) For multiple copies of the partial program sequence with the same primers and labels, the feedback results of the successful decoding of the previous layer are used to update them, and then a majority vote is performed one by one to generate a consistent partial program sequence, and the consistent partial program sequence is demapped into a partial base sequence according to the determined reference base sequence, and the partial base sequence is placed in the determined positions of L coding base layers in sequence according to the identified primers and labels, where each coding base layer contains N / 2 unique sites;

[0038] (6.2) Count and update the base ratio of each individual coding base layer. If the ratio reaches a preset threshold for successful decoding, output the coding base layer that has not been successfully decoded. Further, convert the output coding base layer into bits, and use linear block codes for error correction to recover the user data corresponding to the current data layer.

[0039] (6.3) Generate an ideal partial base sequence using the previously successfully decoded coding base layer, and convert it into an ideal partial run sequence according to the determined reference base sequence, generating a total of N / 2 partial run sequences, and feed the regenerated partial run sequences back to steps (5.1) to (5.3) to re-execute the majority voting decision.

[0040] The method of counting and updating the base ratio of all coding base layers, outputting the coding base layers that have not been successfully decoded through threshold comparison, and sending them to the decoder for decoding, and restoring the original user data layer by layer, specifically comprises the following steps:

[0041] (7.1) converting the combined output code base into bits and performing error correction using linear block code decoding;

[0042] (7.2) Each layer of data is merged and decoded in turn until all layers of data are completely read out, thus achieving real-time readout of DNA storage by sequencing and decoding at the same time.

[0043] The separate data layers are scrambled by superimposing a pseudo-random sequence of the same length, and are encoded by a linear block code (N, K) to obtain a coded data layer of N bits; all L data layers are traversed, and the same operation is repeatedly performed to obtain L coded data layers. The specific steps are:

[0044] (8.1) Linear block codes use product codes to encode data, dividing the data at each layer into P data blocks of the same size;

[0045] (8.2) performing the encoding process of the first member code in the product code encoding on the P data blocks in each layer, adding the check data block, generating M data blocks, and forming a single-layer first member code codeword block;

[0046] (8.3) performing the encoding process of the second member code in the product code encoding, using the generator matrix to encode each data block in each layer into a second member code word, and generating a total of M second member code words in each layer;

[0047] (8.4) Traverse all L data layers and repeat the product code encoding process to finally obtain L encoded data layers.

[0048] The method of adding labels and primers to the generated DNA data bearing sequence to obtain a large-scale oligonucleotide DNA sequence is as follows: unique labels with a base length of n are added to both ends of each DNA sequence, and different oligonucleotide pools share the same set of labels. Furthermore, primers of fixed length are added to the single end / double end of the DNA sequence to construct a complete oligonucleotide pool, and high-throughput synthesis is performed. The specific steps are as follows:

[0049] (9.1) Traverse [0,2 k ] and are represented by bit vectors of length k. Each bit vector is encoded using a binary short block error correction code (n, k), and the obtained codewords are randomly interleaved; and is a positive integer, Indicates the number of base sequences contained in the oligonucleotide pool, Indicates rounding up;

[0050] (9.2) Transcode the encoded codeword sequence according to the determined mapping rule to obtain a label sequence with a base length of n / 2, count the distribution of sequence homopolymer lengths, and preferentially select base sequences with smaller homopolymer lengths according to the minimum homopolymer length criterion. For single-end read DNA sequences, select N / 2 sequences as valid labels; for double-end read DNA sequences, select N / 4 sequences as valid labels;

[0051] (9.3) Add the labeled base sequence to the forward end of the data DNA sequence, and then randomly interweave the labeled DNA sequence at the base level and add it to the backward end of the data DNA sequence, thereby generating a DNA sequence that can be labeled and recognized at both ends.

[0052] The method comprises the following steps: for the identified partial tour sequence, using the distance metric of the tour space to perform primer identification and determine its boundary; starting from the primer identification boundary, intercepting the partial tour sequence, demapping it into a base sequence of the same length as the label part; preprocessing the label part, and performing validity check or error correction using a check matrix; retaining the information part of the valid partial tour sequence, and marking the corresponding primer, label and the relative starting offset between the primer and the reference tour sequence; and

[0053] (10.1) Using the known reference base sequence, construct a reference primer sequence for all forward and reverse primers used in the oligonucleotide pool, compare the partial primer sequence accumulated and identified in the real-time base recognition process with the reference primer sequence to obtain the spatial distance, and determine the primer category to which the corresponding partial sequence belongs;

[0054] (10.2) Search for the primer with the smallest run space distance based on the comparison results, and compare its run space distance with the preset threshold. If the preset threshold is met, the primer is considered valid, the corresponding sequence is retained and the most likely primer is marked, otherwise it is discarded.

[0055] (10.3) Demap the base sequence of the labeled part into a bit sequence, and deinterleave it to obtain the codeword corresponding to the label;

[0056] (10.4) Use the check matrix to check the validity. If the check is correct and the label is a legal label, the label is considered valid, and the program sequence of the corresponding information part is retained. Use the short block error correction code to correct the label part, restore the original label, check the legality of the label, and retain the program sequence of the corresponding information part.

[0057] The multiple copies of the partial program sequence with the same primer and label are updated using the feedback results of the successful decoding of the previous layer, and then a majority vote is performed one by one to generate a consistent partial program sequence, and the consistent partial program sequence is demapped into a partial base sequence according to the determined reference base sequence, and the partial base sequence is placed in the determined position of L coding base layers in sequence according to the identified primers and labels, wherein each coding base layer contains N / 2 unique sites, and the specific steps are as follows:

[0058] (11.1) For multiple copies of a partial play sequence with the same primer and label, align the partial play sequence according to the starting offset relative to the reference play sequence, and use the feedback result of the successful decoding of the previous layer to compare the position value of the original play sequence with the updated value one by one. If the original value is greater than the updated value, keep the original value, otherwise, use the updated value to refresh;

[0059] (11.2) Perform majority voting on each position of the partial run sequence with multiple copies to obtain a consistent partial run sequence; if the voting result of a certain position is not unique, the base run length corresponding to the second best frequency is used as the consistent result of the position;

[0060] (11.3) According to the determined reference base sequence, the consistent partial sequence is demapped into a partial base sequence, and according to the determined primers and labels, the partial base sequence is placed at a determined position of the coding base layer.

[0061] The beneficial effects of the technical solution provided by the present invention are:

[0062] The present invention proposes a data layered encoding method based on spatial stratification, which can store data layer by layer in a large number of oligonucleotides, fully utilizes the arrangement characteristics of the oligonucleotide pool, matches the sequencing process, and realizes real-time sequencing and data decoding and reading; proposes a consensus sequence method based on program sequence merging and a program sequence iterative feedback mechanism, and uses the feedback result of successful decoding of the previous layer to update the value of the corresponding position of the program sequence, which can reduce the error rate in the data layer and eliminate cross-layer error propagation, and combines linear block code decoding for error correction to realize real-time layer-by-layer reading of user data. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] Figure 1 A system block diagram of a spatial hierarchical DNA storage method for a large-scale oligonucleotide pool provided by the present invention;

[0064] Figure 2 A flow chart of the spatial layered coding method provided by the present invention;

[0065] Figure 3 A schematic diagram of the principle of double-end library construction provided by the present invention;

[0066] Figure 4 A flow chart of the streaming layered real-time readout method provided by the present invention;

[0067] Figure 5 A flowchart of majority voting decision of the game sequence provided by the present invention;

[0068] Figure 6 A flowchart of updating a sequence of programs based on feedback of partially correct decoding results provided by the present invention;

[0069] Figure 7 A flow chart of constructing a coding base layer based on a partial program sequence provided by the present invention;

[0070] Figure 8 A flowchart of hierarchical DNA data storage for DNA spatial hierarchical coding provided by the present invention;

[0071] Fig. 9 The movie file provided by the present invention is decomposed into a 28-layer flow chart in chronological order;

[0072] Fig.10 A schematic diagram of data block coding using two-dimensional product coding within a layer provided by the present invention;

[0073] Fig.11 A schematic diagram of a two-dimensional product code constructed based on RS code and LDPC code provided by the present invention;

[0074] Fig.12 A schematic diagram of the structure of the oligonucleotide molecule provided by the present invention;

[0075] Fig.13 A schematic diagram of the error correction principle of the two-dimensional product code within a layer provided by the present invention;

[0076] Fig.14 A cumulative probability distribution diagram of primers and labels provided by the present invention based on a base run length measurement criterion for determining a sequence;

[0077] Fig.15 A comparison chart of the error rate performance at the signal level before and after majority voting judgment of multiple copy signals provided by the present invention;

[0078] Fig.16 A performance comparison diagram of the majority voting judgment and feedback update of multiple copies of signals provided by the present invention;

[0079] Fig.17 This is the error-free recovery of data under different sequencing coverages provided by the present invention. DETAILED DESCRIPTION

[0080] In order to make the objectives, technical solutions and advantages of the present invention more clear, the embodiments of the present invention are described in further detail below.

[0081] The embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0082] This embodiment provides a detailed description of a spatial hierarchical DNA storage method for a large-scale oligonucleotide pool proposed by the present invention. For a complete implementation process, see Figure 1 , specifically including the following steps:

[0083] (1) Grouping user data into L (20≤L≤500) data layers with a regular length of K (K is a positive integer) bits, and performing error correction coding on each individual data layer to obtain a coded data layer with a length of N (N>K) bits, and transcoding the coded data layer according to a determined mapping rule between bit pairs and bases to obtain a coded base layer;

[0084] (2) assigning the bases in the coding base layer to positions 1 to L of the DNA sequence in sequence according to different sequencing readout modes, thereby forming a data carrier portion of a DNA sequence of length L for single-end reading, and assigning the coding base layer to positions symmetrical at both ends of the DNA sequence in sequence, thereby obtaining a data carrier portion of a DNA sequence of length 2L for dual-end simultaneous reading;

[0085] (3) adding labels and primers to the generated DNA data-bearing sequence to obtain a large-scale oligonucleotide DNA sequence;

[0086] (4) preparing a sequencing library for each oligonucleotide pool synthesized, and further, using a high-throughput sequencing technology that aligns and fixes the oligonucleotides on a solid phase carrier to achieve simultaneous sequencing and readout;

[0087] (5) The oligonucleotide sequence aligned and immobilized on the surface of the solid phase carrier is subjected to real-time optical signal or electrical signal acquisition, signal analysis, incremental base recognition, and primer and label recognition. When using natural unmodified dNTP depolymerization detection, a partial run sequence in the form of base run length measurement can be detected. The base run length represents the length of continuous bases recognized when the current nucleotide is polymerized; when using modified dNTP depolymerization detection with terminators and fluorescent groups, the presence or absence of a signal is obtained by optical detection, that is, the presence or absence of a single base is determined;

[0088] (6) obtaining multiple copies of signals in different base signal forms according to the identified primers and labels, clustering the signals, merging the multiple copies of the signals, and converting them into a consensus program sequence;

[0089] (7) According to whether there are insertion and deletion errors in the sequencing process, a program sequence feedback update mechanism is set. When there are no insertion and deletion errors, the consistent program sequence is directly converted into a coding base layer; when there is insertion and deletion error propagation, the feedback result of the successful decoding of the previous layer is used to update the partial program sequence, and a multi-copy majority voting judgment is used to generate a consistent program sequence. Subsequently, according to the determined reference base sequence, the consistent partial program sequence is converted into a partial base sequence, and the partial base sequence is sequentially assigned to the determined position of the coding base layer, and the bases at the same position form a separate coding base layer;

[0090] (8) The base ratios of all coding base layers are counted and updated, and the coding base layers that have not been successfully decoded are output through threshold comparison, and sent to the decoder for decoding, so as to restore the original user data layer by layer.

[0091] The step (1) groups the user data into L (20≤L≤500) data layers with a regular length of K (K is a positive integer) bits, and performs error correction coding on each individual data layer to obtain a coded data layer with a length of N (N>K) bits, and transcodes the coded data layer according to a determined mapping rule between bit pairs and bases to obtain a coded base layer. The specific operation is as follows:

[0092] (1.1) Divide the user data into L groups, corresponding to L data layers, where the data size of each layer is K bits;

[0093] (1.2) For each data layer, superimpose a pseudo-random sequence of the same length to scramble it, and encode it using a linear block code (N, K) to obtain an N-bit coded data layer; traverse all L data layers and repeat the same operation to obtain L coded data layers;

[0094] (1.3) According to the determined mapping rule between bit pairs and bases {00→A, 01→T, 10→G, 11→C}, the L coding data layers are transcoded respectively to obtain L coding base layers.

[0095] The step (2) sequentially distributes the bases in the coding base layer to positions 1 to L of the DNA sequence according to different sequencing readout modes to form a data carrier portion of a DNA sequence of length L read at a single end, and sequentially distributes the coding base layer to positions symmetrical at both ends of the DNA sequence to obtain a data carrier portion of a DNA sequence of length 2L read at both ends. The implementation process is shown in Figure 2 , the specific operations are as follows:

[0096] (2.1) Take out one base from the same position of L coding base layers in sequence and assign them to the positions from 1 to L in the data DNA sequence in order; traverse all the positions of the coding base layers and repeat the same steps to obtain N / 2 single-end read data DNA sequences with a length of L bases; wherein the base length d of the oligonucleotide sequence for constructing the data payload part satisfies 20≤d≤500;

[0097] (2.2) Take out two bases from the same position of the L coding base layers respectively, and according to the basic principle that the first layer of bases is located on the outside of the sequence and the last layer of bases is located on the inside of the sequence, splice the base pairs to the same position at both ends of the symmetric DNA sequence respectively, to form the data carrier part of a single DNA sequence with a length of 2L bases that can be read at both ends simultaneously; traverse all positions of the coding base layers and repeat the same steps to obtain N / 4 data DNA sequences with a length of 2L bases that can be read at both ends simultaneously; wherein the base length d of the oligonucleotide sequence that constructs the data load part satisfies 20≤d≤500.

[0098] The step (3) adds labels and primers to the generated DNA data-bearing sequence to obtain a large-scale oligonucleotide DNA sequence, specifically: adding labels and primers to the generated DNA data-bearing sequence to obtain a large-scale oligonucleotide DNA sequence, specifically: adding unique labels with a base length of n to both ends of each DNA sequence, different oligonucleotide pools share the same set of labels, and further, adding fixed-length primers to the single end / double end of the DNA sequence, thereby constructing a complete oligonucleotide pool and performing high-throughput synthesis.

[0099] The step (4) prepares a sequencing library for each oligonucleotide pool synthesized, and further, uses a high-throughput sequencing technology that aligns and fixes the oligonucleotides on a solid phase carrier to achieve simultaneous sequencing and reading. The specific operation is as follows:

[0100] (3.1) Corresponding to the oligonucleotide sequence constructed by double-end symmetrical mapping of the coding base layer, the synthesized oligonucleotide pool is amplified by polymerase chain reaction using forward and reverse primer pairs respectively using conventional library construction methods, a small amount of sample is taken out and a sequencing adapter is added to construct a sequencing library, which is loaded into a sequencer for sequencing;

[0101] (3.2) Corresponding to the oligonucleotide sequence constructed by double-end symmetrical mapping of the coding base layer, a double-end library construction method is adopted, and the oligonucleotide pool is amplified by polymerase chain reaction using two pairs of forward and reverse overhang primers respectively to obtain two sequencing libraries, which are then mixed, and a small amount of sample is taken out for single template amplification on a solid phase carrier such as magnetic beads containing complementary sequences of the overhang primers to complete the sequencing sample preparation and load it into the sequencer for sequencing.

[0102] (3.3) Corresponding to the single-end asymmetric mapping of the coding base layer to construct the oligonucleotide sequence, a single-end library construction method is adopted, and the synthesized oligonucleotide pool is fixedly amplified in one direction, and only the forward primer is used for polymerase chain reaction amplification. A small amount of sample is taken out and single template amplification is performed on a solid phase carrier such as magnetic beads containing the complementary sequence of the hanging primer to complete the sequencing sample preparation, and the sample is loaded into the sequencer for sequencing.

[0103] In the step (5), the oligonucleotide sequence aligned and solidified on the surface of the solid phase carrier is subjected to real-time optical signal or electrical signal acquisition, signal analysis, incremental base recognition, and primer and label recognition. When the natural unmodified dNTP depolymerization detection is used, a partial run sequence in the form of a base run length measurement can be detected. The base run length represents the length of the continuous bases recognized when the current nucleotide is polymerized. When the modified dNTP with a terminator and a fluorescent group is used for depolymerization detection, the presence of a signal is obtained by optical detection, that is, the presence of a single base is determined. The specific recovery process is shown in Figure 4 , the specific operations are as follows:

[0104] (4.1) In the incremental base recognition process, the base recognition results are recorded in real time, and the base run length measurement criterion is used to map the partial base sequence obtained by base recognition into a partial run sequence according to the determined reference base sequence;

[0105] (4.2) For the identified partial itinerary sequence, the distance metric of the itinerary space is used to perform primer identification and determine its boundary. Starting from the primer identification boundary, the partial itinerary sequence is intercepted and demapped into a base sequence of the same length as the labeled part. The labeled part is preprocessed and the validity check or error correction is performed using a check matrix. The valid information part of the partial itinerary sequence is retained and the corresponding primer, label and relative starting offset with the reference itinerary sequence are marked.

[0106] In step (6), multiple copies of signals in different base signal forms are obtained according to the identified primers and labels, the signals are clustered, and then the multiple copies of the signals are merged and converted to generate a consensus program sequence. The majority voting judgment process is shown in Figure 5 , the specific operations are as follows:

[0107] (5.1) Counting the base run length measurement values ​​corresponding to each run sequence of the multiple signal copies one by one;

[0108] (5.2) Perform majority voting and output the base run length measurement with the highest frequency;

[0109] (5.3) Convert the base run length measurement value into a base sequence and output the base sequence after merging multiple copies layer by layer.

[0110] The step (7) sets a program sequence feedback update mechanism according to whether there are insertion and deletion errors in the sequencing process. In the case where there are no insertion and deletion errors, the consistent program sequence is directly converted into a coding base layer; in the case where there is propagation of insertion and deletion errors, the feedback result of the successful decoding of the previous layer is used to update the partial program sequence, and a consensus program sequence is generated by multi-copy majority voting. Subsequently, according to the determined reference base sequence, the consistent partial program sequence is converted into a partial base sequence, and the partial base sequence is sequentially assigned to the determined position of the coding base layer, and the bases at the same position form a separate coding base layer. The process of updating the program sequence based on the correct partial decoding result feedback is shown in FIG. Figure 6 , the specific operations are as follows:

[0111] (6.1) For multiple copies of the partial program sequence with the same primers and labels, the feedback results of the successful decoding of the previous layer are used to update them, and then a majority vote is performed one by one to generate a consistent partial program sequence, and the consistent partial program sequence is demapped into a partial base sequence according to the determined reference base sequence, and the partial base sequence is placed in the determined positions of L coding base layers in sequence according to the identified primers and labels, where each coding base layer contains N / 2 unique sites;

[0112] (6.2) Count and update the base ratio of each individual coding base layer. If the ratio reaches a preset threshold for successful decoding, output the coding base layer that has not been successfully decoded. Further, convert the output coding base layer into bits, and use linear block codes for error correction to recover the user data corresponding to the current data layer.

[0113] (6.3) Generate an ideal partial base sequence using the previously successfully decoded coding base layer, and convert it into an ideal partial run sequence according to the determined reference base sequence, generating a total of N / 2 partial run sequences, and feed the regenerated partial run sequences back to steps (5.1) to (5.3) to re-execute the majority voting decision.

[0114] The step (8) counts and updates the base ratio of all coding base layers, outputs the coding base layers that have not been successfully decoded through threshold comparison, and sends them to the decoder for decoding, and restores the original user data layer by layer. The process of generating the coding base layer is shown in Figure 7 , the specific operations are as follows:

[0115] (7.1) converting the combined output code base into bits and performing error correction using linear block code decoding;

[0116] (7.2) Each layer of data is merged and decoded in turn until all layers of data are completely read out, thus achieving real-time readout of DNA storage by sequencing and decoding at the same time.

[0117] The step (1.2) scrambles the individual data layers by superimposing a pseudo-random sequence of the same length, and encodes the data layers using a linear block code (N, K) to obtain an N-bit coded data layer; traverses all L data layers and repeatedly performs the same operation to obtain L coded data layers. The specific operation is as follows:

[0118] (8.1) Linear block codes use product codes to encode data, dividing the data at each layer into P data blocks of the same size;

[0119] (8.2) performing the encoding process of the first member code in the product code encoding on the P data blocks in each layer, adding the check data block, generating M data blocks, and forming a single-layer first member code codeword block;

[0120] (8.3) performing the encoding process of the second member code in the product code encoding, using the generator matrix to encode each data block in each layer into a second member code word, and generating a total of M second member code words in each layer;

[0121] (8.4) Traverse all L data layers and repeat the product code encoding process to finally obtain L encoded data layers.

[0122] The step adds labels and primers to the generated DNA data bearing sequence to obtain a large-scale oligonucleotide DNA sequence. Specifically, a unique label with a base length of n is added to both ends of each DNA sequence, and different oligonucleotide pools share the same set of labels. Further, a fixed-length primer is added to the single end / double end of the DNA sequence to construct a complete oligonucleotide pool, and high-throughput synthesis is performed. The specific operation is as follows:

[0123] (9.1) Traverse [0,2 k ] and are represented by bit vectors of length k. Each bit vector is encoded using a binary short block error correction code (n, k), and the obtained codewords are randomly interleaved; and is a positive integer, Indicates the number of base sequences contained in the oligonucleotide pool, Indicates rounding up;

[0124] (9.2) Transcode the encoded codeword sequence according to the determined mapping rule to obtain a label sequence with a base length of n / 2, count the distribution of sequence homopolymer lengths, and preferentially select base sequences with smaller homopolymer lengths according to the minimum homopolymer length criterion. For single-end read DNA sequences, select N / 2 sequences as valid labels; for double-end read DNA sequences, select N / 4 sequences as valid labels;

[0125] (9.3) Add the labeled base sequence to the forward end of the data DNA sequence, and then randomly interweave the labeled DNA sequence at the base level and add it to the backward end of the data DNA sequence, thereby generating a DNA sequence that can be labeled and recognized at both ends.

[0126] In the step (4.2), for the identified partial tour sequence, the distance metric of the tour space is used to perform primer identification and determine its boundary. Starting from the primer identification boundary, the partial tour sequence is intercepted and demapped into a base sequence of the same length as the label part. The label part is preprocessed and validity check or error correction is performed using a check matrix. The information part of the valid partial tour sequence is retained, and the corresponding primer, label and relative starting offset with respect to the reference tour sequence are marked. The specific operation is as follows:

[0127] (10.1) Using the known reference base sequence, construct a reference primer sequence for all forward and reverse primers used in the oligonucleotide pool, compare the partial primer sequence accumulated and identified in the real-time base recognition process with the reference primer sequence to obtain the spatial distance, and determine the primer category to which the corresponding partial sequence belongs;

[0128] (10.2) Search for the primer with the smallest run space distance based on the comparison results, and compare its run space distance with the preset threshold. If the preset threshold is met, the primer is considered valid, the corresponding sequence is retained and the most likely primer is marked, otherwise it is discarded.

[0129] (10.3) Demap the base sequence of the labeled part into a bit sequence, and deinterleave it to obtain the codeword corresponding to the label;

[0130] (10.4) Use the check matrix to check the validity. If the check is correct and the label is a legal label, the label is considered valid, and the program sequence of the corresponding information part is retained. Use the short block error correction code to correct the label part, restore the original label, check the legality of the label, and retain the program sequence of the corresponding information part.

[0131] The step (6.1) updates multiple copies of the partial program sequence with the same primers and labels using the feedback results of the successful decoding of the previous layer, and then performs majority voting judgments one by one to generate a consistent partial program sequence, and demaps the consistent partial program sequence into a partial base sequence according to the determined reference base sequence, and places the partial base sequence in the determined positions of L coding base layers in sequence according to the identified primers and labels, wherein each coding base layer contains N / 2 unique sites, and the specific operations are as follows:

[0132] (11.1) For multiple copies of a partial play sequence with the same primer and label, align the partial play sequence according to the starting offset relative to the reference play sequence, and use the feedback result of the successful decoding of the previous layer to compare the position value of the original play sequence with the updated value one by one. If the original value is greater than the updated value, keep the original value, otherwise, use the updated value to refresh;

[0133] (11.2) Perform majority voting on each position of the partial run sequence with multiple copies to obtain a consistent partial run sequence; if the voting result of a certain position is not unique, the base run length corresponding to the second best frequency is used as the consistent result of the position;

[0134] (11.3) According to the determined reference base sequence, the consistent partial sequence is demapped into a partial base sequence, and according to the determined primers and labels, the partial base sequence is placed at a determined position of the coding base layer. Specific embodiments

[0136] Specific embodiments are given below in conjunction with the accompanying drawings to illustrate in detail the feasibility of the spatial layered DNA storage method for a large-scale oligonucleotide pool provided by the present invention.

[0137] The files stored in this embodiment are movie files, with a size of 53.59MB, and the file of this article, with a size of 1.20MB. The file is encoded into about 10.08 million oligonucleotide sequences using a spatial layered encoding method to form a large-scale oligonucleotide pool, and combined with Ion Torrent sequencing technology, a real-time readout rate of about 500Kbit / s is achieved. The encoding, sequencing, error correction and real-time readout process of the movie file specifically includes the following steps:

[0138] (1) The user data with a total size of 54.79MB is split into 28 data layers with regular structures in chronological order, and each individual data layer is coded with a two-dimensional product code to obtain a coded data layer. According to the mapping rule between bit pairs and bases, the coded data layer is transcoded to obtain a coded base layer. The bases in the coded base layer are then sequentially assigned to symmetrical positions at both ends of the DNA sequence; the generated data DNA sequences are grouped, and address labels and primers are added. The specific spatial hierarchical coding process is as follows: Figure 8 As shown;

[0139] (2) performing multiple rounds of polymerase chain reaction amplification on the synthesized oligonucleotide pool, and taking a small amount of samples from the amplified samples for double-end library construction, and further, using semiconductor rapid sequencing technology to achieve simultaneous sequencing and readout;

[0140] (3) The oligonucleotide sequence is aligned and solidified on the surface of the solid phase carrier. After real-time electrical signal acquisition, signal analysis, incremental base recognition, and primer and label recognition, a partial run sequence in the form of base run length measurement is obtained. According to the primers and labels obtained by recognition, the partial run sequence is updated using the feedback results of the successful decoding of the previous layer, and a consensus run sequence is generated by multi-copy majority voting. Subsequently, according to the determined reference base sequence, the consensus partial run sequence is converted into a partial base sequence, and the partial base sequences are sequentially assigned to the determined positions of the coding base layer. The bases at the same position form a separate coding base layer. Subsequently, the base ratio of all coding base layers is counted and updated. Through threshold comparison, the coding base layers that have not been successfully decoded are output and sent to the decoder for decoding, and the original user data is restored layer by layer, and finally a real-time read rate of about 500 Kbit / s is achieved.

[0141] Step (1) The specific steps of allocating the movie file to 28 layers using spatial layered coding are as follows: Fig. 9 As shown, the details are as follows:

[0142] (1.1) Schedule the movie files and split them into 28 groups in chronological order, corresponding to 28 data layers, where the data size of each layer is 2,052,000 bytes;

[0143] (1.2) The data corresponding to a single data layer is divided into 304 data blocks of 6750 bytes each, converted into a bit sequence of 54,000 bits, and each bit sequence is scrambled by superimposing a pseudo-random sequence of the same length. Therefore, the 8,512 data blocks in all 28 layers are the basic units constituting spatial layered coding;

[0144] (1.3) A two-dimensional product code is used to encode a single data layer. The specific processing process is as follows: Fig.10 As shown, first, Reed-Solomon (RS) coding is performed, 8 parity check blocks are generated in each layer, 4 bits are extracted from each block, and 304 blocks are composed of 152 Galois fields GF(2 8 ), using RS(156,152) shortened by RS(255,251), 4 parity check symbols (32 bits) are generated, and a total of 312 54,000-bit data blocks are constructed; then low-density parity check (LDPC) code encoding is performed. In a single layer, each data block is encoded into an LDPC code word using a generator matrix, and the encoding length is 64,612 bits. A total of 312 coded data blocks (LDPC code words) are obtained in each layer. The detailed parameters of RS code and LDPC code are as follows: Fig.11 As shown;

[0145] (1.4) Traverse all 28 data layers and repeat the same operations in steps (1.2) and (1.3) to obtain 28 coded data layers;

[0146] (1.5) For the same coded data layer, 312 blocks in each layer are divided into 12 groups, each group includes 26 blocks (LDPC code words). In all 28 layers, two blocks are selected from the same group in each layer, and 56 blocks are extracted. Then, 2 bits are extracted from a block each time and transcoded into two bases according to the determined mapping rules {00→A, 01→T, 10→G, 11→C}, and then placed in the symmetrical position of a single oligonucleotide (payload), forming 32,306 oligonucleotides. The specific process of mapping the coded base sequence to the oligonucleotide sequence is shown in 12;

[0147] (1.6) Combining the 26 blocks in all 28 layers can generate 419,978 oligonucleotide sequences with a length of 56 bases;

[0148] (1.7) The generated data DNA sequences were equally divided into 12 groups, corresponding to 12 oligonucleotide pools, and a total of 5,039,736 oligonucleotide sequences were constructed;

[0149] (1.8) Using a 19-bit bit vector to represent [0,2 19-1] range. Each bit vector is encoded with a shortened Hamming code (shortened from the Hamming code with n=31 and k=26) to obtain a codeword with a length of 24 bits, and the obtained codewords are further randomly interleaved;

[0150] (1.9) The address label code is converted into a DNA sequence with a length of 12 bases, and all sequences with a homopolymer length less than 4 are screened out, and the address label DNA sequence is added to one end of the data DNA sequence. The address label DNA sequence is randomly interleaved at the base level and then added to the other end of the data DNA sequence, thereby generating a DNA sequence in which the address label can be detected at both ends;

[0151] (1.10) 12 pairs of primers were designed, each with a length of 20 bases. In the same synthetic pool, each group of 419,978 oligonucleotide chains shared the same pair of primers. A total of 5,039,736 oligonucleotide sequences with a length of 120 nt were constructed using 12 pairs of primers. The structures are shown in the figure. Fig.12 As shown;

[0152] The specific steps of step (2) amplification and sequencing are:

[0153] (2.1) Each oligonucleotide pool is subjected to multiple rounds of polymerase chain reaction amplification using two pairs of forward and reverse overhang primers. One pair of overhang primers starts ligation extension from adapter A near the proximal end of the oligonucleotide sequence, while the other pair starts from adapter P1 near the distal end of the oligonucleotide sequence. The other pair of overhang primers swaps the order of overhang adapters A and P1;

[0154] (2.2) According to the above-mentioned bidirectional library preparation method, 24 libraries were generated from 12 oligonucleotide pools, and then the combined libraries were loaded into the automatic library construction system for single-chip operation, and template preparation and chip loading were automatically performed according to the manufacturer's instructions;

[0155] (2.3) After the template is prepared, the prepared sequencing chip is loaded into the Ion Torrent sequencer for sequencing. The sequencer is set to collect signals only to avoid any subsequent analysis in the sequencer and sequencing program;

[0156] The specific steps of step (3) signal acquisition, signal analysis, incremental base recognition, and primer and label recognition are as follows:

[0157] (3.1) Real-time signal acquisition is performed using the Ion Torrent sequencer, followed by signal analysis and incremental base recognition, and the base run length measurement criterion is used to map the partial sequence obtained by base recognition into a run sequence based on the determined reference base sequence;

[0158] (3.2) Clustering some of the tour sequences using primers and address labels, first constructing a reference tour sequence of all forward and reverse primers, then calculating the distance between the tour sequence and all reference candidates, selecting the primer label with the smallest distance in the tour space, and checking whether the minimum distance is less than a threshold to determine the most likely primer;

[0159] (3.3) After primer identification, the base sequence is demapped into a bit sequence, and the bit sequence is deinterleaved to obtain a shortened Hamming codeword. Finally, the bit sequence is checked using a check matrix. If the check is correct, the information bit is selected to mark the program sequence for subsequent consensus sequence generation.

[0160] (3.4) For multiple copies of a tour sequence with the same primer and label, the tour sequence is aligned according to the offset relative to the reference tour sequence, and the feedback result of the successful decoding of the previous layer is used to compare the position value of the original tour sequence with the updated value one by one. If the original value is greater than the updated value, the original value is maintained, otherwise, it is refreshed with the updated value, and then the quantitative distribution of the base run lengths at different positions in the tour sequence is counted;

[0161] (3.5) A majority vote is performed on a run sequence with multiple copies one by one to obtain a consistent run sequence; if the voting result of a certain position is not unique, the base run length corresponding to the second best frequency is used as the consistent judgment result of the position, and further, based on the determined reference base sequence, the consistent run sequence is demapped into a partial base sequence, and further, based on the determined primers and labels, the partial base sequence is placed at a determined position of the coding base layer.

[0162] (3.6) counting and updating the base ratio of each individual coding base layer, and if the ratio reaches a preset threshold for successful decoding, such as 98.5%, outputting the coding base layers that have not been successfully decoded;

[0163] (3.7) Iteratively decode the output coded base layer. The specific decoding process is as follows: Fig.13 As shown, LDPC decoding is first performed to convert the coding base layer containing 10,079,472 bases into 20,158,944 bits, which are divided into 312 LDPC code words, each of which has a length of 64,612 bits. Each LDPC code word is decoded to obtain an information vector with a length of 54,000 bits (6,750 bytes);

[0164] (3.8) RS decoding is performed in columns, and 13,500 RS codewords are formed from the 54,000-bit information bit vectors in all 312 codewords and decoded independently. Each RS codeword is encoded in the Galois field GF(2 8) has 156 symbols, each symbol consists of 4 bits at the same position of two LDPC code words; therefore, a total of 13,500 RS code words are formed;

[0165] (3.9) After RS ​​decoding, the decoding result is fed back to LDPC decoding to replace the original bit, and the iterative process is repeated multiple times. In our embodiment, it is repeated 3 times. When the previous coding base layer is successfully decoded, it is fed back to the next layer decoding to help update the program sequence and eliminate error propagation between layers;

[0166] (3.10) The 304 data blocks in the first layer after product code decoding are combined into three stream files: audio stream, video stream and control data, and then the remaining layers (layers 2 to 28) are combined into audio and video stream files;

[0167] (3.11) Using the recovered control data, for each data layer, alternately splice the audio and video sample units, where sample is the smallest unit for storing audio information and video information in the MP4 encapsulation format;

[0168] (3.12) Based on the principle that audio and video samples should be synchronized, for any redundant partial samples of this layer, the cache waits for the data of the next layer to fill the complete sample, and repeats this process until all layer data are assembled into 28 streaming segments;

[0169] (3.13) An audio and video buffer is set based on a first-in-first-out (FIFO) unit to store the streaming media segments assembled from each layer of data, and when the current layer is being played, the newly decoded streaming media segments are temporarily stored in the buffer for subsequent playback. The actual real-time read-out of the 28 layers of corresponding movie segments can be played for a long time and data volume as shown in Table 1.

[0170] Table 1 The actual playable duration and data volume of the movie clips read in real time

[0171]

[0172] In order to verify that the base run length measurement criterion based on the determined sequence provided by the present invention can help accelerate the reading in the presence of homopolymers, TACG is used as the determined reference sequence. Fig.14 The cumulative probability distribution graph between the distribution of run sequence length and the base readable ratio obtained by statistics of 10,079,472 sequences containing 12 different primer sets and 419,978 labeled sequences is given. It can be seen that the cumulative probability distribution has a long tail. Even if the sequences in the tailing part of the graph are discarded, up to 99% of the sequences can still be recovered.

[0173] Fig.15A comparison chart of the signal level error rate performance before and after the majority voting judgment of the multi-copy signal provided by the present invention is given, where the run sequence length is 120. It can be seen that after the majority voting judgment of the multi-copy signal is adopted, the error rate of the signal at different positions is significantly improved. Table 2 shows the error rate of the original base sequence and the error rate of the base sequence after the majority voting judgment of the multi-copy signal. It can be seen that the insertion / deletion errors are significantly reduced, indicating that the method provided by the present invention has good performance in eliminating insertion / deletion errors.

[0174] Table 2 Base error rate performance comparison

[0175]

[0176] Fig.16 A performance comparison diagram of the multi-copy signal majority voting judgment and feedback update provided by the present invention is given. It can be seen that after adopting the multi-copy signal majority voting judgment and feedback iterative update, the base error rate corresponding to the 28th layer is significantly improved, further verifying the performance superiority of the method provided by the present invention.

[0177] Fig.17 The data recovery conditions at different sequencing coverages are given. It can be seen that at a low coverage of 4.5x, error-free recovery of 28 layers of data can be achieved, proving that the DNA storage method provided by the present invention can achieve reliable storage and reading of data at low coverage.

[0178] Those skilled in the art will appreciate that the accompanying drawing is only a schematic diagram of a preferred embodiment, and the serial numbers of the embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0179] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A spatially hierarchical DNA storage method for large-scale oligonucleotide pools, characterized in that: The method comprises the following steps: (1) Grouping user data to obtain L data layers with a regular length of K bits, and performing error correction coding on each individual data layer to obtain a coded data layer with a length of N, where N>K bits, and transcoding the coded data layer according to a determined mapping rule between bit pairs and bases to obtain a coded base layer; (2) assigning the bases in the coding base layer to positions 1 to L of the DNA sequence in sequence according to different sequencing readout modes, thereby forming a data carrier portion of a DNA sequence of length L for single-end reading, and assigning the coding base layer to positions symmetrical at both ends of the DNA sequence in sequence, thereby obtaining a data carrier portion of a DNA sequence of length 2L for dual-end simultaneous reading; (3) adding labels and primers to the generated DNA data-bearing sequence to obtain a large-scale oligonucleotide DNA sequence; (4) preparing a sequencing library for each oligonucleotide pool synthesized, and aligning the oligonucleotides and fixing them on a solid phase carrier to achieve simultaneous sequencing and readout using a high-throughput sequencing technology; (5) The oligonucleotide sequence is aligned and immobilized on the surface of the solid phase carrier, and after real-time optical signal or electrical signal acquisition, signal analysis, incremental base recognition, and primer and label recognition, when using natural unmodified dNTP depolymerization detection, a partial run sequence in the form of base run length measurement is obtained, and the base run length represents the length of the continuous bases recognized when the current nucleotide is polymerized; when using modified dNTP with terminator and fluorescent group for depolymerization detection, the presence or absence of a signal is obtained by optical detection, that is, judging whether a single base exists; (6) obtaining multiple copies of signals in different base signal forms according to the identified primers and labels, clustering the signals, merging the multiple copies of the signals, and converting them into a consensus program sequence; (7) According to whether there are insertion and deletion errors in the sequencing process, a program sequence feedback update mechanism is set. When there are no insertion and deletion errors, the consistent program sequence is directly converted into a coding base layer; when there is insertion and deletion error propagation, the feedback result of the successful decoding of the previous layer is used to update the partial program sequence, and a multi-copy majority voting judgment is used to generate a consistent program sequence. Subsequently, according to the determined reference base sequence, the consistent partial program sequence is converted into a partial base sequence, and the partial base sequence is sequentially assigned to the determined position of the coding base layer, and the bases at the same position form a separate coding base layer; (8) Count and update the base ratio of all coding base layers, output the coding base layers that have not been successfully decoded through threshold comparison, and send them to the decoder for decoding, so as to restore the original user data layer by layer; Wherein, step (2) is specifically as follows: (2.1) Take out one base from the same position of L coding base layers in sequence and assign them to the positions from 1 to L in the data DNA sequence in order; traverse all the positions of the coding base layers and repeat the same steps to obtain N / 2 single-end read data DNA sequences with a length of L bases; wherein the base length d of the oligonucleotide sequence for constructing the data payload part satisfies 20≤d≤500; (2.2) Take out two bases from the same position of the L coding base layers respectively, and according to the basic principle that the first layer of bases is located on the outside of the sequence and the last layer of bases is located on the inside of the sequence, splice the base pairs to the same position at both ends of the symmetric DNA sequence respectively, to form the data carrier part of a single DNA sequence with a length of 2L bases that can be read at both ends simultaneously; traverse all positions of the coding base layers and repeat the same steps to obtain N / 4 data DNA sequences with a length of 2L bases that can be read at both ends simultaneously; wherein the base length d of the oligonucleotide sequence that constructs the data load part satisfies 20≤d≤500.

2. A spatially hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 1, characterized in that: The user data is split into L packets with a regular length K, and each individual data layer is error-corrected and coded to obtain a coded data layer with a length of N, N>K. According to the mapping rule between the determined bit pairs and bases, the coded data layer is transcoded to obtain a coded base layer. The specific steps are as follows: (1.1) Divide the user data into L groups, corresponding to L data layers, where the data size of each layer is K bits; (1.2) For each data layer, superimpose a pseudo-random sequence of the same length to scramble it, and encode it using a linear block code (N, K) to obtain an N-bit coded data layer; traverse all L data layers and repeat the same operation to obtain L coded data layers; (1.3) According to the determined mapping rules between bit pairs and bases 00→A, 01→T, 10→G, 11→C, the L coding data layers are transcoded respectively to obtain L coding base layers.

3. The spatial hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 1, characterized in that: The method adds labels and primers to the generated DNA data-bearing sequence to obtain a large-scale oligonucleotide DNA sequence, specifically: unique labels with a base length of n are added to both ends of each DNA sequence, different oligonucleotide pools share the same set of labels, and fixed-length primers are added to the single end / double end of the DNA sequence to construct a complete oligonucleotide pool, and high-throughput synthesis is performed.

4. The spatial hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 1, characterized in that: The preparation of sequencing libraries for each synthesized oligonucleotide pool is performed, and sequencing and reading are realized by means of a high-throughput sequencing technology that aligns and fixes the oligonucleotides on a solid phase carrier, specifically: (3.1) Corresponding to the oligonucleotide sequence constructed by double-end symmetrical mapping of the coding base layer, the synthesized oligonucleotide pool is amplified by polymerase chain reaction using forward and reverse primer pairs respectively using conventional library construction methods, a small amount of sample is taken out and a sequencing adapter is added to construct a sequencing library, which is loaded into a sequencer for sequencing; (3.2) Corresponding to the oligonucleotide sequence constructed by double-end symmetrical mapping of the coding base layer, a double-end library construction method is adopted, and the oligonucleotide pool is amplified by polymerase chain reaction using two pairs of forward and reverse overhang primers respectively to obtain two sequencing libraries, which are then mixed, and a small amount of sample is taken out for single template amplification on a solid phase support containing complementary sequences of the overhang primers to complete the sequencing sample preparation, and the sample is loaded into the sequencer for sequencing; (3.3) Corresponding to the oligonucleotide sequence constructed by single-end asymmetric mapping of the coding base layer, a single-end library construction method is adopted, and the synthesized oligonucleotide pool is fixedly amplified in one direction, and only the forward primer is used for polymerase chain reaction amplification. A small amount of sample is taken out and single template amplification is performed on a solid phase support containing the complementary sequence of the hanging primer to complete the sequencing sample preparation, and the sample is loaded into the sequencer for sequencing.

5. The spatial hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 1, characterized in that: The oligonucleotide sequence aligned and solidified on the surface of the solid phase carrier is subjected to real-time optical signal or electrical signal acquisition, signal analysis, incremental base recognition, and primer and label recognition to obtain a partial run sequence in the form of base run length measurement, and the specific steps are: (4.1) In the incremental base recognition process, the base recognition results are recorded in real time, and the base run length measurement criterion is used to map the partial base sequence obtained by base recognition into a partial run sequence according to the determined reference base sequence; wherein the base run length refers to the length of continuous bases in the sequence; (4.2) For the identified partial itinerary sequence, the distance metric of the itinerary space is used to perform primer identification and determine its boundary. Starting from the primer identification boundary, the partial itinerary sequence is intercepted and demapped into a base sequence of the same length as the labeled part. The labeled part is preprocessed and the validity check or error correction is performed using a check matrix. The valid information part of the partial itinerary sequence is retained and the corresponding primer, label and relative starting offset with the reference itinerary sequence are marked.

6. The spatial hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 1, characterized in that: The method of obtaining multiple copies of signals in different base signal forms according to the identified primers and labels, clustering the signals, merging the multiple copies of the signals, and converting them into a consistent program sequence is specifically as follows: (5.1) Counting the base run length measurement values ​​corresponding to each run sequence of the multiple signal copies one by one; (5.2) Perform majority voting and output the base run length measurement with the highest frequency; (5.3) Convert the base run length measurement value into a base sequence and output the base sequence after merging multiple copies layer by layer.

7. The spatial hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 1, characterized in that: According to whether there are insertion and deletion errors in the sequencing process, a program sequence feedback update mechanism is set. When there are no insertion and deletion errors, the consistent program sequence is directly converted into a coding base layer; when there is insertion and deletion error propagation, the feedback result of the successful decoding of the previous layer is used to update the partial program sequence, and a multi-copy majority voting judgment is used to generate a consistent program sequence. Then, according to the determined reference base sequence, the consistent partial program sequence is converted into a partial base sequence, and the partial base sequence is sequentially assigned to the determined position of the coding base layer, and the bases at the same position form a separate coding base layer. The specific steps are: (6.1) For multiple copies of the partial program sequence with the same primers and labels, the feedback results of the successful decoding of the previous layer are used to update them, and then a majority vote is performed one by one to generate a consistent partial program sequence, and the consistent partial program sequence is demapped into a partial base sequence according to the determined reference base sequence, and the partial base sequence is placed in the determined positions of L coding base layers in sequence according to the identified primers and labels, where each coding base layer contains N / 2 unique sites; (6.2) Count and update the base ratio of each individual coding base layer. If the ratio reaches a preset threshold for successful decoding, output the coding base layer that has not been successfully decoded. Further, convert the output coding base layer into bits, and use linear block codes for error correction to recover the user data corresponding to the current data layer. (6.3) Generate an ideal partial base sequence using the previously successfully decoded coding base layer, and convert it into an ideal partial run sequence according to the determined reference base sequence, generating a total of N / 2 partial run sequences, and feed the regenerated partial run sequences back to steps (5.1) to (5.3) to re-execute the majority voting decision.

8. The spatial hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 1, characterized in that: The method of counting and updating the base ratio of all coding base layers, outputting the coding base layers that have not been successfully decoded through threshold comparison, and sending them to the decoder for decoding, and restoring the original user data layer by layer, specifically comprises the following steps: (7.1) converting the combined output code base into bits and performing error correction using linear block code decoding; (7.2) Each layer of data is merged and decoded in turn until all layers of data are completely read out, thus achieving real-time readout of DNA storage by sequencing and decoding at the same time.

9. The spatially hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 1, characterized in that: The separate data layers are scrambled by superimposing a pseudo-random sequence of the same length, and are encoded by a linear block code (N, K) to obtain a coded data layer of N bits; all L data layers are traversed, and the same operation is repeatedly performed to obtain L coded data layers. The specific steps are: (8.1) Linear block codes use product codes to encode data, dividing the data at each layer into P data blocks of the same size; (8.2) performing the encoding process of the first member code in the product code encoding on the P data blocks in each layer, adding the check data block, generating M data blocks, and forming a single-layer first member code codeword block; (8.3) performing the encoding process of the second member code in the product code encoding, using the generator matrix to encode each data block in each layer into a second member code word, and generating a total of M second member code words in each layer; (8.4) Traverse all L data layers and repeat the product code encoding process to finally obtain L encoded data layers.

10. The spatially hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 3, characterized in that: The method of adding labels and primers to the generated DNA data bearing sequence to obtain a large-scale oligonucleotide DNA sequence is as follows: unique labels with a base length of n are added to both ends of each DNA sequence, and different oligonucleotide pools share the same set of labels. Furthermore, primers of fixed length are added to the single end / double end of the DNA sequence to construct a complete oligonucleotide pool, and high-throughput synthesis is performed. The specific steps are as follows: (9.1) Traverse [0,2 k ] and are represented by bit vectors of length k. Each bit vector is encoded using a binary short block error correction code (n, k), and the obtained codewords are randomly interleaved; and is a positive integer, Indicates the number of base sequences contained in the oligonucleotide pool, Indicates rounding up; (9.2) Transcode the encoded codeword sequence according to the determined mapping rule to obtain a label sequence with a base length of n / 2, count the distribution of sequence homopolymer lengths, and preferentially select base sequences with smaller homopolymer lengths according to the minimum homopolymer length criterion. For single-end read DNA sequences, select N / 2 sequences as valid labels; for double-end read DNA sequences, select N / 4 sequences as valid labels; (9.3) Add the labeled base sequence to the forward end of the data DNA sequence, and then randomly interweave the labeled DNA sequence at the base level and add it to the backward end of the data DNA sequence, thereby generating a DNA sequence that can be labeled and recognized at both ends.

11. The spatially hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 5, characterized in that: The method comprises the following steps: for the identified partial tour sequence, using the distance metric of the tour space to perform primer identification and determine its boundary; starting from the primer identification boundary, intercepting the partial tour sequence, demapping it into a base sequence of the same length as the label part; preprocessing the label part, and performing validity check or error correction using a check matrix; retaining the information part of the valid partial tour sequence, and marking the corresponding primer, label and the relative starting offset between the primer and the reference tour sequence; and (10.1) Using the known reference base sequence, construct a reference primer sequence for all forward and reverse primers used in the oligonucleotide pool, compare the partial primer sequence accumulated and identified in the real-time base recognition process with the reference primer sequence to obtain the spatial distance, and determine the primer category to which the corresponding partial sequence belongs; (10.2) Search for the primer with the smallest run space distance based on the comparison results, and compare its run space distance with a preset threshold. If the preset threshold is met, the primer is considered valid, the corresponding sequence is retained and the most likely primer is marked, otherwise it is discarded; (10.3) Demap the base sequence of the labeled part into a bit sequence, and deinterleave it to obtain the codeword corresponding to the label; (10.4) Use the check matrix to check the validity. If the check is correct and the label is a legal label, the label is considered valid, and the program sequence of the corresponding information part is retained. Use the short block error correction code to correct the label part, restore the original label, check the legality of the label, and retain the program sequence of the corresponding information part.

12. The spatially hierarchical DNA storage method for a large-scale oligonucleotide pool according to claim 7, characterized in that: The multiple copies of the partial program sequence with the same primer and label are updated using the feedback results of the successful decoding of the previous layer, and then a majority vote is performed one by one to generate a consistent partial program sequence, and the consistent partial program sequence is demapped into a partial base sequence according to the determined reference base sequence, and the partial base sequence is placed in the determined position of L coding base layers in sequence according to the identified primers and labels, wherein each coding base layer contains N / 2 unique sites, and the specific steps are as follows: (11.1) For multiple copies of a partial play sequence with the same primer and label, align the partial play sequence according to the starting offset relative to the reference play sequence, and use the feedback result of the successful decoding of the previous layer to compare the position value of the original play sequence with the updated value one by one. If the original value is greater than the updated value, keep the original value, otherwise, use the updated value to refresh; (11.2) Perform majority voting on each position of the partial run sequence with multiple copies to obtain a consistent partial run sequence; if the voting result of a certain position is not unique, the base run length corresponding to the second best frequency is used as the consistent result of the position; (11.3) According to the determined reference base sequence, the consistent partial sequence is demapped into a partial base sequence, and according to the determined primers and labels, the partial base sequence is placed at a determined position of the coding base layer.

Citation Information

Patent Citations

  • DNA data storage mixed error correction and data recovery method

    CN110442472A

  • DNA storage method for pseudo noise sequence adjoint coding

    CN116707541A