From 3243075a54afa0e36cb5a79f5e8a09091c44f99c Mon Sep 17 00:00:00 2001
From: Zhefu Li <zf-li23@mails.tsinghua.edu.cn>
Date: Tue, 1 Oct 2024 14:11:01 +0000
Subject: [PATCH] Update model.html

---
 wiki/pages/model.html | 844 ++++++++++++++++++++++++++----------------
 1 file changed, 535 insertions(+), 309 deletions(-)

diff --git a/wiki/pages/model.html b/wiki/pages/model.html
index 176eee95..01086424 100644
--- a/wiki/pages/model.html
+++ b/wiki/pages/model.html
@@ -356,87 +356,85 @@
                     is more meaningful than the calculation results.</p>
                 <button id="Button1" onclick="toggleCodeSnippet1()">Inhalation.m</button>
 
-                <div id="codeSnippet1" class="code-snippet">
-                    % Define parameters
-                    Q_inhale = 100; % mg
-                    k_exhale = 10;
-                    k_perm = 0.005;
-                    k_adh = 0.001;
-                    k_diffMC = 0.01;
-                    k_diffLC = 0.05;
-                    k_dist = 0.001;
-                    k_excrete = 0.05;
-                    k_move = 0.02;
-
-                    % Define the time range
-                    tspan = [0 300]; % From 0 to 5 minutes
-                    initial_conditions = [0 0 0 0 0]; % The initial condition is 0
-
-                    % solve ODE
-                    [t, y] = ode45(@(t,y) odefun(t, y, Q_inhale, k_exhale, k_perm, k_adh, k_diffMC, k_diffLC, k_dist,
-                    k_excrete, k_move), tspan, initial_conditions);
-
-                    % calculate V_inhale
-                    V_inhale = Q_inhale / 5 * (heaviside(t) - heaviside(t-5));
-
-                    figure('Position', [100, 100, 1200, 1000]);
-
-                    % V_inhale(t)
-                    subplot(3,2,1)
-                    plot(t, V_inhale)
-                    title('V_{inhale}(t)')
-                    xlabel('Time (s)')
-                    ylabel('V_{inhale}')
-
-                    % Q_A(t)
-                    subplot(3,2,2)
-                    plot(t, y(:,1))
-                    title('Q_A(t)')
-                    xlabel('Time (s)')
-                    ylabel('Q_A')
-
-                    % Q_L(t)
-                    subplot(3,2,3)
-                    plot(t, y(:,2))
-                    title('Q_L(t)')
-                    xlabel('Time (s)')
-                    ylabel('Q_L')
-
-                    % Q_M(t)
-                    subplot(3,2,4)
-                    plot(t, y(:,3))
-                    title('Q_M(t)')
-                    xlabel('Time (s)')
-                    ylabel('Q_M')
-
-                    % Q_C(t)
-                    subplot(3,2,5)
-                    plot(t, y(:,4))
-                    title('Q_C(t)')
-                    xlabel('Time (s)')
-                    ylabel('Q_C')
-
-                    % Q_I(t)
-                    subplot(3,2,6)
-                    plot(t, y(:,5))
-                    title('Q_I(t)')
-                    xlabel('Time (s)')
-                    ylabel('Q_I')
-
-                    sgtitle('Simulation Results')
-
-                    % ODE
-                    function dydt = odefun(t, y, Q_inhale, k_exhale, k_perm, k_adh, k_diffMC, k_diffLC, k_dist,
-                    k_excrete, k_move)
-                    V_inhale = Q_inhale / 5 * (heaviside(t) - heaviside(t-5));
-                    dydt = zeros(5,1);
-                    dydt(1) = V_inhale - (k_exhale + k_perm) * y(1); % dQ_A/dt
-                    dydt(2) = k_perm * y(1) - k_diffLC * y(2); % dQ_L/dt
-                    dydt(3) = 0.0005 * k_adh * V_inhale - k_diffMC * y(3); % dQ_M/dt
-                    dydt(4) = k_diffMC * y(3) + k_diffLC * y(2) - k_dist * y(4) - k_excrete * y(4); % dQ_C/dt
-                    dydt(5) = k_dist * y(4) - k_move * y(5); % dQ_I/dt
-                    end
-                </div>
+                <div id="codeSnippet1" class="code-snippet">% Define parameters
+Q_inhale = 100; % mg
+k_exhale = 10;
+k_perm = 0.005;
+k_adh = 0.001;
+k_diffMC = 0.01;
+k_diffLC = 0.05;
+k_dist = 0.001;
+k_excrete = 0.05;
+k_move = 0.02;
+
+% Define the time range
+tspan = [0 300]; % From 0 to 5 minutes
+initial_conditions = [0 0 0 0 0]; % The initial condition is 0
+
+% solve ODE
+[t, y] = ode45(@(t,y) odefun(t, y, Q_inhale, k_exhale, k_perm, k_adh, k_diffMC, k_diffLC, k_dist,
+k_excrete, k_move), tspan, initial_conditions);
+
+% calculate V_inhale
+V_inhale = Q_inhale / 5 * (heaviside(t) - heaviside(t-5));
+
+figure('Position', [100, 100, 1200, 1000]);
+
+% V_inhale(t)
+subplot(3,2,1)
+plot(t, V_inhale)
+title('V_{inhale}(t)')
+xlabel('Time (s)')
+ylabel('V_{inhale}')
+
+% Q_A(t)
+subplot(3,2,2)
+plot(t, y(:,1))
+title('Q_A(t)')
+xlabel('Time (s)')
+ylabel('Q_A')
+
+% Q_L(t)
+subplot(3,2,3)
+plot(t, y(:,2))
+title('Q_L(t)')
+xlabel('Time (s)')
+ylabel('Q_L')
+
+% Q_M(t)
+subplot(3,2,4)
+plot(t, y(:,3))
+title('Q_M(t)')
+xlabel('Time (s)')
+ylabel('Q_M')
+
+% Q_C(t)
+subplot(3,2,5)
+plot(t, y(:,4))
+title('Q_C(t)')
+xlabel('Time (s)')
+ylabel('Q_C')
+
+% Q_I(t)
+subplot(3,2,6)
+plot(t, y(:,5))
+title('Q_I(t)')
+xlabel('Time (s)')
+ylabel('Q_I')
+
+sgtitle('Simulation Results')
+
+% ODE
+function dydt = odefun(t, y, Q_inhale, k_exhale, k_perm, k_adh, k_diffMC, k_diffLC, k_dist,
+k_excrete, k_move)
+V_inhale = Q_inhale / 5 * (heaviside(t) - heaviside(t-5));
+dydt = zeros(5,1);
+dydt(1) = V_inhale - (k_exhale + k_perm) * y(1); % dQ_A/dt
+dydt(2) = k_perm * y(1) - k_diffLC * y(2); % dQ_L/dt
+dydt(3) = 0.0005 * k_adh * V_inhale - k_diffMC * y(3); % dQ_M/dt
+dydt(4) = k_diffMC * y(3) + k_diffLC * y(2) - k_dist * y(4) - k_excrete * y(4); % dQ_C/dt
+dydt(5) = k_dist * y(4) - k_move * y(5); % dQ_I/dt
+end</div>
                 <script>
                     function toggleCodeSnippet1() {
                         var codeSnippet = document.getElementById("codeSnippet1");
@@ -514,22 +512,21 @@
                             <button id="Button2" onclick="toggleCodeSnippet2()">DNA sequence of Or5an6</button>
 
                             <div id="codeSnippet2" class="code-snippet">
-                                &gt;NC_000085.7:12371629-12372576 Mus musculus strain C57BL/6J chromosome 19, GRCm39
-                                ATGCCTGGAGGGAGGAATAGCACAGTCATCACCAAGTTCATCCTTGTGGGATTCTCAGATTTTCCAAAGC
-                                TCAAGCTGGTTCTCTTTGTTATCTTCCTGGGAAGTTATCTCTCCACAGTGGTGTGGAACTTGGGCCTCAT
-                                CATCTTGATTAGGATTGACCCTTACCTACACACACCTATGTACTTCTTCCTCAGCAATTTGTCATTTTTA
-                                GATTTCTGTTACATTTCATCTACAACCCCTAAAATGCTCTCGGGATTCTTCCAGAAGTCTAAATCTATCT
-                                CCTTTGTTGGGTGCACCATGCAGTACTTCATCTTCTCAAGCCTGGGTCTGTCCGAATGCTGCCTTCTGGC
-                                AGCCATGGCTTATGACCGGTATGCTGCCATTTGTAATCCTCTTCTCTACACAGCCATCATGTCCCCGTCA
-                                CTCTGTGTGCACATGGTGGTTGGAGCCTATAGTACTGGTCTCTTGGGTTCATTGATTCAACTGTGTGCTA
-                                TACTTCAGCTCCATTTCTGTGGGCCAAATATTATAAACCATTTCTTTTGTGACCTGCCTCAGCTATTAGT
-                                TCTTTCCTGCTCTGAAACCTTTCCCCTGCAAGTCTTGAAATTTGTAATAGCAGTGATTTTTGGGGTGGCA
-                                TCTGTCATTGTTATCCTGATATCCTATGGTTATATCATTGGCACAATCCTGAATATCAGCTCAGTAGAAG
-                                GTAGGTCCAAGGCATTCAATACCTGTGCCTCTCACCTGACAGCAGTCACCCTCTTTTTTGGATCAGGACT
-                                CTTTGTCTATATGCGCCCCAGCTCCAACAGTTCCCAGGGTTATGACAAGATGGCTTCCGTGTTCTATACA
-                                GTGGTGATTCCCATGTTGAATCCTCTGATTTATAGTCTCAGGAACAAGGAAATAAAAGATGCTCTTCAGA
-                                GATGTAAAAATAAGTGCTTTTCTCAGTGCCACTGTTAG
-                            </div>
+&gt;NC_000085.7:12371629-12372576 Mus musculus strain C57BL/6J chromosome 19, GRCm39
+ATGCCTGGAGGGAGGAATAGCACAGTCATCACCAAGTTCATCCTTGTGGGATTCTCAGATTTTCCAAAGC
+TCAAGCTGGTTCTCTTTGTTATCTTCCTGGGAAGTTATCTCTCCACAGTGGTGTGGAACTTGGGCCTCAT
+CATCTTGATTAGGATTGACCCTTACCTACACACACCTATGTACTTCTTCCTCAGCAATTTGTCATTTTTA
+GATTTCTGTTACATTTCATCTACAACCCCTAAAATGCTCTCGGGATTCTTCCAGAAGTCTAAATCTATCT
+CCTTTGTTGGGTGCACCATGCAGTACTTCATCTTCTCAAGCCTGGGTCTGTCCGAATGCTGCCTTCTGGC
+AGCCATGGCTTATGACCGGTATGCTGCCATTTGTAATCCTCTTCTCTACACAGCCATCATGTCCCCGTCA
+CTCTGTGTGCACATGGTGGTTGGAGCCTATAGTACTGGTCTCTTGGGTTCATTGATTCAACTGTGTGCTA
+TACTTCAGCTCCATTTCTGTGGGCCAAATATTATAAACCATTTCTTTTGTGACCTGCCTCAGCTATTAGT
+TCTTTCCTGCTCTGAAACCTTTCCCCTGCAAGTCTTGAAATTTGTAATAGCAGTGATTTTTGGGGTGGCA
+TCTGTCATTGTTATCCTGATATCCTATGGTTATATCATTGGCACAATCCTGAATATCAGCTCAGTAGAAG
+GTAGGTCCAAGGCATTCAATACCTGTGCCTCTCACCTGACAGCAGTCACCCTCTTTTTTGGATCAGGACT
+CTTTGTCTATATGCGCCCCAGCTCCAACAGTTCCCAGGGTTATGACAAGATGGCTTCCGTGTTCTATACA
+GTGGTGATTCCCATGTTGAATCCTCTGATTTATAGTCTCAGGAACAAGGAAATAAAAGATGCTCTTCAGA
+GATGTAAAAATAAGTGCTTTTCTCAGTGCCACTGTTAG</div>
                             <script>
                                 function toggleCodeSnippet2() {
                                     var codeSnippet = document.getElementById("codeSnippet2");
@@ -548,15 +545,14 @@
                             <button id="Button3" onclick="toggleCodeSnippet3()">Protein sequence of Or5an6</button>
 
                             <div id="codeSnippet3" class="code-snippet">
-                                &gt;sp|Q8VFV4|O5AN6_MOUSE Olfactory receptor 5AN6 OS=Mus musculus OX=10090 GN=Or5an6
-                                PE=2 SV=1
-                                MPGGRNSTVITKFILVGFSDFPKLKLVLFVIFLGSYLSTVVWNLGLIILIRIDPYLHTPM
-                                YFFLSNLSFLDFCYISSTTPKMLSGFFQKSKSISFVGCTMQYFIFSSLGLSECCLLAAMA
-                                YDRYAAICNPLLYTAIMSPSLCVHMVVGAYSTGLLGSLIQLCAILQLHFCGPNIINHFFC
-                                DLPQLLVLSCSETFPLQVLKFVIAVIFGVASVIVILISYGYIIGTILNISSVEGRSKAFN
-                                TCASHLTAVTLFFGSGLFVYMRPSSNSSQGYDKMASVFYTVVIPMLNPLIYSLRNKEIKD
-                                ALQRCKNKCFSQCHC
-                            </div>
+&gt;sp|Q8VFV4|O5AN6_MOUSE Olfactory receptor 5AN6 OS=Mus musculus OX=10090 GN=Or5an6
+PE=2 SV=1
+MPGGRNSTVITKFILVGFSDFPKLKLVLFVIFLGSYLSTVVWNLGLIILIRIDPYLHTPM
+YFFLSNLSFLDFCYISSTTPKMLSGFFQKSKSISFVGCTMQYFIFSSLGLSECCLLAAMA
+YDRYAAICNPLLYTAIMSPSLCVHMVVGAYSTGLLGSLIQLCAILQLHFCGPNIINHFFC
+DLPQLLVLSCSETFPLQVLKFVIAVIFGVASVIVILISYGYIIGTILNISSVEGRSKAFN
+TCASHLTAVTLFFGSGLFVYMRPSSNSSQGYDKMASVFYTVVIPMLNPLIYSLRNKEIKD
+ALQRCKNKCFSQCHC</div>
                             <script>
                                 function toggleCodeSnippet3() {
                                     var codeSnippet = document.getElementById("codeSnippet3");
@@ -607,18 +603,16 @@
                                 (<code>size_x, size_y, size_z</code>).
                                 <button id="Button4" onclick="toggleCodeSnippet4()">config.txt</button>
 
-                                <div id="codeSnippet4" class="code-snippet">
-                                    receptor = MOR215_1.pdbqt
-                                    ligand = muscone.pdbqt
-                                    center_x = -0.112
-                                    center_y = -0.219
-                                    center_z = -2.092
-                                    size_x = 40
-                                    size_y = 40
-                                    size_z = 40
-                                    exhaustiveness= 8
-                                    out=muscure.pdbqt
-                                </div>
+                                <div id="codeSnippet4" class="code-snippet">receptor = MOR215_1.pdbqt
+ligand = muscone.pdbqt
+center_x = -0.112
+center_y = -0.219
+center_z = -2.092
+size_x = 40
+size_y = 40
+size_z = 40
+exhaustiveness= 8
+out=muscure.pdbqt</div>
                                 <script>
                                     function toggleCodeSnippet4() {
                                         var codeSnippet = document.getElementById("codeSnippet4");
@@ -724,15 +718,15 @@
                     <li>Solvate the system in solvent (such as water). From <code>topol.top</code>, it is known that the
                         net charge is 9; add counterions to neutralize the system.</li>
                     <pre><code>gmx editconf -f complex.gro -o newbox.gro -bt dodecahedron -d 1.0
-                gmx solvate -cp newbox.gro -cs spc216.gro -p topol.top -o solv.gro
-                gmx grompp -f ions.mdp -c solv.gro -p topol.top -o ions.tpr
-                gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -pname NA -nname CL -neutral</code></pre>
+gmx solvate -cp newbox.gro -cs spc216.gro -p topol.top -o solv.gro
+gmx grompp -f ions.mdp -c solv.gro -p topol.top -o ions.tpr
+gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -pname NA -nname CL -neutral</code></pre>
                     <pre><code>[ molecules ]
-                ; Compound        #mols
-                Protein_chain_A     1
-                MUS                 1
-                SOL         31227
-                CL               9</code></pre>
+; Compound        #mols
+Protein_chain_A     1
+MUS                 1
+SOL         31227
+CL               9</code></pre>
                 </ul>
 
                 <h4>3. Energy minimization:</h4>
@@ -743,17 +737,17 @@
                         energy minimization results to ensure both the maximum force and potential energy are within
                         reasonable thresholds.</li>
                     <pre><code>gmx grompp -f em.mdp -c solv_ions.gro -p topol.top -o em.tpr
-                gmx mdrun -v -deffnm em
-                
-                Steepest Descents converged to Fmax &lt; 1000 in 1182 steps
-                Potential Energy  = -1.5345670e+06
-                Maximum force     =  8.9675085e+02 on atom 4987
-                Norm of force     =  1.3456365e+01</code></pre>
+gmx mdrun -v -deffnm em
+
+Steepest Descents converged to Fmax &lt; 1000 in 1182 steps
+Potential Energy  = -1.5345670e+06
+Maximum force     =  8.9675085e+02 on atom 4987
+Norm of force     =  1.3456365e+01</code></pre>
 
                     <pre><code>gmx energy -f em.edr -o potential.xvg
-                #11 0
-                xmgrace potential.xvg
-                dit xvg_show -f potential.xvg</code></pre>
+#11 0
+xmgrace potential.xvg
+dit xvg_show -f potential.xvg</code></pre>
                     <div class="image-container">
                         <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/potential.png" alt="potential"
                             class="shadowed-image" style="width: 80%; max-width: 800px;">
@@ -772,22 +766,20 @@
                 </ul>
 
                 <pre><code>gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -n index.ndx -o nvt.tpr
-                gmx mdrun -deffnm nvt
-                gmx energy -f nvt.edr -o temperature.xvg
-                #16 0
-                dit xvg_show -f temperature.xvg
-                </code></pre>
+gmx mdrun -deffnm nvt
+gmx energy -f nvt.edr -o temperature.xvg
+#16 0
+dit xvg_show -f temperature.xvg</code></pre>
                 <img src="2.temperature.png" alt="">
                 <img src="temperature.png" alt="">
 
                 <pre><code>gmx grompp -f npt.mdp -c nvt.gro -t nvt.cpt -r nvt.gro -p topol.top -n index.ndx -o npt.tpr -maxwarn 1
-                gmx mdrun -deffnm npt
-                gmx energy -f npt.edr -o pressure.xvg
-                #17 0
-                gmx energy -f npt.edr -o density.xvg
-                #23 0
-                dit xvg_show -f temperature.xvg
-                </code></pre>
+gmx mdrun -deffnm npt
+gmx energy -f npt.edr -o pressure.xvg
+#17 0
+gmx energy -f npt.edr -o density.xvg
+#23 0
+dit xvg_show -f temperature.xvg</code></pre>
                 <div class="image-container">
                     <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/pressure.png" alt="pressure"
                         class="shadowed-image" style="width: 80%; max-width: 800px;">
@@ -851,10 +843,9 @@
                 </ul>
 
                 <pre><code>gmx trjconv -s md_0_10.tpr -f md_0_10.xtc -o md_0_10_center.xtc -center -pbc mol -ur compact
-                #1 0
-                gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o start.pdb -dump 0
-                #0
-                </code></pre>
+#1 0
+gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o start.pdb -dump 0
+#0</code></pre>
 
                 <ul>
                     <li>In PyMOL, key interactions of the protein-ligand system can be visualized through selection and
@@ -863,14 +854,13 @@
                 </ul>
 
                 <pre><code># Pymol
-                select water, resn SOL
-                select ions, resn CL
-                select protein, not water and not ions
-                select ligand, resn MUS
-                deselect
-                cmd.rotate('x', 45)
-                cmd.rotate('y', 45)
-                </code></pre>
+select water, resn SOL
+select ions, resn CL
+select protein, not water and not ions
+select ligand, resn MUS
+deselect
+cmd.rotate('x', 45)
+cmd.rotate('y', 45)</code></pre>
                 <div class="image-container">
                     <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/start.png" alt="start.pdb"
                         class="shadowed-image" style="width: 100%; max-width: 1000px;">
@@ -883,10 +873,9 @@
                 </ul>
 
                 <pre><code>gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o md_0_10_fit.xtc -fit rot+trans
-                #4 0
-                gmx trjconv -s md_0_10.tpr -f md_0_10_fit.xtc -o traj.pdb -dt 10
-                #0
-                </code></pre>
+#4 0
+gmx trjconv -s md_0_10.tpr -f md_0_10_fit.xtc -o traj.pdb -dt 10
+#0</code></pre>
 
                 <div class="image-container">
                     <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/muscure.gif" alt="Trajectory Analysis"
@@ -903,23 +892,22 @@
                 </ul>
 
                 <pre><code>gmx distance -s md_0_10.tpr -f md_0_10_center.xtc -select 'resname "MUS" and name O plus resid 51 and name NH1' -oall
-                gmx make_ndx -f em.gro -o index.ndx
-                > 13 & a O  
-                > 1 & r 51 & a NH1
-                > 1 & r 51 & a CZ
-                > 20 | 21 | 22
-                > q
-                gmx angle -f md_0_10_center.xtc -n index.ndx -ov angle.xvg 
-                gmx make_ndx -f em.gro -n index.ndx
-                > 13 & ! a H*
-                > name MUS_Heavy
-                > q
-                gmx rms -s em.tpr -f md_0_10_center.xtc -n index.ndx -tu ns -o rmsd_mus.xvg
-                
-                xmgrace rmsd_mus.xvg
-                dit xvg_show -f rmsd_mus.xvg
-                xmgrace rmsd_mus.xvg
-                </code></pre>
+gmx make_ndx -f em.gro -o index.ndx
+> 13 & a O  
+> 1 & r 51 & a NH1
+> 1 & r 51 & a CZ
+> 20 | 21 | 22
+> q
+gmx angle -f md_0_10_center.xtc -n index.ndx -ov angle.xvg 
+gmx make_ndx -f em.gro -n index.ndx
+> 13 & ! a H*
+> name MUS_Heavy
+> q
+gmx rms -s em.tpr -f md_0_10_center.xtc -n index.ndx -tu ns -o rmsd_mus.xvg
+
+xmgrace rmsd_mus.xvg
+dit xvg_show -f rmsd_mus.xvg
+xmgrace rmsd_mus.xvg</code></pre>
 
                 <ul>
                     <li>From the RMSD curve, it can be observed that the system stabilizes after approximately 1
@@ -944,9 +932,8 @@
                 </ul>
 
                 <pre><code>gmx gyrate -s md_0_10.tpr -f md_0_10_fit.xtc -o gyrate.xvg
-                #1
-                xmgrace gyrate.xvg 
-                </code></pre>
+#1
+xmgrace gyrate.xvg</code></pre>
 
                 <ul>
                     <li>In the simulation, the Rg value of the protein remained between 2.2 and 2.25 nanometers,
@@ -968,21 +955,20 @@
                 </ul>
 
                 <pre><code>gmx make_ndx -f em.gro -o index.ndx
-                > 1 | 13
-                gmx grompp -f ie.mdp -c npt.gro -t npt.cpt -p topol.top -n index.ndx -o ie.tpr
-                gmx mdrun -deffnm ie -rerun md_0_10.xtc -nb cpu
-                
-                gmx energy -f ie.edr -o interaction_energy.xvg
-                
-                Energy                      Average   Err.Est.       RMSD  Tot-Drift
-                -------------------------------------------------------------------------------
-                Coul-SR:Protein-MUS       0.0439222       0.38    2.88794    1.41131  (kJ/mol)
-                LJ-SR:Protein-MUS          -81.3724        1.6    9.75743    1.99715  (kJ/mol)
-                #21 | 22
-                
-                xmgrace interaction_energy.xvg
-                dit xvg_show -f interaction_energy.xvg
-                </code></pre>
+> 1 | 13
+gmx grompp -f ie.mdp -c npt.gro -t npt.cpt -p topol.top -n index.ndx -o ie.tpr
+gmx mdrun -deffnm ie -rerun md_0_10.xtc -nb cpu
+
+gmx energy -f ie.edr -o interaction_energy.xvg
+
+Energy                      Average   Err.Est.       RMSD  Tot-Drift
+-------------------------------------------------------------------------------
+Coul-SR:Protein-MUS       0.0439222       0.38    2.88794    1.41131  (kJ/mol)
+LJ-SR:Protein-MUS          -81.3724        1.6    9.75743    1.99715  (kJ/mol)
+#21 | 22
+
+xmgrace interaction_energy.xvg
+dit xvg_show -f interaction_energy.xvg</code></pre>
                 <div class="image-container">
                     <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/energy.png"
                         alt="Interaction Energy Plot" class="shadowed-image" style="width: 80%; max-width: 800px;">
@@ -1213,58 +1199,56 @@
                 <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 19 Receptor Activation</p>
                 <button id="Button5" onclick="toggleCodeSnippet5()">receptor.m</button>
 
-                <div id="codeSnippet5" class="code-snippet">
-                    % parameter setting
-                    kon_PS = 0.185;
-                    koff_PS = 1e-3;
-                    kon_SG = 0.1;
-                    koff_GS = 0.1;
-                    koff_SG = 0.1;
-                    kon_GS = 0.01;
-
-                    % initial value setting
-                    Pheromone = 0.3;
-                    Ste2 = 0.287;
-                    Pheromone_Ste2 = 0.0;
-                    Gpa1_Ste4Ste18 = 1.0;
-                    Pheromone_Ste2_Gpa1_Ste4Ste18 = 0.0;
-                    Pheromone_Ste2_Gpa1 = 0.0;
-                    Ste4Ste18 = 2e-4;
-                    Gpa1 = 2e-4;
-
-                    % time setting
-                    tspan = [0 500];
-
-                    % Define the systems of ordinary differential equations
-                    odefun = @(t, y) [ koff_PS*y(3)-kon_PS*y(1)*y(2);
-                    koff_PS*y(3)-kon_PS*y(1)*y(2);
-                    kon_PS*y(1)*y(2)+koff_SG*y(6)-koff_PS*y(3)-kon_SG*y(3)*y(4);
-                    kon_GS*y(7)*y(8)-kon_SG*y(3)*y(4);
-                    kon_SG*y(3)*y(4)-koff_GS*y(5);
-                    koff_GS*y(5)-koff_SG*y(6);
-                    koff_GS*y(5)-kon_GS*y(7)*y(8);
-                    koff_SG*y(6)-kon_GS*y(7)*y(8);
-                    ];
-                    % Find the numerical solution of the system of ordinary differential equations
-                    [t, Y] = ode45(odefun, tspan,
-                    [Pheromone,Ste2,Pheromone_Ste2,Gpa1_Ste4Ste18,Pheromone_Ste2_Gpa1_Ste4Ste18,Pheromone_Ste2_Gpa1,Ste4Ste18,Gpa1,]);
-
-                    % plot the results
-                    figure;
-                    plot(t, Y(:,1), 'DisplayName', 'Pheromone', 'LineWidth', 2); hold on;
-                    plot(t, Y(:,2), 'DisplayName', 'Ste2', 'LineWidth', 2);
-                    plot(t, Y(:,3), 'DisplayName', 'PS', 'LineWidth', 2);
-                    plot(t, Y(:,4), 'DisplayName', 'GS', 'LineWidth', 2);
-                    plot(t, Y(:,5), 'DisplayName', 'PSGS', 'LineWidth', 2);
-                    plot(t, Y(:,6), 'DisplayName', 'PSG', 'LineWidth', 2);
-                    plot(t, Y(:,7), 'DisplayName', 'Ste4Ste18', 'LineWidth', 2);
-                    plot(t, Y(:,8), 'DisplayName', 'Gpa1', 'LineWidth', 2);
-                    xlabel('Time');
-                    ylabel('Concentration');
-                    title('Dynamics of Variables Over Time');
-                    legend('show');
-                    grid on;
-                </div>
+                <div id="codeSnippet5" class="code-snippet">% parameter setting
+kon_PS = 0.185;
+koff_PS = 1e-3;
+kon_SG = 0.1;
+koff_GS = 0.1;
+koff_SG = 0.1;
+kon_GS = 0.01;
+
+% initial value setting
+Pheromone = 0.3;
+Ste2 = 0.287;
+Pheromone_Ste2 = 0.0;
+Gpa1_Ste4Ste18 = 1.0;
+Pheromone_Ste2_Gpa1_Ste4Ste18 = 0.0;
+Pheromone_Ste2_Gpa1 = 0.0;
+Ste4Ste18 = 2e-4;
+Gpa1 = 2e-4;
+
+% time setting
+tspan = [0 500];
+
+% Define the systems of ordinary differential equations
+odefun = @(t, y) [ koff_PS*y(3)-kon_PS*y(1)*y(2);
+koff_PS*y(3)-kon_PS*y(1)*y(2);
+kon_PS*y(1)*y(2)+koff_SG*y(6)-koff_PS*y(3)-kon_SG*y(3)*y(4);
+kon_GS*y(7)*y(8)-kon_SG*y(3)*y(4);
+kon_SG*y(3)*y(4)-koff_GS*y(5);
+koff_GS*y(5)-koff_SG*y(6);
+koff_GS*y(5)-kon_GS*y(7)*y(8);
+koff_SG*y(6)-kon_GS*y(7)*y(8);
+];
+% Find the numerical solution of the system of ordinary differential equations
+[t, Y] = ode45(odefun, tspan,
+[Pheromone,Ste2,Pheromone_Ste2,Gpa1_Ste4Ste18,Pheromone_Ste2_Gpa1_Ste4Ste18,Pheromone_Ste2_Gpa1,Ste4Ste18,Gpa1,]);
+
+% plot the results
+figure;
+plot(t, Y(:,1), 'DisplayName', 'Pheromone', 'LineWidth', 2); hold on;
+plot(t, Y(:,2), 'DisplayName', 'Ste2', 'LineWidth', 2);
+plot(t, Y(:,3), 'DisplayName', 'PS', 'LineWidth', 2);
+plot(t, Y(:,4), 'DisplayName', 'GS', 'LineWidth', 2);
+plot(t, Y(:,5), 'DisplayName', 'PSGS', 'LineWidth', 2);
+plot(t, Y(:,6), 'DisplayName', 'PSG', 'LineWidth', 2);
+plot(t, Y(:,7), 'DisplayName', 'Ste4Ste18', 'LineWidth', 2);
+plot(t, Y(:,8), 'DisplayName', 'Gpa1', 'LineWidth', 2);
+xlabel('Time');
+ylabel('Concentration');
+title('Dynamics of Variables Over Time');
+legend('show');
+grid on;</div>
                 <script>
                     function toggleCodeSnippet5() {
                         var codeSnippet = document.getElementById("codeSnippet5");
@@ -1433,60 +1417,58 @@
                 <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 20 Scaffold Formation</p>
                 <button id="Button6" onclick="toggleCodeSnippet6()">scaffold.m</button>
 
-                <div id="codeSnippet6" class="code-snippet">
-                    % parameter setting
-                    kon_S5S5 = 0.1;
-                    koff_S5S5 = 0.01;
-                    kon_S4S5_S5 = 0.05;
-                    koff_S4S5_S5 = 0.01;
-                    kon_S4S5_S5S4 = 0.03;
-                    koff_S4S5_S5S4 = 0.01;
-                    kon_S4S5 = 0.2;
-                    koff_S4S5 = 0.1;
-                    kon_S4_S5S5 = 0.1;
-                    koff_S4_S5S5 = 0.05;
-                    kon_S4_S5S5S4 = 0.05;
-                    koff_S4_S5S5S4 = 0.02;
-
-                    % initial value setting
-                    Ste5 = 1.0;
-                    Ste5_Ste5 = 0.0;
-                    Ste4Ste18_Ste5 = 0.0;
-                    Ste4Ste18_Ste5_Ste5 = 0.0;
-                    Ste4Ste18_Ste5_Ste5_Ste4Ste18 = 0.0;
-                    Ste4Ste18 = 1.0;
-
-                    % time setting
-                    tspan = [0 100];
-
-                    % Define the systems of ordinary differential equations
-                    odefun = @(t, y) [
-                    -2*kon_S5S5*y(1)^2+2*koff_S5S5*y(2)-kon_S4S5*y(1)*y(6)+koff_S4S5*y(3)-kon_S4S5_S5*y(1)*y(3)+koff_S4S5_S5*y(4);
-                    kon_S5S5*y(1)^2-koff_S5S5*y(2)-kon_S4_S5S5*y(2)*y(6)+koff_S4_S5S5*y(4);
-                    kon_S4S5*y(1)*y(6)-koff_S4S5*y(3)-kon_S4S5_S5*y(1)*y(3)+koff_S4S5_S5*y(4)-2*kon_S4S5_S5S4*y(3)^2+2*koff_S4S5_S5S4*y(5);
-                    kon_S4_S5S5*y(2)*y(6)-koff_S4_S5S5*y(4)+kon_S4S5_S5*y(1)*y(3)-koff_S4S5_S5*y(4)-kon_S4_S5S5S4*y(4)*y(6)+koff_S4_S5S5S4*y(5);
-                    kon_S4_S5S5S4*y(4)*y(6)-koff_S4_S5S5S4*y(5)+kon_S4S5_S5S4*y(3)^2-koff_S4S5_S5S4*y(5);
-                    -kon_S4S5*y(1)*y(6)+koff_S4S5*y(3)-kon_S4_S5S5*y(2)*y(6)+koff_S4_S5S5*y(4)-kon_S4_S5S5S4*y(4)*y(6)+koff_S4_S5S5S4*y(5);
-                    ];
-
-                    % Find the numerical solution of the system of ordinary differential equations
-                    [t, Y] = ode45(odefun, tspan, [Ste5, Ste5_Ste5, Ste4Ste18_Ste5, Ste4Ste18_Ste5_Ste5,
-                    Ste4Ste18_Ste5_Ste5_Ste4Ste18, Ste4Ste18]);
-
-                    % plot the results
-                    figure;
-                    plot(t, Y(:,1), 'DisplayName', 'Ste5', 'LineWidth', 2); hold on;
-                    plot(t, Y(:,2), 'DisplayName', 'Ste5Ste5', 'LineWidth', 2);
-                    plot(t, Y(:,3), 'DisplayName', 'Ste4Ste18Ste5', 'LineWidth', 2);
-                    plot(t, Y(:,4), 'DisplayName', 'Ste4Ste18Ste5Ste5', 'LineWidth', 2);
-                    plot(t, Y(:,5), 'DisplayName', 'Ste4Ste18Ste5Ste5Ste4Ste18', 'LineWidth', 2);
-                    plot(t, Y(:,6), 'DisplayName', 'Ste4Ste18', 'LineWidth', 2);
-                    xlabel('Time');
-                    ylabel('Concentration');
-                    title('Dynamics of Variables Over Time');
-                    legend('show');
-                    grid on
-                </div>
+                <div id="codeSnippet6" class="code-snippet">% parameter setting
+kon_S5S5 = 0.1;
+koff_S5S5 = 0.01;
+kon_S4S5_S5 = 0.05;
+koff_S4S5_S5 = 0.01;
+kon_S4S5_S5S4 = 0.03;
+koff_S4S5_S5S4 = 0.01;
+kon_S4S5 = 0.2;
+koff_S4S5 = 0.1;
+kon_S4_S5S5 = 0.1;
+koff_S4_S5S5 = 0.05;
+kon_S4_S5S5S4 = 0.05;
+koff_S4_S5S5S4 = 0.02;
+
+% initial value setting
+Ste5 = 1.0;
+Ste5_Ste5 = 0.0;
+Ste4Ste18_Ste5 = 0.0;
+Ste4Ste18_Ste5_Ste5 = 0.0;
+Ste4Ste18_Ste5_Ste5_Ste4Ste18 = 0.0;
+Ste4Ste18 = 1.0;
+
+% time setting
+tspan = [0 100];
+
+% Define the systems of ordinary differential equations
+odefun = @(t, y) [
+-2*kon_S5S5*y(1)^2+2*koff_S5S5*y(2)-kon_S4S5*y(1)*y(6)+koff_S4S5*y(3)-kon_S4S5_S5*y(1)*y(3)+koff_S4S5_S5*y(4);
+kon_S5S5*y(1)^2-koff_S5S5*y(2)-kon_S4_S5S5*y(2)*y(6)+koff_S4_S5S5*y(4);
+kon_S4S5*y(1)*y(6)-koff_S4S5*y(3)-kon_S4S5_S5*y(1)*y(3)+koff_S4S5_S5*y(4)-2*kon_S4S5_S5S4*y(3)^2+2*koff_S4S5_S5S4*y(5);
+kon_S4_S5S5*y(2)*y(6)-koff_S4_S5S5*y(4)+kon_S4S5_S5*y(1)*y(3)-koff_S4S5_S5*y(4)-kon_S4_S5S5S4*y(4)*y(6)+koff_S4_S5S5S4*y(5);
+kon_S4_S5S5S4*y(4)*y(6)-koff_S4_S5S5S4*y(5)+kon_S4S5_S5S4*y(3)^2-koff_S4S5_S5S4*y(5);
+-kon_S4S5*y(1)*y(6)+koff_S4S5*y(3)-kon_S4_S5S5*y(2)*y(6)+koff_S4_S5S5*y(4)-kon_S4_S5S5S4*y(4)*y(6)+koff_S4_S5S5S4*y(5);
+];
+
+% Find the numerical solution of the system of ordinary differential equations
+[t, Y] = ode45(odefun, tspan, [Ste5, Ste5_Ste5, Ste4Ste18_Ste5, Ste4Ste18_Ste5_Ste5,
+Ste4Ste18_Ste5_Ste5_Ste4Ste18, Ste4Ste18]);
+
+% plot the results
+figure;
+plot(t, Y(:,1), 'DisplayName', 'Ste5', 'LineWidth', 2); hold on;
+plot(t, Y(:,2), 'DisplayName', 'Ste5Ste5', 'LineWidth', 2);
+plot(t, Y(:,3), 'DisplayName', 'Ste4Ste18Ste5', 'LineWidth', 2);
+plot(t, Y(:,4), 'DisplayName', 'Ste4Ste18Ste5Ste5', 'LineWidth', 2);
+plot(t, Y(:,5), 'DisplayName', 'Ste4Ste18Ste5Ste5Ste4Ste18', 'LineWidth', 2);
+plot(t, Y(:,6), 'DisplayName', 'Ste4Ste18', 'LineWidth', 2);
+xlabel('Time');
+ylabel('Concentration');
+title('Dynamics of Variables Over Time');
+legend('show');
+grid on</div>
                 <script>
                     function toggleCodeSnippet6() {
                         var codeSnippet = document.getElementById("codeSnippet6");
@@ -1669,9 +1651,194 @@
                 <p>The concentrations of the three kinases are known, assuming their initial state has not undergone
                     phosphorylation. Some enzyme activity parameters are known, and other parameters are roughly
                     estimated to the same order of magnitude.</p>
-
-                <p>TODO: Insert result figure</p>
-
+                <div class="image-container">
+                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/3-3.png"
+                        alt="Combination of kinases and scaffold" class="shadowed-image"
+                        style="width: 80%; max-width: 800px;">
+                </div>
+                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 21 Combination of kinases and
+                    scaffold</p>
+                <div class="image-container">
+                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/3-4.png" alt="Ste11 phosphorylation"
+                        class="shadowed-image" style="width: 80%; max-width: 800px;">
+                </div>
+                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 22 Ste11 phosphorylation</p>
+                <div class="image-container">
+                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/3-5.png" alt="Ste11 phosphorylation"
+                        class="shadowed-image" style="width: 80%; max-width: 800px;">
+                </div>
+                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 23 Ste7 phosphorylation</p>
+                <div class="image-container">
+                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/3-6.png" alt="Fus3 phosphorylation"
+                        class="shadowed-image" style="width: 80%; max-width: 800px;">
+                </div>
+                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 24 Fus3 phosphorylation</p>
+                <button id="Button7" onclick="toggleCodeSnippet7()">cascade.m</button>
+
+                <div id="codeSnippet7" class="code-snippet">% initial value setting
+scaffold_Ste5 = 0.5;
+Ste5_off_Ste11 = scaffold_Ste5;
+Ste11_off = 0.2;
+Ste5_Ste11 = 0.0;
+Ste5_off_Ste7 = scaffold_Ste5;
+Ste7_off = 0.05;
+Ste5_Ste7 = 0.0;
+Ste5_off_Fus3 = scaffold_Ste5;
+Fus3_off = 0.088;
+Ste5_Fus3 = 0.0;
+Ste11 = Ste11_off;
+Ste11_pS = 0;
+Ste11_pSpS = 0;
+Ste11_pSpSpT = 0;
+Ste7 = Ste7_off;
+Ste7_pS = 0;
+Ste7_pSpT = 0;
+Fus3 = Fus3_off;
+Fus3_pY = 0;
+Fus3_pT = 0;
+Fus3_pYpT = 0;
+
+% parameter setting
+kon_Ste5_Ste11 = 0.1; % Ste5_off_Ste11 + Ste11_off -> Ste5_Ste11
+koff_Ste5_Ste11 = 0.2; % Ste5_Ste11 -> Ste5_off_Ste11 + Ste11_off
+kon_Ste5_Ste7 = 0.3; % Ste5_off_Ste7 + Ste7_off -> Ste5_Ste7
+koff_Ste5_Ste7 = 0.4; % Ste5_Ste7 -> Ste5_off_Ste7 + Ste7_off
+kon_Ste5_Fus3 = 0.5; % Ste5_off_Fus3 + Fus3_off -> Ste5_Fus3
+koff_Ste5_Fus3 = 0.6; % Ste5_Fus3 -> Ste5_off_Fus3 + Fus3_off
+kcat_Ste20Ste11_pS = 1.8438; % Ste11 -> Ste11_pS
+kcat_Ste20Ste11pS_pS = 1.8438; % Ste11_pS -> Ste11_pSpS
+kcat_Ste20Ste11pSpS_pT = 1.8438; % Ste11_pSpS -> Ste11_pSpSpT
+kcat_Ste11pSSte7_pS = 1; % Ste11_pS + Ste7 -> Ste7_pS
+kcat_Ste11pSSte7pS_pT = 0.5; % Ste11_pS + Ste7_pS -> Ste7_pSpT
+kcat_Ste11pSpSSte7_pS = 2; % Ste11_pSpS + Ste7 -> Ste7_pS
+kcat_Ste11pSpSSte7pS_pT = 1.5; % Ste11_pSpS + Ste7_pS -> Ste7_pSpT
+kcat_Ste11pSpSpTSte7_pS = 3; % Ste11_pSpSpT + Ste7 -> Ste7_pS
+kcat_Ste11pSpSpTSte7pS_pT = 2.5; % Ste11_pSpSpT + Ste7_pS -> Ste7_pSpT
+kcat_Ste5Ste7pSFus3_pY = 2.6079; % Ste7_pS + Fus3 -> Fus3_pY
+kcat_Ste5Ste7pSFus3_pT = 2.6079; % Ste7_pS + Fus3 -> Fus3_pT
+kcat_Ste5Ste7pSFus3pY_pT = 2.6079; % Ste7_pS + Fus3_pY -> Fus3_pYpT
+kcat_Ste5Ste7pSFus3pT_pY = 2.6079; % Ste7_pS + Fus3_pT -> Fus3_pYpT
+kcat_Ste5Ste7pSpTFus3_pY = 0.86812; % Ste7_pSpT + Fus3 -> Fus3_pY
+kcat_Ste5Ste7pSpTFus3_pT = 6.7879; % Ste7_pSpT + Fus3 -> Fus3_pT
+kcat_Ste5Ste7pSpTFus3pY_pT = 3.5252; % Ste7_pSpT + Fus3_pY -> Fus3_pYpT
+kcat_Ste5Ste7pSpTFus3pT_pY = 1.5; % Ste7_pSpT + Fus3_pT -> Fus3_pYpT
+kcat_dephosph = 0.1;
+
+
+% time setting
+tspan = [0 40];
+
+% Define the systems of ordinary differential equations
+odefun = @(t, y) [
+koff_Ste5_Ste11*y(3)-kon_Ste5_Ste11*y(1)*y(2); % Ste5_off_Ste11 y(1)
+koff_Ste5_Ste11*y(3)-kon_Ste5_Ste11*y(1)*y(2); % Ste11_off y(2)
+-koff_Ste5_Ste11*y(3)+kon_Ste5_Ste11*y(1)*y(2); % Ste5_Ste11 y(3)
+koff_Ste5_Ste7*y(6)-kon_Ste5_Ste7*y(4)*y(5); % Ste5_off_Ste7 y(4)
+koff_Ste5_Ste7*y(6)-kon_Ste5_Ste7*y(4)*y(5); % Ste7_off y(5)
+-koff_Ste5_Ste7*y(6)+kon_Ste5_Ste7*y(4)*y(5); % Ste5_Ste7 y(6)
+koff_Ste5_Fus3*y(9)-kon_Ste5_Fus3*y(7)*y(8); % Ste5_off_Fus3 y(7)
+koff_Ste5_Fus3*y(9)-kon_Ste5_Fus3*y(7)*y(8); % Fus3_off y(8)
+-koff_Ste5_Fus3*y(9)+kon_Ste5_Fus3*y(7)*y(8); % Ste5_Fus3 y(9)
+-kcat_Ste20Ste11_pS*scaffold_Ste5*(y(3)*y(10)/(y(2)+y(3))^2)+kcat_dephosph*y(11); % Ste11 y(10)
+kcat_Ste20Ste11_pS*scaffold_Ste5*(y(3)*y(10)/(y(2)+y(3))^2)-kcat_Ste20Ste11pS_pS*scaffold_Ste5*(y(3)*y(11)/(y(2)+y(3))^2)-kcat_dephosph*y(11)+kcat_dephosph*y(12);
+% Ste11_pS y(11)
+kcat_Ste20Ste11pS_pS*scaffold_Ste5*(y(3)*y(11)/(y(2)+y(3))^2)-kcat_Ste20Ste11pSpS_pT*scaffold_Ste5*(y(3)*y(12)/(y(2)+y(3))^2)-kcat_dephosph*y(12)+kcat_dephosph*y(13);
+% Ste11_pSpS y(12)
+kcat_Ste20Ste11pSpS_pT*scaffold_Ste5*(y(3)*y(12)/(y(2)+y(3))^2)-kcat_dephosph*y(13); % Ste11_pSpSpT
+y(13)
+-kcat_Ste11pSSte7_pS*y(11)*(y(3)/(y(2)+y(3)))*(y(6)*y(14)/(y(5)+y(6))^2)-kcat_Ste11pSpSSte7_pS*y(12)*(y(3)/(y(2)+y(3)))*(y(6)*y(14)/(y(5)+y(6))^2)-kcat_Ste11pSpSpTSte7_pS*y(13)*(y(3)/(y(2)+y(3)))*(y(6)*y(14)/(y(5)+y(6))^2)+kcat_dephosph*y(15);
+% Ste7 y(14)
+kcat_Ste11pSSte7_pS*y(11)*(y(3)/(y(2)+y(3)))*(y(6)*y(14)/(y(5)+y(6))^2)-kcat_Ste11pSSte7pS_pT*y(11)*(y(3)/(y(2)+y(3)))*(y(6)*y(15)/(y(5)+y(6))^2)+kcat_Ste11pSpSSte7_pS*y(12)*(y(3)/(y(2)+y(3)))*(y(6)*y(14)/(y(5)+y(6))^2)-kcat_Ste11pSpSSte7pS_pT*y(12)*(y(3)/(y(2)+y(3)))*(y(6)*y(15)/(y(5)+y(6))^2)+kcat_Ste11pSpSpTSte7_pS*y(13)*(y(3)/(y(2)+y(3)))*(y(6)*y(14)/(y(5)+y(6))^2)-kcat_Ste11pSpSpTSte7pS_pT*y(13)*(y(3)/(y(2)+y(3)))*(y(6)*y(15)/(y(5)+y(6))^2)-kcat_dephosph*y(15)+kcat_dephosph*y(16);
+% Ste7_pS y(15)
+kcat_Ste11pSSte7pS_pT*y(11)*(y(3)/(y(2)+y(3)))*(y(6)*y(15)/(y(5)+y(6))^2)+kcat_Ste11pSpSSte7pS_pT*y(12)*(y(3)/(y(2)+y(3)))*(y(6)*y(15)/(y(5)+y(6))^2)+kcat_Ste11pSpSpTSte7pS_pT*y(13)*(y(3)/(y(2)+y(3)))*(y(6)*y(15)/(y(5)+y(6))^2)-kcat_dephosph*y(16);
+% Ste7_pSpT y(16)
+-kcat_Ste5Ste7pSFus3_pY*y(15)*(y(6)/(y(5)+y(6)))*(y(9)*y(17)/(y(8)+y(9))^2)-kcat_Ste5Ste7pSFus3_pT*y(15)*(y(6)/(y(5)+y(6)))*(y(9)*y(17)/(y(8)+y(9))^2)-kcat_Ste5Ste7pSpTFus3_pY*y(16)*(y(6)/(y(5)+y(6)))*(y(9)*y(17)/(y(8)+y(9))^2)-kcat_Ste5Ste7pSpTFus3_pT*y(16)*(y(6)/(y(5)+y(6)))*(y(9)*y(17)/(y(8)+y(9))^2)+kcat_dephosph*y(18)+kcat_dephosph*y(19);
+% Fus3 y(17)
+kcat_Ste5Ste7pSFus3_pY*y(15)*(y(6)/(y(5)+y(6)))*(y(9)*y(17)/(y(8)+y(9))^2)-kcat_Ste5Ste7pSFus3pY_pT*y(15)*(y(6)/(y(5)+y(6)))*(y(9)*y(18)/(y(8)+y(9))^2)+kcat_Ste5Ste7pSpTFus3_pY*y(16)*(y(6)/(y(5)+y(6)))*(y(9)*y(17)/(y(8)+y(9))^2)-kcat_Ste5Ste7pSpTFus3pY_pT*y(16)*(y(6)/(y(5)+y(6)))*(y(9)*y(18)/(y(8)+y(9))^2)-kcat_dephosph*y(18)+kcat_dephosph*y(20);
+% Fus3_pY y(18)
+kcat_Ste5Ste7pSFus3_pT*y(15)*(y(6)/(y(5)+y(6)))*(y(9)*y(17)/(y(8)+y(9))^2)-kcat_Ste5Ste7pSFus3pT_pY*y(15)*(y(6)/(y(5)+y(6)))*(y(9)*y(19)/(y(8)+y(9))^2)+kcat_Ste5Ste7pSpTFus3_pT*y(16)*(y(6)/(y(5)+y(6)))*(y(9)*y(17)/(y(8)+y(9))^2)-kcat_Ste5Ste7pSpTFus3pT_pY*y(16)*(y(6)/(y(5)+y(6)))*(y(9)*y(19)/(y(8)+y(9))^2)-kcat_dephosph*y(19)+kcat_dephosph*y(20);
+% Fus3_pT y(19)
+kcat_Ste5Ste7pSFus3pY_pT*y(15)*(y(6)/(y(5)+y(6)))*(y(9)*y(18)/(y(8)+y(9))^2)+kcat_Ste5Ste7pSFus3pT_pY*y(15)*(y(6)/(y(5)+y(6)))*(y(9)*y(19)/(y(8)+y(9))^2)+kcat_Ste5Ste7pSpTFus3pY_pT*y(16)*(y(6)/(y(5)+y(6)))*(y(9)*y(18)/(y(8)+y(9))^2)+kcat_Ste5Ste7pSpTFus3pT_pY*y(16)*(y(6)/(y(5)+y(6)))*(y(9)*y(19)/(y(8)+y(9))^2)-2*kcat_dephosph*y(20);
+% Fus3_pYpT y(20)
+];
+
+% Find the numerical solution of the system of ordinary differential equations
+[t, Y] = ode45(odefun, tspan, [Ste5_off_Ste11; Ste11_off; Ste5_Ste11; Ste5_off_Ste7; Ste7_off;
+Ste5_Ste7; Ste5_off_Fus3; Fus3_off; Ste5_Fus3; Ste11; Ste11_pS; Ste11_pSpS; Ste11_pSpSpT; Ste7;
+Ste7_pS; Ste7_pSpT; Fus3; Fus3_pY; Fus3_pT; Fus3_pYpT]);
+
+figure;
+hold on;
+plot(t, Y(:, 1), 'LineWidth', 2, 'DisplayName', 'Ste5_{off_{Ste11}}');
+plot(t, Y(:, 2), 'LineWidth', 2, 'DisplayName', 'Ste11_{off}');
+plot(t, Y(:, 3), 'LineWidth', 2, 'DisplayName', 'Ste5Ste11');
+plot(t, Y(:, 4), 'LineWidth', 2, 'DisplayName', 'Ste5_{off_{Ste7}}');
+plot(t, Y(:, 5), 'LineWidth', 2, 'DisplayName', 'Ste7_{off}');
+plot(t, Y(:, 6), 'LineWidth', 2, 'DisplayName', 'Ste5Ste7');
+plot(t, Y(:, 7), 'LineWidth', 2, 'DisplayName', 'Ste5_{off_{Fus3}}');
+plot(t, Y(:, 8), 'LineWidth', 2, 'DisplayName', 'Fus3_{off}');
+plot(t, Y(:, 9), 'LineWidth', 2, 'DisplayName', 'Ste5Fus3');
+
+xlabel('Time (t)');
+ylabel('Concentration');
+title('Variable Change Graph');
+legend show;
+grid on;
+hold off;
+
+figure;
+hold on;
+plot(t, Y(:, 10), 'LineWidth', 2, 'DisplayName', 'Ste11');
+plot(t, Y(:, 11), 'LineWidth', 2, 'DisplayName', 'Ste11_{pS}');
+plot(t, Y(:, 12), 'LineWidth', 2, 'DisplayName', 'Ste11_{pSpS}');
+plot(t, Y(:, 13), 'LineWidth', 2, 'DisplayName', 'Ste11_{pSpSpT}');
+
+xlabel('Time (t)');
+ylabel('Concentration');
+title('Ste11 Variable Change Graph');
+legend show;
+grid on;
+hold off;
+
+figure;
+hold on;
+plot(t, Y(:, 14), 'LineWidth', 2, 'DisplayName', 'Ste7');
+plot(t, Y(:, 15), 'LineWidth', 2, 'DisplayName', 'Ste7_{pS}');
+plot(t, Y(:, 16), 'LineWidth', 2, 'DisplayName', 'Ste7_{pSpT}');
+
+xlabel('Time (t)');
+ylabel('Concentration');
+title('Ste7 Variable Change Graph');
+legend show;
+grid on;
+hold off;
+
+figure;
+hold on;
+plot(t, Y(:, 17), 'LineWidth', 2, 'DisplayName', 'Fus3');
+plot(t, Y(:, 18), 'LineWidth', 2, 'DisplayName', 'Fus3_{pY}');
+plot(t, Y(:, 19), 'LineWidth', 2, 'DisplayName', 'Fus3_{pT}');
+plot(t, Y(:, 20), 'LineWidth', 2, 'DisplayName', 'Fus3_{pYpT}');
+
+xlabel('Time (t)');
+ylabel('Concentration');
+title('Fus3 Variable Change Graph');
+legend show;
+grid on;
+hold off;</div>
+                <script>
+                    function toggleCodeSnippet7() {
+                        var codeSnippet = document.getElementById("codeSnippet7");
+                        var button = document.getElementById("Button7"); // 注意变量名通常使用小写开头
+                        if (codeSnippet.style.display === "none") {
+                            codeSnippet.style.display = "block";
+                            button.textContent = "Collapse the code"; // 使用之前选中的按钮元素
+                        } else {
+                            codeSnippet.style.display = "none";
+                            button.textContent = "Expand the code"; // 使用之前选中的按钮元素
+                        }
+                    }
+                </script>
         </div>
     </div>
 
@@ -1751,8 +1918,67 @@
                     \[ Q_{d_i} = \frac{a}{n} \sum_{m=1}^{i-1} e^{-(k_1 + k_2)\left(mt - \left(j \frac{(m+2)(m+1)}{2}
                     \frac{t_0}{n}\right)\right)} \]
                 </p>
-                <p>TODO: Insert result graph</p>
-
+                <div class="image-container">
+                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/4-1.png" alt="lactate Absorption"
+                        class="shadowed-image" style="width: 80%; max-width: 800px;">
+                </div>
+                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 25 lactate Absorption</p>
+                <button id="Button8" onclick="toggleCodeSnippet8()">lactate.m</button>
+
+                <div id="codeSnippet8" class="code-snippet">% Parameter settings
+Qd0 = 0; % Initial lactic acid level
+a = 50; % Total amount of lactic acid administered
+k1 = 0.1; % Absorption rate of lactic acid
+k2 = 0.05; % Metabolism and excretion rate of lactic acid
+t0 = 20; % Total time
+n = 10; % Number of induced secretions
+time_step = 0.1; % Time step
+
+% Time array
+t = 0:time_step:t0;
+
+% Direct administration simulation
+Qd_direct = (Qd0 + a) * exp(-(k1 + k2) * t);
+
+% Induced secretion simulation
+Qd_induced = zeros(1, length(t));
+for i = 1:n
+    % Calculate the time point for each induced secretion
+    current_time = (i-1) * (t0 / n);
+    if current_time <= t0
+        % Update concentration
+        for j = 1:length(t)
+            if t(j) >= current_time
+                Qd_induced(j) = Qd_induced(j) + a/n * exp(-(k1 + k2) * (t(j) - current_time));
+            end
+        end
+    end
+end
+
+% Plot results
+figure;
+hold on;
+plot(t, Qd_direct, 'r-', 'LineWidth', 2, 'DisplayName', 'Direct Administration');
+plot(t, Qd_induced, 'b-', 'LineWidth', 2, 'DisplayName', 'Induced Secretion');
+xlabel('Time (t)');
+ylabel('Intestinal Lactate Level (Qd)');
+title('Lactate Concentration Change Curve');
+legend;
+grid on;
+hold off;</div>
+                <script>
+                    function toggleCodeSnippet8() {
+                        var codeSnippet = document.getElementById("codeSnippet8");
+                        var button = document.getElementById("Button8"); // 注意变量名通常使用小写开头
+                        if (codeSnippet.style.display === "none") {
+                            codeSnippet.style.display = "block";
+                            button.textContent = "Collapse the code"; // 使用之前选中的按钮元素
+                        } else {
+                            codeSnippet.style.display = "none";
+                            button.textContent = "Expand the code"; // 使用之前选中的按钮元素
+                        }
+                    }
+                </script>
                 <p>By simulating the absorption process of lactate, we can conclude that in the case of direct
                     administration, the concentration of lactate decreases exponentially over time, while in the
                     case of induced secretion, the concentration of lactate slowly increases over time and reaches
-- 
GitLab