(Prototype team page) |
|||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
<html> | <html> | ||
+ | <!-- ####################################################### --> | ||
+ | <!-- # This html was produced by the igemwiki generator # --> | ||
+ | <!-- # https://github.com/igemuoftATG/generator-igemwiki # --> | ||
+ | <!-- ####################################################### --> | ||
+ | <!-- repo for this wiki: https://github.com/igem-waterloo/wiki2018 --> | ||
+ | </html> | ||
+ | {{Waterloo/head}} | ||
+ | <html> | ||
+ | <script | ||
+ | src="https://code.jquery.com/jquery-3.2.1.min.js" | ||
+ | integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script> | ||
+ | <script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML' async></script> | ||
+ | <style> | ||
+ | .titleBox { | ||
+ | width: 100%; | ||
+ | } | ||
+ | .go-top { | ||
+ | position: fixed; | ||
+ | bottom: 2em; | ||
+ | right: 2em; | ||
+ | text-decoration: none; | ||
+ | color: white; | ||
+ | background-color: rgba(0, 0, 0, 0.3); | ||
+ | font-size: 12px; | ||
+ | padding: 1em; | ||
+ | display: none; | ||
+ | } | ||
+ | .content .row{ | ||
+ | margin: 0 auto; | ||
+ | } | ||
− | + | .model { | |
− | + | padding-bottom: 18px; | |
− | + | } | |
− | + | .model img { | |
− | </ | + | max-width: 80% !important; |
+ | display: block; | ||
+ | margin-left: auto; | ||
+ | margin-right: auto; | ||
+ | } | ||
+ | .subProject .row { | ||
+ | width: 100%; | ||
+ | } | ||
+ | </style> | ||
+ | <nav class="navbar navbar-toggleable-md navbar-inverse bg-primary fixed-top"><a class="navbar-brand" href="https://2018.igem.org/Team:Waterloo">Waterloo</a><button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> | ||
+ | <span class="navbar-toggler-icon"></span> | ||
+ | </button><div class="collapse navbar-collapse" id="navbarCollapse"><ul class="navbar-nav mr-auto"> | ||
+ | <li class="nav-item"><a class="nav-link" href="https://2018.igem.org/Team:Waterloo"><span>Home</span></a></li> | ||
+ | </li> | ||
+ | <li class="dropdown nav-item"><a href="#" class="nav-link dropdown-toggle nav-link" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Team<span class="caret"></span></a> | ||
+ | <ul class="dropdown-menu"> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Team"><span>Team</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Meet_the_Microbes"><span>Meet The Microbes</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Collaborations"><span>Collaborations</span></a></li> | ||
+ | </li> | ||
+ | </ul> | ||
+ | <li class="dropdown nav-item"><a href="#" class="nav-link dropdown-toggle nav-link" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Project<span class="caret"></span></a> | ||
+ | <ul class="dropdown-menu"> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Description"><span>Description</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Design"><span>Design</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Experiments"><span>Experiments</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Interlab"><span>Interlab</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Demonstrate"><span>Demonstrate</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Results"><span>Results</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Notebook"><span>Notebook</span></a></li> | ||
+ | </li> | ||
+ | </ul> | ||
+ | <li class="nav-item"><a class="nav-link" href="https://2018.igem.org/Team:Waterloo/Parts"><span>Parts</span></a></li> | ||
+ | </li> | ||
+ | <li class="nav-item"><a class="nav-link" href="https://2018.igem.org/Team:Waterloo/Safety"><span>Safety</span></a></li> | ||
+ | </li> | ||
+ | <li class="nav-item"><a class="nav-link" href="https://2018.igem.org/Team:Waterloo/Attributions"><span>Attributions</span></a></li> | ||
+ | </li> | ||
+ | <li class="dropdown nav-item"><a href="#" class="nav-link dropdown-toggle nav-link" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Human Practices<span class="caret"></span></a> | ||
+ | <ul class="dropdown-menu"> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Human_Practices"><span>Human Practices</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Engagement"><span>Engagement</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/IAT"><span>Iat</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Societal_Considerations"><span>Societal Considerations</span></a></li> | ||
+ | </li> | ||
+ | </ul> | ||
+ | <li class="active dropdown nav-item"><a href="#" class="nav-link dropdown-toggle nav-link" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dry Lab<span class="caret"></span></a> | ||
+ | <ul class="dropdown-menu"> | ||
+ | <li class="active"><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Model"><span>Model</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Software"><span>Software</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Automation"><span>Automation</span></a></li> | ||
+ | </li> | ||
+ | <li class=""><a class="dropdown-item" href="https://2018.igem.org/Team:Waterloo/Turbidostat"><span>Turbidostat</span></a></li> | ||
+ | </li> | ||
+ | </ul> | ||
+ | </ul> | ||
+ | </div></nav> | ||
+ | <div class="content"> | ||
− | <div class=" | + | <div class="titleBox row"> |
+ | <div class="layer"> | ||
+ | <div class="squiggle squiggleForward col-xs-4"></div> | ||
+ | <div class="titleCaption col-xs-4"> | ||
+ | <h1> | ||
+ | Model | ||
+ | </h1> | ||
+ | </div> | ||
+ | <div class="squiggle squiggleBackward col-xs-4"></div> | ||
+ | </div> | ||
+ | </div> | ||
+ | <div class="model"> | ||
+ | <div class="row"><div class="col"><div class="content-main"><h2 id="model-formulation">Model Formulation</h2> | ||
+ | <p>Our system utlizes the CcaS/CcaR System as an optogenetic switch. When exposed to green light, the CcaS photoreceptor transfers its phosphate group to its binding partner, the CcaR molecule. The CcaR molecule then induces the expression of the gene of interest. Since the expression of MetE is crucial to the production of methionine, it is the optimal choice for our gene of interest. The production of methionine allows the cell to function and profilerate. In order to accurately measure the rate of proliferation, we have artifically inserted GFP, whose levels can be determined by a camera.</p> | ||
+ | <p><img src="https://static.igem.org/mediawiki/2018/8/89/T--Waterloo--Model-ReactionNetwork.png" alt="Reaction Network Diagram"></p> | ||
+ | <h5 id="formally-our-network-is-equivalent-to-">Formally, our network is equivalent to:</h5> | ||
+ | <p>\[ \frac{\textrm{CcaS}_{a}(t)}{dt} = k_1 \ell(t) + k_9\textrm{Prolif}(t)\]</p> | ||
+ | <center>The subscript 'a' indicates that we are tracking the rate of activation of the mentioned molecule.</center> | ||
− | < | + | <p>\[ \frac{\textrm{CcaR}_{a}(t)}{dt} = k_2 \textrm{CcaS}_{a} (H(t-\tau_1)\cdot |t|) + k_8\textrm{Prolif}(t)\]</p> |
− | < | + | <center>Note that a Heaviside function is introduced to account for delay in the network.</center> |
− | <p> | + | <p>\[\frac{d\textrm{Prom}_{a}(t)}{dt} = \alpha_0 + \alpha \frac{\textrm{CcaR}_{a} (t)}{k_7 + \textrm{CcaR}(t)}\]</p> |
+ | <p>\[ \frac{d\textrm{MetE}(t)}{dt} = k_6\textrm{Prom}_{a}(t) \]</p> | ||
+ | <p>\[\textrm{Logistic}(t) = \left( A+\frac{K-A}{(1+Qe^{-\beta t})^{1/\nu}} \right)\]</p> | ||
+ | <center>All parameters excluding \(t\) (being time) are parameters which are arbitrary up to experiment. Q can be determined <em>a priori</em> based on the goals of our experiment, as it is specifically is related to our boundary conditions. </center> | ||
− | </ | + | <p>\[ \frac{d\textrm{MetE}(t)}{dt} = \textrm{Logistic}_{1} (t) \cdot \textrm{CcaR}_{a}(H(t - \tau_2)\cdot |t|) \]</p> |
− | < | + | <p>\[ \frac{d\textrm{Met}(t)}{dt} = \textrm{Logistic}_{2} (t) \cdot \textrm{MetE}(H(t- \tau_3)\cdot |t|) + E_1 (t)\cdot k_3 \]</p> |
+ | <p>\[ \frac{d\textrm{GFP}(t)}{dt} = \textrm{Logistic}_{3} (t) \cdot \textrm{Met}(H(t- \tau_4)\cdot |t|)+ E_2 (t)\cdot k_4 \]</p> | ||
+ | <p>\[ \frac{d\textrm{Prolif}(t)}{dt} = \textrm{Logistic}_{4} (t) \cdot \textrm{Met}(H(t- \tau_5)\cdot |t|)+ E_3 (t)\cdot k_5 \]</p> | ||
+ | <p>\[\frac{dE_i (t)}{dt} = k_{i}\cdot \textrm{Prolif}(t)\]</p> | ||
+ | <p>\[\frac{dp_i (t)}{dt}=(k-d)\textrm{FP}_i (t) + \textrm{D}(t)\]</p> | ||
+ | <center>\(\textrm{FP}_i (t)\) is the fluorescent protein corresponding to either culture 1 or culture 2.</center> | ||
− | < | + | <p>\[\frac{dR (t)}{dt} = \frac{d}{dt} \frac{p_1 (t)}{p_2 (t)} \]</p> |
− | + | <center>\(\frac{dR (t)}{dt}\) is the ratio which we are trying to control.</center> | |
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | </ | + | |
− | <p> | + | <p>We determined that this is the most accurate reaction network that could be derived in theory, specifically excluding stochastic noise. Stochastic control theory is still a rapidly developing field and software is not readily available.</p> |
− | + | <h2 id="moving-horizon-estimate-mhe-">Moving Horizon Estimate (MHE)</h2> | |
− | + | <p>MHE is a state estimation method that utilizes multiple measurements over time. These measurements contain noise and other random variations. However, MHE will allow for the production of estimates of unknown variables and parameters in the measurements despite noise. MHE necessitates an iterative approach relying on either linear programming or nonlinear programming solvers to find solutions. This method is particularly useful for nonlinear or constrained dynamic systems for which few general models with established properties and parameters are available. We selected MHE due to its performance in environments where parameters are not precisely known.</p> | |
− | </p> | + | <p>MHE works by adjusting initial conditions and parameters within a model to align measured and predicted values. To do this it uses an internal dynamic model, an optimization cost function over the estimation horizon, and requires a history of past measurements.</p> |
− | </ | + | <h2 id="error-dynamics-of-a-linearization-of-our-model">Error Dynamics of a Linearization of Our Model</h2> |
+ | <p>For a control system such as ours, the error dynamics are critical to derive. In order to make the dynamics feasible to compute, we only consider the error dynamics of controlling a single population under this linear model:</p> | ||
+ | <p>\[x_{k+1} = x_k + 0.025u_k + 0.05w_k,\]</p> | ||
+ | <p>\[y_k = Cx_k + 0.05v_k\]</p> | ||
+ | <p>where \(x\) is the doubling time, \(y\) is the population, \(u\) is the light intensity and \(w,v\) are the process disturbance and measurement noise respectively. C is the proportionality constant in \(\frac{dp_i (t)}{dt}=C\cdot\textrm{FP}_i (t) + \textrm{D}(t)\)</p> | ||
+ | <p>Error dynamics are constructed by first applying the Karush-Kahn-Tucker (KKT) Conditions to the optimal problem solved by the MHE at a time \(T\), deriving the error dynamics at \(T-N\) and then use the equations derived to obtain the error dynamics at time \(T\). Following this standard technique <sup>3</sup> and assuming that both the process disturbance and measurement noise follow Gaussians centered at 0 with variances of 0.003 and 0.0013 respectively, we derive that</p> | ||
+ | <p>\[e_{T+1} = \begin{bmatrix} 0.4876 & 0.5112 \\ 0.5215 & 0.4587 \end{bmatrix} e_T + \begin{bmatrix} 0.0301 & 0.0452 \\ 0.0231 & 0.0621\end{bmatrix} \begin{bmatrix} W \\ V \end{bmatrix}.\]</p> | ||
+ | <p>There is significant evidence that MHE is significantly better than Kalman filtering and other more traditional techniques, not only practically but also through these derived error dynamics. There is a critical plane of process disturbance and measurement noise distributions that acts as a boundary between stable and unstable systems, that is, ones that we can prove asymptotic stability of and ones that can be prove to be asymptotically unstable. We did not determine this boundary because it requires extensive computation and is going to be inaccurate regardless given the linear model of our system. This boundary would provide the theoretical limits of how fine our control will be on cultures with our system. It is important to note that the derivation of error dynamics for MHE for complex systems such as our original network remains an active area of research.</p> | ||
+ | <h1 id="background-research">Background Research</h1> | ||
+ | <h2 id="characterizing-gene-expression-with-green-and-red-light-for-ccas-ccar">Characterizing Gene Expression with Green and Red Light for CcaS-CcaR</h2> | ||
+ | <p>The CcaS-CcaR system is activated by green light, and deactivated by red light. | ||
+ | To determine whether or not we should keep green or red light constant and modulate the other, and at what intensity this colour of light should be kept constant, literature data was used to fit parameters for Hill functions. The Hill functions for the effect of red and green light on gene expression were then plot against each other three-dimensionally. From this plot, an optimal range of gene expression can be picked and the value of intensity of either constant green or constant red light can be determined. Therefore, from this analysis we know whether to modulate green or red light while keeping the other at constant value, as well as what constant value should be maintained, to provide an optimal gene expression range.</p> | ||
+ | <h4 id="green-light">Green Light</h4> | ||
+ | <p>Steady state protein expression from the CcaS-CcaR system was plotted with an increasing intensity of green input light. The data was obtained from literature experiments and during these experiments, red light was held constant at an intensity of 1.05 W/m<sup>2</sup>.<sup>2</sup> | ||
+ | To capture the trend of the data and assign a single function across the entire range, curve fitting was performed. A negative exponential curve fits the data well with the following attributes and values: | ||
+ | Exponential function: \(y = a+b^{\textrm{exp}({c^{2})}}\)</p> | ||
+ | <ul> | ||
+ | <li>R<sup>2</sup>=0.96</li> | ||
+ | <li>Mean Squared Error=3.8</li> | ||
+ | <li>a=76.6</li> | ||
+ | <li>b=-71.2</li> | ||
+ | <li>c=-0.005</li> | ||
+ | </ul> | ||
+ | <center><img src="https://static.igem.org/mediawiki/2018/0/08/T--Waterloo--GreenLight_HillFxn.png" alt="Hill function for green light - plot"></center> | ||
− | < | + | <h4 id="red-light">Red Light</h4> |
− | < | + | <p>The same analysis was done with red-light intensity. Currently data is not available for CcaS-CcaR, therefore expression values for the Cph8-OmpR optogenetic system were used in its place.<sup>2</sup> |
+ | Exponential function: \(y = a+b^{\textrm{exp}({c^{2})}}\)</p> | ||
+ | <ul> | ||
+ | <li>R<sup>2</sup>=0.96</li> | ||
+ | <li>Mean Squared Error=5.2</li> | ||
+ | <li>a=23.98</li> | ||
+ | <li>b=94.1</li> | ||
+ | <li>c=-0.007</li> | ||
+ | </ul> | ||
+ | <center><img src="https://static.igem.org/mediawiki/2018/2/25/T--Waterloo--HillFxn_RedLight.png" alt="Hill function for red light - plot"></center> | ||
− | < | + | <h4 id="3-d-plot">3-D Plot</h4> |
− | + | <center><img src="https://static.igem.org/mediawiki/2018/1/17/T--Waterloo--Hillxn_3d.png" alt="Hill Function - 3d plot"></center> | |
− | + | ||
− | + | ||
− | </ | + | |
− | < | + | <h2 id="setting-the-frequency-and-duty-cycle-for-light-modulation">Setting the Frequency and Duty Cycle for Light Modulation</h2> |
− | + | <p>To alter gene expression of the optogenetic system, the modulation of light can be used to provide different degrees of gene expression. In turn, the modulation of light can be affected by changing the either the frequency or period of modulation, or the duty cycle. However, changing the frequency or period, or changing the duty cycle will have effects on observed gene expression.<sup>1</sup> For the purposes of our system, it was decided to alter the duty cycle and keep the frequency constant. | |
− | + | Previous studies using the same optogenetic system expressing GFP and controlled using pulse-width modulation (PWM) demonstrated that frequency largely plays are role in modifying the amplitude of gene expression (difference between the maximal and minimal fluorescence values). Where a longer period indicated a larger amplitude.<sup>1</sup> This means that changing the period of light modulation affected variability of gene expression observed between light pulses. Since the goal of the project is a fine-tuned controller for growth rate, it would be more beneficial to use a shorter and fixed period to minimize variability of expression of the optogenetic system. | |
− | + | To determine what fixed period to use, certain boundaries must be kept in mind. First, the implementation of a PWM control strategy require that switching between 'on' and 'off' light signals occurs more rapidly than the system can respond.<sup>1</sup> This allows the system to average the input and return an even output, despite light modulation. Secondly, at low input period, the system cannot respond fast enough to track input signals for induction and repression, which is required for PWM control.<sup>1</sup> To remain within these boundaries, previous research indicates using a period in the range of 1-10 minutes.<sup>1</sup> | |
− | < | + | Thus, to vary the amount of light being delivered to the system to provide a continuous rate of gene expression, the duty cycle must be varied. The duty cycle, in our case, is defined as the percentage ratio of time the light is on to time the light is off.<sup>1</sup> For example, if the period is 100 seconds and the light is on for 75 seconds. The duty cycle would be 75%. Intuitively, a longer period indicates a greater amount of observed gene expression and vice versa.<sup>1</sup> Thus, by adjusting the duty cycle, different levels of gene expression can be observed.</p> |
− | < | + | <h4 id="summary-">Summary:</h4> |
− | < | + | |
− | + | ||
− | </p> | + | |
<ul> | <ul> | ||
− | <li> | + | <li>Decided to use a fixed period in the range of 1-10 minutes to minimize variability of expression of the optogenetic system controlled with pulse-width modulation.</li> |
− | <li> | + | <li>Will adjust the duty cycle of PWM to affect levels of gene expression of the optogenetic system.</li> |
− | + | ||
− | + | ||
</ul> | </ul> | ||
+ | <h4 id="references-">References:</h4> | ||
+ | <p><strong>1.</strong> Davidson, E. A., Basu, A. S., \& Bayer, T. S. (2013). Programming Microbes Using Pulse Width Modulation of Optical Signals. <em>Journal of Molecular Biology</em>, 425(22), 4161–4166. doi:10.1016/j.jmb.2013.07.036</p> | ||
+ | <p><strong>2.</strong> Olson, E. J., Hartsough, L. A., Landry, B. P., Shroff, R., \& Tabor, J. J. (2014). Characterizing bacterial gene circuit dynamics with optically programmed gene expression signals. Nature Methods, 11(4), 449-455. doi:10.1038/nmeth.2884</p> | ||
+ | <p><strong>3.</strong> Voelker, Anna, Konstantinos Kouramas, and Efstratios N. Pistikopoulos. "Moving Horizon Estimation: Error Dynamics and Bounding Error Sets for Robust Control." Automatica 49, no. 4 (2013): 943-48. Accessed October 16, 2018. doi:10.1016/j.automatica.2013.01.008.</p> | ||
+ | </div></div></div> | ||
+ | <!-- <div id="inserts"> | ||
+ | <center> | ||
+ | <div class="ip-group-wrapper"> | ||
+ | <div class="btn-group btn-group" role="group" aria-label="Model"> | ||
+ | <button class="btn btn-secondary" v-on:click="ip.showing=item.title" v-for="item in ip.items"> | ||
+ | ^^item.title$$ | ||
+ | </button> | ||
+ | </div> | ||
+ | </div> | ||
+ | </center> | ||
+ | |||
+ | <center> | ||
+ | <div class="ip-group-wrapper"> | ||
+ | <div class="btn-group btn-group" role="group" aria-label="Model"> | ||
+ | <button class="btn btn-secondary" v-on:click="ip.showing=item.title" v-for="item in ip.items"> | ||
+ | ^^item.title$$ | ||
+ | </button> | ||
+ | </div> | ||
+ | </div> | ||
+ | </center> | ||
+ | </div> --> | ||
+ | </div> | ||
</div> | </div> | ||
− | </ | + | <a href="#" class="go-top">Go Top</a> |
+ | <script src="https://unpkg.com/vue"></script> | ||
+ | <!-- <script> | ||
+ | var modelPage = new Vue({ | ||
+ | el: ".model", | ||
+ | delimiters: ['^^', '$$'], | ||
+ | data:{ | ||
+ | show: 0, | ||
+ | ip: { | ||
+ | parent: "IP", | ||
+ | showing:"Aggregation DEs", | ||
+ | items: [ | ||
+ | { title: "Aggregation DEs" }, | ||
+ | { title: "Combinatorial Model" }, | ||
+ | { title: "Markov Model" }, | ||
+ | { title: "FRET Conversion" }, | ||
+ | ] | ||
+ | }}} | ||
+ | ) | ||
+ | </script> --> | ||
+ | <script> | ||
+ | $(document).ready(function() { | ||
+ | // Show or hide the sticky footer button | ||
+ | $(window).scroll(function() { | ||
+ | if ($(this).scrollTop() > 200) { | ||
+ | $('.go-top').fadeIn(200); | ||
+ | } else { | ||
+ | $('.go-top').fadeOut(200); | ||
+ | } | ||
+ | }); | ||
+ | |||
+ | // Animate the scroll to top | ||
+ | $('.go-top').click(function(event) { | ||
+ | event.preventDefault(); | ||
+ | |||
+ | $('html, body').animate({scrollTop: 0}, 300); | ||
+ | }) | ||
+ | }); | ||
+ | </script> | ||
</html> | </html> | ||
+ | {{Waterloo/footer}} |
Latest revision as of 05:10, 1 December 2018
Model
Model Formulation
Our system utlizes the CcaS/CcaR System as an optogenetic switch. When exposed to green light, the CcaS photoreceptor transfers its phosphate group to its binding partner, the CcaR molecule. The CcaR molecule then induces the expression of the gene of interest. Since the expression of MetE is crucial to the production of methionine, it is the optimal choice for our gene of interest. The production of methionine allows the cell to function and profilerate. In order to accurately measure the rate of proliferation, we have artifically inserted GFP, whose levels can be determined by a camera.
Formally, our network is equivalent to:
\[ \frac{\textrm{CcaS}_{a}(t)}{dt} = k_1 \ell(t) + k_9\textrm{Prolif}(t)\]
\[ \frac{\textrm{CcaR}_{a}(t)}{dt} = k_2 \textrm{CcaS}_{a} (H(t-\tau_1)\cdot |t|) + k_8\textrm{Prolif}(t)\]
\[\frac{d\textrm{Prom}_{a}(t)}{dt} = \alpha_0 + \alpha \frac{\textrm{CcaR}_{a} (t)}{k_7 + \textrm{CcaR}(t)}\]
\[ \frac{d\textrm{MetE}(t)}{dt} = k_6\textrm{Prom}_{a}(t) \]
\[\textrm{Logistic}(t) = \left( A+\frac{K-A}{(1+Qe^{-\beta t})^{1/\nu}} \right)\]
\[ \frac{d\textrm{MetE}(t)}{dt} = \textrm{Logistic}_{1} (t) \cdot \textrm{CcaR}_{a}(H(t - \tau_2)\cdot |t|) \]
\[ \frac{d\textrm{Met}(t)}{dt} = \textrm{Logistic}_{2} (t) \cdot \textrm{MetE}(H(t- \tau_3)\cdot |t|) + E_1 (t)\cdot k_3 \]
\[ \frac{d\textrm{GFP}(t)}{dt} = \textrm{Logistic}_{3} (t) \cdot \textrm{Met}(H(t- \tau_4)\cdot |t|)+ E_2 (t)\cdot k_4 \]
\[ \frac{d\textrm{Prolif}(t)}{dt} = \textrm{Logistic}_{4} (t) \cdot \textrm{Met}(H(t- \tau_5)\cdot |t|)+ E_3 (t)\cdot k_5 \]
\[\frac{dE_i (t)}{dt} = k_{i}\cdot \textrm{Prolif}(t)\]
\[\frac{dp_i (t)}{dt}=(k-d)\textrm{FP}_i (t) + \textrm{D}(t)\]
\[\frac{dR (t)}{dt} = \frac{d}{dt} \frac{p_1 (t)}{p_2 (t)} \]
We determined that this is the most accurate reaction network that could be derived in theory, specifically excluding stochastic noise. Stochastic control theory is still a rapidly developing field and software is not readily available.
Moving Horizon Estimate (MHE)
MHE is a state estimation method that utilizes multiple measurements over time. These measurements contain noise and other random variations. However, MHE will allow for the production of estimates of unknown variables and parameters in the measurements despite noise. MHE necessitates an iterative approach relying on either linear programming or nonlinear programming solvers to find solutions. This method is particularly useful for nonlinear or constrained dynamic systems for which few general models with established properties and parameters are available. We selected MHE due to its performance in environments where parameters are not precisely known.
MHE works by adjusting initial conditions and parameters within a model to align measured and predicted values. To do this it uses an internal dynamic model, an optimization cost function over the estimation horizon, and requires a history of past measurements.
Error Dynamics of a Linearization of Our Model
For a control system such as ours, the error dynamics are critical to derive. In order to make the dynamics feasible to compute, we only consider the error dynamics of controlling a single population under this linear model:
\[x_{k+1} = x_k + 0.025u_k + 0.05w_k,\]
\[y_k = Cx_k + 0.05v_k\]
where \(x\) is the doubling time, \(y\) is the population, \(u\) is the light intensity and \(w,v\) are the process disturbance and measurement noise respectively. C is the proportionality constant in \(\frac{dp_i (t)}{dt}=C\cdot\textrm{FP}_i (t) + \textrm{D}(t)\)
Error dynamics are constructed by first applying the Karush-Kahn-Tucker (KKT) Conditions to the optimal problem solved by the MHE at a time \(T\), deriving the error dynamics at \(T-N\) and then use the equations derived to obtain the error dynamics at time \(T\). Following this standard technique 3 and assuming that both the process disturbance and measurement noise follow Gaussians centered at 0 with variances of 0.003 and 0.0013 respectively, we derive that
\[e_{T+1} = \begin{bmatrix} 0.4876 & 0.5112 \\ 0.5215 & 0.4587 \end{bmatrix} e_T + \begin{bmatrix} 0.0301 & 0.0452 \\ 0.0231 & 0.0621\end{bmatrix} \begin{bmatrix} W \\ V \end{bmatrix}.\]
There is significant evidence that MHE is significantly better than Kalman filtering and other more traditional techniques, not only practically but also through these derived error dynamics. There is a critical plane of process disturbance and measurement noise distributions that acts as a boundary between stable and unstable systems, that is, ones that we can prove asymptotic stability of and ones that can be prove to be asymptotically unstable. We did not determine this boundary because it requires extensive computation and is going to be inaccurate regardless given the linear model of our system. This boundary would provide the theoretical limits of how fine our control will be on cultures with our system. It is important to note that the derivation of error dynamics for MHE for complex systems such as our original network remains an active area of research.
Background Research
Characterizing Gene Expression with Green and Red Light for CcaS-CcaR
The CcaS-CcaR system is activated by green light, and deactivated by red light. To determine whether or not we should keep green or red light constant and modulate the other, and at what intensity this colour of light should be kept constant, literature data was used to fit parameters for Hill functions. The Hill functions for the effect of red and green light on gene expression were then plot against each other three-dimensionally. From this plot, an optimal range of gene expression can be picked and the value of intensity of either constant green or constant red light can be determined. Therefore, from this analysis we know whether to modulate green or red light while keeping the other at constant value, as well as what constant value should be maintained, to provide an optimal gene expression range.
Green Light
Steady state protein expression from the CcaS-CcaR system was plotted with an increasing intensity of green input light. The data was obtained from literature experiments and during these experiments, red light was held constant at an intensity of 1.05 W/m2.2 To capture the trend of the data and assign a single function across the entire range, curve fitting was performed. A negative exponential curve fits the data well with the following attributes and values: Exponential function: \(y = a+b^{\textrm{exp}({c^{2})}}\)
- R2=0.96
- Mean Squared Error=3.8
- a=76.6
- b=-71.2
- c=-0.005
Red Light
The same analysis was done with red-light intensity. Currently data is not available for CcaS-CcaR, therefore expression values for the Cph8-OmpR optogenetic system were used in its place.2 Exponential function: \(y = a+b^{\textrm{exp}({c^{2})}}\)
- R2=0.96
- Mean Squared Error=5.2
- a=23.98
- b=94.1
- c=-0.007
3-D Plot
Setting the Frequency and Duty Cycle for Light Modulation
To alter gene expression of the optogenetic system, the modulation of light can be used to provide different degrees of gene expression. In turn, the modulation of light can be affected by changing the either the frequency or period of modulation, or the duty cycle. However, changing the frequency or period, or changing the duty cycle will have effects on observed gene expression.1 For the purposes of our system, it was decided to alter the duty cycle and keep the frequency constant. Previous studies using the same optogenetic system expressing GFP and controlled using pulse-width modulation (PWM) demonstrated that frequency largely plays are role in modifying the amplitude of gene expression (difference between the maximal and minimal fluorescence values). Where a longer period indicated a larger amplitude.1 This means that changing the period of light modulation affected variability of gene expression observed between light pulses. Since the goal of the project is a fine-tuned controller for growth rate, it would be more beneficial to use a shorter and fixed period to minimize variability of expression of the optogenetic system. To determine what fixed period to use, certain boundaries must be kept in mind. First, the implementation of a PWM control strategy require that switching between 'on' and 'off' light signals occurs more rapidly than the system can respond.1 This allows the system to average the input and return an even output, despite light modulation. Secondly, at low input period, the system cannot respond fast enough to track input signals for induction and repression, which is required for PWM control.1 To remain within these boundaries, previous research indicates using a period in the range of 1-10 minutes.1 Thus, to vary the amount of light being delivered to the system to provide a continuous rate of gene expression, the duty cycle must be varied. The duty cycle, in our case, is defined as the percentage ratio of time the light is on to time the light is off.1 For example, if the period is 100 seconds and the light is on for 75 seconds. The duty cycle would be 75%. Intuitively, a longer period indicates a greater amount of observed gene expression and vice versa.1 Thus, by adjusting the duty cycle, different levels of gene expression can be observed.
Summary:
- Decided to use a fixed period in the range of 1-10 minutes to minimize variability of expression of the optogenetic system controlled with pulse-width modulation.
- Will adjust the duty cycle of PWM to affect levels of gene expression of the optogenetic system.
References:
1. Davidson, E. A., Basu, A. S., \& Bayer, T. S. (2013). Programming Microbes Using Pulse Width Modulation of Optical Signals. Journal of Molecular Biology, 425(22), 4161–4166. doi:10.1016/j.jmb.2013.07.036
2. Olson, E. J., Hartsough, L. A., Landry, B. P., Shroff, R., \& Tabor, J. J. (2014). Characterizing bacterial gene circuit dynamics with optically programmed gene expression signals. Nature Methods, 11(4), 449-455. doi:10.1038/nmeth.2884
3. Voelker, Anna, Konstantinos Kouramas, and Efstratios N. Pistikopoulos. "Moving Horizon Estimation: Error Dynamics and Bounding Error Sets for Robust Control." Automatica 49, no. 4 (2013): 943-48. Accessed October 16, 2018. doi:10.1016/j.automatica.2013.01.008.