Skip to content

Commit 5da4ffc

Browse files
committed
Prepare for amici>=1.0.0
1 parent f7793c1 commit 5da4ffc

35 files changed

+407
-416
lines changed

doc/example/amici.ipynb

Lines changed: 153 additions & 189 deletions
Large diffs are not rendered by default.

doc/example/conversion_reaction.ipynb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,18 @@
108108
"# load amici module (the usual starting point later for the analysis)\n",
109109
"sys.path.insert(0, os.path.abspath(model_output_dir))\n",
110110
"model_module = importlib.import_module(model_name)\n",
111-
"model = model_module.getModel()\n",
112-
"model.requireSensitivitiesForAllParameters()\n",
113-
"model.setTimepoints(np.linspace(0, 10, 11))\n",
114-
"model.setParameterScale(amici.ParameterScaling.log10)\n",
115-
"model.setParameters([-0.3, -0.7])\n",
116-
"solver = model.getSolver()\n",
117-
"solver.setSensitivityMethod(amici.SensitivityMethod.forward)\n",
118-
"solver.setSensitivityOrder(amici.SensitivityOrder.first)\n",
111+
"model = model_module.get_model()\n",
112+
"model.require_sensitivities_for_all_parameters()\n",
113+
"model.set_timepoints(np.linspace(0, 10, 11))\n",
114+
"model.set_parameter_scale(amici.ParameterScaling.log10)\n",
115+
"model.set_parameters([-0.3, -0.7])\n",
116+
"solver = model.create_solver()\n",
117+
"solver.set_sensitivity_method(amici.SensitivityMethod.forward)\n",
118+
"solver.set_sensitivity_order(amici.SensitivityOrder.first)\n",
119119
"\n",
120120
"# how to run amici now:\n",
121-
"rdata = amici.runAmiciSimulation(model, solver, None)\n",
122-
"amici.plotting.plotStateTrajectories(rdata)\n",
121+
"rdata = amici.run_simulation(model, solver, None)\n",
122+
"amici.plotting.plot_state_trajectories(rdata)\n",
123123
"edata = amici.ExpData(rdata, 0.2, 0.0)"
124124
]
125125
},
@@ -329,7 +329,7 @@
329329
")\n",
330330
"\n",
331331
"# run prediction\n",
332-
"prediction = predictor(x=model.getUnscaledParameters())"
332+
"prediction = predictor(x=model.get_unscaled_parameters())"
333333
]
334334
},
335335
{

doc/example/getting_started.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@
523523
"outputs": [],
524524
"source": [
525525
"# Set gradient computation method to adjoint\n",
526-
"problem.objective.amici_solver.setSensitivityMethod(\n",
526+
"problem.objective.amici_solver.set_sensitivity_method(\n",
527527
" amici.SensitivityMethod.adjoint\n",
528528
")"
529529
]

doc/example/petab_import.ipynb

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,19 @@
1717
},
1818
{
1919
"cell_type": "code",
20-
"execution_count": null,
2120
"metadata": {},
22-
"outputs": [],
2321
"source": [
2422
"# install if not done yet\n",
2523
"# !apt install libatlas-base-dev swig\n",
2624
"# %pip install pypesto[amici,petab] --quiet\n",
2725
"# %pip install git+https://github.com/Benchmarking-Initiative/Benchmark-Models-PEtab.git@master#subdirectory=src/python --quiet"
28-
]
26+
],
27+
"outputs": [],
28+
"execution_count": null
2929
},
3030
{
3131
"cell_type": "code",
32-
"execution_count": null,
3332
"metadata": {},
34-
"outputs": [],
3533
"source": [
3634
"import os\n",
3735
"from pprint import pprint\n",
@@ -43,7 +41,9 @@
4341
"import pypesto.optimize as optimize\n",
4442
"import pypesto.petab\n",
4543
"import pypesto.visualize as visualize"
46-
]
44+
],
45+
"outputs": [],
46+
"execution_count": null
4747
},
4848
{
4949
"cell_type": "markdown",
@@ -68,11 +68,9 @@
6868
},
6969
{
7070
"cell_type": "code",
71-
"execution_count": null,
7271
"metadata": {
7372
"scrolled": true
7473
},
75-
"outputs": [],
7674
"source": [
7775
"# a collection of models that can be simulated\n",
7876
"\n",
@@ -92,7 +90,9 @@
9290
"\n",
9391
"# create a petab problem\n",
9492
"petab_problem = petab.Problem.from_yaml(yaml_config)"
95-
]
93+
],
94+
"outputs": [],
95+
"execution_count": null
9696
},
9797
{
9898
"cell_type": "markdown",
@@ -110,23 +110,23 @@
110110
},
111111
{
112112
"cell_type": "code",
113-
"execution_count": null,
114113
"metadata": {
115114
"scrolled": true
116115
},
117-
"outputs": [],
118116
"source": [
119117
"importer = pypesto.petab.PetabImporter(petab_problem, simulator_type=\"amici\")\n",
120118
"factory = importer.create_objective_creator()\n",
121119
"\n",
122120
"model = factory.create_model(verbose=False)\n",
123121
"\n",
124122
"# some model properties\n",
125-
"print(\"Model parameters:\", list(model.getParameterIds()), \"\\n\")\n",
126-
"print(\"Model const parameters:\", list(model.getFixedParameterIds()), \"\\n\")\n",
127-
"print(\"Model outputs: \", list(model.getObservableIds()), \"\\n\")\n",
128-
"print(\"Model states: \", list(model.getStateIds()), \"\\n\")"
129-
]
123+
"print(\"Model parameters:\", list(model.get_parameter_ids()), \"\\n\")\n",
124+
"print(\"Model const parameters:\", list(model.get_fixed_parameter_ids()), \"\\n\")\n",
125+
"print(\"Model outputs: \", list(model.get_observable_ids()), \"\\n\")\n",
126+
"print(\"Model states: \", list(model.get_state_ids()), \"\\n\")"
127+
],
128+
"outputs": [],
129+
"execution_count": null
130130
},
131131
{
132132
"cell_type": "markdown",
@@ -151,15 +151,15 @@
151151
},
152152
{
153153
"cell_type": "code",
154-
"execution_count": null,
155154
"metadata": {},
156-
"outputs": [],
157155
"source": [
158156
"importer = pypesto.petab.PetabImporter.from_yaml(\n",
159157
" yaml_config, simulator_type=\"amici\"\n",
160158
")\n",
161159
"problem = importer.create_problem() # creating the problem from the importer. The objective can be found at problem.objective"
162-
]
160+
],
161+
"outputs": [],
162+
"execution_count": null
163163
},
164164
{
165165
"cell_type": "markdown",
@@ -170,11 +170,9 @@
170170
},
171171
{
172172
"cell_type": "code",
173-
"execution_count": null,
174173
"metadata": {
175174
"scrolled": true
176175
},
177-
"outputs": [],
178176
"source": [
179177
"import libsbml\n",
180178
"\n",
@@ -185,10 +183,12 @@
185183
"obj = factory.create_objective()\n",
186184
"\n",
187185
"# for some models, hyperparameters need to be adjusted\n",
188-
"# obj.amici_solver.setMaxSteps(10000)\n",
189-
"# obj.amici_solver.setRelativeTolerance(1e-7)\n",
190-
"# obj.amici_solver.setAbsoluteTolerance(1e-7)"
191-
]
186+
"# obj.amici_solver.set_max_steps(10000)\n",
187+
"# obj.amici_solver.set_relative_tolerance(1e-7)\n",
188+
"# obj.amici_solver.set_absolute_tolerance(1e-7)"
189+
],
190+
"outputs": [],
191+
"execution_count": null
192192
},
193193
{
194194
"cell_type": "markdown",
@@ -199,9 +199,7 @@
199199
},
200200
{
201201
"cell_type": "code",
202-
"execution_count": null,
203202
"metadata": {},
204-
"outputs": [],
205203
"source": [
206204
"ret = obj(\n",
207205
" petab_problem.x_nominal_scaled,\n",
@@ -210,7 +208,9 @@
210208
" return_dict=True,\n",
211209
")\n",
212210
"pprint(ret)"
213-
]
211+
],
212+
"outputs": [],
213+
"execution_count": null
214214
},
215215
{
216216
"cell_type": "markdown",
@@ -221,12 +221,12 @@
221221
},
222222
{
223223
"cell_type": "code",
224-
"execution_count": null,
225224
"metadata": {},
226-
"outputs": [],
227225
"source": [
228226
"problem = importer.create_problem(obj)"
229-
]
227+
],
228+
"outputs": [],
229+
"execution_count": null
230230
},
231231
{
232232
"cell_type": "markdown",
@@ -237,13 +237,13 @@
237237
},
238238
{
239239
"cell_type": "code",
240-
"execution_count": null,
241240
"metadata": {},
242-
"outputs": [],
243241
"source": [
244242
"print(f\"{problem.x_fixed_indices=}\")\n",
245243
"print(f\"{problem.x_free_indices=}\")"
246-
]
244+
],
245+
"outputs": [],
246+
"execution_count": null
247247
},
248248
{
249249
"cell_type": "markdown",
@@ -254,22 +254,20 @@
254254
},
255255
{
256256
"cell_type": "code",
257-
"execution_count": null,
258257
"metadata": {},
259-
"outputs": [],
260258
"source": [
261259
"objective = problem.objective\n",
262260
"fval, gradient = objective(\n",
263261
" petab_problem.x_nominal_free_scaled, sensi_orders=(0, 1)\n",
264262
")\n",
265263
"print(f\"{fval=}\\n{gradient=}\")"
266-
]
264+
],
265+
"outputs": [],
266+
"execution_count": null
267267
},
268268
{
269269
"cell_type": "code",
270-
"execution_count": null,
271270
"metadata": {},
272-
"outputs": [],
273271
"source": [
274272
"eps = 1e-4\n",
275273
"\n",
@@ -291,7 +289,9 @@
291289
"for i, (g, f) in enumerate(zip(gradient, fdval)):\n",
292290
" print(f\"{i=}: {g=:9f},\\t{f=:9f},\\t{g - f=:9f}\")\n",
293291
"print(f\"l2 difference: {np.linalg.norm(gradient - fdval):.2e}\")"
294-
]
292+
],
293+
"outputs": [],
294+
"execution_count": null
295295
},
296296
{
297297
"cell_type": "markdown",
@@ -309,11 +309,9 @@
309309
},
310310
{
311311
"cell_type": "code",
312-
"execution_count": null,
313312
"metadata": {
314313
"scrolled": true
315314
},
316-
"outputs": [],
317315
"source": [
318316
"optimizer = optimize.ScipyOptimizer()\n",
319317
"\n",
@@ -324,7 +322,9 @@
324322
"result = optimize.minimize(\n",
325323
" problem=problem, optimizer=optimizer, n_starts=10, engine=engine\n",
326324
")"
327-
]
325+
],
326+
"outputs": [],
327+
"execution_count": null
328328
},
329329
{
330330
"cell_type": "markdown",
@@ -342,19 +342,19 @@
342342
},
343343
{
344344
"cell_type": "code",
345-
"execution_count": null,
346345
"metadata": {
347346
"collapsed": false,
348347
"jupyter": {
349348
"outputs_hidden": false
350349
}
351350
},
352-
"outputs": [],
353351
"source": [
354352
"problem = importer.create_problem(\n",
355353
" startpoint_kwargs={\"check_fval\": True, \"check_grad\": True}\n",
356354
")"
357-
]
355+
],
356+
"outputs": [],
357+
"execution_count": null
358358
},
359359
{
360360
"cell_type": "markdown",
@@ -372,12 +372,12 @@
372372
},
373373
{
374374
"cell_type": "code",
375-
"execution_count": null,
376375
"metadata": {},
377-
"outputs": [],
378376
"source": [
379377
"result.optimize_result.fval"
380-
]
378+
],
379+
"outputs": [],
380+
"execution_count": null
381381
},
382382
{
383383
"cell_type": "markdown",
@@ -388,17 +388,17 @@
388388
},
389389
{
390390
"cell_type": "code",
391-
"execution_count": null,
392391
"metadata": {},
393-
"outputs": [],
394392
"source": [
395393
"ref = visualize.create_references(\n",
396394
" x=petab_problem.x_nominal_scaled, fval=obj(petab_problem.x_nominal_scaled)\n",
397395
")\n",
398396
"\n",
399397
"visualize.waterfall(result, reference=ref, scale_y=\"lin\")\n",
400398
"visualize.parameters(result, reference=ref);"
401-
]
399+
],
400+
"outputs": [],
401+
"execution_count": null
402402
},
403403
{
404404
"cell_type": "markdown",
@@ -413,21 +413,21 @@
413413
},
414414
{
415415
"cell_type": "code",
416-
"execution_count": null,
417416
"metadata": {
418417
"pycharm": {
419418
"name": "#%%\n"
420419
}
421420
},
422-
"outputs": [],
423421
"source": [
424422
"# we need to explicitly import the method\n",
425423
"from pypesto.visualize.model_fit import visualize_optimized_model_fit\n",
426424
"\n",
427425
"visualize_optimized_model_fit(\n",
428426
" petab_problem=petab_problem, result=result, pypesto_problem=problem\n",
429427
");"
430-
]
428+
],
429+
"outputs": [],
430+
"execution_count": null
431431
}
432432
],
433433
"metadata": {

0 commit comments

Comments
 (0)