Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming Languages for Biology Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK.

Similar presentations


Presentation on theme: "Programming Languages for Biology Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK."— Presentation transcript:

1 Programming Languages for Biology Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK

2 Biological Computing 2

3 Systems Biology The Human Genome project: Map out the complete genetic code in humans To unravel the mysteries of how the human body functions The 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 properties Build detailed models of systems and test these in the lab Biological Modelling: Conduct virtual experiments, saving time and resources Clarify how a biological system functions Beginning to play a key role in understanding and curing disease

4 Large, Complex, Biological Models http://www.celldesigner.org Suggests a need for a biological programming language...

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

6 EGFR Model [Hornberg et. al 2005] 6

7 7

8 Modular EGFR

9

10 Stochastic  -calculus Xp = a. XY = a. Yp X = d. XpYp = d. Y Message-Passing Approach Chemical Reactions Xp + Y  a X + Yp X + Yp  d Xp + Y

11 Compact, Modular Models Chemical Reactions Stochastic  -calculus

12 Extendable,Maintainable Models Build complex models by composing simpler components. The models are easier to extend and maintain.

13 Model Analysis A formal programming language Analysis techniques (types,equivalences,model-checking) Provide insight into properties of biological systems

14 Is it safe to replace one system with another? Verifying Biological Models

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

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

17 Parameterised Gene Gate GateG(a,b) AutoinhibitoryG(b,b) BistableG(a,b) | G(b,a) OscillatorG(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

18 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

19 Graphical Debugging GUI by Rich Williams, MSR Cambridge

20 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

21 Parameter Analysis Range of parameters for good oscillations (produce=0.1): produce/degrade > 1000, unblock > degrade, block > 100*produce Blossey, Cardelli and 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

22 Model Refinement: Different behaviour, same network G(a,b) | G(b,c) | G(c,a) Blossey, Cardelli, Phillips, 2007

23 Cooperativity improves robustness Proteins form complexes before repressing Blossey, Cardelli, Phillips, 2007

24 Cooperativity Simulations MonomersTetramers

25 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

26 Gene with additional Inhibitor 26 ba i ba G(a,b) Gi(a,b,i)

27 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 gfp tet lac lambda aTc IPTG 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)

28 Programming an Immune System Pathway with Luca Cardelli (MSR Cambridge) Leonard Goldstein (Cambridge University) Tim Elliott (Southampton University) Joern Werner (Southampton University)

29 MHC: A Biological Virus Scanner 29 ©2005 from Immunobiology, Sixth Edition by Janeway et al. Reproduced by permission of Garland Science/Taylor & Francis LLC.

30 MHC Structure Interaction of MHC with peptide

31 Investigate the Role of Tapasin ©2005 from Immunobiology, Sixth Edition by Janeway et al. Reproduced by permission of Garland Science/Taylor & Francis LLC.

32 Basic Peptide Editing Model Each graph represents a component Assume low, medium and high affinity peptides

33 Model Parameters MHC spends < 2h on average in the ER. NameRate min -1 Time min Range min -1 Description gPep500.02Active transport of peptides into the ER dPep100.1Degradation of free peptides inside the ER bind11Binding of peptides to MHC (per molecule) low30.33Unbinding of low affinity peptides from MHC med1.20.83Unbinding of medium affinity peptides from MHC high0.52Unbinding of high affinity peptides from MHC gMHC100.1Assembly of MHC complexes inside the ER dMHCo0.011000.01 - 100Degradation of free MHC inside the ER dMHCe0.01100Degradation of loaded MHC at the cell surface egress110.01 - 1Egression of loaded MHC from the ER gTPN100.1Production of tapasin inside the ER dTPN0.01100Degradation of free tapasin inside the ER bindT1000.011 - 1000Binding of tapasin to MHC (per molecule) uT110.01 - 1Unbinding of tapasin from loaded MHC

34 Simulations Match Experiments Improved discrimination with tapasin Why...? No Tapasin  Tapasin

35 Consider a loaded peptide with unbinding rate u Competition between unbinding and egression Stable peptides are more likely to egress Peptide Discrimination x1

36 Tapasin adds a second filtering stage Improves upper bound on discrimination Peptide Discrimination x1

37 Peptide Loading: Flytrap Model MHC I captures peptides like a Venus Flytrap. peptide enters open MHC stable peptide is captured and presented at cell surface unstable peptide escapes

38 MHC can open and close several times But same upper bound on discrimination Peptide Discrimination: Flytrap x1

39 MHC Alleles: Model Predictions Explanation for immune system variability B4402 (Dependent)B2705 (Partially)B4405 (Independent) No TPN 1000 TPN

40 Next Steps Perform targeted experiments Complete a more detailed MHC model. Calreticulin Erp57 TAP transporter BBSRC Funding 2006-2007 MRC Funding 2007-2010

41 Viral Co-Transfection How can we use single-cell experiments to construct a model of viral co-transfection? Single cell assays have been established recently, as a means of obtaining high quality time-series data. This project aims to integrate both in silico and in vitro data by providing a standard toolkit for comparing models and experiments. The toolkit will illuminate key points of the interplay between model and experiment using all available readouts from an experimental system. New computational and experimental methods will be developed to improve the high-throughput gathering and processing of single cell data. These methods will be used to study the gene delivery process and the apoptosis pathway. We first aim to construct a predictive model for the co- transfection mechanism, to understand the filtering of complexes and gain insights into complex formation. This will in turn enhance our understanding of the synthetic virus pathway. Method Our collaborators have been engineering a number of synthetic viruses and using different approaches for co-transfection. We start with plasmids for red and green fluorescent protein. These plasmids can form complexes, which then aggregate. The resulting super-complex is coated and enters the cell to reach the nucleus, starting with endosomal uptake to intracellular transport and finally nuclear translocation. We will examine the results of co-transfection and construct computational models, which will be validated by premixing and postmixing experiments, using variable concentrations, buffers and transfection agents. This will give insight into the kinetic processes and the efficiency of gene transfer. Collaborators –Andrew Phillips, Luca Cardelli, MSR Cambridge. –Joachim Rädler and Simon Youssef, University of Munich. GG G G G G PoissonProcess m : plasmids Complex GGGG G G RR R R R R GG G G G G

42 Rho GTP and Phagocytosis How can we understand the molecular switching mechanisms of Rho GTP proteins? Rho GTP-binding proteins play a key role as molecular switches in many cellular activities. In response to extracellular stimuli and with the help from regulators (GEF, GAP, Effector, GDI), these proteins serve as switches that interact with their environment in a complex manner. Based on the structure of a published ordinary differential equations (ODE) model, we first present a generic process model for the Rho GTPbinding proteins, and compare it with the ODE model. We then extend the basic model to include the behaviour of the GDI regulators and explore the parameter space for the extended model with respect to biological data from the literature. We discuss the challenges this extension brings and the directions of further research. Method Construct a process model of Rho GTP Binding proteins. Perform extensive parameter sensitivity analysis of the model. Propose mechanisms for molecular switching. Investigate extensions for modelling coordinate geometery. Results –Cardelli, Caron, Gardner, Kahramanogulları, Phillips, Submitted 2008. Collaborators –Andrew Phillips, Luca Cardelli, Vassily Lyutsarev, MSR Cambridge. –Philippa Gardner, Ozan Kahramanogulları, Emmanuelle Caron, Imperial College

43 Simulating Dynamic Compartments How can we model and simulate dynamically evolving compartments? Dynamic compartments are a crucial aspect of cellular systems. In order to produce faithful models of cells, organs and organisms, we need a language that can model and simulate such compartments. Method Develop a simulation algorithm for dynamic compartments. Use this to model and simulate viral entry and infection. Results –Muganthan, Phillips, Vigliotti. Bioambient prototype in Java. –David, Phillips. Membrane prototype in Java. –Phillips, Vigliotti, in preparation. Project Team –Andrew Phillips, Luca Cardelli, MSR Cambridge. –Maria Vigliotti, Vinod Muganthan, Imperial College. –Pamela David, University of the Philippines.

44 Integrative Biological Modelling How can we integrate different modelling approaches into a common framework? Different languages have different strengths, both in terms of model construction and analysis. This project aims to investigate the relationship between sequence charts, pi-calculus, petri nets and statecharts. Method Investigate the relationship between petri nets and pi-calculus using formal encodings. Investigate the relationship between sequence charts and pi- calculus using encodings and code generation. How difficult is it to generate a message passing program from a collection of scenarios? How does this compare with generating a statechart from scenarios? Investigate how the various modelling languages complement each other, by modelling a common example - C. elegans VPC system. Project Team –Andrew Phillips, Hillel Kugler, MSR Cambridge. –Michael Pederson, Gordon Plotkin, Edinburgh University.

45 Conclusions Biological systems work surprisingly well, though we often don’t understand why We still have a lot to learn from nature. Long-term benefits for medical research: Better understand disease. Speed up the design of a cure. Long-term benefits for computing: Write more robust concurrent programs Design and verify biological computers

46 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, 2006] Phillips, A. (2006). The Stochastic Pi-Machine: A Simulator for the Stochastic Pi- calculus. Available from http://research.microsoft.com/˜aphillip/spim/.

47 References [Phillips and Cardelli, 2004] Phillips, A. and Cardelli, L. (2004). A correct abstract machine for the stochastic pi-calculus. In proceedings of Concurrent Models in Molecular Biology. [Phillips and Cardelli, 2005] Phillips, A. and Cardelli, L. (2005). A graphical representation for the stochastic pi-calculus. In proceedings of Concurrent Models in Molecular Biology. [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. [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.

48 Related Work Stochastic  -calculus proposed by [Priami, 1995] Used to 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] 48

49 Stochastic Pi Machine A corrrect simulation algorithm for stochastic  -calculus Based on standard theory of chemical kinetics [Gillespie, 1977] The probability of a reaction is proportional to its rate Proved correct with respect to stochastic  -calculus. PROVED CORRECT Phillips and Cardelli, 2004 Phillips and Cardelli, 2007

50 SPiM Simulator A simulator for stochastic  -calculus Direct mapping from formal algorithm to functional code (F#) Functional code quite close to our formal specification Rapid implementation, improved confidence in simulation results http://research.microsoft.com/~aphillip/spim Phillips, 2006GUI by James Margetson, MSR Cambridge

51 Graphical Stochastic  -calculus A graphical  -calculus and execution model Display stochastic  -calculus models as graphs Helps make the calculus more accessible Proved equivalent to stochastic  -calculus PROVED EQUIVALENT 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) Phillips and Cardelli, 2005 Phillips, Cardelli and Castagna, 2006


Download ppt "Programming Languages for Biology Andrew Phillips with Luca Cardelli Microsoft Research, Cambridge UK."

Similar presentations


Ads by Google