Does DNA have the equivalent of IF-statements, WHILE loops, or function calls?
biology.stackexchange.com
biology.stackexchange.com
> Some proteins though serve only to activate other genes, and these are the transcription factors that are the main players in regulatory networks or cascades. By binding to the promoter region at the start of other genes they turn them on, initiating the production of another protein, and so on. Some transcription factors are inhibitory. [1]
These networks are similar to neural networks in that they process information through a series of interconnected nodes (genes and proteins, in the case of GRNs) that influence each other's activity. The activation or inhibition of one gene by a transcription factor can trigger a cascade of events, much like the way neurons activate each other in a neural networks.
This is more likely a result of neural networks being very general: General in the sense that they are able to approximate/model a lot of dynamic systems that allow operadic composition.
And the fact that we know that and now have proof in terms of intelligence of ChatGPT, is to me pretty clear that achieving AGI is possible if you crack the way to structure your neural network.
What.
It's definitely not human intelligence if that's what you are wondering.
What we may infer from that is that after a lot of time of evolution, functions depending on a lot of parameters appear. Yet Biological Neural Circuits seem quite bad at approximating simple continuous functions such as the multiplication between two numbers.
Gene Neural Network and Biological Neural Circuit are quite impressive structures considering their size, materials, and energy constraints. However if you allow bigger size, more energy, and faster conducting materials, it should be possible to do have faster modeling tools.
Moreover, to better take into account non-linear functions, my two cents is that Perceptrons could be further enhanced using piecewise polynomial functions instead of piecewise linear functions [4,5].
[1]: https://en.wikipedia.org/wiki/Gene_regulatory_network
[2]: https://en.wikipedia.org/wiki/Neural_circuit
[3]: https://en.wikipedia.org/wiki/Perceptron
That seems like almost fundamental emergent idea that is behind all the intelligence in the World.
It seems to allow for intelligence to occur, without this type of concept everything would just be random and chaotic.
The point is, how amazing it is that complicated behaviour can arise from this simple idea.
At this point it seems, that neural networks should really be taught at schools as soon as possible.
That is indeed quite nice, yet intelligence seems much more diverse in biological organisms and not always reduced to nodes and edge strengths. The nodes and edges are a way to store data and to modify it that seems particularly well adapted mechanisms based on electricity.
On the other hand, there exists other very different (and slower) biological intelligent mechanisms that are not based on electricity. For example, a tree is perfectly adapted to its environment, capable of taking energy from the sun, materials from the ground, transform it, and so on. Yet the intelligent mechanism that created trees is not based on neural networks as far as I understand it. In this mechanism, the data is stored in DNA, and DNA can be rewriten at each new generation. It is a completely different (and slower) approach.
Finally I agree that the emergence of fast intelligence through neural network is incredible, although for me the first impressive advance is the use of the electricity to speed up the information exchange. The arrangements in nodes and edges could follow naturally from the fact that the transmission of electric signals works better through 1D circuits. The second impressive advance is the way the networks are layered. This is critical and very difficult to have an arrangement of edges and nodes that can both be trained and inferred efficiently. Without the proper arrangement, a biological neural network or a computer circuit is much less intelligent.
Finally in the future we could imagine intelligent mechanisms based on quantum mechanics for example. In this case, it would probably be vastly different from nodes and edges, due to the underlying physical constraints that are different in electricity and in quantum mechanics.
tldr: yes nodes and edges seem fundamental in fast intelligence based on electricity, but other very different intelligent mechanism exist in biological organisms, and other very different intelligent mechanisms could still be invented in the future.
Consider that the uncertainty relations in physics fall neatly out of Fourier Analysis, which could suggest that the universe also does Fourier Analysis to figure out where things are and how fast they're going. But really, its that classical interaction is a sort of mechanical Fourier transform.
I think that moment where it feels like we brush against the real clockwork of the universe has an eldritch, cosmic-horror quality to it, which is both addictive and maddening.
Nothing profound at all about any of that. Just very general structures.
If DNA of some sequence, then interaction with electromagnetic fields, gravity, strong/weak nuclear force of xyz properties will probably result in mutation along path abc, a theory the speaker must provide replicable statistical analysis to back up or it goes in the bin.
IT obsession with data models has pushed IT workers into pseudoscience that ignores entropy, Lindy effects; structure is mutable. Physical forces are not. Data structures are not physical forces. They’re leaky mental models our biology garbage collects due to entropy and Lindy effects.
Anyway just the take of an EE who finds the obsession with software development bizarre, full of statistical mirages, hallucinated accomplishments.
Numerous strategies now exist to write cellular decision making programs using synthetic circuits. We are entering an era where we can write DNA programs and put them into people; I wonder how we can interest more CS-minded people in this kind of "synthetic biology as programming", especially as we move from proof of concept studies in bacteria to real trials in humans [2].
[1]: https://pubmed.ncbi.nlm.nih.gov/33243890/ [2]: https://arsenalbio.com/2023/05/16/arsenalbio-announces-prese...
Also, there is a major deficit of software engineering talent in biology research (probably because pro SWEs are too expensive for academic labs, and those labs are where much of the foundational research is done). If you have the bandwidth, part time / volunteer work with an academic lab in your area could be a great way in the door.
I'm imagining a biological variant of eg. Verilog or VHDL, as this seems like the kind of domain where tools that allow for formal verification would be highly desirable.
The GRNs are a bit more dynamic than strictly on/off, but the fact they have multiple types of interaction, such as enhancers and inhibitors, means they can model logical gates better than I understand a typical neural network can.
https://www.ibm.com/topics/neural-networks#:~:text=Their%20n...
A different question: Is not the atomic indivisible of computing no more that a simple switch? A binary? Is there an equivalent for this in the human mind/brain? I suspect not but would like to hear from someone who knows more.
It is for the dominant computing paradigm currently in use, but that isn't a universal truth. As I understand it, we use binary logic primarily because it's more tractable for humans to think about and work with, not because it's the only option or even the best option in all cases. For instance there are plenty of analog computers in history, which are in some ways more closely related to biological "computers".
One idea that is important (IIRC from this book) is that many examples are really inspiration, and not direct copying of design. Biology works very differently to human machines, with very different constraints, so when engineers and designers try to stick too closely to the biological original, it may not work out very well!
If I remember correctly, Bert Hubert in his talk 'DNA: The Code of Life (SHA2017)' [3] gives an example of an IF-behaviour.
[1] https://en.wikipedia.org/wiki/KMT2D
https://www.nature.com/articles/s41467-021-26937-x
Some companies are planning to use them when designing drugs: "only activate this if both antibodies bind"
Interesting to me how the top comment has talked about constructing logic gates out of biological circuits. I wonder if anyone has done the opposite, i.e., write a probabilistic programming language whose operations are under the same amount of noise as a cell?
Can you share what you mean by this?
Evolution is about mutations when the executable file is copied.
You own cells mutate over your lifetime and the mutations may trigger genetic features across your entire body. Sometimes, these mutations cause errors that we call cancer, but not always.
Evolution is when a certain genetic feature provides better fitness (which doesn't necessarily have to come from a mutation), and then gets selected through mating. For example, if suddenly people with brown hair were a better mate, it would be much more likely for the next generation to have brown hair, until non-brown hair were "evolved" out of the gene pool completely and it would be impossible to not have brown hair.
This is how we got orange carrots, which are distinct from the previous non-orange carrots, for example.
My comment referred to OP's association of evolution with errors in genetic encoding and expression, hence my quote.
An organism is a collection a billions of threads all running the same code but starting at seemingly random entry points. Before dying, each thread forks one or more threads (depending on external factors like available memory).
In order to reproduce, the “father” code sends a copy of its current code, but only the bottom word of every byte. The “mother” program combines this with the top word of every byte and then executes it in a chroot jail to make sure it will actually run. Once it is confident it will run, it “births” it onto its own machine.
Every thread in this process is running on non-ECC memory, with cosmic rays bit-flipping things, though there are threads running around making fixes to broken threads (actually, just killing them before they can fork).
The implementation of the threads isn’t relevant here (such as modeling proteins, atp pumps, and such).
In this, evolution fitness would be less cancer (fork bombs), doing usable work, successfully mating, etc. This evolution pressure might look like preventing mating until the program is a certain age or performed certain milestones and a “score” of how well it has done its work (both partners want a good “life score” but not too high — liars could exist! — to proceed with mating).
Evolution would occur naturally over many generations. From one generation to the next, they look nearly identical, but from hundreds of generations they might look identical, or not. The “not” part is evolution.
The reason for the probabilistic nature is that biological "computations" are eletrochemical reactions and feedback loops, which do not map very well to the concept of "executing code" as in programming languages. I think a closer analogy could be a hardware description language that sythesizes analog circuits for computations (cf. analog computers) which are then subject to noise from electromagnetic radiations in the environment.
So in a certain sense, this has already been done in a very rudimentary way during the pre-digital age of computing.
Given how slow evolution is, and how many times DNA is copied and/or transcribed in any one individual, my intuition is that the error rates for genetic processes are actually incredibly low.
Activate the lac operon and transcribe the genes for lactose uptake and metabolism, entering a while loop:
WHILE lactose is present: Keep transcribing those genes.
However, this is not the DNA acting alone, it's just a component in the cellular system. The cell (E. coli in this case) is always generating a minimal amount of lactose and other sugar transporters, which act as sensors in the cell membrane that trigger feedback loops (otherwise, how would the cell ever know lactose was present?). If glucose is present, E. coli uses it preferentially and downregulates other sugar uptake and metabolism genes. This is all fairly analog rather than digital, i.e. genes that are 'turned off' may still be transcribed at a very low level.
DNA is probably more comparable to RAM, and the CPU perhaps comparable to the transcriptome (DNA -> mRNA) and the ribosome (mRNA -> protein), and overall the cell is running something comparable to a parallel multi-process fetch-decode-execute cycle.
If you've taken "Systems Engineering" or "Control Systems" type classes where you learn about oscillators and other high-level control systems work across a variety of engineering disciplines, this is a great into to how these systems are "implemented" and work inside of cells. It's not "IF" and "WHILE" loops, but more like "How are logical circuits such as e.coli path finding algorithms implemented in RNA"
From the description: "This course will assess the relationships among sequence, structure, and function in complex biological networks as well as progress in realistic modeling of quantitative, comprehensive, functional genomics analyses. Exercises will include algorithmic, statistical, database, and simulation approaches and practical applications to medicine, biotechnology, drug discovery, and genetic engineering."
https://ocw.mit.edu/courses/hst-508-genomics-and-computation...
IF : Transcriptional activator; when present a gene will be transcribed.
WHILE : Transcriptional repressor; gene will be transcribed until repressor is not present.
as stated, IF and WHILE are equivalent (the WHILE is some variation of a contrapositive of an IF)secondly, it doesn't make sense that a "repressor" would cause transcription unless it is absent, since " A transcriptional repressor is a protein that regulates gene expression by inhibiting the initiation of transcription".
It is a repressor's PRESENCE that inhibits expression, not it's ABSENCE. Hence it would make more sense to say "Transcriptional repressor; gene will be transcribed until repressor is PRESENT."
A --| B --| C
Where `A` inhibits `B` which inhibits `C`. So, while the repressor `A` is present, `C` will be transcribed. I'd imagine that simple repression is probably more common than disinhibition in gene networks, but idk.Cell chemistry can impact production of the protein strings DNA codes for and can impact if they are even functional.
Not a programmer, so maybe that's not a good analogy. But it's what came to mind as an amateur student of "Exactly how do my defective genes make my life a living hell?"
Notably solving TSP using the mechanics of DNA. Very interesting!
>It is also to be noted that DNA is just a set of instructions and not really a fully functional entity (it is functional to some extent). However, even being just a code it is comparable to a HLL code that has to be compiled to execute its functions. See this post too.
Maybe microcode?
(I heard him say it at Google, but I just checked YouTube and I don't think that particular visit is there. Maybe it's in other places?)
it's very much about physical environment and chemical reactions happening (all in parallel) and molecules with different sizes/shapes interacting in specific conditions not instructions for specific computer architecture being executed.
ps. i'm not saying its not possible, it's that it doesnt happen that way in living cells.
So a gram of DNA is 1/660 moles, or 6.023 * 10 * 23 / 660, which means a gram of DNA is 9 * 10 * 20 base pairs, making 1.8 * 10 * 21 bits, which is around 900 exabytes which is very close to a factor of two from your estimate.
(also, in case it comes in handy: pure water is 55Molar)
DNA describes hyperbolic multi-level of logic.
The lowest level programming language (assembly) is designed to
map/correspond/translate directly to hardware electronic bits.
Where, cpu emulates version of turing machine on assembly instructions.
And cpu/hardware is under control of OS ( post-pc boot strap ).
---
The mapping between hardware & assembler may static (compiled) or
interpreted in real-time into a sequence of boolean AND's and OR's.
At the assembly programming language level, the programming language
'TERMINAL' construct is 1:1 with hardware. Such abstractions typically
conveyed using BNF and/or various calculi such epsilon and lambda.
As one progresses through higher level programming lanugages, have to
work one's way through more and more non-ternmal instructions (aka grammar)
to get to just the TERMINAL value to access that 1:1 mapping to 'run'.
---
Given constraints on article length, going to reduce the bodies hyperbolic geometry
descriptions down to a simplified analytic geometric analogy via bodies largest organ -- the skin.
Can look at the skin as mobious strip where, gi tract is internal side compliment of external skin.
Organs can be views as klein bottle chained together & interact/influence each other (per flow through
klein bottle opening and/or perfusion of klein bottle surface.
Scaling down the cline bottle to cell & simplfied 2d spread sheet -- side a, side b and how progress between a & b.
The external/internal enzymes, dna, vitimins/minerals etc influence what happens on the spreadsheet
via dna bnf / 4 symbol autonoma system and/or L-system.
internal function calls equivalent to specific inter-cel functions per triggered by cell resources.
Obviously, organs/cells need 'external function calls/libraries' to work, which are not covered here.
While loops / if loops defined by enzyme/protines/etc created by dna interpretations. aka
while enough protine a exist -> create enzyme b. IF enzyme asdf exists -> create protine 1234
---
So, dna can be viewed as a type of turing machine aka has if / while / etc.. forms of expression.
the rest of the body is just a lambda calculi / epsion calculi / process calclui interpreter/executor.
DNA as the ultimate hyperbolic turing paper tape version of the Zark king[0]
The unbounded creaping feature creature take to the extreme over a few millenea.
---
Proof that code with all functions inlined, with only global variables, with bugs and happy accidents all over the place, eventually gains sentience and becomes self aware.
We know that for our math to work there have to be a number of higher dimensions. I think it's more logical to believe this came from something instead of from nothing.
[1]: https://en.wikipedia.org/wiki/Anti-pattern#Big_ball_of_mud
[2]: "In humans, the total female diploid nuclear genome per cell extends for 6.37 Gigabase pairs (Gbp)", https://en.wikipedia.org/wiki/DNA#Amount
To do this, you design DNA strands that bind to each other in designated regions when mixed.
To make a logic gate, you just make some bindings conditional on other bindings. To detect that the gate is closed, you make the final binding uncover a fluorophore, which is detectable by a machine. (This is all called a *displacement cascade*.)
Using our techniques, the DNA bindings could not be undone. However, I imagine that a source of new DNA strands to replenish the old would effectively implement re-callable functions.
[1] Neural nets in DNA: http://qianlab.caltech.edu/nature10262.pdf
[2] Probabilistic switching circuits: https://www.pnas.org/doi/full/10.1073/pnas.1715926115
I think a lot of computer scientists assume that their model of the world (binary logic) is the most abstracted version possible, and you can drill down other information carrying systems to that level, and then use that knowledge to build reliable systems.
Biology does not work that way. Its fundamental abstraction is different (mostly one of massive interconnectedness). Engineering logic gates and the like, mostly, doesn’t actually allow you to build better genetic circuits.
Thinking in classical compute terms there is like asking for robots that inevitably break without the slightest chance of self repair, much less do it at minimal effort.
These papers, and people commenting on them, also often appear to believe that just finding that entanglement is happening would itself mean something; it's not hard to read them as basically saying "and we found the 'Here There Be Magic' in the brain!" They don't even seem to speculate as to what the entanglement and "quantum" would be doing. What visible difference would it make versus a non-"quantum" brain? How could we determine that the brain is using "quantum" to do something that could not otherwise be explained or is somehow irreducible to some otherwise-classical phenomenon? Not only do I not see answers, not only do I not even really see theories, I don't even see much recognition that the question exists.
We have quantum computers right now. They are small, but they are fully quantum. They don't do anything by virtue of their quantumness. They aren't sitting there being ambiently quantum. They have to be set up, then executed, then answers read out, and the way in which they deviate from non-quantum computers is actually perfectly mathematically characterizable. And it is not clear to me exactly how those differences are supposed to be useful to describing how a brain works even if functioning quantum computers can be found. Basically, the problem of how a brain works is so vast that the question of whether or not it has some sort of quantum computer in it sinks without a trace, and certainly without providing any sort of explanation at the present time.
Dr. Stuart Hameroff comes to mind [1]
His hypothesis is the "less incorrect" I've heard of.
[1] https://www.youtube.com/watch?v=YpUVot-4GPM&list=PLOfMRzYBxE...
It doesn't matter what Turing-complete model you have; they are all equivalent, even if exponentially slower than another. And no, binary logic is not the most abstracted version possible. Clearly lambda calculus is....ok, just kidding. You can build a universal computer out of just two stacks, out of subtract-and-jump-if-zero, and a lot of other things. (https://gwern.net/turing-complete)
I don't think computer scientists really think that binary logic is the only computation paradigm that makes sense, it just happens to be one that we can make extremely fast and extremely reliable realizations of using electronic circuits. It's been phenomenally successful.
DNA's primary (though maybe not only) function is to act as a blueprint for constructing proteins. What little logic exists in it naturally has to do with conditionally expressing those only when it is advantageous to the organism. That's not necessarily the same thing as a logical if.
Biology is analog, which is a whole different ballgame compared Turing completeness. And extremely hard to replicate with digital paradigms
This is a giant problem with software engineers, which makes us quite obnoxious.
We have mental models that work for understanding computers, and then go misapply that those models to everything else in the universe. Frequently that turns into arrogance, by insisting the right way to think anything is in computer-terms, and every other way of thinking is inferior and wrong. Then you get stuff like Engineer's Disease, where you get some software guy lecturing actual experts in other fields about how they're doing it all wrong, or declaring alien fields to be nonsense because they're different.
Reading...
https://en.wikipedia.org/wiki/Cre-Lox_recombination?wprov=sf...
https://en.wikipedia.org/wiki/Receptor_activated_solely_by_a...
I've also read that DNA chromosomes can under go conformal changes in response to the environment it's in, making certain reading frames more or less likely to be transcribed, which makes DNA something like an environmentally sensitive memory subsystem for RNA.
Which I've always wondered if this mechanism is involved in how the homeobox genes work to alter genetic express across the "floor plan" of the body.
Anyways, I guess all this means, to whatever extent you might be able to identify programming "constructs" within the system, the overall effects are going to be dominated by noise and emergent behaviors, and the overall mode of the system is one of "feedback control loops."
tl;dr: selenocysteine doesn't have a normal coding as a base triple, but as re-interpretation of a stop codon due to the information stored _after_ that stop codon that makes an RNA stick to itself during translation.
Kind of like "de Bruijn sequences" which can be used to reduce the total length of brute force attacks on pins.
The beginning is the end is the beginning.
Viruses use this to encode multiple protein products in a single strand of RNA, a sort of compression. But that's not all. Say that the amount of "0-frame" protein to "-1-frame" protein needs to be at a ratio of 20:1; then if the frameshift occurs with a probability of about 5% (i.e. 5% of the time that the viral RNA is translated), these protein products will then be produced in just the right ratio (this isn't a made up example either, see [2]). So not only does this trick allow for the RNA to be compressed, it also regulates protein expression. All with just one strand of RNA.
[1] https://en.wikipedia.org/wiki/Ribosomal_frameshift
[2] https://en.wikipedia.org/wiki/HIV_ribosomal_frameshift_signa...
For the CS people who don’t understand what this means, a rough analogy is that HIV does something like steganography to encode two proteins in one gene.
1. The HOXD gene cluster adopts a mutually exclusive conformation. IF it "folds" to the left if results in the formation of digit bones ELIF it folds to the right of arm bones ELSE no bones etc. (very very roughly speaking): https://www.science.org/doi/10.1126/science.1234167
2. Another example are olefactory receptors, each olefactory sensory neuron (the cell that "smells") chooses to activate one out of a long array of possible receptors each specific to some smells. So somehow, somewhere a XOR logical operation is "computed" to "pick" https://europepmc.org/article/pmc/4882762
Digital computers are only noisy compared to the simplest processes, like a low rate transmission line. Compared to biological or chemical processes, a digital computer is just ludicrously low-noise, because noise doesn’t propagate unless there is a major fault.
Reality has no such constraint. If the biological processes of some animal lead to inscrutable irreducibly complex "spaghetti code" but the animal is slightly more likely to produce offspring... the complexity wins. The natural world doesn't care whether or not we can understand it.
(There is, of course, a natural selection pressure going the other direction. Brains that understand the natural world do seem to often be generally more likely to produce offspring, so there's evolutionary pressure for minds to understand the world, but not for the world to be understood by minds.)
I would argue that the evolutionary pressure only applies to a limited level of understanding of the physical world. Think how many kids people like Stephen Hawkings have and how many poorly educated people have.
Sure uneducated people now often have more kids due to less contraception options/knowledge and as old age insurance. But then again rich people have more kids than middle class because of well more money and everything that comes with it.
In any case all of this is anecdotal and emotion based because there is not much good data on this. Or maybe there is?
Do they? I am pretty sure that the vast majority of the human population is poor and not just "I can't afford an iPhone poor" but "I have no food on the table" poverty. The rich are but a tiny minority. In terms of reproduction, poor people win easily. Last time I check, rich people are more likely to be highly educated compare to anyone else and education is a predictor of reproduction rate (more education and less reproduction and less education and more reproduction).
I always find this kind of phrasing problematic due to its implicit anthrophomorphic metaphors.
Whether spaguetti code or not, I think that people often just assume that we have the capacity to understand it give the period of time between now and when humans disappear (because of evolution, a meteorite, climate change or human intervention). I am highly skeptical. Maybe, whatever species emerges after us, might have a better chance but to them we might be no different than a homo erectus is to us homo sapients.
I think the opposite is actually true for code that lives in long-running projects that change hands relatively often. It seems like the safest state for code to be in is actually to be incomprehensible, so it's too "scary" for any developer to refactor. All the comprehensible code can meanwhile be safely moved around until it's eventually incomprehensible as well.
Speaking from complete naivete about biology, I wonder if there's a similar game going on with viruses and cell machinery. If the cell's processes are too "legible", then presumably they're easier for a virus to evolve to hijack.
The central dogma is DNA -> RNA -> protein, except that: 1. RNA can fold into a functional molecule 2. RNA can be spliced differently to make several different proteins 3. RNA can bind with proteins to create other functional units 4. The availability of amino acids and TRNA units within the cell affects the speed at which a protein is translated from RNA, which can affect its structure, which affects its function 5. The codon language is not guaranteed identical between organisms, which means the same RNA sequence can encode for different amino acid sequences in different organisms
And that's just in the transcription/translation machinery. That's what I mean when I say there's no abstraction: biology is a physical system, which means molecular & atomic interactions influence every level of every process.
You can think of a design, build it and have it work as you expect. You can’t do that in biology.
The reason is that we “understand” how computers work. Our understanding of biology is nowhere near that level. A high percentage of established knowledge is wrong or so incomplete that it’s not useful for designing new systems. This is hard for engineers or even scientists from physics and chemistry to accept.
I've been a software engineer for 20 years now, I don't underestimate the complexity of computer systems or software - I think the number of people in the world who could really accurately describe every part of every system involved in showing you this note to you is maybe ten - but we've got nothing on biological systems.
When I say we “understand” everything that matters about a computer; I don’t mean one person understands. I mean each important part is understood by at least one person. Together humanity understands everything important about a computer.
Maybe by definition: current existing things in evolution are not "more compressable" (for us) without losing meaning? (Their meaning could be estimated though through -leaky- abstractions?)
https://news.ycombinator.com/item?id=32048972
(Also links to previous discussions on this theme.)
Teleological matter are the machines you get when the vast majority of the form cannot be designed.
Biology is based on "primitives" like feedback loops. For example, there are many cases where a protein that gets produced at the end of a signaling chain then goes on to stop or otherwise downregulate its own production (a negative feedback loop, positive feedback loops also exist).
Another fact that biology relies on is that increasing concentration of some molecule is essentially equivalent to increasing probability of some reaction occuring. In a negative feedback loop, for example, as the concentration of the end product increases, the probability of the reaction that that product takes part in that inhibits its own production increases. Systems then evolve such that the maximum amount of inhibition is most likely to occur when the end product is at just the right concentration.
I've often thought about making a programming language that simulates this paradigm to some extent; a probabilistic programming language where logic was implemented as feedback loops.
The other really cool example taht came up early in my education is the yeast mating switch. Yeast (s. cerevisiae) can be one of two "genders" and can only mate with the opposite gender. Yeast can change their gender: they keep two copies (alternates) of a single gene, and "cut/paste" one of the alternates into a different "currently active gender" location (https://en.wikipedia.org/wiki/Gene_conversion is the general process, https://en.wikipedia.org/wiki/Mating_of_yeast#Mechanics_of_t... is the mechanical process in yeast). It has some similarity to a flip flop.
So I think the right level to think at is not the abstraction of computer programming languages, but circuit elements. Which is what makes these brilliant articles so much fun: https://www.cell.com/cancer-cell/pdf/S1535-6108(02)00133-2.p... and https://journals.plos.org/ploscompbiol/article?id=10.1371/jo...
To cut to the chase, engineering biology is a major pain due to the long evolutionary history of biological mechanisms, which makes them somewhat esoteric and abstruse. there is so much that can be said, but over tme, I've found that expounding on this is not very helpful.
https://writings.stephenwolfram.com/2020/04/finally-we-may-h...