Skip to content

Commit

Permalink
pysb 6+7
Browse files Browse the repository at this point in the history
  • Loading branch information
dweindl committed Dec 18, 2024
1 parent ab57318 commit 2f3a873
Show file tree
Hide file tree
Showing 13 changed files with 80 additions and 104 deletions.
2 changes: 1 addition & 1 deletion .ci_pip_reqs.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pytest
ruff
git+https://github.com/PEtab-dev/libpetab-python@long_conditions
git+https://github.com/PEtab-dev/libpetab-python@develop
sympy>=1.12.1
66 changes: 28 additions & 38 deletions petabtests/cases/v2.0.0/pysb/0006/0006.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
from inspect import cleandoc

import pandas as pd
from petab.v1.C import *

from petabtests import DEFAULT_PYSB_FILE, PetabTestCase, analytical_a
from petab.v2 import Problem
from petab.v2.C import *

DESCRIPTION = cleandoc("""
## Objective
Expand All @@ -21,45 +22,34 @@
""")

# problem --------------------------------------------------------------------
problem = 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],
}
problem.add_observable(
"obs_a", "observableParameter1_obs_a * A", noise_formula=1
)

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)
problem.add_measurement(
"obs_a", "c0", time=0, measurement=0.7, observable_parameters=(10,)
)
problem.add_measurement(
"obs_a", "c0", time=10, measurement=0.1, observable_parameters=(15,)
)

problem.add_parameter(
"a0", lb=0, ub=10, nominal_value=1, scale=LIN, estimate=True
)
problem.add_parameter(
"b0", lb=0, ub=10, nominal_value=0, scale=LIN, estimate=True
)
problem.add_parameter(
"k1", lb=0, ub=10, nominal_value=0.8, scale=LIN, estimate=True
)
problem.add_parameter(
"k2", lb=0, ub=10, nominal_value=0.6, scale=LIN, estimate=True
)
# solutions ------------------------------------------------------------------

simulation_df = measurement_df.copy(deep=True).rename(
simulation_df = problem.measurement_df.copy(deep=True).rename(
columns={MEASUREMENT: SIMULATION}
)
simulation_df[SIMULATION] = [
Expand All @@ -73,9 +63,9 @@
"overrides.",
description=DESCRIPTION,
model=DEFAULT_PYSB_FILE,
condition_dfs=[condition_df],
observable_dfs=[observable_df],
measurement_dfs=[measurement_df],
condition_dfs=[problem.condition_df],
observable_dfs=[problem.observable_df],
measurement_dfs=[problem.measurement_df],
simulation_dfs=[simulation_df],
parameter_df=parameter_df,
parameter_df=problem.parameter_df,
)
4 changes: 2 additions & 2 deletions petabtests/cases/v2.0.0/pysb/0006/_0006.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
format_version: 2.0.0
parameter_file: _parameters.tsv
problems:
- condition_files:
- _conditions.tsv
- condition_files: []
experiment_files: []
measurement_files:
- _measurements.tsv
model_files:
Expand Down
2 changes: 1 addition & 1 deletion petabtests/cases/v2.0.0/pysb/0006/_measurements.tsv
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
observableId simulationConditionId time measurement observableParameters
observableId experimentId time measurement observableParameters
obs_a c0 0 0.7 10
obs_a c0 10 0.1 15
10 changes: 5 additions & 5 deletions petabtests/cases/v2.0.0/pysb/0006/_parameters.tsv
Original file line number Diff line number Diff line change
@@ -1,5 +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
parameterId estimate nominalValue parameterScale lowerBound upperBound
a0 1 1.0 lin 0 10
b0 1 0.0 lin 0 10
k1 1 0.8 lin 0 10
k2 1 0.6 lin 0 10
2 changes: 1 addition & 1 deletion petabtests/cases/v2.0.0/pysb/0006/_simulations.tsv
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
observableId simulationConditionId time simulation observableParameters
observableId experimentId time simulation observableParameters
obs_a c0 0 10.0 10
obs_a c0 10 6.42857855596045 15
62 changes: 24 additions & 38 deletions petabtests/cases/v2.0.0/pysb/0007/0007.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from inspect import cleandoc

import pandas as pd
from petab.v1.C import *
from petab.v2 import Problem
from petab.v2.C import *

from petabtests import (
DEFAULT_PYSB_FILE,
Expand All @@ -26,45 +26,31 @@
""")

# problem --------------------------------------------------------------------
problem = Problem()

condition_df = pd.DataFrame(
data={
CONDITION_ID: ["c0"],
}
).set_index([CONDITION_ID])
problem.add_observable("obs_a", "A", noise_formula=0.5)
problem.add_observable("obs_b", "B", noise_formula=0.6)

measurement_df = pd.DataFrame(
data={
OBSERVABLE_ID: ["obs_a", "obs_b"],
SIMULATION_CONDITION_ID: ["c0", "c0"],
TIME: [10, 10],
MEASUREMENT: [0.2, 0.8],
}
)
problem.add_measurement("obs_a", "", time=10, measurement=0.2)
problem.add_measurement("obs_b", "", time=10, measurement=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])
problem.add_parameter(
"a0", lb=0, ub=10, nominal_value=1, scale=LIN, estimate=True
)
problem.add_parameter(
"b0", lb=0, ub=10, nominal_value=0, scale=LIN, estimate=True
)
problem.add_parameter(
"k1", lb=0, ub=10, nominal_value=0.8, scale=LIN, estimate=True
)
problem.add_parameter(
"k2", lb=0, ub=10, nominal_value=0.6, scale=LIN, estimate=True
)

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(
simulation_df = problem.measurement_df.copy(deep=True).rename(
columns={MEASUREMENT: SIMULATION}
)
simulation_df[SIMULATION] = [
Expand All @@ -77,9 +63,9 @@
brief="Simulation. Observable transformation log10.",
description=DESCRIPTION,
model=DEFAULT_PYSB_FILE,
condition_dfs=[condition_df],
observable_dfs=[observable_df],
measurement_dfs=[measurement_df],
condition_dfs=[problem.condition_df],
observable_dfs=[problem.observable_df],
measurement_dfs=[problem.measurement_df],
simulation_dfs=[simulation_df],
parameter_df=parameter_df,
parameter_df=problem.parameter_df,
)
4 changes: 2 additions & 2 deletions petabtests/cases/v2.0.0/pysb/0007/_0007.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
format_version: 2.0.0
parameter_file: _parameters.tsv
problems:
- condition_files:
- _conditions.tsv
- condition_files: []
experiment_files: []
measurement_files:
- _measurements.tsv
model_files:
Expand Down
4 changes: 2 additions & 2 deletions petabtests/cases/v2.0.0/pysb/0007/_0007_solution.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
chi2: 0.2682957616817
llh: -1.378941036858
chi2: 0.35410578063106
llh: -0.81095715239894
simulation_files:
- _simulations.tsv
tol_chi2: 0.001
Expand Down
6 changes: 3 additions & 3 deletions petabtests/cases/v2.0.0/pysb/0007/_measurements.tsv
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
observableId simulationConditionId time measurement
obs_a c0 10 0.2
obs_b c0 10 0.8
observableId experimentId time measurement
obs_a 10 0.2
obs_b 10 0.8
6 changes: 3 additions & 3 deletions petabtests/cases/v2.0.0/pysb/0007/_observables.tsv
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
observableId observableFormula observableTransformation noiseFormula
obs_a A lin 0.5
obs_b B log10 0.6
observableId observableFormula noiseFormula
obs_a A 0.5
obs_b B 0.6
10 changes: 5 additions & 5 deletions petabtests/cases/v2.0.0/pysb/0007/_parameters.tsv
Original file line number Diff line number Diff line change
@@ -1,5 +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
parameterId estimate nominalValue parameterScale lowerBound upperBound
a0 1 1.0 lin 0 10
b0 1 0.0 lin 0 10
k1 1 0.8 lin 0 10
k2 1 0.6 lin 0 10
6 changes: 3 additions & 3 deletions petabtests/cases/v2.0.0/pysb/0007/_simulations.tsv
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
observableId simulationConditionId time simulation
obs_a c0 10 0.42857190373069665
obs_b c0 10 0.5714280962693035
observableId experimentId time simulation
obs_a 10 0.42857190373069665
obs_b 10 0.5714280962693035

0 comments on commit 2f3a873

Please sign in to comment.