SBML.org — the global portal for all things SBML

Complete example for the draft Level 3 "multi" package 2008-08-28

Contents

Authors: Nicolas Le Novère and Anika Oellrich
Last update to this page: 2008-08-28

AMPA receptor function
AMPA receptor function

On this page we will progressively walk through a complete example of a (entirely made-up) model that will demonstrate all the capabilities of the multi package. (back to the main page on multi).

The entity we will make use of is the tetrameric glutamate ionotropic receptor. The structure and physiology of this receptor for neurotransmitter is described in the figure on the left.

The biochemical processes we will encode in the SBML file are presented on the diagram below, drawn using the (forthcoming) SBGN Entity Relationships notation. (Note: this is not an SBGN Process Diagram!)

Image:GluR_ER.png

Heading

First we need to declare the SBML file, and declare the namespaces we will use. We also need to declare the packages used in the model, and if they are required to understand the behaviour of the model.

<?xml version="1.0" encoding="UTF8"?>
<sbml level="3" version="1"
      xmlns="http://www.sbml.org/sbml/level3/version1/core" 
      xmlns:l3m="http://www.sbml.org/sbml/level3/version1/multi/version1" >
  <model id="glur" name="glutamate receptor">

    <listOfPackages>
      <package identity="http://www.sbml.org/sbml/level3/version1/multi/version1" required="true"/>
    </listOfPackages>

    <listOfSpeciesType>

Species Type

We then need to declare the speciesTypes we will use in the model, to build the different entities we will manipulate. This is where we declare the stateFeatures and their possible values, as well as the binding sites.

The following speciesType defines the extracellular part of the glutamate receptor subunit. It carries two binding sites, one for glutamate and one for the intracellular part.
      <speciesType id="st_extra" name="glur extracellular domain">
        <l3m:listOfBindingSites>
          <l3m:bindingSite id="toIntra" name="binding site to the intracellular portion" />
          <l3m:bindingSite id="agonist" name="glutamate binding site" />
        </l3m:listOfBindingSites>
      </speciesType>


The following speciesType defines the intracellular part of the glutamate receptor subunit. It carries one state feature, the serine 845, that can be phosphorylated or not, and three binding sites, for neighbour subunits and one for the extracellular part of the subunit.
      <speciesType id="st_intra" name="glur intracellular domain">
        <l3m:listOfStateFeatures>
          <l3m:stateFeature id="ser845">
            <l3m:listOfPossibleValues>
              <l3m:possibleValue id="phosphorylated" />
              <l3m:possibleValue id="nonphosphorylated" />
            </l3m:listOfPossibleValues>
          </l3m:stateFeature>  
        </l3m:listOfStateFeatures>
        <l3m:listOfBindingSites>
          <l3m:bindingSite id="left" name="left neighbor binding site" />
          <l3m:bindingSite id="right" name="right neighbor binding site" />
          <l3m:bindingSite id="toExtra" name="binding site to the intracellular portion" />
        </l3m:listOfBindingSites>
      </speciesType>
The following speciesType defines the glutamate receptor, with on state feature, representing the conformation of the channel pore - closed, open or desensitized and one binding site for cytoskeletton scaffold.
      <speciesType id="st_receptor" name="glutamate receptor">
        <l3m:listOfStateFeatures>
          <l3m:stateFeature id="pore">
            <l3m:listOfPossibleValues>
              <l3m:possibleValue id="closed" />
              <l3m:possibleValue id="open" />
              <l3m:possibleValue id="desensitized" />
            </l3m:listOfPossibleValues>
          </l3m:stateFeature>
        </l3m:listOfStateFeatures>
        <l3m:listOfBindingSites>
          <l3m:bindingSite id="anchor" name="scaffolding binding site" />
        </l3m:listOfBindingSites>
      </speciesType>
This defines the cytoskeletton scaffold, that carries a variable number of binding sites for glutamate receptors (3 to 10).
      <speciesType id="st_scaffold" name="cytoskeletton scaffolding protein">
        <l3m:listOfBindingSites>
          <l3m:bindingSite id="slot" name="receptor binding site" minOccur="3" maxOccur="10" />
        </l3m:listOfBindingSites>        
      </speciesType>
This defines the protein kinase A, that can be active or inactive.
      <speciesType id="st_PKA" name="protein kinase A">
        <l3m:listOfStateFeatures>
          <l3m:stateFeature id="activity">
            <l3m:listOfPossibleValues>
              <l3m:possibleValue id="active" />
              <l3m:possibleValue id="inactive" />
            </l3m:listOfPossibleValues>
          </l3m:stateFeature>
        </l3m:listOfStateFeatures>
      </speciesType>
This defines glutamate, that carries a binding site for glutamate receptors.
      <speciesType id="st_glutamate" name="glutamate">
        <l3m:listOfBindingSites>
          <l3m:bindingSite id="pocket" name="receptor binding site" />
        </l3m:listOfBindingSites>        
      </speciesType>    
    
    </listOfSpeciesType>

Compartments

The multi extension does not affect the definition of the compartments. Here we create two compartments, extracellular and intracellular. Some physical entities will span the two compartments.

    <listOfCompartments>
      <compartment id="extracellular" />
      <compartment id="intracellular" />
    </listOfCompartments>

Selectors

The main new SBML entity added by the package multi is the selector. A selector acts as a filter, that permits to check if a physical entity obey some rules, fulfill some criteria.

The first selector filters only the instances of protein kinase A that are inactive.
    <l3m:listOfSelectors>
      
      <l3m:selector id="sel_inactivePKA">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="PKA" speciesType="st_PKA">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="activity">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="inactive" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
      </l3m:selector>
Conversely, this selector filters only the instances of protein kinase A that are active.
      <l3m:selector id="sel_activePKA">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="PKA" speciesType="st_PKA">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="activity">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="active" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
      </l3m:selector>
The following selector selects isolated subunits of glutamate receptor, that are not bound to glutamate and not phosphorylated. It describes the binding between intra and extracellular domains, and explicitely says that this subunit is not linked to others through the intracellular binding sites.
    <l3m:selector id="sel_freeMonomerNonGNonP">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="ser845">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="nonphosphorylated" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState> 
        </l3m:listOfSpeciesTypeStates>       
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
        <l3m:listOfUnboundBindingSites>
          <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
        </l3m:listOfUnboundBindingSites>
      </l3m:selector> 
The following selector selects isolated subunits of glutamate receptor, that are not bound to glutamate. They can be phosphorylated or not.
     
      <l3m:selector id="sel_freeMonomerNonG">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra" />
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>`
        <l3m:listOfUnboundBindingSites>
          <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
        </l3m:listOfUnboundBindingSites>
      </l3m:selector>      
The following selector selects subunits of glutamate receptor, either isolated or not that are not phosphorylated. They can be bound to glutamate or not.
      <l3m:selector id="sel_subunitNonP">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="ser845">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="nonphosphorylated" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances> 
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>`
      </l3m:selector>  
The following selector selects subunits of glutamate receptor, either isolated or not that are phosphorylated. They can be bound to glutamate or not.
      
     <l3m:selector id="sel_subunitP">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="ser845">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="phosphorylated" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances> 
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>`
      </l3m:selector>      
The following selector selects all glutamate receptors.
      
      <!-- This select all receptors.-->
      <l3m:selector id="sel_totalReceptor">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor" />
        </l3m:listOfSpeciesTypeStates>
      </l3m:selector>

The following selector selects tetrameric receptors of glutamate that are not bound to scaffold and which subunits are not phosphorylated and not bound to glutamate. Because of the rules of assembly, that we cannot have intra-entity bonds, that the network is connex and saturated, we can declare some bonds only once, even if they appear several times in the whole structure.

`
      <l3m:selector id="sel_receptor">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="ser845">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="nonphosphorylated" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="pore">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="closed" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
            <l3m:listOfContainedSpeciesTypes>
              <l3m:containedSpeciesType selector="extra" minOccur="4" maxOccur="4" connex="true" saturated="true" />
              <l3m:containedSpeciesType selector="intra" minOccur="4" maxOccur="4" connex="true" saturated="true" />
            </l3m:listOfContainedSpeciesTypes>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
        <l3m:listOfUnboundBindingSites>
          <l3m:bindingSiteReference speciesTypeState="receptor" bindingSite="anchor" />
          <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="agonist" />
        </l3m:listOfUnboundBindingSites>
      </l3m:selector>

The following selector selects receptors bound to glutamate.

     
      <l3m:selector id="sel_ligandedReceptor">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor">
          <l3m:speciesTypeState id="glutamate" speciesType="st_glutamate"/>   
            <l3m:listOfContainedSpeciesTypes>
              <l3m:containedSpeciesType selector="extra" minOccur="4" maxOccur="4" connex="true" saturated="true" />
              <l3m:containedSpeciesType selector="glutamate" minOccur="1" maxOccur="4" connex="true" saturated="true" />
            </l3m:listOfContainedSpeciesTypes>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
            <l3m:bindingSiteReference speciesTypeState="glutamate" bindingSite="pocket" />
          </l3m:bond>
        </l3m:listOfBonds>
      </l3m:selector>     
The following selector selects subunits that belong to multimers and that are not bound to glutamate. Because of the assembly rule, all multimers are obligatory tetrameric receptors. Therefore, we do not need to specify the containment.
      <selector id="sel_subunitNonG">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra" />
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
        <l3m:listOfUnboundBindingSites>
          <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
        </l3m:listOfUnboundBindingSites>      
      </selector>
The following selector selects subunits not bound to glutamate that belong to closed multimers.
  
      <selector id="sel_subunitNonG_closed">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra" />
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="pore">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="closed" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
        <l3m:listOfUnboundBindingSites>
          <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
        </l3m:listOfUnboundBindingSites>
      </selector>
The following selector selects subunits not bound to glutamate that belong to open multimers.
      
      <selector id="sel_subunitNonG_open">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra" />
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="pore">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="open" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
        <l3m:listOfUnboundBindingSites>
          <l3m:bindingSiteReference speciesTypeState="subunit" bindingSite="agonist" />
        </l3m:listOfUnboundBindingSites>
      </selector>
The following selector selects subunits not bound to glutamate that belong to desensitised multimers.
      
      <selector id="sel_subunitNonG_desensitised">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra" />
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="pore">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="desensitised" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
        <l3m:listOfUnboundBindingSites>
          <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
        </l3m:listOfUnboundBindingSites>
      </selector>
The following selector selects subunits bound to glutamate that belong to closed multimers.
     
      <selector id="sel_subunitG_closed">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra" />
          <l3m:speciesTypeState id="glutamate" speciesType="st_glutamate" />          
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="pore">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="closed" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
            <l3m:bindingSiteReference speciesTypeState="glutamate" bindingSite="pocket" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
      </selector>
The following selector selects subunits bound to glutamate that belong to open multimers.
      
     <selector id="sel_subunitG_open">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra" />
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="pore">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="open" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
            <l3m:bindingSiteReference speciesTypeState="glutamate" bindingSite="pocket" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
      </selector>
The following selector selects subunits bound to glutamate that belong to desensitised multimers.
      
      <selector id="sel_subunitG_desensitised">
        <l3m:listOfSpeciesTypeStates>
          <l3m:speciesTypeState id="extra" speciesType="st_extra" />
          <l3m:speciesTypeState id="intra" speciesType="st_intra" />
          <l3m:speciesTypeState id="glutamate" speciesType="st_glutamate" />          
          <l3m:speciesTypeState id="receptor" speciesType="st_receptor">
            <l3m:listOfStateFeatureInstances>
              <l3m:featureStateInstance stateFeature="pore">
                <l3m:listOfStateFeatureValues>
                  <l3m:stateFeatureValue possibleValue="desensitised" />
                </l3m:listOfStateFeatureValues>
              </l3m:featureStateInstance>
            </l3m:listOfStateFeatureInstances>
          </l3m:speciesTypeState>
        </l3m:listOfSpeciesTypeStates>
        <l3m:listOfBonds>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="agonist" />
            <l3m:bindingSiteReference speciesTypeState="glutamate" bindingSite="pocket" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="right" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="left" />
          </l3m:bond>
          <l3m:bond>
            <l3m:bindingSiteReference speciesTypeState="extra" bindingSite="toIntra" />
            <l3m:bindingSiteReference speciesTypeState="intra" bindingSite="toExtra" />
          </l3m:bond>
        </l3m:listOfBonds>
      </selector>
    
    </l3m:listOfSelectors>

Species

The declaration of species is still required with the package multi. However, the those species are realisations that can be part of larger entities.

    
    <listOfSpecies>
      
      <species id="cAMP" compartment="intracellular" initialAmount="10" />

The hypothetical entity pool represented by species are "filtered" through selectors to provide the real entity pools called initialSpeciesInstances.

      <species id="PKA" speciesType="st_PKA" compartment="intracellular" initialAmount="1000" >
        <l3m:listOfInitialSpeciesInstances>
          <l3m:initialSpeciesInstance id="initialPKA" initialProportion="0.9" selector="sel_inactivePKA"/>          
          <l3m:initialSpeciesInstance id="initialPKA" initialProportion="0.1" selector="sel_activePKA"/>
        </l3m:listOfInitialSpeciesInstances>
      </species>

Note that in the following declarations we define separately two initialSpeciesInstances for the extracellular and intracellular domains because they are located in different compartments (and therefore have to be subsets of different species). However since they refer to the same selector, and this selector explicitly describes the bond between extra and intracellular parts, the integrity of the transmembrane subunit is always maintained.

     
      <species id="sp_extra" speciesType="st_extra" compartment="extracellular" initialAmount="100" >
        <l3m:listOfInitialSpeciesInstances>
          <l3m:initialSpeciesInstance id="initialSubunit" initialProportion="1" selector="sel_freeMonomerNonGNonP"/>
        </l3m:listOfInitialSpeciesInstances>
      </species>
      
      <species id="sp_intra" speciesType="st_intra" compartment="intracellular" initialAmount="100" >
        <l3m:listOfInitialSpeciesInstances>
          <l3m:initialSpeciesInstance id="initialSubunit" initialProportion="1" selector="sel_freeMonomerNonGNonP"/>
        </l3m:listOfInitialSpeciesInstances>
      </species>
    </listOfSpecies>

Parameters

    <listOfParameters>
      <parameter id="OccupiedFraction" constant="false">
    </listOfParameters>

Rules

    <!-- This rule compute the fraction of receptor bound --> 
    <listOfRules>
      <assignmentRule variable="OccupiedFraction">
        <math xmlns="http://www.w3.org/1998/Math/MathML">
          <apply> 
            <divide/> 
            <ci> sel_ligandedReceptor </ci>
            <ci> sel_totalReceptor </ci>
          </apply>
        </math>
      </assignmentRule>
    </listOfRules>

Reactions

    
    <listOfReactions>
      
      <reaction id="PKAactivation">
      <!-- PKAi + 2cAMP => PKAa -->  
        <listOfReactants>
          <speciesReference species="PKA" stoichiometry="1">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_inactivePKA" selector="sel_inactivePKA" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
	  <speciesReference species="cAMP" stoichiometry="2" />
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="PKA">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_activePKA" selector="sel_activePKA" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
        </listOfProducts>
        <kineticLaw>
        <!-- No reaction if we do not understand states -->
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <cn>0</cn>
          </math>
        </kineticLaw>
        <l3m:listOfReactionRules>
          <l3m:reactionRule id="activationRule">
            <l3m:listOfConditions>
              <l3m:condition speciesTypeRestriction="res_inactivePKA" />
            </l3m:listOfConditions>
            <l3m:listOfResults>
              <l3m:result speciesTypeRestriction="res_activePKA" />
            </l3m:listOfResults>            
            <kineticLaw>
              <math xmlns="http://www.w3.org/1998/Math/MathML">
                <apply>
                  <times />
                  <ci>kon</ci>
                  <ci>res_inactivePKA</ci>
                  <apply>
                    <power/>
                    <ci>cAMP</ci>
                    <cn type="integer">2</cn>
                  </apply>
                </apply>
              </math>
              <listOfParameters>
                <parameter id="kon" value="1" />
              </listOfParameters>
            </kineticLaw>
          </l3m:reactionRule>
        </l3m:listOfReactionRules>
      </reaction>
      
      <reaction id="PKAdeactivation">
        <!-- PKAa => PKAi + 2cAMP -->  
        <listOfReactants>
          <speciesReference species="PKA" stoichiometry="1">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_activePKA" selector="sel_activePKA" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="PKA">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_inactivePKA" selector="sel_inactivePKA" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
          <speciesReference species="cAMP" stoichiometry="2" />
        </listOfProducts>
        <kineticLaw>
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <cn>0</cn>
          </math>
        </kineticLaw>
        <l3m:listOfReactionRules>
          <l3m:reactionRule id="deactivationRule">
            <l3m:listOfConditions>
              <l3m:condition speciesTypeRestriction="res_activePKA" />
            </l3m:listOfConditions>
            <l3m:listOfResults>
              <l3m:result speciesTypeRestriction="res_inactivePKA" />
            </l3m:listOfResults>            
            <kineticLaw>
              <math xmlns="http://www.w3.org/1998/Math/MathML">
                <apply>
                  <times />
                  <ci>koff</ci>
                  <ci>res_activePKA</ci>
                </apply>
              </math>
              <listOfParameters>
                <parameter id="koff" value="1e-6" />
              </listOfParameters>
            </kineticLaw>
          </l3m:reactionRule>
        </l3m:listOfReactionRules>
      </reaction>
      <reaction id="assembly">
      <!-- 4 monomer => receptor -->
        <listOfReactants>
          <speciesReference species="st_intra" stoichiometry="4">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_freeMonomerNonG" selector="sel_freeMonomerNonG" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="receptor">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_receptor" selector="sel_receptor" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
        </listOfProducts>
        <kineticLaw>
        <!-- Note that the default here is react, even if you do not understand the states
             It is a generalised reaction, unsing a speciesType id instead of a species -->
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <apply>
              <times />
              <ci>kon</ci>
              <apply>
                <power/>
                <ci>st_subunit</ci>
                <cn type="integer">4</cn>
              </apply>
            </apply>
           </math>
          <listOfParameters>
            <parameter id="kon" value="1" />
          </listOfParameters>
        </kineticLaw>       
        <l3m:listOfReactionRules>
          <l3m:reactionRule id="assemblyRule">
            <l3m:listOfConditions>
              <l3m:condition speciesTypeRestriction="res_freeMonomerNonG" />
            </l3m:listOfConditions>
            <!-- NB: If a stateFeatureState is not specified in the result, it is not affected 
                 by the reactionRule. Here, the subunits stays or not phosphorylated -->
            <l3m:listOfResults>
              <l3m:result speciesTypeRestriction="res_receptor" />
            </l3m:listOfResults>            
            <kineticLaw>
              <math xmlns="http://www.w3.org/1998/Math/MathML">
                <apply>
                  <times />
                  <ci>kon</ci>
                  <apply>
                    <power/>
                    <ci>res_freeMonomerNonG</ci>
                    <cn type="integer">4</cn>
                  </apply>
                </apply>
              </math>
              <listOfParameters>
                <parameter id="kon" value="1" />
              </listOfParameters>
            </kineticLaw>
          </l3m:reactionRule>
        </l3m:listOfReactionRules>
      </reaction>
      
      <reaction id="phosphorylation">
      <!-- subunit => subunit-P -->  
        <listOfReactants>
          <speciesReference species="st_intra">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_subunitNonP" selector="sel_subunitNonP" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="st_intra">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_subunitP" selector="sel_subunitP" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
        </listOfProducts>
        <listOfModifiers>
          <modifierSpeciesReference species="st_PKA" >
            <listOfSpeciesTypeRestrictions>
              <speciesTypeRestriction id="res_activePKA" selector="sel_activePKA" />
            </listOfSpeciesTypeRestrictions>
          </modifierSpeciesReference>
        </listOfModifiers>  
        <kineticLaw>
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <cn>0</cn>
          </math>
        </kineticLaw>       
        <l3m:listOfReactionRules>
          <l3m:reactionRule id="phosphorylationRule">
            <l3m:listOfConditions>
              <l3m:condition speciesTypeRestriction="res_subunitNonP" />
              <l3m:condition speciesTypeRestriction="res_activePKA" />
            </l3m:listOfConditions>
           <l3m:listOfResults>
              <l3m:result speciesTypeRestriction="res_subunitP" />
            </l3m:listOfResults>            
            <kineticLaw>
              <math xmlns="http://www.w3.org/1998/Math/MathML">
                <apply>
                  <divide/>
                  <apply>
                    <times />
                    <ci>kcat</ci>
                    <ci>res_activePKA</ci>
                    <ci>res_subunitNonP</ci>
                  </apply>
                  <apply>
                    <plus/>
                    <ci>Km</ci>
                    <ci>res_subunitNonP</ci>
                  </apply>
                </apply>
              </math>
              <listOfParameters>
                <parameter id="kcat" value="1" />
                <parameter id="Km" value="1" />
              </listOfParameters>
            </kineticLaw>
          </l3m:reactionRule>
        </l3m:listOfReactionRules>
      </reaction>      
      
      <reaction>
        <!-- association of glutamate. Does not depends on state -->
        <listOfReactants>
          <speciesReference species="st_extra">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_subunitNonG" selector="sel_subunitNonG" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
          <speciesReference species="glutamate"/>
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="st_extra">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_subunitG" selector="sel_subunitG" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
        </listOfProducts>
        <kineticLaw>
          <!-- No reaction if we do not understand states -->
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <cn>0</cn>
          </math>
        </kineticLaw>
        <l3m:listOfReactionRules>
          <l3m:reactionRule id="associationRule">
            <l3m:listOfConditions>
              <l3m:condition speciesTypeRestriction="res_subunitNonG" />
            </l3m:listOfConditions>
            <l3m:listOfResults>
              <l3m:result speciesTypeRestriction="res_subunitG" />
            </l3m:listOfResults>            
            <kineticLaw>
              <math xmlns="http://www.w3.org/1998/Math/MathML">
                <apply>
                  <times />
                  <ci>kon</ci>
                  <ci>res_subunitNonG</ci>
                </apply>
              </math>
              <listOfParameters>
                <parameter id="kon" value="1" />
              </listOfParameters>
            </kineticLaw>
          </l3m:reactionRule>
        </l3m:listOfReactionRules>
      </reaction>
      
      <reaction>
      <!-- dissociation of glutamate. Depends on state -->
        <listOfReactants>
          <speciesReference species="st_extra">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_subunitG_closed" selector="sel_subunitG_closed" />
              <l3m:speciesTypeRestriction id="res_subunitG_open" selector="sel_subunitG_open" />
              <l3m:speciesTypeRestriction id="res_subunitG_desensitised" selector="sel_subunitG_desensitised" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="st_extra">
            <l3m:listOfSpeciesTypeRestrictions>
              <l3m:speciesTypeRestriction id="res_subunitNonG_closed" selector="sel_subunitNonG_closed" />
              <l3m:speciesTypeRestriction id="res_subunitNonG_open" selector="sel_subunitNonG_open" />
              <l3m:speciesTypeRestriction id="res_subunitNonG_desensitised" selector="sel_subunitNonG_desensitised" />
            </l3m:listOfSpeciesTypeRestrictions>
          </speciesReference>
          <speciesReference species="glutamate"/>
        </listOfProducts>
        <kineticLaw>
        <!-- No reaction if we do not understand states -->
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <cn>0</cn>
          </math>
        </kineticLaw>
        <l3m:listOfReactionRules>
          <l3m:reactionRule id="dissociationFromClosed">
            <l3m:listOfConditions>
              <l3m:condition speciesTypeRestriction="res_subunitG_closed" />
            </l3m:listOfConditions>
            <l3m:listOfResults>
              <l3m:result speciesTypeRestriction="res_subunitNonG_closed" />
            </l3m:listOfResults>            
            <kineticLaw>
              <math xmlns="http://www.w3.org/1998/Math/MathML">
                <apply>
                  <times />
                  <ci>koff_closed</ci>
                  <ci>res_subunitG_closed</ci>
                </apply>
              </math>
              <listOfParameters>
                <parameter id="koff_closed" value="1" />
              </listOfParameters>
            </kineticLaw>
          </l3m:reactionRule>
          <l3m:reactionRule id="dissociationFromOpen">
            <l3m:listOfConditions>
              <l3m:condition speciesTypeRestriction="res_subunitG_open" />
            </l3m:listOfConditions>
            <l3m:listOfResults>
              <l3m:result speciesTypeRestriction="res_subunitNonG_open" />
            </l3m:listOfResults>            
            <kineticLaw>
              <math xmlns="http://www.w3.org/1998/Math/MathML">
                <apply>
                  <times />
                  <ci>koff_open</ci>
                  <ci>res_subunitG_open</ci>
                </apply>
              </math>
              <listOfParameters>
                <parameter id="koff_open" value="0.1" />
              </listOfParameters>
            </kineticLaw>
          </l3m:reactionRule>
          <l3m:reactionRule id="dissociationFromDesensitised">
            <l3m:listOfConditions>
              <l3m:condition speciesTypeRestriction="res_subunitG_desensitised" />
            </l3m:listOfConditions>
            <l3m:listOfResults>
              <l3m:result speciesTypeRestriction="res_subunitNonG_desensitised" />
            </l3m:listOfResults>            
            <kineticLaw>
              <math xmlns="http://www.w3.org/1998/Math/MathML">
                <apply>
                  <times />
                  <ci>koff_closed</ci>
                  <ci>res_subunitG_desensitised</ci>
                </apply>
              </math>
              <listOfParameters>
                <parameter id="koff_desensistised" value="0.01" />
              </listOfParameters>
            </kineticLaw>
          </l3m:reactionRule>        
        </l3m:listOfReactionRules>
      </reaction>
      
    </listOfReactions>
  </model>
</sbml>

Retrieved from "http://sbml.org/Community/Wiki/Complete_example_for_the_draft_Level_3_%22multi%22_package_2008-08-28"

This page was last modified 18:07, 1 September 2008.



Please use our issue tracking system for any questions or suggestions about this website. This page was last modified 18:07, 1 September 2008.