m |
|||
(12 intermediate revisions by one other user not shown) | |||
Line 29: | Line 29: | ||
background-position: center;background-size: 55%;background-repeat: no-repeat;"> | background-position: center;background-size: 55%;background-repeat: no-repeat;"> | ||
</div> | </div> | ||
− | <div class="pageHeadline"><span> | + | <div class="pageHeadline"><span>Modelling</span></div> |
</div> | </div> | ||
</section> | </section> | ||
Line 37: | Line 37: | ||
<div class="side col-lg-3"> | <div class="side col-lg-3"> | ||
<nav class="dr-menu"> | <nav class="dr-menu"> | ||
− | <h3> | + | <h3>Math Modelling</h3> |
<ul> | <ul> | ||
+ | <li><a class="fa fa-plug" href="#protein-model"> Protein Modelling</a></li> | ||
<li><a class="fa fa-plug" href="#summary"> Summary</a></li> | <li><a class="fa fa-plug" href="#summary"> Summary</a></li> | ||
<li><a class="fa fa-plug" href="#establishment-of-model"> Model Establishment</a> | <li><a class="fa fa-plug" href="#establishment-of-model"> Model Establishment</a> | ||
Line 60: | Line 61: | ||
<div id='write' class=''> | <div id='write' class=''> | ||
<h1 id='model'><span>Mathematical Modelling</span></h1> | <h1 id='model'><span>Mathematical Modelling</span></h1> | ||
+ | <a class="anchor" id="protein-model"></a> | ||
+ | <h2><span>Protein Modelling</span></h2> | ||
<div class="highlightBox-typora"> | <div class="highlightBox-typora"> | ||
<p><span>To predict the experimental result of our project, we constructed a set of | <p><span>To predict the experimental result of our project, we constructed a set of | ||
Line 68: | Line 71: | ||
S211F mutant, it is proposed to be quantified and visualized using PyMOL, | S211F mutant, it is proposed to be quantified and visualized using PyMOL, | ||
Gaussian16.0W, | Gaussian16.0W, | ||
− | GaussView6.0, Swiss, AutoDockTools software. <b>To see the result of our protein | + | GaussView6.0, Swiss, AutoDockTools software. <b>To see the |
+ | result of our protein | ||
model, | model, | ||
plese check our wiki of | plese check our wiki of | ||
− | </span><a href="https://2021.igem.org/Team:XJTU-China/ | + | </span><a href="https://2021.igem.org/Team:XJTU-China/protein_model">protein |
− | modelling | + | modelling</a></b>. |
</p> | </p> | ||
+ | </div> | ||
+ | <div class="row mt-5 mb-5"> | ||
+ | <div class="col-12"> | ||
+ | <p class="float-right mt-3" style="font-size: 1.5em !important;"><b>View: | ||
+ | <a href="https://2021.igem.org/Team:XJTU-China/protein_model"> | ||
+ | Protein Modelling | ||
+ | <span class="fa fa-arrow-circle-o-right"></span></a></b></p> | ||
+ | </div> | ||
</div> | </div> | ||
Line 109: | Line 121: | ||
models establishment!</span></p> | models establishment!</span></p> | ||
<a href="/Team:XJTU-China/model-population-dynamics" | <a href="/Team:XJTU-China/model-population-dynamics" | ||
− | class="btn btn-primary btn-block mt-3">The Model of Population Dynamics</a> | + | class="btn btn-primary btn-block mt-3 return"><span>The Model of Population Dynamics</span></a> |
− | + | <a href="/Team:XJTU-China/model-toggle-switch" class="btn btn-primary btn-block mt-3 return"><span>The | |
− | + | Model of Toggle Switch</span></a> | |
− | + | <a href="/Team:XJTU-China/model-genetic-circuits" class="btn btn-primary btn-block mt-3 return"><span>The | |
− | + | Model of Genetic Circuits</span></a> | |
− | + | <a href="/Team:XJTU-China/model-synthesis-of-tryptophan" | |
− | + | class="btn btn-primary btn-block mt-3 return"><span>The Model of Synthesis of Tryptophan</span></a> | |
− | + | <a href="/Team:XJTU-China/model-production" class="btn btn-primary btn-block mt-3 return"><span>The Model | |
− | + | of Production</span></a> | |
</section> | </section> | ||
<!-- result and conclusion --> | <!-- result and conclusion --> | ||
Line 2,324: | Line 2,336: | ||
</section> | </section> | ||
<!-- code --> | <!-- code --> | ||
− | |||
<section> | <section> | ||
− | <h1 id='code'><span>Code</span></h1> | + | <a class="anchor" id="code"></a> |
− | + | <div class="card" style="width: 90%;"> | |
− | + | <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#part" | |
− | + | aria-expanded="false" aria-controls="part"> | |
− | + | <h4>Code</h4> | |
− | + | </button> | |
− | + | <div class="collapse" id="part"> | |
− | + | <div class="card card-body"> | |
− | + | <h1 id='code'><span>Code</span></h1> | |
− | + | <blockquote> | |
+ | <p><span>Using MATLAB R2019b.</span></p> | ||
+ | </blockquote> | ||
+ | <h2 id='the-model-of-population-dynamics-2'><span>The model of population | ||
+ | dynamics</span> | ||
+ | </h2> | ||
+ | <p><code>main.m</code></p> | ||
+ | <pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" | ||
+ | lang="matlab" | ||
+ | style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="matlab"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.38889px; left: 7.98611px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 0px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: 0px; width: 0px;"></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initialization</span></span></pre> | ||
+ | </div> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">clc</span>;</span></pre> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">close</span> <span class="cm-variable">all</span>;</span></pre> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">clear</span> <span class="cm-variable">all</span>;</span></pre> | ||
+ | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
+ | </span></span></pre> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% numerical solution</span></span></pre> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">N</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">N</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">N</span>)<span class="cm-operator">'</span>, [<span class="cm-number">0</span> <span class="cm-number">3000</span>], <span class="cm-number">6.08</span><span class="cm-operator">*</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-number">9</span><span class="cm-operator">*</span><span class="cm-number">0.0001</span>);</span></pre> | ||
+ | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
+ | </span></span></pre> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% draw figure</span></span></pre> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">figure</span>();</span></pre> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">plot</span>(<span class="cm-variable">t</span>, <span class="cm-variable">N</span>, <span class="cm-string">'LineWidth'</span>, <span class="cm-number">2</span>);</span></pre> | ||
+ | <div class="" style="position: relative;"> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">xlabel</span>(<span class="cm-string">'Time/min'</span>);</span></pre> | ||
+ | </div> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">ylabel</span>(<span class="cm-string">'Population Density'</span>)</span></pre> | ||
+ | <pre class=" CodeMirror-line " | ||
+ | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">grid</span> <span class="cm-variable">on</span>;</span></pre> | ||
+ | </div> | ||
+ | </div> | ||
</div> | </div> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</div> | </div> | ||
</div> | </div> | ||
− | + | <div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 319px;"> | |
− | + | </div> | |
− | + | <div class="CodeMirror-gutters" style="display: none; height: 319px;"></div> | |
− | + | ||
− | + | ||
− | + | ||
</div> | </div> | ||
</div> | </div> | ||
Line 2,429: | Line 2,449: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">clear</span> <span class="cm-variable">all</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">clear</span> <span class="cm-variable">all</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initial value</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initial value</span></span></pre> | ||
Line 2,437: | Line 2,457: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">c0</span> = [<span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span>];</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">c0</span> = [<span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span>];</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% add IPTG</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% add IPTG</span></span></pre> | ||
Line 2,445: | Line 2,465: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">iptg1</span> = <span class="cm-number">10</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">iptg1</span> = <span class="cm-number">10</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% raise temperature</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% raise temperature</span></span></pre> | ||
Line 2,453: | Line 2,473: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">alpha</span> = <span class="cm-number">1.2</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">alpha</span> = <span class="cm-number">1.2</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% numerical solution</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% numerical solution</span></span></pre> | ||
Line 2,459: | Line 2,479: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">c</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>, <span class="cm-variable">t1</span>, <span class="cm-variable">iptg1</span>, <span class="cm-variable">t2</span>, <span class="cm-variable">alpha</span>)<span class="cm-operator">'</span>, <span class="cm-variable">tspan</span>, <span class="cm-variable">c0</span>);</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">c</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>, <span class="cm-variable">t1</span>, <span class="cm-variable">iptg1</span>, <span class="cm-variable">t2</span>, <span class="cm-variable">alpha</span>)<span class="cm-operator">'</span>, <span class="cm-variable">tspan</span>, <span class="cm-variable">c0</span>);</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% draw figure</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% draw figure</span></span></pre> | ||
Line 2,530: | Line 2,550: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">kpder</span> = <span class="cm-number">0.136</span><span class="cm-operator">*</span><span class="cm-number">10</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">kpder</span> = <span class="cm-number">0.136</span><span class="cm-operator">*</span><span class="cm-number">10</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment">% GFP</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment">% GFP</span></span></pre> | ||
Line 2,648: | Line 2,668: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">clear</span> <span class="cm-variable">all</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">clear</span> <span class="cm-variable">all</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initial value</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initial value</span></span></pre> | ||
Line 2,656: | Line 2,676: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">c0</span> = [<span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span>];</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">c0</span> = [<span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span>];</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% add IPTG</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% add IPTG</span></span></pre> | ||
Line 2,664: | Line 2,684: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">iptg1</span> = <span class="cm-number">10</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">iptg1</span> = <span class="cm-number">10</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% raise temperature</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% raise temperature</span></span></pre> | ||
Line 2,672: | Line 2,692: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">alpha</span> = <span class="cm-number">1.2</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">alpha</span> = <span class="cm-number">1.2</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% numerical solution</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% numerical solution</span></span></pre> | ||
Line 2,678: | Line 2,698: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">c</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>, <span class="cm-variable">t1</span>, <span class="cm-variable">iptg1</span>, <span class="cm-variable">t2</span>, <span class="cm-variable">alpha</span>)<span class="cm-operator">'</span>, <span class="cm-variable">tspan</span>, <span class="cm-variable">c0</span>);</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">c</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>, <span class="cm-variable">t1</span>, <span class="cm-variable">iptg1</span>, <span class="cm-variable">t2</span>, <span class="cm-variable">alpha</span>)<span class="cm-operator">'</span>, <span class="cm-variable">tspan</span>, <span class="cm-variable">c0</span>);</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% draw figure</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% draw figure</span></span></pre> | ||
Line 2,911: | Line 2,931: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">close</span> <span class="cm-variable">all</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">close</span> <span class="cm-variable">all</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initial value</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initial value</span></span></pre> | ||
Line 2,925: | Line 2,945: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">trpAB</span> = <span class="cm-number">2.5</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">trpAB</span> = <span class="cm-number">2.5</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% numerical solution</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% numerical solution</span></span></pre> | ||
Line 2,931: | Line 2,951: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">c</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>, <span class="cm-variable">aroG</span>, <span class="cm-variable">pykA</span>, <span class="cm-variable">trpAB</span>)<span class="cm-operator">'</span>, <span class="cm-variable">tspan</span>, <span class="cm-variable">c0</span>);</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">c</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>, <span class="cm-variable">aroG</span>, <span class="cm-variable">pykA</span>, <span class="cm-variable">trpAB</span>)<span class="cm-operator">'</span>, <span class="cm-variable">tspan</span>, <span class="cm-variable">c0</span>);</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% draw figure</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% draw figure</span></span></pre> | ||
Line 3,060: | Line 3,080: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">clear</span> <span class="cm-variable">all</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">clear</span> <span class="cm-variable">all</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initial value</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% initial value</span></span></pre> | ||
Line 3,068: | Line 3,088: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">c0</span> = [<span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0</span> <span class="cm-number">0</span> <span class="cm-number">0</span> <span class="cm-number">0</span> <span class="cm-number">0</span> <span class="cm-number">20</span> <span class="cm-number">6.08</span><span class="cm-operator">*</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-number">9</span><span class="cm-operator">*</span><span class="cm-number">0.001</span>];</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">c0</span> = [<span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.1</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0.01</span> <span class="cm-number">0</span> <span class="cm-number">0</span> <span class="cm-number">0</span> <span class="cm-number">0</span> <span class="cm-number">0</span> <span class="cm-number">20</span> <span class="cm-number">6.08</span><span class="cm-operator">*</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-number">9</span><span class="cm-operator">*</span><span class="cm-number">0.001</span>];</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% adjust t2</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% adjust t2</span></span></pre> | ||
Line 3,094: | Line 3,114: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">end</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">end</span></span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% figure 1</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% figure 1</span></span></pre> | ||
Line 3,110: | Line 3,130: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">grid</span> <span class="cm-variable">on</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">grid</span> <span class="cm-variable">on</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% find the maximun</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% find the maximun</span></span></pre> | ||
Line 3,124: | Line 3,144: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">c</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>, <span class="cm-number">0</span>, <span class="cm-number">10</span>, <span class="cm-variable">t2</span>, <span class="cm-number">1.2</span>)<span class="cm-operator">'</span>, <span class="cm-variable">tspan</span>, <span class="cm-variable">c0</span>);</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;">[<span class="cm-variable">t</span>, <span class="cm-variable">c</span>] = <span class="cm-variable">ode45</span>(<span class="cm-operator">@</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>) <span class="cm-variable">odefcn</span>(<span class="cm-variable">t</span>, <span class="cm-variable">c</span>, <span class="cm-number">0</span>, <span class="cm-number">10</span>, <span class="cm-variable">t2</span>, <span class="cm-number">1.2</span>)<span class="cm-operator">'</span>, <span class="cm-variable">tspan</span>, <span class="cm-variable">c0</span>);</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% figure 2</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% figure 2</span></span></pre> | ||
Line 3,140: | Line 3,160: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">grid</span> <span class="cm-variable">on</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">grid</span> <span class="cm-variable">on</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% figure 3</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% figure 3</span></span></pre> | ||
Line 3,156: | Line 3,176: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">grid</span> <span class="cm-variable">on</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">grid</span> <span class="cm-variable">on</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% figure 4</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">% figure 4</span></span></pre> | ||
Line 3,313: | Line 3,333: | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">kpdep</span> = <span class="cm-variable">kp</span><span class="cm-operator">*</span><span class="cm-variable">kpder</span>;</span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-variable">kpdep</span> = <span class="cm-variable">kp</span><span class="cm-operator">*</span><span class="cm-variable">kpder</span>;</span></pre> | ||
<pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | <pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp=""> | ||
− | </span></span></pre> | + | </span></span></pre> |
<pre class=" CodeMirror-line " | <pre class=" CodeMirror-line " | ||
role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment">% reaction 1</span></span></pre> | role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-comment">% reaction 1</span></span></pre> | ||
Line 3,440: | Line 3,460: | ||
</pre> | </pre> | ||
<p> </p> | <p> </p> | ||
+ | </div> | ||
+ | </div> | ||
+ | </div> | ||
</section> | </section> | ||
+ | <hr> | ||
+ | <div class="row mt-5 mb-5"> | ||
+ | <div class="col-12"> | ||
+ | <p class="float-right mt-3" style="font-size: 1.5em !important;"><b>For the labwork of our project, please | ||
+ | check:<br><a href="https://2021.igem.org/Team:XJTU-China/Engineering"> | ||
+ | Engineering Success <span class="fa fa-flask"></span></a><br><a href="https://2021.igem.org/Team:XJTU-China/Proof_Of_Concept"> | ||
+ | Proof Of Concept <span class="fa fa-wrench"></span></a></b></p> | ||
+ | </div> | ||
+ | </div> | ||
</div> | </div> | ||
</div> | </div> |
Latest revision as of 02:06, 22 October 2021
Mathematical Modelling
Protein Modelling
To predict the experimental result of our project, we constructed a set of mathematical models in five different aspects. Here is the showcase of our math. Additionally, to investigate the mechanism of allosteric inhibition on AroG by Phe and the alleviation in S211F mutant, it is proposed to be quantified and visualized using PyMOL, Gaussian16.0W, GaussView6.0, Swiss, AutoDockTools software. To see the result of our protein model, plese check our wiki of protein modelling.
View: Protein Modelling
Summary
Our modeling includes five steps:
- Establish the model of population dynamics, which displays the population change of E. coli;
- Establish the model of toggle switch, where the production of red fluorescent protein (RFP) and green fluorescent protein (GFP) shows the effect of toggle switch;
- Establish the model of genetic circuits based on the model of toggle switch;
- Establish the model of synthesis of tryptophan based on Michaelis-Menten equation;
- Finally, integrate the above models to establish the model of production.
Establishment of model
Due to the size limit of iGEM wiki, please click the following buttons to view our models establishment!
The Model of Population Dynamics The Model of Toggle Switch The Model of Genetic Circuits The Model of Synthesis of Tryptophan The Model of ProductionResult and conclusion
The population density of E. coli
Here,
- When
- The population density reach balance at about
The effect of toggle switch
When
- The change rates of
- At first, the concentration of GFP is more than the concentration of RFP, and green fluorescence appears. After adding IPTG, the concentration of RFP outnumbered GFP, and red fluorescence appears. After removing IPTG and raising temperature, the rank of RFP and GFP exchanged again, and green fluorescence appears.
The product of genetic circuits
Add IPTG at the beginning, and when
- There are two stable states during the period of time;
- After raising temperature at
The output of tryptophan
Add IPTG at the beginning, and when
- When reaction starts, Glc begin to convert to PEP, and PEP immediately turns into Pyr and DAHP;
- The concentration of DAHP reaches maximum at about
- The product of DAHP is 3IGP, and 3IGP immediately converts to Trp;
- The final products of reactions are Pyr and Trp, whose concentrations are
stable at
The best production strategy
Let the initial value of
- When
- When
- When
- Finally, when
Reference
[1] Verhulst, P.-F. "Recherches mathématiques sur la loi d'accroissement de la population." Nouv. mém. de l'Academie Royale des Sci. et Belles-Lettres de Bruxelles 18, 1-41, 1845.
[2] Verhulst, P.-F. "Deuxième mémoire sur la loi d'accroissement de la population." Mém. de l'Academie Royale des Sci., des Lettres et des Beaux-Arts de Belgique 20, 1-32, 1847.
[3] XIAN YIN, HYUN-DONG SHIN, et al. 2017. P gas, a Low-pH-Induced Promoter, as a Tool for Dynamic Control of Gene Expression for Metabolic Engineering of Aspergillus niger. Appl Environ Microbiol. [J/OL], 2;83(6):e03222-16.
[4] https://www.vedantu.com/chemistry/michaelis-menten-kinetics
Code
Using MATLAB R2019b.
The model of population dynamics
main.m
% initialization
clc;
close all;
clear all;
% numerical solution
[t, N] = ode45(@(t, N) odefcn(t, N)', [0 3000], 6.08*10^9*0.0001);
% draw figure
figure();
plot(t, N, 'LineWidth', 2);
xlabel('Time/min');
ylabel('Population Density')
grid on;
odefun.m
xxxxxxxxxx
function dN = odefcn(t, N)
r = 0.0073;
K = 6.08*10^9;
dN = r*N*(1-N/K);
The model of toggle switch
main.m
xxxxxxxxxx
% initialization
clc;
close all;
clear all;
% initial value
tspan = [0 3000];
c0 = [0.1 0.1 0.1 0.1 0.01 0.01 0.01 0.01];
% add IPTG
t1 = 1000;
iptg1 = 10;
% raise temperature
t2 = 2000;
alpha = 1.2;
% numerical solution
[t, c] = ode45(@(t, c) odefcn(t, c, t1, iptg1, t2, alpha)', tspan, c0);
% draw figure
figure();
plot(t, c(:, 6), 'g', t, c(:, 8), 'r', 'LineWidth', 2);
legend('[pGFP]', '[pRFP]');
xlabel('Time/s');
ylabel('Concentration');
grid on;
odefun.m
xxxxxxxxxx
function dc = odefcn(t, c, t1, iptg1, t2, alpha)
% lambdaPR: lacI, GFP
lambdaPR = 0.5;
alphal0 = 0.5;
alphal1 = 1;
% Plac: cl857, RFP
Plac = 1.3;
alphap0 = 0.5;
alphap1 = 1;
% RFP
ksynr = 0.019;
kder = 0.0013*10;
kpsynr = 0.47;
kpder = 0.136*10;
% GFP
kg = 0.877;
ksyng = kg*ksynr;
kdeg = kg*kder;
kpsyng = kg*kpsynr;
kpdeg = kg*kpder;
% cI857
kc = 0.95;
ksync = kc*ksynr;
kdec = kc*kder;
kpsync = kc*kpsynr;
kpdec = kc*kpder;
% lacI
kl = 0.626;
ksynl = kl*ksynr;
kdel = kl*kder;
kpsynl = kl*kpsynr;
kpdel = kl*kpder;
% add IPTG
iptg = 0;
if (t>t1)
iptg = iptg1;
end
% raise temperature
if (t>t2)
iptg = 0;
alphal1 = alpha;
end
% differential equations
dc(1) = ksynl*alphal0*lambdaPR + ksynl*alphal1*(1/(c(7)))*lambdaPR - kdel*c(1); % [rlacI]
dc(2) = ksyng*alphal0*lambdaPR + ksyng*alphal1*(1/(c(7)))*lambdaPR - kdeg*c(2); % [rGFP]
dc(3) = ksync*alphap0*Plac + ksync*alphap1*(iptg/(iptg+c(5)))*Plac - kdec*c(3); % [rcI857]
dc(4) = ksynr*alphap0*Plac + ksynr*alphap1*(iptg/(iptg+c(5)))*Plac - kder*c(4); % [rRFP]
dc(5) = kpsynl*c(1) - kpdel*c(5); % [placI]
dc(6) = kpsyng*c(2) - kpdeg*c(6); % [pGFP]
dc(7) = kpsync*c(3) - kpdec*c(7); % [pcI857]
dc(8) = kpsynr*c(4) - kpder*c(8); % [pRFP]
The model of genetic circuits
main.m
xxxxxxxxxx
% initialization
clc;
close all;
clear all;
% initial value
tspan = [0 3000];
c0 = [0.1 0.1 0.1 0.1 0.1 0.1 0.01 0.01 0.01 0.01 0.01 0.01];
% add IPTG
t1 = 1000;
iptg1 = 10;
% raise temperature
t2 = 2000;
alpha = 1.2;
% numerical solution
[t, c] = ode45(@(t, c) odefcn(t, c, t1, iptg1, t2, alpha)', tspan, c0);
% draw figure
figure();
plot(t, c(:, 7), t, c(:, 8), t, c(:, 9), t, c(:, 10), t, c(:, 11), t, c(:, 12), 'LineWidth', 2)
legend('[placI]', '[paroG]', '[ptrpB]', '[ptrpA]', '[pcI857]', '[ppykA]');
grid on;
odefun.m
xxxxxxxxxx
function dc = odefcn(t, c, t1, iptg1, t2, alpha)
% lambdaPR: lacI, aroG, trpB, trpA
lambdaPR = 0.5;
alphal0 = 0.5;
alphal1 = 1;
% Plac: cl857, pykA
Plac = 1.3;
alphap0 = 0.5;
alphap1 = 1;
% RFP
ksynr = 0.019;
kder = 0.0013*10;
kpsynr = 0.47;
kpder = 0.136*10;
% lacI
kl = 0.626;
ksynl = kl*ksynr;
kdel = kl*kder;
kpsynl = kl*kpsynr;
kpdel = kl*kpder;
% aroG
ka = 0.644;
ksyna = ka*ksynr;
kdea = ka*kder;
kpsyna = ka*kpsynr;
kpdea = ka*kpder;
% trpB
kB = 0.568;
ksynB = kB*ksynr;
kdeB = kB*kder;
kpsynB = kB*kpsynr;
kpdeB = kB*kpder;
% trpA
kA = 0.84;
ksynA = kA*ksynr;
kdeA = kA*kder;
kpsynA = kA*kpsynr;
kpdeA = kA*kpder;
% cI857
kc = 0.95;
ksync = kc*ksynr;
kdec = kc*kder;
kpsync = kc*kpsynr;
kpdec = kc*kpder;
% pykA
kp = 0.47;
ksynp = kp*ksynr;
kdep = kp*kder;
kpsynp = kp*kpsynr;
kpdep = kp*kpder;
% add IPTG
iptg = 0;
if (t>t1)
iptg = iptg1;
end
% raise temperature
if (t>t2)
iptg = 0;
alphal1 = alpha;
end
% differential equations
dc(1) = ksynl*alphal0*lambdaPR + ksynl*alphal1*(1/(c(11)))*lambdaPR - kdel*c(1); % [rlacI]
dc(2) = ksyna*alphal0*lambdaPR + ksyna*alphal1*(1/(c(11)))*lambdaPR - kdea*c(2); % [raroG]
dc(3) = ksynB*alphal0*lambdaPR + ksynB*alphal1*(1/(c(11)))*lambdaPR - kdeB*c(3); % [rtrpB]
dc(4) = ksynA*alphal0*lambdaPR + ksynA*alphal1*(1/(c(11)))*lambdaPR - kdeB*c(4); % [rtrpA]
dc(5) = ksync*alphap0*Plac + ksync*alphap1*(iptg/(iptg+c(7)))*Plac - kdec*c(5); % [rcI857]
dc(6) = ksynp*alphap0*Plac + ksynp*alphap1*(iptg/(iptg+c(7)))*Plac - kder*c(6); % [rpykA]
dc(7) = kpsynl*c(1) - kpdel*c(7); % [placI]
dc(8) = kpsyna*c(2) - kpdea*c(8); % [paroG]
dc(9) = kpsynB*c(3) - kpdeB*c(9); % [ptrpB]
dc(10) = kpsynA*c(4) - kpdeA*c(10); % [ptrpA]
dc(11) = kpsync*c(5) - kpdec*c(11); % [pcI857]
dc(12) = kpsynp*c(6) - kpdep*c(12); % [ppykA]
The model of synthesis of tryptophan
main.m
xxxxxxxxxx
% initialization
clc;
close all;
% initial value
tspan = [0 3000];
c0 = [0 0 0 0 0 20];
aroG = 1;
pykA = 0.15;
trpAB = 2.5;
% numerical solution
[t, c] = ode45(@(t, c) odefcn(t, c, aroG, pykA, trpAB)', tspan, c0);
% draw figure
figure();
plot(t, c(:, 6), t, c(:, 1), t, c(:, 2), t, c(:, 3), t, c(:, 4), t, c(:, 5), 'LineWidth', 2)
legend('[Glc]', '[PEP]', '[DAHP]', '[Pyr]', '[3IGP]', '[Trp]');
xlabel('Time/min');
ylabel('Concetration');
grid on;
axis([0 3000 0 20]);
odefun.m
xxxxxxxxxx
function dc = odefcn(t, c, aroG, pykA, trpAB)
% reaction 1
vmax1 = 0.1;
km1 = 0.005;
% reaction 2
vmax2 = 0.03;
km2 = 0.002;
% reaction aroG
kcataroG = 0.1;
kmaroG = 0.009;
% reaction pykA
kcatpykA = 0.15;
kmpykA = 0.05;
% reaction trpAB
kcattrpAB = 0.009;
kmtrpAB = 0.1;
% differential equations
dc(1) = vmax1*c(6)/(c(6)+km1)-kcataroG*aroG*c(1)/(c(1)+kmaroG)-kcatpykA*pykA*c(1)/(c(1)+kmpykA); % [PEP]
dc(2) = kcataroG*aroG*c(1)/(c(1)+kmaroG)-vmax2*c(2)/(c(2)+km2); % [DAHP]
dc(3) = kcatpykA*pykA*c(1)/(c(1)+kmpykA); % [Pyr]
dc(4) = vmax2*c(2)/(c(2)+km2)-kcattrpAB*trpAB*c(4)/(c(4)+kmtrpAB); % [3IGP]
dc(5) = kcattrpAB*trpAB*c(4)/(c(4)+kmtrpAB); % [Trp]
dc(6) = -vmax1*c(6)/(c(6)+km1); % [Glc]
The model of production
main.m
xxxxxxxxxx
% initialization
clc;
close all;
clear all;
% initial value
tspan = [0 3000];
c0 = [0.1 0.1 0.1 0.1 0.1 0.1 0.01 0.01 0.01 0.01 0.01 0.01 0 0 0 0 0 20 6.08*10^9*0.001];
% adjust t2
n = 10;
maxt = 3000;
mint = 0;
for i = 1:n
clc;
fprintf('%d/%d\n',i,n);
t2 = mint + (maxt-mint)*i/n;
[t, c] = ode45(@(t, c) odefcn(t, c, 0, 10, t2, 1.2)', tspan, c0);
result(i,1) = c(size(t,1),15);
result(i,2) = c(size(t,1),17);
end
% figure 1
tspan2 = mint+(maxt-mint)/n:(maxt-mint)/n:maxt;
plot(tspan2, result(:,1), tspan2, result(:,2), 'LineWidth', 2);
xlabel('Time of raising temperature/min');
ylabel('Output')
legend('[Pyr]', '[Trp]');
grid on;
% find the maximun
clc;
[m, i] = max(result(:,2));
t2 = mint + (maxt-mint)*i/n;
fprintf('When raising temperature at %dmin, the maximun output of Trp is %f. \n', t2, m);
[t, c] = ode45(@(t, c) odefcn(t, c, 0, 10, t2, 1.2)', tspan, c0);
% figure 2
figure();
plot(t, c(:, 19), 'LineWidth', 2)
legend('N');
xlabel('Time/min');
ylabel('Population Density');
grid on;
% figure 3
figure();
plot(t, c(:, 7), t, c(:, 8), t, c(:, 9), t, c(:, 10), t, c(:, 11), t, c(:, 12), 'LineWidth', 2)
legend('[placI]', '[paroG]', '[ptrpB]', '[ptrpA]', '[pcI857]', '[ppykA]');
xlabel('Time/min');
ylabel('Concetration');
grid on;
% figure 4
figure();
plot(t, c(:, 18), t, c(:, 13), t, c(:, 14), t, c(:, 15), t, c(:, 16), t, c(:, 17), 'LineWidth', 2)
legend('[Glc]', '[PEP]', '[DAHP]', '[Pyr]', '[3IGP]', '[Trp]');
xlabel('Time/min');
ylabel('Concetration');
axis([0 3000 0 20]);
grid on;
odefun.m
xxxxxxxxxx
function dc = odefcn(t, c, t1, iptg1, t2, alpha)
% lambdaPR: lacI, aroG, trpB, trpA
lambdaPR = 0.5;
alphal0 = 0.5;
alphal1 = 1;
% Plac: cl857, pykA
Plac = 1.3;
alphap0 = 0.5;
alphap1 = 1;
% RFP
ksynr = 0.019;
kder = 0.0013*10;
kpsynr = 0.47;
kpder = 0.136*10;
% lacI
kl = 0.626;
ksynl = kl*ksynr;
kdel = kl*kder;
kpsynl = kl*kpsynr;
kpdel = kl*kpder;
% aroG
ka = 0.644;
ksyna = ka*ksynr;
kdea = ka*kder;
kpsyna = ka*kpsynr;
kpdea = ka*kpder;
% trpB
kB = 0.568;
ksynB = kB*ksynr;
kdeB = kB*kder;
kpsynB = kB*kpsynr;
kpdeB = kB*kpder;
% trpA
kA = 0.84;
ksynA = kA*ksynr;
kdeA = kA*kder;
kpsynA = kA*kpsynr;
kpdeA = kA*kpder;
% cI857
kc = 0.95;
ksync = kc*ksynr;
kdec = kc*kder;
kpsync = kc*kpsynr;
kpdec = kc*kpder;
% pykA
kp = 0.47;
ksynp = kp*ksynr;
kdep = kp*kder;
kpsynp = kp*kpsynr;
kpdep = kp*kpder;
% reaction 1
vmax1 = 0.1;
km1 = 0.005;
% reaction 2
vmax2 = 0.03;
km2 = 0.002;
% reaction aroG
kcataroG = 0.1;
kmaroG = 0.009;
% reaction pykA
kcatpykA = 0.15;
kmpykA = 0.05;
% reaction trpAB
kcattrpAB = 0.009;
kmtrpAB = 0.1;
% population dynamics
K = 6.08*10^9;
r = (3.1364*10^(-04)*c(15)+0.0052);
k = 5*10^(-11);
% add IPTG
iptg = 0;
if (t>t1)
iptg = iptg1;
end
% raise temperature
if (t>t2)
iptg = 0;
alphal1 = alpha;
end
% differential equations
dc(1) = (ksynl*alphal0*lambdaPR + ksynl*alphal1*(1/(c(11)))*lambdaPR - kdel*c(1)); % [rlacI]
dc(2) = (ksyna*alphal0*lambdaPR + ksyna*alphal1*(1/(c(11)))*lambdaPR - kdea*c(2)); % [raroG]
dc(3) = (ksynB*alphal0*lambdaPR + ksynB*alphal1*(1/(c(11)))*lambdaPR - kdeB*c(3)); % [rtrpB]
dc(4) = (ksynA*alphal0*lambdaPR + ksynA*alphal1*(1/(c(11)))*lambdaPR - kdeB*c(4)); % [rtrpA]
dc(5) = (ksync*alphap0*Plac + ksync*alphap1*(iptg/(iptg+c(7)))*Plac - kdec*c(5)); % [rcI857]
dc(6) = (ksynp*alphap0*Plac + ksynp*alphap1*(iptg/(iptg+c(7)))*Plac - kder*c(6)); % [rpykA]
dc(7) = (kpsynl*c(1) - kpdel*c(7)); % [placI]
dc(8) = (kpsyna*c(2) - kpdea*c(8)); % [paroG]
dc(9) = (kpsynB*c(3) - kpdeB*c(9)); % [ptrpB]
dc(10) = (kpsynA*c(4) - kpdeA*c(10)); % [ptrpA]
dc(11) = (kpsync*c(5) - kpdec*c(11)); % [pcI857]
dc(12) = (kpsynp*c(6) - kpdep*c(12)); % [ppykA]
dc(13) = k*c(19)*(vmax1*c(18)/(c(18)+km1)-kcataroG*c(8)*c(13)/(c(13)+kmaroG)-kcatpykA*c(12)*c(13)/(c(13)+kmpykA)); % [PEP]
dc(14) = k*c(19)*(kcataroG*c(8)*c(13)/(c(13)+kmaroG)-vmax2*c(14)/(c(14)+km2)); % [DAHP]
dc(15) = k*c(19)*(kcatpykA*c(12)*c(13)/(c(13)+kmpykA)); % [Pyr]
dc(16) = k*c(19)*(vmax2*c(14)/(c(14)+km2)-kcattrpAB*(c(3)+c(4))*c(16)/(c(16)+kmtrpAB)); % [3IGP]
dc(17) = k*c(19)*(kcattrpAB*(c(3)+c(4))*c(16)/(c(16)+kmtrpAB)); % [Trp]
dc(18) = k*c(19)*(-vmax1*c(18)/(c(18)+km1)); % [Glc]
dc(19) = r*c(19)*(1-c(19)/K); % N
For the labwork of our project, please
check:
Engineering Success
Proof Of Concept