1. Having a double helix structure seems like a waste of space. In programming you would have a single array and just before mitosis you would double the single helix.
  2. Having an exact copy of a cromatid. As long as a cromatit exists, there is always a possibility of errors, for example if something attacks the chromosome. So why isn't the cromatid just before mitosis, just like in 1? Then you are 100% certain, you have an exact copy. Again, a waste of space, but additionally vulnerability now.
  3. Having 2 nucleobase (adenine, thymine, guanine, cytosine) seems like it makes more room for errors. Why aren't there just two of them? They are complementary anyways, so adenine for example can only be on the opposite side of thymine. Is it so that splitting is easier? In programming, if you only have to deal with a boolean value, you would always take it over having to deal with 4 values.

So, what does nature do different than a computer and why does it behave so differently?

  • 2
    $\begingroup$ Simple answer, nature doesn't think. all 3 flaws you mention are OK for natural selection as compared to some other ancient alternative, so nature preferred them. $\endgroup$ Commented May 25, 2016 at 11:42
  • 1
    $\begingroup$ Re #3. If you had only two, how would your alphabet code for the 20-odd amino acids? $\endgroup$ Commented May 25, 2016 at 12:04
  • 1
    $\begingroup$ Re #1: Would your alternative structure have similar chemical stability? Also, without redundancy, if there were any externally induced damages how would you rectify the damage? $\endgroup$ Commented May 25, 2016 at 12:08
  • 4
    $\begingroup$ Why? It's because it evolved that way. Period. Please refrain from asking broad open ended questions. Nobody ever claimed that this is the most perfect mechanism. However, it works quite well and it has not been selected out. Plus the double helix also allows for repairing errors. Please refine your question (keep it precise and fact based, and avoid asking multiple questions in a single post) or else it would be put on hold. $\endgroup$
    Commented May 25, 2016 at 13:07
  • 4
    $\begingroup$ @kim366 Please read about genetic code. It is not binary. It is 4 letter based and each word is 3 letters long. That way you can ensure that all amino acids are represented and you have synonymous codons too (which are sometimes helpful). If you want to achieve the same with a binary code, then your word length should be at least 5. Also read about DNA repair mechanisms. To fully answer your questions (as you explain in the comments) one might have to write a book. Therefore the question is broad. Please read these topics and ask a precise question. $\endgroup$
    Commented May 25, 2016 at 13:23

2 Answers 2


Your individual questions here are reasonable enough - although you could do a bit better at knowing some more details of the systems you are dismissing as 'flawed'. However, I think the bigger problem is your overall approach, which seems to be to make analogies between human-made computers and biological systems and then critiquing the 'missing' parts from biological systems.

Analogies like this are necessarily limited. Take the idea of DNA as 'like' a hard-drive of a computer. The nucleotides = bits, genes = contiguous segments of memory, promoters = pointers, etc. Where does this model go wrong?

Well, hard-drives are not (currently!) self-assembling structures that read themselves by coding for more, smaller fragments of hardware that additionally compress or expand parts of the structure of the hard-drive according to which part needs to be read. Moreover they don't do this while floating in liquid and self-repairing from chemical and radiation damage.

There is an excellent book called "Cats' Paws and Catapults: Mechanical Worlds of Nature and People" by Steven Vogel that covers this kind of flawed analogical reasoning between biological and human-made systems. It's not that such analogies are useless, but it is very important to recognise the limitations and fully understand why certain design choices are made by biological systems due to the particular environmental and evolutionary constraints that they work under.


In programming, if you need to ensure your data has integrity, a single array won't do.

We have cyclic dependency checks in programing to determine if the data is corrupt. We have hamming codes to permit detecting a fixing one bit corruption. If we want to really fix multi-bit corruption, we need at least one copy of the data. Lossless compression routines can make the storage of that copy smaller, but it doesn't remove the concept that the data is copied.

DNA provides a copy built-in, albeit a mirrored copy. The structure of the molecule is such that the data is on the inside of a positionally stable backbone of sugars. Since atoms and molecules are not likely to have the same sizes when attached to this sugar, a mirrored copy has the advantage of keeping the DNA molecule relatively stable in width along it's entire length.

This relative stability is also seen in the proteins that bind to and maintain the DNA. Basically they don't require shapes that match a would-be rugged terrain of jagged connecting bits, only the ones that need to verify against the information require regions that match the "informational terrain" they are seeking.

It is really all chemistry at the lower levels, just at a very large scale. Unfortunately (or fortunately) atoms don't come in standard sizes, with uniform properties much like bits in a computer do. As such, the modeling of information crosses over from Biology to Computer Science well, but the implementation of it doesn't.

To get an appreciation of the differences between modeling and information in computation, look at the various lego / tinker toy / water computing modules. You can build a computer out of anything; however, if you needed to integrate a lego logic module into a modern computer, it would be "less than elegant"

  • $\begingroup$ This addresses #1 but not #2 or #3. Though, the answers are all available in the question's comments. $\endgroup$
    – OrangeDog
    Commented May 25, 2016 at 16:03
  • $\begingroup$ The section including the statement "The structure of the module is such" indirectly hints why you don't have only two bases. Two bases would require the same height relative to the DNA sugar backbone, or they would have to be "super bases" that spanned across to both sides of the backbone. With the relative heights being the same, strands would (more easily) slip across each other, leading to new complexities. With "super bases" crossing both strands, the covalent bonds would make the two strands one, so there would be no duplicate. $\endgroup$
    – Edwin Buck
    Commented May 25, 2016 at 21:10

Not the answer you're looking for? Browse other questions tagged .