Set of configuration option values for a converter.
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.
LibSBML provides a number of converters that can perform transformations on SBML documents. The properties of SBML converters are communicated using objects of class ConversionProperties, and within such objects, individual options are encapsulated using ConversionOption objects. The ConversionProperties class provides numerous methods for setting and getting options.
ConversionProperties objects are also used to determine the target SBML namespace when an SBML converter's behavior depends on the intended Level+Version combination of SBML. In addition, it is conceivable that conversions may be affected by SBML Level 3 packages being used by an SBML document; consequently, the packages in use are also communicated by the values of the SBML namespaces set on a ConversionProperties object.
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 argument: 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:
int status = document->
convert(props);
{
cerr << "Unable to perform conversion due to the following:" << endl;
}
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:
int status = document->
convert(props);
{
cerr << "Unable to strip the Layout package from the model";
cerr << "Error returned: " << status;
}
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.18.0:
-
- See also
- ConversionOption
-
SBMLNamespaces
- Examples:
- convertCobraToFbc.cpp, convertFbcToCobra.cpp, convertLayout.cpp, flattenModel.cpp, inlineFunctionDefintions.cpp, promoteParameters.cpp, and stripPackage.cpp.
|
virtual void | addOption (const ConversionOption &option) |
| Adds a copy of the given option to this properties object. More...
|
|
virtual void | addOption (const std::string &key, const std::string value="", ConversionOptionType_t type=CNV_TYPE_STRING, const std::string description="") |
| Adds a new ConversionOption object with the given parameters. More...
|
|
virtual void | addOption (const std::string &key, const char *value, const std::string description="") |
| Adds a new ConversionOption object with the given parameters. More...
|
|
virtual void | addOption (const std::string &key, bool value, const std::string description="") |
| Adds a new ConversionOption object with the given parameters. More...
|
|
virtual void | addOption (const std::string &key, double value, const std::string description="") |
| Adds a new ConversionOption object with the given parameters. More...
|
|
virtual void | addOption (const std::string &key, float value, const std::string description="") |
| Adds a new ConversionOption object with the given parameters. More...
|
|
virtual void | addOption (const std::string &key, int value, const std::string description="") |
| Adds a new ConversionOption object with the given parameters. More...
|
|
virtual ConversionProperties * | clone () const |
| Creates and returns a deep copy of this ConversionProperties object. More...
|
|
| ConversionProperties (SBMLNamespaces *targetNS=NULL) |
| Constructor that initializes the conversion properties with a specific SBML target namespace. More...
|
|
| ConversionProperties (const ConversionProperties &orig) |
| Copy constructor. More...
|
|
virtual bool | getBoolValue (const std::string &key) const |
| Returns the value of the given option as a Boolean. More...
|
|
virtual const std::string & | getDescription (const std::string &key) const |
| Returns the description string for a given option in this properties object. More...
|
|
virtual double | getDoubleValue (const std::string &key) const |
| Returns the value of the given option as a double . More...
|
|
virtual float | getFloatValue (const std::string &key) const |
| Returns the value of the given option as a float . More...
|
|
virtual int | getIntValue (const std::string &key) const |
| Returns the value of the given option as an integer. More...
|
|
virtual int | getNumOptions () const |
| Returns the number of options in this Conversion Properties object. More...
|
|
virtual ConversionOption * | getOption (const std::string &key) const |
| Returns the ConversionOption object for a given key. More...
|
|
virtual ConversionOption * | getOption (int index) const |
| Returns the ConversionOption object for the given index . More...
|
|
virtual SBMLNamespaces * | getTargetNamespaces () const |
| Returns the current target SBML namespace. More...
|
|
virtual ConversionOptionType_t | getType (const std::string &key) const |
| Returns the type of a given option in this properties object. More...
|
|
virtual const std::string & | getValue (const std::string &key) const |
| Returns the value of the given option as a string. More...
|
|
virtual bool | hasOption (const std::string &key) const |
| Returns true if this properties object contains an option with the given key. More...
|
|
virtual bool | hasTargetNamespaces () const |
| Returns true if the target SBML namespace has been set. More...
|
|
ConversionProperties & | operator= (const ConversionProperties &rhs) |
| Assignment operator for conversion properties. More...
|
|
virtual ConversionOption * | removeOption (const std::string &key) |
| Removes the option with the given key from this properties object. More...
|
|
virtual void | setBoolValue (const std::string &key, bool value) |
| Sets the value of the given option to a Boolean. More...
|
|
virtual void | setDoubleValue (const std::string &key, double value) |
| Sets the value of the given option to a double . More...
|
|
virtual void | setFloatValue (const std::string &key, float value) |
| Sets the value of the given option to a float . More...
|
|
virtual void | setIntValue (const std::string &key, int value) |
| Sets the value of the given option to an integer. More...
|
|
virtual void | setTargetNamespaces (SBMLNamespaces *targetNS) |
| Sets the target namespace. More...
|
|
virtual void | setValue (const std::string &key, const std::string &value) |
| Sets the value of the given option to a string. More...
|
|
virtual | ~ConversionProperties () |
| Destructor. More...
|
|