Skip to content
Snippets Groups Projects
Commit 3243075a authored by Zhefu Li's avatar Zhefu Li
Browse files

Update model.html

parent b1c54e77
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment