ABSTRACT
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.
- }}D. Bratsun, D. Volfson, L. S. Tsimring, and J. Hasty. Delay-induced stochastic oscillations in gene regulation. Proceedings of the National Academy of Sciences of the United States of America, 102(41):14593--14598, 2005.Google ScholarCross Ref
- }}F. Ciocchetta and J. Hillston. Bio-PEPA: A framework for the modelling and analysis of biological systems. Theoretical Computer Science, 410(33--34):3065--3084, 2009. Google ScholarDigital Library
- }}V. Danos, J. Feret, W. Fontana, R. Harmer, and J. Krivine. CONCUR 2007 - Concurrency Theory, chapter Rule-Based Modelling of Cellular Signalling, pages 17--41. 2007. Google ScholarDigital Library
- }}L. Dematté, C. Priami, and A. Romanel. Modelling and simulation of biological processes in BlenX. SIGMETRICS Performance Evaluation Review, 35(4):32--39, 2008. Google ScholarDigital Library
- }}R. Ewald, J. Himmelspach, M. Jeschke, S. Leye, and A. M. Uhrmacher. Flexible experimentation in the modeling and simulation framework JAMES II -- implications for computational systems biology. Brief Bioinform, Jan 2010.Google ScholarCross Ref
- }}M. A. Gibson and J. Bruck. Efficient exact stochastic simulation of chemical systems with many species and many channels. The Journal of Physical Chemistry A, 104(9):1876--1889, 2000.Google ScholarCross Ref
- }}D. T. Gillespie. Exact stochastic simulation of coupled chemical reactions. J. Phys. Chem., 81(25):2340--2361, 1977.Google ScholarCross Ref
- }}D. T. Gillespie. Approximate accelerated stochastic simulation of chemically reacting systems. J. Chem. Phys., 115:1716--1733, 2001.Google ScholarCross Ref
- }}P. Lecca and C. Priami. Cell cycle control in eukaryotes: a BioSPI model. In BioConcur'03. ENTCS, 2003.Google Scholar
- }}I. Mura, D. Prandi, C. Priami, and A. Romanel. Exploiting non-Markovian Bio-Processes. Electr. Notes Theor. Comput. Sci., 253(3):83--98, 2009. Google ScholarDigital Library
- }}M. Pedersen and G. Plotkin. A language for biochemical systems. In Computational Methods in Systems Biology, volume 5307 of LNCS, pages 63--82. Springer, 2008. Google ScholarDigital Library
- }}A. Phillips. An abstract machine for the stochastic bioambient calculus. Electronic Notes in Theoretical Computer Science, 227:143--159, January 2009. Google ScholarDigital Library
- }}A. Phillips and L. Cardelli. Efficient, correct simulation of biological processes in the stochastic pi-calculus. In Computational Methods in Systems Biology, volume 4695 of LNCS, pages 184--199. Springer, September 2007. Google Scholar
- }}A. Phillips and L. Cardelli. A programming language for composable DNA circuits. Journal of the Royal Society Interface, 6(S4):419--436, August 2009.Google ScholarCross Ref
- }}A. Phillips, L. Cardelli, and G. Castagna. A graphical representation for biological processes in the stochastic pi-calculus. Transactions in Computational Systems Biology, 4230:123--152, November 2006. Google ScholarDigital Library
- }}D. Prandi, C. Priami, and A. Romanel. Simulation of Non-Markovian Processes in BlenX. Technical Report TR-11-2008, The Microsoft Research - University of Trento Centre for Computational and Systems Biology, 2008.Google Scholar
- }}C. Priami. Stochastic π-calculus with general distributions. In Proc. of the 4th Workshop on Process Algebras and Performance Modelling, CLUT, pages 41--57, 1996.Google Scholar
- }}C. Priami, A. Regev, E. Shapiro, and W. Silverman. Application of a stochastic name-passing calculus to representation and simulation of molecular processes. Information Processing Letters, 80:25--31, 2001. Google ScholarDigital Library
- }}A. Regev, E. M. Panina, W. Silverman, L. Cardelli, and E. Y. Shapiro. Bioambients: an abstraction for biological compartments. Theor. Comput. Sci., 325(1):141--167, 2004. Google ScholarDigital Library
- }}A. Regev, W. Silverman, and E. Shapiro. Representation and simulation of biochemical processes using the pi-calculus process algebra. In Pacific Symposium on Biocomputing, volume 6, pages 459--470, Singapore, 2001. World Scientific Press.Google Scholar
- }}D. Sangiorgi and D. Walker. The π-calculus: a Theory of Mobile Processes. Cambridge University Press, 2001. Google ScholarDigital Library
- }}T. Tian and K. Burrage. Binomial leap methods for simulating stochastic chemical kinetics. J. Chem. Phys., 121:10356--10364, 2004.Google ScholarCross Ref
- }}C. M. Varga, K. Hong, and D. A. Lauffenburger. Quantitative analysis of synthetic gene delivery vector design properties. Mol Ther, 4(5):438--446, Nov 2001.Google ScholarCross Ref
Index Terms
A generic abstract machine for stochastic process calculi
Recommendations
Stochastic simulation of multiple process calculi for biology
Numerous programming languages based on process calculi have been developed for biological modelling, many of which can generate potentially unbounded numbers of molecular species and reactions. As a result, such languages cannot rely on standard ...
An Abstract Machine for the Stochastic Bioambient calculus
This paper presents an abstract machine for the stochastic bioambient calculus. The abstract machine is proved sound and complete with respect to a novel stochastic semantics, and is also shown to preserve the reduction probabilities of the calculus. ...
Modular Labelled Sequent Calculi for Abstract Separation Logics
Abstract separation logics are a family of extensions of Hoare logic for reasoning about programs that manipulate resources such as memory locations. These logics are “abstract” because they are independent of any particular concrete resource model. ...
Comments