Location: Practical application of CellML 1.1: The integration of new mechanisms into a human ventricular myocyte model @ d6328d18c94e / cellml / protocols / S1S2-restitution.xml

Author:
David Nickerson <nickerso@users.sourceforge.net>
Date:
2013-05-04 07:40:04+12:00
Desc:
adding initial TODO list to keep track of what I need to do to get things working with more recent tools than my original CellMLSimulator that I used in this paper
Permanent Source URI:
https://models.physiomeproject.org/w/andre/nickerson-2008/rawfile/d6328d18c94e9dad70f4d0e4b250e89429773b62/cellml/protocols/S1S2-restitution.xml

<?xml version="1.0" encoding="iso-8859-1"?>

<model
    name="S1S2_restitution_protocol"
    cmeta:id="S1S2_restitution_protocol"
    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>2007-04-24</dcterms:W3CDTF>
      </dcterms:created>
    </rdf:Description>
    <rdf:Description rdf:about="#S1S2_restitution_protocol">
      <dc:title>
        S1-S2 restitution stimulus protocol.
      </dc:title>
      <cmeta:comment rdf:parseType="Resource">
        <rdf:value>
          This CellML file describes the standard S1-S2 restitution stimulus
          protocol. 10 S1 stimuli are applied at the specified basic cycle length
          followed by a single S2 stimulus at the specified interval after the
          tenth stimulus.
        </rdf:value>
        <dc:creator rdf:parseType="Resource">
          <vCard:FN>David Nickerson</vCard:FN>
        </dc:creator>
      </cmeta:comment>
    </rdf:Description>
  </rdf:RDF>

  <import xlink:href="../models/common/units.xml">
    <units name="ms" units_ref="ms"/>
    <units name="uA_per_mmsq" units_ref="uA_per_mmsq"/>
    <units name="uA_per_mmcu" units_ref="uA_per_mmcu"/>
    <units name="mV" units_ref="mV"/>
    <units name="mS_per_mmsq" units_ref="mS_per_mmsq"/>
    <units name="per_mm" units_ref="per_mm"/>
  </import>
  <import xlink:href="periodic-IStim.xml">
    <component name="periodicStimulus" component_ref="stimulus_protocol"/>
  </import>
  <import xlink:href="single-pulse-IStim.xml">
    <component name="singlePulseStimulus" component_ref="stimulus_protocol"/>
  </import>

  <component name="stimulus_protocol" cmeta:id="stimulus_protocol">
    <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="#stimulus_protocol">
        <cmeta:comment rdf:parseType="Resource">
          <rdf:value>
            Here we define the S1-S2 stimulus protocol.
          </rdf:value>
        </cmeta:comment>
      </rdf:Description>
    </rdf:RDF>
    <variable cmeta:id="IStim" name="IStim" public_interface="out" units="uA_per_mmsq"/>
    <variable cmeta:id="time" name="time" public_interface="in" private_interface="out" units="ms"/>
    <variable cmeta:id="basicCycleLength" name="basicCycleLength" public_interface="in" private_interface="out" units="ms"/>
    <variable cmeta:id="S2Interval" name="S2Interval" public_interface="in" private_interface="out" units="ms"/>
    <variable cmeta:id="stimDuration" name="stimDuration" public_interface="in" private_interface="out" units="ms"/>
    <variable cmeta:id="stimCurrent" name="stimCurrent" public_interface="in" private_interface="out" units="uA_per_mmcu"/>
    <variable cmeta:id="Am" name="Am" public_interface="in" private_interface="out" units="per_mm"/>
    <variable cmeta:id="periodicIStim" name="periodicIStim" private_interface="in" units="uA_per_mmsq"/>
    <variable cmeta:id="singlePulseIStim" name="singlePulseIStim" private_interface="in" units="uA_per_mmsq"/>
    <variable cmeta:id="stimulusSwitch" name="stimulusSwitch" units="ms"/>
    <variable cmeta:id="s2Time" name="s2Time" private_interface="out" units="ms"/>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <apply><eq/>
        <ci>stimulusSwitch</ci>
        <apply><plus/>
          <apply><times/>
            <ci>basicCycleLength</ci>
            <cn cellml:units="dimensionless">10</cn>
          </apply>
          <ci>stimDuration</ci>
        </apply>
      </apply>
      <apply><eq/>
        <ci>s2Time</ci>
        <apply><plus/>
          <apply><times/>
            <ci>basicCycleLength</ci>
            <cn cellml:units="dimensionless">10</cn>
          </apply>
          <ci>S2Interval</ci>
        </apply>
      </apply>
    </math>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <apply><eq/>
        <ci>IStim</ci>
        <piecewise>
          <piece>
            <ci>periodicIStim</ci>
            <apply><lt/>
              <ci>time</ci>
              <ci>stimulusSwitch</ci>
            </apply>
          </piece>
          <otherwise>
            <ci>singlePulseIStim</ci>
          </otherwise>
        </piecewise>
      </apply>
    </math>
  </component>
  
  <group>
    <relationship_ref relationship="encapsulation"/>
    <component_ref component="stimulus_protocol">
      <component_ref component="periodicStimulus"/>
      <component_ref component="singlePulseStimulus"/>
    </component_ref>
  </group>
  
  <connection>
    <map_components component_1="stimulus_protocol" component_2="periodicStimulus"/>
    <map_variables variable_1="time" variable_2="time"/>
    <map_variables variable_1="Am" variable_2="Am"/>
    <map_variables variable_1="basicCycleLength" variable_2="stimPeriod"/>
    <map_variables variable_1="stimDuration" variable_2="stimDuration"/>
    <map_variables variable_1="stimCurrent" variable_2="stimCurrent"/>
    <map_variables variable_1="periodicIStim" variable_2="IStim"/>
  </connection>
  <connection>
    <map_components component_1="stimulus_protocol" component_2="singlePulseStimulus"/>
    <map_variables variable_1="time" variable_2="time"/>
    <map_variables variable_1="Am" variable_2="Am"/>
    <map_variables variable_1="s2Time" variable_2="stimTime"/>
    <map_variables variable_1="stimDuration" variable_2="stimDuration"/>
    <map_variables variable_1="stimCurrent" variable_2="stimCurrent"/>
    <map_variables variable_1="singlePulseIStim" variable_2="IStim"/>
  </connection>
</model>