Hacker News new | ask | show | jobs
by fabian2k 853 days ago
I don't think the programming analogies are helpful here, they seem to cause a serious amount of confusion. The basic idea isn't so bad, but too many people seem to try and push them much, much further than they can work.

For a developer this analogy also implies a lot of assumptions that they know to be true for code that are simply wrong for biology.

1 comments

One can view the cell as an information processing entity. If we agree with that view then it can be analyzed as an abstract computational process.

If you are upset about using the word 'computational' then consider it to be a dynamical process. We can then use mathematics to analyze this system.

In any event, genes (programming instructions) encode proteins (applications) that run in the cell (operating system).

Now biology is weird and has multiple feedback steps, some of which we probably do not even know yet, but the basic approach is solid.

Those analogies imply things that simply aren't true. Genes and proteins aren't digital, they are real entities with physical and chemical properties that affect everything they do.

Of course you can model various aspects of cells mathematically. But that doesn't require any analogies to software.

There's no requirement that a computer or computational process be 'digital'. Analog computers exist, in fact, the first computers were analog.

At any rate digital (0,1) strings aren't that different than DNA strings (A, T, C, G) and just because we have 4 characters in the alphabet doesn't mean you can't analyze it as an abstract computational process.

You can also discretize the concentration of molecules such that above a threshold switch like behavior occurs (gene turns on or off).

Also people have done experiments where they program DNA to perform computations to solve various problems like the traveling salesman problem. This is a direct application of using biology to solve a "digital problem" https://www.nature.com/articles/news000113-10

So here we have an example of an artificial logical problem encoded into DNA and solved using biology. That means biology can simulate computational algorithms.

"model various aspects of cells mathematically"

I think a lot of people here will equate software/programming to mathematically modeling.

Saying you can model/math it, but not use software analogies, is just really trying to split hairs, since models/math is also software.