• Quick note - the problem with Youtube videos not embedding on the forum appears to have been fixed, thanks to ZiprHead. If you do still see problems let me know.

Human DNA and Spagetti Code

Seems likely enough to me. In fact, it's not inconceivable that such a condition could cause the implosion of the whole universe into a vast, monstrous tangle of spaghetti, flying through the void. Had I imagination enough I'd come up with a catchy name for this entity and clean up selling gold-tone car emblems.
 
Curiousity: Could there be some point, hundreds of millions of years from now, where all the spaghetti code just piles up too high for life to function?
Natural selection should keep that from becoming too much of a problem. Copying garbage takes a lot more energy than copying something well structured.

But in a sense the situation already exists. The existence of severely deleterious single nucleotide polymorphism represents a level of extreme interdependence and sensitivity you just don't have in efficient, human-written code.

Oddly, genomes can also be very robust to huge mutations. Especially plant genomes. They can weather a full chromosomal duplication event and still have successful offspring. In fact, some of these events actually shaped the course of plant evolution.
 
Hey, aggle. Great post! I've done research in bioinformatics, so I have a decent understanding of both sides of your analogy. It is quite apt. This is usually the reason I'm quick to rebuke people who make the "DNA = digital code" analogy too strong. The interactions between genes, metabolism, and alleles are super complicated.

It is also interesting to note in this context that machine learning algorithms (especially Genetic Programming) are notorious for generating spaghetti code.

Interesting. I should add that such complications do come up in machine code as well. You can't toss in just whatever binary you want, because a lot of it will be recognized as "garbage". It needs a certain format of data and that means some strings of machine code won't be interprettable at all. I believe what you are saying is that genes are the same way in that you can't just slam a bunch of genes here and there and expect it to work. It has a method of operating and a specific format that must be understood.

Then again, I find a lot of programmers don't have a basic understanding of what's going on at the machine code level. That's not needed for what they do though, most of the time.
 
Great analogy! As a programmer who has had to work with heavy spaghetti code written by underpaid interns (who in turn were managed by a clueless idiot), I can definitely relate. This thread makes me smile.
 
Interesting. I should add that such complications do come up in machine code as well. You can't toss in just whatever binary you want, because a lot of it will be recognized as "garbage". It needs a certain format of data and that means some strings of machine code won't be interprettable at all. I believe what you are saying is that genes are the same way in that you can't just slam a bunch of genes here and there and expect it to work. It has a method of operating and a specific format that must be understood.
That's close, but genes are so much more complicated than even the most complicated computer.

Imagine the code you wrote was activated only with a certain probability. Then imagine the code wasn't just a one dimensional structure of a fixed length (10100101 = jump) but a three dimensional structure of varying length (ATCAAATC means one thing folded one way, another thing folded another way...) Then, to make it all worse, remember that all the code is self-modifying.
 
Then again, I find a lot of programmers don't have a basic understanding of what's going on at the machine code level. That's not needed for what they do though, most of the time.

True enough. Back in the 1970s when I got my paws on my first microprocessors (8008, RCA 1800, 8080, 6502... ah, those were the days) I was able to understand their internal operations down to, in some cases, the microcode level -- internal registers, timing diagrams, and all that. Much of the effort of any project I undertook was building an infrastructure to make the raw provisions of the CPU more accessible, to provide bigger functional building blocks.

Nowadays I have next to no idea what's going on inside modern CPUs and their support chips. They've become soooo much more complex than those old-timey chips that I learned with! Most of my time is spent writing apps in Delphi or C++, or working with interpretive languages to make tools. And I get a lot more done.

Tradeoffs, engineering is always about tradeoffs... :-)

*ponder* But I couldn't say this digression is relevant to the subject at hand. Pardon.
 
(snip) but a three dimensional structure of varying length (ATCAAATC means one thing folded one way, another thing folded another way...) (snip)
I do not think the code is three-dimensional. The proteins can fold in three dimensions, but the DNA only folds in the double helix.
 
I do not think the code is three-dimensional. The proteins can fold in three dimensions, but the DNA only folds in the double helix.
The double helix is packed up in chromatin in weird shapes. RNA transcribed from the genome also folds. Sometimes this folding isn't important at all. Sometimes it's critical.
 
The double helix is packed up in chromatin in weird shapes. RNA transcribed from the genome also folds. Sometimes this folding isn't important at all. Sometimes it's critical.
Thank you for the explanation.

So, a gene is also determined also from how it folds. Hm... I have no problem with this extra complication, but what of all the patents taken out on genes? I suspect that the folding structure is not part of the patent specification. How can patents be issued for something that is not a complete description?
 

Back
Top Bottom