- 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>