Presentation is loading. Please wait.

Presentation is loading. Please wait.

The British Computer Society Sidney Michaelson Memorial Lecture 2008 Systems biology: what is the software of life? Professor Muffy Calder, University.

Similar presentations


Presentation on theme: "The British Computer Society Sidney Michaelson Memorial Lecture 2008 Systems biology: what is the software of life? Professor Muffy Calder, University."— Presentation transcript:

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.


Download ppt "The British Computer Society Sidney Michaelson Memorial Lecture 2008 Systems biology: what is the software of life? Professor Muffy Calder, University."

Similar presentations


Ads by Google