From 09e8019feafd32364390b4ce3966e108557800e7 Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Thu, 10 Oct 2024 07:54:12 +0200 Subject: [PATCH] Overview table: discontinuities Add another column to the overview table, indicating whether the model is likely to have a discontinuous right-hand-side. Closes #236. --- README.md | 70 +++++++++---------- src/python/benchmark_models_petab/overview.py | 61 +++++++++++++++- src/python/pyproject.toml | 1 + 3 files changed, 96 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 8676397..5da2d4c 100644 --- a/README.md +++ b/README.md @@ -6,41 +6,41 @@ Contributions to the collection are very welcome. Please see [CONTRIBUTING.md](C ## Overview -| PEtab Problem ID | Conditions | Estimated Parameters | Events | Preequilibration | Postequilibration | Measurements | Observables | Noise distribution(s) | Objective prior distribution(s) | Species | References | SBML4Humans | -|:---------------------------------------------------------------------------------------------|-------------:|-----------------------:|---------:|-------------------:|--------------------:|---------------:|--------------:|:------------------------|:----------------------------------|----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Alkan_SciSignal2018](Benchmark-Models/Alkan_SciSignal2018/) | 73 | 56 | 0 | 0 | 0 | 1733 | 12 | normal | | 36 | [\[1\]](http://identifiers.org/doi/10.1126/scisignal.aat0229) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Alkan_SciSignal2018/model_Alkan_SciSignal2018.xml) | -| [Bachmann_MSB2011](Benchmark-Models/Bachmann_MSB2011/) | 36 | 113 | 0 | 0 | 0 | 541 | 20 | normal; log10-normal | parameterScaleNormal | 25 | [\[1\]](http://identifiers.org/doi/10.1038/msb.2011.50) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Bachmann_MSB2011/model_Bachmann_MSB2011.xml) | -| [Beer_MolBioSystems2014](Benchmark-Models/Beer_MolBioSystems2014/) | 19 | 72 | 0 | 0 | 0 | 27132 | 2 | normal | | 4 | [\[1\]](http://identifiers.org/doi/10.1039/c3mb70594c) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Beer_MolBioSystems2014/model_Beer_MolBioSystems2014.xml) | -| [Bertozzi_PNAS2020](Benchmark-Models/Bertozzi_PNAS2020/) | 2 | 8 | 0 | 0 | 0 | 22 | 2 | normal | | 3 | [\[1\]](http://identifiers.org/doi/10.1073/pnas.2006520117) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Bertozzi_PNAS2020/model.xml) | -| [Blasi_CellSystems2016](Benchmark-Models/Blasi_CellSystems2016/) | 1 | 9 | 0 | 0 | 1 | 252 | 15 | log-normal | | 16 | [\[1\]](http://identifiers.org/doi/10.1016/j.cels.2016.01.002) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Blasi_CellSystems2016/model_Blasi_CellSystems2016.xml) | -| [Boehm_JProteomeRes2014](Benchmark-Models/Boehm_JProteomeRes2014/) | 1 | 9 | 0 | 0 | 0 | 48 | 3 | normal | | 8 | [\[1\]](http://identifiers.org/doi/10.1021/pr5006923) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Boehm_JProteomeRes2014/model_Boehm_JProteomeRes2014.xml) | -| [Borghans_BiophysChem1997](Benchmark-Models/Borghans_BiophysChem1997/) | 1 | 23 | 0 | 0 | 0 | 111 | 1 | log10-normal | | 3 | [\[1\]](http://identifiers.org/doi/10.1016/s0301-4622(97)00010-0) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Borghans_BiophysChem1997/model_Borghans_BiophysChem1997.xml) | -| [Brannmark_JBC2010](Benchmark-Models/Brannmark_JBC2010/) | 8 | 22 | 0 | 1 | 0 | 43 | 3 | normal | | 9 | [\[1\]](http://identifiers.org/doi/10.1074/jbc.M110.106849) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Brannmark_JBC2010/model_Brannmark_JBC2010.xml) | -| [Bruno_JExpBot2016](Benchmark-Models/Bruno_JExpBot2016/) | 6 | 13 | 0 | 0 | 0 | 77 | 5 | normal | | 7 | [\[1\]](http://identifiers.org/doi/10.1093/jxb/erw356) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Bruno_JExpBot2016/model_Bruno_JExpBot2016.xml) | -| [Chen_MSB2009](Benchmark-Models/Chen_MSB2009/) | 4 | 155 | 0 | 0 | 0 | 120 | 3 | normal | | 500 | [\[1\]](http://identifiers.org/doi/10.1038/msb.2008.74) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Chen_MSB2009/model_Chen_MSB2009.xml) | -| [Crauste_CellSystems2017](Benchmark-Models/Crauste_CellSystems2017/) | 1 | 12 | 0 | 0 | 0 | 21 | 4 | normal | | 5 | [\[1\]](http://identifiers.org/doi/10.1016/j.cels.2017.01.014) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Crauste_CellSystems2017/model_Crauste_CellSystems2017.xml) | -| [Elowitz_Nature2000](Benchmark-Models/Elowitz_Nature2000/) | 1 | 21 | 0 | 0 | 0 | 58 | 1 | log10-normal | | 8 | [\[1\]](http://identifiers.org/doi/10.1038/35002125) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Elowitz_Nature2000/model_Elowitz_Nature2000.xml) | -| [Fiedler_BMC2016](Benchmark-Models/Fiedler_BMC2016/) | 3 | 22 | 0 | 0 | 0 | 72 | 2 | normal | | 6 | [\[1\]](http://identifiers.org/doi/10.1186/s12918-016-0319-7) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Fiedler_BMC2016/model_Fiedler_BMC2016.xml) | -| [Froehlich_CellSystems2018](Benchmark-Models/Froehlich_CellSystems2018/) | 9169 | 4231 | 0 | 0 | 9169 | 9169 | 1 | normal | | 1396 | [\[1\]](http://identifiers.org/doi/10.1016/j.cels.2018.10.013) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Froehlich_CellSystems2018/model_Froehlich_CellSystems2018.xml) | -| [Fujita_SciSignal2010](Benchmark-Models/Fujita_SciSignal2010/) | 6 | 19 | 0 | 0 | 0 | 144 | 3 | normal | | 9 | [\[1\]](http://identifiers.org/doi/10.1126/scisignal.2000810) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Fujita_SciSignal2010/model_Fujita_SciSignal2010.xml) | -| [Giordano_Nature2020](Benchmark-Models/Giordano_Nature2020/) | 1 | 50 | 0 | 0 | 0 | 313 | 7 | normal | | 13 | [\[1\]](http://identifiers.org/pubmed/32322102) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Giordano_Nature2020/Giordano_Nature2020_model.xml) | -| [Isensee_JCB2018](Benchmark-Models/Isensee_JCB2018/) | 123 | 46 | 0 | 1 | 0 | 687 | 3 | normal | parameterScaleNormal | 25 | [\[1\]](http://identifiers.org/doi/10.1083/jcb.201708053) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Isensee_JCB2018/model_Isensee_JCB2018.xml) | -| [Lang_PLOSComputBiol2024](Benchmark-Models/Lang_PLOSComputBiol2024/) | 1 | 294 | 0 | 0 | 0 | 9600 | 16 | normal | laplace; uniform | 124 | [\[1\]](http://identifiers.org/doi/10.1371/journal.pcbi.1011151) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Lang_PLOSComputBiol2024/model_Lang_PLOSComputBiol2024.xml) | -| [Laske_PLOSComputBiol2019](Benchmark-Models/Laske_PLOSComputBiol2019/) | 3 | 13 | 0 | 0 | 0 | 42 | 13 | normal; log-normal | | 41 | [\[1\]](http://identifiers.org/biomodels.db/BIOMD0000000463) [\[2\]](http://identifiers.org/biomodels.db/MODEL1307270000) [\[3\]](http://identifiers.org/doi/10.1371/journal.pcbi.1006944) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Laske_PLOSComputBiol2019/model_Laske_PLOSComputBiol2019.xml) | -| [Lucarelli_CellSystems2018](Benchmark-Models/Lucarelli_CellSystems2018/) | 16 | 84 | 0 | 0 | 0 | 1755 | 65 | normal; log10-normal | | 33 | [\[1\]](http://identifiers.org/doi/10.1016/j.cels.2017.11.010) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Lucarelli_CellSystems2018/model_Lucarelli_CellSystems2018.xml) | -| [Okuonghae_ChaosSolitonsFractals2020](Benchmark-Models/Okuonghae_ChaosSolitonsFractals2020/) | 1 | 16 | 0 | 0 | 0 | 92 | 2 | normal | | 9 | [\[1\]](http://identifiers.org/doi/10.1016/j.chaos.2020.110032) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Okuonghae_ChaosSolitonsFractals2020/Okuonghae_ChaosSolitonsFractals2020_model.xml) | -| [Oliveira_NatCommun2021](Benchmark-Models/Oliveira_NatCommun2021/) | 1 | 12 | 0 | 0 | 0 | 120 | 2 | normal | | 9 | [\[1\]](http://identifiers.org/doi/10.1038/s41467-020-19798-3) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Oliveira_NatCommun2021/Oliveira_NatCommun2021_model.xml) | -| [Perelson_Science1996](Benchmark-Models/Perelson_Science1996/) | 1 | 3 | 0 | 0 | 0 | 16 | 1 | log10-normal | | 4 | [\[1\]](http://identifiers.org/doi/10.1126/science.271.5255.1582) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Perelson_Science1996/model_Perelson_Science1996.xml) | -| [Rahman_MBS2016](Benchmark-Models/Rahman_MBS2016/) | 1 | 9 | 0 | 0 | 0 | 23 | 1 | normal | | 7 | [\[1\]](http://identifiers.org/doi/10.1016/j.mbs.2016.07.009) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Rahman_MBS2016/model_Rahman_MBS2016.xml) | -| [Raia_CancerResearch2011](Benchmark-Models/Raia_CancerResearch2011/) | 4 | 39 | 0 | 0 | 0 | 205 | 8 | normal | | 14 | [\[1\]](http://identifiers.org/doi/10.1158/0008-5472.CAN-10-2987) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Raia_CancerResearch2011/model_Raia_CancerResearch2011.xml) | -| [Raimundez_PCB2020](Benchmark-Models/Raimundez_PCB2020/) | 170 | 136 | 0 | 4 | 0 | 627 | 79 | normal | parameterScaleNormal; laplace | 22 | [\[1\]](http://identifiers.org/doi/10.1371/journal.pcbi.1007147) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Raimundez_PCB2020/model_Raimundez_PCB2020.xml) | -| [SalazarCavazos_MBoC2020](Benchmark-Models/SalazarCavazos_MBoC2020/) | 4 | 6 | 0 | 0 | 0 | 18 | 3 | normal | | 75 | [\[1\]](http://identifiers.org/doi/10.1091/mbc.E19-09-0548) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/SalazarCavazos_MBoC2020/model_SalazarCavazos_MBoC2020.xml) | -| [Schwen_PONE2014](Benchmark-Models/Schwen_PONE2014/) | 19 | 30 | 0 | 0 | 0 | 286 | 4 | log10-normal | parameterScaleNormal | 11 | [\[1\]](http://identifiers.org/doi/10.1371/journal.pone.0133653) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Schwen_PONE2014/model_Schwen_PONE2014.xml) | -| [Smith_BMCSystBiol2013](Benchmark-Models/Smith_BMCSystBiol2013/) | 35 | 25 | 3 | 0 | 0 | 62 | 9 | normal | | 133 | [\[1\]](http://identifiers.org/doi/10.1186/1752-0509-7-41) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Smith_BMCSystBiol2013/model_Smith_BMCSystBiol2013.xml) | -| [Sneyd_PNAS2002](Benchmark-Models/Sneyd_PNAS2002/) | 9 | 15 | 0 | 0 | 0 | 135 | 1 | normal | | 6 | [\[1\]](http://identifiers.org/doi/10.1073/pnas.032281999) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Sneyd_PNAS2002/model_Sneyd_PNAS2002.xml) | -| [Weber_BMC2015](Benchmark-Models/Weber_BMC2015/) | 2 | 36 | 0 | 1 | 0 | 135 | 8 | normal | | 7 | [\[1\]](http://identifiers.org/doi/10.1186/s12918-015-0147-1) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Weber_BMC2015/model_Weber_BMC2015.xml) | -| [Zhao_QuantBiol2020](Benchmark-Models/Zhao_QuantBiol2020/) | 7 | 28 | 0 | 0 | 0 | 82 | 1 | normal | | 5 | [\[1\]](http://identifiers.org/pubmed/32219006) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Zhao_QuantBiol2020/SBML_Zhao_QuantBiol2020.xml) | -| [Zheng_PNAS2012](Benchmark-Models/Zheng_PNAS2012/) | 1 | 46 | 0 | 1 | 0 | 60 | 15 | normal | | 15 | [\[1\]](http://identifiers.org/doi/10.1073/pnas.1201240109) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Zheng_PNAS2012/model_Zheng_PNAS2012.xml) | +| PEtab Problem ID | Conditions | Estimated Parameters | Events | Discontinuities | Preequilibration | Postequilibration | Measurements | Observables | Noise distribution(s) | Objective prior distribution(s) | Species | References | SBML4Humans | +|:---------------------------------------------------------------------------------------------|-------------:|-----------------------:|---------:|:------------------|-------------------:|--------------------:|---------------:|--------------:|:------------------------|:----------------------------------|----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Alkan_SciSignal2018](Benchmark-Models/Alkan_SciSignal2018/) | 73 | 56 | 0 | True | 0 | 0 | 1733 | 12 | normal | | 36 | [\[1\]](http://identifiers.org/doi/10.1126/scisignal.aat0229) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Alkan_SciSignal2018/model_Alkan_SciSignal2018.xml) | +| [Bachmann_MSB2011](Benchmark-Models/Bachmann_MSB2011/) | 36 | 113 | 0 | False | 0 | 0 | 541 | 20 | normal; log10-normal | parameterScaleNormal | 25 | [\[1\]](http://identifiers.org/doi/10.1038/msb.2011.50) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Bachmann_MSB2011/model_Bachmann_MSB2011.xml) | +| [Beer_MolBioSystems2014](Benchmark-Models/Beer_MolBioSystems2014/) | 19 | 72 | 0 | True | 0 | 0 | 27132 | 2 | normal | | 4 | [\[1\]](http://identifiers.org/doi/10.1039/c3mb70594c) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Beer_MolBioSystems2014/model_Beer_MolBioSystems2014.xml) | +| [Bertozzi_PNAS2020](Benchmark-Models/Bertozzi_PNAS2020/) | 2 | 8 | 0 | False | 0 | 0 | 22 | 2 | normal | | 3 | [\[1\]](http://identifiers.org/doi/10.1073/pnas.2006520117) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Bertozzi_PNAS2020/model.xml) | +| [Blasi_CellSystems2016](Benchmark-Models/Blasi_CellSystems2016/) | 1 | 9 | 0 | False | 0 | 1 | 252 | 15 | log-normal | | 16 | [\[1\]](http://identifiers.org/doi/10.1016/j.cels.2016.01.002) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Blasi_CellSystems2016/model_Blasi_CellSystems2016.xml) | +| [Boehm_JProteomeRes2014](Benchmark-Models/Boehm_JProteomeRes2014/) | 1 | 9 | 0 | False | 0 | 0 | 48 | 3 | normal | | 8 | [\[1\]](http://identifiers.org/doi/10.1021/pr5006923) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Boehm_JProteomeRes2014/model_Boehm_JProteomeRes2014.xml) | +| [Borghans_BiophysChem1997](Benchmark-Models/Borghans_BiophysChem1997/) | 1 | 23 | 0 | False | 0 | 0 | 111 | 1 | log10-normal | | 3 | [\[1\]](http://identifiers.org/doi/10.1016/s0301-4622(97)00010-0) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Borghans_BiophysChem1997/model_Borghans_BiophysChem1997.xml) | +| [Brannmark_JBC2010](Benchmark-Models/Brannmark_JBC2010/) | 8 | 22 | 0 | True | 1 | 0 | 43 | 3 | normal | | 9 | [\[1\]](http://identifiers.org/doi/10.1074/jbc.M110.106849) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Brannmark_JBC2010/model_Brannmark_JBC2010.xml) | +| [Bruno_JExpBot2016](Benchmark-Models/Bruno_JExpBot2016/) | 6 | 13 | 0 | False | 0 | 0 | 77 | 5 | normal | | 7 | [\[1\]](http://identifiers.org/doi/10.1093/jxb/erw356) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Bruno_JExpBot2016/model_Bruno_JExpBot2016.xml) | +| [Chen_MSB2009](Benchmark-Models/Chen_MSB2009/) | 4 | 155 | 0 | True | 0 | 0 | 120 | 3 | normal | | 500 | [\[1\]](http://identifiers.org/doi/10.1038/msb.2008.74) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Chen_MSB2009/model_Chen_MSB2009.xml) | +| [Crauste_CellSystems2017](Benchmark-Models/Crauste_CellSystems2017/) | 1 | 12 | 0 | False | 0 | 0 | 21 | 4 | normal | | 5 | [\[1\]](http://identifiers.org/doi/10.1016/j.cels.2017.01.014) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Crauste_CellSystems2017/model_Crauste_CellSystems2017.xml) | +| [Elowitz_Nature2000](Benchmark-Models/Elowitz_Nature2000/) | 1 | 21 | 0 | False | 0 | 0 | 58 | 1 | log10-normal | | 8 | [\[1\]](http://identifiers.org/doi/10.1038/35002125) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Elowitz_Nature2000/model_Elowitz_Nature2000.xml) | +| [Fiedler_BMC2016](Benchmark-Models/Fiedler_BMC2016/) | 3 | 22 | 0 | False | 0 | 0 | 72 | 2 | normal | | 6 | [\[1\]](http://identifiers.org/doi/10.1186/s12918-016-0319-7) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Fiedler_BMC2016/model_Fiedler_BMC2016.xml) | +| [Froehlich_CellSystems2018](Benchmark-Models/Froehlich_CellSystems2018/) | 9169 | 4231 | 0 | False | 0 | 9169 | 9169 | 1 | normal | | 1396 | [\[1\]](http://identifiers.org/doi/10.1016/j.cels.2018.10.013) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Froehlich_CellSystems2018/model_Froehlich_CellSystems2018.xml) | +| [Fujita_SciSignal2010](Benchmark-Models/Fujita_SciSignal2010/) | 6 | 19 | 0 | True | 0 | 0 | 144 | 3 | normal | | 9 | [\[1\]](http://identifiers.org/doi/10.1126/scisignal.2000810) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Fujita_SciSignal2010/model_Fujita_SciSignal2010.xml) | +| [Giordano_Nature2020](Benchmark-Models/Giordano_Nature2020/) | 1 | 50 | 0 | True | 0 | 0 | 313 | 7 | normal | | 13 | [\[1\]](http://identifiers.org/pubmed/32322102) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Giordano_Nature2020/Giordano_Nature2020_model.xml) | +| [Isensee_JCB2018](Benchmark-Models/Isensee_JCB2018/) | 123 | 46 | 0 | True | 1 | 0 | 687 | 3 | normal | parameterScaleNormal | 25 | [\[1\]](http://identifiers.org/doi/10.1083/jcb.201708053) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Isensee_JCB2018/model_Isensee_JCB2018.xml) | +| [Lang_PLOSComputBiol2024](Benchmark-Models/Lang_PLOSComputBiol2024/) | 1 | 294 | 0 | False | 0 | 0 | 9600 | 16 | normal | laplace; uniform | 124 | [\[1\]](http://identifiers.org/doi/10.1371/journal.pcbi.1011151) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Lang_PLOSComputBiol2024/model_Lang_PLOSComputBiol2024.xml) | +| [Laske_PLOSComputBiol2019](Benchmark-Models/Laske_PLOSComputBiol2019/) | 3 | 13 | 0 | False | 0 | 0 | 42 | 13 | normal; log-normal | | 41 | [\[1\]](http://identifiers.org/biomodels.db/BIOMD0000000463) [\[2\]](http://identifiers.org/biomodels.db/MODEL1307270000) [\[3\]](http://identifiers.org/doi/10.1371/journal.pcbi.1006944) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Laske_PLOSComputBiol2019/model_Laske_PLOSComputBiol2019.xml) | +| [Lucarelli_CellSystems2018](Benchmark-Models/Lucarelli_CellSystems2018/) | 16 | 84 | 0 | False | 0 | 0 | 1755 | 65 | normal; log10-normal | | 33 | [\[1\]](http://identifiers.org/doi/10.1016/j.cels.2017.11.010) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Lucarelli_CellSystems2018/model_Lucarelli_CellSystems2018.xml) | +| [Okuonghae_ChaosSolitonsFractals2020](Benchmark-Models/Okuonghae_ChaosSolitonsFractals2020/) | 1 | 16 | 0 | False | 0 | 0 | 92 | 2 | normal | | 9 | [\[1\]](http://identifiers.org/doi/10.1016/j.chaos.2020.110032) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Okuonghae_ChaosSolitonsFractals2020/Okuonghae_ChaosSolitonsFractals2020_model.xml) | +| [Oliveira_NatCommun2021](Benchmark-Models/Oliveira_NatCommun2021/) | 1 | 12 | 0 | True | 0 | 0 | 120 | 2 | normal | | 9 | [\[1\]](http://identifiers.org/doi/10.1038/s41467-020-19798-3) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Oliveira_NatCommun2021/Oliveira_NatCommun2021_model.xml) | +| [Perelson_Science1996](Benchmark-Models/Perelson_Science1996/) | 1 | 3 | 0 | False | 0 | 0 | 16 | 1 | log10-normal | | 4 | [\[1\]](http://identifiers.org/doi/10.1126/science.271.5255.1582) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Perelson_Science1996/model_Perelson_Science1996.xml) | +| [Rahman_MBS2016](Benchmark-Models/Rahman_MBS2016/) | 1 | 9 | 0 | False | 0 | 0 | 23 | 1 | normal | | 7 | [\[1\]](http://identifiers.org/doi/10.1016/j.mbs.2016.07.009) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Rahman_MBS2016/model_Rahman_MBS2016.xml) | +| [Raia_CancerResearch2011](Benchmark-Models/Raia_CancerResearch2011/) | 4 | 39 | 0 | False | 0 | 0 | 205 | 8 | normal | | 14 | [\[1\]](http://identifiers.org/doi/10.1158/0008-5472.CAN-10-2987) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Raia_CancerResearch2011/model_Raia_CancerResearch2011.xml) | +| [Raimundez_PCB2020](Benchmark-Models/Raimundez_PCB2020/) | 170 | 136 | 0 | True | 4 | 0 | 627 | 79 | normal | parameterScaleNormal; laplace | 22 | [\[1\]](http://identifiers.org/doi/10.1371/journal.pcbi.1007147) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Raimundez_PCB2020/model_Raimundez_PCB2020.xml) | +| [SalazarCavazos_MBoC2020](Benchmark-Models/SalazarCavazos_MBoC2020/) | 4 | 6 | 0 | False | 0 | 0 | 18 | 3 | normal | | 75 | [\[1\]](http://identifiers.org/doi/10.1091/mbc.E19-09-0548) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/SalazarCavazos_MBoC2020/model_SalazarCavazos_MBoC2020.xml) | +| [Schwen_PONE2014](Benchmark-Models/Schwen_PONE2014/) | 19 | 30 | 0 | False | 0 | 0 | 286 | 4 | log10-normal | parameterScaleNormal | 11 | [\[1\]](http://identifiers.org/doi/10.1371/journal.pone.0133653) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Schwen_PONE2014/model_Schwen_PONE2014.xml) | +| [Smith_BMCSystBiol2013](Benchmark-Models/Smith_BMCSystBiol2013/) | 35 | 25 | 3 | True | 0 | 0 | 62 | 9 | normal | | 133 | [\[1\]](http://identifiers.org/doi/10.1186/1752-0509-7-41) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Smith_BMCSystBiol2013/model_Smith_BMCSystBiol2013.xml) | +| [Sneyd_PNAS2002](Benchmark-Models/Sneyd_PNAS2002/) | 9 | 15 | 0 | False | 0 | 0 | 135 | 1 | normal | | 6 | [\[1\]](http://identifiers.org/doi/10.1073/pnas.032281999) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Sneyd_PNAS2002/model_Sneyd_PNAS2002.xml) | +| [Weber_BMC2015](Benchmark-Models/Weber_BMC2015/) | 2 | 36 | 0 | True | 1 | 0 | 135 | 8 | normal | | 7 | [\[1\]](http://identifiers.org/doi/10.1186/s12918-015-0147-1) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Weber_BMC2015/model_Weber_BMC2015.xml) | +| [Zhao_QuantBiol2020](Benchmark-Models/Zhao_QuantBiol2020/) | 7 | 28 | 0 | False | 0 | 0 | 82 | 1 | normal | | 5 | [\[1\]](http://identifiers.org/pubmed/32219006) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Zhao_QuantBiol2020/SBML_Zhao_QuantBiol2020.xml) | +| [Zheng_PNAS2012](Benchmark-Models/Zheng_PNAS2012/) | 1 | 46 | 0 | False | 1 | 0 | 60 | 15 | normal | | 15 | [\[1\]](http://identifiers.org/doi/10.1073/pnas.1201240109) | [\[1\]](https://sbml4humans.de/model_url?url=https://raw.githubusercontent.com/Benchmarking-Initiative/Benchmark-Models-PEtab/master/Benchmark-Models/Zheng_PNAS2012/model_Zheng_PNAS2012.xml) | ## License diff --git a/src/python/benchmark_models_petab/overview.py b/src/python/benchmark_models_petab/overview.py index 4dfbbd0..76d76ba 100644 --- a/src/python/benchmark_models_petab/overview.py +++ b/src/python/benchmark_models_petab/overview.py @@ -9,8 +9,10 @@ import pandas as pd import petab.v1 as petab from petab.yaml import load_yaml - +from sbmlmath import sbml_math_to_sympy from . import MODELS, get_problem, get_problem_yaml_path +import sympy as sp + readme_md = Path(__file__).resolve().parent.parent / "README.md" @@ -28,6 +30,7 @@ "objective_prior_distributions": "Objective prior distribution(s)", "reference_uris": "References", "sbml4humans_urls": "SBML4Humans", + "discontinuities": "Discontinuities", } index_column = "petab_problem_id" @@ -48,6 +51,7 @@ def get_summary( petab_problem.parameter_df[petab.ESTIMATE] ), "events": len(petab_problem.sbml_model.getListOfEvents()), + "discontinuities": has_discontinuities(petab_problem), "preequilibration": 0 if petab.PREEQUILIBRATION_CONDITION_ID not in petab_problem.measurement_df.columns @@ -165,6 +169,61 @@ def get_prior_distributions(parameter_df: pd.DataFrame) -> str: return "; ".join(filter(None, unique)) +def has_discontinuities(petab_problem: petab.Problem) -> bool: + """Guess whether the model has discontinuities. + + Potential discontinuities: + + * SBML events with event assignments + * SBML kinetic laws or rules with discontinuous math + (piecewise, min, max, floor, ceiling, abs, logical operators, ...) + + This is just an educated guess. The current list may be incomplete; + not all piecewise functions are necessarily discontinuous; not all + discontinuities might play a role in the simulation; the presence of + discontinuities might be parameter-dependent; trigonometric functions + are not handled; ... . + """ + model: libsbml.Model = petab_problem.sbml_model + + for event in model.getListOfEvents(): + for ea in event.getListOfEventAssignments(): + if ea.getMath(): + return True + + # convert reactions to rate rules + sbml_doc = petab_problem.sbml_model.getSBMLDocument().clone() + model = sbml_doc.getModel() + assert id(model) != id(petab_problem.sbml_model) + conversion_config = libsbml.ConversionProperties() + conversion_config.addOption("replaceReactions") + sbml_doc.convert(conversion_config) + conversion_config = libsbml.ConversionProperties() + conversion_config.addOption("expandFunctionDefinitions") + sbml_doc.convert(conversion_config) + assert model.getNumReactions() == 0 + assert model.getNumFunctionDefinitions() == 0 + + disc_math = ( + sp.Piecewise, + sp.Min, + sp.Max, + sp.floor, + sp.ceiling, + sp.Abs, + sp.And, + sp.Or, + sp.Xor, + sp.Not, + ) + for rule in model.getListOfRules(): + expr = sbml_math_to_sympy(rule) + if expr.has(*disc_math): + return True + + return False + + def get_overview_df() -> pd.DataFrame: """Get overview table with stats for all benchmark PEtab problems""" data = [] diff --git a/src/python/pyproject.toml b/src/python/pyproject.toml index 8030d7a..cc3d105 100644 --- a/src/python/pyproject.toml +++ b/src/python/pyproject.toml @@ -28,6 +28,7 @@ dependencies = [ "pandas", "python-libsbml", "tabulate", + "sbmlmath", ] [project.optional-dependencies]