Skip to content

Commit 21e903f

Browse files
committed
try optimisation
1 parent d988b8b commit 21e903f

File tree

2 files changed

+81
-0
lines changed

2 files changed

+81
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
import petab
2+
import amici
3+
import pypesto
4+
import pypesto.petab
5+
import pypesto.optimize
6+
import pypesto.store
7+
from pathlib import Path
8+
9+
model_name = "Fiedler_BMCSystBiol2016"
10+
petab_problem = petab.Problem.from_yaml(f"../{model_name}.yaml")
11+
petab_problem_flat = petab.Problem.from_yaml(f"../{model_name}.yaml")
12+
petab.flatten_timepoint_specific_output_overrides(petab_problem_flat)
13+
petab_problem_flat.visualization_df = None
14+
15+
pypesto_importer = pypesto.petab.PetabImporter(petab_problem_flat)
16+
pypesto_problem = pypesto_importer.create_problem()
17+
18+
result = pypesto.optimize.minimize(
19+
pypesto_problem,
20+
optimizer=pypesto.optimize.FidesOptimizer(),
21+
n_starts=1000,
22+
)
23+
24+
# Save result object in hdf5 file
25+
pypesto.store.save_to_hdf5.write_result(result, 'result.hdf5', overwrite= True)
26+
27+
# Visualization
28+
import pypesto.visualize as vis
29+
import matplotlib.pyplot as plt
30+
31+
vis.waterfall(result, size=(8, 4))
32+
plt.savefig('waterfall.png')
33+
plt.close()
34+
35+
from pypesto.visualize.model_fit import visualize_optimized_model_fit
36+
visualize_optimized_model_fit(
37+
petab_problem=petab_problem_flat,
38+
result=result,
39+
pypesto_problem=pypesto_problem,
40+
return_dict=False,
41+
start_index=n,
42+
unflattened_petab_problem=petab_problem,
43+
)
44+
plt.savefig("fit.png")
45+
plt.close()
46+
47+
FITS_PATH = Path(__file__).resolve().parent / "fits"
48+
FITS_PATH.mkdir(exist_ok=True)
49+
for n in range(1, 20):
50+
visualize_optimized_model_fit(
51+
petab_problem=petab_problem_flat,
52+
result=result,
53+
pypesto_problem=pypesto_problem,
54+
return_dict=False,
55+
start_index=n,
56+
unflattened_petab_problem=petab_problem,
57+
)
58+
plt.savefig(FITS_PATH / f"fit_{str(n).rjust(2, '0')}.png")
59+
plt.close()
60+
61+
62+
vis.parameters(
63+
result,
64+
legends="optimizer",
65+
start_indices=[0, 1, 2, 3],
66+
)
67+
plt.savefig('parameters.png')
68+
plt.close()
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
#SBATCH --job-name fied
3+
#SBATCH --output log/%j.log
4+
#SBATCH --nodes 1
5+
#SBATCH --ntasks 1
6+
#SBATCH --cpus-per-task 48
7+
#SBATCH --time 07-00:00:00
8+
#SBATCH --mail-type=BEGIN,END,FAIL
9+
10+
11+
source home/maren/prerequisites.sh
12+
source /home/maren/devenv/bin/activate
13+
python calibrate.py

0 commit comments

Comments
 (0)