FREE counter and Web statistics from sitetracker.com
collision detection
content | discontent
send me yours
January 13, 2008
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

Comments

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 [TypeKey Profile Page] 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 [TypeKey Profile Page] at January 20, 2008 10:05 PM

Post a comment

Thanks for signing in, . Now you can comment. (sign out)

NOTE: If you posted a comment and you can't see it -- try refreshing your browser.


Remember me?