DNA is often thought of as the
DNA is often thought of as the "software" of life.

When talking about deoxyribonucleic acid -- DNA, the molecule that carries the genetic information of life -- scientists often make comparisons to computer systems, with DNA being an enormous "program" to be run by the body's hardware. But significant differences exist between the genetic code of DNA and the binary code used by computers, and each system has its advantages and limitations.

Counting Digits

The simplest unit of binary code is the binary digit, or "bit," which can have one of two values: 0 or 1. The simplest unit of DNA, on the other hand, is the nucleotide, which can have one of four bases: adenine, cytosine, thymine or guanine (A, C, T or G). This increased variation means that each nucleotide of DNA can hold twice as much information as each digit of a binary program.

Byte Sizes

Computers and biological systems both read their respective codes in blocks of several units instead of analyzing each bit or nucleotide individually. Binary information is grouped into sets of eight bits, called bytes; each byte thus has one of 256 possible configurations of zeros and ones. Genetic information instead comes in triplets of nucleotides known as codons, which represent different amino acids, meaning that each DNA "byte" has only 64 possibilities.

Starting and Stopping

Both binary and genetic codes contain signals that indicate where to begin and end the reading of their messages. Computers use start and stop bits for this purpose, while the genetic code contains one start codon and three stop codons. However, DNA often exhibits greater flexibility in starting and stopping, as certain parts of the genetic code can be read in different, overlapping segments. These different interpretations are called open reading frames, and often each frame codes for an entirely different but still useful final product.

Protecting Data

In digital code, a single inaccurate bit causes its byte to have a different value, which can introduce significant errors to a computer program. DNA is considerably more resilient in comparison, as many nucleotide changes do not result in changes to the value of -- the amino acid coded by -- a codon. Although 64 codons are possible, biological machinery uses only 20 amino acids in the construction of proteins. Many codons that differ by one nucleotide therefore code for the same amino acid, a property known as redundancy. Redundancy protects genetic data from some of the inevitable errors that occur in the replication and reading of DNA.