### FBC_PACKAGE\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 that includes the fbc package.

Function are:

#### [valid, message] = isSBML_FBC_FluxBound(SBMLFBCFluxBound, level, version, pkgVersion)

Takes

1. SBMLStructure, an SBML FBC FluxBound structure
2. level, an integer representing an SBML level
3. version, an integer representing an SBML version
4. pkgVersion, an integer representing an FBC package version

Returns

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

NOTE: The fields present in a MATLAB_SBML FBC FluxBound structure of the appropriate level and version can be found using getFluxBoundFieldnames(level, version, pkgVersion)

#### [valid, message] = isSBML_FBC_FluxObjective(SBMLFBCFluxObjective, level, version, pkgVersion)

Takes

1. SBMLStructure, an SBML FBC FluxObjective structure
2. level, an integer representing an SBML level
3. version, an integer representing an SBML version
4. pkgVersion, an integer representing an FBC package version

Returns

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

NOTE: The fields present in a MATLAB_SBML FBC FluxObjective structure of the appropriate level and version can be found using getFluxObjectiveFieldnames(level, version, pkgVersion)

#### [valid, message] = isSBML_FBC_Model(SBMLFBCModel, level, version, pkgVersion)

Takes

1. SBMLStructure, an SBML FBC Model structure
2. level, an integer representing an SBML level
3. version, an integer representing an SBML version
4. pkgVersion, an integer representing an FBC package version

Returns

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

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

#### [valid, message] = isSBML_FBC_Objective(SBMLFBCObjective, level, version, pkgVersion)

Takes

1. SBMLStructure, an SBML FBC Objective structure
2. level, an integer representing an SBML level
3. version, an integer representing an SBML version
4. pkgVersion, an integer representing an FBC package version

Returns

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

NOTE: The fields present in a MATLAB_SBML FBC Objective structure of the appropriate level and version can be found using getObjectiveFieldnames(level, version, pkgVersion)

#### [valid, message] = isSBML_FBC_Species(SBMLFBCSpecies, level, version, pkgVersion)

Takes

1. SBMLStructure, an SBML FBC Species structure
2. level, an integer representing an SBML level
3. version, an integer representing an SBML version
4. pkgVersion, an integer representing an FBC package version

Returns

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

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

#### [valid, message] = isValidFBC(SBMLStruct, level, version, pkgVersion)

Takes

1. SBMLStruct, an SBML structure
2. level, an integer representing an SBML level
3. version, an integer representing an SBML version
4. pkgVersion, an integer representing the FBC package version

Returns

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

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