112
A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Embed Size (px)

Citation preview

Page 1: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

A Visual Programming Language for Biological Processes

Andrew Phillips with Luca Cardelli

Microsoft Research, Cambridge UK

Page 2: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Biological Computing

2

Page 3: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Systems Biology

The Human Genome project:Map out the complete genetic code in humansTo unravel the mysteries of how the human body functionsThe code raised many more questions than answers

Systems Biology: Understand and predict the behaviour of biological systems

Two complementary approaches:Look at experimental results and infer system propertiesBuild detailed models of systems and test these in the lab

Biological Modelling:Conduct virtual experiments, saving time and resources Clarify key mechanisms of how a biological system functionsBeginning to play a role in understanding disease

Page 4: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Large, Complex, Biological Models

http://www.celldesigner.org

Page 5: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Biological Programming

Complex Models:Difficult to understand, maintain and extendHundreds of reactions, soon to be tens of thousandsWould not write a program as a list of 10000 instructions

Modularity:Need a way of decomposing a model into building blocksNot your average computer programsMassive parallelism, each instruction has a certain probabilitySuggests a need for a biological programming language...

Page 6: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Programming Languages for Biology

Languages for complex, parallel computer systems:

Languages for complex, parallel biological systems:

stochastic -calculus

-calculus by [Milner et al. 1989]. Stochastic version by [Priami et al. 1995] First used in a biological context by [Regev et al. 2001]

Page 7: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Language Development

7

SOUND & COMPLETE

let gLow() = delay@g_pep; (Low() | gLow())

and Low()= (

new low@uLow:chan

do !pep(low); ?low; Low()

or delay@d_pep

)

let gMed() = delay@g_pep; (Med() | gMed())

and Med()= (

new med@uMed:chan

do !pep(med); ?med; Med()

or delay@d_pep

)

let gHigh() = delay@g_pep; (High() | gHigh())

and High()= (

new high@uHigh:chan

do !pep(high); ?high; High()

or delay@d_pep

)

let gMHC() = delay@g_MHC;(gMHC() | MHCo() )

and gTPN() = delay@g_TPN;( gTPN() | TPN() )

and TPN()= (

new uT@unbind_TPN:chan

do !tpn(uT); ?uT; TPN()

or delay@degrade_TPN

)

and MHCo()=

do ?pep(u);MHCc_pep(u)

or ?tpn(uT);MHCo_TPN(uT)

or delay@degrade_MHCo

and MHCc_pep(u:chan) =

do delay@egress; MHCe_pep(u)

or !u; MHCo()

and MHCe_pep(u:chan) = delay@degrade_MHCe

and MHCo_TPN(uT:chan)=

do ?pep(u)*a; MHCc_TPN_pep(u,uT)

or !uT*v; MHCo()

and MHCc_TPN_pep(u:chan,uT:chan)=

do !uT; MHCc_pep(u)

or !u*q; MHCo_TPN(uT)

EQUIVALENT

Phillips and Cardelli, 2004Phillips, Cardelli and Castagna, 2006

Phillips and Cardelli, 2007

GUI by Filippo Polo, MSR Cambridge

Exact Stochastic Simulation Algorithm Graphical Representation and Execution Model

Graphical Editor and Simulator

Page 8: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

SPiM: Stochastic for Biology

A variant of stochastic calculusSupports expressive power of

Graphical syntax and semantics

Biological constructs, e.g. complexation

Efficient implementation

8

Page 9: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

SPiM Processes

Xp = a_. X Y = a. Yp

X = d. Xp Yp = d_. Y

Message-Passing Approach

Chemical Reactions

Xp + Y a X + Yp

X + Yp d Xp + Y

Page 10: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Compact, Modular Models

Chemical Reactions SPiM Processes

Page 11: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

EGFR Model [Hornberg et. al 2005]

11

Page 12: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

EGFR Model [Hornberg et. al 2005]

12

Page 13: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Modular EGFR

Page 14: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Outline

Basic Examples

Gene Networks

C. elegans Development

Immune System Modelling

14

Page 15: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Basic SPiM Examples

Protein ProductionProtein InteractionProtein Binding

Page 16: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

A protein P can be produced with propensity 0.1

Probability of a reaction depends on propensity

Exact simulation: what happens next?

Production: G produce G + P P degrade

16

reaction rate propensity (s-1)

produce 0.1 0.11

degrade 0.001 0.0010

1

GP

= produce.(P | G)= degrade.0

Page 17: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Production: G produce G + P P degrade

Another protein P can be produced

100 times more likely to produce than degrade

17

1

1 reaction propensity (s-1)

produce 0.1

degrade 0.001

Page 18: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

And another...

Production: G produce G + P P degrade

18

2

1 reaction propensity (s-1)

produce 0.1

degrade 0.0012

Page 19: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

A protein b can be degraded at rate 0.001

Low probability, but still possible

Production: G produce G + P P degrade

19

3

1 reaction propensity (s-1)

produce 0.1

degrade 0.0013

Page 20: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Eventually...

Production: G produce G + P P degrade

20

2

1 reaction propensity (s-1)

produce 0.1

degrade 0.0012

Page 21: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Equilibrium at about 100 proteins.

Propensities of both reactions are equal.

Production: G produce G + P P degrade

21

100

1 reaction propensity (s-1)

produce 0.1

degrade 0.001100

Page 22: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Gene Simulation

Simulation results show evolution over time

Level of protein P fluctuates around 100

22

Page 23: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

Xp and Y can interact on channel a

Xp activates Y by sending its phosphate group

23

1 1

Xp = a_. X Y = a. Yp

X = d. Xp Yp = d_. Y

Page 24: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

X and Yp can interact on channel d

24

1 1

Page 25: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

Interactions can continue indefinitely...

25

1 1

Page 26: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

What happens if we mix 100Xp and 100Y ?

Assume rate(a) = 100s-1 and rate(d) = 10s-1

An Xp and Y protein can interact on channel a.

26

100 100

reaction propensity (s-1)

a 100100100

d 0

Page 27: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

An additional Xp and Y protein can interact.

27

99 99

1 1

reaction propensity (s-1)

a 1009999

d 1011

Page 28: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

An X and Yp protein can interact

28

98 98

2 2

reaction propensity (s-1)

a 1009898

d 1022

Page 29: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

Eventually an equilibrium is reached...

29

1 1

99 99

reaction propensity (s-1)

a 1009999

d 1011

Page 30: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

At equilibrium when rate(a)[Xp][Y] rate(d)[X][Yp]

30

24 24

76 76

reaction propensity (s-1)

a 1002424

d 107676

Page 31: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Interaction: Xp + Y da X + Yp

At equilibrium: 100s-1[Xp][Y] 10s-1[X][Yp]

Approximately 24Xp and 76X

31

Page 32: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

X and Y can bind on channel +b

32

1 1

X = +b_.X' Y = +b.Y'

X' = -b_.X Y' = -b.Y

Page 33: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

X' and Y' can unbind on channel -b

33

1 11

- - - (-b) - -

Page 34: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

Binding and unbinding can continue indefinitely...

34

1 1

Page 35: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

What happens if we mix 100X and 100Y ?

Assume rate(+b) = 100s-1 and rate(-b) = 10s-1

An X and Y protein can bind on channel +b.

35

100 100

reaction propensity (s-1)+b 100100100-b 0

Page 36: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

An additional X and Y protein can bind.

36

99 99

reaction propensity (s-1)+b 1009999-b 101

1 11

- - - (-b) - -

Page 37: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

An X' and Y' protein can unbind on channel -b

37

98 98

reaction propensity (s-1)+b 1009898-b 102

1 12

- - - (-b) - -

Page 38: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

Eventually...

38

reaction propensity (s-1)+b 1009999-b 101

99 99

1 11

- - - (-b) - -

Page 39: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

At equilibrium when rate(+b)[X][Y] rate(-b)(-b) ([X'] [Y'])

39

3 3

97

reaction propensity (s-1)+b 10033-b 1097

1 1- - - (-b) - -

Page 40: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Binding: X + Y -b+b X'Y'

At equilibrium: 100s-1[X][Y] = 10s-1[X'Y']

Approximately 3X and 97X'Y'

40

Page 41: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Programming Gene Networks

withLuca Cardelli (MSR Cambridge)Ralf Blossey (IRI Lille)

Page 42: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Repressilator [Elowitz and Leibler, 2000]

A gene network engineered in live bacteria.

© 2000 Elowitz, M.B., Leibler. S. A Synthetic Oscillatory Network of Transcriptional Regulators. Nature 403:335-338.

Page 43: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Parameterised Gene Gate

Gate G(a,b)

Autoinhibitory G(b,b)

Bistable G(a,b) | G(b,a)

Oscillator G(a,b) | G(b,c) | G(c,a)

ba

b

ca

b

a

b

G(a,b) B(a,b)P(b)

= a.B(a,b) + produce.(P(b) | G(a,b))= unblock.G(a,b)= b.P(b) + degrade.0

Page 44: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Repressilator [Elowitz and Leibler, 2000]

Modelled as a simple combination of gene gates:

G(lac,tet)

| G(tet,lambda)

| G(lambda,lac)

| G(tet,gfp)

© 2000 Elowitz, M.B., Leibler. S. A Synthetic Oscillatory Network of Transcriptional Regulators. Nature 403:335-338.

tet

lambdalac

gfp

Page 45: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Programming

45

Page 46: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

How does the oscillator work?

G(a,b) | G(b,c) | G(c,a)

46

b

ca

Page 47: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Oscillator: 0s

Initially there is one copy of each gene

Any one of the proteins can be produced at rate 0.1

47

reaction produce unblock degrade b c a total

propensity (s-1) 0.1*3 0 0 0 0 0 0.3

1 1 1

Page 48: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

1 1 1

Oscillator: 5.568177s

The b protein can block the c gene at rate 1

48

1

reaction produce unblock degrade b c a total

propensity (s-1) 0.1*3 0 0.001 1 0 0 1.301

Page 49: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Oscillator: 6.329912s

Now no c protein can be produced.

But an a protein can still be produced at rate 0.1

49

1

1

1

1

reaction produce unblock degrade b c a total

propensity (s-1) 0.1*2 0.0001 0.001 0 0 0 0.2011

Page 50: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

1

1

1

1

Oscillator: 11.62149s

The a protein can block the b gene at rate 1

50

1

reaction produce unblock degrade b c a total

propensity (s-1) 0.1*2 0.0001 0.001*2 0 0 1.0 1.2021

Page 51: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

1 1

1

1 1

Oscillator: 13.21617s

Now no b or c protein can be produced.

A b protein can degrade at rate 0.001

51

reaction produce unblock degrade b c a total

propensity (s-1) 0.1 0.0001*2 0.001*2 0 0 0 0.1022

Page 52: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Oscillator

Meanwhile, lots of a protein is produced

52

1 1

1

1

reaction produce unblock degrade b c a total

propensity (s-1) 0.1 0.0001*2 0.001 0 0 0 0.1012

Page 53: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Oscillator

The a protein dominates

Equilibrium between transcription and degradation

Eventually, the c or a gene unblocks at rate 0.0001

53

1 1

1

100

reaction produce unblock degrade b c a total

propensity (s-1) 0.1 0.0001*2 0.001*100 0 0 0 0.2002

Page 54: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Suppose the a gene unblocks

There is a high probability that it will block immediately

1

1

1

100

Oscillator

54

reaction produce unblock degrade b c a total

propensity (s-1) 0.1*2 0.0001 0.001*100 0 0 1.0*100 100.3001

Page 55: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Eventually, the c gene unblocks at rate 0.0001

1 1

1

100

Oscillator: 11039.31s

55

reaction produce unblock degrade b c a total

propensity (s-1) 0.1 0.0001*2 0.001*100 0 0 0 0.2002

Page 56: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Oscillator: 11039.77s

There is nothing to block the c gene.

The c protein can now take over...

Eventually...

56

1

1 1

100

Page 57: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Oscillator Simulation

Alternate oscillation of proteins: b, c, a, b

Oscillations in a particular order

57

Page 58: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Analysing Simulation Traces

A simulation trace can be visualised as a sequence of messages exchanged between parallel processes. Can debug a biological system in a similar way to a communication protocol. Causality, critical paths...

Borgstroem, Gordon, Phillips, 2007

Page 59: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Repressilator Trace

59

Page 60: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

A Gene Gate in 3D

60

Page 61: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

The Repressilator in 3D

61

Page 62: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Debugging

GUI by Rich Williams, MSR Cambridge

Page 63: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Parameter Analysis

Range of parameters for good oscillations (produce=0.1):produce/degrade > 1000, unblock > degrade, block > 100*produce

Blossey, Cardelli, Phillips, 2007

degrade = 0.001, unblock = 0.00001, block = 1.0 degrade = 0.0001, unblock = 0.00001, block = 1.0

degrade = 0.0001, unblock = 0.0001, block = 1.0 degrade = 0.0001, unblock = 0.0001, block = 10.0

Page 64: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Model Refinement:

Different behaviour, same network G(a,b) | G(b,c) | G(c,a)

Blossey, Cardelli, Phillips, 2007

Page 65: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Cooperativity improves robustness

Proteins form complexes before repressing

Blossey, Cardelli, Phillips, 2007

Page 66: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Cooperativity Simulations

Monomers Tetramers

Blossey, Cardelli, Phillips, 2007

Page 67: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Bacteria Logic Gates [Guet et al., 2002]

3 genes: tetR, lacI, cI

5 promoters: PL1, PL2, PT, P-, P+

125 possible networks consisting of 3 promoter-gene units

2 inputs: IPTG (represses Lac), aTc (represses Tet)

1 output: GFP (linked to P-)

© 2002 AAAS. Reprinted with permission from Guet et al. Combinatorial Synthesis of Genetic Networks. Science 296 (5572): 1466 - 1470

Blossey, Cardelli, Phillips, 2006

Page 68: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Gene with protein inhibitor

68

G(a,b) Gi(a,b,i)

Blossey, Cardelli, Phillips, 2006

Page 69: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Bacteria Logic Gates

Model 125 networks using just 2 modules:

Enables modular simulation and analysis

Can easily refine the modules without rewiring the networks.

Blossey, Cardelli , Phillips, 2006

D038 D038 | Inh(aTc)

D038 | Inh(IPTG) D038 | Inh(aTc) | Inh(IPTG)

D038 = Gi(tet,tet,aTc) | Gi(tet,lac,IPTG) | G(lac,lambda) | G(lambda,gfp)

Page 70: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

A Computational Model of C. elegans Vulval Development

withRosie Bloxsom (Cambridge University)Tim Labeeuw (Cambridge University)Jasmin Fisher (MSR Cambridge)Hillel Kugler (MSR Cambridge)

Page 71: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

C. elegans Nematode Worm

Model organism for development

1mm long, about 1000 cells

Completely transparent, can observe growth

71

Page 72: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

C. elegans VPC Differentiation

72

Page 73: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Simplified Model of AC and VPC

73

Page 74: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Network of AC and 6 VPC

AC |

V(3,s3,s4,low) | V(4,s4,s5,low) | V(5,s5,s6,med) |

V(6,s6,s7,high) | V(7,s7,s8,med) | V(8,s8,s9,low)74

Page 75: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Population Plot

75

Page 76: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Geometric Plot

76

Page 77: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Refined VPC Model

77

Page 78: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Simulation Results

78

Page 79: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

A Computational Model of MHC class I Antigen Presentation

withLuca Cardelli (MSR Cambridge)Leonard Goldstein (Cambridge University)Tim Elliott (Southampton University)Joern Werner (Southampton University)

Page 80: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

MHC: A Biological Virus Scanner

80

©2005 from Immunobiology, Sixth Edition by Janeway et al. 

Reproduced by permission of Garland Science/Taylor & Francis LLC.

Page 81: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

MHC: A Biological Virus Scanner

81

©2005 from Immunobiology, Sixth Edition by Janeway et al. 

Reproduced by permission of Garland Science/Taylor & Francis LLC.

Page 82: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Investigate the Role of Tapasin

©2005 from Immunobiology, Sixth Edition by Janeway et al. 

Reproduced by permission of Garland Science/Taylor & Francis LLC.

Page 83: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

MHC I Structure

Interaction of MHC I with peptide

Page 84: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

SPiM Peptide Editing Model

Graphs describe the behaviour components

Assume low, medium and high affinity peptides

Page 85: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Model Parameters

MHC spends < 2h on average in the ER. Name Rate

min-1

Timemin

Range min-1

Description

gPep 50 0.02 Active transport of peptides into the ER

dPep 10 0.1 Degradation of free peptides inside the ER

bind 1 1 Binding of peptides to MHC (per molecule)

low 3 0.33 Unbinding of low affinity peptides from MHC

med 1.2 0.83 Unbinding of medium affinity peptides from MHC

high 0.5 2 Unbinding of high affinity peptides from MHC

gMHC 10 0.1 Assembly of MHC complexes inside the ER

dMHCo 0.01 100 0.01 - 100 Degradation of free MHC inside the ER

dMHCe 0.01 100 Degradation of loaded MHC at the cell surface

egress 1 1 0.01 - 1 Egression of loaded MHC from the ER

gTPN 10 0.1 Production of tapasin inside the ER

dTPN 0.01 100 Degradation of free tapasin inside the ER

bindT 100 0.01 1 - 1000 Binding of tapasin to MHC (per molecule)

uT 1 1 0.01 - 1 Unbinding of tapasin from loaded MHC

Page 86: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Simulations Match Experiments

MHC needs to present stable peptides

Improved selection with tapasin. How?

No Tapasin Tapasin Time/mins Time/mins

Page 87: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Consider a loaded peptide with unbinding rate uCompetition between unbinding and egressionEgression probability determined by off-rateMaximal discrimination as egress tends to 0

Peptide Discrimination

x1

x1

x1

x1

Page 88: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Parameter Space

Maximal discrimination determined by off-rate

High peptide turnover is a key factor

Page 89: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Tapasin adds a second filtering stage

Egression probability determined by off-rate2

Peptide Discrimination

x1

x1

x1

x1

Page 90: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Parameter Space

Tapasin improves upper bound on discrimination

Peptide editing is a 2-stage filter process

Page 91: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Peptide Loading: Flytrap Model

MHC I captures peptides like a Venus Flytrap.

peptide enters open MHC

stable peptide is capturedand presented at cell surface

unstablepeptide escapes

Page 92: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Flytrap Peptide Editing Model

Extend the model with conformational change of MHC

Page 93: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

MHC can open and close several times

But same upper bound on discrimination

Peptide Discrimination: Flytrap

x1

x1

Page 94: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Key mechanisms identified

MHC can delay egression to sample a wider range of peptides

High peptide turnover is needed to maintain peptide distribution inside ER

Tapasin holds open MHC and increases peptide off-rate to quickly select high affinity peptides

Tapasin stabilises MHC to prevent degradation and increase presentation

Tapasin increases peptide on-rate by anchoring MHC at entrance to ER?

Tapasin shifts equilibrium to open conformation as a way of delaying egression?

94

Page 95: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

MHC Alleles: Model Predictions

Explanation for immune system variabilityB4402 (Dependent) B2705 (Partially) B4405 (Independent)

No TPN

1000TPN

egress = 0.1 uT = 1.0, dMHCo = 100.0, TPN = 0

0

200

400

600

800

1000

0 200 400

egress = 1.0 uT = 10.0, dMHCo = 0.01, TPN = 0

0

200

400

600

800

1000

0 200 400

egress = 0.1 uT = 100.0, dMHCo = 0.01, TPN = 0

0

200

400

600

800

1000

0 200 400

egress = 0.1 uT = 1.0, dMHCo = 100.0, TPN = 1000

0

200

400

600

800

1000

0 200 400

egress = 1.0 uT = 10.0, dMHCo = 0.01, TPN = 1000

0

200

400

600

800

1000

0 200 400

egress = 0.1 uT = 100.0, dMHCo = 0.01, TPN = 1000

0

200

400

600

800

1000

0 200 400

Page 96: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Extending the Model

Include function of additional chaperones.

Calreticulin

Erp57 TAP transporter

BBSRC Project 2006-2007MRC Project 2007-2010

Page 97: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Extendable,Maintainable Models

Build complex models by composing simpler components. The models are easier to extend and maintain.

Page 98: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Can we replace one model with another?

Verifying Biological ModelsMhc.txt

MHC(bind,bindT)

Page 99: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Modelling Immunodominance

- How peptides induce a dominant response- From molecular mechanisms to global response patterns

Page 100: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

References

[Blossey et al., 2007] Blossey, R., Cardelli, L., and Phillips, A. (2007). Compositionality, Stochasticity and Cooperativity in Dynamic Models of Gene Regulation. HFSP Journal.

[Blossey et al., 2006] Blossey, R., Cardelli, L., and Phillips, A. (2006). A compositional approach to the stochastic dynamics of gene networks. Transactions in Computational Systems Biology, 3939:99–122.

[Borgstroem et al., 2007] Borgstroem, J. Gordon, A., and Phillips, A. (2007). A Chart Semantics for the Pi-calculus. In Proceedings of Expressiveness in Concurrency.

[Gillespie, 1977] Gillespie, D. T. (1977). Exact stochastic simulation of coupled chemical reactions. J. Phys. Chem., 81(25):2340–2361.

[Guet et al., 2002] Guet, C.C., Elowitz, M.B., Hsing, W. & Leibler, S. (2002) Combinatorial synthesis of genetic networks. Science 296 1466-1470.

[Huang and Ferrel, 1996] Huang, C.-Y. F. and Ferrel, J. E. (1996). Ultrasensitivity of the mitogen-activated protein kinase cascade. PNAS, 93:10078–10083.

[Lecca and Priami, 2003] Lecca, P. and Priami, C. (2003). Cell cycle control in eukaryotes: a biospi model. In proceedings of Concurrent Models in Molecular Biology.

[Phillips and Cardelli, 2007] Phillips, A. and Cardelli, L. (2007). Efficient, Correct Simulation of Biological Processes in the Stochastic Pi-calculus.  In Proceedings of Computational Methods in Systems Biology, 4695:184–199.

[Phillips et al., 2006] Phillips, A., Cardelli, L., and Castagna, G. (2006). A graphical representation for biological processes in the stochastic pi-calculus. Transactions in Computational Systems Biology, 4230:123–152.

Page 101: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

References

[Priami, 1995] Priami, C. (1995). Stochastic -calculus. The Computer Journal, 38(6):578–589. Proceedings of PAPM’95.

[Priami et al., 2001] Priami, C., Regev, A., Shapiro, E., and Silverman, W. (2001). Application of a stochastic name-passing calculus to representation and simulation of molecular processes. Information Processing Letters, 80:25–31.

[Regev et al., 2001] Regev, A., Silverman, W., and Shapiro, E. (2001). Representation and simulation of biochemical processes using the pi- calculus process algebra. In Altman, R. B., Dunker, A. K., Hunter, L., and Klein, T. E., editors, Pacific Symposium on Biocomputing, volume 6, pages 459–470, Singapore. World Scientific Press.

[Sangiorgi and Walker, 2001] Sangiorgi, D. and Walker, D. (2001). The pi-calculus: a Theory of Mobile Processes. Cambridge University Press.

[Silverman et al., 1987] Silverman, W., Hirsch, M., Houri, A., and Shapiro, E. (1987). The logix system user manual, version 1.21. In Shapiro, E., editor, Concurrent Prolog: Collected Papers (Volume II), pages 46–77. MIT Press, London.

Mark Howarth, Anthony Williams, Anne B. Tolstrup, and Tim Elliott. Tapasin enhances mhc class i peptide presentation according to peptide half-life. PNAS, 101(32):11737–11742, 2004.

Sebastian Springer, Klaus Doring, Jonathan C. A. Skipper, Alain R. M. Townsend, and Vincenzo Cerundolo. Fast association rates suggest a conformational change in the mhc class i molecule h-2db upon peptide binding. Biochemistry, 37:3001–3012, 1998.

A. Williams, C. Au Peh, and T. Elliott. The cell biology of mhc class i antigen presentation. Tissue Antigens, 59:3–17, 2002.

Page 102: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

SPiM Definition

SyntaxSemanticsGraphics

Page 103: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

SPiM Syntax::= x(m) Receive value m on channel x

x_n   Send value n on channel x

x_(m)   Send restricted value m on channel x

r Delay at rate r

M::= 1.P1 + ... + N.PN   Choice between actions

P::= P1 | ... | PM   Parallel composition of processes

X(n)   Species X with parameters n

(x1,...,xN) P Restriction of channels x1,...,xN to P

D::= P    Definition of a process

M   Definition of a choice

E::= X1 (m1) = D1 ,..., Definitions for Xi with parameters mi

XN (mN) = DN

S::= E,P System of E and P

103

Page 104: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Syntax: Environment E

104

Definitions

E X1 (m1) = D1 ,..., XN (mN) = DN

Choice

M 1.P1 + ... + N.PN

Parallel Species Restriction

P P1 | ... | PM X(n), if X(m) = D (x1,...xN) P

Page 105: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Syntax: Process P

Parallel Species Restriction

P P1 | ... | PM X(n), if X(m) = D (x1,...xN) (X1 (n1) | ... | XN (nN))

105

Page 106: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

X(m) = r.P1 + ... + N.PN

X(m)

Graphical Semantics: Delay

106

Page 107: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Semantics: Delay

X(m) = r.P1 + ... + N.PN

X(m) P1

107

Page 108: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Semantics: Interaction

X(n) = x_.P1 + ... + N.PN , Y(m) = x.Q1 + ... + M.QM

X(n) | Y(m) 108

Page 109: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Semantics: Interaction

X(n) = x_.P1 + ... + N.PN , Y(m) = x.Q1 + ... + M.QM

X(n) | Y(m) P1 | Q1

109

Page 110: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Semantics: Binding

X(n) = x_(u).P1 + ... + N.PN , Y(m) = x(u).Q1 + ... + M.QM

X(n) | Y(m) 110

Page 111: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Semantics: Binding

X(n) = x_(u).P1 + ... + N.PN , Y(m) = x(u).Q1 + ... + M.QM

X(n) | Y(m) (u) (P1 | Q1)111

Page 112: A Visual Programming Language for Biological Processes Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Graphical Syntax

112

Choice

M 1.P1 + ... + N.PN

Parallel Species Restriction

P P1 | ... | PM X(n), if X(m) = D (x1,...xN) P

Species Restriction

P X(n), if X(m) = D (x1,...xN) (X1 (n1) | ... | XN (nN))