Location: NVC @ 4e32e1754f46 / bondgraph / Mm3_p4.cellml

Author:
ssaf006 <ssaf006@aucklanduni.ac.nz>
Date:
2019-06-06 20:47:37+12:00
Desc:
fixed the nvc model
Permanent Source URI:
http://models.cellml.org/workspace/4bd/rawfile/4e32e1754f465d7374b6a52d1371fba0a346c5c4/bondgraph/Mm3_p4.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="Mm3">
        <variable initial_value="0" 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="glucoseFbDelay" units="amount"/>
        <variable initial_value="0" name="glucoseFbDelay_2" units="amount"/>
        <variable initial_value="0" name="glucoseFbDelay_3" units="amount"/>
        <variable initial_value="0" name="glucosefeedback" units="amount"/>
        <variable name="k_flow" units="per_sec"/>
        <variable initial_value="100" name="G_body" units="amount"/>
        <variable initial_value="100" name="O_2_body" units="amount"/>
        <variable initial_value="100" name="oHb_body" units="amount"/>
        <variable initial_value="100" name="dHb_body" units="amount"/>
        <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_GFBD2" units="amount_per_sec"/>
        <variable name="v_GFBD3" units="amount_per_sec"/>
        <variable name="v_GFB" units="amount_per_sec"/>
        <!-- parameters-->
        <variable initial_value="1.3952" name="k1_f" units="per_sec"/>
        <variable initial_value="0.0011" name="k1_b" units="per_amount_per_sec"/>
        <variable initial_value="174.588" name="k_basal" units="per_amount_per_sec"/>
        <variable initial_value="2438.726" name="kflow_glucose" units="amount_per_sec"/>
        <variable initial_value="297.9752" name="k_y" units="dimensionless"/>
        <variable initial_value="19943.3114" name="k_metabolic" units="per_sec"/>
        <variable initial_value="3.3201" name="k_m" units="amount"/>
        <variable initial_value="2.1006" name="proportion_1" units="dimensionless"/>
        <variable initial_value="0.0011" name="proportion_2" units="dimensionless"/>
        <variable initial_value="7.083" name="k_ID" units="per_sec"/>
        <variable initial_value="2603.4638" name="GD_body" units="per_sec"/>
        <variable initial_value="19932.2693" name="k_GFBD" units="per_sec"/>
        <variable initial_value="0.6959" name="k_GFBD2" units="per_sec"/>
        <variable initial_value="0.6676" name="k_GFBD3" units="per_sec"/>
        <variable initial_value="0.4752" name="k_GFB" units="per_sec"/>
        <!--var k_i3: per_amount2_per_sec {init: ?};
this is added in order to have consistent units for v_stim; similar to Mm2-->
        <!--reactions-->
        <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>
            <apply>
                <eq/>
                <ci>v1_b</ci>
                <apply>
                    <times/>
                    <ci>k1_b</ci>
                    <ci>dHb</ci>
                    <ci>O_2</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>vin_oHb</ci>
                <apply>
                    <times/>
                    <ci>oHb_body</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>vout_oHb</ci>
                <apply>
                    <times/>
                    <ci>oHb</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>vin_dHb</ci>
                <apply>
                    <times/>
                    <ci>dHb_body</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>vout_dHb</ci>
                <apply>
                    <times/>
                    <ci>dHb</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>vin_G</ci>
                <apply>
                    <times/>
                    <ci>G_body</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>vout_G</ci>
                <apply>
                    <times/>
                    <ci>glucose</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>vin_O2</ci>
                <apply>
                    <times/>
                    <ci>O_2_body</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>vout_O2</ci>
                <apply>
                    <times/>
                    <ci>O_2</ci>
                    <ci>k_flow</ci>
                </apply>
            </apply>
            <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>
            <apply>
                <eq/>
                <ci>v_stim</ci>
                <apply>
                    <times/>
                    <ci>inputDelay</ci>
                    <apply>
                        <power/>
                        <ci>O_2</ci>
                        <ci>proportion_2</ci>
                    </apply>
                    <ci>glucose</ci>
                </apply>
            </apply>
            <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_GFBD2</ci>
                <apply>
                    <times/>
                    <ci>glucoseFbDelay_2</ci>
                    <ci>k_GFBD2</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_GFBD3</ci>
                <apply>
                    <times/>
                    <ci>glucoseFbDelay_3</ci>
                    <ci>k_GFBD3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>v_GFB</ci>
                <apply>
                    <times/>
                    <ci>glucosefeedback</ci>
                    <ci>k_GFB</ci>
                </apply>
            </apply>
            <!--ODEs-->
            <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.0</cn>
                            </apply>
                            <apply>
                                <lt/>
                                <ci>t</ci>
                                <cn cellml:units="second">0.5</cn>
                            </apply>
                        </apply>
                    </piece>
                    <otherwise>
                        <cn cellml:units="amount">0</cn>
                    </otherwise>
                </piecewise>
            </apply>
            <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>
            <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>
            <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>
            <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>
            <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>glucoseFbDelay</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_toGFBD</ci>
                    <ci>v_GFBD</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>glucoseFbDelay_2</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_GFBD</ci>
                    <ci>v_GFBD2</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>glucoseFbDelay_3</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_GFBD2</ci>
                    <ci>v_GFBD3</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>t</ci>
                    </bvar>
                    <ci>glucosefeedback</ci>
                </apply>
                <apply>
                    <minus/>
                    <ci>v_GFBD3</ci>
                    <ci>v_GFB</ci>
                </apply>
            </apply>
            <!--the 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>
            <!--outputsignal-->
            <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>