SlideShare a Scribd company logo
1 of 73
Download to read offline
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
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
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
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
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
Contents
1 Introduction 1
1.1 Type 2 Diabetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Insulin signaling in adipocytes . . . . . . . . . . . . . . . . . . . . . 1
1.3 The previously proposed hypothesis . . . . . . . . . . . . . . . . . 2
1.4 Systems biology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Methods 7
2.1 Formulating a mathematical model . . . . . . . . . . . . . . . . . . 7
2.2 Simulating and optimizing a model . . . . . . . . . . . . . . . . . . 8
2.3 Statistical evaluation of the agreement . . . . . . . . . . . . . . . . 9
2.4 The Systems Biology Toolbox for MATLAB . . . . . . . . . . . . . 10
2.5 Construction of a complementary linear model . . . . . . . . . . . 11
2.5.1 A Laplace transformed expression . . . . . . . . . . . . . . 11
2.5.2 Rewriting the model for usage by the Systems Biology Toolbox 11
3 Results 15
3.1 Constructing the model . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Explaining tyrosine and serine-307 phosphorylation data . . . . . . 16
3.2.1 Problems explaining a low serine-307 steady state . . . . . 16
3.2.2 The necessity of a Hill-activation leading to serine-307 acti-
vation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Explaining the total data set . . . . . . . . . . . . . . . . . . . . . 17
3.3.1 An agreement with a single overshoot for serine-312 . . . . 19
3.4 Statistical evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.1 χ2
-test of residual size . . . . . . . . . . . . . . . . . . . . . 19
3.5 A linear approach with a complementary model . . . . . . . . . . . 19
3.5.1 The novel approach . . . . . . . . . . . . . . . . . . . . . . 19
3.5.2 Modifications of the linear model . . . . . . . . . . . . . . . 20
3.6 Strategies for modifying the linear model . . . . . . . . . . . . . . 24
4 Discussion 27
4.1 In conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 The structure of the model . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Statistical evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 28
ix
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
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
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).
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.
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).
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
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.
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
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
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
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.
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
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].
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
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
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
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.
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.
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
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
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
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.
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.
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
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.
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
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.
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.
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
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
34 The non linear model
%% CREATE THE EXPDATA STRUCT
EXPDATA = [];
cd ExpData/
%IRS1 Tyrosine phosphorylation
tempData = load(’IRS1Tyr.dat’);
EXPDATA.IRS1PTyrTot.time = tempData(:,1);
EXPDATA.IRS1PTyrTot.values = tempData(:,2);
tempData = load(’IR.dat’);
EXPDATA.IRInsP.time = tempData(:,1);
EXPDATA.IRInsP.values = tempData(:,2);
tempData = load(’ser307.dat’);
EXPDATA.ser307.time = tempData(:,1);
EXPDATA.ser307.values = tempData(:,2);
cd ../
%%%%%%%%%%THE OPTIMIZATION %%%%%%%%%%
[pNamesOpt, startGuess] = SBparameters(optModel)
icOrig = SBinitialconditions(optModel);
OPTIONS = []; OPTIONS.tempstart = 5000*costHere(startGuess);
OPTIONS.tempend = 0.01*costHere(startGuess);
OPTIONS.tempfactor = 0.1;
OPTIONS.maxitertemp = 50*length(startGuess);
OPTIONS.maxitertemp0 = 40*length(startGuess);
OPTIONS.maxtime = 2d6;
OPTIONS.tolx = 1e-10;
OPTIONS.tolfun = 1e-10;
OPTIONS.MaxRestartPoints = 0;
OPTIONS.lowbounds = [
1.0e-6 % kIRf
1.0e-6 % kIRb
1 % k2f
1.0e-3 % k2b
1.0e-6 % k3f
1.0e-6 % k3b
1 % k4f
1e-6 % k8f
1.0e-4 % kXf
1.0e-4 % kXb
1.0e-6 % VmaxS6K
A.1 Example optimization script - the script used for the model in
Fig. 2.1 35
1.0e-6 % KmS6K
1.0e-6 % kS6Kb
1.0e-4 % scaleIRS1PTyrTot
1.0e-4 % scaleIR
1e-3 % kxi
1.0e-10 % scale307
0.5 % hS6K
];
OPTIONS.highbounds = [
1.0e4 % kIRf
1.0e4 % kIRb
1.0e9 % k2f
1.0e6 % k2b
1.0e6 % k3f
1.0e6 % k3b
1.0e9 % k4f
1.0e3 % k8f
1.0e4 % kXf
1.0e4 % kXb
1.0e6 % VmaxS6K
1.0e6 % KmS6K
1.0e6 % kS6Kb
1.0e6 % scaleIRS1PTyrTot
1.0e6 % scaleIR
1e4 % kxi
1.0e12 % scale307
4 % hS6K
];
OPTIONS.outputFunction =”;
OPTIONS.silent = 0;
format long
format compact
[X, FVAL, EXITFLAG] = simannealingSBAOClustering(@costHere,startGuess’,
OPTIONS)
%% PLOT THE RESULT
simoptions=odeset(’AbsTol’,10ˆ-12);
simLength = EXPDATA.IRS1PTyrTot.time(end)*1.0001;
simRes = 2400;
tmpModel = SBparameters(tmpModel,pNamesOpt,X);
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)
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
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
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
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;
41
42 Experimental data
Appendix B
Experimental data
B.1 The normalized experimental data
IR-ins-P
Time Phosphorylation
(minutes) % of max % of max % of max
0 0 0 0
0.9 100 100 100
1.15 95 99 54
1.3 98 75 59
2.3 66 54
3.3 46 54 52
5.3 74 45 51
7 51 39 47
10 53 48 56
15 39 47 38
20 52 33 43
30 16 34 56
Tyr-P
Time Phosphorylation
(minutes) % of max % of max % of max % of max % of max % of max
0 0 0 0 0 0 0
0.5 44 41 90 100 100 100
1 100 75 100 98 75 59
3 72 100 66 46 54 52
5 50 59 30 74 45 51
7 45 50 70 51 39 47
10 45 45 34 53 48 56
15 65 43 65 39 47 38
30 29 22 20 16 34 56
45 61 23 44
60 56 34 30
90 40 16 14
120 48 14 18
180 38 0 21
B.1 The normalized experimental data 43
Ser307-P
Time Phosphorylation
(minutes) % of max % of max % of max % of max % of max % of max
0 0 0 0 0 0 0
0.5 47 41 67 0 18 0
1 67 55 49 21 42 27
3 77 43 100 64 88 31
5 68 69 50 100 86 99
7 100 98 70 64 85 100
10 78 100 53 83 90 98
15 0 23 34 50 100 84
30 25 0 0 71 72 38
45 10 0 13
60 0 0 0
90 0 0 0
120 0 0 0
150 0 0 0
180 0 0 0
Ser312-P
Time Phosphorylation
(minutes) % of max % of max % of max % of max % of max % of max
0 0 0 0 0 0 0
0.5 11 1 0 24 37 0
1 13 8 0 41 62 20
3 0 0 36 59 40 1
5 26 0 10 49 86 30
7 12 0 39 62 63 27
10 12 23 56 64 83 44
15 37 27 31 100 66 61
30 100 100 75 100 100
45 22 60 74
60 45 61 79
90 100 40 93
120 49 34 76
180 25 25 14
44 Experimental data
B.1.1 The experimental mean values used for optimization
IR-ins-P Tyr-P
Time Phosphorylation Time Phosphorylation
(minutes) % of max (minutes) % of max
0 0 0 0
0.9 100.00 0.5 79.17
1.15 82.67 1 84.50
1.3 77.33 3 65.00
2.3 60.00 5 51.50
3.3 50.67 7 50.33
5.3 56.67 10 46.83
7 45.67 15 49.50
10 52.33 30 29.50
15 41.33 45 42.67
20 42.67 60 40.00
30 35.33 90 23.33
120 26.67
180 19.67
Ser307-P Ser312-P
Time Phosphorylation Time Phosphorylation
(minutes) % of max (minutes) % of max
0 0 0 0
0.5 28.83 0.5 12.17
1 43.50 1 24.00
3 67.17 3 22.67
5 78.67 5 33.50
7 86.17 7 33.83
10 83.67 10 47.00
15 48.50 15 53.67
30 34.33 30 95.00
45 7.67 45 52.00
60 0 60 61.67
90 0 90 77.67
120 0 120 53.00
150 0 180 21.33
180 0
Appendix C
The χ2-test
C.1 The script for determining the test statistic
%% IRS1TyrTot
%yˆ
ysimVector = SIMDATA.IRS1PTyrTot;
%y
yVector = EXPDATA.IRS1PTyrTot.values;
%zigma
stdVector = ones(14,1);
stdVector(1:9) = std(EXPDATA3.IRS1PTyrTot.values(1:9,:),0,2);
stdVector(10:end) = std(EXPDATA3.IRS1PTyrTot.values(10:end,1:3),0,2);
stdVector(1) = median(stdVector(2:end));
SEM = stdVector/sqrt(3);
SEM(2:9) = stdVector(2:9)/sqrt(6);
Sigma_i,j = Sigma_i,j + sum((ysimVector-yVector).ˆ2./(SEM.ˆ2));
45
46 The χ2
-test
%% IR-Ins-P
%yˆ
ysimVector = SIMDATA.IRInsP;
%y
yVector = EXPDATA.IRInsP.values;
%zigma
stdVector = ones(12,1);
IRrow5 = [66 54];
stdVector(1:4) = std(EXPDATA3.IRInsP.values(1:4,:),0,2);
stdVector(5) = std(IRrow5,0,2);
stdVector(6:12) = std(EXPDATA3.IRInsP.values(6:12,:),0,2);
stdVector(1) = median(stdVector(3:end));
stdVector(2) = median(stdVector(3:end));
SEM = stdVector/sqrt(3);
SEM(9) = stdVector(5)/sqrt(2);
SEM = stdVector;
Sigma_i,j = Sigma_i,j + sum((ysimVector-yVector).ˆ2./(SEM.ˆ2));
%% ser307
%yˆ
ysimVector = SIMDATA.ser307;
%y
yVector = EXPDATA.ser307.values;
%zigma
stdVector = ones(15,1);
stdVector(1:9) = std(EXPDATA3.ser307.values(1:9,:),0,2);
stdVector(10:end) = std(EXPDATA3.ser307.values(10:end,1:3),0,2);
stdVector(1) = median(stdVector(2:10));
for i = 11:15
stdVector(i) = median(stdVector(2:10));
end
SEM = stdVector/sqrt(3);
SEM(2:9) = stdVector(2:9)/sqrt(6);
Sigma_i,j = Sigma_i,j + sum((ysimVector-yVector).ˆ2./(SEM.ˆ2));
C.1 The script for determining the test statistic 47
%% ser312
%yˆ
ysimVector = SIMDATA.ser312;
%y
yVector = EXPDATA.ser312.values;
%zigma
stdVector = ones(14,1);
stdVector(1:8) = std(EXPDATA3.ser312.values(1:8,:),0,2);
stdVector(9) = std(EXPDATA3.ser312.values(9,2:end),0,2);
stdVector(10:end) = std(EXPDATA3.ser312.values(10:end,1:3),0,2);
vektor_for_median_or_median_calculation = ones(12,1);
vektor_for_median_or_median_calculation (1:7) = stdVector(2:8);
vektor_for_median_or_median_calculation (8:end) = stdVector(10:end);
stdVector(1) = median(vektor_for_median_or_median_calculation);
stdVector(9) = median(vektor_for_median_or_median_calculation);
SEM = stdVector/sqrt(3);
SEM(2:8) = stdVector(2:8)/sqrt(6);
SEM(9) = stdVector(9)/sqrt(5);
Sigma_i,j = Sigma_i,j + sum((ysimVector-yVector).ˆ2./(SEM.ˆ2));
error = Sigma_i,j;
48 The χ2
-test
C.2 The calculated standard error vectors and
the resulting value of the test statistic
IRS1-Tyrosine-P IR-ins-P IRS1-Ser307-P IRS1-Ser312-P
8.4439 5.1932 11.4057 14.8707
11.7087 14.3798 11.1278 6.2685
7.0557 11.3186 7.0605 9.4903
8.0125 4.8990 10.8179 10.4807
5.9708 2.4037 8.0650 12.5691
4.3025 8.8380 6.5239 10.5496
3.1349 3.5277 7.0364 10.7641
5.0712 6.0000 15.4137 11.3363
5.9203 2.8480 13.1926 11.5188
10.9899 5.4874 3.9299 15.5349
8.0829 11.5662 11.4057 9.8206
8.3533 11.4057 18.9414
10.7290 11.4057 12.2882
10.9899 11.4057 3.6667
11.4057
Σ_i, j = 16.9586 Σ_i, j = 65.7470 Σ_i, j = 102.3258 Σ_i, j = 131.2138
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
50 The linear approach
p13=0.014
p21=0.014
p31=0.0001
p41=0.01
p42=0.01
p43=0.01
%% denominator parameters:
p5=0.15
p6=0.15
p7=0.15
p8=0.15
%% scaling parameters:
p1s=77
p4s=80
scale_y2 = 1.2
scale_y3 = 1.35
********** MODEL VARIABLES
% Input signal:
u = 1
%% The denominator:
a1 = p5 + p6 + p7 + p8
a2 = p5*p6 + p5*p7 + p5*p8 + p6*p7 + p6*p8 + p7*p8
a3 = p5*p6*p7 + p5*p6*p8 + p5*p7*p8 + p6*p7*p8
a4 = p5*p6*p7*p8
%% The numerators:
b11 = p1s
b12 = p12*p1s + p11*p1s + p13*p1s
b13 = p11*p12*p1s + p12*p13*p1s + p11*p13*p1s
b14 = p11*p12*p13*p1s
b21 = 0
b22 = 0
b23 = 1
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
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;
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
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);
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 -
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
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
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
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);
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;
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;

More Related Content

Similar to Diploma Thesis

利用分子動力學電腦模擬研究聚穀氨醯胺及胰
利用分子動力學電腦模擬研究聚穀氨醯胺及胰利用分子動力學電腦模擬研究聚穀氨醯胺及胰
利用分子動力學電腦模擬研究聚穀氨醯胺及胰Hsin-Lin Chiang
 
Final report - Adam Zienkiewicz
Final report - Adam ZienkiewiczFinal report - Adam Zienkiewicz
Final report - Adam ZienkiewiczAdam Zienkiewicz
 
Breath analysis by quantum cascade spectroscopy - Master thesis by Olav Grouw...
Breath analysis by quantum cascade spectroscopy - Master thesis by Olav Grouw...Breath analysis by quantum cascade spectroscopy - Master thesis by Olav Grouw...
Breath analysis by quantum cascade spectroscopy - Master thesis by Olav Grouw...Olav Grouwstra
 
PaulHarrisonThesis_final
PaulHarrisonThesis_finalPaulHarrisonThesis_final
PaulHarrisonThesis_finalPaul Harrison
 
Geldenhuys model 20418
Geldenhuys model 20418Geldenhuys model 20418
Geldenhuys model 20418hajarchokri1
 
Extending the Scalability of Linkage Learning Genetic Algorithms Theory & Pra...
Extending the Scalability of Linkage Learning Genetic Algorithms Theory & Pra...Extending the Scalability of Linkage Learning Genetic Algorithms Theory & Pra...
Extending the Scalability of Linkage Learning Genetic Algorithms Theory & Pra...AmrYassin23
 
Analysis and Classification of ECG Signal using Neural Network
Analysis and Classification of ECG Signal using Neural NetworkAnalysis and Classification of ECG Signal using Neural Network
Analysis and Classification of ECG Signal using Neural NetworkZHENG YAN LAM
 
An Introduction To Mathematical Modelling
An Introduction To Mathematical ModellingAn Introduction To Mathematical Modelling
An Introduction To Mathematical ModellingJoe Osborn
 
Thesis Fabian Brull
Thesis Fabian BrullThesis Fabian Brull
Thesis Fabian BrullFabian Brull
 
Compiled Report
Compiled ReportCompiled Report
Compiled ReportSam McStay
 
Optimization Models and Computational Methods for Systems Biology
Optimization Models and Computational Methods for Systems BiologyOptimization Models and Computational Methods for Systems Biology
Optimization Models and Computational Methods for Systems BiologyYang Cong
 
Paper Egr 183 Modeling Neural Networks In Silico
Paper Egr 183 Modeling Neural Networks In SilicoPaper Egr 183 Modeling Neural Networks In Silico
Paper Egr 183 Modeling Neural Networks In SilicoJoshua Mendoza-Elias
 

Similar to Diploma Thesis (20)

HyperEPJ - singlesided - sspangsberg to print
HyperEPJ - singlesided - sspangsberg to printHyperEPJ - singlesided - sspangsberg to print
HyperEPJ - singlesided - sspangsberg to print
 
利用分子動力學電腦模擬研究聚穀氨醯胺及胰
利用分子動力學電腦模擬研究聚穀氨醯胺及胰利用分子動力學電腦模擬研究聚穀氨醯胺及胰
利用分子動力學電腦模擬研究聚穀氨醯胺及胰
 
Isl1408681688437
Isl1408681688437Isl1408681688437
Isl1408681688437
 
Final report - Adam Zienkiewicz
Final report - Adam ZienkiewiczFinal report - Adam Zienkiewicz
Final report - Adam Zienkiewicz
 
Breath analysis by quantum cascade spectroscopy - Master thesis by Olav Grouw...
Breath analysis by quantum cascade spectroscopy - Master thesis by Olav Grouw...Breath analysis by quantum cascade spectroscopy - Master thesis by Olav Grouw...
Breath analysis by quantum cascade spectroscopy - Master thesis by Olav Grouw...
 
PaulHarrisonThesis_final
PaulHarrisonThesis_finalPaulHarrisonThesis_final
PaulHarrisonThesis_final
 
Kl ph d_thesisfinal
Kl ph d_thesisfinalKl ph d_thesisfinal
Kl ph d_thesisfinal
 
Geldenhuys model 20418
Geldenhuys model 20418Geldenhuys model 20418
Geldenhuys model 20418
 
MyThesis
MyThesisMyThesis
MyThesis
 
Extending the Scalability of Linkage Learning Genetic Algorithms Theory & Pra...
Extending the Scalability of Linkage Learning Genetic Algorithms Theory & Pra...Extending the Scalability of Linkage Learning Genetic Algorithms Theory & Pra...
Extending the Scalability of Linkage Learning Genetic Algorithms Theory & Pra...
 
Analysis and Classification of ECG Signal using Neural Network
Analysis and Classification of ECG Signal using Neural NetworkAnalysis and Classification of ECG Signal using Neural Network
Analysis and Classification of ECG Signal using Neural Network
 
MTörnblom-Final
MTörnblom-FinalMTörnblom-Final
MTörnblom-Final
 
thesis
thesisthesis
thesis
 
An Introduction To Mathematical Modelling
An Introduction To Mathematical ModellingAn Introduction To Mathematical Modelling
An Introduction To Mathematical Modelling
 
Thesispdf
ThesispdfThesispdf
Thesispdf
 
bergel_antoine_10059
bergel_antoine_10059bergel_antoine_10059
bergel_antoine_10059
 
Thesis Fabian Brull
Thesis Fabian BrullThesis Fabian Brull
Thesis Fabian Brull
 
Compiled Report
Compiled ReportCompiled Report
Compiled Report
 
Optimization Models and Computational Methods for Systems Biology
Optimization Models and Computational Methods for Systems BiologyOptimization Models and Computational Methods for Systems Biology
Optimization Models and Computational Methods for Systems Biology
 
Paper Egr 183 Modeling Neural Networks In Silico
Paper Egr 183 Modeling Neural Networks In SilicoPaper Egr 183 Modeling Neural Networks In Silico
Paper Egr 183 Modeling Neural Networks In Silico
 

Diploma Thesis

  • 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
  • 10.
  • 11. Contents 1 Introduction 1 1.1 Type 2 Diabetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Insulin signaling in adipocytes . . . . . . . . . . . . . . . . . . . . . 1 1.3 The previously proposed hypothesis . . . . . . . . . . . . . . . . . 2 1.4 Systems biology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.5 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Methods 7 2.1 Formulating a mathematical model . . . . . . . . . . . . . . . . . . 7 2.2 Simulating and optimizing a model . . . . . . . . . . . . . . . . . . 8 2.3 Statistical evaluation of the agreement . . . . . . . . . . . . . . . . 9 2.4 The Systems Biology Toolbox for MATLAB . . . . . . . . . . . . . 10 2.5 Construction of a complementary linear model . . . . . . . . . . . 11 2.5.1 A Laplace transformed expression . . . . . . . . . . . . . . 11 2.5.2 Rewriting the model for usage by the Systems Biology Toolbox 11 3 Results 15 3.1 Constructing the model . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Explaining tyrosine and serine-307 phosphorylation data . . . . . . 16 3.2.1 Problems explaining a low serine-307 steady state . . . . . 16 3.2.2 The necessity of a Hill-activation leading to serine-307 acti- vation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 Explaining the total data set . . . . . . . . . . . . . . . . . . . . . 17 3.3.1 An agreement with a single overshoot for serine-312 . . . . 19 3.4 Statistical evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.4.1 χ2 -test of residual size . . . . . . . . . . . . . . . . . . . . . 19 3.5 A linear approach with a complementary model . . . . . . . . . . . 19 3.5.1 The novel approach . . . . . . . . . . . . . . . . . . . . . . 19 3.5.2 Modifications of the linear model . . . . . . . . . . . . . . . 20 3.6 Strategies for modifying the linear model . . . . . . . . . . . . . . 24 4 Discussion 27 4.1 In conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2 The structure of the model . . . . . . . . . . . . . . . . . . . . . . 27 4.3 Statistical evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ix
  • 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
  • 46. 34 The non linear model %% CREATE THE EXPDATA STRUCT EXPDATA = []; cd ExpData/ %IRS1 Tyrosine phosphorylation tempData = load(’IRS1Tyr.dat’); EXPDATA.IRS1PTyrTot.time = tempData(:,1); EXPDATA.IRS1PTyrTot.values = tempData(:,2); tempData = load(’IR.dat’); EXPDATA.IRInsP.time = tempData(:,1); EXPDATA.IRInsP.values = tempData(:,2); tempData = load(’ser307.dat’); EXPDATA.ser307.time = tempData(:,1); EXPDATA.ser307.values = tempData(:,2); cd ../ %%%%%%%%%%THE OPTIMIZATION %%%%%%%%%% [pNamesOpt, startGuess] = SBparameters(optModel) icOrig = SBinitialconditions(optModel); OPTIONS = []; OPTIONS.tempstart = 5000*costHere(startGuess); OPTIONS.tempend = 0.01*costHere(startGuess); OPTIONS.tempfactor = 0.1; OPTIONS.maxitertemp = 50*length(startGuess); OPTIONS.maxitertemp0 = 40*length(startGuess); OPTIONS.maxtime = 2d6; OPTIONS.tolx = 1e-10; OPTIONS.tolfun = 1e-10; OPTIONS.MaxRestartPoints = 0; OPTIONS.lowbounds = [ 1.0e-6 % kIRf 1.0e-6 % kIRb 1 % k2f 1.0e-3 % k2b 1.0e-6 % k3f 1.0e-6 % k3b 1 % k4f 1e-6 % k8f 1.0e-4 % kXf 1.0e-4 % kXb 1.0e-6 % VmaxS6K
  • 47. A.1 Example optimization script - the script used for the model in Fig. 2.1 35 1.0e-6 % KmS6K 1.0e-6 % kS6Kb 1.0e-4 % scaleIRS1PTyrTot 1.0e-4 % scaleIR 1e-3 % kxi 1.0e-10 % scale307 0.5 % hS6K ]; OPTIONS.highbounds = [ 1.0e4 % kIRf 1.0e4 % kIRb 1.0e9 % k2f 1.0e6 % k2b 1.0e6 % k3f 1.0e6 % k3b 1.0e9 % k4f 1.0e3 % k8f 1.0e4 % kXf 1.0e4 % kXb 1.0e6 % VmaxS6K 1.0e6 % KmS6K 1.0e6 % kS6Kb 1.0e6 % scaleIRS1PTyrTot 1.0e6 % scaleIR 1e4 % kxi 1.0e12 % scale307 4 % hS6K ]; OPTIONS.outputFunction =”; OPTIONS.silent = 0; format long format compact [X, FVAL, EXITFLAG] = simannealingSBAOClustering(@costHere,startGuess’, OPTIONS) %% PLOT THE RESULT simoptions=odeset(’AbsTol’,10ˆ-12); simLength = EXPDATA.IRS1PTyrTot.time(end)*1.0001; simRes = 2400; tmpModel = SBparameters(tmpModel,pNamesOpt,X);
  • 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;
  • 53. 41
  • 54. 42 Experimental data Appendix B Experimental data B.1 The normalized experimental data IR-ins-P Time Phosphorylation (minutes) % of max % of max % of max 0 0 0 0 0.9 100 100 100 1.15 95 99 54 1.3 98 75 59 2.3 66 54 3.3 46 54 52 5.3 74 45 51 7 51 39 47 10 53 48 56 15 39 47 38 20 52 33 43 30 16 34 56 Tyr-P Time Phosphorylation (minutes) % of max % of max % of max % of max % of max % of max 0 0 0 0 0 0 0 0.5 44 41 90 100 100 100 1 100 75 100 98 75 59 3 72 100 66 46 54 52 5 50 59 30 74 45 51 7 45 50 70 51 39 47 10 45 45 34 53 48 56 15 65 43 65 39 47 38 30 29 22 20 16 34 56 45 61 23 44 60 56 34 30 90 40 16 14 120 48 14 18 180 38 0 21
  • 55. B.1 The normalized experimental data 43 Ser307-P Time Phosphorylation (minutes) % of max % of max % of max % of max % of max % of max 0 0 0 0 0 0 0 0.5 47 41 67 0 18 0 1 67 55 49 21 42 27 3 77 43 100 64 88 31 5 68 69 50 100 86 99 7 100 98 70 64 85 100 10 78 100 53 83 90 98 15 0 23 34 50 100 84 30 25 0 0 71 72 38 45 10 0 13 60 0 0 0 90 0 0 0 120 0 0 0 150 0 0 0 180 0 0 0 Ser312-P Time Phosphorylation (minutes) % of max % of max % of max % of max % of max % of max 0 0 0 0 0 0 0 0.5 11 1 0 24 37 0 1 13 8 0 41 62 20 3 0 0 36 59 40 1 5 26 0 10 49 86 30 7 12 0 39 62 63 27 10 12 23 56 64 83 44 15 37 27 31 100 66 61 30 100 100 75 100 100 45 22 60 74 60 45 61 79 90 100 40 93 120 49 34 76 180 25 25 14
  • 56. 44 Experimental data B.1.1 The experimental mean values used for optimization IR-ins-P Tyr-P Time Phosphorylation Time Phosphorylation (minutes) % of max (minutes) % of max 0 0 0 0 0.9 100.00 0.5 79.17 1.15 82.67 1 84.50 1.3 77.33 3 65.00 2.3 60.00 5 51.50 3.3 50.67 7 50.33 5.3 56.67 10 46.83 7 45.67 15 49.50 10 52.33 30 29.50 15 41.33 45 42.67 20 42.67 60 40.00 30 35.33 90 23.33 120 26.67 180 19.67 Ser307-P Ser312-P Time Phosphorylation Time Phosphorylation (minutes) % of max (minutes) % of max 0 0 0 0 0.5 28.83 0.5 12.17 1 43.50 1 24.00 3 67.17 3 22.67 5 78.67 5 33.50 7 86.17 7 33.83 10 83.67 10 47.00 15 48.50 15 53.67 30 34.33 30 95.00 45 7.67 45 52.00 60 0 60 61.67 90 0 90 77.67 120 0 120 53.00 150 0 180 21.33 180 0
  • 57. Appendix C The χ2-test C.1 The script for determining the test statistic %% IRS1TyrTot %yˆ ysimVector = SIMDATA.IRS1PTyrTot; %y yVector = EXPDATA.IRS1PTyrTot.values; %zigma stdVector = ones(14,1); stdVector(1:9) = std(EXPDATA3.IRS1PTyrTot.values(1:9,:),0,2); stdVector(10:end) = std(EXPDATA3.IRS1PTyrTot.values(10:end,1:3),0,2); stdVector(1) = median(stdVector(2:end)); SEM = stdVector/sqrt(3); SEM(2:9) = stdVector(2:9)/sqrt(6); Sigma_i,j = Sigma_i,j + sum((ysimVector-yVector).ˆ2./(SEM.ˆ2)); 45
  • 58. 46 The χ2 -test %% IR-Ins-P %yˆ ysimVector = SIMDATA.IRInsP; %y yVector = EXPDATA.IRInsP.values; %zigma stdVector = ones(12,1); IRrow5 = [66 54]; stdVector(1:4) = std(EXPDATA3.IRInsP.values(1:4,:),0,2); stdVector(5) = std(IRrow5,0,2); stdVector(6:12) = std(EXPDATA3.IRInsP.values(6:12,:),0,2); stdVector(1) = median(stdVector(3:end)); stdVector(2) = median(stdVector(3:end)); SEM = stdVector/sqrt(3); SEM(9) = stdVector(5)/sqrt(2); SEM = stdVector; Sigma_i,j = Sigma_i,j + sum((ysimVector-yVector).ˆ2./(SEM.ˆ2)); %% ser307 %yˆ ysimVector = SIMDATA.ser307; %y yVector = EXPDATA.ser307.values; %zigma stdVector = ones(15,1); stdVector(1:9) = std(EXPDATA3.ser307.values(1:9,:),0,2); stdVector(10:end) = std(EXPDATA3.ser307.values(10:end,1:3),0,2); stdVector(1) = median(stdVector(2:10)); for i = 11:15 stdVector(i) = median(stdVector(2:10)); end SEM = stdVector/sqrt(3); SEM(2:9) = stdVector(2:9)/sqrt(6); Sigma_i,j = Sigma_i,j + sum((ysimVector-yVector).ˆ2./(SEM.ˆ2));
  • 59. C.1 The script for determining the test statistic 47 %% ser312 %yˆ ysimVector = SIMDATA.ser312; %y yVector = EXPDATA.ser312.values; %zigma stdVector = ones(14,1); stdVector(1:8) = std(EXPDATA3.ser312.values(1:8,:),0,2); stdVector(9) = std(EXPDATA3.ser312.values(9,2:end),0,2); stdVector(10:end) = std(EXPDATA3.ser312.values(10:end,1:3),0,2); vektor_for_median_or_median_calculation = ones(12,1); vektor_for_median_or_median_calculation (1:7) = stdVector(2:8); vektor_for_median_or_median_calculation (8:end) = stdVector(10:end); stdVector(1) = median(vektor_for_median_or_median_calculation); stdVector(9) = median(vektor_for_median_or_median_calculation); SEM = stdVector/sqrt(3); SEM(2:8) = stdVector(2:8)/sqrt(6); SEM(9) = stdVector(9)/sqrt(5); Sigma_i,j = Sigma_i,j + sum((ysimVector-yVector).ˆ2./(SEM.ˆ2)); error = Sigma_i,j;
  • 60. 48 The χ2 -test C.2 The calculated standard error vectors and the resulting value of the test statistic IRS1-Tyrosine-P IR-ins-P IRS1-Ser307-P IRS1-Ser312-P 8.4439 5.1932 11.4057 14.8707 11.7087 14.3798 11.1278 6.2685 7.0557 11.3186 7.0605 9.4903 8.0125 4.8990 10.8179 10.4807 5.9708 2.4037 8.0650 12.5691 4.3025 8.8380 6.5239 10.5496 3.1349 3.5277 7.0364 10.7641 5.0712 6.0000 15.4137 11.3363 5.9203 2.8480 13.1926 11.5188 10.9899 5.4874 3.9299 15.5349 8.0829 11.5662 11.4057 9.8206 8.3533 11.4057 18.9414 10.7290 11.4057 12.2882 10.9899 11.4057 3.6667 11.4057 Σ_i, j = 16.9586 Σ_i, j = 65.7470 Σ_i, j = 102.3258 Σ_i, j = 131.2138
  • 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
  • 62. 50 The linear approach p13=0.014 p21=0.014 p31=0.0001 p41=0.01 p42=0.01 p43=0.01 %% denominator parameters: p5=0.15 p6=0.15 p7=0.15 p8=0.15 %% scaling parameters: p1s=77 p4s=80 scale_y2 = 1.2 scale_y3 = 1.35 ********** MODEL VARIABLES % Input signal: u = 1 %% The denominator: a1 = p5 + p6 + p7 + p8 a2 = p5*p6 + p5*p7 + p5*p8 + p6*p7 + p6*p8 + p7*p8 a3 = p5*p6*p7 + p5*p6*p8 + p5*p7*p8 + p6*p7*p8 a4 = p5*p6*p7*p8 %% The numerators: b11 = p1s b12 = p12*p1s + p11*p1s + p13*p1s b13 = p11*p12*p1s + p12*p13*p1s + p11*p13*p1s b14 = p11*p12*p13*p1s b21 = 0 b22 = 0 b23 = 1
  • 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;