> 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.
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?
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"
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...
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"
An OS is just so much simpler than dynamically constrained energetic replicators in an always and everywhere collapsing wave function.
I use a variation of this form as 'persons whos science and religions conflict don't know enough about either one'.
Dedicated grant-writing staff are gold, literally and figuratively.
(I worked at a biomedical informatics shop.)