### VALIDATE_MATLAB_SBML_STRUCTURES

This folder contains tests that checks that the structure supplied as argument is of the appropriate form to represent the intended element of an SBML model. Each check tests that the fields supplied within the structure match the fields expected for an element of that type and SBML Level and Version.

Function are:

#### [valid, message] = isSBML_AlgebraicRule(SBMLAlgebraicRule, level, version(optional))

Takes

1. SBMLAlgebraicRule, an SBML AlgebraicRule structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML AlgebraicRule structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML AlgebraicRule structure of the appropriate level and version can be found using getAlgebraicRuleFieldnames(level, version)

#### [valid, message] = isSBML_AssignmentRule(SBMLAssignmentRule, level, version(optional))

Takes

1. SBMLAssignmentRule, an SBML AssignmentRule structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML AssignmentRule structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML AssignmentRule structure of the appropriate level and version can be found using getAssignmentRuleFieldnames(level, version)

#### [valid, message] = isSBML_Compartment(SBMLCompartment, level, version(optional))

Takes

1. SBMLCompartment, an SBML Compartment structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Compartment structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Compartment structure of the appropriate level and version can be found using getCompartmentFieldnames(level, version)

#### [valid, message] = isSBML_CompartmentType(SBMLCompartmentType, level, version(optional))

Takes

1. SBMLCompartmentType, an SBML CompartmentType structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML CompartmentType structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML CompartmentType structure of the appropriate level and version can be found using getCompartmentTypeFieldnames(level, version)

#### [valid, message] = isSBML_CompartmentVolumeRule(SBMLCompartmentVolumeRule, level, version(optional))

Takes

1. SBMLCompartmentVolumeRule, an SBML CompartmentVolumeRule structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML CompartmentVolumeRule structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML CompartmentVolumeRule structure of the appropriate level and version can be found using getCompartmentVolumeRuleFieldnames(level, version)

#### [valid, message] = isSBML_Constraint(SBMLConstraint, level, version(optional))

Takes

1. SBMLConstraint, an SBML Constraint structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Constraint structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Constraint structure of the appropriate level and version can be found using getConstraintFieldnames(level, version)

#### [valid, message] = isSBML_Delay(SBMLDelay, level, version(optional))

Takes

1. SBMLDelay, an SBML Delay structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Delay structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Delay structure of the appropriate level and version can be found using getDelayFieldnames(level, version)

#### [valid, message] = isSBML_Event(SBMLEvent, level, version(optional))

Takes

1. SBMLEvent, an SBML Event structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Event structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Event structure of the appropriate level and version can be found using getEventFieldnames(level, version)

#### [valid, message] = isSBML_EventAssignment(SBMLEventAssignment, level, version(optional))

Takes

1. SBMLEventAssignment, an SBML EventAssignment structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML EventAssignment structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML EventAssignment structure of the appropriate level and version can be found using getEventAssignmentFieldnames(level, version)

#### [valid, message] = isSBML_FunctionDefinition(SBMLFunctionDefinition, level, version(optional))

Takes

1. SBMLFunctionDefinition, an SBML FunctionDefinition structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML FunctionDefinition structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML FunctionDefinition structure of the appropriate level and version can be found using getFunctionDefinitionFieldnames(level, version)

#### [valid, message] = isSBML_InitialAssignment(SBMLInitialAssignment, level, version(optional))

Takes

1. SBMLInitialAssignment, an SBML InitialAssignment structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML InitialAssignment structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML InitialAssignment structure of the appropriate level and version can be found using getInitialAssignmentFieldnames(level, version)

#### [valid, message] = isSBML_KineticLaw(SBMLKineticLaw, level, version(optional))

Takes

1. SBMLKineticLaw, an SBML KineticLaw structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML KineticLaw structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML KineticLaw structure of the appropriate level and version can be found using getKineticLawFieldnames(level, version)

#### [valid, message] = isSBML_LocalParameter(SBMLLocalParameter, level, version(optional))

Takes

1. SBMLLocalParameter, an SBML LocalParameter structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML LocalParameter structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML LocalParameter structure of the appropriate level and version can be found using getLocalParameterFieldnames(level, version)

#### [valid, message] = isSBML_Model(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Model structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: The fields present in a MATLAB_SBML Model structure of the appropriate level and version can be found using getModelFieldnames(level, version)

#### [valid, message] = isSBML_ModifierSpeciesReference(SBMLModifierSpeciesReference, level, version(optional))

Takes

1. SBMLModifierSpeciesReference, an SBML ModifierSpeciesReference structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML ModifierSpeciesReference structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML ModifierSpeciesReference structure of the appropriate level and version can be found using getModifierSpeciesReferenceFieldnames(level, version)

#### [valid, message] = isSBML_Parameter(SBMLParameter, level, version(optional))

Takes

1. SBMLParameter, an SBML Parameter structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Parameter structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Parameter structure of the appropriate level and version can be found using getParameterFieldnames(level, version)

#### [valid, message] = isSBML_ParameterRule(SBMLParameterRule, level, version(optional))

Takes

1. SBMLParameterRule, an SBML ParameterRule structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML ParameterRule structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML ParameterRule structure of the appropriate level and version can be found using getParameterRuleFieldnames(level, version)

#### [valid, message] = isSBML_Priority(SBMLPriority, level, version(optional))

Takes

1. SBMLPriority, an SBML Priority structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Priority structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Priority structure of the appropriate level and version can be found using getPriorityFieldnames(level, version)

#### [valid, message] = isSBML_RateRule(SBMLRateRule, level, version(optional))

Takes

1. SBMLRateRule, an SBML RateRule structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML RateRule structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML RateRule structure of the appropriate level and version can be found using getRateRuleFieldnames(level, version)

#### [valid, message] = isSBML_Reaction(SBMLReaction, level, version(optional))

Takes

1. SBMLReaction, an SBML Reaction structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Reaction structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Reaction structure of the appropriate level and version can be found using getReactionFieldnames(level, version)

#### [valid, message] = isSBML_Rule(SBMLRule, level, version(optional))

Takes

1. SBMLRule, an SBML Rule structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Rule structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Rule structure of the appropriate level and version can be found using getRuleFieldnames(level, version)

#### [valid, message] = isSBML_Species(SBMLSpecies, level, version(optional))

Takes

1. SBMLSpecies, an SBML Species structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Species structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Species structure of the appropriate level and version can be found using getSpeciesFieldnames(level, version)

#### [valid, message] = isSBML_SpeciesConcentrationRule(SBMLSpeciesConcentrationRule, level, version(optional))

Takes

1. SBMLSpeciesConcentrationRule, an SBML SpeciesConcentrationRule structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML SpeciesConcentrationRule structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML SpeciesConcentrationRule structure of the appropriate level and version can be found using getSpeciesConcentrationRuleFieldnames(level, version)

#### [valid, message] = isSBML_SpeciesReference(SBMLSpeciesReference, level, version(optional))

Takes

1. SBMLSpeciesReference, an SBML SpeciesReference structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML SpeciesReference structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML SpeciesReference structure of the appropriate level and version can be found using getSpeciesReferenceFieldnames(level, version)

#### [valid, message] = isSBML_SpeciesType(SBMLSpeciesType, level, version(optional))

Takes

1. SBMLSpeciesType, an SBML SpeciesType structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML SpeciesType structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML SpeciesType structure of the appropriate level and version can be found using getSpeciesTypeFieldnames(level, version)

#### [valid, message] = isSBML_StoichiometryMath(SBMLStoichiometryMath, level, version(optional))

Takes

1. SBMLStoichiometryMath, an SBML StoichiometryMath structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML StoichiometryMath structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML StoichiometryMath structure of the appropriate level and version can be found using getStoichiometryMathFieldnames(level, version)

#### [valid, message] = isSBML_Trigger(SBMLTrigger, level, version(optional))

Takes

1. SBMLTrigger, an SBML Trigger structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Trigger structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Trigger structure of the appropriate level and version can be found using getTriggerFieldnames(level, version)

#### [valid, message] = isSBML_Unit(SBMLUnit, level, version(optional))

Takes

1. SBMLUnit, an SBML Unit structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Unit structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML Unit structure of the appropriate level and version can be found using getUnitFieldnames(level, version)

#### [valid, message] = isSBML_UnitDefinition(SBMLUnitDefinition, level, version(optional))

Takes

1. SBMLUnitDefinition, an SBML UnitDefinition structure
2. level, an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML UnitDefinition structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML UnitDefinition structure of the appropriate level and version can be found using getUnitDefinitionFieldnames(level, version)

#### [valid, message] = isValid(SBMLStruct, level(optional), version(optional))

Takes

1. SBMLStruct, an SBML structure
2. level (optional), an integer representing an SBML level
3. version (optional), an integer representing an SBML version

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: the optional level defaults to a value of 3

NOTE: the optional version defaults to a value of 1

NOTE: The fields present in a MATLAB_SBML structure of the appropriate level and version can be found using getFieldnames(typecode, level, version)

#### [valid, message] = isSBML_Model(SBMLModel)

Takes

1. SBMLModel, an SBML Model structure

Returns

1. valid =
   - 1, if the structure represents a MATLAB_SBML Model structure of the appropriate level and version
   - 0, otherwise
2. a message explaining any failure

NOTE: The fields present in a MATLAB_SBML Model structure of the appropriate level and version can be found using getModelFieldnames(level, version)