Paris/Cell auto 2
From 2007.igem.org
Contents |
Introduction
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 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.
Hypotheses
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 extenal 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 cours, 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
Neighborhood
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.
Dynamics
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 dynamics have implemented using the transformation Meca
.
The Biological Model
Structure
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 valuesBactG
andBactS
.
The neighborhood is given by the mechanical model.
This characterization of the biological cells corresponds to the definition of type CellBact
in the program.
Dynamics
Case 1
We produce this set of rules
Mechanic forces
- We create a spring between the center of each Bact, then we compute the forces related to this spring and we update the position of the cells (adding noise to it)
For bactS
*if random < Probability of death then BactS=null
else if random < probability to grow & size < max cell size then BactS=BactS+{new size=size+delta} else nothing
*Produce DAP
For BactG
*DAP'=DAP - self consumed DAP - diffused DAP *if enough DAP then if random< probability of differentiation then BactG=BactS else BactG= BactG+{DAP'} else if size > max size then if probability to divide > random & DAP'> minimal needed to divide then BactG = 2 BactG with minimal size else BactG= BactG +{DAP=DAP'} else if random < probability to grow then BactG = BactG + {new size= size + delta} else nothing
Initial state
4 BactS and a BactG in the middle
Parameters
We have 8 parameters and we can had noise for each of them.
Mechanic
- DT time step
- K constant of the spring
- Mu variation of position
- R0_Gm minimal size of a BactG (after division)
- R0_G maximal size of a BactG (before division)
- R0_S maximal size of BactS
In Bact
- Diff diffusion constant
In BactS:
- Diffp probability of differentiation
- DEPOT production of DAP
- DeathSP probability of death
- CroitS probability of growth
In BactG:
- CONS Dap consumed
- DivG probability of division
- CroitG probability of growth
Output
We use imoview to generate those movies
The output is two videos showing the evolution of the organism
- The first video show a first comportment
- Red : BactG
- Green : BactS
- dark<->light Bact : low<->high DAP
- The number of bacteria (G or S) increase with the time
- The second video show a second comportment
- Red BactG
- Green BactS
- dark<->light Bact : low<->high DAP
- The number of cells is constant and maintains itself
After playing with the parameters we can isolate 4 kinds of comportment.
2 of them are not really interested the system doesn't evolve or collapse (all the bacteria become S type).
The other 2 comportment show that our system can lead to an evolving organism developing itself and colonizing the environment or it can stay stable like a tissue or an organ.
Case 2
We produce this set of rules
Mechanic forces
- We create a spring between the center of each Bact, then we compute the forces related to this spring and we update the position of the cells (adding noise to it)
For bactS
*if random < Probability of death then BactS=null
else if random < probability to grow & size < max cell size then BactS=BactS+{new size=size+delta} else nothing
*Produce DAP
For BactG
*DAP'=DAP - self consumed DAP - diffused DAP *if random< probability of differentiation then BactG=BactS else if size > max size then if probability to divide > random & DAP'> minimal needed to divide then BactG = 2 BactG with minimal size else if random < probability to grow then BactG = BactG + {new size= size + delta} else nothing else BactG = BactG + {DAP=DAP'}
Initial state
6 BactS and a BactG in the middle for the first result
5 BactS and 2 BactG for the second result
Parameters
We have 8 parameters and we can had noise for each of them.
Mechanic
- DT time step
- K constant of the spring
- Mu variation of position
- R0_Gm minimal size of a BactG (after division)
- R0_G maximal size of a BactG (before division)
- R0_S maximal size of BactS
In Bact
- Diff diffusion constant
In BactS:
- Diffp probability of differentiation
- DEPOT production of DAP
- DeathSP probability of death
- CroitS probability of growth
In BactG:
- CONS Dap consumed
- DivG probability of division
- CroitG probability of growth
Output
We use imoview to generate those movies
The output is two videos showing the evolution of the organism
- The first video show a first comportment
- Red : BactG
- Green : BactS
- dark<->light Bact : low<->high DAP
- The number of bacteria (G or S) increase with the time
- The second video show a second comportment
- Red BactG
- Green BactS
- dark<->light Bact : low<->high DAP
- The number of cells is constant and maintains itself
After playing with the parameters we can isolate 4 kinds of comportment.
2 of them are not really interested the system doesn't evolve or collapse (all the bacteria become S type).
The other 2 comportment show that our system can lead to an evolving organism developing itself and colonizing the environment or it can stay stable like a tissue or an organ.