libSBML C# API  libSBML 5.12.0 C# API
libsbmlcs.SBMLConverter Class Reference
Inheritance diagram for libsbmlcs.SBMLConverter:
[legend]

Detailed Description

{core}

Base class for SBML converters.

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.

The SBMLConverter class is the base class for the various SBML converters: classes of objects that transform or convert SBML documents. These transformations can involve essentially anything that can be written algorithmically; examples include converting the units of measurement in a model, or converting from one Level+Version combination of SBML to another. Applications can also create their own converters by subclassing SBMLConverter and following the examples of the existing converters.

General information about the use of SBML converters

The use of all the converters follows a similar approach. First, one creates a ConversionProperties object and calls ConversionProperties::addOption() on this object with one arguments: a text string that identifies the desired converter. (The text string is specific to each converter; consult the documentation for a given converter to find out how it should be enabled.)

Next, for some converters, the caller can optionally set some converter-specific properties using additional calls to ConversionProperties::addOption(). Many converters provide the ability to configure their behavior to some extent; this is realized through the use of properties that offer different options. The default property values for each converter can be interrogated using the method SBMLConverter::getDefaultProperties() on the converter class in question .

Finally, the caller should invoke the method SBMLDocument::convert() with the ConversionProperties object as an argument.

Example of invoking an SBML converter

The following code fragment illustrates an example using SBMLReactionConverter, which is invoked using the option string 'replaceReactions':

In the case of SBMLReactionConverter, there are no options to affect its behavior, so the next step is simply to invoke the converter on an SBMLDocument object. Continuing the example code:

Here is an example of using a converter that offers an option. The following code invokes SBMLStripPackageConverter to remove the SBML Level 3 Layout package from a model. It sets the name of the package to be removed by adding a value for the option named 'package' defined by that converter:

Available SBML converters in libSBML

LibSBML provides a number of built-in converters; by convention, their names end in Converter. The following are the built-in converters provided by libSBML 5.12.0 :

Public Member Functions

new SBMLConverter clone ()
 Creates and returns a deep copy of this SBMLConverter object. More...
 
virtual int convert ()
 Perform the conversion. More...
 
virtual void Dispose ()
 
virtual ConversionProperties getDefaultProperties ()
 Returns the default properties of this converter. More...
 
new SBMLDocument getDocument ()
 Returns the SBML document that is the subject of the conversions. More...
 
string getName ()
 Returns the name of this converter. More...
 
virtual ConversionProperties getProperties ()
 Returns the current properties in effect for this converter. More...
 
virtual SBMLNamespaces getTargetNamespaces ()
 Returns the target SBML namespaces of the currently set properties. More...
 
virtual bool matchesProperties (ConversionProperties props)
 Returns true if this converter matches the given properties. More...
 
 SBMLConverter ()
 Creates a new SBMLConverter object. More...
 
 SBMLConverter (string name)
 Creates a new SBMLConverter object with a given name. More...
 
 SBMLConverter (SBMLConverter orig)
 Copy constructor. More...
 
virtual int setDocument (SBMLDocument doc)
 Sets the SBML document to be converted. More...
 
virtual 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 ()
 

Protected Attributes

bool swigCMemOwn
 

Constructor & Destructor Documentation

libsbmlcs.SBMLConverter.SBMLConverter ( )

Creates a new SBMLConverter object.

libsbmlcs.SBMLConverter.SBMLConverter ( string  name)

Creates a new SBMLConverter object with a given name.

Parameters
namethe name for the converter to create
libsbmlcs.SBMLConverter.SBMLConverter ( SBMLConverter  orig)

Copy constructor.

This creates a copy of an SBMLConverter object.

Parameters
origthe SBMLConverter object to copy.

Member Function Documentation

new SBMLConverter libsbmlcs.SBMLConverter.clone ( )

Creates and returns a deep copy of this SBMLConverter object.

Returns
the (deep) copy of this SBMLConverter object.
virtual int libsbmlcs.SBMLConverter.convert ( )
virtual

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 set of possible values that may be returned depends on the converter subclass; please consult the documentation for the relevant class to find out what the possibilities are.

Reimplemented in libsbmlcs.SBMLInitialAssignmentConverter, libsbmlcs.SBMLLevel1Version1Converter, libsbmlcs.SBMLLevelVersionConverter, libsbmlcs.SBMLRuleConverter, libsbmlcs.SBMLIdConverter, libsbmlcs.SBMLFunctionDefinitionConverter, libsbmlcs.SBMLStripPackageConverter, libsbmlcs.SBMLUnitsConverter, libsbmlcs.SBMLLocalParameterConverter, libsbmlcs.SBMLReactionConverter, and libsbmlcs.SBMLInferUnitsConverter.

virtual ConversionProperties libsbmlcs.SBMLConverter.getDefaultProperties ( )
virtual

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. The run-time properties of the converter object can be adjusted by using the method SBMLConverter::setProperties(ConversionProperties props).

Returns
the default properties for the converter.
See also
setProperties()
matchesProperties()

Reimplemented in libsbmlcs.SBMLInitialAssignmentConverter, libsbmlcs.SBMLLevel1Version1Converter, libsbmlcs.SBMLLevelVersionConverter, libsbmlcs.SBMLRuleConverter, libsbmlcs.SBMLIdConverter, libsbmlcs.SBMLFunctionDefinitionConverter, libsbmlcs.SBMLStripPackageConverter, libsbmlcs.SBMLUnitsConverter, libsbmlcs.SBMLLocalParameterConverter, libsbmlcs.SBMLReactionConverter, and libsbmlcs.SBMLInferUnitsConverter.

new SBMLDocument libsbmlcs.SBMLConverter.getDocument ( )

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

Returns
the current SBMLDocument object.
string libsbmlcs.SBMLConverter.getName ( )

Returns the name of this converter.

Returns
a string, the name of this converter.
virtual ConversionProperties libsbmlcs.SBMLConverter.getProperties ( )
virtual

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()
virtual SBMLNamespaces libsbmlcs.SBMLConverter.getTargetNamespaces ( )
virtual

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, in SBMLLevelVersionConverter (the converter for converting SBML documents from one Level+Version combination to another), the actions are fundamentally dependent on the SBML namespaces targeted.

Returns
the SBMLNamespaces object that describes the SBML namespaces in effect, or null if none are set.
virtual bool libsbmlcs.SBMLConverter.matchesProperties ( ConversionProperties  props)
virtual

Returns true if this converter matches the given properties.

Given a ConversionProperties object props, this method checks that props possesses an option value to enable this converter. If it does, this method returns true.

Parameters
propsthe properties to match.
Returns
true if the properties props would match the necessary properties for this type of converter, false otherwise.

Reimplemented in libsbmlcs.SBMLInitialAssignmentConverter, libsbmlcs.SBMLRuleConverter, libsbmlcs.SBMLLevelVersionConverter, libsbmlcs.SBMLLevel1Version1Converter, libsbmlcs.SBMLIdConverter, libsbmlcs.SBMLFunctionDefinitionConverter, libsbmlcs.SBMLStripPackageConverter, libsbmlcs.SBMLUnitsConverter, libsbmlcs.SBMLLocalParameterConverter, libsbmlcs.SBMLReactionConverter, and libsbmlcs.SBMLInferUnitsConverter.

virtual int libsbmlcs.SBMLConverter.setDocument ( SBMLDocument  doc)
virtual

Sets the SBML document to be converted.

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:

Reimplemented in libsbmlcs.SBMLReactionConverter.

virtual int libsbmlcs.SBMLConverter.setProperties ( ConversionProperties  props)
virtual

Sets the configuration properties to be used by 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 ( )
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_1 ( )
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_2 ( )
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_3 ( )
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_4 ( )
delegate bool libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_5 ( IntPtr  props)
delegate int libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_6 ( IntPtr  doc)
delegate int libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_7 ( IntPtr  props)
delegate IntPtr libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_8 ( )
delegate int libsbmlcs.SBMLConverter.SwigDelegateSBMLConverter_9 ( )

Member Data Documentation

bool libsbmlcs.SBMLConverter.swigCMemOwn
protected