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

Slides:



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

Unravelling the biochemical reaction kinetics from time-series data Santiago Schnell Indiana University School of Informatics and Biocomplexity Institute.
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Z34Bio: A Framework for Analyzing Biological Computation
Non-Markovian dynamics of small genetic circuits Lev Tsimring Institute for Nonlinear Science University of California, San Diego Le Houches, 9-20 April,
Design of Experiments Lecture I
Pattern Formation in Synthetic Bacterial Colonies Fran Romero and Karima Righetti Research Fellow School of Computer Science University of Nottingham Nottingham.
Copyright OpenHelix. No use or reproduction without express written consent1.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
An Intro To Systems Biology: Design Principles of Biological Circuits Uri Alon Presented by: Sharon Harel.
Students Alín Patricia Acuña Alonzo Cristian J. Delgado Guzmán Federico Castro Monzón Gabriela Hernández Peréz Luis de Jesús Martínez Lomelí Tadeo Enrique.
Goal Show the modeling process used by both Collins (toggle switch) and Elowitz (repressilator) to inform design of biological network necessary to encode.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Repressilator Presentation contents: The idea Experimental overview. The first attemp. The mathematical model. Determination of the appropiate parameters.
Combinatorial Synthesis of Genetic Networks Guet et. al. Andrew Goodrich Charles Feng.
Cyanobacterial Oscillator in E. coli Why care about biological oscillators in the first place? Bio-oscillators have a number of potential applications:
Mukund Thattai NCBS Bangalore genetic networks in theory and practice.
Petri net modeling of biological networks Claudine Chaouiya.
Research and objectives Modern software is incredibly complex: for example, a modern OS has more than 10 millions lines of code, organized in 10s of layers!
Deterministic and Stochastic Analysis of Simple Genetic Networks Adiel Loinger MS.c Thesis of under the supervision of Ofer Biham.
Deterministic and Stochastic Analysis of Simple Genetic Networks Adiel Loinger Ofer Biham Azi Lipshtat Nathalie Q. Balaban.
A synthetic gene- metabolic oscillator Fung et al
Program Flow Charting How to tackle the beginning stage a program design.
1 A Case for Using Signal Transition Graphs for Analysing and Refining Genetic Networks Richard Banks, Victor Khomenko and Jason Steggles School of Computing.
Programming Biology Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK.
Programming Languages for Biology Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Synthetic Gene Circuits Small, Middle-Sized and Huge Molecules Playing Together Within a Cell.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
From DNA to Proteins Lesson 1. Lesson Objectives State the central dogma of molecular biology. Describe the structure of RNA, and identify the three main.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Kristen Horstmann, Tessa Morris, and Lucia Ramirez Loyola Marymount University March 24, 2015 BIOL398-04: Biomathematical Modeling Lee, T. I., Rinaldi,
AMATH 382: Computational Modeling of Cellular Systems Dynamic modelling of biochemical, genetic, and neural networks Introductory Lecture, Jan. 6, 2014.
The Programming of a Cell By L Varin and N Kharma Biology and Computer Engineering Departments Concordia University.
Reconstruction of Transcriptional Regulatory Networks
Summary Various mathematical models describing gene regulatory networks as well as algorithms for network reconstruction from experimental data have been.
Combinatorial State Equations and Gene Regulation Jay Raol and Steven J. Cox Computational and Applied Mathematics Rice University.
25/10/20151Andrew Phillips Simulating Biological Systems in the Stochastic  -calculus Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge.
Gene repression and activation
Systems Biology ___ Toward System-level Understanding of Biological Systems Hou-Haifeng.
By Rosalind Allen Regulatory networks Biochemical noise.
Biological Signal Detection for Protein Function Prediction Investigators: Yang Dai Prime Grant Support: NSF Problem Statement and Motivation Technical.
Synthetic Biology Risks and opportunities of an emerging field Constructing Life.
A Genetic Differential Amplifier: Design, Simulation, Construction and Testing Seema Nagaraj and Stephen Davies University of Toronto Edward S. Rogers.
Construction of a genetic toggle switch in Escherichia coli Farah and Tom.
Engineered Gene Circuits Jeff Hasty. How do we predict cellular behavior from the genome? Sequence data gives us the components, now how do we understand.
Introduction to biological molecular networks
Modelling Gene Regulatory Networks using the Stochastic Master Equation Hilary Booth, Conrad Burden, Raymond Chan, Markus Hegland & Lucia Santoso BioInfoSummer2004.
Toward in vivo Digital Circuits Ron Weiss, George Homsy, Tom Knight MIT Artificial Intelligence Laboratory.
IGEM 2008 Tutorial Modeling. What? Model A model in science is a physical, mathematical, or logical representation of a system of entities, phenomena,
Biophysics of Systems Dieter Braun Lecture + Seminar
Fan-out in Gene Regulatory Networks Kyung Hyuk Kim Senior Fellow Department of Bioengineering University of Washington, Seattle 2 nd International Workshop.
Dynamical Modeling in Biology: a semiotic perspective Junior Barrera BIOINFO-USP.
Biomolecular implementation of linear I/O systems Lecture 4/7/2016 Oishi, Kazuaki, and Eric Klavins. "Biomolecular implementation of linear I/O systems."
Combinatorial Synthesis of Genetic Networks Calin C. Guet, Michael B. Elowitz, Weihong Hsing, Stanislas Leibler Amit Meshulam Bioinformatics Seminar Technion,
Directed Evolution of a Genetic Circuit 15 February 2008 George McArthur This presentation is primarily based on content taken from the paper “Directed.
BCB 570 Spring Signal Transduction Julie Dickerson Electrical and Computer Engineering.
Dynamics of biological switches 1. Attila Csikász-Nagy King’s College London Randall Division of Cell and Molecular Biophysics Institute for Mathematical.
Sub-fields of computer science. Sub-fields of computer science.
Simulating Biological Systems in the Stochastic Pi-calculus
Simulating Biological Systems in the Stochastic p-calculus
AMATH 882: Computational Modeling of Cellular Systems
Ligand Docking to MHC Class I Molecules
Languages for Systems Biology
Cyanobacterial Oscillator
Cyanobacterial Oscillator
Cyanobacterial Oscillator
Cyanobacterial Oscillator
Cyanobacterial Oscillator
Cyanobacterial Oscillator
Presentation transcript:

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

Biological Computing

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

Programming Biology Languages for complex, parallel computer systems: Languages for complex, parallel biological systems: stochastic -calculus

Reactions vs. Components Traditional modelling: model individual reactions

Large, Connected Reaction Graphs

Reactions vs. Components Traditional modelling: model individual reactions Stochastic -calculus: model components

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

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 Analysis

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

Outline Project Overview Gene Networks Immune System Pathway Project Overview Gene Networks Immune System Pathway

Project Overview

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] 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)= c,e)) and pep(k:float,free:chan,bound:chan,c:chan,e:chan)= ( new or !bind(u,c,e);pep_bound(u,k,free,bound,c,e) or ) 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 !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 or !u;MHCo() and MHCt_pep(u:chan,c:chan,e:chan)= do or and MHCc_pep(u:chan,c:chan,e:chan)= do or !c and MHCc()= do ?bindT(uT);MHCc_TPN(uT) or 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 or !u;MHCo_TPN(uT) and MHCt_TPN_pep(u:chan,c:chan,e:chan,uT:chan)= do or and MHCc_TPN_pep(u:chan,c:chan,e:chan,uT:chan)= do or !uT;MHCc_pep(u,c,e) and MHCc_TPN(uT:chan)= do or !uT;MHCc() (* *)

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

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

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

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

Gene Networks with Luca Cardelli (MSR Cambridge) Ralf Blossey (IRI Lille) with Luca Cardelli (MSR Cambridge) Ralf Blossey (IRI Lille)

Gene with Negative Control val transcribe = 0.1 val degrade = val unblock = new new let Neg(a:chan,b:chan) = do ( Protein(b) | Neg(a,b) ) or ?a; Neg(a,b) and Protein(b:chan) = do !b; Protein(b) or run Neg(a,b) transcribe = 0.1 unblock = degrade = rate(a,b) = 1.0 Neg(a,b) produces protein b and is blocked by protein a ba

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

Neg Gate Another protein b can be transcribed x1

Neg Gate And another... x1 x2

Neg Gate A protein b can be degraded at rate s -1 x1 x3

Neg Gate Equilibrium between transcription and degradation x1 x2

Neg Gate Level of protein b stabilises at around 100

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) © 2000 Elowitz, M.B., Leibler. S. A Synthetic Oscillatory Network of Transcriptional Regulators. Nature 403:

Repressilator: 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

Repressilator: Debugging (1) Initially there is one copy of each gene Any one of the proteins can be transcribed at rate 0.1 x1

Repressilator: Debugging (2) The tet protein can block the lambda gene at rate 1.0 x1

Repressilator: Debugging (3) Now no lambda protein can be transcribed. But lac protein can still be transcribed. x1

Repressilator: Debugging (4) The lac protein can block the tet gene at rate 1.0 x1

Repressilator: Debugging (5) Now no tet protein can be transcribed. All of the tet protein eventually degrades at rate x1

Repressilator: Debugging (5) Meanwhile, lots of lac protein is transcribed x1

Repressilator: Debugging (363) Represents one oscillation cycle Eventually, the lambda gene unblocks at rate x100

x1 x100 Repressilator: Debugging (2173) The lambda protein can now take over... x1

Repressilator: Results Alternate oscillation of proteins: tet, lac, lambda, tet,... tet lambdalac tet lambdalac tet lambdalac

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

Negp Gate with Inhibitor val transcribe = 0.1 val degrade = val unblock = new new new 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) Run Negp(a,b,r) r ba transcribe = 0.1 unblock = degrade = rate(a,b,r) = 1.0

Bacteria Logic Gates [Guet et al., 2002] 3 genes: tetR, lacI, cI 5 promoters: PL1, PL2, PT, P -, P 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):

Bacteria Logic Gates [Guet et al., 2002] IPTG, 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):

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

Immune System Modelling: MHC I Antigen Presentation with Luca Cardelli (MSR Cambridge) Leonard Goldstein (Cambridge University) Tim Elliott (Southampton University) Joern Werner (Southampton University) with Luca Cardelli (MSR Cambridge) Leonard Goldstein (Cambridge University) Tim Elliott (Southampton University) Joern Werner (Southampton University)

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.

MHC I Antigen Presentation [[© 2005 from Immunobiology, Sixth Edition by Janeway et al. Reproduced by permission of Garland Science/Taylor & Francis LLC.] 2005 from Immunobiology, Sixth Edition by Janeway et al. Reproduced by permission of Garland Science/Taylor & Francis LLC.] [[© 2005 from Immunobiology, Sixth Edition by Janeway et al. Reproduced by permission of Garland Science/Taylor & Francis LLC.] 2005 from Immunobiology, Sixth Edition by Janeway et al. Reproduced by permission of Garland Science/Taylor & Francis LLC.]

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.

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

Flytrap Model: -calculus x1 x200

x1 x200 x199 Flytrap Model: -calculus u x1

Flytrap Model: -calculus x1 x200 x199 u x1

Flytrap Model: -calculus x1 x200 x199 u x1

Simulation 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 TapasinTransient binding to Tapasin

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

Future 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

Thanks. Questions?

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