This applet displays a cellular automaton model of membranes.
The model is exactly reversible - and can be run backwards by ticking the checkbox supplied.
It uses an isometric neighbourhood - known as
the Square-4 partitioning neighbourhood - in
order to produce a reversible system.
The automaton can be thought of as consisting of three layers:
Each partition is divided into four cells.
- Simple gas - used solely as a source of biased pseudo-random numbers (and not displayed);
- Diffusing gas - used to greate pressure between the membranes;
- Atoms and links - used to construct the membranes themselves;
In each cell there is one bit for each of the two gases - and
seven states which are used to store the state of the atoms and links.
A membrane is represented by a continuous chain of atoms and links - e.g.:
Cellular evolution progresses according to a few simple rules:
These rules are sufficient to produce most of the dynamics visible above.
- If a bit in the gas PRNG layer is set the contents of the partition remain unchanged...
- ...otherwise the following transformations are applied:
... in all rotated and reflected variations.
If the state of the partition is not in the list above, it remains unchanged.
The second gas interacts with the membranes very simply it freezes membrane motion
is frozen in any partitions containing gas particles. This produces the effect
that the membrane tends to move away from the gas - due to interactions at the
The rules (in the diagram) all have the property that entry and exit points from
the partition are preserved - and the count of atoms and links present is also preserved.
There are a number of possibilities for extending the model:
- First note that making the membranes divide and rejoin on contact is a trivial
exercise - and can be accomplished by the following additional rules:
- The existing model is quite limited - mainly due to the use of a rather
small neighbourhood. Better dynamics - and less artefacts from the grid - could
be produced with a larger model - perhaps ones based on the Square-9
partitioning neighbourhood or the Hexagon-7 partitioning neighbourhood.
- Minimum radius - it should be possible to produce a membrane with a
controllable minimum radius of curvature using this technique - however it
appears likely that a much larger neighbourhood would be required. Probably - in
practice - if you want a cell to be kept round, the best approach will be to
fill it with a gas.
- Expanding membranes - the membranes exhibited here are inelastic. It would
be simple to build a model with extensible membranes (if using a larger
neighbourhood) by relaxing the condition that the count of atoms and links is preserved.
- Elastic membranes - these appear to be a more complex case. It appears that
these will require either variable-length links, or variable-strength links
between the atoms.
- Semi-permeable membranes - should be simple to implement.
- Directional semi-permeable membranes - i.e. ones that allow flow in one
direction while restricting flow in the reverse direction - could be implemented
by doubling the number of states that represent linked atoms. This could result in
either a double-sided membrane, or two membranes, one within the other - both of
which could be used to produce semi-permeable membranes.
An alternative approach might employ the curvature of the membrane to determine
the direction of permeablility - however this would need a larger neighbourhood
- and would probably not result in significant pressure differentials anyway.
The simplest approaches to producing directional semi-permeable membranes seem
likely to sacrifice reversibility.
- Amphipathic membranes - these are the type used in living cells, where they
form double-layers. I've made a previous attempt at modelling these using my
It would be interesting to attempt to attempt to model these directly at a low level -
using a simulated liquid and simulated molecules that oriented themselves as a result of
collisions with water particles. While the same sort of cellular automaton
"artificial chemistry" approach used here may be fruitful in doing this it is some distance
away from the system implemented here.
Amphipathic membranes may be the simplest way for nature to build membranes -
but I doubt it is the simplest way to build them in simulation. If the approach
described here has an analogue in the real world, it is probably in the form of
the family of Buckminsterfullerene-like molecules.
It is my hope that techniques for modelling membranes - related to the ones
described here - will eventually prove useful to those attempting to develop
cellular models of cell walls - and their origins - in biological sytems.