Difference between revisions of "Team:Shanghaitech/Model"

 
(43 intermediate revisions by 6 users not shown)
Line 3: Line 3:
 
{{Shanghaitech/js}}
 
{{Shanghaitech/js}}
 
<html>
 
<html>
 +
 +
<head>
 +
    <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML"></script>
 +
    <script type="text/x-mathjax-config">MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$']]}});</script>
 +
</head>
 +
<script>$(window).load(function(){if(MathJax){console.log("MathJax loaded");}});</script>
 +
 
<body>
 
<body>
  
<div id="main-content-wrapper">
+
    <div id="main-content-wrapper">
<div id="content-block">
+
        <div id="content-block">
<h1>Model</h1>
+
            <h1>Model - Overview</h1>
    <h2>Introduction</h2>
+
<img src="https://static.igem.org/mediawiki/2017/f/ff/T--ShanghaiTech--Modeling.png" style="align:center;">
    <p>In this model, we simplify the actual biology process into a model that only remains input molecule, promotor, transcription
+
            <h2>Why models are essential for our project?</h2>
        gene, mRNA, goal protein and output molecule.</p>
+
            <h3>1. Our Models help to explain the phenomenon in experiments</h3>
    <h3>Aim</h3>
+
            <p>What does the small drop of florescence signal/OD600 at the beginning of bacteria growth means? What causes the actual response curve deviate from the original rough model? With the improvement of our mathematical model, we've found some potential answers.</p>
    <ol start=''>
+
            <h3>2. Measuring working efficiency of Bioblocks</h3>
        <li>This model is used to explain the phenomenon in our experiments.</li>
+
            <p>Do the bioblocks work efficiently enough to keep a robust signal processing? To determine the efficiency of signal processing, we simulated AHL production dynamics with experimental data and then made prediction with an expression model.To determine the efficiency of signal processing, we simulated AHL production dynamics with experimental data and then made prediction with an expression model.</p>
        <li>This model is used to predict the working efficiency of our parts.</li>
+
            <h3>3. Predicting best working parameters for Bioblocks</h3>
        <li>This model can be used to simulate our experiments and do parameter fitting.</li>
+
            <p>How much time is needed for a bioblock to finish its task and when would the system proceed to the next layer? Our model can give some suggestions before determining these parameters by experiment.</p>
        <li>This model gives some new perspectives and developed models on QS system. </li>
+
            <h3>4. Modeling bacteria population inside a MagicBlock</h3>
 +
            <p>Adding AHLs to bacteria culture could cause growth suppression. Will this phenomenon interfere with the function of bio-blocks? To give a precise kinetic model of bioblocks, we had to test whether and to what level the toxicity of AHLs or the pressure of expressing exogenous protein causes grow suppression in our model.</p>
  
    </ol>
+
             <h2>Introduction</h2>
    <h3>Symbol</h3>
+
             <p>​In our models, we simplify the actual biology process into a basic model that only remains input molecule, promoter, transcription gene, mRNA, goal protein and output molecule for both dynamic perspective and responding ability. In developed model, we consider different conditions including the population growth, diffusion of signal and decay of signal molecules in cells. Finally, we completely construct the model of our bioblocks, which will instruct in using our system and guide our experiment. In addition, we also adapt new measurement methods to monitor fluorescence in bacteria in real time and do some basic researches on growth suppression by AHLs.</p>
    <table>
+
        <thead>
+
             <tr>
+
                <th>Symbol</th>
+
                <th>Meaning</th>
+
             </tr>
+
        </thead>
+
        <tbody>
+
            <tr>
+
                <td>$v_{generate}$</td>
+
                <td>The generation efficency of mRNA</td>
+
            </tr>
+
            <tr>
+
                <td>$[X]$</td>
+
                <td>The concentration of substance $X$</td>
+
            </tr>
+
            <tr>
+
                <td>$g_{X}$</td>
+
                <td>The generation rate of substance $X$</td>
+
            </tr>
+
            <tr>
+
                <td>$\phi_{X}$</td>
+
                <td>The decay rate of substance $X$</td>
+
            </tr>
+
            <tr>
+
                <td>$V_{\max}$</td>
+
                <td>The maximum rate of generation</td>
+
            </tr>
+
            <tr>
+
                <td>$C_{saturated}$</td>
+
                <td>The saturated concentration</td>
+
            </tr>
+
            <tr>
+
                <td>$N_{\max}$</td>
+
                <td>The maximum population</td>
+
            </tr>
+
            <tr>
+
                <td>$r$</td>
+
                <td>Growth rate of E.coli</td>
+
            </tr>
+
            <tr>
+
                <td>$[S]_t$</td>
+
                <td>Function of signal molecule decay</td>
+
            </tr>
+
            <tr>
+
                <td>$R(t)$</td>
+
                <td>Function of mRNA generate</td>
+
            </tr>
+
        </tbody>
+
    </table>
+
    <h3>Assumption</h3>
+
    <ol start=''>
+
        <li>mRNA and proteins will decay following Poisson distribution (equivalent to birth-and-death process)</li>
+
        <li>All combinations of two proteins are considered as quick reactions (Only control by thermodynamics)</li>
+
        <li>The constitutive promoter has a constant rate to transcript proteins.</li>
+
        <li>All raw materials inside cells can be considered as constants.</li>
+
  
    </ol>
+
            <h3>Aim</h3>
    <h3>Basic Model</h3>
+
            <ol>
    $$ \begin{aligned} \frac{d([mRNA])}{dt}&amp;=v_{generate}-\phi_{mRNA}[mRNA]\\ \frac{d([protein])}{dt}&amp;=g_{protein}[mRNA]-\phi_{protein}[protein]
+
            <li>Our Models help to explain the observed phenomenon in experiments</li>
    \end{aligned} $$
+
            <li>Parameters fitting for Bioblocks </li>
    <p>In these equations, $v_{generate}$ refers to the efficiency of mRNA transcription. $\phi$ refers to the degradation rate
+
             <li>Measuring working efficiency of Bioblocks </li>
        of mRNA and protein. </p>
+
             <li>Modeling bacteria population inside a MagicBlock </li>
    <p>The property of $v_{generate}$ depends on the promoter and the concentration of inducer molecule. If the promoter is
+
             </ol>
        pcons, $v_{generate}$ is a constant. Otherwise, it will have a sensitive response to different concentration of inducer
+
        molecule. This reponse can be expressed as following form:</p>
+
    $$ v_{generate}([x])=V_{max}·(\frac{(1-\epsilon)·x^n}{k^n+x^n}+\epsilon) $$
+
    <p>$k$ refers to the dissociation constant and $x$ refers to the concentration of inducer concentration. $\epsilon$ refers
+
        to the leakage of genetic expression.</p>
+
    <p>In comparision, for NOR GATE, the repression of inducer molecule can be expressed as similar form:</p>
+
    $$ v_{generate}([x])=V_{max}·(\frac{1-\epsilon}{1^n+(\frac{x}{k})^n}+\epsilon) $$
+
    <p>For specific concerntration, $v_{generate}$ is a constant, otherwise it is a function of $[x]$</p>
+
    <p>The generated protein is used to produce new signal molecule, which play a role as enzyme. Different from Michaelis-Menten
+
        equation, our protein (in other words, enzyme) will degradate while producing new siginal molecule, So this fact
+
        should be considered into our fundmental model.</p>
+
    <p>Mathematical expression for producing new signal molecule:</p>
+
    $$ \begin{aligned} \frac{d[EAB]}{dt}&amp;=k_1[E][A][B]-(k_1+k_{-1})[EAB]\\ \frac{d[M_{signal}]}{dt}&amp;=k_2[EAB] \end{aligned}
+
    $$
+
    <h3>Developed Model</h3>
+
    <h4>Growth of E.coli</h4>
+
    <p>In the developed model, we first take the growth of E.coli into consideration. The growth of E.coli can not only fluctuate
+
        the concentration of both reactants and products, but also an important variable in calculate final concentration
+
        of products. This model is based on this two fundamental relation:</p>
+
    $$ \begin{aligned} Total&amp;=Concentration·Volumel\\ Volume&amp;=N_{E.coli}·V_{E.coli}\\ \frac{d([protein]·Volume)}{dt}&amp;=g_{protein}[mRNA]·Volume-\phi_{protein}[protein]·Volume
+
    \end{aligned} $$
+
    <p>Correspondingly, it is same to equation for mRNA expression:</p>
+
    $$ \frac{d([mRNA])·Volume}{dt}=v_{generate}·Volume-\phi_{mRNA}[mRNA]·Volume\\ $$
+
    <p>$N_{E.coli}$ is a function used to show the population of E.coli, $V_{E.coli}$ refers to the volume of every E.coli,
+
        as a constant. So we can divide out the constant $V_{E.coli}$ on both sides of every equations, and take derivative
+
        formula:</p>
+
    $$ \frac{d[protein]}{dt}·N_{E.coli}+\frac{dN_{E.coli}}{dt}·[protein]=g_{protein}[mRNA]·N_{E.coli}-\phi_{protein}[protein]·N_{E.coli}
+
    $$
+
    <p>Simplify this equation into following form:</p>
+
    $$ \frac{d[protein]}{dt}=g_{protein}[mRNA]-(\phi_{protein}+\frac{N_{E.coli}&#39;}{N_{E.coli}})[protein]\\ N_{E.coli}&#39;=\frac{dN_{E.coli}}{dt}
+
    $$
+
    <p>$N_{E.coli}$ is satisfied to following equation:</p>
+
    $$ \begin{aligned} \frac{dN_{E.coli}}{dt}&amp;=rN_{E.coli}(1-\frac{N_{E.coli}}{N_{\max}})\\ N_{E.coli}&amp;=\frac{N_{\max}}{1+(\frac{N_{\max}}{N_{t=0}}-1)·e^{-rt}}
+
    \end{aligned} $$
+
    <p>$r$ refers to growth rate of E.coli and $N_{\max}$ refers to the limits of E.coli population. Since $N_{\max}$ and $N_{t=0}$are
+
        constants, so we define following parameter:</p>
+
    $$ \frac{N_{\max}}{N_{t=0}}-1=N_{c} $$
+
    <p>And $\frac{N'}{N}$ equals:</p>
+
    $$ \frac{N&#39;}{N}=\frac{N_cre^{-rt}}{1+N_ce^{-rt}} $$
+
    <p></p>
+
    <p>From our experiments, we find there are another two possible factors affecting the production of our system. First one
+
        is diffusion of signal molecule at initial time, the other one is the decay of signal molecule with the time flying.</p>
+
    <h4>Diffusion of signal molecule at initial time</h4>
+
    <p>The concentration of signal is always considered to diffuse into E.coli very rapidly. But from our data, we find that
+
        the initial part of our dynamic curve is not fitting to our basic model. Our basic model indicates that the rate
+
        of generating will decrease with the time flying, but the experiment shows that the velocity will have a short rise
+
        at initial time and then decrease as the way predicted by basic model. Therefore, we take process of diffusion into
+
        consideration. Because at very beginning, the concentration of signal in E.coli is very low, and then it will rise
+
        by diffusion, so the efficiency of production will rise according to time in a short time period.</p>
+
    <p>We suppose the initial concentration difference between inside of E.coli and outside is $\Delta c(0)$, also we know the
+
        time for E.coli to balence this difference:</p>
+
    $$ c(t)= C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}} $$
+
    <p>So the generating efficency comes to:</p>
+
    $$ v_{generate} = \frac{V_{\max}}{1+(\frac{k}{ C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}}})^n} $$
+
    <p>And we will use this formula to simulate initial state.</p>
+
    <p><img src='https://static.igem.org/mediawiki/2017/0/0f/T--Shanghaitech--%E6%89%A9%E6%95%A3%E6%B5%93%E5%BA%A6%E5%AF%B9%E6%97%B6%E9%97%B4%E7%9A%84%E5%93%8D%E5%BA%94.png'
+
             alt='扩散浓度对时间的响应' /></p>
+
    <p>The demo is shown above which is a Log linear plot. X-axis refers to the time, Y-axis refers to the generating efficiency.
+
        We can easily figure out the concentration will rapidly get to steady state and remains to a constant. Therefore,
+
        it will only affect the inital transcription efficiency.</p>
+
    <h4>Decay of signal molecule</h4>
+
    <p>In basic model, we consider the decay of signal can be neglected because we found there&#39;s no significant difference
+
        between concentration in vitro. But actually when we meature the rough concentration in the LB with E.coli, we found
+
        that the concentration has a linear deacrease through time, which we should take consideration into our model. </p>
+
    <p>The decay can be shown as following equation:</p>
+
    $$ [S]_t=[S]_{initial}-k_{decay}t $$
+
    <p>And the $v_{generate}$ becomes to:</p>
+
    $$ v_{generate}= V_{\max}\frac{([S]_t)^n}{k^n+([S]_t)^n} $$
+
    <p>To illustrate the change taken by the decompose of signal molecule, we can see following simulation curves:</p>
+
    <p><img src='https://static.igem.org/mediawiki/2017/f/fd/T--Shanghaitech--0-1.png' alt='1-10' /></p>
+
    <p>X-axis refers to time. We find the efficiency will not be disturbed greatly at initial time, and will have a rapid decrease
+
        when the concentration equals to the half of origin. This property shows that we should control the reaction time
+
        otherwise the production will decay without production with the time going by. So the main purpose of this model
+
        is to predict when we dilute the input signal solution to obtain the maximum of protein to convert out signal.</p>
+
    <h4>Extra model</h4>
+
    <p>This part will discuss an interesting model on how the signal molecule affect the growth and population. The reason why
+
        we care about this question is that we measured the OD600 under different circumstance and found some special relation
+
        between the concentration and the population. In breif, with the rise of concentration, the population will decrease.
+
        We wonder the mechanism and propse two hypothesis:</p>
+
    <ol start=''>
+
        <li>
+
             <p>The signal molecule is toxic to E.coli, so the population will decrease related to the increase of concentration
+
                linearly.</p>
+
        </li>
+
        <li>
+
             <p>The signal molecule induce the synthesis of GFP which occupy the substance that is originally used for growth.
+
                It indicates that if the GFP is produced, then the population will be at low level, otherwise the population
+
                will be at normal level.</p>
+
            <p>In our model, we indicates the second hypothesis is more realistic.</p>
+
            <p>To show the difference between these two hypothesis, we give following equation and diagram:</p>
+
            <p>For the first hypothesis, we relation between </p>
+
        </li>
+
  
    </ol>
+
            <h2>Basic and Developed kinetic Model</h2>
    <h2>Model of parameter fitting and simulation</h2>
+
            <p>​ What does the small drop of florescence signal/OD600 at the beginning of bacteria growth means? What causes the actual response curve deviate from the original rough model? With the improvement of our mathematical model, we&#39;ve found some potential answers.</p>
    <h3>Hill equation</h3>
+
            <h3>Basic Model</h3>
    <p>To get the parameter of Hill equation through our data, we tranfer Hill equation to following form:</p>
+
            $$ \begin{aligned} \frac{d([mRNA])}{dt}&amp;=v_{generate}-\phi_{mRNA}[mRNA]\\ \frac{d([protein])}{dt}&amp;=g_{protein}[mRNA]-\phi_{protein}[protein]\end{aligned} $$
    $$ \begin{aligned} Hill\ equation&amp;:y=V_{max}\times\frac{x^n}{k^n+x^n}\\ New\ form&amp;:\log{\frac{\frac{y}{V_{max}}}{1-\frac{y}{V_{max}}}}=n\log{x}-n\log{k}
+
            <p>​ In these equations, $v_{generate}$ refers to the efficiency of mRNA transcription. $\phi$ refers to the degradation rate of mRNA and protein. </p>
    \end{aligned} $$
+
            <p>​ The property of $v_{generate}$ depends on the promoter and the concentration of inducer molecule. If the promoter is constitutive promoter, $v_{generate}$ is a constant. Otherwise, it will have a sensitive response to different concentration of inducer molecule. This reponse can be expressed as following form:</p>
    <p>In this form, we can get easily get a linear relation between our input concerntration and output GFP. The question is
+
            $$
        how to find out $V_{max}$ in this equation because this value determine the reprocessed data of output. Another question
+
            v_{generate}([x])=V_{max}·(\frac{(1-\epsilon)·x^n}{k^n+x^n}+\epsilon)
        is, due to the large scale of our data, to ease the workload of proceesing such data. To meet the needs of these
+
            $$
        two question, first we let each output data substract the minimum among all output data, and define the ratio between
+
            <p>​ $k$ refers to the dissociation constant and  $x$ refers to the concentration of inducer concentration. $\epsilon$ refers to the leakage of genetic expression. Following diagram shows the intuitive relation between input signal concentration and expression efficiency.</p>
        each processed output data and the maximum of all output data as the standard output. (NOTICE: The minimum data of
+
            <p><img src='file:///Users/Luofang/Desktop/Wiki-script/C:/Users/Dellll/Desktop/hill%20equation.png' alt='hill equation' /></p>
        this output data set can be the control.)As following shows:</p>
+
            <p>​ In comparision, for NOR GATE, the repression of inducer molecule can be expressed as similar form:</p>
    $$ {output}={y_1,y_2,···,y_n} $$ $$ SY_{output}=\{y_1&#39;,y_2&#39;,···,y_n&#39;\}\quad which\quad y_i=\frac{y_i-\min{Y_{output}}}{\max{Y_{output}}-\min{Y_{output}}}
+
            $$
    $$
+
            v_{generate}([x])=V_{max}·(\frac{1-\epsilon}{1^n+(\frac{x}{k})^n}+\epsilon)
    <p>The elements in $SY_{output}$ fit following equation:</p>
+
            $$
    $$ \log{\frac{{y_i&#39;}\frac{\max{Youtput}-\min{Y_{output}}}{V_{max}}}{1-{y_i&#39;}\frac{\max{Youtput}-\min{Y_{output}}}{V_{max}}}}=n\log{x_i}-n\log{k}
+
            <p>​ For specific concerntration, $v_{generate}$ is a constant, otherwise it is a function of $[x]$</p>
    $$
+
            <p>​ The generated protein is used to produce new signal molecule, which play a role as enzyme. Different from Michaelis-Menten equation, our protein (in other words, enzyme) will degradate while producing new siginal molecule, So this fact should be considered into our fundmental model.</p>
    <p>We define the value of $\frac{V_{max}}{\max{Youtput}-\min{Y_{output}}}$ as a parameter $PV_{max}$. So the equation we
+
            <p>​ Mathematical expression for producing new signal molecule:</p>
        actually simulate is following one:</p>
+
            $$
    $$ \log{\frac{y_i&#39;}{PV_{max}-y_i&#39;}}=n\log{x_i}-n\log{k} $$
+
            \frac{d[EAB]}{dt}=k_1[E][A][B]-(k_1+k_{-1})[EAB]\\
    <p>​ We use Mathematica as fitting tools, the following code is shown:</p>
+
            \frac{d[M_{signal}]}{dt}=k_2[EAB]
    <pre><code class='language-mathematica' lang='mathematica'>
+
            $$
outputdata = {output1, output2, output3, output4, output5,output6};
+
            <h3>Developed Model</h3>
Processeddata = (outputdata - Min[outputdata])/(Max[outputdata] -
+
            <h4>Growth of E.coli</h4>
      Min[outputdata]) // N;
+
            <p>​ In the developed model, we first take the growth of  E.coli into consideration. The growth of E.coli can not only fluctuate the concentration of both reactants and products, but also an important variable in calculate final concentration of products. This model is based on this two fundamental relation:</p>
data&#39; = {{Log10[10^(-9)], Processeddata[[1]]}, {Log10[10^(-8)],
+
            $$
    Processeddata[[2]]}, {Log10[10^(-7)],
+
            Total=Concentration·Volumel\\
    Processeddata[[3]]}, {Log10[10^(-6)],
+
            Volume=N_{E.coli}·V_{E.coli}\\
    Processeddata[[4]]}, {Log10[10^(-5)], Processeddata[[5]]},{Log10[10^(-4)], Processeddata[[6]]}};
+
            \frac{d([protein]·Volume)}{dt}=g_{protein}[mRNA]·Volume-\phi_{protein}[protein]·Volume
data = {{data&#39;[[1, 1]], data&#39;[[1, 2]]}, {data&#39;[[2, 1]],
+
            $$
    data&#39;[[2, 2]]}, {data&#39;[[3, 1]], data&#39;[[3, 2]]}, {data&#39;[[4, 1]],
+
            <p>​ Correspondingly, it is same to equation for mRNA expression:</p>
    data&#39;[[4, 2]]}, {data&#39;[[5, 1]], data&#39;[[5, 2]]}, {data&#39;[[6, 1]], data&#39;[[6, 2]]}};
+
            $$
solu = Flatten[
+
            \frac{d([mRNA])·Volume}{dt}=v_{generate}·Volume-\phi_{mRNA}[mRNA]·Volume\\
  Solve[Log10[(y*PVmax)/(1 - (y*PVmax))] == n*x - n*logk, y]];
+
            $$
fitparameter = (FindFit[data, y /. solu, {PVmax, logk, n}, x])
+
            <p>$N_{E.coli}$ is a function used to show the population of E.coli, $V_{E.coli}$ refers to the volume of every E.coli, as a constant. So we can divide out the constant $V_{E.coli}$ on both sides of every equations, and take derivative formula:</p>
fit = y /. solu /. fitparameter;
+
            $$
Show[ListPlot[data, PlotStyle -&gt; Red], Plot[fit, {x, -10, 0}]]
+
            \frac{d[protein]}{dt}·N_{E.coli}+\frac{dN_{E.coli}}{dt}·[protein]=g_{protein}[mRNA]·N_{E.coli}-\phi_{protein}[protein]·N_{E.coli}
</code></pre>
+
            $$
    <p>Example and its output is shown (NOTICE: This example is the fitting curve of the Tra with its limited five data. Actually
+
            <p>​ Simplify this  equation into following form:</p>
        most of our data, except for tra, has six inputs and outputs, so the original code, which is shown above, has six
+
            $$
        outputs. When we use this code, we can just import outputs into &quot;outputdata&quot; list and run this programm.
+
            \frac{d[protein]}{dt}=g_{protein}[mRNA]-(\phi_{protein}+\frac{N_{E.coli}&#39;}{N_{E.coli}})[protein]\\
        ):</p>
+
            N_{E.coli}&#39;=\frac{dN_{E.coli}}{dt}
    <pre><code class='language-mathematica' lang='mathematica'>
+
            $$
outputdata = {16141, 6812, 32977, 362525, 959405};
+
            <p>​ $N_{E.coli}$ is satisfied to following equation:</p>
Processeddata = (outputdata - Min[outputdata])/(Max[outputdata] -
+
            $$
      Min[outputdata]) // N;
+
            N_{E.coli}=\frac{N_{\max}}{1+(\frac{N_{\max}}{N_{t=0}}-1)·e^{-rt}}
data&#39; = {{Log10[10^(-9)], Processeddata[[1]]}, {Log10[10^(-8)],
+
            $$
    Processeddata[[2]]}, {Log10[10^(-7)],
+
            <p>$r$ refers to growth rate of E.coli and $N_{\max}$ refers to the limits of E.coli population. Since $N_{\max}$ and $N_{t=0}$are constants, so we define following parameter:</p>
    Processeddata[[3]]}, {Log10[10^(-6)],
+
            $$
    Processeddata[[4]]}, {Log10[10^(-5)], Processeddata[[5]]}};
+
            \frac{N_{\max}}{N_{t=0}}-1=N_{c}
data = {{data&#39;[[1, 1]], data&#39;[[1, 2]]}, {data&#39;[[2, 1]],
+
            $$
    data&#39;[[2, 2]]}, {data&#39;[[3, 1]], data&#39;[[3, 2]]}, {data&#39;[[4, 1]],
+
            <p></p>
    data&#39;[[4, 2]]}, {data&#39;[[5, 1]], data&#39;[[5, 2]]}};
+
            <p>​ From our experiments, we find there are another two possible factors affecting the production of our system. First  one is diffusion of signal molecule at initial time, the other one is the decay of signal molecule with the time going.</p>
solu = Flatten[
+
            <h4>Diffusion of signal molecule at initial time</h4>
  Solve[Log10[(y*PVmax)/(1 - (y*PVmax))] == n*x - n*logk, y]];
+
            <p>​ The concentration of signal is always considered to diffuse into E.coli very rapidly. But from our data, we find that the initial part of our dynamic curve is not fitting to our basic model. Our basic model indicates that the rate of generating will decrease with the time flying, but the experiment shows that the velocity will have a short rise at initial time and then decrease as the way predicted  by basic model. Therefore, we take process of diffusion into consideration. Because at very beginning, the concentration of signal in E.coli is very low, and then it will rise by diffusion, so the efficiency of production will rise according to time in a short time period.</p>
fitparameter = (FindFit[data, y /. solu, {PVmax, logk, n}, x])
+
            <p>We suppose the initial concentration difference between inside of E.coli and outside is $\Delta c(0)$, also we know the time for E.coli to balence this difference:</p>
fit = y /. solu /. fitparameter;
+
            $$
Show[ListPlot[data, PlotStyle -&gt; Red], Plot[fit, {x, -10, 0}]]
+
            c(t)= C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}}
</code></pre>
+
            $$
    <p><img src='https://static.igem.org/mediawiki/2017/a/a1/T--Shanghaitech--i%E6%B5%8B%E9%87%8F.jpg' alt='img' /> Then we can get
+
            <p>So the generating efficency comes to:</p>
        the meaningful parameter from these data quickly and easily.</p>
+
            $$
    <h3>Simulation of Signal Producing</h3>
+
            v_{generate} = \frac{V_{\max}}{1+(\frac{k}{ C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}}})^n}
    <h4>The Efficiency of Signal Converter</h4>
+
            $$
    <p>How we can measure the working efficiency of our signal converter is an important question for us. As we all know, the
+
            <p>And we will use this formula to simulate initial state.</p>
        reason why we use GFP to reflect the efficiency of promoter is that we can measure fluoresence easily and establish
+
            <p><img src='https://static.igem.org/mediawiki/2017/8/85/T--Shanghaitech--modelfig5fx.gif'alt='扩散浓度对时间的响应' /></p>
        the quantity relationship between GFP expression and input signal concentration. But when it comes to some other
+
            <p>​ The demo is shown above which is a Log linear plot. X-axis refers to the time,  Y-axis refers to the generating efficiency. We can easily figure out the concentration will rapidly get to steady state and remains to a constant. Therefore, it will only affect the inital transcription efficiency.</p>
        products such as small molecule, they are hard to measure exactly. We use LC-MS to indicate the production of our
+
            <p>​ Following diagram shows the modified dynamic curve </p>
        signal converter roughly, but this data is too rough to instruct our following work. So we will use our model to
+
            <p>​          <img src='https://static.igem.org/mediawiki/2017/f/f0/T--Shanghaitech--modelfig3fx.gif' alt='simulation' /> </p>
        obtain the parameter of converter indirectly by following experiments and deduction from model. </p>
+
            <p>We can see the initial slope of the curve is rasing to a point and then decrease gradually which is highly fixed to the experiment result we get.</p>
    <p>We symbol $S_1,S_2$ as the concentrations of two signal molecules, signal one and signal two, $GFP$ as the result of
+
            <h4>Decay of signal molecule</h4>
        fluroesence intensity. </p>
+
            <p>In basic model, we consider the decay of signal can be neglected because we found there&#39;s no significant difference between concentration in vitro. But actually when we meature the rough concentration in the LB with E.coli, we found that the concentration has a linear deacrease through time, which we should take consideration into our model. </p>
    <p>We propose two experiments. First one is using signal two to induce the expression of GFP. We take its results as standard
+
            <p>The decay can be shown as following equation:</p>
        curve. The other experiment is using signal one to obtain signal two, and we use signal two to induce the expression
+
            $$
        of gene. Also we will have following data:</p>
+
            [S]_t=[S]_{initial}-k_{decay}t
    $$ \begin{aligned}S_1&amp;=\{c_1,c_2,···,c_n\}\\ GFP&amp;=\{F_1,F_2,···,F_n\} \end{aligned} $$
+
            $$
    <p>From our model we know the relationship among $S_1,S_2$ and $GFP$ at steady state as following:</p>
+
            <p>And the $v_{generate}$ becomes to:</p>
    $$ \begin{aligned}GFP&amp;=V_{max}·(\frac{(1-\epsilon_1)·{S_2}^n}{k_1^n+{S_2}^n}+\epsilon_1)\\ S_2&amp;=V_{max}·(\frac{(1-\epsilon_2)·{S_1}^m}{k_2^m+{S_1}^m}+\epsilon_2)\end{aligned}
+
            $$
    $$
+
            v_{generate}= V_{\max}\frac{([S]_t)^n}{k^n+([S]_t)^n}
    <p>From the parameter fitting model, we can determine all parameters in $GFP-S_2$ curve. Therefore, we can use this curve
+
            $$
        and data of GFP from second experiment to obtain the input signal two concentration. </p>
+
            <p>​ To illustrate the change taken by the decompose of signal molecule, we can see following simulation curves:</p>
    $$ \begin{aligned} F_i&amp;=V_{max}·(\frac{(1-\epsilon_1)·{[S_2]_i}^n}{k_1^n+{[S_2]_i}^n}+\epsilon_1)\\ F&#39;_i&amp;=\frac{F_i-\epsilon_1}{1-\epsilon_1}
+
            <p>​ <img src='https://static.igem.org/mediawiki/2017/b/b9/T--Shanghaitech--modelfig4fx.gif' alt='1-10' /></p>
    \\\Longleftrightarrow\log{[S_2]_i}&amp;=\frac{\log{\frac{F_i&#39;}{V_1-F_i&#39;}}}{n}+\log{k_1} \end{aligned} $$
+
            <p>​ X-axis refers to time. We find the efficiency will not be disturbed greatly at initial time, and will have a rapid decrease when the concentration equals to the half of origin. This property shows that we should control the reaction time otherwise the production will decay without production with the time going by. So the main purpose of this model is to predict when we dilute the input signal solution to obtain the maximum of protein to convert out signal.</p>
    <p>So we have the data $[S_2]_i$ related to input concentration of signal one, so we can get the relation through using
+
            <p>We use matlab to obtain a rough curve of protein expression. X-axis refers to time. </p>
        parameter-fitting model would get the parameter of $S_1-S_2$ curve finally.<br/></p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/c/c8/T--Shanghaitech--decay.png' alt='decay' /></p>
    <p></p>
+
            <p>This is a important result because it indicates that the production will not always increase with the time going. Actually, there exists a so-called &quot;best time&quot; to process next step in our system. For example, this peak can determine when we dilute input signal to get output signal as much as possible. </p>
    <h4>Rough schematic diagram</h4>
+
            <p><img src='https://static.igem.org/mediawiki/2017/e/e3/T--Shanghaitech--%E5%90%88%E6%88%90%E9%85%B6.png' alt='合成酶' /></p>
    <p>This is the concentration curve of protein related to time</p>
+
            <p>Red stars refers to &quot;best time&quot; according to different input concentration from upstream block.</p>
    <p><img src='https://static.igem.org/mediawiki/2017/6/64/T--Shanghaitech--Ehyphyp.png' alt='E' /></p>
+
            <p>*matlab code:</p>
    <p>This is the concentration curve of protein complex related to time</p>
+
            <pre class="md-fences md-end-block" lang="matlab"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 4px;"></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: 30px; min-height: 314px; 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"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><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-variable">n</span> = [];</span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">fn</span> = [];</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">for</span> <span class="cm-variable">i</span>=<span class="cm-number">1</span>:<span class="cm-variable">T</span><span class="cm-operator">/</span><span class="cm-variable">dt</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">n</span> = [<span class="cm-variable">n</span> <span class="cm-variable">i</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-builtin">exp</span>(<span class="cm-operator">-</span><span class="cm-variable">a</span><span class="cm-operator">*</span><span class="cm-variable">i</span><span class="cm-operator">*</span><span class="cm-variable">dt</span>);</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">sum</span>=<span class="cm-number">0</span>;</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">for</span> <span class="cm-variable">j</span>=<span class="cm-number">0</span>:<span class="cm-variable">i</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">sum</span> = <span class="cm-builtin">sum</span> <span class="cm-operator">+</span> (<span class="cm-variable">Vm</span><span class="cm-operator">-</span>(<span class="cm-variable">j</span><span class="cm-operator">*</span><span class="cm-variable">dt</span>)<span class="cm-operator">^</span><span class="cm-variable">n</span>)<span class="cm-operator">*</span><span class="cm-builtin">exp</span>(<span class="cm-variable">a</span><span class="cm-operator">*</span><span class="cm-variable">dt</span><span class="cm-operator">*</span><span class="cm-variable">j</span>)<span class="cm-operator">*</span><span class="cm-variable">dt</span><span class="cm-operator">/</span>(<span class="cm-variable">k</span><span class="cm-operator">^</span><span class="cm-variable">n</span><span class="cm-operator">+</span>(<span class="cm-variable">Vm</span><span class="cm-operator">-</span>(<span class="cm-variable">dt</span><span class="cm-operator">*</span><span class="cm-variable">j</span>)<span class="cm-operator">^</span><span class="cm-variable">n</span>));</span></pre><pre class=" CodeMirror-line " 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 class="cm-variable">y</span> = <span class="cm-variable">t</span><span class="cm-operator">*</span><span class="cm-builtin">sum</span><span class="cm-operator">+\</span><span class="cm-variable">phi</span><span class="cm-operator">*</span> (<span class="cm-variable">Vm</span> <span class="cm-operator">-</span> <span class="cm-variable">dt</span><span class="cm-operator">*</span><span class="cm-variable">i</span>)<span class="cm-operator">^</span>(<span class="cm-variable">n</span><span class="cm-number">-1</span>)<span class="cm-operator">/</span>(<span class="cm-variable">k</span><span class="cm-operator">^</span><span class="cm-variable">n</span> <span class="cm-operator">+</span> (<span class="cm-variable">Vm</span> <span class="cm-operator">-</span> <span class="cm-variable">dt</span><span class="cm-operator">*</span><span class="cm-variable">i</span>)<span class="cm-operator">^</span><span class="cm-variable">n</span>)<span class="cm-operator">^</span><span class="cm-number">2</span>;</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-variable">fn</span> = [<span class="cm-variable">fn</span> <span class="cm-variable">y</span>];</span></pre><pre class=" CodeMirror-line " 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 class="cm-builtin">plot</span>(<span class="cm-variable">n</span>,<span class="cm-variable">fn</span>);</span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-builtin">max</span>(<span class="cm-variable">fn</span>);</span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 314px;"></div><div class="CodeMirror-gutters" style="display: none; height: 344px;"></div></div></div></pre>
    <p><img src='https://static.igem.org/mediawiki/2017/7/7d/T--Shanghaitech--EAB.png' alt='EAB' /></p>
+
            <p>This matlab code shows how we draw the curves and how to find maximum.</p>
    <p>This is the concentration curve of producing signal molecule related to time</p>
+
            <h2>Parameter Fitting and Simulation</h2>
    <p><img src='https://static.igem.org/mediawiki/2017/0/05/T--Shanghaitech--Signal.png' alt='Signal' /></p>
+
            <h3>Hill equation</h3>
    <h3>Simulation of NOR GATE</h3>
+
            <p>​ To get the parameter of Hill equation through our data, we tranfer Hill equation to following form:</p>
    <h4>Rough schematic diagram</h4>
+
            $$
    <p>This is the concentration curve of produced signal molecule related to time</p>
+
            Hill\quad equation:y=V_{max}\times\frac{x^n}{k^n+x^n}
    <p><img src='https://static.igem.org/mediawiki/2017/e/e4/T--Shanghaitech--NOR.png' alt='NOR' /></p>
+
            $$
    <h2>Theoretical Calculation of Modeling</h2>
+
            $$
    <h3>Solution to ODE</h3>
+
            New\quad form:\log{\frac{\frac{y}{V_{max}}}{1-\frac{y}{V_{max}}}}=n\log{x}-n\log{k}
    <p>The core of our model is to solve following equation and find parameters from experiments:</p>
+
            $$
    $$ \frac{dy}{dt}+P(t)y=Q(t) $$
+
            <p>​ In this form, we can get easily get a linear relation between our input concerntration and output GFP. The question is how to find out $V_{max}$ in this equation because this value determine the reprocessed data of output. Another question is, due to the large scale of our data, to ease the workload of proceesing such data. To meet the needs of these two question, first we let each output data substract the minimum among all output data, and define the ratio between each processed output data and the maximum of all output data as the standard output. (NOTICE: The minimum data of this output data set can be the control.)As following shows:</p>
    <p>The solution can be decomposed to two parts:</p>
+
            $$
    $$ \begin{aligned} \frac{dy}{dt}+P(t)y&amp;=0\\ \frac{dy_{s}}{dt}+P(t)y_{s}&amp;=Q(t) \end{aligned} $$
+
            {output}={y_1,y_2,···,y_n}
    <p>From fisrt equation we will get:</p>
+
            $$
    $$ y=Ce^{-\int P(t)\,dt} $$
+
            $$
    <p>How can we use the solution to first equation to solve second equation? The answer is to transfer constant $C$ into a
+
            SY_{output}=\{y_1&#39;,y_2&#39;,···,y_n&#39;\}\quad which\quad y_i=\frac{y_i-\min{Y_{output}}}{\max{Y_{output}}-\min{Y_{output}}}
        function related to $t$. And the derivative will become to following formula:</p>
+
            $$
    $$ \begin{aligned} \frac{dy}{dt}&amp;=C(t)·(-P(t))·e^{-\int P(t)\,dt}+C&#39;(t)·e^{-\int P(t)\,dt}\\ \Longrightarrow \frac{dy}{dt}+P(t)y&amp;=C&#39;(t)·e^{-\int
+
            <p>​ The elements in $SY_{output}$ fit following equation:</p>
    P(t)\,dt}\\ \Longrightarrow Q(t)&amp;=C&#39;(t)·e^{-\int P(t)\,dt}\\ \Longrightarrow C(t)&amp;=\int Q(t)·e^{\int P(t)\,dt}\,dt+C
+
            $$
    \end{aligned} $$
+
            \log{\frac{{y_i&#39;}\frac{\max{Youtput}-\min{Y_{output}}}{V_{max}}}{1-{y_i&#39;}\frac{\max{Youtput}-\min{Y_{output}}}{V_{max}}}}=n\log{x_i}-n\log{k}
    <p>Therefore, the solution to second equation is:</p>
+
            $$
    $$ e^{-\int P(t)\,dt}(\int Q(t)·e^{\int P(t)\,dt}\,dt+C) $$
+
            <p>​ We define the value of $\frac{V_{max}}{\max{Youtput}-\min{Y_{output}}}$ as a parameter $PV_{max}$. So the equation we actually simulate is following one:</p>
    <p>The difficulty is how we can use such a complex function in next differential equation? Actually we probably cannot get
+
            $$
        the analytic result of the integral, so it seems impossible to get an exact function for protein concentration. Fortunately,
+
            \log{\frac{y_i&#39;}{PV_{max}-y_i&#39;}}=n\log{x_i}-n\log{k}
        there are still some special properties in our function which wll help us to get a relative solution.</p>
+
            $$
    <p>We start from the function of mRNA. Since $P(t)$ is a constant in our first equation, we can directly give the result:</p>
+
            <p>​ We use Mathematica as fitting tools, the following code is shown:</p>
    $$ [mRNA]= e^{-\phi_{mRNA}t}(\int Q(t)·e^{\phi_{mRNA}t}dt+C) $$
+
            <pre class="md-fences md-end-block" lang="mathematica"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 4px;"></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: 30px; min-height: 358px; 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"><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-keyword">outputdata</span> <span class="cm-operator">=</span> <span class="cm-bracket">{</span><span class="cm-keyword">output1</span><span class="cm-operator">,</span> <span class="cm-keyword">output2</span><span class="cm-operator">,</span> <span class="cm-keyword">output3</span><span class="cm-operator">,</span> <span class="cm-keyword">output4</span><span class="cm-operator">,</span> <span class="cm-keyword">output5</span><span class="cm-operator">,</span><span class="cm-keyword">output6</span><span class="cm-bracket">}</span><span class="cm-operator">;</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">Processeddata</span> <span class="cm-operator">=</span> <span class="cm-bracket">(</span><span class="cm-keyword">outputdata</span> <span class="cm-operator">-</span> <span class="cm-keyword">Min</span><span class="cm-bracket">[</span><span class="cm-keyword">outputdata</span><span class="cm-bracket">])</span><span class="cm-operator">/</span><span class="cm-bracket">(</span><span class="cm-keyword">Max</span><span class="cm-bracket">[</span><span class="cm-keyword">outputdata</span><span class="cm-bracket">]</span> <span class="cm-operator">-</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-keyword">Min</span><span class="cm-bracket">[</span><span class="cm-keyword">outputdata</span><span class="cm-bracket">])</span> <span class="cm-operator">//</span> <span class="cm-keyword">N</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">data</span><span class="cm-operator">'</span> <span class="cm-operator">=</span> <span class="cm-bracket">{{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">9</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> <span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">1</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">8</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">7</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">3</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">6</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">4</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">5</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> <span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">5</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span><span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">4</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> <span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">6</span><span class="cm-bracket">]]}}</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">data</span> <span class="cm-operator">=</span> <span class="cm-bracket">{{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">1</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> <span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">1</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">2</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">2</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">3</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> <span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">3</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">4</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">4</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">5</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> <span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">5</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">6</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> <span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">6</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}}</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">solu</span> <span class="cm-operator">=</span> <span class="cm-keyword">Flatten</span><span class="cm-bracket">[</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; <span class="cm-keyword">Solve</span><span class="cm-bracket">[</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[(</span><span class="cm-keyword">y</span><span class="cm-operator">*</span><span class="cm-keyword">PVmax</span><span class="cm-bracket">)</span><span class="cm-operator">/</span><span class="cm-bracket">(</span><span class="cm-number">1</span> <span class="cm-operator">-</span> <span class="cm-bracket">(</span><span class="cm-keyword">y</span><span class="cm-operator">*</span><span class="cm-keyword">PVmax</span><span class="cm-bracket">))]</span> <span class="cm-operator">==</span> <span class="cm-keyword">n</span><span class="cm-operator">*</span><span class="cm-keyword">x</span> <span class="cm-operator">-</span> <span class="cm-keyword">n</span><span class="cm-operator">*</span><span class="cm-keyword">logk</span><span class="cm-operator">,</span> <span class="cm-keyword">y</span><span class="cm-bracket">]]</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">fitparameter</span> <span class="cm-operator">=</span> <span class="cm-bracket">(</span><span class="cm-keyword">FindFit</span><span class="cm-bracket">[</span><span class="cm-keyword">data</span><span class="cm-operator">,</span> <span class="cm-keyword">y</span> <span class="cm-operator">/.</span> <span class="cm-keyword">solu</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">PVmax</span><span class="cm-operator">,</span> <span class="cm-keyword">logk</span><span class="cm-operator">,</span> <span class="cm-keyword">n</span><span class="cm-bracket">}</span><span class="cm-operator">,</span> <span class="cm-keyword">x</span><span class="cm-bracket">])</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">fit</span> <span class="cm-operator">=</span> <span class="cm-keyword">y</span> <span class="cm-operator">/.</span> <span class="cm-keyword">solu</span> <span class="cm-operator">/.</span> <span class="cm-keyword">fitparameter</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">Show</span><span class="cm-bracket">[</span><span class="cm-keyword">ListPlot</span><span class="cm-bracket">[</span><span class="cm-keyword">data</span><span class="cm-operator">,</span> <span class="cm-keyword">PlotStyle</span> <span class="cm-operator">-&gt;</span> <span class="cm-keyword">Red</span><span class="cm-bracket">]</span><span class="cm-operator">,</span> <span class="cm-keyword">Plot</span><span class="cm-bracket">[</span><span class="cm-keyword">fit</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">x</span><span class="cm-operator">,</span> <span class="cm-operator">-</span><span class="cm-number">10</span><span class="cm-operator">,</span> <span class="cm-number">0</span><span class="cm-bracket">}]]</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 358px;"></div><div class="CodeMirror-gutters" style="display: none; height: 388px;"></div></div></div></pre>
    <p>Now we solve following differetial equation:</p>
+
    $$ \frac{d([protein])}{dt}+\phi_{protein}[protein]=g_{protein}[mRNA] $$
+
    <p>Or for simplicity, we use:</p>
+
    $$ \frac{dy}{dt}+\phi_2·y=g·R(t) $$
+
    <p>According to the differential operator method, we get:</p>
+
    $$ \begin{aligned} (D+\phi_2)y^\ &amp;=g·R(t)\\ \Longleftrightarrow y^*&amp;=\frac{1}{D+\phi_2}·g·R(t)\\ \Longleftrightarrow
+
    y^*&amp;=\frac{1}{\phi_2}·(1-(\frac{D}{\phi_2})+(\frac{D}{\phi_2})^2-···)·g·R(t)\\ \Longleftrightarrow y^*&amp;=\frac{1}{\phi_2}·(1-\frac{1}{\phi_2}\frac{d}{dt}+\frac{1}{\phi_2^2}\frac{d^2}{dt^2}-···)·g·R(t)
+
    \end{aligned} $$
+
    <p>For $R(t)$, we write the general form:</p>
+
    $$ R(t)=e^{-\phi t}(\int Q(t)e^{\phi t}dt+C) $$
+
    <p>When we take derivation:</p>
+
    $$ R&#39;(t)=(-\phi)·e^{-\phi t}(\int Q(t)e^{\phi t}dt)+e^{-\phi t} Q(t)e^{\phi t}+C·(-\phi)·e^{-\phi t}\\ \Longleftrightarrow
+
    R&#39;(t)=(-\phi)R(t)+Q(t) $$
+
    <p>Furthermore:</p>
+
    $$ \begin{aligned} R^{(n)}(t)&amp;=(-\phi)R^{(n-1)}(t)+Q^{(n-1)}(t)\\ R^{(n)}(t)&amp;=(-\phi)^n·R(t)+\sum_{k=1}^{n}k^{n-k}Q^{(k)}(t)
+
    \end{aligned} $$
+
    <p>REMARK:</p>
+
    $$ f^{(n)}(t)=\frac{d^nf}{dt^n} $$
+
    <p>Therefore we get:</p>
+
    $$ y^*=\frac{g}{\phi_2}·(\sum_{i=0}^{+\infty}(\frac{\phi_1}{\phi_2})^iR(t)+\sum_{k=1}^{i}(\frac{\phi_1}{\phi_2})^{i}·(\phi_1)^{-k}·Q^{(k)}(t))\\
+
    \Longrightarrow y=\frac{g}{\phi_2}·(\sum_{i=0}^{+\infty}(\frac{\phi_1}{\phi_2})^iR(t)+\sum_{k=1}^{i}(\frac{\phi_1}{\phi_2})^{i}·(\phi_1)^{-k}·Q^{(k)}(t))+A^*·e^{-\phi_2
+
    t} $$
+
    <p>The first summation is simple:</p>
+
    $$ \sum_{i=0}^{+\infty}(\frac{\phi_1}{\phi_2})^iR(t)=\frac{\phi_2}{\phi_2-\phi_1}R(t) $$
+
    <p>Second summation is really complex, so we must do some approximation:</p>
+
    $$ \begin{aligned} &amp;\sum_{i=0}^{+\infty}(\frac{\phi_1}{\phi_2})^{i}\sum_{k=1}^{i}(\phi_1)^{-k}·Q^{(k)}(t)\\ =&amp;\sum_{i=0}^{+\infty}(\frac{\phi_1}{\phi_2})^{i}(\phi_1)^{-1}·\frac{d}{dt}Q(t)\\
+
    =&amp;\frac{\phi_2}{\phi_1(\phi_2-\phi_1)}·\frac{d}{dt}Q(t) \end{aligned} $$
+
    <p>Therefore we get a approximation of protein&#39;s concentration:</p>
+
    $$ [protein]=\frac{\phi_2}{\phi_2-\phi_1}e^{-\phi_{mRNA}t}(\int Q(t)·e^{\phi_{mRNA}t}dt+C)+\frac{\phi_2}{\phi_1(\phi_2-\phi_1)}·\frac{d}{dt}Q(t)+A^*·e^{-\phi_2
+
    t} $$
+
    <h3>Solution to Our Model</h3>
+
    <h4>Details of Developed Model</h4>
+
    <h5>Growth of E.coli</h5>
+
    <p>We combine this solution with our equation, and then we get:</p>
+
    $$ \begin{aligned} \left[mRNA\right]&amp;=e^{-\int(\phi_{mRNA}+\frac{r·N_c}{N_c+e^{rt}})\,dt}·(\int v_{generate}·e^{\int(\phi_{mRNA}+\frac{r·N_c}{N_c+e^{rt}})\,dt}\,dt+C_0)\\
+
    \left[protein\right]&amp;=e^{-\int(\phi_{protein}+\frac{r·N_c}{N_c+e^{rt}})\,dt}·(\int g_{protein}\left[mRNA\right]·e^{\int(\phi_{protein}+\frac{r·N_c}{N_c+e^{rt}})\,dt}\,dt+C_0&#39;)
+
    \end{aligned} $$
+
    <p>We suppose that:</p>
+
    $$ N_c(t)=1+N_c·e^{-rt} $$
+
    <p>Therefore we get:</p>
+
    $$ [mRNA]=C_1·v_{generate}·N_c(t)·e^{-\phi_{mRNA}t}\int\frac{e^{\phi_{mRNA}t}}{N_c(t)}\,dt+C_1·C_0N_c(t)·e^{-\phi_{mRNA}t}
+
    $$
+
    <p>As a special case, this is used to decribe if the growth of E.coli is at a steady state:</p>
+
    $$ \lim_{n\to\infty}N_c(t)=1 $$
+
    <p>Then we get a simple formula:</p>
+
    $$ [mRNA]=A·v_{generate}+C·e^{-\phi_{mRNA} t} $$
+
    <p>Further more, we define:</p>
+
    $$ \begin{aligned} A(t)&amp;=C_1·N_c(t)·e^{-\phi_{mRNA}t}\int\frac{e^{\phi_{mRNA}t}}{N_c(t)}\,dt\\ C(t)&amp;=C_1·C_0N_c(t)\\
+
    [mRNA]&amp;=A(t)·v_{generate}+C(t)·e^{-\phi_{mRNA} t} \end{aligned} $$
+
    <p>Consider the inital value of mRNA, we get following relation:</p>
+
    $$ A(0)v_{generate}+C(0)=0 $$
+
    <p>Now let&#39;s have a look on this special function and related integration:</p>
+
    $$ A(t)=C_1·N_c(t)·e^{-\phi_{mRNA}t}\int\frac{e^{\phi_{mRNA}t}}{N_c(t)}\,dt\\ N_c(t)=1+N_c·e^{-rt}\\ N_c=\frac{N_{\max}}{N_{t=0}}-1
+
    $$
+
    <p>We can hardly get an analytic solution to this integration theoritically, but we can do some transformation on $N_c(t)$,
+
        which helps us solve this problem partly according to this fact:</p>
+
    $$ If\quad|x|&lt;1\\Then\quad\frac{1}{1+x}=\sum_{k=0}^{+\infty}(-x)^k $$
+
    <p>So we suppose:</p>
+
    $$ N_c&lt;1\Longleftrightarrow N_{t=0}&gt;\frac{N_{max}}{2} $$
+
    <p>From the biological perspective, this indicates the initial population of E.coli has been more than the half of maximum
+
        population, this assumption roughly fits our experiments. This condition promises following equation:</p>
+
    $$ \because t&gt;0,e^{-rt}&lt;1 \\\therefore N_c·e^{-rt}&lt;1\\ \therefore \frac{1}{N_c(t)}=\sum_{k=0}^{+\infty}(-N_ce^{-rt})^k
+
    $$
+
    <p>So we will have:</p>
+
    $$ \int\frac{e^{\phi_{mRNA}t}}{N_c(t)}\,dt=\int\sum_{k=0}^{+\infty}(-N_c)^ke^{(\phi_{mRNA}-kr)t}\,dt\\=\sum_{k=0}^{+\infty}\int(-N_c)^ke^{(\phi_{mRNA}-kr)t}\,dt\\
+
    =\sum_{k=0}^{+\infty}(-N_c)^k(\phi_{mRNA}-kr)^{-1}e^{(\phi_{mRNA}-kr)t} $$
+
    <p>And:</p>
+
    $$ \begin{aligned} A(t)&amp;=C_1·N_c(t)·e^{-\phi_{mRNA}t}\int\frac{e^{\phi_{mRNA}t}}{N_c(t)}\,dt\\ &amp;=C_1N_c(t)·\sum_{k=0}^{+\infty}(-N_c)^k(\phi_{mRNA}-kr)^{-1}e^{-krt}\\
+
    &amp;=C_1N_c(t)·\sum_{k=0}^{+\infty}\frac{(-N_c·e^{-rt})^k}{\phi_{mRNA}-kr} \end{aligned} $$
+
    <p>Therefore:</p>
+
    $$ [mRNA]=C_1N_c(t)·v_{generate}·\sum_{k=0}^{+\infty}\frac{(-N_c·e^{-rt})^k}{\phi_{mRNA}-kr}+C_1C_0N_c(t)·e^{-\phi_{mRNA}t}
+
    $$
+
    <p>Before we use this formula to obtain the expression of protein&#39;s concentration, we should analyze and simplify it.
+
        </p>
+
    <p>Property i :</p>
+
    $$ \exists k_0,\forall k&gt;k_0,|\phi_{mRNA}-kr|&gt;1\\ \Longleftrightarrow k_0&gt;\frac{1+\phi_{mRNA}}{r} \\\therefore \sum_{k=0}^{+\infty}\frac{(-N_c·e^{-rt})^k}{\phi_{mRNA}-kr}=\sum_{k=0}^{k_0}\frac{(-N_c·e^{-rt})^k}{\phi_{mRNA}-kr}+\sum_{k=k_0+1}^{+\infty}\frac{(-N_c·e^{-rt})^k}{\phi_{mRNA}-kr}
+
    $$
+
    <p>For the first part:</p>
+
    $$ \begin{aligned} &amp;S_1=\sum_{k=0}^{k_0}\frac{(-N_c·e^{-rt})^k}{\phi_{mRNA}-kr}\\ &amp;=\frac{1}{\phi_{mRNA}}-\frac{N_ce^{-rt}}{\phi_{mRNA}-kr}+\frac{N_c^2e^{-2rt}}{(\phi_{mRNA}-kr)^2}-·····+(\frac{-N_ce^{-rt}}{\phi_{mRNA}-kr})^{k_0}\\
+
    \end{aligned}\\ \lim_{t\to\infty}S_1=\frac{1}{\phi_{mRNA}} $$
+
    <p>For the second part:</p>
+
    $$ |S_2|=\sum_{k=k_0+1}^{+\infty}|\frac{(-N_c·e^{-rt})^k}{\phi_{mRNA}-kr}|&lt;\sum_{k=k_0}^{+\infty}(N_c·e^{-rt})^k=\frac{(N_ce^{-rt})^{k_0+1}}{1-N_ce^{-rt}}
+
    \\\ 0\le\lim_{t\to\infty}S_2\le\lim_{t\to\infty}|S_2|\le\lim_{t\to\infty}\frac{(N_ce^{-rt})^{k_0+1}}{1-N_ce^{-rt}}=0\\
+
    \therefore \lim_{t\to\infty}S_2=0 $$
+
    <p>Therefore:</p>
+
    $$ \lim_{t\to\infty}A(t)=\lim_{t\to\infty}C_1·v_{generate}·(1+N_ce^{-rt})(S_1+S_2)\\ =\lim_{t\to\infty}C_1·v_{genrate}·(S_1+S_2+N_ce^{-rt}S_1+N_ce^{-rt}S_2)\\
+
    =\frac{C_1}{\phi_{mRNA}}·v_{generate}+0+0+0\\ =\frac{C_1}{\phi_{mRNA}}·v_{generate} $$
+
    <p>Property ii :</p>
+
    $$ A(t)\approx \frac{C_1·v_{generate}}{\phi_{mRNA}}+{C_1·v_{generate}}(\frac{N_c}{\phi_{mRNA}}-\frac{N_c}{\phi_{mRNA}-r})·e^{-rt}\\+{C_1·v_{generate}}(\frac{N_c^2}{(\phi_{mRNA}-2r)^2}-\frac{N_c^2}{\phi_{mRNA}-r})·e^{-2rt}+o((rt)^3)
+
    $$
+
    <p>So we finally get:</p>
+
    $$ [mRNA]= \frac{C_1·v_{generate}}{\phi_{mRNA}}+G·e^{-rt}+H·e^{-2rt}+C(t)·e^{-\phi_{mRNA} t} $$
+
    <p>Now we use this formula to solve following ODE:</p>
+
    $$ [protein]=e^{-\int(\phi_{protein}+\frac{r·N_c}{N_c+e^{rt}})\,dt}·(\int g_{protein}[mRNA]·e^{\int(\phi_{protein}+\frac{r·N_c}{N_c+e^{rt}})\,dt}\,dt+C_0&#39;)
+
    $$
+
    <p>From previous calculate we could guess the approximate solution to protein&#39;s concentration will be following form:</p>
+
    $$ [protein]=A&#39;(t)+B&#39;(t)e^{-rt}+C&#39;(t)e^{-\phi t}+D&#39;(t)e^{-2rt}+E&#39;(t)e^{-(r+\phi)t}+F&#39;(t)e^{-\phi&#39;t}\\
+
    \phi = \phi_{mRNA}\\ \phi&#39;= \phi_{protein} $$
+
    <p>Or we can appromixately consider this formula as:</p>
+
    $$ [protein]=S(t)+T(t)·e^{-\kappa t}\\ $$
+
    <p>$\kappa$ is a parameter used to reflect the fact comprehensively. </p>
+
    <p>Finally we get:</p>
+
    $$ \lim_{t\to\infty}[protein]=S=\frac{C_1C_2 g_{protein}}{\phi_{protein}\phi_{mRNA}}v_{generate}\\ \Longrightarrow S\varpropto
+
    v_{generate} $$
+
    <p>This result indicates the generated protein concentration has a direct relation with input signal molecule concentration.
+
        More importantly, we use Hill equation to describe the final product concentration induced by different concentration
+
        of input signal molecule is approperiate.</p>
+
    <p>In our case, after renewing with fresh LB solution, the protein will degradate and never generate new. So another dofferential
+
        equation is needed to describe this situation:</p>
+
    $$ \frac{d[protein]}{dt}=-\phi_{protein}[protein] $$
+
    <p>The initial value of this equation is:</p>
+
    $$ [protein]|_{T=t_0}=S $$
+
    <p>Then the function will be:</p>
+
    $$ [protein]=S·e^{-\phi_{protein} t} $$
+
    <h5>Diffusion of signal molecule at initial time</h5>
+
    <h6>Review</h6>
+
    <p>We suppose the initial concentration difference between inside of E.coli and outside is $\Delta c(0)$, also we know the
+
        time for E.coli to balence this difference:</p>
+
    $$ c(t)= C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}} $$
+
    <p>So the generating efficency comes to:</p>
+
    $$ v_{generate} = \frac{V_{\max}}{1+(\frac{k}{ C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}}})^n} $$
+
    <p>And we will use this formula to give the initial state.</p>
+
    <h6>How to solve?</h6>
+
    <p>First we have following relations in mathematics:</p>
+
    $$ \lim_{x\to0}\frac{(1+x)^n}{1+nx}=1\\ \lim_{x \to 0}\frac{1+x^n}{1-x^{2n}} = \lim_{x \to 0}\frac{1}{1-x^{n}}=1 $$
+
    <p>These two equation indicate a group of equivalent infinitesimal, which we can use to do approximation in our problem.
+
        The approximation can be done as following way by using two properties:</p>
+
    $$ v_{generate} = \frac{V_{\max}}{1+(\frac{k}{ c(t)})^n}\\ =V_{\max}-\frac{V_{\max}}{1+(\frac{c(t)}{k})^n}\\ =V_{\max}-V_{\max}[1-\frac{c(t)}{k})^n]\\
+
    =V_{\max}(\frac{c(t)}{k})^n\\ =V_{\max}(\frac{C_{saturated}}{k})^n(1-\frac{\Delta c}{k}e^{-\frac{t}{\tau}})^n\\ =V_{\max}(\frac{C_{saturated}}{k})^n(1-n\frac{\Delta
+
    c}{k}e^{-\frac{t}{\tau}}) $$
+
    <p>For simplicity, we can rewrite into a simple equation:</p>
+
    $$ v&#39;_{generate} = V&#39;_{\max}-\delta e^{-\frac{t}{\tau}} $$
+
    <p>And the ODE for mRNA can be written into:</p>
+
    $$ \frac{d([mRNA])}{dt}=V&#39;_{\max}-\delta e^{-\frac{t}{\tau}}-\phi_{mRNA}[mRNA] $$
+
    <p>Solution:</p>
+
    $$ [mRNA]=\frac{V_{\max}}{\phi_{mRNA}}-\frac{\tau \delta}{\tau\phi_{mRNA}-1}e^{-\frac{t}{\tau}}+(-\frac{V_{\max}}{\phi_{mRNA}}+\frac{\tau
+
    \delta}{\tau\phi_{mRNA}-1})e^{-\phi t} $$
+
    <p>Correspondingly, the function of protein is:</p>
+
    $$ [protein]=\frac{V_{\max}}{\phi_{mRNA}\phi_{protein}}-\frac{\tau^2 \delta}{(\tau\phi_{protein}-1)(\tau\phi_{mRNA}-1)}e^{-\frac{t}{\tau}}\\+\frac{1}{\phi_{protein}-\phi_{mRNA}}(-\frac{V_{\max}}{\phi_{mRNA}}+\frac{\tau
+
    \delta}{\tau\phi_{mRNA}-1})e^{-\phi t}+C&#39;e^{-\phi_{protein}t}\\ C&#39;=-\frac{V_{\max}}{\phi_{mRNA}\phi_{protein}}+\frac{\tau^2
+
    \delta}{(\tau\phi_{protein}-1)(\tau\phi_{mRNA}-1)}\\-\frac{1}{\phi_{protein}-\phi_{mRNA}}(-\frac{V_{\max}}{\phi_{mRNA}}+\frac{\tau
+
    \delta}{\tau\phi_{mRNA}-1}) $$
+
    <p>The simulation curve for an arbitraty number:</p>
+
    <p> <img src='https://static.igem.org/mediawiki/2017/0/05/T--Shanghaitech--simulation.png' alt='simulation' /> </p>
+
    <p>We can see the initial slope of the curve is rasing to a point and then decrease gradually which is highly fixed to the
+
        experiment result we get.</p>
+
    <h5>Decay of signal molecule</h5>
+
    <h6>Review</h6>
+
    <p>In basic model, we consider the decay of signal can be neglected because we found there&#39;s no significant difference
+
        between concentration in vitro. But actually when we meature the rough concentration in the LB with E.coli, we found
+
        that the concentration has a linear deacrease through time, which we should take consideration into our model. </p>
+
    <p>The decay can be shown as following equation:</p>
+
    $$ [S]_t=[S]_{initial}-k_{decay}t $$
+
    <p>And the $v_{generate}$ becomes to:</p>
+
    $$ v_{generate}= V_{\max}\frac{([S]_t)^n}{k^n+([S]_t)^n}\\ \frac{d}{dt}v_{generate}=-\frac{ V_{\max}·k_{decay}}{k}\frac{n([S]_t)^{n-1}}{(k^n+([S]_t)^n)^2}
+
    $$
+
    <p>According to the solution we deduced before, we have:</p>
+
    $$ [protein]=\frac{\phi_2}{\phi_2-\phi_1}e^{-\phi_{mRNA}t}(\int v_{generate}·e^{\phi_{mRNA}t}dt+C)+\frac{\phi_2}{\phi_1(\phi_2-\phi_1)}·\frac{d}{dt}v_{generate}+A^*·e^{-\phi_2
+
    t} $$
+
    <p>Surely the first step is to confirm this equation gives a reasonable result. Through using following mathematics conclution,
+
        we can approximately consider the integral as a summation:</p>
+
    $$ \int f(t) dt=F(t)+C=\int_a^tf(\mu)d\mu+F(a)+C $$
+
    <p>We assume $a=0$ which has no effect to the formula but has its biological meaning, which is the starting timepoint. So
+
        we have:</p>
+
    $$ \int v_{generate}·e^{\phi_{mRNA}t}dt=\int_0^t v_{generate}(\mu)·e^{\phi_{mRNA}\mu}d\mu\\ \approx\sum_{i=0}^{n}V_{\max}\frac{([S]_{initial}-k_{decay}i\Delta
+
    t)^n}{k^n+([S]_{initial}-k_{decay}i\Delta t)^n}·e^{\phi_{mRNA}i\Delta t}·\Delta t $$
+
    <p>Which</p>
+
    $$ n\Delta t=t $$
+
    <p>We use matlab to obtain a rough curve. X-axis refers to time. </p>
+
    <p><img src='https://static.igem.org/mediawiki/2017/c/c8/T--Shanghaitech--decay.png' alt='decay' /></p>
+
    <p>This is a important result because it indicates that the production will not always increase with the time going. Actually,
+
        there exists a so-called &quot;best time&quot; to process next step in our system. For example, this peak can determine
+
        when we dilute input signal to get output signal as much as possible. </p>
+
    <p><img src='https://static.igem.org/mediawiki/2017/e/e3/T--Shanghaitech--%E5%90%88%E6%88%90%E9%85%B6.png' alt='合成酶' /></p>
+
    <p>Red stars refers to &quot;best time&quot; according to different input concentration from upstream block.</p>
+
    <p>*matlab code:</p>
+
    <pre><code class='language-matlab' lang='matlab'>
+
n = [];
+
fn = [];
+
for i=1:T/dt
+
n = [n i];
+
t = exp(-a*i*dt);
+
sum=0;
+
for j=0:i
+
sum = sum + (Vm-(j*dt)^n)*exp(a*dt*j)*dt/(k^n+(Vm-(dt*j)^n));
+
end
+
y = t*sum+\phi* (Vm - dt*i)^(n-1)/(k^n + (Vm - dt*i)^n)^2;
+
fn = [fn y];
+
end
+
plot(n,fn);
+
max(fn);
+
</code></pre>
+
    <p>This matlab code shows how we draw the curves and how to find maximum.</p>
+
    <h4>Signal Producing</h4>
+
    <h6>Review</h6>
+
    <p>In last part, we gives a approximate value of the protein we will get from our system:</p>
+
    $$ \lim_{t\to\infty}[protein]=S=\frac{C_1C_2 g_{protein}}{\phi_{protein}\phi_{mRNA}}v_{generate} $$
+
    <p>If we consider the decay of molecule, then we rewrite equation above as:</p>
+
    $$ [protein]_{\max}=S|_{t=t_{\max}}(1+\eta(\frac{v&#39;_{generate}}{v_{generate}}+\frac{{v&#39;&#39;_{generate}}}{v_{generate}})|_{t=t_{\max}})\\=\frac{C_1C_2
+
    g_{protein}}{\phi_{protein}\phi_{mRNA}}v_{generate}|_{t=t_{\max}}(1+\eta(\frac{dv_{generate}}{dt}+\frac{{d^2v_{generate}}}{dt^2})|_{t=t_{\max}})
+
    $$
+
    <p>Which:</p>
+
    $$ (\frac{dv_{generate}}{dt}+\frac{{d^2v_{generate}}}{dt^2})|_{t=t_{\max}}&lt;0 $$
+
    <p>For simpilicity, we define the final production of goal protein as</p>
+
    $$ [protein]=S\propto v_{generate}|_{t=t_{max}} $$
+
    <h6>Analyse</h6>
+
    <p>Now we focus on the differential equation related to the signal production:</p>
+
    $$ \frac{d[EAB]}{dt}=k_1[E][A][B]-(k_1+k_{-1})[EAB]\\ \frac{d[M_{signal}]}{dt}=k_2[EAB] $$
+
    <p>In this equation set, $[E]$ equals to the concentration of protein. </p>
+
    $$ [E]=[protein] $$
+
    <p>Finally we have:</p>
+
    $$ [EAB]=\frac{k_1[A][B]S}{-\phi_{protein}+k_{-1}+k_{1}}·e^{-\phi_{protein}t}+C_2·e^{-(k_{-1}+k_{1})t} $$
+
    <p>And the initial state:</p>
+
    $$ [EAB]|_{t=0}=0\\ \Longrightarrow C_2=\frac{k_1[A][B]S}{\phi_{protein}-k_{-1}-k_1} $$
+
    <p>Therefore:</p>
+
    $$ [EAB]=\frac{k_1[A][B]S}{-\phi_{protein}+k_{-1}+k_{1}}·(e^{-\phi_{protein}t}-e^{-(k_{-1}+k_{1})t})\\ \lambda_1=\phi_{protein}\\
+
    \lambda_2=k_1+k_{-1}\\ \Longrightarrow [EAB]=C_2(e^{-\lambda_1t}-e^{-\lambda_2t}) $$
+
    <p>Finally we get:</p>
+
    $$ [M_{signal}]=k_2C_2(-\frac{e^{-\lambda_1t}}{\lambda_{1}}+\frac{e^{-\lambda_2t}}{\lambda_{2}})+C_3\\ \lim_{t\to\infty}[M_{signal}]=\frac{k_1k_2[A][B]}{\lambda_1\lambda_2}S
+
    $$
+
    <h4>NOR Gate</h4>
+
    <p>This result can easily transit to NOR gate, because from mathematical perspective, the different places are initial values
+
        and another form of Hill equation. To describe the mechanism of NOR gate, we supposed that the whole system remains
+
        at steady state. (In other word, all concentrations remain as constants.) </p>
+
    $$ v_{inhibition}=V_{\max}-v_{generate}\\ \frac{d([mRNA])}{dt}=v_{inhibition}-\phi_{mRNA}[mRNA]=V_{\max}-v_{generate}-\phi_{mRNA}[mRNA]\\
+
    \frac{d([protein])}{dt}=g_{protein}[mRNA]-\phi_{protein}[protein]\\ $$
+
    <p>We get:</p>
+
    $$ [mRNA]=\frac{v_{inhibition}}{\phi_{mRNA}}+C·e^{-\phi_{mRNA} t}\\ \Longrightarrow[mRNA]=A+B·e^{-\phi_{mRNA}t}\\ \lim_{t\to\infty}[mRNA]=\frac{v_{inhibition}}{\phi_{mRNA}}
+
    $$ $$ [protein]=g_{protein}\phi_{protein}^{-1}A+g_{protein}B(\phi_{protein}-\phi_{mRNA})^{-1}e^{-\phi_{mRNA} t}+C&#39;e^{-\phi_{protein}
+
    t}\\ \Longrightarrow [protein]=A&#39;+B&#39;e^{-\phi_{mRNA} t}+C&#39;e^{-\phi_{protein} t} $$
+
    <p>Furthermore we get:</p>
+
    $$ [M_{signal}]=A&#39;·(k_1+k_2)^{-1}+B&#39;·(-\phi_{mRNA}+k_1+k_2)^{-1}·e^{-\phi_{mRNA}t}\\+C&#39;·(-\phi_{protein}+k_1+k_2)^{-1}·e^{-\phi_{protein}t}+D·e^{-(k_1+k_2)t}
+
    $$
+
    <p>With the relation:</p>
+
    $$ D=[M_{signal}]|_{t=0}-\{A&#39;·(k_1+k_2)^{-1}+B&#39;·(-\phi_{mRNA}+k_1+k_2)^{-1}\\+C&#39;·(-\phi_{protein}+k_1+k_2)^{-1}\}
+
    $$
+
    <p>Also we have:</p>
+
    $$ \lim_{t\to\infty}[M_{signal}]=\frac{A&#39;}{(k_1+k_2)}\\=\frac{g_{protein}}{(k_1+k_2)\phi_{protein}\phi_{mRNA}}·v_{inhibition}
+
    $$
+
    <h4>Extra model</h4>
+
    <h6>Review</h6>
+
    <p>Model of E.coli population:</p>
+
    <p>$N_{E.coli}$ is satisfied to following equation:</p>
+
    $$ \frac{dN_{E.coli}}{dt}=rN_{E.coli}(1-\frac{N_{E.coli}}{N_{\max}})\\ N_{E.coli}=\frac{N_{\max}}{1+(\frac{N_{\max}}{N_{t=0}}-1)·e^{-rt}}
+
    $$
+
    <p>$r$ refers to growth rate of E.coli and $N_{\max}$ refers to the limits of E.coli population. Since $N_{\max}$ and $N_{t=0}$are
+
        constants, so we define following parameter:</p>
+
    $$ \frac{N_{\max}}{N_{t=0}}-1=N_{c} $$
+
    <p>Two hypothesis:</p>
+
    <ol start=''>
+
        <li>The signal molecule is toxic to E.coli, so the population will decrease related to the increase of concentration
+
            linearly.</li>
+
        <li>The signal molecule induce the synthesis of GFP which occupy the substance that is originally used for growth. It
+
            indicates that if the GFP is produced, then the population will be at low level, otherwise the population will
+
            be at normal level.</li>
+
  
    </ol>
+
            <p>​ Example and its output is shown (NOTICE: This example is the fitting curve of the Tra with its limited five data. Actually most of our data, except for tra, has six inputs and outputs, so the original code, which is shown above, has six outputs. When we use this code, we can just import outputs into &quot;outputdata&quot; list and run this programm. ):</p>
    <h6>Analyse</h6>
+
            <pre class="md-fences md-end-block" lang="mathematica"> <div class="CodeMirror cm-s-inner CodeMirror-wrap"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 4px;"></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: 30px; min-height: 336px; 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"><pre><span>xxxxxxxxxx</span></pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><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-keyword">outputdata</span> <span class="cm-operator">=</span> <span class="cm-bracket">{</span><span class="cm-number">16141</span><span class="cm-operator">,</span> <span class="cm-number">6812</span><span class="cm-operator">,</span> <span class="cm-number">32977</span><span class="cm-operator">,</span> <span class="cm-number">362525</span><span class="cm-operator">,</span> <span class="cm-number">959405</span><span class="cm-bracket">}</span><span class="cm-operator">;</span></span></pre></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">Processeddata</span> <span class="cm-operator">=</span> <span class="cm-bracket">(</span><span class="cm-keyword">outputdata</span> <span class="cm-operator">-</span> <span class="cm-keyword">Min</span><span class="cm-bracket">[</span><span class="cm-keyword">outputdata</span><span class="cm-bracket">])</span><span class="cm-operator">/</span><span class="cm-bracket">(</span><span class="cm-keyword">Max</span><span class="cm-bracket">[</span><span class="cm-keyword">outputdata</span><span class="cm-bracket">]</span> <span class="cm-operator">-</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-keyword">Min</span><span class="cm-bracket">[</span><span class="cm-keyword">outputdata</span><span class="cm-bracket">])</span> <span class="cm-operator">//</span> <span class="cm-keyword">N</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">data</span><span class="cm-operator">'</span> <span class="cm-operator">=</span> <span class="cm-bracket">{{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">9</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> <span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">1</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">8</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">7</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">3</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">6</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">4</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[</span><span class="cm-number">10</span><span class="cm-operator">^</span><span class="cm-bracket">(</span><span class="cm-operator">-</span><span class="cm-number">5</span><span class="cm-bracket">)]</span><span class="cm-operator">,</span> <span class="cm-keyword">Processeddata</span><span class="cm-bracket">[[</span><span class="cm-number">5</span><span class="cm-bracket">]]}}</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">data</span> <span class="cm-operator">=</span> <span class="cm-bracket">{{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">1</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> <span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">1</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">2</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">2</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">3</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> <span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">3</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">4</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> </span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">4</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">5</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">]]</span><span class="cm-operator">,</span> <span class="cm-keyword">data</span><span class="cm-operator">'</span><span class="cm-bracket">[[</span><span class="cm-number">5</span><span class="cm-operator">,</span> <span class="cm-number">2</span><span class="cm-bracket">]]}}</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">solu</span> <span class="cm-operator">=</span> <span class="cm-keyword">Flatten</span><span class="cm-bracket">[</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; <span class="cm-keyword">Solve</span><span class="cm-bracket">[</span><span class="cm-keyword">Log10</span><span class="cm-bracket">[(</span><span class="cm-keyword">y</span><span class="cm-operator">*</span><span class="cm-keyword">PVmax</span><span class="cm-bracket">)</span><span class="cm-operator">/</span><span class="cm-bracket">(</span><span class="cm-number">1</span> <span class="cm-operator">-</span> <span class="cm-bracket">(</span><span class="cm-keyword">y</span><span class="cm-operator">*</span><span class="cm-keyword">PVmax</span><span class="cm-bracket">))]</span> <span class="cm-operator">==</span> <span class="cm-keyword">n</span><span class="cm-operator">*</span><span class="cm-keyword">x</span> <span class="cm-operator">-</span> <span class="cm-keyword">n</span><span class="cm-operator">*</span><span class="cm-keyword">logk</span><span class="cm-operator">,</span> <span class="cm-keyword">y</span><span class="cm-bracket">]]</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">fitparameter</span> <span class="cm-operator">=</span> <span class="cm-bracket">(</span><span class="cm-keyword">FindFit</span><span class="cm-bracket">[</span><span class="cm-keyword">data</span><span class="cm-operator">,</span> <span class="cm-keyword">y</span> <span class="cm-operator">/.</span> <span class="cm-keyword">solu</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">PVmax</span><span class="cm-operator">,</span> <span class="cm-keyword">logk</span><span class="cm-operator">,</span> <span class="cm-keyword">n</span><span class="cm-bracket">}</span><span class="cm-operator">,</span> <span class="cm-keyword">x</span><span class="cm-bracket">])</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">fit</span> <span class="cm-operator">=</span> <span class="cm-keyword">y</span> <span class="cm-operator">/.</span> <span class="cm-keyword">solu</span> <span class="cm-operator">/.</span> <span class="cm-keyword">fitparameter</span><span class="cm-operator">;</span></span></pre><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">Show</span><span class="cm-bracket">[</span><span class="cm-keyword">ListPlot</span><span class="cm-bracket">[</span><span class="cm-keyword">data</span><span class="cm-operator">,</span> <span class="cm-keyword">PlotStyle</span> <span class="cm-operator">-&gt;</span> <span class="cm-keyword">Red</span><span class="cm-bracket">]</span><span class="cm-operator">,</span> <span class="cm-keyword">Plot</span><span class="cm-bracket">[</span><span class="cm-keyword">fit</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">x</span><span class="cm-operator">,</span> <span class="cm-operator">-</span><span class="cm-number">10</span><span class="cm-operator">,</span> <span class="cm-number">0</span><span class="cm-bracket">}]]</span></span></pre></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom: 0px solid transparent; top: 336px;"></div><div class="CodeMirror-gutters" style="display: none; height: 366px;"></div></div></div></pre>
    <p>To show the difference between these two hypothesis, we give following equation:</p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/5/5a/T--Shanghaitech--Parameterfitting1.png' alt='测量' />
    <p>Hypothesis 1:</p>
+
            <p>Then we can get the meaningful parameter from these data quickly and easily.</p>
    $$ \frac{dN_{E.coli}}{dt}=rN_{E.coli}(1-\frac{N_{E.coli}}{N_{\max}})-\gamma N_{E.coli} $$
+
            <h2>Measurement of Signal Converter</h2>
    <p>$\gamma$ refers to the death rate caused by toxic substance,$[S]$ refers to the concentration of signal molecule and
+
            <p id="measureconv">​ How we can measure the working efficiency of our signal converter is an important question for us. As we all know, the reason why we use GFP to reflect the efficiency of promoter is that we can measure fluoresence easily and establish the quantity relationship between GFP expression and input signal concentration. But when it comes to some other products such as small molecule, they are hard to measure exactly. We use LC-MS to indicate the production of our signal converter approximately, but this data is too rough to instruct our following work. So we will use our model to obtain the parameter of converter indirectly by following experiments and deduction from model. </p>
        $[S]_{critical}$ refers to the critical point which means all E.coli are dead:</p>
+
            <p>​ We symbol $S_,S_2$ as the concentrations of two signal molecules, signal one and signal two, $GFP$ as the result of fluroesence intensity. </p>
    $$ \gamma =r·(1-\frac{[S]}{[S]_{critical}}) $$
+
            <p>​ We propose two experiments. First one is using signal two to induce the expression of GFP. We take its results as standard curve. The other experiment is using signal one to obtain signal two, and we use signal two to induce the expression of gene. Also we will have following data:</p>
    <p>Therefore:</p>
+
            $$
    $$ \lim_{t\to+\infty}N_{E.coli}=N_{\max}·(1-\frac{[S]}{[S]_{critical}}) $$
+
            S_1=\{c_1,c_2,···,c_n\}\\
    <p><img src='https://static.igem.org/mediawiki/2017/3/31/T--Shanghaitech--toxic2.jpg' alt='toxic' /></p>
+
            GFP=\{F_1,F_2,···,F_n\}
    <p>X-axis refers to the time and Y-axis refers to the growth curves. Different curves refer to different concentrations.</p>
+
            $$
    <p>Hypothesis 2:</p>
+
            <p>​ From our model we know the relationship among $S_1,S_2$ and $GFP$ at steady state as following:</p>
    $$ \frac{dN_{E.coli}}{dt}=r·N_{E.coli}(1-\frac{N_{E.coli}}{N_{\max}·\beta}) $$
+
            $$
    <p>$\beta$ refers to the ratio of limiting the growth of E.coli, which fits to following equation:</p>
+
            GFP=V_{max}·(\frac{(1-\epsilon_1)·{S_2}^n}{k_1^n+{S_2}^n}+\epsilon_1)\\
    $$ \beta =1-\beta_{\lim}·\frac{[S]^n}{k^n+[S]^n} $$
+
            S_2=V_{max(\frac{(1-\epsilon_2)·{S_1}^m}{k_2^m+{S_1}^m}+\epsilon_2)
    <p>The reason we use the efficiency of mRNA generation is because this ratio determines how many GFP will be finally produced.
+
            $$
        For example, if the ratio is high, the production of GFP will be at high level, which also means the most of substance
+
            <p>​ From the parameter fitting model, we can determine all parameters in $GFP-S_2$ curve. Therefore, we can use this curve and data of GFP from second experiment to obtain the input signal two concentration. </p>
        are used to produce GFP instead of growth of E.coli. </p>
+
            $$
    <p>Therefore:</p>
+
            F_i=V_{max}·(\frac{(1-\epsilon_1)·{[S_2]_i}^n}{k_1^n+{[S_2]_i}^n}+\epsilon_1)\\
    $$ N_{E.coli}=\frac{N_{\max}·\beta}{1+(\frac{N_{\max}}{N_{t=0}}-1)·e^{-r t}} $$
+
            F&#39;_i=\frac{F_i-\epsilon_1}{1-\epsilon_1}
    <p> <img src='https://static.igem.org/mediawiki/2017/d/d7/T--Shanghaitech--%E8%B4%A8%E6%96%99.png' alt='质料' /></p>
+
            \\\Longleftrightarrow\log{[S_2]_i}=\frac{\log{\frac{F_i&#39;}{V_1-F_i&#39;}}}{n}+\log{k_1}
    <p>X-axis refers to the time and Y-axis refers to the growth curves. Different curves refer to different concentrations.
+
            $$
        Low concentration refers to high population and high concentration refers to low population.</p>
+
            <p>​ So we have the data $[S_2]_i$ related to input concentration of signal one, so we can get the relation through using parameter-fitting model would get the parameter of $S_1-S_2$ curve finally.<br/></p>
    <p>From our data, we found the result showed that hypothesis two was more realistic.</p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/2/28/T--Shanghaitech--Model-Final-test-of-simulation-2.png' alt='Final test  of simulation 2'/></p>
    <p><img src='https://static.igem.org/mediawiki/2017/7/76/T--Shanghaitech--interlab3grwoth.jpg' alt='experiment' /></p>
+
            <p>​ x-axis refers to Log of input signal molecular concentration; y-axis refers to the relative GFP expression.</p>
    <p>The experiment shows an obvious difference between low concentration and high concentration which fitts to the hypothesis
+
            <p><img src='https://static.igem.org/mediawiki/2017/b/b7/T--Shanghaitech--measure.png' alt='measure' /></p>
        two. </p>
+
            <p>​ x-axis refers to Log of signal one molecular concentration; y-axis refers to signal two molecular concentration. This curve indicates the effciency of signal converter, which low concentrations of input signal generate less output signal and high concentrations of input signal generate high output signal concentrations of input signal. And there exists a significant drop between low expression and high expression. It is absolutely what we want!</p>
    <p>But we also cannot eliminate the hypthesis one, because the curves of low concentration go to steady state but the high
+
            <h2>Model on E.coli Growth</h2>
        concentration go slightly down. If we use hypothesis two to explain this phenomemon, that is: The production of GFP
+
            <p id="population">​ This part will discuss an interesting model on how the signal molecule affect the growth and population. The reason why we care about this question is that we measured the OD600 under different circumstance and found some special relation between the concentration and the population. In breif, with the rise of concentration, the population will decrease. We wonder the mechanism and propse two hypothesis:</p>
        highly occupy the resource and leave little resource for the growth of E.coli even cannot mantain the population
+
            <ol>
        at the steady state. If we use hypothesis one, then the result is obvious that signal molecule is toxic to E.coli
+
            <li><p>The signal molecule is toxic to E.coli, so the population will decrease related to the increase of concentration linearly.</p>
        which causes unavoidable death of E.coli. So further study is required.</p>
+
            </li>
    <h2>Model for Our Project</h2>
+
            <li><p>The signal molecule induce the synthesis of GFP which occupy the substance that is originally used for growth. It indicates that if the GFP is produced, then the population will be at low level, otherwise the population will be at normal level.</p>
    <p><img src='https://static.igem.org/mediawiki/2017/c/cb/T--Shanghaitech--5_(2).png' alt='5 (2)' /></p>
+
            <p>In our model, we indicates the second hypothesis is more realistic.</p>
    <p><img src='https://static.igem.org/mediawiki/2017/thumb/9/93/T--Shanghaitech--5_(1).png/320px-T--Shanghaitech--5_(1).png' alt='5 (1)'
+
            <p>Toxic model (Y-axis refers to relative population (OD) and X-axis refers to time(hour)) :</p>
        /></p>
+
            <p><center><img src='https://static.igem.org/mediawiki/2017/f/f4/T--Shanghaitech--modelfig2fx.gif' alt='toxic' / ></center></p>
    <p><img src='https://static.igem.org/mediawiki/2017/thumb/0/08/T--Shanghaitech--6.png/227px-T--Shanghaitech--6.png' alt='6' /></p>
+
            <p>Consumption model (Y-axis refers to relative population (OD) and X-axis refers to time(hour)) :</p>
    $$ \begin{align} \frac{{\mathrm{d}\left( {QS1R} \right)}}{{\mathrm{d}t}}&amp;= {C_{QS1R}} + H\left( {{{\left[ M \right]}_e}}
+
            </li>
    \right)\\ \frac{{\mathrm{d}\left( {\left[ {mRN{A_1}} \right]} \right)}}{{\mathrm{d}t}}&amp;= \frac{{\mathrm{d}\left(
+
    {QS1R} \right)}}{{\mathrm{d}t}} - {\emptyset _1}\left[ {mRNA} \right]\\ \frac{{\mathrm{d}\left( {\left[ {protei{n_1}}
+
    \right]} \right)}}{{\mathrm{d}t}}&amp;= {g_1}\left[ {mRN{A_1}} \right] - {\emptyset _2}\left[ {protei{n_1}} \right] -
+
    \frac{{\mathrm{d}\left( {\left[ M \right]} \right)}}{{\mathrm{d}t}}\\ {K_1}&amp;= \frac{{\left[ {protei{n_1}} \right]\left[
+
    {QS1 - AHL} \right]}}{{\left[ M \right]}}\\ H\left( {\left[ x \right]} \right)&amp;= \frac{{{V_{\max }}{{\left[ x \right]}^m}}}{{{{\left[
+
    x \right]}^m} + {K_a}^m}}\\ {\left[ M \right]_e}&amp;= {P_e}\left[ M \right]\\ {P_{activated}}&amp;= {P_e} + {P_e}&#39;=
+
    P\left[ {QS1{R_{translated}}|{M_{combined}}} \right]\\ 1&amp;= {P_{activated}} \cdot {P_{combined}} + {P_{cons}} \cdot
+
    \overline {{P_{combined}}} + {P_{inactivated}}\\ \frac{{\mathrm{d}\left( {CI} \right)}}{{\mathrm{d}t}}&amp;= {C_{CI}}
+
    + H\left( {{{\left[ M \right]}_{e&#39;}}} \right)\\ \frac{{\mathrm{d}\left( {\left[ {mRN{A_2}} \right]} \right)}}{{\mathrm{d}t}}&amp;=
+
    \frac{{\mathrm{d}\left( {CI} \right)}}{{\mathrm{d}t}} - {\emptyset _3}\left[ {mRN{A_2}} \right]\\ \frac{{\mathrm{d}\left(
+
    {\left[ {protei{n_2}} \right]} \right)}}{{\mathrm{d}t}}&amp;= {g_2}\left[ {mRN{A_2}} \right] - {\emptyset _4}\left[ {protei{n_2}}
+
    \right] - H\left( {{{\left[ {protei{n_2}} \right]}_e}} \right)\\ {\left[ {protei{n_2}} \right]_e}&amp;= {P_{activated}}\left[
+
    {protei{n_2}} \right]\\ 1&amp;= {P_{activated}} \cdot {P_{combined}} + {P_{cons}} \cdot \overline {{P_{combined}}} +
+
    {P_{inactivated}}\\ \frac{{\mathrm{d}\left( {QS2I} \right)}}{{\mathrm{d}t}}&amp;= {C_{QS2I}} + H&#39;\left( {{{\left[
+
    {protei{n_2}} \right]}_e}} \right)\\ \frac{{\mathrm{d}\left( {\left[ {mRN{A_3}} \right]} \right)}}{{\mathrm{d}t}}&amp;=
+
    \frac{{\mathrm{d}\left( {QS2I} \right)}}{{\mathrm{d}t}} - {\emptyset _5}\left[ {mRN{A_3}} \right]\\ \frac{{\mathrm{d}\left(
+
    {\left[ {protei{n_3}} \right]} \right)}}{{\mathrm{d}t}}&amp;= {g_3}\left[ {mRN{A_3}} \right] - {\emptyset _6}\left[ {protei{n_3}}
+
    \right] - \frac{{\mathrm{d}\left( {\left[ N \right]} \right)}}{{\mathrm{d}t}}\\ \frac{{\mathrm{d}\left( {CI} \right)}}{{\mathrm{d}t}}&amp;=
+
    {C_{CI}} + H\left( {{{\left[ M \right]}_{e&#39;}}} \right)\\ \frac{{\mathrm{d}\left( {\left[ {mRN{A_2}} \right]} \right)}}{{\mathrm{d}t}}&amp;=
+
    \frac{{\mathrm{d}\left( {CI} \right)}}{{\mathrm{d}t}} - {\emptyset _3}\left[ {mRN{A_2}} \right]\\ \frac{{\mathrm{d}\left(
+
    {\left[ {protei{n_2}} \right]} \right)}}{{\mathrm{d}t}}&amp;= {g_2}\left[ {mRN{A_2}} \right] - {\emptyset _4}\left[ {protei{n_2}}
+
    \right] - H\left( {{{\left[ {protei{n_2}} \right]}_e}} \right)\\ {\left[ {protei{n_2}} \right]_e}&amp;= {P_{activated}}\left[
+
    {protei{n_2}} \right]\\ 1&amp;= {P_{activated}} \cdot {P_{combined}} + {P_{cons}} \cdot \overline {{P_{combined}}} +
+
    {P_{inactivated}}\\ \frac{{\mathrm{d}\left( {QS2I} \right)}}{{\mathrm{d}t}}&amp;= {C_{QS2I}} + H&#39;\left( {{{\left[
+
    {protei{n_2}} \right]}_e}} \right)\\ \frac{{\mathrm{d}\left( {\left[ {mRN{A_3}} \right]} \right)}}{{\mathrm{d}t}}&amp;=
+
    \frac{{\mathrm{d}\left( {QS2I} \right)}}{{\mathrm{d}t}} - {\emptyset _5}\left[ {mRN{A_3}} \right]\\ \frac{{\mathrm{d}\left(
+
    {\left[ {protei{n_3}} \right]} \right)}}{{\mathrm{d}t}}&amp;= {g_3}\left[ {mRN{A_3}} \right] - {\emptyset _6}\left[ {protei{n_3}}
+
    \right] - \frac{{\mathrm{d}\left( {\left[ N \right]} \right)}}{{\mathrm{d}t}} \end{align} $$
+
    <p></p>
+
</div></div>
+
  
 +
            </ol>
 +
            <center><img src='https://static.igem.org/mediawiki/2017/1/15/T--Shanghaitech--modelfig1fx.gif' alt='质料' / ></center></p>
 +
            <p></p>
  
 +
            <pre class="md-fences md-end-block md-focus" lang="mathematica"> <div class="CodeMirror cm-s-inner CodeMirror-wrap CodeMirror-focused"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 0px; left: 272.609375px;"></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: 30px; 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"><pre>x</pre></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"><div class="CodeMirror-selected" style="position: absolute; left: 272.609375px; top: 0px; width: 9px; height: 22px;"></div></div><div class="CodeMirror-code" role="presentation"><div class="" style="position: relative;"><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">Manipulate</span><span class="cm-bracket">[</span><span class="cm-keyword">Plot</span><span class="cm-bracket">[</span><span class="cm-number">0.4</span> <span class="cm-operator">+</span> <span class="cm-bracket">(</span><span class="cm-number">0.5</span> <span class="cm-keyword">a</span><span class="cm-operator">^</span><span class="cm-number">2</span> <span class="cm-bracket">(</span><span class="cm-number CodeMirror-selectedtext">1</span> <span class="cm-operator">-</span> <span class="cm-keyword">E</span><span class="cm-operator">^-</span><span class="cm-keyword">x</span><span class="cm-bracket">))</span><span class="cm-operator">/</span><span class="cm-bracket">(</span><span class="cm-number">0.01</span><span class="cm-operator">^</span><span class="cm-number">2</span> <span class="cm-operator">+</span> <span class="cm-keyword">a</span><span class="cm-operator">^</span><span class="cm-number">2</span><span class="cm-bracket">)</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">x</span><span class="cm-operator">,</span> <span class="cm-number">0</span><span class="cm-operator">,</span> <span class="cm-number">10</span><span class="cm-bracket">}</span><span class="cm-operator">,</span><span class="cm-keyword">PlotRange</span> <span class="cm-operator">-&gt;</span> <span class="cm-bracket">{</span><span class="cm-number">0</span><span class="cm-operator">,</span> <span class="cm-number">1</span><span class="cm-bracket">}]</span><span class="cm-operator">,</span> <span class="cm-bracket">{</span><span class="cm-keyword">a</span><span class="cm-operator">,</span> <span class="cm-number">0</span><span class="cm-operator">,</span> <span class="cm-number">0.11</span><span class="cm-operator">,</span> <span class="cm-keyword">Appearance</span> <span class="cm-operator">-&gt;</span> <span class="cm-string">"Labeled"</span><span class="cm-bracket">}]</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px; border-bottom-width: 0px; border-bottom-style: solid; border-bottom-color: transparent; top: 44px;"></div><div class="CodeMirror-gutters" style="display: none; height: 74px;"></div></div></div></pre><p>
 +
 +
            <p><center><img src='https://static.igem.org/mediawiki/2017/a/ab/T--Shanghaitech--growthdata.png' alt='experiment data' /></center></p>
 +
            <p>​ The experiment shows an obvious difference between low concentration and high concentration which fitts to the hypothesis two. </p>
 +
            <p>​ But we also cannot eliminate the hypthesis one, because the curves of low concentration go to steady state but the high concentration go slightly down. If we use hypothesis two to explain this phenomemon, that is: The production of GFP highly occupy the resource and leave little resource for the growth of E.coli even cannot mantain the population at the steady state.  If we use hypothesis one, then the result is obvious that signal molecule is toxic to E.coli which causes unavoidable death of E.coli. So further study is required.</p>
 +
            <p></p>
 +
<h2>About full article</h2>
 +
<p>This page (<a href="https://2017.igem.org/Team:Shanghaitech/Model/full">https://2017.igem.org/Team:Shanghaitech/Model/full</a>) is for people who want to learn more details about our model from a mathematical perspective. We believe both intuitive illustration and strict deduction are required for model work, so entire mathematical calculation is given on "full article" page.  </p>
 +
        </div>
 +
    </div>
 
</body>
 
</body>
 +
 +
<style>
 +
.CodeMirror { height: auto; }
 +
.CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; }
 +
.CodeMirror-lines { padding: 4px 0px; }
 +
.CodeMirror pre { }
 +
.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { background-color: white; }
 +
.CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background-color: rgb(247, 247, 247); white-space: nowrap; }
 +
.CodeMirror-linenumbers { }
 +
.CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }
 +
.CodeMirror div.CodeMirror-cursor { border-left: 1px solid black; z-index: 3; }
 +
.CodeMirror div.CodeMirror-secondarycursor { border-left: 1px solid silver; }
 +
.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor { width: auto; border: 0px; background: rgb(119, 238, 119); z-index: 1; }
 +
.CodeMirror div.CodeMirror-cursor.CodeMirror-overwrite { }
 +
.cm-tab { display: inline-block; }
 +
.cm-s-typora-default .cm-header, .cm-s-typora-default .cm-property { color: rgb(217, 79, 138); }
 +
.cm-s-typora-default pre.cm-header1:not(.cm-atom) :not(.cm-overlay) { font-size: 2rem; line-height: 2rem; }
 +
.cm-s-typora-default pre.cm-header2:not(.cm-atom) :not(.cm-overlay) { font-size: 1.4rem; line-height: 1.4rem; }
 +
.cm-s-typora-default .cm-atom, .cm-s-typora-default .cm-number { color: rgb(149, 132, 134); }
 +
.cm-s-typora-default .cm-table-row, .cm-s-typora-default .cm-block-start { font-family: monospace; }
 +
.cm-s-typora-default .cm-comment, .cm-s-typora-default .cm-code { color: rgb(74, 90, 159); font-family: monospace; }
 +
.cm-s-typora-default .cm-tag { color: rgb(169, 68, 66); }
 +
.cm-s-typora-default .cm-string { color: rgb(126, 134, 169); }
 +
.cm-s-typora-default .cm-link { color: rgb(196, 122, 15); text-decoration: underline; }
 +
.cm-s-typora-default .cm-variable-2, .cm-s-typora-default .cm-variable-1 { color: inherit; }
 +
.cm-s-typora-default .cm-overlay { font-family: monospace; }
 +
.CodeMirror.cm-s-typora-default div.CodeMirror-cursor { border-left: 3px solid rgb(228, 98, 154); }
 +
.cm-s-typora-default .CodeMirror-activeline-background { left: -60px; right: -30px; background: rgba(204, 204, 204, 0.2); }
 +
.cm-s-typora-default .CodeMirror-gutters { border-right: none; background-color: inherit; }
 +
.cm-s-typora-default .cm-trailing-space-new-line::after, .cm-startspace::after, .cm-starttab .cm-tab::after { content: "•"; position: absolute; left: 0px; opacity: 0; font-family: LetterGothicStd, monospace; }
 +
.os-windows .cm-startspace::after, .os-windows .cm-starttab .cm-tab::after { left: -0.1em; }
 +
.cm-starttab .cm-tab::after { content: " "; }
 +
.cm-startspace, .cm-tab, .cm-starttab, .cm-trailing-space-a, .cm-trailing-space-b, .cm-trailing-space-new-line { font-family: monospace; position: relative; }
 +
.cm-s-typora-default .cm-trailing-space-new-line::after { content: "↓"; opacity: 0.3; }
 +
.cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }
 +
.cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }
 +
.cm-s-inner .cm-number { color: rgb(17, 102, 68); }
 +
.cm-s-inner .cm-def { color: rgb(0, 0, 255); }
 +
.cm-s-inner .cm-variable { color: black; }
 +
.cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }
 +
.cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }
 +
.cm-s-inner .cm-property { color: black; }
 +
.cm-s-inner .cm-operator { color: rgb(152, 26, 26); }
 +
.cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }
 +
.cm-s-inner .cm-string { color: rgb(170, 17, 17); }
 +
.cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }
 +
.cm-s-inner .cm-meta { color: rgb(85, 85, 85); }
 +
.cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }
 +
.cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }
 +
.cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }
 +
.cm-s-inner .cm-tag { color: rgb(17, 119, 0); }
 +
.cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }
 +
.cm-s-inner .cm-header, .cm-s-inner.cm-header { color: blue; }
 +
.cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }
 +
.cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }
 +
.cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }
 +
.cm-negative { color: rgb(221, 68, 68); }
 +
.cm-positive { color: rgb(34, 153, 34); }
 +
.cm-header, .cm-strong { font-weight: bold; }
 +
.cm-del { text-decoration: line-through; }
 +
.cm-em { font-style: italic; }
 +
.cm-link { text-decoration: underline; }
 +
.cm-error { color: rgb(255, 0, 0); }
 +
.cm-invalidchar { color: rgb(255, 0, 0); }
 +
.cm-constant { color: rgb(38, 139, 210); }
 +
.cm-defined { color: rgb(181, 137, 0); }
 +
div.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }
 +
div.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }
 +
.cm-s-inner .CodeMirror-activeline-background { background: inherit; }
 +
.CodeMirror { position: relative; overflow: hidden; }
 +
.CodeMirror-scroll { margin-bottom: -30px; margin-right: -30px; padding-bottom: 30px; padding-right: 30px; height: 100%; outline: none; position: relative; box-sizing: content-box; }
 +
.CodeMirror-sizer { position: relative; }
 +
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { position: absolute; z-index: 6; display: none; }
 +
.CodeMirror-vscrollbar { right: 0px; top: 0px; overflow-x: hidden; overflow-y: scroll; }
 +
.CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow-y: hidden; overflow-x: scroll; }
 +
.CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }
 +
.CodeMirror-gutter-filler { left: 0px; bottom: 0px; }
 +
.CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 30px; z-index: 3; }
 +
.CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }
 +
.CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: none !important; border: none !important; }
 +
.CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }
 +
.CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }
 +
.CodeMirror-lines { cursor: text; }
 +
.CodeMirror pre {padding:4px 4px; border-radius: 0px; border-width: 0px; background: transparent; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; word-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }
 +
.CodeMirror-wrap pre { word-wrap: break-word; white-space: pre-wrap; word-break: normal; }
 +
.CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }
 +
.CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }
 +
.CodeMirror-linebackground { position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 0; }
 +
.CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }
 +
.CodeMirror-widget { }
 +
.CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }
 +
.CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }
 +
.CodeMirror-measure pre { position: static; }
 +
.CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }
 +
.CodeMirror div.CodeMirror-cursor { visibility: hidden; }
 +
.CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }
 +
.CodeMirror-selected { background: rgb(217, 217, 217); }
 +
.CodeMirror-focused .CodeMirror-selected { background: rgb(215, 212, 240); }
 +
.cm-searching { background: rgba(255, 255, 0, 0.4); }
 +
.CodeMirror span { }
 +
@media print {
 +
  .CodeMirror div.CodeMirror-cursor { visibility: hidden; }
 +
}
 +
.CodeMirror-lint-markers { width: 16px; }
 +
.CodeMirror-lint-tooltip { background-color: infobackground; border: 1px solid black; border-radius: 4px; color: infotext; font-family: monospace; overflow: hidden; padding: 2px 5px; position: fixed; white-space: pre-wrap; z-index: 10000; max-width: 600px; opacity: 0; transition: opacity 0.4s; font-size: 0.8em; }
 +
.CodeMirror-lint-mark-error, .CodeMirror-lint-mark-warning { background-position: left bottom; background-repeat: repeat-x; }
 +
.CodeMirror-lint-mark-error { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg=="); }
 +
.CodeMirror-lint-marker-error, .CodeMirror-lint-marker-warning { background-position: center center; background-repeat: no-repeat; cursor: pointer; display: inline-block; height: 16px; width: 16px; vertical-align: middle; position: relative; }
 +
.CodeMirror-lint-message-error, .CodeMirror-lint-message-warning { padding-left: 18px; background-position: left top; background-repeat: no-repeat; }
 +
.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII="); }
 +
.CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII="); }
 +
.CodeMirror-lint-marker-multiple { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC"); background-repeat: no-repeat; background-position: right bottom; width: 100%; height: 100%; }
 +
</style>
 
</html>
 
</html>

Latest revision as of 03:49, 2 November 2017

Model - Overview

Why models are essential for our project?

1. Our Models help to explain the phenomenon in experiments

What does the small drop of florescence signal/OD600 at the beginning of bacteria growth means? What causes the actual response curve deviate from the original rough model? With the improvement of our mathematical model, we've found some potential answers.

2. Measuring working efficiency of Bioblocks

Do the bioblocks work efficiently enough to keep a robust signal processing? To determine the efficiency of signal processing, we simulated AHL production dynamics with experimental data and then made prediction with an expression model.To determine the efficiency of signal processing, we simulated AHL production dynamics with experimental data and then made prediction with an expression model.

3. Predicting best working parameters for Bioblocks

How much time is needed for a bioblock to finish its task and when would the system proceed to the next layer? Our model can give some suggestions before determining these parameters by experiment.

4. Modeling bacteria population inside a MagicBlock

Adding AHLs to bacteria culture could cause growth suppression. Will this phenomenon interfere with the function of bio-blocks? To give a precise kinetic model of bioblocks, we had to test whether and to what level the toxicity of AHLs or the pressure of expressing exogenous protein causes grow suppression in our model.

Introduction

​In our models, we simplify the actual biology process into a basic model that only remains input molecule, promoter, transcription gene, mRNA, goal protein and output molecule for both dynamic perspective and responding ability. In developed model, we consider different conditions including the population growth, diffusion of signal and decay of signal molecules in cells. Finally, we completely construct the model of our bioblocks, which will instruct in using our system and guide our experiment. In addition, we also adapt new measurement methods to monitor fluorescence in bacteria in real time and do some basic researches on growth suppression by AHLs.

Aim

  1. Our Models help to explain the observed phenomenon in experiments
  2. Parameters fitting for Bioblocks
  3. Measuring working efficiency of Bioblocks
  4. Modeling bacteria population inside a MagicBlock

Basic and Developed kinetic Model

​ What does the small drop of florescence signal/OD600 at the beginning of bacteria growth means? What causes the actual response curve deviate from the original rough model? With the improvement of our mathematical model, we've found some potential answers.

Basic Model

$$ \begin{aligned} \frac{d([mRNA])}{dt}&=v_{generate}-\phi_{mRNA}[mRNA]\\ \frac{d([protein])}{dt}&=g_{protein}[mRNA]-\phi_{protein}[protein]\end{aligned} $$

​ In these equations, $v_{generate}$ refers to the efficiency of mRNA transcription. $\phi$ refers to the degradation rate of mRNA and protein.

​ The property of $v_{generate}$ depends on the promoter and the concentration of inducer molecule. If the promoter is constitutive promoter, $v_{generate}$ is a constant. Otherwise, it will have a sensitive response to different concentration of inducer molecule. This reponse can be expressed as following form:

$$ v_{generate}([x])=V_{max}·(\frac{(1-\epsilon)·x^n}{k^n+x^n}+\epsilon) $$

​ $k$ refers to the dissociation constant and $x$ refers to the concentration of inducer concentration. $\epsilon$ refers to the leakage of genetic expression. Following diagram shows the intuitive relation between input signal concentration and expression efficiency.

hill equation

​ In comparision, for NOR GATE, the repression of inducer molecule can be expressed as similar form:

$$ v_{generate}([x])=V_{max}·(\frac{1-\epsilon}{1^n+(\frac{x}{k})^n}+\epsilon) $$

​ For specific concerntration, $v_{generate}$ is a constant, otherwise it is a function of $[x]$

​ The generated protein is used to produce new signal molecule, which play a role as enzyme. Different from Michaelis-Menten equation, our protein (in other words, enzyme) will degradate while producing new siginal molecule, So this fact should be considered into our fundmental model.

​ Mathematical expression for producing new signal molecule:

$$ \frac{d[EAB]}{dt}=k_1[E][A][B]-(k_1+k_{-1})[EAB]\\ \frac{d[M_{signal}]}{dt}=k_2[EAB] $$

Developed Model

Growth of E.coli

​ In the developed model, we first take the growth of E.coli into consideration. The growth of E.coli can not only fluctuate the concentration of both reactants and products, but also an important variable in calculate final concentration of products. This model is based on this two fundamental relation:

$$ Total=Concentration·Volumel\\ Volume=N_{E.coli}·V_{E.coli}\\ \frac{d([protein]·Volume)}{dt}=g_{protein}[mRNA]·Volume-\phi_{protein}[protein]·Volume $$

​ Correspondingly, it is same to equation for mRNA expression:

$$ \frac{d([mRNA])·Volume}{dt}=v_{generate}·Volume-\phi_{mRNA}[mRNA]·Volume\\ $$

​ $N_{E.coli}$ is a function used to show the population of E.coli, $V_{E.coli}$ refers to the volume of every E.coli, as a constant. So we can divide out the constant $V_{E.coli}$ on both sides of every equations, and take derivative formula:

$$ \frac{d[protein]}{dt}·N_{E.coli}+\frac{dN_{E.coli}}{dt}·[protein]=g_{protein}[mRNA]·N_{E.coli}-\phi_{protein}[protein]·N_{E.coli} $$

​ Simplify this equation into following form:

$$ \frac{d[protein]}{dt}=g_{protein}[mRNA]-(\phi_{protein}+\frac{N_{E.coli}'}{N_{E.coli}})[protein]\\ N_{E.coli}'=\frac{dN_{E.coli}}{dt} $$

​ $N_{E.coli}$ is satisfied to following equation:

$$ N_{E.coli}=\frac{N_{\max}}{1+(\frac{N_{\max}}{N_{t=0}}-1)·e^{-rt}} $$

​ $r$ refers to growth rate of E.coli and $N_{\max}$ refers to the limits of E.coli population. Since $N_{\max}$ and $N_{t=0}$are constants, so we define following parameter:

$$ \frac{N_{\max}}{N_{t=0}}-1=N_{c} $$

​ From our experiments, we find there are another two possible factors affecting the production of our system. First one is diffusion of signal molecule at initial time, the other one is the decay of signal molecule with the time going.

Diffusion of signal molecule at initial time

​ The concentration of signal is always considered to diffuse into E.coli very rapidly. But from our data, we find that the initial part of our dynamic curve is not fitting to our basic model. Our basic model indicates that the rate of generating will decrease with the time flying, but the experiment shows that the velocity will have a short rise at initial time and then decrease as the way predicted by basic model. Therefore, we take process of diffusion into consideration. Because at very beginning, the concentration of signal in E.coli is very low, and then it will rise by diffusion, so the efficiency of production will rise according to time in a short time period.

​ We suppose the initial concentration difference between inside of E.coli and outside is $\Delta c(0)$, also we know the time for E.coli to balence this difference:

$$ c(t)= C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}} $$

​ So the generating efficency comes to:

$$ v_{generate} = \frac{V_{\max}}{1+(\frac{k}{ C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}}})^n} $$

​ And we will use this formula to simulate initial state.

扩散浓度对时间的响应

​ The demo is shown above which is a Log linear plot. X-axis refers to the time, Y-axis refers to the generating efficiency. We can easily figure out the concentration will rapidly get to steady state and remains to a constant. Therefore, it will only affect the inital transcription efficiency.

​ Following diagram shows the modified dynamic curve

simulation

​ We can see the initial slope of the curve is rasing to a point and then decrease gradually which is highly fixed to the experiment result we get.

Decay of signal molecule

​ In basic model, we consider the decay of signal can be neglected because we found there's no significant difference between concentration in vitro. But actually when we meature the rough concentration in the LB with E.coli, we found that the concentration has a linear deacrease through time, which we should take consideration into our model.

​ The decay can be shown as following equation:

$$ [S]_t=[S]_{initial}-k_{decay}t $$

​ And the $v_{generate}$ becomes to:

$$ v_{generate}= V_{\max}\frac{([S]_t)^n}{k^n+([S]_t)^n} $$

​ To illustrate the change taken by the decompose of signal molecule, we can see following simulation curves:

1-10

​ X-axis refers to time. We find the efficiency will not be disturbed greatly at initial time, and will have a rapid decrease when the concentration equals to the half of origin. This property shows that we should control the reaction time otherwise the production will decay without production with the time going by. So the main purpose of this model is to predict when we dilute the input signal solution to obtain the maximum of protein to convert out signal.

​ We use matlab to obtain a rough curve of protein expression. X-axis refers to time.

decay

​ This is a important result because it indicates that the production will not always increase with the time going. Actually, there exists a so-called "best time" to process next step in our system. For example, this peak can determine when we dilute input signal to get output signal as much as possible.

合成酶

​ Red stars refers to "best time" according to different input concentration from upstream block.

*matlab code:

 

This matlab code shows how we draw the curves and how to find maximum.

Parameter Fitting and Simulation

Hill equation

​ To get the parameter of Hill equation through our data, we tranfer Hill equation to following form:

$$ Hill\quad equation:y=V_{max}\times\frac{x^n}{k^n+x^n} $$ $$ New\quad form:\log{\frac{\frac{y}{V_{max}}}{1-\frac{y}{V_{max}}}}=n\log{x}-n\log{k} $$

​ In this form, we can get easily get a linear relation between our input concerntration and output GFP. The question is how to find out $V_{max}$ in this equation because this value determine the reprocessed data of output. Another question is, due to the large scale of our data, to ease the workload of proceesing such data. To meet the needs of these two question, first we let each output data substract the minimum among all output data, and define the ratio between each processed output data and the maximum of all output data as the standard output. (NOTICE: The minimum data of this output data set can be the control.)As following shows:

$$ {output}={y_1,y_2,···,y_n} $$ $$ SY_{output}=\{y_1',y_2',···,y_n'\}\quad which\quad y_i=\frac{y_i-\min{Y_{output}}}{\max{Y_{output}}-\min{Y_{output}}} $$

​ The elements in $SY_{output}$ fit following equation:

$$ \log{\frac{{y_i'}\frac{\max{Youtput}-\min{Y_{output}}}{V_{max}}}{1-{y_i'}\frac{\max{Youtput}-\min{Y_{output}}}{V_{max}}}}=n\log{x_i}-n\log{k} $$

​ We define the value of $\frac{V_{max}}{\max{Youtput}-\min{Y_{output}}}$ as a parameter $PV_{max}$. So the equation we actually simulate is following one:

$$ \log{\frac{y_i'}{PV_{max}-y_i'}}=n\log{x_i}-n\log{k} $$

​ We use Mathematica as fitting tools, the following code is shown:

 

​ Example and its output is shown (NOTICE: This example is the fitting curve of the Tra with its limited five data. Actually most of our data, except for tra, has six inputs and outputs, so the original code, which is shown above, has six outputs. When we use this code, we can just import outputs into "outputdata" list and run this programm. ):

 

测量

Then we can get the meaningful parameter from these data quickly and easily.

Measurement of Signal Converter

​ How we can measure the working efficiency of our signal converter is an important question for us. As we all know, the reason why we use GFP to reflect the efficiency of promoter is that we can measure fluoresence easily and establish the quantity relationship between GFP expression and input signal concentration. But when it comes to some other products such as small molecule, they are hard to measure exactly. We use LC-MS to indicate the production of our signal converter approximately, but this data is too rough to instruct our following work. So we will use our model to obtain the parameter of converter indirectly by following experiments and deduction from model.

​ We symbol $S_,S_2$ as the concentrations of two signal molecules, signal one and signal two, $GFP$ as the result of fluroesence intensity.

​ We propose two experiments. First one is using signal two to induce the expression of GFP. We take its results as standard curve. The other experiment is using signal one to obtain signal two, and we use signal two to induce the expression of gene. Also we will have following data:

$$ S_1=\{c_1,c_2,···,c_n\}\\ GFP=\{F_1,F_2,···,F_n\} $$

​ From our model we know the relationship among $S_1,S_2$ and $GFP$ at steady state as following:

$$ GFP=V_{max}·(\frac{(1-\epsilon_1)·{S_2}^n}{k_1^n+{S_2}^n}+\epsilon_1)\\ S_2=V_{max}·(\frac{(1-\epsilon_2)·{S_1}^m}{k_2^m+{S_1}^m}+\epsilon_2) $$

​ From the parameter fitting model, we can determine all parameters in $GFP-S_2$ curve. Therefore, we can use this curve and data of GFP from second experiment to obtain the input signal two concentration.

$$ F_i=V_{max}·(\frac{(1-\epsilon_1)·{[S_2]_i}^n}{k_1^n+{[S_2]_i}^n}+\epsilon_1)\\ F'_i=\frac{F_i-\epsilon_1}{1-\epsilon_1} \\\Longleftrightarrow\log{[S_2]_i}=\frac{\log{\frac{F_i'}{V_1-F_i'}}}{n}+\log{k_1} $$

​ So we have the data $[S_2]_i$ related to input concentration of signal one, so we can get the relation through using parameter-fitting model would get the parameter of $S_1-S_2$ curve finally.

Final test  of simulation 2

​ x-axis refers to Log of input signal molecular concentration; y-axis refers to the relative GFP expression.

measure

​ x-axis refers to Log of signal one molecular concentration; y-axis refers to signal two molecular concentration. This curve indicates the effciency of signal converter, which low concentrations of input signal generate less output signal and high concentrations of input signal generate high output signal concentrations of input signal. And there exists a significant drop between low expression and high expression. It is absolutely what we want!

Model on E.coli Growth

​ This part will discuss an interesting model on how the signal molecule affect the growth and population. The reason why we care about this question is that we measured the OD600 under different circumstance and found some special relation between the concentration and the population. In breif, with the rise of concentration, the population will decrease. We wonder the mechanism and propse two hypothesis:

  1. The signal molecule is toxic to E.coli, so the population will decrease related to the increase of concentration linearly.

  2. The signal molecule induce the synthesis of GFP which occupy the substance that is originally used for growth. It indicates that if the GFP is produced, then the population will be at low level, otherwise the population will be at normal level.

    In our model, we indicates the second hypothesis is more realistic.

    Toxic model (Y-axis refers to relative population (OD) and X-axis refers to time(hour)) :

    toxic

    Consumption model (Y-axis refers to relative population (OD) and X-axis refers to time(hour)) :

质料

 

experiment data

​ The experiment shows an obvious difference between low concentration and high concentration which fitts to the hypothesis two.

​ But we also cannot eliminate the hypthesis one, because the curves of low concentration go to steady state but the high concentration go slightly down. If we use hypothesis two to explain this phenomemon, that is: The production of GFP highly occupy the resource and leave little resource for the growth of E.coli even cannot mantain the population at the steady state. If we use hypothesis one, then the result is obvious that signal molecule is toxic to E.coli which causes unavoidable death of E.coli. So further study is required.

About full article

This page (https://2017.igem.org/Team:Shanghaitech/Model/full) is for people who want to learn more details about our model from a mathematical perspective. We believe both intuitive illustration and strict deduction are required for model work, so entire mathematical calculation is given on "full article" page.