Julia Importer for SBML models
SBMLImporter is a Julia package for importing dynamic Systems Biology Markup Language (SBML) models into either a JumpProblem
for Gillespie simulations, a SDEProblem
for chemical Langevin simulations, or an ODEProblem
for deterministic simulations. Some major highlights of SBMLImporter are:
- It imports models into a Catalyst.jl
ReactionSystem
. This allows for easy conversion to aJumpProblem
, aSDEProblem
, or anODEProblem
. - It supports a majority of SBML features, such as dynamic compartments, events, rules, piecewise (ifelse) expressions, and units.
- It is thoroughly tested against both the SBML test suite and a large collection of published models.
- It integrates with PEtab.jl for fitting SBML models to data.
Additional information on features and tutorials can be found in the documentation.
There are currently three other 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.
- SBMLToolkit.jl is the most similar package to SBMLImporter as it imports an SBML model into a
ReactionSystem
. Still, we recommend to use SBMLImporter as it supports more SBML features, has more efficient event handling, and supports efficientJumpProblem
(Gillespie) simulations. An extensive list of differences can be found in the documentation.
We will soon publish a paper you can cite if you found SBMLImporter helpful in your work.