Source code for sbmlsim.examples.experiments.midazolam.simulate

"""
Run some example experiments.
"""
from pathlib import Path
from typing import Type

from sbmlsim.combine.sedml.parser import SEDMLSerializer
from sbmlsim.combine.sedml.runner import execute_sedml
from sbmlsim.examples.experiments.midazolam.experiments.kupferschmidt1995 import (
    Kupferschmidt1995,
)
from sbmlsim.examples.experiments.midazolam.experiments.mandema1992 import Mandema1992
from sbmlsim.experiment import ExperimentRunner, SimulationExperiment
from sbmlsim.report.experiment_report import ExperimentReport, ReportResults
from sbmlsim.simulator import SimulatorSerialRR


[docs]def run_midazolam_experiments(output_path: Path) -> None: """Run midazolam simulation experiments.""" base_path = Path(__file__).parent runner = ExperimentRunner( [ Mandema1992, Kupferschmidt1995, ], simulator=SimulatorSerialRR(), base_path=base_path, data_path=base_path / "data", ) results = runner.run_experiments(output_path=output_path, show_figures=True) report_results = ReportResults() for exp_result in results: report_results.add_experiment_result(exp_result=exp_result) report = ExperimentReport(report_results) report.create_report(output_path=base_path / "results")
if __name__ == "__main__":
[docs] output_path = Path(__file__).parent / "results"
# run_midazolam_experiments(output_path) exp_class: Type[SimulationExperiment] for exp_class in [Kupferschmidt1995]: # [Mandema1992, Kupferschmidt1995]: # serialize to SED-ML/OMEX archive omex_path = Path(__file__).parent / "results" / f"{exp_class.__name__}.omex" serializer = SEDMLSerializer( exp_class=exp_class, working_dir=output_path / "omex", sedml_filename=f"{exp_class.__name__}_sedml.xml", omex_path=omex_path, data_path=Path(__file__).parent / "data", ) # execute OMEX archive execute_sedml( path=omex_path, working_dir=output_path / "sbmlsim_omex", output_path=output_path / "sbmlsim_omex", )