Difference between revisions of "Team:Paris Bettencourt/Modeling"
m |
|||
Line 301: | Line 301: | ||
\[ | \[ | ||
\begin{align} | \begin{align} | ||
− | T_{event | + | T_{event cell} = T_{event cell} - T_{i} |
\end{align} | \end{align} | ||
\] | \] |
Revision as of 15:17, 18 August 2015
Ferment It Yourself
iGEM Paris-Bettencourt 2O15
- Background
- Design
-
-
-
-
-
-
Modeling
Introduction
Based on a set of ordinary differential equations (ODE) describing the kinetics of the cells differentiation, we designed a model to find the best differentiation rate.
First we developed a deterministic algorithm based on the ordinary differential equations solutions.
Then we find out that a stochastic algorithm could be an other solution to solve our problem.
For system involving large cell counts, the ordinary differential equations model give an accurate representation of the behavior. But with small cell counts, the stochastic and discrete method has a significant influence on the observed behaviour.
These reasons led us to write both a deterministic programm based on the mass action law and a stochastic programm based on the Gillespie’s stochastic simulation algorithm (SSA). With these two programms we obtain an accurate analysis of the vitamin production.
Deterministic model
Parameters
We conceived a simple model with the minimum number of parameters.
We find seven significant parameters for our model.
- \(t\) : fermentation period.
- \(k_{1}\) : rate constant of the mother cell differentiation.
- \(k_{2}\) : rate constant of the mother cell doubling time.
- \(k_{3}\) : rate constant of the differentiated cell doubling time.
- \(k_{4}\) : rate constant of the differentiated cell vitamin production.
- \([MC]_0\) : initial concentration of mother cells in the medium.
- \([DC]_0\) : initial concentration of differentiated cells in the medium.
Kinetic equations
We wrote four simple kinetic equations.
\[ \begin{align} MC \xrightarrow[]{k_{1}} DC \\ MC \xrightarrow[]{k_{2}} 2.MC \\ DC \xrightarrow[]{k_{3}} 2.DC \\ DC \xrightarrow[]{k_{4}} DC + Vitamin \end{align} \]Formal mathematical solution
Translation in ordinary differential equations
We used the law of mass action to write the ordinary differential equations based on kinetic equations \((1)\), \((2)\), \((3)\) and \((4)\).
We found the following equations.
\[ \begin{align} \frac{d[MC]}{dt}(t) = (k_{2} - k_{1}).[MC](t) \end{align} \] \[ \begin{align} \frac{d[DC]}{dt}(t) = k_{1}.[MC](t) + k_{3}.[DC](t) \end{align} \] \[ \begin{align} \frac{d[Vitamin]}{dt}(t) = k_{4}.[DC](t) \Rightarrow [Vitamin](t) = k_{4}.\int_{0}^{t}{[DC](t').dt'} \end{align} \]Mathematical resolution
Simple ordinary differential equations resolution methods are used to find the solutions of the previous equations \((5)\), \((6)\), and \((7)\).
We expressed the time evolution of the mother cell, differentiated cell and vitamin concentrations.
\[ \begin{align} [MC](t) = [MC]_{0}.e^{(k_{2} - k_{1}).t} \end{align} \]
\[ \begin{align} [DC](t) = \begin{cases} [DC]_{0}.e^{k_{3}.t} + [MC]_{0}.\frac{k_{1}}{k_{2}-k_{1}-k_{3}}.(e^{(k_{2} - k_{1}).t} - e^{k_{3}.t}) & \mbox{if } k_{1} \ne k_{3} - k_{2} \\ \\ ([MC]_{0}.(k_{2} - k_{3}).t + [DC]_{0}).e^{k_{3}.t} & \mbox{if } k_{1} = k_{3} - k_{2} \end{cases} \end{align} \]
\[ \begin{align} [Vitamin](t) = \begin{cases} [DC]_{0}.\frac{k_{4}}{k_{3}}.(e^{k_{3}.t} - 1) + [MC]_{0}.\frac{k_{4}.k_{1}}{(k_{2}-k_{1}-k_{3}).(k_{2} - k_{1})}.(e^{(k_{2} - k_{1}).t} - 1) + [MC]_{0}.\frac{k_{4}.k_{1}}{(k_{2}-k_{1}-k_{3}).k_{3}}.(1 - e^{k_{3}.t}) & \mbox{if } k_{1} \ne k_{3} - k_{2} \\ \\ [DC]_{0}.\frac{k_{4}}{k_{3}}.(e^{k_{3}.t} - 1) + [MC]_{0}.\frac{k_{4}}{k_{3}}.(k_{3}.t - 1).(\frac{k_{2}}{k_{3}} - 1).(e^{k_{3}.t} - 1) + [MC]_{0}.\frac{k_{4}}{k_{3}}.(\frac{k_{2}}{k_{3}} - 1) & \mbox{if } k_{1} = k_{3} - k_{2} \end{cases} \end{align} \]Vitamin optimization
Our goal is to optimize the vitamin production. We can only change three parameters : \(k_{1}\), \([MC]_0\) and \([DC]_0\).
\(t\), \(k_{2}\), \(k_{3}\) and \(k_{4}\) are constants. \([MC]_0\) and \([DC]_0\) are not relevant parameters. It seems logical that the more cells are in the medium, the more vitamin are producted.
However, it could be interesting to compare different \(\frac{[MC]_0}{[DC]_0}\) ratios but we prefer to focus on the rate constant \(k_{1}\).
We try to find the best \(k_{1}\). To this end we maximize the vitamin function numerically with MATLAB.
As an example, lets consider the following parameters.
- \(t = 10\)
- \(k_{2} = 0.66\)
- \(k_{3} = 0.33\)
- \(k_{4} = 1\)
- \([MC]_0 = 5\)
- \([DC]_0 = 0\)
As you can see, we are able to find the best \(k_{1}\) to optimize the vitamin production.
We noticed that two differents \(k_{1}\) exists to optimize the maximum concentration of differentiated cell \([DC]\) or the maximum concentration of vitamin \([Vitamin]\).
In our case, we chose of course the \(k_{1}\) that optimize the vitamin production ie \(k_{1} = 0.207\).Deterministic evolution of mother cell, differentiated cell and vitamin concentrations
We wrote a deterministic algorithm with MATLAB using the previous solutions \((8)\), \((9)\) and \((10)\). For those interested, the source code is available here.
In order to optimize the vitamin production, we use the same parameters as previously and set \(k_{1}\) with the previous resulting value ie \(k_{1} = 0.207\).
We obtained the following graph.
As you can see, the mother cell, differentiated cell and vitamin concentrations follow an exponential law of time.
This result seems relevant. The model does not take into account the cells death and the nutrients present in the medium.Stochastic model
Parameters
We used more parameters than the deterministic model. Indeed, because of the nature of the algorithm, we need a constant rate probability distribution.
In order to do a simulation with laboratory data, we modelize the time probability distribution with a normalized gaussian distribution using the normrnd MATLAB function.
For each time distribution \(i\), we use the following time probability distribution : \[ \begin{align} \mathcal P_{i}(t) = \frac{1}{\sigma_{i}.\sqrt{2\pi}}.e^{\frac{-(t - \mu_{i})^2}{2.\sigma_{i}^2}} \end{align} \] where- \(\mathcal P_{i}(t)\) : time \(t\) probability.
- \(\mu_{i}\) : time mean.
- \(\sigma_{i}\) : time standard deviation.
Rate constants for the time distribution \(i\) is calculated using this formula : \[ \begin{align} k_{i} = \frac{ln(2)}{t} \end{align} \] The time \(t\) is a random variable with a probability \(\mathcal P_{i}(t)\) as explained above.
The vitamin concentration is computed by numerical integration using the rate constant \(k_{4}\).
We have ten parameters for this model.
- \(t\) : fermentation period.
- \(\mu_{1}\) : mother cell differentiation time mean.
- \(\sigma_{1}\) : mother cell differentiation time standard deviation.
- \(\mu_{2}\) : mother cell doubling time mean.
- \(\sigma_{2}\) : mother cell doubling time standard deviation.
- \(\mu_{3}\) : differentiated cell doubling time mean.
- \(\sigma_{3}\) : differentiated cell doubling time standard deviation.
- \(k_{4}\) : rate constant of the differentiated cell vitamin production.
- \(MC_0\) : initial number of mother cells in the medium.
- \(DC_0\) : initial number of differentiated cells in the medium.
Algorithm
Introduction
In the programm, each cell is a structure containing three elements :- the cell type :
- 1 : mother cell.
- 2 : differentiated cell.
- the next event type :
- 1 : a mother cell become a differentiated cell.
- 2 : a mother cell divide into two mother cells.
- 3 : a differentiated cell divide into two differentiated cells.
- the time before the next event.
The time \(T_{i}\) for an event is chosen thanks to the following formula \[ \begin{align} T_{i} = \frac{r}{k_{i}} \end{align} \] where- \(r \in [0,1]\) : random number generated with the rand MATLAB function.
- \(k_{i}\) : rate constant found in equation \((12)\).
There is a competition between the first two events concerning the mother cell.
Either the mother cell differentiate, or it divide into two differentiated cells.
To do the choice, we compare \(T_{1}\) and \(T_{2}\). The smallest time is the next event time.
Step 1 : Initialize the cells
First of all we have to generate the first cells in accordance with \(MC_0\) and \(DC_0\).
For each cell we set the cell type, the next event and the time before the next event.Step 2 : Choose the next event among all cell
We have an array containing all the cells. Each cell contain the time before his next event (duplicate or differentiate).
The next event time processed by the algorithm is the smallest cell next event time.Step 3 : Do the next event
Now that we know the next event type and the concerned cell (only one cell is involved here), we compute this event.
As explained above, we have three choices. If the cell is a mother cell, the cell can duplicate or differentiate.
If the cell is a differentiate cell, the cell can only duplicate.
We define a new event and time event for the cell and for the new cell in case of duplication.
We also performed the number of vitamin calculus by numerically integrating the number of \(DC\). We use the following formula. \[ \begin{align} Vitamin(t) = Vitamin(t-T_{i}) + k_{4}.DC(t).T_{i} \end{align} \] where- \(Vitamin(t)\) : number of vitamin at the instant \(t\)
- \(DC(t)\) : number of differentiated cells in the medium at the instant \(t\).
- \(T_{i}\) : time of the next event being performed.
- \(k_{4}\) : rate constant of the differentiated cell vitamin production.
Step 4 : Update the simulation time
For each cell except the concerned cell, define the cell next event time with the following formula : \[ \begin{align} T_{event cell} = T_{event cell} - T_{i} \end{align} \] where- \(T_{i}\) : time of the next event being performed.
- \(T_{event cell}\) : cell next time event.
Step 5 : Go to step 2 until the simulation time is superior to the fermentation period.
We do this processus until the simulation time is superior to the fermentation period. Of course, the number of cells increase with an exponential law. The computational power increase too with the same law.
Do not try to processed a long simulation time if your computer is not powerful.Step 6 : Show the results.
Here are a graph generated by the stochastic algorithm.
With the following distribution of event time probability.
Conclusion
Work in progress.Bibliography
- Gillespie, D. T. (1976). A general method for numerically simulating the stochastic time evolution of coupled chemical reactions. Journal of Computational Physics, 22(4), 403–434. http://doi.org/10.1016/0021-9991(76)90041-3
- Gillespie, D. T. (1977). Exact Stochastic Simulation Of Coupled Chemical-Reactions. Journal of Physical Chemistry, 81, 2340–2361. http://doi.org/10.1021/j100540a008 4
- Gillespie, D. T. (1992). A rigorous derivation of the chemical master equation. Physica A: Statistical Mechanics and Its Applications, 188(1-3), 404–425. http://doi.org/10.1016/0378-4371(92)90283-V
- Cao, Y., Gillespie, D. T., & Petzold, L. R. (2005). The slow-scale stochastic simulation algorithm. The Journal of Chemical Physics, 122(1), 14116. http://doi.org/10.1063/1.1824902
- Gillespie, D. T., Hellander, A., & Petzold, L. R. (2013). Perspective: Stochastic algorithms for chemical kinetics. Journal of Chemical Physics, 138(17). http://doi.org/10.1063/1.4801941