3 ms·
People tend to think of genetic code as a sort of assembly language which is very verbose, but I wonder if the correct way to view it is in fact a very terse do
by phreeza 6y ago
People tend to think of genetic code as a sort of assembly language which is very verbose, but I wonder if the correct way to view it is in fact a very terse domain-specific language, because it actually depends on the entire complex machinery of the cell to be present in order to work, which in itself contains a lot of information?
- Tuna-Fish 6y agoYes. Another important metaphor is that the common idea of DNA as blueprints is entirely wrong. It's not blueprints, it's a recipe. A blueprint describes what something is. A recipe describes the steps needed to make something, making use of a lot of complex existing machinery and parts with only a reference to them.
- wubbfindel 6y agoInteresting reasoning. But isn't it true to say that the "complex existing machinery and parts" which interprets the DNA was itself put together from instructions found in other DNA? I suppose that metaphors are rarely entirely comparable.
- Tuna-Fish 6y agoSome of that machinery and parts isn't directly represented by DNA. As an example, DNA codes some proteins that help extend cell walls, but those only work if you already have cell walls. If you have only the full DNA for a cell, and no other knowledge, you cannot build that cell out of that.
- mattkrause 6y agoThe nucleotide sequence is obviously important, but people also sometimes forget that DNA and RNA are real things with 3D structure too. That matters too: it’s as if builders make errors where the blueprint rolls up or pages stick together. The whole thing is absolutely fascinating and wild.
- jldugger 6y ago> I wonder if the correct way to view it is in fact a very terse domain-specific language Honestly, na. It's pretty verbose. There's a lot of weird ass things in there like "Skip basepairs until you find the matching terminating sequence" (I think it's AG .* GA but its been a decade since my bioinformatics course), but you still have to include the non-AA-coding basepairs in the middle of that. Compensating for that is the fact that there are like, multiple independent programs; if a ribosome is offset by a single base pair, the result is entirely different. If it runs the other strand, the result is different. And instead of crashing like any program would, biology just learns to use all of those possible encodings. In part, this works because there are 64 possible codons but only 20 amino acids, and the redundancy allows a substitution to affect only some of the offsets.