diff --git a/Benchmark-Models/Isensee_JCB2018/README.md b/Benchmark-Models/Isensee_JCB2018/README.md new file mode 100644 index 0000000..8bc5aec --- /dev/null +++ b/Benchmark-Models/Isensee_JCB2018/README.md @@ -0,0 +1,17 @@ +The paper describes a model selection problem with four hypotheses. Each hypothesis involves adding a set of parameters to the model -- these sets of parameters are annotated in the `model_selection_group` column of the parameters table. The paper shows a result where the model with the first hypothesis alone (H1) was accepted as the best by AIC. + +This benchmark problem is the parameter estimation problem for the H1-only model. The parameters for the other hypotheses are specified in `parameters_Isensee_JCB2018_model_selection.tsv`. For example, this Python code will create the PEtab problem for the H2+H3 model. +```python +import pandas as pd +import petab + +petab_problem = petab.Problem.from_yaml("Isensee_JCB2018.yaml") +model_selection_parameter_df = petab.get_parameter_df("parameters_Isensee_JCB2018_model_selection.tsv") + +petab_problem.parameter_df = petab.get_parameter_df(pd.concat([ + # Remove the H1 parameters + petab_problem.parameter_df.query("model_selection_group != 'H1: different KD'"), + # Add the H2 and H3 parameters + model_selection_parameter_df.query("model_selection_group in ['H2: AC inhibition', 'H3: incomplete import']") +])) +``` diff --git a/Benchmark-Models/Isensee_JCB2018/model_Isensee_JCB2018.xml b/Benchmark-Models/Isensee_JCB2018/model_Isensee_JCB2018.xml index c575f94..4b5721f 100644 --- a/Benchmark-Models/Isensee_JCB2018/model_Isensee_JCB2018.xml +++ b/Benchmark-Models/Isensee_JCB2018/model_Isensee_JCB2018.xml @@ -97,16 +97,13 @@ - - - @@ -119,25 +116,14 @@ - - - - - - - - - - - @@ -162,6 +148,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/Benchmark-Models/Isensee_JCB2018/parameters_Isensee_JCB2018.tsv b/Benchmark-Models/Isensee_JCB2018/parameters_Isensee_JCB2018.tsv index 0924881..e4ccf4d 100644 --- a/Benchmark-Models/Isensee_JCB2018/parameters_Isensee_JCB2018.tsv +++ b/Benchmark-Models/Isensee_JCB2018/parameters_Isensee_JCB2018.tsv @@ -1,61 +1,51 @@ -parameterId parameterName parameterScale lowerBound upperBound nominalValue estimate objectivePriorType objectivePriorParameters -AC_total AC_{total} log10 1E-05 1000 1 0 -KD_Fsk KD_{Fsk} log10 1E-05 1000 14.2805171742694 1 parameterScaleNormal 0.845098040014257;0.2 -KD_H89 KD_{H89} log10 1E-05 1000 0.048074027232332 1 parameterScaleNormal -1.318758762624413;0.2 -KD_IBMX KD_{IBMX} log10 1E-05 1000 11.960772655864 1 parameterScaleNormal 1.0;0.2 -KD_PDE_Csub KD_{PDE,Csub} lin -5 3 0 0 -KD_cAMP KD_{cAMP} log10 1E-05 1000 2.85002019924967 1 parameterScaleNormal 0.462397997898956;0.2 -PDE_total PDE_{total} log10 1E-05 1000 1 0 -RII2_total RII2_{total} log10 1E-05 1000 1 0 -b_Calpha_global b_{Calpha,global} log10 0.001 1000 101.662732662228 1 parameterScaleNormal 2;0.1 -b_pRII_global b_{pRII,global} log10 0.001 1000 99.7184671220999 1 parameterScaleNormal 2;0.1 -kdeg_cAMP kdeg_{cAMP} log10 1E-05 1000 1.00000660182181E-05 1 -kdeg_cAMP_free kdeg_{cAMP,free} log10 1E-05 1000 7.38363782272545 1 -kdp_AC kdp_{AC} lin -5 3 0 0 -kf_Fsk kf_{Fsk} log10 1E-05 1000 999.999958296064 1 -kf_H89 kf_{H89} log10 1E-05 1000 0.000742716621349 1 -kf_PDE_Csub kf_{PDE,Csub} lin -5 3 0 0 -kf_RII_2__RII_C_2 kf_{RII_2,RII_C_2} log10 1E-05 100000 1.26446106685121 1 -kf_RII_C_2__RII_2 kf_{RII_C_2,RII_2} log10 1E-05 1000 0.018746739843535 1 -kf_RII_C_2__RIIp_C_2 kf_{RII_C_2,RIIp_C_2} log10 1E-05 1000 0.022767932816744 1 -kf_RIIp_2__RII_2 kf_{RIIp_2,RII_2} log10 1E-05 1000 0.03230162532087 1 -kf_RIIp_C_2__RII_C_2 kf_{RIIp_C_2,RII_C_2} log10 1E-05 1000 0.025703919542656 1 -kf_RIIp_cAMP_C_2__RIIp_2 kf_{RIIp_cAMP_C_2,RIIp_2} log10 1E-05 1000 0.105283748414996 1 -kf_cAMP kf_{cAMP} log10 1E-05 1000 0.501542412469253 1 -ki_IBMX ki_{IBMX} log10 1E-05 1000 999.99999999947 1 -ki_Rp8_Br_cAMPS_pAB ki_{Rp8,Br,cAMPS,pAB} log10 1E-05 1000 6.44560005260773 1 -ki_Rp8_pCPT_cAMPS_pAB ki_{Rp8,pCPT,cAMPS,pAB} log10 1E-05 1000 9.3898794585472 1 -ki_Rp_cAMPS_pAB ki_{Rp,cAMPS,pAB} log10 1E-05 1000 0.016320587381729 1 -ki_Sp8_Br_cAMPS_AM ki_{Sp8,Br,cAMPS,AM} log10 1E-05 1000 0.131657936881857 1 -kp_AC kp_{AC} lin -5 3 0 0 -ks_AC_cAMP ks_{AC,cAMP} log10 1E-05 1000 0.423150583624568 1 -rel_open rel_{open} log10 1E-05 1 0.232684484588385 1 -s_Calpha_JI09_160201_Drg453_452_CycNuc s_{Calpha,JI09,160201,Drg453,452,CycNuc} log10 1E-5 1000 1 0 -s_Calpha_global s_{Calpha,global} log10 1000 3162.27766016838 1758.15501421399 1 -s_pRII_JI09_150302_Drg345_343_CycNuc s_{pRII,JI09,150302,Drg345,343,CycNuc} log10 0.001 1000 1.1029976101468 1 parameterScaleNormal 0;0.1 -s_pRII_JI09_150330_Drg350_348_CycNuc s_{pRII,JI09,150330,Drg350,348,CycNuc} log10 0.001 1000 0.9067516915655 1 parameterScaleNormal 0;0.1 -s_pRII_JI09_150330_Drg353_351_CycNuc s_{pRII,JI09,150330,Drg353,351,CycNuc} log10 0.001 1000 0.934506349283962 1 parameterScaleNormal 0;0.1 -s_pRII_JI09_151102_Drg421_418_Age s_{pRII,JI09,151102,Drg421,418,Age} log10 0.001 1000 1.06693094665605 1 parameterScaleNormal 0;0.1 -s_pRII_Western s_{pRII,Western} log10 0.1 100000 1.14849828435972 1 -s_pRII_global s_{pRII,global} log10 1000 3162.27766016838 2206.77137565008 1 -rho_Calpha_Microscopy \rho_{Calpha,Microscopy} log10 1E-05 1000 0.049753182233122 1 -rho_pRII_Microscopy \rho_{pRII,Microscopy} log10 1E-05 1000 0.040685236621013 1 -rho_pRII_Western \rho_{pRII,Western} log10 1E-05 1000 0.099334983213923 1 -xi_AC_cAMP_Fsk \xi_{AC_{cAMP,Fsk} log10 1E-05 1000 642.370332155571 1 -xi_KD_Rp8_Br_cAMPS \xi_{KD,Rp8,Br,cAMPS} log10 1E-05 100000 0.039962383560766 1 parameterScaleNormal 0;3 -xi_KD_Rp8_pCPT_cAMPS \xi_{KD,Rp8,pCPT,cAMPS} log10 1E-05 100000 0.194212924719718 1 parameterScaleNormal 0;3 -xi_KD_Rp_cAMPS \xi_{KD,Rp,cAMPS} log10 1E-05 100000 0.163047074866588 1 parameterScaleNormal 0;3 -xi_KD_Sp8_Br_cAMPS \xi_{KD,Sp8,Br,cAMPS} log10 1E-05 100000 0.22324026500667 1 parameterScaleNormal 0;3 -xi_b_Rp8_Br_cAMPS \xi_{b,Rp8,Br,cAMPS} log10 1E-05 100000 0.040559301141753 1 parameterScaleNormal 0;3 -xi_b_Rp8_pCPT_cAMPS \xi_{b,Rp8,pCPT,cAMPS} log10 1E-05 100000 0.026684466293791 1 parameterScaleNormal 0;3 -xi_b_Rp_cAMPS \xi_{b,Rp,cAMPS} log10 1E-05 100000 0.603928050380137 1 parameterScaleNormal 0;3 -xi_b_Sp8_Br_cAMPS \xi_{b,Sp8,Br,cAMPS} log10 1E-05 100000 21.6150210996832 1 parameterScaleNormal 0;3 -xi_i_Rp8_Br_cAMPS_pAB \xi_{i,Rp8,Br,cAMPS,pAB} log10 1E-05 1 1 0 parameterScaleNormal 0;3 -xi_i_Rp8_pCPT_cAMPS_pAB \xi_{i,Rp8,pCPT,cAMPS,pAB} log10 1E-05 1 1 0 parameterScaleNormal 0;3 -xi_i_Rp_cAMPS_pAB \xi_{i,Rp,cAMPS,pAB} log10 1E-05 1 1 0 parameterScaleNormal 0;3 -xi_i_Sp8_Br_cAMPS_AM \xi_{i,Sp8,Br,cAMPS,AM} log10 1E-05 1 1 0 parameterScaleNormal 0;3 -xi_kf_RII_2__RII_C_2 \xi_{kf_RII_2,RII_C_2} log10 1E-05 1 0.01893099823943 1 parameterScaleNormal -1.742435698117109;0.1 -xi_kf_RII_C_2__RII_2 \xi_{kf_RII_C_2,RII_2} log10 1E-05 100000 0.810991675177056 1 parameterScaleNormal -0.062147906748844;0.1 -xi_pAC \xi_{pAC} log10 0.001 1 1 0 parameterScaleNormal 0;3 -xi_pPDE \xi_{pPDE} log10 1 1000 1 0 parameterScaleNormal 0.397940008672038;3 -xi_rel_open \xi_{rel,open} log10 1E-05 1 0.749424660751357 1 +parameterId parameterName parameterScale lowerBound upperBound nominalValue estimate objectivePriorType objectivePriorParameters model_selection_group +AC_total AC_{total} log10 1E-05 1000 1 0 +KD_Fsk KD_{Fsk} log10 1E-05 1000 14.2805171742694 1 parameterScaleNormal 0.845098040014257;0.2 +KD_H89 KD_{H89} log10 1E-05 1000 0.048074027232332 1 parameterScaleNormal -1.318758762624413;0.2 +KD_IBMX KD_{IBMX} log10 1E-05 1000 11.960772655864 1 parameterScaleNormal 1.0;0.2 +KD_cAMP KD_{cAMP} log10 1E-05 1000 2.85002019924967 1 parameterScaleNormal 0.462397997898956;0.2 +PDE_total PDE_{total} log10 1E-05 1000 1 0 +RII2_total RII2_{total} log10 1E-05 1000 1 0 +b_Calpha_global b_{Calpha,global} log10 0.001 1000 101.662732662228 1 parameterScaleNormal 2;0.1 +b_pRII_global b_{pRII,global} log10 0.001 1000 99.7184671220999 1 parameterScaleNormal 2;0.1 +kdeg_cAMP kdeg_{cAMP} log10 1E-05 1000 1.00000660182181E-05 1 +kdeg_cAMP_free kdeg_{cAMP,free} log10 1E-05 1000 7.38363782272545 1 +kf_Fsk kf_{Fsk} log10 1E-05 1000 999.999958296064 1 +kf_H89 kf_{H89} log10 1E-05 1000 0.000742716621349 1 +kf_RII_2__RII_C_2 kf_{RII_2,RII_C_2} log10 1E-05 100000 1.26446106685121 1 +kf_RII_C_2__RII_2 kf_{RII_C_2,RII_2} log10 1E-05 1000 0.018746739843535 1 +kf_RII_C_2__RIIp_C_2 kf_{RII_C_2,RIIp_C_2} log10 1E-05 1000 0.022767932816744 1 +kf_RIIp_2__RII_2 kf_{RIIp_2,RII_2} log10 1E-05 1000 0.03230162532087 1 +kf_RIIp_C_2__RII_C_2 kf_{RIIp_C_2,RII_C_2} log10 1E-05 1000 0.025703919542656 1 +kf_RIIp_cAMP_C_2__RIIp_2 kf_{RIIp_cAMP_C_2,RIIp_2} log10 1E-05 1000 0.105283748414996 1 +kf_cAMP kf_{cAMP} log10 1E-05 1000 0.501542412469253 1 +ki_IBMX ki_{IBMX} log10 1E-05 1000 999.99999999947 1 +ki_Rp8_Br_cAMPS_pAB ki_{Rp8,Br,cAMPS,pAB} log10 1E-05 1000 6.44560005260773 1 +ki_Rp8_pCPT_cAMPS_pAB ki_{Rp8,pCPT,cAMPS,pAB} log10 1E-05 1000 9.3898794585472 1 +ki_Rp_cAMPS_pAB ki_{Rp,cAMPS,pAB} log10 1E-05 1000 0.016320587381729 1 +ki_Sp8_Br_cAMPS_AM ki_{Sp8,Br,cAMPS,AM} log10 1E-05 1000 0.131657936881857 1 +ks_AC_cAMP ks_{AC,cAMP} log10 1E-05 1000 0.423150583624568 1 +rel_open rel_{open} log10 1E-05 1 0.232684484588385 1 +s_Calpha_JI09_160201_Drg453_452_CycNuc s_{Calpha,JI09,160201,Drg453,452,CycNuc} log10 1E-5 1000 1 0 +s_Calpha_global s_{Calpha,global} log10 1000 3162.27766016838 1758.15501421399 1 +s_pRII_JI09_150302_Drg345_343_CycNuc s_{pRII,JI09,150302,Drg345,343,CycNuc} log10 0.001 1000 1.1029976101468 1 parameterScaleNormal 0;0.1 +s_pRII_JI09_150330_Drg350_348_CycNuc s_{pRII,JI09,150330,Drg350,348,CycNuc} log10 0.001 1000 0.9067516915655 1 parameterScaleNormal 0;0.1 +s_pRII_JI09_150330_Drg353_351_CycNuc s_{pRII,JI09,150330,Drg353,351,CycNuc} log10 0.001 1000 0.934506349283962 1 parameterScaleNormal 0;0.1 +s_pRII_JI09_151102_Drg421_418_Age s_{pRII,JI09,151102,Drg421,418,Age} log10 0.001 1000 1.06693094665605 1 parameterScaleNormal 0;0.1 +s_pRII_Western s_{pRII,Western} log10 0.1 100000 1.14849828435972 1 +s_pRII_global s_{pRII,global} log10 1000 3162.27766016838 2206.77137565008 1 +rho_Calpha_Microscopy \rho_{Calpha,Microscopy} log10 1E-05 1000 0.049753182233122 1 +rho_pRII_Microscopy \rho_{pRII,Microscopy} log10 1E-05 1000 0.040685236621013 1 +rho_pRII_Western \rho_{pRII,Western} log10 1E-05 1000 0.099334983213923 1 +xi_AC_cAMP_Fsk \xi_{AC_{cAMP,Fsk} log10 1E-05 1000 642.370332155571 1 +xi_b_Rp8_Br_cAMPS \xi_{b,Rp8,Br,cAMPS} log10 1E-05 100000 0.040559301141753 1 parameterScaleNormal 0;3 +xi_b_Rp8_pCPT_cAMPS \xi_{b,Rp8,pCPT,cAMPS} log10 1E-05 100000 0.026684466293791 1 parameterScaleNormal 0;3 +xi_b_Rp_cAMPS \xi_{b,Rp,cAMPS} log10 1E-05 100000 0.603928050380137 1 parameterScaleNormal 0;3 +xi_b_Sp8_Br_cAMPS \xi_{b,Sp8,Br,cAMPS} log10 1E-05 100000 21.6150210996832 1 parameterScaleNormal 0;3 +xi_kf_RII_2__RII_C_2 \xi_{kf_RII_2,RII_C_2} log10 1E-05 1 0.01893099823943 1 parameterScaleNormal -1.742435698117109;0.1 +xi_kf_RII_C_2__RII_2 \xi_{kf_RII_C_2,RII_2} log10 1E-05 100000 0.810991675177056 1 parameterScaleNormal -0.062147906748844;0.1 +xi_rel_open \xi_{rel,open} log10 1E-05 1 0.749424660751357 1 +xi_KD_Rp8_Br_cAMPS \xi_{KD,Rp8,Br,cAMPS} log10 1E-05 100000 0.039962383560766 1 parameterScaleNormal 0;3 H1: different KD +xi_KD_Rp8_pCPT_cAMPS \xi_{KD,Rp8,pCPT,cAMPS} log10 1E-05 100000 0.194212924719718 1 parameterScaleNormal 0;3 H1: different KD +xi_KD_Rp_cAMPS \xi_{KD,Rp,cAMPS} log10 1E-05 100000 0.163047074866588 1 parameterScaleNormal 0;3 H1: different KD +xi_KD_Sp8_Br_cAMPS \xi_{KD,Sp8,Br,cAMPS} log10 1E-05 100000 0.22324026500667 1 parameterScaleNormal 0;3 H1: different KD diff --git a/Benchmark-Models/Isensee_JCB2018/parameters_Isensee_JCB2018_model_selection.tsv b/Benchmark-Models/Isensee_JCB2018/parameters_Isensee_JCB2018_model_selection.tsv new file mode 100644 index 0000000..1e8dd8c --- /dev/null +++ b/Benchmark-Models/Isensee_JCB2018/parameters_Isensee_JCB2018_model_selection.tsv @@ -0,0 +1,11 @@ +parameterId parameterName parameterScale lowerBound upperBound nominalValue estimate objectivePriorType objectivePriorParameters model_selection_group +xi_pAC \xi_{pAC} log10 0.001 1 1 1 parameterScaleNormal 0;3 H2: AC inhibition +kp_AC kp_{AC} log10 1E-5 1E3 0 1 H2: AC inhibition +kdp_AC kdp_{AC} log10 1E-5 1E3 0 1 H2: AC inhibition +xi_i_Rp8_Br_cAMPS_pAB \xi_{i,Rp8,Br,cAMPS,pAB} log10 1E-05 1 1 1 parameterScaleNormal 0;3 H3: incomplete import +xi_i_Rp8_pCPT_cAMPS_pAB \xi_{i,Rp8,pCPT,cAMPS,pAB} log10 1E-05 1 1 1 parameterScaleNormal 0;3 H3: incomplete import +xi_i_Rp_cAMPS_pAB \xi_{i,Rp,cAMPS,pAB} log10 1E-05 1 1 1 parameterScaleNormal 0;3 H3: incomplete import +xi_i_Sp8_Br_cAMPS_AM \xi_{i,Sp8,Br,cAMPS,AM} log10 1E-05 1 1 1 parameterScaleNormal 0;3 H3: incomplete import +xi_pPDE \xi_{pPDE} log10 1 1000 1 1 parameterScaleNormal 0.397940008672038;3 H4: PDE inhibition +kf_PDE_Csub kf_{PDE,Csub} log10 1E-5 1E3 0 1 H4: PDE inhibition +KD_PDE_Csub KD_{PDE,Csub} log10 1E-5 1E3 0 1 H4: PDE inhibition diff --git a/src/python/pyproject.toml b/src/python/pyproject.toml index 4f48a20..2f96eda 100644 --- a/src/python/pyproject.toml +++ b/src/python/pyproject.toml @@ -27,7 +27,7 @@ dependencies = [ ] [project.optional-dependencies] -dev = ["ruff"] +dev = ["pre-commit", "pytest", "ruff"] [project.scripts] bmp-petablint = "benchmark_models_petab.check_petablint:main"