yaml2sbml
is a small package in Python to convert an ODE model specified in a YAML file into
SBML for ODE simulation and into
PEtab for parameter fitting. yaml2sbml
offers:
- a translator of ODE models specified in YAML into SBML/PEtab via a Python and a command-line interface;
- a format validator for the input YAML; and
- a model editor, which provides a simplified interface to generate, import and export YAML models.
yaml2sbml
can be installed from PyPI with
pip install yaml2sbml
For more info see the docs.
-
The documentation of the tool is hosted on Read the Docs.
-
The format documentation describes the input YAML.
-
Jupyter notebooks containing examples can be found under
doc/examples
. Most notably:- Lotka_Volterra.ipynb showing the Python package,
- Lotka_Volterra_CLI.ipynb showing the command-line interface, and
- Lotka_Volterra_Model_Editor.ipynb demonstrates the Model Editor.
A YAML model can be translated to SBML/PEtab in Python via
import yaml2sbml
# SBML conversion
yaml2sbml.yaml2sbml(yaml_dir, sbml_dir)
#PEtab conversion
yaml2sbml.yaml2petab(yaml_dir,
output_dir,
sbml_name)
and in the command-line via
# SBML conversion
yaml2sbml <yaml_dir> <sbml_dir>
#PEtab conversion
yaml2petab <yaml_dir> <output_dir> <sbml_name>
Format validation is possible in Python via yaml2sbml.validate_yaml
and in the command-line via yaml2sbml_validate
.
yaml2sbml
is published in the Journal of Open Source Software.
When using yaml2sbml
in your project, please cite
- Vanhoefer J., Matos, M. R. A., Pathirana, D., Schälte, Y. and Hasenauer, J. (2021). yaml2sbml: Human-readable and -writable specification of ODE models and their conversion to SBML. Journal of Open Source Software, 6(61), 3215, https://doi.org/10.21105/joss.03215
@article{Vanhoefer2021,
doi = {10.21105/joss.03215},
url = {https://doi.org/10.21105/joss.03215},
year = {2021},
publisher = {The Open Journal},
volume = {6},
number = {61},
pages = {3215},
author = {Jakob Vanhoefer and Marta R. A. Matos and Dilan Pathirana and Yannik Schälte and Jan Hasenauer},
title = {yaml2sbml: Human-readable and -writable specification of ODE models and their conversion to SBML},
journal = {Journal of Open Source Software}
}
If you have a question regarding the tool: Please drop us an issue or a mail, we are happy to help.