diff --git a/sbml-level-3/version-1/fbc/spec/apdx-validation-v2.tex b/sbml-level-3/version-1/fbc/spec/apdx-validation-v2.tex deleted file mode 100644 index b1089c6c..00000000 --- a/sbml-level-3/version-1/fbc/spec/apdx-validation-v2.tex +++ /dev/null @@ -1,639 +0,0 @@ -% -*- TeX-master: "main"; fill-column: 72 -*- -\section{Validation of SBML documents} \label{apdx-validation} - -\subsection{Validation and consistency rules} \label{validation-rules} - -This section summarizes all the conditions that must (or in some cases, -at least \emph{should}) be true of an SBML Level~3 Version~1 model that -uses the \FBCPackage. We use the same conventions as are used in the -SBML Level~3 Version~1 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} - -\item[\hspace*{6.5pt}\vSymbol\vsp] A \vSymbolName indicates a -\emph{requirement} for SBML conformance. If a model does not follow this -rule, it does not conform to the Flux Balance Constraints specification. -(Mnemonic intention behind the choice of symbol: ``This must be -checked.'') - -\item[\hspace*{6.5pt}\cSymbol\csp] A \cSymbolName indicates a -\emph{recommendation} for model consistency. If a model does not follow -this rule, it is not considered strictly invalid as far as the Flux -Balance Constraints 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.'') - -\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 strictly considered an invalid SBML encoding. (Mnemonic -intention behind the choice of symbol: ``You're a star if you heed -this.'') - -\end{description} - -The validation rules listed in the following subsections are all stated -or implied in the rest of this specification document. They are -enumerated here for convenience. Unless explicitly stated, all -validation rules concern objects and attributes specifically defined in -the Flux Balance Constraints package. - -For \notice convenience and brevity, we use the shorthand -``\token{fbc:\-x}'' to stand for an attribute or element name \token{x} -in the namespace for the \FBCPackage, using the namespace prefix -\token{fbc}. In reality, the prefix string may be different from the -literal ``\token{fbc}'' used here (and indeed, it can be any valid XML -namespace prefix that the modeler or software chooses). We use -``\token{fbc:\-x}'' because it is shorter than to write a full -explanation everywhere we refer to an attribute or element in the -\FBCPackage namespace. - -\subsubsection*{General rules about this package} - -\validRule{fbc-10101}{To conform to the \FBCPackage specification for -SBML Level~3 Version~1, an SBML document must declare the use of the -following XML Namespace:\\ -\uri{http://www.sbml.org/sbml/level3/version1/fbc/version2}.\\ -(References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{xml-namespace}.)} - -\validRule{fbc-10102}{Wherever they appear in an SBML document, elements -and attributes from the \FBCPackage must be declared either implicitly -or explicitly to be in the XML namespace -\uri{http://www.sbml.org/sbml/level3/version1/fbc/version2}. -(References: SBML Level~3 Package Specification for Flux Balance -Constraints , Version~1, \sec{xml-namespace}.) } - -\subsubsection*{General rules about identifiers} - -\validRule{fbc-10301}{(Extends validation rule \#10301 in the SBML -Level~3 Version~1 Core specification.) Within a \Model the values of the -attributes \token{id} and \token{fbc:\-id} on every instance of the -following classes of objects must be unique across the set of all -\token{id} and \token{fbc:\-id} attribute values of all such objects in -a model: the \Model itself, plus all contained \FunctionDefinition, -\Compartment, \Species, \Reaction, \SpeciesReference, -\ModifierSpeciesReference, \Event, and \Parameter objects, plus the -\GeneProduct, %\FluxBound, -\Objective, \FluxObjective and \GeneProductAssociation -objects defined by the \FBCPackage. (References: SBML Level~3 Package Specification -for Flux Balance Constraints, Version~2, \sec{primtypes}.) } - -\validRule{fbc-10302} { -The value of a \token{fbc:\-id} attribute must always conform to the -syntax of the SBML data type \primtype{SId}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{primtypes}.) -} - -\subsubsection*{Rules for the extended \class{SBML} class} - -\validRule{fbc-20101}{In all SBML documents using the \FBCPackage, the -\SBML object must include a value for the attribute -\token{fbc:\-required} attribute. (References: SBML Level~3 Version~1 -Core, Section~4.1.2.) } - -\validRule{fbc-20102}{The value of attribute \token{fbc:\-required} on -the \SBML object must be of the data type \primtype{boolean}. -(References: SBML Level~3 Version~1 Core, Section~4.1.2.) } - -\validRule{fbc-20103}{The value of attribute \token{fbc:\-required} on -the \SBML object must be set to \val{false}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{xml-namespace}.) } - -\subsubsection*{Rules for extended \class{Model} object} - -\validRule{fbc-20201}{There may be at most one instance of each of the -following kinds of objects within a \Model object using Flux Balance -Constraints: %\ListOfFluxBounds, -\ListOfGeneProducts and \ListOfObjectives. -(References: SBML Level~3 Package Specification for Flux Balance Constraints, -Version~2, \sec{model-class}.) } - -\validRule{fbc-20202}{The various -\textsf{\textbf{ListOf\rule{0.15in}{0.5pt}}} subobjects with an \Model -object are optional, but if present, these container object must not -be empty. Specifically, if any of the following classes of objects are -present on the \Model, it must not be empty: %\ListOfFluxBounds and -\ListOfGeneProducts and -\ListOfObjectives. (References: SBML Level~3 Package Specification for -Flux Balance Constraints, Version~2, \sec{model-class}.) } - -%\validRule{fbc-20203}{Apart from the general notes and annotation -%subobjects permitted on all SBML objects, a \ListOfFluxBounds container -%object may only contain \FluxBound objects. (References: SBML Level~3 -%Package Specification for Flux Balance Constraints, Version~2, -%\sec{model-class}.) } -\validRule{fbc-20203} {(This validation rule does not apply in Flux Balance Constraints Version~2.)} - -\validRule{fbc-20204}{Apart from the general notes and annotation -subobjects permitted on all SBML objects, a \ListOfObjectives container -object may only contain \Objective objects. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -%\validRule{fbc-20205}{A \ListOfFluxBounds object may have the optional -%attributes \token{meta\-id} and \token{sboTerm} defined by SBML Level~3 -%Core. No other attributes from the SBML Level~3 Core namespace or the -%Flux Balance Constraints namespace are permitted on a \ListOfFluxBounds -%object. (References: SBML Level~3 Package Specification for Flux Balance -%Constraints, Version~2, \sec{model-class}.) } -\validRule{fbc-20205} {(This validation rule does not apply in Flux Balance Constraints Version~2.)} - -\validRule{fbc-20206}{A \ListOfObjectives object may have the optional -attributes \token{meta\-id} and \token{sboTerm} defined by SBML Level~3 -Core. Additionally the \ListOfObjectives must contain the attribute\\ -\token{fbc:active\-Objective}. No other attributes from the SBML Level~3 -Core namespace or the Flux Balance Constraints namespace are permitted -on a \ListOfObjectives object. (References: SBML Level~3 Package -Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20207}{The value of attribute -\token{fbc:\-activeObjective} on the \ListOfObjectives object must be of -the data type \primtype{SIdRef}. (References: SBML Level~3 Package -Specification for Flux Balance Constraints, Version~2, -\sec{activeObjective-attribute}). } - -\validRule{fbc-20208}{The value of attribute -\token{fbc:\-activeObjective} on the \ListOfObjectives object must be -the identifier of an existing \Objective. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{activeObjective-attribute}.) } - -\validRule{fbc-20209}{A \Model object must have the required attribute -\token{fbc:\-strict}. No other attributes from the SBML Level 3 Flux -Balance Constraints namespaces are permitted on a \Model object. -(Reference: SBML Level~3 Specification for Flux Balance Constraints -Version~1, \sec{model-class}.)} - -\validRule{fbc-20210}{The attribute \token{fbc:\-strict} on a \Model -must have a value of data type \token{boolean}. (Reference: SBML Level~3 -Specification for Flux Balance Constraints Version~1, -\sec{model-class}.)} - -\validRule{fbc-20211}{Apart from the general notes and annotation -subobjects permitted on all SBML objects, a \ListOfGeneProducts container -object may only contain \GeneProduct objects. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20212}{A \ListOfGeneProducts object may have the optional -attributes \token{meta\-id} and \token{sboTerm} defined by SBML Level~3 -Core. No other attributes from the SBML Level~3 Core namespace or the -Flux Balance Constraints namespace are permitted on a \ListOfGeneProducts -object. (References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{model-class}.) } - - -\subsubsection*{Rules for extended \class{Species} object} - -\validRule{fbc-20301}{A \SBML \class{Species} object may have the -optional attributes \token{fbc:\-chemicalFormula} and \\ -\token{fbc:\-charge}. No other attributes from the Flux Balance -Constraints namespaces are permitted on a \class{Species}. (References: -SBML Level~3 Package Specification for Flux Balance Constraints, -Version~1, \sec{species-class}) } - -\validRule{fbc-20302}{The value of attribute \token{fbc:\-charge} on -the \SBML \class{Species} object must be of the data type -\primtype{integer}. (References: SBML Level~3 Package Specification for -Flux Balance Constraints, Version~2, \sec{species-class}). } - -\validRule{fbc-20303}{The value of attribute -\token{fbc:\-chemicalFormula} on the \SBML \class{Species} object must -be set to a \primtype{string} consisting only of atomic names or user -defined compounds and their occurrence. (References: SBML Level~3 Package -Specification for Flux Balance Constraints, Version~2, -\sec{species-class}.) } - -%\begin{deprecated} -%\subsubsection*{Rules for \class{FluxBound} object} -% -%\validRule{fbc-20401}{A \FluxBound object may have the optional SBML -%Level 3 Core attributes \token{metaid} and \token{sboTerm}. No other -%attributes from the SBML Level 3 Core namespace are permitted on a -%\FluxBound. (References: SBML Level~3 Version~1 Core, Section~3.2.) } -% -%\validRule{fbc-20402}{A \FluxBound object may have the optional SBML -%Level 3 Core subobjects for notes and annotations. No other elements -%from the SBML Level 3 Core namespace are permitted on a \FluxBound. -%(References: SBML Level~3 Version~1 Core, Section~3.2.) } -% -%\validRule{fbc-20403}{A \FluxBound object must have the required -%attributes \token{fbc:\-id}, and \token{fbc:\-value}, and may have the -%optional attribute \token{fbc:\-name}. No other attributes from the -%SBML Level~3 Flux Balance Constraints namespace are permitted on a -%\FluxBound object. (References: SBML Level~3 Package Specification for -%Flux Balance Constraints, Version~2, \sec{fluxbound-class}.) } -% -%\validRule{fbc-20405}{The attribute \token{fbc:\-name} of a \FluxBound -%must be of the data type \token{string}. (References: SBML Level~3 -%Package Specification for Flux Balance Constraints, Version~2, -%\sec{fluxbound-class}.) } -% -%\validRule{fbc-20407}{The attribute \token{fbc:\-value} of a \FluxBound -%must be of the data type \token{double}. (References: SBML Level~3 -%Package Specification for Flux Balance Constraints, Version~2, -%\sec{fluxbound-class}.) } -% -%\end{deprecated} - -\subsubsection*{Rules for \class{Objective} object} - -\validRule{fbc-20501}{An \Objective object may have the optional SBML -Level 3 Core attributes \token{metaid} and \token{sboTerm}. No other -attributes from the SBML Level 3 Core namespace are permitted on \newtxt{an} -\Objective. (References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-20502}{An \Objective object may have the optional SBML -Level 3 Core subobjects for notes and annotations. No other elements -from the SBML Level 3 Core namespace are permitted on an \Objective. -(References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-20503}{An \Objective object must have the required -attributes \token{fbc:\-id} and \token{fbc:\-type} and may have the -optional attribute \token{fbc:\-name}. No other attributes from the SBML -Level~3 Flux Balance Constraints namespace are permitted on an \Objective -object. (References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{objective-class}.) } - -\validRule{fbc-20504}{The attribute \token{fbc:\-name} on an \Objective -must be of the data type \token{string}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{objective-class}.) } - -\validRule{fbc-20505}{The attribute \token{fbc:\-type} on an \Objective -must be of the data type \token{FbcType} and thus its value must be one -of \val{minimize} or \val{maximize}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{objective-class}.) } - -\validRule{fbc-20506}{An \Objective object must have one and only one -instance of the \ListOfFluxObjectives object. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{objective-class}.) } - -\validRule{fbc-20507}{The \ListOfFluxObjectives subobject within an -\Objective object must not be empty. (References: SBML Level~3 Package -Specification for Flux Balance Constraints, Version~2,\\ -\sec{objective-class}.) } - -\validRule{fbc-20508}{Apart from the general notes and annotation -subobjects permitted on all SBML objects, a \ListOfFluxObjectives -container object may only contain \FluxObjective objects. (References: SBML -Level~3 Package Specification for Flux Balance Constraints, Version~2, -\sec{objective-class}.) } - -\validRule{fbc-20509}{A \ListOfFluxObjectives object may have the -optional \token{meta\-id} and \token{sboTerm} defined by SBML Level~3 -Core. No other attributes from the SBML Level~3 Core namespace or the -Flux Balance Constraints namespace are permitted on a -\ListOfFluxObjectives object. (References: SBML Level~3 Package -Specification for Flux Balance Constraints, Version~2, -\sec{objective-class}.) } - -\subsubsection*{Rules for \class{FluxObjective} object} - -\validRule{fbc-20601}{A \FluxObjective object may have the optional SBML -Level 3 Core attributes \token{metaid} and \\ \token{sboTerm}. No other -attributes from the SBML Level 3 Core namespace are permitted on a -\FluxObjective. (References: SBML Level~3 Version~1 Core, Section~3.2.) -} - -\validRule{fbc-20602}{A \FluxObjective object may have the optional SBML -Level 3 Core subobjects for notes and annotations. No other elements -from the SBML Level 3 Core namespace are permitted on a \FluxObjective. -(References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-20603}{A \FluxObjective object must have the required -attributes \token{fbc:\-reaction}, \\ \token{fbc:\-coefficient}, and \token{fbc:\-variableType} and may -have the optional attributes \token{fbc:\-reaction2}, \token{fbc:\-id} and \token{fbc:\-name}. No -other attributes from the SBML Level~3 Flux Balance Constraints -namespace are permitted on a \FluxObjective object. (References: SBML -Level~3 Package Specification for Flux Balance Constraints, Version~2, -\sec{fluxobjective-class}.) } - -\validRule{fbc-20604}{The attribute \token{fbc:\-name} on a \FluxObjective -must be of the data type \token{string}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{fluxobjective-class}.) } - -\validRule{fbc-20605}{The value of the attribute \token{fbc:\-reaction} -of a \FluxObjective object must conform to the syntax of the SBML data -type \primtype{SIdRef}. (References: SBML Level~3 Package Specification -for Flux Balance Constraints, Version~2, \sec{fluxobjective-class}.) } - -\validRule{fbc-20606}{The value of the attribute \token{fbc:\-reaction} -of a \FluxObjective object must be the identifier of an existing -\Reaction object defined in the enclosing \Model object. (References: -SBML Level~3 Package Specification for Flux Balance Constraints, -Version~1, \sec{fluxobjective-class}.) } - -\validRule{fbc-20607}{The value of the attribute -\token{fbc:\-coefficient} of a \FluxObjective object must conform to the -syntax of the SBML data type \primtype{double}. (References: SBML -Level~3 Package Specification for Flux Balance Constraints, Version~2, -\sec{fluxobjective-class}.) } - -\validRule{fbc-20608}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the value of the attribute \token{fbc:\-coefficient} -of a \FluxObjective object must not be set to \val{NaN}, \val{-INF} or \val{INF}. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20609}{The value of the attribute \token{fbc:\-variableType} of a \FluxObjective object must be either \val{linear} or \val{quadratic}. (References: SBML -Level~3 Package Specification for Flux Balance Constraints, Version~2, -\sec{fluxobjective-class}.) } - -\validRule{fbc-20650}{If the \token{fbc:\-reaction2} attribute of a \FluxObjective object is defined, its \token{fbc:\-variableType} attribute must have the value \val{quadratic}. (References: SBML -Level~3 Package Specification for Flux Balance Constraints, Version~2, -\sec{fluxobjective-class}.) } - - - -\subsubsection*{Rules for extended \class{Reaction} object} - -\validRule{fbc-20701}{There may be at most one instance of a -\GeneProductAssociation within a \Reaction object using Flux Balance -Constraints. (References: SBML -Level~3 Package Specification for Flux Balance Constraints, Version~2, -\sec{reaction-class-ga}.) } - - -\validRule{fbc-20702}{A \SBML \class{Reaction} object may have the -optional attributes \token{fbc:\-lowerFluxBound} and -\token{fbc:\-upperFluxBound}. No other attributes from the Flux Balance -Constraints namespaces are permitted on a \class{Reaction}. (References: -SBML Level~3 Package Specification for Flux Balance Constraints, -Version~2, \sec{reaction-class-ga}) } - -\validRule{fbc-20703}{The attribute \token{fbc:\-lowerFluxBound} of a \Reaction -must be of the data type \token{SIdRef}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{reaction-class-ga}.) } - -\validRule{fbc-20704}{The attribute \token{fbc:\-upperFluxBound} of a \Reaction -must be of the data type \token{SIdRef}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{reaction-class-ga}.) } - -\validRule{fbc-20705}{The attribute \token{fbc:\-lowerFluxBound} of a \Reaction -must point to an existing \Parameter -%\begin{deprecated} -%(or \FluxBound) -%\end{deprecated} -in the model. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{reaction-class-ga}.) } - -\validRule{fbc-20706}{The attribute \token{fbc:\-upperFluxBound} of a \Reaction -must point to an existing \Parameter -%\begin{deprecated} -%(or \FluxBound) -%\end{deprecated} -in the model. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{reaction-class-ga}.) } - -\validRule{fbc-20707}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, a \Reaction must define the attributes -\token{fbc:\-lowerFluxBound} and \token{fbc:\-upperFluxBound}. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20708}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the \Parameter objects referred to by the attributes -\token{fbc:\-lowerFluxBound} and \token{fbc:\-upperFluxBound} must have -their \token{constant} attribute set to \val{true}. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20709}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the \Parameter objects referred to by the attributes -\token{fbc:\-lowerFluxBound} and \token{fbc:\-upperFluxBound} must have a -defined value for their \token{value} attribute, which may not be \val{NaN}. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20710}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the \Parameter objects referred to by the attributes -\token{fbc:\-lowerFluxBound} and \token{fbc:\-upperFluxBound} may not be -targeted by an \InitialAssignment. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20711}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the value of the \Parameter object referred to by -the attribute \token{fbc:\-lowerFluxBound} may not have the value \val{INF}. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20712}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the value of the \Parameter object referred to by -the attribute \token{fbc:\-upperFluxBound} may not have the value \val{-INF}. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20713}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the value of the \Parameter object referred to by -the attribute \token{fbc:\-lowerFluxBound} must be less than or equal to -the value of the \Parameter object referred to by the attribute -\token{fbc:\-upperFluxBound} . -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20714}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the \token{constant} attribute of \SpeciesReference -elements of a \Reaction must be set to \val{true}. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20715}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the value of a {\SpeciesReference}'s \token{stoichiometry} -attribute must not be set to \val{NaN}, \val{-INF} or \val{INF}. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - -\validRule{fbc-20716}{When the value of the {\Model}s \token{fbc:\-strict} -attribute is \val{true}, the \SpeciesReference elements of a \Reaction may -not be targeted by an \InitialAssignment. -(References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{model-class}.) } - - -\subsubsection*{Rules for \class{GeneProductAssociation} object} - -\validRule{fbc-20801}{A \GeneProductAssociation object may have the optional SBML -Level 3 Core attributes \token{metaid} and \token{sboTerm}. No other -attributes from the SBML Level 3 Core namespace are permitted on a -\GeneProductAssociation. (References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-20802}{A \GeneProductAssociation object may have the optional SBML -Level 3 Core subobjects for notes and annotations. No other elements -from the SBML Level 3 Core namespace are permitted on a \GeneProductAssociation. -(References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-20803}{A \GeneProductAssociation object may have the -optional attributes \token{fbc:\-id} \token{fbc:\-name}. No other attributes from the SBML -Level~3 Flux Balance Constraints namespace are permitted on a \GeneProductAssociation -object. (References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{geneproductassociation-class}.) } - -\validRule{fbc-20804}{The attribute \token{fbc:\-id} on a \GeneProductAssociation -must be of the data type \token{SId}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{geneproductassociation-class}.) } - -\validRule{fbc-20805}{A \GeneProductAssociation object must have one and only one -of the concrete \Association objects: \GeneProductRef, \GeneAnd or \GeneOr. -(References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{geneproductassociation-class}.) } - -\validRule{fbc-20806}{The attribute \token{fbc:\-name} on a \GeneProductAssociation -must be of the data type \token{string}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{geneproductassociation-class}.) } - - -\subsubsection*{Rules for \class{GeneProductRef} object} - -\validRule{fbc-20901}{A \GeneProductRef object may have the optional SBML -Level 3 Core attributes \token{metaid} and \token{sboTerm}. No other -attributes from the SBML Level 3 Core namespace are permitted on a -\GeneProductRef. (References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-20902}{A \GeneProductRef object may have the optional SBML -Level 3 Core subobjects for notes and annotations. No other elements -from the SBML Level 3 Core namespace are permitted on a \GeneProductRef. -(References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-20903}{A \GeneProductRef object must have the required -attribute \token{fbc:\-geneProduct} and may have the -optional attribute \token{fbc:\-id}. No other -attributes from the SBML Level~3 Flux Balance Constraints namespace are -permitted on a \GeneProductRef object. -(References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{geneproductref-class}.) } - -\validRule{fbc-20904}{The attribute \token{fbc:\-geneProduct} on a \GeneProductRef -must be of the data type \token{SIdRef}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{geneproductref-class}.) } - -%\validRule{fbc-20905}{The attribute \token{fbc:\-id} on a \GeneProductRef -%must be of the data type \token{SId}. (References: SBML Level~3 -%Package Specification for Flux Balance Constraints, Version~2, -%\sec{geneproductref-class}.) } - -\validRule{fbc-20908}{The attribute \token{fbc:\-geneProduct} on a \GeneProductRef - if set, must refer to \token{id} of a \GeneProduct in the \Model. -(References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{geneproductref-class}.) } - -\subsubsection*{Rules for \class{And} object} - -\validRule{fbc-21001}{An \GeneAnd object may have the optional SBML -Level 3 Core attributes \token{metaid} and \token{sboTerm}. No other -attributes from the SBML Level 3 Core namespace are permitted on an -\GeneAnd. (References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-21002}{An \GeneAnd object may have the optional SBML -Level 3 Core subobjects for notes and annotations. No other elements -from the SBML Level 3 Core namespace are permitted on an \GeneAnd. -(References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-21003}{An \GeneAnd object must have two or more concrete -\Association objects: \GeneProductRef, \GeneAnd, or \GeneOr. No other -elements from the SBML Level~3 Flux Balance Constraints namespace are -permitted on an \GeneAnd object. -(References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{and-class}.) } - -\subsubsection*{Rules for \class{Or} object} - -\validRule{fbc-21101}{An \GeneOr object may have the optional SBML -Level 3 Core attributes \token{metaid} and \token{sboTerm}. No other -attributes from the SBML Level 3 Core namespace are permitted on an -\GeneOr. (References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-21102}{An \GeneOr object may have the optional SBML -Level 3 Core subobjects for notes and annotations. No other elements -from the SBML Level 3 Core namespace are permitted on an \GeneOr. -(References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-21103}{An \GeneOr object must have two or more concrete -\Association objects: \GeneProductRef, \GeneAnd, or \GeneOr. No other -elements from the SBML Level~3 Flux Balance Constraints namespace are -permitted on an \GeneOr object. -(References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{or-class}.) } - -\subsubsection*{Rules for \class{GeneProduct} object} - -\validRule{fbc-21201}{A \GeneProduct object may have the optional SBML -Level 3 Core attributes \token{metaid} and \token{sboTerm}. No other -attributes from the SBML Level 3 Core namespace are permitted on a -\GeneProduct. (References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-21202}{A \GeneProduct object may have the optional SBML -Level 3 Core subobjects for notes and annotations. No other elements -from the SBML Level 3 Core namespace are permitted on a \GeneProduct. -(References: SBML Level~3 Version~1 Core, Section~3.2.) } - -\validRule{fbc-21203}{A \GeneProduct object must have the required -attributes \token{fbc:\-id} and \token{fbc:\-label} may have the -optional attributes \token{fbc:\-name} and \token{fbc:\-associatedSpecies}. No other -attributes from the SBML Level~3 Flux Balance Constraints namespace are -permitted on a \GeneProduct object. -(References: SBML Level~3 Package Specification for Flux Balance -Constraints, Version~2, \sec{geneproduct-class}.) } - -\validRule{fbc-21204}{The attribute \token{fbc:\-label} on a \GeneProduct -must be of the data type \token{string}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{geneproduct-class}.) } - -\validRule{fbc-21205}{The attribute \token{fbc:\-label} on a \GeneProduct -must be unique among the set of all {\GeneProduct} elements defined in the -\Model. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{geneproduct-class}.) } - -\validRule{fbc-21206}{The attribute \token{fbc:\-name} on a \GeneProduct -must be of the data type \token{string}. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{geneproduct-class}.) } - -\validRule{fbc-21207}{The attribute \token{fbc:\-associatedSpecies} -on a \GeneProduct must be the identifier of an existing \Species defined -in the enclosing \Model. (References: SBML Level~3 -Package Specification for Flux Balance Constraints, Version~2, -\sec{geneproduct-class}.) } - -%\validRule{fbc-21208}{The attribute \token{fbc:\-id} on a \GeneProduct -%must be of the data type \token{SId}. (References: SBML Level~3 -%Package Specification for Flux Balance Constraints, Version~2, -%\sec{geneproduct-class}.) } diff --git a/sbml-level-3/version-1/fbc/spec/apdx-validation.tex b/sbml-level-3/version-1/fbc/spec/apdx-validation.tex index 354a8969..fbddf5d1 100644 --- a/sbml-level-3/version-1/fbc/spec/apdx-validation.tex +++ b/sbml-level-3/version-1/fbc/spec/apdx-validation.tex @@ -63,19 +63,17 @@ \subsection{Validation and consistency rules} \subsubsection*{General rules about this package} -\validRule{fbc-10101}{To conform to the \FBC Package -specification for SBML Level~3 Version~1, an SBML document must declare -\uri{http://www.sbml.org/sbml/level3/version1/fbc/version3} as the -XMLNamespace to use for elements of this package. (Reference: SBML -Level~3 Specification for Flux Balance Constraints, Version~3 -\sec{xml-namespace}.)} +\validRule{fbc-10101}{To conform to the \FBCPackage specification for +SBML Level~3 Version~1, an SBML document must declare +\uri{http://www.sbml.org/sbml-/level3/version1/fbc/version3}. as the XMLNamespace to use for elements of this package. +(References: SBML Level~3 Package Specification for Flux Balance +Constraints, Version~3, \sec{xml-namespace}.)} \validRule{fbc-10102}{Wherever they appear in an SBML document, elements -and attributes from the \FBC Package must use the -\uri{http://www.sbml.org/sbml/level3/version1/fbc/version3} namespace, -declaring so either explicitly or implicitly. (Reference: SBML Level~3 -Specification for Flux Balance Constraints, Version~3 -\sec{xml-namespace}.)} +and attributes from the \FBCPackage must use the +\uri{http://www.sbml.org/sbml/level3/version1/fbc/version3} namespace, declaring so either explicitly or implicitly. +(References: SBML Level~3 Package Specification for Flux Balance +Constraints , Version~1, \sec{xml-namespace}.) } \subsubsection*{General rules about identifiers} @@ -116,7 +114,7 @@ \subsubsection*{Rules for the extended \class{SBML} class} \subsubsection*{Rules for extended \class{Model} object} \validRule{fbc-20201}{A \Model object may contain one and only one -instance of each of the \ListOfObjectives, \ListOfFluxBounds, +instance of each of the \ListOfObjectives, \ListOfGeneProducts and \ListOfUserDefinedConstraints elements. No other elements from the SBML Level~3 Flux Balance Constraints namespaces are permitted on a \Model object. (Reference: SBML Level~3 Specification for @@ -126,7 +124,7 @@ \subsubsection*{Rules for extended \class{Model} object} \textsf{\textbf{ListOf\rule{0.15in}{0.5pt}}} subobjects with an \Model object are optional, but if present, these container object must not be empty. Specifically, if any of the following classes of objects are -present on the \Model, it must not be empty: \ListOfFluxBounds, \ListOfGeneProducts, +present on the \Model, it must not be empty: \ListOfGeneProducts, \ListOfObjectives and ListOfUserDefinedConstraints. (References: SBML Level~3 Package Specification for Flux Balance Constraints, Version~3, \sec{model-class}.) } @@ -136,7 +134,7 @@ \subsubsection*{Rules for extended \class{Model} object} subobjects permitted on all SBML objects, a \ListOfObjectives container object may only contain \Objective objects. (Reference: SBML Level~3 Specification for Flux Balance Constraints, Version~3, -\sec{extended-model-class}.)} +\sec{model-class}.)} \validRule{fbc-20205} {(This validation rule does not apply in Flux Balance Constraints Version~3.)} @@ -289,14 +287,12 @@ \subsubsection*{Rules for \class{FluxObjective} object} (Reference: SBML Level~3 Version~1 Core, Section~3.2.)} \validRule{fbc-20603}{A \FluxObjective object must have the required -attributes -\token{fbc:\-reaction}, \token{fbc:\-coefficient} and -\token{fbc:\-variableType}, and may have the optional attributes -\token{fbc:\-id} and \token{fbc:\-name}. No other -attributes from the SBML Level~3 Flux Balance Constraints namespaces are -permitted on a \FluxObjective object. (Reference: SBML Level~3 -Specification for Flux Balance Constraints, Version~3, -\sec{fluxobjective-class}.)} +attributes \token{fbc:\-reaction}, \token{fbc:\-coefficient}, and \token{fbc:\-variableType} and may +have the optional attributes \token{fbc:\-reaction2}, \token{fbc:\-id}, and \token{fbc:\-name}. No +other attributes from the SBML Level~3 Flux Balance Constraints +namespace are permitted on a \FluxObjective object. (References: SBML +Level~3 Package Specification for Flux Balance Constraints, Version~3, +\sec{fluxobjective-class}.) } \validRule{fbc-20604}{The attribute \token{fbc:\-name} on a \FluxObjective must have a value of data type \token{string}. @@ -335,6 +331,10 @@ \subsubsection*{Rules for \class{FluxObjective} object} \val{quadratic}. (Reference: SBML Level~3 Specification for Flux Balance Constraints, Version~3, \sec{fluxobjective-class}.)} +\validRule{fbc-20650}{If the \token{fbc:\-reaction2} attribute of a \FluxObjective object is defined, its \token{fbc:\-variableType} attribute must have the value \val{quadratic}. (References: SBML +Level~3 Package Specification for Flux Balance Constraints, Version~2, +\sec{fluxobjective-class}.) } + \subsubsection*{Rules for extended \class{Reaction} object} \validRule{fbc-20701}{A \Reaction object may contain one and only one diff --git a/sbml-level-3/version-1/fbc/spec/main.tex b/sbml-level-3/version-1/fbc/spec/main.tex index 5c37dd3f..39933c10 100644 --- a/sbml-level-3/version-1/fbc/spec/main.tex +++ b/sbml-level-3/version-1/fbc/spec/main.tex @@ -35,7 +35,7 @@ \renewcommand\graphicspath{{logos}} -\newcommand{\ListOfFluxBounds}{\defRef{ListOfFluxBounds}{listoffluxbounds-class}} +%\newcommand{\ListOfFluxBounds}{\defRef{ListOfFluxBounds}{listoffluxbounds-class}} \newcommand{\FluxBound}{\defRef{FluxBound}{fluxbound-class}} \newcommand{\ListOfObjectives}{\defRef{ListOfObjectives}{listofobjectives-class}} \newcommand{\Objective}{\defRef{Objective}{objective-class}} diff --git a/sbml-level-3/version-1/fbc/spec/sbml-fbc-version-3-release-1.pdf b/sbml-level-3/version-1/fbc/spec/sbml-fbc-version-3-release-1.pdf index d0629ea0..2a19765b 100644 Binary files a/sbml-level-3/version-1/fbc/spec/sbml-fbc-version-3-release-1.pdf and b/sbml-level-3/version-1/fbc/spec/sbml-fbc-version-3-release-1.pdf differ