DNA as seen through the eyes of a coder

We are, by now, accustomed to talking about "the genetic code." But we rarely think about what that metaphor means.
So I was delighted to stumble across this fun essay: "DNA as seen through the eyes of a coder." Bert Hubert, a programmer, compared DNA to computer code and finds a number of startling similarities. For example: DNA is highly "commented," just like good computer code; indeed, junk DNA can be thought of as code that is "commented out" -- i.e. old code left over from previous revisions that is no longer used, and surrounded by comments telling the processor to ignore it. DNA also exhibits "bug regression" -- new, unexpected bugs that are caused when a programmer tries to fix an existing bug. (Mutations that emerged in Africans to create immunities to malaria, for example, accidentally made the hosts susceptible to sickle-cell anemia.)
But this is my favorite part of the essay:
Somebody recently proposed in a discussion that it would be really cool to hack the genome and compromise it so as to insert code that would copy itself to other genomes, using the host-body as its vehicle. 'Just like the nimda worm!'
He shortly thereafter realised that this is exactly what biological viruses have been doing for millions of years. And they are exceedingly good at it.
A lot of these viruses have become a fixed part of our genome and hitch a ride with all of us. To do so, they have to hide from the virus scanner which tries to detect foreign code and prevent it from getting into the DNA.
The metaphor, of course, works both ways. Just as the mechanics of DNA are a useful metaphor to help understand how computer viruses work, the mechanics of computer programming are a useful metaphor to help understand how DNA works.
(Thanks to Justin Blanton for this one!)
Posted by Clive Thompson at January 13, 2008 10:41 PM
Trackback Pings
TrackBack URL for this entry: http://www.collisiondetection.net/mt3/mt-tb.cgi/1723
This post reminded me of two weeks I wasted studying 'Genetic Programming' paradigm in a couple of machine learning books.
Do you know any successful application powered by 'Genetic Programming'?
Posted by: listen_to_typekey at January 18, 2008 4:12 PM
I know of a bunch of things designed using evolutionary algorithms, but I think that's a different concept.
Posted by: Clive at January 20, 2008 10:05 PM
Post a comment
This post reminded me of two weeks I wasted studying 'Genetic Programming' paradigm in a couple of machine learning books.
Do you know any successful application powered by 'Genetic Programming'?
Posted by: listen_to_typekey
at January 18, 2008 4:12 PM
I know of a bunch of things designed using evolutionary algorithms, but I think that's a different concept.
Posted by: Clive
at January 20, 2008 10:05 PM