- using dynamic-fba for simulating dFBA models
- using pyPESTO for parameter estimation & UQ
With the function defined in
./examples/ex1_pypesto_bonna.py
you can run an optimization for finding optimal parameters
on 3 implemented dfba examples
(example1, example1_aerobic, example6
-> chosen from dynamic-fba-repository collection)
The function run_optimization
includes:
- Build DFBA model, where the FBA part is defined in SBML in the file "xxx.xml.gz" (model_dir) and the dynamic part is defined in the function 'get_dfba_model_ex1_ex6.py'
- builds a pickable DFBA model (to enable parallelization with pypesto)
- reads data
- defines pypesto-objective
- defines pypesto-problem
- runs optimization
- optimizers: SLSQP, TNC, L-BFGS-B, Pyswarm, Fides
- cost-functions:
- Least Squares
- Neg-log-likelihood with normal noise model
- Neg-log-likelihood with laplace noise model
- stores optimization results
The objective function is located in:
./pypesto_dfba/optimize_dfba/objective_dfba.py
With the script in examples/plot_results.py
you can plot optimization results with a given hdf5-results object.
(or a history.hdf5-object, or just an xhat
parameter vector)
- plot & save waterfall plot
- plot & save simulation trajectories with data points
- plot & save parameter plots