Download presentation
Presentation is loading. Please wait.
Published byCharla Price Modified over 9 years ago
1
The British Computer Society Sidney Michaelson Memorial Lecture 2008 Systems biology: what is the software of life? Professor Muffy Calder, University of Glasgow www.edinburgh.bcs.org
2
Professor Sidney Michaelson 1925-1991 www.edinburgh.bcs.org/michaelson.htm
3
The British Computer Society Sidney Michaelson Memorial Lecture 2008 Systems biology: what is the software of life? A computer scientist’s perspective of cell signalling
4
4 Does your system behave as you expect? what keeps me awake at night…
5
5 Does your system behave as you expect? software ^ what keeps me awake at night…
6
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
7 integer x : = 1; process A begin if (x = 1) then x := x + 1 end run A x =1x = 2 x 21
8
8 integer x : = 1; process B begin if (x = 1) then x := x - 1 end run B x =1x = 0 x 0
9
9 integer x : = 1; process A process Bbegin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end run A||B
10
10 integer x : = 1; process A process Bbegin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end run A||B x 2
11
11 integer x : = 1; process A process Bbegin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end run A||B x 0
12
12 integer x : = 1; process A process Bbegin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end run A||B x 1
13
13 integer x : = 1; process A process Bbegin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end run A|| B x =1 x = 2 x = 1 x = 0
14
14 integer x : = 1; process A process Bbegin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end run A|| B x =1 x = 2 x = 0 x = 1 x = 2 inc dec inc dec
15
15 integer x : = 1; process A process Bbegin if (x = 1) if (x = 1) then x := x + 1 then x := x - 1end run A|| B x =1 x = 2 x = 0 x = 1 x = 2 inc dec inc dec inc.stop + inc.dec.stop + dec.inc.stop + dec.stop
16
16 integer x : = 1; process A process Bbegin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end
17
17 integer x : = 1; process A process Bbegin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end run A 2
18
18 integer x : = 1; process A process Bbegin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end run B 0
19
19 integer x : = 1; process A process Bbegin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end run A || B x =1x = 0 x = 1
20
20 integer x : = 1; process A process Bbegin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end run A || B x =1 x = 0 x = 2 x = 0 x = 1 x = 2 dec inc inc.dec.stop + dec.inc.stop + dec.stop
21
21 integer x : = 1; process A process Bbegin if (x >= 1) if (x >= 1) then x := x + 1 then x := x - 1end run A || B x =1 x = 0 x = 2 is this what you expected? is this what you want? x = 0 x = 1 x = 2 dec inc
22
22 does it matter?
23
23 does this matter?
24
24 does this matter? all the time!
25
25 software systemmodified software system requirementsmodified 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
26 signalling in computing systems
27
27 how does a computer communicate with another one?
28
28 how does a telephone communicate with another one?
29
29 Features CF call forward CFB call forward on busy CS call screening CW call waiting, …, dial last caller (1471) developed independently different developers
30
30 Features CF call forward CFB call forward on busy CS call screening CW 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
31 How can we check for interactions? 1. model basic behaviour M 2. model features f 1 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 + f 1 |= 1 if property holds with basic behaviour ?? M + f 1 + f 2 |= 1 does it hold with another feature?
32
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 on off on off dial ring dial engaged unobt dial connect dial disconnect dial ring disconnect on unobt
33
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 on off on off dial ring dial engaged unobt dial connect dial disconnect dial ring disconnect on ring unobt
34
34 property 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
35 property 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
36 some answers … for each pair of features up to 36 combinations to consider lots of interactions – the system often doesn’t behave as we want solutions: prioritise features (modify software) forbid certain pairs (modify requirements) software systemmodified software system requirementsmodified requirements
37
37 Does your system behave as you expect? back to the big question
38
38
39
39 Does your system behave as you expect? biological ^
40
40 signalling in cells
41
41 intracellular signalling signals control and coordinate cell activites signal -> gene effects -> growth, division, apoptotsis uncoordinated/abnormal signalling -> uncontrolled division
42
42 intracellular signalling how does the signal get to the nucleus?
43
43 reverse engineering biochemical system function
44
44 biochemical system function why? understand function for intervention
45
45 biochemical systemmodified biochemical system functionmodified function why? understand function for intervention drug targets
46
46 biochemical systemmodified biochemical system functionmodified function M M how?
47
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
48 A little more complex.. pathways/networks
49
49
50
50 Basic ERK Pathway Raf-1* MEK ERK activated ERK enters nucleus signal
51
51 m1 Raf-1* m12 MEK m7 MEK-PP m5 ERK m9 ERK-PP Basic ERK Pathway
52
52 m1 Raf-1* m12 MEK k12/k13 m7 MEK-PP k6/k7 m5 ERK m8 k8 m9 ERK-PP k15 m13 k14 Basic ERK Pathway MEK/Raf-1*
53
53 RKIP a protein reduced in breast cancers
54
54 RKIP Inhibited ERK Pathway m1 Raf-1* m2 k1 m3 Raf-1*/RKIP m12 MEK k12/k13 m7 MEK-PP k6/k7 m5 ERK m8 MEK-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
55 RKIP Inhibited ERK Pathway m1 Raf-1* m2 k1 m3 Raf-1*/RKIP m12 MEK k12/k13 m7 MEK-PP k6/k7 m5 ERK m8 MEK-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
56 RKIP Inhibited ERK Pathway m1 Raf-1* m2 k1 m3 Raf-1*/RKIP m12 MEK k12/k13 m7 MEK-PP k6/k7 m5 ERK m8 MEK-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
57 Modelling reactions m1 P1 m2 P2 k1react reaction produces P3 from P1 and P2 increases P3, reduces P1 and P2 k1react is a 3-way synchronisation. m3 P3 k1 every protein is a process
58
58 Modelling reactions m1 P1 m2 P2 k2react reaction produces P1 and P2 from P3 increases P1 and P2, reduces 3 k2react is a 3-way synchronisation. m3 P3 k2 every protein is a process
59
59 Modelling reactions m1 P1 m2 P2 k1/k2 m3 P3 High or Low Process equations P1 H = k1react. P1 L P1 L = k2react. P1 H P2 H = k1react. P2 L P2 L = k2react. P2 H P3 H = k2react. P3 L P3 L = k1react. P2 H System equation P1 H || P2 H || P3 L (assuming initial concentrations of m1 and m2) [more complicated – rates (speed) of reactions – k1 and k2 are rate coefficients]
60
60 Modelling reactions m1 P1 m2 P2 k1/k2 m3 P3 High or Low Process equations P1 H = k1react. P1 L P1 L = k2react. P1 H P2 H = k1react. P2 L P2 L = k2react. P2 H P3 H = k2react. P3 L P3 L = k1react. P2 H System equation P1 H |k1react,k2react| P2 H |k1react,k2react| P3 L (assuming initial concentrations of m1 and m2) [more complicated – rates (speed) of reactions – k1 and k2 are rate coefficients]
61
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 m8 MEK-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
62 System! Raf-1* H | k1react,k12react,k13react,k5product,k14product | RKIP H | k1react,k2react,k11product | Raf-1* H /RKIP L | k3react,k4react | Raf-1*/RKIP/ERK-PP L | k3react,k4react,k5product | ERK-P L | k5product,k6react,k7react | RKIP-P L | k9react,k10react | RKIP-P/RP L | k9react,k10react,k11product | RP H || MEK L | k12react,k13react,k15product | MEK/Raf-1* L | k14product | MEK-PP H | k8product,k6react,k7react | MEK-PP/ERK L | k8product | MEK-PP H | k8product | ERK-PP H
63
63 s1 0.04135079004156481 s2 0.020806115102310632 s3 0.07346775929692899 … s21 0.1840054851485999 … s28 0.0012831731450123965 probabilities of being in a state the model looks like…
64
64 Does RKIP affect the behaviour of the basic pathway?
65
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
66 Yes, when you increase the rate of binding of RAF to RKIP, the amount of ERK-PP produced reduces. throughput of ERK-PP at k8react Does RKIP affect the basic pathway?
67
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
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
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?
70
70 The ultimate goal: not a toy ExperimentModelling and properties validate predict
71
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
72 software systemmodified software system requirementsmodified requirements M M biochemical systemmodified biochemical system functionmodified function M M evolved systems engineered systems property and model
73
73 Does your system behave as you expect? nearly bedtime, are you still awake?
74
74 computational modelling and reasoning is important and useful but it doesn’t replace testing in the sky or in the lab !
75
75 Thank you.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.