Location: Core Domains Principled Model Example @ e8b0e5d10f56 / ten_tusscher_model_2004_ICaL.cellml

Author:
Michael Cooling <mcoo001@UoA.auckland.ac.nz>
Date:
2016-04-11 11:48:36+12:00
Desc:
Initial Commit
Permanent Source URI:
https://models.cellml.org/workspace/2c5/rawfile/e8b0e5d10f563c9a997626435bace472ab5f7f34/ten_tusscher_model_2004_ICaL.cellml

<model
    name="ten_tusscher_model_2004_ICaL"
    cmeta:id="ten_tusscher_model_2004_ICaL"
    xmlns="http://www.cellml.org/cellml/1.1#"
    xmlns:cellml="http://www.cellml.org/cellml/1.1#"
    xmlns:cmeta="http://www.cellml.org/metadata/1.0#"
    xmlns:xlink="http://www.w3.org/1999/xlink">
  <rdf:RDF
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:cmeta="http://www.cellml.org/metadata/1.0#"
      xmlns:bqs="http://www.cellml.org/bqs/1.0#"
      xmlns:dc="http://purl.org/dc/elements/1.1/"
      xmlns:dcterms="http://purl.org/dc/terms/"
      xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#">
    <rdf:Description rdf:about="">
      <dc:creator rdf:parseType="Resource">
        <vCard:N rdf:parseType="Resource">
          <vCard:Family>Nickerson</vCard:Family>
          <vCard:Given>David</vCard:Given>
        </vCard:N>
        <vCard:EMAIL rdf:parseType="Resource">
          <rdf:value>david.nickerson@nus.edu.sg</rdf:value>
          <rdf:type rdf:resource="http://imc.org/vCard/3.0#internet"/>
        </vCard:EMAIL>
        <vCard:ORG rdf:parseType="Resource">
          <vCard:Orgname>National University of Singapore</vCard:Orgname>
          <vCard:Orgunit>Division of Bioengineering</vCard:Orgunit>
        </vCard:ORG>
      </dc:creator>
      <dcterms:created rdf:parseType="Resource">
        <dcterms:W3CDTF>2004-12-29</dcterms:W3CDTF>
      </dcterms:created>
      <dc:publisher>
        Division of Bioengineering, National University of Singapore
      </dc:publisher>
    </rdf:Description>
    <rdf:Description rdf:about="#ten_tusscher_model_2004_ICaL">
      <dc:title>
        The L-type calcium current from the ten Tusscher et al. 
        2004 human ventricular AP model.
      </dc:title>
      <cmeta:comment rdf:parseType="Resource">
        <rdf:value>
          This is the CellML description of the L-type calcium
          current from the ten Tusscher et al. 2004 mathematical 
          model of human ventricular cellular action potential.
        </rdf:value>
        <dc:creator rdf:parseType="Resource">
          <vCard:FN>David Nickerson</vCard:FN>
        </dc:creator>
      </cmeta:comment>
      <cmeta:species>Homo sapiens</cmeta:species>
      <cmeta:bio_entity>Ventricular Myocyte</cmeta:bio_entity>
      <bqs:reference rdf:parseType="Resource">
        <dc:subject rdf:parseType="Resource">
          <bqs:subject_type>keyword</bqs:subject_type>
          <rdf:value>
            <rdf:Bag>
              <rdf:li>Ventricular Myocyte</rdf:li>
              <rdf:li>cardiac</rdf:li>
              <rdf:li>electrophysiology</rdf:li>
              <rdf:li>L-type calcium channel</rdf:li>
            </rdf:Bag>
          </rdf:value>
        </dc:subject>
      </bqs:reference>
      <bqs:reference rdf:parseType="Resource">
        <bqs:Pubmed_id>14656705</bqs:Pubmed_id>
        <bqs:JournalArticle rdf:parseType="Resource">
          <dc:creator>
            <rdf:Seq>
              <rdf:li rdf:parseType="Resource">
                <bqs:Person rdf:parseType="Resource">
                  <vCard:N rdf:parseType="Resource">
                    <vCard:Family>ten Tusscher</vCard:Family>
                    <vCard:Given>K</vCard:Given>
                    <vCard:Other>H</vCard:Other>
                    <vCard:Other>W</vCard:Other>
                    <vCard:Other>J</vCard:Other>
                  </vCard:N>
                </bqs:Person>
              </rdf:li>
              <rdf:li rdf:parseType="Resource">
                <bqs:Person rdf:parseType="Resource">
                  <vCard:N rdf:parseType="Resource">
                    <vCard:Family>Noble</vCard:Family>
                    <vCard:Given>D</vCard:Given>
                  </vCard:N>
                </bqs:Person>
              </rdf:li>
              <rdf:li rdf:parseType="Resource">
                <bqs:Person rdf:parseType="Resource">
                  <vCard:N rdf:parseType="Resource">
                    <vCard:Family>Noble</vCard:Family>
                    <vCard:Given>P</vCard:Given>
                    <vCard:Other>J</vCard:Other>
                  </vCard:N>
                </bqs:Person>
              </rdf:li>
              <rdf:li rdf:parseType="Resource">
                <bqs:Person rdf:parseType="Resource">
                  <vCard:N rdf:parseType="Resource">
                    <vCard:Family>Panfilov</vCard:Family>
                    <vCard:Given>A</vCard:Given>
                    <vCard:Other>V</vCard:Other>
                  </vCard:N>
                </bqs:Person>
              </rdf:li>
            </rdf:Seq>
          </dc:creator>
          <dc:title>
            A model for human ventricular tissue
          </dc:title>
          <dcterms:issued rdf:parseType="Resource">
            <dcterms:W3CDTF>2004-04</dcterms:W3CDTF>
          </dcterms:issued>
          <bqs:Journal rdf:parseType="Resource">
            <dc:title>American Journal of Physiology</dc:title>
          </bqs:Journal>
          <bqs:volume>286</bqs:volume>
          <bqs:first_page>H1573</bqs:first_page>
          <bqs:last_page>H1589</bqs:last_page>
        </bqs:JournalArticle>
      </bqs:reference>
    </rdf:Description>
  </rdf:RDF>
  
  <import xlink:href="ten_tusscher_model_2004_units.cellml">
    <units name="mM" units_ref="mM"/>
    <units name="ms" units_ref="ms"/>
    <units name="mscu" units_ref="mscu"/>
    <units name="per_ms" units_ref="per_ms"/>
    <units name="mV" units_ref="mV"/>
    <units name="mVsq" units_ref="mVsq"/>
    <units name="per_mV" units_ref="per_mV"/>
    <units name="uA_per_mmsq" units_ref="uA_per_mmsq"/>
    <units name="per_mV_per_ms" units_ref="per_mV_per_ms"/>
    <units name="mm_per_ms" units_ref="mm_per_ms"/>
    <units name="gas_constant" units_ref="gas_constant"/>
    <units name="faradays_constant" units_ref="faradays_constant"/>
    <units name="K" units_ref="K"/>
  </import>
  
  <component name="ICaL" cmeta:id="ICaL">
    <rdf:RDF
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:cmeta="http://www.cellml.org/metadata/1.0#">
      <rdf:Description rdf:about="#ICaL">
        <cmeta:comment rdf:parseType="Resource">
          <rdf:value>
            Here we calculate the L-type calcium current. We expect the time, membrane
            potential, and conductance to be set externally, and
            we provide access to the gating variables and the calculated current. This
            component encapsulates all others in this model.
          </rdf:value>
        </cmeta:comment>
      </rdf:Description>
    </rdf:RDF>

    <variable name="ICaL" public_interface="out" units="uA_per_mmsq"/>
    
    <variable name="g_CaL" public_interface="in" units="mm_per_ms"/>
    <variable name="time" public_interface="in" private_interface="out" units="ms"/>
    <variable name="V" public_interface="in" private_interface="out" units="mV"/>
    <variable name="Cai" public_interface="in" private_interface="out" units="mM"/>
    <variable name="Cao" public_interface="in" units="mM"/>
    <variable name="R" public_interface="in" units="gas_constant"/>
    <variable name="T" public_interface="in" units="K"/>
    <variable name="F" public_interface="in" units="faradays_constant"/>
    
    <variable name="d" public_interface="out" private_interface="in" units="dimensionless"/>
    <variable name="f" public_interface="out" private_interface="in" units="dimensionless"/>
    <variable name="fCa" public_interface="out" private_interface="in" units="dimensionless"/>
    <variable name="d_initial" public_interface="in" private_interface="out" units="dimensionless"/>
    <variable name="f_initial" public_interface="in" private_interface="out" units="dimensionless"/>
    <variable name="fCa_initial" public_interface="in" private_interface="out" units="dimensionless"/>
    
    <math xmlns="http://www.w3.org/1998/Math/MathML">  
      <apply id="i_CaL_calculation"><eq/>
        <ci>ICaL</ci>
        <apply><times/>
          <ci>g_CaL</ci>
          <ci>d</ci>
          <ci>f</ci>
          <ci>fCa</ci>
          <cn cellml:units="dimensionless">4.0</cn>
          <apply><divide/>
            <apply><times/>
              <ci>V</ci>
              <apply><power/>
                <ci>F</ci>
                <cn cellml:units="dimensionless">2.0</cn>
              </apply>
            </apply>
            <apply><times/>
              <ci>R</ci>
              <ci>T</ci>
            </apply>
          </apply>
          <apply><divide/>
            <apply><minus/>
              <apply><times/>
                <ci>Cai</ci>
                <apply><exp/>
                  <apply><divide/>
                    <apply><times/>
                      <cn cellml:units="dimensionless">2.0</cn>
                      <ci>V</ci>
                      <ci>F</ci>
                    </apply>
                    <apply><times/>
                      <ci>R</ci>
                      <ci>T</ci>
                    </apply>
                  </apply>
                </apply>
              </apply>
              <apply><times/>
                <cn cellml:units="dimensionless">0.341</cn>
                <ci>Cao</ci>
              </apply>
            </apply>
            <apply><minus/>
              <apply><exp/>
                <apply><divide/>
                  <apply><times/>
                    <cn cellml:units="dimensionless">2.0</cn>
                    <ci>V</ci>
                    <ci>F</ci>
                  </apply>
                  <apply><times/>
                    <ci>R</ci>
                    <ci>T</ci>
                  </apply>
                </apply>
              </apply>
              <cn cellml:units="dimensionless">1.0</cn>
            </apply>
          </apply>
        </apply>
      </apply>
    </math>
  </component>
  
  <component name="d_gate" cmeta:id="d_gate">
    <rdf:RDF
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:cmeta="http://www.cellml.org/metadata/1.0#">
      <rdf:Description rdf:about="#d_gate">
        <cmeta:comment rdf:parseType="Resource">
          <rdf:value>
            The voltage dependent activation gate.
          </rdf:value>
        </cmeta:comment>
      </rdf:Description>
    </rdf:RDF>

    <variable name="d" initial_value="d_initial" public_interface="out" units="dimensionless"/>
    <variable name="d_initial" public_interface="in" units="dimensionless"/>

    <variable name="alpha_d" public_interface="out" units="per_ms"/>
    <variable name="beta_d" public_interface="out" units="per_ms"/>
    <variable name="tau_d" public_interface="out" units="ms"/>
    <variable name="gamma_d" public_interface="out" units="ms"/>
    <variable name="d_infinity" public_interface="out" units="dimensionless"/>
    
    <variable name="V" public_interface="in" units="mV"/>
    <variable name="time" public_interface="in" units="ms"/>
    
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <apply id="d_infinity_calculation"><eq/>
        <ci>d_infinity</ci>
        <apply><divide/>
          <cn cellml:units="dimensionless">1.0</cn>
          <apply><plus/>
            <cn cellml:units="dimensionless">1.0</cn>
            <apply><exp/>
              <apply><divide/>
                <apply><minus/>
                  <cn cellml:units="mV">-5.0</cn>
                  <ci>V</ci>
                </apply>
                <cn cellml:units="mV">7.5</cn>
              </apply>
            </apply>
          </apply>
        </apply>
      </apply>
      
      <apply id="alpha_d_calculation"><eq/>
        <ci>alpha_d</ci>
        <apply><plus/>
          <apply><divide/>
            <cn cellml:units="per_ms">1.4</cn>
            <apply><plus/>
              <cn cellml:units="dimensionless">1.0</cn>
              <apply><exp/>
                <apply><divide/>
                  <apply><minus/>
                    <cn cellml:units="mV">-35.0</cn>
                    <ci>V</ci>
                  </apply>
                  <cn cellml:units="mV">13.0</cn>
                </apply>
              </apply>
            </apply>
          </apply>
          <cn cellml:units="per_ms">0.25</cn>
        </apply>
      </apply>
      
      <apply id="beta_d_calculation"><eq/>
        <ci>beta_d</ci>
        <apply><divide/>
          <cn cellml:units="per_ms">1.4</cn>
          <apply><plus/>
            <cn cellml:units="dimensionless">1.0</cn>
            <apply><exp/>
              <apply><divide/>
                <apply><plus/>
                  <cn cellml:units="mV">5.0</cn>
                  <ci>V</ci>
                </apply>
                <cn cellml:units="mV">5.0</cn>
              </apply>
            </apply>
          </apply>
        </apply>
      </apply>
      
      <apply id="gamma_d_calculation"><eq/>
        <ci>gamma_d</ci>
        <apply><divide/>
          <cn cellml:units="ms">1.0</cn>
          <apply><plus/>
            <cn cellml:units="dimensionless">1.0</cn>
            <apply><exp/>
              <apply><divide/>
                <apply><minus/>
                  <cn cellml:units="mV">50.0</cn>
                  <ci>V</ci>
                </apply>
                <cn cellml:units="mV">20.0</cn>
              </apply>
            </apply>
          </apply>
        </apply>
      </apply>
      
      <apply id="tau_d_calculation"><eq/>
        <ci>tau_d</ci>
        <apply><plus/>
          <apply><times/>
            <cn cellml:units="mscu">1.0</cn>
            <ci>alpha_d</ci>
            <ci>beta_d</ci>
          </apply>
          <ci>gamma_d</ci>
        </apply>
      </apply>
         
      <apply id="dd_dt"><eq/>
        <apply><diff/>
          <bvar><ci>time</ci></bvar>
          <ci>d</ci>
        </apply>
        <apply><divide/>
          <apply><minus/>
            <ci>d_infinity</ci>
            <ci>d</ci>
          </apply>
          <ci>tau_d</ci>
        </apply>
      </apply>
    </math>
  </component>
  
  <component name="f_gate" cmeta:id="f_gate">
    <rdf:RDF
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:cmeta="http://www.cellml.org/metadata/1.0#">
      <rdf:Description rdf:about="#f_gate">
        <cmeta:comment rdf:parseType="Resource">
          <rdf:value>
            The voltage dependent inactivation gate.
          </rdf:value>
        </cmeta:comment>
      </rdf:Description>
    </rdf:RDF>
    
    <variable name="f" initial_value="f_initial" public_interface="out" units="dimensionless"/>
    <variable name="f_initial" public_interface="in" units="dimensionless"/>

    <variable name="tau_f" public_interface="out" units="ms"/>
    <variable name="f_infinity" public_interface="out" units="dimensionless"/>
    
    <variable name="V" public_interface="in" units="mV"/>
    <variable name="time" public_interface="in" units="ms"/>
    
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <apply id="f_infinity_calculation"><eq/>
        <ci>f_infinity</ci>
        <apply><divide/>
          <cn cellml:units="dimensionless">1.0</cn>
          <apply><plus/>
            <cn cellml:units="dimensionless">1.0</cn>
            <apply><exp/>
              <apply><divide/>
                <apply><plus/>
                  <cn cellml:units="mV">20.0</cn>
                  <ci>V</ci>
                </apply>
                <cn cellml:units="mV">7.0</cn>
              </apply>
            </apply>
          </apply>
        </apply>
      </apply>
      
      <apply id="tau_f_calculation"><eq/>
        <ci>tau_f</ci>
        <apply><plus/>
          <apply><times/>
            <cn cellml:units="ms">1125.0</cn>
            <apply><exp/>
              <apply><divide/>
                <apply><minus/>
                  <apply><power/>
                    <apply><plus/>
                      <ci>V</ci>
                      <cn cellml:units="mV">27.0</cn>
                    </apply>
                    <cn cellml:units="dimensionless">2.0</cn>
                  </apply>
                </apply>
                <cn cellml:units="mVsq">240.0</cn>
              </apply>
            </apply>
          </apply>
          <apply><divide/>
            <cn cellml:units="ms">165.0</cn>
            <apply><plus/>
              <cn cellml:units="dimensionless">1.0</cn>
              <apply><exp/>
                <apply><divide/>
                  <apply><minus/>
                    <cn cellml:units="mV">25.0</cn>
                    <ci>V</ci>
                  </apply>
                  <cn cellml:units="mV">10.0</cn>
                </apply>
              </apply>
            </apply>
          </apply>
          <cn cellml:units="ms">80.0</cn>
        </apply>
      </apply>
      
      <apply id="df_dt"><eq/>
        <apply><diff/>
          <bvar><ci>time</ci></bvar>
          <ci>f</ci>
        </apply>
        <apply><divide/>
          <apply><minus/>
            <ci>f_infinity</ci>
            <ci>f</ci>
          </apply>
          <ci>tau_f</ci>
        </apply>
      </apply>
    </math>
  </component>
  
  <component name="fCa_gate" cmeta:id="fCa_gate">
    <rdf:RDF
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:cmeta="http://www.cellml.org/metadata/1.0#">
      <rdf:Description rdf:about="#fCa_gate">
        <cmeta:comment rdf:parseType="Resource">
          <rdf:value>
            The calcium dependent inactivation gate.
          </rdf:value>
        </cmeta:comment>
      </rdf:Description>
    </rdf:RDF>

    <variable name="fCa" initial_value="fCa_initial" public_interface="out" units="dimensionless"/>
    <variable name="fCa_initial" public_interface="in" units="dimensionless"/>

    <variable name="alpha_fCa" units="dimensionless"/>
    <variable name="beta_fCa" units="dimensionless"/>
    <variable name="tau_fCa" public_interface="out" initial_value="2.0" units="ms"/>
    <variable name="gamma_fCa" units="dimensionless"/>
    <variable name="fCa_infinity" public_interface="out" units="dimensionless"/>
    
    <variable name="V" public_interface="in" units="mV"/>
    <variable name="time" public_interface="in" units="ms"/>
    <variable name="Cai" public_interface="in" units="mM"/>
    
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <apply id="fCa_infinity_calculation"><eq/>
        <ci>fCa_infinity</ci>
        <apply><divide/>
          <apply><plus/>
            <ci>alpha_fCa</ci>
            <ci>beta_fCa</ci>
            <ci>gamma_fCa</ci>
            <cn cellml:units="dimensionless">0.23</cn>
          </apply>
          <cn cellml:units="dimensionless">1.46</cn>
        </apply>
      </apply>
      
      <apply id="alpha_fCa_calculation"><eq/>
        <ci>alpha_fCa</ci>
        <apply><divide/>
          <cn cellml:units="dimensionless">1.0</cn>
          <apply><plus/>
            <cn cellml:units="dimensionless">1.0</cn>
            <apply><power/>
              <apply><divide/>
                <ci>Cai</ci>
                <cn cellml:units="mM">0.000325</cn>
              </apply>
              <cn cellml:units="dimensionless">8.0</cn>
            </apply>
          </apply>
        </apply>
      </apply>
      
      <apply id="beta_fCa_calculation"><eq/>
        <ci>beta_fCa</ci>
        <apply><divide/>
          <cn cellml:units="dimensionless">0.1</cn>
          <apply><plus/>
            <cn cellml:units="dimensionless">1.0</cn>
            <apply><exp/>
              <apply><divide/>
                <apply><minus/>
                  <ci>Cai</ci>
                  <cn cellml:units="mM">0.0005</cn>
                </apply>
                <cn cellml:units="mM">0.0001</cn>
              </apply>
            </apply>
          </apply>
        </apply>
      </apply>
      
      <apply id="gamma_fCa_calculation"><eq/>
        <ci>gamma_fCa</ci>
        <apply><divide/>
          <cn cellml:units="dimensionless">0.2</cn>
          <apply><plus/>
            <cn cellml:units="dimensionless">1.0</cn>
            <apply><exp/>
              <apply><divide/>
                <apply><minus/>
                  <ci>Cai</ci>
                  <cn cellml:units="mM">0.00075</cn>
                </apply>
                <cn cellml:units="mM">0.0008</cn>
              </apply>
            </apply>
          </apply>
        </apply>
      </apply>
      
      <apply id="dfCa_dt"><eq/>
        <apply><diff/>
          <bvar><ci>time</ci></bvar>
          <ci>fCa</ci>
        </apply>
        <piecewise>
          <piece>
            <cn cellml:units="per_ms">0.0</cn>
            <apply><and/>
              <apply><gt/>
                <ci>fCa_infinity</ci>
                <ci>fCa</ci>
              </apply>
              <apply><gt/>
                <ci>V</ci>
                <cn cellml:units="mV">-60.0</cn>
              </apply>
            </apply>
          </piece>
          <otherwise>
            <apply><divide/>
              <apply><minus/>
                <ci>fCa_infinity</ci>
                <ci>fCa</ci>
              </apply>
              <ci>tau_fCa</ci>
            </apply>
          </otherwise>
        </piecewise>
      </apply>
    </math>
  </component>

  <group>
    <relationship_ref relationship="encapsulation"/>
    <component_ref component="ICaL">
      <component_ref component="d_gate"/>
      <component_ref component="f_gate"/>
      <component_ref component="fCa_gate"/>
    </component_ref>
  </group>

  <connection>
    <map_components component_1="ICaL" component_2="d_gate"/>
    <map_variables variable_1="d" variable_2="d"/>
    <map_variables variable_1="d_initial" variable_2="d_initial"/>
    <map_variables variable_1="time" variable_2="time"/>
    <map_variables variable_1="V" variable_2="V"/>
  </connection>
  <connection>
    <map_components component_1="ICaL" component_2="f_gate"/>
    <map_variables variable_1="f" variable_2="f"/>
    <map_variables variable_1="f_initial" variable_2="f_initial"/>
    <map_variables variable_1="time" variable_2="time"/>
    <map_variables variable_1="V" variable_2="V"/>
  </connection>
  <connection>
    <map_components component_1="ICaL" component_2="fCa_gate"/>
    <map_variables variable_1="fCa" variable_2="fCa"/>
    <map_variables variable_1="fCa_initial" variable_2="fCa_initial"/>
    <map_variables variable_1="time" variable_2="time"/>
    <map_variables variable_1="V" variable_2="V"/>
    <map_variables variable_1="Cai" variable_2="Cai"/>
  </connection>

</model>