Difference between revisions of "Team:Shanghaitech/Model"

 
(32 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Shanghaitech/custom}} {{Shanghaitech/css}} {{Shanghaitech/js}}
+
{{Shanghaitech/custom}}
 +
{{Shanghaitech/css}}
 +
{{Shanghaitech/js}}
 
<html>
 
<html>
  
Line 12: Line 14:
 
     <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>
 +
<img src="https://static.igem.org/mediawiki/2017/f/ff/T--ShanghaiTech--Modeling.png" style="align:center;">
 +
            <h2>Why models are essential for our project?</h2>
 +
            <h3>1. Our Models help to explain the phenomenon in experiments</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>
 +
            <h3>2. Measuring working efficiency of Bioblocks</h3>
 +
            <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>
 +
            <h3>3. Predicting best working parameters for Bioblocks</h3>
 +
            <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>
 +
            <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>
 +
 
 
             <h2>Introduction</h2>
 
             <h2>Introduction</h2>
             <p>In this model, we simplify the actual biology process into a model that only remains input molecule, promotor,
+
             <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>
                transcription gene, mRNA, goal protein and output molecule.</p>
+
            <h3>Aim</h3>
+
            <ol start=''>
+
                <li>This model is used to explain the phenomenon in our experiments.</li>
+
                <li>This model is used to predict the working efficiency of our parts.</li>
+
                <li>This model can be used to simulate our experiments and do parameter fitting.</li>
+
                <li>This model gives some new perspectives and developed models on QS system. </li>
+
  
 +
            <h3>Aim</h3>
 +
            <ol>
 +
            <li>Our Models help to explain the observed phenomenon in experiments</li>
 +
            <li>Parameters fitting for Bioblocks </li>
 +
            <li>Measuring working efficiency of Bioblocks </li>
 +
            <li>Modeling bacteria population inside a MagicBlock </li>
 
             </ol>
 
             </ol>
            <h3>Symbol</h3>
 
            <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>
+
             <h2>Basic and Developed kinetic Model</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>Basic Model</h3>
 
             <h3>Basic Model</h3>
             $$ \begin{aligned} \frac{d([mRNA])}{dt}&amp;=v_{generate}-\phi_{mRNA}[mRNA]\\ \frac{d([protein])}{dt}&amp;=g_{protein}[mRNA]-\phi_{protein}[protein]
+
             $$ \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} $$
            \end{aligned} $$
+
             <p>In these equations, $v_{generate}$ refers to the efficiency of mRNA transcription. $\phi$ refers to the degradation rate of mRNA and protein. </p>
             <p>In these equations, $v_{generate}$ refers to the efficiency of mRNA transcription. $\phi$ refers to the degradation
+
             <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>
                rate of mRNA and protein. </p>
+
             $$
             <p>The property of $v_{generate}$ depends on the promoter and the concentration of inducer molecule. If the promoter
+
            v_{generate}([x])=V_{max}·(\frac{(1-\epsilon)·x^n}{k^n+x^n}+\epsilon)
                is 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>
+
             <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>
             $$ v_{generate}([x])=V_{max}·(\frac{(1-\epsilon)·x^n}{k^n+x^n}+\epsilon) $$
+
            <p>​ <img src='file:///Users/Luofang/Desktop/Wiki-script/C:/Users/Dellll/Desktop/hill%20equation.png' alt='hill equation' /></p>
             <p>$k$ refers to the dissociation constant and $x$ refers to the concentration of inducer concentration. $\epsilon$
+
             <p>In comparision, for NOR GATE, the repression of inducer molecule can be expressed as similar form:</p>
                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)
             $$ 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>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
+
             <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>
                equation, our protein (in other words, enzyme) will degradate while producing new siginal molecule, So this
+
             <p>Mathematical expression for producing new signal molecule:</p>
                fact should be considered into our fundmental model.</p>
+
             $$
             <p>Mathematical expression for producing new signal molecule:</p>
+
            \frac{d[EAB]}{dt}=k_1[E][A][B]-(k_1+k_{-1})[EAB]\\
             $$ \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}
+
            \frac{d[M_{signal}]}{dt}=k_2[EAB]
 
             $$
 
             $$
 
             <h3>Developed Model</h3>
 
             <h3>Developed Model</h3>
 
             <h4>Growth of E.coli</h4>
 
             <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
+
             <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>
                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>
+
             Total=Concentration·Volumel\\
             $$ \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}
+
            Volume=N_{E.coli}·V_{E.coli}\\
 +
             \frac{d([protein]·Volume)}{dt}=g_{protein}[mRNA]·Volume-\phi_{protein}[protein]·Volume
 
             $$
 
             $$
             <p>$N_{E.coli}$ is satisfied to following equation:</p>
+
             <p>​ Correspondingly, it is same to equation for mRNA expression:</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>Parameter fitting and simulation</h2>
+
            <h3>Hill equation</h3>
+
            <p>To get the parameter of Hill equation through our data, we tranfer Hill equation to following form:</p>
+
            $$ \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}
+
            \end{aligned} $$
+
            <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>
+
            $$ {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}}}
+
 
             $$
 
             $$
             <p>The elements in $SY_{output}$ fit following equation:</p>
+
             \frac{d([mRNA])·Volume}{dt}=v_{generate}·Volume-\phi_{mRNA}[mRNA]·Volume\\
            $$ \log{\frac{{y_i&#39;}\frac{\max{Youtput}-\min{Y_{output}}}{V_{max}}}{1-{y_i&#39;}\frac{\max{Y_{output}}-\min{Y_{output}}}{V_{max}}}}=n\log{x_i}-n\log{k}
+
 
             $$
 
             $$
             <p>We define the value of $\frac{V_{max}}{\max{Youtput}-\min{Y_{output}}}$ as a parameter $PV_{max}$. So the equation
+
             <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>
                we actually simulate is following one:</p>
+
            $$ \log{\frac{y_i&#39;}{PV_{max}-y_i&#39;}}=n\log{x_i}-n\log{k} $$
+
            <p>​ We use Mathematica as fitting tools, the following code is shown:</p>
+
            <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>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>
+
            <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><img src='https://static.igem.org/mediawiki/2017/a/a1/T--Shanghaitech--i%E6%B5%8B%E9%87%8F.jpg' alt='img' /></p><p> Then we
+
                can get the meaningful parameter from these data quickly and easily.</p>
+
            <h3>Simulation of Signal Producing</h3>
+
            <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 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 roughly, 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>
+
            <p>​ We symbol $S_1,S_2$ as the concentrations of two signal molecules, signal one and signal two, $GFP$ as the
+
                result of fluroesence intensity. </p>
+
            <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>
+
            $$ \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>
+
            $$ \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} $$
+
            <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>
+
            $$ F_i=V_{max}·(\frac{(1-\epsilon_1)·{[S_2]_i}^n}{k_1^n+{[S_2]_i}^n}+\epsilon_1)\\ F&#39;_i=\frac{F_i-\epsilon_1}{1-\epsilon_1}
+
            \\\Longleftrightarrow\log{[S_2]_i}=\frac{\log{\frac{F_i&#39;}{V_1-F_i&#39;}}}{n}+\log{k_1} $$
+
            <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><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>​ x-axis refers to Log of input signal molecular concentration; y-axis refers to the relative GFP expression.</p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/b/b7/T--Shanghaitech--measure.png' alt='measure' /></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>
+
            <h4>Rough schematic diagram</h4>
+
            <p>This is the concentration curve of protein related to time</p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/6/64/T--Shanghaitech--Ehyphyp.png' alt='E' /></p>
+
            <p>This is the concentration curve of protein complex related to time</p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/7/7d/T--Shanghaitech--EAB.png' alt='EAB' /></p>
+
            <p>This is the concentration curve of producing signal molecule related to time</p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/0/05/T--Shanghaitech--Signal.png' alt='Signal' /></p>
+
            <h3>Simulation of NOR GATE</h3>
+
            <h4>Rough schematic diagram</h4>
+
            <p>This is the concentration curve of produced signal molecule related to time</p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/e/e4/T--Shanghaitech--NOR.png' alt='NOR' /></p>
+
            <h2>Theoretical Calculation</h2>
+
            <h3>Solution to ODE</h3>
+
            <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>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} $$
+
            <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 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(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} $$
+
            <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>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, 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>
+
            $$ [mRNA]= e^{-\phi_{mRNA}t}(\int Q(t)·e^{\phi_{mRNA}t}dt+C) $$
+
            <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>
+
             \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}
            $$ \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
+
             <p>​ Simplify this equation into following form:</p>
                $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>
+
             \frac{d[protein]}{dt}=g_{protein}[mRNA]-(\phi_{protein}+\frac{N_{E.coli}&#39;}{N_{E.coli}})[protein]\\
            $$ \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\\
+
             N_{E.coli}&#39;=\frac{dN_{E.coli}}{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
+
             <p>​ $N_{E.coli}$ is satisfied to following equation:</p>
                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>
+
             N_{E.coli}=\frac{N_{\max}}{1+(\frac{N_{\max}}{N_{t=0}}-1)·e^{-rt}}
            $$ \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>
+
             <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>
            $$ [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
+
             \frac{N_{\max}}{N_{t=0}}-1=N_{c}
                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>
+
             <p>​ </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
+
            <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>
             t} $$
+
            <h4>Diffusion of signal molecule at initial time</h4>
             <p>Surely the first step is to confirm this equation gives a reasonable result. Through using following mathematics
+
            <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>
                conclution, we can approximately consider the integral as a summation:</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>
             $$ \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.
+
            c(t)= C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}}
                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
+
            <p>​ So the generating efficency comes to:</p>
            t)^n}{k^n+([S]_{initial}-k_{decay}i\Delta t)^n}·e^{\phi_{mRNA}i\Delta t}·\Delta t $$
+
            $$
             <p>Which</p>
+
            v_{generate} = \frac{V_{\max}}{1+(\frac{k}{ C_{saturated} -\Delta c(0)·e^{-\frac{t}{\tau}}})^n}
             $$ n\Delta t=t $$
+
             $$
             <p>We use matlab to obtain a rough curve. X-axis refers to time. </p>
+
             <p>​ And we will use this formula to simulate initial state.</p>
 +
            <p><img src='https://static.igem.org/mediawiki/2017/8/85/T--Shanghaitech--modelfig5fx.gif'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>
 +
             <p>​ Following diagram shows the modified dynamic curve </p>
 +
            <p>​          <img src='https://static.igem.org/mediawiki/2017/f/f0/T--Shanghaitech--modelfig3fx.gif' 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>
 +
            <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/b/b9/T--Shanghaitech--modelfig4fx.gif' 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>
 +
            <p>​ We use matlab to obtain a rough curve of protein expression. 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><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.
+
             <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>
                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><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>Red stars refers to &quot;best time&quot; according to different input concentration from upstream block.</p>
 
             <p>*matlab code:</p>
 
             <p>*matlab code:</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>
 
             <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>This matlab code shows how we draw the curves and how to find maximum.</p>
 
             <p>This matlab code shows how we draw the curves and how to find maximum.</p>
             <h4>Signal Producing</h4>
+
             <h2>Parameter Fitting and Simulation</h2>
             <h6>Review</h6>
+
             <h3>Hill equation</h3>
             <p>In last part, we gives a approximate value of the protein we will get from our system:</p>
+
             <p>​ To get the parameter of Hill equation through our data, we tranfer Hill equation to following form:</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>
+
             Hill\quad equation:y=V_{max}\times\frac{x^n}{k^n+x^n}
            $$ (\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>
+
             New\quad form:\log{\frac{\frac{y}{V_{max}}}{1-\frac{y}{V_{max}}}}=n\log{x}-n\log{k}
            $$ 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>
+
             <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>
            $$ \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>
+
             {output}={y_1,y_2,···,y_n}
            <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>
+
            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}}}
             $$ \frac{N_{\max}}{N_{t=0}}-1=N_{c} $$
+
            $$
             <p>Two hypothesis:</p>
+
             <p>​ The elements in $SY_{output}$ fit following equation:</p>
             <ol start=''>
+
            $$
                <li>The signal molecule is toxic to E.coli, so the population will decrease related to the increase of concentration
+
            \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}
                    linearly.
+
            $$
                </li>
+
            <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>
                <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
+
            \log{\frac{y_i&#39;}{PV_{max}-y_i&#39;}}=n\log{x_i}-n\log{k}
                    will be at normal level.</li>
+
            $$
 +
            <p>​ We use Mathematica as fitting tools, the following code is shown:</p>
 +
            <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>​ 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>
 +
            <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>​ <img src='https://static.igem.org/mediawiki/2017/5/5a/T--Shanghaitech--Parameterfitting1.png' alt='测量' />
 +
            <p>Then we can get the meaningful parameter from these data quickly and easily.</p>
 +
            <h2>Measurement of Signal Converter</h2>
 +
            <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>
 +
            <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>
 +
            <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>
 +
             $$
 +
            S_1=\{c_1,c_2,···,c_n\}\\
 +
            GFP=\{F_1,F_2,···,F_n\}
 +
            $$
 +
            <p>​ From our model we know the relationship among $S_1,S_2$ and $GFP$ at steady state as following:</p>
 +
            $$
 +
            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)
 +
            $$
 +
            <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>
 +
            $$
 +
            F_i=V_{max}·(\frac{(1-\epsilon_1)·{[S_2]_i}^n}{k_1^n+{[S_2]_i}^n}+\epsilon_1)\\
 +
            F&#39;_i=\frac{F_i-\epsilon_1}{1-\epsilon_1}
 +
            \\\Longleftrightarrow\log{[S_2]_i}=\frac{\log{\frac{F_i&#39;}{V_1-F_i&#39;}}}{n}+\log{k_1}
 +
            $$
 +
             <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><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>​ x-axis refers to Log of input signal molecular concentration; y-axis refers to the relative GFP expression.</p>
 +
            <p><img src='https://static.igem.org/mediawiki/2017/b/b7/T--Shanghaitech--measure.png' alt='measure' /></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>
 +
            <h2>Model on E.coli Growth</h2>
 +
            <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>
 +
            <ol>
 +
            <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>Toxic model (Y-axis refers to relative population (OD) and X-axis refers to time(hour)) :</p>
 +
            <p><center><img src='https://static.igem.org/mediawiki/2017/f/f4/T--Shanghaitech--modelfig2fx.gif' alt='toxic' / ></center></p>
 +
            <p>Consumption model (Y-axis refers to relative population (OD) and X-axis refers to time(hour)) :</p>
 +
            </li>
  
 
             </ol>
 
             </ol>
             <h6>Analyse</h6>
+
             <center><img src='https://static.igem.org/mediawiki/2017/1/15/T--Shanghaitech--modelfig1fx.gif' alt='质料' / ></center></p>
            <p>To show the difference between these two hypothesis, we give following equation:</p>
+
            <p>Hypothesis 1:</p>
+
            $$ \frac{dN_{E.coli}}{dt}=rN_{E.coli}(1-\frac{N_{E.coli}}{N_{\max}})-\gamma N_{E.coli} $$
+
            <p>$\gamma$ refers to the death rate caused by toxic substance,$[S]$ refers to the concentration of signal molecule
+
                and $[S]_{critical}$ refers to the critical point which means all E.coli are dead:</p>
+
            $$ \gamma =r·(1-\frac{[S]}{[S]_{critical}}) $$
+
            <p>Therefore:</p>
+
            $$ \lim_{t\to+\infty}N_{E.coli}=N_{\max}·(1-\frac{[S]}{[S]_{critical}}) $$
+
            <p><img src='https://static.igem.org/mediawiki/2017/3/31/T--Shanghaitech--toxic2.jpg' alt='toxic' /></p>
+
            <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>
+
            $$ \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>
+
            $$ \beta =1-\beta_{\lim}·\frac{[S]^n}{k^n+[S]^n} $$
+
            <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 are used to produce GFP instead of growth of E.coli. </p>
+
            <p>Therefore:</p>
+
            $$ N_{E.coli}=\frac{N_{\max}·\beta}{1+(\frac{N_{\max}}{N_{t=0}}-1)·e^{-r t}} $$
+
            <p> <img src='https://static.igem.org/mediawiki/2017/d/d7/T--Shanghaitech--%E8%B4%A8%E6%96%99.png' alt='质料' /></p>
+
            <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>From our data, we found the result showed that hypothesis two was more realistic.</p>
+
            <p><img src='https://static.igem.org/mediawiki/2017/7/76/T--Shanghaitech--interlab3grwoth.jpg' alt='experiment' /></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>
+
            <h2>Modeling Our Project</h2>
+
            <p><img src='https://static.igem.org/mediawiki/2017/c/cb/T--Shanghaitech--5_(2).png' alt='5 (2)' /></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>
+
            <p><img src='https://static.igem.org/mediawiki/2017/thumb/0/08/T--Shanghaitech--6.png/227px-T--Shanghaitech--6.png' alt='6'
+
                /></p>
+
            $$ \begin{align} \frac{{\mathrm{d}\left( {QS1R} \right)}}{{\mathrm{d}t}}&amp;= {C_{QS1R}} + H\left( {{{\left[ M \right]}_e}}
+
            \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>
 
             <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>
 
     </div>
 
     </div>
 
</body>
 
</body>
 +
 
<style>
 
<style>
 
.CodeMirror { height: auto; }
 
.CodeMirror { height: auto; }

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.