libSBML C# API  5.18.0
libsbmlcs.FbcModelPlugin Class Reference
Inheritance diagram for libsbmlcs.FbcModelPlugin:
[legend]

Detailed Description

fbc Extension of Model.

The FbcModelPlugin object is used to extend the standard SBML Model object with features used in the SBML Level 3 Flux Balance Constraints (“fbc”) package. In Version 1 of the “fbc” specification, the extended Model class has two optional subobjects: ListOfObjectives and ListOfFluxBounds. In Version 2 of the specification, the extended Model object is defined differently: it is extended with a new required attribute named 'strict', and the two optional subobjects ListOfObjectives and ListOfGeneProducts. (ListOfFluxBounds is not used in Version 2.)

The 'strict' attribute on the (extended) Model class

The mandatory attribute 'strict', of type boolean, in Version 2 of this package, is used to apply an additional set of restrictions to the model. The 'strict' attribute helps ensure that the Flux Balance Constraints package can be used to encode legacy flux-balance analysis models expressible as Linear Programs (LP's) for software that is unable to analyze arbitrary mathematical expressions that may appear in an SBML model. In addition, a 'strict' model is fully described and mathematically consistent, for example, by ensuring that all fluxes have a valid upper or lower bound.

The following restrictions are in effect if an “fbc” model object has a value of 'true' for the attribute 'strict' on Model:

  • Each Reaction in a Model must define values for the attributes 'lowerFluxBound' and 'upperFluxBound', with each attribute pointing to a valid Parameter object defined in the current Model.
  • Each Parameter object referred to by the Reaction attributes 'lowerFluxBound' and 'upperFluxBound' must have its 'constant' attribute set to the value 'true' and its 'value' attribute set to a value of type double. This value may not be 'NaN'.
  • SpeciesReference objects in Reaction objects must have their 'stoichiometry' attribute set to a double value that is not 'NaN', nor '-INF', nor 'INF'. In addition, the value of their 'constant' attribute must be set to 'true'.
  • All defined FluxObjective objects must have their coefficient attribute set to a double value that is not 'NaN', nor '-INF', nor 'INF'.
  • A Reaction 'lowerFluxBound' attribute may not point to a Parameter object that has a value of 'INF'.
  • A Reaction 'upperFluxBound' attribute may not point to a Parameter object that has a value of '-INF'.
  • For all Reaction objects, the value of a 'lowerFluxBound' attribute must be less than or equal to the value of the 'upperFluxBound' attribute.

While it is not compulsory for a 'strict' Flux Balance Constraints model to define an Objective, doing so does does allow the model to be formulated as a Linear Program and optimized. However, this decision is left to the modeler. Note that all other properties of the objects referred to in the list above are to be set as specified in the relevant SBML Level 3 Version 1 Core and Flux Balance Constraints (“fbc”) specifications.

Alternatively, if the value of the strict attribute is 'false', then none of these restrictions apply and the model creator can choose to define “fbc” models that are not necessarily encodable as an LP. For example, if strict is 'false', the InitialAssignment construct may be used to set any valid numerical entity, including Parameter values and stoichiometric coefficients, with any value of type double. In addition, Parameter elements are no longer required to be flagged as constant, thus allowing for a Flux Balance Constraints model's use in alternative, hybrid modeling strategies.

Lists of subobjects on the (extended) Model class

The ListOfObjectives is used to define the objectives of a given “fbc” model. Objectives generally consist of linear combinations of model variables (fluxes) and a direction for the optimality constraint (either maximization or minimization). Each Objective has a ListOfFluxObjectives subobjects.

In Version 2 of “fbc”, the ListOfGeneProducts is used to define the gene products represented by the “fbc” model.

In Version 1 of “fbc”, there is no ListOfGeneProducts, and instead, Model can have an optional ListOfFluxBounds.

See also
Objective
FluxObjective
FluxBound

Public Member Functions

int addFluxBound (FluxBound bound)
 Adds a copy of the given FluxBound object to the list of FluxBounds. More...
 
int addGeneAssociation (GeneAssociation association)
 Adds a copy of the given GeneAssociation annotation object to the list of GeneAssociations. More...
 
int addGeneProduct (GeneProduct gp)
 Adds a copy the given GeneProduct to this FbcModelPlugin. More...
 
int addObjective (Objective o)
 Adds a copy the given Objective to this FbcModelPlugin. More...
 
int appendFrom (Model model)
 
new SBasePlugin clone ()
 Creates and returns a deep copy of this FbcModelPlugin object. More...
 
FluxBound createFluxBound ()
 Creates a new FluxBound object and adds it to the list of FluxBound objects and returns it. More...
 
GeneAssociation createGeneAssociation ()
 Creates a new GeneAssociation annotation object and adds it to the list of GeneAssociation objects and returns it. More...
 
GeneProduct createGeneProduct ()
 Creates a new GeneProduct object, adds it to this FbcModelPlugin's ListOfGeneProducts and returns the GeneProduct object created. More...
 
Objective createObjective ()
 Creates a new Objective object, adds it to this FbcModelPlugin's ListOfObjectives and returns the Objective object created. More...
 
override void Dispose ()
 
 FbcModelPlugin (string uri, string prefix, FbcPkgNamespaces fbcns)
 Creates a new FbcModelPlugin object using the given parameters. More...
 
 FbcModelPlugin (FbcModelPlugin orig)
 Copy constructor for FbcModelPlugin. More...
 
Objective getActiveObjective ()
 Returns the current active objective. More...
 
string getActiveObjectiveId ()
 Returns the id of the current active objective. More...
 
long getColumn ()
 
new SBase getElementByMetaId (string metaid)
 Return the first child object found with a given meta identifier. More...
 
new SBase getElementBySId (string id)
 Return the first child object found with a given identifier. More...
 
string getElementNamespace ()
 Returns the namespace URI of the package to which this plugin object belongs. More...
 
FluxBound getFluxBound (long n)
 Returns the FluxBound object that belongs to the given index. More...
 
FluxBound getFluxBound (string sid)
 Returns the FluxBound object based on its identifier. More...
 
ListOfFluxBounds getFluxBoundsForReaction (string reaction)
 Creates a new ListOfFluxBounds object that contains only the FluxBound objects associated with the given Reaction. More...
 
GeneAssociation getGeneAssociation (long n)
 Returns the GeneAssociation annotation object that belongs to the given index. More...
 
GeneAssociation getGeneAssociation (string sid)
 Returns the GeneAssociation annotation object based on its identifier. More...
 
GeneProduct getGeneProduct (long n)
 Get a GeneProduct from the ListOfGeneProducts. More...
 
GeneProduct getGeneProduct (string sid)
 Get a GeneProduct from the ListOfGeneProducts based on its identifier. More...
 
GeneProduct getGeneProductByLabel (string label)
 Get a GeneProduct from the ListOfGeneProducts based on its label. More...
 
long getLevel ()
 Returns the SBML Level of the package extension of this plugin object. More...
 
long getLine ()
 
SBaseList getListOfAllElements (ElementFilter filter)
 
SBaseList getListOfAllElements ()
 
ListOfFluxBounds getListOfFluxBounds ()
 Returns the ListOfFluxBounds in this plugin object. More...
 
ListOfGeneAssociations getListOfGeneAssociations ()
 Returns the ListOfGeneAssociations annotation object for level 1 in this plugin object. More...
 
ListOfGeneProducts getListOfGeneProducts ()
 Returns the ListOfGeneProducts in this FbcModelPlugin object. More...
 
ListOfObjectives getListOfObjectives ()
 Returns the ListOfObjectives in this FbcModelPlugin object. More...
 
long getNumFluxBounds ()
 Returns the number of FluxBound object in this plugin object. More...
 
int getNumGeneAssociations ()
 Returns the number of GeneAssociation annotation object in this plugin object. More...
 
long getNumGeneProducts ()
 Get the number of GeneProduct objects in this FbcModelPlugin. More...
 
long getNumObjectives ()
 Get the number of Objective objects in this FbcModelPlugin. More...
 
Objective getObjective (long n)
 Get an Objective from the ListOfObjectives. More...
 
Objective getObjective (string sid)
 Get an Objective from the ListOfObjectives based on its identifier. More...
 
string getPackageName ()
 Returns the short-form name of the package to which this plugin object belongs. More...
 
long getPackageVersion ()
 Returns the package version of the package extension of this plugin object. More...
 
SBase getParentSBMLObject ()
 Returns the parent object to which this plugin object is connected. More...
 
string getPrefix ()
 Returns the XML namespace prefix of the package to which this plugin object belongs. More...
 
SBMLDocument getSBMLDocument ()
 Returns the SBMLDocument object containing this object instance. More...
 
SBMLExtension getSBMLExtension ()
 
new bool getStrict ()
 Returns the value of the 'strict' attribute of this FbcModelPlugin. More...
 
string getURI ()
 Returns the XML namespace URI for the package to which this object belongs. More...
 
long getVersion ()
 Returns the Version within the SBML Level of the package extension of this plugin object. More...
 
new bool isSetStrict ()
 Predicate returning true if this FbcModelPlugin's 'strict' attribute is set. More...
 
new bool isValidTypeForList (SBase item)
 
FluxBound removeFluxBound (long n)
 Removes the nth FluxBound object from this plugin object and returns a pointer to it. More...
 
FluxBound removeFluxBound (string sid)
 Removes the FluxBound object with the given sid attribute from this plugin object and returns a pointer to it. More...
 
GeneAssociation removeGeneAssociation (long n)
 Removes the nth GeneAssociation annotation object from this plugin object and returns a pointer to it. More...
 
GeneAssociation removeGeneAssociation (string sid)
 Removes the GeneAssociation annotation object with the given sid attribute from this plugin object and returns a pointer to it. More...
 
GeneProduct removeGeneProduct (long n)
 Removes the nth GeneProduct from the ListOfGeneProducts within this FbcModelPlugin. More...
 
GeneProduct removeGeneProduct (string sid)
 Removes the GeneProduct with the given identifier from the ListOfGeneProducts within this FbcModelPlugin and returns a pointer to it. More...
 
Objective removeObjective (long n)
 Removes the nth Objective from the ListOfObjectives within this FbcModelPlugin. More...
 
Objective removeObjective (string sid)
 Removes the Objective with the given identifier from the ListOfObjectives within this FbcModelPlugin and returns a pointer to it. More...
 
new void renameMetaIdRefs (string oldid, string newid)
 Replaces all uses of a given meta identifier attribute value with another value. More...
 
new void renameSIdRefs (string oldid, string newid)
 Replaces all uses of a given SIdRef type attribute value with another value. More...
 
new void renameUnitSIdRefs (string oldid, string newid)
 Replaces all uses of a given UnitSIdRef type attribute value with another value. More...
 
int setActiveObjectiveId (string objectiveId)
 Sets the id of the active objective. More...
 
int setElementNamespace (string uri)
 Sets the XML namespace to which this object belongs. More...
 
new int setStrict (bool strict)
 Sets the value of the 'strict' attribute of this FbcModelPlugin. More...
 
int unsetActiveObjectiveId ()
 Unsets the 'activeObjective' attribute of the ListOfObjectives. More...
 
new int unsetStrict ()
 Unsets the value of the 'strict' attribute of this FbcModelPlugin. More...
 

Protected Attributes

bool swigCMemOwn
 

Constructor & Destructor Documentation

libsbmlcs.FbcModelPlugin.FbcModelPlugin ( string  uri,
string  prefix,
FbcPkgNamespaces  fbcns 
)

Creates a new FbcModelPlugin object using the given parameters.

In the XML representation of an SBML document, XML namespaces are used to identify the origin of each XML construct used. XML namespaces are identified by their unique resource identifiers (URIs). The core SBML specifications stipulate the namespaces that must be used for core SBML constructs; for example, all XML elements that belong to SBML Level 3 Version 1 Core must be placed in the XML namespace identified by the URI 'http://www.sbml.org/sbml/level3/version1/core'. Individual SBML Level 3 packages define their own XML namespaces; for example, all elements belonging to the SBML Level 3 Layout Version 1 package must be placed in the XML namespace 'http://www.sbml.org/sbml/level3/version1/layout/version1/'.

The SBMLNamespaces object encapsulates SBML Level/Version/namespaces information. It is used to communicate the SBML Level, Version, and (in Level 3) packages used in addition to SBML Level 3 Core. A common approach to using libSBML's SBMLNamespaces facilities is to create an SBMLNamespaces object somewhere in a program once, then hand that object as needed to object constructors that accept SBMLNamespaces as arguments.

Parameters
urithe URI of the SBML Level 3 package implemented by this libSBML package extension.
prefixthe XML namespace prefix being used for the package.
fbcnsthe namespaces object for the package.
libsbmlcs.FbcModelPlugin.FbcModelPlugin ( FbcModelPlugin  orig)

Copy constructor for FbcModelPlugin.

Parameters
origthe FbcModelPlugin instance to copy.

Member Function Documentation

int libsbmlcs.FbcModelPlugin.addFluxBound ( FluxBound  bound)

Adds a copy of the given FluxBound object to the list of FluxBounds.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Parameters
boundthe FluxBound object to be added to the list of FluxBounds.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int libsbmlcs.FbcModelPlugin.addGeneAssociation ( GeneAssociation  association)

Adds a copy of the given GeneAssociation annotation object to the list of GeneAssociations.

Parameters
associationthe GeneAssociation annotation object to be added to the list of GeneAssociations.
Note
GeneAssociation objects are not defined in any version of the 'Flux Balance Constraints' specification, and can only be used for annotation purposes. Version 2 instead defines the GeneProduct and GeneProductAssociation classes to cover the information otherwise encoded here.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int libsbmlcs.FbcModelPlugin.addGeneProduct ( GeneProduct  gp)

Adds a copy the given GeneProduct to this FbcModelPlugin.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Parameters
gpthe GeneProduct object to add.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int libsbmlcs.FbcModelPlugin.addObjective ( Objective  o)

Adds a copy the given Objective to this FbcModelPlugin.

Parameters
othe Objective object to add.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int libsbmlcs.FbcModelPlugin.appendFrom ( Model  model)
new SBasePlugin libsbmlcs.FbcModelPlugin.clone ( )

Creates and returns a deep copy of this FbcModelPlugin object.

Returns
a (deep) copy of this FbcModelPlugin object.
FluxBound libsbmlcs.FbcModelPlugin.createFluxBound ( )

Creates a new FluxBound object and adds it to the list of FluxBound objects and returns it.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Returns
a newly created FluxBound object.
GeneAssociation libsbmlcs.FbcModelPlugin.createGeneAssociation ( )

Creates a new GeneAssociation annotation object and adds it to the list of GeneAssociation objects and returns it.

Returns
a newly created GeneAssociation annotation object.
GeneProduct libsbmlcs.FbcModelPlugin.createGeneProduct ( )

Creates a new GeneProduct object, adds it to this FbcModelPlugin's ListOfGeneProducts and returns the GeneProduct object created.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Returns
a new GeneProduct object instance.
See also
addGeneProduct(GeneProduct gp)
Objective libsbmlcs.FbcModelPlugin.createObjective ( )

Creates a new Objective object, adds it to this FbcModelPlugin's ListOfObjectives and returns the Objective object created.

Returns
a new Objective object instance.
See also
addObjective(Objective o)
override void libsbmlcs.FbcModelPlugin.Dispose ( )
virtual

Reimplemented from libsbmlcs.SBasePlugin.

Objective libsbmlcs.FbcModelPlugin.getActiveObjective ( )

Returns the current active objective.

Returns
the Objective pointed to by the 'activeObjective' attribute, or null if no such Objective can be found.
string libsbmlcs.FbcModelPlugin.getActiveObjectiveId ( )

Returns the id of the current active objective.

Returns
the value of the 'activeObjective' attribute of the ListOfObjectives.
long libsbmlcs.SBasePlugin.getColumn ( )
inherited
new SBase libsbmlcs.SBasePlugin.getElementByMetaId ( string  metaid)
inherited

Return the first child object found with a given meta identifier.

This method searches all the subobjects under this one, compares their meta identifiers to metaid, and returns the first one that machines.

Parameters
metaidstring, the metaid of the object to find.
Returns
pointer to the first object found with the given metaid.
new SBase libsbmlcs.SBasePlugin.getElementBySId ( string  id)
inherited

Return the first child object found with a given identifier.

This method searches all the subobjects under this one, compares their identifiers to id, and returns the first one that machines.

Normally, SId type identifier values are unique across a model in SBML. However, in some circumstances they may not be, such as if a model is invalid because of multiple objects having the same identifier.

Parameters
idstring representing the identifier of the object to find.
Returns
pointer to the first object with the given id.
string libsbmlcs.SBasePlugin.getElementNamespace ( )
inherited

Returns the namespace URI of the package to which this plugin object belongs.

Returns
the XML namespace URI of the SBML Level 3 package implemented by this libSBML package extension.
FluxBound libsbmlcs.FbcModelPlugin.getFluxBound ( long  n)

Returns the FluxBound object that belongs to the given index.

If the index is invalid, null is returned.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Parameters
nthe index number of the FluxBound to get.
Returns
the nth FluxBound in the ListOfFluxBounds. If the index n is invalid, null is returned.
FluxBound libsbmlcs.FbcModelPlugin.getFluxBound ( string  sid)

Returns the FluxBound object based on its identifier.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Parameters
sida string representing the identifier of the FluxBound to get.
Returns
FluxBound in the ListOfFluxBounds with the given sid or null if no such FluxBound exists.
See also
getFluxBound(unsigned int n)
getListOfFluxBounds()
ListOfFluxBounds libsbmlcs.FbcModelPlugin.getFluxBoundsForReaction ( string  reaction)

Creates a new ListOfFluxBounds object that contains only the FluxBound objects associated with the given Reaction.

If no such Reaction can be found, or if there are no FluxBound objects associated with it, returns null.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Parameters
reactionthe id of an reaction to find FluxBound objects for.
Returns
a ListOfFluxBounds for the given reaction id.
GeneAssociation libsbmlcs.FbcModelPlugin.getGeneAssociation ( long  n)

Returns the GeneAssociation annotation object that belongs to the given index.

If the index is invalid, null is returned.

Note
GeneAssociation objects are not defined in any version of the 'Flux Balance Constraints' specification, and can only be used for annotation purposes. Version 2 instead defines the GeneProduct and GeneProductAssociation classes to cover the information otherwise encoded here.
Parameters
nthe index number of the GeneAssociation annotation to get.
Returns
the nth GeneAssociation annotation in the ListOfGeneAssociations. If the index n is invalid, null is returned.
GeneAssociation libsbmlcs.FbcModelPlugin.getGeneAssociation ( string  sid)

Returns the GeneAssociation annotation object based on its identifier.

Note
GeneAssociation objects are not defined in any version of the 'Flux Balance Constraints' specification, and can only be used for annotation purposes. Version 2 instead defines the GeneProduct and GeneProductAssociation classes to cover the information otherwise encoded here.
Parameters
sida string representing the identifier of the GeneAssociation annotation to get.
Returns
GeneAssociation annotation in the ListOfGeneAssociations with the given sid or null if no such GeneAssociation annotation exists.
See also
getGeneAssociation(unsigned int n)
getListOfGeneAssociations()
GeneProduct libsbmlcs.FbcModelPlugin.getGeneProduct ( long  n)

Get a GeneProduct from the ListOfGeneProducts.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Parameters
nthe index number of the GeneProduct to get.
Returns
the nth GeneProduct in the ListOfGeneProducts within this FbcModelPlugin. If the index n is invalid, null is returned.
See also
getNumGeneProducts()
GeneProduct libsbmlcs.FbcModelPlugin.getGeneProduct ( string  sid)

Get a GeneProduct from the ListOfGeneProducts based on its identifier.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Parameters
sida string representing the identifier of the GeneProduct to get.
Returns
the GeneProduct in the ListOfGeneProducts with the given id or null if no such GeneProduct exists.
See also
getGeneProduct(unsigned int n)
getNumGeneProducts()
GeneProduct libsbmlcs.FbcModelPlugin.getGeneProductByLabel ( string  label)

Get a GeneProduct from the ListOfGeneProducts based on its label.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Parameters
labela string representing the label of the GeneProduct to get.
Returns
the GeneProduct in the ListOfGeneProducts with the given label or null if no such GeneProduct exists.
See also
getGeneProduct(unsigned int n)
getNumGeneProducts()
long libsbmlcs.SBasePlugin.getLevel ( )
inherited

Returns the SBML Level of the package extension of this plugin object.

Returns
the SBML Level.
See also
getVersion()
long libsbmlcs.SBasePlugin.getLine ( )
inherited
SBaseList libsbmlcs.SBasePlugin.getListOfAllElements ( ElementFilter  filter)
inherited
SBaseList libsbmlcs.SBasePlugin.getListOfAllElements ( )
inherited
ListOfFluxBounds libsbmlcs.FbcModelPlugin.getListOfFluxBounds ( )

Returns the ListOfFluxBounds in this plugin object.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Returns
ListOfFluxBounds object in this plugin object.
ListOfGeneAssociations libsbmlcs.FbcModelPlugin.getListOfGeneAssociations ( )

Returns the ListOfGeneAssociations annotation object for level 1 in this plugin object.

Note
GeneAssociation objects are not defined in any version of the 'Flux Balance Constraints' specification, and can only be used for annotation purposes. Version 2 instead defines the GeneProduct and GeneProductAssociation classes to cover the information otherwise encoded here.
Returns
ListOfGeneAssociations annotation object for level 1 in this plugin object.
ListOfGeneProducts libsbmlcs.FbcModelPlugin.getListOfGeneProducts ( )

Returns the ListOfGeneProducts in this FbcModelPlugin object.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Returns
the ListOfGeneProducts child of this FbcModelPlugin.
ListOfObjectives libsbmlcs.FbcModelPlugin.getListOfObjectives ( )

Returns the ListOfObjectives in this FbcModelPlugin object.

Returns
the ListOfObjectives child of this FbcModelPlugin.
long libsbmlcs.FbcModelPlugin.getNumFluxBounds ( )

Returns the number of FluxBound object in this plugin object.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Returns
the number of FluxBound object in this plugin object.
int libsbmlcs.FbcModelPlugin.getNumGeneAssociations ( )

Returns the number of GeneAssociation annotation object in this plugin object.

Note
GeneAssociation objects are not defined in any version of the 'Flux Balance Constraints' specification, and can only be used for annotation purposes. Version 2 instead defines the GeneProduct and GeneProductAssociation classes to cover the information otherwise encoded here.
Returns
the number of GeneAssociation annotation object in this plugin object.
long libsbmlcs.FbcModelPlugin.getNumGeneProducts ( )

Get the number of GeneProduct objects in this FbcModelPlugin.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Returns
the number of GeneProduct objects in this FbcModelPlugin.
long libsbmlcs.FbcModelPlugin.getNumObjectives ( )

Get the number of Objective objects in this FbcModelPlugin.

Returns
the number of Objective objects in this FbcModelPlugin.
Objective libsbmlcs.FbcModelPlugin.getObjective ( long  n)

Get an Objective from the ListOfObjectives.

Parameters
nthe index number of the Objective to get.
Returns
the nth Objective in the ListOfObjectives within this FbcModelPlugin. If the index n is invalid, null is returned.
See also
getNumObjectives()
Objective libsbmlcs.FbcModelPlugin.getObjective ( string  sid)

Get an Objective from the ListOfObjectives based on its identifier.

Parameters
sida string representing the identifier of the Objective to get.
Returns
the Objective in the ListOfObjectives with the given id or null if no such Objective exists.
See also
getObjective(unsigned int n)
getNumObjectives()
string libsbmlcs.SBasePlugin.getPackageName ( )
inherited

Returns the short-form name of the package to which this plugin object belongs.

Returns
the short-form package name (or nickname) of the SBML package implemented by this package extension.
long libsbmlcs.SBasePlugin.getPackageVersion ( )
inherited

Returns the package version of the package extension of this plugin object.

Returns
the package version of the package extension of this plugin object.
See also
getLevel()
getVersion()
SBase libsbmlcs.SBasePlugin.getParentSBMLObject ( )
inherited

Returns the parent object to which this plugin object is connected.

Returns
the parent object of this object.
string libsbmlcs.SBasePlugin.getPrefix ( )
inherited

Returns the XML namespace prefix of the package to which this plugin object belongs.

Returns
the XML namespace prefix of the SBML Level 3 package implemented by this libSBML package extension.
SBMLDocument libsbmlcs.SBasePlugin.getSBMLDocument ( )
inherited

Returns the SBMLDocument object containing this object instance.

LibSBML uses the class SBMLDocument as a top-level container for storing SBML content and data associated with it (such as warnings and error messages). An SBML model in libSBML is contained inside an SBMLDocument object. SBMLDocument corresponds roughly to the class SBML defined in the SBML Level 3 and Level 2 specifications, but it does not have a direct correspondence in SBML Level 1. (But, it is created by libSBML no matter whether the model is Level 1, Level 2 or Level 3.)

This method allows the caller to obtain the SBMLDocument for the current object.

Returns
the parent SBMLDocument object of this plugin object.
See also
getParentSBMLObject()
SBMLExtension libsbmlcs.SBasePlugin.getSBMLExtension ( )
inherited
new bool libsbmlcs.FbcModelPlugin.getStrict ( )

Returns the value of the 'strict' attribute of this FbcModelPlugin.

Note
The 'strict' attribute of the FbcModelPlugin is only defined for version 2 of the 'Flux Balance Constraints' specification, and has no equivalent in version 1 of the specification.
Returns
the value of the 'strict' attribute of this FbcModelPlugin as a boolean.
string libsbmlcs.SBasePlugin.getURI ( )
inherited

Returns the XML namespace URI for the package to which this object belongs.

In the XML representation of an SBML document, XML namespaces are used to identify the origin of each XML construct used. XML namespaces are identified by their unique resource identifiers (URIs). The core SBML specifications stipulate the namespaces that must be used for core SBML constructs; for example, all XML elements that belong to SBML Level 3 Version 1 Core must be placed in the XML namespace identified by the URI 'http://www.sbml.org/sbml/level3/version1/core'. Individual SBML Level 3 packages define their own XML namespaces; for example, all elements belonging to the SBML Level 3 Layout Version 1 package must be placed in the XML namespace 'http://www.sbml.org/sbml/level3/version1/layout/version1/'.

This method first looks into the SBMLNamespaces object possessed by the parent SBMLDocument object of the current object. If this cannot be found, this method returns the result of getElementNamespace().

Returns
a string, the URI of the XML namespace to which this object belongs.
See also
getPackageName()
getElementNamespace()
getSBMLDocument()
long libsbmlcs.SBasePlugin.getVersion ( )
inherited

Returns the Version within the SBML Level of the package extension of this plugin object.

Returns
the SBML Version.
See also
getLevel()
new bool libsbmlcs.FbcModelPlugin.isSetStrict ( )

Predicate returning true if this FbcModelPlugin's 'strict' attribute is set.

Note
The 'strict' attribute of the FbcModelPlugin is only defined for version 2 of the 'Flux Balance Constraints' specification, and has no equivalent in version 1 of the specification.
Returns
true if this FbcModelPlugin's 'strict' attribute has been set, otherwise false is returned.
new bool libsbmlcs.SBasePlugin.isValidTypeForList ( SBase  item)
inherited
FluxBound libsbmlcs.FbcModelPlugin.removeFluxBound ( long  n)

Removes the nth FluxBound object from this plugin object and returns a pointer to it.

The caller owns the returned object and is responsible for deleting it.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Parameters
nthe index of the FluxBound object to remove.
Returns
the FluxBound object removed. As mentioned above, the caller owns the returned object. null is returned if the given index is out of range.
FluxBound libsbmlcs.FbcModelPlugin.removeFluxBound ( string  sid)

Removes the FluxBound object with the given sid attribute from this plugin object and returns a pointer to it.

The caller owns the returned object and is responsible for deleting it.

Note
FluxBound objects are only defined for version 1 of the 'Flux Balance Constraints' specification, and are replaced in version 2 by the 'upperFluxBound' and 'lowerFluxBound' attributes of the FbcReactionPlugin.
Parameters
sidthe id attribute of the FluxBound object to remove.
Returns
the FluxBound object removed. As mentioned above, the caller owns the returned object. null is returned if the given index is out of range.
GeneAssociation libsbmlcs.FbcModelPlugin.removeGeneAssociation ( long  n)

Removes the nth GeneAssociation annotation object from this plugin object and returns a pointer to it.

The caller owns the returned object and is responsible for deleting it.

Note
GeneAssociation objects are not defined in any version of the 'Flux Balance Constraints' specification, and can only be used for annotation purposes. Version 2 instead defines the GeneProduct and GeneProductAssociation classes to cover the information otherwise encoded here.
Parameters
nthe index of the GeneAssociation annotation object to remove.
Returns
the GeneAssociation annotation object removed. As mentioned above, the caller owns the returned object. null is returned if the given index is out of range.
GeneAssociation libsbmlcs.FbcModelPlugin.removeGeneAssociation ( string  sid)

Removes the GeneAssociation annotation object with the given sid attribute from this plugin object and returns a pointer to it.

The caller owns the returned object and is responsible for deleting it.

Note
GeneAssociation objects are not defined in any version of the 'Flux Balance Constraints' specification, and can only be used for annotation purposes. Version 2 instead defines the GeneProduct and GeneProductAssociation classes to cover the information otherwise encoded here.
Parameters
sidthe id attribute of the GeneAssociation annotation object to remove.
Returns
the GeneAssociation annotation object removed. As mentioned above, the caller owns the returned object. null is returned if the given index is out of range.
GeneProduct libsbmlcs.FbcModelPlugin.removeGeneProduct ( long  n)

Removes the nth GeneProduct from the ListOfGeneProducts within this FbcModelPlugin.

and returns a pointer to it.

The caller owns the returned item and is responsible for deleting it.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Parameters
nthe index of the GeneProduct to remove.
See also
getNumGeneProducts()
GeneProduct libsbmlcs.FbcModelPlugin.removeGeneProduct ( string  sid)

Removes the GeneProduct with the given identifier from the ListOfGeneProducts within this FbcModelPlugin and returns a pointer to it.

The caller owns the returned item and is responsible for deleting it. If none of the items in this list have the identifier sid, then null is returned.

Note
GeneProduct objects are only defined for version 2 of the 'Flux Balance Constraints' specification, and have no equivalent in version 1 of the specification.
Parameters
sidthe identifier of the GeneProduct to remove.
Returns
the GeneProduct removed. As mentioned above, the caller owns the returned item.
Objective libsbmlcs.FbcModelPlugin.removeObjective ( long  n)

Removes the nth Objective from the ListOfObjectives within this FbcModelPlugin.

and returns a pointer to it.

The caller owns the returned item and is responsible for deleting it.

Parameters
nthe index of the Objective to remove.
See also
getNumObjectives()
Objective libsbmlcs.FbcModelPlugin.removeObjective ( string  sid)

Removes the Objective with the given identifier from the ListOfObjectives within this FbcModelPlugin and returns a pointer to it.

The caller owns the returned item and is responsible for deleting it. If none of the items in this list have the identifier sid, then null is returned.

Parameters
sidthe identifier of the Objective to remove.
Returns
the Objective removed. As mentioned above, the caller owns the returned item.
new void libsbmlcs.SBasePlugin.renameMetaIdRefs ( string  oldid,
string  newid 
)
inherited

Replaces all uses of a given meta identifier attribute value with another value.

In SBML, object 'meta' identifiers are of the XML data type ID; the SBML object attribute itself is typically named metaid. All attributes that hold values referring to values of type ID are of the XML data type IDREF. They are also sometimes informally referred to as 'metaid refs', in analogy to the SBML-defined type SIdRef.

This method works by looking at all meta-identifier attribute values, comparing the identifiers to the value of oldid. If any matches are found, the matching identifiers are replaced with newid. The method does not descend into child elements.

Parameters
oldidthe old identifier.
newidthe new identifier.
new void libsbmlcs.SBasePlugin.renameSIdRefs ( string  oldid,
string  newid 
)
inherited

Replaces all uses of a given SIdRef type attribute value with another value.

In SBML, object identifiers are of a data type called SId. In SBML Level 3, an explicit data type called SIdRef was introduced for attribute values that refer to SId values; in previous Levels of SBML, this data type did not exist and attributes were simply described to as 'referring to an identifier', but the effective data type was the same as SIdRef in Level 3. These and other methods of libSBML refer to the type SIdRef for all Levels of SBML, even if the corresponding SBML specification did not explicitly name the data type.

This method works by looking at all attributes and (if appropriate) mathematical formulas in MathML content, comparing the referenced identifiers to the value of oldid. If any matches are found, the matching values are replaced with newid. The method does not descend into child elements.

Parameters
oldidthe old identifier.
newidthe new identifier.
new void libsbmlcs.SBasePlugin.renameUnitSIdRefs ( string  oldid,
string  newid 
)
inherited

Replaces all uses of a given UnitSIdRef type attribute value with another value.

In SBML, unit definitions have identifiers of type UnitSId. In SBML Level 3, an explicit data type called UnitSIdRef was introduced for attribute values that refer to UnitSId values; in previous Levels of SBML, this data type did not exist and attributes were simply described to as 'referring to a unit identifier', but the effective data type was the same as UnitSIdRef in Level 3. These and other methods of libSBML refer to the type UnitSIdRef for all Levels of SBML, even if the corresponding SBML specification did not explicitly name the data type.

This method works by looking at all unit identifier attribute values (including, if appropriate, inside mathematical formulas), comparing the referenced unit identifiers to the value of oldid. If any matches are found, the matching values are replaced with newid. The method does not descend into child elements.

Parameters
oldidthe old identifier.
newidthe new identifier.
int libsbmlcs.FbcModelPlugin.setActiveObjectiveId ( string  objectiveId)

Sets the id of the active objective.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int libsbmlcs.SBasePlugin.setElementNamespace ( string  uri)
inherited

Sets the XML namespace to which this object belongs.

In the XML representation of an SBML document, XML namespaces are used to identify the origin of each XML construct used. XML namespaces are identified by their unique resource identifiers (URIs). The core SBML specifications stipulate the namespaces that must be used for core SBML constructs; for example, all XML elements that belong to SBML Level 3 Version 1 Core must be placed in the XML namespace identified by the URI 'http://www.sbml.org/sbml/level3/version1/core'. Individual SBML Level 3 packages define their own XML namespaces; for example, all elements belonging to the SBML Level 3 Layout Version 1 package must be placed in the XML namespace 'http://www.sbml.org/sbml/level3/version1/layout/version1/'.

Parameters
urithe URI to assign to this object.
Returns
integer value indicating success/failure of the function. This particular function only does one thing irrespective of user input or object state, and thus will only return a single value:
See also
getElementNamespace()
new int libsbmlcs.FbcModelPlugin.setStrict ( bool  strict)

Sets the value of the 'strict' attribute of this FbcModelPlugin.

Note
The 'strict' attribute of the FbcModelPlugin is only defined for version 2 of the 'Flux Balance Constraints' specification, and has no equivalent in version 1 of the specification.
Parameters
strictbool value of the 'strict' attribute to be set.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int libsbmlcs.FbcModelPlugin.unsetActiveObjectiveId ( )

Unsets the 'activeObjective' attribute of the ListOfObjectives.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
success status
new int libsbmlcs.FbcModelPlugin.unsetStrict ( )

Unsets the value of the 'strict' attribute of this FbcModelPlugin.

Note
The 'strict' attribute of the FbcModelPlugin is only defined for version 2 of the 'Flux Balance Constraints' specification, and has no equivalent in version 1 of the specification.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:

Member Data Documentation

bool libsbmlcs.SBasePlugin.swigCMemOwn
protectedinherited