SBML Support
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.
Import from SBML Files
Import an SBML model from a file or URL using sbmlimport
.
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 inUnitDefinition
are not loaded and an error message is displayed.The
hasOnlySubstanceUnits
attribute does not have a corresponding property in the SimBiology species object. Instead, if the species has no units, SimBiology uses the DefaultSpeciesDimension property to determine whether to interpret species names in expressions as substance amounts or concentrations. When you setDefaultSpeciesDimension
tosubstance
and 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 toconcentration
, 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 Version History section ofsbmlimport
.Models containing other models as submodels are loaded but submodels are ignored.
The
fast
attribute of any reaction object is ignored.The
delay
,priority
,initialValue
,persistent
, anduseValuesFromTriggerTime
attributes of event objects are ignored.XOR
,OR
, andAND
logical operators having three or more arguments are not supported. They are supported for binary operations only.The constraints and conversion factors are not supported.
If there is any rule that determines a stoichiometric coefficient, the rule is imported with a warning that says
Rule variable <identifier> does not refer to any object in the model
.
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.
Export 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
Active
property set totrue
.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
Rule
objects 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.
Tip
With respect to the BoundaryCodition and ConstantValue properties of a species, SimBiology is more permissive than the SBML standard. In SimBiology, a constant species with
BoundaryCondition
set tofalse
can participate in a reaction. In this case, the species value is held constant during simulation, even if the net stoichiometry is non-zero. To be compliant with the SBML standard in this situation, set speciesBoundaryCondition
totrue
.If your models use any of these features not supported by SBML, save your work as a SimBiology project file (
.sbproj
) to capture such information.