libSBML C# API  libSBML 5.8.0 C# API
 All Classes Namespaces Files Functions Variables Properties Pages
libsbmlcs.SBMLRuleConverter Class Reference
Inheritance diagram for libsbmlcs.SBMLRuleConverter:
[legend]

Detailed Description

SBML converter for reordering rules and assignments in a model.

This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. It is a class used in the implementation of extra functionality provided by libSBML.

This converter reorders assignments in a model. Specifically, it sorts the list of assignment rules (i.e., the AssignmentRule objects contained in the ListOfAssignmentRules within the Model object) and the initial assignments (i.e., the InitialAssignment objects contained in the ListOfInitialAssignments) such that, within each set, assignments that depend on prior values are placed after the values are set. For example, if there is an assignment rule stating a = b + 1, and another rule stating b = 3, the list of rules is sorted and the rules are arranged so that the rule for b = 3 appears before the rule for a = b + 1. Similarly, if dependencies of this sort exist in the list of initial assignments in the model, the initial assignments are sorted as well.

Beginning with SBML Level 2, assignment rules have no ordering required—the order in which the rules appear in an SBML file has no significance. Software tools, however, may need to reorder assignments for purposes of evaluating them. For example, for simulators that use time integration methods, it would be a good idea to reorder assignment rules such as the following,

b = a + 10 seconds
a = time

so that the evaluation of the rules is independent of integrator step sizes. (This is due to the fact that, in this case, the order in which the rules are evaluated changes the result.) This converter can be used to reorder the SBML objects regardless of whether the input file contained them in the desired order. Here is a code fragment to illustrate how to do that: ConversionProperties props; props.addOption('sortRules', true, 'sort rules');

SBMLConverter converter; converter.setProperties(&props); converter.setDocument(&doc); converter.convert();

Note
The two sets of assignments (list of assignment rules on the one hand, and list of initial assignments on the other hand) are handled independently. In an SBML model, these entities are treated differently and no amount of sorting can deal with inter-dependencies between assignments of the two kinds.
See Also
SBMLFunctionDefinitionConverter
SBMLInitialAssignmentConverter
SBMLLevelVersionConverter
SBMLStripPackageConverter
SBMLUnitsConverter

Public Member Functions

SBMLConverter clone ()
 Creates and returns a deep copy of this SBMLLevelVersionConverter object. More...
 
int convert ()
 Perform the conversion. More...
 
override void Dispose ()
 
ConversionProperties getDefaultProperties ()
 Returns the default properties of this converter. More...
 
SBMLDocument getDocument ()
 Returns the SBML document that is the subject of the conversions. More...
 
ConversionProperties getProperties ()
 Returns the current properties in effect for this converter. More...
 
SBMLNamespaces getTargetNamespaces ()
 Returns the target SBML namespaces of the currently set properties. More...
 
bool matchesProperties (ConversionProperties props)
 Returns true if this converter object's properties match the given properties. More...
 
 SBMLRuleConverter ()
 Creates a new SBMLLevelVersionConverter object. More...
 
 SBMLRuleConverter (SBMLRuleConverter obj)
 Copy constructor; creates a copy of an SBMLLevelVersionConverter object. More...
 
int setDocument (SBMLDocument doc)
 Sets the current SBML document to the given SBMLDocument object. More...
 
int setProperties (ConversionProperties props)
 Sets the configuration properties to be used by this converter. More...
 
delegate IntPtr SwigDelegateSBMLConverter_0 ()
 
delegate IntPtr SwigDelegateSBMLConverter_1 ()
 
delegate IntPtr SwigDelegateSBMLConverter_2 ()
 
delegate IntPtr SwigDelegateSBMLConverter_3 ()
 
delegate IntPtr SwigDelegateSBMLConverter_4 ()
 
delegate bool SwigDelegateSBMLConverter_5 (IntPtr props)
 
delegate int SwigDelegateSBMLConverter_6 (IntPtr doc)
 
delegate int SwigDelegateSBMLConverter_7 (IntPtr props)
 
delegate IntPtr SwigDelegateSBMLConverter_8 ()
 
delegate int SwigDelegateSBMLConverter_9 ()
 

Static Public Member Functions

static void init ()
 

Protected Attributes

bool swigCMemOwn
 

Constructor & Destructor Documentation

libsbmlcs.SBMLRuleConverter.SBMLRuleConverter ( )

Creates a new SBMLLevelVersionConverter object.

libsbmlcs.SBMLRuleConverter.SBMLRuleConverter ( SBMLRuleConverter  obj)

Copy constructor; creates a copy of an SBMLLevelVersionConverter object.

Parameters
objthe SBMLLevelVersionConverter object to copy.

Member Function Documentation

SBMLConverter libsbmlcs.SBMLRuleConverter.clone ( )

Creates and returns a deep copy of this SBMLLevelVersionConverter object.

Returns
a (deep) copy of this converter.
int libsbmlcs.SBMLRuleConverter.convert ( )

Perform the conversion.

This method causes the converter to do the actual conversion work, that is, to convert the SBMLDocument object set by SBMLConverter::setDocument() and with the configuration options set by SBMLConverter::setProperties().

Returns
integer value indicating the success/failure of the operation. The possible values are:
override void libsbmlcs.SBMLRuleConverter.Dispose ( )
virtual

Reimplemented from libsbmlcs.SBMLConverter.

ConversionProperties libsbmlcs.SBMLRuleConverter.getDefaultProperties ( )

Returns the default properties of this converter.

A given converter exposes one or more properties that can be adjusted in order to influence the behavior of the converter. This method returns the default property settings for this converter. It is meant to be called in order to discover all the settings for the converter object.

Returns
the ConversionProperties object describing the default properties for this converter.
SBMLDocument libsbmlcs.SBMLConverter.getDocument ( )
inherited

Returns the SBML document that is the subject of the conversions.

Returns
the current SBMLDocument object.
ConversionProperties libsbmlcs.SBMLConverter.getProperties ( )
inherited

Returns the current properties in effect for this converter.

A given converter exposes one or more properties that can be adjusted in order to influence the behavior of the converter. This method returns the current properties for this converter; in other words, the settings in effect at this moment. To change the property values, you can use SBMLConverter::setProperties(ConversionProperties props).

Returns
the currently set configuration properties.
See Also
setProperties()
matchesProperties()
SBMLNamespaces libsbmlcs.SBMLConverter.getTargetNamespaces ( )
inherited

Returns the target SBML namespaces of the currently set properties.

SBML namespaces are used by libSBML to express the Level+Version of the SBML document (and, possibly, any SBML Level 3 packages in use). Some converters' behavior is affected by the SBML namespace configured in the converter. For example, the actions of SBMLLevelVersionConverter, the converter for converting SBML documents from one Level+Version combination to another, are fundamentally dependent on the SBML namespaces being targeted.

Returns
the SBMLNamespaces object that describes the SBML namespaces in effect.
static void libsbmlcs.SBMLRuleConverter.init ( )
static
bool libsbmlcs.SBMLRuleConverter.matchesProperties ( ConversionProperties  props)

Returns true if this converter object's properties match the given properties.

A typical use of this method involves creating a ConversionProperties object, setting the options desired, and then calling this method on an SBMLLevelVersionConverter object to find out if the object's property values match the given ones. This method is also used by SBMLConverterRegistry::getConverterFor() to search across all registered converters for one matching particular properties.

Parameters
propsthe properties to match.
Returns
true if this converter's properties match, false otherwise.
int libsbmlcs.SBMLConverter.setDocument ( SBMLDocument  doc)
inherited

Sets the current SBML document to the given SBMLDocument object.

Parameters
docthe document to use for this conversion.
Returns
integer value indicating the success/failure of the operation. The set of possible values that may be returned ultimately depends on the specific subclass of SBMLConverter being used, but the default method can return the following values:
int libsbmlcs.SBMLConverter.setProperties ( ConversionProperties  props)
inherited

Sets the configuration properties to be used by this converter.

A given converter exposes one or more properties that can be adjusted in order to influence the behavior of the converter. This method sets the current properties for this converter.

Parameters
propsthe ConversionProperties object defining the properties to set.
Returns
integer value indicating the success/failure of the operation. The set of possible values that may be returned ultimately depends on the specific subclass of SBMLConverter being used, but the default method can return the following values:
See Also
getProperties()
matchesProperties()
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_0 ( )
inherited
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_1 ( )
inherited
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_2 ( )
inherited
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_3 ( )
inherited
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_4 ( )
inherited
delegate bool libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_5 ( IntPtr  props)
inherited
delegate int libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_6 ( IntPtr  doc)
inherited
delegate int libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_7 ( IntPtr  props)
inherited
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_8 ( )
inherited
delegate int libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_9 ( )
inherited

Member Data Documentation

bool libsbmlcs.SBMLConverter.swigCMemOwn
protectedinherited