Difference between revisions of "Team:Waterloo/Model"

Line 2,837: Line 2,837:
  
 
</style>
 
</style>
 +
<!--
 +
Template Information:
 +
Industrious by TEMPLATED
 +
templated.co @templatedco
 +
Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
 +
-->
 +
 
<head>
 
<head>
 
<title>iGEM UWaterloo 2019 - Model</title>
 
<title>iGEM UWaterloo 2019 - Model</title>
Line 2,843: Line 2,850:
 
<meta name="description" content="" />
 
<meta name="description" content="" />
 
<meta name="keywords" content="" />
 
<meta name="keywords" content="" />
<link rel="stylesheet" href="assets/css/uwaterloo-main.css" />
+
<link rel="stylesheet" href="https://2019.igem.org/Template:Waterloo/uwaterloo-main-css?action=raw&amp;ctype=text/css"/>
 
</head>
 
</head>
 
<body class="is-preload">
 
<body class="is-preload">
Line 2,849: Line 2,856:
 
<!-- Header -->
 
<!-- Header -->
 
<header id="header">
 
<header id="header">
<a class="logo" href="index.html">Math and Modeling</a>
+
<a class="logo" href="https://2019.igem.org/Team:Waterloo">Math and Modeling</a>
 
<nav>
 
<nav>
 
<a href="#menu">Menu</a>
 
<a href="#menu">Menu</a>
Line 2,858: Line 2,865:
 
<nav id="menu">
 
<nav id="menu">
 
<ul class="links">
 
<ul class="links">
<li><a href="index.html">Home</a></li>
+
<li><a href="https://2019.igem.org/Team:Waterloo">Home</a></li>
<li><a href="Description.html">Description</a></li>
+
<li><a href="https://2019.igem.org/Team:Waterloo/Description">Description</a></li>
<li><a href="Model.html">Model</a></li>
+
<li><a href="https://2019.igem.org/Team:Waterloo/Model">Model</a></li>
+
 
</ul>
 
</ul>
 
</nav>
 
</nav>
 
  
 
<!-- Heading -->
 
<!-- Heading -->
Line 2,876: Line 2,881:
 
<div class="content">
 
<div class="content">
 
<h1 id="environmental-model">Environmental Model</h1>
 
<h1 id="environmental-model">Environmental Model</h1>
<p>An important goal of our project is to determine whether, in the viscinity of a root nodule, the Linuron concentration is  
+
<p>An important goal of our project is to determine whether the Linuron concentration in the vicinity of the root nodule is  
 
significant enough to damage the Rhizosphere and inhibit nodule growth as plants continue to develop. </p>
 
significant enough to damage the Rhizosphere and inhibit nodule growth as plants continue to develop. </p>
<p>In order to model this, we introduce a diffusion-reaction-advection model, which is a standard method in environmental engineering practices. As a consequence of this we are able to develop heuristics for whether Linuron and 3,4-DCA runoff is significant in addition to the original purpose of the model. The model is compared to a similar model by <em>Owsianiak et al</em> [1] for Linuron degradation in bioaugmentation beads. The paper by Owsianiak relied on the use of <em>Variovorax sp.</em> [4], which is one of the species responsible for our system - as such we credit many of our parameters to them.</p>
+
<p>In order to model this, we introduce a diffusion-reaction-advection model, which is standard in environmental engineering. A byproduct of this model is that we are able to develop heuristics for the magnitude of Linuron and 3,4-DCA runoff. The model is derived from a similar model by <em>Owsianiak et al</em> [1] for Linuron degradation in bioaugmentation beads. Since this paper also modelled <em>Variovorax sp.</em> [4], we were able to obtain many of our parameters from this work of Owsiniak et al.</p>
<p><strong>Insert Video</strong></p>
+
<div class="centervideo">
 +
<video class="centervideo" width="1000" height="400" controls><source src="assets/fluid_mech.mp4"></video>
 +
</div>
 +
 +
 +
<hr>
 
<h2 id="introducing-the-model">Introducing the Model</h2>
 
<h2 id="introducing-the-model">Introducing the Model</h2>
<p>As partial differential equation models are quite rare in the world of iGEM, we will introduce this model from the ground up. The first component of the model is Fick&#39;s Law.</p>
+
<p> For completeness, we introduce this model from the ground up. First, we model diffusion through the soil with Fick&#39;s Laws of diffusion.</p>
 
<p>$$ C = [\textrm{Linuron}] $$</p>
 
<p>$$ C = [\textrm{Linuron}] $$</p>
 
<p>$$ D = \textrm{diag}(D_x,D_y,D_z) $$</p>
 
<p>$$ D = \textrm{diag}(D_x,D_y,D_z) $$</p>
 
<p>$$ \nabla\cdot(D\nabla C) = \frac{\partial C}{\partial t} $$</p>
 
<p>$$ \nabla\cdot(D\nabla C) = \frac{\partial C}{\partial t} $$</p>
<p>The object D is called the diffusion matrix, which determines the speed of diffusion in different directions. Next, we add an advection term in order to model the movement of Linuron being carried by water.</p>
+
<p>The matrix D is called the diffusion matrix, which determines the speed of diffusion in different directions. Next, we add an advection term to model the transport of Linuron by water.</p>
 
<p>$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t}$$</p>
 
<p>$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t}$$</p>
<p>This advection term relies on the hydraulic head, which is a measure of water pressure in the soil. However, water tends to flow around the root nodules, so Linuron transport is diffusion-dominated inside the nodule. Therefore we must use the Navier-Stokes equation in order to find the advection velocity. In order to model degradation, we couple this with our kinetic model to find the following coupled system of PDEs.</p>
+
<p>This advection term relies on the hydraulic head, which in our case is a measure of water pressure in the soil. However, water tends to flow around the root nodules, so Linuron transport is diffusion-dominated inside the nodule. Therefore we must use the Navier-Stokes equation in order to find the advection velocity. In order to model degradation, we couple this with our kinetic model to derive this coupled system of PDEs:</p>
 
<p>$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t} + \chi_n \frac{V_{max}C}{K_m-C} $$</p>
 
<p>$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t} + \chi_n \frac{V_{max}C}{K_m-C} $$</p>
 
<p>$$ \varrho \left( \frac{\partial v_e}{\partial t} - v_e \cdot \nabla v_e \right) = \nabla \cdot \sigma(v_e,p)+f $$
 
<p>$$ \varrho \left( \frac{\partial v_e}{\partial t} - v_e \cdot \nabla v_e \right) = \nabla \cdot \sigma(v_e,p)+f $$
 
$$ \nabla \cdot v_e = 0 $$</p>
 
$$ \nabla \cdot v_e = 0 $$</p>
 
<h2 id="assumptions">Assumptions</h2>
 
<h2 id="assumptions">Assumptions</h2>
<p>In the above model, we are assuming an averaged rate of water intake - this is necessary due to the difficulties with rain models. One can see that this assumption should produce a reasonable approximation since the timescale we are working with is over weeks to months, whereas the rate of rainfall is on the order of days.</p>
+
<p>In the above model, we assumed an averaged rate of water intake - by necessity due to the complexity of the more realistic rain models. This assumption should produce a reasonable approximation since our timescale is on the order of weeks to months, whereas the rate of rainfall is on the order of days.</p>
 
<p>We also needed to verify that the rate of water transport into the nodule tissue is not limited by physiological factors such as membrane transport. In order to do this, we used the Octanol-Water partition coefficient in order to predict the rate of membrane transport using Overton&#39;s Rule [2]:</p>
 
<p>We also needed to verify that the rate of water transport into the nodule tissue is not limited by physiological factors such as membrane transport. In order to do this, we used the Octanol-Water partition coefficient in order to predict the rate of membrane transport using Overton&#39;s Rule [2]:</p>
 
<p>$$ P=\frac{K_{ow}D}{\ell} $$</p>
 
<p>$$ P=\frac{K_{ow}D}{\ell} $$</p>
<p>From this we found that the transport of Linuron into plant cells is not membrane-transport limited. In addition, the paper [1] found that background degradation of Linuron by the same pathway is negligible compared to degradation by <em>Variovorax sp.</em>, as such we ignore it in the model.</p>
+
<p>By computing the rate of membrane transport, we concluded that the transport of Linuron into plant cells is not membrane-transport limited. In addition, we assume that the background degradation of Linuron by the same pathway is negligible compared to degradation by <em>Variovorax sp.</em> as found by Owsiniak et al..</p>
 
<h2 id="numerical-methods">Numerical Methods</h2>
 
<h2 id="numerical-methods">Numerical Methods</h2>
<p>In order to solve this model we first convert the system into variational form. The Navier-Stokes terms are solved by a midpoint discretization method called Chorin&#39;s Method, while the remainder is just solved using the backwards Euler method. The following equations are obtained by integrating the above PDEs and applying integration by parts.</p>
+
<p>In order to solve this model we first convert the system into its variational form. The Navier-Stokes terms are solved by a midpoint discretization method called Chorin&#39;s Method, while the remainder is solved using the backwards Euler method. The following equations are obtained by integrating the above PDEs and applying integration by parts:</p>
 
<p>$$\int_\Omega \frac{\partial C}{\partial t} w d\tau = \int_\Omega \left[\nabla \cdot (D \nabla C)w - w v_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau =$$</p>
 
<p>$$\int_\Omega \frac{\partial C}{\partial t} w d\tau = \int_\Omega \left[\nabla \cdot (D \nabla C)w - w v_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau =$$</p>
 
<p>$$\int_\Omega \left[(-\nabla C)^T D^T \nabla w -wv_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau + \int_{\partial \Omega} w( \nabla C)\cdot d \vec{s}$$</p>
 
<p>$$\int_\Omega \left[(-\nabla C)^T D^T \nabla w -wv_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau + \int_{\partial \Omega} w( \nabla C)\cdot d \vec{s}$$</p>
<p>We then write these equations into python using the framework <em>FeNiCS</em> [3], which is a free library for solving PDEs using the Finite Element Method. Teams interested in using PDE solvers for their iGEM project should consider FeNiCS as a good alternative to expensive or large-scale programs. Using <em>ParaView</em> one can export animations and data from pythons&#39; results. We also used the python library <em>meshio</em> in order to convert meshes generated by <em>Gmsh</em> into a format compatible with FeNiCS. As a note to iGEM teams in the future considering PDE transport models, your discretization must meet the Courant-Freidrichs-Lewy (CFL) condition in order to be stable.</p>
+
<p>We now solve this system in Python using a library known as <em>FeNiCS</em> [3], which is an free, open-source library for solving PDEs with Finite Element Methods. Teams interested in using PDE solvers for their iGEM modelling should consider using FeNiCS as a great alternative to expensive proprietary software. Using <em>ParaView</em>, we export animations of our data from FeNiCS. We also used the Python library <em>meshio</em> to convert meshes generated by <em>Gmsh</em> into a format compatible with FeNiCS. As a note to future iGEM teams considering PDE transport models, your discretization must meet the Courant-Freidrichs-Lewy (CFL) condition in order to be stable.</p>
 
 
 
 
 
 
 
<h1 id="liba-nat1-pathway">LibA-NAT1 Pathway</h1>
 
<h1 id="liba-nat1-pathway">LibA-NAT1 Pathway</h1>
<p>The following is our reaction of interest.
+
            <p> We were initially considering three enzymes for Linuron degradation into
$$\text{H}2\text{O} + \text{Linuron} \longrightarrow \text{N,O-dimethylhydroxylamine} + \text{CO}_2 + \text{3,4-dichloroaniline.}$$
+
                3,4-DCA: LibA, PuhA, PuhB, and 2 enzymes for 3,4-DCA degradation: NAT1, NAT2.
It is known that purified LibA is a monomeric linuron hydrolase of ∼55 kDa with a K<sub>m</sub> and a V<sub>max</sub> for linuron of 5.8 μM and 0.16 nmol per minute for <it>Variovorax sp.</it> with an unknown enzyme concentration, respectively [4]. </p>
+
                From preliminary kinetic models, we determined that the use of NAT2 would result in an accumulation of 3,4-DCA that would almost certainly be toxic, and that a PuhA-NAT1 system
<p>The second step in the reaction involving NAT1 is characterized in Rodrigues-Lima [5]. The rate for 3,4-dichloroaniline degradation with NAT1 is computed to be 68 &plusmn 8 nmol. per min. per mg. of enzyme. In addition, the ratio of K<sub>m</sub> to V<sub>max</sub> is estimated to be 0.005 per minute for the NAT-dependent pathway for biotransformation of 3,4-DCA within Mesorhizobium loti.</p>
+
                would not degrade Linuron into 3,4-DCAA at a rate fast enough to mitigate the
<p>This ratio does not give us enough information for our reaction network. This is why we will (for the time being) assume a constant concentration of NAT1.</p>
+
                toxicity of Linuron. The dynamics of the PuhB-NAT1 and LibA-NAT1 systems under fs
 +
                our preliminary models were identical, and the LibA-NAT1 system was chosen. LibA facilitates the degradation of Liunuron into 3,4-DCA through the following reaction:</p>
 +
$$\text{H}_2\text{O} + \text{Linuron} \longrightarrow \text{N,O-dimethylhydroxylamine} + \text{CO}_2 + \text{3,4-dichloroaniline.}$$
 +
It is known that purified LibA is a monomeric linuron hydrolase of ∼55 kDa with a K<sub>m</sub> and a V<sub>max</sub> for linuron of 5.8 μM and 0.16 nmol per minute for <it>Variovorax sp.</it> with an unknown enzyme concentration [4]. </p>
 +
<p>The second step in the reaction involving NAT1 is characterized in Rodrigues-Lima [5]. The rate for 3,4-dichloroaniline degradation with NAT1 is determined to be 68 &plusmn 8 nmol. per min. per mg. of enzyme.</p>
 +
            <p>We assume that the LibA concentration and the NAT1 concentration are equal since they are placed under the same promoter in our system. This choice was done strictly due to time constraints, and our models did suggest that placing LibA and NAT1 under different promoters would result in a more effective system. In order to mitigate the inaccuracy of using just a K<sub>m</sub> valu without regard to the enzyme concentation, we decided to use the K<sub>cat</sub> from PuhB since its structure and function is very similar to NAT1.</p>
 
<h2 id="computations">Computations</h2>
 
<h2 id="computations">Computations</h2>
<p>We will first load the relevant Julia packages</p>
+
<p>We use Julia and the DiffEqBiological.jl package in order to determine the dynamics of our reaction network. Under standard assumptions in biochemical modelling, we reduce our model to the following set of equations for our system with no influx of Linuron:</p>
<pre><code class="language-julia">using DiffEqBiological;
+
            $$\frac{d[\text{Linuron}]}{dt} = - \frac{V_\max^{\text{Lin}} \cdot [\text{Linuron}]}{K_m^{\text{Lin}} + [\text{Linuron}]} [\text{Linuron}],$$
using DifferentialEquations;
+
            $$\frac{d[\text{3,4-DCA}]}{dt} = - \frac{V_\max^{\text{DCA}} \cdot [\text{3,4-DCA}]}{K_m^{\text{DCA}} + [\text{3,4-DCA}]} [\text{3,4-DCA}] - k_{\text{DCA}}[\text{3,4-DCA}],$$
using Plots;
+
            $$\frac{d[\text{DCAA}]}{dt} = k_{\text{DCAA}}[\text{DCAA}],$$
using Latexify;</code></pre>
+
            <p> where DCAA is dichloroacetanilide, which is what NAT1 degrades 3,4-DCA into. In the case of with influx, the only difference is an influx term in the first equation. With a reasonable enzyme concentration of LibA and NAT1, as well as 600 nmol of Linuron, we see that
<p>We will now construct our reaction network.</p>
+
<p><img src="https://static.igem.org/mediawiki/2019/a/a1/T--Waterloo--no-influx.svg" alt="svg"></p>
<pre><code class="language-julia">rs = @reaction_network begin
+
            <p> where $X$ is the Linuron concentration, $Y$ is the 3,4-DCA concentration, and $Z$ is the 3,4-DCAA concentration.
mm(DCA,V_max_LibA,K_m_LibA), Ln → DCA # Linuron to DCA reaction through LibA, irrelevant molecules are ignored, see below.
+
            <p> Under a high influx of Linuron, we see that </p>
rate_NAT1, DCA → DCAA # NAT1 reaction, irrelevant molecules are ignored see below
+
<p><img src="https://static.igem.org/mediawiki/2019/b/b5/T--Waterloo--influx.svg" alt="svg"></p>
end V_max_LibA K_m_LibA rate_NAT1</code></pre>
+
            which implies that LibA can mitigate the detrimental effects of high concentrations of Linuron in the soil, but there is a predicted very large accumulation of 3,4-DCA which is known to be detrimental to the cell. However, if we place LibA and NAT1 under different promoters, we see that the behaviour changes drastically if the NAT1 concentration is assumed to be 3 orders of magnitude higher than the concentration of LibA without influx:
<p>The <b>mm(X,v,K)</b> function is DiffEqBiological's Hill function. The first argument encodes the substrate in question and V, K are the paramters for the Hill function. Although LibA also needs water, for the purpose of modelling, it is safe to ignore it because it is relatively infinite. With the model eventually shwon on the wiki, the water concentration will be shown and taken into account but it is not necessary at this stage (the qualitative and even maybe quantitative differences in the solutions for not including all of the reactatns and products are going to be minimal since not including them is essentially the same as asssuming that we will never have to worry about or measure their concentrations). The same goes for the NAT1. When we start considering varying enzyme concentrations due to the expression of the enxymes, this will come back to bite us but it is not a problem for now. The differential equations are:</p>
+
<p><img src="https://static.igem.org/mediawiki/2019/e/e5/T--Waterloo--no-influx-optimal.svg" alt="svg"></p>
<p>$$ \frac{dLn}{dt} = - \frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA} \cdot Ln $$
+
            <p> and with influx: </p>
$$ \frac{dDCA}{dt} = \frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA} \cdot Ln - rate_{NAT1} \cdot DCA $$
+
<p><img src="https://static.igem.org/mediawiki/2019/8/83/T--Waterloo--influx-optimal.svg" alt="svg"></p>
$$ \frac{dDCAA}{dt} = rate_{NAT1} \cdot DCA $$</p>
+
<p>A little less useful but I still think its cool that we can do this. It&#39;ll become important in other modelling. The following is the chemical reaction network.</p>
+
<p>$$ Ln \to  DCA \hspace{1em} \left[\frac{V_{max,LibA} \cdot DCA}{K_{m,LibA} + DCA}\right] $$
+
$$DCA \to DCAA \hspace{1em} \left[[rate_{NAT1}]\right]$$</p>
+
<p>From above, we have these parameters.</p>
+
<pre><code class="language-julia">V_max_LibA = 0.16;# nmol per min.
+
K_m_LibA = 5800.;  # nmol
+
NAT1_rate_per_mg = 68.;  # nmol per min. per mg.
+
NAT1_conc = 0.01;# arbitrarily set to 10 ng for now, not sure how valid it is.
+
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;
+
 
+
p_10 = (V_max_LibA, K_m_LibA, rate_NAT1);</code></pre>
+
<p>We now assume that there is 622000000 nmol of Linuron per plate (due to a calculation by Nicki), which is why we safely assumed that there is approximate 10 ng of NAT1 (again, ballpark). In addition, the solvers require that there is a non-zero amount of DCA and DCAA already present so we set the initial conditions as follows:</p>
+
<pre><code class="language-julia">u0 = [622000000., 0.001, 0.001];
+
tspan = (0., 10.);</code></pre>
+
<p>We will now setup the problem, solve it, and plot the solutions.</p>
+
<pre><code class="language-julia">prob_10 = ODEProblem(rs, u0, tspan, p_10);
+
sol_10 = solve(prob_10, DynamicSS(Tsit5()));</code></pre>
+
<pre><code class="language-julia">plot(sol_10)</code></pre>
+
<p><img src="Linuron-NAT1_files/Linuron-NAT1_15_0.svg" alt="svg"></p>
+
<p>We see that if we assume we have 100 ng, the DCA concentration drops to much lower.</p>
+
<pre><code class="language-julia">NAT1_conc = 0.1;# 100 ng now
+
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;
+
 
+
p_100 = (V_max_LibA, K_m_LibA, rate_NAT1);
+
 
+
prob_100 = ODEProblem(rs, u0, tspan, p_100);
+
sol_100 = solve(prob_100, DynamicSS(Tsit5()));
+
 
+
plot(sol_100)</code></pre>
+
<p><img src="Linuron-NAT1_files/Linuron-NAT1_17_0.svg" alt="svg"></p>
+
<p>Going up one more order, we see that it drops to essentially zero.</p>
+
<pre><code class="language-julia">NAT1_conc = 1.;# 1 mg now
+
rate_NAT1 = NAT1_conc*NAT1_rate_per_mg;
+
 
+
p_1000 = (V_max_LibA, K_m_LibA, rate_NAT1);
+
 
+
prob_1000 = ODEProblem(rs, u0, tspan, p_1000);
+
sol_1000 = solve(prob_1000, DynamicSS(Tsit5()));
+
 
+
plot(sol_1000)</code></pre>
+
<p><img src="Linuron-NAT1_files/Linuron-NAT1_19_0.svg" alt="svg"></p>
+
<p>Since the Hill function only models substrate concentration against reaction rates, the enzyme concentration is not being modelled quantitatively (thereby assumed to be infinite). We can easily modify the above to take into account varying enzyme concentrations. In the case of the NAT1 enzyme, this directly corresponds to varying NAT1_conc which is easy since Julia allows you to define your own function for the reaction parameters which would in our case be varying over time against another &quot;HIll-ish&quot; function or one that better approximates gene expression. In the case of LibA, incorporating varying concentrations of LibA is done by moving away from the Hill function into a form such as for NAT1 (using the paramters to derive new ones and if its not possible, measuring them/finding them in literature) and then repeating what we did for NAT1 for LibA.</p>
+
<p>Now if we start to consider both enzymes (LibA and NAT1) under the same promoter, we see that both will be generated at the same rate. We can choose to model both the mRNA and protein production and decay but we do not have rates for this so we&#39;re just gonna use the quasi-steady state approximation. This changes our reaction network to</p>
+
<pre><code class="language-julia">rss = @reaction_network begin
+
r_1, ∅ → NAT1 + libA
+
r_2, NAT1 → ∅
+
r_3, libA → ∅
+
mm(DCA, V_max_LibA,K_m_LibA), Ln + libA → DCA + libA # Linuron to DCA reaction through LibA, irrelevant molecules are ignored, see below
+
rate_NAT1*NAT1, DCA → DCAA # NAT1 reaction, irrelevant molecules are ignored see below
+
end r_1 r_2 r_3 V_max_LibA K_m_LibA rate_NAT1</code></pre>
+
 
+
 
<h2 id="conclusions">Conclusions</h2>
 
<h2 id="conclusions">Conclusions</h2>
<h3 id="liba-nat1">LibA-NAT1</h3>
+
            <p> Under reasonable amounts of uncertainty in our model, the dynamics of our system were not drastically different. From our model, we determined that in order to engineer a system for the real world, we would need to place LibA and NAT1 under different promoters, ideally with NAT1 under a relatively strong promoter when compared to LibA. In addition, we can conclude that the LibA-NAT1 system could be engineered to degrade Linuron into 3,4-dichloroacetanilide under a wide range of thresholds for toxic concentrations of Linuron and 3,4-DCA. Under the above assumptions of our system, we have demonstrated that a LibA-NAT1 system can efficiently and effectively reduce Linuron concentration in the soil while preserving the rhizosphere.
<p>For the LibA-NAT1 system, assuming that the LibA parameters of K<sub>m</sub> and V<sub>max</sub> are accurate for our system, we see that at a NAT1 concentration of 10 picomol, that the system hits a maximum 3,4-DCA concentration of less than a third of the initial Linuron concentration. For all concentrations above 10 picomol of NAT1, the system can easily handle large concentrations of Linuron and NAT1. Even in the case of the unreasonable rates of influx, 1 picomol of NAT1 resulted in a steady state concentration of Linuron and 3,4-DCA, around a third of the original concentration, and was well under a third for reasonable rates of influx.</p>
+
<p>This implies that depending on the particular application, the promoter for NAT1 could be adjusted in order to hit the required 3,4-DCA and Linuron tolerance. Specifically, this demonstrates that our system is not only practical and efficient, but easily extendible to extremely sensitive rhizobia. Unfortunately, the stochastic models provided little insight into the mechanisms of this system since the system is too simple.</p>
+
<h3 id="puhb-nat1">PuhB-NAT1</h3>
+
<p>This system was considered because it provided a way to analyze the system under different PuhB concentrations since the $k_{cat}$ value for PuhB with respect to Linuron were found in the literature. From this, we see that the maximum concentration of 3,4-DCA and Linuron can be adjusted to arbitrary ranges depending on the particular application. In particular, we see that even in the case of $1$ picomol of NAT1, if there are 0.01 picomols of PuhB the system will be able to process Linuron rather effectively given a constant amount of Linuron. In the case of influx however, if there is a large influx of Linuron, the PuhB concentration and NAT1 must be increased in order to maintain a steady state concentration of Linuron and 3,4-DCA such that the rhizobia does not die. In the cases of smaller influxes, it appears that the system is relatively stable and efficient at around 0.01 picomols of PuhB and $10$ picomols of NAT1. </p>
+
+
 
<h3>References</h3>
 
<h3>References</h3>
 
<ul>
 
<ul>
Line 2,996: Line 2,954:
  
 
<!-- Footer -->
 
<!-- Footer -->
<footer id="footer">
+
<footer id="footer">
<div class="inner">
+
<div class="inner">
<div class="content">
+
<div class="content">
<section>
+
<section>
<h3>Accumsan montes viverra</h3>
+
<h3>Accumsan montes viverra</h3>
<p>Nunc lacinia ante nunc ac lobortis. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus ornare mi ut ante amet placerat aliquet. Volutpat eu sed ante lacinia sapien lorem accumsan varius montes viverra nibh in adipiscing. Lorem ipsum dolor vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing sed feugiat eu faucibus. Integer ac sed amet praesent. Nunc lacinia ante nunc ac gravida.</p>
+
<p>Nunc lacinia ante nunc ac lobortis. Interdum adipiscing gravida odio porttitor sem non mi integer non faucibus ornare mi ut ante amet placerat aliquet. Volutpat eu sed ante lacinia sapien lorem accumsan varius montes viverra nibh in adipiscing. Lorem ipsum dolor vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing sed feugiat eu faucibus. Integer ac sed amet praesent. Nunc lacinia ante nunc ac gravida.</p>
</section>
+
</section>
<section>
+
<section>
<h4>Sem turpis amet semper</h4>
+
<h4>Sem turpis amet semper</h4>
<ul class="alt">
+
<ul class="alt">
<li><a href="#">Dolor pulvinar sed etiam.</a></li>
+
<li><a href="#">Dolor pulvinar sed etiam.</a></li>
<li><a href="#">Etiam vel lorem sed amet.</a></li>
+
<li><a href="#">Etiam vel lorem sed amet.</a></li>
<li><a href="#">Felis enim feugiat viverra.</a></li>
+
<li><a href="#">Felis enim feugiat viverra.</a></li>
<li><a href="#">Dolor pulvinar magna etiam.</a></li>
+
<li><a href="#">Dolor pulvinar magna etiam.</a></li>
</ul>
+
</ul>
</section>
+
</section>
<section>
+
<section>
<h4>Social Media</h4>
+
<h4>Social Media</h4>
<ul class="plain">
+
<ul class="plain">
<li><a href="https://twitter.com/waterloo_igem"><i class="icon fa-twitter">&nbsp;</i>Twitter</a></li>
+
<li><a href="https://twitter.com/waterloo_igem"><i class="icon fa-twitter">&nbsp;</i>Twitter</a></li>
<li><a href="https://www.facebook.com/WaterlooiGEM/"><i class="icon fa-facebook">&nbsp;</i>Facebook</a></li>
+
<li><a href="https://www.facebook.com/WaterlooiGEM/"><i class="icon fa-facebook">&nbsp;</i>Facebook</a></li>
<li><a href="https://www.instagram.com/waterloo.igem"><i class="icon fa-instagram">&nbsp;</i>Instagram</a></li>
+
<li><a href="https://www.instagram.com/waterloo.igem"><i class="icon fa-instagram">&nbsp;</i>Instagram</a></li>
<li><a href="https://github.com/igem-waterloo/uwaterloo-igem-2019"><i class="icon fa-github">&nbsp;</i>Github</a></li>
+
<li><a href="https://github.com/igem-waterloo/uwaterloo-igem-2019"><i class="icon fa-github">&nbsp;</i>Github</a></li>
</ul>
+
</ul>
</section>
+
</section>
</div>
+
 
</div>
 
</div>
</footer>
+
</div>
 +
</footer>
  
 
<!-- Scripts -->
 
<!-- Scripts -->
<script src="assets/js/uwaterloo-jquery.min.js"></script>
+
<script type="text/javascript" src="https://2019.igem.org/wiki/index.php?title=Template:Waterloo/JS&action=raw&ctype=text/javascript"></script>
<script src="assets/js/uwaterloo-browser.min.js"></script>
+
<script src="assets/js/uwaterloo-breakpoints.min.js"></script>
+
<script src="assets/js/uwaterloo-util.js"></script>
+
<script src="assets/js/uwaterloo-main.js"></script>
+
 
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
 
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
 
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
 
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
 
</body>
 
</body>
 
</html>
 
</html>

Revision as of 02:51, 18 October 2019

iGEM UWaterloo 2019 - Model

Mathematics and Modeling

Environmental Model

An important goal of our project is to determine whether the Linuron concentration in the vicinity of the root nodule is significant enough to damage the Rhizosphere and inhibit nodule growth as plants continue to develop.

In order to model this, we introduce a diffusion-reaction-advection model, which is standard in environmental engineering. A byproduct of this model is that we are able to develop heuristics for the magnitude of Linuron and 3,4-DCA runoff. The model is derived from a similar model by Owsianiak et al [1] for Linuron degradation in bioaugmentation beads. Since this paper also modelled Variovorax sp. [4], we were able to obtain many of our parameters from this work of Owsiniak et al.


Introducing the Model

For completeness, we introduce this model from the ground up. First, we model diffusion through the soil with Fick's Laws of diffusion.

$$ C = [\textrm{Linuron}] $$

$$ D = \textrm{diag}(D_x,D_y,D_z) $$

$$ \nabla\cdot(D\nabla C) = \frac{\partial C}{\partial t} $$

The matrix D is called the diffusion matrix, which determines the speed of diffusion in different directions. Next, we add an advection term to model the transport of Linuron by water.

$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t}$$

This advection term relies on the hydraulic head, which in our case is a measure of water pressure in the soil. However, water tends to flow around the root nodules, so Linuron transport is diffusion-dominated inside the nodule. Therefore we must use the Navier-Stokes equation in order to find the advection velocity. In order to model degradation, we couple this with our kinetic model to derive this coupled system of PDEs:

$$ \nabla \cdot (D\nabla C) - \vec{v}_e \cdot \nabla C = \frac{\partial C}{\partial t} + \chi_n \frac{V_{max}C}{K_m-C} $$

$$ \varrho \left( \frac{\partial v_e}{\partial t} - v_e \cdot \nabla v_e \right) = \nabla \cdot \sigma(v_e,p)+f $$ $$ \nabla \cdot v_e = 0 $$

Assumptions

In the above model, we assumed an averaged rate of water intake - by necessity due to the complexity of the more realistic rain models. This assumption should produce a reasonable approximation since our timescale is on the order of weeks to months, whereas the rate of rainfall is on the order of days.

We also needed to verify that the rate of water transport into the nodule tissue is not limited by physiological factors such as membrane transport. In order to do this, we used the Octanol-Water partition coefficient in order to predict the rate of membrane transport using Overton's Rule [2]:

$$ P=\frac{K_{ow}D}{\ell} $$

By computing the rate of membrane transport, we concluded that the transport of Linuron into plant cells is not membrane-transport limited. In addition, we assume that the background degradation of Linuron by the same pathway is negligible compared to degradation by Variovorax sp. as found by Owsiniak et al..

Numerical Methods

In order to solve this model we first convert the system into its variational form. The Navier-Stokes terms are solved by a midpoint discretization method called Chorin's Method, while the remainder is solved using the backwards Euler method. The following equations are obtained by integrating the above PDEs and applying integration by parts:

$$\int_\Omega \frac{\partial C}{\partial t} w d\tau = \int_\Omega \left[\nabla \cdot (D \nabla C)w - w v_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau =$$

$$\int_\Omega \left[(-\nabla C)^T D^T \nabla w -wv_e\cdot \nabla C - \frac{V_{max}C}{K_m-C}\right] d \tau + \int_{\partial \Omega} w( \nabla C)\cdot d \vec{s}$$

We now solve this system in Python using a library known as FeNiCS [3], which is an free, open-source library for solving PDEs with Finite Element Methods. Teams interested in using PDE solvers for their iGEM modelling should consider using FeNiCS as a great alternative to expensive proprietary software. Using ParaView, we export animations of our data from FeNiCS. We also used the Python library meshio to convert meshes generated by Gmsh into a format compatible with FeNiCS. As a note to future iGEM teams considering PDE transport models, your discretization must meet the Courant-Freidrichs-Lewy (CFL) condition in order to be stable.

LibA-NAT1 Pathway

We were initially considering three enzymes for Linuron degradation into 3,4-DCA: LibA, PuhA, PuhB, and 2 enzymes for 3,4-DCA degradation: NAT1, NAT2. From preliminary kinetic models, we determined that the use of NAT2 would result in an accumulation of 3,4-DCA that would almost certainly be toxic, and that a PuhA-NAT1 system would not degrade Linuron into 3,4-DCAA at a rate fast enough to mitigate the toxicity of Linuron. The dynamics of the PuhB-NAT1 and LibA-NAT1 systems under fs our preliminary models were identical, and the LibA-NAT1 system was chosen. LibA facilitates the degradation of Liunuron into 3,4-DCA through the following reaction:

$$\text{H}_2\text{O} + \text{Linuron} \longrightarrow \text{N,O-dimethylhydroxylamine} + \text{CO}_2 + \text{3,4-dichloroaniline.}$$ It is known that purified LibA is a monomeric linuron hydrolase of ∼55 kDa with a Km and a Vmax for linuron of 5.8 μM and 0.16 nmol per minute for Variovorax sp. with an unknown enzyme concentration [4].

The second step in the reaction involving NAT1 is characterized in Rodrigues-Lima [5]. The rate for 3,4-dichloroaniline degradation with NAT1 is determined to be 68 &plusmn 8 nmol. per min. per mg. of enzyme.

We assume that the LibA concentration and the NAT1 concentration are equal since they are placed under the same promoter in our system. This choice was done strictly due to time constraints, and our models did suggest that placing LibA and NAT1 under different promoters would result in a more effective system. In order to mitigate the inaccuracy of using just a Km valu without regard to the enzyme concentation, we decided to use the Kcat from PuhB since its structure and function is very similar to NAT1.

Computations

We use Julia and the DiffEqBiological.jl package in order to determine the dynamics of our reaction network. Under standard assumptions in biochemical modelling, we reduce our model to the following set of equations for our system with no influx of Linuron:

$$\frac{d[\text{Linuron}]}{dt} = - \frac{V_\max^{\text{Lin}} \cdot [\text{Linuron}]}{K_m^{\text{Lin}} + [\text{Linuron}]} [\text{Linuron}],$$ $$\frac{d[\text{3,4-DCA}]}{dt} = - \frac{V_\max^{\text{DCA}} \cdot [\text{3,4-DCA}]}{K_m^{\text{DCA}} + [\text{3,4-DCA}]} [\text{3,4-DCA}] - k_{\text{DCA}}[\text{3,4-DCA}],$$ $$\frac{d[\text{DCAA}]}{dt} = k_{\text{DCAA}}[\text{DCAA}],$$

where DCAA is dichloroacetanilide, which is what NAT1 degrades 3,4-DCA into. In the case of with influx, the only difference is an influx term in the first equation. With a reasonable enzyme concentration of LibA and NAT1, as well as 600 nmol of Linuron, we see that

svg

where $X$ is the Linuron concentration, $Y$ is the 3,4-DCA concentration, and $Z$ is the 3,4-DCAA concentration.

Under a high influx of Linuron, we see that

svg

which implies that LibA can mitigate the detrimental effects of high concentrations of Linuron in the soil, but there is a predicted very large accumulation of 3,4-DCA which is known to be detrimental to the cell. However, if we place LibA and NAT1 under different promoters, we see that the behaviour changes drastically if the NAT1 concentration is assumed to be 3 orders of magnitude higher than the concentration of LibA without influx:

svg

and with influx:

svg

Conclusions

Under reasonable amounts of uncertainty in our model, the dynamics of our system were not drastically different. From our model, we determined that in order to engineer a system for the real world, we would need to place LibA and NAT1 under different promoters, ideally with NAT1 under a relatively strong promoter when compared to LibA. In addition, we can conclude that the LibA-NAT1 system could be engineered to degrade Linuron into 3,4-dichloroacetanilide under a wide range of thresholds for toxic concentrations of Linuron and 3,4-DCA. Under the above assumptions of our system, we have demonstrated that a LibA-NAT1 system can efficiently and effectively reduce Linuron concentration in the soil while preserving the rhizosphere.

References

  • [1] Owsianiak, M., Dechesne, A., Binning, P. J., Chambon, J. C., Sørensen, S. R., & Smets, B. F. (2010). Evaluation of Bioaugmentation with Entrapped Degrading Cells as a Soil Remediation Technology. Environmental Science & Technology, 44(19), 7622–7627. doi: 10.1021/es101160u
  • [2] Grime, J. M. A., Edwards, M. A., Rudd, N. C., & Unwin, P. R. (2008). Quantitative visualization of passive transport across bilayer lipid membranes. Proceedings of the National Academy of Sciences, 105(38), 14277–14282. doi: 10.1073/pnas.0803720105
  • [3] Zakharov, P. E. (2018). The FEniCS project. Spark. doi: 10.1515/spark.18.13
  • [4] Bers, K., Leroy, B., Breugelmans, P., Albers, P., Lavigne, R., Sørensen, S. R., ... Springael, D. (2011). A Novel Hydrolase Identified by Genomic-Proteomic Analysis of Phenylurea Herbicide Mineralization by Variovorax sp. Strain SRS16. Applied and Environmental Microbiology, 77(24), 8754–8764. doi: 10.1128/aem.06162-11
  • [5] Rodrigues-Lima, Fernando & Dairou, Julien & Diaz, Clara & Rubio, Maria & Sim, Edith & Spaink, Herman & Dupret, Jean-Marie. (2006). Cloning, functional expression and characterization of Mesorhizobium loti arylamine N-acetyltransferases: Rhizobial symbiosis supplies leguminous plants with the xenobiotic N-acetylation pathway. Molecular microbiology. 60. 505-12. 10.1111/j.1365-2958.2006.05114.x.