A generic abstract machine for stochastic process calculi

This paper presents a generic abstract machine for simulating a broad range of process calculi with an arbitrary reaction-based simulation algorithm. The abstract machine is instantiated to a particular calculus by defining two functions: one for transforming a process of the calculus to a set of species, and another for computing the set of possible reactions between species. Unlike existing simulation algorithms for chemical reactions, the abstract machine can simulate process calculi that generate potentially unbounded numbers of species and reactions. This is achieved by means of a just-in-time compiler, which dynamically updates the set of possible reactions and chooses the next reaction in an iterative cycle. As a proof of concept, the generic abstract machine is instantiated for the stochastic pi-calculus, and the instantiation is implemented as part of the SPiM stochastic simulator. The structure of the abstract machine facilitates a significant optimisation by allowing channel restrictions to be stored as species complexes. We also present a novel algorithm for simulating chemical reactions with general distributions, based on the Next Reaction Method of Gibson and Bruck. We use our generic framework to simulate a stochastic pi-calculus model of plasmid co-transfection, where plasmids can form aggregates of arbitrary size and where rates of mRNA degradation are non-exponential. The example illustrates the flexibility of our framework, which allows an appropriate high-level language to be paired with the required simulation algorithm, based on the biological system under consideration.

[1]  Corrado Priami,et al.  Exploiting non-Markovian Bio-Processes , 2009, QAPL.

[2]  D. Gillespie Exact Stochastic Simulation of Coupled Chemical Reactions , 1977 .

[3]  Michael A. Gibson,et al.  Efficient Exact Stochastic Simulation of Chemical Systems with Many Species and Many Channels , 2000 .

[4]  Luca Cardelli,et al.  Efficient, Correct Simulation of Biological Processes in the Stochastic Pi-calculus , 2007, CMSB.

[5]  Jane Hillston,et al.  Bio-PEPA: A framework for the modelling and analysis of biological systems , 2009, Theor. Comput. Sci..

[6]  Paola Lecca,et al.  Cell Cycle Control in Eukaryotes: A BioSpi model , 2007, Electron. Notes Theor. Comput. Sci..

[7]  D. Gillespie Approximate accelerated stochastic simulation of chemically reacting systems , 2001 .

[8]  Stefan Leye,et al.  Flexible experimentation in the modeling and simulation framework JAMES II - implications for computational systems biology , 2010, Briefings Bioinform..

[9]  Luca Cardelli,et al.  A Graphical Representation for Biological Processes in the Stochastic pi-Calculus , 2006, Trans. Comp. Sys. Biology.

[10]  Luca Cardelli,et al.  A programming language for composable DNA circuits , 2009, Journal of The Royal Society Interface.

[11]  Luca Cardelli,et al.  BioAmbients: an abstraction for biological compartments , 2004, Theor. Comput. Sci..

[12]  K. Burrage,et al.  Binomial leap methods for simulating stochastic chemical kinetics. , 2004, The Journal of chemical physics.

[13]  D. Volfson,et al.  Delay-induced stochastic oscillations in gene regulation. , 2005, Proceedings of the National Academy of Sciences of the United States of America.

[14]  D. Lauffenburger,et al.  Quantitative analysis of synthetic gene delivery vector design properties. , 2001, Molecular therapy : the journal of the American Society of Gene Therapy.

[15]  C. Priami Stochastic -calculus with General Distributions , 1996 .

[16]  Corrado Priami,et al.  Application of a stochastic name-passing calculus to representation and simulation of molecular processes , 2001, Inf. Process. Lett..

[17]  Corrado Priami,et al.  Simulation of non-Markovian Processes in BlenX , 2008 .

[18]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[19]  Gordon D. Plotkin,et al.  A Language for Biochemical Systems , 2008, CMSB.

[20]  Corrado Priami,et al.  Modelling and simulation of biological processes in BlenX , 2008, PERV.

[21]  Vincent Danos,et al.  Rule-Based Modelling of Cellular Signalling , 2007, CONCUR.

[22]  Andrew Phillips An Abstract Machine for the Stochastic Bioambient calculus , 2009, Electron. Notes Theor. Comput. Sci..

[23]  Aviv Regev,et al.  Representation and Simulation of Biochemical Processes Using the pi-Calculus Process Algebra , 2000, Pacific Symposium on Biocomputing.

[24]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .