simulating biological systems in the stochastic -calculus andrew phillips with luca cardelli...

55
Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

Upload: emilie-biglow

Post on 28-Mar-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Simulating Biological Systems in the Stochastic -calculusSimulating Biological Systems in the Stochastic -calculus

Andrew Phillips with Luca Cardelli

Microsoft Research, Cambridge UK

Andrew Phillips with Luca Cardelli

Microsoft Research, Cambridge UK

Page 2: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Biological ComputingBiological Computing

Page 3: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Modelling BiologyModelling Biology

The Human Genome project:Scientists hoped that DNA code would help predict system behaviour

Functional meaning of the code is still a mystery

Systems Biology: Understand and precisely describe the behaviour of biological systems

Two complementary approaches:Look at experimental results and “infer” general system properties

Build detailed models of systems and test these in the lab

Biological Modelling:Need tools for modelling complex parallel systems.

Should also scale up to very large systems.

The beginnings of a biological programming language...

The Human Genome project:Scientists hoped that DNA code would help predict system behaviour

Functional meaning of the code is still a mystery

Systems Biology: Understand and precisely describe the behaviour of biological systems

Two complementary approaches:Look at experimental results and “infer” general system properties

Build detailed models of systems and test these in the lab

Biological Modelling:Need tools for modelling complex parallel systems.

Should also scale up to very large systems.

The beginnings of a biological programming language...

Page 4: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Programming BiologyProgramming Biology

Languages for complex, parallel computer systems:Languages for complex, parallel computer systems:

Languages for complex, parallel biological systems:Languages for complex, parallel biological systems:

stochastic -calculus

Page 5: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Reactions vs. ComponentsReactions vs. Components

Traditional modelling: model individual reactionsTraditional modelling: model individual reactions

Reactions.txt

Page 6: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Large, Connected Reaction GraphsLarge, Connected Reaction Graphs

http://www.celldesigner.org/

Page 7: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Reactions vs. ComponentsReactions vs. Components

Traditional modelling: model individual reactionsTraditional modelling: model individual reactions

Stochastic -calculus: model componentsStochastic -calculus: model components

Reactions.txt

Page 8: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Build complex models incrementally, by direct composition of simpler components:Build complex models incrementally, by direct

composition of simpler components:

Compositional ModellingCompositional Modelling Graph.txt

Graph.txt

Page 9: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

A mathematical programming language

A range of analysis techniques (types, equivalences, model checking)Could provide insight into fundamental properties of biological systems

A mathematical programming language

A range of analysis techniques (types, equivalences, model checking)Could provide insight into fundamental properties of biological systems

Model AnalysisModel Analysis Graph.txt

Page 10: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Related WorkRelated Work

Stochastic -calculus proposed by [Priami, 1995]

Used to model and simulate a range of biological systems:

RTK MAPK pathway [Regev et al., 2001]

Gene Regulation by positive Feedback [Priami et al., 2001]

Cell Cycle Control in Eukaryotes [Lecca and Priami, 2003]

First simulator for stochastic -calculus [BioSPI] A subset of -calculus with limited choice

Compiles a calculus process to an FCP procedure

Executed by the FCP Logix platform [Silverman et al., 1987]

Stochastic -calculus proposed by [Priami, 1995]

Used to model and simulate a range of biological systems:

RTK MAPK pathway [Regev et al., 2001]

Gene Regulation by positive Feedback [Priami et al., 2001]

Cell Cycle Control in Eukaryotes [Lecca and Priami, 2003]

First simulator for stochastic -calculus [BioSPI] A subset of -calculus with limited choice

Compiles a calculus process to an FCP procedure

Executed by the FCP Logix platform [Silverman et al., 1987]

Page 11: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

OutlineOutline

Project Overview

Gene Networks

Immune System Pathway

Project Overview

Gene Networks

Immune System Pathway

Page 12: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Project OverviewProject Overview

Page 13: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Graphical Stochastic -calculusGraphical Stochastic -calculus

Display stochastic -calculus models as graphs[Phillips and Cardelli, Bioconcur 2005]

Helps make the stochastic -calculus more accessible

Defined a graphical calculus and graphical execution model

Proved equivalent to the stochastic -calculus

[Phillips, Cardelli and Castagna, TCSB 2006]

Display stochastic -calculus models as graphs[Phillips and Cardelli, Bioconcur 2005]

Helps make the stochastic -calculus more accessible

Defined a graphical calculus and graphical execution model

Proved equivalent to the stochastic -calculus

[Phillips, Cardelli and Castagna, TCSB 2006]

PROVED EQUIVALENT

let generate_pep(k:float,free:chan,bound:chan,c:chan,e:chan)=

delay@gpep;(pep(k,free,bound,c,e)|generate_pep(k,free,bound,c,e))

and pep(k:float,free:chan,bound:chan,c:chan,e:chan)= (

new u@k:chan

or !bind(u,c,e);pep_bound(u,k,free,bound,c,e)

or delay@dpep

)

and pep_bound(u:chan,k:float,free:chan,bound:chan,c:chan,e:chan) =

?u;pep(k,free,bound,c,e)

let TPN()= (

new [email protected]:chan

!bindT(uT);(?uT;TPN())

)

let MHCo()=

do ?bind(u,c,e);MHCo_pep(u,c,e)

or ?bindT(uT);MHCo_TPN(uT)

and MHCo_pep(u:chan,c:chan,e:chan)=

do delay@trigger;MHCt_pep(u,c,e)

or !u;MHCo()

and MHCt_pep(u:chan,c:chan,e:chan)=

do !u;delay@close;MHCc()

or delay@close;MHCc_pep(u,c,e)

and MHCc_pep(u:chan,c:chan,e:chan)=

do delay@open;MHCo_pep(u,c,e)

or !c

and MHCc()=

do ?bindT(uT);MHCc_TPN(uT)

or delay@open;MHCo()

and MHCo_TPN(uT:chan)=

do ?bind(u,c,e);MHCo_TPN_pep(u,c,e,uT)

or !uT;MHCo() (* *)

and MHCo_TPN_pep(u:chan,c:chan,e:chan,uT:chan)=

do delay@r*trigger;MHCt_TPN_pep(u,c,e,uT)

or !u;MHCo_TPN(uT)

and MHCt_TPN_pep(u:chan,c:chan,e:chan,uT:chan)=

do !u;delay@close;MHCc_TPN(uT)

or delay@close;MHCc_TPN_pep(u,c,e,uT)

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

do delay@open;MHCo_TPN_pep(u,c,e,uT)

or !uT;MHCc_pep(u,c,e)

and MHCc_TPN(uT:chan)=

do delay@open;MHCo_TPN(uT)

or !uT;MHCc() (* *)

Page 14: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

The Stochastic Pi MachineThe Stochastic Pi Machine

A simulation algorithm for stochastic -calculus[Phillips and Cardelli, Bioconcur 2004]

Based on standard theory of chemical kinetics [Gillespie 1977]

The probability of a reaction is proportional to the rate of the reaction times the number of reactants.

Proved correct with respect to the stochastic -calculus.

A simulation algorithm for stochastic -calculus[Phillips and Cardelli, Bioconcur 2004]

Based on standard theory of chemical kinetics [Gillespie 1977]

The probability of a reaction is proportional to the rate of the reaction times the number of reactants.

Proved correct with respect to the stochastic -calculus.

PROVED CORRECT

Page 15: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

The SPiM SimulatorThe SPiM Simulator

Simulation algorithm mapped to functional code (OCaml / F#)Used as the basis for implementing the SPiM simulator.

[Phillips, SPiM 2006]

Close correspondence between formal algorithm and functional code

Correct specification improves confidence in simulation results

Used in various research centres (UK, France, Italy, Sweden...)

Simulation algorithm mapped to functional code (OCaml / F#)Used as the basis for implementing the SPiM simulator.

[Phillips, SPiM 2006]

Close correspondence between formal algorithm and functional code

Correct specification improves confidence in simulation results

Used in various research centres (UK, France, Italy, Sweden...)

http://research.microsoft.com/~aphillip/spim

Page 16: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Gene Networks LibraryGene Networks Library

Proposed a combinatorial library of gene gates [Blossey, Cardelli, Phillips, TCSB 2006]

Used as building blocks to model complex gene networks

Explain behaviour of controversial gene networks engineered in vivo

Proposed a combinatorial library of gene gates [Blossey, Cardelli, Phillips, TCSB 2006]

Used as building blocks to model complex gene networks

Explain behaviour of controversial gene networks engineered in vivo

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

0

20

40

60

80

100

120

140

160

0 20000 40000 60000 80000 100000 120000 140000 160000 180000 200000

!tet

!lambda

!lac

!gfp

Page 17: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Immune System ModellingImmune System Modelling

Model of MHC Class I Antigen Presentation A key pathway in the immune system

[Goldstein, MPhil Dissertation 2005]

Ongoing collaboration with Immunologists at Southampton University

[Cardelli, Elliott, Goldstein, Phillips, Werner. In preparation]

Model of MHC Class I Antigen Presentation A key pathway in the immune system

[Goldstein, MPhil Dissertation 2005]

Ongoing collaboration with Immunologists at Southampton University

[Cardelli, Elliott, Goldstein, Phillips, Werner. In preparation]

© 2003 Nature Reviews Immunology, 3(12):952–96.© 2003 Current Opinion in Immunology, 15:75–81.

Page 18: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Gene NetworksGene Networks

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

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

Page 19: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Gene with Negative ControlGene with Negative Control

val transcribe = 0.1 val degrade = 0.001

val unblock = 0.0001

new [email protected]:chan new [email protected]:chan

let Neg(a:chan,b:chan) =

do delay@transcribe; ( Protein(b) | Neg(a,b) )

or ?a; delay@unblock; Neg(a,b)

and Protein(b:chan) =

do !b; Protein(b)

or delay@degrade

run Neg(a,b)

val transcribe = 0.1 val degrade = 0.001

val unblock = 0.0001

new [email protected]:chan new [email protected]:chan

let Neg(a:chan,b:chan) =

do delay@transcribe; ( Protein(b) | Neg(a,b) )

or ?a; delay@unblock; Neg(a,b)

and Protein(b:chan) =

do !b; Protein(b)

or delay@degrade

run Neg(a,b)

Graph.txt

transcribe = 0.1unblock = 0.0001

degrade = 0.001rate(a,b) = 1.0

Source.txt

Neg(a,b) produces protein b and is blocked by protein aNeg(a,b) produces protein b and is blocked by protein a

ba

Page 20: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Neg GateNeg Gate

A protein b can be transcribed at rate 0.1 s-1A protein b can be transcribed at rate 0.1 s-1

x1

Page 21: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Neg GateNeg Gate

Another protein b can be transcribedAnother protein b can be transcribed

x1

x1

Page 22: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Neg GateNeg Gate

And another...And another...

x1

x2

Page 23: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Neg GateNeg Gate

A protein b can be degraded at rate 0.001 s-1A protein b can be degraded at rate 0.001 s-1

x1

x3

Page 24: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Neg GateNeg Gate

Equilibrium between transcription and degradationEquilibrium between transcription and degradation

x1

x2

Page 25: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Neg GateNeg Gate

Level of protein b stabilises at around 100Level of protein b stabilises at around 100

Results

0

20

40

60

80

100

120

140

0 50000 100000 150000 200000

!b

Page 26: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Results

Repressilator [Elowitz and Leibler, 2000]Repressilator [Elowitz and Leibler, 2000]

A gene network engineered in live bacteria.

Modelled as a simple combination of Neg gates:

A gene network engineered in live bacteria.

Modelled as a simple combination of Neg gates:

Neg(lac,tet)

| Neg(tet,lambda)

| Neg(lambda,lac)

| Neg(tet,gfp)

Source.txt

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

0

20

40

60

80

100

120

140

160

0 20000 40000 60000 80000 100000 120000 140000 160000 180000 200000

!tet

!lambda

!lac

!gfp

Page 27: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Repressilator: DebuggingRepressilator: Debugging

Why do we get oscillations?

Neg(lac,tet) | Neg(tet,lambda) | Neg(lambda,lac)

Why do we get oscillations?

Neg(lac,tet) | Neg(tet,lambda) | Neg(lambda,lac)tet

lambdalac

Graph.txt

Page 28: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Repressilator: Debugging (1)Repressilator: Debugging (1)

Initially there is one copy of each gene

Any one of the proteins can be transcribed at rate 0.1

Initially there is one copy of each gene

Any one of the proteins can be transcribed at rate 0.1

Graph.txt

x1 x1 x1

Page 29: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

x1 x1 x1

Repressilator: Debugging (2)Repressilator: Debugging (2)

The tet protein can block the lambda gene at rate 1.0The tet protein can block the lambda gene at rate 1.0

x1

Page 30: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

x1

x1

x1

Repressilator: Debugging (3)Repressilator: Debugging (3)

Now no lambda protein can be transcribed.

But lac protein can still be transcribed.

Now no lambda protein can be transcribed.

But lac protein can still be transcribed.

x1

Page 31: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

x1 x1

Repressilator: Debugging (4)Repressilator: Debugging (4)

The lac protein can block the tet gene at rate 1.0The lac protein can block the tet gene at rate 1.0

x1

x1 x1

Page 32: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

x1

x1

x1

Repressilator: Debugging (5)Repressilator: Debugging (5)

Now no tet protein can be transcribed.

All of the tet protein eventually degrades at rate 0.001

Now no tet protein can be transcribed.

All of the tet protein eventually degrades at rate 0.001

x1 x1

Page 33: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

x1

x1

x1

Repressilator: Debugging (5)Repressilator: Debugging (5)

Meanwhile, lots of lac protein is transcribedMeanwhile, lots of lac protein is transcribed

x1

Page 34: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

x1

x1

x1

Repressilator: Debugging (363)Repressilator: Debugging (363)

Represents one oscillation cycle

Eventually, the lambda gene unblocks at rate 0.0001

Represents one oscillation cycle

Eventually, the lambda gene unblocks at rate 0.0001

x100

Page 35: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

x1

x1

x100

Repressilator: Debugging (2173)Repressilator: Debugging (2173)

The lambda protein can now take over...The lambda protein can now take over...

x1

Page 36: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Repressilator: ResultsRepressilator: Results

Alternate oscillation of proteins: tet, lac, lambda, tet, ...Alternate oscillation of proteins: tet, lac, lambda, tet, ...

Results

0

20

40

60

80

100

120

140

160

0 20000 40000 60000 80000 100000 120000 140000 160000 180000 200000

!tet

!lambda

!lac

tet

lambdalac

tet

lambdalac

tet

lambdalac

Page 37: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Refined Neg GateRefined Neg Gate

let Neg(a,b) = (

new [email protected]

do delay@transcribe; (Protein(b) | Neg(a,b))

or !a(u1); Blocked(a,b,u1)

)

and Blocked(a,b,u1) = (

new [email protected]

do ?u1; Neg(a,b)

or !a(u2); ?u2; Blocked(a,b,u1)

)

and Protein(b) = (

do delay@degrade

or ?b(u); !u; Protein(b)

)

let Neg(a,b) = (

new [email protected]

do delay@transcribe; (Protein(b) | Neg(a,b))

or !a(u1); Blocked(a,b,u1)

)

and Blocked(a,b,u1) = (

new [email protected]

do ?u1; Neg(a,b)

or !a(u2); ?u2; Blocked(a,b,u1)

)

and Protein(b) = (

do delay@degrade

or ?b(u); !u; Protein(b)

)

Graph.txt

Source.txt

Refined Neg gate with cooperative binding

Different implementation, same main program

Neg(lac,tet) | Neg(tet,lambda) | Neg(lambda,lac)

Refined Neg gate with cooperative binding

Different implementation, same main program

Neg(lac,tet) | Neg(tet,lambda) | Neg(lambda,lac)

Page 38: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Negp Gate with InhibitorNegp Gate with Inhibitor

val transcribe = 0.1 val degrade = 0.001

val unblock = 0.0001 new [email protected]:chan new [email protected]:chan new [email protected]:chan

let Negp(a:chan,b:chan,r:chan) = do delay@t; (Proteinp(b,r) | Negp(a,b,r)) or ?a; delay@u; Negp(a,b,r)

and Proteinp(b:chan,r:chan) = do !b; Proteinp(b,r) or ?r or delay@d

let Inh(r:chan) = !r; Inh(r)

Run Negp(a,b,r)

val transcribe = 0.1 val degrade = 0.001

val unblock = 0.0001 new [email protected]:chan new [email protected]:chan new [email protected]:chan

let Negp(a:chan,b:chan,r:chan) = do delay@t; (Proteinp(b,r) | Negp(a,b,r)) or ?a; delay@u; Negp(a,b,r)

and Proteinp(b:chan,r:chan) = do !b; Proteinp(b,r) or ?r or delay@d

let Inh(r:chan) = !r; Inh(r)

Run Negp(a,b,r)

Graph.txtSource.txt

r

ba

transcribe = 0.1unblock = 0.0001

degrade = 0.001rate(a,b,r) = 1.0

Page 39: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Bacteria Logic Gates [Guet et al., 2002]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 Tet), aTc (represses Lac)

1 output: GFP (linked to P-)

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 Tet), aTc (represses Lac)

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

Page 40: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Bacteria Logic Gates [Guet et al., 2002]Bacteria Logic Gates [Guet et al., 2002]

IPTG, aTc as boolean inputs, GFP as boolean outputIPTG, aTc as boolean inputs, GFP as boolean output

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

Page 41: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

D038() = tet() | lac() | cI() | gfp()tet() = Negp(TetR,TetR,aTc)lac() = Negp(TetR,LacI,IPTG)cI() = Neg(LacI,lcI)gfp() = Neg(lcI,GFP)

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

Combinatorial Library of GenesCombinatorial Library of Genes

Model complex gene networks from simpler building blocks.

Also used simulation to investigate system behaviour.

[Blossey, Cardelli, Phillips, TCSB 2006]

Model complex gene networks from simpler building blocks.

Also used simulation to investigate system behaviour.

[Blossey, Cardelli, Phillips, TCSB 2006]

Page 42: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Immune System Modelling:MHC I Antigen PresentationImmune System Modelling:MHC I Antigen Presentation

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

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

Page 43: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

MHC I Antigen PresentationMHC I Antigen Presentation

A key pathway of the immune system:A key pathway of the immune system:

MHC I complexes can signal when a cell is infected.

They present peptides (small pieces of virus or bacteria) at the surface of infected cells.

A way of marking infected cells for destruction.

© 2003 Jonathan W. Yewdell, Eric Reits, and Jacques Neefjes. Making sense of mass destruction: quantitating MHC class I antigen presentation. Nature Reviews Immunology, 3(12):952–96.

Page 45: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

MHC I AssemblyMHC I Assembly

MHC I complexes follow an assembly line:MHC I complexes follow an assembly line:

© 2003 Antony N Antoniou, Simon J Powis, and Tim Elliott. Assembly and export of MHC class I peptide ligands. Current Opinion in Immunology, 15:75–81.

Page 46: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Peptide Selection: Flytrap ModelPeptide Selection: Flytrap Model

MHC I captures peptides like a Venus Flytrap. Sensitive to disease peptides only.MHC I captures peptides like a Venus Flytrap. Sensitive to disease peptides only.

peptide enters open MHC

disease peptide is capturedand presented at cell surface

non diseasepeptide escapes

Page 47: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Flytrap Model: -calculusFlytrap Model: -calculus Graph.txtSource.txt

x1

x1 x200 x200

Page 48: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

x1

x1 x200 x199

Flytrap Model: -calculusFlytrap Model: -calculus

u

x1

Page 49: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Flytrap Model: -calculusFlytrap Model: -calculus

x1

x1 x200 x199

u

x1

Page 50: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Flytrap Model: -calculusFlytrap Model: -calculus

x1

x1 x200 x199

u

x1

Page 51: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Simulation ResultsSimulation Results

Tapasin allows disease peptides to be rapidly selected in favour of non-disease peptides.

Next steps: Investigate influence of tapasin in the lab.

Incrementally build a more detailed immune system model.

Construct a minimal functional model of the system.

Tapasin allows disease peptides to be rapidly selected in favour of non-disease peptides.

Next steps: Investigate influence of tapasin in the lab.

Incrementally build a more detailed immune system model.

Construct a minimal functional model of the system.

No Tapasin Always with Tapasin Transient binding to Tapasin

0

20

40

60

80

100

120

140

160

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

0 200 400 600 800 10000

20

40

60

80

100

120

140

160

0 200 400 600 800 1000

Page 52: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Simplified FlytrapSimplified Flytrap

Similar results obtained with a simpler model

Hypothesis: Tapasin is the 2nd stage of a 2-stage filter

Perhaps an explanation of system function.

Similar results obtained with a simpler model

Hypothesis: Tapasin is the 2nd stage of a 2-stage filter

Perhaps an explanation of system function.

Graph.txt

Page 53: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Future PlansFuture Plans

Interface SPiM with stochastic analysis tools

Improve scalability of core SPiM algorithm

Prove correctness of multiprocessor algorithm

Extend SPiM with membranes

Stochastic -calculus and ODEs

Improve SPiM user interface and debugging

Collaborate with medical researchers to model and simulate a range of biological systems

Collaborate with pharmaceutical industry to design a next-generation programming language for Systems Biology

Interface SPiM with stochastic analysis tools

Improve scalability of core SPiM algorithm

Prove correctness of multiprocessor algorithm

Extend SPiM with membranes

Stochastic -calculus and ODEs

Improve SPiM user interface and debugging

Collaborate with medical researchers to model and simulate a range of biological systems

Collaborate with pharmaceutical industry to design a next-generation programming language for Systems Biology

Page 54: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

Thanks.Thanks.

Questions?Questions?

Page 55: Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK Andrew Phillips with Luca

ReferencesReferences

Graphical Stochastic -calculus:[Phillips and Cardelli, Bioconcur 2005]

[Phillips, Cardelli and Castagna, TCSB 2006]

SPiM Simulator:[Phillips and Cardelli, Bioconcur 2004]

[Phillips, SPiM 2005]

Gene Networks:[Blossey, Cardelli, Phillips, TCSB 2006]

Antigen Presentation:[Goldstein, MPhil Dissertation 2005]

Graphical Stochastic -calculus:[Phillips and Cardelli, Bioconcur 2005]

[Phillips, Cardelli and Castagna, TCSB 2006]

SPiM Simulator:[Phillips and Cardelli, Bioconcur 2004]

[Phillips, SPiM 2005]

Gene Networks:[Blossey, Cardelli, Phillips, TCSB 2006]

Antigen Presentation:[Goldstein, MPhil Dissertation 2005]