What Is SBML?
Systems Biology Markup Language (SBML) is a standard format for sharing systems biology models among various modeling and simulation software tools. The current specification is available here.
Importing from SBML Files
Import an SBML model from a file or URL using
SimBiology® supports a subset of the SBML level 3 version 1 specification. The following SBML features are not imported into the SimBiology model:
Piecewise kinetics — Models with piecewise kinetics are loaded, but the definitions for piecewise kinetics are ignored.
MATLAB® incompatible variable names in
UnitDefinition— Models that have variable names incompatible with MATLAB in
UnitDefinitionare not loaded and an error message is displayed.
hasOnlySubstanceUnitsattribute does not have a corresponding property in the SimBiology species object. Instead, if the species has no units, SimBiology uses the
DefaultSpeciesDimensionproperty to determine whether to interpret species names in expressions as substance amounts or concentrations. When you set
substanceand do not specify units, SimBiology interprets species names as substance amounts and does not scale by any compartment capacity (volume). When the property is set to
concentration, species names are interpreted as concentrations and are scaled by the appropriate compartment capacity. SimBiology does not let you set the initial value of a species as concentration or substance amount independently of how you refer to it in expressions. To provide better compatibility with SBML models having this attribute, SimBiology adds an initial assignment rule or appropriate units during the import process. For details, see the Compatibility Considerations section of
Models containing other models as submodels are loaded but submodels are ignored.
fastattribute of any reaction object is ignored.
persistentattributes of event objects are ignored.
ANDlogical operators having three or more arguments are not supported. They are supported for binary operations only.
Read-Only Support for Function Definitions
You can import SBML models with function definitions. SimBiology replaces the function definitions with the corresponding mathematical expressions.
Support for Reaction IDs
You can also load SBML models that use reaction IDs to reference reaction rates in mathematical expressions. SimBiology replaces the references with the corresponding reaction rates.
Exporting a SimBiology Model to SBML Format
SimBiology Features Supported by SBML
The following SimBiology model information is included in the SBML format file:
Compartments, species, parameters, reactions, rules, and events that are defined in the model and have their
Activeproperty set to
All unit definitions in SBML-compliant format.
Model component properties with SBML equivalents, such as notes, and unit values for species and parameters.
The reaction rate equation, but not the kinetic law definition.
SimBiology and MATLAB Features Not Supported by SBML
Not all SimBiology and MATLAB features are supported by SBML. If your model contains any of those features, SimBiology issues corresponding warnings during the model export. The following SimBiology features are not supported and are not included in the saved SBML format file.
Projects — Models, analysis programs, and data.
Kinetic law information — SimBiology models store kinetic law information such as the kinetic law name and a kinetic law definition.
Variant information — Collections of quantities (compartments, species, and/or parameters) that you can use to alter a model's initial or base configuration.
Dosing information — Exogenous increments to the amount (or concentration) of a species in a model.
Custom MATLAB function files — Custom functions that you used in your SimBiology model.
Features and properties specific to SimBiology software, such as Name (of
Ruleobjects only), Tag, and Active.
Some MATLAB features — Some of the MATLAB features and language constructs are not supported. For example, elementwise operations, such as
./, character vector such as
'drug', string such as
"drug", empty bracket
are not supported.
Because the previous information is not supported by SBML, we recommend saving as a
SimBiology project file (
.sbproj) to capture this