Other SBML related Julia packages
There are currently three additional SBML related packages in Julia. SBML.jl wraps a subset of the libSBML functionality and is used by SBMLImporter and other SBML related packages for parsing SBML models. COBREXA.jl is designed for constraint-based metabolic modeling. Constraint-based models, which are often referred to as flux-balance analysis (FBA) models, are not supported by SBMLImporter., thus for FBA models we recommend COBREXA.
Lastly, SBMLToolkit.jl similarly to SBMLImporter imports dynamic models into a ReactionSystem
. However, we recommend SBMLImporter due to the following key differences:
SBMLToolkit works with (and transforms) species to be in amount. SBMLImporter supports species units to be either amount or concentration.
SBMLImporter has wider event support, including events with directionality. It further processes events without species in the trigger into a
DiscreteCallback
, making simulations more efficient.SBMLImporter rewrites SBML piecewise expressions to callbacks if possible instead of using
ifelse
, this improves simulation stability and reduces simulation runtime.When possible, SBMLImporter converts reactions to so-called
MassActionJump
s. This greatly improve performance for most Jump simulations.SBMLImporter has more extensive SBML support, passing more tests in the SBML test-suite. It is further the SBML importer for PEtab.jl, which regularly tests against several published models of various sizes.