the british computer society sidney michaelson memorial lecture 2008 systems biology: what is the...

Post on 19-Jan-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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