|
|
Line 1: |
Line 1: |
− | {{Heidelberg/header
| |
− | }}
| |
− | {{Heidelberg/navbar
| |
− | }}
| |
− | {{Heidelberg/templateus/Mainbody|
| |
− | Modeling.|
| |
− | E. coli and M13 titer and fitness|
| |
− | https://static.igem.org/mediawiki/2017/a/ae/T--Heidelberg--2017_Background_Tiger.jpg|
| |
| | | |
− | {{Heidelberg/templateus/AbstractboxV2|
| |
− | Modeling|
| |
− | With Interactive Modelling iGEM Heidelberg provides a comprehensive set
| |
− | of tools that not only help to facilitate the implementation of PACE but
| |
− | also give an intuitive understanding of underlying mechanisms. To control
| |
− | highly complex processes such as PACE or PALE in a near-ideal way enables
| |
− | to exploit as much of it's potential as possible. The most important
| |
− | parameters were determined and examined with ODE systems, solved
| |
− | analytically or numerically, [stochastic and
| |
− | distributional] models. As far as possible the models are available
| |
− | online to make them accessible to anyone interested. When useful, a [tool
| |
− | for comparison of experimental data and the model] is available.
| |
− | In addition the Interactive modelling helps to monitor parameters that
| |
− | cannot be easily be interpreted from raw data, such as [] and combines
| |
− | different parameters to make useful statements about an experiment.|
| |
− |
| |
− | https://static.igem.org/mediawiki/2017/8/88/T--Heidelberg--2017_modelling-graphical-abstract.svg
| |
− | }}
| |
− | {{Heidelberg/templateus/Contentsection|
| |
− | {{#tag:html|
| |
− | {{Heidelberg/templateus/Heading|
| |
− | Introduction
| |
− | }}
| |
− | iGEM Heidelberg provides a comprehensive set of models that allows for
| |
− | both control and evaluation of continuous and discontinuous direction
| |
− | evolution. The interactive models facilitate regular use of the models
| |
− | in everyday lab work and are easier to understand as they provide an
| |
− | intuitive understanding by enabling the user to observe how the model
| |
− | behaves when parameters are changed.
| |
− | Predictions from the models helped to design the novel method Predcel to
| |
− | be both reliable and time efficient.
| |
− | To get accurate modelling results for the used setup, a selection of
| |
− | parameters was determined experimentally and included in the models.
| |
− | As models for different levels of abstraction were needed, a variety of
| |
− | approaches from ordinary differential equations, delayed
| |
− | differential equations over stochastic simulations to molecular dynamics
| |
− | was applied to obtain valuable information on the different aspects of
| |
− | directed evolution.
| |
− |
| |
− | <h2>Modelling concentrations in one Lagoon</h2>
| |
− | Here the concentrations \(c\) of uninfected <i>E. coli</i>, infected <i>E. coli</i> and phage producing <i>E. coli</i> as well as the <i>M13</i> phage are modelled. They are denoted with the subscripts \(_{u}\), \(_{i}\), \(_{p}\) and \(_{P}\). If the whole <i>E. coli</i> population is referred to, \(c_{E}\) is used. If an arbitrary <i> E. coli</i> population is meant, the subscript \(_{e}\) is used. The phage concentration \(c_{P}\) refers to the free phage only, phage that are contained in an <i>E. coli</i> they infected are not included.
| |
− | The used parameters include the time \(t\), the affinity of phage for <i>E. coli</i> \(k\), the duration between infection of an <i>E. coli</i> and the first phage leaving the <i>E. coli</i> \(t_{P}\). The three different <i>E. coli</i> populations each have a division time \(t\) that is denoted with their subscript. The fitness of a phage population is \(f\).
| |
− | }}
| |
− |
| |
− | {{Heidelberg/templateus/Tablebox|
| |
− | Table 1: Variables and Parameters used in this model |
| |
− | {{#tag:html|
| |
− | <table class="table table-bordered mdl-shadow--4dp" XSSCleaned="overflow-x: scroll !important">
| |
− | <thead>
| |
− | <tr>
| |
− | <th>Symbol</th>
| |
− | <th>Name in source code</th>
| |
− | <th>Value and Unit</th>
| |
− | <th>Explanation</th>
| |
− |
| |
− | </tr>
| |
− | </thead>
| |
− | <tbody>
| |
− | <tr>
| |
− | <td>\(c \)</td>
| |
− | <td>-</td>
| |
− | <td>[cfu] or [pfu] </td>
| |
− | <td>colony forming units for <i> E. coli</i> [cfu] or plaque forming units [pfu] for M13 phage</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( _u\)</td>
| |
− | <td>-</td>
| |
− | <td> - </td>
| |
− | <td>Subscript for uninfected <i>E. coli</i></td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( _i\)</td>
| |
− | <td>-</td>
| |
− | <td> - </td>
| |
− | <td>Subscript for infected <i>E. coli</i></td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( _p\)</td>
| |
− | <td>-</td>
| |
− | <td> - </td>
| |
− | <td>Subscript for phage-producing <i>E. coli</i></td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( _e\)</td>
| |
− | <td>-</td>
| |
− | <td> - </td>
| |
− | <td>Subscript any the of <i>E. coli</i> populations on its own</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( _E\)</td>
| |
− | <td>-</td>
| |
− | <td> - </td>
| |
− | <td>Subscript for all populations of <i>E. coli</i> together</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( _P\)</td>
| |
− | <td>-</td>
| |
− | <td> - </td>
| |
− | <td>Subscript for M13 phage</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(c_{c} \)</td>
| |
− | <td><pre>capacity</pre></td>
| |
− | <td>[cfu/ml]</td>
| |
− | <td>Maximum concentration of <i>E. coli</i> possible under given conditions, important for logistic growth</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(t\)</td>
| |
− | <td><pre>t</pre></td>
| |
− | <td>[min]</td>
| |
− | <td>Duration since the experiment modeled was started</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(t_{u} \)</td>
| |
− | <td><pre>tu</pre></td>
| |
− | <td>\(20\) min</td>
| |
− | <td>Duration one division of uninfected <i>E. coli</i></td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(t_{i} \)</td>
| |
− | <td><pre>ti</pre></td>
| |
− | <td>\(30\) min</td>
| |
− | <td>Duration one division of infected <i>E. coli</i></td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(t_{p} \)</td>
| |
− | <td><pre>tp</pre></td>
| |
− | <td>\(40\) min</td>
| |
− | <td>Duration one division of phage producing <i>E. coli</i></td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( t_{P}\)</td>
| |
− | <td><pre>tpp</pre></td>
| |
− | <td>[min]</td>
| |
− | <td>Duration between an <i>E. coli</i> being infected by an M13 phage and releasing the first new phage</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(g_{e} \)</td>
| |
− | <td><pre>e_growth_rate</pre></td>
| |
− | <td>[cfu/min]</td>
| |
− | <td>Growth rate of <i>E. coli</i>, depending on the type of growth (either logistic or exponential), the current concentration \(c_{e}\), the maximum concentration \(c_{c}\), and the division time \(t_{e}\)</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( k\)</td>
| |
− | <td><pre>k</pre></td>
| |
− | <td>\(3 \cdot 10^{-11}\frac{1}{cfu \cdot pfu \cdot ml \cdot min}\)</td>
| |
− | <td>Affinity of M13 phage for <i>E. coli</i></td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( \mu_{max}\)</td>
| |
− | <td><pre>mumax</pre></td>
| |
− | <td>\(16.67 \frac{cfu}{min \cdot ml \cdot cfu}\)</td>
| |
− | <td>Wildtype M13 phage production rate</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\( f\)</td>
| |
− | <td><pre>f</pre></td>
| |
− | <td>?</td>
| |
− | <td>Fitnessvalue, fraction of actual \(\mu\) and \(\mu_{max}\)</td>
| |
− | </tr>
| |
− | </tbody>
| |
− | </table>
| |
− | }}|
| |
− | List of all paramters and variables used in this model. When possible values are given.
| |
− | }}
| |
− | {{#tag:html|
| |
− | Each term describing the change of an <i>E. coli</i> concentration contains its growth, \(g_{e}\). The growth rate of an <i>E. coli</i> population can be modelled by exponential growth or by logistic growth. Especially, when long durations per lagoon are modelled, the logistic growth model is more exact. [source].
| |
− | In the exponential case the growth rate \(g_{e}\) is modelled as
| |
− | $$
| |
− | g_{e} (t_{e}) = c_{e} \cdot \frac{log(2)}{t_{e} }
| |
− | $$
| |
− | Note that the growth rate in the model increases over time, while in the modelled culture, the nutrient concentration decreases.
| |
− |
| |
− | That makes the logistic model more plausible, it models \(g_{e}\) as
| |
− | $$
| |
− | g_{e} (t_{e}, \: c_{e}(t), \: c_{c}) = \frac{c_{c} - c_{e} (t)}{c_{c} } \cdot \frac{log(2)}{t_{e} }
| |
− | $$
| |
− | In this case the learning rate decreases as the current concentration \(c_{e}\) approaches the maximum capacity for <i>E. coli</i> in the given setup \(c_{c}\). With this model \(c_{e} \leq c_{c}\) is true for any point in time.
| |
− |
| |
− |
| |
− | <b>Change of concentration of uninfected <i>E. coli</i>, \(\frac{\partial c_{u} }{\partial t} \: [cfu/min]\)</b>
| |
− | $$
| |
− | \frac{\partial c_{u} }{\partial t}(t) = g_{u} (t_{u}, \: c_{u}(t), \: c_{c})
| |
− | - k \cdot c_{u}(t) \cdot c_{p}(t)
| |
− | $$
| |
− | In addition to the growth term, the concentration of uninfected <i>E. coli</i> is described by a term for infection that takes into account the concentration of uninfected <i>E. coli</i> and the concentration of free phage and reduces the conentration of uninfected <i>E. coli</i>.
| |
− |
| |
− | <b>Change of concentration of uninfected <i>E. coli</i>, \(\frac{\partial c_{i} }{\partial t} \: [cfu/min]\)</b>
| |
− | $$
| |
− | \frac{\partial c_{i} }{\partial t}(t) = \begin{cases}
| |
− | g_{i} (t_{i}, \: c_{i}(t), \:c_{c})
| |
− | + k \cdot c_{i}(t) \cdot c_{p}(t)
| |
− | - c_{i}(t - t_{P}),
| |
− | \quad \text{for} \: t > t_{P} \\
| |
− | g_{i} (t_{i}, \: c_{i}(t), \: c_{c})
| |
− | + k \cdot c_{i}(t) \cdot c_{p}(t),
| |
− | \quad \text{otherwise}
| |
− | \end{cases}
| |
− | $$
| |
− | Until \(t > t_{P}\) the concentration of infected <i>E. coli</i> increases by growth and infection of previouly uninfected <i>E. coli</i>. When \(t > t_{P}\), a third term describing that infected <i>E. coli</i> turn into phage-producing <i>E. coli</i> is subtracted.
| |
− |
| |
− | <b>Change of concentration of phage producing <i>E. coli</i>, \(\frac{\partial c_{p} }{\partial t} \: [cfu/min]\)</b>
| |
− |
| |
− | $$
| |
− | \frac{\partial c_{p} }{\partial t}(t) = \begin{cases}
| |
− | g_{p} (t_{p}, \: c_{p}(t), \: c_{c}) -
| |
− | c_{i}(t - t_{P}),
| |
− | \quad \text{for} \: t > t_{P} \\
| |
− | g_{p} (t_{p}, \: c_{p}(t), \: c_{c}),
| |
− | \quad \text{otherwise}
| |
− | \end{cases}
| |
− | $$
| |
− | The population of phage producing E. coli only increases by growth until \(t > t_{P}\). When infected <i>E. coli</i> drop their first phage they turn into producing <i>E. coli</i> as described by the second term.
| |
− |
| |
− | <b>Change of concentration of <i>M13</i> phage, \(\frac{\partial c_{P} }{\partial t} \: [cpu/min]\)</b>
| |
− |
| |
− | $$
| |
− | \frac{\partial c_{P} }{\partial t}(t) = c_{P}(t) \cdot \mu_{max} \cdot f - k \cdot c_{u}(t)\cdot c_{P}(t)
| |
− | $$
| |
− | The phage concentration is only increased by phage that leave phage-producing <i>E. coli</i>, which happens at a rate of \(f \cdot \mu_{max}\) per time unit, with f being the fitness, a value between 0 and 1, equal to the share of the wildtype <i>M13</i> phages fitness and \(\mu_{max}\) being the wildtype phages production rate. We assume that the only negative influence on the free phage titer is phage infecting <i>E. coli</i>, which depends on both the phage titer \(c_{P}\) and the titer of uninfected <i>E. coli</i>, \(c_{i}\).
| |
− |
| |
− | The fitness \(f\) is assumed to be constant during the time spent in one lagoon, it is assumed that all phages have the same fitness.
| |
− |
| |
− | }}
| |
− | {{#tag:html|
| |
− | <h2>Modelling concentrations over multiple Lagoons</h2>
| |
− | When transfer from one volume to the next is performed, new lagoon can be modelled with starting values calculated from the last lagoons end values.
| |
− | For each concentration from the previous lagoon \(c_{t}\), the concentration in the next lagoon \(c_{t+1}\) is calculated as
| |
− | $$
| |
− | c_{t+1} = \frac{v_{t} }{v_{l} } \cdot c_{t}
| |
− | $$
| |
− | with \(v_{l}\), the volume of a lagoon and \(v_{t}\), the volume that is transferred.
| |
− | If the transfered volume is spinned down before it is added to the new lagoon, the initial value for \(c_{P}\) is calculated this way. The initial concentration of uninfected <i>E. coli</i> is set to the initial cell density. Initial concentrations of infected and phage-producing <i>E. coli</i> are set to zero, because before the transfer, no phages are present in the new lagoon.
| |
− | If the transfer volume is not spinned down, the concentration of infected and phage-producing <i>E. coli</i> are calculated, using the above formula. The initial concentration of uninfected <i>E. coli</i> is the calculated the same way, but the initial cell density is added.
| |
− |
| |
− | In directed evolution the fitness should increase over time. A linear increase in fitness between to given values was implemented to show this. The problem with this approach is its basic assumption being that all phage-producing <i>E. coli</i> are infected by phages with the same fitness.
| |
− | To make the model more plausible, a distribution of fitness was introduced. For a set of discrete fitness values each fitness values share of the phage-producing <i>E. coli</i> population is calculated.
| |
− | That changes the equation for the change in the concentration of phage-producing <i>E. coli</i> to
| |
− | $$
| |
− | \frac{\partial c_{P} (t)}{\partial t} = -k \cdot c_{u}(t) \cdot c_{P} (t)
| |
− | + \sum_{i = 0}^N f_{i} \cdot s_{i} \cdot \mu \cdot c_{p} (t)
| |
− | $$
| |
− | The calculation is for \(N\) different fitness values \(f_{i}\) and their share of the total phage-producing <i>E. coli</i> population \(s_{i}\).
| |
− |
| |
− | }}
| |
− | {{#tag:html|
| |
− | <h2>Numeric solutions</h2>
| |
− |
| |
− | The problem described above is a system of four differential equations, of which two ( \(\frac{\partial c_{i} }{\partial t} \:, \: \frac{\partial c_{p} }{\partial t}\) ) are so called delayed differential equations. They contain a term that needs to be evaluated at a timepoint in the past \(t - t_{P}\). A custom script was used to solve the problem numerically, using the explicit Euler method.[Source!]
| |
− | The basic idea is that from a point in time with all values and all derivatives values given, the next point in time can be calculated by assuming a linear progress between the two points.
| |
− | $$
| |
− | f(t_{n+1}) = f(t_{n}) + (t_{n+1} - t_{n}) \cdot f'(t_{n})
| |
− | $$
| |
− | This is performed for \(c_{u}(t)\), \(c_{i}(t)\), \(c_{p}(t)\) and \(c_{P}(t)\) rotatory, to always have the needed values from \(t_{n}\) ready for \(t_{n+1}\).
| |
− |
| |
− | To explore, how unprecise parameters and noise influence the outcome of the model, a mode was implemented, that adds gaussian noise to all parameters. It uses the function \(n\) that makes a value \(v\) noisy with a random parameter \(r\).
| |
− | $$
| |
− | n(v) = \big(1 - 2r\big) \cdot \sigma_{G} \cdot \sigma_{v} \cdot v, \quad r \in (0, 1)
| |
− | $$
| |
− | Here, \(\sigma_{G}\) is a factor that is the same for all \(v\), \(\sigma_{v}\) is specific for \(v\). This way, it is possible to have one parameter being noisier than another, while being able to tune the noise globally.
| |
− | [Results]
| |
− | }}
| |
− | {{Heidelberg/templateus/Tablebox|
| |
− | Table 2: Additional Variables and Parameters used in the numeric solution of the model |
| |
− | {{#tag:html|
| |
− | <table class="table table-bordered mdl-shadow--4dp" XSSCleaned="overflow-x: scroll !important">
| |
− | <thead>
| |
− | <tr>
| |
− | <th>Symbol</th>
| |
− | <th>Name in Source code</th>
| |
− | <th>Value and Unit</th>
| |
− | <th>Explanation</th>
| |
− |
| |
− | </tr>
| |
− | </thead>
| |
− | <tbody>
| |
− | <tr>
| |
− | <td>\(v_{l}\)</td>
| |
− | <td><pre>vl</pre></td>
| |
− | <td>[ml]</td>
| |
− | <td>Volume of lagoon</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(t_{l} \)</td>
| |
− | <td><pre>tl</pre></td>
| |
− | <td>[min]</td>
| |
− | <td>Duration until transfer to the next lagoon</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(c_{u}(t_{0})\)</td>
| |
− | <td><pre>ceu0</pre></td>
| |
− | <td>[cfu]</td>
| |
− | <td>Concentration of <i>E. coli</i> in a lagoon when M13 phages are transfered to it</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(c_{P}(t_{0})\)</td>
| |
− | <td><pre>cp0</pre></td>
| |
− | <td>[pfu]</td>
| |
− | <td>Initial concentration of M13 phage in the first lagoon</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(n\)</td>
| |
− | <td><pre>epochs</pre></td>
| |
− | <td>-</td>
| |
− | <td>Number of epochs that are modelled, one epoch being everything that happens in one particular lagoon</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(s\)</td>
| |
− | <td><pre>tsteps</pre></td>
| |
− | <td>-</td>
| |
− | <td>Number of time steps for which numeric solutions are calculated, counted per epoch</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(c_{P}^{min}\)</td>
| |
− | <td><pre>min_cp</pre></td>
| |
− | <td>[pfu]</td>
| |
− | <td>Lower threshold for valid phage titers</td>
| |
− | </tr>
| |
− | <tr>
| |
− | <td>\(c_{P}^{max}\)</td>
| |
− | <td><pre>max_cp</pre></td>
| |
− | <td>[pfu]</td>
| |
− | <td>Upper threshold for valid phage titers</td>
| |
− | </tr>
| |
− | </tbody>
| |
− | </table>
| |
− | }}|
| |
− | List of all additional paramters and variables used in the numeric solution of this model. When possible values are given.
| |
− | }}
| |
− | {{Heidelberg/templateus/Imagebox|
| |
− | https://static.igem.org/mediawiki/2015/thumb/4/49/Heidelberg_CLT_Fig.7_Splinted_Ligation.png/800px-Heidelberg_CLT_Fig.7_Splinted_Ligation.png|
| |
− | Fig: 1a Numeric solution calculated with explicit Euler approach|
| |
− | {{#tag:html|
| |
− | Logarithmic plot of the concentrations of all <i>E. coli</i> populations cE, uninfected <i>E. coli</i> ceu, infected <i>E. coli</i> cei, phage-producing <i>E. coli</i> cep and M13 phage cP
| |
− | }}|
| |
− | pos = left
| |
− | }}
| |
− | {{Heidelberg/templateus/Imagebox|
| |
− | https://static.igem.org/mediawiki/2015/thumb/4/49/Heidelberg_CLT_Fig.7_Splinted_Ligation.png/800px-Heidelberg_CLT_Fig.7_Splinted_Ligation.png|
| |
− | Fig: 1b Numeric solution calculated with explicit Euler approach|
| |
− | {{#tag:html|
| |
− | Non-logarithmic plot of the derivatives of concentrations of all <i>E. coli</i> populations cE, uninfected <i>E. coli</i> ceu, infected <i>E. coli</i> cei, phage-producing <i>E. coli</i> cep and M13 phage cP
| |
− | }}|
| |
− | pos = left
| |
− | }}
| |
− | {{Heidelberg/templateus/Imagebox|
| |
− | https://static.igem.org/mediawiki/2015/thumb/4/49/Heidelberg_CLT_Fig.7_Splinted_Ligation.png/800px-Heidelberg_CLT_Fig.7_Splinted_Ligation.png|
| |
− | Fig: 1c First derivative of concentrations calculated with explicit Euler approach|
| |
− | {{#tag:html|
| |
− | Logarithmic plot of the concentrations of all <i>E. coli</i> populations cE, uninfected <i>E. coli</i> ceu, infected <i>E. coli</i> cei, phage-producing <i>E. coli</i> cep and M13 phage cP
| |
− | }}|
| |
− | pos = left
| |
− | }}
| |
− | {{Heidelberg/templateus/Imagesection|
| |
− | https://static.igem.org/mediawiki/2017/a/ae/T--Heidelberg--2017_Background_Tiger.jpg|
| |
− | Fig: 2 Numeric solution for a range of values for \(t_{l}\) and for \(v_{t}\)|
| |
− | {{#tag:html|
| |
− | All combinations of setups for the two ranges were calculated. The number of epochs plotted is counted until either the phage titer is less than a minimal threshold (orange) or larger than a maximum threshold (blue)
| |
− | }}
| |
− | }}
| |
− | }}
| |
− | }}
| |
− | {{Heidelberg/references2
| |
− | }}
| |
− | {{Heidelberg/footer
| |
− | }}
| |