From ca54880f1df06bf0c39fc2626c55a6661eb5a81b Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Tue, 28 Feb 2023 17:29:10 +0100 Subject: [PATCH] Add test cases for PEtab v2.0.0 (#53) including test cases for multilanguage proposal https://github.com/PEtab-dev/PEtab/pull/538 --- .ci_pip_reqs.txt | 2 +- .github/workflows/ci_tests.yml | 4 +- petabtests/C.py | 2 - petabtests/cases/sbml | 1 - .../cases/{ => v1.0.0/sbml}/0001/0001.py | 0 .../cases/{ => v1.0.0/sbml}/0001/README.md | 0 .../cases/{ => v1.0.0/sbml}/0001/_0001.yaml | 0 .../sbml}/0001/_0001_solution.yaml | 0 .../{ => v1.0.0/sbml}/0001/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0001/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0001/_model.xml | 0 .../{ => v1.0.0/sbml}/0001/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0001/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0001/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0002/0002.py | 0 .../cases/{ => v1.0.0/sbml}/0002/README.md | 0 .../cases/{ => v1.0.0/sbml}/0002/_0002.yaml | 0 .../sbml}/0002/_0002_solution.yaml | 0 .../{ => v1.0.0/sbml}/0002/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0002/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0002/_model.xml | 0 .../{ => v1.0.0/sbml}/0002/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0002/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0002/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0003/0003.py | 0 .../cases/{ => v1.0.0/sbml}/0003/README.md | 0 .../cases/{ => v1.0.0/sbml}/0003/_0003.yaml | 0 .../sbml}/0003/_0003_solution.yaml | 0 .../{ => v1.0.0/sbml}/0003/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0003/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0003/_model.xml | 0 .../{ => v1.0.0/sbml}/0003/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0003/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0003/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0004/0004.py | 0 .../cases/{ => v1.0.0/sbml}/0004/README.md | 0 .../cases/{ => v1.0.0/sbml}/0004/_0004.yaml | 0 .../sbml}/0004/_0004_solution.yaml | 0 .../{ => v1.0.0/sbml}/0004/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0004/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0004/_model.xml | 0 .../{ => v1.0.0/sbml}/0004/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0004/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0004/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0005/0005.py | 0 .../cases/{ => v1.0.0/sbml}/0005/README.md | 0 .../cases/{ => v1.0.0/sbml}/0005/_0005.yaml | 0 .../sbml}/0005/_0005_solution.yaml | 0 .../{ => v1.0.0/sbml}/0005/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0005/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0005/_model.xml | 0 .../{ => v1.0.0/sbml}/0005/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0005/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0005/_simulations.tsv | 0 .../sbml}/0005/conversion_modified.xml | 0 .../cases/{ => v1.0.0/sbml}/0006/0006.py | 0 .../cases/{ => v1.0.0/sbml}/0006/README.md | 0 .../cases/{ => v1.0.0/sbml}/0006/_0006.yaml | 0 .../sbml}/0006/_0006_solution.yaml | 0 .../{ => v1.0.0/sbml}/0006/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0006/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0006/_model.xml | 0 .../{ => v1.0.0/sbml}/0006/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0006/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0006/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0007/0007.py | 0 .../cases/{ => v1.0.0/sbml}/0007/README.md | 0 .../cases/{ => v1.0.0/sbml}/0007/_0007.yaml | 0 .../sbml}/0007/_0007_solution.yaml | 0 .../{ => v1.0.0/sbml}/0007/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0007/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0007/_model.xml | 0 .../{ => v1.0.0/sbml}/0007/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0007/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0007/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0008/0008.py | 0 .../cases/{ => v1.0.0/sbml}/0008/README.md | 0 .../cases/{ => v1.0.0/sbml}/0008/_0008.yaml | 0 .../sbml}/0008/_0008_solution.yaml | 0 .../{ => v1.0.0/sbml}/0008/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0008/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0008/_model.xml | 0 .../{ => v1.0.0/sbml}/0008/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0008/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0008/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0009/0009.py | 0 .../cases/{ => v1.0.0/sbml}/0009/README.md | 0 .../cases/{ => v1.0.0/sbml}/0009/_0009.yaml | 0 .../sbml}/0009/_0009_solution.yaml | 0 .../{ => v1.0.0/sbml}/0009/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0009/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0009/_model.xml | 0 .../{ => v1.0.0/sbml}/0009/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0009/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0009/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0010/0010.py | 0 .../cases/{ => v1.0.0/sbml}/0010/README.md | 0 .../cases/{ => v1.0.0/sbml}/0010/_0010.yaml | 0 .../sbml}/0010/_0010_solution.yaml | 0 .../{ => v1.0.0/sbml}/0010/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0010/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0010/_model.xml | 0 .../{ => v1.0.0/sbml}/0010/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0010/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0010/_simulations.tsv | 0 .../sbml}/0010/conversion_modified.xml | 0 .../cases/{ => v1.0.0/sbml}/0011/0011.py | 0 .../cases/{ => v1.0.0/sbml}/0011/README.md | 0 .../cases/{ => v1.0.0/sbml}/0011/_0011.yaml | 0 .../sbml}/0011/_0011_solution.yaml | 0 .../{ => v1.0.0/sbml}/0011/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0011/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0011/_model.xml | 0 .../{ => v1.0.0/sbml}/0011/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0011/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0011/_simulations.tsv | 0 .../sbml}/0011/conversion_modified.xml | 0 .../cases/{ => v1.0.0/sbml}/0012/0012.py | 0 .../cases/{ => v1.0.0/sbml}/0012/README.md | 0 .../cases/{ => v1.0.0/sbml}/0012/_0012.yaml | 0 .../sbml}/0012/_0012_solution.yaml | 0 .../{ => v1.0.0/sbml}/0012/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0012/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0012/_model.xml | 0 .../{ => v1.0.0/sbml}/0012/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0012/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0012/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0013/0013.py | 0 .../cases/{ => v1.0.0/sbml}/0013/README.md | 0 .../cases/{ => v1.0.0/sbml}/0013/_0013.yaml | 0 .../sbml}/0013/_0013_solution.yaml | 0 .../{ => v1.0.0/sbml}/0013/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0013/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0013/_model.xml | 0 .../{ => v1.0.0/sbml}/0013/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0013/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0013/_simulations.tsv | 0 .../sbml}/0013/conversion_modified.xml | 0 .../cases/{ => v1.0.0/sbml}/0014/0014.py | 0 .../cases/{ => v1.0.0/sbml}/0014/README.md | 0 .../cases/{ => v1.0.0/sbml}/0014/_0014.yaml | 0 .../sbml}/0014/_0014_solution.yaml | 0 .../{ => v1.0.0/sbml}/0014/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0014/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0014/_model.xml | 0 .../{ => v1.0.0/sbml}/0014/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0014/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0014/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0015/0015.py | 0 .../cases/{ => v1.0.0/sbml}/0015/README.md | 0 .../cases/{ => v1.0.0/sbml}/0015/_0015.yaml | 0 .../sbml}/0015/_0015_solution.yaml | 0 .../{ => v1.0.0/sbml}/0015/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0015/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0015/_model.xml | 0 .../{ => v1.0.0/sbml}/0015/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0015/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0015/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0016/0016.py | 0 .../cases/{ => v1.0.0/sbml}/0016/README.md | 0 .../cases/{ => v1.0.0/sbml}/0016/_0016.yaml | 0 .../sbml}/0016/_0016_solution.yaml | 0 .../{ => v1.0.0/sbml}/0016/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0016/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0016/_model.xml | 0 .../{ => v1.0.0/sbml}/0016/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0016/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0016/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0017/0017.py | 0 .../cases/{ => v1.0.0/sbml}/0017/README.md | 0 .../cases/{ => v1.0.0/sbml}/0017/_0017.yaml | 0 .../sbml}/0017/_0017_solution.yaml | 0 .../{ => v1.0.0/sbml}/0017/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0017/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0017/_model.xml | 0 .../{ => v1.0.0/sbml}/0017/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0017/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0017/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0018/0018.py | 0 .../cases/{ => v1.0.0/sbml}/0018/README.md | 0 .../cases/{ => v1.0.0/sbml}/0018/_0018.yaml | 0 .../sbml}/0018/_0018_solution.yaml | 0 .../{ => v1.0.0/sbml}/0018/_conditions.tsv | 0 .../{ => v1.0.0/sbml}/0018/_measurements.tsv | 0 .../cases/{ => v1.0.0/sbml}/0018/_model.xml | 0 .../{ => v1.0.0/sbml}/0018/_observables.tsv | 0 .../{ => v1.0.0/sbml}/0018/_parameters.tsv | 0 .../{ => v1.0.0/sbml}/0018/_simulations.tsv | 0 .../cases/{ => v1.0.0/sbml}/0018/model.xml | 0 petabtests/cases/{ => v1.0.0/sbml}/README.md | 0 .../cases/{ => v2.0.0}/pysb/0001/0001.py | 0 .../cases/{ => v2.0.0}/pysb/0001/README.md | 0 .../cases/{ => v2.0.0}/pysb/0001/_0001.yaml | 8 +- .../pysb/0001/_0001_solution.yaml | 0 .../{ => v2.0.0}/pysb/0001/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0001/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0001/_model.py | 0 .../{ => v2.0.0}/pysb/0001/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0001/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0001/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0002/0002.py | 0 .../cases/{ => v2.0.0}/pysb/0002/README.md | 0 .../cases/{ => v2.0.0}/pysb/0002/_0002.yaml | 8 +- .../pysb/0002/_0002_solution.yaml | 0 .../{ => v2.0.0}/pysb/0002/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0002/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0002/_model.py | 0 .../{ => v2.0.0}/pysb/0002/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0002/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0002/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0003/0003.py | 0 .../cases/{ => v2.0.0}/pysb/0003/README.md | 0 .../cases/{ => v2.0.0}/pysb/0003/_0003.yaml | 8 +- .../pysb/0003/_0003_solution.yaml | 0 .../{ => v2.0.0}/pysb/0003/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0003/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0003/_model.py | 0 .../{ => v2.0.0}/pysb/0003/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0003/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0003/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0004/0004.py | 0 .../cases/{ => v2.0.0}/pysb/0004/README.md | 0 .../cases/{ => v2.0.0}/pysb/0004/_0004.yaml | 8 +- .../pysb/0004/_0004_solution.yaml | 0 .../{ => v2.0.0}/pysb/0004/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0004/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0004/_model.py | 0 .../{ => v2.0.0}/pysb/0004/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0004/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0004/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0005/0005.py | 0 .../cases/{ => v2.0.0}/pysb/0005/README.md | 0 .../cases/{ => v2.0.0}/pysb/0005/_0005.yaml | 8 +- .../pysb/0005/_0005_solution.yaml | 0 .../{ => v2.0.0}/pysb/0005/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0005/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0005/_model.py | 0 .../{ => v2.0.0}/pysb/0005/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0005/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0005/_simulations.tsv | 0 .../pysb/0005/conversion_modified_pysb.py | 0 .../cases/{ => v2.0.0}/pysb/0006/0006.py | 0 .../cases/{ => v2.0.0}/pysb/0006/README.md | 0 .../cases/{ => v2.0.0}/pysb/0006/_0006.yaml | 8 +- .../pysb/0006/_0006_solution.yaml | 0 .../{ => v2.0.0}/pysb/0006/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0006/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0006/_model.py | 0 .../{ => v2.0.0}/pysb/0006/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0006/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0006/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0007/0007.py | 0 .../cases/{ => v2.0.0}/pysb/0007/README.md | 0 .../cases/{ => v2.0.0}/pysb/0007/_0007.yaml | 8 +- .../pysb/0007/_0007_solution.yaml | 0 .../{ => v2.0.0}/pysb/0007/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0007/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0007/_model.py | 0 .../{ => v2.0.0}/pysb/0007/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0007/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0007/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0008/0008.py | 0 .../cases/{ => v2.0.0}/pysb/0008/README.md | 0 .../cases/{ => v2.0.0}/pysb/0008/_0008.yaml | 8 +- .../pysb/0008/_0008_solution.yaml | 0 .../{ => v2.0.0}/pysb/0008/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0008/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0008/_model.py | 0 .../{ => v2.0.0}/pysb/0008/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0008/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0008/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0009/0009.py | 0 .../cases/{ => v2.0.0}/pysb/0009/README.md | 0 .../cases/{ => v2.0.0}/pysb/0009/_0009.yaml | 8 +- .../pysb/0009/_0009_solution.yaml | 0 .../{ => v2.0.0}/pysb/0009/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0009/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0009/_model.py | 0 .../{ => v2.0.0}/pysb/0009/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0009/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0009/_simulations.tsv | 0 petabtests/cases/v2.0.0/pysb/0010/0010.py | 83 +++++++++++++ .../cases/{ => v2.0.0}/pysb/0010/README.md | 0 petabtests/cases/v2.0.0/pysb/0010/_0010.yaml | 14 +++ .../pysb/0010/_0010_solution.yaml | 0 .../{ => v2.0.0}/pysb/0010/_conditions.tsv | 0 .../cases/v2.0.0/pysb/0010/_mapping.tsv | 3 + .../{ => v2.0.0}/pysb/0010/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0010/_model.py | 0 .../{ => v2.0.0}/pysb/0010/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0010/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0010/_simulations.tsv | 0 petabtests/cases/v2.0.0/pysb/0011/0011.py | 73 +++++++++++ .../cases/{ => v2.0.0}/pysb/0011/README.md | 0 petabtests/cases/v2.0.0/pysb/0011/_0011.yaml | 14 +++ .../pysb/0011/_0011_solution.yaml | 0 .../{ => v2.0.0}/pysb/0011/_conditions.tsv | 0 .../cases/v2.0.0/pysb/0011/_mapping.tsv | 3 + .../{ => v2.0.0}/pysb/0011/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0011/_model.py | 0 .../{ => v2.0.0}/pysb/0011/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0011/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0011/_simulations.tsv | 0 .../pysb/0011/conversion_modified_pysb.py | 0 .../cases/{ => v2.0.0}/pysb/0012/0012.py | 0 .../cases/{ => v2.0.0}/pysb/0012/README.md | 0 .../cases/{ => v2.0.0}/pysb/0012/_0012.yaml | 8 +- .../pysb/0012/_0012_solution.yaml | 0 .../{ => v2.0.0}/pysb/0012/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0012/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0012/_model.py | 0 .../{ => v2.0.0}/pysb/0012/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0012/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0012/_simulations.tsv | 0 petabtests/cases/v2.0.0/pysb/0013/0013.py | 74 ++++++++++++ .../cases/{ => v2.0.0}/pysb/0013/README.md | 0 petabtests/cases/v2.0.0/pysb/0013/_0013.yaml | 14 +++ .../pysb/0013/_0013_solution.yaml | 0 .../{ => v2.0.0}/pysb/0013/_conditions.tsv | 0 .../cases/v2.0.0/pysb/0013/_mapping.tsv | 3 + .../{ => v2.0.0}/pysb/0013/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0013/_model.py | 0 .../{ => v2.0.0}/pysb/0013/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0013/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0013/_simulations.tsv | 0 .../pysb/0013/conversion_modified_pysb.py | 0 .../cases/{ => v2.0.0}/pysb/0014/0014.py | 0 .../cases/{ => v2.0.0}/pysb/0014/README.md | 0 .../cases/{ => v2.0.0}/pysb/0014/_0014.yaml | 8 +- .../pysb/0014/_0014_solution.yaml | 0 .../{ => v2.0.0}/pysb/0014/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0014/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0014/_model.py | 0 .../{ => v2.0.0}/pysb/0014/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0014/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0014/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0015/0015.py | 0 .../cases/{ => v2.0.0}/pysb/0015/README.md | 0 .../cases/{ => v2.0.0}/pysb/0015/_0015.yaml | 8 +- .../pysb/0015/_0015_solution.yaml | 0 .../{ => v2.0.0}/pysb/0015/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0015/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0015/_model.py | 0 .../{ => v2.0.0}/pysb/0015/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0015/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0015/_simulations.tsv | 0 .../cases/{ => v2.0.0}/pysb/0016/0016.py | 0 .../cases/{ => v2.0.0}/pysb/0016/README.md | 0 .../cases/{ => v2.0.0}/pysb/0016/_0016.yaml | 8 +- .../pysb/0016/_0016_solution.yaml | 0 .../{ => v2.0.0}/pysb/0016/_conditions.tsv | 0 .../{ => v2.0.0}/pysb/0016/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0016/_model.py | 0 .../{ => v2.0.0}/pysb/0016/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0016/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0016/_simulations.tsv | 0 petabtests/cases/v2.0.0/pysb/0017/0017.py | 90 ++++++++++++++ petabtests/cases/v2.0.0/pysb/0017/README.md | 19 +++ petabtests/cases/v2.0.0/pysb/0017/_0017.yaml | 14 +++ .../pysb/0017/_0017_solution.yaml | 0 .../{ => v2.0.0}/pysb/0017/_conditions.tsv | 0 .../cases/v2.0.0/pysb/0017/_mapping.tsv | 3 + .../{ => v2.0.0}/pysb/0017/_measurements.tsv | 0 .../cases/{ => v2.0.0}/pysb/0017/_model.py | 0 .../{ => v2.0.0}/pysb/0017/_observables.tsv | 0 .../{ => v2.0.0}/pysb/0017/_parameters.tsv | 0 .../{ => v2.0.0}/pysb/0017/_simulations.tsv | 0 petabtests/cases/v2.0.0/pysb/0018/0018.py | 72 +++++++++++ petabtests/cases/v2.0.0/pysb/0018/README.md | 10 ++ petabtests/cases/v2.0.0/pysb/0018/_0018.yaml | 14 +++ .../v2.0.0/pysb/0018/_0018_solution.yaml | 7 ++ .../cases/v2.0.0/pysb/0018/_conditions.tsv | 2 + .../cases/v2.0.0/pysb/0018/_mapping.tsv | 5 + .../cases/v2.0.0/pysb/0018/_measurements.tsv | 3 + petabtests/cases/v2.0.0/pysb/0018/_model.py | 21 ++++ .../cases/v2.0.0/pysb/0018/_observables.tsv | 2 + .../cases/v2.0.0/pysb/0018/_parameters.tsv | 5 + .../cases/v2.0.0/pysb/0018/_simulations.tsv | 3 + petabtests/cases/{ => v2.0.0}/pysb/README.md | 4 + petabtests/cases/v2.0.0/sbml/0001/0001.py | 66 ++++++++++ petabtests/cases/v2.0.0/sbml/0001/README.md | 11 ++ petabtests/cases/v2.0.0/sbml/0001/_0001.yaml | 13 ++ .../v2.0.0/sbml/0001/_0001_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0001/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0001/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0001/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0001/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0001/_parameters.tsv | 5 + .../cases/v2.0.0/sbml/0001/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/0002/0002.py | 70 +++++++++++ petabtests/cases/v2.0.0/sbml/0002/README.md | 13 ++ petabtests/cases/v2.0.0/sbml/0002/_0002.yaml | 13 ++ .../v2.0.0/sbml/0002/_0002_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0002/_conditions.tsv | 3 + .../cases/v2.0.0/sbml/0002/_measurements.tsv | 5 + petabtests/cases/v2.0.0/sbml/0002/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0002/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0002/_parameters.tsv | 4 + .../cases/v2.0.0/sbml/0002/_simulations.tsv | 5 + petabtests/cases/v2.0.0/sbml/0003/0003.py | 74 ++++++++++++ petabtests/cases/v2.0.0/sbml/0003/README.md | 17 +++ petabtests/cases/v2.0.0/sbml/0003/_0003.yaml | 13 ++ .../v2.0.0/sbml/0003/_0003_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0003/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0003/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0003/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0003/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0003/_parameters.tsv | 5 + .../cases/v2.0.0/sbml/0003/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/0004/0004.py | 71 +++++++++++ petabtests/cases/v2.0.0/sbml/0004/README.md | 17 +++ petabtests/cases/v2.0.0/sbml/0004/_0004.yaml | 13 ++ .../v2.0.0/sbml/0004/_0004_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0004/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0004/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0004/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0004/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0004/_parameters.tsv | 7 ++ .../cases/v2.0.0/sbml/0004/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/0005/0005.py | 72 +++++++++++ petabtests/cases/v2.0.0/sbml/0005/README.md | 15 +++ petabtests/cases/v2.0.0/sbml/0005/_0005.yaml | 13 ++ .../v2.0.0/sbml/0005/_0005_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0005/_conditions.tsv | 3 + .../cases/v2.0.0/sbml/0005/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0005/_model.xml | 96 +++++++++++++++ .../cases/v2.0.0/sbml/0005/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0005/_parameters.tsv | 7 ++ .../cases/v2.0.0/sbml/0005/_simulations.tsv | 3 + .../v2.0.0/sbml/0005/conversion_modified.xml | 96 +++++++++++++++ petabtests/cases/v2.0.0/sbml/0006/0006.py | 70 +++++++++++ petabtests/cases/v2.0.0/sbml/0006/README.md | 14 +++ petabtests/cases/v2.0.0/sbml/0006/_0006.yaml | 13 ++ .../v2.0.0/sbml/0006/_0006_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0006/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0006/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0006/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0006/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0006/_parameters.tsv | 5 + .../cases/v2.0.0/sbml/0006/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/0007/0007.py | 72 +++++++++++ petabtests/cases/v2.0.0/sbml/0007/README.md | 14 +++ petabtests/cases/v2.0.0/sbml/0007/_0007.yaml | 13 ++ .../v2.0.0/sbml/0007/_0007_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0007/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0007/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0007/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0007/_observables.tsv | 3 + .../cases/v2.0.0/sbml/0007/_parameters.tsv | 5 + .../cases/v2.0.0/sbml/0007/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/0008/0008.py | 67 +++++++++++ petabtests/cases/v2.0.0/sbml/0008/README.md | 13 ++ petabtests/cases/v2.0.0/sbml/0008/_0008.yaml | 13 ++ .../v2.0.0/sbml/0008/_0008_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0008/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0008/_measurements.tsv | 4 + petabtests/cases/v2.0.0/sbml/0008/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0008/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0008/_parameters.tsv | 5 + .../cases/v2.0.0/sbml/0008/_simulations.tsv | 4 + petabtests/cases/v2.0.0/sbml/0009/0009.py | 75 ++++++++++++ petabtests/cases/v2.0.0/sbml/0009/README.md | 13 ++ petabtests/cases/v2.0.0/sbml/0009/_0009.yaml | 13 ++ .../v2.0.0/sbml/0009/_0009_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0009/_conditions.tsv | 3 + .../cases/v2.0.0/sbml/0009/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0009/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0009/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0009/_parameters.tsv | 4 + .../cases/v2.0.0/sbml/0009/_simulations.tsv | 3 + .../cases/{pysb => v2.0.0/sbml}/0010/0010.py | 4 +- petabtests/cases/v2.0.0/sbml/0010/README.md | 15 +++ .../{pysb => v2.0.0/sbml}/0010/_0010.yaml | 8 +- .../v2.0.0/sbml/0010/_0010_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0010/_conditions.tsv | 3 + .../cases/v2.0.0/sbml/0010/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0010/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0010/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0010/_parameters.tsv | 2 + .../cases/v2.0.0/sbml/0010/_simulations.tsv | 3 + .../v2.0.0/sbml/0010/conversion_modified.xml | 87 ++++++++++++++ .../cases/{pysb => v2.0.0/sbml}/0011/0011.py | 2 +- petabtests/cases/v2.0.0/sbml/0011/README.md | 12 ++ .../{pysb => v2.0.0/sbml}/0011/_0011.yaml | 8 +- .../v2.0.0/sbml/0011/_0011_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0011/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0011/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0011/_model.xml | 87 ++++++++++++++ .../cases/v2.0.0/sbml/0011/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0011/_parameters.tsv | 3 + .../cases/v2.0.0/sbml/0011/_simulations.tsv | 3 + .../v2.0.0/sbml/0011/conversion_modified.xml | 87 ++++++++++++++ petabtests/cases/v2.0.0/sbml/0012/0012.py | 67 +++++++++++ petabtests/cases/v2.0.0/sbml/0012/README.md | 10 ++ petabtests/cases/v2.0.0/sbml/0012/_0012.yaml | 13 ++ .../v2.0.0/sbml/0012/_0012_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0012/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0012/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0012/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0012/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0012/_parameters.tsv | 3 + .../cases/v2.0.0/sbml/0012/_simulations.tsv | 3 + .../cases/{pysb => v2.0.0/sbml}/0013/0013.py | 2 +- petabtests/cases/v2.0.0/sbml/0013/README.md | 10 ++ .../{pysb => v2.0.0/sbml}/0013/_0013.yaml | 8 +- .../v2.0.0/sbml/0013/_0013_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0013/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0013/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0013/_model.xml | 87 ++++++++++++++ .../cases/v2.0.0/sbml/0013/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0013/_parameters.tsv | 4 + .../cases/v2.0.0/sbml/0013/_simulations.tsv | 3 + .../v2.0.0/sbml/0013/conversion_modified.xml | 87 ++++++++++++++ petabtests/cases/v2.0.0/sbml/0014/0014.py | 65 ++++++++++ petabtests/cases/v2.0.0/sbml/0014/README.md | 10 ++ petabtests/cases/v2.0.0/sbml/0014/_0014.yaml | 13 ++ .../v2.0.0/sbml/0014/_0014_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0014/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0014/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0014/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0014/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0014/_parameters.tsv | 5 + .../cases/v2.0.0/sbml/0014/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/0015/0015.py | 65 ++++++++++ petabtests/cases/v2.0.0/sbml/0015/README.md | 10 ++ petabtests/cases/v2.0.0/sbml/0015/_0015.yaml | 13 ++ .../v2.0.0/sbml/0015/_0015_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0015/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0015/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0015/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0015/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0015/_parameters.tsv | 6 + .../cases/v2.0.0/sbml/0015/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/0016/0016.py | 71 +++++++++++ petabtests/cases/v2.0.0/sbml/0016/README.md | 14 +++ petabtests/cases/v2.0.0/sbml/0016/_0016.yaml | 13 ++ .../v2.0.0/sbml/0016/_0016_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0016/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0016/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0016/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0016/_observables.tsv | 3 + .../cases/v2.0.0/sbml/0016/_parameters.tsv | 5 + .../cases/v2.0.0/sbml/0016/_simulations.tsv | 3 + .../cases/{pysb => v2.0.0/sbml}/0017/0017.py | 4 +- .../{pysb => v2.0.0/sbml}/0017/README.md | 0 .../{pysb => v2.0.0/sbml}/0017/_0017.yaml | 8 +- .../v2.0.0/sbml/0017/_0017_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0017/_conditions.tsv | 3 + .../cases/v2.0.0/sbml/0017/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0017/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0017/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0017/_parameters.tsv | 2 + .../cases/v2.0.0/sbml/0017/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/0018/0018.py | 113 ++++++++++++++++++ petabtests/cases/v2.0.0/sbml/0018/README.md | 20 ++++ petabtests/cases/v2.0.0/sbml/0018/_0018.yaml | 13 ++ .../v2.0.0/sbml/0018/_0018_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0018/_conditions.tsv | 3 + .../cases/v2.0.0/sbml/0018/_measurements.tsv | 5 + petabtests/cases/v2.0.0/sbml/0018/_model.xml | 79 ++++++++++++ .../cases/v2.0.0/sbml/0018/_observables.tsv | 3 + .../cases/v2.0.0/sbml/0018/_parameters.tsv | 2 + .../cases/v2.0.0/sbml/0018/_simulations.tsv | 5 + petabtests/cases/v2.0.0/sbml/0018/model.xml | 79 ++++++++++++ petabtests/cases/v2.0.0/sbml/0019/0019.py | 74 ++++++++++++ petabtests/cases/v2.0.0/sbml/0019/README.md | 10 ++ petabtests/cases/v2.0.0/sbml/0019/_0019.yaml | 14 +++ .../v2.0.0/sbml/0019/_0019_solution.yaml | 7 ++ .../cases/v2.0.0/sbml/0019/_conditions.tsv | 2 + .../cases/v2.0.0/sbml/0019/_mapping.tsv | 7 ++ .../cases/v2.0.0/sbml/0019/_measurements.tsv | 3 + petabtests/cases/v2.0.0/sbml/0019/_model.xml | 94 +++++++++++++++ .../cases/v2.0.0/sbml/0019/_observables.tsv | 2 + .../cases/v2.0.0/sbml/0019/_parameters.tsv | 5 + .../cases/v2.0.0/sbml/0019/_simulations.tsv | 3 + petabtests/cases/v2.0.0/sbml/README.md | 76 ++++++++++++ petabtests/core.py | 88 +++++++++----- petabtests/file.py | 76 ++++++++---- test/test_general.py | 11 +- 579 files changed, 4998 insertions(+), 119 deletions(-) delete mode 120000 petabtests/cases/sbml rename petabtests/cases/{ => v1.0.0/sbml}/0001/0001.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/_0001.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/_0001_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0001/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/0002.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/_0002.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/_0002_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0002/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/0003.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/_0003.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/_0003_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0003/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/0004.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/_0004.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/_0004_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0004/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/0005.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/_0005.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/_0005_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0005/conversion_modified.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/0006.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/_0006.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/_0006_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0006/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/0007.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/_0007.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/_0007_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0007/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/0008.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/_0008.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/_0008_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0008/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/0009.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/_0009.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/_0009_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0009/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/0010.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/_0010.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/_0010_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0010/conversion_modified.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/0011.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/_0011.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/_0011_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0011/conversion_modified.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/0012.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/_0012.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/_0012_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0012/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/0013.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/_0013.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/_0013_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0013/conversion_modified.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/0014.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/_0014.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/_0014_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0014/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/0015.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/_0015.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/_0015_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0015/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/0016.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/_0016.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/_0016_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0016/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/0017.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/_0017.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/_0017_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0017/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/0018.py (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/README.md (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/_0018.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/_0018_solution.yaml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/_conditions.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/_measurements.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/_model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/_observables.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/_parameters.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/_simulations.tsv (100%) rename petabtests/cases/{ => v1.0.0/sbml}/0018/model.xml (100%) rename petabtests/cases/{ => v1.0.0/sbml}/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/0001.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/_0001.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/_0001_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0001/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/0002.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/_0002.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/_0002_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0002/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/0003.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/_0003.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/_0003_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0003/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/0004.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/_0004.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/_0004_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0004/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/0005.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/_0005.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/_0005_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0005/conversion_modified_pysb.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/0006.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/_0006.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/_0006_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0006/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/0007.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/_0007.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/_0007_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0007/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/0008.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/_0008.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/_0008_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0008/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/0009.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/_0009.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/_0009_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0009/_simulations.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0010/0010.py rename petabtests/cases/{ => v2.0.0}/pysb/0010/README.md (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0010/_0010.yaml rename petabtests/cases/{ => v2.0.0}/pysb/0010/_0010_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0010/_conditions.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0010/_mapping.tsv rename petabtests/cases/{ => v2.0.0}/pysb/0010/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0010/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0010/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0010/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0010/_simulations.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0011/0011.py rename petabtests/cases/{ => v2.0.0}/pysb/0011/README.md (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0011/_0011.yaml rename petabtests/cases/{ => v2.0.0}/pysb/0011/_0011_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0011/_conditions.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0011/_mapping.tsv rename petabtests/cases/{ => v2.0.0}/pysb/0011/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0011/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0011/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0011/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0011/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0011/conversion_modified_pysb.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/0012.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/_0012.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/_0012_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0012/_simulations.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0013/0013.py rename petabtests/cases/{ => v2.0.0}/pysb/0013/README.md (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0013/_0013.yaml rename petabtests/cases/{ => v2.0.0}/pysb/0013/_0013_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0013/_conditions.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0013/_mapping.tsv rename petabtests/cases/{ => v2.0.0}/pysb/0013/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0013/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0013/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0013/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0013/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0013/conversion_modified_pysb.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/0014.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/_0014.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/_0014_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0014/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/0015.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/_0015.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/_0015_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0015/_simulations.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/0016.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/README.md (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/_0016.yaml (62%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/_0016_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/_conditions.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0016/_simulations.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0017/0017.py create mode 100644 petabtests/cases/v2.0.0/pysb/0017/README.md create mode 100644 petabtests/cases/v2.0.0/pysb/0017/_0017.yaml rename petabtests/cases/{ => v2.0.0}/pysb/0017/_0017_solution.yaml (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0017/_conditions.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0017/_mapping.tsv rename petabtests/cases/{ => v2.0.0}/pysb/0017/_measurements.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0017/_model.py (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0017/_observables.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0017/_parameters.tsv (100%) rename petabtests/cases/{ => v2.0.0}/pysb/0017/_simulations.tsv (100%) create mode 100644 petabtests/cases/v2.0.0/pysb/0018/0018.py create mode 100644 petabtests/cases/v2.0.0/pysb/0018/README.md create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_0018.yaml create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_0018_solution.yaml create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_mapping.tsv create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_model.py create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/pysb/0018/_simulations.tsv rename petabtests/cases/{ => v2.0.0}/pysb/README.md (96%) create mode 100644 petabtests/cases/v2.0.0/sbml/0001/0001.py create mode 100644 petabtests/cases/v2.0.0/sbml/0001/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0001/_0001.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0001/_0001_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0001/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0001/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0001/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0001/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0001/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0001/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0002/0002.py create mode 100644 petabtests/cases/v2.0.0/sbml/0002/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0002/_0002.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0002/_0002_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0002/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0002/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0002/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0002/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0002/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0002/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0003/0003.py create mode 100644 petabtests/cases/v2.0.0/sbml/0003/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0003/_0003.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0003/_0003_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0003/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0003/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0003/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0003/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0003/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0003/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0004/0004.py create mode 100644 petabtests/cases/v2.0.0/sbml/0004/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0004/_0004.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0004/_0004_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0004/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0004/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0004/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0004/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0004/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0004/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0005/0005.py create mode 100644 petabtests/cases/v2.0.0/sbml/0005/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0005/_0005.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0005/_0005_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0005/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0005/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0005/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0005/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0005/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0005/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0005/conversion_modified.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0006/0006.py create mode 100644 petabtests/cases/v2.0.0/sbml/0006/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0006/_0006.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0006/_0006_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0006/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0006/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0006/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0006/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0006/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0006/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0007/0007.py create mode 100644 petabtests/cases/v2.0.0/sbml/0007/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0007/_0007.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0007/_0007_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0007/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0007/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0007/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0007/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0007/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0007/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0008/0008.py create mode 100644 petabtests/cases/v2.0.0/sbml/0008/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0008/_0008.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0008/_0008_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0008/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0008/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0008/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0008/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0008/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0008/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0009/0009.py create mode 100644 petabtests/cases/v2.0.0/sbml/0009/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0009/_0009.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0009/_0009_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0009/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0009/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0009/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0009/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0009/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0009/_simulations.tsv rename petabtests/cases/{pysb => v2.0.0/sbml}/0010/0010.py (95%) create mode 100644 petabtests/cases/v2.0.0/sbml/0010/README.md rename petabtests/cases/{pysb => v2.0.0/sbml}/0010/_0010.yaml (62%) create mode 100644 petabtests/cases/v2.0.0/sbml/0010/_0010_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0010/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0010/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0010/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0010/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0010/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0010/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0010/conversion_modified.xml rename petabtests/cases/{pysb => v2.0.0/sbml}/0011/0011.py (97%) create mode 100644 petabtests/cases/v2.0.0/sbml/0011/README.md rename petabtests/cases/{pysb => v2.0.0/sbml}/0011/_0011.yaml (62%) create mode 100644 petabtests/cases/v2.0.0/sbml/0011/_0011_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0011/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0011/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0011/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0011/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0011/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0011/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0011/conversion_modified.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0012/0012.py create mode 100644 petabtests/cases/v2.0.0/sbml/0012/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0012/_0012.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0012/_0012_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0012/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0012/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0012/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0012/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0012/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0012/_simulations.tsv rename petabtests/cases/{pysb => v2.0.0/sbml}/0013/0013.py (97%) create mode 100644 petabtests/cases/v2.0.0/sbml/0013/README.md rename petabtests/cases/{pysb => v2.0.0/sbml}/0013/_0013.yaml (62%) create mode 100644 petabtests/cases/v2.0.0/sbml/0013/_0013_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0013/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0013/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0013/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0013/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0013/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0013/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0013/conversion_modified.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0014/0014.py create mode 100644 petabtests/cases/v2.0.0/sbml/0014/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0014/_0014.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0014/_0014_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0014/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0014/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0014/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0014/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0014/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0014/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0015/0015.py create mode 100644 petabtests/cases/v2.0.0/sbml/0015/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0015/_0015.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0015/_0015_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0015/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0015/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0015/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0015/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0015/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0015/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0016/0016.py create mode 100644 petabtests/cases/v2.0.0/sbml/0016/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0016/_0016.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0016/_0016_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0016/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0016/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0016/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0016/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0016/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0016/_simulations.tsv rename petabtests/cases/{pysb => v2.0.0/sbml}/0017/0017.py (96%) rename petabtests/cases/{pysb => v2.0.0/sbml}/0017/README.md (100%) rename petabtests/cases/{pysb => v2.0.0/sbml}/0017/_0017.yaml (62%) create mode 100644 petabtests/cases/v2.0.0/sbml/0017/_0017_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0017/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0017/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0017/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0017/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0017/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0017/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0018/0018.py create mode 100644 petabtests/cases/v2.0.0/sbml/0018/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0018/_0018.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0018/_0018_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0018/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0018/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0018/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0018/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0018/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0018/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0018/model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0019/0019.py create mode 100644 petabtests/cases/v2.0.0/sbml/0019/README.md create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_0019.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_0019_solution.yaml create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_conditions.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_mapping.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_measurements.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_model.xml create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_observables.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_parameters.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/0019/_simulations.tsv create mode 100644 petabtests/cases/v2.0.0/sbml/README.md diff --git a/.ci_pip_reqs.txt b/.ci_pip_reqs.txt index a3c59e3..ef522d0 100644 --- a/.ci_pip_reqs.txt +++ b/.ci_pip_reqs.txt @@ -1,3 +1,3 @@ pytest flake8 -https://github.com/petab-dev/libpetab-python/archive/develop.zip +https://github.com/petab-dev/libpetab-python/archive/model_pysb.zip diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 7882307..7448fa0 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -31,5 +31,7 @@ jobs: pip install -e . - name: Run tests run: | - python -m flake8 --exclude=build,doc,tmp,petabtests/cases/pysb/*/_model.py,petabtests/cases/pysb/*/conversion_modified_pysb.py,petabtests/conversion_pysb.py --extend-ignore=F403,F405 + python -m flake8 \ + --exclude=build,doc,tmp,_model.py,conversion_modified_pysb.py,conversion_pysb.py \ + --extend-ignore=F403,F405 pytest test diff --git a/petabtests/C.py b/petabtests/C.py index 8a4fcef..f5e1a42 100644 --- a/petabtests/C.py +++ b/petabtests/C.py @@ -6,8 +6,6 @@ BASE_DIR = Path(__file__).parent CASES_DIR = BASE_DIR / 'cases' -SBML_DIR = CASES_DIR / 'sbml' -PYSB_DIR = CASES_DIR / 'pysb' DEFAULT_SBML_FILE = BASE_DIR / 'conversion.xml' DEFAULT_PYSB_FILE = BASE_DIR / 'conversion_pysb.py' diff --git a/petabtests/cases/sbml b/petabtests/cases/sbml deleted file mode 120000 index 945c9b4..0000000 --- a/petabtests/cases/sbml +++ /dev/null @@ -1 +0,0 @@ -. \ No newline at end of file diff --git a/petabtests/cases/0001/0001.py b/petabtests/cases/v1.0.0/sbml/0001/0001.py similarity index 100% rename from petabtests/cases/0001/0001.py rename to petabtests/cases/v1.0.0/sbml/0001/0001.py diff --git a/petabtests/cases/0001/README.md b/petabtests/cases/v1.0.0/sbml/0001/README.md similarity index 100% rename from petabtests/cases/0001/README.md rename to petabtests/cases/v1.0.0/sbml/0001/README.md diff --git a/petabtests/cases/0001/_0001.yaml b/petabtests/cases/v1.0.0/sbml/0001/_0001.yaml similarity index 100% rename from petabtests/cases/0001/_0001.yaml rename to petabtests/cases/v1.0.0/sbml/0001/_0001.yaml diff --git a/petabtests/cases/0001/_0001_solution.yaml b/petabtests/cases/v1.0.0/sbml/0001/_0001_solution.yaml similarity index 100% rename from petabtests/cases/0001/_0001_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0001/_0001_solution.yaml diff --git a/petabtests/cases/0001/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0001/_conditions.tsv similarity index 100% rename from petabtests/cases/0001/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0001/_conditions.tsv diff --git a/petabtests/cases/0001/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0001/_measurements.tsv similarity index 100% rename from petabtests/cases/0001/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0001/_measurements.tsv diff --git a/petabtests/cases/0001/_model.xml b/petabtests/cases/v1.0.0/sbml/0001/_model.xml similarity index 100% rename from petabtests/cases/0001/_model.xml rename to petabtests/cases/v1.0.0/sbml/0001/_model.xml diff --git a/petabtests/cases/0001/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0001/_observables.tsv similarity index 100% rename from petabtests/cases/0001/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0001/_observables.tsv diff --git a/petabtests/cases/0001/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0001/_parameters.tsv similarity index 100% rename from petabtests/cases/0001/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0001/_parameters.tsv diff --git a/petabtests/cases/0001/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0001/_simulations.tsv similarity index 100% rename from petabtests/cases/0001/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0001/_simulations.tsv diff --git a/petabtests/cases/0002/0002.py b/petabtests/cases/v1.0.0/sbml/0002/0002.py similarity index 100% rename from petabtests/cases/0002/0002.py rename to petabtests/cases/v1.0.0/sbml/0002/0002.py diff --git a/petabtests/cases/0002/README.md b/petabtests/cases/v1.0.0/sbml/0002/README.md similarity index 100% rename from petabtests/cases/0002/README.md rename to petabtests/cases/v1.0.0/sbml/0002/README.md diff --git a/petabtests/cases/0002/_0002.yaml b/petabtests/cases/v1.0.0/sbml/0002/_0002.yaml similarity index 100% rename from petabtests/cases/0002/_0002.yaml rename to petabtests/cases/v1.0.0/sbml/0002/_0002.yaml diff --git a/petabtests/cases/0002/_0002_solution.yaml b/petabtests/cases/v1.0.0/sbml/0002/_0002_solution.yaml similarity index 100% rename from petabtests/cases/0002/_0002_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0002/_0002_solution.yaml diff --git a/petabtests/cases/0002/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0002/_conditions.tsv similarity index 100% rename from petabtests/cases/0002/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0002/_conditions.tsv diff --git a/petabtests/cases/0002/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0002/_measurements.tsv similarity index 100% rename from petabtests/cases/0002/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0002/_measurements.tsv diff --git a/petabtests/cases/0002/_model.xml b/petabtests/cases/v1.0.0/sbml/0002/_model.xml similarity index 100% rename from petabtests/cases/0002/_model.xml rename to petabtests/cases/v1.0.0/sbml/0002/_model.xml diff --git a/petabtests/cases/0002/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0002/_observables.tsv similarity index 100% rename from petabtests/cases/0002/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0002/_observables.tsv diff --git a/petabtests/cases/0002/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0002/_parameters.tsv similarity index 100% rename from petabtests/cases/0002/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0002/_parameters.tsv diff --git a/petabtests/cases/0002/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0002/_simulations.tsv similarity index 100% rename from petabtests/cases/0002/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0002/_simulations.tsv diff --git a/petabtests/cases/0003/0003.py b/petabtests/cases/v1.0.0/sbml/0003/0003.py similarity index 100% rename from petabtests/cases/0003/0003.py rename to petabtests/cases/v1.0.0/sbml/0003/0003.py diff --git a/petabtests/cases/0003/README.md b/petabtests/cases/v1.0.0/sbml/0003/README.md similarity index 100% rename from petabtests/cases/0003/README.md rename to petabtests/cases/v1.0.0/sbml/0003/README.md diff --git a/petabtests/cases/0003/_0003.yaml b/petabtests/cases/v1.0.0/sbml/0003/_0003.yaml similarity index 100% rename from petabtests/cases/0003/_0003.yaml rename to petabtests/cases/v1.0.0/sbml/0003/_0003.yaml diff --git a/petabtests/cases/0003/_0003_solution.yaml b/petabtests/cases/v1.0.0/sbml/0003/_0003_solution.yaml similarity index 100% rename from petabtests/cases/0003/_0003_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0003/_0003_solution.yaml diff --git a/petabtests/cases/0003/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0003/_conditions.tsv similarity index 100% rename from petabtests/cases/0003/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0003/_conditions.tsv diff --git a/petabtests/cases/0003/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0003/_measurements.tsv similarity index 100% rename from petabtests/cases/0003/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0003/_measurements.tsv diff --git a/petabtests/cases/0003/_model.xml b/petabtests/cases/v1.0.0/sbml/0003/_model.xml similarity index 100% rename from petabtests/cases/0003/_model.xml rename to petabtests/cases/v1.0.0/sbml/0003/_model.xml diff --git a/petabtests/cases/0003/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0003/_observables.tsv similarity index 100% rename from petabtests/cases/0003/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0003/_observables.tsv diff --git a/petabtests/cases/0003/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0003/_parameters.tsv similarity index 100% rename from petabtests/cases/0003/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0003/_parameters.tsv diff --git a/petabtests/cases/0003/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0003/_simulations.tsv similarity index 100% rename from petabtests/cases/0003/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0003/_simulations.tsv diff --git a/petabtests/cases/0004/0004.py b/petabtests/cases/v1.0.0/sbml/0004/0004.py similarity index 100% rename from petabtests/cases/0004/0004.py rename to petabtests/cases/v1.0.0/sbml/0004/0004.py diff --git a/petabtests/cases/0004/README.md b/petabtests/cases/v1.0.0/sbml/0004/README.md similarity index 100% rename from petabtests/cases/0004/README.md rename to petabtests/cases/v1.0.0/sbml/0004/README.md diff --git a/petabtests/cases/0004/_0004.yaml b/petabtests/cases/v1.0.0/sbml/0004/_0004.yaml similarity index 100% rename from petabtests/cases/0004/_0004.yaml rename to petabtests/cases/v1.0.0/sbml/0004/_0004.yaml diff --git a/petabtests/cases/0004/_0004_solution.yaml b/petabtests/cases/v1.0.0/sbml/0004/_0004_solution.yaml similarity index 100% rename from petabtests/cases/0004/_0004_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0004/_0004_solution.yaml diff --git a/petabtests/cases/0004/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0004/_conditions.tsv similarity index 100% rename from petabtests/cases/0004/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0004/_conditions.tsv diff --git a/petabtests/cases/0004/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0004/_measurements.tsv similarity index 100% rename from petabtests/cases/0004/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0004/_measurements.tsv diff --git a/petabtests/cases/0004/_model.xml b/petabtests/cases/v1.0.0/sbml/0004/_model.xml similarity index 100% rename from petabtests/cases/0004/_model.xml rename to petabtests/cases/v1.0.0/sbml/0004/_model.xml diff --git a/petabtests/cases/0004/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0004/_observables.tsv similarity index 100% rename from petabtests/cases/0004/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0004/_observables.tsv diff --git a/petabtests/cases/0004/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0004/_parameters.tsv similarity index 100% rename from petabtests/cases/0004/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0004/_parameters.tsv diff --git a/petabtests/cases/0004/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0004/_simulations.tsv similarity index 100% rename from petabtests/cases/0004/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0004/_simulations.tsv diff --git a/petabtests/cases/0005/0005.py b/petabtests/cases/v1.0.0/sbml/0005/0005.py similarity index 100% rename from petabtests/cases/0005/0005.py rename to petabtests/cases/v1.0.0/sbml/0005/0005.py diff --git a/petabtests/cases/0005/README.md b/petabtests/cases/v1.0.0/sbml/0005/README.md similarity index 100% rename from petabtests/cases/0005/README.md rename to petabtests/cases/v1.0.0/sbml/0005/README.md diff --git a/petabtests/cases/0005/_0005.yaml b/petabtests/cases/v1.0.0/sbml/0005/_0005.yaml similarity index 100% rename from petabtests/cases/0005/_0005.yaml rename to petabtests/cases/v1.0.0/sbml/0005/_0005.yaml diff --git a/petabtests/cases/0005/_0005_solution.yaml b/petabtests/cases/v1.0.0/sbml/0005/_0005_solution.yaml similarity index 100% rename from petabtests/cases/0005/_0005_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0005/_0005_solution.yaml diff --git a/petabtests/cases/0005/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0005/_conditions.tsv similarity index 100% rename from petabtests/cases/0005/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0005/_conditions.tsv diff --git a/petabtests/cases/0005/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0005/_measurements.tsv similarity index 100% rename from petabtests/cases/0005/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0005/_measurements.tsv diff --git a/petabtests/cases/0005/_model.xml b/petabtests/cases/v1.0.0/sbml/0005/_model.xml similarity index 100% rename from petabtests/cases/0005/_model.xml rename to petabtests/cases/v1.0.0/sbml/0005/_model.xml diff --git a/petabtests/cases/0005/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0005/_observables.tsv similarity index 100% rename from petabtests/cases/0005/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0005/_observables.tsv diff --git a/petabtests/cases/0005/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0005/_parameters.tsv similarity index 100% rename from petabtests/cases/0005/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0005/_parameters.tsv diff --git a/petabtests/cases/0005/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0005/_simulations.tsv similarity index 100% rename from petabtests/cases/0005/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0005/_simulations.tsv diff --git a/petabtests/cases/0005/conversion_modified.xml b/petabtests/cases/v1.0.0/sbml/0005/conversion_modified.xml similarity index 100% rename from petabtests/cases/0005/conversion_modified.xml rename to petabtests/cases/v1.0.0/sbml/0005/conversion_modified.xml diff --git a/petabtests/cases/0006/0006.py b/petabtests/cases/v1.0.0/sbml/0006/0006.py similarity index 100% rename from petabtests/cases/0006/0006.py rename to petabtests/cases/v1.0.0/sbml/0006/0006.py diff --git a/petabtests/cases/0006/README.md b/petabtests/cases/v1.0.0/sbml/0006/README.md similarity index 100% rename from petabtests/cases/0006/README.md rename to petabtests/cases/v1.0.0/sbml/0006/README.md diff --git a/petabtests/cases/0006/_0006.yaml b/petabtests/cases/v1.0.0/sbml/0006/_0006.yaml similarity index 100% rename from petabtests/cases/0006/_0006.yaml rename to petabtests/cases/v1.0.0/sbml/0006/_0006.yaml diff --git a/petabtests/cases/0006/_0006_solution.yaml b/petabtests/cases/v1.0.0/sbml/0006/_0006_solution.yaml similarity index 100% rename from petabtests/cases/0006/_0006_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0006/_0006_solution.yaml diff --git a/petabtests/cases/0006/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0006/_conditions.tsv similarity index 100% rename from petabtests/cases/0006/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0006/_conditions.tsv diff --git a/petabtests/cases/0006/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0006/_measurements.tsv similarity index 100% rename from petabtests/cases/0006/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0006/_measurements.tsv diff --git a/petabtests/cases/0006/_model.xml b/petabtests/cases/v1.0.0/sbml/0006/_model.xml similarity index 100% rename from petabtests/cases/0006/_model.xml rename to petabtests/cases/v1.0.0/sbml/0006/_model.xml diff --git a/petabtests/cases/0006/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0006/_observables.tsv similarity index 100% rename from petabtests/cases/0006/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0006/_observables.tsv diff --git a/petabtests/cases/0006/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0006/_parameters.tsv similarity index 100% rename from petabtests/cases/0006/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0006/_parameters.tsv diff --git a/petabtests/cases/0006/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0006/_simulations.tsv similarity index 100% rename from petabtests/cases/0006/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0006/_simulations.tsv diff --git a/petabtests/cases/0007/0007.py b/petabtests/cases/v1.0.0/sbml/0007/0007.py similarity index 100% rename from petabtests/cases/0007/0007.py rename to petabtests/cases/v1.0.0/sbml/0007/0007.py diff --git a/petabtests/cases/0007/README.md b/petabtests/cases/v1.0.0/sbml/0007/README.md similarity index 100% rename from petabtests/cases/0007/README.md rename to petabtests/cases/v1.0.0/sbml/0007/README.md diff --git a/petabtests/cases/0007/_0007.yaml b/petabtests/cases/v1.0.0/sbml/0007/_0007.yaml similarity index 100% rename from petabtests/cases/0007/_0007.yaml rename to petabtests/cases/v1.0.0/sbml/0007/_0007.yaml diff --git a/petabtests/cases/0007/_0007_solution.yaml b/petabtests/cases/v1.0.0/sbml/0007/_0007_solution.yaml similarity index 100% rename from petabtests/cases/0007/_0007_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0007/_0007_solution.yaml diff --git a/petabtests/cases/0007/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0007/_conditions.tsv similarity index 100% rename from petabtests/cases/0007/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0007/_conditions.tsv diff --git a/petabtests/cases/0007/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0007/_measurements.tsv similarity index 100% rename from petabtests/cases/0007/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0007/_measurements.tsv diff --git a/petabtests/cases/0007/_model.xml b/petabtests/cases/v1.0.0/sbml/0007/_model.xml similarity index 100% rename from petabtests/cases/0007/_model.xml rename to petabtests/cases/v1.0.0/sbml/0007/_model.xml diff --git a/petabtests/cases/0007/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0007/_observables.tsv similarity index 100% rename from petabtests/cases/0007/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0007/_observables.tsv diff --git a/petabtests/cases/0007/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0007/_parameters.tsv similarity index 100% rename from petabtests/cases/0007/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0007/_parameters.tsv diff --git a/petabtests/cases/0007/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0007/_simulations.tsv similarity index 100% rename from petabtests/cases/0007/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0007/_simulations.tsv diff --git a/petabtests/cases/0008/0008.py b/petabtests/cases/v1.0.0/sbml/0008/0008.py similarity index 100% rename from petabtests/cases/0008/0008.py rename to petabtests/cases/v1.0.0/sbml/0008/0008.py diff --git a/petabtests/cases/0008/README.md b/petabtests/cases/v1.0.0/sbml/0008/README.md similarity index 100% rename from petabtests/cases/0008/README.md rename to petabtests/cases/v1.0.0/sbml/0008/README.md diff --git a/petabtests/cases/0008/_0008.yaml b/petabtests/cases/v1.0.0/sbml/0008/_0008.yaml similarity index 100% rename from petabtests/cases/0008/_0008.yaml rename to petabtests/cases/v1.0.0/sbml/0008/_0008.yaml diff --git a/petabtests/cases/0008/_0008_solution.yaml b/petabtests/cases/v1.0.0/sbml/0008/_0008_solution.yaml similarity index 100% rename from petabtests/cases/0008/_0008_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0008/_0008_solution.yaml diff --git a/petabtests/cases/0008/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0008/_conditions.tsv similarity index 100% rename from petabtests/cases/0008/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0008/_conditions.tsv diff --git a/petabtests/cases/0008/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0008/_measurements.tsv similarity index 100% rename from petabtests/cases/0008/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0008/_measurements.tsv diff --git a/petabtests/cases/0008/_model.xml b/petabtests/cases/v1.0.0/sbml/0008/_model.xml similarity index 100% rename from petabtests/cases/0008/_model.xml rename to petabtests/cases/v1.0.0/sbml/0008/_model.xml diff --git a/petabtests/cases/0008/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0008/_observables.tsv similarity index 100% rename from petabtests/cases/0008/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0008/_observables.tsv diff --git a/petabtests/cases/0008/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0008/_parameters.tsv similarity index 100% rename from petabtests/cases/0008/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0008/_parameters.tsv diff --git a/petabtests/cases/0008/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0008/_simulations.tsv similarity index 100% rename from petabtests/cases/0008/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0008/_simulations.tsv diff --git a/petabtests/cases/0009/0009.py b/petabtests/cases/v1.0.0/sbml/0009/0009.py similarity index 100% rename from petabtests/cases/0009/0009.py rename to petabtests/cases/v1.0.0/sbml/0009/0009.py diff --git a/petabtests/cases/0009/README.md b/petabtests/cases/v1.0.0/sbml/0009/README.md similarity index 100% rename from petabtests/cases/0009/README.md rename to petabtests/cases/v1.0.0/sbml/0009/README.md diff --git a/petabtests/cases/0009/_0009.yaml b/petabtests/cases/v1.0.0/sbml/0009/_0009.yaml similarity index 100% rename from petabtests/cases/0009/_0009.yaml rename to petabtests/cases/v1.0.0/sbml/0009/_0009.yaml diff --git a/petabtests/cases/0009/_0009_solution.yaml b/petabtests/cases/v1.0.0/sbml/0009/_0009_solution.yaml similarity index 100% rename from petabtests/cases/0009/_0009_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0009/_0009_solution.yaml diff --git a/petabtests/cases/0009/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0009/_conditions.tsv similarity index 100% rename from petabtests/cases/0009/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0009/_conditions.tsv diff --git a/petabtests/cases/0009/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0009/_measurements.tsv similarity index 100% rename from petabtests/cases/0009/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0009/_measurements.tsv diff --git a/petabtests/cases/0009/_model.xml b/petabtests/cases/v1.0.0/sbml/0009/_model.xml similarity index 100% rename from petabtests/cases/0009/_model.xml rename to petabtests/cases/v1.0.0/sbml/0009/_model.xml diff --git a/petabtests/cases/0009/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0009/_observables.tsv similarity index 100% rename from petabtests/cases/0009/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0009/_observables.tsv diff --git a/petabtests/cases/0009/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0009/_parameters.tsv similarity index 100% rename from petabtests/cases/0009/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0009/_parameters.tsv diff --git a/petabtests/cases/0009/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0009/_simulations.tsv similarity index 100% rename from petabtests/cases/0009/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0009/_simulations.tsv diff --git a/petabtests/cases/0010/0010.py b/petabtests/cases/v1.0.0/sbml/0010/0010.py similarity index 100% rename from petabtests/cases/0010/0010.py rename to petabtests/cases/v1.0.0/sbml/0010/0010.py diff --git a/petabtests/cases/0010/README.md b/petabtests/cases/v1.0.0/sbml/0010/README.md similarity index 100% rename from petabtests/cases/0010/README.md rename to petabtests/cases/v1.0.0/sbml/0010/README.md diff --git a/petabtests/cases/0010/_0010.yaml b/petabtests/cases/v1.0.0/sbml/0010/_0010.yaml similarity index 100% rename from petabtests/cases/0010/_0010.yaml rename to petabtests/cases/v1.0.0/sbml/0010/_0010.yaml diff --git a/petabtests/cases/0010/_0010_solution.yaml b/petabtests/cases/v1.0.0/sbml/0010/_0010_solution.yaml similarity index 100% rename from petabtests/cases/0010/_0010_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0010/_0010_solution.yaml diff --git a/petabtests/cases/0010/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0010/_conditions.tsv similarity index 100% rename from petabtests/cases/0010/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0010/_conditions.tsv diff --git a/petabtests/cases/0010/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0010/_measurements.tsv similarity index 100% rename from petabtests/cases/0010/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0010/_measurements.tsv diff --git a/petabtests/cases/0010/_model.xml b/petabtests/cases/v1.0.0/sbml/0010/_model.xml similarity index 100% rename from petabtests/cases/0010/_model.xml rename to petabtests/cases/v1.0.0/sbml/0010/_model.xml diff --git a/petabtests/cases/0010/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0010/_observables.tsv similarity index 100% rename from petabtests/cases/0010/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0010/_observables.tsv diff --git a/petabtests/cases/0010/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0010/_parameters.tsv similarity index 100% rename from petabtests/cases/0010/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0010/_parameters.tsv diff --git a/petabtests/cases/0010/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0010/_simulations.tsv similarity index 100% rename from petabtests/cases/0010/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0010/_simulations.tsv diff --git a/petabtests/cases/0010/conversion_modified.xml b/petabtests/cases/v1.0.0/sbml/0010/conversion_modified.xml similarity index 100% rename from petabtests/cases/0010/conversion_modified.xml rename to petabtests/cases/v1.0.0/sbml/0010/conversion_modified.xml diff --git a/petabtests/cases/0011/0011.py b/petabtests/cases/v1.0.0/sbml/0011/0011.py similarity index 100% rename from petabtests/cases/0011/0011.py rename to petabtests/cases/v1.0.0/sbml/0011/0011.py diff --git a/petabtests/cases/0011/README.md b/petabtests/cases/v1.0.0/sbml/0011/README.md similarity index 100% rename from petabtests/cases/0011/README.md rename to petabtests/cases/v1.0.0/sbml/0011/README.md diff --git a/petabtests/cases/0011/_0011.yaml b/petabtests/cases/v1.0.0/sbml/0011/_0011.yaml similarity index 100% rename from petabtests/cases/0011/_0011.yaml rename to petabtests/cases/v1.0.0/sbml/0011/_0011.yaml diff --git a/petabtests/cases/0011/_0011_solution.yaml b/petabtests/cases/v1.0.0/sbml/0011/_0011_solution.yaml similarity index 100% rename from petabtests/cases/0011/_0011_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0011/_0011_solution.yaml diff --git a/petabtests/cases/0011/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0011/_conditions.tsv similarity index 100% rename from petabtests/cases/0011/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0011/_conditions.tsv diff --git a/petabtests/cases/0011/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0011/_measurements.tsv similarity index 100% rename from petabtests/cases/0011/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0011/_measurements.tsv diff --git a/petabtests/cases/0011/_model.xml b/petabtests/cases/v1.0.0/sbml/0011/_model.xml similarity index 100% rename from petabtests/cases/0011/_model.xml rename to petabtests/cases/v1.0.0/sbml/0011/_model.xml diff --git a/petabtests/cases/0011/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0011/_observables.tsv similarity index 100% rename from petabtests/cases/0011/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0011/_observables.tsv diff --git a/petabtests/cases/0011/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0011/_parameters.tsv similarity index 100% rename from petabtests/cases/0011/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0011/_parameters.tsv diff --git a/petabtests/cases/0011/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0011/_simulations.tsv similarity index 100% rename from petabtests/cases/0011/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0011/_simulations.tsv diff --git a/petabtests/cases/0011/conversion_modified.xml b/petabtests/cases/v1.0.0/sbml/0011/conversion_modified.xml similarity index 100% rename from petabtests/cases/0011/conversion_modified.xml rename to petabtests/cases/v1.0.0/sbml/0011/conversion_modified.xml diff --git a/petabtests/cases/0012/0012.py b/petabtests/cases/v1.0.0/sbml/0012/0012.py similarity index 100% rename from petabtests/cases/0012/0012.py rename to petabtests/cases/v1.0.0/sbml/0012/0012.py diff --git a/petabtests/cases/0012/README.md b/petabtests/cases/v1.0.0/sbml/0012/README.md similarity index 100% rename from petabtests/cases/0012/README.md rename to petabtests/cases/v1.0.0/sbml/0012/README.md diff --git a/petabtests/cases/0012/_0012.yaml b/petabtests/cases/v1.0.0/sbml/0012/_0012.yaml similarity index 100% rename from petabtests/cases/0012/_0012.yaml rename to petabtests/cases/v1.0.0/sbml/0012/_0012.yaml diff --git a/petabtests/cases/0012/_0012_solution.yaml b/petabtests/cases/v1.0.0/sbml/0012/_0012_solution.yaml similarity index 100% rename from petabtests/cases/0012/_0012_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0012/_0012_solution.yaml diff --git a/petabtests/cases/0012/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0012/_conditions.tsv similarity index 100% rename from petabtests/cases/0012/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0012/_conditions.tsv diff --git a/petabtests/cases/0012/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0012/_measurements.tsv similarity index 100% rename from petabtests/cases/0012/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0012/_measurements.tsv diff --git a/petabtests/cases/0012/_model.xml b/petabtests/cases/v1.0.0/sbml/0012/_model.xml similarity index 100% rename from petabtests/cases/0012/_model.xml rename to petabtests/cases/v1.0.0/sbml/0012/_model.xml diff --git a/petabtests/cases/0012/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0012/_observables.tsv similarity index 100% rename from petabtests/cases/0012/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0012/_observables.tsv diff --git a/petabtests/cases/0012/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0012/_parameters.tsv similarity index 100% rename from petabtests/cases/0012/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0012/_parameters.tsv diff --git a/petabtests/cases/0012/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0012/_simulations.tsv similarity index 100% rename from petabtests/cases/0012/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0012/_simulations.tsv diff --git a/petabtests/cases/0013/0013.py b/petabtests/cases/v1.0.0/sbml/0013/0013.py similarity index 100% rename from petabtests/cases/0013/0013.py rename to petabtests/cases/v1.0.0/sbml/0013/0013.py diff --git a/petabtests/cases/0013/README.md b/petabtests/cases/v1.0.0/sbml/0013/README.md similarity index 100% rename from petabtests/cases/0013/README.md rename to petabtests/cases/v1.0.0/sbml/0013/README.md diff --git a/petabtests/cases/0013/_0013.yaml b/petabtests/cases/v1.0.0/sbml/0013/_0013.yaml similarity index 100% rename from petabtests/cases/0013/_0013.yaml rename to petabtests/cases/v1.0.0/sbml/0013/_0013.yaml diff --git a/petabtests/cases/0013/_0013_solution.yaml b/petabtests/cases/v1.0.0/sbml/0013/_0013_solution.yaml similarity index 100% rename from petabtests/cases/0013/_0013_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0013/_0013_solution.yaml diff --git a/petabtests/cases/0013/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0013/_conditions.tsv similarity index 100% rename from petabtests/cases/0013/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0013/_conditions.tsv diff --git a/petabtests/cases/0013/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0013/_measurements.tsv similarity index 100% rename from petabtests/cases/0013/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0013/_measurements.tsv diff --git a/petabtests/cases/0013/_model.xml b/petabtests/cases/v1.0.0/sbml/0013/_model.xml similarity index 100% rename from petabtests/cases/0013/_model.xml rename to petabtests/cases/v1.0.0/sbml/0013/_model.xml diff --git a/petabtests/cases/0013/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0013/_observables.tsv similarity index 100% rename from petabtests/cases/0013/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0013/_observables.tsv diff --git a/petabtests/cases/0013/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0013/_parameters.tsv similarity index 100% rename from petabtests/cases/0013/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0013/_parameters.tsv diff --git a/petabtests/cases/0013/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0013/_simulations.tsv similarity index 100% rename from petabtests/cases/0013/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0013/_simulations.tsv diff --git a/petabtests/cases/0013/conversion_modified.xml b/petabtests/cases/v1.0.0/sbml/0013/conversion_modified.xml similarity index 100% rename from petabtests/cases/0013/conversion_modified.xml rename to petabtests/cases/v1.0.0/sbml/0013/conversion_modified.xml diff --git a/petabtests/cases/0014/0014.py b/petabtests/cases/v1.0.0/sbml/0014/0014.py similarity index 100% rename from petabtests/cases/0014/0014.py rename to petabtests/cases/v1.0.0/sbml/0014/0014.py diff --git a/petabtests/cases/0014/README.md b/petabtests/cases/v1.0.0/sbml/0014/README.md similarity index 100% rename from petabtests/cases/0014/README.md rename to petabtests/cases/v1.0.0/sbml/0014/README.md diff --git a/petabtests/cases/0014/_0014.yaml b/petabtests/cases/v1.0.0/sbml/0014/_0014.yaml similarity index 100% rename from petabtests/cases/0014/_0014.yaml rename to petabtests/cases/v1.0.0/sbml/0014/_0014.yaml diff --git a/petabtests/cases/0014/_0014_solution.yaml b/petabtests/cases/v1.0.0/sbml/0014/_0014_solution.yaml similarity index 100% rename from petabtests/cases/0014/_0014_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0014/_0014_solution.yaml diff --git a/petabtests/cases/0014/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0014/_conditions.tsv similarity index 100% rename from petabtests/cases/0014/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0014/_conditions.tsv diff --git a/petabtests/cases/0014/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0014/_measurements.tsv similarity index 100% rename from petabtests/cases/0014/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0014/_measurements.tsv diff --git a/petabtests/cases/0014/_model.xml b/petabtests/cases/v1.0.0/sbml/0014/_model.xml similarity index 100% rename from petabtests/cases/0014/_model.xml rename to petabtests/cases/v1.0.0/sbml/0014/_model.xml diff --git a/petabtests/cases/0014/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0014/_observables.tsv similarity index 100% rename from petabtests/cases/0014/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0014/_observables.tsv diff --git a/petabtests/cases/0014/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0014/_parameters.tsv similarity index 100% rename from petabtests/cases/0014/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0014/_parameters.tsv diff --git a/petabtests/cases/0014/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0014/_simulations.tsv similarity index 100% rename from petabtests/cases/0014/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0014/_simulations.tsv diff --git a/petabtests/cases/0015/0015.py b/petabtests/cases/v1.0.0/sbml/0015/0015.py similarity index 100% rename from petabtests/cases/0015/0015.py rename to petabtests/cases/v1.0.0/sbml/0015/0015.py diff --git a/petabtests/cases/0015/README.md b/petabtests/cases/v1.0.0/sbml/0015/README.md similarity index 100% rename from petabtests/cases/0015/README.md rename to petabtests/cases/v1.0.0/sbml/0015/README.md diff --git a/petabtests/cases/0015/_0015.yaml b/petabtests/cases/v1.0.0/sbml/0015/_0015.yaml similarity index 100% rename from petabtests/cases/0015/_0015.yaml rename to petabtests/cases/v1.0.0/sbml/0015/_0015.yaml diff --git a/petabtests/cases/0015/_0015_solution.yaml b/petabtests/cases/v1.0.0/sbml/0015/_0015_solution.yaml similarity index 100% rename from petabtests/cases/0015/_0015_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0015/_0015_solution.yaml diff --git a/petabtests/cases/0015/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0015/_conditions.tsv similarity index 100% rename from petabtests/cases/0015/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0015/_conditions.tsv diff --git a/petabtests/cases/0015/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0015/_measurements.tsv similarity index 100% rename from petabtests/cases/0015/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0015/_measurements.tsv diff --git a/petabtests/cases/0015/_model.xml b/petabtests/cases/v1.0.0/sbml/0015/_model.xml similarity index 100% rename from petabtests/cases/0015/_model.xml rename to petabtests/cases/v1.0.0/sbml/0015/_model.xml diff --git a/petabtests/cases/0015/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0015/_observables.tsv similarity index 100% rename from petabtests/cases/0015/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0015/_observables.tsv diff --git a/petabtests/cases/0015/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0015/_parameters.tsv similarity index 100% rename from petabtests/cases/0015/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0015/_parameters.tsv diff --git a/petabtests/cases/0015/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0015/_simulations.tsv similarity index 100% rename from petabtests/cases/0015/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0015/_simulations.tsv diff --git a/petabtests/cases/0016/0016.py b/petabtests/cases/v1.0.0/sbml/0016/0016.py similarity index 100% rename from petabtests/cases/0016/0016.py rename to petabtests/cases/v1.0.0/sbml/0016/0016.py diff --git a/petabtests/cases/0016/README.md b/petabtests/cases/v1.0.0/sbml/0016/README.md similarity index 100% rename from petabtests/cases/0016/README.md rename to petabtests/cases/v1.0.0/sbml/0016/README.md diff --git a/petabtests/cases/0016/_0016.yaml b/petabtests/cases/v1.0.0/sbml/0016/_0016.yaml similarity index 100% rename from petabtests/cases/0016/_0016.yaml rename to petabtests/cases/v1.0.0/sbml/0016/_0016.yaml diff --git a/petabtests/cases/0016/_0016_solution.yaml b/petabtests/cases/v1.0.0/sbml/0016/_0016_solution.yaml similarity index 100% rename from petabtests/cases/0016/_0016_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0016/_0016_solution.yaml diff --git a/petabtests/cases/0016/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0016/_conditions.tsv similarity index 100% rename from petabtests/cases/0016/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0016/_conditions.tsv diff --git a/petabtests/cases/0016/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0016/_measurements.tsv similarity index 100% rename from petabtests/cases/0016/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0016/_measurements.tsv diff --git a/petabtests/cases/0016/_model.xml b/petabtests/cases/v1.0.0/sbml/0016/_model.xml similarity index 100% rename from petabtests/cases/0016/_model.xml rename to petabtests/cases/v1.0.0/sbml/0016/_model.xml diff --git a/petabtests/cases/0016/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0016/_observables.tsv similarity index 100% rename from petabtests/cases/0016/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0016/_observables.tsv diff --git a/petabtests/cases/0016/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0016/_parameters.tsv similarity index 100% rename from petabtests/cases/0016/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0016/_parameters.tsv diff --git a/petabtests/cases/0016/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0016/_simulations.tsv similarity index 100% rename from petabtests/cases/0016/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0016/_simulations.tsv diff --git a/petabtests/cases/0017/0017.py b/petabtests/cases/v1.0.0/sbml/0017/0017.py similarity index 100% rename from petabtests/cases/0017/0017.py rename to petabtests/cases/v1.0.0/sbml/0017/0017.py diff --git a/petabtests/cases/0017/README.md b/petabtests/cases/v1.0.0/sbml/0017/README.md similarity index 100% rename from petabtests/cases/0017/README.md rename to petabtests/cases/v1.0.0/sbml/0017/README.md diff --git a/petabtests/cases/0017/_0017.yaml b/petabtests/cases/v1.0.0/sbml/0017/_0017.yaml similarity index 100% rename from petabtests/cases/0017/_0017.yaml rename to petabtests/cases/v1.0.0/sbml/0017/_0017.yaml diff --git a/petabtests/cases/0017/_0017_solution.yaml b/petabtests/cases/v1.0.0/sbml/0017/_0017_solution.yaml similarity index 100% rename from petabtests/cases/0017/_0017_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0017/_0017_solution.yaml diff --git a/petabtests/cases/0017/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0017/_conditions.tsv similarity index 100% rename from petabtests/cases/0017/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0017/_conditions.tsv diff --git a/petabtests/cases/0017/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0017/_measurements.tsv similarity index 100% rename from petabtests/cases/0017/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0017/_measurements.tsv diff --git a/petabtests/cases/0017/_model.xml b/petabtests/cases/v1.0.0/sbml/0017/_model.xml similarity index 100% rename from petabtests/cases/0017/_model.xml rename to petabtests/cases/v1.0.0/sbml/0017/_model.xml diff --git a/petabtests/cases/0017/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0017/_observables.tsv similarity index 100% rename from petabtests/cases/0017/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0017/_observables.tsv diff --git a/petabtests/cases/0017/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0017/_parameters.tsv similarity index 100% rename from petabtests/cases/0017/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0017/_parameters.tsv diff --git a/petabtests/cases/0017/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0017/_simulations.tsv similarity index 100% rename from petabtests/cases/0017/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0017/_simulations.tsv diff --git a/petabtests/cases/0018/0018.py b/petabtests/cases/v1.0.0/sbml/0018/0018.py similarity index 100% rename from petabtests/cases/0018/0018.py rename to petabtests/cases/v1.0.0/sbml/0018/0018.py diff --git a/petabtests/cases/0018/README.md b/petabtests/cases/v1.0.0/sbml/0018/README.md similarity index 100% rename from petabtests/cases/0018/README.md rename to petabtests/cases/v1.0.0/sbml/0018/README.md diff --git a/petabtests/cases/0018/_0018.yaml b/petabtests/cases/v1.0.0/sbml/0018/_0018.yaml similarity index 100% rename from petabtests/cases/0018/_0018.yaml rename to petabtests/cases/v1.0.0/sbml/0018/_0018.yaml diff --git a/petabtests/cases/0018/_0018_solution.yaml b/petabtests/cases/v1.0.0/sbml/0018/_0018_solution.yaml similarity index 100% rename from petabtests/cases/0018/_0018_solution.yaml rename to petabtests/cases/v1.0.0/sbml/0018/_0018_solution.yaml diff --git a/petabtests/cases/0018/_conditions.tsv b/petabtests/cases/v1.0.0/sbml/0018/_conditions.tsv similarity index 100% rename from petabtests/cases/0018/_conditions.tsv rename to petabtests/cases/v1.0.0/sbml/0018/_conditions.tsv diff --git a/petabtests/cases/0018/_measurements.tsv b/petabtests/cases/v1.0.0/sbml/0018/_measurements.tsv similarity index 100% rename from petabtests/cases/0018/_measurements.tsv rename to petabtests/cases/v1.0.0/sbml/0018/_measurements.tsv diff --git a/petabtests/cases/0018/_model.xml b/petabtests/cases/v1.0.0/sbml/0018/_model.xml similarity index 100% rename from petabtests/cases/0018/_model.xml rename to petabtests/cases/v1.0.0/sbml/0018/_model.xml diff --git a/petabtests/cases/0018/_observables.tsv b/petabtests/cases/v1.0.0/sbml/0018/_observables.tsv similarity index 100% rename from petabtests/cases/0018/_observables.tsv rename to petabtests/cases/v1.0.0/sbml/0018/_observables.tsv diff --git a/petabtests/cases/0018/_parameters.tsv b/petabtests/cases/v1.0.0/sbml/0018/_parameters.tsv similarity index 100% rename from petabtests/cases/0018/_parameters.tsv rename to petabtests/cases/v1.0.0/sbml/0018/_parameters.tsv diff --git a/petabtests/cases/0018/_simulations.tsv b/petabtests/cases/v1.0.0/sbml/0018/_simulations.tsv similarity index 100% rename from petabtests/cases/0018/_simulations.tsv rename to petabtests/cases/v1.0.0/sbml/0018/_simulations.tsv diff --git a/petabtests/cases/0018/model.xml b/petabtests/cases/v1.0.0/sbml/0018/model.xml similarity index 100% rename from petabtests/cases/0018/model.xml rename to petabtests/cases/v1.0.0/sbml/0018/model.xml diff --git a/petabtests/cases/README.md b/petabtests/cases/v1.0.0/sbml/README.md similarity index 100% rename from petabtests/cases/README.md rename to petabtests/cases/v1.0.0/sbml/README.md diff --git a/petabtests/cases/pysb/0001/0001.py b/petabtests/cases/v2.0.0/pysb/0001/0001.py similarity index 100% rename from petabtests/cases/pysb/0001/0001.py rename to petabtests/cases/v2.0.0/pysb/0001/0001.py diff --git a/petabtests/cases/pysb/0001/README.md b/petabtests/cases/v2.0.0/pysb/0001/README.md similarity index 100% rename from petabtests/cases/pysb/0001/README.md rename to petabtests/cases/v2.0.0/pysb/0001/README.md diff --git a/petabtests/cases/pysb/0001/_0001.yaml b/petabtests/cases/v2.0.0/pysb/0001/_0001.yaml similarity index 62% rename from petabtests/cases/pysb/0001/_0001.yaml rename to petabtests/cases/v2.0.0/pysb/0001/_0001.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0001/_0001.yaml +++ b/petabtests/cases/v2.0.0/pysb/0001/_0001.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0001/_0001_solution.yaml b/petabtests/cases/v2.0.0/pysb/0001/_0001_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0001/_0001_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0001/_0001_solution.yaml diff --git a/petabtests/cases/pysb/0001/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0001/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0001/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0001/_conditions.tsv diff --git a/petabtests/cases/pysb/0001/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0001/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0001/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0001/_measurements.tsv diff --git a/petabtests/cases/pysb/0001/_model.py b/petabtests/cases/v2.0.0/pysb/0001/_model.py similarity index 100% rename from petabtests/cases/pysb/0001/_model.py rename to petabtests/cases/v2.0.0/pysb/0001/_model.py diff --git a/petabtests/cases/pysb/0001/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0001/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0001/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0001/_observables.tsv diff --git a/petabtests/cases/pysb/0001/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0001/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0001/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0001/_parameters.tsv diff --git a/petabtests/cases/pysb/0001/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0001/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0001/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0001/_simulations.tsv diff --git a/petabtests/cases/pysb/0002/0002.py b/petabtests/cases/v2.0.0/pysb/0002/0002.py similarity index 100% rename from petabtests/cases/pysb/0002/0002.py rename to petabtests/cases/v2.0.0/pysb/0002/0002.py diff --git a/petabtests/cases/pysb/0002/README.md b/petabtests/cases/v2.0.0/pysb/0002/README.md similarity index 100% rename from petabtests/cases/pysb/0002/README.md rename to petabtests/cases/v2.0.0/pysb/0002/README.md diff --git a/petabtests/cases/pysb/0002/_0002.yaml b/petabtests/cases/v2.0.0/pysb/0002/_0002.yaml similarity index 62% rename from petabtests/cases/pysb/0002/_0002.yaml rename to petabtests/cases/v2.0.0/pysb/0002/_0002.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0002/_0002.yaml +++ b/petabtests/cases/v2.0.0/pysb/0002/_0002.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0002/_0002_solution.yaml b/petabtests/cases/v2.0.0/pysb/0002/_0002_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0002/_0002_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0002/_0002_solution.yaml diff --git a/petabtests/cases/pysb/0002/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0002/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0002/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0002/_conditions.tsv diff --git a/petabtests/cases/pysb/0002/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0002/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0002/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0002/_measurements.tsv diff --git a/petabtests/cases/pysb/0002/_model.py b/petabtests/cases/v2.0.0/pysb/0002/_model.py similarity index 100% rename from petabtests/cases/pysb/0002/_model.py rename to petabtests/cases/v2.0.0/pysb/0002/_model.py diff --git a/petabtests/cases/pysb/0002/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0002/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0002/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0002/_observables.tsv diff --git a/petabtests/cases/pysb/0002/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0002/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0002/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0002/_parameters.tsv diff --git a/petabtests/cases/pysb/0002/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0002/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0002/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0002/_simulations.tsv diff --git a/petabtests/cases/pysb/0003/0003.py b/petabtests/cases/v2.0.0/pysb/0003/0003.py similarity index 100% rename from petabtests/cases/pysb/0003/0003.py rename to petabtests/cases/v2.0.0/pysb/0003/0003.py diff --git a/petabtests/cases/pysb/0003/README.md b/petabtests/cases/v2.0.0/pysb/0003/README.md similarity index 100% rename from petabtests/cases/pysb/0003/README.md rename to petabtests/cases/v2.0.0/pysb/0003/README.md diff --git a/petabtests/cases/pysb/0003/_0003.yaml b/petabtests/cases/v2.0.0/pysb/0003/_0003.yaml similarity index 62% rename from petabtests/cases/pysb/0003/_0003.yaml rename to petabtests/cases/v2.0.0/pysb/0003/_0003.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0003/_0003.yaml +++ b/petabtests/cases/v2.0.0/pysb/0003/_0003.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0003/_0003_solution.yaml b/petabtests/cases/v2.0.0/pysb/0003/_0003_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0003/_0003_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0003/_0003_solution.yaml diff --git a/petabtests/cases/pysb/0003/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0003/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0003/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0003/_conditions.tsv diff --git a/petabtests/cases/pysb/0003/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0003/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0003/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0003/_measurements.tsv diff --git a/petabtests/cases/pysb/0003/_model.py b/petabtests/cases/v2.0.0/pysb/0003/_model.py similarity index 100% rename from petabtests/cases/pysb/0003/_model.py rename to petabtests/cases/v2.0.0/pysb/0003/_model.py diff --git a/petabtests/cases/pysb/0003/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0003/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0003/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0003/_observables.tsv diff --git a/petabtests/cases/pysb/0003/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0003/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0003/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0003/_parameters.tsv diff --git a/petabtests/cases/pysb/0003/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0003/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0003/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0003/_simulations.tsv diff --git a/petabtests/cases/pysb/0004/0004.py b/petabtests/cases/v2.0.0/pysb/0004/0004.py similarity index 100% rename from petabtests/cases/pysb/0004/0004.py rename to petabtests/cases/v2.0.0/pysb/0004/0004.py diff --git a/petabtests/cases/pysb/0004/README.md b/petabtests/cases/v2.0.0/pysb/0004/README.md similarity index 100% rename from petabtests/cases/pysb/0004/README.md rename to petabtests/cases/v2.0.0/pysb/0004/README.md diff --git a/petabtests/cases/pysb/0004/_0004.yaml b/petabtests/cases/v2.0.0/pysb/0004/_0004.yaml similarity index 62% rename from petabtests/cases/pysb/0004/_0004.yaml rename to petabtests/cases/v2.0.0/pysb/0004/_0004.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0004/_0004.yaml +++ b/petabtests/cases/v2.0.0/pysb/0004/_0004.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0004/_0004_solution.yaml b/petabtests/cases/v2.0.0/pysb/0004/_0004_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0004/_0004_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0004/_0004_solution.yaml diff --git a/petabtests/cases/pysb/0004/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0004/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0004/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0004/_conditions.tsv diff --git a/petabtests/cases/pysb/0004/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0004/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0004/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0004/_measurements.tsv diff --git a/petabtests/cases/pysb/0004/_model.py b/petabtests/cases/v2.0.0/pysb/0004/_model.py similarity index 100% rename from petabtests/cases/pysb/0004/_model.py rename to petabtests/cases/v2.0.0/pysb/0004/_model.py diff --git a/petabtests/cases/pysb/0004/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0004/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0004/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0004/_observables.tsv diff --git a/petabtests/cases/pysb/0004/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0004/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0004/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0004/_parameters.tsv diff --git a/petabtests/cases/pysb/0004/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0004/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0004/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0004/_simulations.tsv diff --git a/petabtests/cases/pysb/0005/0005.py b/petabtests/cases/v2.0.0/pysb/0005/0005.py similarity index 100% rename from petabtests/cases/pysb/0005/0005.py rename to petabtests/cases/v2.0.0/pysb/0005/0005.py diff --git a/petabtests/cases/pysb/0005/README.md b/petabtests/cases/v2.0.0/pysb/0005/README.md similarity index 100% rename from petabtests/cases/pysb/0005/README.md rename to petabtests/cases/v2.0.0/pysb/0005/README.md diff --git a/petabtests/cases/pysb/0005/_0005.yaml b/petabtests/cases/v2.0.0/pysb/0005/_0005.yaml similarity index 62% rename from petabtests/cases/pysb/0005/_0005.yaml rename to petabtests/cases/v2.0.0/pysb/0005/_0005.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0005/_0005.yaml +++ b/petabtests/cases/v2.0.0/pysb/0005/_0005.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0005/_0005_solution.yaml b/petabtests/cases/v2.0.0/pysb/0005/_0005_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0005/_0005_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0005/_0005_solution.yaml diff --git a/petabtests/cases/pysb/0005/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0005/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0005/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0005/_conditions.tsv diff --git a/petabtests/cases/pysb/0005/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0005/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0005/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0005/_measurements.tsv diff --git a/petabtests/cases/pysb/0005/_model.py b/petabtests/cases/v2.0.0/pysb/0005/_model.py similarity index 100% rename from petabtests/cases/pysb/0005/_model.py rename to petabtests/cases/v2.0.0/pysb/0005/_model.py diff --git a/petabtests/cases/pysb/0005/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0005/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0005/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0005/_observables.tsv diff --git a/petabtests/cases/pysb/0005/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0005/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0005/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0005/_parameters.tsv diff --git a/petabtests/cases/pysb/0005/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0005/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0005/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0005/_simulations.tsv diff --git a/petabtests/cases/pysb/0005/conversion_modified_pysb.py b/petabtests/cases/v2.0.0/pysb/0005/conversion_modified_pysb.py similarity index 100% rename from petabtests/cases/pysb/0005/conversion_modified_pysb.py rename to petabtests/cases/v2.0.0/pysb/0005/conversion_modified_pysb.py diff --git a/petabtests/cases/pysb/0006/0006.py b/petabtests/cases/v2.0.0/pysb/0006/0006.py similarity index 100% rename from petabtests/cases/pysb/0006/0006.py rename to petabtests/cases/v2.0.0/pysb/0006/0006.py diff --git a/petabtests/cases/pysb/0006/README.md b/petabtests/cases/v2.0.0/pysb/0006/README.md similarity index 100% rename from petabtests/cases/pysb/0006/README.md rename to petabtests/cases/v2.0.0/pysb/0006/README.md diff --git a/petabtests/cases/pysb/0006/_0006.yaml b/petabtests/cases/v2.0.0/pysb/0006/_0006.yaml similarity index 62% rename from petabtests/cases/pysb/0006/_0006.yaml rename to petabtests/cases/v2.0.0/pysb/0006/_0006.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0006/_0006.yaml +++ b/petabtests/cases/v2.0.0/pysb/0006/_0006.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0006/_0006_solution.yaml b/petabtests/cases/v2.0.0/pysb/0006/_0006_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0006/_0006_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0006/_0006_solution.yaml diff --git a/petabtests/cases/pysb/0006/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0006/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0006/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0006/_conditions.tsv diff --git a/petabtests/cases/pysb/0006/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0006/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0006/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0006/_measurements.tsv diff --git a/petabtests/cases/pysb/0006/_model.py b/petabtests/cases/v2.0.0/pysb/0006/_model.py similarity index 100% rename from petabtests/cases/pysb/0006/_model.py rename to petabtests/cases/v2.0.0/pysb/0006/_model.py diff --git a/petabtests/cases/pysb/0006/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0006/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0006/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0006/_observables.tsv diff --git a/petabtests/cases/pysb/0006/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0006/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0006/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0006/_parameters.tsv diff --git a/petabtests/cases/pysb/0006/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0006/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0006/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0006/_simulations.tsv diff --git a/petabtests/cases/pysb/0007/0007.py b/petabtests/cases/v2.0.0/pysb/0007/0007.py similarity index 100% rename from petabtests/cases/pysb/0007/0007.py rename to petabtests/cases/v2.0.0/pysb/0007/0007.py diff --git a/petabtests/cases/pysb/0007/README.md b/petabtests/cases/v2.0.0/pysb/0007/README.md similarity index 100% rename from petabtests/cases/pysb/0007/README.md rename to petabtests/cases/v2.0.0/pysb/0007/README.md diff --git a/petabtests/cases/pysb/0007/_0007.yaml b/petabtests/cases/v2.0.0/pysb/0007/_0007.yaml similarity index 62% rename from petabtests/cases/pysb/0007/_0007.yaml rename to petabtests/cases/v2.0.0/pysb/0007/_0007.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0007/_0007.yaml +++ b/petabtests/cases/v2.0.0/pysb/0007/_0007.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0007/_0007_solution.yaml b/petabtests/cases/v2.0.0/pysb/0007/_0007_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0007/_0007_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0007/_0007_solution.yaml diff --git a/petabtests/cases/pysb/0007/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0007/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0007/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0007/_conditions.tsv diff --git a/petabtests/cases/pysb/0007/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0007/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0007/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0007/_measurements.tsv diff --git a/petabtests/cases/pysb/0007/_model.py b/petabtests/cases/v2.0.0/pysb/0007/_model.py similarity index 100% rename from petabtests/cases/pysb/0007/_model.py rename to petabtests/cases/v2.0.0/pysb/0007/_model.py diff --git a/petabtests/cases/pysb/0007/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0007/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0007/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0007/_observables.tsv diff --git a/petabtests/cases/pysb/0007/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0007/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0007/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0007/_parameters.tsv diff --git a/petabtests/cases/pysb/0007/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0007/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0007/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0007/_simulations.tsv diff --git a/petabtests/cases/pysb/0008/0008.py b/petabtests/cases/v2.0.0/pysb/0008/0008.py similarity index 100% rename from petabtests/cases/pysb/0008/0008.py rename to petabtests/cases/v2.0.0/pysb/0008/0008.py diff --git a/petabtests/cases/pysb/0008/README.md b/petabtests/cases/v2.0.0/pysb/0008/README.md similarity index 100% rename from petabtests/cases/pysb/0008/README.md rename to petabtests/cases/v2.0.0/pysb/0008/README.md diff --git a/petabtests/cases/pysb/0008/_0008.yaml b/petabtests/cases/v2.0.0/pysb/0008/_0008.yaml similarity index 62% rename from petabtests/cases/pysb/0008/_0008.yaml rename to petabtests/cases/v2.0.0/pysb/0008/_0008.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0008/_0008.yaml +++ b/petabtests/cases/v2.0.0/pysb/0008/_0008.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0008/_0008_solution.yaml b/petabtests/cases/v2.0.0/pysb/0008/_0008_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0008/_0008_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0008/_0008_solution.yaml diff --git a/petabtests/cases/pysb/0008/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0008/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0008/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0008/_conditions.tsv diff --git a/petabtests/cases/pysb/0008/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0008/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0008/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0008/_measurements.tsv diff --git a/petabtests/cases/pysb/0008/_model.py b/petabtests/cases/v2.0.0/pysb/0008/_model.py similarity index 100% rename from petabtests/cases/pysb/0008/_model.py rename to petabtests/cases/v2.0.0/pysb/0008/_model.py diff --git a/petabtests/cases/pysb/0008/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0008/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0008/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0008/_observables.tsv diff --git a/petabtests/cases/pysb/0008/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0008/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0008/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0008/_parameters.tsv diff --git a/petabtests/cases/pysb/0008/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0008/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0008/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0008/_simulations.tsv diff --git a/petabtests/cases/pysb/0009/0009.py b/petabtests/cases/v2.0.0/pysb/0009/0009.py similarity index 100% rename from petabtests/cases/pysb/0009/0009.py rename to petabtests/cases/v2.0.0/pysb/0009/0009.py diff --git a/petabtests/cases/pysb/0009/README.md b/petabtests/cases/v2.0.0/pysb/0009/README.md similarity index 100% rename from petabtests/cases/pysb/0009/README.md rename to petabtests/cases/v2.0.0/pysb/0009/README.md diff --git a/petabtests/cases/pysb/0009/_0009.yaml b/petabtests/cases/v2.0.0/pysb/0009/_0009.yaml similarity index 62% rename from petabtests/cases/pysb/0009/_0009.yaml rename to petabtests/cases/v2.0.0/pysb/0009/_0009.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0009/_0009.yaml +++ b/petabtests/cases/v2.0.0/pysb/0009/_0009.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0009/_0009_solution.yaml b/petabtests/cases/v2.0.0/pysb/0009/_0009_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0009/_0009_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0009/_0009_solution.yaml diff --git a/petabtests/cases/pysb/0009/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0009/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0009/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0009/_conditions.tsv diff --git a/petabtests/cases/pysb/0009/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0009/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0009/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0009/_measurements.tsv diff --git a/petabtests/cases/pysb/0009/_model.py b/petabtests/cases/v2.0.0/pysb/0009/_model.py similarity index 100% rename from petabtests/cases/pysb/0009/_model.py rename to petabtests/cases/v2.0.0/pysb/0009/_model.py diff --git a/petabtests/cases/pysb/0009/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0009/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0009/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0009/_observables.tsv diff --git a/petabtests/cases/pysb/0009/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0009/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0009/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0009/_parameters.tsv diff --git a/petabtests/cases/pysb/0009/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0009/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0009/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0009/_simulations.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0010/0010.py b/petabtests/cases/v2.0.0/pysb/0010/0010.py new file mode 100644 index 0000000..9b0a1ba --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0010/0010.py @@ -0,0 +1,83 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_PYSB_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for partial preequilibration. + +The model is to be simulated for a preequilibration condition and a +simulation condition. +Species `B` is to be reinitialized after preequilibration. +For `A` the preequilibration result is to be used. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['preeq_c0', 'c0'], + 'k1': [0.3, 0.8], + 'B': [0, 1], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + PREEQUILIBRATION_CONDITION_ID: ['preeq_c0', 'preeq_c0'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [1, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['k2'], + PARAMETER_SCALE: [LIN], + LOWER_BOUND: [0], + UPPER_BOUND: [10], + NOMINAL_VALUE: [0.6], + ESTIMATE: [1], +}).set_index(PARAMETER_ID) + +mapping_df = pd.DataFrame(data={ + PETAB_ENTITY_ID: ['A', 'B'], + MODEL_ENTITY_ID: ['A_() ** compartment', 'B_() ** compartment'], +}).set_index(PETAB_ENTITY_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +# simulate for far time point as steady state +steady_state_a = analytical_a(1000, 1, 0, 0.3, 0.6) +# use steady state as initial state +simulation_df[SIMULATION] = [ + analytical_a(t, steady_state_a, 1, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=10, + brief="Simulation. Preequilibration. One species reinitialized, one not. " + "InitialAssignment to species overridden.", + description=DESCRIPTION, + model=DEFAULT_PYSB_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, + mapping_df=mapping_df, +) diff --git a/petabtests/cases/pysb/0010/README.md b/petabtests/cases/v2.0.0/pysb/0010/README.md similarity index 100% rename from petabtests/cases/pysb/0010/README.md rename to petabtests/cases/v2.0.0/pysb/0010/README.md diff --git a/petabtests/cases/v2.0.0/pysb/0010/_0010.yaml b/petabtests/cases/v2.0.0/pysb/0010/_0010.yaml new file mode 100644 index 0000000..b0976ad --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0010/_0010.yaml @@ -0,0 +1,14 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + mapping_file: _mapping.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py + observable_files: + - _observables.tsv diff --git a/petabtests/cases/pysb/0010/_0010_solution.yaml b/petabtests/cases/v2.0.0/pysb/0010/_0010_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0010/_0010_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0010/_0010_solution.yaml diff --git a/petabtests/cases/pysb/0010/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0010/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0010/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0010/_conditions.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0010/_mapping.tsv b/petabtests/cases/v2.0.0/pysb/0010/_mapping.tsv new file mode 100644 index 0000000..18782a0 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0010/_mapping.tsv @@ -0,0 +1,3 @@ +petabEntityId modelEntityId +A A_() ** compartment +B B_() ** compartment diff --git a/petabtests/cases/pysb/0010/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0010/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0010/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0010/_measurements.tsv diff --git a/petabtests/cases/pysb/0010/_model.py b/petabtests/cases/v2.0.0/pysb/0010/_model.py similarity index 100% rename from petabtests/cases/pysb/0010/_model.py rename to petabtests/cases/v2.0.0/pysb/0010/_model.py diff --git a/petabtests/cases/pysb/0010/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0010/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0010/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0010/_observables.tsv diff --git a/petabtests/cases/pysb/0010/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0010/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0010/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0010/_parameters.tsv diff --git a/petabtests/cases/pysb/0010/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0010/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0010/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0010/_simulations.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0011/0011.py b/petabtests/cases/v2.0.0/pysb/0011/0011.py new file mode 100644 index 0000000..ac8ae9b --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0011/0011.py @@ -0,0 +1,73 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests initial concentrations in the condition table. +For species `B`, the initial concentration is specified in the condition +table, while for `A` it is given via an assignment rule in the SBML model. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], + 'B': [2] +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['k1', 'k2'], + PARAMETER_SCALE: [LIN] * 2, + LOWER_BOUND: [0] * 2, + UPPER_BOUND: [10] * 2, + NOMINAL_VALUE: [0.8, 0.6], + ESTIMATE: [1] * 2, +}).set_index(PARAMETER_ID) + +mapping_df = pd.DataFrame(data={ + PETAB_ENTITY_ID: ['A', 'B'], + MODEL_ENTITY_ID: ['A_() ** compartment', 'B_() ** compartment'], +}).set_index(PETAB_ENTITY_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [analytical_a(t, 1, 2, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=11, + brief="Simulation. InitialAssignment to species overridden.", + description=DESCRIPTION, + model='conversion_modified_pysb.py', + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, + mapping_df=mapping_df, +) diff --git a/petabtests/cases/pysb/0011/README.md b/petabtests/cases/v2.0.0/pysb/0011/README.md similarity index 100% rename from petabtests/cases/pysb/0011/README.md rename to petabtests/cases/v2.0.0/pysb/0011/README.md diff --git a/petabtests/cases/v2.0.0/pysb/0011/_0011.yaml b/petabtests/cases/v2.0.0/pysb/0011/_0011.yaml new file mode 100644 index 0000000..b0976ad --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0011/_0011.yaml @@ -0,0 +1,14 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + mapping_file: _mapping.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py + observable_files: + - _observables.tsv diff --git a/petabtests/cases/pysb/0011/_0011_solution.yaml b/petabtests/cases/v2.0.0/pysb/0011/_0011_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0011/_0011_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0011/_0011_solution.yaml diff --git a/petabtests/cases/pysb/0011/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0011/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0011/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0011/_conditions.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0011/_mapping.tsv b/petabtests/cases/v2.0.0/pysb/0011/_mapping.tsv new file mode 100644 index 0000000..18782a0 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0011/_mapping.tsv @@ -0,0 +1,3 @@ +petabEntityId modelEntityId +A A_() ** compartment +B B_() ** compartment diff --git a/petabtests/cases/pysb/0011/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0011/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0011/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0011/_measurements.tsv diff --git a/petabtests/cases/pysb/0011/_model.py b/petabtests/cases/v2.0.0/pysb/0011/_model.py similarity index 100% rename from petabtests/cases/pysb/0011/_model.py rename to petabtests/cases/v2.0.0/pysb/0011/_model.py diff --git a/petabtests/cases/pysb/0011/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0011/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0011/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0011/_observables.tsv diff --git a/petabtests/cases/pysb/0011/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0011/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0011/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0011/_parameters.tsv diff --git a/petabtests/cases/pysb/0011/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0011/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0011/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0011/_simulations.tsv diff --git a/petabtests/cases/pysb/0011/conversion_modified_pysb.py b/petabtests/cases/v2.0.0/pysb/0011/conversion_modified_pysb.py similarity index 100% rename from petabtests/cases/pysb/0011/conversion_modified_pysb.py rename to petabtests/cases/v2.0.0/pysb/0011/conversion_modified_pysb.py diff --git a/petabtests/cases/pysb/0012/0012.py b/petabtests/cases/v2.0.0/pysb/0012/0012.py similarity index 100% rename from petabtests/cases/pysb/0012/0012.py rename to petabtests/cases/v2.0.0/pysb/0012/0012.py diff --git a/petabtests/cases/pysb/0012/README.md b/petabtests/cases/v2.0.0/pysb/0012/README.md similarity index 100% rename from petabtests/cases/pysb/0012/README.md rename to petabtests/cases/v2.0.0/pysb/0012/README.md diff --git a/petabtests/cases/pysb/0012/_0012.yaml b/petabtests/cases/v2.0.0/pysb/0012/_0012.yaml similarity index 62% rename from petabtests/cases/pysb/0012/_0012.yaml rename to petabtests/cases/v2.0.0/pysb/0012/_0012.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0012/_0012.yaml +++ b/petabtests/cases/v2.0.0/pysb/0012/_0012.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0012/_0012_solution.yaml b/petabtests/cases/v2.0.0/pysb/0012/_0012_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0012/_0012_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0012/_0012_solution.yaml diff --git a/petabtests/cases/pysb/0012/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0012/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0012/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0012/_conditions.tsv diff --git a/petabtests/cases/pysb/0012/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0012/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0012/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0012/_measurements.tsv diff --git a/petabtests/cases/pysb/0012/_model.py b/petabtests/cases/v2.0.0/pysb/0012/_model.py similarity index 100% rename from petabtests/cases/pysb/0012/_model.py rename to petabtests/cases/v2.0.0/pysb/0012/_model.py diff --git a/petabtests/cases/pysb/0012/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0012/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0012/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0012/_observables.tsv diff --git a/petabtests/cases/pysb/0012/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0012/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0012/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0012/_parameters.tsv diff --git a/petabtests/cases/pysb/0012/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0012/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0012/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0012/_simulations.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0013/0013.py b/petabtests/cases/v2.0.0/pysb/0013/0013.py new file mode 100644 index 0000000..8913472 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0013/0013.py @@ -0,0 +1,74 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests parametric initial concentrations in the condition table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], + 'B': ['par'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['k1', 'k2', 'par'], + PARAMETER_SCALE: [LIN] * 3, + LOWER_BOUND: [0] * 3, + UPPER_BOUND: [10] * 3, + NOMINAL_VALUE: [0.8, 0.6, 7], + ESTIMATE: [1] * 3, +}).set_index(PARAMETER_ID) + +mapping_df = pd.DataFrame(data={ + PETAB_ENTITY_ID: ['A', 'B'], + MODEL_ENTITY_ID: ['A_() ** compartment', 'B_() ** compartment'], +}).set_index(PETAB_ENTITY_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +# in the model, concentrations are used, which do not depend on the +# compartment size, so that the species values should stay the same +simulation_df[SIMULATION] = [analytical_a(t, 1, 7, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=13, + brief="Simulation. Species with InitialAssignment overridden by " + "parameter.", + description=DESCRIPTION, + model='conversion_modified_pysb.py', + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, + mapping_df=mapping_df, +) diff --git a/petabtests/cases/pysb/0013/README.md b/petabtests/cases/v2.0.0/pysb/0013/README.md similarity index 100% rename from petabtests/cases/pysb/0013/README.md rename to petabtests/cases/v2.0.0/pysb/0013/README.md diff --git a/petabtests/cases/v2.0.0/pysb/0013/_0013.yaml b/petabtests/cases/v2.0.0/pysb/0013/_0013.yaml new file mode 100644 index 0000000..b0976ad --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0013/_0013.yaml @@ -0,0 +1,14 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + mapping_file: _mapping.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py + observable_files: + - _observables.tsv diff --git a/petabtests/cases/pysb/0013/_0013_solution.yaml b/petabtests/cases/v2.0.0/pysb/0013/_0013_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0013/_0013_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0013/_0013_solution.yaml diff --git a/petabtests/cases/pysb/0013/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0013/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0013/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0013/_conditions.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0013/_mapping.tsv b/petabtests/cases/v2.0.0/pysb/0013/_mapping.tsv new file mode 100644 index 0000000..18782a0 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0013/_mapping.tsv @@ -0,0 +1,3 @@ +petabEntityId modelEntityId +A A_() ** compartment +B B_() ** compartment diff --git a/petabtests/cases/pysb/0013/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0013/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0013/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0013/_measurements.tsv diff --git a/petabtests/cases/pysb/0013/_model.py b/petabtests/cases/v2.0.0/pysb/0013/_model.py similarity index 100% rename from petabtests/cases/pysb/0013/_model.py rename to petabtests/cases/v2.0.0/pysb/0013/_model.py diff --git a/petabtests/cases/pysb/0013/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0013/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0013/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0013/_observables.tsv diff --git a/petabtests/cases/pysb/0013/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0013/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0013/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0013/_parameters.tsv diff --git a/petabtests/cases/pysb/0013/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0013/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0013/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0013/_simulations.tsv diff --git a/petabtests/cases/pysb/0013/conversion_modified_pysb.py b/petabtests/cases/v2.0.0/pysb/0013/conversion_modified_pysb.py similarity index 100% rename from petabtests/cases/pysb/0013/conversion_modified_pysb.py rename to petabtests/cases/v2.0.0/pysb/0013/conversion_modified_pysb.py diff --git a/petabtests/cases/pysb/0014/0014.py b/petabtests/cases/v2.0.0/pysb/0014/0014.py similarity index 100% rename from petabtests/cases/pysb/0014/0014.py rename to petabtests/cases/v2.0.0/pysb/0014/0014.py diff --git a/petabtests/cases/pysb/0014/README.md b/petabtests/cases/v2.0.0/pysb/0014/README.md similarity index 100% rename from petabtests/cases/pysb/0014/README.md rename to petabtests/cases/v2.0.0/pysb/0014/README.md diff --git a/petabtests/cases/pysb/0014/_0014.yaml b/petabtests/cases/v2.0.0/pysb/0014/_0014.yaml similarity index 62% rename from petabtests/cases/pysb/0014/_0014.yaml rename to petabtests/cases/v2.0.0/pysb/0014/_0014.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0014/_0014.yaml +++ b/petabtests/cases/v2.0.0/pysb/0014/_0014.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0014/_0014_solution.yaml b/petabtests/cases/v2.0.0/pysb/0014/_0014_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0014/_0014_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0014/_0014_solution.yaml diff --git a/petabtests/cases/pysb/0014/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0014/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0014/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0014/_conditions.tsv diff --git a/petabtests/cases/pysb/0014/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0014/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0014/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0014/_measurements.tsv diff --git a/petabtests/cases/pysb/0014/_model.py b/petabtests/cases/v2.0.0/pysb/0014/_model.py similarity index 100% rename from petabtests/cases/pysb/0014/_model.py rename to petabtests/cases/v2.0.0/pysb/0014/_model.py diff --git a/petabtests/cases/pysb/0014/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0014/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0014/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0014/_observables.tsv diff --git a/petabtests/cases/pysb/0014/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0014/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0014/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0014/_parameters.tsv diff --git a/petabtests/cases/pysb/0014/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0014/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0014/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0014/_simulations.tsv diff --git a/petabtests/cases/pysb/0015/0015.py b/petabtests/cases/v2.0.0/pysb/0015/0015.py similarity index 100% rename from petabtests/cases/pysb/0015/0015.py rename to petabtests/cases/v2.0.0/pysb/0015/0015.py diff --git a/petabtests/cases/pysb/0015/README.md b/petabtests/cases/v2.0.0/pysb/0015/README.md similarity index 100% rename from petabtests/cases/pysb/0015/README.md rename to petabtests/cases/v2.0.0/pysb/0015/README.md diff --git a/petabtests/cases/pysb/0015/_0015.yaml b/petabtests/cases/v2.0.0/pysb/0015/_0015.yaml similarity index 62% rename from petabtests/cases/pysb/0015/_0015.yaml rename to petabtests/cases/v2.0.0/pysb/0015/_0015.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0015/_0015.yaml +++ b/petabtests/cases/v2.0.0/pysb/0015/_0015.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0015/_0015_solution.yaml b/petabtests/cases/v2.0.0/pysb/0015/_0015_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0015/_0015_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0015/_0015_solution.yaml diff --git a/petabtests/cases/pysb/0015/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0015/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0015/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0015/_conditions.tsv diff --git a/petabtests/cases/pysb/0015/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0015/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0015/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0015/_measurements.tsv diff --git a/petabtests/cases/pysb/0015/_model.py b/petabtests/cases/v2.0.0/pysb/0015/_model.py similarity index 100% rename from petabtests/cases/pysb/0015/_model.py rename to petabtests/cases/v2.0.0/pysb/0015/_model.py diff --git a/petabtests/cases/pysb/0015/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0015/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0015/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0015/_observables.tsv diff --git a/petabtests/cases/pysb/0015/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0015/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0015/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0015/_parameters.tsv diff --git a/petabtests/cases/pysb/0015/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0015/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0015/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0015/_simulations.tsv diff --git a/petabtests/cases/pysb/0016/0016.py b/petabtests/cases/v2.0.0/pysb/0016/0016.py similarity index 100% rename from petabtests/cases/pysb/0016/0016.py rename to petabtests/cases/v2.0.0/pysb/0016/0016.py diff --git a/petabtests/cases/pysb/0016/README.md b/petabtests/cases/v2.0.0/pysb/0016/README.md similarity index 100% rename from petabtests/cases/pysb/0016/README.md rename to petabtests/cases/v2.0.0/pysb/0016/README.md diff --git a/petabtests/cases/pysb/0016/_0016.yaml b/petabtests/cases/v2.0.0/pysb/0016/_0016.yaml similarity index 62% rename from petabtests/cases/pysb/0016/_0016.yaml rename to petabtests/cases/v2.0.0/pysb/0016/_0016.yaml index dcde465..493b4f8 100644 --- a/petabtests/cases/pysb/0016/_0016.yaml +++ b/petabtests/cases/v2.0.0/pysb/0016/_0016.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/pysb/0016/_0016_solution.yaml b/petabtests/cases/v2.0.0/pysb/0016/_0016_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0016/_0016_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0016/_0016_solution.yaml diff --git a/petabtests/cases/pysb/0016/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0016/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0016/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0016/_conditions.tsv diff --git a/petabtests/cases/pysb/0016/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0016/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0016/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0016/_measurements.tsv diff --git a/petabtests/cases/pysb/0016/_model.py b/petabtests/cases/v2.0.0/pysb/0016/_model.py similarity index 100% rename from petabtests/cases/pysb/0016/_model.py rename to petabtests/cases/v2.0.0/pysb/0016/_model.py diff --git a/petabtests/cases/pysb/0016/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0016/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0016/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0016/_observables.tsv diff --git a/petabtests/cases/pysb/0016/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0016/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0016/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0016/_parameters.tsv diff --git a/petabtests/cases/pysb/0016/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0016/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0016/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0016/_simulations.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0017/0017.py b/petabtests/cases/v2.0.0/pysb/0017/0017.py new file mode 100644 index 0000000..fa74cd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0017/0017.py @@ -0,0 +1,90 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import (DEFAULT_PYSB_FILE, PetabTestCase, analytical_a, + analytical_b) + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for partial preequilibration with `NaN`'s in the +condition file, and usage of the mapping table. + +The model is to be simulated for a preequilibration condition and a +simulation condition. +For preequilibration, species `B` is initialized with `0`. For simulation, +`B` is set to `NaN`, meaning that it is initialized with the result from +preequilibration. +`A` is reinitialized to the value in the condition table after +preequilibration. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['preeq_c0', 'c0'], + 'k1': [0.3, 0.8], + 'B': [2.0, 'NaN'], + 'A': [0, 1], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + PREEQUILIBRATION_CONDITION_ID: ['preeq_c0', 'preeq_c0'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [1, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['k2'], + PARAMETER_SCALE: [LIN], + LOWER_BOUND: [0], + UPPER_BOUND: [10], + NOMINAL_VALUE: [0.6], + ESTIMATE: [1], +}).set_index(PARAMETER_ID) + +mapping_df = pd.DataFrame(data={ + PETAB_ENTITY_ID: ['A', 'B'], + MODEL_ENTITY_ID: ['A_() ** compartment', 'B_() ** compartment'], +}).set_index(PETAB_ENTITY_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +# simulate for far time point as steady state +steady_state_b = analytical_b(1000, 0, 2.0, 0.3, 0.6) +# use steady state as initial state +simulation_df[SIMULATION] = [ + analytical_a(t, 1, steady_state_b, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=17, + brief="Simulation. Preequilibration. One species reinitialized, one not " + "(NaN in condition table). InitialAssignment to species overridden.", + description=DESCRIPTION, + model=DEFAULT_PYSB_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, + mapping_df=mapping_df, +) diff --git a/petabtests/cases/v2.0.0/pysb/0017/README.md b/petabtests/cases/v2.0.0/pysb/0017/README.md new file mode 100644 index 0000000..2e466d1 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0017/README.md @@ -0,0 +1,19 @@ +# PEtab test case 0017 + +## Objective + +This case tests support for partial preequilibration with `NaN`'s in the +condition file, and usage of the mapping table. + +The model is to be simulated for a preequilibration condition and a +simulation condition. +For preequilibration, species `B` is initialized with `0`. For simulation, +`B` is set to `NaN`, meaning that it is initialized with the result from +preequilibration. +`A` is reinitialized to the value in the condition table after +preequilibration. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/pysb/0017/_0017.yaml b/petabtests/cases/v2.0.0/pysb/0017/_0017.yaml new file mode 100644 index 0000000..b0976ad --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0017/_0017.yaml @@ -0,0 +1,14 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + mapping_file: _mapping.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py + observable_files: + - _observables.tsv diff --git a/petabtests/cases/pysb/0017/_0017_solution.yaml b/petabtests/cases/v2.0.0/pysb/0017/_0017_solution.yaml similarity index 100% rename from petabtests/cases/pysb/0017/_0017_solution.yaml rename to petabtests/cases/v2.0.0/pysb/0017/_0017_solution.yaml diff --git a/petabtests/cases/pysb/0017/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0017/_conditions.tsv similarity index 100% rename from petabtests/cases/pysb/0017/_conditions.tsv rename to petabtests/cases/v2.0.0/pysb/0017/_conditions.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0017/_mapping.tsv b/petabtests/cases/v2.0.0/pysb/0017/_mapping.tsv new file mode 100644 index 0000000..18782a0 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0017/_mapping.tsv @@ -0,0 +1,3 @@ +petabEntityId modelEntityId +A A_() ** compartment +B B_() ** compartment diff --git a/petabtests/cases/pysb/0017/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0017/_measurements.tsv similarity index 100% rename from petabtests/cases/pysb/0017/_measurements.tsv rename to petabtests/cases/v2.0.0/pysb/0017/_measurements.tsv diff --git a/petabtests/cases/pysb/0017/_model.py b/petabtests/cases/v2.0.0/pysb/0017/_model.py similarity index 100% rename from petabtests/cases/pysb/0017/_model.py rename to petabtests/cases/v2.0.0/pysb/0017/_model.py diff --git a/petabtests/cases/pysb/0017/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0017/_observables.tsv similarity index 100% rename from petabtests/cases/pysb/0017/_observables.tsv rename to petabtests/cases/v2.0.0/pysb/0017/_observables.tsv diff --git a/petabtests/cases/pysb/0017/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0017/_parameters.tsv similarity index 100% rename from petabtests/cases/pysb/0017/_parameters.tsv rename to petabtests/cases/v2.0.0/pysb/0017/_parameters.tsv diff --git a/petabtests/cases/pysb/0017/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0017/_simulations.tsv similarity index 100% rename from petabtests/cases/pysb/0017/_simulations.tsv rename to petabtests/cases/v2.0.0/pysb/0017/_simulations.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0018/0018.py b/petabtests/cases/v2.0.0/pysb/0018/0018.py new file mode 100644 index 0000000..fb5b8a6 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/0018.py @@ -0,0 +1,72 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_PYSB_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests parameters in mapping table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['maps_to_a0', 'b0', 'maps_to_k1', 'k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +mapping_df = pd.DataFrame(data={ + PETAB_ENTITY_ID: ['maps_to_a0', 'maps_to_b0', 'maps_to_k1', 'maps_to_k2'], + MODEL_ENTITY_ID: ['a0', 'b0', 'k1', 'k2'], +}).set_index(PETAB_ENTITY_ID) + + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [analytical_a(t, 1, 0, 0.8, 0.6) + for t in simulation_df[TIME]] + + +case = PetabTestCase( + id=18, + brief="Parameters in mapping table.", + description=DESCRIPTION, + model=DEFAULT_PYSB_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, + mapping_df=mapping_df, +) diff --git a/petabtests/cases/v2.0.0/pysb/0018/README.md b/petabtests/cases/v2.0.0/pysb/0018/README.md new file mode 100644 index 0000000..9f1a5c0 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/README.md @@ -0,0 +1,10 @@ +# PEtab test case 0018 + +## Objective + +This case tests parameters in mapping table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/pysb/0018/_0018.yaml b/petabtests/cases/v2.0.0/pysb/0018/_0018.yaml new file mode 100644 index 0000000..b0976ad --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_0018.yaml @@ -0,0 +1,14 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + mapping_file: _mapping.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: pysb + location: _model.py + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/pysb/0018/_0018_solution.yaml b/petabtests/cases/v2.0.0/pysb/0018/_0018_solution.yaml new file mode 100644 index 0000000..1ee1c67 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_0018_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.79183798368486 +llh: -0.84750169713188 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/pysb/0018/_conditions.tsv b/petabtests/cases/v2.0.0/pysb/0018/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/pysb/0018/_mapping.tsv b/petabtests/cases/v2.0.0/pysb/0018/_mapping.tsv new file mode 100644 index 0000000..9f761f2 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_mapping.tsv @@ -0,0 +1,5 @@ +petabEntityId modelEntityId +maps_to_a0 a0 +maps_to_b0 b0 +maps_to_k1 k1 +maps_to_k2 k2 diff --git a/petabtests/cases/v2.0.0/pysb/0018/_measurements.tsv b/petabtests/cases/v2.0.0/pysb/0018/_measurements.tsv new file mode 100644 index 0000000..a497632 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/pysb/0018/_model.py b/petabtests/cases/v2.0.0/pysb/0018/_model.py new file mode 100644 index 0000000..57ec588 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_model.py @@ -0,0 +1,21 @@ +from pysb import Model, Monomer, Parameter, Compartment, Rule, Initial, Observable + +Model() + +Compartment('compartment') + +Monomer('A_') +Monomer('B_') + +Parameter('a0', 1.0) +Parameter('b0', 1.0) +Parameter('k1', 0.0) +Parameter('k2', 0.0) + +Rule('conversion', A_() ** compartment | B_() ** compartment, k1, k2) + +Initial(A_() ** compartment, a0) +Initial(B_() ** compartment, b0) + +Observable("A", A_()) +Observable("B", B_()) diff --git a/petabtests/cases/v2.0.0/pysb/0018/_observables.tsv b/petabtests/cases/v2.0.0/pysb/0018/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/pysb/0018/_parameters.tsv b/petabtests/cases/v2.0.0/pysb/0018/_parameters.tsv new file mode 100644 index 0000000..ed47cec --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +maps_to_a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +maps_to_k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/pysb/0018/_simulations.tsv b/petabtests/cases/v2.0.0/pysb/0018/_simulations.tsv new file mode 100644 index 0000000..c1339e4 --- /dev/null +++ b/petabtests/cases/v2.0.0/pysb/0018/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 0 1.0 +obs_a c0 10 0.42857190373069665 diff --git a/petabtests/cases/pysb/README.md b/petabtests/cases/v2.0.0/pysb/README.md similarity index 96% rename from petabtests/cases/pysb/README.md rename to petabtests/cases/v2.0.0/pysb/README.md index 7e292db..b107855 100644 --- a/petabtests/cases/pysb/README.md +++ b/petabtests/cases/v2.0.0/pysb/README.md @@ -66,3 +66,7 @@ Simulation. Observable transformation log. Simulation. Preequilibration. One species reinitialized, one not (NaN in condition table). InitialAssignment to species overridden. +# [0018](0018/) + +Parameters in mapping table. + diff --git a/petabtests/cases/v2.0.0/sbml/0001/0001.py b/petabtests/cases/v2.0.0/sbml/0001/0001.py new file mode 100644 index 0000000..09b4fef --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/0001.py @@ -0,0 +1,66 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case features a simple test with two data points and no particular +features. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [analytical_a(t, 1, 0, 0.8, 0.6) + for t in simulation_df[TIME]] + + +case = PetabTestCase( + id=1, + brief="Simulation. Nothing special.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0001/README.md b/petabtests/cases/v2.0.0/sbml/0001/README.md new file mode 100644 index 0000000..58bf6c4 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/README.md @@ -0,0 +1,11 @@ +# PEtab test case 0001 + +## Objective + +This case features a simple test with two data points and no particular +features. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0001/_0001.yaml b/petabtests/cases/v2.0.0/sbml/0001/_0001.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/_0001.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0001/_0001_solution.yaml b/petabtests/cases/v2.0.0/sbml/0001/_0001_solution.yaml new file mode 100644 index 0000000..1ee1c67 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/_0001_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.79183798368486 +llh: -0.84750169713188 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0001/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0001/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0001/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0001/_measurements.tsv new file mode 100644 index 0000000..a497632 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0001/_model.xml b/petabtests/cases/v2.0.0/sbml/0001/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0001/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0001/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0001/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0001/_parameters.tsv new file mode 100644 index 0000000..8c1e5cb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0001/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0001/_simulations.tsv new file mode 100644 index 0000000..c1339e4 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0001/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 0 1.0 +obs_a c0 10 0.42857190373069665 diff --git a/petabtests/cases/v2.0.0/sbml/0002/0002.py b/petabtests/cases/v2.0.0/sbml/0002/0002.py new file mode 100644 index 0000000..9a057aa --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/0002.py @@ -0,0 +1,70 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for multiple simulation conditions + +The model is to be simulated for two different experimental conditions +(here: different initial concentrations). + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0', 'c1'], + 'a0': [0.8, 0.9] +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'] * 4, + SIMULATION_CONDITION_ID: ['c0', 'c0', 'c1', 'c1'], + TIME: [0, 10, 0, 10], + MEASUREMENT: [0.7, 0.1, 0.8, 0.2] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [1] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['b0', 'k1', 'k2'], + PARAMETER_SCALE: [LIN] * 3, + LOWER_BOUND: [0] * 3, + UPPER_BOUND: [10] * 3, + NOMINAL_VALUE: [0, 0.8, 0.6], + ESTIMATE: [1] * 3, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [*[analytical_a(t, 0.8, 0, 0.8, 0.6) + for t in [0, 10]], + *[analytical_a(t, 0.9, 0, 0.8, 0.6) + for t in [0, 10]]] + +case = PetabTestCase( + id=2, + brief="Simulation. Two conditions. Numeric parameter override.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0002/README.md b/petabtests/cases/v2.0.0/sbml/0002/README.md new file mode 100644 index 0000000..6447424 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/README.md @@ -0,0 +1,13 @@ +# PEtab test case 0002 + +## Objective + +This case tests support for multiple simulation conditions + +The model is to be simulated for two different experimental conditions +(here: different initial concentrations). + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0002/_0002.yaml b/petabtests/cases/v2.0.0/sbml/0002/_0002.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/_0002.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0002/_0002_solution.yaml b/petabtests/cases/v2.0.0/sbml/0002/_0002_solution.yaml new file mode 100644 index 0000000..9a3dea0 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/_0002_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.1134697312277 +llh: -3.73248899843254 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0002/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0002/_conditions.tsv new file mode 100644 index 0000000..68b103f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/_conditions.tsv @@ -0,0 +1,3 @@ +conditionId a0 +c0 0.8 +c1 0.9 diff --git a/petabtests/cases/v2.0.0/sbml/0002/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0002/_measurements.tsv new file mode 100644 index 0000000..9dbc71c --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/_measurements.tsv @@ -0,0 +1,5 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 +obs_a c1 0 0.8 +obs_a c1 10 0.2 diff --git a/petabtests/cases/v2.0.0/sbml/0002/_model.xml b/petabtests/cases/v2.0.0/sbml/0002/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0002/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0002/_observables.tsv new file mode 100644 index 0000000..726b3b0 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 1 diff --git a/petabtests/cases/v2.0.0/sbml/0002/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0002/_parameters.tsv new file mode 100644 index 0000000..cc9e606 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/_parameters.tsv @@ -0,0 +1,4 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0002/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0002/_simulations.tsv new file mode 100644 index 0000000..f944cb6 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0002/_simulations.tsv @@ -0,0 +1,5 @@ +observableId simulationConditionId time simulation +obs_a c0 0 0.8 +obs_a c0 10 0.3428575229845573 +obs_a c1 0 0.9 +obs_a c1 10 0.385714713357627 diff --git a/petabtests/cases/v2.0.0/sbml/0003/0003.py b/petabtests/cases/v2.0.0/sbml/0003/0003.py new file mode 100644 index 0000000..92caf5f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/0003.py @@ -0,0 +1,74 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for numeric observable parameter overrides in +measurement tables + +Simulated data describes measurements with different offset and scaling +parameters for a single observable. These respective numeric +`observableParameters` +from the measurement table have to be applied to the placeholders in +observableFormula. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1], + OBSERVABLE_PARAMETERS: ['0.5;2', '0.5;2'] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['observableParameter1_obs_a * A + ' + 'observableParameter2_obs_a'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [0.5 * analytical_a(t, 1, 0, 0.8, 0.6) + 2 + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=3, + brief="Simulation. Numeric observable parameter overrides in measurement " + "table.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0003/README.md b/petabtests/cases/v2.0.0/sbml/0003/README.md new file mode 100644 index 0000000..0248073 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/README.md @@ -0,0 +1,17 @@ +# PEtab test case 0003 + +## Objective + +This case tests support for numeric observable parameter overrides in +measurement tables + +Simulated data describes measurements with different offset and scaling +parameters for a single observable. These respective numeric +`observableParameters` +from the measurement table have to be applied to the placeholders in +observableFormula. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0003/_0003.yaml b/petabtests/cases/v2.0.0/sbml/0003/_0003.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/_0003.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0003/_0003_solution.yaml b/petabtests/cases/v2.0.0/sbml/0003/_0003_solution.yaml new file mode 100644 index 0000000..b2cfa0e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/_0003_solution.yaml @@ -0,0 +1,7 @@ +chi2: 30.84082034502065 +llh: -15.87199287779978 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0003/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0003/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0003/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0003/_measurements.tsv new file mode 100644 index 0000000..2078ec7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement observableParameters +obs_a c0 0 0.7 0.5;2 +obs_a c0 10 0.1 0.5;2 diff --git a/petabtests/cases/v2.0.0/sbml/0003/_model.xml b/petabtests/cases/v2.0.0/sbml/0003/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0003/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0003/_observables.tsv new file mode 100644 index 0000000..dc2a127 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a observableParameter1_obs_a * A + observableParameter2_obs_a 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0003/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0003/_parameters.tsv new file mode 100644 index 0000000..8c1e5cb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0003/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0003/_simulations.tsv new file mode 100644 index 0000000..79750a3 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0003/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation observableParameters +obs_a c0 0 2.5 0.5;2 +obs_a c0 10 2.214285951865348 0.5;2 diff --git a/petabtests/cases/v2.0.0/sbml/0004/0004.py b/petabtests/cases/v2.0.0/sbml/0004/0004.py new file mode 100644 index 0000000..646692b --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/0004.py @@ -0,0 +1,71 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for parametric observable parameter overrides in +measurement tables + +Simulated data describes measurements with different offset and scaling +parameters for a single observable. These values of the respective +(non-estimated) parameters referenced in `observableParameters` need to be +looked up in the parameter table to replace the placeholders in +`observableFormula`. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1], +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['scaling_A * A + offset_A'], + NOISE_FORMULA: [1] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2', 'scaling_A', 'offset_A'], + PARAMETER_SCALE: [LIN] * 6, + LOWER_BOUND: [0] * 6, + UPPER_BOUND: [10] * 6, + NOMINAL_VALUE: [1, 0, 0.8, 0.6, 0.5, 2], + ESTIMATE: [1] * 6, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [0.5 * analytical_a(t, 1, 0, 0.8, 0.6) + 2 + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=4, + brief="Simulation. Observable parameters only defined in parameter table.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0004/README.md b/petabtests/cases/v2.0.0/sbml/0004/README.md new file mode 100644 index 0000000..3c2b08d --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/README.md @@ -0,0 +1,17 @@ +# PEtab test case 0004 + +## Objective + +This case tests support for parametric observable parameter overrides in +measurement tables + +Simulated data describes measurements with different offset and scaling +parameters for a single observable. These values of the respective +(non-estimated) parameters referenced in `observableParameters` need to be +looked up in the parameter table to replace the placeholders in +`observableFormula`. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0004/_0004.yaml b/petabtests/cases/v2.0.0/sbml/0004/_0004.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/_0004.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0004/_0004_solution.yaml b/petabtests/cases/v2.0.0/sbml/0004/_0004_solution.yaml new file mode 100644 index 0000000..eb6b2f4 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/_0004_solution.yaml @@ -0,0 +1,7 @@ +chi2: 7.71020508625516 +llh: -5.69297960953693 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0004/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0004/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0004/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0004/_measurements.tsv new file mode 100644 index 0000000..a497632 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0004/_model.xml b/petabtests/cases/v2.0.0/sbml/0004/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0004/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0004/_observables.tsv new file mode 100644 index 0000000..6861074 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a scaling_A * A + offset_A 1 diff --git a/petabtests/cases/v2.0.0/sbml/0004/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0004/_parameters.tsv new file mode 100644 index 0000000..6d40b89 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/_parameters.tsv @@ -0,0 +1,7 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 +scaling_A lin 0 10 0.5 1 +offset_A lin 0 10 2.0 1 diff --git a/petabtests/cases/v2.0.0/sbml/0004/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0004/_simulations.tsv new file mode 100644 index 0000000..94e0e2f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0004/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 0 2.5 +obs_a c0 10 2.214285951865348 diff --git a/petabtests/cases/v2.0.0/sbml/0005/0005.py b/petabtests/cases/v2.0.0/sbml/0005/0005.py new file mode 100644 index 0000000..c1b0891 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/0005.py @@ -0,0 +1,72 @@ +from inspect import cleandoc +from pathlib import Path + +import pandas as pd +from petab.C import * + +from petabtests import PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for parametric overrides from condition table. + +The model is to be simulated for two different experimental conditions +(here: different initial concentrations). The observable is offsetted by +a parametric override in the condition table (i.e. the actual value has +to be taken from the parameter table). + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0', 'c1'], + 'offset_A': ['offset_A_c0', 'offset_A_c1'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c1'], + TIME: [10, 10], + MEASUREMENT: [2.1, 3.2] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A + offset_A'], + NOISE_FORMULA: [1] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2', 'offset_A_c0', 'offset_A_c1'], + PARAMETER_SCALE: [LIN] * 6, + LOWER_BOUND: [0] * 6, + UPPER_BOUND: [10] * 6, + NOMINAL_VALUE: [1, 0, 0.8, 0.6, 2, 3], + ESTIMATE: [1] * 6, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [analytical_a(10, 1, 0, 0.8, 0.6) + offset + for offset in [2, 3]] + +case = PetabTestCase( + id=5, + brief="Simulation. Condition-specific parameters only defined in " + "parameter table.", + description=DESCRIPTION, + model=Path('conversion_modified.xml'), + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0005/README.md b/petabtests/cases/v2.0.0/sbml/0005/README.md new file mode 100644 index 0000000..3de7682 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/README.md @@ -0,0 +1,15 @@ +# PEtab test case 0005 + +## Objective + +This case tests support for parametric overrides from condition table. + +The model is to be simulated for two different experimental conditions +(here: different initial concentrations). The observable is offsetted by +a parametric override in the condition table (i.e. the actual value has +to be taken from the parameter table). + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0005/_0005.yaml b/petabtests/cases/v2.0.0/sbml/0005/_0005.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/_0005.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0005/_0005_solution.yaml b/petabtests/cases/v2.0.0/sbml/0005/_0005_solution.yaml new file mode 100644 index 0000000..5f6c46b --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/_0005_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.16020461109629 +llh: -1.91797937195749 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0005/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0005/_conditions.tsv new file mode 100644 index 0000000..db79bf4 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/_conditions.tsv @@ -0,0 +1,3 @@ +conditionId offset_A +c0 offset_A_c0 +c1 offset_A_c1 diff --git a/petabtests/cases/v2.0.0/sbml/0005/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0005/_measurements.tsv new file mode 100644 index 0000000..6016b73 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 10 2.1 +obs_a c1 10 3.2 diff --git a/petabtests/cases/v2.0.0/sbml/0005/_model.xml b/petabtests/cases/v2.0.0/sbml/0005/_model.xml new file mode 100644 index 0000000..95e0fcb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/_model.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0005/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0005/_observables.tsv new file mode 100644 index 0000000..5411c51 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A + offset_A 1 diff --git a/petabtests/cases/v2.0.0/sbml/0005/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0005/_parameters.tsv new file mode 100644 index 0000000..2676343 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/_parameters.tsv @@ -0,0 +1,7 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 +offset_A_c0 lin 0 10 2.0 1 +offset_A_c1 lin 0 10 3.0 1 diff --git a/petabtests/cases/v2.0.0/sbml/0005/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0005/_simulations.tsv new file mode 100644 index 0000000..3fb757b --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 10 2.4285719037306968 +obs_a c1 10 3.4285719037306968 diff --git a/petabtests/cases/v2.0.0/sbml/0005/conversion_modified.xml b/petabtests/cases/v2.0.0/sbml/0005/conversion_modified.xml new file mode 100644 index 0000000..95e0fcb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0005/conversion_modified.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0006/0006.py b/petabtests/cases/v2.0.0/sbml/0006/0006.py new file mode 100644 index 0000000..aecf6b0 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/0006.py @@ -0,0 +1,70 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for time-point specific overrides in the measurement +table. + +The model is to be simulated for a single experimental condition. The single +model output is scaled by a different parameter at each timepoint. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1], + OBSERVABLE_PARAMETERS: [10, 15] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['observableParameter1_obs_a * A'], + NOISE_FORMULA: [1] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [10 * analytical_a(0, 1, 0, 0.8, 0.6), + 15 * analytical_a(10, 1, 0, 0.8, 0.6)] + +case = PetabTestCase( + id=6, + brief="Simulation. Time-point specific numeric observable parameter " + "overrides.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0006/README.md b/petabtests/cases/v2.0.0/sbml/0006/README.md new file mode 100644 index 0000000..4766f53 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/README.md @@ -0,0 +1,14 @@ +# PEtab test case 0006 + +## Objective + +This case tests support for time-point specific overrides in the measurement +table. + +The model is to be simulated for a single experimental condition. The single +model output is scaled by a different parameter at each timepoint. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0006/_0006.yaml b/petabtests/cases/v2.0.0/sbml/0006/_0006.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/_0006.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0006/_0006_solution.yaml b/petabtests/cases/v2.0.0/sbml/0006/_0006_solution.yaml new file mode 100644 index 0000000..d4710b4 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/_0006_solution.yaml @@ -0,0 +1,7 @@ +chi2: 126.54090653896247 +llh: -65.10833033589059 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0006/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0006/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0006/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0006/_measurements.tsv new file mode 100644 index 0000000..8ed279b --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement observableParameters +obs_a c0 0 0.7 10 +obs_a c0 10 0.1 15 diff --git a/petabtests/cases/v2.0.0/sbml/0006/_model.xml b/petabtests/cases/v2.0.0/sbml/0006/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0006/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0006/_observables.tsv new file mode 100644 index 0000000..07a0173 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a observableParameter1_obs_a * A 1 diff --git a/petabtests/cases/v2.0.0/sbml/0006/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0006/_parameters.tsv new file mode 100644 index 0000000..8c1e5cb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0006/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0006/_simulations.tsv new file mode 100644 index 0000000..7d219fa --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0006/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation observableParameters +obs_a c0 0 10.0 10 +obs_a c0 10 6.42857855596045 15 diff --git a/petabtests/cases/v2.0.0/sbml/0007/0007.py b/petabtests/cases/v2.0.0/sbml/0007/0007.py new file mode 100644 index 0000000..90fb392 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/0007.py @@ -0,0 +1,72 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import (DEFAULT_SBML_FILE, PetabTestCase, analytical_a, + analytical_b) + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for observable transformations to log10 scale. + +The model is to be simulated for a single experimental condition. Measurements +for observable `obs_a` are to be used as is, measurements for `obs_b` are to +be transformed to log10 scale for computing chi2 and likelihood. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_b'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [10, 10], + MEASUREMENT: [0.2, 0.8] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_b'], + OBSERVABLE_FORMULA: ['A', 'B'], + OBSERVABLE_TRANSFORMATION: [LIN, LOG10], + NOISE_FORMULA: [0.5, 0.6] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [ + analytical_a(10, 1, 0, 0.8, 0.6), + analytical_b(10, 1, 0, 0.8, 0.6), +] + +case = PetabTestCase( + id=7, + brief="Simulation. Observable transformation log10.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0007/README.md b/petabtests/cases/v2.0.0/sbml/0007/README.md new file mode 100644 index 0000000..64f31fc --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/README.md @@ -0,0 +1,14 @@ +# PEtab test case 0007 + +## Objective + +This case tests support for observable transformations to log10 scale. + +The model is to be simulated for a single experimental condition. Measurements +for observable `obs_a` are to be used as is, measurements for `obs_b` are to +be transformed to log10 scale for computing chi2 and likelihood. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0007/_0007.yaml b/petabtests/cases/v2.0.0/sbml/0007/_0007.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/_0007.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0007/_0007_solution.yaml b/petabtests/cases/v2.0.0/sbml/0007/_0007_solution.yaml new file mode 100644 index 0000000..6025b5e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/_0007_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.2682957616817 +llh: -1.378941036858 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0007/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0007/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0007/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0007/_measurements.tsv new file mode 100644 index 0000000..00c596e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 10 0.2 +obs_b c0 10 0.8 diff --git a/petabtests/cases/v2.0.0/sbml/0007/_model.xml b/petabtests/cases/v2.0.0/sbml/0007/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0007/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0007/_observables.tsv new file mode 100644 index 0000000..c966bde --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/_observables.tsv @@ -0,0 +1,3 @@ +observableId observableFormula observableTransformation noiseFormula +obs_a A lin 0.5 +obs_b B log10 0.6 diff --git a/petabtests/cases/v2.0.0/sbml/0007/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0007/_parameters.tsv new file mode 100644 index 0000000..8c1e5cb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0007/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0007/_simulations.tsv new file mode 100644 index 0000000..a054455 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0007/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 10 0.42857190373069665 +obs_b c0 10 0.5714280962693035 diff --git a/petabtests/cases/v2.0.0/sbml/0008/0008.py b/petabtests/cases/v2.0.0/sbml/0008/0008.py new file mode 100644 index 0000000..639d0b3 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/0008.py @@ -0,0 +1,67 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for replicate measurements. + +The model is to be simulated for a single experimental condition. The single +model output has multiple measurements for the same condition and timepoint. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0', 'c0'], + TIME: [0, 10, 10], + MEASUREMENT: [0.7, 0.1, 0.2] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [analytical_a(t, 1, 0, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=8, + brief="Simulation. Replicate measurements.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0008/README.md b/petabtests/cases/v2.0.0/sbml/0008/README.md new file mode 100644 index 0000000..61e1eb7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/README.md @@ -0,0 +1,13 @@ +# PEtab test case 0008 + +## Objective + +This case tests support for replicate measurements. + +The model is to be simulated for a single experimental condition. The single +model output has multiple measurements for the same condition and timepoint. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0008/_0008.yaml b/petabtests/cases/v2.0.0/sbml/0008/_0008.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/_0008.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0008/_0008_solution.yaml b/petabtests/cases/v2.0.0/sbml/0008/_0008_solution.yaml new file mode 100644 index 0000000..4f8beed --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/_0008_solution.yaml @@ -0,0 +1,7 @@ +chi2: 1.00081844438516 +llh: -1.17778328012676 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0008/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0008/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0008/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0008/_measurements.tsv new file mode 100644 index 0000000..b17d732 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/_measurements.tsv @@ -0,0 +1,4 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 +obs_a c0 10 0.2 diff --git a/petabtests/cases/v2.0.0/sbml/0008/_model.xml b/petabtests/cases/v2.0.0/sbml/0008/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0008/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0008/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0008/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0008/_parameters.tsv new file mode 100644 index 0000000..8c1e5cb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0008/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0008/_simulations.tsv new file mode 100644 index 0000000..05743ad --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0008/_simulations.tsv @@ -0,0 +1,4 @@ +observableId simulationConditionId time simulation +obs_a c0 0 1.0 +obs_a c0 10 0.42857190373069665 +obs_a c0 10 0.42857190373069665 diff --git a/petabtests/cases/v2.0.0/sbml/0009/0009.py b/petabtests/cases/v2.0.0/sbml/0009/0009.py new file mode 100644 index 0000000..4c9545e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/0009.py @@ -0,0 +1,75 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import (DEFAULT_SBML_FILE, PetabTestCase, analytical_a, + analytical_b) + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for preequilibration. + +The model is to be simulated for a preequilibration condition and a +simulation condition. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['preeq_c0', 'c0'], + 'k1': [0.3, 0.8], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + PREEQUILIBRATION_CONDITION_ID: ['preeq_c0', 'preeq_c0'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [1, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k2'], + PARAMETER_SCALE: [LIN] * 3, + LOWER_BOUND: [0] * 3, + UPPER_BOUND: [10] * 3, + NOMINAL_VALUE: [1, 0, 0.6], + ESTIMATE: [1] * 3, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +# simulate for far time point as steady state +steady_state_a = analytical_a(1000, 1, 0, 0.3, 0.6) +steady_state_b = analytical_b(1000, 1, 0, 0.3, 0.6) +# use steady state as initial state +simulation_df[SIMULATION] = [ + analytical_a(t, steady_state_a, steady_state_b, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=9, + brief="Simulation. Preequilibration.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0009/README.md b/petabtests/cases/v2.0.0/sbml/0009/README.md new file mode 100644 index 0000000..a175c7e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/README.md @@ -0,0 +1,13 @@ +# PEtab test case 0009 + +## Objective + +This case tests support for preequilibration. + +The model is to be simulated for a preequilibration condition and a +simulation condition. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0009/_0009.yaml b/petabtests/cases/v2.0.0/sbml/0009/_0009.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/_0009.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0009/_0009_solution.yaml b/petabtests/cases/v2.0.0/sbml/0009/_0009_solution.yaml new file mode 100644 index 0000000..63c53e6 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/_0009_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.6128279546164 +llh: -0.75799668259765 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0009/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0009/_conditions.tsv new file mode 100644 index 0000000..834fafc --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/_conditions.tsv @@ -0,0 +1,3 @@ +conditionId k1 +preeq_c0 0.3 +c0 0.8 diff --git a/petabtests/cases/v2.0.0/sbml/0009/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0009/_measurements.tsv new file mode 100644 index 0000000..a9a1cb0 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/_measurements.tsv @@ -0,0 +1,3 @@ +observableId preequilibrationConditionId simulationConditionId time measurement +obs_a preeq_c0 c0 1 0.7 +obs_a preeq_c0 c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0009/_model.xml b/petabtests/cases/v2.0.0/sbml/0009/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0009/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0009/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0009/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0009/_parameters.tsv new file mode 100644 index 0000000..69c6ade --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/_parameters.tsv @@ -0,0 +1,4 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0009/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0009/_simulations.tsv new file mode 100644 index 0000000..0b86e24 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0009/_simulations.tsv @@ -0,0 +1,3 @@ +observableId preequilibrationConditionId simulationConditionId time simulation +obs_a preeq_c0 c0 1 0.48728499141466824 +obs_a preeq_c0 c0 10 0.42857162655445696 diff --git a/petabtests/cases/pysb/0010/0010.py b/petabtests/cases/v2.0.0/sbml/0010/0010.py similarity index 95% rename from petabtests/cases/pysb/0010/0010.py rename to petabtests/cases/v2.0.0/sbml/0010/0010.py index ec9962f..cc71b3c 100644 --- a/petabtests/cases/pysb/0010/0010.py +++ b/petabtests/cases/v2.0.0/sbml/0010/0010.py @@ -3,7 +3,7 @@ import pandas as pd from petab.C import * -from petabtests import DEFAULT_PYSB_FILE, PetabTestCase, analytical_a +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a DESCRIPTION = cleandoc(""" ## Objective @@ -68,7 +68,7 @@ brief="Simulation. Preequilibration. One species reinitialized, one not. " "InitialAssignment to species overridden.", description=DESCRIPTION, - model=DEFAULT_PYSB_FILE, + model=DEFAULT_SBML_FILE, condition_dfs=[condition_df], observable_dfs=[observable_df], measurement_dfs=[measurement_df], diff --git a/petabtests/cases/v2.0.0/sbml/0010/README.md b/petabtests/cases/v2.0.0/sbml/0010/README.md new file mode 100644 index 0000000..f794608 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/README.md @@ -0,0 +1,15 @@ +# PEtab test case 0010 + +## Objective + +This case tests support for partial preequilibration. + +The model is to be simulated for a preequilibration condition and a +simulation condition. +Species `B` is to be reinitialized after preequilibration. +For `A` the preequilibration result is to be used. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/pysb/0010/_0010.yaml b/petabtests/cases/v2.0.0/sbml/0010/_0010.yaml similarity index 62% rename from petabtests/cases/pysb/0010/_0010.yaml rename to petabtests/cases/v2.0.0/sbml/0010/_0010.yaml index dcde465..b1337e7 100644 --- a/petabtests/cases/pysb/0010/_0010.yaml +++ b/petabtests/cases/v2.0.0/sbml/0010/_0010.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/v2.0.0/sbml/0010/_0010_solution.yaml b/petabtests/cases/v2.0.0/sbml/0010/_0010_solution.yaml new file mode 100644 index 0000000..3a42a14 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/_0010_solution.yaml @@ -0,0 +1,7 @@ +chi2: 1.50941342794395 +llh: -1.20628941926143 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0010/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0010/_conditions.tsv new file mode 100644 index 0000000..96cbc94 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/_conditions.tsv @@ -0,0 +1,3 @@ +conditionId k1 B +preeq_c0 0.3 0 +c0 0.8 1 diff --git a/petabtests/cases/v2.0.0/sbml/0010/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0010/_measurements.tsv new file mode 100644 index 0000000..a9a1cb0 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/_measurements.tsv @@ -0,0 +1,3 @@ +observableId preequilibrationConditionId simulationConditionId time measurement +obs_a preeq_c0 c0 1 0.7 +obs_a preeq_c0 c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0010/_model.xml b/petabtests/cases/v2.0.0/sbml/0010/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0010/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0010/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0010/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0010/_parameters.tsv new file mode 100644 index 0000000..72b88de --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/_parameters.tsv @@ -0,0 +1,2 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0010/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0010/_simulations.tsv new file mode 100644 index 0000000..c467087 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/_simulations.tsv @@ -0,0 +1,3 @@ +observableId preequilibrationConditionId simulationConditionId time simulation +obs_a preeq_c0 c0 1 0.7025430017170664 +obs_a preeq_c0 c0 10 0.7142856746891086 diff --git a/petabtests/cases/v2.0.0/sbml/0010/conversion_modified.xml b/petabtests/cases/v2.0.0/sbml/0010/conversion_modified.xml new file mode 100644 index 0000000..c232197 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0010/conversion_modified.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/pysb/0011/0011.py b/petabtests/cases/v2.0.0/sbml/0011/0011.py similarity index 97% rename from petabtests/cases/pysb/0011/0011.py rename to petabtests/cases/v2.0.0/sbml/0011/0011.py index e11a06b..9f5af1a 100644 --- a/petabtests/cases/pysb/0011/0011.py +++ b/petabtests/cases/v2.0.0/sbml/0011/0011.py @@ -58,7 +58,7 @@ id=11, brief="Simulation. InitialAssignment to species overridden.", description=DESCRIPTION, - model='conversion_modified_pysb.py', + model='conversion_modified.xml', condition_dfs=[condition_df], observable_dfs=[observable_df], measurement_dfs=[measurement_df], diff --git a/petabtests/cases/v2.0.0/sbml/0011/README.md b/petabtests/cases/v2.0.0/sbml/0011/README.md new file mode 100644 index 0000000..3a28865 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/README.md @@ -0,0 +1,12 @@ +# PEtab test case 0011 + +## Objective + +This case tests initial concentrations in the condition table. +For species `B`, the initial concentration is specified in the condition +table, while for `A` it is given via an assignment rule in the SBML model. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/pysb/0011/_0011.yaml b/petabtests/cases/v2.0.0/sbml/0011/_0011.yaml similarity index 62% rename from petabtests/cases/pysb/0011/_0011.yaml rename to petabtests/cases/v2.0.0/sbml/0011/_0011.yaml index dcde465..b1337e7 100644 --- a/petabtests/cases/pysb/0011/_0011.yaml +++ b/petabtests/cases/v2.0.0/sbml/0011/_0011.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/v2.0.0/sbml/0011/_0011_solution.yaml b/petabtests/cases/v2.0.0/sbml/0011/_0011_solution.yaml new file mode 100644 index 0000000..14611ec --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/_0011_solution.yaml @@ -0,0 +1,7 @@ +chi2: 5.98367121577545 +llh: -3.44341831317718 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0011/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0011/_conditions.tsv new file mode 100644 index 0000000..e765b36 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId B +c0 2 diff --git a/petabtests/cases/v2.0.0/sbml/0011/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0011/_measurements.tsv new file mode 100644 index 0000000..a497632 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0011/_model.xml b/petabtests/cases/v2.0.0/sbml/0011/_model.xml new file mode 100644 index 0000000..845f96f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/_model.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0011/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0011/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0011/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0011/_parameters.tsv new file mode 100644 index 0000000..bf45aa8 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/_parameters.tsv @@ -0,0 +1,3 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0011/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0011/_simulations.tsv new file mode 100644 index 0000000..b57949d --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 0 1.0 +obs_a c0 10 1.2857140481346516 diff --git a/petabtests/cases/v2.0.0/sbml/0011/conversion_modified.xml b/petabtests/cases/v2.0.0/sbml/0011/conversion_modified.xml new file mode 100644 index 0000000..845f96f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0011/conversion_modified.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0012/0012.py b/petabtests/cases/v2.0.0/sbml/0012/0012.py new file mode 100644 index 0000000..e3e576f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/0012.py @@ -0,0 +1,67 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests initial compartment sizes in the condition table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], + 'compartment': [3], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['k1', 'k2'], + PARAMETER_SCALE: [LIN] * 2, + LOWER_BOUND: [0] * 2, + UPPER_BOUND: [10] * 2, + NOMINAL_VALUE: [0.8, 0.6], + ESTIMATE: [1] * 2, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +# in the model, concentrations are used, which do not depend on the +# compartment size, so that the species values should stay the same +simulation_df[SIMULATION] = [analytical_a(t, 1, 1, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=12, + brief="Simulation. Initial compartment size in condition table.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0012/README.md b/petabtests/cases/v2.0.0/sbml/0012/README.md new file mode 100644 index 0000000..567c12c --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/README.md @@ -0,0 +1,10 @@ +# PEtab test case 0012 + +## Objective + +This case tests initial compartment sizes in the condition table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0012/_0012.yaml b/petabtests/cases/v2.0.0/sbml/0012/_0012.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/_0012.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0012/_0012_solution.yaml b/petabtests/cases/v2.0.0/sbml/0012/_0012_solution.yaml new file mode 100644 index 0000000..acc785d --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/_0012_solution.yaml @@ -0,0 +1,7 @@ +chi2: 2.65306194401674 +llh: -1.77811367729783 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0012/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0012/_conditions.tsv new file mode 100644 index 0000000..13666c2 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId compartment +c0 3 diff --git a/petabtests/cases/v2.0.0/sbml/0012/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0012/_measurements.tsv new file mode 100644 index 0000000..a497632 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0012/_model.xml b/petabtests/cases/v2.0.0/sbml/0012/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0012/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0012/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0012/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0012/_parameters.tsv new file mode 100644 index 0000000..bf45aa8 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/_parameters.tsv @@ -0,0 +1,3 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0012/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0012/_simulations.tsv new file mode 100644 index 0000000..d9cb2f9 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0012/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 0 1.0 +obs_a c0 10 0.8571429759326742 diff --git a/petabtests/cases/pysb/0013/0013.py b/petabtests/cases/v2.0.0/sbml/0013/0013.py similarity index 97% rename from petabtests/cases/pysb/0013/0013.py rename to petabtests/cases/v2.0.0/sbml/0013/0013.py index ea4db80..64c30c4 100644 --- a/petabtests/cases/pysb/0013/0013.py +++ b/petabtests/cases/v2.0.0/sbml/0013/0013.py @@ -59,7 +59,7 @@ brief="Simulation. Species with InitialAssignment overridden by " "parameter.", description=DESCRIPTION, - model='conversion_modified_pysb.py', + model='conversion_modified.xml', condition_dfs=[condition_df], observable_dfs=[observable_df], measurement_dfs=[measurement_df], diff --git a/petabtests/cases/v2.0.0/sbml/0013/README.md b/petabtests/cases/v2.0.0/sbml/0013/README.md new file mode 100644 index 0000000..ef7c699 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/README.md @@ -0,0 +1,10 @@ +# PEtab test case 0013 + +## Objective + +This case tests parametric initial concentrations in the condition table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/pysb/0013/_0013.yaml b/petabtests/cases/v2.0.0/sbml/0013/_0013.yaml similarity index 62% rename from petabtests/cases/pysb/0013/_0013.yaml rename to petabtests/cases/v2.0.0/sbml/0013/_0013.yaml index dcde465..b1337e7 100644 --- a/petabtests/cases/pysb/0013/_0013.yaml +++ b/petabtests/cases/v2.0.0/sbml/0013/_0013.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/v2.0.0/sbml/0013/_0013_solution.yaml b/petabtests/cases/v2.0.0/sbml/0013/_0013_solution.yaml new file mode 100644 index 0000000..e22a73f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/_0013_solution.yaml @@ -0,0 +1,7 @@ +chi2: 44.67749724597132 +llh: -22.79033132827511 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0013/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0013/_conditions.tsv new file mode 100644 index 0000000..a26fa5d --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId B +c0 par diff --git a/petabtests/cases/v2.0.0/sbml/0013/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0013/_measurements.tsv new file mode 100644 index 0000000..a497632 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0013/_model.xml b/petabtests/cases/v2.0.0/sbml/0013/_model.xml new file mode 100644 index 0000000..845f96f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/_model.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0013/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0013/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0013/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0013/_parameters.tsv new file mode 100644 index 0000000..bd50c04 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/_parameters.tsv @@ -0,0 +1,4 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 +par lin 0 10 7.0 1 diff --git a/petabtests/cases/v2.0.0/sbml/0013/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0013/_simulations.tsv new file mode 100644 index 0000000..172fa2b --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 0 1.0 +obs_a c0 10 3.4285694091445396 diff --git a/petabtests/cases/v2.0.0/sbml/0013/conversion_modified.xml b/petabtests/cases/v2.0.0/sbml/0013/conversion_modified.xml new file mode 100644 index 0000000..845f96f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0013/conversion_modified.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0014/0014.py b/petabtests/cases/v2.0.0/sbml/0014/0014.py new file mode 100644 index 0000000..c2e497f --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/0014.py @@ -0,0 +1,65 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests numeric noise parameter overrides in the measurement table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1], + NOISE_PARAMETERS: ['0.5;2', '0.5;2'] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: ['noiseParameter1_obs_a + noiseParameter2_obs_a'] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [analytical_a(t, 1, 0, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=14, + brief="Simulation. Multiple numeric noise parameter overrides.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0014/README.md b/petabtests/cases/v2.0.0/sbml/0014/README.md new file mode 100644 index 0000000..bf2d5dd --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/README.md @@ -0,0 +1,10 @@ +# PEtab test case 0014 + +## Objective + +This case tests numeric noise parameter overrides in the measurement table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0014/_0014.yaml b/petabtests/cases/v2.0.0/sbml/0014/_0014.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/_0014.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0014/_0014_solution.yaml b/petabtests/cases/v2.0.0/sbml/0014/_0014_solution.yaml new file mode 100644 index 0000000..6100899 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/_0014_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.03167351934739 +llh: -3.68629528983135 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0014/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0014/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0014/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0014/_measurements.tsv new file mode 100644 index 0000000..980766d --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement noiseParameters +obs_a c0 0 0.7 0.5;2 +obs_a c0 10 0.1 0.5;2 diff --git a/petabtests/cases/v2.0.0/sbml/0014/_model.xml b/petabtests/cases/v2.0.0/sbml/0014/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0014/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0014/_observables.tsv new file mode 100644 index 0000000..e230cc4 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A noiseParameter1_obs_a + noiseParameter2_obs_a diff --git a/petabtests/cases/v2.0.0/sbml/0014/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0014/_parameters.tsv new file mode 100644 index 0000000..8c1e5cb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0014/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0014/_simulations.tsv new file mode 100644 index 0000000..be85c82 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0014/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation noiseParameters +obs_a c0 0 1.0 0.5;2 +obs_a c0 10 0.42857190373069665 0.5;2 diff --git a/petabtests/cases/v2.0.0/sbml/0015/0015.py b/petabtests/cases/v2.0.0/sbml/0015/0015.py new file mode 100644 index 0000000..7b767a3 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/0015.py @@ -0,0 +1,65 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests parametric noise parameter overrides in the measurement table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1], + NOISE_PARAMETERS: ['noise', 'noise'] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['A'], + NOISE_FORMULA: ['noiseParameter1_obs_a'] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2', 'noise'], + PARAMETER_SCALE: [LIN] * 5, + LOWER_BOUND: [0] * 5, + UPPER_BOUND: [10] * 5, + NOMINAL_VALUE: [1, 0, 0.8, 0.6, 5], + ESTIMATE: [1] * 5, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [analytical_a(t, 1, 0, 0.8, 0.6) + for t in simulation_df[TIME]] + +case = PetabTestCase( + id=15, + brief="Simulation. Single parametric noise parameter override.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0015/README.md b/petabtests/cases/v2.0.0/sbml/0015/README.md new file mode 100644 index 0000000..9a039c1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/README.md @@ -0,0 +1,10 @@ +# PEtab test case 0015 + +## Objective + +This case tests parametric noise parameter overrides in the measurement table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0015/_0015.yaml b/petabtests/cases/v2.0.0/sbml/0015/_0015.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/_0015.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0015/_0015_solution.yaml b/petabtests/cases/v2.0.0/sbml/0015/_0015_solution.yaml new file mode 100644 index 0000000..47de01e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/_0015_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.00791837983685 +llh: -5.06071208119597 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0015/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0015/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0015/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0015/_measurements.tsv new file mode 100644 index 0000000..687cf08 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement noiseParameters +obs_a c0 0 0.7 noise +obs_a c0 10 0.1 noise diff --git a/petabtests/cases/v2.0.0/sbml/0015/_model.xml b/petabtests/cases/v2.0.0/sbml/0015/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0015/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0015/_observables.tsv new file mode 100644 index 0000000..1f529dc --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A noiseParameter1_obs_a diff --git a/petabtests/cases/v2.0.0/sbml/0015/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0015/_parameters.tsv new file mode 100644 index 0000000..46c9b55 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/_parameters.tsv @@ -0,0 +1,6 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 +noise lin 0 10 5.0 1 diff --git a/petabtests/cases/v2.0.0/sbml/0015/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0015/_simulations.tsv new file mode 100644 index 0000000..1bb82af --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0015/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation noiseParameters +obs_a c0 0 1.0 noise +obs_a c0 10 0.42857190373069665 noise diff --git a/petabtests/cases/v2.0.0/sbml/0016/0016.py b/petabtests/cases/v2.0.0/sbml/0016/0016.py new file mode 100644 index 0000000..e520636 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/0016.py @@ -0,0 +1,71 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import (DEFAULT_SBML_FILE, PetabTestCase, analytical_a, + analytical_b) + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for observable transformations to log scale. + +The model is to be simulated for a single experimental condition. Measurements +for observable `obs_a` are to be used as is, measurements for `obs_b` are to +be transformed to log scale for computing chi2 and likelihood. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") +# problem -------------------------------------------------------------------- + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_b'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [10, 10], + MEASUREMENT: [0.2, 0.8] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_b'], + OBSERVABLE_FORMULA: ['A', 'B'], + OBSERVABLE_TRANSFORMATION: [LIN, LOG], + NOISE_FORMULA: [0.5, 0.7] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'b0', 'k1', 'k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [ + analytical_a(10, 1, 0, 0.8, 0.6), + analytical_b(10, 1, 0, 0.8, 0.6), +] + +case = PetabTestCase( + id=16, + brief="Simulation. Observable transformation log.", + description=DESCRIPTION, + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0016/README.md b/petabtests/cases/v2.0.0/sbml/0016/README.md new file mode 100644 index 0000000..3d9ec84 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/README.md @@ -0,0 +1,14 @@ +# PEtab test case 0016 + +## Objective + +This case tests support for observable transformations to log scale. + +The model is to be simulated for a single experimental condition. Measurements +for observable `obs_a` are to be used as is, measurements for `obs_b` are to +be transformed to log scale for computing chi2 and likelihood. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0016/_0016.yaml b/petabtests/cases/v2.0.0/sbml/0016/_0016.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/_0016.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0016/_0016_solution.yaml b/petabtests/cases/v2.0.0/sbml/0016/_0016_solution.yaml new file mode 100644 index 0000000..3b04b55 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/_0016_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.4400296965992 +llh: -0.78492623889606 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0016/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0016/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0016/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0016/_measurements.tsv new file mode 100644 index 0000000..00c596e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 10 0.2 +obs_b c0 10 0.8 diff --git a/petabtests/cases/v2.0.0/sbml/0016/_model.xml b/petabtests/cases/v2.0.0/sbml/0016/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0016/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0016/_observables.tsv new file mode 100644 index 0000000..6d90598 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/_observables.tsv @@ -0,0 +1,3 @@ +observableId observableFormula observableTransformation noiseFormula +obs_a A lin 0.5 +obs_b B log 0.7 diff --git a/petabtests/cases/v2.0.0/sbml/0016/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0016/_parameters.tsv new file mode 100644 index 0000000..8c1e5cb --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0016/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0016/_simulations.tsv new file mode 100644 index 0000000..a054455 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0016/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 10 0.42857190373069665 +obs_b c0 10 0.5714280962693035 diff --git a/petabtests/cases/pysb/0017/0017.py b/petabtests/cases/v2.0.0/sbml/0017/0017.py similarity index 96% rename from petabtests/cases/pysb/0017/0017.py rename to petabtests/cases/v2.0.0/sbml/0017/0017.py index 62eb482..7b97b6e 100644 --- a/petabtests/cases/pysb/0017/0017.py +++ b/petabtests/cases/v2.0.0/sbml/0017/0017.py @@ -3,7 +3,7 @@ import pandas as pd from petab.C import * -from petabtests import (DEFAULT_PYSB_FILE, PetabTestCase, analytical_a, +from petabtests import (DEFAULT_SBML_FILE, PetabTestCase, analytical_a, analytical_b) DESCRIPTION = cleandoc(""" @@ -75,7 +75,7 @@ brief="Simulation. Preequilibration. One species reinitialized, one not " "(NaN in condition table). InitialAssignment to species overridden.", description=DESCRIPTION, - model=DEFAULT_PYSB_FILE, + model=DEFAULT_SBML_FILE, condition_dfs=[condition_df], observable_dfs=[observable_df], measurement_dfs=[measurement_df], diff --git a/petabtests/cases/pysb/0017/README.md b/petabtests/cases/v2.0.0/sbml/0017/README.md similarity index 100% rename from petabtests/cases/pysb/0017/README.md rename to petabtests/cases/v2.0.0/sbml/0017/README.md diff --git a/petabtests/cases/pysb/0017/_0017.yaml b/petabtests/cases/v2.0.0/sbml/0017/_0017.yaml similarity index 62% rename from petabtests/cases/pysb/0017/_0017.yaml rename to petabtests/cases/v2.0.0/sbml/0017/_0017.yaml index dcde465..b1337e7 100644 --- a/petabtests/cases/pysb/0017/_0017.yaml +++ b/petabtests/cases/v2.0.0/sbml/0017/_0017.yaml @@ -1,11 +1,13 @@ -format_version: 1 +format_version: 2.0.0 parameter_file: _parameters.tsv problems: - condition_files: - _conditions.tsv measurement_files: - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml observable_files: - _observables.tsv - sbml_files: - - _model.py diff --git a/petabtests/cases/v2.0.0/sbml/0017/_0017_solution.yaml b/petabtests/cases/v2.0.0/sbml/0017/_0017_solution.yaml new file mode 100644 index 0000000..a506f2e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0017/_0017_solution.yaml @@ -0,0 +1,7 @@ +chi2: 1.5381137419081 +llh: -1.22063957624351 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0017/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0017/_conditions.tsv new file mode 100644 index 0000000..18cccad --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0017/_conditions.tsv @@ -0,0 +1,3 @@ +conditionId k1 B A +preeq_c0 0.3 2.0 0 +c0 0.8 NaN 1 diff --git a/petabtests/cases/v2.0.0/sbml/0017/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0017/_measurements.tsv new file mode 100644 index 0000000..a9a1cb0 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0017/_measurements.tsv @@ -0,0 +1,3 @@ +observableId preequilibrationConditionId simulationConditionId time measurement +obs_a preeq_c0 c0 1 0.7 +obs_a preeq_c0 c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0017/_model.xml b/petabtests/cases/v2.0.0/sbml/0017/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0017/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0017/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0017/_observables.tsv new file mode 100644 index 0000000..0b78dd1 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0017/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0017/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0017/_parameters.tsv new file mode 100644 index 0000000..72b88de --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0017/_parameters.tsv @@ -0,0 +1,2 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0017/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0017/_simulations.tsv new file mode 100644 index 0000000..8155bb8 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0017/_simulations.tsv @@ -0,0 +1,3 @@ +observableId preequilibrationConditionId simulationConditionId time simulation +obs_a preeq_c0 c0 1 0.7847419896976019 +obs_a preeq_c0 c0 10 0.7142859518653484 diff --git a/petabtests/cases/v2.0.0/sbml/0018/0018.py b/petabtests/cases/v2.0.0/sbml/0018/0018.py new file mode 100644 index 0000000..c00613e --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/0018.py @@ -0,0 +1,113 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * +from pathlib import Path +from petabtests import PetabTestCase, analytical_a, analytical_b + +DESCRIPTION = cleandoc(""" +## Objective + +This case tests support for RateRules and partial preequilibration with `NaN`'s +in the condition file. + +The model is to be simulated for a preequilibration condition and a +simulation condition. +For preequilibration, species `B` is initialized with `0`. For simulation, +`B` is set to `NaN`, meaning that it is initialized with the result from +preequilibration. +`A` is reinitialized to the value in the condition table after +preequilibration. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. Dynamics of are specified as `RateRule`s targeting a +parameter and a species. +""") + +# problem -------------------------------------------------------------------- + +model = str(Path(__file__).parent / "model.xml") + + +def get_model(): + import simplesbml + model = simplesbml.SbmlModel() + model.addParameter("a0", 1) + model.addParameter("b0", 1) + model.addParameter("k1", 0) + model.addParameter("k2", 0) + model.addCompartment(comp_id="compartment") + model.addSpecies("[A]", 0, comp="compartment") + model.addParameter("B", 0) + model.addInitialAssignment("A", "a0") + model.addInitialAssignment("B", "b0") + model.addRateRule("A", "k2 * B - k1 * A") + model.addRateRule("B", "- compartment * k2 * B + compartment * k1 * A") + return model + + +with open(model, "w") as f: + f.write(get_model().toSBML()) + + +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['preeq_c0', 'c0'], + 'k1': [0.3, 0.8], + 'B': [2.0, 'NaN'], + 'A': [0, 1], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'] * 3 + ['obs_b'], + PREEQUILIBRATION_CONDITION_ID: ['preeq_c0'] * 4, + SIMULATION_CONDITION_ID: ['c0'] * 4, + TIME: [0, 1, 10, 0], + MEASUREMENT: [0.1, 0.7, 0.1, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_b'], + OBSERVABLE_FORMULA: ['A', 'B'], + NOISE_FORMULA: [0.5, 0.2] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['k2'], + PARAMETER_SCALE: [LIN], + LOWER_BOUND: [0], + UPPER_BOUND: [10], + NOMINAL_VALUE: [0.6], + ESTIMATE: [1], +}).set_index(PARAMETER_ID) + + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +# simulate for far time point as steady state +steady_state_b = analytical_b(1000, 0, 2.0, 0.3, 0.6) +# use steady state as initial state +simulation_df.iloc[:3, simulation_df.columns.get_loc(SIMULATION)] = [ + analytical_a(t, 1, steady_state_b, 0.8, 0.6) + for t in simulation_df[TIME]][:3] +simulation_df.iloc[3:, simulation_df.columns.get_loc(SIMULATION)] = [ + analytical_b(t, 1, steady_state_b, 0.8, 0.6) + for t in simulation_df[TIME]][3:] + + +case = PetabTestCase( + id=18, + brief="Simulation. Preequilibration and RateRules. One state " + "reinitialized, one not (NaN in condition table). InitialAssignment " + "to species overridden.", + description=DESCRIPTION, + model=model, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0018/README.md b/petabtests/cases/v2.0.0/sbml/0018/README.md new file mode 100644 index 0000000..e9ffec4 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/README.md @@ -0,0 +1,20 @@ +# PEtab test case 0018 + +## Objective + +This case tests support for RateRules and partial preequilibration with `NaN`'s +in the condition file. + +The model is to be simulated for a preequilibration condition and a +simulation condition. +For preequilibration, species `B` is initialized with `0`. For simulation, +`B` is set to `NaN`, meaning that it is initialized with the result from +preequilibration. +`A` is reinitialized to the value in the condition table after +preequilibration. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. Dynamics of are specified as `RateRule`s targeting a +parameter and a species. diff --git a/petabtests/cases/v2.0.0/sbml/0018/_0018.yaml b/petabtests/cases/v2.0.0/sbml/0018/_0018.yaml new file mode 100644 index 0000000..b1337e7 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/_0018.yaml @@ -0,0 +1,13 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0018/_0018_solution.yaml b/petabtests/cases/v2.0.0/sbml/0018/_0018_solution.yaml new file mode 100644 index 0000000..7d75171 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/_0018_solution.yaml @@ -0,0 +1,7 @@ +chi2: 12.80589151968588 +llh: -6.3898204385477 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0018/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0018/_conditions.tsv new file mode 100644 index 0000000..18cccad --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/_conditions.tsv @@ -0,0 +1,3 @@ +conditionId k1 B A +preeq_c0 0.3 2.0 0 +c0 0.8 NaN 1 diff --git a/petabtests/cases/v2.0.0/sbml/0018/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0018/_measurements.tsv new file mode 100644 index 0000000..b3885d3 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/_measurements.tsv @@ -0,0 +1,5 @@ +observableId preequilibrationConditionId simulationConditionId time measurement +obs_a preeq_c0 c0 0 0.1 +obs_a preeq_c0 c0 1 0.7 +obs_a preeq_c0 c0 10 0.1 +obs_b preeq_c0 c0 0 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0018/_model.xml b/petabtests/cases/v2.0.0/sbml/0018/_model.xml new file mode 100644 index 0000000..9c57090 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/_model.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + k2 + B + + + + k1 + A + + + + + + + + + + + + + compartment + + k2 + B + + + + compartment + k1 + A + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0018/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0018/_observables.tsv new file mode 100644 index 0000000..944a47c --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/_observables.tsv @@ -0,0 +1,3 @@ +observableId observableFormula noiseFormula +obs_a A 0.5 +obs_b B 0.2 diff --git a/petabtests/cases/v2.0.0/sbml/0018/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0018/_parameters.tsv new file mode 100644 index 0000000..72b88de --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/_parameters.tsv @@ -0,0 +1,2 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0018/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0018/_simulations.tsv new file mode 100644 index 0000000..2e2dd01 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/_simulations.tsv @@ -0,0 +1,5 @@ +observableId preequilibrationConditionId simulationConditionId time simulation +obs_a preeq_c0 c0 0 1.0 +obs_a preeq_c0 c0 1 0.7847419896976019 +obs_a preeq_c0 c0 10 0.7142859518653484 +obs_b preeq_c0 c0 0 0.6666666666666667 diff --git a/petabtests/cases/v2.0.0/sbml/0018/model.xml b/petabtests/cases/v2.0.0/sbml/0018/model.xml new file mode 100644 index 0000000..9c57090 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0018/model.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + k2 + B + + + + k1 + A + + + + + + + + + + + + + compartment + + k2 + B + + + + compartment + k1 + A + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0019/0019.py b/petabtests/cases/v2.0.0/sbml/0019/0019.py new file mode 100644 index 0000000..035ef5c --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/0019.py @@ -0,0 +1,74 @@ +from inspect import cleandoc + +import pandas as pd +from petab.C import * + +from petabtests import DEFAULT_SBML_FILE, PetabTestCase, analytical_a + +DESCRIPTION = cleandoc(""" +## Objective + +Test different model entities inside the mapping table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. +""") + +# problem -------------------------------------------------------------------- +# TODO use mapping here +condition_df = pd.DataFrame(data={ + CONDITION_ID: ['c0'], +}).set_index([CONDITION_ID]) + +measurement_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a', 'obs_a'], + SIMULATION_CONDITION_ID: ['c0', 'c0'], + TIME: [0, 10], + MEASUREMENT: [0.7, 0.1] +}) + +observable_df = pd.DataFrame(data={ + OBSERVABLE_ID: ['obs_a'], + OBSERVABLE_FORMULA: ['maps_to_A'], + NOISE_FORMULA: [0.5] +}).set_index([OBSERVABLE_ID]) + +parameter_df = pd.DataFrame(data={ + PARAMETER_ID: ['a0', 'maps_to_b0', 'k1', 'maps_to_k2'], + PARAMETER_SCALE: [LIN] * 4, + LOWER_BOUND: [0] * 4, + UPPER_BOUND: [10] * 4, + NOMINAL_VALUE: [1, 0, 0.8, 0.6], + ESTIMATE: [1] * 4, +}).set_index(PARAMETER_ID) + +# solutions ------------------------------------------------------------------ + +simulation_df = measurement_df.copy(deep=True).rename( + columns={MEASUREMENT: SIMULATION}) +simulation_df[SIMULATION] = [analytical_a(t, 1, 0, 0.8, 0.6) + for t in simulation_df[TIME]] + +mapping_df = pd.DataFrame(data={ + PETAB_ENTITY_ID: + ['maps_to_a0', 'maps_to_b0', 'maps_to_k1', + 'maps_to_k2', 'maps_to_A', 'maps_to_B'], + MODEL_ENTITY_ID: + ['a0', 'b0', 'k1', 'k2', 'A', 'B'], +}).set_index(PETAB_ENTITY_ID) + +case = PetabTestCase( + id=19, + brief="Mapping table.", + description=DESCRIPTION, + # TODO add local parameter and use in mapping table + model=DEFAULT_SBML_FILE, + condition_dfs=[condition_df], + observable_dfs=[observable_df], + measurement_dfs=[measurement_df], + simulation_dfs=[simulation_df], + parameter_df=parameter_df, + mapping_df=mapping_df, +) diff --git a/petabtests/cases/v2.0.0/sbml/0019/README.md b/petabtests/cases/v2.0.0/sbml/0019/README.md new file mode 100644 index 0000000..64138a6 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/README.md @@ -0,0 +1,10 @@ +# PEtab test case 0019 + +## Objective + +Test different model entities inside the mapping table. + +## Model + +A simple conversion reaction `A <=> B` in a single compartment, following +mass action kinetics. diff --git a/petabtests/cases/v2.0.0/sbml/0019/_0019.yaml b/petabtests/cases/v2.0.0/sbml/0019/_0019.yaml new file mode 100644 index 0000000..b84f839 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_0019.yaml @@ -0,0 +1,14 @@ +format_version: 2.0.0 +parameter_file: _parameters.tsv +problems: +- condition_files: + - _conditions.tsv + mapping_file: _mapping.tsv + measurement_files: + - _measurements.tsv + model_files: + model_0: + language: sbml + location: _model.xml + observable_files: + - _observables.tsv diff --git a/petabtests/cases/v2.0.0/sbml/0019/_0019_solution.yaml b/petabtests/cases/v2.0.0/sbml/0019/_0019_solution.yaml new file mode 100644 index 0000000..1ee1c67 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_0019_solution.yaml @@ -0,0 +1,7 @@ +chi2: 0.79183798368486 +llh: -0.84750169713188 +simulation_files: +- _simulations.tsv +tol_chi2: 0.001 +tol_llh: 0.001 +tol_simulations: 0.001 diff --git a/petabtests/cases/v2.0.0/sbml/0019/_conditions.tsv b/petabtests/cases/v2.0.0/sbml/0019/_conditions.tsv new file mode 100644 index 0000000..f15e327 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_conditions.tsv @@ -0,0 +1,2 @@ +conditionId +c0 diff --git a/petabtests/cases/v2.0.0/sbml/0019/_mapping.tsv b/petabtests/cases/v2.0.0/sbml/0019/_mapping.tsv new file mode 100644 index 0000000..d4cd013 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_mapping.tsv @@ -0,0 +1,7 @@ +petabEntityId modelEntityId +maps_to_a0 a0 +maps_to_b0 b0 +maps_to_k1 k1 +maps_to_k2 k2 +maps_to_A A +maps_to_B B diff --git a/petabtests/cases/v2.0.0/sbml/0019/_measurements.tsv b/petabtests/cases/v2.0.0/sbml/0019/_measurements.tsv new file mode 100644 index 0000000..a497632 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_measurements.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time measurement +obs_a c0 0 0.7 +obs_a c0 10 0.1 diff --git a/petabtests/cases/v2.0.0/sbml/0019/_model.xml b/petabtests/cases/v2.0.0/sbml/0019/_model.xml new file mode 100644 index 0000000..9a91311 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_model.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a0 + + + + + b0 + + + + + + + + + + + + + + + + + compartment + k1 + A + + + + + + + + + + + + + + + + compartment + k2 + B + + + + + + + + diff --git a/petabtests/cases/v2.0.0/sbml/0019/_observables.tsv b/petabtests/cases/v2.0.0/sbml/0019/_observables.tsv new file mode 100644 index 0000000..b86c5b9 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_observables.tsv @@ -0,0 +1,2 @@ +observableId observableFormula noiseFormula +obs_a maps_to_A 0.5 diff --git a/petabtests/cases/v2.0.0/sbml/0019/_parameters.tsv b/petabtests/cases/v2.0.0/sbml/0019/_parameters.tsv new file mode 100644 index 0000000..797509b --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_parameters.tsv @@ -0,0 +1,5 @@ +parameterId parameterScale lowerBound upperBound nominalValue estimate +a0 lin 0 10 1.0 1 +maps_to_b0 lin 0 10 0.0 1 +k1 lin 0 10 0.8 1 +maps_to_k2 lin 0 10 0.6 1 diff --git a/petabtests/cases/v2.0.0/sbml/0019/_simulations.tsv b/petabtests/cases/v2.0.0/sbml/0019/_simulations.tsv new file mode 100644 index 0000000..c1339e4 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/0019/_simulations.tsv @@ -0,0 +1,3 @@ +observableId simulationConditionId time simulation +obs_a c0 0 1.0 +obs_a c0 10 0.42857190373069665 diff --git a/petabtests/cases/v2.0.0/sbml/README.md b/petabtests/cases/v2.0.0/sbml/README.md new file mode 100644 index 0000000..3b50f43 --- /dev/null +++ b/petabtests/cases/v2.0.0/sbml/README.md @@ -0,0 +1,76 @@ +# [0001](0001/) + +Simulation. Nothing special. + +# [0002](0002/) + +Simulation. Two conditions. Numeric parameter override. + +# [0003](0003/) + +Simulation. Numeric observable parameter overrides in measurement table. + +# [0004](0004/) + +Simulation. Observable parameters only defined in parameter table. + +# [0005](0005/) + +Simulation. Condition-specific parameters only defined in parameter table. + +# [0006](0006/) + +Simulation. Time-point specific numeric observable parameter overrides. + +# [0007](0007/) + +Simulation. Observable transformation log10. + +# [0008](0008/) + +Simulation. Replicate measurements. + +# [0009](0009/) + +Simulation. Preequilibration. + +# [0010](0010/) + +Simulation. Preequilibration. One species reinitialized, one not. InitialAssignment to species overridden. + +# [0011](0011/) + +Simulation. InitialAssignment to species overridden. + +# [0012](0012/) + +Simulation. Initial compartment size in condition table. + +# [0013](0013/) + +Simulation. Species with InitialAssignment overridden by parameter. + +# [0014](0014/) + +Simulation. Multiple numeric noise parameter overrides. + +# [0015](0015/) + +Simulation. Single parametric noise parameter override. + +# [0016](0016/) + +Simulation. Observable transformation log. + +# [0017](0017/) + +Simulation. Preequilibration. One species reinitialized, one not (NaN in condition table). InitialAssignment to species overridden. + +# [0018](0018/) + +Simulation. Preequilibration and RateRules. One state reinitialized, one not (NaN in condition table). InitialAssignment to species overridden. + +# [0019](0019/) + +Mapping table. + diff --git a/petabtests/core.py b/petabtests/core.py index 0555303..2d539ad 100644 --- a/petabtests/core.py +++ b/petabtests/core.py @@ -1,36 +1,51 @@ import importlib +import itertools import logging import os import re import sys +from pathlib import Path from petab.calculate import calculate_chi2, calculate_llh from .C import CASES_DIR -from .file import (PetabTestCase, write_info, write_problem, write_solution, - test_id_str) +from .file import (PetabTestCase, get_case_dir, test_id_str, write_info, + write_problem, write_solution) -__all__ = ['get_cases', 'create', 'clear'] +__all__ = ['get_cases', 'create', 'clear', 'get_cases_dir'] + +test_formats = ('sbml', 'pysb') +test_versions = ('v1.0.0', "v2.0.0") logger = logging.getLogger("petab_test_suite") -def get_cases(format: str): - return sorted(f.name for f in os.scandir(CASES_DIR / format) if f.is_dir() +def get_cases_dir(format_: str, version: str) -> Path: + return CASES_DIR / version / format_ + + +def get_cases(format_: str, version: str): + cases_dir = get_cases_dir(format_=format_, version=version) + if not cases_dir.exists(): + return [] + return sorted(f.name for f in os.scandir(cases_dir) + if f.is_dir() and re.match(r'^\d+$', f.name)) def create(): """Create all test files.""" - formats = ('sbml', 'pysb') + for version, format_ in itertools.product(test_versions, test_formats): + case_list = get_cases(format_=format_, version=version) + if not case_list: + continue - for format in formats: - case_list = get_cases(format=format) toc = "" for case_id in case_list: - case_dir = CASES_DIR / format / case_id - logger.info('# ', format, case_id, case_dir) + case_dir = get_case_dir(format_=format_, version=version, + id_=case_id) + logger.info('# ', format_, version, case_id, case_dir) # load test case module # directory needs to be removed from path again and the module @@ -46,15 +61,19 @@ def create(): id_str = test_id_str(case.id) toc += f"# [{id_str}]({id_str}/)\n\n{case.brief}\n\n" - write_info(case, format) - - write_problem(test_id=case.id, - parameter_df=case.parameter_df, - condition_dfs=case.condition_dfs, - observable_dfs=case.observable_dfs, - measurement_dfs=case.measurement_dfs, - model_files=case.model, - format_=format) + write_info(case, format_, version=version) + + write_problem( + test_id=case.id, + parameter_df=case.parameter_df, + condition_dfs=case.condition_dfs, + observable_dfs=case.observable_dfs, + measurement_dfs=case.measurement_dfs, + model_files=case.model, + format_=format_, + version=version, + mapping_df=case.mapping_df + ) chi2 = calculate_chi2( case.measurement_dfs, case.simulation_dfs, case.observable_dfs, @@ -64,23 +83,30 @@ def create(): case.measurement_dfs, case.simulation_dfs, case.observable_dfs, case.parameter_df ) - write_solution(test_id=case.id, - chi2=chi2, - llh=llh, - simulation_dfs=case.simulation_dfs, - format=format) + write_solution( + test_id=case.id, + chi2=chi2, + llh=llh, + simulation_dfs=case.simulation_dfs, + format_=format_, + version=version, + ) - toc_path = CASES_DIR / format / "README.md" + toc_path = get_cases_dir(format_=format_, version=version) \ + / "README.md" with open(toc_path, "w") as f: f.write(toc) def clear(): """Clear all model folders.""" + for version, format_ in itertools.product(test_versions, test_formats): + case_list = get_cases(format_=format_, version=version) + + for case_id in case_list: + case_dir = get_case_dir(format_=format_, version=version, + id_=case_id) - case_list = os.scandir(CASES_DIR) - for case in case_list: - case_dir = os.path.join(CASES_DIR, case) - for file_ in os.scandir(case_dir): - if file_.name.startswith('_') and not file_.is_dir(): - os.remove(file_.path) + for file_ in os.scandir(case_dir): + if file_.name.startswith('_') and not file_.is_dir(): + os.remove(file_.path) diff --git a/petabtests/file.py b/petabtests/file.py index 3bc52c2..3908d31 100644 --- a/petabtests/file.py +++ b/petabtests/file.py @@ -11,9 +11,11 @@ from .C import * # noqa: F403 -__all__ = ['case_dir', 'load_solution', 'PetabTestCase', 'problem_yaml_name', - 'solution_yaml_name', 'test_id_str', 'write_info', 'write_problem', - 'write_solution'] +__all__ = [ + 'get_case_dir', 'load_solution', 'PetabTestCase', 'problem_yaml_name', + 'solution_yaml_name', 'test_id_str', 'write_info', 'write_problem', + 'write_solution' +] @dataclass @@ -28,14 +30,12 @@ class PetabTestCase: measurement_dfs: List[pd.DataFrame] simulation_dfs: List[pd.DataFrame] parameter_df: pd.DataFrame + mapping_df: pd.DataFrame = None -def case_dir(_id: Union[int, str], format: str) -> Path: - id_str = test_id_str(_id) - if format == 'sbml': - dir_ = CASES_DIR / id_str - else: - dir_ = CASES_DIR / format / id_str +def get_case_dir(id_: Union[int, str], format_: str, version: str) -> Path: + id_str = test_id_str(id_) + dir_ = CASES_DIR / version / format_ / id_str dir_.mkdir(parents=True, exist_ok=True) return dir_ @@ -52,10 +52,10 @@ def test_id_str(_id: Union[int, str]) -> str: return f"{_id:0>4}" -def write_info(case: PetabTestCase, format_: str): +def write_info(case: PetabTestCase, format_: str, version: str): """Write test info markdown file""" # id to string - dir_ = case_dir(case.id, format_) + dir_ = get_case_dir(id_=case.id, format_=format_, version=version) id_str = test_id_str(case.id) filename = dir_ / "README.md" with open(filename, "w") as f: @@ -71,8 +71,10 @@ def write_problem( observable_dfs: Union[List[pd.DataFrame], pd.DataFrame], measurement_dfs: Union[List[pd.DataFrame], pd.DataFrame], model_files: Union[List[Path], Path], + version: str, + mapping_df: pd.DataFrame = None, format_: str = 'sbml' - ) -> None: +) -> None: """Write problem to files. Parameters @@ -84,8 +86,10 @@ def write_problem( measurement_dfs: PEtab measurement tables. model_files: PEtab SBML/PySB files. format_: Model format (SBML/PySB) + mapping_df: PEtab mapping table + version: PEtab version """ - print(f"Writing case {test_id} {format_} ...") + print(f"Writing case {version} {format_} {test_id}...") # convenience if isinstance(condition_dfs, pd.DataFrame): condition_dfs = [condition_dfs] @@ -97,14 +101,19 @@ def write_problem( model_files = [model_files] # id to string - dir_ = case_dir(test_id, format_) + dir_ = get_case_dir(id_=test_id, format_=format_, version=version) + + if version == "v1.0.0": + format_version = 1 + else: + assert version[0] == "v" + format_version = version[1:] # petab yaml config = { - FORMAT_VERSION: petab.__format_version__, + FORMAT_VERSION: format_version, PROBLEMS: [ { - SBML_FILES: [], CONDITION_FILES: [], MEASUREMENT_FILES: [], OBSERVABLE_FILES: [], @@ -127,7 +136,16 @@ def write_problem( copyfile(os.path.join(dir_, model_file), os.path.join(dir_, copied_model_file)) copied_model_files.append(copied_model_file) - config[PROBLEMS][0][SBML_FILES] = copied_model_files + + if version == "v1.0.0": + config[PROBLEMS][0][SBML_FILES] = copied_model_files + else: + config[PROBLEMS][0][MODEL_FILES] = {} + for model_idx, model_file in enumerate(copied_model_files): + config[PROBLEMS][0][MODEL_FILES][f'model_{model_idx}'] = { + MODEL_LANGUAGE: format_, + MODEL_LOCATION: model_file, + } # write parameters parameters_file = '_parameters.tsv' @@ -150,6 +168,13 @@ def write_problem( petab.write_measurement_df, measurement_dfs, config[PROBLEMS][0][MEASUREMENT_FILES]) + if format_version != 1 and mapping_df is not None: + # write mapping table + mappings_file = '_mapping.tsv' + petab.write_mapping_df(mapping_df, + os.path.join(dir_, mappings_file)) + config[PROBLEMS][0][MAPPING_FILE] = mappings_file + # validate petab yaml petab.validate(config, path_prefix=dir_) @@ -160,7 +185,8 @@ def write_problem( # validate written PEtab files problem = petab.Problem.from_yaml(os.path.join(dir_, yaml_file)) - petab.lint_problem(problem) + if petab.lint_problem(problem): + raise RuntimeError("Invalid PEtab problem, see messages above.") def write_solution( @@ -168,10 +194,12 @@ def write_solution( simulation_dfs: Union[List[pd.DataFrame], pd.DataFrame], chi2: float, llh: float, - format: str = 'sbml', + version: str, + format_: str = 'sbml', tol_simulations: float = 1e-3, tol_chi2: float = 1e-3, - tol_llh: float = 1e-3): + tol_llh: float = 1e-3 +): """Write solution to files. Parameters @@ -180,14 +208,14 @@ def write_solution( simulation_dfs: PEtab simulation tables. chi2: True chi square value. llh: True log likelihood value. - format: Model format (SBML/PySB) + format_: Model format (SBML/PySB) """ if isinstance(simulation_dfs, pd.DataFrame): simulation_dfs = [simulation_dfs] # id to string - dir_ = case_dir(test_id, format) + dir_ = get_case_dir(id_=test_id, format_=format_, version=version) # solution yaml config = { @@ -226,8 +254,8 @@ def _write_dfs_to_files( config_list.append(fname) -def load_solution(test_id: Union[int, str], format: str): - dir_ = case_dir(test_id, format) +def load_solution(test_id: Union[int, str], format: str, version: str): + dir_ = get_case_dir(test_id, format, version=version) # load yaml yaml_file = solution_yaml_name(test_id) diff --git a/test/test_general.py b/test/test_general.py index d5c69cd..e1178b2 100644 --- a/test/test_general.py +++ b/test/test_general.py @@ -5,5 +5,12 @@ def test_cases_dir_exists(): assert os.path.isdir(petabtests.BASE_DIR) assert os.path.isdir(petabtests.CASES_DIR) - assert os.path.isdir(petabtests.SBML_DIR) - assert os.path.isdir(petabtests.PYSB_DIR) + assert os.path.isdir( + petabtests.get_cases_dir(format_="sbml", version="v1.0.0") + ) + assert os.path.isdir( + petabtests.get_cases_dir(format_="sbml", version="v2.0.0") + ) + assert os.path.isdir( + petabtests.get_cases_dir(format_="pysb", version="v2.0.0") + )