Paris/Cell auto 2
From 2007.igem.org
(→'''''We have 3 entities in our model''''') |
|||
(37 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
- | {{Template: | + | {{Template:Paris_menu_modeling}} |
<br> | <br> | ||
<br> | <br> | ||
- | == | + | = 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 consider SMB as a [[Paris/mgs#Dynamical_Systems_with_a_Dynamical_Structure|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. | |
- | + | ||
- | + | ||
- | = | + | == 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 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 == | ||
+ | |||
+ | === 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 <code>(px,py,vx,vy,r)</code> where <code>px</code> and <code>py</code> are the coordinate of the cell position, <code>vx</code> and <code>vy</code> are the coordinates of its velocity vector, and <code>r</code> represents its radius. | ||
+ | |||
+ | The neighborhood between cells is computed using a [[Paris/mgs#Topological_Collections|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 <code>MecaBact</code> in the [[Paris/Sources#Cells_Spatial_Organization|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 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 [[Paris/mgs#Transformations|transformation]] [[Paris/Sources#Cells_Spatial_Organization|<code>Meca</code>]]. | ||
+ | |||
+ | == The Biological Model == | ||
+ | |||
+ | === Structure === | ||
+ | |||
+ | The biological cells are represented in the same way as in the previous [[Paris/Cell_auto|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 <code>{DAP,Type}</code>: | ||
+ | |||
+ | * <code>DAP</code> is the internal DAP concentration in the bacterium, | ||
+ | |||
+ | * <code>Type</code> represents if the bacterium is differentiated or not; it can take two values <code>BactG</code> and <code>BactS</code>. | ||
+ | |||
+ | The neighborhood is given by the mechanical model. | ||
+ | |||
+ | This characterization of the biological cells corresponds to the definition of type <code>CellBact</code> in the [[Paris/Sources#Cells_Spatial_Organization|program]]. | ||
+ | |||
+ | === Dynamics === | ||
+ | |||
+ | 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 [[Paris/mgs#Transformations|transformation]] [[Paris/Sources#Cells_Spatial_Organization|<code>Evol</code>]]. 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 <code>(DAP,BactS,r)</code>: | ||
+ | |||
+ | DAP <- DAP - (DAP production) - (Diffused DAP) | ||
+ | '''if''' (random < probability of death) | ||
+ | '''then''' | ||
+ | kill the bacterium | ||
+ | '''else''' | ||
+ | '''if''' (random < probability to grow) & (r < maximum cell size) | ||
+ | '''then''' | ||
+ | r <- r + delta | ||
+ | |||
+ | * For germ cells <code>(DAP,BactG,r)</code>, 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''' | ||
+ | '''then''' | ||
+ | Type <- BactS | ||
+ | '''else''' | ||
+ | '''if''' (r > maximum cell size) | ||
+ | '''then''' | ||
+ | '''if''' (random < probability to divide) & (DAP > minimal DAP required for division) | ||
+ | '''then''' | ||
+ | divide | ||
+ | '''else''' | ||
+ | '''if''' (random < probability to grow) | ||
+ | '''then''' | ||
+ | r <- r + delta | ||
+ | |||
+ | :* Case 2 (DAP independent) | ||
+ | |||
+ | DAP <- DAP - (DAP consummation) - (Diffused DAP) | ||
+ | '''if''' (random < probability of differentiation) '''<- No DAP dependence''' | ||
+ | '''then''' | ||
+ | Type <- BactS | ||
+ | '''else''' | ||
+ | '''if''' (r > maximum cell size) | ||
+ | '''then''' | ||
+ | '''if''' (random < probability to divide) & (DAP > minimal DAP required for division) | ||
+ | '''then''' | ||
+ | divide | ||
+ | '''else''' | ||
+ | '''if''' (random < probability to grow) | ||
+ | '''then''' | ||
+ | r <- r + delta | ||
+ | |||
+ | === Coupling models === | ||
+ | |||
+ | Finally, considering together the two models, a cell is represented by a tuple <code>(DAP,Type,px,py,vx,vy,r)</code>. | ||
+ | |||
+ | The dynamics are simply coupled by composing functions <code>Meca</code> and <code>Evol</code>. See function [[Paris/Sources#Cells_Spatial_Organization|<code>step</code>]]. | ||
+ | |||
+ | === Parameters === | ||
+ | |||
+ | 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: | ||
+ | |||
+ | * <code>DT</code>: 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 <code>step</code> computes the evolution of system during after <code>DT</code>. | ||
+ | |||
+ | * <code>K</code> and <code>Mu</code> are respectively the spring constant (all the springs share the same constant) and the friction constant. | ||
+ | |||
+ | * <code>R0_Gm</code>, <code>R0_G</code> and <code>R0_S</code> 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. | ||
+ | |||
+ | * <code>Diff</code> characterized the DAP diffusion rate. | ||
+ | |||
+ | * <code>Diffp</code> is the probability of differentiation. | ||
+ | |||
+ | * <code>DEPOT</code> is the constant DAP production of somatic cells per unit of time. | ||
+ | |||
+ | * <code>CONS</code> is the constant DAP consummation of germ cells per unit of time. | ||
+ | |||
+ | * <code>DeathSP</code> is the probability of death of somatic cells. | ||
+ | |||
+ | * <code>DivGP</code> is the probability of division of germ cells. | ||
+ | |||
+ | * <code>CroitS</code> and <code>CroitG</code> are respectively probability of growth of somatic and germ cells. | ||
+ | |||
+ | = Results [[Image:MGS-inside.png|50px]]= | ||
+ | |||
+ | Thanks to [[Paris/mgs|MGS]] and [http://mgs.ibisc.univ-evry.fr/ImoView05/index.html 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. | ||
+ | <center> | ||
+ | <html> | ||
+ | <embed style="width:350px; height:300px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=2051019221671269340&hl=en" flashvars=""; > </embed> | ||
+ | <embed style="width:350px; height:300px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=2422231061053866723&hl=en=en =en" flashvars=""> </embed> | ||
+ | </html> | ||
+ | </center> | ||
<center> | <center> | ||
<html> | <html> | ||
<embed style="width:350px; height:300px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=-193608487106391911&hl=en" flashvars=""; > </embed> | <embed style="width:350px; height:300px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=-193608487106391911&hl=en" flashvars=""; > </embed> | ||
<embed style="width:350px; height:300px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=4619339118096511087&hl=en" flashvars=""> </embed></html></center> | <embed style="width:350px; height:300px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docid=4619339118096511087&hl=en" flashvars=""> </embed></html></center> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | + | 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. | |
- | + | ||
- | The | + | 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 [[Paris/Continuous_model|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. | ||
+ | |||
+ | =[[Paris/Sources#Cell auto 2|Sources]]= |
Latest revision as of 13:19, 26 October 2007
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 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.
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 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
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 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
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
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) then kill the bacterium else if (random < probability to grow) & (r < maximum cell size) then 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 then Type <- BactS else if (r > maximum cell size) then if (random < probability to divide) & (DAP > minimal DAP required for division) then divide else if (random < probability to grow) then r <- r + delta
- Case 2 (DAP independent)
DAP <- DAP - (DAP consummation) - (Diffused DAP) if (random < probability of differentiation) <- No DAP dependence then Type <- BactS else if (r > maximum cell size) then if (random < probability to divide) & (DAP > minimal DAP required for division) then divide else if (random < probability to grow) then 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
.
Parameters
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 functionstep
computes the evolution of system during afterDT
.
-
K
andMu
are respectively the spring constant (all the springs share the same constant) and the friction constant.
-
R0_Gm
,R0_G
andR0_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
andCroitG
are respectively probability of growth of somatic and germ cells.
Results
Thanks to MGS and [http://mgs.ibisc.univ-evry.fr/ImoView05/index.html 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.