High-capacity storage of digital information in DNA
A method for storage of an item of information ( 210 ) is disclosed. The method comprises encoding bytes ( 720 ) in the item of information ( 210 ), and representing using a schema the encoded bytes by a DNA nucleotide to produce a DNA sequence ( 230 ). The DNA sequence ( 230 ) is broken into a plurality of overlapping DNA segments ( 240 ) and indexing information ( 250 ) added to the plurality of DNA segments. Finally, the plurality of DNA segments ( 240 ) is synthesized ( 790 ) and stored ( 795 ).
1. A method of storing an item of information in a plurality of DNA segments, the method comprising:
encoding bytes in an item of information stored in a first computer file as a DNA sequence data using a representation schema to represent the encoded bytes as at least one DNA nucleotide datum in the DNA sequence data;
splitting the DNA sequence data into a plurality of overlapping DNA segments data, wherein the plurality of overlapping DNA segments data build in a redundancy of storage of the items of information;
adding indexing information to the plurality of DNA segments data, the indexing information indicating a position in the DNA sequence data of any one nucleotide datum in any one of the plurality of DNA segments data;
synthesizing, by providing the plurality of DNA segments data as input to a computer-controlled DNA synthesis platform, a plurality of DNA segments.
2. The method of claim 1 , further including the addition of adapters data to the DNA segments data.
3. The method of claim 1 using a base-3 scheme for encoding the bytes.
4. The method of claim 1 , wherein the representation schema used is designed such that adjacent ones of the DNA nucleotide data are different.
5. The method of claim 1 , further comprising adding a parity-check to the indexing information.
6. The method of claim 1 , wherein alternate ones of the DNA segments data are reverse complemented.
7. The method of claim 1 , wherein the representation schema used is designed to avoid long, self-reverse complementary DNA segments data.
8. The method of claim 1 , further comprising:
storing the synthesized DNA segments in one or more DNA archives.
9. A plurality of DNA segments that store an item of information, wherein the plurality of DNA segments data are produced by a method comprising:
encoding bytes in an item of information, stored in a first computer file, as a DNA sequence data using a representation schema to represent the encoded bytes as at least one DNA nucleotide datum in the DNA sequence data;
splitting the DNA sequence data into a plurality of overlapping DNA segments data, wherein the plurality of overlapping DNA segments data build in a redundancy of storage of the items of information;
augmenting indexing information to the plurality of DNA segments data, the indexing information indicating a position in the DNA sequence data of any one nucleotide datum in any one of the plurality of DNA segments data; and
synthesizing, by providing the plurality of DNA segments data as input to a computer-controlled DNA synthesis platform, a plurality of DNA segments.