25/10/20151andrew phillips - 2006 simulating biological systems in the stochastic -calculus andrew...

66
27/03/22 1 Andrew Phillips - 2006 Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK http://research.microsoft.com/ ~aphillip/spim

Upload: abel-nelson

Post on 03-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

20/04/23 1Andrew Phillips - 2006

Simulating Biological Systems in the Stochastic

-calculusAndrew Phillips

with Luca Cardelli

Microsoft Research, Cambridge UKhttp://research.microsoft.com/~aphillip/spim

20/04/23 2Andrew Phillips - 2006

Biological Computing

20/04/23 3Andrew Phillips - 2006

Modelling 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...

20/04/23 4Andrew Phillips - 2006

Programming BiologyLanguages for complex, parallel computer systems:

Languages for complex, parallel biological systems:

stochastic -calculus

20/04/23 5Andrew Phillips - 2006

Reactions vs. ComponentsTraditional modelling: model individual reactions

Stochastic -calculus: model components

20/04/23 6Andrew Phillips - 2006

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

Compositional Modelling

20/04/23 7Andrew Phillips - 2006

Model Analysis A mathematical programming language

A range of analysis techniques (types, equivalences, model checking)

Could provide insight into fundamental properties of biological systems

20/04/23 8Andrew Phillips - 2006

Related 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]

20/04/23 9Andrew Phillips - 2006

Outline Project Overview

Gene Networks

Immune System Pathway

20/04/23 10Andrew Phillips - 2006

Project Overview

20/04/23 11Andrew Phillips - 2006

Graphical 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]

PROVED EQUIVALENT

20/04/23 12Andrew Phillips - 2006

The 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.

PROVED CORRECT

20/04/23 13Andrew Phillips - 2006

The SPiM Simulator Simulation algorithm mapped to functional code (OCaml / F#)

Used as the basis for implementing the SPiM simulator. [Phillips, SPiM 2006] Correct specification improves confidence in simulation results Close correspondence between formal algorithm and functional code Used in various research centres (UK, France, Italy, Sweden...)

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

20/04/23 14Andrew Phillips - 2006

Gene 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

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

20/04/23 15Andrew Phillips - 2006

Immune 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]

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

20/04/23 16Andrew Phillips - 2006

Gene Networks

with

Luca Cardelli (MSRC)

Ralf Blossey (IRI Lille)

20/04/23 17Andrew Phillips - 2006

Gene with Negative Control

let Neg(a,b) = do delay@t; (Protein(b) | Neg(a,b)) or ?a; delay@u; Neg(a,b)

and Protein(b) = do !b; Protein(b) or delay@d

Graph.txt

rate(a,b,c) = 1.0u = 0.0001

d = 0.001t = 0.1

Source.txt

Neg(a,b)

ba

A gene that produces protein b and is blocked by protein a

20/04/23 18Andrew Phillips - 2006

Neg Gate

A Protein can be transcribed at t = 0.1 s-1

20/04/23 19Andrew Phillips - 2006

Neg Gate

Another Protein can be transcribed

20/04/23 20Andrew Phillips - 2006

Neg Gate

And another...

x2

20/04/23 21Andrew Phillips - 2006

Neg Gate

A Protein can be degraded at d = 0.001 s-1

x3

20/04/23 22Andrew Phillips - 2006

Neg Gate

Eventually an equilibrium is reached...

x2

20/04/23 23Andrew Phillips - 2006

Neg Gate

Production of Protein stabilises at around 100

Results

20/04/23 24Andrew Phillips - 2006

Repressilator [Elowitz and Leibler, 2000]

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

20/04/23 25Andrew Phillips - 2006

Repressilator Combination of Neg gates Program: Neg(a,b) | Neg(b,c) | Neg(c,a)

b

Neg(a,b)

Neg(c,a)

Neg(b,c)

ca

20/04/23 26Andrew Phillips - 2006

Repressilator: Debugging (1)

One copy of Neg(a,b), Neg(b,c), Neg(c,a) Any protein can be transcribed at rate 0.1

Graph.txt

20/04/23 27Andrew Phillips - 2006

Repressilator: Debugging (2)

Protein(b) can block Neg(b,c) with fast rate 1.0

20/04/23 28Andrew Phillips - 2006

Repressilator: Debugging (3)

Neg(b,c) is blocked. No Protein(c) can be transcribed.

20/04/23 29Andrew Phillips - 2006

Repressilator: Debugging (4)

Protein(a) can block Neg(a,b) with fast rate 1.0

20/04/23 30Andrew Phillips - 2006

Repressilator: Debugging (5)

Neg(a,b) is blocked. No Protein(b) can be transcribed.

20/04/23 31Andrew Phillips - 2006

Repressilator: Debugging (363)

All of Protein(b) eventually degrades at rate 0.001 Meanwhile, lots of Protein(a) are transcribed

20/04/23 32Andrew Phillips - 2006

Repressilator: Debugging (2173)

Eventually, Neg(b,c) unblocks at rate 0.0001 Protein(c) can now be transcribed...

20/04/23 33Andrew Phillips - 2006

0

20

40

60

80

100

120

140

0 20000 40000 60000 80000 100000 120000 140000 160000 180000 200000

!a

!b

!c

Repressilator: Results Alternate oscillation of proteins: a,c,b,a,c,b...

Results

20/04/23 34Andrew Phillips - 2006

Repressilator [Elowitz and Leibler, 2000]

A gene network engineered in live bacteria. Modelled as a simple combination of Neg gates:

Neg(LacI,TetR)

| Neg(TetR,LambdacI)

| Neg(LambdacI,LacI)

| Neg(TetR,GFP)

Source.txt

0

20

40

60

80

100

120

140

160

0 20000 40000 60000 80000 100000 120000 140000 160000 180000 200000

!TetR

!LambdacI

!LacI

!GFP

Results

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

20/04/23 35Andrew Phillips - 2006

Refined Neg Gate

let Neg(a,b) = (

new [email protected]

do delay@t; (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@d

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

)

Graph.txt

Source.txt Refined Neg gate with cooperative binding Same main program: Neg(a,b) | Neg(b,c) | Neg(c,a)

20/04/23 36Andrew Phillips - 2006

Neg Gate with Inhibitor

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)

Graph.txt

rate(a,b,r) = 1.0u = 0.0001

d = 0.001t = 0.1

Source.txt

Negp(a,b,r)

ba

r

20/04/23 37Andrew Phillips - 2006

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-)

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

20/04/23 38Andrew Phillips - 2006

Bacteria Logic Gates [Guet et al., 2002]

IPTG and aTc as boolean inputs, GFP as boolean output

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

20/04/23 39Andrew Phillips - 2006

Combinatorial Library of Genes

Model complex gene networks from simpler building blocks. Use simulation to formulate hypotheses about system behaviour.

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)

20/04/23 40Andrew Phillips - 2006

Gene Networks Designed in Silico

with

Luca Cardelli (Microsoft Research)

20/04/23 41Andrew Phillips - 2006

Evolution in Silico [Francois and Hakim, 2004]

Gene networks can be evolved in silico to perform specific functions, e.g. a bistable switch:

Genes a and b can produce proteins A and B respectively: A and B can bind irreversibly to produce AB, which degrades. A can also bind reversibly to gene b, to inhibit transcription of B

20/04/23 42Andrew Phillips - 2006

Stochastic -calculus Model

val tB = 0.37 val tB' = 0.027

val dB = 0.002 val unbind = 0.42

let b() =

do delay@tB; ( B() | b() )

or ?inhibit(u); b_A(u)

and b_A(u:chan) =

do !u; b()

or delay@tB'; ( B() | b_A(u) )

and B() =

do delay@dB

or ?bind(u); B_A(u)

and B_A(u:chan) = ()

val tA = 0.20

val dA = 0.002 val dAB = 0.53

new [email protected] new [email protected]

let a() = delay@tA; ( A() | a() )

and A() = (

new u@unbind:chan

do delay@dA

or !bind(u); A_B(u)

or !inhibit(u); A_b(u)

)

and A_b(u:chan) = ?u; A()

and A_B(u:chan) = delay@dAB

run (a() | b())

20/04/23 43Andrew Phillips - 2006

Bistable Network: Protein A

Gene a can transcribe a new protein A at rate tA

20/04/23 44Andrew Phillips - 2006

Bistable Network: Protein A

Protein A can bind to gene b to inhibit production of protein B

20/04/23 45Andrew Phillips - 2006

More protein A is transcribed

Bistable Network: Protein A

u

20/04/23 46Andrew Phillips - 2006

Protein A can unbind from gene b using private channel u

Bistable Network: Protein A

u

20/04/23 47Andrew Phillips - 2006

High proportion of protein A

Bistable Network: Protein A

20/04/23 48Andrew Phillips - 2006

Gene b can transcribe a new protein B with rate tB

Bistable Network: Protein B

20/04/23 49Andrew Phillips - 2006

Bistable Network: Protein B

Gene a can transcribe a new protein A at rate tA

20/04/23 50Andrew Phillips - 2006

Bistable Network: Protein B

Protein A can bind with protein B

20/04/23 51Andrew Phillips - 2006

Bistable Network: Protein B

More protein B is transcribed

u

20/04/23 52Andrew Phillips - 2006

Bistable Network: Protein B

Complex AB can degrade with rate dAB

u

20/04/23 53Andrew Phillips - 2006

Bistable Network: Protein B

High proportion of protein B

20/04/23 54Andrew Phillips - 2006

Bistable Network: Results Random Initialisation:

Stable Switching:

20/04/23 55Andrew Phillips - 2006

Immune System Modelling:

MHC I Antigen Presentationwith

Luca Cardelli (MSRC)Leonard Goldstein (Cambridge University)

Tim Elliott (Southampton University)Joern Werner (Southampton University)

20/04/23 56Andrew Phillips - 2006

MHC I Antigen Presentation

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.

20/04/23 57Andrew Phillips - 2006

MHC I Antigen Presentation [Copyright 2005 from Immunobiology, Sixth Edition by Janeway et al.  Repro

duced by permission of Garland Science/Taylor & Francis LLC.]

20/04/23 58Andrew Phillips - 2006

MHC I Assembly 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.

20/04/23 59Andrew Phillips - 2006

Peptide Selection: Flytrap Model

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

20/04/23 60Andrew Phillips - 2006

Flytrap Model: -calculusx 200

x 200

20/04/23 61Andrew Phillips - 2006

Flytrap Model: -calculusx 200

x 199

u

20/04/23 62Andrew Phillips - 2006

Flytrap Model: -calculusx 200

x 199

u

20/04/23 63Andrew Phillips - 2006

Flytrap Model: -calculusx 200

x 199

u

20/04/23 64Andrew Phillips - 2006

Simulation Results A specific molecule called 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

20/04/23 65Andrew Phillips - 2006

Simplified 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.

20/04/23 66Andrew Phillips - 2006

Future Plans Improve core SPiM algorithm (scalability, debugging, analysis) Immune System Modelling (Southampton University) Improve the graphical interface for SPiM (ENS Paris) Extend SPiM with membranes Stochastic -calculus and ODEs (IRI Lille, CCBI Cambridge.) Interface SPiM with stochastic analysis tools (Birmingham

University) 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