Comparing DNA with Computer Software

DNA Molecule

It is amazing how one small DNA molecule can determine how we will look like, how we will develop and what medical conditions we may develop. It was not known until 1950s how the DNA molecule looks like or how the information is stored. It was pretty obvious that DNA in the cells contains some information that contains hereditary information and determines each living organism. The phases of cell division were known but nobody understood how the cells perform various tasks in the body.

The structure of DNA was discovered by examining the X-ray pictures. The initial work was done by Rosalind Franklin. She was able to make very good pictures of the DNA molecule and those pictures were further analyzed by James Watson and Francis Crick who actually explained the helix structure of the DNA.

Double Helix

DNA is consisted of two long threads of only four substances: adenine, thymine, cytosine and guanine. Those two threads or chains are connected with bonds so that adenine from one chain connects to thymine in the second one. Similarly, cytosine is connected with guanine. This means that one chain is a mirror image of the other one. The sequence of four bases (Adenine, Thymine, Cytosine and Guanine) determines amino acids that are used to make everything needed for a live being. The information is stored like digital data in semiconductor memory. Therefore, DNA and computer software have many similarities.

DNA and Software

The first similarity was already mentioned. Computer software at the lowest level is also a sequence of bits. Both sequences are used to perform some complex task. Each complex task is divided into many smaller operations. In DNA this is a sequence that determines amino acids in proteins, in computer software there are individual instructions that form high level statements. Proteins are used to form different types of tissue while high level statements are grouped into functions which perform some task. In other words, we can look at the DNA as biological software written in some high level language. What we observe as the sequence of ATCG base pairs is in fact the lowest level of this program.

Junk DNA

Another striking similarity is in the information written in the DNA molecule. Only a small part of this information is actually used to make proteins. The majority of the DNA has no function. It is called junk DNA. But even if this information is not directly involved in the creation of proteins it may still contain some useful information-the problem is because we do not understand this information. Take a look at some software. There are lines that are actually executed and perform some useful operation but there also some lines that have no function-comments. We write comments to describe statements or parts of the program for easier understanding or to mark what needs to be later checked. Well commented programs are needed when more then one programmer work on some bigger software project. What if junk DNA is some sort of program comments?

The Origin of Species

The theory of evolution is one of the greatest theories ever. It describes how all the plants, animals and humans developed. This theory also describes how small changes (mutations) and natural selection contributes to new species.

However, if you compare DNA with a computer software you can find many similarities. And the question remains: who “wrote” the junk DNA and what is its purpose? Pieces of code that are not used anymore? Source code comments? Instructions for future extensions? Or simply junk?