Remix.run Logo
matheusmoreira 3 days ago

I love thinking about life as computation. Cells are computers, enzymes are functions, ribosomes are compilers, nucleic acids are source code...

Enzymes in particular are a lot like unix pipelines. An enzyme catalyzes its substrate's conversion into its product which is the substrate of another enzyme. When cells ingest glucose, it flows through the glycolysis metabolic pathway until it becomes pyruvate, and may be reduced even further depending on available resources. It's a huge pipeline of enzymes. They just kinda float around within the cell and randomly perform their tasks when their substrates chemically interact with them. No explicit program exists, it emerges from the system within the cell.

  Cell              - Computer
  Enzyme            - Function / Process / Filter
  Substrate         - Data
  Product           - Data
  Metabolic pathway - Program / Script
I've been playing in my mind with an idea for an esoteric programming language modeled around enzymes. The program defines a set of enzymes which are functions that match on the structure of data, automatically apply themselves to them and produce a modified version of the input which may in turn match against other enzymes. The resulting program metabolizes input by looping over the set of enzymes and continuously matching and applying them until the data is reduced to its final form. If no enzymes match, the output is the unmodified input.
heavyset_go 3 days ago | parent | next [-]

I think the issue with this way of thinking is that humans think in abstractions.

Abstractions don't really exist, they're a product of the human mind, but then we apply them to nature. Calling DNA code, comparing NNs and the brain, etc. But those abstractions fall apart when you look a little too deeply at what actually happens in nature.

Is DNA code? Or is it more like a machine? Is it neither, or is it something embedded in such a complex space that our simple abstractions can't capture the full nature of its being?

When you look at the nature of DNA, it does more than simply act as code. It can edit and self-modify, self-assemble, self-replicate, it can turn genes on and off, it can perform what can be argued as computations itself. If you limit yourself to thinking of it as code, you might miss crucial ways it exists/performs in real life.

matheusmoreira 3 days ago | parent | next [-]

> When you look at the nature of DNA, it does more than simply act as code.

> It can edit and self-modify, self-assemble, self-replicate, it can turn genes on and off

Unless my knowledge of biology is very outdated or incomplete, all of those things you cited are done to DNA. They don't happen spontaneously.

DNA doesn't self-replicate, a whole bunch of enzymes come and actively copy it. Genes don't spontaneously turn on and off, some enzyme comes and attaches or removes a methyl group. DNA doesn't self-assemble, it is actively coiled around histones to form nucleosomes. Bacteria have a huge variety of enzymes for manipulating native and foreign DNA, they have their own CRISPR mechanisms.

heavyset_go 3 days ago | parent | next [-]

I'm thinking more of early RNA and DNA life, where ideas like the RNA-world might have happened and applied. RNA can assemble, replicate, and catalyze to form deoxynucleosides in a proto-DNA, without "outside" work needing to happen from enzymes/proteins/etc.

Similarly, RNA and DNA "machines" could have existed before cellular life, in which genetic material self-assembled, transferred genes horizontally/vertically, etc, blurring the lines between genes as "code" and something else.

zmgsabst 3 days ago | parent | prev | next [-]

I think RNA (in particular, ribozymes) does those things.

But DNA is effectively separation of concerns: RNA systems evolved to RNA mediated systems with DNA as more inert and reliable storage and enzymes as more effective catalysts. Or so the RNA world hypothesis goes.

matheusmoreira 3 days ago | parent [-]

> ribozymes

I learned something new today! Thank you.

It's impressive that RNA of all things can be folded in such a way that it also acts like an enzyme.

dillydogg 2 days ago | parent | prev [-]

There are deoxyribozymes though are far less common than ribozymes. DNA aptamers may also meet your definition of reactions involving DNA but not acting upon DNA.

fellowniusmonk 3 days ago | parent | prev | next [-]

Well the funny thing about abstractions is they are physically real in our imaginations even if only ephemerally.

Human imagination allows us to explore as a simulation anything we want with a form of physicalized internal coherence.

Does internal coherence align with repeatable external coherence? That's what we call empirical.

Humans are the known meaning generators of the universe, we are interesting and special and our unique/random walks are important in an uncomputable and unbound sense. Who knows what casual chains will lead us, where they'll take us or how they might save us (from asteroids let's say) or might reshape the topology of spacetime.

It's early days yet.

jampekka 3 days ago | parent | prev | next [-]

> I think the issue with this way of thinking is that humans think in abstractions.

Isn't that the entire point of making abstractions? Understanding things "as they are" is impossible, so we need simplifications. Of course it should be appreciated that the abstractions are always "wrong".

"A map is not the territory it represents, but, if correct, it has a similar structure to the territory, which accounts for its usefulness."

https://en.wikipedia.org/wiki/Map%E2%80%93territory_relation

keiferski 3 days ago | parent [-]

I think the point is more that if you’re saying one abstraction is similar to another abstraction, you run the risk of over-analyzing the abstraction level and not the thing-in-itself.

2 days ago | parent | prev | next [-]
[deleted]
suddenlybananas 2 days ago | parent | prev | next [-]

>Abstractions don't really exist

I don't think ontology is quite that simple. They maybe don't exist in the same way as molecules and atoms do, but abstract concepts have some kind of reality to them.

jonahx 3 days ago | parent | prev | next [-]

> It can edit and self-modify, self-assemble, self-replicate, it can turn genes on and off, it can perform what can be argued as computations itself.

Malbolge

danmaz74 2 days ago | parent | prev [-]

"All models are wrong, but some models are useful" - George E. P. Box (probably)

minkowski 3 days ago | parent | prev | next [-]

Have a look at the join calculus and the "chemical abstract machine" as implemented in JoCaml, e.g., https://sites.google.com/site/winitzki/tutorial-on-join-calc...

alberth 2 days ago | parent | prev | next [-]

You could also think about life as a "Factory" (instead of a computer) too:

  HUMAN      FACTORY       COMPUTER
  -----      -------       --------
  Cell       Factory       Computer
  Enzyme     Worker        Functions
  Ribosome   Assembler     Compiler
  Acids      Blue Print    Source Code

The difficulty with this type of analogy is so many things need these various capabilities that it's not unique to a computer, or a factory or even a human.
AfterHIA 3 days ago | parent | prev | next [-]

You're one of those cats that provides a subtle reminder that Dr. Alan Kay (invented the tablet/Xerox ALTO interface) was first a biologist. Thank you for the enlightened smalltalk! (;3)

discarded1023 2 days ago | parent | prev | next [-]

Luca Cardelli worked on this stuff a while back [1]. Perhaps "systems biology" [2] might provide an entry to the literature.

[1] https://en.wikipedia.org/wiki/Luca_Cardelli

[2] https://en.wikipedia.org/wiki/Systems_biology

dluan 3 days ago | parent | prev [-]

You might be interested in Tinkercell, though at this point it may be somewhat outdated and old. There are lots of other more granular systems biology/chemical reaction network software tools, the most ambitious is probably OpenWorm which is still active.

Just keep in mind though that you have to think of cells as very slow, but massively parallel computers.