Location: Some test SED-ML to play with the nested proposal @ 0b3ce74c3413 / nestedTask-cellType-stimulusTime.xml

Author:
David Nickerson <nickerso@users.sourceforge.net>
Date:
2012-05-24 17:22:03+02:00
Desc:
adding a second example using the ORd electrophysiology model with nested repeat tasks which now iterate over each of the three supported cell types and apply the stimulus current at multiple times.
Permanent Source URI:
http://models.cellml.org/w/andre/testing-Sed-ML-nesting/rawfile/0b3ce74c3413037b50b32f6ce8a80d9ba9472662/nestedTask-cellType-stimulusTime.xml

<?xml version="1.0" encoding="utf-8"?>
<sedML  xmlns="http://sed-ml.org/" 
       xmlns:math="http://www.w3.org/1998/Math/MathML" level="1" version="1">
 <listOfSimulations>
   <uniformTimeCourse id="simulation1" 
    initialTime="0" outputStartTime="0" outputEndTime="1000" 
    numberOfPoints="2000" >
     <algorithm kisaoID="KISAO:0000019"/>
    </uniformTimeCourse>
 </listOfSimulations>
 <listOfModels>
  <model id="model1" name="ORd" language="urn:sedml:language:cellml" source="http://models.cellml.org/w/andre/SAN-ORd/@@rawfile/3f84a54207ab2f29b4a29639f17a34a29353e002/Ohara_Rudy_2011.cellml"/>
 </listOfModels>
 
    <listOfTasks>
        <repeatedTask id="cellTypeTask" master="true"
            modelReference="model1" simulationReference="simulation1"
            resetModel="true">
            <ranges>
                <vectorRange id="cellTypeRange">
                    <value>0</value> <!-- endocardial cell type -->
                    <value>1</value> <!-- mid-myocardial cell type -->
                    <value>2</value> <!-- epicardial cell type -->
                </vectorRange>
            </ranges>
            <changes>
                <setValue target="/cellml:model/cellml:component[@name='environment']/cellml:variable[@name='celltype']/@initial_value">
                    <listOfVariables>
                        <variable id="cellTypeValue" name="current loop value"
                        target="#cellTypeRange"/>
                    </listOfVariables>
                    <math xmlns="http://www.w3.org/1998/Math/MathML">
                        <ci>cellTypeValue</ci>
                    </math>
                </setValue>
            </changes>
            <listOfSubTasks>
                <subTask order="1" task="stimulusTimeTask"/>
            </listOfSubTasks>
        </repeatedTask>
        <repeatedTask id="stimulusTimeTask" master="true"
            modelReference="model1" simulationReference="simulation1"
            resetModel="true">
            <ranges>
                <uniformRange id="stimulusStartRange" start="10" end="400" numberOfPoints="10" />
            </ranges>
            <changes>
                <setValue target="/cellml:model/cellml:component[@name='membrane']/cellml:variable[@name='stimStart']/@initial_value">
                    <listOfVariables>
                        <variable id="stimulusStartValue" name="current loop value"
                        target="#stimulusStartRange"/>
                    </listOfVariables>
                    <math xmlns="http://www.w3.org/1998/Math/MathML">
                        <ci>stimulusStartValue</ci>
                    </math>
                </setValue>
            </changes>
        </repeatedTask>
  </listOfTasks>
  <listOfDataGenerators>
    <dataGenerator id="time" name="time">
      <listOfVariables>
        <variable id="t" taskReference="task1" target="/cellml:model/cellml:component[@name='environment']/cellml:variable[@name='time']" />
      </listOfVariables>
      <math:math>
        <math:ci>t</math:ci>
      </math:math>
    </dataGenerator>
    
    <dataGenerator id="Vm" name="Membrane Potential">
      <listOfVariables>
        <variable id="v" taskReference="task1" target="/cellml:model/cellml:component[@name='membrane']/cellml:variable[@name='v']" />
      </listOfVariables>
      <math:math>
        <math:ci>v</math:ci>
      </math:math>
    </dataGenerator>
  </listOfDataGenerators>
  
  <listOfOutputs>
    <plot2D id="plot1" name="Action Potential">
      <listOfCurves>
        <curve id="c1" logX="false" logY="false" xDataReference="time" yDataReference="Vm" />
      </listOfCurves>
    </plot2D>
  </listOfOutputs>
</sedML>