110 likes | 431 Views
FOCUS Kinetics Training: Parameter Estimation with MatLab. Dr. Dieter Schäfer BCS / Environmental Modelling Monheim, Germany. What is MatLab?. MatLab ... ... stands for MATrix LABoratory ... is an interactive high-performance language for technical computing
E N D
FOCUS Kinetics Training:Parameter Estimation with MatLab Dr. Dieter Schäfer BCS / Environmental Modelling Monheim, Germany
What is MatLab? • MatLab ... • ... stands for MATrix LABoratory • ... is an interactive high-performance language for technical computing • ... is a very flexible tool for solving a wide range of mathematical problems • ... has a modular design (software toolboxes, ASCII control files) • ... can be adapted to kinetic parameter estimation problems • => see www.mathworks.com for further information
What is MatLab? • For the estimation of kinetic parameters, the following modules of MatLab are relevant: • MatLab (basic module) for data handling, solving of differential equations, etc. • Optimisation Toolbox for non-linear parameter optimisation • Statistics Toolbox for additional statistics • MatLab Compiler (optional) to produce stand-alone executables • current version: MatLab 7, Release 14 • costs for single-user licence: 4500 € (+ Compiler 6000 €)
What is MatLab? • Potential weaknesses of MatLab in the context of FOCUS Kinetics • commercial software (costs of ~5000 € per license) • not a ready-to-use tool for kinetic parameter estimation, requires some programming skills • not too user-friendly, if run without a Graphical User Interface
What is MatLab? • Potential strengths of MatLab in the context of FOCUS Kinetics • full software support, ongoing software development • large user community in science and engineering (good availability of newsgroups, literature, experts) • extensive statistical capabilities (e.g., self-defined statistical output, including chi²-test and t-test) • extensive graphical capabilities (e.g., self-defined graphical output, development of Graphical User Interfaces) • optional generation of executable files that run independent of MatLab
On-screen Presentation of MatLab / Run via ASCII file • % KINTEST -- Test program for KINCALC • % Author: Dr. Michael Warncke, Bayer Technology Services GmbH • % Version / Date: 2.0 / 2004-12-17 • % set up kinetic model • link = [1 2; 1 4; 2 3; 2 4; 3 4]; % list of connections between compartments • kinetic = {'sfo', 'sfo’, 'sfo', 'sink'}; % list of used kinetic models • % compartments • varnames = {{'P'}, {'M1'}, {'M2'}, {'S'}}; % names of state variables • boxnames = {'Parent','Met1','Met2','Sink'}; % compartment names • % kinetic parameters • paramnames = {{'kP','FFM1'}, {'kM1','ffM2'}, {'kM2'}, {}}; % names of kinetic parameters • iskfix = {[0, 0], [0, 0], [0], []}; % 0 = optimize kinetic parameters • k = {[0.05, 0.5], [0.1, 0.5], [0.01], []}; % initial values for kinetic parameters • klb = {[0, 0], [0, 0], [0], []}; % lower bounds for kinetic parameters • kub = {[Inf, Inf], [Inf, Inf], [Inf], []}; % upper bounds for kinetic parameters • % M0 values • isyfix = {[0], [1], [1], [1]}; % 0 = optimize M0 • y0 = {[NaN], [0], [0], [0]}; % NaN = obtain initial M0 from data • ylb = {[0], [0], [0], [0]}; % lower bounds for M0 • yub = {[Inf], [Inf], [Inf], [Inf]}; % upper bounds for M0 • % assign data • model.filename = 'FOCUS-Training_Example2.txt'; % name of data file • model.datanames = {'c1','c2','c3',''}; % column names of the measurement data • model.weightnames = {'','','',''}; % column names of the weighting data
How does MatLab perform? • Example data sets from the FOCUS Kinetics Draft Report • Data Set A (see Table 13-4a in FOCUS, 2004):
How does MatLab perform? • Example data sets from the FOCUS Kinetics Draft Report • Data Set D (see Table 13-7 in FOCUS, 2004):
How does MatLab perform? • Example data sets from the FOCUS Degradation Kinetics Training • Example 1 (parent SFO, two metabolites SFO):
How does MatLab perform? • Example data sets from the FOCUS Degradation Kinetics Training • Example 2 (parent FOMC, one metabolite SFO):