Slashdot Mirror


The Art, Music And Computer Science Of DNA

Build6 writes "As part of the 50th anniversary of the discovery of DNA's double-helix structure, many news publications are writing about what has been done with the discovery so far; The Economist has a very interesting one about DNA's use in art and music. ... You can read all about it either by picking up a copy of The Economist (it's well worth the money, I've subscribed for over a decade), or online." And Clint Harris writes "As part of its series commemorating the 50th anniversary of 'the first scientific description of DNA' NPR recently aired a story comparing DNA to software (RealAudio or Windows Media). 'For many, the best analogy for the way DNA works is that it's like a computer program at the heart of every cell. Some of its programming tricks bear an uncanny resemblance to ones the human brain has dreamed up...DNA is [like] spaghetti code because nature has been tinkering with the system for billions of years like a bad programmer.'"

32 of 95 comments (clear)

  1. Let's not forget... by graveyhead · · Score: 4, Interesting

    Software (and now hardware too...) that is inspired by DNA recombination.

    --
    std::disclaimer<std::legalese> sig=new std::disclaimer; sig->dump(); delete sig;
  2. Pre-DNA Discovery DNA References? by Anonymous Coward · · Score: 3, Funny

    Is it really a coincidence that a Caduceus/Kerykeion has a pair of intertwined snakes? (Some people say that's proof of ancient knowledge!)

    1. Re:Pre-DNA Discovery DNA References? by nrlightfoot · · Score: 2, Interesting

      The intertwined snakes on a pole symbol comes from the Bible. While the Isrealites were wandering around in the desert complaining, God got tired of it. So, he sent poisonous snakes to bite them, but also had Moses make a pole with bronze snakes on it. anyone who was bitten could look at the pole and not die. At least it was something similar to that, I might have the details a little wrong.

      --
      what sig?
    2. Re:Pre-DNA Discovery DNA References? by Anonymous Coward · · Score: 2, Interesting

      Here's the explanation: http://www.medhelpnet.com/caduceus.html

    3. Re:Pre-DNA Discovery DNA References? by Anonymous Coward · · Score: 3, Informative

      Actually that link doesn't give all the information. While it is true that the Cadeuceus was the staff of Hermes and had two intertwined snakes, it doesn't explain why it's associated with the medical profession. Asclepius was the greek god of medicine. According to myth, he carried a staff which he used to heal. That staff had only one snake around it. Somewhere along the way, the Cadeuceus and the staff of asclepius were mixed up.

  3. You heard it here first... by Anonymous Coward · · Score: 4, Funny

    ...God's a VB kiddie :)

  4. Bad Programming? by johny_qst · · Score: 4, Interesting

    I'm really confused by someone equating obtuse code they can't understand as bad programming. I want more discussion on how the information encoded in genes acts. Not "This is the worst kind of spaghetti code you can imagine..." and posturing like we can't possibly understand it.

    --
    Fnord.sig
    1. Re:Bad Programming? by Anonymous Coward · · Score: 2, Interesting

      Dude, you obviously haven't taken an intro-level biology course. DNA transcription has so many stop-here, skip-here, start-here signals, that many times there's huge chains of "introns", information that just gets excised from the final product. A single mutation can change something from a regular codon (think of them as words) to a stop codon, rendering everything that follows (up to the next start) junk data.

      So, that's how nature writes spaghetti code. Constantly commenting out loops, etc.

  5. what we REALLY need... by ansleybean · · Score: 2, Funny

    object oriented genes.

  6. Bad programming? Well.... by Anonymous Coward · · Score: 5, Funny

    As soon as YOUR code has had uptime of 120 years or so, then you can say nature wrote us poorly.

  7. Bad Programmer? by trotski · · Score: 4, Insightful

    DNA is [like] spaghetti code because nature has been tinkering with the system for billions of years like a bad programmer.

    Wow, that sure is an arrogant statement. The chemical, physical and biological systems of nature are the most complex systems we know of. Nature is influences by a seeingly infinate number of variables. We don't understand much more than we do.

    Our understanding of the world is far too small to be critiszing nature works and it's language. When humanity can create a WORKING system thats 1/1000th as complex as the natural world is when we can even start to make arrogant statements such as this. Today is not yet that day.

    --

    "Entropy is the bad-guy, and he is everywhere"
    1. Re:Bad Programmer? by milkmandan9 · · Score: 4, Funny
      The chemical, physical and biological systems of nature are the most complex systems we know of.
      Especially if these chemical, physical, and biological systems happen to be female.
    2. Re:Bad Programmer? by Ieshan · · Score: 2, Insightful

      Here's a quote which, at the heart, sums up *why the programmer analogy is wrong*:

      Natural selection cannot play God, because it is a blind process with no goal in mind and no means to get to a predetermined endpoint.
      -John Alcock, Animal Behavior, 7th ed.

      Programs are tools for a purpose. DNA is not.

  8. Anyone else....? by slulovic · · Score: 2, Offtopic

    Anyone else find it funny that most gene sequences are proprietary, and hence even DNA isn't Open Source? --Scott

  9. I think that was kind of the point by Trepidity · · Score: 4, Insightful

    Nature designs things in an incredibly complex way, because that's simply how evolution works -- there's certainly no software engineering notion of clean component separation and so on in evolution. So it ends up certainly being complex, working, and possibly even beautiful, but a nearly impossible to decipher mess of spaghetti. Sort of like an old-school assembly programming genius designing an enormous 500,000-line program in assembly -- it'll work beautifully, but nobody will have any idea what the hell is going on, or be able to modify it. Similar problems exist when trying to genetically engineer things; you're always going to mess something up.

  10. Genetic Programming by CBNobi · · Score: 4, Interesting

    DNA is [like] spaghetti code because nature has been tinkering with the system for billions of years like a bad programmer.

    How ignorant of you to say that. There was an article in the Feb. 2003 issue of Scientific American about genetic programming - the creation of new devices and electronic circuity by computer.

    It basically involves starting out the core components (resistors, inductors, capacitors, etc) and a design (for a voltage-current converter, perhaps). A supercomputer is able to rewire the circuit through basic evolutionary processes including crossover, copying, and extinction, and come up with a much more efficient circuit.

    The resulting circuitry is so effective and original that there have been designs that earned approval from the patent office. They're so complex, much like nature's genetic code.

    Sure, it might look like spaghetti code - but you mean to tell me, nature is a bad programmer? Heh.

    Google search on genetic programming
    Everything2: Genetic programming
    What is Genetic Engineering?

    1. Re:Genetic Programming by Saeger · · Score: 2, Informative
      The resulting circuitry is so effective and original that there have been designs that earned approval from the patent office.

      And, IMO, it's a very bad idea to hand out patent monopolies for designs that no human invented, especially if no one can even understand how the damn thing works!

      It's not that patents on evolved solutions -- which are both computationally expensive to produce, and to manufacture physically -- wouldn't necessarily promote progress (unless we're talking software algorithms), but that we'll end up with the richest corporations going for another huge IP landgrab with their "patent invention machines" set to 'Ludicrous Speed'. Isn't it bad enough that they've already squatted on our genes?

      --

      --
      Power to the Peaceful
  11. James Watson. by I'm+a+racist. · · Score: 3, Informative

    I've been pleasantly surprised by all the attention the 50th anniversary of the discovery of DNA has gotten.

    It got to be the Google logo. Cold Spring Harbor Laboratories has been very active in celebrating this. Among a few other things, they've had a really nice lecture series to commemorate the event.

    I'm a little bit closer to the whole thing since I've done some genetics work (mostly at the Columbia Genome Center). My current work involves some genetic manipulation, but that's not the main focus.

    Also, I happen to personally know James Watson. I first met him when he spoke at my commencement. But, I shouldn't tell that story, because it has some racist (and very amusing) content... which would only get me modded as a troll. I've kind of worked with him a bit since then, and he's really a very nice, down to earth, intelligent guy. He hasn't really let this whole thing go to his head.

    Anyway, it's very nice to see the general public taking a little bit of interest in science. Maybe this will help to turn some of the scientific illiterates into elites...

    --


    Down with Saudi Arabia!!!
  12. Finding DNA solutions by teamhasnoi · · Score: 4, Funny
    I don't see why the scientists don't just look at the REM statements...they'd have that stuff figured out in no time.

    "Geez, it says here that the next 24,000 lines of code are wholly dedicated to picking one's nose!"

    I'm sure that they would find that politicians are the result of millions of unreturned GOSUB commands.

  13. Re:Can anyone explain this to me? by Namaseit · · Score: 2, Informative

    its in brackets because it wasnt said in the quote but was implied.

    --
    75% of all statistics are made up!
  14. no analogies allowed by hachete · · Score: 3, Interesting

    Well I guess the problem with the posting is the analogy. Comparing genetic "code" to software implies that there's a writer - in this case "nature" - who is either "good" or "bad" in the works that it perpetrates. The aesthetic and/or moral values of "good" or "bad" don't exist in the evolutionary process, only what works. If a sequence works, then the sequence survives. If it doesn't it dies. Consider Linus when he talks of DRM and Linux: he wants Linux to survive so he won't object to DRM being inserted into Linux; he doesn't want Linux's chances of surving limited. OTOH, RMS is a moralist and an idealist. He doesn't want DRM in Linux - in fact, he sees Linux as a weapon *against* DRM. If he succeeds in pre-empting DRM from Linux, then he will have closed off a route of survivability for Linux - in evolutionary terms, a major no-no.

    Of course, this pulls the analogy apart from the inside: no aesthetic or moral judgments, no writer-figure ghosting in the background. What we have is a an autonomous, self-organising system - a far more interesting prospect if you ask me.

    Of course, calling it "spaghetti-code" enables you to insert that programmer-figure into the argument. All spaghetti-code needs re-factoring right? Tweaking to make it "right" make it work "better"? I dunno; the self-autonomous self-organising model has worked quite well up to now...and, lets face it, when has trying to make something "better" produced less bugs than you first started with? Particularly with something you barely understand in the first place and are desperately trying to portray with ill-thought out analogies.

    h.

    --
    Patriotism is a virtue of the vicious
  15. Like a bad programmer? by Anonymous Coward · · Score: 2, Interesting

    Spaghetti code is only dangerous because it's hard to follow and thus understand, a barrier to maintenance and sharing with others. Perhaps the "programmer" simply has the capacity to know and understand the implications of each piece of the code at once - and perhaps also doesn't wish to share the code with other developers.

  16. correction by NotAnotherReboot · · Score: 3, Informative

    It was not the 50th anniversary of the discovery of DNA, it was the 50th anniversary of the publication of Watson and Crick's paper saying that DNA possibly has a double helix.

    It's kind of funny, everyone seems to be making this mistake, I heard the vice president of Clonaid talk just yesterday, and he said the same thing. Not that Clonaid is a legitimate company. :p

  17. Twenty years ago... by jazzbazzfazz · · Score: 4, Interesting
    Douglas R.Hofstadter discussed very similar ideas in his book Godel, Escher Bach, an Eternal Golden Braid. It was published in 1979, won a Pulitzer Prize and is virtually certain to change the way you look at pattern recognition and AI, genetics, musical innovation and a host of other areas of human intelligence.

    If you haven't ever picked it up, give it a try. You can read it on a very superficial level and enjoy the dialogs among the characters, flip through it for the Escher prints...but eventually you'll start digging deeper and see things in the same words that you didn't see before. Highly recommended!

  18. Not the only musician composing w/ DNA... by Zanthany · · Score: 4, Informative

    The "Sonic Gene" mentioned in the Economist article is not the only one. I attended university where one of the piano professors has been working on a project like this for many years now.

    His name is Brent D. Hugh, and he has downloadable .mp3s here. This has been a pet project of his, and it's definitely worth checking out. His personal site is available here as well.

    Happy listening!

  19. Ahhh by Timesprout · · Score: 3, Funny

    Now you tell me. I just hired nature last week. She told me she had loads of experience coding on big projects.

    --
    Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
    What truth?
    There is no dupe
  20. Source code for a bacterium by theCoder · · Score: 2, Funny
    #include <unistd.h>

    int main(int argc, char** argv)
    {
    while (1) fork();
    return 0;
    }
    So, you think if I run this long enough it'll evolve into an AI? :)
    --
    "Save the whales, feed the hungry, free the mallocs" -- author unknown
  21. A variation on the theme... by unique13 · · Score: 2, Interesting

    Perhaps DNA is more akin to highly optimised compiler output, as opposed to the source code.
    It doesn't matter how elegant your implementation is, once an optimising compiler has done it's business the results aren't going to be very pretty to look at (or easy to understand).
    As soon as a talented group of software engineers develops a useful decompiler/dissassembler for them, the geneticists will start to be freed from the low level detail overload and some of the elegance of the design will no doubt become more apparent.

  22. Re:James Watson: Theif, Fraud. by stanwirth · · Score: 2, Informative

    Not alleged theft, but well established, and admitted. Maurice Wilkins gave Watson and Crick the keys to Franklin's lab, and the locked drawer where she kept her X-ray photos. Of the DNA that she grew. Using the X-ray camera she designed and built herself .

    In their own defence, they tried to dismiss her as a mere "lab tech" (with a Ph.D. and several publications? I don't think so!) and then put her down in their book The Double Helix by wondering repeatedly, in print, whether she'd look any more attractive if she did "something more interesting with her hair."

    READ ABOUT IT HERE

  23. Molecular music by zoeblade · · Score: 2, Informative

    Dr. Linda Long had been doing something similar with Music of the Plants and Music of the Body.

  24. Billions of Years? by pantropik · · Score: 2, Insightful
    'For many, the best analogy for the way DNA works is that it's like a computer program at the heart of every cell. Some of its programming tricks bear an uncanny resemblance to ones the human brain has dreamed up...DNA is [like] spaghetti code because nature has been tinkering with the system for billions of years like a bad programmer.'


    That isn't very efficient. Microsoft did the same thing with the Windows codebase in only 20 years ...

    Seriously, though, I don't think this statement is as arrogant as some of the posters before me claim. Nature IS a bad programmer. Its arsenal consists of trial-and-error and brute force.

    Given the scale nature works on (billions of years) it's not a bad way to go about things. A few million years testing out a given design seems slow and ponderous to us but from the point of view of evolution itself it's no big deal. Plenty of time to try again.

    There's apparently been plenty of time for nature to develop a sense of humor.
  25. Biology is a hack, albeit a very successful one by dexter+riley · · Score: 2, Informative

    Most programmers cant write code to do one simple task without having some sort of bug or malady arise, whereas DNA is able to manipulate individual molecules and chemical reactions in order to create a system magnitudes above anything the most brilliant human could think to design.

    As a molecular biologist/computer progammer, I think you are giving DNA too much credit. Just as a single error in a piece of code can cause it to crash, a single base mutation in an organism's DNA can either a)cause it to abort during development or b) give it any of a thousand different diseases, from the annoying (myopia) to the deadly (Cystic Fibrosis, Huntington's, Cancer, and so on). The genetic code is a hack; a hack developed over 4 billion years that works just well enough to keep making more copies of itself.

    This doesn't mean that life isn't incredible. Biological systems may be kludges, built off the remnants of older versions of itself, out of countless imperfect parts (like DNA which accumulates mutations, or proteins which can be misfolded or poisoned), but it has produced organisms that live in every concievable niche, including one that's trying to figure out how it works!

    Computer science is still in its infancy. Right now, we're just learning how to make redundant, parallel systems that don't have to work perfectly with a 100.0% uptime to do their job. My guess is that if we someday develop artificial intelligence, it will use many trillions of small programs, none of which will work perfectly, but which will work in tandem with each other to make amazing things happen.