Source code for sbmlutils.converters.xpp_examples

"""Test xpp file.

This requires roadrunner.
```
pip install libroadrunner
```
"""
from pathlib import Path

import roadrunner
from matplotlib import pyplot as plt

from sbmlutils.converters import xpp


[docs]def example(model_id: str) -> None: """XPP example conversion.""" # convert xpp to sbml xpp_dir = Path(__file__).parent / "xpp_example" out_dir = xpp_dir / "results" xpp_file = xpp_dir / f"{model_id}.ode" sbml_file = out_dir / f"{model_id}.xml" xpp.xpp2sbml(xpp_file=xpp_file, sbml_file=sbml_file) # tests simulation r = roadrunner.RoadRunner(str(sbml_file)) s = r.simulate(start=0, end=1000, steps=100) fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(14, 7)) axes = (ax1, ax2) for ax in axes: for sid in r.timeCourseSelections[1:]: ax.plot(s["time"], s[sid], label=sid) ax2.set_yscale("log") for ax in axes: ax.set_ylabel("Value [?]") ax.set_xlabel("Time [?]") ax.legend() fig.savefig(out_dir / f"{model_id}.png", bbox_inches="tight")
if __name__ == "__main__": # example(model_id="112836_HH-ext") # example(model_id="SkM_AP_KCa") example(model_id="PLoSCompBiol_Fig1")