|
From: <hgo...@us...> - 2014-09-23 14:57:40
|
Revision: 21153
http://sourceforge.net/p/sbml/code/21153
Author: hgomez87
Date: 2014-09-23 14:57:23 +0000 (Tue, 23 Sep 2014)
Log Message:
-----------
Incorporated changes suggested at COMBINE 2014:
1)Compartments now extend a list of SpatialComponents which can be used to represent position, orientation (Euler angles) and force effected on it in the case of a movement Event.
2)SBase is now extended to have a cboTerm attribute. Though all child components can be annotated with a CBO term, special simulation semantics are suggested for Events.
3)CBO section contains explanation on which CBO terms can go on what SBML elements.
4)Examples/Validation rules were updated to reflect new data model.
Modified Paths:
--------------
trunk/specifications/sbml-level-3/version-2/dyn/spec/acknowledgments.tex
trunk/specifications/sbml-level-3/version-2/dyn/spec/apdx-validation.tex
trunk/specifications/sbml-level-3/version-2/dyn/spec/background.tex
trunk/specifications/sbml-level-3/version-2/dyn/spec/cbo.tex
trunk/specifications/sbml-level-3/version-2/dyn/spec/examples.tex
trunk/specifications/sbml-level-3/version-2/dyn/spec/images/UMLExtendedCompartment.pdf
trunk/specifications/sbml-level-3/version-2/dyn/spec/images/UMLExtendedEvent.pdf
trunk/specifications/sbml-level-3/version-2/dyn/spec/intro.tex
trunk/specifications/sbml-level-3/version-2/dyn/spec/macros.tex
trunk/specifications/sbml-level-3/version-2/dyn/spec/sbml-l3v2-dyn-v1.pdf
trunk/specifications/sbml-level-3/version-2/dyn/spec/syntax.tex
Added Paths:
-----------
trunk/specifications/sbml-level-3/version-2/dyn/spec/images/CBO_ObjectBranch.pdf
trunk/specifications/sbml-level-3/version-2/dyn/spec/images/CBO_ProcessBranch.pdf
trunk/specifications/sbml-level-3/version-2/dyn/spec/images/UMLExtendedSBase.pdf
Modified: trunk/specifications/sbml-level-3/version-2/dyn/spec/acknowledgments.tex
===================================================================
--- trunk/specifications/sbml-level-3/version-2/dyn/spec/acknowledgments.tex 2014-09-23 08:51:23 UTC (rev 21152)
+++ trunk/specifications/sbml-level-3/version-2/dyn/spec/acknowledgments.tex 2014-09-23 14:57:23 UTC (rev 21153)
@@ -2,4 +2,4 @@
\section{Acknowledgments}
-We would like to thank (insert people's names here) for their direct contributions. In addition, we would like to thank other contributors whose helpful discussions, email contributions or input during HARMONY and COMBINE helped us move the project forward to its completion.
\ No newline at end of file
+We would like to thank (insert people's names here) for their direct contributions. In addition, we would like to thank other contributors whose helpful discussions, email contributions or input during HARMONY and COMBINE helped us move the project closer to completion.
\ No newline at end of file
Modified: trunk/specifications/sbml-level-3/version-2/dyn/spec/apdx-validation.tex
===================================================================
--- trunk/specifications/sbml-level-3/version-2/dyn/spec/apdx-validation.tex 2014-09-23 08:51:23 UTC (rev 21152)
+++ trunk/specifications/sbml-level-3/version-2/dyn/spec/apdx-validation.tex 2014-09-23 14:57:23 UTC (rev 21153)
@@ -3,7 +3,7 @@
\section{Validation Rules}
\label{validation}
-This section summarizes all the conditions that must (or in some cases,at least \emph{should}) be true of an SBML Level~3 Version~2 model that uses the Dynamic Structures package. We use the same conventions as are used in the SBML Level~3 Version~2 Core specification document. In particular, there are different degrees of rule strictness. Formally, the differences are expressed in the statement of a rule: either a rule states that a condition \emph{must} be true, or a rule states that it \emph{should} be true. Rules of the former kind are strict SBML validation rules---a model encoded in SBML must conform to all of them in order to be considered valid. Rules of the latter kind are consistency rules. To help highlight these differences, we use the following three symbols next to the rule numbers:
+This section summarizes all the conditions that must (or in some cases,at least \emph{should}) be true of an SBML Level~3 Version~2 model that uses the Dynamic Structures package. We use the same conventions as are used in the SBML Level~3 Version~2 Core specification document. In particular, there are different degrees of rule strictness. Formally, the differences are expressed in the statement of a rule: either a rule states that a condition \emph{must} be true, or a rule states that it \emph{should} be true. Rules of the former kind are strict SBML validation rules---a model encoded in SBML must conform to all of them in order to be considered valid. Rules of the latter kind are consistency rules. To help highlight these differences, we use the following three symbols next to the rule numbers:
\begin{description}
@@ -19,14 +19,14 @@
Dynamic Structures specification is concerned; however, it
indicates that the model contains a physical or conceptual
inconsistency. (Mnemonic intention behind the choice of symbol:
- ``This is a cause for warning.'')
+ ''This is a cause for warning.'')
\item[\hspace*{6.5pt}\mSymbol\msp] A \mSymbolName indicates a strong
recommendation for good modeling practice. This rule is not strictly
a matter of SBML encoding, but the recommendation comes from logical
reasoning. As in the previous case, if a model does not follow this
rule, it is not considered an invalid SBML encoding. (Mnemonic
- intention behind the choice of symbol: ``You're a star if you heed
+ intention behind the choice of symbol: ''You're a star if you heed
this.'')
\end{description}
@@ -47,7 +47,7 @@
in the Dynamic Structures package namespace.
\subsubsection*{General rules about the Dynamic Structures package}
-\validRule{dyn-10101}{To conform to Version 1 of the Dynamic Structures package
+\validRule{dyn-10101}{To conform to Version~1 of the Dynamic Structures package
specification for SBML Level~3, an SBML document must declare the
use of the following XML Namespace: \\ \textls[-25]{\uri{http://www.sbml.org/sbml/level3/version2/dyn/version1}}. (Reference: \sbmlthreedynamic, \sec{subsec:xml-namespace}.)}
@@ -59,75 +59,105 @@
(Reference: \sbmlthreedynamic, \sec{subsec:xml-namespace}.) }
\subsubsection*{Rules for the extended \class{SBML} class}
-\validRule{dyn-10201} {In all SBML documents using the Dynamic Structures package, the \SBML object must include a value for the attribute \token{dyn:required} attribute. (Reference: SBML Level~3 Version~1 Core, Section~4.1.2.)}
+\validRule{dyn-10201} {In all SBML documents using the Dynamic Structures package, the \SBML object must include a value for the attribute \token{dyn:required} attribute. (Reference: SBML Level~3 Version~2 Core, Section~4.1.3.)}
-\validRule{dyn-10202} {The value of attribute \token{dyn:required} on
- the \SBML object must be of the data type \primtype{boolean}.
- (Reference: SBML Level~3 Version~1 Core, Section~4.1.2.) }
+\validRule{dyn-10202} {The value of attribute \token{dyn:required} on the \SBML object must be of the data type \primtype{boolean}. (Reference: SBML Level~3 Version~2 Core, Section~4.1.3.) }
\validRule{dyn-10203} {The value of attribute \token{dyn:required} on
the \SBML object must be set to \val{true} (Reference: \sbmlthreedynamic, \sec{subsec:xml-namespace}.) }
-
-%\subsection*{General rules about identifiers}
-%This does not need to be included since this package does not include any
- \subsubsection*{Rules for extended \class{Event} objects }
-
- \validRule{dyn-20101}{An \Event object must have the attributes \mbox{\token{dyn:cboTerm}} and \token{comp:applyToAll} because they are required. No other attributes from the Dynamic Structures namespace are permitted on an \Event object. (References: \sbmlthreedynamic, \sec{subsec:extEvent}.) }
-
- \validRule{dyn-20102}{The value of an \token{dyn:cboTerm} attribute on a \Event object must always conform to the syntax of the \primtype{CBOTerm} data type. (References: \sbmlthreedynamic, \sec{attr:cboTerm}.)}
-
- \validRule{dyn-20103}{ The value of an \token{dyn:applyToAll} attribute on a \Event object must be of the data type \primtype{boolean}. (References: \sbmlthreedynamic, \sec{attr:applyToAll}.) }
-
- \validRule{dyn-20104}{ The value of an \token{dyn:cboTerm} attribute on a \Event object must be a full CBO term identifier taken from the CBO\textunderscore Process branch defined in CBO and supported in this package. (References: \sbmlthreedynamic, \sec{sec:CBO}.) }
-
- \validRule{dyn-20105}{There may be at most one instance of a \ListOfElements subobject within an \Event object that uses the Dynamic Structures package. (References: \sbmlthreedynamic, \sec{subsec:extEvent}.) }
-
- \validRule{dyn-20106}{The \ListOfElements subobject within an \Event object is optional, but if present, this container object must not be empty. (References: \sbmlthreedynamic, \sec{subsec:ListOfElements}.) }
-
- \validRule{dyn-20107}{Apart from the general notes and annotation subobjects permitted on all SBML objects, a \ListOfElements container object may only contain \Element objects. (References:\sbmlthreedynamic, \sec{subsec:ListOfElements}.) }
-
- \validRule{dyn-20108}{A \ListOfElements object may have the optional attributes \token{metaid} and \token{sboTerm} defined by SBML Level~3 Core. No other attributes from the SBML Level~3 Core namespace or the Dynamic Structures namespace are permitted on a \ListOfElements object. (References: SBML Level 3 Version 1 Core, Section 3.2.) }
-
- \subsubsection*{Rules for \class{Element} objects }
-
- \validRule{dyn-20201}{An \Element object must have the attribute \token{dyn:element} because it is required. No other attributes from the Dynamic Structures namespace are permitted on an \Element object. (References: \sbmlthreedynamic, \sec{subsec:Element}.) }
+\subsubsection*{General rules for CBO usage}
- \validRule{dyn-20202}{An \Element object may have the optional SBML Level~3 Core attributes \token{metaid} and \token{sboTerm}. (References: SBML Level 3 Version 1 Core, Section 3.2.)}
-
- \validRule{dyn-20203}{An \Element object may have the optional SBML Level 3 Core subobjects for notes and annotation. No other elements from the SBML Level 3 Core namespace are permitted on an \Element object. (References: SBML Level 3 Version 1 Core, Section 3.2.)}
-
- \validRule{dyn-20204}{The value of an \token{dyn:element} attribute on an \Element object must always conform to the syntax of the SBML data type \primtype{SIdRef}. (References: \sbmlthreedynamic, \sec{attr:element}.)}
-
- \validRule{dyn-20205}{The value of an \token{dyn:element} attribute on an \Element object must be the identifier of an SBML component whose token{id} is of type SId. (References:\sbmlthreedynamic, \sec{attr:element}.)}
-
- \subsubsection*{Rules for extended \class{Compartment} objects }
-
- \validRule{dyn-20301}{There may be at most one instance of a \ListOfCoordinateComponents subobject within a \Compartment object that uses the Dynamic Structures package. (References: \sbmlthreedynamic, \sec{subsec:extCompartment}.) }
-
- \validRule{dyn-20302}{The \ListOfCoordinateComponents subobject within a \Compartment object is optional, but if present, this container object must not be empty. (References: \sbmlthreedynamic, \sec{subsec:extCompartment}.) }
-
- \validRule{dyn-20303}{Apart from the general notes and annotation subobjects permitted on all SBML objects, a \ListOfCoordinateComponents container object may only contain \CoordinateComponent objects. (References:\sbmlthreedynamic, \sec{subsec:listCoordComp}.)}
-
- \validRule{dyn-20304}{A \ListOfCoordinateComponents object may have the optional attributes \token{metaid} and \token{sboTerm} defined by SBML Level~3 Core. No other attributes from the SBML Level~3 Core namespace or the Dynamic Structures namespace are permitted on a \ListOfCoordinateComponents object. (References: SBML Level 3 Version 1 Core, Section 3.2.) }
-
- \subsubsection*{Rules for \class{CoordinateComponent} objects }
+\consistencyRule{dyn-10301} {The value of the attribute \token{dyn:cboTerm} on a \Model object should be a full CBO identifier referring to a model qualifier defined under the \textbf{CBO\textunderscore Object} branch. The value must be a term derived from the \textbf{System\textemdash model} and \textbf{SystemQuality\textemdash model} hierarchies. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
-\validRule{dyn-20401}{A \CoordinateComponent object must have the attributes \token{dyn:coordinateIndex} and token{dyn:variable} because they are required. No other attributes from the Dynamic Structures namespace are permitted on an \CoordinateComponent object. (References: \sbmlthreedynamic, \sec{subsec:coordComp}.) }
+\consistencyRule{dyn-10302} {The value of the attribute \token{dyn:cboTerm} on a \FunctionDefinition object should be a full CBO identifier referring to a mathematical expression derived from either the \textbf{CBO\textunderscore Object} or \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
-\validRule{dyn-20402}{An \CoordinateComponent object may have the optional SBML Level~3 Core attributes \token{metaid} and \token{sboTerm}. (References: SBML Level 3 Version 1 Core, Section 3.2.)}
+\consistencyRule{dyn-10303} {The value of the attribute \token{dyn:cboTerm} on a \Parameter object should be a full CBO identifier referring to a quantitative parameter from the \textbf{CBO\textunderscore Object} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
-\validRule{dyn-20403}{An \CoordinateComponent object may have the optional SBML Level 3 Core subobjects for notes and annotation. No other elements from the SBML Level 3 Core namespace are permitted on an \CoordinateComponent object. (References: SBML Level 3 Version 1 Core, Section 3.2.)}
+\consistencyRule{dyn-10304} {The value of the attribute \token{dyn:cboTerm} on an \InitialAssignment object should be a full CBO identifier referring to a mathematical expression derived from either the \textbf{CBO\textunderscore Object} or \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
-\validRule{dyn-20404}{The value of a \token{dyn:coordinateIndex} attribute on a \CoordinateComponent object must always conform to the syntax and allowed values of the newly defined \primtype{CoordinateKind}. Permitted values for this attribute include" \val{cartesianX} , \val{cartesianY} , and \val{cartesianZ}. (References: \sbmlthreedynamic, \sec{attr:coordIndex} .)}
+\consistencyRule{dyn-10305} {The value of the attribute \token{dyn:cboTerm} on an \AlgebraicRule, \RateRule or \AssignmentRule object should be a full CBO identifier referring to a mathematical expression derived from the \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
-\consistencyRule{dyn-20405}{If a given \Compartment extends a \ListOfCoordinateComponents, which contains \CoordinateComponent subobjects to indicate location, values for their \token{coordinateIndex} attributes must be used in a specific order. For 1-dimensional cases, \val{cartesianX} is used; for 2-dimensional cases, \val{cartesianX} and \val{cartesianY} are used; and for 3-dimensional cases, \val{cartesianX} , \val{cartesianY} , and \val{cartesianZ} are used. (References: \sbmlthreedynamic, \sec{attr:coordIndex} .)}
+\consistencyRule{dyn-10306} {The value of the attribute \token{dyn:cboTerm} on a \Constraint object should be a full CBO identifier referring to a mathematical expression derived from the \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
-\validRule{dyn-20406} {The value of a \token{dyn:variable} attribute on a \CoordinateComponent object must always conform to the syntax of the data type \primtype{SIdRef}. (References: \sbmlthreedynamic, \sec{attr:variable}.)}
+\consistencyRule{dyn-10307} {The value of the attribute \token{dyn:cboTerm} on a \Reaction object should be a full CBO identifier referring to a biological process derived from the \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
-\validRule{dyn-20407}{The value of a \token{dyn:coordinateIndex} attribute on a \CoordinateComponent object is set in a Cartesian coordinate system. (References: \sbmlthreedynamic, \sec{attr:coordIndex}.)}
+\consistencyRule{dyn-10308} {The value of the attribute \token{dyn:cboTerm} on a \SpeciesReference or a \ModifierSpeciesReference object should be a full CBO identifier referring to a physical entity (reactant, product or modifier) derived from the \textbf{CBO\textunderscore Object} branch . (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
-\validRule{dyn-20408}{The value of a \token{dyn:variable} attribute on an \CoordinateComponent object must be the identifier of an SBML parameter. (References:\sbmlthreedynamic, \sec{attr:variable}.)}
-
-{\color{red} Harold: \notice Change references to proper sections within the L3V2 Core specification}
\ No newline at end of file
+\consistencyRule{dyn-10309} {The value of the attribute \token{dyn:cboTerm} on a \KineticLaw object should be a full CBO identifier referring to the rate law of a biological process derived from the \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
+
+\consistencyRule{dyn-10310} {The value of the attribute \token{dyn:cboTerm} on an \Event object should be a full CBO identifier referring to an existential cellular process derived from the \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
+
+\consistencyRule{dyn-10311} {The value of the attribute \token{dyn:cboTerm} on an \EventAssignment object should be a full CBO identifier referring to a mathematical expression derived from the \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
+
+\consistencyRule{dyn-10312} {The value of the attribute \token{dyn:cboTerm} on a \Compartment object should be a full CBO identifier referring to a physical modeling entity derived from the \textbf{CBO\textunderscore Object} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
+
+\consistencyRule{dyn-10313} {The value of the attribute \token{dyn:cboTerm} on a \Species object should be a full CBO identifier referring to a biological entity derived from the \textbf{CBO\textunderscore Object} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
+
+\consistencyRule{dyn-10314} {The value of the attribute \token{dyn:cboTerm} on a \Trigger object should be a full CBO identifier referring to the mathematical expression of a biological process derived from the \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
+
+\consistencyRule{dyn-10315} {The value of the attribute \token{dyn:cboTerm} on a \Delay object should be a full CBO identifier referring to the mathematical expression of a biological process derived from the \textbf{CBO\textunderscore Process} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
+
+\consistencyRule{dyn-10316} {The value of the attribute \token{dyn:cboTerm} on a \LocalParameter object should be a full CBO identifier of a quantitative parameter from the \textbf{CBO\textunderscore Object} branch. (Reference: \sbmlthreedynamic, \sec{sec:CBO}.)}
+
+\subsubsection*{Rules for extended \class{SBase} abstract class }
+
+\validRule{comp-20101}{Any object derived from the extended \SBase class (defined in the Dynamic Structures package) may contain a \token{dyn:cboTerm} attribute. (References: \sbmlthreedynamic, \sec{subsec:extSBase}.) }
+
+\validRule{dyn-20102}{The value of a \token{dyn:cboTerm} attribute on an SBML object must always conform to the syntax of the \primtype{CBOTerm} data type. (References: \sbmlthreedynamic, \sec{attr:cboTerm}.)}
+
+\subsubsection*{Rules for extended \class{Event} objects }
+
+\validRule{dyn-20201}{An \Event object must have the attribute \token{dyn:applyToAll} because it is required. With the exception of the \token{dyn:cboTerm} attribute from \SBase, no other attributes from the Dynamic Structures namespace are permitted on an \Event object. (References: \sbmlthreedynamic, \sec{subsec:extEvent}.) }
+
+\validRule{dyn-20202}{ The value of an \token{dyn:applyToAll} attribute on a \Event object must be of the data type \primtype{boolean}. (References: \sbmlthreedynamic, \sec{attr:applyToAll}.) }
+
+\validRule{dyn-20203}{There may be at most one instance of a \ListOfElements subobject within an \Event object that uses the Dynamic Structures package. (References: \sbmlthreedynamic, \sec{subsec:extEvent}.) }
+
+\validRule{dyn-20204}{The \ListOfElements subobject within an \Event object is optional, but if present, this container object must not be empty. (References: \sbmlthreedynamic, \sec{subsec:ListOfElements}.) }
+
+\validRule{dyn-20205}{Apart from the general notes and annotation subobjects permitted on all SBML objects, a \ListOfElements container object may only contain \Element objects. (References:\sbmlthreedynamic, \sec{subsec:ListOfElements}.) }
+
+\validRule{dyn-20206}{A \ListOfElements object may have the optional attributes \token{id}, \token{name}, \token{metaid} and \token{sboTerm} defined by SBML Level~3 Core. No other attributes from the SBML Level~3 Core namespace or the Dynamic Structures namespace are permitted on a \ListOfElements object. (References: SBML Level~3 Version~2 Core, Section~4.2.7.) }
+
+\subsubsection*{Rules for \class{Element} objects }
+
+\validRule{dyn-20301}{An \Element object must have the attribute \token{dyn:element} because it is required. No other attributes from the Dynamic Structures namespace are permitted on an \Element object. (References: \sbmlthreedynamic, \sec{subsec:Element}.) }
+
+\validRule{dyn-20302}{An \Element object may have the optional SBML Level~3 Core attributes \token{id}, \token{name}, \token{metaid} and \token{sboTerm}. (References: SBML Level~3 Version~2 Core, Section~4.2.)}
+
+\validRule{dyn-20303}{An \Element object may have the optional SBML Level~3 Core subobjects for notes and annotation. No other elements from the SBML Level 3 Core namespace are permitted on an \Element object. (References: SBML Level~3 Version~2 Core, Section~4.2.)}
+
+\validRule{dyn-20304}{The value of an \token{dyn:element} attribute on an \Element object must always conform to the syntax of the SBML data type \primtype{SIdRef}. (References: \sbmlthreedynamic, \sec{attr:element}.)}
+
+\validRule{dyn-20305}{The value of an \token{dyn:element} attribute on an \Element object must be the identifier of an SBML component whose token{id} is of type SId. (References:\sbmlthreedynamic, \sec{attr:element}.)}
+
+\subsubsection*{Rules for extended \class{Compartment} objects }
+
+\validRule{dyn-20401}{There may be at most one instance of a \ListOfSpatialComponents subobject within a \Compartment object that uses the Dynamic Structures package. (References: \sbmlthreedynamic, \sec{subsec:extCompartment}.) }
+
+\validRule{dyn-20402}{The \ListOfSpatialComponents subobject within a \Compartment object is optional, but if present, this container object must not be empty. (References: \sbmlthreedynamic, \sec{subsec:extCompartment}.) }
+
+\validRule{dyn-20403}{Apart from the general notes and annotation subobjects permitted on all SBML objects, a \ListOfSpatialComponents container object may only contain \SpatialComponent objects. (References:\sbmlthreedynamic, \sec{subsec:listSpatialComp}.)}
+
+\validRule{dyn-20404}{A \ListOfSpatialComponents object may have the optional attributes \token{id}, \token{name}, \token{metaid} and \token{sboTerm} defined by SBML Level~3. No other attributes from the SBML Level~3 Core namespace or the Dynamic Structures namespace are permitted on a \ListOfSpatialComponents object. (References: SBML Level~3 Version~2 Core, Section~4.2.7.) }
+
+\subsubsection*{Rules for \class{SpatialComponent} objects }
+
+\validRule{dyn-20501}{A \SpatialComponent object must have the attributes \token{dyn:spatialIndex} and \token{dyn:variable} because they are required. No other attributes from the Dynamic Structures namespace are permitted on a \SpatialComponent object. (References: \sbmlthreedynamic, \sec{subsec:spatialComp}.) }
+
+\validRule{dyn-20502}{A \SpatialComponent object may have the optional SBML Level~3 Core attributes \token{id}, \token{name}, \token{metaid} and \token{sboTerm}. (References: SBML Level~3 Version~2 Core, Section~4.2.)}
+
+\validRule{dyn-20503}{A \SpatialComponent object may have the optional SBML Level 3 Core subobjects for notes and annotation. No other elements from the SBML Level 3 Core namespace are permitted on a \SpatialComponent object. (References: SBML Level~3 Version~2 Core, Section~4.2.)}
+
+\validRule{dyn-20504}{The value of a \token{dyn:spatialIndex} attribute on a \SpatialComponent object must always conform to the syntax and allowed values of the newly defined \primtype{SpatialKind}. Permitted values for this attribute include: \val{cartesianX}, \val{cartesianY}, and \val{cartesianZ} for position; \val{alpha}, \val{beta}, and \val{gamma} for rotational angles; and \val{F\textunderscore x}, \val{F\textunderscore y}, and \val{F\textunderscore z} for force in case of movement. (References: \sbmlthreedynamic, \sec{attr:spatialIndex}.)}
+
+\consistencyRule{dyn-20505}{If a given \Compartment extends a \ListOfSpatialComponents, which contains \SpatialComponent subobjects to indicate location, values for their \token{dyn:spatialIndex} attributes must be used in a specific order. For 1-dimensional cases, \val{cartesianX} is used; for 2-dimensional cases, \val{cartesianX} and \val{cartesianY} are used; and for 3-dimensional cases, \val{cartesianX} , \val{cartesianY} , and \val{cartesianZ} are used. (References: \sbmlthreedynamic, \sec{attr:spatialIndex}.)}
+
+\validRule{dyn-20506} {The value of a \token{dyn:variable} attribute on a \SpatialComponent object must always conform to the syntax of the data type \primtype{SIdRef}. (References: \sbmlthreedynamic, \sec{attr:variable}.)}
+
+\validRule{dyn-20507}{The value of a \token{dyn:spatialIndex} attribute on a \SpatialComponent object is bound in a Cartesian coordinate system. (References: \sbmlthreedynamic, \sec{attr:spatialIndex}.)}
+
+\validRule{dyn-20508}{The value of a \token{dyn:variable} attribute on a \SpatialComponent object must be the identifier of an SBML parameter which cannot be constant. (References:\sbmlthreedynamic, \sec{attr:variable}.)}
+
\ No newline at end of file
Modified: trunk/specifications/sbml-level-3/version-2/dyn/spec/background.tex
===================================================================
--- trunk/specifications/sbml-level-3/version-2/dyn/spec/background.tex 2014-09-23 08:51:23 UTC (rev 21152)
+++ trunk/specifications/sbml-level-3/version-2/dyn/spec/background.tex 2014-09-23 14:57:23 UTC (rev 21153)
@@ -15,6 +15,6 @@
\subsection{ Past work on this problem or similar topics }
\label{subsec:pastWork}
-A previous proposal for this language extension outlined the need to use compound data structures available in the Arrays and Sets package to accommodate for dynamic behavior of static SBML components. In this way, cell proliferation could be represented by adding a new cell to an array of cells, or increasing the dimension of an array of compartments. Similarly, cell death could be represented by the removal of a cell from a set. Nonetheless, dynamic creation/destruction of components using arrays proved to be unpractical for large dynamic simulations. The current approach involves extending already existing SBML components and introducing new ones to emulate dynamic cellular processes as opposed to using constructs from other SBML extensions.
+A previous proposal for this language extension outlined the need to use compound data structures available in the Arrays and Sets package to accommodate for dynamic behavior of static SBML components. In this way, cell proliferation could be represented by adding a new cell to an array of cells, or increasing the dimension of an array of compartments. Similarly, cell death could be represented by the removal of a cell from a set. Nonetheless, dynamic creation/destruction of components using arrays proved to be impractical for large dynamic simulations. The current approach involves extending already existing SBML components and introducing new ones to emulate dynamic cellular processes as opposed to using constructs from other SBML extensions.
Modified: trunk/specifications/sbml-level-3/version-2/dyn/spec/cbo.tex
===================================================================
--- trunk/specifications/sbml-level-3/version-2/dyn/spec/cbo.tex 2014-09-23 08:51:23 UTC (rev 21152)
+++ trunk/specifications/sbml-level-3/version-2/dyn/spec/cbo.tex 2014-09-23 14:57:23 UTC (rev 21153)
@@ -5,21 +5,25 @@
It is difficult to determine the semantics of \Event constructs used to model intrinsic cellular behavior from SBML attributes alone. The \token{id} attribute on \Event objects allows for unique identification and cross-referencing while the \token{name} attribute allows the assignment of human readable labels to Events. Possible values for these attributes are unrestricted so that modelers can choose whichever fits their modeling framework and preference best. However, this means that without any additional human intervention, software tools are unable to discern the semantics of an extended \Event element modeling dynamic behavior. For instance, it would be inadvisable to interpret that an \Event is modeling the process of cellular death even if the \token{id} and \token{name} of such \Event have the \primtype{string} \val{Cell Death} as value. Additionally, as one may need to convert a dynamic \Event between different representations (e.g., Cellular Potts Model vs. Center-based off-lattice Model), there is a need to provide a standard, framework-independent, way of associating \Event components with given cellular processes.
-A solution inspired by \sbmlthreecore is to associate model components with terms from carefully curated controlled vocabularies (CVs). This is the purpose of the \token{cboTerm} provided in the extended \Event class in \sec{subsec:extEvent}. The \token{cboTerm} facilitates the annotation of \Event components with terms belonging to the Cell Behavior Ontology (CBO) \citep{Sluka2014}. In this section, we discuss \textbf{CBO}, its usage in SBML models via the \token{cboTerm} attribute and relevant modeling implications.
+A solution inspired by \sbmlthreecore is to associate model components with terms from carefully curated controlled vocabularies (CVs). This is the purpose of the \token{cboTerm} provided through the extended \SBase class in \sec{subsec:extSBase}. The \token{cboTerm} facilitates the annotation of \Event components, among others, with terms belonging to the Cell Behavior Ontology (CBO) \citep{Sluka2014}. In this section, we discuss \textbf{CBO}, its usage in SBML models via the \token{cboTerm} attribute and relevant modeling implications in the case of \Event objects.
\subsection{Cell Behavior Ontology (CBO)}
\label{subsec:bioCBO}
-The development and use of bio-ontologies stems from the need to characterize and describe domains of biology in a standard way. The Cell Behavior Ontology (CBO) provides a carefully curated, controlled vocabulary that can be used to describe the behavior of a cell over time (dynamics) in a framework-independent manner, which enables the reliable exchange of biological descriptions. The Dynamic Structures SBML extension allows modelers to use a subset of the available identifiers to tag SBML \Event components via its attribute \token{cboTerm} to make the underlying biology and spatiality of the cellular process being modeled more explicit. The relationship between a \token{cboTerm} term describing an extended \Event and the CBO term being used is of the form "the Event is-A X", where X is the CBO term. Though CBO support provides an important source of information to understand the meaning of an \Event, software does not need to support cboTerms to be considered SBML-compliant.
+The development and use of bio-ontologies stems from the need to characterize and describe domains of biology in a standard way. The Cell Behavior Ontology (CBO) provides a carefully curated, controlled vocabulary that can be used to describe the behavior of a cell over time (dynamics) in a framework-independent manner, which enables the reliable exchange of biological descriptions. The Dynamic Structures SBML extension allows modelers to use available CBO identifiers to tag SBML components via its attribute \token{cboTerm} to make the underlying biology and spatiality of the cellular process being modeled more explicit. The relationship between a \token{cboTerm} term describing an SBML component and the CBO term being used is of the form "the component is-A X", where X is the CBO term. Though CBO support provides an important source of information to understand the meaning of extended \Event elements, software does not need to support CBO terms to be considered SBML compliant.
-The presence of a \token{cboTerm} attribute in an extended \Event is understood to change the way the \Event is interpreted and simulated. Annotating SBML \Event elements with CBO terms adds necessary semantic information that may also be used to convert such \Event from one framework to another when shared; it enables software tools to recognize precisely what cellular behavior this component is meant to model. For example, if the \token{cboTerm} has the value of \url{http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDeath} for a given \Event, regardless of the value that the \token{id} or \token{name} attributes are given or the modeling method used, the \Event labeled with this ontological term will be understood to model the dynamics of cellular death.
+The presence of a \token{cboTerm} attribute in an extended \Event is understood to change the way the \Event is interpreted and simulated. Annotating SBML \Event elements with CBO terms adds necessary semantic information that may be used to convert such \Event from one framework to another when shared; it enables software tools to recognize precisely what cellular behavior this component is meant to model. For example, if the \token{cboTerm} has the value of \url{http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDeath} for a given \Event, regardless of the value that the \token{id} or \token{name} attributes are given or the modeling method used, the \Event labeled with this ontological term will be understood to model the dynamics of cellular death.
+\subsection{Using CBO and cboTerm}
+\label{subsec:CBOTerm&CBO}
+
+The \token{cboTerm} attribute is always of \primtype{CBOTerm} data type, as defined in \sec{attr:cboTerm}. When present, the attribute's value must be the full identifier of a single term taken from the Cell Behavior Ontology. The term chosen should be the most precise one that best summarizes the agent or phenomenon represented by a given SBML component. The relationship indicated by the presence of a non-empty \token{cboTerm} attribute in an \Event, for instance, is of the form "the Event is-A X", where X is the CBO term.
+
\subsubsection{Structure of the Cell Behavior Ontology}
\label{subsec:CBOstructure}
-The purpose of CBO is to standardize the description of the intrinsic physical and biological characteristics of cells and tissues, which provides a basis for describing the spatial and observable dynamic behavior of cells in SBML models. To achieve this, CBO is split into controlled vocabularies for \textbf{CBO \textunderscore Objects}, which describe the physical entities of a biological model and \textbf{CBO \textunderscore Processs}, which describe the processes the aforementioned objects participate in. \ref{fig:CBOHierarchy} illustrates the taxonomy of CBO at the highest level.
+The purpose of CBO is to standardize the description of intrinsic physical and biological characteristics of cells and tissues, which provides a basis for describing the spatial and observable dynamic behavior of cells in SBML models. To achieve this, CBO is split into controlled vocabularies for \textbf{CBO\textunderscore Objects}, which describe the physical entities of a biological model and \textbf{CBO\textunderscore Processs}, which describe the processes that aforementioned objects participate in. \ref{fig:CBOHierarchy} illustrates the taxonomy of CBO at the highest level.
-
\begin{figure}[tbhp]
\centering
%\usepackage{graphicx}
@@ -27,20 +31,41 @@
\caption{The controlled vocabularies that make up the main branches of CBO.} \label{fig:CBOHierarchy}
\end{figure}
-As this SBML extension uses CBO only as a reference ontology for the description of dynamic processes described as events, all of the supported vocabulary is taken from the \textbf{CBO \textunderscore Process} branch. Though \textbf{CBO \textunderscore Process} terms encompass length scales that range from subcellular to cell aggregates and time scales that range from seconds to decades, only the subset in \sec{subsubsec:supportedCBO} is allowed.
+As this SBML extension uses CBO as a reference ontology for the description of modeling elements inheriting from \SBase, the vocabulary supported in this extension is taken from both the \textbf{CBO\textunderscore Object} and \textbf{CBO\textunderscore Process} branches. Each of these branches has a hierarchy of terms underneath them which may be represented by different SBML components. At this time, we can only begin to list some initial concepts and terms of CBO; what follows is not meant to be complete, comprehensive or even necessarily consistent with future versions of CBO. The website for CBO (\url{http://bioportal.bioontology.org/ontologies/CBO}) should be consulted for a current version of the ontology.
-\subsection{Using CBO and cboTerm}
-\label{subsec:CBOTerm&CBO}
+\subsubsection{CBO\textunderscore Object branch}
+\label{subsubsec:CBOObjectBranch}
-The \token{cboTerm} attribute for extended \Event constructs is always of \primtype{CBOTerm} data type, as defined in \sec{attr:cboTerm}. When present, the attribute's value must be the full identifier of a single term taken from the Cell Behavior Ontology (\url{http://bioportal.bioontology.org/ontologies/CBO}). The term chosen should be the most precise one that best summarizes the phenomenon represented by the extended \Event object. The relationship indicated by the presence of a non-empty \token{cboTerm} attribute in an \Event is of the form "the Event is-A X", where X is the CBO term.
+\begin{figure}[tbhp]
+ \centering
+ %\usepackage{graphicx}
+ \includegraphics[width=0.60\textwidth]{images/CBO_ObjectBranch}\\
+ \caption{The controlled vocabularies that make up the \textbf{CBO\textunderscore Object} branch.} \label{fig:CBOObjectBranch}
+\end{figure}
-\subsubsection{Supported CBO terms in Event Components}
+\ref{fig:CBOObjectBranch} shows the structure of the \textbf{CBO\textunderscore Object} branch, which describes cell and non-cellular tissue components. As the CBO represents entities of a biological model as agents with the characteristics of physical objects, this branch includes terms to represent physical objects such as cells, membranes and cross-sections. Sub-branches such as the \textbf{BioEntityType}, \textbf{CellMembraneLocalStructure}, \textbf{CellPart} and \textbf{GeometricalEntity} each posses hierarchical groupings of the types of physical entities that can be represented in SBML by the \Compartment and \Species components. These include, but are not limited to cells, extracellular fluid/matrix, cellular structures such as filopodium in the case of motile cells and cellular regions such as the nucleus or cytoplasm.
+
+The \textbf{CBO\textunderscore Object} hierarchy also contains terms that enable the quantitative description of these biological entities. Hierarchies of these terms include sub-branches such as \textbf{PhysicalObjectQuality} and \textbf{Energy}, which indicate object properties such as mass, age, electrical or energy functions for physical objects. This controlled vocabulary for quantitative parameters or functions is best mapped in SBML by the \Parameter and \FunctionDefinition objects.
+
+Also, defined under the \textbf{CBO\textunderscore Object} substructure are classes of ontological terms that represent concepts associated with the SBML \Parameter and \Model objects. The \textbf{System\textemdash model} and \textbf{SystemQuality\textemdash model} branches posses groupings for the description of model extents, computational platform and system boundaries.
+
+\subsubsection{CBO\textunderscore Process branch}
+\label{subsubsec:CBOProcessBranch}
+
+\ref{fig:CBOProcessBranch} shows the structure of the \textbf{CBO\textunderscore Process} branch, which describes processes involving physical agents such as cells. This branch includes hierarchies such as \textbf{CellProcess}, \textbf{StructuralProcess}, \textbf{FundamentalPhysicalProcess} and \textbf{MoleculeProcess} that serve to describe existential processes of cells and molecules- i.e., dynamic behavior. Examples of supported processes are cell\textendash cell adhesion, cell division and cell death, as well as existential processes of other model components such as molecule transport, diffusion, creation and destruction. The aforementioned branches posses hierarchical groupings of the types that are traditionally represented in SBML through either the \Reaction, \Rule or \Event elements.
+
+\begin{figure}[tbhp]
+ \centering
+ %\usepackage{graphicx}
+ \includegraphics[width=0.60\textwidth]{images/CBO_ProcessBranch}\\
+ \caption{The controlled vocabularies that make up the \textbf{CBO\textunderscore Process} branch.} \label{fig:CBOProcessBranch}
+\end{figure}
+
+\subsubsection{CBO and the \Event SBML component}
\label{subsubsec:supportedCBO}
-One of the mechanisms the Dynamic Structures package uses to support the modeling of dynamic cellular behavior is the extension of the already existing SBML \Event construct. Under this extension, \Event objects carry a \token{cboTerm} attribute whose value must be a full term identifier, taken from the \textbf{CBO \textunderscore Process} vocabulary branch, which describes the behavior modeled by said \Event. Given substantial community input, the initial version of this package only supports a handful of dynamic cellular behaviors. \ref{fig:allowedCBO} displays supported dynamic processes and their corresponding CBO terms.
+One of the mechanisms the Dynamic Structures package uses to support the modeling of dynamic cellular behavior is the extension of the \SBase asbtract class to both annotate SBML components and impart specific simulation semantics to the \Event construct. Under this extension, \Event objects may carry a \token{cboTerm} attribute, whose value must be a full term identifier taken from the \textbf{CBO\textunderscore Process} vocabulary branch, which describes the behavior modeled by said \Event. Given substantial community input, the initial version of this package supports a handful of dynamic cellular behaviors. \ref{fig:allowedCBO} displays supported dynamic processes and their corresponding CBO terms. This table is preliminary and should not be taken as complete. It is merely intended to provide a formalism for the cross-platform interpretation and execution of CBO-annotated \Event constructs.
-{\color{red} Harold: \notice I am being very conservative here. In consideration are growth and differentiation. Any other processes we wish this package to model?}
-
\begin{table}[h]
\begin{tabular}{@{}ll@{}}
\toprule
@@ -50,21 +75,22 @@
Cell Movement &
http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO\_1\_0.owl\#Movement \\ \bottomrule
\end{tabular}
- \caption{Supported cellular behaviors and corresponding CBO terms} \label{fig:allowedCBO}
+ \caption{Subset of supported cellular behaviors and corresponding CBO terms} \label{fig:allowedCBO}
\end{table}
-We provide a description of each supported CBO term and of the expected simulation semantics given the constructs previously defined in \sec{sec:syntax}:
+The following list contains a description of specific simulation semantics for each of the behaviors shown in \ref{fig:allowedCBO} when present in an \Event. A description of how other constructs are affected as a result of each behavior is also provided. \sbmlthreedynamic requires that sofware wishing to support dynamic cellular processes, understand the CBO vocabulary defined below:
+
\begin{itemize}
- \item A \textbf{\textit{Cell Division}} term as value for the \token{cboTerm} attribute indicates that the \Event defines, by means of a \Trigger subobject, the mathematical conditions under which cellular division is to take place. When the \token{applyToAll} \Event attribute is set to \val{false}, the presence of this CBO term also dictates that model components whose \token{id} is referenced by an \Element in the \ListOfElements subobject have to be duplicated into a daughter cell. Quantities of the respective species and size of the compartments are set to half of the original in the case of symmetric cell division. When the value of \token{applyToAll} is val{true}, all model elements are duplicated.
+ \item A \textbf{\textit{Cell Division}} term as value for the \token{cboTerm} attribute indicates that the \Event defines, by means of a \Trigger subobject, the mathematical conditions under which cellular division is to take place. When the \token{applyToAll} \Event attribute is set to \val{false}, the presence of this CBO term also dictates that model components whose \token{id} is referenced by an \Element in the \ListOfElements subobject have to be duplicated into a daughter cell. Quantities of the respective species and size of the compartments are set to half of the original in the case of symmetric cell division. When the value of \token{applyToAll} is \val{true}, all model elements are duplicated.
- \item A CBO term for \textbf{\textit{Cell Death}} as value for a \token{cboTerm} attribute indicates that the \Event defines, by means of a \Trigger subobject, the mathematical conditions under which cell death is to take place. When the \token{applyToAll} \Event attribute is set to \val{false}, the presence of this CBO term also dictates that SBML model components whose \token{id} is referenced by an \Element in the \ListOfElements subobject have to be removed from the model. When the value of \token{applyToAll} is val{true}, all model elements are removed.
+ \item A CBO term for \textbf{\textit{Cell Death}} as value for a \token{cboTerm} attribute indicates that the \Event defines, by means of a \Trigger subobject, the mathematical conditions under which cell death is to take place. When the \token{applyToAll} \Event attribute is set to \val{false}, the presence of this CBO term also dictates that SBML model components whose \token{id} is referenced by an \Element in the \ListOfElements subobject have to be removed from the model. When the value of \token{applyToAll} is \val{true}, all model elements are removed.
- \item A CBO term for \textbf{\textit{Movement}} as value for a \token{cboTerm} attribute indicates that the \Event defines, by means of its \Trigger suboject, the mathematical conditions under which cell movement is to take place. When the \token{applyToAll} \Event attribute is set to \val{false}, the presence of this CBO term also dictates that SBML model \Compartments whose \token{id} is referenced by an \Element in the \ListOfElements subobject will have their position updated. When the value of \token{applyToAll} is val{true}, the spatial location of all model \Compartments is updated.
+ \item A CBO term for \textbf{\textit{Movement}} as value for a \token{cboTerm} attribute indicates that the \Event defines, by means of its \Trigger suboject, the mathematical conditions under which cell movement is to take place. When the \token{applyToAll} \Event attribute is set to \val{false}, the presence of this CBO term also dictates that SBML model \Compartments whose \token{id} is referenced by an \Element in the \ListOfElements subobject will have their position updated according to the force vector defined as a \SpatialComponent. When the value of \token{applyToAll} is \val{true}, the spatial location of all model \Compartments is also updated.
\end{itemize}
-{\color{red} Should we include specific terms to support different kinds of cell division and cell death?}
+Although the use of CBO can be beneficial on elucidating the role of modeling elements, it is critical to keep in mind that the presence of a \token{cboTerm} value on an object does not change the fundamental mathematical meaning of the model. SBML models must be defined in a way, so that they stand on their own without depending on additional information added by CBO terms for a correct mathematical interpretation. In the case of labeled \Event elements, CBO term definitions will only imply alternative simulation semantics. Though tools not supporting these specific \Event semantics will not be able to reproduce dynamic behaviors as intended, they will be able to understand the meaning of said \Event. Allowing the use of \token{cboTerm} in \Event elements to alter the mathematical meaning of a model would allow too much leeway to slip inconsistent concepts into SBML objects, ultimately reducing model interoperability.
\subsubsection{Tradeoffs in using CBO terms}
\label{subsec:tradeoffCBO}
Modified: trunk/specifications/sbml-level-3/version-2/dyn/spec/examples.tex
===================================================================
--- trunk/specifications/sbml-level-3/version-2/dyn/spec/examples.tex 2014-09-23 08:51:23 UTC (rev 21152)
+++ trunk/specifications/sbml-level-3/version-2/dyn/spec/examples.tex 2014-09-23 14:57:23 UTC (rev 21153)
@@ -42,7 +42,7 @@
<speciesReference species="RCC_M" stoichiometry="1" constant="true"/>
</listOfProducts>
</reaction>
- <reaction id="r2" reversible="false" fast="false" compartment="Cytosol">
+ <reaction id="r2" reversible="true" fast="false" compartment="Cytosol">
<listOfReactants>
<speciesReference species="A_C" stoichiometry="1" constant="true"/>
</listOfReactants>
@@ -53,26 +53,18 @@
<modifierSpeciesReference species="RCC_M"/>
</listOfModifiers>
</reaction>
- <reaction id="r3" reversible="true" fast="false" compartment="Cytosol">
- <listOfReactants>
- <speciesReference species="AA_C" stoichiometry="1" constant="true"/>
- </listOfReactants>
- <listOfProducts>
- <speciesReference species="A_C" stoichiometry="1" constant="true"/>
- </listOfProducts>
- </reaction>
</listOfReactions>
<listOfEvents>
- <event useValuesFromTriggerTime="true" applyToAll= "true"
- cboTerm="http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDeath">
+ <event useValuesFromTriggerTime="true" dyn:applyToAll= "true"
+ dyn:cboTerm="http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDeath">
<trigger initialValue="false" persistent="true">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply> <lt/> <ci> AA_C </ci> <ci> T </ci> </apply>
</math>
</trigger>
</event>
- <event useValuesFromTriggerTime="true" applyToAll= "true"
- cboTerm="http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDivision">
+ <event useValuesFromTriggerTime="true" dyn:applyToAll= "true"
+ dyn:cboTerm="http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDivision">
<trigger initialValue="false" persistent="true">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply> <lt/> <ci> AA_C </ci> <ci> S </ci> </apply>
@@ -84,11 +76,11 @@
</sbml>
\end{example}
-In the model above, a single cell was defined with with species \val{C \textunderscore EC} and \val{RTR\textunderscore M} forming the complex \val{RCC\textunderscore M} on the membrane. The intracellular domain of this complex then catalyzes the activation of the \val{A \textunderscore C} into \val{AA \textunderscore C}, which is later returns to \val{A \textunderscore C}. Each of the extended \Event structures supports the modeling of a dynamic behavior and is triggered when the concentration of \val{AA \textunderscore C} goes below a given threshold value. When executed, each \Event will impact all model components as the \token{applyToAll} attribute is set to \val{true}.
+In the model above, a single cell was defined with with species \val{C \textunderscore EC} and \val{RTR\textunderscore M} forming the complex \val{RCC\textunderscore M} on the membrane. The intracellular domain of this complex then catalyzes the activation of the \val{A \textunderscore C} into \val{AA \textunderscore C}, which later returns to \val{A \textunderscore C}. Each of the extended \Event structures supports the modeling of a different dynamic behavior and are triggered when the concentration of \val{AA \textunderscore C} goes below a threshold value of \val{T} or \val{S}. When executed, each \Event will impact all model components as the \token{applyToAll} attribute is set to \val{true}.
\subsection{Example for using \token{dyn} in a lattice-based model}
-This example illustrates a multicellular grid-based model using the extended \Event and \Compartment constructs introduced in \sec{sec:syntax}. To accurately encode the model aggregation shown below, several elements from the Hierarchical Model Composition package were also used.
+This example illustrates a multicellular grid-based model using the extended \SBase, \Event and \Compartment constructs introduced in \sec{sec:syntax}. To accurately encode the model aggregation shown below, several elements from the \token{Hierarchical Model Composition} package were also used.
\begin{example}
<?xml version="1.0" encoding="UTF-8"?>
@@ -100,37 +92,37 @@
<model id="grid2x2">
<listOfCompartments>
<compartment id="Loc1" spatialDimensions="2" size="1" constant="false">
- <dyn:listOfCoordinateComponents>
- <dyn:coordinateComponent coordinateIndex="cartesianX" variable="q1_X" />
- <dyn:coordinateComponent coordinateIndex="cartesianY" variable="q1_Y" />
- </dyn:listOfCoordinateComponents>
+ <dyn:listOfSpatialComponents>
+ <dyn:spatialComponent dyn:spatialIndex="cartesianX" dyn:variable="q1_X" />
+ <dyn:spatialComponent dyn:spatialIndex="cartesianY" dyn:variable="q1_Y" />
+ </dyn:listOfSpatialComponents>
<comp:listOfReplacedElements>
<comp:replacedElement comp:idRef="C" comp:submodelRef="GRID_1_1_cell"/>
</comp:listOfReplacedElements>
</compartment>
<compartment id="Loc2" spatialDimensions="2" size="1" constant="false">
- <dyn:listOfCoordinateComponents>
- <dyn:coordinateComponent coordinateIndex="cartesianX" variable="q2_X" />
- <dyn:coordinateComponent coordinateIndex="cartesianY" variable="q2_Y" />
- </dyn:listOfCoordinateComponents>
+ <dyn:listOfSpatialComponents>
+ <dyn:spatialComponent dyn:spatialIndex="cartesianX" dyn:variable="q2_X" />
+ <dyn:spatialComponent dyn:spatialIndex="cartesianY" dyn:variable="q2_Y" />
+ </dyn:listOfSpatialComponents>
<comp:listOfReplacedElements>
<comp:replacedElement comp:idRef="C" comp:submodelRef="GRID_1_2_cell"/>
</comp:listOfReplacedElements>
</compartment>
<compartment id="Loc3" spatialDimensions="2" size="1" constant="false">
- <dyn:listOfCoordinateComponents>
- <dyn:coordinateComponent coordinateIndex="cartesianX" variable="q3_X" />
- <dyn:coordinateComponent coordinateIndex="cartesianY" variable="q3_Y" />
- </dyn:listOfCoordinateComponents>
+ <dyn:listOfSpatialComponents>
+ <dyn:spatialComponent dyn:spatialIndex="cartesianX" dyn:variable="q3_X" />
+ <dyn:spatialComponent dyn:spatialIndex="cartesianY" dyn:variable="q3_Y" />
+ </dyn:listOfSpatialComponents>
<comp:listOfReplacedElements>
<comp:replacedElement comp:idRef="C" comp:submodelRef="GRID_2_1_cell"/>
</comp:listOfReplacedElements>
</compartment>
<compartment id="Loc4" spatialDimensions="2" size="1" constant="false">
- <dyn:listOfCoordinateComponents>
- <dyn:coordinateComponent coordinateIndex="cartesianX" variable="q4_X" />
- <dyn:coordinateComponent coordinateIndex="cartesianY" variable="q4_Y" />
- </dyn:listOfCoordinateComponents>
+ <dyn:listOfSpatialComponents>
+ <dyn:spatialComponent dyn:spatialIndex="cartesianX" dyn:variable="q4_X" />
+ <dyn:spatialComponent dyn:spatialIndex="cartesianY" dyn:variable="q4_Y" />
+ </dyn:listOfSpatialComponents>
<comp:listOfReplacedElements>
<comp:replacedElement comp:idRef="C" comp:submodelRef="GRID_2_2_cell"/>
</comp:listOfReplacedElements>
@@ -178,8 +170,8 @@
</reaction>
</listOfReactions>
<listOfEvents>
- <event id="event0" useValuesFromTriggerTime="false" applyToAll= "true"
- cboTerm="http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDivision">
+ <event id="event0" useValuesFromTriggerTime="false" dyn:applyToAll= "true"
+ dyn:cboTerm="http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDivision">
<trigger initialValue="false" persistent="false">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<true/>
@@ -194,7 +186,7 @@
\end{example}
-In the model above, we defined a cell with a degradation reaction for species \val{R} and species \val{S}. This model also contains an extended \Event structure to indicate when the cell divides. Given that the \token{applyToAll} attribute is set to \val{true}, all of the cell components will be affected as a result of this \Event. The \val{Cell} model is instantiated 4 times within the \val{grid2x2} model to define a grid of 2 by 2. This model contains 4 \Compartment elements each extending a \ListOfCoordinateComponents which positions them within the grid.
+In the model above, we defined a cell with a degradation reaction for species \val{R} and species \val{S}. This model also contains an extended \Event structure to indicate when the cell divides. Given that the \token{applyToAll} attribute is set to \val{true}, all of the cell components will be affected as a result of this \Event. The \val{Cell} model is instantiated 4 times within the \val{grid2x2} model to define a grid of 2 by 2. This model contains 4 \Compartment elements each extending a \ListOfSpatialComponents which positions them within the grid.
\subsection{Example for using \token{dyn} with the SBML \token{Groups} package}
@@ -239,33 +231,33 @@
</listOfProducts>
</reaction>
</listOfReactions>
- <listOfGroups>
- <group id="cellGroup" kind="partonomy">
- <listOfMembers>
- <member idRef="C"/>
- <member idRef="E"/>
- <member idRef="P"/>
- <member idRef="EP"/>
- <member idRef="Association"/>
- <member idRef="Dissociation"/>
- </listOfMembers>
- </group>
- </listOfGroups>
+ <groups:listOfGroups>
+ <groups:group groups:id="cellGroup" groups:kind="partonomy">
+ <groups:listOfMembers>
+ <groups:member groups:idRef="C"/>
+ <groups:member groups:idRef="E"/>
+ <groups:member groups:idRef="P"/>
+ <groups:member groups:idRef="EP"/>
+ <groups:member groups:idRef="Association"/>
+ <groups:member groups:idRef="Dissociation"/>
+ </groups:listOfMembers>
+ </groups:group>
+ </groups:listOfGroups>
<listOfEvents>
- <event useValuesFromTriggerTime="true" applyToAll= "false"
- cboTerm="http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDeath">
+ <event useValuesFromTriggerTime="true" dyn:applyToAll= "false"
+ dyn:cboTerm="http://cbo.biocomplexity.indiana.edu/svn/cbo/trunk/CBO_1_0.owl#CellDeath">
<trigger initialValue="false" persistent="true">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply> <lt/> <ci> EP </ci> <ci> T </ci> </apply>
</math>
</trigger>
- <listOfElements>
- <element element="cellGroup"/>
- </listOfElements>
+ <dyn:listOfElements>
+ ...
[truncated message content] |