Julia Importer for SBML models
Tutorial | Documentation | Contributing
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.
Major features are:
- Imports an SBML models into a Catalyst.jl
ReactionSystem. This allows for easy conversion to aJumpProblem, aSDEProblem, or anODEProblem. - Support for a majority of SBML features, such as dynamic compartments, events, rules,
piecewise (
ifelse) expressions, and units. - Thoroughly tested against both the SBML test suite and a large collection of published models.
- Integrates with PEtab.jl for parameter estimating SBML models.
SBMLImporter is a registered Julia package and can be installed with the Julia package manager using:
julia> import Pkg; Pkg.add("SBMLImporter")SBMLImporter is compatible with Julia 1.10 and above. For additional installation details, see 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.
If you use SBMLImporter in work that is published, please cite the paper below:
@article{PEtabBioinformatics2025,
title={PEtab.jl: advancing the efficiency and utility of dynamic modelling},
author={Persson, Sebastian and Fr{\"o}hlich, Fabian and Grein, Stephan and Loman, Torkel and Ognissanti, Damiano and Hasselgren, Viktor and Hasenauer, Jan and Cvijovic, Marija},
journal={Bioinformatics},
volume={41},
number={9},
pages={btaf497},
year={2025},
publisher={Oxford University Press}
}