25/10/20151Andrew Phillips Simulating Biological Systems in the Stochastic -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK
25/10/20152Andrew Phillips Biological Computing
25/10/20153Andrew Phillips 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...
25/10/20154Andrew Phillips Programming Biology Languages for complex, parallel computer systems: Languages for complex, parallel biological systems: stochastic -calculus
25/10/20155Andrew Phillips Reactions vs. Components Traditional modelling: model individual reactions Stochastic -calculus: model components
25/10/20156Andrew Phillips Build complex models incrementally, by direct composition of simpler components: Compositional Modelling
25/10/20157Andrew Phillips Model Analysis A mathematical programming language A range of analysis techniques (types, equivalences, model checking) Could provide insight into fundamental properties of biological systems
25/10/20158Andrew Phillips 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]
25/10/20159Andrew Phillips Outline Project Overview Gene Networks Immune System Pathway
25/10/201510Andrew Phillips Project Overview
25/10/201511Andrew Phillips 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
25/10/201512Andrew Phillips 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
25/10/201513Andrew Phillips 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...)
25/10/201514Andrew Phillips 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:
25/10/201515Andrew Phillips 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.
25/10/201516Andrew Phillips Gene Networks with Luca Cardelli (MSRC) Ralf Blossey (IRI Lille)
25/10/201517Andrew Phillips Gene with Negative Control let Neg(a,b) = do (Protein(b) | Neg(a,b)) or ?a; Neg(a,b) and Protein(b) = do !b; Protein(b) or rate(a,b,c) = 1.0 u = d = t = 0.1 Neg(a,b) ba A gene that produces protein b and is blocked by protein a
25/10/201518Andrew Phillips Neg Gate A Protein can be transcribed at t = 0.1 s -1
25/10/201519Andrew Phillips Neg Gate Another Protein can be transcribed
25/10/201520Andrew Phillips Neg Gate And another... x2
25/10/201521Andrew Phillips Neg Gate A Protein can be degraded at d = s -1 x3
25/10/201522Andrew Phillips Neg Gate Eventually an equilibrium is reached... x2
25/10/201523Andrew Phillips Neg Gate Production of Protein stabilises at around 100
25/10/201524Andrew Phillips Repressilator [Elowitz and Leibler, 2000] © 2000 Elowitz, M.B., Leibler. S. A Synthetic Oscillatory Network of Transcriptional Regulators. Nature 403:
25/10/201525Andrew Phillips 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
25/10/201526Andrew Phillips Repressilator: Debugging (1) One copy of Neg(a,b), Neg(b,c), Neg(c,a) Any protein can be transcribed at rate 0.1
25/10/201527Andrew Phillips Repressilator: Debugging (2) Protein(b) can block Neg(b,c) with fast rate 1.0
25/10/201528Andrew Phillips Repressilator: Debugging (3) Neg(b,c) is blocked. No Protein(c) can be transcribed.
25/10/201529Andrew Phillips Repressilator: Debugging (4) Protein(a) can block Neg(a,b) with fast rate 1.0
25/10/201530Andrew Phillips Repressilator: Debugging (5) Neg(a,b) is blocked. No Protein(b) can be transcribed.
25/10/201531Andrew Phillips Repressilator: Debugging (363) All of Protein(b) eventually degrades at rate Meanwhile, lots of Protein(a) are transcribed
25/10/201532Andrew Phillips Repressilator: Debugging (2173) Eventually, Neg(b,c) unblocks at rate Protein(c) can now be transcribed...
25/10/201533Andrew Phillips Repressilator: Results Alternate oscillation of proteins: a,c,b,a,c,b...
25/10/201534Andrew Phillips 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) © 2000 Elowitz, M.B., Leibler. S. A Synthetic Oscillatory Network of Transcriptional Regulators. Nature 403:
25/10/201535Andrew Phillips Refined Neg Gate let Neg(a,b) = ( new do (Protein(b) | Neg(a,b)) or !a(u1); Blocked(a,b,u1) ) and Blocked(a,b,u1) = ( new do ?u1; Neg(a,b) or !a(u2); ?u2; Blocked(a,b,u1) ) and Protein(b) = ( do or ?b(u); !u; Protein(b) ) Refined Neg gate with cooperative binding Same main program: Neg(a,b) | Neg(b,c) | Neg(c,a)
25/10/201536Andrew Phillips Neg Gate with Inhibitor let Negp(a:chan,b:chan,r:chan) = do (Proteinp(b,r) | Negp(a,b,r)) or ?a; Negp(a,b,r) and Proteinp(b:chan,r:chan) = do !b; Proteinp(b,r) or ?r or let Inh(r:chan) = !r; Inh(r) rate(a,b,r) = 1.0 u = d = t = 0.1 Negp(a,b,r) ba r
25/10/201537Andrew Phillips 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):
25/10/201538Andrew Phillips 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):
25/10/201539Andrew Phillips 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)
25/10/201540Andrew Phillips Gene Networks Designed in Silico with Luca Cardelli (Microsoft Research)
25/10/201541Andrew Phillips 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
25/10/201542Andrew Phillips Stochastic -calculus Model val tB = 0.37 val tB' = val dB = 0.002val unbind = 0.42 let b() = do ( B() | b() ) or ?inhibit(u); b_A(u) and b_A(u:chan) = do !u; b() or ( B() | b_A(u) ) and B() = do or ?bind(u); B_A(u) and B_A(u:chan) = () val tA = 0.20 val dA = val dAB = 0.53 new new let a() = ( A() | a() ) and A() = ( new do or !bind(u); A_B(u) or !inhibit(u); A_b(u) ) and A_b(u:chan) = ?u; A() and A_B(u:chan) = run (a() | b())
25/10/201543Andrew Phillips Bistable Network: Protein A Gene a can transcribe a new protein A at rate tA
25/10/201544Andrew Phillips Bistable Network: Protein A Protein A can bind to gene b to inhibit production of protein B
25/10/201545Andrew Phillips More protein A is transcribed Bistable Network: Protein A u
25/10/201546Andrew Phillips Protein A can unbind from gene b using private channel u Bistable Network: Protein A u
25/10/201547Andrew Phillips High proportion of protein A Bistable Network: Protein A
25/10/201548Andrew Phillips Gene b can transcribe a new protein B with rate tB Bistable Network: Protein B
25/10/201549Andrew Phillips Bistable Network: Protein B Gene a can transcribe a new protein A at rate tA
25/10/201550Andrew Phillips Bistable Network: Protein B Protein A can bind with protein B
25/10/201551Andrew Phillips Bistable Network: Protein B More protein B is transcribed u
25/10/201552Andrew Phillips Bistable Network: Protein B Complex AB can degrade with rate dAB u
25/10/201553Andrew Phillips Bistable Network: Protein B High proportion of protein B
25/10/201554Andrew Phillips Bistable Network: Results Random Initialisation: Stable Switching:
25/10/201555Andrew Phillips Immune System Modelling: MHC I Antigen Presentation with Luca Cardelli (MSRC) Leonard Goldstein (Cambridge University) Tim Elliott (Southampton University) Joern Werner (Southampton University)
25/10/201556Andrew Phillips 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.
25/10/201557Andrew Phillips MHC I Antigen Presentation [Copyright 2005 from Immunobiology, Sixth Edition by Janeway et al. Reproduced by permission of Garland Science/Taylor & Francis LLC.] [Copyright 2005 from Immunobiology, Sixth Edition by Janeway et al. Reproduced by permission of Garland Science/Taylor & Francis LLC.]
25/10/201558Andrew Phillips 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.
25/10/201559Andrew Phillips Peptide Selection: Flytrap Model MHC I captures peptides like a Venus Flytrap. Sensitive to disease peptides only. peptide enters open MHC disease peptide is captured and presented at cell surface non disease peptide escapes
25/10/201560Andrew Phillips Flytrap Model: -calculus x 200
25/10/201561Andrew Phillips Flytrap Model: -calculus x 200 x 199 u
25/10/201562Andrew Phillips Flytrap Model: -calculus x 200 x 199 u
25/10/201563Andrew Phillips Flytrap Model: -calculus x 200 x 199 u
25/10/201564Andrew Phillips 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 TapasinTransient binding to Tapasin
25/10/201565Andrew Phillips Simplified Flytrap Similar results obtained with a simpler model Hypothesis: Tapasin is the 2 nd stage of a 2-stage filter Perhaps an explanation of system function.
25/10/201566Andrew Phillips 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