Location: Kraeutler_Logic_Models @ 92b9be680738 / kraeutler_TOY_composite.cellml

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2021-12-21 17:24:56+13:00
Desc:
Adding another reaction to represent negative feedback of activated species on itself
Permanent Source URI:
http://models.cellml.org/workspace/7e8/rawfile/92b9be68073862b6b2ffe10eaf4683c3fb8df96a/kraeutler_TOY_composite.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="toy_normalised_hill_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">
    <units name="mM">
        <unit prefix="milli" units="mole"/>
    </units>
    <import xlink:href="kraetler_functions.cellml">
        <component component_ref="f_module" name="f_A_module"/>
    </import>
    <import xlink:href="kraetler_functions.cellml">
        <component component_ref="f_module" name="f_B_module"/>
    </import>
    <import xlink:href="kraetler_functions.cellml">
        <component component_ref="f_module" name="f_C_module"/>
    </import>
    <import xlink:href="kraetler_functions.cellml">
        <component component_ref="f_module" name="f_D_module"/>
    </import>
    <import xlink:href="kraetler_functions.cellml">
        <component component_ref="f_module" name="f_E_module"/>
    </import>
    <component name="env">
        <!-- guess everything is dimensionless, except Ymax has same units as chemical species A-->
        <variable name="time" units="second"/>
        <variable name="A" public_interface="out" units="mM"/>
        <variable name="B" public_interface="out" units="mM"/>
        <variable initial_value="0" name="C" public_interface="out" units="mM"/>
        <variable initial_value="0" name="D" public_interface="out" units="mM"/>
        <variable initial_value="0" name="E" public_interface="out" units="mM"/>
        <variable initial_value="1" name="tau" units="second"/>
        <variable initial_value="1" name="Ymax" public_interface="out" units="mM"/>
        <variable initial_value="0.5" name="EC50" public_interface="out" units="dimensionless"/>
        <variable initial_value="1" name="W" public_interface="out" units="dimensionless"/>
        <variable initial_value="1.4" name="n" public_interface="out" units="dimensionless"/>
        <variable name="beta_A" public_interface="in" units="dimensionless"/>
        <variable name="K_A" public_interface="in" units="dimensionless"/>
        <variable name="f_act_A" public_interface="in" units="dimensionless"/>
        <variable name="f_act_B" public_interface="in" units="dimensionless"/>
        <variable name="f_act_C" public_interface="in" units="dimensionless"/>
        <variable name="f_act_D" public_interface="in" units="dimensionless"/>
        <variable name="f_act_E" public_interface="in" units="dimensionless"/>
        <variable name="f_inh_D" public_interface="in" units="dimensionless"/>
        <variable name="OR_C" units="dimensionless"/>
        <!-- stimuli A and B-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>A</ci>
                <piecewise>
                    <piece>
                        <cn cellml:units="mM">1</cn>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>time</ci>
                                <cn cellml:units="second">10</cn>
                            </apply>
                            <apply>
                                <lt/>
                                <ci>time</ci>
                                <cn cellml:units="second">30</cn>
                            </apply>
                        </apply>
                    </piece>
                    <piece>
                        <cn cellml:units="mM">1</cn>
                        <apply>
                            <gt/>
                            <ci>time</ci>
                            <cn cellml:units="second">90</cn>
                        </apply>
                    </piece>
                    <otherwise>
                        <cn cellml:units="mM">0</cn>
                    </otherwise>
                </piecewise>
            </apply>
            <apply>
                <eq/>
                <ci>B</ci>
                <piecewise>
                    <piece>
                        <cn cellml:units="mM">1</cn>
                        <apply>
                            <and/>
                            <apply>
                                <gt/>
                                <ci>time</ci>
                                <cn cellml:units="second">50</cn>
                            </apply>
                            <apply>
                                <lt/>
                                <ci>time</ci>
                                <cn cellml:units="second">70</cn>
                            </apply>
                        </apply>
                    </piece>
                    <piece>
                        <cn cellml:units="mM">1</cn>
                        <apply>
                            <gt/>
                            <ci>time</ci>
                            <cn cellml:units="second">90</cn>
                        </apply>
                    </piece>
                    <otherwise>
                        <cn cellml:units="mM">0</cn>
                    </otherwise>
                </piecewise>
            </apply>
            <!--        ode(A,time) = (W*Ymax-A)/tau;
        ode(B,time) = (W*Ymax-B)/tau;-->
            <apply>
                <eq/>
                <ci>OR_C</ci>
                <apply>
                    <minus/>
                    <apply>
                        <plus/>
                        <ci>f_act_A</ci>
                        <ci>f_act_E</ci>
                    </apply>
                    <apply>
                        <times/>
                        <ci>f_act_A</ci>
                        <ci>f_act_E</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>C</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <ci>OR_C</ci>
                            <ci>Ymax</ci>
                        </apply>
                        <ci>C</ci>
                    </apply>
                    <ci>tau</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>D</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <ci>f_act_B</ci>
                            <ci>Ymax</ci>
                        </apply>
                        <ci>D</ci>
                    </apply>
                    <ci>tau</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>E</ci>
                </apply>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <ci>f_act_C</ci>
                            <ci>f_inh_D</ci>
                            <ci>Ymax</ci>
                        </apply>
                        <ci>E</ci>
                    </apply>
                    <ci>tau</ci>
                </apply>
            </apply>
        </math>
        <variable initial_value="0" name="D_test" units="mM"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>D_test</ci>
                </apply>
                <apply>
                    <divide/>
                    <ci>f_act_D</ci>
                    <ci>tau</ci>
                </apply>
            </apply>
        </math>
        <variable name="prod_fAfE" units="dimensionless"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>prod_fAfE</ci>
                <apply>
                    <times/>
                    <ci>f_act_A</ci>
                    <ci>f_act_E</ci>
                </apply>
            </apply>
        </math>
    </component>
    <connection>
        <map_components component_1="env" component_2="f_A_module"/>
        <map_variables variable_1="W" variable_2="W"/>
        <map_variables variable_1="n" variable_2="n"/>
        <map_variables variable_1="EC50" variable_2="EC50"/>
        <map_variables variable_1="A" variable_2="X"/>
        <map_variables variable_1="f_act_A" variable_2="f_act"/>
        <map_variables variable_1="K_A" variable_2="K"/>
        <map_variables variable_1="beta_A" variable_2="beta"/>
    </connection>
    <connection>
        <map_components component_1="env" component_2="f_B_module"/>
        <map_variables variable_1="W" variable_2="W"/>
        <map_variables variable_1="n" variable_2="n"/>
        <map_variables variable_1="EC50" variable_2="EC50"/>
        <map_variables variable_1="B" variable_2="X"/>
        <map_variables variable_1="f_act_B" variable_2="f_act"/>
    </connection>
    <connection>
        <map_components component_1="env" component_2="f_C_module"/>
        <map_variables variable_1="W" variable_2="W"/>
        <map_variables variable_1="n" variable_2="n"/>
        <map_variables variable_1="EC50" variable_2="EC50"/>
        <map_variables variable_1="C" variable_2="X"/>
        <map_variables variable_1="f_act_C" variable_2="f_act"/>
    </connection>
    <connection>
        <map_components component_1="env" component_2="f_D_module"/>
        <map_variables variable_1="W" variable_2="W"/>
        <map_variables variable_1="n" variable_2="n"/>
        <map_variables variable_1="EC50" variable_2="EC50"/>
        <map_variables variable_1="D" variable_2="X"/>
        <map_variables variable_1="f_act_D" variable_2="f_act"/>
        <map_variables variable_1="f_inh_D" variable_2="f_inhib"/>
    </connection>
    <connection>
        <map_components component_1="env" component_2="f_E_module"/>
        <map_variables variable_1="W" variable_2="W"/>
        <map_variables variable_1="n" variable_2="n"/>
        <map_variables variable_1="EC50" variable_2="EC50"/>
        <map_variables variable_1="E" variable_2="X"/>
        <map_variables variable_1="f_act_E" variable_2="f_act"/>
    </connection>
</model>