Skip to content
Snippets Groups Projects
Forked from 2024 Competition / Tsinghua
418 commits behind the upstream repository.
model.html 102.79 KiB
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="https://static.igem.wiki/teams/5187/art/icon.png" sizes="364x370">
    <title>Model | Tsinghua - IGEM 2024</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/styles/default.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min.js"></script>
    <script>
        hljs.highlightAll();
    </script>
    <title>Tsinghua - IGEM 2024</title>
    <script type="text/javascript" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            margin: 0;
            padding: 0;
        }

        .content {
            padding: 20px;
            max-width: 800px;
            margin: 0 auto;
        }

        h2 {
            scroll-margin-top: 60px;
        }

        .row.mt-4 {
            margin-right: 100px;
            margin-left: 130px;
        }

        table {
            margin: 0 auto;
            /* 使表格在页面居中 */
            border-collapse: separate;
            /* 允许设置边框间距 */
            border-spacing: 10px;
            /* 增大列之间的间距 */
        }

        thead {
            /* 确保thead的内容居中,通常不需要这个,除非被其他规则覆盖 */
            text-align: center;
        }

        th,
        td {
            padding: 10px;
            /* 可以调整单元格的内边距 */
            text-align: center;
            /* 单元格内容居中 */
        }

        caption {
            font-size: 1.2em;
            /* 可以调整表名的字体大小 */
            text-align: center;
            /* 表名居中 */
            caption-side: top;
            /* 确保caption在表格的上方 */
            margin-bottom: 10px;
            /* 表名与表格之间的间距 */
        }

        .code-snippet {
            display: none;
            /* 初始时隐藏代码段落 */
            background-color: #f0f0f0;
            /* MATLAB类似的背景色 */
            border: 1px solid #ccc;
            padding: 15px;
            margin-top: 10px;
            font-family: 'Source Code Pro', Menlo, Monaco, Consolas, 'Courier New', monospace;
            /* 设置等宽字体 */
            font-size: 14px;
            /* 设置字体大小 */
            color: #000;
            /* 文本颜色 */
            white-space: pre;
            /* 保留代码格式 */
            overflow-x: auto;
            /* 允许水平滚动 */
        }
    </style>
</head>

<body>
    {% extends "layout.html" %}

    {% block title %}Model{% endblock %}

    {% block page_content %}
    <div class="sidebar">
        <ul>
            <li><a href="#description">Description</a></li>
            <li><a href="#topic1">Inhalation</a></li>
            <li><a href="#topic2">Binding</a></li>
            <li><a href="#topic3">Secretion</a></li>
            <li><a href="#topic4">Absorption</a></li>
        </ul>
    </div>

    <div class="progress-container">
        <svg class="progress-bar-circle" width="60" height="60">
            <circle class="progress-circle" cx="30" cy="30" r="25" stroke-width="5" fill="transparent"></circle>
        </svg>
        <div class="progress-text">0%</div>
    </div>

    <div class="row mt-4">
        <div class="col-lg-12">
            <h2 id="description">General Description of Modeling</h2>
            <hr>
            <p>Our model serves two main purposes:</p>
            <ol>
                <li><strong>Quantitative Description of Project Design</strong>: Due to safety considerations, we were
                    unable to conduct animal experiments to demonstrate the processes occurring during the operation of
                    the project. Modeling can help in understanding therapeutic pathways, provide a quantitative
                    perspective, and tell our story better.</li>
                <li><strong>Computational Methods for Project Engineering</strong>: If the project can be carried out,
                    the model can help determine the parameters in the implementation process of the project, reduce the
                    calculation amount in the experimental process, connect the wet experimental independent system
                    , and make the design mathematically encapsulated as new components.</li>
            </ol>
            <p>Our model can be divided into four interconnected parts, representing the inhalation of muscone, its
                binding
                to receptors, intracellular signal transduction and lactate secretion triggered by receptor
                activation, and the absorption of lactate. These models provide a comprehensive understanding of the
                project and yield valuable computational results.</p>
        </div>
        <div class="image-container">
            <img src="https://static.igem.wiki/teams/5187/figure/ibd-figure.jpg" alt="ibd_figure"
                class="shadowed-image">
        </div>
    </div>

    <div class="row mt-4">
        <div class="col-lg-12">
            <h2 id="topic1">
                <h2>Compartment Model for Muscone Inhalation</h2>
                <hr>
                <h3>Model Description</h3>
                <p>The main focus of our project is the use of muscone as a signaling molecule to activate engineered
                    yeast in the gut for therapeutic purposes. Therefore, it is crucial to provide a quantitative
                    description and computational support for the diffusion of muscone in the body. This model describes
                    the entire process from the inhalation of muscone to its increased concentration in the intestinal
                    tract. We will establish a multi-compartment model that includes the following main processes:</p>
                <ol>
                    <li><strong>Inhalation Process</strong>: Muscone is inhaled in the form of an aerosol into the
                        lungs.</li>
                    <li><strong>Pulmonary Process</strong>: Muscone distributes in the alveoli and may be exhaled,
                        adhered to, or permeated into the microvessels.</li>
                    <li><strong>Adhesion Process</strong>: A portion of muscone adheres to the respiratory mucosa and
                        then diffuses into the systemic circulation.</li>
                    <li><strong>Alveolar Microvessel Process</strong>: Muscone permeates into the alveolar microvessels
                        and gradually enters the systemic circulation.</li>
                    <li><strong>Systemic Circulation Process</strong>: Muscone distributes in the systemic circulation
                        and is transported to various parts of the body through the bloodstream.</li>
                    <li><strong>Intestinal Process</strong>: Muscone enters the target intestine through the mesenteric
                        microvascular network, where its concentration begins to increase.</li>
                </ol>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/1-1.png" alt="Inhalation-1"
                        class="shadowed-image" style="width: 100%; max-width: 1000px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 2 Processes in the Inhalation
                    Model</p>
                <p>Corresponding to the above processes, five compartments need to be established for simulation, where
                    \(t\) represents the time variable:</p>
                <li><strong>Compartment 0</strong> (Alveolar Space, \(A\)): \(Q_A(t)\) represents the amount of
                    muscone
                    in the alveoli (\(\text {mg}\)).</li>
                <li><strong>Compartment 1</strong> (Respiratory Mucosa, \(M\)): \(Q_M(t)\) represents the amount of
                    muscone adhered to the respiratory mucosa (\(\text {mg}\)).</li>
                <li><strong>Compartment 2</strong> (Alveolar Capillaries, \(L\)): \(Q_L(t)\) represents the amount of
                    muscone in the alveolar capillaries (\(\text{mg}\)).</li>
                <li><strong>Compartment 3</strong> (Systemic Circulation, \(C\)): \(Q_C(t)\) represents the amount of
                    muscone in the systemic circulation(\(\text{mg}\)).</li>
                <li><strong>Compartment 4</strong> (Target Intestine, \(I\)): \(Q_I(t)\) represents the amount of
                    muscone in the intestine(\(\text{mg}\)).</li>
                <p></p>
                <h3>Initial Settings and Assumptions</h3>
                <p>At \(t=0\), the amount of muscone in all compartments is \(0\).</p>
                <p>Assuming that the total amount of inhaled muscone is \(Q_{\text{inhale}}\) (\(\text{mg}\)), which is
                    assumed to be \(100\text{mg}\). Only \(0.5\%\) of muscone enters the systemic circulation through
                    adhesion. In this model, since muscone only acts as a signaling molecule to activate yeast to
                    synthesize lactate, we only consider the metabolism and excretion of muscone in the systemic
                    circulation. We only focus on the short-term process of muscone appearing in the intestine from
                    scratch, and the subsequent process of reaching a certain concentration can be ignored.</p>
                <h3>Model Equations</h3>

                <h4>Inhalation Equation for Muscone</h4>

                <p>
                    \[ V_{\text{inhale}}(t) =\frac{Q_{\text{inhale}}}{5}(u(t)-u(t-5)) \]
                </p>

                <p><strong>Explanation</strong>: This describes the rate equation for inhaling muscone over five
                    seconds,
                    where the total amount \( Q \) remains constant. The function \( u(t) \) is a step function, which
                    takes the value of \( \frac{Q_{\text{inhale}}}{5} \) from \( t=0s \) to \( t=5s \), and is \( 0 \)
                    otherwise, simulating the scenario of resting human respiration.</p>
                <h4>Compartment 0: \( Q_A(t) \)</h4>

                <p>
                    \[ \frac{dQ_A(t)}{dt} = V_{\text{inhale}}(t) - \left( k_{\text{exhale}} + k_{\text{perm}} \right)
                    Q_A(t) \]
                </p>

                <p><strong>Explanation</strong>: The amount of muscone in the alveoli increases through inhalation and
                    decreases due to exhalation, adhesion to the respiratory mucosa, and permeation into the alveolar
                    capillaries.</p>

                <p><strong>Parameters</strong>:</p>

                <ul>
                    <li>
                        \( k_{\text{exhale}} \): Since most of the muscone is rapidly exhaled, this value is relatively
                        large, taken as \( 10 \ \text{min}^{-1} \)
                    </li>
                    <li>
                        \( k_{\text{perm}} \): The rate of muscone permeation into the capillaries, affected by its
                        physicochemical properties, is taken as \( 0.005 \ \text{min}^{-1} \)
                    </li>
                </ul>

                <h4>Compartment 1: \( Q_M(t) \)</h4>

                <p>
                    \[ \frac{dQ_M(t)}{dt} = 0.0005 \cdot k_{\text{adh}} V_{\text{inhale}}(t) - k_{\text{diffMC}} Q_M(t)
                    \]
                </p>

                <p><strong>Explanation</strong>: The increase in muscone on the mucosa comes from adhesion in the
                    alveoli, and the decrease is due to diffusion into the systemic circulation.</p>

                <p><strong>Parameters</strong>:</p>

                <ul>
                    <li>
                        \( k_{\text{adh}} \): The adhesion process is relatively slow, and only \( 0.5\% \) of muscone
                        enters the systemic circulation through this pathway, taken as \( 0.001 \ \text{min}^{-1} \)
                    </li>
                    <li>
                        \( k_{\text{diffMC}} \): Diffusion from the mucosa to the systemic circulation is slow, taken as
                        \( 0.01 \ \text{min}^{-1} \)
                    </li>
                </ul>
                <h4>Compartment 2: \( Q_L(t) \)</h4>

                <p>
                    \[ \frac{dQ_L(t)}{dt} = k_{\text{perm}} Q_A(t) - k_{\text{diffLC}} Q_L(t) \]
                </p>

                <p><strong>Explanation</strong>: The increase in muscone in the alveolar capillaries comes from
                    permeation in the alveoli, and the decrease is due to diffusion into the systemic circulation.</p>

                <p><strong>Parameters</strong>:</p>

                <ul>
                    <li>
                        \( k_{\text{perm}} \): Same as Compartment 0
                    </li>
                    <li>
                        \( k_{\text{diffLC}} \): The diffusion rate from alveolar capillaries to the systemic
                        circulation is relatively slow, taken as \( 0.05 \ \text{min}^{-1} \)
                    </li>
                </ul>

                <h4>Compartment 3: \( Q_C(t) \)</h4>

                <p>
                    \[ \frac{dQ_C(t)}{dt} = k_{\text{diffMC}} Q_M(t) + k_{\text{diffLC}} Q_L(t) - k_{\text{dist}}
                    Q_C(t) - k_{\text{excrete}} Q_C(t) \]
                </p>

                <p><strong>Explanation</strong>: The increase in muscone in the systemic circulation comes from the
                    input of mucosa and alveolar capillaries, and the decrease is due to distribution to the intestinal
                    mesenteric microvascular network and excretion through various routes.</p>

                <p><strong>Parameters</strong>:</p>

                <ul>
                    <li>
                        \( k_{\text{diffMC}} \): Same as Compartment 1
                    </li>
                    <li>
                        \( k_{\text{diffLC}} \): Same as Compartment 2
                    </li>
                    <li>
                        \( k_{\text{dist}} \): The rate constant of muscone distribution from the systemic circulation
                        to the intestinal mesenteric microvascular network, taken as \( 0.001 \ \text{min}^{-1} \)
                    </li>
                    <li>
                        \( k_{\text{excrete}} \): Muscone is excreted from the systemic circulation through epidermal
                        volatilization, urine, continuous respiration, etc., taken as \( 0.05 \ \text{min}^{-1} \)
                    </li>
                </ul>

                <h4>Compartment 4: \( Q_I(t) \)</h4>

                <p>
                    \[ \frac{dQ_I(t)}{dt} = k_{\text{dist}} Q_C(t) - k_{move}Q_I(t) \]
                </p>

                <p><strong>Explanation</strong>: The increase in muscone in the intestine comes from the distribution of
                    the systemic circulation, and the decrease is due to metabolism and excretion through intestinal
                    fluid and peristalsis.</p>

                <p>
                    \( k_{\text{dist}} \): Same as Compartment 3<br>
                    \( k_{move} \): The metabolism and excretion of muscone in the intestine, taken as \( 0.02 \
                    \text{min}^{-1} \)
                </p>

                <h3>System of Equations:</h3>

                <p>In summary, we can write a system of ordinary differential equations and import it into MATLAB for
                    simulation:</p>
                <p>
                    \[
                    \begin{align*}
                    Q_{\text{inhale}}(t) & = 100(mg)(Assumption) \\
                    V_{\text{inhale}}(t) & =\frac{Q_{\text{inhale}}}{5}(u(t)-u(t-5)) \\
                    \frac{dQ_A(t)}{dt} & = V_{\text{inhale}}(t) -\left( k_{\text{exhale}} + k_{\text{perm}} \right)
                    Q_A(t) \\
                    \frac{dQ_L(t)}{dt} & = k_{\text{perm}} Q_A(t) - k_{\text{diffLC}} Q_L(t) \\
                    \frac{dQ_M(t)}{dt} & = 0.0005\cdot k_{\text{adh}} V_{\text{inhale}}(t) - k_{\text{diffMC}} Q_M(t) \\
                    \frac{dQ_C(t)}{dt} & = k_{\text{diffMC}} Q_M(t) + k_{\text{diffLC}} Q_L(t) - k_{\text{dist}} Q_C(t)
                    -
                    k_{\text{excrete}} Q_C(t) \\
                    \frac{dQ_I(t)}{dt} & = k_{\text{dist}} Q_C(t)-k_{move}Q_I(t) \\
                    \end{align*}
                    \]
                </p>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/1-2.png" alt="Inhalation-2"
                        class="shadowed-image" style="width: 100%; max-width: 1000px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 3 Stimulation Result of the
                    Muscone Inhalation Model</p>
                <p>We simulated the distribution of muscone in the systemic circulation and obtained the concentration
                    change curve of muscone in the systemic circulation. According to the model, after one breath,
                    traces of muscone can spread into the intestine, similarly, the concentration change caused by
                    continuous muscone is simulated by changing the inhalation equation, and the concentration of
                    muscone in the intestine can be obtained in combination with experiment. Because
                    there is no animal experimental support, the data are manually drafted, and the calculation method
                    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>
                <script>
                    function toggleCodeSnippet1() {
                        var codeSnippet = document.getElementById("codeSnippet1");
                        var button = document.getElementById("Button1"); // 注意变量名通常使用小写开头
                        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>

    <div class="row mt-4">
        <div class="col-lg-12">
            <h2 id="topic2">
                <h2>Molecular Dynamics Simulations of Muscone with its Receptor</h2>
                <hr>
                <p>One of the major contributions of our project was the development of a signaling pathway activated by
                    gas molecules acting as switches, so we were interested in the behavior of the muscone when bound to
                    its receptor. Molecular dynamics simulations can help us to visualize the binding process, track the
                    parameters of structural changes, protein folding, and receptor-ligand interactions, and demonstrate
                    their biological significance.</p>
                <h3>1. Molecular Model Construction and Preparation</h3>
                <ul>
                    <li>Before conducting molecular dynamics simulations, it is essential to accurately construct and
                        prepare the three-dimensional molecular model of the research object. In this study, our goal is
                        to simulate the interaction between muscone and the olfactory receptor Or5an6 (MOR215-1).</li>
                </ul>
                <h4>1. Constructing the Three-Dimensional Structures of Muscone and the Receptor:</h4>

                <ul>
                    <li><strong>Muscone</strong>:</li>
                    <ul>
                        <li>Obtain the molecular structure information of muscone from the PubChem database. PubChem is
                            a widely used chemical information database that provides data on molecular structures,
                            chemical properties, and biological activities.</li>
                        <li>Molecular structure obtained from PubChem <a
                                href="https://pubchem.ncbi.nlm.nih.gov/compound/10947">link</a></li>
                    </ul>
                    <div class="image-container">
                        <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/3-methylcyclopentadecanone.png"
                            alt="Muscone" class="shadowed-image" style="width: 50%; max-width: 500px;">
                    </div>
                    <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 4 The structural formula of
                        the Muscone</p>
                    <ul>
                        <li>Next, use the chemical modeling tool Avogadro to convert this structure into a PDB format
                            file (<code>muscone.pdb</code>) for further simulation and analysis. This step ensures that
                            the three-dimensional geometric structure of muscone is accurate and suitable for subsequent
                            molecular docking and dynamics simulations.</li>
                        <li>Avogadro converts to pdb format <code>muscone.pdb</code></li>
                    </ul>
                    <div class="image-container">
                        <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/muscone.png" alt="Muscone"
                            class="shadowed-image" style="width: 50%; max-width: 500px;">
                    </div>
                    <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 5 The 3D geometry of Muscone
                    </p>
                </ul>
                <ul>
                    <li><strong>Receptor Or5an6 (MOR215-1)</strong>:
                        <ul>
                            <li>Retrieve the nucleic acid sequence of the MOR215-1 gene from the NCBI database and find
                                its protein sequence information. With support from Uniprot, further obtain the amino
                                acid sequence of this protein, which is an important component for subsequent docking
                                simulations. In addition, obtain the three-dimensional structural model of the Or5an6
                                receptor (<code>MOR215-1.pdb</code>) from the AlphaFold database, whose model quality is
                                widely recognized, especially in the field of protein structure prediction.</li>
                            <li>Nucleic acid sequence information in NCBI <a
                                    href="https://www.ncbi.nlm.nih.gov/gene/258679">link</a></li>
                            <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>
                            <script>
                                function toggleCodeSnippet2() {
                                    var codeSnippet = document.getElementById("codeSnippet2");
                                    var button = document.getElementById("Button2"); // 注意变量名通常使用小写开头
                                    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>
                            <li>Protein sequence information in Uniprot <a
                                    href="https://www.uniprot.org/uniprotkb/Q8VFV4/entry#sequences">link</a></li>
                            <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>
                            <script>
                                function toggleCodeSnippet3() {
                                    var codeSnippet = document.getElementById("codeSnippet3");
                                    var button = document.getElementById("Button3"); // 注意变量名通常使用小写开头
                                    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>
                            <li>Protein structure information in the AlphaFold database <a
                                    href="https://alphafold.ebi.ac.uk/entry/Q8VFV4">link</a> <code>MOR215-1.pdb</code>
                            </li>
                        </ul>
                    </li>
                </ul>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/or5an6.png"
                        alt="AF-Q8VFV4-F1-model_v4.pdb" class="shadowed-image" style="width: 80%; max-width: 800px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 6 Protein structure of MOR215-1
                </p>
                <h4>2. System Preparation:</h4>
                <ul>
                    <li>To study how muscone binds to the receptor, molecular docking tools such as AutoDock and Vina
                        are used to determine potential binding conformations and obtain docking data:
                        <ul>
                            <li>Mac software installation: AutoDock, Vina, XQuartz, MGLTools,</li>
                            <li>The 32-bit version of MGLTools cannot be used directly on Mac, but can be opened using
                                <code>open /Users/Shared/MGLTools/1.5.7/bin/adt</code>
                            </li>
                            <li><a href="https://mp.weixin.qq.com/s/yDN5DCvEnQdPGEPXL4NAwA">AutoDock</a> generates PDBQD
                                files: <code>MOR215_1.pdbqt</code> and <code>muscone.pdbqt</code>
                                <ul>
                                    <li>In the same directory: <code>adt</code>, <code>autodock4</code>,
                                        <code>autogrid4</code>, <code>vina</code>
                                    </li>
                                </ul>
                            </li>
                            <li><a href="https://mp.weixin.qq.com/s/R8V7Hvag2OqTn4tLz3hGhg">Vina</a> configures the
                                docking parameter file <code>config.txt</code> in the same directory as follows (based
                                on actual coordinates), runs the docking simulation, and generates the file
                                <code>muscure.pdbqt</code>. This file records the possible binding modes of muscone with
                                the receptor at the defined coordinate position and dimensions
                                (<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>
                                <script>
                                    function toggleCodeSnippet4() {
                                        var codeSnippet = document.getElementById("codeSnippet4");
                                        var button = document.getElementById("Button4"); // 注意变量名通常使用小写开头
                                        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>
                                <pre><code>./vina --config config.txt</code></pre>
                                Obtain <code>muscure.pdbqt</code>
                            </li>
                        </ul>
                    </li>
                </ul>
                <ul>
                    <li><strong>Visualization Structure Optimization and Inspection</strong>:
                        <ul>
                            <li>Use <a href="https://mp.weixin.qq.com/s/jPu-_iSX0h94Yxu3PO65zA">Pymol</a> to analyze the
                                generated docking structures, identify potential binding conformations, especially
                                focusing on interactions at amino acids Arg-51 and Tyr-271, and determine stable low
                                free energy conformations. Then extract this conformation as separate PDB files,
                                isolating <code>MOR.pdb</code> and <code>MUS.pdb</code>.
                                <ul>
                                    <li>Open <code>muscure.pdbqt</code> and <code>MOR215-1.pdb</code></li>
                                    <li>Select the appropriate conformation, display interactions
                                        <code>Action - find - polar contacts - to any atoms</code>
                                    </li>
                                    <li>Add <code>Label</code>, export the image</li>
                                </ul>
                            </li>
                            <li>Alternative Conformations
                                <ul>
                                    <li>Arg-51
                                        <div class="image-container">
                                            <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/dock1.png"
                                                alt="Arg-51" class="shadowed-image"
                                                style="width: 100%; max-width: 1000px;">
                                        </div>
                                        <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 7
                                            Alternative Conformation with Arg-51</p>
                                    </li>
                                    <li>Tyr-271
                                        <div class="image-container">
                                            <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/dock2.png"
                                                alt="Tyr-271" class="shadowed-image"
                                                style="width: 100%; max-width: 1000px;">
                                        </div>
                                        <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 8
                                            Alternative Conformation with Tyr-271</p>
                                    </li>
                                    <li>Select conformations with low free energy that are more likely, extract in pdb
                                        format, isolating <code>MOR.pdb</code> and <code>MUS.pdb</code></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
                <h3>2. Force field parameterization</h3>
                <h4>1. Select Force Field:</h4>
                <ul>
                    <li>To perform molecular dynamics simulations, it is necessary to choose an appropriate molecular
                        force field to describe the interactions between molecules within the system. CHARMM36 was
                        selected as the force field for protein and small molecule (musk ketone) interactions. However,
                        due to the absence of direct parameters for musk ketone in existing force fields, custom
                        parameters need to be generated to supplement it.</li>
                </ul>
                <h4>2. Generate Force Field Parameters:</h4>
                <ul>
                    <li>Use Avogadro to convert to <code>.mol2</code> format, adjust file information, and then use the
                        software <a href="https://cgenff.com/">CGenFF</a> to generate its CHARMM36 force field parameter
                        file <code>MUS_fix.mol2</code> and parameter file <code>MUS.str</code>. This step includes
                        calculating the sorting of the chemical information file (<code>sort_mol2_bonds.pl</code>) to
                        ensure file correctness.</li>
                </ul>
                <pre><code>perl sort_mol2_bonds.pl MUS.mol2 MUS_fix.mol2</code></pre>
                <h3>3. Preprocessing</h3>
                <h4>1. Build the system:</h4>
                <ul>
                    <li>Generate the topology file <code>MOR_processed.gro</code> for the receptor using GROMACS's
                        <code>pdb2gmx</code> command.
                    </li>
                    <pre><code>gmx pdb2gmx -f MOR.pdb -o MOR_processed.gro -ter</code></pre>

                    <li>Convert the force field parameters of muscone to a format recognizable by GROMACS to generate
                        its topology data using the CGenFF helper script.</li>
                    <pre><code>python cgenff_charmm2gmx_py3_nx2.py MUS MUS_fix.mol2 MUS.str charmm36-jul2022.ff</code></pre>
                </ul>

                <h4>2. Merge the system:</h4>
                <ul>
                    <li>Prepare the complete solvent system required for simulations using the <code>editconf</code> and
                        <code>solvate</code> commands, merging the topology files of muscone <code>mus.gro</code> and
                        receptor <code>MOR_processed.gro</code> into a single system <code>complex.gro</code>.
                    </li>
                    <pre><code>gmx editconf -f mus_ini.pdb -o mus.gro
gmx editconf -f complex.gro -o newbox.gro -bt dodecahedron -d 1.0</code></pre>

                    <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>
                    <pre><code>[ molecules ]
; Compound        #mols
Protein_chain_A     1
MUS                 1
SOL         31227
CL               9</code></pre>
                </ul>

                <h4>3. Energy minimization:</h4>
                <ul>
                    <li>Perform energy minimization on the overall system to eliminate unreasonable conflicts in the
                        initial geometry. Achieve rapid convergence of energy through the gradient descent algorithm and
                        ensure all atoms in the system are reasonably positioned within the force field. Analyze the
                        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>

                    <pre><code>gmx energy -f em.edr -o potential.xvg
#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;">
                    </div>
                    <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 9 Potential Energy
                        Minimization</p>
                </ul>
                <h3>4. Molecular Dynamics Simulation</h3>
                <h4>1. System Equilibration:</h4>
                <ul>
                    <li>To achieve thermal and mechanical equilibrium of the system, simulations are conducted in two
                        stages: NVT (constant temperature) and NPT (constant pressure) equilibration. The system
                        temperature is gradually increased to the target of 300K to reach stable conditions, while
                        analyzing the curves of temperature, pressure, and density over time to ensure the stability of
                        the system.</li>
                </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>
                <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>
                <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;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 10 Curve of the pressure over
                    time
                </p>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/density.png" alt="density"
                        class="shadowed-image" style="width: 80%; max-width: 800px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 11 Curve of the density over time
                </p>
                <h4>2. Production Simulation:</h4>
                <ul>
                    <li>Under the conditions of equilibrium, a long-term production simulation is conducted. This
                        simulation observes the time evolution characteristics of the dynamic interactions between
                        muscone and the receptor, typically requiring simulation times ranging from hundreds of
                        nanoseconds to several microseconds to ensure the reliability and reproducibility of the
                        results. By sampling key frame data of the system during the dynamic process, it aids in further
                        analyzing the intermolecular interactions and dynamic conformational changes.</li>
                </ul>

                <pre><code>gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -n index.ndx -o md_0_10.tpr
gmx mdrun -deffnm md_0_10</code></pre>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/mds.png" alt="MDS"
                        class="shadowed-image" style="width: 100%; max-width: 1000px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 12 Molecular dynamics simulation
                    process
                </p>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/mds-result.png" alt="density"
                        class="shadowed-image" style="width: 100%; max-width: 1000px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 13 Results of the molecular
                    dynamics simulations
                </p>
                <h3>5. Post-Processing and Analysis</h3>

                <ul>
                    <li>After the completion of molecular dynamics simulations, detailed post-processing and analysis of
                        the data is a key step in understanding the behavior of molecular systems. This section will
                        demonstrate the use of GROMACS tools to analyze trajectory data, and visualize it using VMD and
                        PyMOL.</li>
                </ul>

                <h4>1. Trajectory Analysis:</h4>

                <p>To gain deeper insights into the interactions between muscone and the receptor, visualization tools
                    are used to make the simulation process intuitive, identifying key interaction sites and structural
                    changes.</p>

                <ul>
                    <li>Using the <code>gmx trjconv</code> tool, the calculated trajectory data is centered and periodic
                        boundary conditions are removed, generating the centered trajectory file
                        <code>md_0_10_center.xtc</code> and its initial frame <code>start.pdb</code>.
                    </li>
                </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>

                <ul>
                    <li>In PyMOL, key interactions of the protein-ligand system can be visualized through selection and
                        rotation commands, identifying important residues and binding pockets that play significant
                        roles during the simulation process.</li>
                </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>
                <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;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 14 Visualization of the
                    protein-ligand system
                </p>
                <ul>
                    <li>Finally, generate a fitted trajectory file suitable for analysis and animation production.</li>
                </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>

                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/muscure.gif" alt="Trajectory Analysis"
                        class="shadowed-image" style="width: 80%; max-width: 800px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 15 Trajectory Analysis
                </p>
                <h4>2. RMSD (Root Mean Square Deviation) Analysis</h4>

                <ul>
                    <li>RMSD provides a fundamental metric for measuring structural deviation during the simulation
                        process. By calculating the deviation of structures at different time points, it is possible to
                        assess the stability of the system.</li>
                </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>

                <ul>
                    <li>From the RMSD curve, it can be observed that the system stabilizes after approximately 1
                        nanosecond, with a fluctuation range of around 1.3 Å. This indicates that the structures of the
                        protein and ligand remained relatively stable throughout the simulation process, with no
                        significant conformational changes occurring, supporting the potential biological significance
                        of the results.</li>
                </ul>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/rmsd.png" alt="RMSD Plot"
                        class="shadowed-image" style="width: 80%; max-width: 800px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 16 RMSD Analysis
                </p>
                <h4>3. Radius of Gyration (Rg) Calculation</h4>

                <ul>
                    <li>The radius of gyration (Rg) is used to assess the compactness of a protein and is an important
                        indicator of protein folding or unfolding.</li>
                    <li>If the protein folding is stable, its radius of gyration Rg will maintain a relatively stable
                        value. If the protein unfolds, its Rg will change over time.</li>
                </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>

                <ul>
                    <li>In the simulation, the Rg value of the protein remained between 2.2 and 2.25 nanometers,
                        indicating that the protein maintained a compact folded state during the simulation period at
                        300 K, with no significant unfolding or expansion occurring.</li>
                </ul>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/gr1.png"
                        alt="Additional Radius of Gyration Plot" class="shadowed-image"
                        style="width: 80%; max-width: 800px;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 17 Radius of Gyration Calculation
                </p>
                <h4>4. Protein-Ligand Interaction Energy</h4>

                <ul>
                    <li>By calculating the Coulomb and Lennard-Jones interaction energies within the system, the binding
                        energy between musk ketone and the receptor is quantified.</li>
                </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>
                <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;">
                </div>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">fig 18 Protein-Ligand Interaction
                    Energy
                </p>

                <ul>
                    <li>The calculation results show that the Lennard-Jones interaction dominates in stable binding,
                        averaging -81.37 kJ/mol, indicating that hydrophobic interactions play a central role in the
                        binding between the ligand and the receptor.</li>
                </ul>
        </div>
    </div>

    <div class="row mt-4">
        <div class="col-lg-12">
            <h2 id="topic3">
                <h2>Ordinary Differential Equation of the signal transduction of the yeast MAPK pathway</h2>
                <hr>
                <h3>Model Description</h3>
                <p>In our project, we express the muscone receptor (GPCR) on the yeast cell membrane. After a
                    certain concentration of muscone diffuses into the intestine and binds to the receptor, it
                    activates the receptor, which in turn activates the G protein. The G protein dissociates into α and
                    βγ subunits, with the βγ subunit releasing and activating Ste20 and the scaffold protein Ste5. Ste5
                    can undergo oligomerization and other behaviors, recruiting Ste11, Ste7, and Fus3 near the plasma
                    membrane. The cascade reaction is initiated by Ste20, and the signal is transmitted along the
                    Ste11-Ste7-Fus3 cascade. Fus3 activates the transcription factor pFUS1, and the downstream gene is
                    LahA, which expresses lactate dehydrogenase LDH, catalyzing the conversion of pyruvate to lactate.
                    This model simulates the changes in the concentrations and phosphorylation states of molecules in
                    the signaling transduction pathway by writing out chemical reactions and converting them into
                    ordinary differential equations, in order to obtain the quantitative relationship between muscone
                    activation and lactate secretion. The model includes the following main processes:</p>
                <ol>
                    <li><strong>Activation of Muscone Receptor</strong>: The muscone receptor Ste2, derived from
                        mouse olfactory epithelium, is a G protein-coupled receptor (GPCR) that is expressed on the cell
                        membrane and receives signals. Its domains consist of α, β, and γ, where the Gα subunit is
                        called Gpa1, and the Gα and Gγ subunits are Ste4 and Ste18, respectively, both anchored in the
                        cell membrane, without discussing the scenario of their separation. After binding with muscone,
                        Gpa1 will release Ste4-Ste18.</li>
                    <li><strong>Formation of Scaffold</strong>: The released Ste4-Ste18 can bind to Ste5, and the Ste5
                        protein can undergo dimerization, oligomerization, and other behaviors, forming a scaffold near
                        the cell membrane and recruiting proteins related to the cascade phosphorylation.</li>
                    <li><strong>Cascade Reaction</strong>: The scaffold composed of Ste5 can recruit Ste11 (MAPKKK),
                        Ste7 (MAPKK), and Fus3 (MAPK). Each of these three proteins has multiple phosphorylation
                        modification sites, and the efficiency of catalyzing phosphorylation varies under different
                        modification scenarios. Furthermore, the three proteins independently bind to Ste5, and a
                        reaction can only occur when two adjacent proteins are simultaneously present on the scaffold,
                        making this signaling pathway highly specific.</li>
                    <li><strong>Activation of pFUS1</strong>: The transcription factor pFUS1 is activated by Fus3, and
                        the downstream gene is LahA, which expresses lactate dehydrogenase to produce lactate.</li>
                </ol>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/mapk.png" alt="MAPK Pathway"
                        class="shadowed-image" style="width: 50%; max-width: 500px;">
                </div>
                <h3>Basic Assumptions</h3>
                <ol>
                    <li>Since the model only simulates the signal transduction shortly after muscone activation, it
                        does not consider protein synthesis and degradation, assuming that the concentrations of each
                        protein remain stable during this time.</li>
                    <li>It is assumed that all proteins involved in the cascade reaction have the same dephosphorylation
                        rate, denoted by \(k_{cat_{dephosph}}\).</li>
                    <li>The behavior of all molecules in the system is random and not influenced by environmental
                        factors.</li>
                </ol>

                <h3>Model Equations</h3>
                <h4>Activation of muscone Receptor</h4>
                <strong>Reactions</strong>:
                <div>
                    <p>
                        \[
                        \begin{align*}
                        \text{Pheromone} + \text{Ste2} & \rightarrow \text{PheromoneSte2} \\
                        \text{PheromoneSte2} & \rightarrow \text{Pheromone} + \text{Ste2} \\
                        \text{PheromoneSte2} + \text{Gpa1Ste4Ste18} & \rightarrow \text{PheromoneSte2Gpa1Ste4Ste18} \\
                        \text{PheromoneSte2Gpa1Ste4Ste18} & \rightarrow \text{PheromoneSte2Gpa1} + \text{Ste4Ste18} \\
                        \text{PheromoneSte2Gpa1} & \rightarrow \text{PheromoneSte2} + \text{Gpa1} \\
                        \text{Gpa1} + \text{Ste4Ste18} & \rightarrow \text{Gpa1Ste4Ste18}
                        \end{align*}
                        \]
                    </p>
                </div>
                <strong>Explanation</strong>
                <p>
                    After Ste2 binds with muscone, it interacts with the G protein, causing the exchange of GDP
                    bound to the G protein with GTP in the cytoplasm, releasing Ste4 and Ste18. After Gpa1 catalyzes the
                    conversion of GTP to GDP, it can return to the cytoplasm and rebind, forming a G protein trimer.
                    Since the original signaling pathway is the yeast pheromone signaling pathway, with the ligand being
                    the pheromone, this section uses Pheromone to represent the molecules that activate the receptor.
                </p>


                <strong>Ordinary Differential Equations</strong>
                <div>
                    <p>
                        \[
                        \begin{align*}
                        \frac{d{P}}{dt} & = k_{off_{PS}}{PS} - k_{on_{PS}}{P}*{S} \\
                        \frac{d{S}}{dt} & = k_{off_{PS}}{PS} - k_{on_{PS}}{P}*{S} \\
                        \frac{d{PS}}{dt} & = k_{on_{PS}}{P}*{S} + k_{off_{SG}} {PSG} \\
                        & \quad - k_{off_{PS}}{PS} - k_{on_{SG}}{PS} * {GSS} \\
                        \frac{d{GSS}}{dt} & = k_{on_{GS}}{SS} * {G} - k_{on_{SG}}{PS} * {GSS} \\
                        \frac{d{PSGSS}}{dt} & = k_{on_{SG}}{PS} * {GSS} - k_{on_{GS}}{PSGSS} \\
                        \frac{d{PSG}}{dt} & = k_{on_{GS}}{PSGSS} - k_{off_{SG}} {PSG} \\
                        \frac{d{SS}}{dt} & = k_{on_{GS}}{PSGSS} - k_{on_{GS}}{SS} * {G} \\
                        \frac{d{G}}{dt} & = k_{off_{SG}} {PSG} - k_{on_{GS}}{SS} * {G} \\
                        \end{align*}
                        \]
                    </p>
                </div>
                <strong>Variables</strong>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">Table 1: Variables of Receptor
                    Activation Model</p>
                <table>
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>Represents Molecule</th>
                            <th>Concentration (\(\mu M\))</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>\(P\)</td>
                            <td>Pheromone</td>
                            <td>-</td>
                        </tr>
                        <tr>
                            <td>\(S\)</td>
                            <td>Ste2</td>
                            <td>\(0.287\)</td>
                        </tr>
                        <tr>
                            <td>\(PS\)</td>
                            <td>PheromoneSte2</td>
                            <td>-</td>
                        </tr>
                        <tr>
                            <td>\(GSS\)</td>
                            <td>Gpa1Ste4Ste18</td>
                            <td>-</td>
                        </tr>
                        <tr>
                            <td>\(PSGSS\)</td>
                            <td>PheromoneSte2Gpa1Ste4Ste18</td>
                            <td>-</td>
                        </tr>
                        <tr>
                            <td>\(PSG\)</td>
                            <td>PheromoneSte2Gpa1</td>
                            <td>-</td>
                        </tr>
                        <tr>
                            <td>\(SS\)</td>
                            <td>Ste4Ste18</td>
                            <td>\(2\times 10^{-4}\)</td>
                        </tr>
                        <tr>
                            <td>\(G\)</td>
                            <td>Gpa1</td>
                            <td>\(2\times 10^{-4}\)</td>
                        </tr>
                    </tbody>
                </table>

                <strong>Parameters</strong>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">Table 2: Parameters of Receptor
                    Activation Model</p>
                <table>
                    <thead>
                        <tr>
                            <th>Parameter</th>
                            <th>Meaning</th>
                            <th>Value</th>
                            <th>Unit</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>\(k_{on_{PS}}\)</td>
                            <td>Binding rate of Pheromone to Ste2</td>
                            <td>\(0.185\)</td>
                            <td>\({\mu M}^{-1} \cdot s^{-1}\)</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{PS}}\)</td>
                            <td>Dissociation rate of PheromoneSte2</td>
                            <td>\(1 \times 10^{-3}\)</td>
                            <td>\(s^{-1}\)</td>
                        </tr>
                        <tr>
                            <td>\(k_{on_{SG}}\)</td>
                            <td>Binding rate of PheromoneSte2 to Gpa1Ste4Ste18</td>
                            <td>-</td>
                            <td>\({\mu M}^{-1} \cdot s^{-1}\)</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{SG}}\)</td>
                            <td>Dissociation rate of PheromoneSte2Gpa1</td>
                            <td>-</td>
                            <td>\(s^{-1}\)</td>
                        </tr>
                        <tr>
                            <td>\(k_{on_{GS}}\)</td>
                            <td>Binding rate of Gpa1 to Ste4Ste18</td>
                            <td>-</td>
                            <td>\({\mu M}^{-1} \cdot s^{-1}\)</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{GS}}\)</td>
                            <td>Dissociation rate of PheromoneGpa1Ste4Ste18</td>
                            <td>-</td>
                            <td>\(s^{-1}\)</td>
                        </tr>
                    </tbody>
                </table>

                <strong>Initial Conditions</strong>
                <p>
                    There are \(0.3{\mu M}\) of Pheromone and \(1{\mu M}\) of inactive G proteins. Known variables are
                    entered, other variables are set to zero, and unknown parameters are defined. After starting the
                    simulation, reactions occur according to the equations listed.
                </p>

                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/3-1.png" alt="Receptor Activation"
                        class="shadowed-image" style="width: 80%; max-width: 800px;">
                </div>
                <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>
                <script>
                    function toggleCodeSnippet5() {
                        var codeSnippet = document.getElementById("codeSnippet5");
                        var button = document.getElementById("Button5"); // 注意变量名通常使用小写开头
                        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>
                <h4>Formation of the Scaffold</h4>
                <strong>Reactions</strong>:
                <div>
                    \[
                    \begin{align*}
                    Ste5 + Ste5 & \leftrightarrows Ste5Ste5 \\
                    Ste4Ste18Ste5 + Ste5 & \leftrightarrows Ste4Ste18Ste5Ste5 \\
                    Ste4Ste18Ste5 + Ste4Ste18Ste5 & \leftrightarrows Ste4Ste18Ste5Ste5Ste4Ste18 \\
                    Ste4Ste18 + Ste5 & \leftrightarrows Ste4Ste18Ste5 \\
                    Ste4Ste18 + Ste5Ste5 & \leftrightarrows Ste4Ste18Ste5Ste5 \\
                    Ste4Ste18 + Ste4Ste18Ste5Ste5 & \leftrightarrows Ste4Ste18Ste5Ste5Ste4Ste18 \\
                    \end{align*}
                    \]
                </div>
                <p><strong>Explanation</strong>: The binding of Ste4Ste18 with Ste5 and the oligomerization of Ste5 is a
                    process that is not completely independent. Many equations can be derived through combinations, but
                    here
                    we only consider the dimerization process, and each reaction is reversible. Since Ste5 actually
                    binds to
                    Ste4, we abbreviate Ste5 as S5 and Ste4 as S4 in the equations.</p>
                <p></p><strong>Ordinary Differential Equations</strong>:</p>
                <div>
                    \[
                    \begin{align*}
                    \frac{d{S5}}{dt} & = -2 k_{on_{S5:S5}}{S5}^2 + 2 k_{off_{S5:S5}}{S55} \\
                    & \quad -k_{on_{S4:S5}}{S5}*{S4} + k_{off_{S4:S5}}{S45} \\
                    & \quad -k_{on_{S4S5:S5}}{S5}*{S45}+k_{off_{S4S5:S5}}{S5}*{S455}\\
                    \frac{d{S55}}{dt} & = k_{on_{S5:S5}} {S5}^2- k_{off_{S5:S5}}{S55} \\
                    & \quad - k_{on_{S4:S5S5}} {S4}* {S55} + k_{off_{S4:S5S5}} {S455} \\
                    \frac{d{S45}}{dt} & = k_{on_{S4:S5}}{S5}*{S4}- k_{off_{S4:S5}} {S45} \\
                    & \quad -k_{on_{S4S5:S5}}{S5}*{S45}+k_{off_{S4S5:S5}}{S5}*{S455}\\
                    & \quad -2 k_{on_{S4S5:S5S4}}{S45}^2 + 2 k_{off_{S4S5:S5S4}}{S4554} \\
                    \frac{d{S455}}{dt} & = k_{on_{S4:S5S5}} {S4}* {S55} - k_{off_{S4:S5S5}} {S455} \\
                    & \quad +k_{on_{S4S5:S5}}{S5}*{S45}-k_{off_{S4S5:S5}}{S5}*{S455}\\
                    & \quad -k_{on_{S4:S5S5S4}}{S455}*{S4}+k_{off_{S4:S5S5S4}}{S4554}\\
                    \frac{d{S4554}}{dt} & = k_{on_{S4:S5S5S4}}{S455}*{S4}-k_{off_{S4:S5S5S4}}{S4554}\\
                    & \quad +k_{on_{S4S5:S5S4}}{S45}^2 - k_{off_{S4S5:S5S4}}{S4554} \\
                    \frac{d{S4}}{dt} & = -k_{on_{S4:S5}}{S5}*{S4}+ k_{off_{S4:S5}} {S45} \\
                    & \quad - k_{on_{S4:S5S5}} {S4}* {S55} + k_{off_{S4:S5S5}} {S455} \\
                    & \quad -k_{on_{S4:S5S5S4}}{S455}*{S4}+k_{off_{S4:S5S5S4}}{S4554}\\
                    \end{align*}
                    \]
                </div>
                <strong>Variables</strong>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">Table 3: Variables of Scaffold
                    Formation Model</p>
                <table>
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>Represents Molecule</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>\(S5\)</td>
                            <td>Ste5</td>
                        </tr>
                        <tr>
                            <td>\(S55\)</td>
                            <td>Ste5Ste5</td>
                        </tr>
                        <tr>
                            <td>\(S45\)</td>
                            <td>Ste4Ste18Ste5</td>
                        </tr>
                        <tr>
                            <td>\(S455\)</td>
                            <td>Ste4Ste18Ste5Ste5</td>
                        </tr>
                        <tr>
                            <td>\(S4554\)</td>
                            <td>Ste4Ste18Ste5Ste5Ste4Ste18</td>
                        </tr>
                        <tr>
                            <td>\(S4\)</td>
                            <td>Ste4Ste18</td>
                        </tr>
                    </tbody>
                </table>

                <strong>Parameters</strong>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">Table 4: Parameters of Scaffold
                    Formation Model</p>
                <table>
                    <thead>
                        <tr>
                            <th>Parameter</th>
                            <th>Meaning</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>\(k_{on_{S5:S5}}\)</td>
                            <td>Binding rate of Ste5 and Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{S5:S5}}\)</td>
                            <td>Dissociation rate of Ste5:Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{on_{S4:S5}}\)</td>
                            <td>Binding rate of Ste4Ste18 and Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{S4:S5}}\)</td>
                            <td>Dissociation rate of Ste4Ste18:Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{on_{S4S5:S5}}\)</td>
                            <td>Binding rate of Ste4Ste18Ste5 and Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{S4S5:S5}}\)</td>
                            <td>Dissociation rate of Ste4Ste18Ste5:Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{on_{S4:S5S5}}\)</td>
                            <td>Binding rate of Ste4Ste18 and Ste5Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{S4:S5S5}}\)</td>
                            <td>Dissociation rate of Ste4Ste18:Ste5Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{on_{S4:S5S5S4}}\)</td>
                            <td>Binding rate of Ste4Ste18Ste5Ste5 and Ste4Ste18</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{S4:S5S5S4}}\)</td>
                            <td>Dissociation rate of Ste4Ste18Ste5Ste5:Ste4Ste18</td>
                        </tr>
                        <tr>
                            <td>\(k_{on_{S4S5:S5S4}}\)</td>
                            <td>Binding rate of Ste4Ste18Ste5 and Ste4Ste18Ste5</td>
                        </tr>
                        <tr>
                            <td>\(k_{off_{S4S5:S5S4}}\)</td>
                            <td>Dissociation rate of Ste4Ste18Ste5:Ste5Ste4Ste18</td>
                        </tr>
                    </tbody>
                </table>

                <strong>Initial conditions</strong>
                <p>Assume that before signal transduction starts, there are only free Ste5 and just released Ste4Ste18
                    in the cell, with concentrations both equal to 1, and parameters are assumed. After starting the
                    simulation, reactions occur according to the listed equations, and after a period of time, the
                    concentrations reach equilibrium.</p>
                <div class="image-container">
                    <img src="https://static.igem.wiki/teams/5187/wiki-model-fig/3-2.png" alt="Scaffold Formation"
                        class="shadowed-image" style="width: 80%; max-width: 800px;">
                </div>
                <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>
                <script>
                    function toggleCodeSnippet6() {
                        var codeSnippet = document.getElementById("codeSnippet6");
                        var button = document.getElementById("Button6"); // 注意变量名通常使用小写开头
                        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>
                <h4>Cascading Reactions</h4>
                <p><strong>Reactions</strong>:</p>
                <div>
                    <p>
                        \[
                        \begin{align*}
                        Ste5_{off_{Ste11}} + Ste11_{off} & \leftrightarrows Ste5Ste11 \\
                        Ste5_{off_{Ste7}} + Ste7_{off} & \leftrightarrows Ste5Ste7 \\
                        Ste5_{off_{Fus3}} + Fus3_{off} & \leftrightarrows Ste5Fus3 \\
                        \end{align*}
                        \]
                    </p>
                    <p>
                        \[
                        \begin{align*}
                        Ste11 & \xrightarrow {Ste20} Ste11_{pS} \\
                        Ste11_{pS} & \xrightarrow {Ste20} Ste11_{pSpS} \\
                        Ste11_{pSpS} & \xrightarrow {Ste20} Ste11_{pSpSpT} \\
                        \end{align*}
                        \]
                    </p>
                    <p>
                        \[
                        \begin{align*}
                        Ste7 & \xrightarrow {Ste11_{pS},Ste11_{pSpS},Ste11_{pSpSpT}} Ste7_{pS} \\
                        Ste7_{pS} & \xrightarrow {Ste11_{pS},Ste11_{pSpS},Ste11_{pSpSpT}} Ste7_{pSpT}\\
                        \end{align*}
                        \]
                    </p>
                    <p>
                        \[
                        \begin{align*}
                        Fus3 & \xrightarrow {Ste7_{pS},Ste7_{pSpT}} Fus3_{pY} \\
                        Fus3 & \xrightarrow {Ste7_{pS},Ste7_{pSpT}} Fus3_{pT} \\
                        Fus3_{pY} & \xrightarrow {Ste7_{pS},Ste7_{pSpT}} Fus3_{pYpT} \\
                        Fus3_{pT} & \xrightarrow {Ste7_{pS},Ste7_{pSpT}} Fus3_{pYpT} \\
                        \end{align*}
                        \]
                    </p>
                </div>
                <h2>Explanation</h2>
                <p>Only the Ste5 bound to the scaffold has significance in recruiting Ste11, Ste7, and Fus3, and the
                    binding to these three proteins is independent. Therefore, the Ste5 on the scaffold can be treated
                    as three copies to calculate its binding with Ste11, Ste7, and Fus3 separately. The three proteins
                    are activated through cascading phosphorylation initiated by Ste20, and the conditions for the
                    reactions to occur are that the kinases are activated and bound to the scaffold. Each protein has
                    different forms of phosphorylation modifications, which may have different catalytic reaction rates;
                    thus, they need to be listed separately.</p>

                <h2>Ordinary Differential Equations</h2>
                <p>The forms of multiple reactions are similar; here, only a portion is selected for demonstration.</p>
                <p>Taking Ste11 as an example to illustrate the binding of the kinase with Ste5:</p>
                <div>
                    <p>
                        \[
                        \begin{align*}
                        \frac{dSte5_{off_{Ste11}}}{dt} & = k_{off_{Ste5Ste11}}Ste5Ste11 -
                        k_{on_{Ste5Ste11}}Ste5_{off_{Ste11}} * Ste11_{off} \\
                        \frac{dSte11_{off}}{dt} & = k_{off_{Ste5Ste11}}Ste5Ste11 - k_{on_{Ste5Ste11}}Ste5_{off_{Ste11}}
                        * Ste11_{off} \\
                        \frac{dSte5Ste11}{dt} & = - k_{off_{Ste5Ste11}}Ste5Ste11 + k_{on_{Ste5Ste11}}Ste5_{off_{Ste11}}
                        * Ste11_{off} \\
                        \end{align*}
                        \]
                    </p>
                </div>

                <h2>Variables</h2>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">Table 5: Variables of Ste11 Binding
                    Model</p>
                <table>
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>Represents Molecule</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>\(Ste5_{off_{Ste11}}\)</td>
                            <td>Unbound kinase Ste5</td>
                        </tr>
                        <tr>
                            <td>\(Ste11_{off}\)</td>
                            <td>Unbound scaffold Ste11</td>
                        </tr>
                        <tr>
                            <td>\(Ste5Ste11\)</td>
                            <td>Bound Ste5 and Ste11</td>
                        </tr>
                    </tbody>
                </table>

                <h2>Parameters</h2>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">Table 6: Parameters of Ste11 Binding
                    Model</p>
                <table>
                    <thead>
                        <tr>
                            <th>Parameter</th>
                            <th>Meaning</th>
                            <th>Units</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>\(k_{off_{Ste5Ste11}}\)</td>
                            <td>Dissociation rate of Ste5Ste11</td>
                            <td>\({s}^{-1}\)</td>
                        </tr>
                        <tr>
                            <td>\(k_{on_{Ste5Ste11}}\)</td>
                            <td>Association rate of Ste5 and Ste11</td>
                            <td>\({\mu M}^{-1}·s^{-1}\)</td>
                        </tr>
                    </tbody>
                </table>
                <p>Using Ste11 catalyzing the phosphorylation of Ste7 as an example to illustrate the phosphorylation
                    process:</p>
                <div>
                    <p>
                        \[
                        \frac{dSte7_{pS}}{dt} =
                        kcat_{Ste11pS{Ste7_{pS}}}Ste11_{pS}*\frac{Ste5Ste11}{Ste11_{total}}*\frac{Ste5Ste7}{Ste7_{total}}*\frac{Ste7_{pS}}{Ste7_{total}}+\ldots
                        \]
                    </p>
                </div>

                <h2>Variables</h2>
                <p style="text-align: center; font-size: 0.9em; margin-top: 10px;">Table 7: Variables of Ste7
                    Phosphorylation Model</p>
                <table>
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>Represents Molecule</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>\(Ste7_{pS}\)</td>
                            <td>Phosphorylated Ste7 at S359</td>
                        </tr>
                        <tr>
                            <td>\(Ste11_{pS}\)</td>
                            <td>Phosphorylated Ste11 at S302</td>
                        </tr>
                        <tr>
                            <td>\(Ste5Ste11\)</td>
                            <td>Ste11 bound to Ste5</td>
                        </tr>
                        <tr>
                            <td>\(Ste5Ste7\)</td>
                            <td>Ste7 bound to Ste5</td>
                        </tr>
                        <tr>
                            <td>\(Ste7_{total}\)</td>
                            <td>Total amount of Ste7</td>
                        </tr>
                    </tbody>
                </table>

                <h2>Parameters</h2>
                <p>\(kcat_{Ste11pS{Ste7_{pS}}}\): Represents the catalytic efficiency in this case.</p>

                <h2>Initial Conditions</h2>
                <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>
                <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>

    <div class="row mt-4">
        <div class="col-lg-12">
            <h2 id="topic4">
                <h2>lactate Absorption Model</h2>
                <hr>
                <h3>Model Description</h3>
                <p>
                    Our project alleviates IBD symptoms by secreting lactate in the intestine to weaken
                    autoimmunity, but it may face two aspects of doubt: first, why can't lactate or lactate
                    bacteria probiotics be taken directly; second, will the considerable secretion of lactate cause
                    acidosis in the human body? We hope to model our project to describe how it has a better sustained
                    release effect compared to direct lactate consumption, more precise control compared to
                    probiotic intake, and to avoid adaptation of the immune system and gut microbiota. Additionally, we
                    need to develop a computational method to achieve precise control over lactate secretion to
                    regulate treatment time and prevent acidosis.
                </p>

                <h3>Basic Assumptions</h3>
                <ol>
                    <li>Only the absorption process of lactate is described, without considering other effects of
                        lactate on the human body.</li>
                    <li>It is assumed that the location where lactate acts on immune cells is separated from the
                        intestinal environment.</li>
                    <li>It is assumed that the secretion rate of lactate is uniform, and activated yeast cells
                        secrete a total amount of lactate \(a\) within time \(t_0\), secreting \(\frac{a}{n}\) of
                        lactate in the time interval \(\frac{t_0}{n}\).</li>
                </ol>
                <h3>Model Equation</h3>
                <p>
                    According to Fick's law :
                </p>
                <p>
                    \[
                    \frac{dQd}{dt} = -D \frac{dC}{dx}
                    \]
                </p>
                <p>
                </p>
                Because the distance between diffusion is very small, the concentration difference between the two sides
                of the system replaces the concentration gradient, so this formula can be simplified to:
                </p>
                <p>
                    \[
                    \frac{dQd}{dt} = K\times Qd
                    \]
                </p>
                <h4>Direct Administration</h4>
                <p>In the case of direct lactate intake, the content of lactate in the intestine can be
                    described by the following equation:</p>
                <p>
                    \[ Q_d = (Q_{d_0} + a)e^{-(k_1 + k_2)t} \]
                </p>
                <p><strong>Explanation</strong>: The absorption rate is proportional to the concentration of lactic
                    acid, and the concentration of lactate declines in an exponential form.</p>

                <p><strong>Parameters</strong>:</p>
                <ul>
                    <li>\( Q_d \): Remaining lactate content in the intestinal environment</li>
                    <li>\( Q_{d_0} \): Initial lactate content in the intestinal environment</li>
                    <li>\( a \): Total amount of lactate ingested</li>
                    <li>\( k_1 \): Absorption rate of lactate</li>
                    <li>\( k_2 \): Rate at which lactate is eliminated due to metabolism and excretion</li>
                    <li>\( t \): Time</li>
                </ul>

                <h4>Induced Secretion</h4>
                <p>The remaining lactate content in the intestinal environment has a recursive relationship over
                    time:</p>
                <p>
                    \[ Q_{d_i} = \left(Q_{d_{i-1}} + \frac{a}{n}\right)e^{-(k_1 + k_2)(t - (i-1)\frac{t_0}{n})} \]
                </p>
                <p>We can obtain the expression:</p>
                <p>
                    \[ 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>
                <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
                    equilibrium after a certain period.</p>
        </div>
    </div>

</body>

</html>
{% endblock %}