Location: BG_PKA @ 959a1eab6b85 / saucerman_PKA.cellml

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2021-11-17 10:26:39+13:00
Desc:
Using sympy for rational nullspace
Permanent Source URI:
https://models.cellml.org/workspace/6cc/rawfile/959a1eab6b859e88de73c065526e3aff5828cd39/saucerman_PKA.cellml

<?xml version='1.0' encoding='UTF-8'?>
<model name="saucerman_PKA" xmlns="http://www.cellml.org/cellml/1.0#" xmlns:cellml="http://www.cellml.org/cellml/1.0#" xmlns:cmeta="http://www.cellml.org/metadata/1.0#">
    <units name="mM">
        <unit prefix="milli" units="mole"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="per_mM4">
        <unit exponent="-4" units="mM"/>
    </units>
    <units name="uM">
        <unit prefix="micro" units="mole"/>
        <unit exponent="-1" units="litre"/>
    </units>
    <units name="m_to_u">
        <unit units="uM"/>
        <unit exponent="-1" units="mM"/>
    </units>
    <units name="per_sec">
        <unit exponent="-1" units="second"/>
    </units>
    <units name="ms">
        <unit prefix="3" units="second"/>
    </units>
    <units name="mM_per_sec">
        <unit units="mM"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="uM_per_sec">
        <unit units="uM"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="per_mM_per_sec">
        <unit exponent="-1" units="mM"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="per_uM_per_sec">
        <unit exponent="-1" units="uM"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="uL">
        <unit prefix="micro" units="litre"/>
    </units>
    <units name="pL">
        <unit prefix="pico" units="litre"/>
    </units>
    <units name="cm_per_sec">
        <unit prefix="centi" units="metre"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="cm2">
        <unit exponent="2" prefix="centi" units="metre"/>
    </units>
    <units name="mV">
        <unit prefix="milli" units="volt"/>
    </units>
    <units name="per_mV">
        <unit exponent="-1" units="mV"/>
    </units>
    <units name="per_mV_per_second">
        <unit units="per_mV"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="mV_per_sec">
        <unit prefix="milli" units="volt"/>
        <unit exponent="-1" units="second"/>
    </units>
    <units name="mS_per_uF">
        <unit prefix="milli" units="siemens"/>
        <unit exponent="-1" prefix="micro" units="farad"/>
    </units>
    <units name="uA_per_uF">
        <unit prefix="micro" units="ampere"/>
        <unit exponent="-1" prefix="micro" units="farad"/>
    </units>
    <units name="joules_per_kmole_kelvin">
        <unit units="joule"/>
        <unit exponent="-3" units="mole"/>
        <unit exponent="-1" units="kelvin"/>
    </units>
    <units name="ng">
        <unit prefix="nano" units="gram"/>
    </units>
    <units name="coulombs_per_mole">
        <unit units="coulomb"/>
        <unit exponent="-1" units="mole"/>
    </units>
    <units name="pmol_per_mg">
        <unit prefix="pico" units="mole"/>
        <unit exponent="-1" prefix="milli" units="gram"/>
    </units>
    <units name="uM_to_pmol_per_mg">
        <unit units="pmol_per_mg"/>
        <unit exponent="-1" units="uM"/>
    </units>
    <units name="nFC_per_sAcm2">
        <unit prefix="nano" units="farad"/>
        <unit units="coulomb"/>
        <unit exponent="-1" units="second"/>
        <unit exponent="-1" units="ampere"/>
        <unit exponent="-2" prefix="centi" units="metre"/>
    </units>
    <units name="ibar_to_I">
        <unit units="ampere"/>
        <unit units="second"/>
        <unit units="litre"/>
        <unit exponent="-1" units="farad"/>
        <unit exponent="-1" units="metre"/>
        <unit exponent="-1" units="coulomb"/>
    </units>
    <component name="PKA_module">
        <!--	[RC]	regulatory subunit-bound PKA (mM)
 	[ARC]	complex of cAMP, PKA and regulatory subunit (mM)
	[A2RC]	complex of 2 cAMP, PKA and regulatory subunit (mM)
	[A2R]	complex of 2 cAMP and regulatory subunit (mM)-->
        <variable name="time" units="second"/>
        <variable initial_value="0.59" name="PKAI_tot" units="uM"/>
        <variable initial_value="0.025" name="PKAII_tot" units="uM"/>
        <variable initial_value="0.18" name="PKI_tot" units="uM"/>
        <variable initial_value="9.14" name="K_a" units="uM"/>
        <variable initial_value="1.64" name="K_b" units="uM"/>
        <variable initial_value="4.375" name="K_d" units="uM"/>
        <variable initial_value="0.2e-3" name="Ki_pki" units="uM"/>
        <variable cmeta:id="PKI" name="PKI" units="uM"/>
        <variable cmeta:id="A2RC_I" name="A2RC_I" units="uM"/>
        <variable cmeta:id="A2R_I" name="A2R_I" units="uM"/>
        <variable cmeta:id="A2RC_II" name="A2RC_II" units="uM"/>
        <variable cmeta:id="A2R_II" name="A2R_II" units="uM"/>
        <variable cmeta:id="ARC_I" name="ARC_I" units="uM"/>
        <variable cmeta:id="ARC_II" name="ARC_II" units="uM"/>
        <variable cmeta:id="PKA_temp" name="PKA_temp" units="uM"/>
        <variable cmeta:id="cAMP" name="cAMP" units="uM"/>
        <variable cmeta:id="PKAC_I" name="PKAC_I" units="uM"/>
        <variable cmeta:id="PKAC_II" name="PKAC_II" units="uM"/>
        <variable initial_value="0.8453" name="cAMP_tot" units="uM"/>
        <variable initial_value="0" name="zed" units="dimensionless"/>
        <variable initial_value="0" name="zed1" units="dimensionless"/>
        <variable name="RC_I" units="uM"/>
        <variable name="RC_II" units="uM"/>
        <!-- real equations-->
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <ci>PKI</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>PKI_tot</ci>
                        <ci>Ki_pki</ci>
                    </apply>
                    <apply>
                        <plus/>
                        <ci>Ki_pki</ci>
                        <ci>PKAC_I</ci>
                        <ci>PKAC_II</ci>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>A2RC_I</ci>
                <apply>
                    <times/>
                    <apply>
                        <divide/>
                        <ci>PKAC_I</ci>
                        <ci>K_d</ci>
                    </apply>
                    <ci>PKAC_I</ci>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <divide/>
                            <ci>PKI</ci>
                            <ci>Ki_pki</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>A2R_I</ci>
                <apply>
                    <times/>
                    <ci>PKAC_I</ci>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <divide/>
                            <ci>PKI</ci>
                            <ci>Ki_pki</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>ARC_I</ci>
                <apply>
                    <times/>
                    <apply>
                        <divide/>
                        <ci>K_a</ci>
                        <ci>cAMP</ci>
                    </apply>
                    <ci>A2RC_I</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>A2RC_II</ci>
                <apply>
                    <times/>
                    <apply>
                        <divide/>
                        <ci>PKAC_II</ci>
                        <ci>K_d</ci>
                    </apply>
                    <ci>PKAC_II</ci>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <divide/>
                            <ci>PKI</ci>
                            <ci>Ki_pki</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>A2R_II</ci>
                <apply>
                    <times/>
                    <ci>PKAC_II</ci>
                    <apply>
                        <plus/>
                        <cn cellml:units="dimensionless">1</cn>
                        <apply>
                            <divide/>
                            <ci>PKI</ci>
                            <ci>Ki_pki</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>ARC_II</ci>
                <apply>
                    <times/>
                    <apply>
                        <divide/>
                        <ci>K_a</ci>
                        <ci>cAMP</ci>
                    </apply>
                    <ci>A2RC_II</ci>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>PKA_temp</ci>
                <apply>
                    <plus/>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>K_a</ci>
                            <ci>K_b</ci>
                        </apply>
                        <ci>K_d</ci>
                    </apply>
                    <apply>
                        <divide/>
                        <apply>
                            <times/>
                            <ci>K_a</ci>
                            <ci>cAMP</ci>
                        </apply>
                        <ci>K_d</ci>
                    </apply>
                    <apply>
                        <divide/>
                        <apply>
                            <power/>
                            <ci>cAMP</ci>
                            <cn cellml:units="dimensionless">2</cn>
                        </apply>
                        <ci>K_d</ci>
                    </apply>
                </apply>
            </apply>
            <!-- for completion (not part of MATLAB script)-->
            <apply>
                <eq/>
                <ci>RC_I</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>A2RC_I</ci>
                        <ci>K_a</ci>
                        <ci>K_b</ci>
                    </apply>
                    <apply>
                        <power/>
                        <ci>cAMP</ci>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                </apply>
            </apply>
            <apply>
                <eq/>
                <ci>RC_II</ci>
                <apply>
                    <divide/>
                    <apply>
                        <times/>
                        <ci>A2RC_II</ci>
                        <ci>K_a</ci>
                        <ci>K_b</ci>
                    </apply>
                    <apply>
                        <power/>
                        <ci>cAMP</ci>
                        <cn cellml:units="dimensionless">2</cn>
                    </apply>
                </apply>
            </apply>
            <!-- the guts
 1. conservation of cAMP-->
            <apply>
                <eq/>
                <ci>cAMP</ci>
                <apply>
                    <minus/>
                    <apply>
                        <minus/>
                        <ci>cAMP_tot</ci>
                        <apply>
                            <plus/>
                            <ci>ARC_I</ci>
                            <apply>
                                <times/>
                                <cn cellml:units="dimensionless">2</cn>
                                <ci>A2RC_I</ci>
                            </apply>
                            <apply>
                                <times/>
                                <cn cellml:units="dimensionless">2</cn>
                                <ci>A2R_I</ci>
                            </apply>
                        </apply>
                    </apply>
                    <apply>
                        <plus/>
                        <ci>ARC_II</ci>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">2</cn>
                            <ci>A2RC_II</ci>
                        </apply>
                        <apply>
                            <times/>
                            <cn cellml:units="dimensionless">2</cn>
                            <ci>A2R_II</ci>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <!-- 2. conservation of PKAC_I-->
            <apply>
                <eq/>
                <ci>zed</ci>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">2</cn>
                        <ci>PKAI_tot</ci>
                        <apply>
                            <power/>
                            <ci>cAMP</ci>
                            <cn cellml:units="dimensionless">2</cn>
                        </apply>
                    </apply>
                    <apply>
                        <times/>
                        <ci>PKAC_I</ci>
                        <apply>
                            <plus/>
                            <cn cellml:units="dimensionless">1</cn>
                            <apply>
                                <divide/>
                                <ci>PKI</ci>
                                <ci>Ki_pki</ci>
                            </apply>
                        </apply>
                        <apply>
                            <plus/>
                            <apply>
                                <times/>
                                <ci>PKA_temp</ci>
                                <ci>PKAC_I</ci>
                            </apply>
                            <apply>
                                <power/>
                                <ci>cAMP</ci>
                                <cn cellml:units="dimensionless">2</cn>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
            <!-- 3. conservation of PKAC_II-->
            <apply>
                <eq/>
                <ci>zed1</ci>
                <apply>
                    <minus/>
                    <apply>
                        <times/>
                        <cn cellml:units="dimensionless">2</cn>
                        <ci>PKAII_tot</ci>
                        <apply>
                            <power/>
                            <ci>cAMP</ci>
                            <cn cellml:units="dimensionless">2</cn>
                        </apply>
                    </apply>
                    <apply>
                        <times/>
                        <ci>PKAC_II</ci>
                        <apply>
                            <plus/>
                            <cn cellml:units="dimensionless">1</cn>
                            <apply>
                                <divide/>
                                <ci>PKI</ci>
                                <ci>Ki_pki</ci>
                            </apply>
                        </apply>
                        <apply>
                            <plus/>
                            <apply>
                                <times/>
                                <ci>PKA_temp</ci>
                                <ci>PKAC_II</ci>
                            </apply>
                            <apply>
                                <power/>
                                <ci>cAMP</ci>
                                <cn cellml:units="dimensionless">2</cn>
                            </apply>
                        </apply>
                    </apply>
                </apply>
            </apply>
        </math>
        <!--        0{dimensionless} = 2{dimensionless}*PKAI_tot*sqr(cAMP)-PKAC_I*(1{dimensionless}+PKI/Ki_pki)*(PKA_temp*PKAC_I+sqr(cAMP));
        0{dimensionless} = 2{dimensionless}*PKAII_tot*sqr(cAMP)-PKAC_II*(1{dimensionless}+PKI/Ki_pki)*(PKA_temp*PKAC_II+sqr(cAMP));-->
        <variable initial_value="0" name="a" units="second"/>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
                <eq/>
                <apply>
                    <diff/>
                    <bvar>
                        <ci>time</ci>
                    </bvar>
                    <ci>a</ci>
                </apply>
                <cn cellml:units="dimensionless">0</cn>
            </apply>
        </math>
    </component>
</model>