Paris/Cell auto 2




The cellular automaton develop to compare diffusion of DAP and differentiation is very restrictive and unrealistic due to the lake of natural behavior of cells like growth, division, death ... As a matter of fact, a cellular automaton point of view does not allow to deal with dynamical population:

  • required automaton rules to push cells and to allow divisions, are hard to carry out;
  • the rigid structure of the grid prevent any topological modification of the population organization;
  • somatic cells that cannot divide keep on growing and become significantly bigger that germ bacteria, a missing notion in a cellular automaton.

With this second simulation we focus on this issue. We consider SMB as a dynamical system with a dynamical structure and aim at studying the impact of the cells organization on the future of the population. In order to achieve this goal, we need a mechanistic model that will allow cell to divide and die. We propose to use a masses/springs model. Such model allow

  • division and death by adding or removing masses,
  • cell growth by increasing springs rest length,
  • to fill holes in the population (if there is some empty place in the population springs will push masses to fill it),
  • to prevent a dispersion of cells (springs cannot infinitely extends).

This mechanistic model has to be coupled with the biological one we previously have developed.

We first stress out the hypothesis of this simulation, we then detail the mechanistic and biological models, and finally, we simulate the system considering either a DAP controlled differentiation or a DAP independent differentiation.


In this model we made four important hypotheses:

  • Even if the somatic cells feed germ ones by an indirect process (using an external diffusion in the environment and not a direct bridge communication between cells) we consider that DAP cannot diffuse very far from a somatic cell and then a somatic cell can only feed close (in fact neighbor in our model) germ cells. As a consequence, we choose to model a direct communication (equivalent to an indirect communication with a small DAP diffusion rate) by putting a black box on the underlying complex mechanisms of feeding. In other words, there is no distinction between external and internal DAP; exchange are done directly from cell to cell.
  • We consider that the population evolves in size. So we allow bacteria to die and divide. Of course, with respect to initial system, somatic cells cannot divide. On the other, we assume in this model that germ cells cannot die. In fact, we are here interested in studying the growth of the system that compulsorily requires presence of germ cells.
  • This point is not really an assumption but an property of cells that was not taken into account in the previous models. We will consider that cells are growing in size. In fact, the size of a somatic cell is supposed to be bigger than standard germ size. This could disturb a lot the geometric organization of the population.
  • Finally the two following case will be considered:
  • First case: the differentiation is DAP dependent
  • Second case: the differentiation is done with a constant rate

Description of the Model

As we have already said, this model is divided into two:

  • the mechanistic model that is used to deal with the cells displacement (using mechanical constraints) and their neighborhood,
  • the biological model that make cells evolve, growth (by extended springs rest length), divide, die, differentiate and communicate.

Both are mainly independent (the only dependence appears with the growth where springs length are modified). So we will present them separately.

The Mechanical Model


In the mechanistic part of the system, a cell is considered as a punctual mass localized in the 2D euclidean space. All the cells are sharing the mass (we choose 1 to simplify computation). Cells are also characterized by there velocity. Finally, in order to compute the spring rest length, each cell exhibits its radius. We represent them by a tuple (px,py,vx,vy,r) where px and py are the coordinate of the cell position, vx and vy are the coordinates of its velocity vector, and r represents its radius.

The neighborhood between cells is computed using a Delaunay triangulation. In our system, if the triangulation make two cells become neighbors, this means that a spring is considered between their corresponding mass. The rest length of this spring is then the sum of the radius component of the mass representation. Once again to simplify computation the force constant of the spring is 1.

This characterization of the cells as masses corresponds to the definition of type MecaBact in the program. Fields have been added to save the sum of the forces that act on a mass.


We compute the displacement of a mass during a small time step by a Euler approximation. At each time step, the forces applied on each mass are summed, and twice integrated to compute the velocity, then the displacement and finally the new position of the mass. The considered forces are of two types: the restoring force exerted by the springs on each mass, and a friction force to prevent a divergent increase of the velocity and to ensure that the mechanical equilibrium will be reached.

The dynamics have implemented using the transformation Meca.

The Biological Model


The biological cells are represented in the same way as in the previous cellular automaton. Each bacterium is either germ or somatic and is characterized by its DAP concentration. So we represent the different states of the automaton cell by tuple of values {DAP,Type}:

  • DAP is the internal DAP concentration in the bacterium,
  • Type represents if the bacterium is differentiated or not; it can take two values BactG and BactS.

The neighborhood is given by the mechanical model.

This characterization of the biological cells corresponds to the definition of type CellBact in the program.


The biological dynamics are really simple:

  • somatic cells produce DAP, grow and die
  • germ cell consume DAP, grow, divide and differentiate
  • DAP is diffusing between cells

These rules are specified in the transformation Evol. In this transformation two rules are defined the first one to deal with somatic cells evolution and the second one with germ cells evolution. These rules can be understood as follows:

  • For somatic cells (DAP,BactS,r):
 DAP <- DAP - (DAP production) - (Diffused DAP)
 if (random < probability of death)
    kill the bacterium
   if (random < probability to grow) & (r < maximum cell size)
      r <- r + delta
  • For germ cells (DAP,BactG,r), the evolution depends on the DAP dependent or independent differentiations model
  • Case 1 (DAP dependent)
 DAP <- DAP - (DAP consummation) - (Diffused DAP)
 if (random < probability of differentiation) & (enough DAP) <- Here is the DAP dependence
    Type <- BactS
   if (r > maximum cell size)
     if (random < probability to divide) & (DAP > minimal DAP required for division)
     if (random < probability to grow)
       r <- r + delta
  • Case 2 (DAP independent)
 DAP <- DAP - (DAP consummation) - (Diffused DAP)
 if (random < probability of differentiation) <- No DAP dependence
    Type <- BactS
   if (r > maximum cell size)
     if (random < probability to divide) & (DAP > minimal DAP required for division)
     if (random < probability to grow)
       r <- r + delta

Coupling models

Finally, considering together the two models, a cell is represented by a tuple (DAP,Type,px,py,vx,vy,r).

The dynamics are simply coupled by composing functions Meca and Evol. See function step.


As it appears in the previous algorithms, a lot of parameters can be used to obtain different kind of evolutions. We introduce the reader to the 8 parameters:

  • DT: the time step. The same time step is used in the integrations of the mechanical model and in the DAP diffusion of the biological model. An application of function step computes the evolution of system during after DT.
  • K and Mu are respectively the spring constant (all the springs share the same constant) and the friction constant.
  • R0_Gm, R0_G and R0_S are the different threshold defining the range of cells radius. They are respectively the minimal germ cell size (after division), the maximal germ cells size (before division), and the maximal somatic cells size.
  • Diff characterized the DAP diffusion rate.
  • Diffp is the probability of differentiation.
  • DEPOT is the constant DAP production of somatic cells per unit of time.
  • CONS is the constant DAP consummation of germ cells per unit of time.
  • DeathSP is the probability of death of somatic cells.
  • DivGP is the probability of division of germ cells.
  • CroitS and CroitG are respectively probability of growth of somatic and germ cells.

Results MGS-inside.png

Thanks to MGS and ImoView (a software dedicated to the 3D visualization of MGS programs outputs. The input of ImoView are written in a symbolic high-level scene description languages.) we are able to generate the following animations.

In these animation, red and green spheres respectively represent germ and somatic cells. The brightness variations of the germ cells indicates the evolution of DAP concentration: the darker the color is, the lower the concentration is.

On the first line, both animations are DAP dependent simulations, while the bottom line presents two animations of DAP independent simulations. Both models (with and without dependence) qualitatively exhibit the same global behavior. Only the speed of the population growth differs; the system seems to be more efficient when a DAP dependent differentiation is considered.

The columns show another property of the system that is predicted in the phenomenological study: it exists an unstable equilibrium. On the left, the behavior corresponds to evolving organism that develops itself and colonizes the environment: that is the exponential growth of the population. On the right, parameters have been tuned to simulate a stable evolution like in a tissue or an organ. The fact that this fixed point is unstable is here verified: due to the stochastic choice done in the model, using the same set of parameters that produce right column, the population sometimes collapses in simulations, falling in the trivial fixed point.