1. Institutionen för fysik, kemi och biologi
The Department of Physics, Chemistry and Biology
Examensarbete
Model-based evaluation of an insulin signaling
feedback hypothesis
Examensarbete utfört
vid Tekniska högskolan i Linköping
av
Fredrik Bäcklund
LITH-IFM-A-EX–09/2100–SE
Linköping 2009
The Department of Physics, Chemistry and Biology Linköpings tekniska högskola
Linköpings universitet Linköpings universitet
SE-581 83 Linköping, Sweden 581 83 Linköping
2.
3. Model-based evaluation of an insulin signaling
feedback hypothesis
Examensarbete utfört
vid Tekniska högskolan i Linköping
av
Fredrik Bäcklund
LITH-IFM-A-EX–09/2100–SE
Handledare: Gunnar Cedersund
IKE, Linköpings universitet
Rikard Johansson
IKE, Linköpings universitet
Peter Strålfors
IKE, Linköpings universitet
Examinator: Bengt-Harald Jonsson
IFM, Linköpings universitet
Linköping, 16 November, 2009
4.
5. Avdelning, Institution
Division, Department
Department of Clinical and Experimental Medicine
The Department of Physics, Chemistry and Biology
Linköpings universitet
SE-581 83 Linköping, Sweden
Datum
Date
2009-11-16
Språk
Language
Svenska/Swedish
Engelska/English
Rapporttyp
Report category
Licentiatavhandling
Examensarbete
C-uppsats
D-uppsats
Övrig rapport
URL för elektronisk version
ISBN
—
ISRN
LITH-IFM-A-EX–09/2100–SE
Serietitel och serienummer
Title of series, numbering
ISSN
—
Titel
Title Model-based evaluation of an insulin signaling feedback hypothesis
Författare
Author
Fredrik Bäcklund
Sammanfattning
Abstract
The insulin initiated intracellular signaling network is a highly complex system,
with many challenges to its analysis. Here, we focus on i) a set of previously
collected experimental time-series yielding curves with complex behaviors, and
ii) a previously proposed mechanistic explanation, which includes multiple feed-
backs. We have translated this previously only verbal hypothesis to a mathemat-
ical model, and made a model-based analysis of the data. This analysis revealed
the need for a non-linearity in one of the feedbacks of the model. We also achieved
a reasonable fit to the complete data set using the full model although it does not
capture some of the more detailed biphasic behaviors. However, to optimize such
a complex model is difficult, and this points to the need for new and/or improved
modeling approaches. To this end, we have developed a new approach based on
the intermediate formulation of a linear model. Apart from achieving the sought
after overshoots and biphasic appearances of the data, this effort resulted in a
rather general strategy for generating models with specifically tailored time-series
appearances. This approach opens the door to a new type of model-based data
analysis, but to be truly useful in a systems biology context, important challenges
regarding the biological interpretation of the linear model remain
Nyckelord
Keywords Systems biology, insulin signaling
6.
7. Abstract
The insulin initiated intracellular signaling network is a highly complex system,
with many challenges to its analysis. Here, we focus on i) a set of previously
collected experimental time-series yielding curves with complex behaviors, and
ii) a previously proposed mechanistic explanation, which includes multiple feed-
backs. We have translated this previously only verbal hypothesis to a mathemat-
ical model, and made a model-based analysis of the data. This analysis revealed
the need for a non-linearity in one of the feedbacks of the model. We also achieved
a reasonable fit to the complete data set using the full model although it does not
capture some of the more detailed biphasic behaviors. However, to optimize such
a complex model is difficult, and this points to the need for new and/or improved
modeling approaches. To this end, we have developed a new approach based on
the intermediate formulation of a linear model. Apart from achieving the sought
after overshoots and biphasic appearances of the data, this effort resulted in a
rather general strategy for generating models with specifically tailored time-series
appearances. This approach opens the door to a new type of model-based data
analysis, but to be truly useful in a systems biology context, important challenges
regarding the biological interpretation of the linear model remain
v
8.
9. Acknowledgments
I would like to thank the following people for their respective contributions to the
completion of this thesis: Gunnar Cedersund, Torkel Glad, Peter Strålfors, Cecilia
Johansson, and Rikard Johansson.
vii
12. x Contents
4.4 Suggestions for continued and expanded
studies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Bibliography 31
A The non linear model 33
A.1 Example optimization script - the script used for the model in
Fig. 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
B Experimental data 41
B.1 The normalized experimental data . . . . . . . . . . . . . . . . . . 42
B.1.1 The experimental mean values used for optimization . . . . 44
C The χ2
-test 45
C.1 The script for determining the test statistic . . . . . . . . . . . . . 45
C.2 The calculated standard error vectors and
the resulting value of the test statistic . . . . . . . . . . . . . . . . 48
D The linear approach 49
D.1 Example linear model structure-the model generating Fig. 3.7 . . . 49
D.2 Example cost function . . . . . . . . . . . . . . . . . . . . . . . . . 51
13. Chapter 1
Introduction
1.1 Type 2 Diabetes
Insulin has been regarded as one of the main hormones in control of metabolism
ever since the discovery that it can be used to treat type 1 diabetic patients.
It constitutes a key factor in the regulation of glucose homeostasis through the
triggering of an intricate intracellular signaling pathway. Unfortunately, dysfunc-
tional regulation in the form of type 1 or type 2 diabetes is a growing problem
with increasing numbers of people being diagnosed as diabetics[1].
Whereas type 1 diabetes is characterized by insulin deficiency, type 2 diabetes
is related to insulin resistance. Although the exact cause for and the complete
mechanism of insulin resistance remains to be determined, one well known risk
factor increasing the probability of becoming insulin resistant is obesity. Thus it
is of obvious interest not only to study the functions of insulin signaling in general
but in adipocytes in particular[2].
1.2 Insulin signaling in adipocytes
As mentioned in Section 1.1 insulin is known to be a key factor in the regulation of
cellular glucose uptake. Although there are still numerous unanswered questions
about the insulin signaling network itself, a number of main characteristics are
well known. Insulin initiates the signal by associating with the insulin receptor
tyrosine kinase (IR) which triggers autophosphorylation of the receptor and the
subsequent phosphorylation of mediator molecules such as the insulin receptor
substrate 1 (IRS1). Phosphorylated IRS1 molecules then activates downstream
signaling molecules containing a SH2-domain, which eventually leads to cellular
response in the form of e.g. increased fatty acid synthesis or altered glucose uptake.
1
14. 2 Introduction
1.3 The previously proposed hypothesis
In order to further investigate the intricate pathway of insulin signaling and its
relation to insulin resistance, Anna Danielsson et al[3] performed a study on the
phosphorylation of IRS1, a key component in the insulin signaling pathway. The
insulin-induced phosphorylation of IRS1 was studied for tyrosine residues and the
sites of serine 307 and serine 312. The outcome of their measurements can be
viewed in Fig. 1.1. The authors noted that in comparison to the more rapid phos-
phorylation of serine 307, serine 312 phosphorylation required not only higher
insulin concentrations but was also a notably slower process. In accordance with
previous studies indicating feedback effects of serine phosphorylation, the peak
value for serine 312 phosphorylation coincided with a notable valley in the time
curve for tyrosine phosphorylation. In addition, the time curve for serine 307
phosphorylation indicated a possible positive feedback effect on tyrosine phospho-
rylation by the same principle as for the time curve of serine 312. Taken together,
the results of the study led the authors to propose an outline for feedback control
of insulin signaling (Fig. 1.2).
Based on the hypothesized feedback control of Fig. 1.2, the more elaborate
model structure depicted in Fig. 1.4 was constructed and represents one of the
first proposed mechanistic explanations to what causes insulin resistance. This
thesis is an attempt to, with the aid of modeling, investigate whether or not the
previously published time series data on the phosphorylation of IRS1 can indeed
be explained by the proposed feedback model of Fig. 1.2. In other words, we aim
to redo the analysis of the data leading to the proposed model outline with a more
formal data analysis based on a mathematical model.
1.4 Systems biology
Today, although there are of course still unknown factors, there exists a great
wealth of information regarding the constituents of various cellular biological sys-
tems. However, the complex networks of interactions and cross-talk between and
within the systems are not as extensively studied as the individual components.
When regarding even such a limited system as that of the intracellular part of
insulin signaling described by the proposed mechanism in section 1.3, drawing the
correct conclusions can be very difficult. In this case difficulties arise not only be-
cause of the sheer amount of constituents and their possible effect on one another,
but also due to the lack of solid data. In order to deal with this, a systems biol-
ogy approach was applied. An integral part of such an approach is mathematical
modeling, which facilitates the dealing with the issues of complexity and lack of
data. The main constituents of the modeling process used in this thesis are listed
below and an overview of a typical modeling process can be viewed in Fig. 1.3.
• Formulating a model: After having set up a hypothesized model structure
as in Fig. 1.4, using differential equations, a mathematical model can be
created in a rather straight-forward way by defining the existing states and
the reactions between them (including the kinetic parameters).
15. 1.4 Systems biology 3
Figure 1.1. Mean values for the phosphorylation of IRS1 and IR over time. The com-
plete data set used to generate the mean values is shown in appendix B. The asterisks
show, in arbitrary units, the total tyrosine phosphorylation (IRS1-Tyrosine-P), the phos-
phorylation of the insulin-bound insulin receptor (IR-ins-P), and the site specific IRS1
phosphorylation at serine 312 (IRS1-Ser312-P) and serine 307 (IRS1-Ser307-P). The local
minimum value at 30 minutes for tyrosine phosphorylated IRS1 notably coincides with
the peak value for the serine 312 phosphorylated IRS1 state as indicated by the drawn
double arrow. The possibly linked appearance of the tyrosine curve and the serine 312
curve led to the proposal of the hypothesized feedback model in Fig. 1.2.
• Optimizing the model: Once a model has been established and the param-
eters have been separated from any variables that have an effect on the
reaction mechanisms but are not to be optimized, the values of the param-
eters are optimized according to an optimization criterion. This is done to
obtain simulated curves that have the best possible fit with the known ex-
perimentally measured data. The optimization criterion can be specifically
tailored to promote e.g. a higher maximum value of some specific variable.
16. 4 Introduction
Figure 1.2. The feedback model proposed by Anna Danielsson et al [3]. Insulin activates
the insulin receptor which in turn tyrosine phosphorylates insulin receptor substrate 1
(IRS1) and thus, via a number of signal mediating molecules such as protein kinase B
(PKB), induces metabolic responses. The mammalian target of rapamycin (mTOR),
mediates both the hypothesized fast positive (ser307 phosphorylation) as well as the
slower negative (ser312 phosphorylation) feedback effects via unknown protein kinases.
The insulin resistance observed for diabetics is proposed to be related to a stimulated
ser312 phosphorylation and/or an inhibited ser307 phosphorylation.
Model based
hypothesis
testing explanations
Phase I Phase II
to be tested
PredictionsModel
analysis
Experimental
data
explanations
Mechanistic
Rejection of
Figure 1.3. An overview of the two main steps in model based analysis of data (courtesy
of Gunnar Cedersund).
17. 1.5 Objectives 5
• Analysis of the accuracy of the model: It is of considerable importance to
determine whether or not the simulated curves, and indirectly the model that
generates them, are in fact acceptable approximations. However, since this
might be difficult to determine visually, statistical tests such as a chi-square
test of residual size can and should be performed.
• Predictions: In order to obtain a statistically acceptable model, certain con-
ditions such as specific relationships between variables or states may well
have to be fulfilled. Thus, if the model accurately depicts the system being
modeled, these conditions, if previously unknown, represent predictions that
can be experimentally tested to further validate the model.
1.5 Objectives
The main objective with this thesis is to initiate a re-evaluation and further in-
vestigation of the proposed mechanistic explanation of insulin feedback control
proposed by Anna Danielsson et al [3]. The same data will be used but will be
studied using a model-based approach. This includes a number of sub-steps and
objectives, in particular:
• To formalize the graphical model into a mathematical model
• To fit the model to the data
• To identify any problems with fitting to the data, and to look for modifica-
tions that might improve the agreement
• To make statistical assessments of rejected and accepted models
• To propose some uniquely identified predictions that are biologically interest-
ing and experimentally testable, and that can serve as validation or further
examination of the drawn conclusions
• To address any problems with the modeling process encountered during the
project
18. 6 Introduction
IRS1
IRS1
P
IRS1
P
P
P
IRS1
P
P
IRS1
P
IRS1
P P
IRS1
P
P
IRS1
P
I
R
I
R
P
Ins
IRS1
P
PPPP
P
?
X
X
P
P
P
P
Tyr
307
312
N/AP
kIRf
kIRb
k1b
k1f
k2f k2b k3fk3b
k4f
k4b
k1f
k1b
k3b
k3f
k6f k6b
k8f
k8b
Y Y
P
kYf
kYb
kXfkXb
PKB PKB
PkPKBf
kPKBb
k3f
k3b
k1f
k1b
k1b
k1f
kmTORf
kmTORb
kS6Kf
kS6Kb
k3f
k3b
Figure 1.4. The proposed insulin signaling model. The construction of the model struc-
ture is discussed in detail in section 3.1. Phosphorylating forward reactions are for the
corresponding kinetic parameters indicated by the letter f whereas the letter b indicates a
backward reaction, i.e. dephosphorylation. Green arrows indicate a general stimulating
effect on phosphorylation (i.e. stimulating a forward reaction). The red arrows originat-
ing from YP represent a negative influence on tyrosine phosphorylation via stimulated
IRS1 serine 312 phosphorylation. An additional negative effect on the phosphorylation
of the insulin receptor (IR) caused by XP is depicted by a red arrow stimulating the
backward, dephosphorylating, reaction from phosphorylated IR. The various tyrosine
phosphorylated states are encircled by a dashed purple line and represented by a single
model variable in order to show the total effect of tyrosine phosphorylated IRS1 in me-
diating the signal further downstream. The various types of phosphorylation are shown
as yellow (tyrosine), light pink (serine307), dark pink (ser312) or gray (unspecified) filled
circles.
19. Chapter 2
Methods
2.1 Formulating a mathematical model
Expressing a time varying process, such as that of the insulin signaling pathway
investigated here, mathematically is readily done using differential equations. A
differential equation can be constructed in a straightforward way by simply de-
scribing how and because of what a given state changes over time. As an example,
consider the non phosphorylated state IRS1 in Fig. 1.4. There is a large pool of
different possible IRS1-states appearing in the model. The question is therefore
how the non modified IRS1-state in particular is influenced by the other states.
This information is easily obtained from Fig. 1.4. The reactions v1b, v2b and v3b
(corresponding to the kinetic parameters k1b, k2b and k3b) yield an increased
amount of IRS1 whereas the reactions v1f, v2f and v3f causes a decrease in the
amount of the IRS1-state. The differential equation describing the increase and
decrease of the state IRS1 over time is therefore written as the rate of change
over time for the IRS1-state equal to the sum of contributing reactions minus the
reactions having a negative influence on the amount of the IRS1-state:
d
dt
(IRS1) = v1b + v2b + v3b − v1f − v2f − v3f
However, the reactions themselves must also be defined. Assuming mass action, a
given reaction rate is directly proportional to the product of the substrates. Hence,
the forward reaction v1f would read:
v1f = k1f · IRS1
Although a simple transformation from a substrate to a product may indeed have
the simple appearance described above, in this case an additional factor is added
to describe the effect of the state YP on the forward reaction of v1f:
v1f = k1f · IRS1 · Y P
7
20. 8 Methods
Note that in the finished equation above an assumption of complete linear de-
pendence is made which is, although in most cases highly feasible, sometimes not
advisable, as will be seen e.g. in section 3.2.2.
2.2 Simulating and optimizing a model
Once a working mathematical model has been constructed using differential equa-
tions, the model must be simulated in order to generate simulated curves for com-
parison with (in this case) the experimentally determined time courses for insulin
stimulated IRS1 phosphorylation. Although a basic simulation can be performed
in the special editor that is included with the Systems Biology Toolbox, for an
optimization procedure, simulations must be performed for each set of parame-
ters during the optimization. There are several algorithms for simulation available
with different strengths and weaknesses. Here we used the function SBAOsimu-
late which has the advantage of being relatively fast although it can not simulate
a model including expressions defined as functions in the toolbox. Speed is a par-
ticularly important factor for the simulation since during a typical optimization,
thousands of simulations will be performed.
The optimization procedure requires some way of determining how good a sim-
ulated curve generated by a given set of parameters is. Therefore, a function was
constructed that generated a "cost" for deviances from the experimental values. As
can be seen below, the cost function constructed for a given state is the sum of the
squared residuals (the experimental values minus the simulated values) over the
maximum experimental value of the state in question. The division by the max-
imum experimental value was performed so that the calculated difference would
be relative to the experimental curve.
tmpError = tmpError + (EXP DAT A.ser307.values−SIMDAT A.ser307)2
maxSer3072
In order to achieve the desired type of simulated curves, there are a number of
modifications that can be made to this optimization criterion:
1. Parameter boundaries:
If an optimized parameter is found to be close to the high and/or low bound-
aries set for the parameter in question, this might be an indication that the bound-
aries are set to tight. Altering the boundaries might therefore result in the finding
of better parameter values than would otherwise have been possible.
2. Temperature:
A high temperature enables the algorithm to avoid getting trapped in local
cost-minima by allowing the algorithm to ignore a temporary movement towards
21. 2.3 Statistical evaluation of the agreement 9
a higher cost; a local cost minima can thereby be bypassed and a global minimum
reached. The temperature itself can be changed in several ways, the most direct
way is to increase the starting temperature. However, one can also change the
number of iterations per temperature step and/or decrease the ending tempera-
ture. Both these measures increases the overall number of iterations and thereby
the probability that an existing optimum is found during a single optimization.
It should be kept in mind, however, that the more iterations, the longer the time
duration of the optimization as a whole.
3. Ad hoc restrictions:
The only criterion for selection of parameter sets used by the optimization
script is how well the values for the simulated curves compare to those of the ex-
perimental curves. As a consequence, a simulation that would yield an appearance
more like that of e.g. a biphasic curve, but does this at extreme numerical values,
might be rejected for a curve that is not biphasic but has an overall lower cost. A
very useful approach to avoid such situations and achieve a desired appearance is
to use if -statements. Written as pseudo code, a typical if -statement would read
’if curve fails to achieve maximum value within 10 minutes, add cost’. Although
trivial in principal, care must be take to e.g. consider exactly what restrictions
a given if -statement will yield and if these will for example be in conflict with
already existing statements.
4. Direct altering of the model based on visual inspection of simulated curves:
If, as is the case for this study, the optimization has to search through a very
large number of possible parameter values, it can be advantageous to make some
initial adjustments directly in the toolbox editor and then use the adjusted values
as the start guess for a subsequent optimization.
2.3 Statistical evaluation of the agreement
As previously mentioned on page 5, statistical analysis is an important tool when
evaluating the results of an optimization. A common test procedure is that of
the chi-square test of residual size. In short, a test statistic is constructed and
compared to a test value so as to determine whether or not the investigated model
can be said to explain the experimental data within the experimental uncertainty.
The hypothesis being tested is the assumption that the mean experimental values
yi,j equals an expected value µ plus an error that follows zero normal distribution.
yi,j = µi,j + i,j , i,j ∼ N(0, σ)
It follows then that the squared sum of the residuals divided by the variance
follows a chi square distribution. Thus, for the chi-square test, the test statistic T is
constructed as the sum of squares of the differences between the mean experimental
values yi,j and the simulated values ˆyi,j(p) divided by the variance of the measured
22. 10 Methods
data. The subscript i represents the various states such as tyrosine phosphorylated
IRS1, j the data point and p the set of parameters.
T =
i,j
(yi,j − ˆyi,j(p))2
σ2
i,j
In order to take into account the effect of repeated measurements for each data
point (ni,j), the true standard deviation of the mean was estimated by calculating
the standard error of the mean. Thus the sample standard deviation (s) was
divided by the square root of the number of measurements for each data point.
ˆσ2
i,j =
si,j
√
ni,j
Finally, apart from setting a suitable significance level for the test, the degrees
of freedom to be used (d) must also be determined. In a situation such as is
the case here, where there is a limited amount of data, some parameters may be
unidentifiable. Therefore, the degrees of freedom are calculated as in the equation
below. N represents the number of data points, #p the number of parameters and
#pu the number of unidentifiable parameters.
d = N − (#p − #pu)
An additional test that can be applied as a complement to the χ2
-test of
residual size is a so called whiteness test. This test is used to investigate if the
residuals are uncorrelated or not by setting up a test statistic and testing its
ability to follow a χ2
distribution. A fully accepted model should pass both a test
of residual size as well as a test of residual correlation.
2.4 The Systems Biology Toolbox for MATLAB
For this thesis, the software MATLAB was utilized for the simulation of the model
and the subsequent optimization procedure. Specifically, the Systems Biology
Toolbox version 1.8 was used. This toolbox has a specific structure for the models
as can be seen in the model on page 13 that yielded the result in Fig. 3.2-Fig. 3.4.
The heading "MODEL STATES" encompasses the differential equations and the
initial conditions for the states in the model, thereafter follows the parameters to
be optimized, variables and the reaction expressions. Although not used in this
thesis study, there is also the possibility to include functions and/or specific time
or event-triggered events. The model is used in repeated simulations in an itera-
tive process for finding optimal parameter values using a predefined optimization
script implementing the optimization criterion described in section 2.2. As will be
described later in section 3.5, the toolbox can also be used in an indirect way to
simulate a model originally set up in the Laplace transformed frequency plane.
23. 2.5 Construction of a complementary linear model 11
2.5 Construction of a complementary linear model
A common approach within the research field of control engineering is to mod-
ify an investigated signal output of a system using the Laplace transform. This
transformation is very useful since it enables more easily solvable mathematical
expressions than would have been the case for the equivalent time function expres-
sions. Here, instead of translating the signal output, i.e. the simulated curves, to
the form of a Laplace transformed expression from that of a time function expres-
sion, the opposite approach is applied. The model structure is initially constructed
in the Laplace transformed form and subsequently translated to a time function
expression.
2.5.1 A Laplace transformed expression
In accordance with the terminological convention for control engineering, the
model was described as having an input signal U(s) corresponding to insulin,
four transfer functions G1(s) - G4(s), and four output signals Y1(s) - Y4(s). The
transfer functions relate the effects of the input signal to the corresponding output
signals. The output signals represents the previously investigated phosphorylated
states as follows:
Y1(s) ⇔ IRS1-Tyrosine-P
Y2(s) ⇔ IR-Ins-P
Y3(s) ⇔ IRS1-Ser307-P
Y4(s) ⇔ IRS1-Ser312-P.
To construct transfer functions yielding curves with specific properties, a sim-
ple principle was derived from an article by D. V. Widder[7]:
The number of times the derivative of a given curve changes sign is
determined by the number of zeros of its corresponding transfer
function.
In order for the above relation to apply however, the parameter with the high-
est value among the parameters of the numerator must be lower than the lowest
value among the parameters of the denominator. Fulfilling this condition, a trans-
fer function such as that of G1(s) below could be expected to yield a curve with
the sought after biphasic appearance.
G1(s) =
p1scale(s + p11)(s + p12)(s + p13)
(s + p1)(s + p2)(s + p3)(s + p4)
2.5.2 Rewriting the model for usage by the Systems Biology
Toolbox
In order to use the Systems Biology Toolbox for the complementary model, it was
necessary to define the model using time function expressions. To this end, the
24. 12 Methods
model was rewritten in the controller canonical form enabling an easy transfer to
state-space form, i.e. to a set of time function expression.
For the controller canonical form, a transfer function G(s) is written as
G(s) =
b1sn−1
+ . . . + bn−1s + bn
sn + a1sn−1 + . . . + an−1s + an
and the corresponding state-space form as
˙x =
−a1 −a2 . . . −an−1 −an
1 0 . . . 0 0
0 1 . . . 0 0
...
...
...
...
...
0 0 . . . 1 0
x +
1
0
0
...
0
u
y = b1 b2 . . . bn x
thus, the values for the variables a1-an and b1-bn must be expressed as combina-
tions of the corresponding parameters. In the case of the transfer function G1(s)
in section 2.5.1, p1scale(s+p11)(s+p12)(s+p13) and (s+p1)(s+p2)(s+p3)(s+p4)
equals b1s3
+ b2s2
+ b3s + b4 and s4
+ a1s3
+ a2s2
+ a3s + a4 respectively. Rewrit-
ing the expression for the denominator and numerator of G1(s) to the controller
canonical form yields
s4
+ s3
(p1 + p2 + p3 + p4
a1
) + s2
(p1p2 + p1p3 + p1p4 + p2p3 + p2p4 + p3p4
a2
) +
s(p1p2p3 + p1p2p4 + p1p3p4 + p2p3p4
a3
) + p1p2p3p4
a4
for the denominator, and
s3
(p1scale
b11
) + s2
(p12p1scale + p11p1scale + p13p1scale
b12
) +
s(p11p12p1scale + p12p13p1scale + p11p13p1scale
b13
) + p11p12p13p1scale
b14
for the numerator. Once this has been done for all four transfer functions, the
input signal, the output signals, a1-a4 and b1-b4 can be expressed as variables
in the model structure of the Systems Biology Toolbox. The states x1-x4 are put
under the MODEL STATES heading of the toolbox model structure, although they
are not states in the same sense as e.g. IRS1-Tyrosine-P. x1-x4 are a representation
of the information about the system at a given time needed to predict the effect
of the input signal[5].
25. 2.5 Construction of a complementary linear model 13
Figure 2.1. The model structure of the Systems Biology Toolbox. This was the model
that generated Fig. 3.2-Fig. 3.4
26.
27. Chapter 3
Results
3.1 Constructing the model
Before the actual optimization procedure could begin, the construction of a tan-
gible model structure that could easily be interpreted by differential equations
according to section 2.1 had to be performed. The main issue to address was
therefore which states should be included, and why. From the model outline in
Fig. 1.2, the insulin receptor and its activated, i.e. insulin bound and phosphory-
lated, form was logical to include as the initial two states. Furthermore, a main
part of the reasoning by Danielsson et al.[3] was the feedback properties of serine
phosphorylations and the effects this had on the main signal mediating form of
tyrosine phosphorylated IRS1. Thus, to be able to depict these interactions, IRS1
both in its inert form and in its various phosphorylated forms shown below had
to be included.
IRS1 IRS1-Ser307-P IRS1-Ser312-P IRS1-Ser307-Ser312-P
IRS1-Tyr-P IRS1-Tyr-Ser307-P IRS1-Tyr-Ser312-P IRS1-Tyr-Ser307-Ser312-P
In addition to the above variations of IRS1 states, in order to be able to describe
the simultaneous effect of multiple tyrosine phosphorylated states in mediating the
signal further downstream, the variables IRS1-Tyrtot (inert) and IRS1-Tyrtot-P
(activated) were introduced.
As indicated in the outlined model of Fig. 1.2, in the insulin signaling pathway,
there are in fact a number of signal mediating molecules between tyrosine phos-
phorylated IRS1 and protein kinase B (PKB). However, these were not included
since their collective (known) effect of slowing down the signal transition to PKB
can be readily substituted by a slower speed of transition between the inert and
the activated form of PKB. This illustrating an important notion of modeling:
although a model does not include all known (and unknown) components of the
depicted system, and indeed some parts of it may even be wrong (such as in this
case the low speed of transition), correct conclusions can still be drawn.
Inhibition of mTOR has previously been shown to have an effect on serine
phosphorylation for both of the residues 307 and 312[3]. Therefore, mTOR was
15
28. 16 Results
included in the model as a point of origin for both feedback signals. Downstream
of mTOR, since any protein kinases responsible for the phosphorylation of IRS1
residues 307 and 312 remains to be identified, the state Y was introduced as a
representation of the kinase responsible mediating serine 312 phosphorylation. S6
kinase (S6K) was chosen as a the counterpart for serine 307 phosphorylation due
to as of yet unpublished results indicating that S6K could have a role in the ser307
phosphorylation. Finally, the state X was introduced as a representation of a nega-
tive feedback from the tyrosine phosphorylated IRS1-states on the phosphorylation
of the insulin receptor in accordance with an article by Cedersund et al.[8].
Taken together, these considerations resulted in the model depicted graphically
in Fig. 1.4 and expressed by differential equations in Fig. 2.1. The optimization
script used can be viewed in appendix A.
3.2 Explaining tyrosine and serine-307 phospho-
rylation data
Two crucial components of the model described in section 3.1 are the states rep-
resenting the phosphorylation of IRS1 for the residues serine 312 and serine 307.
According to the data gathered by Anna Danielsson et al.[3] and the subsequent
hypothesis, the simulated time curve for serine 312 is expected to present a bipha-
sic behavior whereas the corresponding curve for serine 307 is characterized by a
single overshoot and a rapid decline to a steady state level of close to 0% phos-
phorylation. Perhaps not surprisingly considering the complexity of the model,
achieving the desired appearances met with some tangible difficulties not only for
the more complex serine 312 time curve but also for the single peak curve of serine
307.
3.2.1 Problems explaining a low serine-307 steady state
Although less complex, i.e. not biphasic, the serine-307 phosphorylation curve
could initially not be made to present a low enough ending steady state level.
The low steady state value being a central part of the behavior of the serine
phosphorylation measurements, this warranted some special attention. To enable
more focus to be put on achieving better fit for this curve the complexity of the
originally hypothesized model structure was reduced by not including IRS1 states
with Ser312 phosphorylation (Fig. 3.1). The states with tyrosine phosphorylation
were as before represented as the separate state IRS1Tyrtot, and S6K, also as
before, mediated the hypothesized positive feedback on ser307 phosphorylation.
3.2.2 The necessity of a Hill-activation leading to serine-307
activation
Even with a reduced model structure, the simulated Ser307 curve failed to present
a low enough value by the time it should have reached the base level. In order to
29. 3.3 Explaining the total data set 17
IRS1
IRS1
P
IRS1
P
P
P
IRS1
P
P
IRS1
P
IRS1
P P
IRS1
P
P
IRS1
P
I
R
I
R
P
Ins
IRS1
P
PPPP
P
?
X
X
P
P
P
P
Tyr
307
312
N/AP
kIRf
kIRb
k1b
k1f
k2f k2b k3fk3b
k4f
k4b
k1f
k1b
k3b
k3f
k6f k6b
k8f
k8b
Y Y
P
kYf
kYb
kXfkXb
kPKBf
kPKBb
k3f
k3b
k1f
k1b
k1b
k1f
kmTORf
kmTORb
kS6Kf
kS6Kb
k3f
k3b
P
mTOR mTOR
PKB PKB
P
Figure 3.1. A temporarily reduced model structure without serine 312 phosphorylation
and the stimulating component Y. The removed parts of the model structure are shaded
in grey.
achieve the desired behavior, the activation of S6K was modified to a nonlinear ex-
pression in the form of a Hill equation. Thus modified, the simulated Ser307-curve
assumed a more reasonable end value, below 10% of maximum phosphorylation, as
seen in Fig. 3.2. The curves for the phosphorylation of IR and tyrosine phosphory-
lation of IRS1 remained unchanged by the modification (see Fig. 3.3 and Fig. 3.4)
but this result still removed a significant obstacle towards fitting the simulated
data to the experimental data.
3.3 Explaining the total data set
Having addressed the problem of the serine-307 steady state level, focus was now
put on the curve for serine-312 phosphorylation. As mentioned before, the fitting
of the time curve for serine 312 phosphorylation is a core issue for this particular
modeling procedure.
30. 18 Results
0 20 40 60 80 100 120 140 160 180
0
10
20
30
40
50
60
70
80
90
100
time
IRS1−Ser307−P[arbunits]
Optimization result
Simulated
Experimental
Figure 3.2. This result was achieved by modifying the stimulation of S6K phosphoryla-
tion from a simple linear dependence to that of a nonlinear expression (the Hill equation).
0 20 40 60 80 100 120 140 160 180
0
10
20
30
40
50
60
70
80
90
100
time
IRS1−Tyrosine−P[arbunits]
Optimization result
Simulated
Experimental
Figure 3.3. Simulated curve for the state IRS1PTyrtot after modified stimulation of
S6K phosphorylation.
0 5 10 15 20 25 30
0
20
40
60
80
100
120
time
IR−Ins−P[arbunits]
Optimization result
Simulated
Experimental
Figure 3.4. Simulated curve for the state IRinsP after modified stimulation of S6K
phosphorylation.
31. 3.4 Statistical evaluation 19
3.3.1 An agreement with a single overshoot for serine-312
In order to be able to freely manipulate the parameters governing the Ser312
phosphorylation whilst still maintaining the parameters yielding the fairly good
simulated curves for IR, Ser307 and IRS1Tyr phosphorylation in figures 3.2 - 3.4,
the parameters promoting the effect of serine 312 phosphorylation on tyrosine
phosphorylation were modified accordingly. i.e. the kinetic parameters for the
transitions to tyrosine phosphorylated states from serine 312-phosphorylated states
were set equal to the corresponding transitions from states lacking the ser312
modification. In addition, the parameters that were to remain unchanged, i.e. the
ones relating the speed of transfer between IRS1-states without phosphorylated
ser312 residues were removed from the optimization procedure by expressing them
as variables.
Having made the serine 312 pool of states independent, i.e. enabling manipu-
lation on them without affecting e.g. the serine-307 pool of states, and optimizing
only the corresponding selection of parameters. , a curve with fairly good be-
havior regarding 12 out of the 14 experimental data points was attained, though
considerable difficulties were still encountered with obtaining a Ser312 curve with
an overshoot. However, if simulated over a time span of one thousand minutes in-
stead of 180, an overshoot could be observed. Thus, in order to speed up the time
it took for the simulated reactions to reach equilibrium. a factor was multiplied
with the forward and backward reaction of vY which resulted in a more reasonable
time span as seen in Fig. 3.5d. The curves for the three states with tyrosine and
serine phosphorylation as well as for activated IR are shown in Fig. 3.5 a-c.
3.4 Statistical evaluation
3.4.1 χ2
-test of residual size
After some time without obtaining improved optimization results, a chi-square
test was performed in order to determine if the fit up to that point was in fact a
statistically acceptable fit. Allowing for a maximum number of degrees of freedom
of 55, i.e. d = N − (#p − #pu) = N − 0, the test value against which the test
statistic is to be compared becomes 73.3115 at a confidence level of 0.95. However,
the test statistic yielded a value of 131.2138, thus rejecting the H0-hypothesis.
Therefore, it could be concluded that the obtained simulated curves were still not
good enough to explain the experimentally measured behavior. The simulated
curves tested with standard error bars can be viewed in Fig. 3.6. The calculations
performed for the test are included in appendix C.
3.5 A linear approach with a complementary model
3.5.1 The novel approach
In order to obtain additional information on the model and possible modifications
for better fit of the simulated curves, a black box model conceived by Torkel Glad
32. 20 Results
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
time
IRS1−Tyrosine−P[arbunits]
(a) Optimization result
Simulated
Experimental
0 5 10 15 20 25 30
0
20
40
60
80
100
120
time
IR−Ins−P[arbunits]
(b) Optimization result
Simulated
Experimental
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
time
IRS1−Ser307−P[arbunits]
(c) Optimization result
Simulated
Experimental
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
120
time
IRS1−Ser312−P[arbunits]
(d) Optimization result
Simulated
Experimental
Figure 3.5. a-c: The curves for IRS1-tyrosine-P, Ser307-P and IR-ins-P maintained
their appearance throughout the manipulation of the Ser-312-P-curve. d: After isolated
optimization, a curve with an overshoot was attained and used as a starting guess for
continued optimization with the entire model.
and Gunnar Cedersund was constructed according to section 2.5. This model was
designed specifically to present the desired appearance of biphasic curves in order
to gain further information on the requirements for this behavior. Although some
difficulties arose in obtaining the biphasic appearance as well as achieving the
different time frames, working with a linear model structure of the type used here
enabled manipulation of the model in a straightforward way so as to deal with the
problems encountered. An example linear model structure and the accompanying
cost function can be viewed in appendix D. In a continuation of this thesis, the
application of the finished black box model on the original model structure of
Fig. 1.4 will hopefully yield some both useful and interesting information. The
concluding translation of the optimized final version of the model to an application
on the original non-linear model of Fig. 1.4 could not be performed within the time
frame of this thesis but will be performed in a continued study.
3.5.2 Modifications of the linear model
As seen in Fig. 3.7a-b, an expression as that of G1(s) in section 2.5.1 generates
a curve that does indeed behave as expected in terms of the biphasic properties,
however, within the desired time span the oscillating motion goes below zero which
does not run well with the sought after behavior. This problem was solved by
33. 3.5 A linear approach with a complementary model 21
0 50 100 150
0
20
40
60
80
100
time
IRS1PTyrTot[arbunits]
Optimization result
Simulated
Experimental
0 5 10 15 20 25 30
0
20
40
60
80
100
120
time
IRInsP[arbunits]
Optimization result
Simulated
Experimental
0 50 100 150
0
20
40
60
80
100
time
IRS1−Ser307−P[arbunits]
Optimization result
Simulated
Experimental
0 50 100 150
0
20
40
60
80
100
time
IRS1−Ser312−P[arbunits]
Optimization result
Simulated
Experimental
Figure 3.6. Simulated curves subjected to the χ2
-test shown with standard error bars.
adding a simple single peak curve with a peak coinciding with the negative dip
of the biphasic curve (see Fig. 3.8a-b). The resulting transfer function is thus the
summed expression of two curves.
G1(s) =
p1scale(s + p11)(s + p12)(s + p13)(s + p5)(s + p6)
(s + p1)(s + p2)(s + p3)(s + p4)(s + p5)(s + p6)
+
p0scale(s + p01)(s + p1)(s + p2)(s + p3)(s + p4)
(s + p1)(s + p2)(s + p3)(s + p4)(s + p5)(s + p6)
A further complication was that although the time span of the simulated curves
could be easily enough manipulated simultaneously, the peak values for Y1(s) and
Y4(s) as well as for Y2(s) and Y3(s) could not be made to separate enough over
time. This problem was linked to the fact that G1(s) - G4(s) shared the same
poles, a property necessary to express a shared origin and thereby enabling the
future application on the original model structure. Difficulties arise because the
main way of influencing the time span of the curves in a model such as this is by
modifying the values of the parameters in the denominator. Fortunately, as in the
case of the negative values of the oscillating curves of Y1(s) and Y4(s), a rather
simple modification could handle this issue. By adding zeros that would cancel
out well chosen poles in the denominator, curves could be separated even though
34. 22 Results
they had the same denominator. An example for Y2(s) and Y3(s) is displayed in
Fig. 3.8c-d. Utilizing zero-pole cancellation and by carefully considering the curve
summations of Y1(s) and Y4(s), the curves in Fig. 3.9 were generated. Notably,
because of the specifics on the placement of peaks and valleys of Y1(s) and Y4(s),
although the observations by Widder[7] in section 2.5.1 was utilized, the final
expressions did not have a full three zeros fulfilling the proposed relationship with
the poles.
0 20 40 60 80 100 120 140 160 180
−40
−20
0
20
40
60
80
100
time
IRS1−Tyrosine−P[arbunits]
(a)
Simulated
Experimental
0 5 10 15 20 25 30
0
20
40
60
80
100
120
time
IR−Ins−P[arbunits]
(c)
Simulated
Experimental
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
time
IRS1−Ser307−P[arbunits]
(d)
Simulated
Experimental
0 20 40 60 80 100 120 140 160 180
−40
−20
0
20
40
60
80
100
time
IRS1−Ser312−P[arbunits]
(b)
Simulated
Experimental
Figure 3.7. a-b: By implementing the theory described in section 2.5.1, a biphasic
appearance was achieved for Y1(s) and Y4(s). c-d: For Y2(s) and Y3(s), the desired
appearance of a single overshoot was displayed.
To sum up, getting the curves of Y1(s) and Y4(s) to display a biphasic behavior
as well as forcing the various curves of Y1(s), Y2(s), Y3(s) and Y4(s) to display
their respective behavior over the various different time frames can be achieved
in a systematic way using this linear model structure. The expressions for the
curves may be fine tuned even further so that e.g. the very specific time points for
the peak and minimum values of Y1(s) and Y4(s) becomes better placed than in
Fig. 3.9. Although possible, the procedure for the application of the linear model
structure on that of Fig. 1.4 will reveal whether this truly is desirable since it will
also entail a considerable increase in complexity for the linear model.
35. 3.5 A linear approach with a complementary model 23
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
time
IRS1−Tyrosine−P[arbunits]
(a)
Simulated
Experimental
0 5 10 15 20 25 30
0
20
40
60
80
100
120
time
IR−Ins−P[arbunits]
(c)
Simulated
Experimental
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
timeIRS1−Ser307−P[arbunits]
(d)
Simulated
Experimental
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
time
IRS1−Ser312−P[arbunits]
(b)
Simulated
Experimental
Figure 3.8. a-b: The problem of an oscillating motion passing zero % phosphorylation
was solved by adding a single peak curve. c-d: As demonstrated here, the issue of time
separated curves is easily dealt with utilizing zero-pole cancellation.
0 20 40 60 80 100 120 140 160 180
−20
0
20
40
60
80
100
time
IRS1−Tyrosine−P[arbunits]
Simulated
Experimental
0 5 10 15 20 25 30
0
20
40
60
80
100
120
time
IR−Ins−P[arbunits]
Simulated
Experimental
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
time
IRS1−Ser307−P[arbunits]
Simulated
Experimental
0 20 40 60 80 100 120 140 160 180
0
20
40
60
80
100
time
IRS1−Ser312−P[arbunits]
Simulated
Experimental
Figure 3.9. A quantitatively excellent fit and an overall good qualitative fit for Y1(s)
to Y4(s). This result was achieved using a combination of carefully chosen curve sum-
mations and deliberate zero-pole cancellations. The underlying curves that compose the
summated (blue) curves for Y1(s) and Y4(s) are outlined in red and green.
36. 24 Results
3.6 Strategies for modifying the linear model
During the construction of expressions for the curves of the linear model, a number
of insights were gained about the alterations that can be made to that particular
type of expressions so as to achieve a given desired property of a curve. Although
a more thorough study will have to performed to prove that the following insights
are rules rather than trends, even if only as trends they have applied throughout
this entire study without exception and can thus be considered both useful and
strong.
• Summation A powerful yet in principle very simple method of systematically
changing the appearance of a curve is to simply add a complementing curve.
This was done for the curves of both Y1(s) and Y4(s) to good effect as seen
in Fig. 3.9.
• Altering the value of the zeros Without question the most tangible effect of
a single zero is to dictate how the curve will level out. A higher value for the
zero corresponds to a higher end value reached more slowly whereas a low
value will force the curve to level out considerably faster and closer to 0. If
the zeros value is increased above that of the smallest pole, an overshoot is
no longer attainable. For curves presenting multiple directional changes, i.e.
oscillating, changing the values of the then multiple (given a non-complex
expression) zeros most notably affects the amplitude of the oscillations.
• Introducing zero-pole cancellation As described in section 3.5.2, although
causing the expressions of the model to inflate quickly if used to a large
extent, introducing numerator elements that cancel out parts of the denom-
inator seems to be the only way of achieving a significant time separation
of curves with a common expression for the denominator. If used with care,
curves sharing a common denominator of multiple poles of varying values
may in effect be made to use only the most fitting out of all poles and still
maintain a reasonably small complete expression.
• Altering the value of the poles The most effective way of changing the time
frame of a curve is to modify the values of the poles. A smaller value will
stretch out the curve over a longer time span while the opposite occurs for
an increased value.
• Controlling the number of oscillations In accordance with the thoughts put
forward by Widder [7], the number of time a given curve changes direction is
correlated to the number of zeros fulfilling the demand described in section
2.5.1.
• Narrowing an overshoot The rapidness of the rise of a single peak curve can
be altered by adding more poles to the expression yielding the curve. Not
only does this extend the ascending part of the curve, but it also increases
the maximum speed of decline achievable. In short, adding more poles en-
ables a more bell-shaped appearance for the curve. This was most notably
37. 3.6 Strategies for modifying the linear model 25
used in this study to create an acceptable curve for Y4(s) so that a valley
was achieved at approximately 45 min whilst still fixing the peak values at
reasonable time points. After some considerable consideration and numer-
ous trials, the best result that could be achieved was reached by adding
two single peak curves together. However, simply adding two curves with
the minimum number of poles, i.e. two, together, did not work well. This
was because the rapid increase of the curve farthest to the right caused the
valley between the two curves to disappear almost completely. To address
this problem as well as the slower than desirable decline of the second curve,
more poles were added resulting in the curve seen in Fig. 3.9.
• Inclusion of complex numbers Although not used to produce the curves of
Fig. 3.9, complex numbers can be used both to achieve a continuous oscil-
lating motion as well as a narrow peak. Special consideration must then
be given to the values of the parameters of the complex number since these
parameters are what controls the degree of oscillation.
Interestingly, there is a limit to how much effect alterations to a single zero or
pole can have. Up to a point, decreasing the value of e.g. a given pole will have
the expected effect on the time span of the curve. However, sooner or later, to
achieve further change additional poles will have to be added. Furthermore, it is
important to be aware of the fact that although the zeros and poles have a most
profound effect on the leveling out and time span of the curve, altering their values
will also affect the scale of the curve. Thus underlining the importance of having
scaling parameters.
When searching for suitable expressions, it may sometimes be useful to be
aware of that the appearance of the simulated states x1 to xn are linked to the
number of zeros. By using the editor of the Systems Biology Toolbox to simulate
a model, the states can be easily overviewed so that alternate, more desirable and
easily attainable, appearances may be noticed.
38.
39. Chapter 4
Discussion
4.1 In conclusion
We have made a model based data analysis based on previously collected experi-
mental data and proposed mechanistic explanations for insulin signaling [3]. The
initially constructed model achieved reasonable overshoots for all curves but failed
to present the sought after biphasic appearance for the IRS1-tyrosine and IRS1-
ser312 time-series curves. For the feedback pathway of ser307, the model was
shown to require a non-linear activation in the form of a Hill equation. To address
the issue of achieving biphasic curves, a novel linear approach was developed. This
included a strategy for designing models that generate curves with fairly complex
and highly specific behaviors. This strategy started with the use of a previously
derived theory regarding poles and zeros ([7], Section 2.5.1). However, the original
theory needed to be complemented as it produced a model with biologically un-
realistic features, such as values below 0 and an inability to produce separations
in the peak positions of the different output signals. Our strategy allowed us to
achieve the acceptable fit to data of Figure 3.9, which is achieved using a back-
translated state-space description. Our rather general strategy opens the door for
a new approach to model-based data analysis of complex time-courses. However,
to be truly useful in a systems biology context, important challenges still remain
for the biological interpretation of the back-translation step.
4.2 The structure of the model
As the activation of the serine-307 phosphorylation process in section 3.2.2 shows,
important changes to the investigated variables and states may be achieved without
compromising the general idea of the hypothesis behind or indeed the actual setup
of the model structure of Fig. 1.4. Since the current model does not seem to be
able to yield the sought after results and some modifications will most likely prove
a necessity, it is important to consider possible flaws of the current model.
Altering the model of Fig. 1.4 by removing the two states phosphorylated on
27
40. 28 Discussion
both serine 312 and serine 307 resulted in little or no effect on the ability to fit
the model to data. This could indicate that the states in question are not in
fact present in the system or present at such low concentrations and/or during
sufficiently short time intervals so as to have no significant effect on the signaling
cascade. In the case of this model, the states are present only in very small amounts
compared to the other states. It is noteworthy that the relative values for the states
present in the model of Fig. 1.4 and resulting in Fig. 3.5 varies considerably. Of
course variation to a point is quite reasonable and the optimization seems to have
a strong tendency to maintain the approximate parameter values that cause the
present large variations. It may however be questionable if these variations reach
values as high as 1011
. Considering the vast amount of possible parameter values,
it is possible that the search algorithm has simply failed to find values that would
more accurately describe the system and that further optimization may remedy
this. Whatever the case, the relative amounts of the states are obviously important
and an issue that would be prudent to investigate further as well as being a possible
part of the predictions of an accepted model.
4.3 Statistical evaluation
As previously mentioned, to objectively test whether or not the curves of Fig.
3.6 represented a statistically acceptable fit to the experimental data, a χ2
-test of
residual size was performed. For this test, there are a few matters that should be
taken note of.
First, it is important to be aware of the fact that the current estimate of the
number of degrees of freedom results in an overestimate of the true value. However,
since the test results in rejection even for the maximum number of degrees of
freedom, this is a problem that, together with the issue of determining the number
of unidentifiable parameters has not been necessary to delve deeper into during
this project. In continued studies however, this is of course an important issue to
consider when a better than the current fit is achieved. For now, the test enables an
objective rejective statement of the current fit, as oppose to the considerably more
subjective statement that would result from a solely visual evaluation. In addition,
it may be worth mentioning that the standard error bars for the IRinsP-state are
notably small in comparison with the corresponding values for the other states
investigated in the χ2
-test, especially since the number of repeated measurements
is less than is the case for the other states. This has a tangible effect on the
resulting contribution of this state to the test statistic although a modification
to values more like those of the other states still results in a firm rejection. It is
however clearly of some importance to consider not only the test procedure itself
and the resulting statistical outcome of the test, but also the data on which the
test is being based and how it was obtained.
41. 4.4 Suggestions for continued and expanded
studies 29
4.4 Suggestions for continued and expanded
studies
Future studies on the system could include:
• Translation of the linear model to a biologically interpretable form that can
be applied on the original non linear model structure.
• Additional experiments to increase the amount of data in order to be able
to make stronger, more secure statements on the actual behavior of the
investigated time curves.
• Investigation of the biological interpretation of the Hill-requirement for the
Ser 307 phosphorylation time curve
• Investigation of the relative amounts of the various states of the model
• Investigation of whether or not the activation of the serine 312 phosphory-
lating kinase Y occurs before or after the activation of PKB.
• Structural studies on the effects of serine phosphorylation of IRS1.
• Kinetic studies on the interaction of the various constituents of the proposed
signaling network.
• Modification of the rate expressions within the model to achieve a more
realistic effect on the reaction rates of the enzymes relative to the substrates.
For complete copies of any and all of the optimization scripts and models used
in this thesis, please feel free to contact Fredrik Bäcklund at freba430@student.liu.se
or Gunnar Cedersund at gunnar.cedersund@liu.se.
42.
43. Bibliography
[1] Kahn B. B (1998) Type 2 Diabetes: When Insulin Secretion Fails to Compen-
sate for Insulin Resistance Cell 92 593-596.
[2] Fogelholm M (2009) Physical activity, fitness and fatness: relations to mortal-
ity, morbidity and disease risk factors. A systematic review Obesity reviews ,
Epub ahead of print, PMID: 19744231 1467-7881.
[3] Danielsson A, Nyström F. H. & Strålfors P (2006) Phosphorylation of IRS1 at
serine 307 and serine 312 in response to insulin in human adipocytes BBRC
342 1183-1187.
[4] Danielsson A, Öst A, Nyström F. H. & Strålfors P (2005) Attenuation of
Insulin-stimulated Insulin Receptor Substrate-1 Serine 307 Phosphorylation in
Insulin Resistance of Type 2 Diabetes JBC 280 34389-34392.
[5] Glad T & Ljung L (2006) Reglerteknik grundläggande teori, Fourth edition
Publisher: Studentlitteratur
[6] Cedersund G & Roll J (2009) Systems biology: model based evaluation and
comparison of potential explanations for given biological data. FEBS J. 276(4)
903-22.
[7] Widder D. V. (1934) The inversion of the Laplace integral and the related
moment problem Trans. Amer. Math. Soc. 36 107-200.
[8] Cedersund G, Roll J, Ullhielm E, Danielsson A, Tidefelt H & Strålfors P (2008)
Model-based hypothesis testing of key mechanisms in initial phase of insulin
signaling PloS Comp Biol 4(6) e1000096.
31
44.
45. Appendix A
The non linear model
A.1 Example optimization script - the script used
for the model in
Fig. 2.1
function Optimize090303()
tic %starting timer
%%
clear all
close all
global EXPDATA
global pNamesOpt
global icOrig
global tmpModel
global variableNumbers
global nameofmodel
nameofmodel = ’MEXmodel090303’;
optModel = SBmodel(’090303.txt’);
tmpModel = optModel;
SBAOcreateMEXmodel(optModel,nameofmodel);
vNames = SBvariables(tmpModel);
variableNumbers = [ find(strcmp(vNames,’outIRS1PTyrTot’))
find(strcmp(vNames,’outIRInsP’)) find(strcmp(vNames,’outSer307’))];
33
48. 36 The non linear model
simData = SBsimulate(tmpModel,’ode15s’,[0:simLength/simRes:simLength],icOrig,
simoptions);
simTime = simData.time;
outIRS1PTyrTot = simData.variablevalues(:,variableNumbers(1));
outIRInsP = simData.variablevalues(:,variableNumbers(2));
outSer307 = simData.variablevalues(:,variableNumbers(3));
% Plotting
close all
figure(1)
plot(simTime,outIRS1PTyrTot)
hold on
plot(EXPDATA.IRS1PTyrTot.time,EXPDATA.IRS1PTyrTot.values,’*’)
axis([EXPDATA.IRS1PTyrTot.time(1) EXPDATA.IRS1PTyrTot.time(end)
min(EXPDATA.IRS1PTyrTot.values)
*0.8 max(EXPDATA.IRS1PTyrTot.values)*1.2])
xlabel(’time’); ylabel(’IRS1-Tyrosine-P[arb units]’); title(’Optimization 090303’)
legend(’Simulated’,’Experimental’,’Location’,’Best’);
figure(2)
plot(simTime,outIRInsP)
hold on
plot(EXPDATA.IRInsP.time,EXPDATA.IRInsP.values,’*’)
axis([EXPDATA.IRInsP.time(1) EXPDATA.IRInsP.time(end)
min(EXPDATA.IRInsP.values)*
0.8 max(EXPDATA.IRInsP.values)*1.2])
xlabel(’time’); ylabel(’IR-Ins-Tyrosine-P[arb units]’); title(’Optimization 090303’)
legend(’Simulated’,’Experimental’,’Location’,’Best’);
figure(3)
plot(simTime,outSer307)
hold on
plot(EXPDATA.ser307.time, EXPDATA.ser307.values, ’*’)
axis([EXPDATA.ser307.time(1) EXPDATA.ser307.time(end) min(EXPDATA.ser307.values)
*0.8 max(EXPDATA.ser307.values)*1.2])
xlabel(’time’); ylabel(’IRS1-Ser307-P [arb units]’); title(’Optimization 090303’)
legend(’Simulated’,’Experimental’,’Location’,’Best’);
%% PRINTING THE PARAMETERS
for i = 1:length(X)
49. A.1 Example optimization script - the script used for the model in
Fig. 2.1 37
disp(sprintf(’%s = %10.20f’, pNamesOpti, X(i)));
end
for i = 1:length(X)
disp(sprintf(’%10.20f’, X(i)));
end
toc %stopping timer
%%%%%%%% THE COST FUNCTION %%%%%%%%
function [error] = costHere(param)
global EXPDATA
global icOrig
global pNamesOpt
global tmpModel
global variableNumbers
global nameofmodel
%%% SIMULATE THE MODEL FOR THE GIVEN param
simoptions.abstol = 1e-12;
simoptions.reltol = 1e-12;
simoptions.simdata = ’all’;
simoptions.maxnumsteps = 2d6;
tmpModel = SBparameters(tmpModel,pNamesOpt,param);
simLength = EXPDATA.IRS1PTyrTot.time(end)*1.0001;
simRes = 2400;
try
simData = MEXmodel090303([0:simLength/simRes:simLength],icOrig, param,
simoptions);
catch
disp(’Simulation of current estimation crashed... continuing...’);
error = inf;
return
end
if length(simData.variablevalues(:,end)) = simRes+1
disp(’The simulation seems not to have finished... continuing...’);
error = inf;
return
50. 38 The non linear model
end
%%% CALCULATE THE SIMDATA STRUCT
SIMDATA = [];
outIRS1PTyrTot = simData.variablevalues(:,variableNumbers(1));
SIMDATA.IRS1PTyrTot = interp1(simData.time,outIRS1PTyrTot,
EXPDATA.IRS1PTyrTot.time);
simTime = simData.time;
outIRInsP = simData.variablevalues(:,variableNumbers(2));
SIMDATA.IRInsP = interp1(simData.time,outIRInsP,EXPDATA.IRInsP.time);
outSer307 = simData.variablevalues(:,variableNumbers(3));
SIMDATA.ser307 = interp1(simData.time,outSer307,EXPDATA.ser307.time);
%%% RETURN THE COST
tmpError = 0;
%%%%%%%%%%%%%%% IRS1-Tyrosine-P
maxIRS1PTyrTot = max(EXPDATA.IRS1PTyrTot.values);
tmpError = tmpError +
sum(((EXPDATA.IRS1PTyrTot.values - SIMDATA.IRS1PTyrTot)/maxIRS1PTyrTot).ˆ2);
[peakindex] = max(outIRS1PTyrTot);
peakTime = simTime(index);
if peak > 1.1*maxIRS1PTyrTot
tmpError = tmpError + (peak/maxIRS1PTyrTot)*10000;
end
try
if peakTime > 1.7
tmpError = tmpError+ (peakTime-1.7)*200;
elseif peakTime < 0.5
tmpError = tmpError + (2000/(peakTime+0.001));
end
catch
tmpError = tmpError + 1e14;
end
if SIMDATA.IRS1PTyrTot(end)> 0.7*peak
tmpError = tmpError + (SIMDATA.IRS1PTyrTot(end)-0.7*peak)*10000;
end
51. A.1 Example optimization script - the script used for the model in
Fig. 2.1 39
if peak<0.7*max(EXPDATA.IRS1PTyrTot.values)
tmpError= tmpError + 1e14;
end
if SIMDATA.IRS1PTyrTot(end)< 15
tmpError = tmpError + (15-SIMDATA.IRS1PTyrTot(end))*1000;
end
%%%%%%%%%%%%%%%%%%%%IR-Ins-P
maxIRInsP = max(EXPDATA.IRInsP.values);
tmpError = tmpError +
sum(((EXPDATA.IRInsP.values - SIMDATA.IRInsP)/maxIRInsP).ˆ2);
[peakindex] = max(outIRInsP);
peakTime = simTime(index);
if peak > 1.1*maxIRInsP
tmpError = tmpError + (peak/maxIRInsP)*10000;
elseif peak < 0.9*maxIRInsP
tmpError = tmpError +(maxIRInsP-peak)*10000;
end
try
if peakTime > 1.2
tmpError = tmpError+ (peakTime-1.2)*20000;
elseif peakTime < 0.3
tmpError = tmpError + (2000/(peakTime+0.001));
end
catch
tmpError = tmpError + 1e14;
end
if SIMDATA.IRInsP(end)> 0.7*peak
tmpError = tmpError + (SIMDATA.IRInsP(end)-0.7*peak)*10000;
end
if peak > 1.3*max(EXPDATA.IRInsP.values)
tmpError = tmpError + (peak-1.3*max(EXPDATA.IRInsP.values))*100;
end
if SIMDATA.IRInsP(end)< 28
tmpError = tmpError + (28-SIMDATA.IRInsP(end))*1000;
end
52. 40 The non linear model
%%%%%%%%%%%%%%%ser307
maxSer307 = max(EXPDATA.ser307.values);
tmpError = tmpError +
sum(((EXPDATA.ser307.values - SIMDATA.ser307)/maxSer307).ˆ2);
[peakindex] = max(outSer307);
peakTime = simTime(index);
halfpeaktime = simTime(find(outSer307>peak/2,1));
if param(6)==0 | param(5)==0
tmpError = tmpError +1e14;
end
if halfpeaktime <1.3
tmpError = tmpError + (1.3-halfpeaktime)*1000;
elseif halfpeaktime > 5
tmpError = tmpError +(halfpeaktime-5)*1000;
end
if SIMDATA.ser307(end)>0.1*peak
tmpError = tmpError + (SIMDATA.ser307(end)-0.1*peak)*1000;
end
if abs(peak-maxSer307)>0.1*peak
tmpError = tmpError + (abs(peak-maxSer307)-0.1*peak)*1000;
end
%%And...the return command
error = tmpError;
61. Appendix D
The linear approach
D.1 Example linear model structure-the model
generating Fig. 3.7
********** MODEL NAME
WICTORY
********** MODEL NOTES
WICTORY = Watts inspired, coherent although temporary but rather original
route to yes-point!
********** MODEL STATES
% x* [equals] Ax + Bu:
d/dt(x1) = -a1*x1 -a2*x2 -a3*x3 -a4*x4 +u
d/dt(x2) = x1
d/dt(x3) = x2
d/dt(x4) = x3
x1(0) = 0
x2(0) = 0
x3(0) = 0
x4(0) = 0
********** MODEL PARAMETERS
%% numerator parameters:
p11=0.014
p12=0.014
49
63. D.2 Example cost function 51
b24 = p21
b31 = 0
b32 = 0
b33 = 1
b34 = p31
b41 = p4s
b42 = p42*p4s + p41*p4s + p43*p4s
b43 = p41*p42*p4s + p42*p43*p4s + p41*p43*p4s
b44 = p41*p42*p43*p4s
% output signals:
y1 = b11*x1 + b12*x2 + b13*x3 + b14*x4
y2 =b21*x1 + b22*x2 + b23*x3 + b24*x4
y3 =b31*x1 + b32*x2 + b33*x3 + b34*x4
y4 =b41*x1 + b42*x2 + b43*x3 + b44*x4
outy1 = y1
outy2 = y2*scale_y2
outy3 = y3*scale_y3
outy4 = y4
********** MODEL REACTIONS
********** MODEL FUNCTIONS
********** MODEL EVENTS
********** MODEL MATLAB FUNCTIONS
D.2 Example cost function
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%%%%% THE COST FUNCTION %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [error] = WcostHere(param)
%%Load the globals
global EXPDATA
global icOrig
64. 52 The linear approach
global pNamesOpt
global tmpModel
global variableNumbers
global nameofmodel
global FID1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% SIMULATE THE MODEL FOR THE GIVEN param
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
simoptions.abstol = 1e-12;
simoptions.reltol = 1e-12;
simoptions.simdata = ’all’;
simoptions.maxnumsteps = 2d4;
simoptions.minstep = 1e-10;
tmpModel = SBparameters(tmpModel,pNamesOpt,param);
simLength = EXPDATA.IRS1PTyrTot.time(end)*1.0001;
simRes = 2400;
try % simulating data
simData = MEXmodelW090909([0:simLength/simRes:simLength],icOrig,
param, simoptions);
simTime = simData.time;
catch
disp(’Simulation of current estimation crashed... continuing...’);
error = inf;
return
end
if length(simData.variablevalues(:,end)) = simRes+1
disp(’The simulation seems not to have finished... continuing...’);
error = inf;
return end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% CALCULATE THE SIMDATA STRUCT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
SIMDATA = [];
%Collecting simulated data.
outy1 = simData.variablevalues(:,variableNumbers(1));
SIMDATA.IRS1PTyrTot = interp1(simData.time,outy1,EXPDATA.IRS1PTyrTot.time);
simTime = simData.time;
65. D.2 Example cost function 53
outy2 = simData.variablevalues(:,variableNumbers(2));
SIMDATA.IRInsP = interp1(simData.time,outy2,EXPDATA.IRInsP.time);
outy3 = simData.variablevalues(:,variableNumbers(3));
SIMDATA.ser307 = interp1(simData.time,outy3,EXPDATA.ser307.time);
outy4 = simData.variablevalues(:,variableNumbers(4));
SIMDATA.ser312 = interp1(simData.time,outy4,EXPDATA.ser312.time);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% RETURN THE COST
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
tmpError = 0;
%% %%%%%%%%%%%%% IRS1-Tyrosine-P
maxIRS1PTyrTot = max(EXPDATA.IRS1PTyrTot.values);
tmpError = tmpError + sum(((EXPDATA.IRS1PTyrTot.values -
SIMDATA.IRS1PTyrTot)/maxIRS1PTyrTot).ˆ2);
% finding the maximum value of the simulated data:
[peakmaxindex] = max(outy1);
peakTime = simTime(maxindex);
%———————————————————-
% avoiding straight line:
if abs(peak-outy1(end)) < 1
disp(’straight line...continuing’);
error = inf;
return
end
% avoiding absurdly high/low peak values
if peak > (2*maxIRS1PTyrTot) || peak < (maxIRS1PTyrTot/2)
disp(’IRS1tyr peak requirement not fulfilled... continuing...’);
error = inf;
return
end
% avoding negative values
if min(outy1) < 0
disp(’negative value’);
error = inf;
return end
66. 54 The linear approach
%———————————————————-
if peak > 90
tmpError = tmpError + ((peak-90)/maxIRS1PTyrTot)*1.0e3;
end
if peak < 80
tmpError = tmpError + ((80-peak)/maxIRS1PTyrTot)*1.0e3;
disp(peak);
end
% PEAKTIME RESTRICTION:
if peakTime > 3.5
tmpError = tmpError+ (peakTime-3.5)*1.0e3;
end
if peakTime < 0.5
tmpError = tmpError + (0.5-peakTime)*1.0e1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% if-statements for oscillation:
checkmark = 0;
for i = maxindex +1:2300
if outy1(i) < outy1(i+1)
checkmark = 1;
minindex = i;
break end end
if checkmark == 1 %oscillation present if checkmark = 1
minValue = outy1(minindex);
%searching for midpeak from minindex +1:
[midPeak midmaxindex] = max(outy1(minindex + 1:end));
% yielding index from the start of the simulation:
midmaxindex = midmaxindex + minindex;
minTime = simTime(minindex);
midpeakTime = simTime(midmaxindex);
67. D.2 Example cost function 55
%midPeak restrictions:
if abs(peak-midPeak)< 40
tmpError = tmpError + (40 - abs(peak-midPeak))*1.0e3;
disp(abs(peak-midPeak));
end
if abs(midPeak-minValue) < 10
tmpError = tmpError + (10 - abs(midPeak-minValue))*1.0e4;
end
%midpeakTime restrictions:
if midpeakTime > 66
tmpError = tmpError +(midpeakTime-66)*1.0e3;
end
if midpeakTime < 34
tmpError = tmpError +(34-midpeakTime)*1.0e3;
end
%minTime restrictions:
if minTime < 18
tmpError = tmpError +(18-minTime)*1.0e4;
end
if minTime > 36
tmpError = tmpError +(minTime-40)*1.0e3;
end
elseif checkmark == 0
tmpError = tmpError + 1.0e20;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if SIMDATA.IRS1PTyrTot(end)> 26
tmpError = tmpError + (SIMDATA.IRS1PTyrTot(end)-26)*1.0e3;
end
if SIMDATA.IRS1PTyrTot(end)< 12
tmpError = tmpError + (12-SIMDATA.IRS1PTyrTot(end))*1.0e3;
end
%% %%%%%%%%%%%%%%%%%%%%IR-Ins-P
maxIRInsP = max(EXPDATA.IRInsP.values);
tmpError = tmpError + sum(((EXPDATA.IRInsP.values -
68. 56 The linear approach
SIMDATA.IRInsP)/maxIRInsP).ˆ2);
% finding the maximum value of the simulated data:
[peakmaxindex] = max(outy2);
peakTime = simTime(maxindex);
%———————————————————-
% avoiding straight line:
if abs(peak-outy2(end)) < 1
disp(’ IR straight line...continuing’);
error = inf;
return
end
% avoiding absurdly high/low peak values:
if peak > (2*maxIRInsP) || peak < (maxIRInsP/2)
disp(’IRinsP peak requirement not fulfilled... continuing...’);
error = inf;
return
end
%———————————————————-
if peak > 105
tmpError = tmpError + ((peak-105)/maxIRInsP)*1.0e4;
end
if peak < 90
tmpError = tmpError +((90-peak)/maxIRInsP)*1.0e4;
end
% peaktime restriction:
if peakTime > 2
tmpError = tmpError+ (peakTime-2)*1.0e3;
end
if peakTime < 0.5
tmpError = tmpError + (0.5-peakTime)*1.0e1;
end
% demanding overshoot:
if SIMDATA.IRInsP(end)< 20
tmpError = tmpError + (20-SIMDATA.IRInsP(end))*1.0e4;
end
69. D.2 Example cost function 57
if SIMDATA.IRInsP(end)> 45
tmpError = tmpError + (SIMDATA.IRInsP(end)-45)*1.0e4;
end
%% %%%%%%%%%%%%%ser307
maxSer307 = max(EXPDATA.ser307.values);
tmpError = tmpError + sum(((EXPDATA.ser307.values -
SIMDATA.ser307)/maxSer307).ˆ2);
% finding the maximum value of the simulated data:
[peakmaxindex] = max(outy3);
peakTime = simTime(maxindex);
%———————————————————-
% avoiding straight line:
if abs(peak-outy3(end)) < 1
disp(’single line...continuing’);
error = inf;
return
end
% avoiding absurdly high/low peak values:
if peak > (2*maxSer307) || peak < (maxSer307/2)
disp(’Ser307 peak requirement not fulfilled... continuing...’);
error = inf;
return
end
%———————————————————-
if peak > 90
tmpError = tmpError + (90/maxSer307)*1.0e3;
end
if peak < 80
tmpError = tmpError +((80-peak)/maxSer307)*1.2;
end
% peaktime restriction:
if peakTime > 11
tmpError = tmpError+ (peakTime-11)*1.0e4;
end
if peakTime < 4
70. 58 The linear approach
tmpError = tmpError + (4-peakTime)*1.0e3;
end
% demanding overshoot:
if SIMDATA.ser307(end) > 3
tmpError = tmpError + (SIMDATA.ser307(end)-3)*1.0e4;
end
if min(SIMDATA.ser307) < 0
tmpError = tmpError + 100;
end
%% %%%%%%%%%%%%ser312
maxSer312 = max(EXPDATA.ser312.values);
vikt = ones(size(EXPDATA.ser312.values));
tmpError = tmpError + sum(((EXPDATA.ser312.values -
SIMDATA.ser312).*vikt)/maxSer312).ˆ2);
% finding the max value of the simulated data:
[peakmaxindex] = max(outy4);
peakTime = simTime(maxindex);
%———————————————————-
% avoiding straight line:
if abs(peak-outy4(end)) < 1
disp(’straight line...continuing’);
error = inf;
return
end
% avoiding absurdly high/low peak values:
if peak > (1.2*maxSer312) || peak < (maxSer312/1.4)
disp(’Ser312 peak requirement not fulfilled... continuing...’);
error = inf;
return
end
%———————————————————-
if peak > 99
tmpError = tmpError + ((peak-99)/maxSer312)*1.0e4;
end
71. D.2 Example cost function 59
if peak < 81
tmpError = tmpError +((81-peak)/maxSer312)*1.0e4;
end
%%%%%%%%%%%%%%%%
% peaktime restriction:
if peakTime > 37
tmpError = tmpError+ (peakTime-37)*1.0e4;
end
if peakTime < 16
tmpError = tmpError + (16-peakTime)*1.0e4;
end
%%%%%%%%%%%%%%%%
% demanding overshoot:
if SIMDATA.ser312(end)> 42
tmpError = tmpError + (SIMDATA.ser312(end)-42)*1.0e4;
end
%%%%%%%%%%%%%%%%%%%%%%%%
% if statements for oscillation:
checkmark = 0;
for i = maxindex +1:2300
if outy4(i) < outy4(i+1)
checkmark = 1;
minindex = i;
break
end
end
if checkmark == 1 % oscillation present if checkmark = 1
minValue = outy4(minindex);
%searching for midpeak from minindex +1:
[midPeak midmaxindex] = max(outy4(minindex + 1:end));
% yielding index from the start of the simulation:
midmaxindex = midmaxindex + minindex;
minTime = simTime(minindex);
midpeakTime = simTime(midmaxindex);
72. 60 The linear approach
%midPeak restrictions:
if abs(peak-midPeak)< 20
tmpError = tmpError + (20 - abs(peak-midPeak))*1.05;
end
if midPeak < 60
tmpError = tmpError + (60-midPeak)*1.04;
end
if abs(midPeak-abs(minValue)) < 1.5
tmpError = tmpError + (1.5 - abs(midPeak-minValue))*1.0e4;
end
if abs(midPeak-abs(minValue)) < 3
tmpError = tmpError + (3 - abs(midPeak-minValue))*1.0e1;
end
if abs(midPeak-outy4(end))< 30
tmpError = tmpError + (30 - abs(midPeak-outy4(end)))*1.0e4;
end
%midpeakTime restrictions:
if midpeakTime > 100
tmpError = tmpError +(midpeakTime-100)*1.0e4;
end
if midpeakTime < 80
tmpError = tmpError +(80-midpeakTime)*1.0e4;
end
%minTime restrictions:
if minTime < 37
tmpError = tmpError +(37-minTime)*1.0e4;
end
if minTime > 62
tmpError = tmpError +(minTime-62)*1.0e4;
end
if minValue < 0
disp(’below zero... continuing...’);
error = inf;
return end
elseif checkmark == 0
tmpError = tmpError + 1.0e20;
73. D.2 Example cost function 61
end
%%%%%%%%%%%%%%%%%%%%%%%%
if SIMDATA.ser312(end)> 37
tmpError = tmpError + (SIMDATA.ser312(end)-37)*1.0e1;
end
%%
fprintf(FID1, ’n’);
fprintf(FID1,’%10.20f n’, param);
error = tmpError;