The Stochastic Pi Machine (SPiM) is a programming language for designing and simulating computer models of biological processes. The language is based on a mathematical formalism known as the pi-calculus, and the simulation algorithm is based on standard kinetic theory of physical chemistry. The language features a simple graphical notation for modelling a range of biological systems, and can be used to model large systems incrementally, by directly composing simpler models of subsystems.
- Introductory chapter on SPiM [pdf]
- Introductory slides on SPiM [ppt] [pdf]
- Basic SPiM examples and simulation results [pdf]
- Coupled chemical reactions in SPiM [pdf]
- The SPiM language definition [pdf]
- Some 3D videos of SPiM simulations: Repressilator [wmv] Mapk [wmv] MHCI [wmv]
Online Simulator (2011-0506)
Download (version 0.05, 2008)
- The SPiM Player 1.13 is a graphical interface to SPiM, developed by James Margetson, Luca Cardelli and Andrew Phillips. (Requires the .Net 2.0 Runtime)
- A command-line version of SPiM is available in three distribution formats, under the SPiM License:
- A tool for translating text narrative to SPiM, developed by Ozan Kahramanogullari.
- A tool for translating SBML to SPiM, developed by Claudio Eccher.
- Further information on process calculi for biology at Luca Cardelli's Biocomputing Page, including an advanced tutorial.
- Luca Cardelli worked on the formal specification of SPiM, the design of the SPiM language, and on extensive testing and debugging.
- Rich Williams developed the Network 3D software for visualising simulations in 3D.
- Stefan Leye assisted with debugging the SPiM scheduling algorithm.
- James Margetson and Luca Cardelli developed the SPiM GUI.
- Pascal Zimmer assisted with debugging the OCaml bytecode distribution.
- The BioSpi project was the main inspiration for SPiM, and many of the SPiM chemical examples are adaptations of earlier BioSpi models.
- The core SPiM language was developed in F#.
For any queries or comments please contact Andrew Phillips using firstname.lastname@example.org
- Neil Dalchau, Andrew Phillips, Leonard D Goldstein, Mark Howarth, Luca Cardelli, Stephen Emmott, Tim Elliott, and Joern M Werner, A peptide filtering relation quantifies MHC class I peptide optimization, in PLoS Computational Biology, vol. 7, no. 10, pp. e1002144, PLoS, 13 October 2011
- Andrew Phillips, Matthew Lakin, and Loïc Paulevé, Stochastic Simulation of Process Calculi for Biology, in Electronic Proceedings in Theoretical Computer Science, vol. 40, pp. 1-5, November 2010
- Loïc Paulevé, Simon Youssef, Matthew R. Lakin, and Andrew Phillips, A Generic Abstract Machine for Stochastic Process Calculi, in Computational Methods in Systems Biology, pp. 43--54, September 2010
- Dennis Wang, Luca Cardelli, Andrew Phillips, Nir Piterman, and Jasmin Fisher, Computational modeling of the EGFR network elucidates control mechanisms regulating signal dynamics, in BMC Systems Biology, vol. 3, no. 118, December 2009
- Andrew Phillips, A Visual Process Calculus for Biology, in Symbolic Systems Biology: Theory and Methods, Jones and Bartlett Publishers, In Press, 2009
- Luca Cardelli, Emmanuelle Caron, Philippa Gardner, Ozan Kahramanogullari, and Andrew Phillips, A Process Model of Rho GTP-binding Proteins, in Theoretical Computer Science, Elsevier , 18 May 2009
- Andrew Phillips, An Abstract Machine for the Stochastic Bioambient Calculus, in Electronic Notes in Theoretical Computer Science, vol. 227, pp. 143-159, Elsevier , January 2009
- Luca Cardelli, Emmanuelle Caron, Philippa Gardner, Ozan Kahramanogullari, and Andrew Phillips, A Process Model of Actin Polymerisation, in Electronic Notes in Theoretical Computer Science, vol. 229, no. 1, pp. 127-144, Elsevier , February 2009
- Ralf Blossey, Luca Cardelli, and Andrew Phillips, Compositionality, Stochasticity and Cooperativity in Dynamic Models of Gene Regulation, in HFSP Journal, vol. 2, no. 1, pp. 17–28, HFSP Publishing, February 2008
- Johannes Borgstroem, Andrew Gordon, and Andrew Phillips, A Chart Semantics for the Pi-calculus, in Electronic Notes in Theoretical Computer Science, vol. 194, no. 2, pp. 3–29, Elsevier, January 2008
- Andrew Phillips and Luca Cardelli, Efficient, Correct Simulation of Biological Processes in the Stochastic Pi-calculus, in Computational Methods in Systems Biology, vol. 4695, pp. 184–199, Springer, September 2007
- Andrew Phillips, Luca Cardelli, and Giuseppe Castagna, A Graphical Representation for Biological Processes in the Stochastic Pi-calculus, in Transactions in Computational Systems Biology, vol. 4230, pp. 123–152, Springer, November 2006
- Ralf Blossey, Luca Cardelli, and Andrew Phillips, A Compositional Approach to the Stochastic Dynamics of Gene Networks, in Transactions in Computational Systems Biology, vol. 3939, no. 3939, pp. 99–122, Springer, January 2006
- Andrew Phillips and Luca Cardelli, A Correct Abstract Machine for the Stochastic Pi-calculus, in Concurrent Models in Molecular Biology, August 2004