It's like taking a random byte sequence from some binary, shoving it randomly into another, and the new binary gets useful new features.
The involvement of even more complex systems like parasites makes it that much more insane to me.
It's like taking a random byte sequence from some binary, shoving it randomly into another, and the new binary gets useful new features.
The involvement of even more complex systems like parasites makes it that much more insane to me.
If you think about it for a moment, our genetic code is kind of designed to work that way.
You get half of your genetic code from your mom, the other half from your dad, and somehow, all of these genes "just work" together. It's kind of miraculous when you think that there are very many genes that encode how your brain works, and how your liver works, your muscles, etc. Somehow, provided the baby can be born, a mishmash of genes from two different individuals almost always works out.
That's a little bit tautological since if the genes didn't work together they wouldn't be here after all these years, right? Fascinating nonetheless.
Do very much agree it's miraculous. Biological organisms are robust to error and chance in ways no designed system comes close to matching. It's awe-inspiring
The evolution of organisms that gene mishmash (aka sexual reproduction) is thought to be the result of an ongoing arms race between gene sequences that "try" to stay unchanged (in higher level species) and gene sequences that "try" to "free ride" (from viruses etc.) Being able to build members of your species from "mishmash of genes from two different individuals" has the effect of scrambling the DNA of each species member which makes attack harder.
Organisms that do not do this and reproduce via cloning (aka Parthenogenesis) are often entirely wiped out once a pathogen figures out how to target their DNA -- hence the bananas types we eat change over time.
ps: Similar evasion is used by some computer viruses: https://www.trendmicro.com/vinfo/us/security/definition/Poly...
Sexual reproduction means your species has a very large gene pool, and individuals with new combinations of genes can be produced very quickly. That's not just an advantage against viruses. It's also very useful for adapting rapidly and competing against other species when your environment changes. New threats (and new opportunities) show up all the time, be it dwindling or changing availability of food, climate change (e.g. new ice age), new predators or new preys, and also a group of individuals migrating to a new region of the world with a different climate.
In particular with coinjoined twins, it's quite remarkable how much the systems for body development still produce something that connects the inner workings, which was obviously not it's “purpose”,but the self-healing growth mechanisms that corrects for errors simply leads to that.
Consider the Hensel Twins who have two mouths but their digestive system at some point merges in a way that is capable of digesting. The “tubes” of their digestive tract actually merge at one point, but they have two stomachs.
As I understand it there are attributes of Lisp and attributes of the program structure (such as putting much of the logic in that tree structure with defined split points) which makes this much more feasible than otherwise.
My guess is that DNA has evolved similarly, where the ways in which it splits and the mechanism in which it is interpreted and executed help, and also the organisms we're talking about (us and the other complex ones) have iterated to a design that's more amenable to bits being swapped. That is large chunks of us may be more similar to a lisp program with attributes that make it easy to swap parts than to a bunch of object bytecode with absolute and relative jumps all over.
Note: A lot of this is poorly remembered from a survey of AI class two decades ago, so it bears someone with a stronger background verifying I'm not making a complete hash of it.
At some point, some Newton person will figure it. It always happen.
As for now, it might be interesting to understand why exactly the analogy between genomics and programming fails. It might bring interesting insights into both fields.
So why not try to think about?
Dedicated grant-writing staff are gold, literally and figuratively.
(I worked at a biomedical informatics shop.)
I also think it's somewhat ironic that you're accusing them of only being here to say "you're wrong" but that's what you've done in this thread? I only bring this up because I think we're all after the same thing here - to understand an incredibly interesting topic.
I suspect most of us are really here to learn and discuss. You seem like you have a background in the area, I'm sure we would all benefit from learning about the differences.
If it's the case that the similar is that DNA and code both encode information, and the differences are based on how they do so, it's hard to see why you think they can't be related at all. You've been relating the two.
The idea that a genome as expressed in nucleic acid is purely, and only, an informational medium, is fundamentally in error. It does encode information in the sequence of base pairs, this is true. But it is also a physical structure in its own right, and properties of that structure incidental to the encoded information have what recently looks to be at least as important a role in the process of transcription as the sequence itself.
There are, for example, some sequences which will cause a ribosome to transcribe the surrounding genes differently or with varying frequency, due to the physical interaction between the molecules involved. (I recently discussed this here in the context of recent research on causes of eye color; it should not be too far back in my comment history.) We also see, for example, that both viral and eukaryotic DNA can be and often are transcribed in ways that produce different proteins from the same sequence, again as a result of physical constraints affecting the interaction with the ribosome. This is one reason why "junk DNA" is a bit of a misnomer, and why we more recently see the term fall out of use in favor of "noncoding DNA" - these regions carry no information in their own right, but nonetheless can strongly affect the outcome of transcription because transcription is not only an informatic process. This isn't true of software; there is no general case in which two programs varying only in nonsyntactic ways will be evaluated differently under otherwise identical conditions - we create programming languages as we do in part to ensure that won't happen, and it's also part of the reason why we use transistors instead of vacuum tubes or relays: in order to engineer that kind of variance as much as we can out of existence. What is therefore an accidental property in software is an essential one in gene expression, and cannot be overlooked without reaching an inaccurate conception of how the latter process works.
That's just one example, and it's true that processes like these can be modeled in software to variously imperfect degrees of fidelity and that information-theoretical models can be useful in understanding some aspects of how they work. But that's not the same thing as them working similarly enough that understanding one very well suffices to reason about the other. I definitely can see how it's easy to assume otherwise! It's an assumption I shared, before my own yearlong exposure to the field at a sufficient level of detail to start to understand what I hadn't understood about it before, and considerable reading and study thereafter.
Unfortunately, I was there to provide engineering support to people doing that work, not to do it myself, and the knowledge I've derived from that experience apparently does not extend so far as producing a concise and positive statement of the fundamental difference between the two fields of study - I spent considerably more time teaching informaticists how to program, formally and otherwise, than I spent learning about bioinformatics. That leaves me able to recommend little beyond seeking out similar experience of your own, which I do recommend if the depth of your interest suffices -although I do also have to say working in academia as a nonacademic has very little else to recommend it.
I know there are some folks on HN with formal knowledge and training greatly exceeding my own, and some of whom have probably also had experience teaching the basics in an accessible way. Perhaps one of them might give a more useful answer here than I've been able to.
Not to be a negative nancy here, but if we're being precise, ribosomes do not transcribe. They translate.
Under the fairly reductive central dogma of biology: DNA -> RNA (Transcription) RNA -> Protein (Translation)
Transcription and translation are separate mechanics that don't occur in the same area of the cell, and both use very different complexes to mediate the rates of each in different physical environments.
I don't disagree with any of the substantive points being made, but I think the proper terminology only adds to your argument so I found it strange that it was left out.
You write that we should not talk about biochemistry as computation, as far as I understand. Instead I'd say that we have not studied enough how nature does computation without programmers or even human friendly semantics.
Is still computation, involving space and physics. Too complex to efficiently simulate it (for now) but not big enough so that the emerging behaviour is simple, like for a gas.
Files on disks have end of file markers, just like the start and stop sequences in DNA. Operating systems have cron jobs (themselves digital) that control when other programs execute.
However, genomes aren't digital. They're 3D structures with a ton of attributes that are not trivially representable digitally.
False by definition: Digital data is "information represented as a string of discrete symbols each of which can take only one of a finite number of values"
An OS is just so much simpler than dynamically constrained energetic replicators in an always and everywhere collapsing wave function.
Plenty of software is neither written nor comprehensible I can assure you of that.
Like I don't think your necessarily wrong, but pointing out the literal differences between the two topics doesn't explain to me why the analogy is wrong and therefore doesn't support your argument.
It's like saying "I'm nothing like my mother; I don't even have long hair"
There is Theory of Computation and there is Theory of Programming. Your arguments apply to TOP but not to TOC.
https://pron.github.io/posts/what-we-talk-about-when-we-talk...
I use a variation of this form as 'persons whos science and religions conflict don't know enough about either one'.
> Both a computer program and a genome encode information, but that's about where the similarities end.
FWIW this is a very significant similarity to me.
The details are of course endless and they aren’t interchangeable between the two fields, but the analogy is still there..
I mean, I can as well say that chalk and cheese are alike in that both have mass, occupy space, and leave a streak behind when you rub them on something. It is a true statement, but what does it help me predict about either?
I don't think the 'chemistry is an OPERATING SYSTEM' level of handwaving is sufficient to glean insights, but understanding general systems-level interactome patterns of how proteins interact does help provide knowledge about how natural and designed systems can self-regulate, how they fail, how they can be structured, etc.
The last I ever learned about it, and perhaps the common belief, is that random-ish gene mutations account for it. 4 billion years doesn't seem like enough time to account for all that unless changes are heavily weighted towards doing something somewhat useful. Like there is a system at play.. Lego blocks vs bits. IDK.
Maybe a key part of what's missing in your understanding is not so much "micro" genetics but biogeography and population genetics. You'd also want to check simulations and comparisons with real-world data on some models to see how a population evolves to see that it "really works". It's important to understand that there are different models, and for each one there's a set of "forces" and important parameters.
The bigger picture is, it's the whole interplay between mutation, selection, genetic drift, gene flow; things like differences in population size over time and space, migrations, isolation and reconnection, etc. that makes it work. You might also want to take a look into genetic/functional/morphological modularity. I've just skimmed these articles, but they seem relevant:
https://www.nature.com/articles/hdy2010136
https://www.nature.com/scitable/knowledge/library/natural-se...
There's much more but my memory is murky. Ideally you would want to take a course or read a textbook on evolution. A few popsci books are ok (Dawkins, E. O. Wilson).
TLDR: What the other commenter said -- 4 billion years is a very, very, very long time.
Genes code for proteins (and promoters, etc.) and wind up in a chemical soup in flux. They're going to bounce around and do things.
Their presence will be more akin to new kinds of cars or trucks entering a highway, and they'll have different impacts to traffic (kinetics, thermodynamics).