Location: Kraeutler_Logic_Models @ 3658dba9638e / kraetler_toy_normalisedHill_grand.cellml

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2021-12-16 14:03:37+13:00
Desc:
Init
Permanent Source URI:
http://models.cellml.org/workspace/7e8/rawfile/3658dba9638e60010e18bef5e63e81168427d9d8/kraetler_toy_normalisedHill_grand.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="toy_normalised_hill_model" xmlns="http://www.cellml.org/cellml/1.0#" xmlns:cellml="http://www.cellml.org/cellml/1.0#">
    <units name="mM">
        <unit prefix="milli" units="mole"/>
    </units>
    <component name="env">
        <!-- guess everything is dimensionless, except Ymax has same units as chemical species A-->
        <variable name="time" units="second"/>
        <variable name="A" units="mM"/>
        <variable name="B" units="mM"/>
        <variable initial_value="0" name="C" units="mM"/>
        <variable initial_value="0" name="D" units="mM"/>
        <variable initial_value="0" name="E" units="mM"/>
        <variable initial_value="1" name="tau" units="second"/>
        <variable initial_value="1" name="Ymax" units="mM"/>
        <variable initial_value="1" name="W" units="dimensionless"/>
        <variable initial_value="0.5" name="EC50" units="dimensionless"/>
        <variable initial_value="1.4" name="n" units="dimensionless"/>
        <variable name="beta" public_interface="out" units="dimensionless"/>
        <variable name="K" public_interface="out" units="dimensionless"/>
        <variable name="f_act_A" units="dimensionless"/>
        <variable name="f_act_B" units="dimensionless"/>
        <variable name="f_act_C" units="dimensionless"/>
        <variable name="f_act_D" units="dimensionless"/>
        <variable name="f_act_E" units="dimensionless"/>
        <variable name="f_inh_D" 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>
            <!-- -->
            <apply>
                <eq/>
                <ci>beta</ci>
                <apply>
                    <divide/>
                    <apply>
                        <minus/>
                        <apply>
                            <power/>
                            <ci>EC50</ci>
                            <ci>n</ci>
                        </apply>
                        <cn cellml:units="dimensionless">1</cn>
                    </apply>
                    <apply>
                        <minus/>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">2</cn>
                            <apply>
                                <power/>
                                <ci>EC50</ci>
                                <ci>n</ci>
                            </apply>
                        </apply>
                        <cn cellml:units="dimensionless">1</cn>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>K</ci>
                <apply>
                    <power/>
                    <apply>
                        <minus/>
                        <ci>beta</ci>
                        <cn cellml:units="dimensionless">1</cn>
                    </apply>
                    <apply>
                        <divide/>
                        <cn cellml:units="dimensionless">1</cn>
                        <ci>n</ci>
                    </apply>
                </apply>
            </apply>
            <!-- -->
            <apply>
                <eq/>
                <ci>f_act_A</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>W</ci>
                        <ci>beta</ci>
                        <apply>
                            <power/>
                            <ci>A</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <apply>
                            <power/>
                            <ci>K</ci>
                            <ci>n</ci>
                        </apply>
                        <apply>
                            <power/>
                            <ci>A</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>f_act_B</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>W</ci>
                        <ci>beta</ci>
                        <apply>
                            <power/>
                            <ci>B</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <apply>
                            <power/>
                            <ci>K</ci>
                            <ci>n</ci>
                        </apply>
                        <apply>
                            <power/>
                            <ci>B</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>f_act_C</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>W</ci>
                        <ci>beta</ci>
                        <apply>
                            <power/>
                            <ci>C</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <apply>
                            <power/>
                            <ci>K</ci>
                            <ci>n</ci>
                        </apply>
                        <apply>
                            <power/>
                            <ci>C</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>f_act_D</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>W</ci>
                        <ci>beta</ci>
                        <apply>
                            <power/>
                            <ci>D</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <apply>
                            <power/>
                            <ci>K</ci>
                            <ci>n</ci>
                        </apply>
                        <apply>
                            <power/>
                            <ci>D</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>f_act_E</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>W</ci>
                        <ci>beta</ci>
                        <apply>
                            <power/>
                            <ci>E</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <apply>
                            <power/>
                            <ci>K</ci>
                            <ci>n</ci>
                        </apply>
                        <apply>
                            <power/>
                            <ci>E</ci>
                            <ci>n</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>f_inh_D</ci>
                <apply>
                    <minus/>
                    <ci>W</ci>
                    <ci>f_act_D</ci>
                </apply>
            </apply>
            <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>
            <!--      
        ode(A, time) = (W*Ymax-A)/tau;
        ode(B, time) = (W*Ymax-B)/tau;-->
            <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>
    </component>
    <!--    def comp f_act_module as
        var W: dimensionless {pub: in};
        var beta: dimensionless {pub: in};
        var n: dimensionless {pub: in};
        var K: dimensionless {pub: in};
        var X: mM {pub: in};
        var f_act: dimensionless {pub: out};-->
    <!--        f_act = W*beta*pow(X, n)/(pow(K,n)+pow(X,n));
    enddef;-->
    <!--    def map between env and f_act_module for
        vars beta and beta;
        vars n and n;
    enddef;-->
</model>