Definition of the species types and their state features
In order to build multi-component multistate entities, one needs to define the building blocks that will be combined. A given type of component, a SpeciesType, can carry several StateFeatures, which are multi-valued characteristics of the component. One can also specify if instances of a SpeciesType can act as binding sites. Apart from a unique identifier, a name, and several annotations, it is furthermore possible to define state features of a component, and the values taken by those state features. The following UML diagram shows how the structure of the SpeciesType looks like.
Contents |
SpeciesType
The element SpeciesType, which is part of SBML Level 2 Version 4 specification, is not part of SBML Level 3 Version 1 any more. Instead, it will be defined in the multi package. The SpeciesType element carries not only the basic attributes which it had in SBML Level 2 Version 4 ( metaid , id , name ), but is also extended for the needs of describing multi-component entities with the attribute bindingSite and for the needs of multistate entities by linking it to a list of StateFeatures.
A species type can be used to describe a component of a supra-macromolecular assembly, but also a domain of a macromolecule. Such a domain can be a portion of the macromolecule, a non-connex set of atoms forming a functional domain, or just a conceptual construct suiting the needs of the modeler. The type of component can be specified by referring terms from the subbranch functional entity of the Systems Biology Ontology (http://biomodels.net/sbo/,
[7]) through the optional sboTerm attribute. The following table provides typical examples of components or domains, but the list is absolutely not complete.
| SBO | identifier definition |
|---|---|
| SBO:0000242 | channel |
| SBO:0000244 | receptor |
| SBO:0000284 | transporter |
| SBO:0000280 | ligand |
| SBO:0000493 | functional domain |
| SBO:0000494 | binding site |
| SBO:0000495 | catalytic site |
| SBO:0000496 | transmembrane domain |
The example below encodes a species type representing a ligand-gated ion channel, that is a transmembrane macromolecule that can form a ionic channel stabilised by the binding of ligands. Notice the notes and annotation that belong to the namespace of SBML Level 3 Version 1 core.
<multi:speciesType
xmlns:core="http://www.sbml.org/sbml/level3/version1"
xmlns:multi="http://www.sbml.org/sbml/level3/version1/multi/version1"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
multi:id="speciesType1"
multi:name="LGIC"
multi:bindingSite="false"
multi:sboTerm="SBO:0000242">
<core:notes>
<xhtml:body>
<xhtml:p>LGIC is a Ligand-Gated Ion Channel</xhtml:p>
</xhtml:body>
</core:notes>
<core:annotation>
<rdf:RDF>
<rdf:Description rdf:about="#_000003">
<bqbiol:isVersionOf>
<rdf:Bag>
<rdf:li rdf:resource="urn:miriam:interpro:IPR002394"/>
</rdf:Bag>
</bqbiol:isVersionOf>
</rdf:Description>
</rdf:RDF>
</core:annotation>
<multi:listOfStateFeatures>
<!-- some state features -->
</multi:listOfStateFeatures>
</multi:speciesType>
The example below encodes a species type representing the binding site for a ligand, that could be used for instance in conjunction with the previous example.
<multi:speciesType
xmlns:multi="http://www.sbml.org/sbml/level3/version1/multi/version1"
multi:id="speciesType2"
multi:name="AgonistSite"
multi:bindingSite="true"
multi:sboTerm="SBO:0000494" />
StateFeature
A species type can carry any number of state features, which are characteristic properties specific for this type of species. The element StateFeature of SBML Level 3 Version 1 multi Version 1 corresponds to the "state variable" of the SBGN Entity Relationship language. A StateFeature is identified by an id and an optional name. A StateFeature is linked to a list of PossibleValues.
As all elements derived from SBase, StateFeature can link to Notes and Annotation, and carry a metaid , and an sboTerm . The value SBO:0000497 of sboTerm used in the example below corresponds to a "ternary switch".
<multi:stateFeature
xmlns:multi="http://www.sbml.org/sbml/level3/version1/multi/version1"
multi:id="stateFeature1"
multi:name="pore"
multi:sboTerm="SBO:0000497">
<multi:listOfPossibleValues>
<!-- some possible values -->
</multi:listOfPossibleValues>
</multi:stateFeature>
PossibleValue
Each state feature also requires the definition of all the possible values it can take. Those values will be used within a selector, to define the states an entity is allowed to take. A state feature is not obligatory a boolean property, but can carry any number of PossibleValue. A PossibleValue is identified by an id and an optional name .
As all elements derived from SBase, PossibleValue can link to Notes and Annotation, and
carry a metaid , and an sboTerm . The sboTerm used in the example below corresponds to a "ternary switch".
<multi:possibleValue
xmlns:multi="http://www.sbml.org/sbml/level3/version1/multi/version1"
multi:id="possibleValue1"
multi:name="open"
multi:sboTerm="0000416" />
Complete examples of use
<multi:speciesType
xmlns:core="http://www.sbml.org/sbml/level3/version1"
xmlns:multi="http://www.sbml.org/sbml/level3/version1/multi/version1"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bqbiol="http://biomodels.net/biology-qualifiers/"
multi:id="speciesType1"
multi:bindingSite="false"
multi:name="LGIC"
multi:sboTerm="SBO:0000242">
<core:notes>
<xhtml:body>
<xhtml:p>
LGIC is a Ligand-Gated Ion Channel. It contains a pore that can be open or closed.
</xhtml:p>
</xhtml:body>
</core:notes>
<core:annotation>
<rdf:RDF>
<rdf:Description rdf:about="#_000003">
<bqbiol:isVersionOf>
<rdf:Bag>
<rdf:li rdf:resource="urn:miriam:interpro:IPR002394"/>
</rdf:Bag>
</bqbiol:isVersionOf>
</rdf:Description>
</rdf:RDF>
</core:annotation>
<multi:listOfStateFeatures>
<multi:stateFeature
multi:id="stateFeature1"
multi:name="pore"
multi:sboTerm="SBO:0000497">
<multi:listOfPossibleValues>
<multi:possibleValue
id="possibleValue1"
multi:name="open"
multi:sboTerm="SBO:0000416" />
<multi:possibleValue
id="possibleValue2"
multi:name="closed"
multi:sboTerm="SBO:0000417" />
<multi:possibleValue
id="possibleValue3"
multi:name="desensitised"
multi:sboTerm="SBO:0000417" />
</multi:listOfPossibleValues>
</multi:stateFeature>
</multi:listOfStateFeatures>
</multi:speciesType>


