<?xml version="1.0"?>

<!--  FILE :  electron_transport_chain_model.xml

CREATED :  17th June 2002

LAST MODIFIED : 22nd July 2002

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

DESCRIPTION :  This file contains a CellML description of a generic model of the
               electron transport chain.

CHANGES:  
   22/07/2002 - CML - Added more metadata.
-->


<model name="electron_transport_chain_model" pathway_editor:rendering_config_file="electron_transport_chain_model_CellMLrender.xml" xmlns="http://www.cellml.org/cellml/1.0#" xmlns:cellml="http://www.cellml.org/cellml/1.0#" xmlns:cmeta="http://www.cellml.org/metadata/1.0#" xmlns:pathway_editor="http://www.physiome.com/pathway_editor/1.0#">
  
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 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#">
    
<!--
      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>2002-06-17</dcterms:W3CDTF>
      
</dcterms:created>
      
      
<!--
        The Last Modified Date metadata. This is the date on which
        the model was last changed.
      -->

      
<cmeta:modification rdf:parseType="Resource">
        
<rdf:value>
          Added more metadata.
        
</rdf:value>
        
<cmeta:modifier 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>
        
</cmeta:modifier>
        
<dcterms:modified rdf:parseType="Resource"> 
          
<dcterms:W3CDTF>2002-07-22</dcterms:W3CDTF>
        
</dcterms:modified>
      
</cmeta:modification>
     
      
      
<!-- The Publisher metadata. -->
      
<dc:publisher>
        The University of Auckland, Bioengineering Institute
      
</dc:publisher>
    
</rdf:Description>
    
    
<!--
      The following metadata refers to the model itself, as indicated by the
      reference to the ID "electron_transport_chain_model", which is declared on
      the <model> element.
    -->

    
<rdf:Description rdf:about="#electron_transport_chain_model">
      
<!-- A human readable name for the model. -->
      
<dc:title>A Generic Model Of The Electron Transport Chain</dc:title>
      
      
<!-- A comment regarding the model. -->
      
<cmeta:comment rdf:parseType="Resource">
        
<rdf:value>
          Below is a CellML description of a general model of the electron 
          transport chain.  It is not based on a specific published 
          mathematical model, but instead it is based on a textbook defined 
          pathway.  The general sequential structure and all the reactant, 
          product and enzyme components are included.  Michaelis-Menten enzyme 
          kinetics are assumed.
          
          The purpose of this description is to illustrate how CellML can be 
          used to model a general metabolic pathway.
        
</rdf:value>
        
<!-- The creator of the comment. -->
        
<dc:creator>
          
<vCard:FN>Catherine Lloyd</vCard:FN>
        
</dc:creator>
      
</cmeta:comment>
      
      
<cmeta:species>Homo sapiens</cmeta:species>
      
      
<cmeta:bio_entity>Mitochondrion</cmeta:bio_entity>
      
      
<!--  Keyword(s) -->
      
<bqs:reference rdf:parseType="Resource">
        
<dc:subject rdf:parseType="Resource">
          
<bqs:subject_type>keyword</bqs:subject_type>
          
<rdf:value>metabolism</rdf:value>
        
</dc:subject>
      
</bqs:reference>  
      
      
<bqs:Book rdf:parseType="Resource">
        
<dc:creator rdf:parseType="Resource">
          
<bqs:Person rdf:parseType="Resource">
            
<vCard:N rdf:parseType="Resource">
              
<vCard:Family>Bronk</vCard:Family>
              
<vCard:Given>J</vCard:Given>
              
<vCard:Other>Ramsey</vCard:Other>
            
</vCard:N>
          
</bqs:Person>
        
</dc:creator>
        
<dc:title>Human Metabolism</dc:title>
        
<dcterms:issued rdf:parseType="Resource">
          
<dcterms:W3CDTF>1999</dcterms:W3CDTF>
        
</dcterms:issued>
        
<dc:publisher rdf:parseType="Resource">
         
<bqs:Organisation>Addison Wesley Longman Limited</bqs:Organisation>
         
<bqs:Property rdf:parseType="Resource">
           
<bqs:property_type>location</bqs:property_type>
           
<rdf:value>England</rdf:value>
         
</bqs:Property>
       
</dc:publisher>
     
</bqs:Book>
    
</rdf:Description>
  
</rdf:RDF>
  
  
<!--
    We start the model definition with a definition of some named
    sets of units for use throughout the model.
  -->

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

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

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

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

  
<units name="fourth_order_rate_constant">
    
<unit units="micromolar" exponent="-3" />
    
<unit units="second" exponent="-1" />
  
</units>

  
<units name="five_fifth_order_rate_constant">
    
<unit units="micromolar" exponent="-4.5" />
    
<unit units="second" exponent="-1" />
  
</units>

 
<!--  
   The following component is defined for modelling convenience.  It contains 
   all the universal variables, in this case, only time.
 -->

  
<component name="global_variables">
    
<variable name="time" public_interface="out" units="second" />
  
</component>

 
<!--  
   The following components describe all the metabolites - both reactants and 
   products - involved in the electron transport chain.
  -->


  
<component name="NADH" cmeta:id="NADH">
    
<variable name="NADH" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_NADH_rxn0" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>NADH</ci>
        
</apply>
        
<ci>delta_NADH_rxn0</ci>
      
</apply>
    
</math>
  
</component>

  
<component name="NAD" cmeta:id="NAD">
    
<variable name="NAD" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_NAD_rxn0" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>NAD</ci>
        
</apply>
        
<ci>delta_NAD_rxn0</ci>
      
</apply>
    
</math>
  
</component>

  
<component name="CoQ_oxidised" cmeta:id="CoQ_oxidised">
    
<variable name="CoQ_oxidised" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_CoQ_oxidised_rxn1" public_interface="in" units="flux" />
    
<variable name="delta_CoQ_oxidised_rxn0" public_interface="in" units="flux" />
    
<variable name="delta_CoQ_oxidised_rxn3" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>CoQ_oxidised</ci>
        
</apply>
        
<apply><plus />
          
<ci>delta_CoQ_oxidised_rxn1</ci>
          
<ci>delta_CoQ_oxidised_rxn0</ci>
          
<ci>delta_CoQ_oxidised_rxn3</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component name="CoQ_reduced" cmeta:id="CoQ_reduced">
    
<variable name="CoQ_reduced" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_CoQ_reduced_rxn0" public_interface="in" units="flux" />
    
<variable name="delta_CoQ_reduced_rxn3" public_interface="in" units="flux" />
    
<variable name="delta_CoQ_reduced_rxn1" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>CoQ_reduced</ci>
        
</apply>
        
<apply><plus />
          
<ci>delta_CoQ_reduced_rxn0</ci>
          
<ci>delta_CoQ_reduced_rxn3</ci>
          
<ci>delta_CoQ_reduced_rxn1</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component name="Cytochrome_c_oxidised" cmeta:id="Cytochrome_c_oxidised">
    
<variable name="Cytochrome_c_oxidised" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_Cytochrome_c_oxidised_rxn2" public_interface="in" units="flux" />
    
<variable name="delta_Cytochrome_c_oxidised_rxn1" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>Cytochrome_c_oxidised</ci>
        
</apply>
        
<apply><plus />
          
<ci>delta_Cytochrome_c_oxidised_rxn2</ci>
          
<ci>delta_Cytochrome_c_oxidised_rxn1</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component name="Cytochrome_c_reduced" cmeta:id="Cytochrome_c_reduced">
    
<variable name="Cytochrome_c_reduced" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_Cytochrome_c_reduced_rxn1" public_interface="in" units="flux" />
    
<variable name="delta_Cytochrome_c_reduced_rxn2" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>Cytochrome_c_reduced</ci>
        
</apply>
        
<apply><plus />
          
<ci>delta_Cytochrome_c_reduced_rxn1</ci>
          
<ci>delta_Cytochrome_c_reduced_rxn2</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component name="H2O" cmeta:id="H2O">
    
<variable name="H2O" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_H2O_rxn2" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>H2O</ci>
        
</apply>
        
<ci>delta_H2O_rxn2</ci>
      
</apply>
    
</math>
  
</component>

  
<component name="O2" cmeta:id="O2">
    
<variable name="O2" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_O2_rxn2" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>O2</ci>
        
</apply>
        
<ci>delta_O2_rxn2</ci>
      
</apply>
    
</math>
  
</component>

  
<component name="H" cmeta:id="H">
    
<variable name="H" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_H_rxn2" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>H</ci>
        
</apply>
        
<ci>delta_H_rxn2</ci>
      
</apply>
    
</math>
  
</component>

  
<component name="FAD" cmeta:id="FAD">
    
<variable name="FAD" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_FAD_rxn3" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>FAD</ci>
        
</apply>
        
<ci>delta_FAD_rxn3</ci>
      
</apply>
    
</math>
  
</component>

  
<component name="FADH2" cmeta:id="FADH2">
    
<variable name="FADH2" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_FADH2_rxn4" public_interface="in" units="flux" />
    
<variable name="delta_FADH2_rxn3" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>FADH2</ci>
        
</apply>
        
<apply><plus />
          
<ci>delta_FADH2_rxn4</ci>
          
<ci>delta_FADH2_rxn3</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component name="ATP" cmeta:id="ATP">
    
<variable name="ATP" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_ATP_rxn0" public_interface="in" units="flux" />
    
<variable name="delta_ATP_rxn1" public_interface="in" units="flux" />
    
<variable name="delta_ATP_rxn2" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>ATP</ci>
        
</apply>
        
<apply><plus />
          
<ci>delta_ATP_rxn0</ci>
          
<ci>delta_ATP_rxn1</ci>
          
<ci>delta_ATP_rxn2</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component name="ADP" cmeta:id="ADP">
    
<variable name="ADP" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_ADP_rxn0" public_interface="in" units="flux" />
    
<variable name="delta_ADP_rxn1" public_interface="in" units="flux" />
    
<variable name="delta_ADP_rxn2" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>ADP</ci>
        
</apply>
        
<apply><plus />
          
<ci>delta_ADP_rxn0</ci>
          
<ci>delta_ADP_rxn1</ci>
          
<ci>delta_ADP_rxn2</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component name="Pi" cmeta:id="Pi">
    
<variable name="Pi" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_Pi_rxn0" public_interface="in" units="flux" />
    
<variable name="delta_Pi_rxn1" public_interface="in" units="flux" />
    
<variable name="delta_Pi_rxn2" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>Pi</ci>
        
</apply>
        
<apply><plus />
          
<ci>delta_Pi_rxn0</ci>
          
<ci>delta_Pi_rxn1</ci>
          
<ci>delta_Pi_rxn2</ci>
        
</apply>
      
</apply>
    
</math>
  
</component>

  
<component name="Succinate" cmeta:id="Succinate">
    
<variable name="Succinate" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_Succinate_rxn4" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>Succinate</ci>
        
</apply>
        
<ci>delta_Succinate_rxn4</ci>
      
</apply>
    
</math>
  
</component>

  
<component name="Fumarate" cmeta:id="Fumarate">
    
<variable name="Fumarate" public_interface="out" initial_value="1.0" units="micromolar" />
    
<variable name="delta_Fumarate_rxn4" public_interface="in" units="flux" />
    
<variable name="time" public_interface="in" units="second" />
    
<math xmlns="http://www.w3.org/1998/Math/MathML">
      
<apply><eq />
        
<apply><diff />
          
<bvar>
            
<ci>time</ci>
          
</bvar>
          
<ci>Fumarate</ci>
        
</apply>
        
<ci>delta_Fumarate_rxn4</ci>
      
</apply>
    
</math>
  
</component>

  
<!--  
   The following components describe all the enzymes and protein complexes 
   involved in the electron transport chain.
  -->


  
<component name="Succinate_dehydrogenase" cmeta:id="Succinate_dehydrogenase">
    
<variable name="Succinate_dehydrogenase" public_interface="out" initial_value="1.0" units="micromolar" />
  
</component>

  
<component name="Complex_I" cmeta:id="Complex_I">
    
<variable name="Complex_I" public_interface="out" initial_value="1.0" units="micromolar" />
  
</component>

  
<component name="Complex_IV" cmeta:id="Complex_IV">
    
<variable name="Complex_IV" public_interface="out" initial_value="1.0" units="micromolar" />
  
</component>

  
<component name="Complex_III" cmeta:id="Complex_III">
    
<variable name="Complex_III" public_interface="out" initial_value="1.0" units="micromolar" />
  
</component>

  
<component name="Complex_II" cmeta:id="Complex_II">
    
<variable name="Complex_II" public_interface="out" initial_value="1.0" units="micromolar" />
  
</component>

  
<!--
   The following components represent the reaction steps of the electron 
   transport chain.
  -->


  
<component name="reaction0">
    
<variable name="NADH" public_interface="in" units="micromolar" />
    
<variable name="CoQ_oxidised" public_interface="in" units="micromolar" />
    
<variable name="Pi" public_interface="in" units="micromolar" />
    
<variable name="ADP" public_interface="in" units="micromolar" />
    
<variable name="NAD" public_interface="in" units="micromolar" />
    
<variable name="Complex_I" public_interface="in" units="micromolar" />
    
<variable name="CoQ_reduced" public_interface="in" units="micromolar" />
    
<variable name="ATP" public_interface="in" units="micromolar" />
    
<variable name="delta_NADH_rxn0" public_interface="out" units="flux" />
    
<variable name="delta_CoQ_oxidised_rxn0" public_interface="out" units="flux" />
    
<variable name="delta_Pi_rxn0" public_interface="out" units="flux" />
    
<variable name="delta_ADP_rxn0" public_interface="out" units="flux" />
    
<variable name="delta_NAD_rxn0" public_interface="out" units="flux" />
    
<variable name="delta_CoQ_reduced_rxn0" public_interface="out" units="flux" />
    
<variable name="delta_ATP_rxn0" public_interface="out" units="flux" />
    
<variable name="vmax0" initial_value="1.0" units="fourth_order_rate_constant" />
    
<variable name="km0" initial_value="1.0" units="micromolar" />
    
<variable name="rate" units="flux" />
    
<reaction reversible="no">
      
<variable_ref variable="NADH">
        
<role role="reactant" delta_variable="delta_NADH_rxn0" stoichiometry="1" />
      
</variable_ref>
      
<variable_ref variable="CoQ_oxidised">
        
<role role="reactant" delta_variable="delta_CoQ_oxidised_rxn0" stoichiometry="1" />
      
</variable_ref>
      
<variable_ref variable="Pi">
        
<role role="reactant" delta_variable="delta_Pi_rxn0" stoichiometry="1" />
      
</variable_ref>
      
<variable_ref variable="ADP">
        
<role role="reactant" delta_variable="delta_ADP_rxn0" stoichiometry="1" />
      
</variable_ref>
      
<variable_ref variable="NAD">
        
<role role="product" delta_variable="delta_NAD_rxn0" stoichiometry="1" />
      
</variable_ref>
      
<variable_ref variable="CoQ_reduced">
        
<role role="product" delta_variable="delta_CoQ_reduced_rxn0" stoichiometry="1" />
      
</variable_ref>
      
<variable_ref variable="ATP">
        
<role role="product" delta_variable="delta_ATP_rxn0" stoichiometry="1" />
      
</variable_ref>
      
<variable_ref variable="Complex_I">
        
<role role="catalyst" />
      
</variable_ref>
      
<variable_ref variable="rate">
        
<role role="rate">
          
<math xmlns="http://www.w3.org/1998/Math/MathML">
            
<apply><eq />