WO2018148260A1 - Appareil, méthode et système de mémorisation d'informations numériques dans de l'acide désoxyribonucléique (adn) - Google Patents

Appareil, méthode et système de mémorisation d'informations numériques dans de l'acide désoxyribonucléique (adn) Download PDF

Info

Publication number
WO2018148260A1
WO2018148260A1 PCT/US2018/017193 US2018017193W WO2018148260A1 WO 2018148260 A1 WO2018148260 A1 WO 2018148260A1 US 2018017193 W US2018017193 W US 2018017193W WO 2018148260 A1 WO2018148260 A1 WO 2018148260A1
Authority
WO
WIPO (PCT)
Prior art keywords
dna
digital data
information
error correction
codes
Prior art date
Application number
PCT/US2018/017193
Other languages
English (en)
Inventor
Naveen Goela
Jean Bolot
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of WO2018148260A1 publication Critical patent/WO2018148260A1/fr

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0009RRAM elements whose operation depends upon chemical change
    • G11C13/0014RRAM elements whose operation depends upon chemical change comprising cells based on organic memory material
    • G11C13/0019RRAM elements whose operation depends upon chemical change comprising cells based on organic memory material comprising bio-molecules
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes

Definitions

  • the present principles relate generally to digital information storage in deoxyribonucleic acid (DNA).
  • DNA contains the genetic program for the biological development of life.
  • DNA may be used as a compact storage medium for petabytes of information by encoding digital information into sequences of DNA nucleotides.
  • the potential benefits of DNA storage include: (1) Extremely high-density storage beyond the order of terabytes within 1 gram of DNA; (2) Decades of stability and durability at moderate temperatures; (3) Biological replication due to PCR-amplification; (4) Rapid biological search and indexing mechanisms via primers; (5) Biological editing and re-encoding of segments via enzymes.
  • An end-to-end system for DNA storage comprises at least several components.
  • Source information e.g., a movie file
  • Source information is encoded, modulated, synthesized, and stored in multiple DNA oligonucleotide segments.
  • the DNA segments must be sequenced, demodulated, assembled, and decoded while addressing errors that may occur.
  • an embodiment of a sytem for storing digital data in DNA using a DNA process that may be error prone, e.g., comprising at least one of a lossy or noise DNA synthesis process and a lossy or noisy DNA sequencing process includes decoding data encoded into DNA oligonucleotides using coded multiple sequence alignment wherein a decoder includes a block which processes one or more versions of each DNA oligonucleotide using synchronization information included in the oligonucleotides, e.g., synchronization markers corresponding to nucleotides inserted into the oligonucleotides during encoding of the digital data.
  • synchronization may be striped synchronization markers
  • the synchronization marker may be a simple code or more complex synchronization codes.
  • the coded alignment may be based on dynamic programming algorithms to efficiently compute the alignment. Coded alignment may also involve multiple versions of an oligonucleotide.
  • an embodiment of a sytem for storing digital data in DNA comprises harnessing diversity of multiple synthesized sequences.
  • two or more versions of an oligo may be used for alignment.
  • Diversity may provide various advantages including boosting the performance of coded alignment (dynamic programming solution) and enabling use of consensus algorithms which correct errors in the oligonucleotides using techniques such as majority voting mechanisms.
  • an embodiment of a sytem for storing digital data in DNA comprises using consensus, e.g., consensus algorithms.
  • Consensus utilizes diversity (e.g., two or more versions of an oligo) to correct nucleotide errors . If one version of an oligo is corrupted in a certain position, other versions may not be corrupted in the same position. Thus, if synchronization/alignment is obtained, consensus over multiple diverse versions can greatly improve decoding accuracy.
  • Consensus algorithms can scale efficiently to utilize 10, 100, or 1000 versions of an oligo because because relatively simple majority voting style approaches may be applied.
  • an embodiment comprises consensus utilizing probabilistic information (e.g., similar to votes) from many versions of an oligo to correct errors in nucleotides.
  • an embodiment of a sytem for storing digital data in DNA comprises error-correction features, e.g., an error correction pipeline.
  • error-correction features e.g., an error correction pipeline.
  • an individual error-correction code ECC
  • oligo ECC error-correction code
  • block error correction may be included by adding oligo s representing block error correction codes during encoding (block ECC).
  • block ECC block error correction feature enables correcting errors across multiple oligos, in case any oligo is missing due to the lossy characteristics of the DNA synthesis process.
  • Alignment and consensus may provide synchronization and partial error-correction in accordance with an aspect of the present principles.
  • the oligo ECC and also block ECC over multiple oligos provide further error-correction of bits.
  • an embodiment of a sytem for storing digital data in DNA comprises modulation blocks.
  • an encoder includes a final block wherein bits are converted to nucleotides.
  • Another aspect comprises a modular structure enabling the system to accommodate different modulation schemes.
  • a decoder comprises demodulation as a first block or function.
  • the modular structure enables organizing error-correction for DNA storage. For example, traditional error-correction occurs over bits (not nucleotides) so in an embodiment error correction occurs before modulation in the encoder, and after demodulation in the decoder.
  • one or more embodiments as described herein may provide one or more advantages such as the following.
  • Systems in accordance with the present principles are highly error-tolerant, e.g., capable of correcting for nucleotide errors on the order of 20% or more produced by a lossy or error- prone DNA system, e.g., lossy synthesis and/or sequencing; correcting for nucleotide insertion erros and substitution errors; and correcting for missing oligos.
  • Systems incoroporating coding in accordance with the present principles may reduce the required number of reads of DNA for a lossy DNA synthesis process due at least in part to the error tolerance of an embodiment in accordance with the present principles.
  • Systems incoroporating coding in accordance with the present principles and, in particular, error tolerant aspects of coding in accordance with the present principles may enable increasing the length of each oligo produced by synthesis, thereby allowing more bits to be encoded per oligo, despite the synthesis process being lossy or hyper-lossy such as may be the case with low cost synthesis approaches such as enzymatic synthesis and/or lossy DNA sequencing approaches during data reads.
  • embodiments in accordance with the present principles make use of low-cost lossy or error-prone DNA systems including synthesis and/or sequencing processes for reliable storage of large volumes of data.
  • an embodiment of a method of encoding digital data comprises adding address information to the digital data; converting the digital data including the address information to a plurality of codes wherein each code represents a deoxyribonucleic acid (DNA) nucleotide; and adding synchronization information to the plurality of codes, wherein the plurality of codes including the synchronization information is configured to enable: synthesis of a DNA oligonucleotide representing the plurality of codes including the synchronization information using a lossy DNA synthesis process, and decoding the digital data from the DNA oligonucleotide using coded alignment.
  • DNA deoxyribonucleic acid
  • an embodiment of a method of encoding digital data including adding synchronization information to the digital data may include the synchronization information comprising a synchronization marker.
  • an embodiment of a method of encoding digital data wherein a plurality of codes may include synchronization information, the synchronization information may be further configured to enable a use of diversity among a plurality of versions of the DNA oligonucleotides produced by a lossy or error-prone DNA synthesis process during decoding.
  • an embodiment of a method of encoding digital data wherein a plurality of codes may include synchronization information, the synchronization information may be further configured to enable a use of diversity including consensus.
  • an embodiment of a method of encoding digital data may further include adding error correction information to the digital data after adding address information and before converting the digital data to codes, whereby converting includes converting the digital data including the address information and including the error correction information to the plurality of codes.
  • the error correction information may include a block error correction code and a word error correction code.
  • a block error correction code may include one of a Reed- Solomon code and a Fountain code.
  • a word error correction code may include one of a BCH code and a LDPC code.
  • an embodiment of a method of encoding digital data may comprise adding address information to the digital data; adding error correction information to the digital data including the address information; converting the digital data including the address information and the error correction information to a plurality of codes wherein each code represents a deoxyribonucleic acid (DNA) nucleotide; and adding synchronization information to the plurality of codes, wherein the plurality of codes including the synchronization information is configured to enable synthesis of a DNA oligonucleotide representing the plurality of codes including the synchronization information using a lossy or error-prone DNA synthesis process and to enable subsequent decoding of the digital data from the DNA oligonucleotide using coded alignment.
  • DNA deoxyribonucleic acid
  • synchronization information may comprise a synchronization marker.
  • a plurality of codes including synchronization information may be further configured to enable a use of diversity among a plurality of versions of the DNA oligonucleotide produced by the lossy or error-prone DNA synthesis process during the subsequent decoding.
  • a plurality of codes including synchronization information may be further configured to enable the use of diversity to include a use of consensus.
  • error correction information may include a block error correction code and a word error correction code.
  • a block error correction code may include one of a Reed- Solomon code and a Fountain code.
  • a word error correction code may include one of a BCH code and a LDPC code.
  • converting digital data to a plurality of codes may comprise a mapping of the digital data to nucleotides according to a modulation map.
  • converting digital data to a plurality of codes using a modulation map may comprise the modulation map being in accordance with a constraint graph configuring the mapping to decrease a likelihood of unreliable transitions.
  • converting digital data to a plurality of codes using a modulation map may comprise the modulation map writing an A on every odd occurrence of 0, a T on every even occurrence of 0, a C on every odd occurrence of 1, and a G on every even occurrence of 1.
  • an embodiment of a method of decoding digital data stored in DNA may comprise aligning a plurality of oligonucleotides selected from a pool of DNA strands synthesized using a lossy or erro- prone DNA synthesis process, wherein the aligning uses coded alignment based on synchronization information included in each of the plurality of oligonucleotides; demodulating the plurality of oligonucleotides to produce a plurality of binary words corresponding to respective ones of the plurality of oligonucleotides, wherein the demodulating is based on a modulation map providing a mapping of nucleotides to digital bits; and extracting the digital data from the plurality of binary words.
  • synchronization information may comprise a synchronization marker.
  • aligning may further comprise using a diversity among the plurality of oligonucleotides.
  • aligning using the diversity may further include a use of consensus.
  • each of the plurality of binary words may include error correction information, and extracting the digital data may include error correction based on the error correction information.
  • error correction information may include a block error correction code and a word error correction code.
  • a block error correction code may include one of a Reed- Solomon code and a Fountain code.
  • a word error correction code may include one of a BCH code and a LDPC code.
  • a modulation map may be in accordance with a constraint graph configuring the mapping to decrease a likelihood of unreliable transitions.
  • a modulation map may comprise writing an A on every odd occurrence of 0, a T on every even occurrence of 0, a C on every odd occurrence of 1, and a G on every even occurrence of 1.
  • an embodiment of a lossy or error-prone DNA synthesis process for digital data storage may comprise an enzymatic molecular synthesis process.
  • an embodiment of an encoder may comprise a processor performing one or more aspects of embodiments of methods as described herein.
  • an embodiment of a decoder may comprise a processor performing one or more aspects of embodiments of methods as described herein.
  • an embodiment may comprise a non-transitory computer-readable medium storing computer-executable instructions executable to perform one or more aspects of embodiments of methods as described herein.
  • an embodiment of a method of decoding digital data stored in DNA molecules may comprise accessing a plurality of DNA molecules storing encoded digital data, wherein the encoded digital data includes a code component comprising an address, synchronization information, and error correction information, and the DNA molecules were synthesized using a lossy or error- prone DNA synthesis process; sequencing the plurality of DNA molecules; merging and assembling the plurality of DNA molecules to form a plurality of DNA oligonucleotides; and decoding the digital data from the plurality of DNA oligonucleotides wherein the decoding includes applying a coded multiple sequence alignment (MSA) procedure to the plurality of DNA segments using the marker symbol in each of the plurality of segments to align the plurality of segments, processing the aligned plurality of segments using a diversity scheme to extract digital information from the aligned plurality of segments, and performing error correction on the extracted digital information using the error correction component to produce the decoded digital data.
  • MSA coded multiple sequence alignment
  • an embodiment of an encoder comprises encoding digital data including error correction information and synchronization information into a plurality of codes each representing a respective nucleotide of a DNA oligonucleotide, wherein the encoding includes a modulation of the digital data to nucleotides of DNA in accordance with a modulation map; a DNA synthesizer synthesizing a DNA segment based on the plurality of codes and using a lossy DNA synthesis process; a PCR amplifier amplifying the DNA segment to form a plurality of DNA segments; and an archive to store the plurality of DNA segments.
  • an embodiment comprises a sequencer sequencing a plurality of DNA segments retrieved from an archive, wherein the plurality of DNA segments were synthesized using a lossy DNA synthesis process; and a decoder decoding digital data from a plurality of DNA oligonucleotides included in the plurality of DNA segments, wherein the decoder aligns the plurality of oligonucleotides using coded alignment based on synchronization information included in the plurality of oligonucleotides; demodulates the aligned plurality of oligonucleotides to produce a plurality of digital words corresponding to respective ones of the plurality of oligonucleotides; and extracts the digital data from the binary words.
  • An aspect of the present principles comprises an embodiment of a system for storage of digital information in DNA including components comprising: (1) Source data in bits; (2) Encoding mechanism including all error-correction codes and modulation from bits to nucleotides; (3) DNA synthesis of multiple DNA segments; (4) PCR-amplification of DNA pools; (5) DNA archival storage; (6) DNA sequencing; (7) Merging and assembling multiple DNA segments; (8) Demodulation and decoding of all codes for reliable recovery.
  • an embodiment addresses a challenge of designing a coded DNA storage system involving ensuring the efficiency and compatibility of the different components which correct diverse errors.
  • An aspect of the present disclosure involves error-correction being introduced for DNA storage based on low-cost enzymatic molecular synthesis.
  • An embodiment of a modular pipelined system provides encoding and decoding digital information reliably in DNA molecules in the presence of a large fraction of differentiated errors.
  • a source of data is efficiently encoded, modulated, and stored in a set of oligonucleotide segments.
  • DNA sequencing the information stored on multiple segments is assembled and decoded reliably.
  • a classification of errors is provided for the biological processes of low-cost DNA synthesis, PCR-amplification, and DNA sequencing.
  • Error-correction is designed to recover data corrupted by insertions, deletions, and substitutions of nucleotides. Low-cost synthesis also places constraints on the modulation of bits to nucleotides.
  • a flexible system is presented comprised of error-correction codes (e.g., Reed-Solomon, LDPC, or polar codes), synchronization codes, and constrained modulation codes.
  • the encoding step comprises modulation, synchronization, addressing, and error-correction within each oligonucleotide and per block of multiple oligonucleotides.
  • the decoding step comprises reciprocal measures to assemble source data from multiple segments. Error-correction is designed to recover data corrupted by several types of errors including missing segments. The amount of overhead redundancy envisioned for reliable storage is specified and compared to information-theoretic bounds.
  • an enzymatic synthesizer which is intended to produce one oligonucleotide may actually produce multiple output strands which have varying amounts of insertions, deletions, and substitutions.
  • Another aspect relates to an error-correction system suitable for low-cost enzymatic synthesis.
  • Traditional error-correction systems for DNA storage are based on high-fidelity molecular synthesis (e.g., using Agilent micro-array platforms). Such synthesis machines are too costly for commercial purposes, and cannot enable ubiquitous storage.
  • Enzymatic synthesis in accordance with aspects of the present disclosure produces DNA oligonucleotides using low-cost chemicals. The low-cost property allows eventually scaling up to terabytes of synthesized data.
  • an aspect of the present disclosure involves introducing a constraint graph for nucleotide patterns.
  • a modulation scheme implements the constraint graph. The purpose of modulation is to maximize the capacity of information (how many bits per nucleotide stored), and to minimize the probability of insertions/deletions (due to less reliable nucleotide transitions). Modulation in accordance with the present principles avoids less reliable transitions entirely. It is also possible to minimize the usage of the less reliable transitions.
  • Another aspect of the present principles addresses an issue with low-cost enzymatic synthesis involving multiple oligonucleotide segments produced all of which do not have the same lengths.
  • An aspect of the present disclosure involves using synchronization codes to address distribution of lengths of oligonucleotides, otherwise the storage capacity may be significantly reduced.
  • One type of synchronization code is a marker code.
  • a marker code may comprise known marker symbols which are inserted in the bit stream prior to modulation.
  • synchronization errors insertion and deletion errors
  • oligonucleotide segments are synchronized, the positions which have been deleted may be corrected.
  • error-correction within each oligonucleotide is provided to solve this problem.
  • BCH codes are applied for error-correction after the oligonucleotide has been synchronized to the correct length. That is, in accordance with the present principles, first synchronize and then correct.
  • synchronization provides (posterior) probabilities for the sequence of bits stored in each oligonucleotide.
  • other codes such as LDPC (low-density parity-check codes), polar codes, short Turbo codes, or convolutional codes could be applied as well.
  • Another aspect of the present principles addresses an issue with DNA storage involving assembling the original data from multiple, short, sequenced oligonucleotides.
  • an address for each oligonucleotide is provided for assembly.
  • address bits are concatenated with data bits prior to applying error-correction for each oligonucleotide.
  • decoding after an oligonucleotide has been synchronized and error-corrected, its address is retrieved and thus its position in assembling all of the original data is known.
  • Another aspect of the present disclosure involves addressing an issue with DNA storage involving that some oligonucleotides might be corrupted beyond repair, and/or lost in the DNA solution (e.g., if PCR-amplification does not yield enough copies for sequencing).
  • a code e.g., Reed-Solomon code
  • Another aspect of the present disclosure involves correcting for multiple types of errors that may occur simultaneously with DNA storage based on low-cost enzymatic synthesis.
  • this problem is addressed using a modular error-correction pipeline.
  • the order of the blocks in the pipeline provides for correcting diverse types of errors. It is possible to jointly design the blocks in the pipeline to improve efficiency, but a modular approach allows to improve each block separately.
  • Encoding in accordance with the present principles involves the following in order: (1) Store data bits in multiple oligonucleotides with redundancy per block of oligonucleotides; (2) Add an address per oligonucleotide; (3) Add error-correction per oligonucleotide; (4) Add synchronization per oligonucleotide; (5) Transform bits to nucleotides using modulation scheme.
  • Decoding in accordance with the present principles involves the following in order: (1) Demodulate each oligonucleotide from nucleotides to bits; (2) De- synchronize each oligonucleotide; (3) Error-correction by decoding each oligonucleotide; (4) retrieve address for each oligonucleotide; (5) If any oligonucleotide in a block is corrupted beyond repair or missing, utilize the redundancy per block of oligonucleotides to reconstruct the original source data.
  • an embodiment of an encoder for encoding digital data comprises at least one processor configured at least one processor configured for adding address information to the digital data; converting the digital data including the address information to a plurality of codes wherein each code represents a deoxyribonucleic acid (DNA) nucleotide; and adding synchronization information to the plurality of codes, wherein the plurality of codes including the synchronization information is configured to enable: synthesis of a DNA oligonucleotide representing the plurality of codes including the synchronization information using a lossy DNA synthesis process, and decoding the digital data from the DNA oligonucleotide using coded alignment.
  • a DNA oligonucleotide representing the plurality of codes including the synchronization information using a lossy DNA synthesis process
  • an embodiment of a device for encoding digital data comprises at least one processor configured for adding address information to the digital data; adding error correction information to the digital data including the address information; converting the digital data including the address information and the error correction information to a plurality of codes wherein each code represents a deoxyribonucleic acid (DNA) nucleotide; and adding synchronization information to the plurality of codes, wherein the plurality of codes including the synchronization information is configured to enable synthesis of a DNA oligonucleotide representing the plurality of codes including the synchronization information using a lossy DNA synthesis process and to enable subsequent decoding of the digital data from the DNA oligonucleotide using coded alignment.
  • the plurality of codes including the synchronization information is configured to enable synthesis of a DNA oligonucleotide representing the plurality of codes including the synchronization information using a lossy DNA synthesis process and to enable subsequent decoding of the digital data from the DNA oligonucleotide using coded alignment.
  • an embodiment of a device for decoding digital data stored in DNA comprises at least one processor configured for aligning a plurality of oligonucleotides selected from a pool of DNA strands synthesized using a lossy DNA synthesis process, wherein the aligning uses coded alignment based on synchronization information included in each of the plurality of oligonucleotides; demodulating the plurality of oligonucleotides to produce a plurality of binary words corresponding to respective ones of the plurality of oligonucleotides, wherein the demodulating is based on a modulation map providing a mapping of nucleotides to digital bits; and extracting the digital data from the plurality of binary words.
  • an embodiment of a system for storing digital information in DNA comprises: an encoder encoding digital data including error correction information and synchronization information into a plurality of codes each representing a respective nucleotide of a DNA oligonucleotide, wherein the encoding includes a modulation of the digital data to nucleotides of DNA in accordance with a modulation map; a DNA synthesizer synthesizing a DNA segment based on the plurality of codes and using a lossy DNA synthesis process; a PCR amplifier amplifying the DNA segment to form a plurality of DNA segments; an archive to store the plurality of DNA segments; a sequencer sequencing a plurality of DNA segments retrieved from the archive, wherein the plurality of DNA segments were synthesized using a lossy DNA synthesis process; and a decoder decoding digital data from a plurality of DNA oligonucleotides included in the plurality of DNA segments, wherein the decoder: aligns the plurality of
  • FIG. 1 illustrates, in block diagram form, a DNA storage system in accordance with the present principles
  • Figure 2 illustrates, in state diagram form, a system for DNA synthesis
  • Figure 3 illustrates, in graphical form, an aspect of a DNA digital data storage system in accordance with the present principles
  • Figure 4 illustrates, in state diagram form, an exemplary embodiment of constraints for synthesizing DNA
  • Figure 5 illustrates, in block diagram form, an exemplary embodiment of molecular-level DNA storage
  • Figure 6 illustrates, in block diagram form, an exemplary embodiment of an error- correction pipeline for DNA storage of digital data
  • Figure 7 illustrates, in graphical form, an aspect of a DNA digital data storage system in accordance with the present principles
  • Figure 8 illustrates, in graphical form, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 9 illustrates, in graphical form, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 10 illustrates, in graphical form, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 11 illustrates, in graphical form, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 12 illustrates, in chart form, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 13 illustrates, in graphical form, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 14 illustrates, in graphical form, an aspect of DNA digital data storage system in accordance with the present principles
  • FIG. 15 illustrates, in block diagram form, an aspect of DNA digital data storage system in accordance with the present principles
  • FIG. 16 illustrates, in block diagram form, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 17 illustrates, in the form of a table, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 18A and 18B illustrate, in the form of a table, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 19 illustrates, in the form of a table, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 20 illustrates, in the form of a table, an aspect of DNA digital data storage system in accordance with the present principles
  • Figure 21 illustrates, in the form of a table, an aspect of DNA digital data storage system in accordance with the present principles.
  • Figure 22 illustrates, in the form of a table, an aspect of DNA digital data storage system in accordance with the present principles.
  • the present principles are generally directed to storage of digital information in deoxyribonucleic acid (DNA).
  • DNA deoxyribonucleic acid
  • Figure 1 depicts an embodiment of a system, method or apparatus providing a complete storage cycle for storing and retrieving data using DNA as the storage medium.
  • the system includes at least the following components: (1) Source data in bits; (2) Encoding mechanism including all error-correction codes and modulation from bits to nucleotides; (3) DNA synthesis of multiple DNA segments; (4) PCR-amplification of DNA pools; (5) DNA archival storage; (6) DNA sequencing; (7) Merging and assembling multiple DNA segments; (8) Demodulation and decoding of all codes for reliable recovery.
  • a system, apparatus and method in accordance with the present principles address a challenge of designing a coded DNA storage system involving ensuring the efficiency and compatibility of the different components which correct diverse errors.
  • An end-to-end system for DNA storage includes several components.
  • Source information e.g., a movie file
  • Source information is encoded, modulated, synthesized, and stored in multiple DNA oligonucleotide segments.
  • the DNA segments must be sequenced, demodulated, assembled, and decoded while also addressing errors that may occur.
  • Figure 1 depicts the complete digital data storage and recovery system.
  • the system involves a digital data management and processing portion 101 including encoding, decoding and error management of digital data and a DNA storage and recovery portion 102 including DNA synthesis, polymerase chain reaction (PCR) amplification, and DNA sequencing.
  • the system is comprised of the following components as shown in Fig.
  • source data 110 in bits in bits
  • encoding mechanism 120 including all error- correction codes and modulation from bits to nucleotides
  • DNA synthesis 130 of multiple DNA segments PCR-amplification 140 of DNA pools
  • DNA archival storage 150 DNA sequencing 160; merging and assembling multiple DNA segments 170; demodulation and decoding 180 of all codes for reliable recovery.
  • One challenge of designing a coded DNA storage system is to ensure the efficiency and compatibility of the different components which correct diverse errors.
  • DNA storage In DNA storage, several types of errors occur including: (1) Insertion, deletion, substitution errors within oligonucleotide segments; (2) Missing DNA segments; (3) Synchronization errors across multiple segments with the same address; (4) Low coverage and amplification yields for certain DNA segments; (5) Structural error patterns introduced by synthesis arrays and sequencing machines.
  • DNA storage channels By modeling the errors of DNA processing technologies, it is possible to define "DNA storage channels", many of which have only approximately known information-theoretic capacities by contrast to standardized, precisely-mapped wireless communication channels. For example, the capacity of the deletion channel is only known to within upper and lower bounds for independent and identically distributed deletion.
  • errors such as deletions must be addressed to provide a reliable data storage system, especially when utilizing low-cost, next-generation DNA processes that may be lossy or noisy.
  • a DNA process that is lossy or noisy as referenced herein is intended to encompass various DNA synthesis and/or sequencing processes that may be error prone, e.g., produce errors such as deletions, insertions and substitutions as described herein. Such errors may occur as a result of using low cost DNA processing as part of a DNA data storage system.
  • a low cost system may include at least one of a lossy or noisy DNA synthesis process and a lossy or noisy DNA sequencing process.
  • a lossy or noisy DNA synthesis process may include a low-cost enzymatic synthesis process.
  • Such processes use low cost chemicals and, therefore, may advantageously reduce the cost of a DNA data storage system.
  • such low cost synthesis may introduce diverse errors at a relatively high rate.
  • nucleotide deletions may occur at error rates on the order of 25% per nucleotide.
  • high-fidelity DNA synthesis machines utilizing chemical synthesis methods may provide a combined error rate one or two orders of magnitude less, e.g., under 1%, but at a much higher cost.
  • Errors may also be introduced during sequencing of DNA oligonucleotides when reading or recovering data, e.g., by using a sequencing process such as nanopore sequencing that may tend to be lossy or noisy.
  • oligonucleotide segments are equipped with an address code which is a unique identifier.
  • Digital payload information is stored across multiple segments, protected by modern codes organized in both the "horizontal" dimension (per oligonucleotide), and the "vertical" dimension (across multiple oligonucleotides). While accuracy in retrieval is an important consideration, so also is efficiency of such codes to reduce overhead costs in DNA synthesis and sequencing.
  • a fundamental constraint of storing information in DNA molecules is the limited length of oligonucleotide segments.
  • Current DNA synthesis machines synthesize short segments nucleotide by nucleotide. Each oligonucleotide may be of variable length, depending on the number of synthesis errors incurred.
  • a DNA synthesizer produces M oligonucleotide segments of variable lengths.
  • the fixed-length input x m and variable-length output w m of a synthesis machine are denoted as follows for the m th oligonucleotide where
  • Figure 2 illustrates a Markov chain mathematical model which includes various types of errors. Insertion, deletion, substitution, and burst errors have associated probabilities denoted by respectively.
  • the proof is available in Appendix I, and may be adapted to several variations of the Markov chain model.
  • the matrix E of efficiencies may be asymmetric.
  • a constraint graph may be constructed based on nucleotide efficiencies; i.e., only transitions which have a higher probability of success for biological synthesis are included as valid transitions.
  • a constraint graph is a directed graph.
  • An irreducible constraint graph contains a path between any ordered pair of nodes.
  • Example 3 (Constraint Graph): Figure 4 depicts a constraint graph which outlines valid and invalid transitions between nucleotides.
  • the adjacency matrix of the constraint graph is
  • edge transitions (A, A), (T, T), (C, C), (G, G) are not included in the graph.
  • edge transitions (A, G), (T, G), (G, T), (C, T) are invalid transitions.
  • nucleotides Beyond constraints on transitions between nucleotides, constraints on longer sequences of nucleotides are often necessitated to ensure proper PCR-amplification and DNA sequencing. For example, the exclusion of reverse complementary subsequences might be required, and/or the avoidance of specific nucleotide patterns reserved for primers. To encourage the correct binding of primers, a balanced distribution of nucleotides might also be enforced.
  • a modulation code maps sequences of bits to valid sequences of nucleotides.
  • a demodulation function maps sequences of nucleotides to sequences of bits. The demodulation function may correct nucleotide errors partially if they occur, and/or defer error-correction to other decoding units. However, in either case, the demodulation function should not drastically affect the synchronization of the sequences.
  • the modulation function ⁇ £ maps a sequence of k mod bits to a sequence of n mod nucleotides. If nucleotide insertions and deletions occur, the demodulation function may accept a sequence of nucleotides of length.
  • demodulation function produces a sequence of bits of length k m ' od where it may be the case that if error correction is deferred.
  • the modulation map ⁇ £ writes an A on every odd occurrence of 0, a T on every even occurrence of 0, a C on every odd occurrence of 1, and a G on every even occurrence of 1.
  • ⁇ £ (00111010) ATCGCACA.
  • Nucleotide transitions (A, G), (G, T), (C, T), (T, G) are not permitted in the modulation, as indicated by the constraint graph of Figure 4.
  • the demodulation function ⁇ t> D maps both A and T to a 0, and both C and G to a 1.
  • the mapping functions are optimal- each nucleotide may transition to two other nucleotides which is the maximum allowed by the constraint graph. It is observed that Furthermore, a
  • nucleotide insertion, deletion, or substitution error after modulation results in only a single bit of error in the demodulated binary sequence.
  • variable-length segments are stored compactly in an ultra-dense DNA solution.
  • Figure 5 illustrates a macro-level view of DNA storage.
  • the input to the system is
  • each short oligonucleotide is re-assembled from reads.
  • the modeling of nucleotide errors such as insertions, deletions, substitutions was already included mathematically for DNA synthesis, and is therefore not covered again at this stage.
  • a new type of error occurs during sequencing.
  • each oligonucleotide is absent from the read output due to low coverage in its DNA solution. The low coverage may be the result of a lack of PCR-amplification for a particular oligonucleotide.
  • the mathematical model for sequencing each oligonucleotide is,
  • variable-length segments After sequencing, the final output of the storage system is variable-length segments
  • the merging of segment copies may be done easily if each segment contains a protected address as a unique identifier.
  • the merging is combined with a consensus approach based on edit distances.
  • the edit distance between two strings is the minimum number of symbol insertions, deletions, or substitutions needed to transform one of the strings to the other string.
  • the edit distance for variable-length segments is computed efficiently via dynamic programming which is essentially optimal in terms of its quadratic complexity in the length of the segments.
  • the DNA molecular channel contains several sources of error.
  • the inputs are M oligonucleotide segments each of fixed size K nucleotides.
  • the capacity for the storage channel is at most 2MK bits, if each nucleotide represents 2 bits. This upper bound assumes no constraints for modulation, and no sources of error. When incorporating individual types of error in the system, the upper bound of 2MK bits may be tightened.
  • C ST (M, K) be the storage capacity of the DNA molecular-level storage system described herein.
  • the storage system contains M input oligonucleotides each of length K nucleotides.
  • the capacity of the DNA storage system is upper-bounded as follows.
  • the adjacency matrix A e corresponds to an irreducible constraint graph specifying valid nucleotide sequences.
  • the alphabet ⁇ ⁇ A, T, C, G ⁇ .
  • the upper bound due to the permutation channel in Eqn. (5) is important to show that both the number of oligonucleotide segments M and the length of each oligonucleotide K must grow in order to increase storage capacity adequately.
  • the upper bound is computed as follows for a few pairs (M, K) .
  • Oligonucleotide segments must not be too short, despite biological constraints due to low- cost DNA synthesis.
  • the length K must grow at least as log 2 M which is the number of bits to uniquely address each segment. As expected, the capacity is upper bounded by a rate of growth linear in K.
  • the upper bound relaxations provided in Theorem 2 are not achievable in most cases.
  • the capacity of the deletion channel is not known exactly. Therefore, the upper bound in Eqn. (6) is not attainable.
  • Figure 6 illustrates a pipeline for error-correction and processing comprised of the following components: (1) Modulation and demodulation between bits and nucleotides; (2) Encoding and decoding for synchronizing sequences of bits; (3) Error-correction across each oligonucleotide; (4) Error-correction across multiple oligonucleotides.
  • the information stream is in bits.
  • the modulation map converts the stream of bits to a stream of nucleotides obeying the constraint graph described above.
  • Example 4 defined a modulation map in which 1 bit mapped to 1 nucleotide.
  • the input to the synchronization encoding block in Figure 6 is a stream of bits for each oligonucleotide.
  • a stream of input bits may be grouped into symbols.
  • 2 bits corresponds to 1 symbol.
  • a mechanism to achieve synchronization is to insert a marker symbol in the input stream. Markers delineate boundaries to detect insertions and deletions. For every k sync information symbols, (n sync — k sync ) marker symbols may be inserted, resulting in an overhead of Thus, an exemplary embodiment of a synchronization
  • the input symbol stream is modulated into nucleotides, transmitted over the DNA channel, and demodulated back into bits which are then grouped back into symbols.
  • a random output symbol stream denote a random output symbol stream as with a
  • a synchronization decoder A v may feed the raw probabilities to an outer code, or directly estimate
  • the decoder A D is able to efficiently compute posterior probabilities via dynamic programming.
  • Appendix III details the / ⁇ recursions involved based on the Markov chain model discussed above.
  • error-correction may be applied per oligonucleotide.
  • a deletion error causes a synchronization error, but even if the position of the deletion is known via synchronization, correction of the deleted symbol may be needed.
  • An example of a short block code is the Bose-Chaudhuri-Hocquenghem (BCH) code.
  • BCH Bose-Chaudhuri-Hocquenghem
  • Primitive BCH codes over the Galois field JF 2 are a standard class of BCH codes.
  • a positive integer m > 3 a t-error-correcting code has parameters
  • d min is the minimum distance of the linear code.
  • m 6
  • t 4.
  • BCH codes of longer lengths exist: BCH(127,78,7), BCH(127,71,9), BCH(127,64,10), BCH(127,57,11), BCH(127,50,13).
  • BCH codes are applicable for DNA storage due to their short block lengths and error-correcting abilities per oligonucleotide. For a t- error-correcting BCH code with storage overhead the code corrects a fraction of errors.
  • error-correction across multiple oligonucleotide segments provides protection against missing segments, and segments that have an individual decoding error.
  • a basic kind of error-correction code is a Reed-Solomon (RS) code.
  • An code has a minimum Hamming distance of n rs — k rs + 1.
  • the storage overhead ratio is The code is able to correct up to U errors with unknown locations and E errors with known locations, where 2U + E ⁇ n— k.
  • a Reed-Solomon code operates over a Galois field where m is a positive integer.
  • n rs 2 m — 1.
  • m 8
  • a fraction ⁇ of the oligonucleotide segments have low-coverage during PCR-amplification. Thus, these segments are missing for decoding and reconstruction. Furthermore, despite synchronization and error-correction within each oligonucleotide, a fraction of oligonucleotide segments may be corrupted beyond repair. For these dual purposes, an error-correction code across blocks of oligonucleotides is crucial.
  • An RS (n rs , k rs ) block is comprised of n rs oligonucleotide segments of which k rs segments hold information, and (n rs — k rs ) segments hold redundant parity information.
  • each oligonucleotide may be allocated address bits in addition to information bits.
  • the address indicates not only the RS -block for each oligonucleotide, but also the specific position of the segment within the RS-block. Only correctly decoded oligonucleotide segments labeled by addresses are included for RS-block decoding.
  • Each oligonucleotide is equipped with an address since the DNA channel is partially described by a permutation channel as described herein. Thus, an overhead is incurred for DNA storage of where k addr bits per oligonucleotide are reserved for
  • the end-to-end coding system aims to achieve zero error (perfect reliability) in order to extract data from DNA.
  • an amount of overhead is selected in order for the overall system to have a very low probability of error in reconstruction.
  • Each block of Figure 6 has an associated storage overhead.
  • the total storage overhead v incurred by the system is given by,
  • the overall storage ratio includes overhead for the addressing of each oligonucleotide error-correction across multiple oligonucleotide segments error- correction within each oligonucleotide synchronization within each oligonucleotide
  • the overhead ratio for modulation and demodulation includes a factor of
  • Example 5 (Synchronization Overhead vs. Reliability): To illustrate the effect of synchronization on decoding error within each oligonucleotide, the following experiment was simulated based on all code blocks of Figure 6, excluding error-correction across multiple oligonucleotides.
  • each oligonucleotide is able to store 50 bits comprised of both address and information bits. An extra fixed bit was added to the end of the stream to allow for an even length of 128 bits.
  • a varying amount of overhead was selected. After every k sync symbols in which each symbol is set equivalent to 2 bits, a marker symbol was inserted. For example, for a synchronization overhead of
  • lengths of the symbol streams were 128,95,85,79 symbols respectively.
  • Each symbol of k-mod— 2 bits was modulated onto mod — 1 nucleotide, i.e., unconstrained modulation with .
  • mod — 1 nucleotide i.e., unconstrained modulation with .
  • the oligonucleotide lengths were 128,95,85,79 nucleotides
  • Figure 7 shows experimental results for error-correction of oligonucleotide segments in the presence of a large fraction of deletions. An increasing fraction of synchronization markers increases the probability of correct decoding at the expense of extra redundancy.
  • the results of decoding individual oligonucleotides is plotted in Figure 7 for different probabilities of deletion p del in the DNA channel. Other types of error were excluded in the simulation.
  • Each data-point in the curves is the result of decoding 10 4 oligonucleotides.
  • the synchronization code with the highest overhead yields the best performance curve at the cost of synthesizing a longer oligonucleotide.
  • each oligonucleotide is able to hold 50 bits of combined address and payload data.
  • An extra fixed bit was added to each bit stream to allow for an even length of 128 bits.
  • the synchronization code was selected with so that the total number of symbols was
  • Each symbol was mapped to a nucleotide with unconstrained modulation yielding oligonucleotide segments of length 95 nucleotides.
  • Figure 8 shows experimental results for error-correction of oligonucleotide segments in the presence of a large fraction of insertions, deletions, and substitutions.
  • the plot shown in Figure 8 illustrates the decoding success probability under varying probabilities for across the DNA channel. A combined presence of diverse
  • deletions and insertions errors are costly to accommodate in terms of storage overhead.
  • the addressing overhead is costly if a large number of oligonucleotide segments is necessary.
  • the following parameters would enable a terabyte storage system for the DNA storage channel. Assuming unconstrained modulation in which a BCH (127,50) error-
  • each oligonucleotide is of length 95 nucleotides, and stores 8 bits ( 1 byte) of payload information.
  • the storage overhead is costly due primarily in terms of the address space overhead of
  • Each oligonucleotide is able to store 16 bits (2 bytes) of information which allows 2 34 addresses possible.
  • the parameters for both exemplary terabyte and gigabyte DNA storage systems were selected to achieve high reliability in the presence of diverse errors in the DNA storage channel.
  • the exact probability of perfect reconstruction may be estimated based on decoding curves for decoding individual oligonucleotide segments, as illustrated in Example 5 and Example 6. For example, for a rate one-half Reed-Solomon code per block of oligonucleotide segments, if more than one -half of the segments are not missing and decoded correctly, the code recovers the entire block with zero error.
  • an embodiment comprising coded multiple sequence alignment substantially reduces the overhead and/or corrects for hyper-lossy DNA channels.
  • Enzymatic synthesis of an oligonucleotide occurs incrementally with the addition of each nucleotide.
  • the probability of deletion p del as defined in the Markov chain model described above may be greater than 5%, i.e., p del ⁇ 0.05.
  • the biochemical process of synthesis produces thousands of parallel versions of the same oligonucleotide. Each parallel version provides biological diversity. The diverse versions may be corrupted by errors in different locations along the strand. In accordance with an aspect of the present principles, an embodiment harnesses this diversity as an aspect of error-correction. It will be assumed that the errors in multiple versions are statistically independent and identically distributed, although in practice the errors may be correlated.
  • Table 2 provides an example of multiple versions of a 16-nt oligonucleotide after enzymatic synthesis, PCR-amplification, and sequencing.
  • the sequencing is conducted by reading several thousand times.
  • Each parallel version accumulates a count of reads proportional to its prevalence relative to other versions synthesized.
  • the table lists the versions ranked in order of the highest number of reads. Versions corrupted by rare types of errors do not rank highly in terms of the number of reads. Thus, filtering and sorting versions according to the number of reads improves decoding. However, as shown in Table 2, the versions with the highest number of reads do not necessarily have the lowest number of deletions or errors.
  • Multiple sequence alignment may be applied across the top-ranked candidate versions.
  • Aligning protein and nucleotide sequences is a classic problem in bioinformatics. For aligning more than two sequences, the original problem is NP-hard in time complexity.
  • well-known techniques include the Needleman-Wunsch algorithm for global alignment, and the Smith- Waterman algorithm for local alignment. Both algorithms apply dynamic programming to compare sequences and produce optimal local or globalmatchings. Given two sequences of lengths / and P, each algorithm has a time complexity of 0 J X P) .
  • a straightforward generalization of the recursive algorithms to K > 2 sequences results in a prohibitive time complexity of 0(J a ) where / is the maximum length of all sequences.
  • synchronization codes described above may be extended to incorporate multiple versions of an oligonucleotide.
  • Each oligonucleotide is coded with synchronization symbols.
  • multiple versions are produced with different types of errors but each version has an identical synchronization pattern.
  • Example 7 Dynamic Programming— Two Versions To simulate improvements in decoding due to alignment with two versions, the parameters of the DNA storage system of Example 6 are replicated: ⁇ addition, only deletion
  • coded MSA with two parallel versions improves the probability of correct decoding of an oligonucleotide by an order of magnitude.
  • the diversity in two parallel versions improves synchronization.
  • an embodiment may comprise coded alignment of multiple sequences as described herein.
  • an embodiment may comprise consensus via product rule. For multiple short DNA sequences, decoding via dynamic programming is feasible and yields the optimal per-symbol decoding rule. However, in general, aligning ⁇ > 2 sequences of moderate lengths requires efficient consensus methods. Assume that ⁇ versions of an oligonucleotide are sequenced, where ⁇ is an even integer. Denote all paired versions as
  • Equation (10) In order to combine the probabilities across all pairs, assuming that each symbol transmitted is equally likely, one method is to apply the product rule over all pairs,
  • the product rule is well-known to those skilled in the art.
  • the assumption is that each version of an oligonucleotide is independently synthesized in parallel, similar to the case of combining classifier outputs based onindependent measurements.
  • Example 8 Coded MSA With 10 Versions
  • probability p del is varied. As shown in Figure 10, coded MSA with ten parallel versions improves the probability of correct decoding of an oligonucleotide by several orders of magnitude. The diversity in pairs of sequences is exploited via dynamic programming algorithms. The product rule of Equation 11 is applied for consensus over five pairs of sequences.
  • an embodiment may comprise consensus via majority v.oting
  • Theorem 3 shows that as long as the individual estimates based on each pair of versions are correct more than half the time, then a majority consensus over all pairs boosts the probability of correct decoding rapidly. Conversely, if the individual estimates are too noisy, then consensus via majority voting will not help improve decoding.
  • Theorem 4 is valid for any P de i, it is an asymptotic bound in the length of the binary string.
  • the constant C may be large depending on p ⁇ e an d the theorem does not provide a characterization for reconstruction from a fixed number of samples.
  • the number of diverse sequences per oligonucleotide might not equal a sub -exponential amount.
  • coded alignment allows for recovery from fewer total samples. It is also possible that existing algorithms for trace reconstruction could be modified to include synchronization markers and error-correction codes. The exact tradeoff of the amount of redundancy vs. accuracy in decoding is an open question.
  • Figure 12 diagrams a DNA storage experiment with four oligonucleotide templates denoted by H2, H3, H4, H5.
  • Each oligonucleotide stores 16 bits comprising 14 bits of data and 2 bits of address. The 16 bits are modulated onto 16 nucleotides.
  • all nucleotide sequences include a synchronization pattern C, T, A, C. Aside from addressing, synchronization, and simple modulation, there is no extra redundancy added for error- correction. The total overhead redundancy is or slightly more than twice the
  • the dotted-dashed line of each bar plot indicates a mixture distribution 0.2Q x (x) + 0.8P x (x) where Q x (x) is a uniform distribution over short oligo lengths, and P x (x) is a binomial distribution in which only deletions are modeled for the particular Eureka experiment.
  • the distribution Qx(x) represents the possibility of early termination of synthesis which results in short oligo lengths, whereas the binomial distribution P x (x) is the expected distribution if expecting only deletion errors.
  • the H4 data is the most noisy.
  • the statistics of the read distribution reveal that the synthesis as well as the subsequent amplification and sequencing are hyper-lossy, and that the binomial models the tail of the data distribution.
  • the synthesis process is able to produce many longer lengths before the target length which is difficult to obtain.
  • the synthesized versions of each template H2-H5 contain deletions, but such versions may be utilized for decoding using diversity. If given enough synthesized versions of adequate lengths, the original template may be decoded with high probability.
  • nucleotides in length in length.
  • a few versions may be synthesized perfectly if enough reads are performed during sequencing.
  • synthesizing a perfect oligonucleotide has a very low probability of occurrence which becomes even less as K increases. As the input length K increases, it is more and more likely to read versions which have a few deletions, and to read versions which are diverse.
  • the diversity in the types of versions may be harnessed for decoding the original template correctly.
  • decoding the H4 template is analyzed. Based on the original data set of 107034 sequenced reads, multiple bootstrapped data sets are created depending on a target number of total sequenced reads. The versions which have high read counts also have a high probability of appearing in bootstrapped data sets. For a particular bootstrapped data sample for the H4 template, Table 3 lists the top 10 filtered versions. Dynamic programming is utilized to decode the top 5 versions and the bottom 5 versions separately, followed by a product rulefor consensus. Such an algorithm is successful for the particular example. In general, the probability of correctly decoding each of the H2-H5 templates for a different number of target reads is plotted in Figure 14. The overall decoding illustrates that a decreased number of total reads is necessary to decode the original templates since synchronization with diversity and consensus is able to compensate for hyper-lossy conditions.
  • Figure 12 illustrates a nucleotide template for the modulation used for the oligos of shown in Figure 12.
  • Figure 18A there are 16 blocks representing 16 nucleotides of oligos produced according to the scheme.
  • the four blocks labeled C, A, T, C are encoded as these types of nucleotides to provide a synchronization pattern as described herein.
  • the eight unshaded and unlabeled blocks correspond to nucleotides encoding trits rather than bits. That is, 12 bits are encoded into 8 nucleotides or approximately 1.5 bits per nucleotide, i.e., one trit per nucleotide.
  • the four shaded blocks, i.e., blocks 8, 11, 14 and 16, correspond to nucleotides that will encode one bit per nucleotide. Therefore, the 12 nucleotides other than the synchronization nucleotides encode a total of 16 bits., i.e., 12 bits encoded using trits into 8 nucleotides plus 4 bits encoded into 4 nucleotides.
  • each nucleotide could encode two bits because there are four possible types of nucleotides, i.e., A, T, C, G, which might appear to enable encoding 24 bits into 12 nucleotides, not all transitions are permitted as explained previously in regard to constraints associated with the modulation scheme of Figure 4. Similar constraints apply to the modulation scheme of Figure 12. For example, two adjacent nucleotides of the same type are not permitted.
  • Figure 18B shows the modulation mapping to produce the oligo H4 shown in Figure 12 and based on the overall approach explained above in regard to Figure 18A. Details of the mapping shown in Figure 18B may be better understood by referring to the tables shown in Figures 19, 20 and 21.
  • the table on the left side of Figure 19 shows a mapping of bits to trits used to encode 12 bits into the eight nucleotides encoding trits.
  • the table on the right side shows the inverse mapping, i.e., trits to bits, that may be used for decoding.
  • the table in Figure 20 shows the mapping of bits to nucleotides for the four nucleotides encoding bits.
  • Figure 20 defines the current nucleotide to write given the previous nucleotide (left most column in Figure 20), the next nucleotide (second column from the left), and the current value of the bit to be encoded, i.e., 0 or 1 (two columns on the right side of the table).
  • the table in Figure 20 takes into account the transitions forbidden by the constraints.
  • Figure 21 illustrates the encoding of trits to nucleotides. That is, using the mapping of bits to trits shown in Figure 19, the resulting trits are then encoded into nucleotides using the table of Figure 21.
  • the mapping associated with the table shown in Figure 21 takes into account the transitions forbidden by the constraints.
  • the nucleotide to be written depends on both the trit to be encoded and the previous nucleotide as shown in Figure 21.
  • Figure 22 shows another exemplary embodiment of modulation mapping using a striped synchronization pattern and 24 nucleotides total of which 7 nucleotides form a synchronization pattern (e.g., C, T, A, C, T, A, C in Figure 22), 13 nucleotides encode bits, and 4 nucleotides encode trits (6 bits).
  • Figure 15 illustrates a high-level block diagram of another embodiment of the overall encoding and decoding process, apparatus or system for storage of data in DNA and retrieval of that data.
  • the system illustrated in Figure 15 includes certain functions that are similar to those illustrated in Figure 1. That is, certain blocks of Figure 15 correspond to blocks of Figure 1. Exceptions are explained below. Those that correspond have like reference designators.
  • Figure 15 depicts a complete digital data storage and recovery system.
  • a digital data management and processing portion 101 indicated in phantom includes encoding, decoding and error management of digital data
  • a DNA storage and recovery portion 102 also indicated in phantom includes DNA synthesis, polymerase chain reaction (PCR) amplification, and DNA sequencing.
  • the system of Figure 15 is comprised of the following components.
  • Block 110 indicates digital data or information existing in digital data bits both for input data to be stored and output data recovered from storage.
  • Encoding mechanism 120 encodes the input information in bits including all error-correction codes and modulation from bits provided by block 110 to oligonucleotides referred to as oligos in Figure 15.
  • a DNA synthesis function 130 synthesizes or writes the oligos encoded at 120 to multiple DNA segments.
  • DNA synthesis 130 is followed by PCR amplification of the DNA segments 140 and storage of the amplified DNA segments 150.
  • Recovery or retrieval of the data in the embodiment of Figure 1 begins by DNA sequencing of the amplified DNA strands at 160.
  • the embodiment of Figure 15 differs from that of Figure 1 in that synthesis of the DNA strands 130, i.e., writing the encoded oligo information to DNA molecules, is followed by storage of the synthesized strands at 1550. Then, recovery of data from the DNA stored at 1550 begins by selecting the DNA to be recovered and PCR amplification of the selected DNA at 1540. Storage immediately following synthesis and PCR amplification of only DNA selected from storage as in Figure 15 is referred to as random-access amplification.
  • DNA sequencing occurs in Figure 15 at 160 as in Figure 1 and is followed by clustering and filtering of the DNA reads at 170 to produce recovered oligos (corresponds to merging at 170 in Figure 1).
  • the recovered oligos produced at 170 are decoded at 180 in Figure 15 (and in Figure 1) to produce recovered data bits or payload information at 110 in both Figure 15 and Figure 1.
  • Figure 16 shows a block diagram of another embodiment of an overall encoding and decoding process, apparatus or system in accordance with the present principles and provides additional information regarding each step of the process or component of the system.
  • Input data also referred to herein as information or payload
  • Input data 1605 is first processed in an encoder 1601 that encodes the input digital bits to oligos. Encoding 1601 begins at 1610 with addition of address bits to the digital data words or rows.
  • the address bits enable identification of the sequence of words when decoded.
  • the result of adding address bits is shown at 1612 where two address bits are prepended to each digital input or payload row or word. Although shown Figure 16 as prepended to the digital words, it will be apparent to one skilled in the art that the added bits may be added at other locations in the digital words.
  • an additional row or word is added to provide block error correction capability, e.g., Reed-Solomon or Fountain, as illustrated at 1617. Adding a row enables recovery of a missing row if two of three rows are recovered.
  • the data from 1615 is processed at 1620 to add bits to each row to implement error correction within one word or row, e.g., BCH or LDPC error correction.
  • the added bits in each row are illustrated at 1622 as three bits appended to each row. Although shown in Figure 16 as appended to the digital words, it will be apparent to one skilled in the art that the added bits may be added at other locations in the digital words.
  • the rows of bits ouput from 1620 are mapped to nucleotides at 1625 according to a modulation map such as that described above in Figure 4 or that shown in Figure 12. In addition to modulation, processing at 1625 adds nucleotides beyond those produced by the modulation to provide for synchronization as described herein.
  • each row provides an oligo code to be input to an enzymatic DNA synthesis process for synthesis or writing of a DNA strand for the oligo code.
  • the rows shown at 1627 illustrate the synchronization feature added at 1625.
  • each row or oligo code includes C, A and T nucleotides at the fifth, eighth, and eleventh positions. This pattern of CAT nucleotides at specific positions in each row enables implementation of synchronizing or alignment as described herein of the oligos that are recovered or retrieved from the pool of stored DNA strands. Other synchronization patterns may be used as described herein.
  • decoding occurs in decoder 1602.
  • DNA oligos to be decoded are illustrated at 1652.
  • the oligos available for decoding at 1652 are produced by selecting and retrieving DNA strands from the DNA pool or solution, PCR amplifying the selected DNA (e.g., random access amplification as described in regard to 1540 of Figure 15), and sequencing the amplified DNA.
  • the result from sequencing that is illustrated at 1652 indicates that a plurality of versions of the first oligo and of the third oligo (e.g., ten of each as indicated by "10X" at 1652) have been selected from the amplified material.
  • the second oligo was not available or is missing, e.g., as a result of the lossy characteristics of the low-cost enzymatic DNA synthesis process.
  • the available oligos are processed at 1660 applying coded alignment, consensus and diversity techniques as described herein to the plurality of versions of each of the first and third oligos.
  • the processing produces one version of each of the first and third oligos at 1662 that statistically are the closest match to the correct oligos. However, typically errors remain within each oligo.
  • the third, ninth and twelfth (final) nucleotides may be erroneous.
  • the second oligo continues to be missing, i.e., there is no information regarding the second oligo at 1662.
  • Demodulation occurs at 1665 using the synchronization information provided during encoding and by applying the inverse of the modulation mapping used during encoding at 1625. That is, 1665 maps the nucleotides of the oligos at 1662 to data bits creating data words or rows as illustrated at 1667. Due to the errors remaining in the rows or oligos available at 1662, corresponding errors exist in the words or rows of data bits produced by demodulation.
  • the data bits of the binary words produced during demodulation corresponding to the erroneous nucleotides will also be erroneous.
  • These errors within the binary rows or words at 1667 are corrected at 1670 by applying the oligo error correction feature implemented during encoding at 1620, e.g., BCH/LDPC codes.
  • the error corrected binary rows produced by 1670 are illustrated at 1672. That is, the first and third rows at 1672 are correct or bit accurate. However, the second row remains missing at 1672.
  • the missing second row at 1672 is recovered at 1675 by using the block error correction information of the third row added during encoding at 1615, e.g., RS/Fountain coding.
  • the result of 1675 is two bit accurate rows of digital information or data illustrated at 1677.
  • Each row of binary data at 1677 includes the addressing information added to the payload data during encoding at 1610.
  • the payload data is extracted at 1680 to produce the two output binary words at 1682 that are bit accurate reproductions of the original input data at 1605.
  • Figure 17 shows charts illustrating the multiple diverse versions of an oligo that may be produced by a lossy DNA synthesis procedure such as enzymatic synthesis.
  • the top of Figure 17 illustrates a correct intended version of an oligonucleotide designated "H4" that might be produced by encoder 1601 of Figure 16 as described above.
  • Nucleotides inserted into H4 as synchronization markers during modulation are illustrated in the upper chart of Figure 17 by the highlighted sixth, ninth, twelfth and fifteenth nucleotides in H4.
  • the chart in the lower portion of Figure 17 illustrates ten versions of oligo H4 that may be available in the DNA pool or solution following enzymatic synthesis and PCR amplification as described herein (e.g., following 130, 1550 and 1540 in Figure 15).
  • the ten versions illustrated in Figure 17 corrrespond to the ten versions listed in Table III above.
  • the versions further illustrate various errors that may be produced by the lossy enzymatic synthesis process, e.g., nucleotide deletions and/or replacements and/or insertions. That is, one or more versions may be shorter or longer than H4 due to deletions or insertions; one or more versions may have incorrect nucleotides in certain positions due to replacments.
  • a diverse group of erroneous oligo versions as illustrated in Figure 17 may be processed in accordance with the present principles using coded multiple sequence alignment and consensus techniques as described herein, e.g., the description above regarding Table III, to recover a sufficiently accurate version of H4 that may be used to recover the original payload data.
  • an embodiment comprises a method for correcting hyper-lossy DNA storage systems as described herein.
  • An aspect of the method comprises harnessing the diversity of enzymatic synthesis to assemble each oligonucleotide.
  • the exemplary DNA storage method is robust to the various types of errors introduced by low-cost biological processes.
  • an embodiment comprises: (1) coded multiple sequence alignment; (2) harnessing diversity in sequences; (3) harnessing consensus and combining classifiers; (4) harnessing error- correction codes; (5) synchronization codes; (6) specialized modulation from bits to nucleotides; (7) dynamic programming methods for efficient synchronization.
  • an embodiment decreases the number of reads necessary for reliable decoding, and allows for enzymatic synthesis to write longer oligonucleotide segments.
  • the present principles enable use of low-cost, lossy or error-prone DNA systems for reliable data storage enabling use of such systems for various data storage applications in any system processing and storing data to improve the operation and data storage capabilities of such systems.
  • coded alignment as described herein provides one way of coding to at least partially address use of a losy or error-prone DNA system, e.g., low cost, enzymatic synthesis and/or nanopore sequencing.
  • replication or redundancy of nucleotides may be used to address high error rates that persist.
  • Duplication can be detected in stored oligos similar to the detection of synchronization markers described herein.
  • Duplication may be combined with consensus techniques as described herein to mitigate lossy or error-prone processing, e.g., synthesis such as low-cost enzymatic synthesis and/or sequencing such as nanopore sequencing.
  • random variable T the number of nucleotides written starting from state s k and ending at state s k+1 in the Markov chain.
  • random variable U the number of nucleotides written starting from either the WRITE state or the WRITE ERROR state and ending at the state s k+1 .
  • the random variable U has a geometric distribution:
  • the moments of T may be generated from the function G T ( ⁇ ). For example, the mean and variance of the number of nucleotides written starting at state s k and ending at state s k+1 are
  • permutations destroy ordering of oligonucleotide segments.
  • the total capacity in bits of the permutation channel follows directly, and is as claimed in Eqn. (5).
  • the conditional distribution of the quaternary channel is as follows. If a nucleotide is transmitted, then with probability 1— p sub , the correct nucleotide is received.
  • the Markov chain as explained above may be approximated by "unwrapping" it.
  • the assumed modulation is unconstrained with 2 bits mapping to 1 nucleotide.
  • a symbol is assumed to be 2 bits. Insertions, deletions, or substitutions of nucleotides correspond to insertions, deletions, or substitutions of symbols.
  • the / ⁇ probabilities may be computed recursively. Denote by the probability of a uniformly random symbol. In the case of symbols of 2 bits, Furthermore, define the following function involving the
  • Equation (14) the forward probabilities defined in Equation (14) may be determined recursively as follows,
  • the posterior probabilities may be computed based on the ⁇ / ⁇ recursions.
  • a simple estimator is able to decode each input 7 ⁇ by selecting the symbol with the highest posterior probability.
  • an outer code could utilize the full sequence of raw posterior probabilities to jointly decode the input symbols.
  • the probability represents a deletion event in the S sequence and a deletion event in the V sequence.
  • the ⁇ 2 probability represents a deletion event in the S sequence and a transmission event in the V sequence.
  • the ⁇ 3 probability represents a transmission event in the S sequence and a deletion event in the V sequence.
  • the ⁇ probability represents transmission events in both sequences.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Genetics & Genomics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)

Abstract

L'invention concerne un système de mémorisation d'informations numériques dans de l'ADN à l'aide d'un processus d'ADN avec perte faisant appel à un codage (1601) d'informations de synchronisation et d'adressage avec les informations numériques (1605) en oligonucléotides d'ADN (1627) et à un décodage (1602) des informations numériques à partir de multiples segments d'oligonucléotides à l'aide d'un alignement codé sur la base des informations de synchronisation.
PCT/US2018/017193 2017-02-13 2018-02-07 Appareil, méthode et système de mémorisation d'informations numériques dans de l'acide désoxyribonucléique (adn) WO2018148260A1 (fr)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762458093P 2017-02-13 2017-02-13
US62/458,093 2017-02-13
US201762565138P 2017-09-29 2017-09-29
US201762565142P 2017-09-29 2017-09-29
US62/565,142 2017-09-29
US62/565,138 2017-09-29

Publications (1)

Publication Number Publication Date
WO2018148260A1 true WO2018148260A1 (fr) 2018-08-16

Family

ID=61244788

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US2018/017193 WO2018148260A1 (fr) 2017-02-13 2018-02-07 Appareil, méthode et système de mémorisation d'informations numériques dans de l'acide désoxyribonucléique (adn)
PCT/US2018/017188 WO2018148257A1 (fr) 2017-02-13 2018-02-07 Appareil, procédé et système de stockage d'informations numériques dans de l'acide désoxyribonucléique (adn)

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US2018/017188 WO2018148257A1 (fr) 2017-02-13 2018-02-07 Appareil, procédé et système de stockage d'informations numériques dans de l'acide désoxyribonucléique (adn)

Country Status (1)

Country Link
WO (2) WO2018148260A1 (fr)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10650312B2 (en) 2016-11-16 2020-05-12 Catalog Technologies, Inc. Nucleic acid-based data storage
WO2020239806A1 (fr) * 2019-05-27 2020-12-03 Vib Vzw Procédé de stockage d'informations numériques dans des groupes de molécules d'acide nucléique
WO2021045830A1 (fr) 2019-09-06 2021-03-11 Microsoft Technology Licensing, Llc Synthèse d'oligonucléotides enzymatique à base de réseau
WO2021045816A1 (fr) * 2019-09-05 2021-03-11 Microsoft Technology Licensing, Llc Concaténation inverse de codes de correction d'erreur dans un stockage de données d'adn
US10956806B2 (en) 2019-06-10 2021-03-23 International Business Machines Corporation Efficient assembly of oligonucleotides for nucleic acid based data storage
US11227219B2 (en) 2018-05-16 2022-01-18 Catalog Technologies, Inc. Compositions and methods for nucleic acid-based data storage
US11286479B2 (en) 2018-03-16 2022-03-29 Catalog Technologies, Inc. Chemical methods for nucleic acid-based data storage
US11306353B2 (en) 2020-05-11 2022-04-19 Catalog Technologies, Inc. Programs and functions in DNA-based data storage
EP3904527A4 (fr) * 2018-12-26 2022-08-10 BGI Shenzhen Procédé et dispositif d'édition à point fixe d'une séquence nucléotidique stockée avec des données
US11535842B2 (en) 2019-10-11 2022-12-27 Catalog Technologies, Inc. Nucleic acid security and authentication
KR20230022510A (ko) * 2021-08-09 2023-02-16 서울대학교산학협력단 저밀도 패리티 체크 부호를 이용한 dna 데이터 부호화 및 복호화 방법, 프로그램 및 장치
US11610651B2 (en) 2019-05-09 2023-03-21 Catalog Technologies, Inc. Data structures and operations for searching, computing, and indexing in DNA-based data storage
US11763169B2 (en) 2016-11-16 2023-09-19 Catalog Technologies, Inc. Systems for nucleic acid-based data storage

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11781169B2 (en) 2018-10-05 2023-10-10 Microsoft Technology Licensing, Llc Enzymatic DNA repair
CN111680797B (zh) * 2020-05-08 2023-06-06 中国科学院计算技术研究所 一种dna活字印刷机、基于dna的数据存储设备和方法
CN112079893B (zh) * 2020-09-23 2022-05-03 南京原码科技合伙企业(有限合伙) 一种基于固相化学合成法合成dna存储所需文本的方法
CN116226049B (zh) * 2022-12-19 2023-11-10 武汉大学 基于大小喷泉码利用dna进行信息存储的方法、系统及设备

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BLAWAT MEINOLF ET AL: "Forward Error Correction for DNA Data Storage", PROCEDIA COMPUTER SCIENCE, ELSEVIER, AMSTERDAM, NL, vol. 80, 1 June 2016 (2016-06-01), pages 1011 - 1022, XP029565777, ISSN: 1877-0509, DOI: 10.1016/J.PROCS.2016.05.398 *
ERIC L ANSON ET AL: "ReAligner", PROCEEDINGS OF THE FIRST ANNUAL INTERNATIONAL CONFERENCE ON COMPUTATIONAL MOLECULAR BIOLOGY, SANTA FE, NEW YORK, ACM, US, 19 January 1997 (1997-01-19), pages 9 - 16, XP058359793, ISBN: 978-0-89791-882-4, DOI: 10.1145/267521.267524 *
GOELA NAVEEN ET AL: "Advances in DNA storage", PROC. 2017 INFORMATION THEORY AND APPLICATIONS WORKSHOP (ITA), IEEE, 12 February 2017 (2017-02-12), pages 1, XP033146241, DOI: 10.1109/ITA.2017.8023453 *
GOELA NAVEEN ET AL: "Encoding movies and data in DNA storage", PROC. 2016 INFORMATION THEORY AND APPLICATIONS WORKSHOP (ITA), IEEE, 31 January 2016 (2016-01-31), pages 1, XP033082410, DOI: 10.1109/ITA.2016.7888163 *
MEINOLF BLAWAT ET AL: "Storing Movies in DNA", FOCUS ON FUTURE DISRUPTIVE TECHNOLOGIES - INNOVATION IN MOTION SUMMER 2015, 1 January 2015 (2015-01-01), pages 38 - 42, XP055462207, Retrieved from the Internet <URL:https://www.afcinema.com/IMG/pdf/technicolor_storing_movies_in_dna.pdf> [retrieved on 20180323] *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10650312B2 (en) 2016-11-16 2020-05-12 Catalog Technologies, Inc. Nucleic acid-based data storage
US12001962B2 (en) 2016-11-16 2024-06-04 Catalog Technologies, Inc. Systems for nucleic acid-based data storage
US11379729B2 (en) 2016-11-16 2022-07-05 Catalog Technologies, Inc. Nucleic acid-based data storage
US11763169B2 (en) 2016-11-16 2023-09-19 Catalog Technologies, Inc. Systems for nucleic acid-based data storage
US12006497B2 (en) 2018-03-16 2024-06-11 Catalog Technologies, Inc. Chemical methods for nucleic acid-based data storage
US11286479B2 (en) 2018-03-16 2022-03-29 Catalog Technologies, Inc. Chemical methods for nucleic acid-based data storage
US11227219B2 (en) 2018-05-16 2022-01-18 Catalog Technologies, Inc. Compositions and methods for nucleic acid-based data storage
EP3904527A4 (fr) * 2018-12-26 2022-08-10 BGI Shenzhen Procédé et dispositif d'édition à point fixe d'une séquence nucléotidique stockée avec des données
US11610651B2 (en) 2019-05-09 2023-03-21 Catalog Technologies, Inc. Data structures and operations for searching, computing, and indexing in DNA-based data storage
US12002547B2 (en) 2019-05-09 2024-06-04 Catalog Technologies, Inc. Data structures and operations for searching, computing, and indexing in DNA-based data storage
WO2020239806A1 (fr) * 2019-05-27 2020-12-03 Vib Vzw Procédé de stockage d'informations numériques dans des groupes de molécules d'acide nucléique
US10956806B2 (en) 2019-06-10 2021-03-23 International Business Machines Corporation Efficient assembly of oligonucleotides for nucleic acid based data storage
WO2021045816A1 (fr) * 2019-09-05 2021-03-11 Microsoft Technology Licensing, Llc Concaténation inverse de codes de correction d'erreur dans un stockage de données d'adn
WO2021045830A1 (fr) 2019-09-06 2021-03-11 Microsoft Technology Licensing, Llc Synthèse d'oligonucléotides enzymatique à base de réseau
US11535842B2 (en) 2019-10-11 2022-12-27 Catalog Technologies, Inc. Nucleic acid security and authentication
US11306353B2 (en) 2020-05-11 2022-04-19 Catalog Technologies, Inc. Programs and functions in DNA-based data storage
WO2023018157A1 (fr) * 2021-08-09 2023-02-16 서울대학교 산학협력단 Procédé de codage et de décodage de données d'adn utilisant un code de contrôle de parité à faible densité, programme et dispositif
KR20230022510A (ko) * 2021-08-09 2023-02-16 서울대학교산학협력단 저밀도 패리티 체크 부호를 이용한 dna 데이터 부호화 및 복호화 방법, 프로그램 및 장치
KR102574250B1 (ko) 2021-08-09 2023-09-06 서울대학교산학협력단 저밀도 패리티 체크 부호를 이용한 dna 데이터 부호화 및 복호화 방법, 프로그램 및 장치

Also Published As

Publication number Publication date
WO2018148257A1 (fr) 2018-08-16

Similar Documents

Publication Publication Date Title
WO2018148260A1 (fr) Appareil, méthode et système de mémorisation d&#39;informations numériques dans de l&#39;acide désoxyribonucléique (adn)
Chandak et al. Improved read/write cost tradeoff in DNA-based data storage using LDPC codes
Heckel et al. Fundamental limits of DNA storage systems
Chandak et al. Overcoming high nanopore basecaller error rates for DNA storage via basecaller-decoder integration and convolutional codes
Shomorony et al. DNA-based storage: Models and fundamental limits
US20200211677A1 (en) Dna-based data storage and retrieval
Shomorony et al. Capacity results for the noisy shuffling channel
Abdel-Ghaffar et al. On Helberg's generalization of the Levenshtein code for multiple deletion/insertion error correction
Shomorony et al. Information-theoretic foundations of DNA data storage
WO2015144858A1 (fr) Procédés de stockage et de lecture de données numériques sur un ensemble de brins d&#39;adn
Song et al. Sequence-subset distance and coding for error control in DNA-based data storage
Shomorony et al. Torn-paper coding
Schoeny et al. Novel combinatorial coding results for DNA sequencing and data storage
Marcovich et al. Reconstruction of strings from their substrings spectrum
Wang et al. Oligo design with single primer binding site for high capacity DNA-based data storage
Heinis et al. Survey of information encoding techniques for dna
CN113345521A (zh) 一种采用大片段dna存储的编码与恢复方法
Zhang et al. A high storage density strategy for digital information based on synthetic DNA
Yan et al. A segmented-edit error-correcting code with re-synchronization function for DNA-based storage systems
Yehezkeally et al. On codes for the noisy substring channel
Tang et al. Error-correcting codes for short tandem duplication and edit errors
Tang et al. Error-correcting codes for short tandem duplications and at most $ p $ substitutions
Wu et al. HD-code: End-to-end high density code for DNA storage
Kracht et al. Using the Davey-MacKay code construction for barcodes in DNA sequencing
Tang et al. Low-redundancy codes for correcting multiple short-duplication and edit errors

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: 18706118

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18706118

Country of ref document: EP

Kind code of ref document: A1