Personal tools
You are here: Home Model Repository
 
Views

Intra- and inter-islet synchronization of metabolically driven insulin secretion

The CellML code.

XML source view

<!--  FILE :  bertram_model_2007.xml

CREATED :  8th August 2007

LAST MODIFIED : 8th August 2007

AUTHOR :  Catherine Lloyd
          Bioengineering Institute
          The University of Auckland
          
MODEL STATUS :  This model conforms to the CellML 1.1 Specification.

DESCRIPTION :  This file contains a CellML description of Bertram et al.'s 2007 mathematical model of the interaction between glycolysis and mitochondrial respiration in metabolic oscillations of pancreatic islets.

CHANGES:  
  
-->
<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="bertram_model_2007" name="bertram_model_2007_version01">

<documentation xmlns="http://cellml.org/tmp-documentation">
<article>
  
<articleinfo>
  
<title>Interaction of glycolysis and mitochondrial respiration in metabolic oscillations of pancreatic islets</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 CellML model has been coded by translating the authors original XPPAUT .ode file, which can be found at http://www.math.fsu.edu/~bertram/software/islet/BJ_07/mitophan.ode . The model runs in PCEnv and is able to produce the published results.  The parameters have been chosen to recreate the bursting behaviour seen in figures 3 and 4 of the original paper.  
          
</para>
  
</section>
  
<sect1 id="sec_structure">
<title>Model Structure</title>

<para>
Glucose metabolism plays a key signalling role in insulin-secreting pancreatic beta cells.  In addition to generating ATP - the ubiquitous form of energy used to fuel many cellular processes - glucose metabolism in pancreatic beta cells is also the means by which blood glucose levels are monitored, ensuring an appropriate level of insulin secretion.  ATP-sensitive potassium channels in the plasma membrane are activated by ADP and are inactivated by ATP, therefore a high ATP/ADP ratio results in a reduced number of open, ATP-sensitive, potassium channels.  In turn, this results in membrane depolarisation and voltage-sensitive calcium channels open.  The resulting influx of calcium ions into the cell cytosol induces insulin secretion, which in a healthy individual typically occurs in oscillatory waves.  These can be fast with an oscillatory period of less than a minute, or slow with a duration of 2 to 7 minutes, or they can be a combination of fast and slow waves.  This oscillatory pattern of insulin secretion appears to have a physiological function which is of particular interest since it is lost in patients with type II diabetes.
</para>

<para>
Although the definitive mechanisms underlying these insulin oscillations are unknown, in the paper described here, Richard Bertram 
<emphasis>et al.</emphasis> suggest that calcium feedback onto ATP production or consumption is responsible for the fast component of the insulin oscillations, while oscillations in the glycolytic pathway are responsible for the slow component.  Furthermore, they build these phenomena into a mathematical model that combines a model of mitochondrial metabolism with models of glycolytic oscillations, plasma membrane electrical activity, and calcium handling in the cytosol and endoplasmic reticulum (summarised in the figure below).
</para>

<informalfigure float="0" id="fig_reaction_diagram">
<mediaobject>
  
<imageobject>
    
<objectinfo>
      
<title>model diagram</title>
    
</objectinfo>
    
<imagedata fileref="../images/bertram_model_2007/bertram_2007.png" />
  
</imageobject>
</mediaobject>
<caption>Schematic diagram of the model components and the variables which are exchanged between the components.</caption>
</informalfigure>

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

<para>
<ulink url="http://www.biophysj.org/cgi/content/abstract/92/5/1544">Interaction of glycolysis and mitochondrial respiration in metabolic oscillations of pancreatic islets</ulink>, Richard Bertram, Leslie S. Satin, Morten Gram Pedersen, Dan S. Luciani, and Arthur Sherman, 2007, <ulink url="http://www.biophysj.org/">
            
<emphasis>Biophysical Journal</emphasis>
          
</ulink>, 92, 1544-1555.  (<ulink url="http://www.biophysj.org/cgi/content/full/92/5/1544">Full text</ulink> and <ulink url="http://www.biophysj.org/cgi/reprint/92/5/1544">PDF</ulink> versions of the article are available to journal subscribers on the <emphasis>Biophysical Journal</emphasis> website.)  <ulink url="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=pubmed&amp;cmd=Retrieve&amp;dopt=AbstractPlus&amp;list_uids=17172305&amp;query_hl=1&amp;itool=pubmed_docsum">PubMed ID: 17172305</ulink>
</para>

<para>
The authors highlight that the original model code can be downloaded 
<ulink url="http://www.math.fsu.edu/~bertram/software/islet/BJ_07/mitophan.ode">here</ulink>.  
</para>

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




  
  
<units name="minute">
    
<unit units="second" multiplier="60.0" />
  
</units>

  
<units name="millisecond">
    
<unit units="second" prefix="milli" />
  
</units>

  
<units name="millivolt">
    
<unit units="volt" prefix="milli" />
  
</units>

  
<units name="per_millivolt">
    
<unit units="millivolt" exponent="-1" />
  
</units>

  
<units name="femtofarad">
    
<unit units="farad" prefix="femto" />
  
</units>

  
<units name="picosiemens">
    
<unit units="siemens" prefix="pico" />
  
</units>

  
<units name="femtoampere">
    
<unit units="ampere" prefix="femto" />
  
</units>

  
<units name="millimolar">
    
<unit units="mole" prefix="milli" />
    
<unit units="litre" exponent="-1" />
  
</units>

  
<units name="micromolar">
    
<unit units="mole" prefix="micro" />
    
<unit units="litre" exponent="-1" />
  
</units>

  
<units name="per_micromolar">
    
<unit units="micromolar" exponent="-1" />
  
</units>

  
<units name="millimolar_millisecond">
    
<unit units="millimolar" />
    
<unit units="millisecond" exponent="-1" />
  
</units>

  
<units name="micromolar_millisecond_millivolt">
    
<unit units="micromolar" />
    
<unit units="millisecond" exponent="-1" />
    
<unit units="millivolt" exponent="-1" />
  
</units>

  
<units name="per_micromolar_millisecond_millivolt">
    
<unit units="micromolar" exponent="-1" />
    
<unit units="millisecond" exponent="-1" />
    
<unit units="millivolt" exponent="-1" />
  
</units>

  
<units name="micromolar_millisecond">
    
<unit units="micromolar" />
    
<unit units="millisecond" exponent="-1" />
  
</units>

  
<units name="micromolar_second">
    
<unit units="micromolar" />
    
<unit units="second" exponent="-1" />
  
</units>
  
  
<units name="micromolar_millisecond_femtoampere">
    
<unit units="micromolar" />
    
<unit units="millisecond" exponent="-1" />
    
<unit units="ampere" prefix="pico" exponent="-1" />
  
</units>

  
<units name="micromolar_millivolt">
    
<unit units="micromolar" />
    
<unit units="millivolt" exponent="-1" />
  
</units>

  
<units name="first_order_rate_constant">
    
<unit units="millisecond" exponent="-1" />
  
</units>

  
<units name="second_order_rate_constant">
    
<unit units="micromolar" exponent="-1" />
    
<unit units="millisecond" exponent="-1" />
  
</units>
  
  
  
<component name="environment">
    
<variable units="millisecond" public_interface="out" name="time" />
  
</component>

<!-- Cell model -->

  
<component name="membrane">
    
<variable units="millivolt" public_interface="out" name="Vm" initial_value="-60.0" />
    
    
<variable units="femtofarad" name="cm" initial_value="5300.0" />
    
    
<variable units="femtoampere" public_interface="in" name="Ica" />
    
<variable units="femtoampere" public_interface="in" name="Ik" />
    
<variable units="femtoampere" public_interface="in" name="Ikca" />
    
<variable units="femtoampere" public_interface="in" name="Ikatp" />
      
    
<variable units="millisecond" public_interface="in" name="time" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq /> 
        
<apply>
          
<diff /> 
          
<bvar>
            
<ci>time</ci>
          
</bvar> 
          
<ci> Vm </ci> 
        
</apply>
        
<apply>
          
<divide />
          
<apply>
            
<minus />
            
<apply>
              
<plus />
              
<ci> Ik </ci>
              
<ci> Ica </ci>
              
<ci> Ikca </ci>
              
<ci> Ikatp </ci>
            
</apply>
          
</apply>
          
<ci> cm </ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component cmeta:id="Ik" name="Ik">
    
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/0P/PP-rdf-syntax-ns#">
      
<rdf:Description rdf:about="Ik">
        
<dc:title>Ik</dc:title>
        
<dcterms:alternative>voltage-dependent potassium current</dcterms:alternative>  
      
</rdf:Description>
    
</rdf:RDF>  
    
<variable units="femtoampere" public_interface="out" name="Ik" />
    
    
<variable units="picosiemens" name="gK" initial_value="2700.0" />   
   
    
<variable units="millisecond" public_interface="in" private_interface="out" name="time" />
    
<variable units="millivolt" public_interface="in" name="VK" />
    
<variable units="millivolt" public_interface="in" private_interface="out" name="Vm" />
    
<variable units="dimensionless" private_interface="in" name="n" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq />
        
<ci> Ik </ci>
        
<apply>
          
<times />
          
<ci> gK </ci>
          
<ci> n </ci>
          
<apply>
            
<minus />
            
<ci> Vm </ci>
            
<ci> VK </ci>
          
</apply>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component cmeta:id="n" name="n">
    
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/0P/PP-rdf-syntax-ns#">
      
<rdf:Description rdf:about="n">
        
<dc:title>n</dc:title>
        
<dcterms:alternative>voltage-dependent potassium current n gate</dcterms:alternative>  
      
</rdf:Description>
    
</rdf:RDF>  
    
<variable units="dimensionless" public_interface="out" name="n" initial_value="0.0" />
    
    
<variable units="dimensionless" name="n_infinity" />
    
<variable units="millisecond" name="tau_n" initial_value="20.0" />
    
<variable units="millivolt" name="vn" initial_value="-16.0" />
    
<variable units="millivolt" name="sn" initial_value="5.0" />    
   
    
<variable units="millisecond" public_interface="in" name="time" />
    
<variable units="millivolt" public_interface="in" name="Vm" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq /> 
        
<apply>
          
<diff /> 
          
<bvar>
            
<ci>time</ci>
          
</bvar> 
          
<ci> n </ci> 
        
</apply>
        
<apply>
          
<divide />
          
<apply>
            
<minus />
            
<ci> n_infinity </ci>
            
<ci> n </ci>
          
</apply>
          
<ci> tau_n </ci>
        
</apply>
      
</apply>

      
<apply>
        
<eq /> 
        
<ci> n_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 />
                  
<ci> vn </ci>
                  
<ci> Vm </ci>
                
</apply>
                
<ci> sn </ci>
              
</apply>
            
</apply>
          
</apply>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component cmeta:id="Ica" name="Ica">
    
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/0P/PP-rdf-syntax-ns#">
      
<rdf:Description rdf:about="Ica">
        
<dc:title>Ica</dc:title>
        
<dcterms:alternative>voltage-dependent calcium current</dcterms:alternative>  
      
</rdf:Description>
    
</rdf:RDF>  
    
<variable units="femtoampere" public_interface="out" name="Ica" />
    
    
<variable units="picosiemens" name="gCa" initial_value="1000.0" />   
   
    
<variable units="millisecond" public_interface="in" name="time" />
    
<variable units="millivolt" public_interface="in" name="VCa" />
    
<variable units="millivolt" public_interface="in" private_interface="out" name="Vm" />
    
<variable units="dimensionless" private_interface="in" name="m_infinity" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq />
        
<ci> Ica </ci>
        
<apply>
          
<times />
          
<ci> gCa </ci>
          
<ci> m_infinity </ci>
          
<apply>
            
<minus />
            
<ci> Vm </ci>
            
<ci> VCa </ci>
          
</apply>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component cmeta:id="m" name="m">
    
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/0P/PP-rdf-syntax-ns#">
      
<rdf:Description rdf:about="m">
        
<dc:title>m</dc:title>
        
<dcterms:alternative>voltage-dependent calcium current m gate</dcterms:alternative>  
      
</rdf:Description>
    
</rdf:RDF>  
    
<variable units="dimensionless" public_interface="out" name="m_infinity" />

    
<variable units="millivolt" name="v" initial_value="-20.0" />
    
<variable units="millivolt" name="sm" initial_value="12.0" />
    
    
<variable units="millivolt" public_interface="in" name="Vm" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq /> 
        
<ci> m_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 />
                  
<ci> v </ci>
                  
<ci> Vm </ci>
                
</apply>
                
<ci> sm </ci>
              
</apply>
            
</apply>
          
</apply>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component cmeta:id="Ikca" name="Ikca">
    
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/0P/PP-rdf-syntax-ns#">
      
<rdf:Description rdf:about="Ikca">
        
<dc:title>Ikca</dc:title>
        
<dcterms:alternative>calcium-activated potassium current</dcterms:alternative>  
      
</rdf:Description>
    
</rdf:RDF>  
    
<variable units="femtoampere" public_interface="out" name="Ikca" />
    
    
<variable units="picosiemens" name="gkCa" initial_value="300.0" />
    
<variable units="micromolar" name="kd" initial_value="0.5" />   
   
    
<variable units="millisecond" public_interface="in" name="time" />
    
<variable units="millivolt" public_interface="in" name="VK" />
    
<variable units="micromolar" public_interface="in" name="c" />
    
<variable units="millivolt" public_interface="in" name="Vm" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq />
        
<ci> Ikca </ci>
        
<apply>
          
<times />
          
<apply>
            
<divide />
            
<ci> gkCa </ci>
            
<apply>
              
<plus />
              
<cn cellml:units="dimensionless"> 1.0 </cn>
              
<apply>
                
<power />
                
<apply>
                  
<divide />
                  
<ci> kd </ci>
                  
<ci> c </ci>
                
</apply>
                
<cn cellml:units="dimensionless"> 2.0 </cn>
              
</apply>
            
</apply>
          
</apply>
          
<apply>
            
<minus />
            
<ci> Vm </ci>
            
<ci> VK </ci>
          
</apply>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component cmeta:id="Ikatp" name="Ikatp">
    
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/0P/PP-rdf-syntax-ns#">
      
<rdf:Description rdf:about="Ikatp">
        
<dc:title>Ikatp</dc:title>
        
<dcterms:alternative>ATP-sensitive potassium current</dcterms:alternative>  
      
</rdf:Description>
    
</rdf:RDF>  
    
<variable units="femtoampere" public_interface="out" name="Ikatp" />
    
    
<variable units="picosiemens" name="gkATP_" initial_value="16000.0" />
    
<variable units="dimensionless" name="katpo" />
    
<variable units="dimensionless" name="topo" />
    
<variable units="dimensionless" name="bottomo" />
    
<variable units="micromolar" name="mgadp" /> 
    
<variable units="micromolar" name="adp3m" /> 
    
<variable units="micromolar" name="atp4m" />   
   
    
<variable units="millisecond" public_interface="in" name="time" />
    
<variable units="millivolt" public_interface="in" name="VK" />
    
<variable units="micromolar" public_interface="in" name="atp" />
    
<variable units="micromolar" public_interface="in" name="adp" />
    
<variable units="millivolt" public_interface="in" name="Vm" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply>
        
<eq />
        
<ci> Ikatp </ci>
        
<apply>
          
<times />
          
<ci> gkATP_ </ci>
          
<ci> katpo </ci>
          
<apply>
            
<minus />
            
<ci> Vm </ci>
            
<ci> VK </ci>
          
</apply>
        
</apply>
      
</apply>

      
<apply>
        
<eq />
        
<ci> katpo </ci>
        
<apply>
          
<divide />
          
<ci>topo</ci>
          
<ci>bottomo</ci>
        
</apply>
      
</apply>

      
<apply>
        
<eq />
        
<ci> topo </ci>
        
<apply>
          
<plus />
          
<apply>
            
<times />
            
<cn cellml:units="dimensionless"> 0.08 </cn>
            
<apply>
              
<plus />
              
<cn cellml:units="dimensionless"> 1.0 </cn>
              
<apply>
                
<divide />
                
<apply>
                  
<times />
                  
<cn cellml:units="dimensionless"> 2.0 </cn>
                  
<ci> mgadp </ci>
                
</apply>
                
<cn cellml:units="micromolar"> 17.0 </cn>
              
</apply>
            
</apply>
          
</apply>
          
<apply>
            
<times />
            
<cn cellml:units="dimensionless"> 0.89 </cn>
            
<apply>
              
<power />
              
<apply>
                
<divide />
                
<ci> mgadp </ci>
                
<cn cellml:units="micromolar"> 17.0 </cn>
              
</apply>
              
<cn cellml:units="dimensionless"> 2.0 </cn>
            
</apply>
          
</apply>
        
</apply>
      
</apply>
          
      
<apply>
        
<eq />
        
<ci> bottomo </ci>
        
<apply>
          
<times />
          
<apply>
            
<power />
            
<apply>
              
<plus />
              
<cn cellml:units="dimensionless"> 1.0 </cn>
              
<apply>
                
<divide />
                
<ci> mgadp </ci>
                
<cn cellml:units="micromolar"> 17.0 </cn>
              
</apply>
            
</apply>
            
<cn cellml:units="dimensionless"> 2.0 </cn>
          
</apply>
          
<apply>
            
<plus />
            
<cn cellml:units="dimensionless"> 1.0 </cn>
            
<apply>
              
<divide />
              
<ci> adp3m </ci>
              
<cn cellml:units="micromolar"> 26.0 </cn>
            
</apply>
            
<apply>
              
<divide />
              
<ci> atp4m </ci>
              
<cn cellml:units="micromolar"> 1.0 </cn>
            
</apply>
          
</apply>
        
</apply>
      
</apply>

      
<apply>
        
<eq />
        
<ci> mgadp </ci>
        
<apply>
          
<times />
          
<cn cellml:units="dimensionless"> 0.165 </cn>
          
<ci> adp </ci>
        
</apply>
      
</apply>

      
<apply>
        
<eq />
        
<ci> adp3m </ci>
        
<apply>
          
<times />
          
<cn cellml:units="dimensionless"> 0.135 </cn>
          
<ci> adp </ci>
        
</apply>
      
</apply>

      
<apply>
        
<eq />
        
<ci> atp4m </ci>
        
<apply>
          
<times />
          
<cn cellml:units="dimensionless"> 0.05 </cn>
          
<ci> atp </ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<!-- The glycolytic model -->
  
  
<component cmeta:id="JGPDH" name="JGPDH">
    
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/0P/PP-rdf-syntax-ns#">
      
<rdf:Description rdf:about="JGPDH">
        
<dc:title>JGPDH</dc:title>
        
<dcterms:alternative>rate of the glyceride 3-P dehydrogenase reaction</dcterms:alternative>  
      
</rdf:Description>
    
</rdf:RDF>  
    
<variable units="micromolar_millisecond" public_interface="out" name="JGPDH" />

    
<variable units="micromolar_millisecond" name="kGPDH" initial_value="0.0005" />
    
    
<variable units="micromolar" public_interface="in" name="FBP" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML"> 
      
<apply>
        
<eq /> 
        
<ci> JGPDH </ci> 
        
<apply>
          
<times />
          
<ci> kGPDH </ci>
          
<apply>
            
<root />
            
<apply>
              
<abs />
              
<ci> FBP </ci>
            
</apply>
          
</apply>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component cmeta:id="G6P" name="G6P">
    
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/0P/PP-rdf-syntax-ns#">
      
<rdf:Description rdf:about="G6P">
        
<dc:title>G6P</dc:title>
        
<dcterms:alternative>glucose 6-phosphate</dcterms:alternative>
      
</rdf:Description>
    
</rdf:RDF>  
    
<variable units="micromolar" public_interface="out" name="G6P" initial_value="301.0" />
    
    
<variable units="micromolar_millisecond" public_interface="in" name="JGK_ms" />
    
<variable units="micromolar_millisecond" public_interface="in" name="JPFK_ms" />
    
<variable units="millisecond" public_interface="in" name="time" />
    
    
<math xmlns="http://www.w3.org/1998/Math/MathML"> 
      
<apply>
        
<eq /> 
        
<apply>
          
<diff /> 
          
<bvar>
            
<ci>time</ci>
          
</bvar> 
          
<ci> G6P </ci> 
        
</apply>
        
<apply>
          
<minus />
          
<ci> JGK_ms </ci>
          
<