Personal tools
You are here: Home Model Repository
 
Views

A Computer Model for the Action Potential of Mouse Ventricular Myocytes

The CellML code.

XML source view

<model xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cellml="http://www.cellml.org/cellml/1.0#" xmlns:bqs="http://www.cellml.org/bqs/1.0#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cmeta="http://www.cellml.org/metadata/1.0#" xmlns="http://www.cellml.org/cellml/1.0#" cmeta:id="bondarenko_szigeti_bett_kim_rasmusson_2004_version03" name="bondarenko_szigeti_bett_kim_rasmusson_2004_version03">
<documentation xmlns="http://cellml.org/tmp-documentation">
<article>
  
<articleinfo>
  
<title>Modelling the Action Potential of Mouse Ventricular Myocytes</title>
  
<author>
    
<firstname>Catherine</firstname>
          
<surname>Lloyd</surname>
    
<affiliation>
      
<shortaffil>Bioengineering Institute, University of Auckland</shortaffil>
    
</affiliation>
  
</author>
</articleinfo>
  
<section id="sec_status">
    
<title>Model Status</title>
    
<para>
            This is the original version of the model imported from the previous
            CellML model repository, 24-Jan-2006. This version is known to run in PCEnv.
          
</para>
  
</section>
  
<sect1 id="sec_structure">
<title>Model Structure</title>

<para>
Mathematical models, which describe cardiac action potentials, have been a valuable tool in enhancing our understanding of the molecular mechanisms which underlie the physiological processes.  The earliest cardiac models were based on the pioneering work of Hodgkin and Huxley, who in 1952 published a mathematical model which described the Na
<superscript>+</superscript> and K<superscript>+</superscript> currents in the giant squid axon (for more details, please see The Hodgkin-Huxley Squid Axon Model, 1952).  Over time, advances in experimental techniques have allowed more detailed physiological data to be produced.  In turn this has been used to build more biologically realistic, detailed mathematical models which include more complex ionic currents and fluxes.
</para>

<para>
A diverse array of models have been developed in order to address the wide range of action potential behaviours observed in different species and regions of the heart.  These include: 
</para>
<itemizedlist>
  
<listitem>
            
<para>Ventricular Myocytes</para>
          
</listitem>
  
<listitem>
            
<para>Atrial Myocytes</para>
          
</listitem>
  
<listitem>
            
<para>Purkinje Fibres</para>
          
</listitem>
  
<listitem>
            
<para>Pacemaker Cells</para>
          
</listitem>
  
<listitem>
            
<para>Rabbit</para>
          
</listitem>
  
<listitem>
            
<para>Guinea-pig</para>
          
</listitem>
  
<listitem>
            
<para>Bullfrog</para>
          
</listitem>
  
<listitem>
            
<para>Human</para>
          
</listitem>
</itemizedlist>
<para>
Variation in the shape and duration of the action potential is often due to differences in species and the region of the heart - as opposed to the size of the heart per se.  There is a great diversity in the anatomical and electrophysiological features of myocytes from different species, such as the transverse tubules, Ca
<superscript>2+</superscript> handling systems, and the specific properties of the ionic currents.  
</para>

<para>
In the Bondarenko 
<emphasis>et al.</emphasis> 2004 publication described here, the authors develop a computer model of the mouse ventricular action potential.  The model includes parameters for both the apex and the septum regions of the heart (the apex parameters have been substituted into the CellML version of the model), and this helps to illustrate how there are regional differences in myocyte repolarisation in the mouse heart.  The model is based on recent experimental data from adult mice experiments.  The model contains transmembrane pumps, currents and exchangers, as well as a detailed description of the Ca<superscript>2+</superscript> handling system.  Where possible, Markov models (see the figure below) have been used to represent the molecular function and structure of ion channels.
</para>

<para>
The complete original paper reference is cited below:
</para>

<para>
<!-- <ulink url="http://www."> -->A Computer Model of the Action Potential of the Mouse Ventricular Myocytes <!--</ulink> -->, Vladimir E. Bondarenko, Gyula P. Szigeti, Glenna C. L. Bett, Song-Jung Kim, and Randall L. Rasmusson, 2004, <ulink url="http://ajpheart.physiology.org/">
            
<emphasis>American Journal of Physiology</emphasis>
          
</ulink> <!--, 11, 369-391.  (<ulink url="http://www.molbiolcell.org/cgi/content/full/11/1/369">Full text (HTML)</ulink> and <ulink url="http://www.molbiolcell.org/cgi/reprint/11/1/369.pdf">PDF</ulink> versions of the article are available on the <emphasis>Molecular Biology of the Cell</emphasis> website.) -->  A <ulink url="http://ajpheart.physiology.org/cgi/reprint/00185.2003v1.pdf">PDF</ulink> version of the article is available to subscribers ahead of print on the <emphasis>American Journal of Physiology</emphasis> website.) <ulink url="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=PubMed&amp;list_uids=15142845&amp;dopt=Abstract">PubMed ID: 15142845</ulink>
</para>

<informalfigure float="0" id="fig_cell_diagram">
<mediaobject>
  
<imageobject>
    
<objectinfo>
      
<title>cell diagram</title>
    
</objectinfo>
    
<imagedata fileref="../images/bondarenko_model_2004/bondarenko_2004.png" />
  
</imageobject>
</mediaobject>
<caption>Schematic diagram of the mouse model ionic currents and calcium fluxes.</caption>
</informalfigure>

<informalfigure float="0" id="fig_reaction_diagram">
<mediaobject>
  
<imageobject>
    
<objectinfo>
      
<title>reaction diagram</title>
    
</objectinfo>
    
<imagedata fileref="../images/bondarenko_model_2004/reaction_diagram.gif" />
  
</imageobject>
</mediaobject>
<caption>State diagram of the Markov model for the sodium channel.  <emphasis>C<subscript>Na</subscript>
            
</emphasis> denotes a closed channel state, <emphasis>O<subscript>Na</subscript>
            
</emphasis> is the open state, <emphasis>IF<subscript>Na</subscript>
            
</emphasis> represents the fast, inactivated state, <emphasis>I1<subscript>Na</subscript>
            
</emphasis> and <emphasis>I2<subscript>Na</subscript>
            
</emphasis> are the intermediate inactivated states, and <emphasis>IC2<subscript>Na</subscript>
            
</emphasis> and <emphasis>IC3<subscript>Na</subscript>
            
</emphasis> are the closed-inactivation states.</caption>
</informalfigure>

</sect1>
</article>
</documentation>
  
  

  
<units base_units="no" name="millisecond">
    
<unit units="second" prefix="-3" offset="0.0" exponent="1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="per_millisecond">
    
<unit units="second" prefix="-3" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="millivolt">
    
<unit units="volt" prefix="-3" offset="0.0" exponent="1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="per_millivolt">
    
<unit units="volt" prefix="-3" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="per_millivolt_millisecond">
    
<unit units="millivolt" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
    
<unit units="millisecond" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="milliS_per_microF">
    
<unit units="siemens" prefix="-3" offset="0.0" exponent="1.0" multiplier="1.0" />
    
<unit units="farad" prefix="-6" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="picoF">
    
<unit units="farad" prefix="-12" offset="0.0" exponent="1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="per_picoF">
    
<unit units="picoF" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="microF_per_cm2">
    
<unit units="farad" prefix="-6" offset="0.0" exponent="1.0" multiplier="1.0" />
    
<unit units="metre" prefix="-2" offset="0.0" exponent="-2.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="picoA_per_picoF">
    
<unit units="ampere" prefix="-12" offset="0.0" exponent="1.0" multiplier="1.0" />
    
<unit units="farad" prefix="-12" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="micromolar">
    
<unit units="mole" prefix="-6" offset="0.0" exponent="1.0" multiplier="1.0" />
    
<unit units="litre" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="joule_per_mole_kelvin">
    
<unit units="joule" prefix="0" offset="0.0" exponent="1.0" multiplier="1.0" />
    
<unit units="mole" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
    
<unit units="kelvin" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="coulomb_per_millimole">
    
<unit units="coulomb" prefix="0" offset="0.0" exponent="1.0" multiplier="1.0" />
    
<unit units="mole" prefix="-3" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="cm2">
    
<unit units="metre" prefix="-2" offset="0.0" exponent="2.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="microlitre">
    
<unit units="litre" prefix="-6" offset="0.0" exponent="1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="micromolar_per_millisecond">
    
<unit units="micromolar" prefix="0" offset="0.0" exponent="1.0" multiplier="1.0" />
    
<unit units="millisecond" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="per_micromolar_millisecond">
    
<unit units="micromolar" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
    
<unit units="millisecond" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="micromolar3_per_millisecond">
    
<unit units="micromolar" prefix="0" offset="0.0" exponent="-3.0" multiplier="1.0" />
    
<unit units="millisecond" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<units base_units="no" name="micromolar4_per_millisecond">
    
<unit units="micromolar" prefix="0" offset="0.0" exponent="-4.0" multiplier="1.0" />
    
<unit units="millisecond" prefix="0" offset="0.0" exponent="-1.0" multiplier="1.0" />
  
</units>
  
<component name="environment">
    
<variable units="millisecond" public_interface="out" private_interface="none" name="time" />
  
</component>
  
<component name="membrane">
    
<variable units="millivolt" public_interface="out" private_interface="none" name="V" initial_value="-82.4202" />
    
<variable units="microF_per_cm2" public_interface="out" private_interface="none" name="Cm" initial_value="1.0" />
    
<variable units="microlitre" public_interface="out" private_interface="none" name="Vmyo" initial_value="2.584E-5" />
    
<variable units="microlitre" public_interface="out" private_interface="none" name="VJSR" initial_value="1.2E-7" />
    
<variable units="microlitre" public_interface="out" private_interface="none" name="VNSR" initial_value="2.098E-6" />
    
<variable units="microlitre" public_interface="out" private_interface="none" name="Vss" initial_value="1.485E-9" />
    
<variable units="cm2" public_interface="out" private_interface="none" name="Acap" initial_value="1.534E-4" />
    
<variable units="micromolar" public_interface="out" private_interface="none" name="Ko" initial_value="5400.0" />
    
<variable units="micromolar" public_interface="out" private_interface="none" name="Nao" initial_value="140000.0" />
    
<variable units="micromolar" public_interface="out" private_interface="none" name="Cao" initial_value="1800.0" />
    
<variable units="joule_per_mole_kelvin" public_interface="out" private_interface="none" name="R" initial_value="8.314" />
    
<variable units="kelvin" public_interface="out" private_interface="none" name="T" initial_value="298.0" />
    
<variable units="coulomb_per_millimole" public_interface="out" private_interface="none" name="F" initial_value="96.5" />
    
<variable units="picoA_per_picoF" public_interface="none" private_interface="none" name="i_stim" />
    
<variable units="millisecond" public_interface="in" private_interface="none" name="time" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_CaL" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_pCa" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_NaCa" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Cab" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Na" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Nab" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_NaK" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Kto_f" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Kto_s" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_K1" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Ks" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Kur" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Kss" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_ClCa" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Kr" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq />
        
<ci>i_stim</ci>
        
<piecewise>
          
<piece>
            
<apply>
              
<minus />
              
<cn cellml:units="picoA_per_picoF">80</cn>
            
</apply>
            
<apply>
              
<and />
              
<apply>
                
<geq />
                
<ci>time</ci>
                
<cn cellml:units="millisecond">20</cn>
              
</apply>
              
<apply>
                
<leq />
                
<ci>time</ci>
                
<cn cellml:units="millisecond">20.5</cn>
              
</apply>
            
</apply>
          
</piece>
          
<otherwise>
            
<cn cellml:units="picoA_per_picoF">0</cn>
          
</otherwise>
        
</piecewise>
      
</apply>
      
<apply>
        
<eq />
        
<apply>
          
<diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>V</ci>
        
</apply>
        
<apply>
          
<divide />
          
<apply>
            
<minus />
            
<apply>
              
<plus />
              
<ci>i_CaL</ci>
              
<ci>i_pCa</ci>
              
<ci>i_NaCa</ci>
              
<ci>i_Cab</ci>
              
<ci>i_Na</ci>
              
<ci>i_Nab</ci>
              
<ci>i_NaK</ci>
              
<ci>i_Kto_f</ci>
              
<ci>i_Kto_s</ci>
              
<ci>i_K1</ci>
              
<ci>i_Ks</ci>
              
<ci>i_Kur</ci>
              
<ci>i_Kss</ci>
              
<ci>i_Kr</ci>
              
<ci>i_ClCa</ci>
              
<ci>i_stim</ci>
            
</apply>
          
</apply>
          
<ci>Cm</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>
  
<component name="calcium_concentration">
    
<variable units="micromolar" public_interface="out" private_interface="none" name="Cai" initial_value="0.115001" />
    
<variable units="micromolar" public_interface="out" private_interface="none" name="Cass" initial_value="0.115001" />
    
<variable units="micromolar" public_interface="out" private_interface="none" name="CaJSR" initial_value="1299.5" />
    
<variable units="micromolar" public_interface="out" private_interface="none" name="CaNSR" initial_value="1299.5" />
    
<variable units="dimensionless" public_interface="none" private_interface="none" name="Bi" />
    
<variable units="dimensionless" public_interface="none" private_interface="none" name="Bss" />
    
<variable units="dimensionless" public_interface="none" private_interface="none" name="BJSR" />
    
<variable units="micromolar" public_interface="none" private_interface="none" name="CMDN_tot" initial_value="50.0" />
    
<variable units="micromolar" public_interface="none" private_interface="none" name="CSQN_tot" initial_value="15000.0" />
    
<variable units="micromolar" public_interface="none" private_interface="none" name="Km_CMDN" initial_value="0.238" />
    
<variable units="micromolar" public_interface="none" private_interface="none" name="Km_CSQN" initial_value="800.0" />
    
<variable units="cm2" public_interface="in" private_interface="none" name="Acap" />
    
<variable units="microlitre" public_interface="in" private_interface="none" name="Vmyo" />
    
<variable units="microlitre" public_interface="in" private_interface="none" name="VJSR" />
    
<variable units="microlitre" public_interface="in" private_interface="none" name="Vss" />
    
<variable units="microlitre" public_interface="in" private_interface="none" name="VNSR" />
    
<variable units="millivolt" public_interface="in" private_interface="none" name="V" />
    
<variable units="microF_per_cm2" public_interface="in" private_interface="none" name="Cm" />
    
<variable units="millisecond" public_interface="in" private_interface="none" name="time" />
    
<variable units="coulomb_per_millimole" public_interface="in" private_interface="none" name="F" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_Cab" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_CaL" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_NaCa" />
    
<variable units="picoA_per_picoF" public_interface="in" private_interface="none" name="i_pCa" />
    
<variable units="micromolar_per_millisecond" public_interface="in" private_interface="none" name="J_leak" />
    
<variable units="micromolar_per_millisecond" public_interface="in" private_interface="none" name="J_rel" />
    
<variable units="micromolar_per_millisecond" public_interface="in" private_interface="none" name="J_up" />
    
<variable units="micromolar_per_millisecond" public_interface="in" private_interface="none" name="J_tr" />
    
<variable units="micromolar_per_millisecond" public_interface="in" private_interface="none" name="J_trpn" />
    
<variable units="micromolar_per_millisecond" public_interface="in" private_interface="none" name="J_xfer" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq />
        
<apply>
          
<diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>Cai</ci>
        
</apply>
        
<apply>
          
<times />
          
<ci>Bi</ci>
          
<apply>
            
<minus />
            
<apply>
              
<plus />
              
<ci>J_leak</ci>
              
<ci>J_xfer</ci>
            
</apply>
            
<apply>
              
<plus />
              
<ci>J_up</ci>
              
<ci>J_trpn</ci>
              
<apply>
                
<divide />
                
<apply>
                  
<times />
                  
<apply>
                    
<minus />
                    
<apply>
                      
<plus />
                      
<ci>i_Cab</ci>
                      
<ci>i_pCa</ci>
                    
</apply>
                    
<apply>
                      
<times />
                      
<cn cellml:units="dimensionless">2</cn>
                      
<ci>i_NaCa</ci>
                    
</apply>
                  
</apply>
                  
<ci>Acap</ci>
                  
<ci>Cm</ci>
                
</apply>
                
<apply>
                  
<times />
                  
<cn cellml:units="dimensionless">2</cn>
                  
<ci>Vmyo</ci>
                  
<ci>F</ci>
                
</apply>
              
</apply>
            
</apply>
          
</apply>
        
</apply>
      
</apply>
      
<apply>
        
<eq />
        
<apply>
          
<diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>Cass</ci>
        
</apply>
        
<apply>
          
<times />
          
<ci>Bss</ci>
          
<apply>
            
<minus />
            
<apply>
              
<divide />
              
<apply>
                
<times />
                
<ci>J_rel</ci>
                
<ci>VJSR</ci>
              
</apply>
              
<ci>Vss</ci>
            
</apply>
            
<apply>
              
<plus />
              
<apply>
                
<divide />
                
<apply>
                  
<times />
                  
<ci>J_xfer</ci>
                  
<ci>Vmyo</ci>
                
</apply>
                
<ci>Vss</ci>
              
</apply>
              
<apply>
                
<divide />
                
<apply>
                  
<times />
                  
<ci>i_CaL</ci>
                  
<ci>Acap</ci>
                  
<ci>Cm</ci>
                
</apply>
                
<apply>
                  
<times />
                  
<cn cellml:units="dimensionless">2</cn>
                  
<ci>Vss</ci>
                  
<ci>F</ci>
                
</apply>
              
</apply>
            
</apply>
          
</apply>
        
</apply>
      
</apply>
      
<apply>
        
<eq />
        
<apply>
          
<diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>CaJSR</ci>
        
</apply>
        
<apply>
          
<times />
          
<ci>BJSR</ci>
          
<apply>
            
<minus />
            
<ci>J_tr</ci>
            
<ci>J_rel</ci>
          
</apply>
        
</apply>
      
</apply>
      
<apply>
        
<eq />
        
<apply>
          
<diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>CaNSR</ci>
        
</apply>
        
<apply>
          
<minus />
          
<apply>
            
<divide />
            
<apply>
              
<times />
              
<apply>
                
<minus />
                
<ci>J_up</ci>
                
<ci>J_leak</ci>
              
</apply>
              
<ci>Vmyo</ci>
            
</apply>
            
<ci>VNSR</ci>
          
</apply>
          
<apply>
            
<divide />
            
<apply>
              
<times />
              
<ci>J_tr</ci>
              
<ci>VJSR</ci>
            
</apply>