Location: NVC @ 778f87972db2 / Mm2_p2.cellml

Author:
Soroush Safaei <ssaf006@aucklanduni.ac.nz>
Date:
2018-03-12 20:05:34+13:00
Desc:
convert to bg
Permanent Source URI:
https://models.fieldml.org/workspace/4bd/rawfile/778f87972db2ce4cd94b41a154e877ade7bdb3dc/Mm2_p2.cellml

<?xml version='1.0'?>
<model name="metabolic_model" xmlns="http://www.cellml.org/cellml/1.1#" xmlns:cellml="http://www.cellml.org/cellml/1.1#" xmlns:xlink="http://www.w3.org/1999/xlink">
    <import xlink:href="Units.cellml">
        <units name="amount" units_ref="amount"/>
        <units name="per_amount" units_ref="per_amount"/>
        <units name="per_sec" units_ref="per_sec"/>
        <units name="amount_per_sec" units_ref="amount_per_sec"/>
        <units name="per_amount_per_sec" units_ref="per_amount_per_sec"/>
        <units name="per_amount2_per_sec" units_ref="per_amount2_per_sec"/>
    </import>
    <component name="Mm2">
        <variable name="t" units="second"/>
        <variable name="stimulus" units="amount"/>
        <variable initial_value="0" name="oHb" units="amount"/>
        <variable initial_value="0" name="dHb" units="amount"/>
        <variable initial_value="0" name="O_2" units="amount"/>
        <variable initial_value="0" name="glucose" units="amount"/>
        <variable initial_value="0" name="inputDelay" units="amount"/>
        <variable initial_value="0" name="inputDelay_2" units="amount"/>
        <variable initial_value="0" name="inputDelay_3" units="amount"/>
        <variable initial_value="0" name="inputDelay_4" units="amount"/>
        <variable initial_value="0" name="inputDelay_5" units="amount"/>
        <variable initial_value="0" name="glucoseFbDelay" units="amount"/>
        <variable initial_value="0" name="glucosefeedback" units="amount"/>
        <!-- blood flow-->
        <variable name="k_flow" units="per_sec"/>
        <!-- glucose in arterial blood-->
        <variable initial_value="100" name="G_body" units="amount"/>
        <!-- glucose feedback delay-->
        <variable initial_value="100" name="GD_body" units="per_sec"/>
        <!-- oxygen in arterial blood-->
        <variable initial_value="100" name="O_2_body" units="amount"/>
        <!-- oxygenated hemoglobin in arterial blood-->
        <variable initial_value="100" name="oHb_body" units="amount"/>
        <!-- deoxygenated hemoglobin in arterial blood-->
        <variable initial_value="100" name="dHb_body" units="amount"/>
        <!-- output signal-->
        <variable name="y" units="dimensionless"/>
        <variable name="v1_f" units="amount_per_sec"/>
        <variable name="v1_b" units="amount_per_sec"/>
        <variable name="vin_oHb" units="amount_per_sec"/>
        <variable name="vout_oHb" units="amount_per_sec"/>
        <variable name="vin_dHb" units="amount_per_sec"/>
        <variable name="vout_dHb" units="amount_per_sec"/>
        <variable name="vin_G" units="amount_per_sec"/>
        <variable name="vout_G" units="amount_per_sec"/>
        <variable name="vin_O2" units="amount_per_sec"/>
        <variable name="vout_O2" units="amount_per_sec"/>
        <variable name="v_basal" units="amount_per_sec"/>
        <variable name="v_stim" units="amount_per_sec"/>
        <variable name="input_1" units="amount_per_sec"/>
        <variable name="v_ID" units="amount_per_sec"/>
        <variable name="v_toGFBD" units="amount_per_sec"/>
        <variable name="v_GFBD" units="amount_per_sec"/>
        <variable name="v_GFB" units="amount_per_sec"/>
        <variable name="v_ID2" units="amount_per_sec"/>
        <variable name="v_ID3" units="amount_per_sec"/>
        <variable name="v_ID4" units="amount_per_sec"/>
        <variable name="v_ID5" units="amount_per_sec"/>
        <!-- parameters-->
        <variable initial_value="627.1792" name="k1_f" units="per_sec"/>
        <variable initial_value="1381.9932" name="k1_b" units="per_amount_per_sec"/>
        <variable initial_value="5.0587" name="k_basal" units="per_amount_per_sec"/>
        <variable initial_value="102.6292" name="kflow_glucose" units="amount_per_sec"/>
        <variable initial_value="2905.5532" name="k_y" units="dimensionless"/>
        <variable initial_value="189.3795" name="k_metabolic" units="per_sec"/>
        <variable initial_value="111.8459" name="k_m" units="amount"/>
        <variable initial_value="11.67404" name="k_i2" units="per_amount2_per_sec"/>
        <variable initial_value="1.3159" name="proportion_1" units="dimensionless"/>
        <variable initial_value="0.0" name="proportion_2" units="dimensionless"/>
        <variable initial_value="0.9575" name="k_ID" units="per_sec"/>
        <variable initial_value="18641.1377" name="k_GFBD" units="per_sec"/>
        <variable initial_value="11921.2175" name="k_GFB" units="per_sec"/>
        <variable initial_value="0.9613" name="k_ID2" units="per_sec"/>
        <variable initial_value="0.9484" name="k_ID3" units="per_sec"/>
        <variable initial_value="0.9703" name="k_ID4" units="per_sec"/>
        <variable initial_value="2687.7052" name="k_ID5" units="per_sec"/>
        <!-- rate of releasing oxyhemoglobin into oxygen and deoxyhemoglobin-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>v1_f</ci>
                <apply>
                    <times/>
                    <ci>k1_f</ci>
                    <ci>oHb</ci>
                </apply>
            </apply>
            <!-- rate of binding oxygen and deoxyhemoglobin into oxyhemoglobin-->
            <apply>
                <eq/>
                <ci>v1_b</ci>
                <apply>
                    <times/>
                    <ci>k1_b</ci>
                    <ci>dHb</ci>
                    <ci>O_2</ci>
                </apply>
            </apply>
            <!-- oxyhemoglobin influx-->
            <apply>
                <eq/>
                <ci>vin_oHb</ci>
                <apply>
                    <times/>
                    <ci>oHb_body</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <!-- oxyhemoglobin outflux-->
            <apply>
                <eq/>
                <ci>vout_oHb</ci>
                <apply>
                    <times/>
                    <ci>oHb</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <!-- deoxyhemoglobin influx-->
            <apply>
                <eq/>
                <ci>vin_dHb</ci>
                <apply>
                    <times/>
                    <ci>dHb_body</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <!-- deoxyhemoglobin outflux-->
            <apply>
                <eq/>
                <ci>vout_dHb</ci>
                <apply>
                    <times/>
                    <ci>dHb</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <!-- glucose influx-->
            <apply>
                <eq/>
                <ci>vin_G</ci>
                <apply>
                    <times/>
                    <ci>G_body</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <!-- glucose outflux-->
            <apply>
                <eq/>
                <ci>vout_G</ci>
                <apply>
                    <times/>
                    <ci>glucose</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <!-- oxygen influx-->
            <apply>
                <eq/>
                <ci>vin_O2</ci>
                <apply>
                    <times/>
                    <ci>O_2_body</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <!-- oxygen outflux-->
            <apply>
                <eq/>
                <ci>vout_O2</ci>
                <apply>
                    <times/>
                    <ci>O_2</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <!-- basal metabolism-->
            <apply>
                <eq/>
                <ci>v_basal</ci>
                <apply>
                    <times/>
                    <ci>k_basal</ci>
                    <apply>
                        <power/>
                        <ci>O_2</ci>
                        <ci>proportion_1</ci>
                    </apply>
                    <ci>glucose</ci>
                </apply>
            </apply>
            <!-- metabolism during stimulation-->
            <apply>
                <eq/>
                <ci>v_stim</ci>
                <apply>
                    <times/>
                    <ci>inputDelay_5</ci>
                    <apply>
                        <power/>
                        <ci>O_2</ci>
                        <ci>proportion_2</ci>
                    </apply>
                    <ci>glucose</ci>
                    <ci>k_i2</ci>
                </apply>
            </apply>
            <!-- delay state reactions-->
            <apply>
                <eq/>
                <ci>input_1</ci>
                <apply>
                    <times/>
                    <ci>k_metabolic</ci>
                    <ci>stimulus</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_ID</ci>
                <apply>
                    <times/>
                    <ci>k_ID</ci>
                    <ci>inputDelay</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_toGFBD</ci>
                <apply>
                    <times/>
                    <ci>GD_body</ci>
                    <ci>glucose</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_GFBD</ci>
                <apply>
                    <times/>
                    <ci>glucoseFbDelay</ci>
                    <ci>k_GFBD</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_GFB</ci>
                <apply>
                    <times/>
                    <ci>glucosefeedback</ci>
                    <ci>k_GFB</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_ID2</ci>
                <apply>
                    <times/>
                    <ci>inputDelay_2</ci>
                    <ci>k_ID2</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_ID3</ci>
                <apply>
                    <times/>
                    <ci>inputDelay_3</ci>
                    <ci>k_ID3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_ID4</ci>
                <apply>
                    <times/>
                    <ci>inputDelay_4</ci>
                    <ci>k_ID4</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_ID5</ci>
                <apply>
                    <times/>
                    <ci>inputDelay_5</ci>
                    <ci>k_ID5</ci>
                </apply>
            </apply>
            <!-- stimulus input signal-->
            <apply>
                <eq/>
                <ci>stimulus</ci>
                <piecewise>
                    <piece>
                        <cn cellml:units="amount">1</cn>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>t</ci>
                                <cn cellml:units="second">0.5</cn>
                            </apply>
                            <apply>
                                <lt/>
                                <ci>t</ci>
                                <cn cellml:units="second">1.0</cn>
                            </apply>
                        </apply>
                    </piece>
                    <otherwise>
                        <cn cellml:units="amount">0</cn>
                    </otherwise>
                </piecewise>
            </apply>
            <!-- change in oxyhemoglobin level-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>oHb</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <plus/>
                        <apply>
                            <minus/>
                            <ci>v1_b</ci>
                            <ci>v1_f</ci>
                        </apply>
                        <ci>vin_oHb</ci>
                    </apply>
                    <ci>vout_oHb</ci>
                </apply>
            </apply>
            <!-- change in deoxyhemoglobin level-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>dHb</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <plus/>
                        <apply>
                            <minus/>
                            <ci>v1_f</ci>
                            <ci>v1_b</ci>
                        </apply>
                        <ci>vin_dHb</ci>
                    </apply>
                    <ci>vout_dHb</ci>
                </apply>
            </apply>
            <!-- change in oxygen level-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>O_2</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <plus/>
                        <apply>
                            <minus/>
                            <apply>
                                <minus/>
                                <apply>
                                    <minus/>
                                    <ci>v1_f</ci>
                                    <ci>v1_b</ci>
                                </apply>
                                <apply>
                                    <times/>
                                    <ci>v_basal</ci>
                                    <ci>proportion_1</ci>
                                </apply>
                            </apply>
                            <apply>
                                <times/>
                                <ci>v_stim</ci>
                                <ci>proportion_2</ci>
                            </apply>
                        </apply>
                        <ci>vin_O2</ci>
                    </apply>
                    <ci>vout_O2</ci>
                </apply>
            </apply>
            <!-- change in glucose level-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>glucose</ci>
                </apply>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <apply>
                            <minus/>
                            <ci>vin_G</ci>
                            <ci>vout_G</ci>
                        </apply>
                        <ci>v_basal</ci>
                    </apply>
                    <ci>v_stim</ci>
                </apply>
            </apply>
            <!-- dealy state-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>inputDelay</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>input_1</ci>
                    <ci>v_ID</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>inputDelay_2</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_ID</ci>
                    <ci>v_ID2</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>inputDelay_3</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_ID2</ci>
                    <ci>v_ID3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>inputDelay_4</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_ID3</ci>
                    <ci>v_ID4</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>inputDelay_5</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_ID4</ci>
                    <ci>v_ID5</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>glucoseFbDelay</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_toGFBD</ci>
                    <ci>v_GFBD</ci>
                </apply>
            </apply>
            <!-- glucose feedback to the blood flow-->
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>glucosefeedback</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_GFBD</ci>
                    <ci>v_GFB</ci>
                </apply>
            </apply>
            <!-- blood flow-->
            <apply>
                <eq/>
                <ci>k_flow</ci>
                <apply>
                    <divide/>
                    <ci>kflow_glucose</ci>
                    <apply>
                        <plus/>
                        <ci>k_m</ci>
                        <ci>glucosefeedback</ci>
                    </apply>
                </apply>
            </apply>
            <!-- output signal-->
            <apply>
                <eq/>
                <ci>y</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>k_y</ci>
                        <ci>oHb</ci>
                    </apply>
                    <ci>dHb</ci>
                </apply>
            </apply>
        </math>
    </component>
</model>