<?xml version="1.0"?>

<!--  FILE :  viswanathan_model_1999.xml

CREATED :  19th Septemeber 2003

LAST MODIFIED : 19th Septemeber 2003

AUTHOR :  Catherine Lloyd
          The Bioengineering Institute
          The University of Auckland
          
MODEL STATUS :  This model conforms to the CellML 1.1 Specification and the CellML Metadata 1.0 Specification released on 16th January, 2002.

DESCRIPTION :  This file contains a CellML description of Viswanathan et al's 1999 mathematical model of the effects if Ikr and IKs heterogeneity on action potential duration and its rate dependence.  This model builds on the Luo-Rudy II model, 1994, the Zeng et al. 1995 model, and the shaw and Rudy 1997 model.  Where appropriate, the import and reuse features of CellML 1.1 have been used to import components and units from these models. 

CHANGES: 
 
-->


<model
    
name="viswanathan_model_1999"
    
cmeta:id="viswanathan_model_1999"
    
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.1#"
      
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#">
    
<!--
      The following RDF block contains metadata that applies to this document
      as a whole, as indicated by the empty about attribute on the 
      <rdf:Description> element.
    -->

    
<rdf:Description rdf:about="">
      
<!--
        The Model Builder Metadata.  The Dublin Core "creator" element is used  
        to indicate the person who translated the model into CellML.
      -->

      
<dc:creator rdf:parseType="Resource">
        
<vCard:N rdf:parseType="Resource">
          
<vCard:Family>Lloyd</vCard:Family>
          
<vCard:Given>Catherine</vCard:Given>
          
<vCard:Other>May</vCard:Other>
        
</vCard:N>
        
<vCard:EMAIL rdf:parseType="Resource">
          
<rdf:value>c.lloyd@auckland.ac.nz</rdf:value>
          
<rdf:type rdf:resource="http://imc.org/vCard/3.0#internet" />
        
</vCard:EMAIL>
        
<vCard:ORG rdf:parseType="Resource">
          
<vCard:Orgname>The University of Auckland</vCard:Orgname>
          
<vCard:Orgunit>The Bioengineering Institute</vCard:Orgunit>
        
</vCard:ORG>
      
</dc:creator>
      
      
<!--
        The Creation Date metadata. This is the date on which the model
        was translated into CellML.
      -->

      
<dcterms:created rdf:parseType="Resource">
        
<dcterms:W3CDTF>2003-09-19</dcterms:W3CDTF>
      
</dcterms:created>
      
      
<!--
        The Modification History metadata. This lists the changes that have been
        made to the document, who made the changes, and when they were made.
      -->

    
      
<!-- The Publisher metadata. -->
      
<dc:publisher>
        The University of Auckland, The Bioengineering Institute
      
</dc:publisher>
    
</rdf:Description>
    
    
<!--
      The following metadata refers to the model itself, as indicated by the
      reference to the ID "viswanathan_model_1999", which is declared on the    
      <model> element.
    -->

    
<rdf:Description rdf:about="#viswanathan_model_1999">
      
<!-- A human readable name for the model. -->
      
<dc:title>
        The Viswanathan et al 1999 Model of Mammalian Ventricular Cardiac Action
        Potentials.
      
</dc:title>
      
      
<!-- A comment regarding the model. -->
      
<cmeta:comment rdf:parseType="Resource">
        
<rdf:value>
          This is the CellML description of Viswanathan et al's 1999 
          mathematical model of the mammalian cardiac ventricular action 
          potential.  It is a development of the Luo-Rudy II dynamic model 
          (1994).
        
</rdf:value>
        
<!-- The creator of the comment. -->
        
<dc:creator rdf:parseType="Resource">
          
<vCard:FN>Catherine Lloyd</vCard:FN>
        
</dc:creator>
      
</cmeta:comment>
      
      
<!-- The model is relevant to all mammals. -->
      
<cmeta:species>Mammalia</cmeta:species>
      
      
<cmeta:bio_entity>Ventricular Myocyte</cmeta:bio_entity>
      
      
<!-- 
        The CellML Metadata Specification recommends that bibliographic metadata
        is used to provide information about the original model reference.  The 
        "identifier" attribute on the "BibliographicReference" class provides an
        elegant way to identify a cited reference using a database identifier            such as Pubmed.  All associated data such as author, journal title,     
        date, etc can be looked up on the database.
      -->

      
<bqs:reference rdf:parseType="Resource">
        
<bqs:Pubmed_id>10318671</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>Viswanathan</vCard:Family>
                    
<vCard:Given>Prakash</vCard:Given>
                    
<vCard:Other>C</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>Shaw</vCard:Family>
                    
<vCard:Given>Robin</vCard:Given>
                    
<vCard:Other>M</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>Rudy</vCard:Family>
                    
<vCard:Given>Yoram</vCard:Given>
                  
</vCard:N>
                
</bqs:Person>
              
</rdf:li>
            
</rdf:Seq>
          
</dc:creator>
          
<dc:title>
            Effects of IKr and IKs Heterogeneity on Action Potential Duration                and Its Rate Dependence
          
</dc:title>
          
<dcterms:issued rdf:parseType="Resource">
            
<dcterms:W3CDTF>1999-05-11</dcterms:W3CDTF>
          
</dcterms:issued>
          
<bqs:Journal rdf:parseType="Resource">
            
<dc:title>Circulation</dc:title>
          
</bqs:Journal>
          
<bqs:volume>99</bqs:volume>
          
<bqs:first_page>2466</bqs:first_page>
          
<bqs:last_page>2474</bqs:last_page>
        
</bqs:JournalArticle>
      
</bqs:reference>
    
</rdf:Description>
  
</rdf:RDF>
  
  
<import xlink:href="http://www.cellml.org/examples/models/LR_II_model_1994.xml">
    
<units name="millisecond" units_ref="millisecond" />
    
<units name="per_millisecond" units_ref="per_millisecond" />
    
<units name="millivolt" units_ref="millivolt" />
    
<units name="per_millivolt" units_ref="per_millivolt" />
    
<units name="per_millivolt_millisecond" units_ref="per_millivolt_millisecond" />
    
<units name="milliS_per_microF" units_ref="milliS_per_microF" />
    
<units name="microF" units_ref="microF" />
    
<units name="microA_per_microF" units_ref="microA_per_microF" />
    
<units name="millimolar_per_millisecond" units_ref="millimolar_per_millisecond" />
    
<units name="millimolar" units_ref="millimolar" />
    
<units name="micromolar" units_ref="micromolar" />
    
<units name="joule_per_kilomole_kelvin" units_ref="joule_per_kilomole_kelvin" />
    
<units name="coulomb_per_mole" units_ref="coulomb_per_mole" />
    
<units name="cm_per_second" units_ref="cm_per_second" />
    
<units name="mm2" units_ref="mm2" />
    
<units name="micro_litre" units_ref="micro_litre" />
    
    
<component name="environment" component_ref="environment" />
    
<component name="fast_sodium_current" component_ref="fast_sodium_current" />
    
<component name="time_independent_potassium_current" component_ref="time_independent_potassium_current" />
    
<component name="plateau_potassium_current" component_ref="plateau_potassium_current" />
    
<component name="sodium_background_current" component_ref="sodium_background_current" />
    
<component name="sodium_potassium_pump" component_ref="sodium_potassium_pump" />
    
  
</import>
  
  
<import xlink:href="http://www.cellml.org/examples/models/zeng_model_1995.xml">
    
<component name="L_type_Ca_channel" component_ref="L_type_Ca_channel" />
    
<component name="T_type_Ca_channel" component_ref="T_type_Ca_channel" />
    
<component name="rapid_time_dependent_potassium_current" component_ref="rapid_time_dependent_potassium_current" />
    
<component name="sarcolemmal_calcium_pump" component_ref="sarcolemmal_calcium_pump" />
    
<component name="calcium_background_current" component_ref="calcium_background_current" />
    
<component name="non_specific_calcium_activated_current" component_ref="non_specific_calcium_activated_current" />
    
<component name="Na_Ca_exchanger" component_ref="Na_Ca_exchanger" />
    
<component name="calcium_buffers_in_the_myoplasm" component_ref="calcium_buffers_in_the_myoplasm" />
    
<component name="calcium_fluxes_in_the_SR" component_ref="calcium_fluxes_in_the_SR" />
    
  
</import>
  
  
<import xlink:href="http://www.cellml.org/examples/models/shaw_model_1997.xml">
    
<units name="cm2" units_ref="cm2" />
    
    
<component name="membrane" component_ref="membrane" />
    
<component name="ATP_dependent_potassium_current" component_ref="ATP_dependent_potassium_current" />
    
<component name="ionic_concentrations" component_ref="ionic_concentrations" />
    
  
</import>

  
  
<units name="nanoS_per_cm2">
    
<unit prefix="nano" units="siemens" />
    
<unit prefix="centi" units="metre" exponent="-2" />
  
</units>
  
  
<component name="slow_time_dependent_potassium_current">
    
<variable name="i_Ks" public_interface="out" units="microA_per_microF" />
    
    
<variable name="g_Ks" units="milliS_per_microF" />
    
<variable name="E_Ks" units="millivolt" />
    
<variable name="P_NaK" initial_value="0.01833" units="dimensionless" />
    
    
<variable name="time" public_interface="in" private_interface="out" units="millisecond" />
    
<variable name="V" public_interface="in" private_interface="out" units="millivolt" />
    
<variable name="Ko" public_interface="in" units="millimolar" />
    
<variable name="Ki" public_interface="in" units="millimolar" />
    
<variable name="Nao" public_interface="in" units="millimolar" />
    
<variable name="Nai" public_interface="in" units="millimolar" />
    
<variable name="Cai" public_interface="in" units="micromolar" />
    
<variable name="R" public_interface="in" units="joule_per_kilomole_kelvin" />
    
<variable name="T" public_interface="in" units="kelvin" />
    
<variable name="F" public_interface="in" units="coulomb_per_mole" />
    
    
<variable name="Xs1" private_interface="in" units="dimensionless" />
    
<variable name="Xs2" private_interface="in" units="dimensionless" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply id="g_Ks_calculation"><eq />
        
<ci> g_Ks </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 0.433 </cn>
          
<apply><divide />
            
<apply><plus />
              
<cn cellml:units="dimensionless"> 1.0 </cn>
              
<cn cellml:units="dimensionless"> 0.6 </cn>
            
</apply>
            
<apply><plus />
              
<cn cellml:units="dimensionless"> 1.0 </cn>
              
<apply><power />
                
<apply><divide />
                  
<cn cellml:units="micromolar"> 0.000038 </cn>
                  
<ci> Cai </ci>
                
</apply>
                
<cn cellml:units="dimensionless"> 1.4 </cn>
              
</apply>
            
</apply>
          
</apply>
        
</apply>
      
</apply> 
      
      
<apply id="E_Ks_calculation"><eq />
        
<ci> E_Ks </ci>
        
<apply><times />
          
<apply><divide />
            
<apply><times />
              
<ci> R </ci>
              
<ci> T </ci>
            
</apply>
            
<ci> F </ci>
          
</apply>
          
<apply><ln />
            
<apply><divide />
              
<apply><plus />
                
<ci> Ko </ci>
                
<apply><times />
                  
<ci> P_NaK </ci>
                  
<ci> Nao </ci>
                
</apply>
              
</apply>
              
<apply><plus />
                
<ci> Ki </ci>
                
<apply><times />
                  
<ci> P_NaK </ci>
                  
<ci> Nai </ci>
                
</apply>
              
</apply>
            
</apply>
          
</apply>
        
</apply>
      
</apply>

      
<apply id="i_Ks_calculation"><eq />
        
<ci> i_Ks </ci>
        
<apply><times />
          
<ci> g_Ks </ci>
          
<ci> Xs1 </ci>
          
<ci> Xs2 </ci>
          
<apply><minus />
            
<ci> V </ci>
            
<ci> E_Ks </ci>
          
</apply>
        
</apply>
      
</apply>
    
</math>
  
</component>
  
  
<component name="slow_time_dependent_potassium_current_Xs1_gate">
    
<variable name="Xs1" public_interface="out" units="dimensionless" />
    
<variable name="tau_Xs1" public_interface="out" units="millisecond" />
    
<variable name="Xs_infinity" public_interface="out" units="dimensionless" />
    
    
<variable name="V" public_interface="in" units="millivolt" />
    
<variable name="time" public_interface="in" units="millisecond" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply id="Xs1_diff_eq"><eq />
        
<apply><diff />
          
<bvar><ci> time </ci></bvar>
          
<ci> Xs1 </ci>
        
</apply>
        
<apply><divide />
          
<apply><minus />
            
<ci> Xs_infinity </ci>
            
<ci> Xs1 </ci>
          
</apply>
          
<ci> tau_Xs1 </ci>
        
</apply>
      
</apply>
      
      
<apply id="Xs_infinity_calculation"><eq />
        
<ci> Xs_infinity </ci>
        
<apply><divide />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<apply><plus />
            
<cn cellml:units="dimensionless"> 1.0 </cn>
            
<apply><exp />
              
<apply><minus />
                
<apply><divide />
                  
<apply><minus />
                    
<ci> V </ci>
                    
<cn cellml:units="millivolt"> 1.5 </cn>
                  
</apply>
                  
<cn cellml:units="millivolt"> 16.7 </cn>
                
</apply>
              
</apply>
            
</apply>
          
</apply>
        
</apply>
      
</apply>
      
      
<apply id="tau_Xs1_calculation"><eq />
        
<ci> tau_Xs1 </ci>
        
<apply><divide />
          
<cn cellml:units="dimensionless"> 1.0 </cn>
          
<apply><plus />
            
<apply><divide />
              
<apply><times />
                
<cn cellml:units="dimensionless"> 0.0000719 </cn>
                
<apply><plus />
                  
<ci> V </ci>
                  
<cn cellml:units="millivolt"> 30.0 </cn>
                
</apply>
              
</apply>
              
<apply><minus />
                
<cn cellml:units="dimensionless"> 1.0 </cn>
                
<apply><exp />
                  
<apply><times />
                    
<cn cellml:units="dimensionless"> -0.148 </cn>
                    
<apply><plus />
                      
<ci> V </ci>
                      
<cn cellml:units="millivolt"> 30.0 </cn>
                    
</apply>
                  
</apply>
                
</apply>
              
</apply>
            
</apply>
            
<apply><divide />
              
<apply><times />
                
<cn cellml:units="dimensionless"> 0.000131 </cn>
                
<apply><plus />
                  
<ci> V </ci>
                  
<cn cellml:units="millivolt"> 30.0 </cn>
                
</apply>
              
</apply>
              
<apply><minus />
                
<apply><exp />
                  
<apply><times />
                    
<cn cellml:units="dimensionless"> 0.0687 </cn>
                    
<apply><plus />
                      
<ci> V </ci>
                      
<cn cellml:units="millivolt"> 30.0 </cn>
                    
</apply>
                  
</apply>
                
</apply>
                
<cn cellml:units="dimensionless"> 1.0 </cn>
              
</apply>
            
</apply>
          
</apply>
        
</apply>
      
</apply>
    
</math>
  
</component>
  
  
  
<component name="slow_time_dependent_potassium_current_Xs2_gate">
    
<variable name="Xs2" public_interface="out" units="dimensionless" />
        
    
<variable name="tau_Xs2" units="millisecond" />

    
<variable name="V" public_interface="in" units="millivolt" />
    
<variable name="time" public_interface="in" units="millisecond" />
    
<variable name="tau_Xs1" public_interface="in" units="millisecond" />
    
<variable name="Xs_infinity" public_interface="in" units="dimensionless" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply id="Xs2_diff_eq"><eq />
        
<apply><diff />
          
<bvar><ci> time </ci></bvar>
          
<ci> Xs2 </ci>
        
</apply>
        
<apply><divide />
          
<apply><minus />
            
<ci> Xs_infinity </ci>
            
<ci> Xs2 </ci>
          
</apply>
          
<ci> tau_Xs2 </ci>
        
</apply>
      
</apply>
      
      
<apply id="tau_Xs2_calculation"><eq />
        
<ci> tau_Xs2 </ci>
        
<apply><times />
          
<cn cellml:units="dimensionless"> 4.0 </cn>
          
<ci> tau_Xs1 </ci>
        
</apply>
      
</apply>
    
</math>
  
</component>
  
  
<group>
    
<relationship_ref relationship="containment" />
    
<component_ref component="membrane">
      
<component_ref component="fast_sodium_current" />
      
<component_ref component="L_type_Ca_channel" />
      
<component_ref component="T_type_Ca_channel" />
      
<component_ref component="rapid_time_dependent_potassium_current" />
      
<component_ref component="slow_time_dependent_potassium_current">
        
<component_ref component="slow_time_dependent_potassium_current_Xs1_gate" />
        
<component_ref component="slow_time_dependent_potassium_current_Xs2_gate" />
      
</component_ref>
      
<component_ref component="time_independent_potassium_current" />
      
<component_ref component="Na_Ca_exchanger" />
      
<component_ref component="plateau_potassium_current" />
      
<component_ref component="sarcolemmal_calcium_pump" />
      
<component_ref component="ATP_dependent_potassium_current" />
      
<component_ref component="sodium_background_current" />
      
<component_ref component="calcium_background_current" />
      
<component_ref component="sodium_potassium_pump" />
      
<component_ref component="non_specific_calcium_activated_current" />
      
<component_ref component="ionic_concentrations" />
      
<component_ref component="calcium_buffers_in_the_myoplasm" />
      
<component_ref component="calcium_fluxes_in_the_SR" />
    
</component_ref>
  
</group> 
  
  
  
<group>
    
<relationship_ref relationship="encapsulation" />
    
<component_ref component="slow_time_dependent_potassium_current">
      
<component_ref component="slow_time_dependent_potassium_current_Xs1_gate" />
      
<component_ref component="slow_time_dependent_potassium_current_Xs2_gate" />
    
</component_ref>
  
</group>
  
  
<connection>
    
<map_components
        
component_1="membrane" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>


  
<connection>
    
<map_components
        
component_1="fast_sodium_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>


  
<connection>
    
<map_components
        
component_1="L_type_Ca_channel" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="T_type_Ca_channel" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="rapid_time_dependent_potassium_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="slow_time_dependent_potassium_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="time_independent_potassium_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="ATP_dependent_potassium_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
   

  
<connection>
    
<map_components
        
component_1="Na_Ca_exchanger" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="plateau_potassium_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="sarcolemmal_calcium_pump" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="sodium_background_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="calcium_background_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="sodium_potassium_pump" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="non_specific_calcium_activated_current" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="ionic_concentrations" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="calcium_buffers_in_the_myoplasm" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
  
<connection>
    
<map_components
        
component_1="calcium_fluxes_in_the_SR" component_2="environment" />
    
<map_variables variable_1="time" variable_2="time" />
  
</connection>
  
  
<connection>
    
<map_components
        
component_1="membrane" component_2="fast_sodium_current" />
    
<map_variables variable_1="V" variable_2="V" />
    
<map_variables variable_1="i_Na" variable_2="i_Na" />
    
<map_variables variable_1="R" variable_2="R" />
    
<map_variables variable_1="T" variable_2="T" />
    
<map_variables variable_1="F" variable_2="F" />
  
</connection>


  
<connection>
    
<map_components
        
component_1="membrane" component_2="L_type_Ca_channel" />
    
<map_variables variable_1="V" variable_2="V" />
    
<map_variables variable_1="i_Ca_L" variable_2="i_Ca_L" />
    
<map_variables variable_1="R" variable_2="R" />
    
<map_variables variable_1="T" variable_2="T" />
    
<map_variables variable_1="F" variable_2="F" />
  
</connection>
  
  
  
<connection>
    
<map_components
       &nb