# DNA as a data storage medium: how many GB can a human genome store?

DNA molecules may be the digital storage medium of the future. I was looking at how much data you could fit if you would synthesize a DNA molecule the size of a human genome.

So DNA base molecules are represented by A, C, T, G and they are always found in pairs (so A connected to T and C connected to G). One such pair is called a basepair. The human genome contains ~3 billion of those basepairs (i.e. 6 billion bases). Now you mostly read about assigning two bits to every base, so A = 00, C = 01, G=10, T = 11. Then you could say a basepair stores 4 bits e.g. AT = 0011. BUT there are only 4 possible basepairs: AT and CG and the reverse, so TA and GC. This AT,TA,GC,CG system could then again be represented by only 2 bits for every pair.

Assuming the latter, a human genome contains 2 bits/basepair*3 billion basepairs = 6 billion bits. Divide by 8 billion to convert to GB, so a human genome could store 0.75 GB.

Now in case of digital DNA storage a part of the molecules needs to be used for error correction, indexing, etc. To account for this ‘overhead’ you can conservatively assume that only 50% of the total storage can be used for the data storage, which would result in 0.375GB.

Now in the whitepaper of the ‘DNA data storage alliance’ backed by Twist, Microsoft, etc. (https://dnastoragealliance.org/dev/wp-content/uploads/2021/06/DNA-Data-Storage-Alliance-An-Introduction-to-DNA-Data-Storage.pdf Page 20) they come to a different result: they assume 2 bits per base, but as 50% is needed for overhead, they say every base stores 1 bit, so 2 bits per basepair AFTER accounting for overhead (above I concluded 2 bits per basepair before accounting for overhead). The total storage then becomes 2 bits/basepair * 3 billion basepairs = 6 billion bits. Divide by 8 billion and we get 0.75GB can be stored in the human genome after we account for overhead. According to this line of thought the full human genome would have a size of 1.5GB (?). General consensus on the internet seems to be that the full human genome stores 0.75GB.

Who’s right??

• Thanks! I used 50% overhead because they mention it in the paper. So know Im thinking the following: every base in a sequence stores 2 bits. We ignore the complementary strand as it basically stores the same information but ‘reversed’ but it does help in molecular structure. Then there only 3B 2 bit bases in the 3B basepairs that are or interest for storage. So 6B bits * 0.8% overhead = 0.6GB . If I use 50% overhear I get to 375MB again. Idk if this makes sense at all? Is it true the complementary strand doesn’t add info per se? (Srry this is not my field) Sep 28, 2022 at 19:01
• I removed my comments and posted an answer with the same information. Sep 29, 2022 at 4:24
• – uhoh
Oct 1, 2022 at 4:20

## 2 Answers

You are confusing the sequences with the pairs. AC is a completely possible sequence, and it will connect to a sequence of TG on the other strand of the double helix. Basically, everything in one strand is repeated with the complementary base pairs in the other one. This is why they say you have 50% overhead - the double helix requires everything to be represented twice.

The 50% you are already paying also provides the physical robustness of the double helix molecular structure, so you can probably get by with less overhead than with other solutions, since this already provides some resilience against single-bit errors.

Both sources agree that the capacity is 0.75GB and then whatever you need for additional error checking or other overhead you need to subtract from that.

As a benchmark, network transmissions under good conditions add about 20% overhead (so approx 10 bits per byte for parity checks, occasional retries, etc) but I would hesitate to come up with a concrete number without empirical experimentation. Off the cuff, maybe 10% redundancy would be good for reconstructing the occasional damaged sequence (look at Hamming codes etc). But the question is then what reliability you are hoping to achieve. Again, the raw storage capacity is 0.75 GB, and you use it as you see fit for your specific application.

Furthermore, it's unclear why you use the human genome as a yardstick for anything. You can't replace information in a human's genes with random information you want to store and still end up with a human cell. And as a carrier of information, a human is rather inefficient; quick Duck Duck Going gives me a number of 30 trillion cells per human, all carrying the same information in their DNA. The genome of the rice plant contains many more base pairs, anyway. But as the paper you link to emphasizes, you do not need living organisms to carry the DNA you want to store information in (nor could you, realistically).

• Thanks for the answer/following up on my comment! To touch on your last comment; I was also looking at sequencing costs of DNA storage, and commonly you find the human genome is the benchmark (e.g. 600\$to sequence the full genome) - I wanted to convert this to$/GB Sep 29, 2022 at 23:51
• The much more expensive operation (I assume) would be getting the bits there in the first place, though of course, the cost of reading them will be a factor, too. Sep 30, 2022 at 3:42

The 0.75 GB (assuming 2 bits per nucleotide) is correct as far as I know. But I think I can add some additional context. Typically, I point people to this Nature Review from 2019 for a nice overview of the field.

In theory the genome could store that amount of information. But it doesn't make sense to consider aspects such as error correction because it is not currently possible to encode digital data into nucleic acids on that scale in vivo. Typically, in vivo data storage applications are typically in the form of either cellular recording or use CRISPR–Cas to insert short nucleic acid sequences.

Conversely, in vitro data storage has been considered the most practical form of encoding digital data into DNA. In Table 1 you can see some of the most notable demonstrations of in vitro DNA data storage. You can see the strand lengths are limited to less than 200 nucleotides, which is about the current limits of synthetic capacity. The sequencing (read) technologies are maturing faster than the synthesis (write) costs which is among the current bottlenecks. Larger datasets need to be synthesized independently in strand segments and reconstructed from mixed data pools.

If you wanted to come up with \$/GB value for the sequencing of the human genome as a fun thought experiment, you could make the simplifying assumptions (2 bits per nt) and call it a day. But to calculate a more realistic number for arbitrary storage of nucleic acid data on the order of the human genome would be much more complex. The experiment itself would also not be trivial or cheap.

Though to be honest I didn't read through your whitepaper, and it looks to be more recent from 2021. Maybe progress has been made I'm not aware of since it's not my area of expertise.

Hopefully that adds something worthwhile to the discussion.