This repository contains a re-implementation of the EuroMix PBK model in Antimony and demonstrates how this Antimony model implementation is automatically converted to an annotated Systems Biology Markup Language (SBML) file using the SBML PBK workflow. The purpose of this repository is to test/demonstrate how to create and publish interoperable PBK models using the EuroMix PBK model as example.
The model was reimplemented in Antimony, see file euromix.ant.
Notebook validate_antimony_model.ipynb shows the results of the validation comparison with the results obtained by the R/MCSim/deSolve implementation. The results of the R simulation and the SBML simulation (using libroadrunner in Python) match. Note that the libRoadRunner engine that is used for the python simulations returns concentrations, also if a species is declared to be substanceOnly
. Therefore it is necessary to convert the output to amounts by multiplying the concentration with volume of the compartment the species is placed in in order to obtain amounts.
Annotations of the model and its element are specified in the file euromix.annotations.csv. This annotations file links the different model elements (e.g., compartments and parameters) to ontological terms and specifies the units of measure. For the annotations of modelling terms, the PBPK ontology is used. For the annotation of the units of measure, the UCUM notation is adopted.
Conversion to an annotated SBML file is done automatically using the SBML PBK workflow. This workflow follows several steps. It first converts the Antimony model implementation to SBML. Then, it annotates this SBML file using the annotations specified in the euromix.annotations.csv file. After this, it runs validation scripts on the generated SBML file to check for consistency and completeness (e.g, of the units). Finally, it publishes the generated SBML file (and log files) as build artifacts and adds/updates the generated/updated SBML file (euromix.sbml) in this repository.
Notebook get_sbml_model_info.ipynb shows how information can be retrieved from the annotated SBML model file (e.g., units, differential equations, diagrams, semantic annotations). Notebook run_sbml_model.ipynb demonstrates how to run the SBML model.
To run the Jupyter notebook, install Jupyter notebook and the the required python packages.
Install notebook, using the command:
pip install notebook
Install the required python packages using the command:
pip install -r requirements.txt