the british computer society sidney michaelson memorial lecture 2008 systems biology: what is the...
Post on 19-Jan-2016
214 Views
Preview:
TRANSCRIPT
The British Computer SocietySidney Michaelson Memorial Lecture 2008
Systems biology: what is the software of life?
Professor Muffy Calder, University of Glasgow
www.edinburgh.bcs.org
Professor Sidney Michaelson 1925-1991
www.edinburgh.bcs.org/michaelson.htm
The British Computer SocietySidney Michaelson Memorial Lecture 2008Systems biology: what is the software of life?
A computer scientist’s perspective
of cell signalling
4
Does your system behave as you expect?
what keeps me awake at night…
5
Does your system behave as you expect?
software^
what keeps me awake at night…
6
does it do what you think it does, what you want it to do,
when .. how.. as little .. as much
what keeps me awake at night…
• complex• dynamic• interacting• concurrent• communicating• random, probabilistic
7
integer x : = 1;
process A begin if (x = 1) then x := x + 1 end
run A
x =1 x = 2
x 21
8
integer x : = 1;
process B begin if (x = 1) then x := x - 1 end
run B
x =1 x = 0
x 0
9
integer x : = 1;
process A process B begin begin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end end
run A||B
10
integer x : = 1;
process A process B begin begin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end end
run A||B x 2
11
integer x : = 1;
process A process B begin begin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end end
run A||B x 0
12
integer x : = 1;
process A process B begin begin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end end
run A||B x 1
13
integer x : = 1;
process A process B begin begin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end end
run A|| B
x =1
x = 2
x = 1
x = 0
14
integer x : = 1;
process A process B begin begin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end end
run A|| B
x =1
x = 2
x = 0
x = 0
x = 1
x = 2inc
inc
dec
dec
incdec
15
integer x : = 1;
process A process B begin begin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end end
run A|| B
x =1
x = 2
x = 0
x = 0
x = 1
x = 2inc
inc
dec
dec
incdec
inc.stop + inc.dec.stop + dec.inc.stop + dec.stop
16
integer x : = 1;
process A process B begin begin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end end
17
integer x : = 1;
process A process B begin begin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end end
run A 2
18
integer x : = 1;
process A process B begin begin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end end
run B 0
19
integer x : = 1;
process A process B begin begin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end end
run A || B
x =1 x = 0
x = 1
20
integer x : = 1;
process A process B begin begin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end end
run A || B x =1
x = 0
x = 2
x = 0
x = 1x = 2
dec
dec
dec
dec
inc
inc
inc
inc.dec.stop + dec.inc.stop + dec.stop
21
integer x : = 1;
process A process B begin begin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end end
run A || B x =1
x = 0
x = 2
is this what you expected?is this what you want?
x = 0
x = 1x = 2
dec
dec
dec
dec
inc
inc
inc
22
does it matter?
23
does this matter?
24
does this matter?
all the time!
25
software system modified software system
requirements modified requirements
M
M
how do we ask if a system meets some requirements?
how do we answer the questions we have asked?
model checking
26
signalling in computing systems
27
how does a computer communicate with another one?
28
how does a telephone communicate with another one?
29
Features
Features CF call forward
CFB call forward on busyCS call screeningCW call waiting, …, dial last caller (1471)
developed independently
different developers
30
Features
Features CF call forwardCFB call forward on busyCS call screeningCW call waiting, …, dial last caller (1471)
Interaction put together in a system => one feature modifies another
CS A
A
X
CW, CFB X CF X
developed independently
different developers
X
A B
C
B
31
How can we check for interactions?
1. model basic behaviour M2. model features f1 3. formulate properties 1 4. check properties
example feature and property If A has CF to B and C dials A, then a call attempt is made from C to B
M + f1 |= 1 if property holds with basic
behaviour ??
M + f1 + f2 |= 1 does it hold with another
feature?
32
modelling POTS
every telephone is a process that can be in one of these states
a telephone system is many telephone processes, synchronising
idle
tpickup
tconnected
talert dialing
busy
calling oalert
unobt
oconnected
oringout
onoff
off
on
on
on
on
offdial
dial
ring
ring
dial
engaged
unobt
dial
connect
dial
disconnect dial
ring
disconnect
on
on
unobt
33
Process equations:idle = off. c!(c,0) . dialing
+ c?(x,y) . (ring.(idle + off.tconnected)) + (unobt.idle)
dialing = dial. calling + on. idle …System equation: idle || idle || idle … || idle
idle
tpickup
tconnected
talert dialing
busy
calling oalert
unobt
oconnected
oringout
onoff
off
on
on
on
on
offdial
dial
ring
ring
dial
engaged
unobt
dial
connect
dial
disconnect dial
ring
disconnect
on
on
ring
unobt
34
tpickup
tconnect
talert
tclose
preidle
idle
oconnect
dial
oalert
calling
offp!!c,1c!!p,1
p?<c,0>
c?<x,y>
on
off
c?p,0on
c?p,0
onc?x,yp!!c,0
c?<p,1>
p!c,0c!!p,0
dialoffc!c,0
tpickup
tconnect
talert
tclose
preidle
idle
oconnect
dial
oalert
calling
offp!!c,1c!!p,1
p?<c,0>
c?<x,y>
on
off
c?p,0on
c?p,0
onc?x,yp!!c,0
c?<p,1>
p!c,0c!!p,0
dialoffc!c,0
property
model model
logic
yes
no
yes
no
POTS
idle = cwalert. olert + ..talert = disconnect. …
idle = cwalert. olert + ..talert = disconnect. …
features
“If A has CF to B and C dials A, then a call attempt is made from C to B”
35
tpickup
tconnect
talert
tclose
preidle
idle
oconnect
dial
oalert
calling
offp!!c,1c!!p,1
p?<c,0>
c?<x,y>
on
off
c?p,0on
c?p,0
onc?x,yp!!c,0
c?<p,1>
p!c,0c!!p,0
dialoffc!c,0
tpickup
tconnect
talert
tclose
preidle
idle
oconnect
dial
oalert
calling
offp!!c,1c!!p,1
p?<c,0>
c?<x,y>
on
off
c?p,0on
c?p,0
onc?x,yp!!c,0
c?<p,1>
p!c,0c!!p,0
dialoffc!c,0
property
model model
logic
“If A has CF to B and C dials A, then a call attempt is made from C to B”
yes
no
yes
no
model-checker
POTS
idle = cwalert. olert + ..talert = disconnect. …
idle = cwalert. olert + ..talert = disconnect. …
features
software!
36
some answers … for each pair of features up to 36 combinations to considerlots of interactions – the system often doesn’t behave as we
want
solutions: prioritise features (modify software) forbid certain pairs (modify requirements)
software system modified software system
requirements modified requirements
37
Does your system behave as you expect?
back to the big question
38
39
Does your system behave as you expect?
biological^
40
signalling in cells
41
intracellular signalling
signals control and coordinate cell activites
signal -> gene effects -> growth,
division, apoptotsis
uncoordinated/abnormal signalling -> uncontrolled division
42
intracellular signalling
how does the signal get to the nucleus?
43
reverse engineering
biochemical system
function
44
biochemical system
function
why? understand function for intervention
45
biochemical system modified biochemical system
function modified function
why? understand function for intervention drug targets
46
biochemical system modified biochemical system
function modified function
M
M
how?
47
intracellular signalling
• movement of signal from outside cell to nucleus
• fundamental to cell processes (growth, division, differentiation, apoptosis)
• signalling via membrane receptors, “signal” is phosphorylation
signalling molecule
receptor
nucleus
48
Abbreviations and notes•7-TMR: seven trans-membrane receptor•small G-proteins: Rap1, Ras, Rac; active when GTP bound•cAMP-GEF: cAMPactivated GTP-Exchange-Factor•AdCyc: Adenylate cyclase•PDE: Phhosphodiesterase•PKA: cAMP activated protein kinase•adaptor proteins: shc, grb2•SOS: Son-of-Sevenless, a GEF for Ras•PI-3 K: Phosphatidylinositol-3 kinase•Akt: a kinase activated by PI-3 K via PI-3 and another kinase, PDK•PAK: a kinased activated by binding to Rac•MKP: MAPK phosphatase, dephosphorylates MAPKs
activation inhibition phosphorylationactivation inhibition phosphorylation
cell membraneReceptor
e.g. 7-TMRcell membrane
Receptore.g. 7-TMR
Receptore.g. 7-TMR
heterotrimericG-protein
cytosol
heterotrimericG-protein
heterotrimericG-protein
cytosol
tyrosinekinase
tyrosinekinase
SOSshc
grb2SOSSOSshcshc
grb2grb2
RasRas
Raf-1Raf-1Raf-1
MEKERK1,2
MEKMEKERK1,2ERK1,2
PI-3 K
Ras
PI-3 K
PI-3 K
RasRasAktAktAkt
PAK
Rac
PAKPAK
RacRac
PKAcAMP
PKAcAMP
PKAPKAcAMPcAMP
AdCyc
cAMPATP
AdCycAdCyc
cAMPATP cAMPcAMPATP
PKAcAMP
PKAPKAcAMPcAMP
cAMPGEF
cAMP
cAMPGEFcAMPGEF
cAMPcAMPRap1Rap1
MEK1,2
ERK1,2
B-Raf
MEK1,2
ERK1,2
MEK1,2MEK1,2
ERK1,2ERK1,2
B-RafB-RafB-Raf
PDE
cAMP AMP
PDE
cAMP AMP
PDEPDE
cAMP AMPcAMPcAMP AMP
nucleus
transcriptionfactors
nucleusnucleus
transcriptionfactors
transcriptionfactors
transcriptionfactors
MKPMKPMKP
A little more complex.. pathways/networks
49
50
Basic ERK Pathway
Raf-1*
MEK
ERK
activated ERK enters nucleus
signal
51
m1
Raf-1*
m12
MEK
m7
MEK-PP
m5
ERK
m9
ERK-PP
Basic ERK Pathway
52
m1
Raf-1*
m12
MEK
k12/k13
m7
MEK-PP
k6/k7
m5
ERK
m8
k8
m9
ERK-PPk15
m13
k14
Basic ERK Pathway
MEK/Raf-1*
53
RKIP a protein reduced in breast cancers
54
RKIP Inhibited ERK Pathwaym1
Raf-1*
m2
k1
m3 Raf-1*/RKIP
m12
MEK
k12/k13
m7
MEK-PP
k6/k7
m5
ERK
m8MEK-PP/ERK-P
k8
m9
ERK-PP
k3
m4
k5
m6
RKIP-P
m10
RP
k9/k10
m11
RKIP-P/RP
k11
m2
k1
m3
k3
Raf-1*/RKIP/ERK-PP
m2
RKIP
k1/k2
m3
k3
k15
m13
k14
MEK/Raf-1*
55
RKIP Inhibited ERK Pathwaym1
Raf-1*
m2
k1
m3 Raf-1*/RKIP
m12
MEK
k12/k13
m7
MEK-PP
k6/k7
m5
ERK
m8MEK-PP/ERK-P
k8
m9
ERK-PP
k3
m4
k5
m6
RKIP-P
m10
RP
k9/k10
m11
RKIP-P/RP
k11
m2
k1
m3
k3
Raf-1*/RKIP/ERK-PP
m2
RKIP
k1/k2
m3
k3
k15
m13
k14
MEK/Raf-1*
56
RKIP Inhibited ERK Pathwaym1
Raf-1*
m2
k1
m3 Raf-1*/RKIP
m12
MEK
k12/k13
m7
MEK-PP
k6/k7
m5
ERK
m8MEK-PP/ERK-P
k8
m9
ERK-PP
k3
m4
k5
m6
RKIP-P
m10
RP
k9/k10
m11
RKIP-P/RP
k11
m2
k1
m3
k3
Raf-1*/RKIP/ERK-PP
m2
RKIP
k1/k2
m3
k3
k15
m13
k14
Familiar!
• complex• interacting• concurrent• communicating• stochastic• synchronising
57
Modelling reactions
m1
P1
m2
P2k1react reaction produces P3 from P1 and P2
increases P3, reduces P1 and P2
k1react is a 3-way synchronisation.
m3P3
k1
every protein is a process
58
Modelling reactions
m1
P1
m2
P2k2react reaction produces P1 and P2 from P3
increases P1 and P2, reduces 3
k2react is a 3-way synchronisation.
m3P3
k2
every protein is a process
59
Modelling reactions
m1
P1
m2
P2
k1/k2
m3P3
High or Low
Process equations
P1H = k1react. P1L P1L = k2react. P1H
P2H = k1react. P2L
P2L = k2react. P2H
P3H = k2react. P3L P3L = k1react. P2H
System equation
P1H || P2H || P3L
(assuming initial concentrations of m1 and m2)[more complicated – rates (speed) of reactions – k1 and k2 are rate coefficients]
60
Modelling reactions
m1
P1
m2
P2
k1/k2
m3P3
High or Low
Process equations
P1H = k1react. P1L P1L = k2react. P1H
P2H = k1react. P2L
P2L = k2react. P2H
P3H = k2react. P3L P3L = k1react. P2H
System equation
P1H |k1react,k2react| P2H |k1react,k2react| P3L
(assuming initial concentrations of m1 and m2)[more complicated – rates (speed) of reactions – k1 and k2 are rate coefficients]
61
process equations
Raf-1*H = (k1react,k1). Raf-1*L + (k12react,k12). Raf-1*L
Raf-1*L = (k5product,T). Raf-1*H +(k2react,T). Raf-1*H + (k13react,T). Raf-1*H + (k14product,T). Raf-1*H
…
(26 equations)
m1
Raf-1*
m2
k1
m3 Raf-1*/RKIP
m12
MEK
k12/k13
m7
MEK-PP
k6/k7
m5
ERK
m8MEK-PP/ERK-P
k8
m9
ERK-PP
k3
m4
k5
m6
RKIP-P
m10
RP
k9/k10
m11
RKIP-P/RP
k11
m2
k1
m3
k3
Raf-1*/RKIP/ERK-PP
m2
RKIP
k1/k2
m3
k3/k4
k15
m13
k14
62
System!
Raf-1*H |k1react,k12react,k13react,k5product,k14product|
RKIPH | k1react,k2react,k11product |
Raf-1*H/RKIPL |k3react,k4react|
Raf-1*/RKIP/ERK-PPL |k3react,k4react,k5product|
ERK-PL |k5product,k6react,k7react|
RKIP-PL |k9react,k10react|
RKIP-P/RPL|k9react,k10react,k11product|
RPH||
MEKL|k12react,k13react,k15product|
MEK/Raf-1*L|k14product|
MEK-PPH |k8product,k6react,k7react|
MEK-PP/ERKL|k8product|
MEK-PPH|k8product|
ERK-PPH
63
s1 0.04135079004156481s2 0.020806115102310632s3 0.07346775929692899…s21 0.1840054851485999…s28 0.0012831731450123965
probabilities of being in a state
the model looks like…
64
Does RKIP affect the behaviour of the basic pathway?
65
Q. what is throughput of ERK-PP at k8react?
Depends on rates of reactions, initial amounts.
Does RKIP affect the behaviour of the basic pathway?
66
Yes, when you increase the rate of binding of RAF to RKIP, the amount of ERK-PP produced reduces.
throughput of ERK-PPat k8react
Does RKIP affect the basic pathway?
67
more levels – not just High/Low
Probability that Raf1 is 0 or 1
Probability that Raf1 is 2 or 3
as the rate of reaction that binds Raf1 to RKIP
increases
= [(RAF1>=2) ^ (RAF1<=3)]
= [(RAF1>=0) ^ (RAF1<=1)]k1
68
Other questions
• deadlocks, livelocks, bottlenecks– an incompleteness?
• how long, how large a signal– affects effect
• sensitivity - rates, initial concentrations– can we change to fit new requirements
• feedbacks– not a good place to target
• structure– other structures give same effect?
• patterns of effect– use known patterns for effect
time
69
Many things I didn’t tell you ..
• how do we show that experimental data fits the model?
• High and Low - only 2 levels, how many do we need? • how do we model space? – the location of a reaction can affect its rate
• how do we reason about very large models, e.g. 125 species, 1000+ reactions?
70The ultimate goal: not a toy
Experiment Modelling and properties
validate
predict
71
computation inspired biology?
• new ways of describing systems – but related to traditional descriptions (e.g. ODEs)
• new ways of asking questions (logic)
• new ways of proving results (in software)
• deriving from methods for reasoning about software and computer systems
• computational thinking (e.g. Molecular Nose project) Computing Science Life Science
Builds on computer science theory from 1980s developed by Robin Milner at Edinburgh
72
software system modified software system
requirements modified requirements
M
M
biochemical system modified biochemical system
function modified function
M
M
evolved systemsevolved systems
engineered systemsengineered systemsproperty and model
73
Does your system behave as you expect?
nearly bedtime, are you still awake?
74
computational modelling and reasoning is important and useful
but it doesn’t replace testing in the sky or in the lab !
75
Thank you.
top related