Serveur d'exploration sur Pittsburgh

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Exact Hybrid Particle/Population Simulation of Rule-Based Models of Biochemical Systems

Identifieur interne : 000256 ( Pmc/Corpus ); précédent : 000255; suivant : 000257

Exact Hybrid Particle/Population Simulation of Rule-Based Models of Biochemical Systems

Auteurs : Justin S. Hogg ; Leonard A. Harris ; Lori J. Stover ; Niketh S. Nair ; James R. Faeder

Source :

RBID : PMC:3974646

Abstract

Detailed modeling and simulation of biochemical systems is complicated by the problem of combinatorial complexity, an explosion in the number of species and reactions due to myriad protein-protein interactions and post-translational modifications. Rule-based modeling overcomes this problem by representing molecules as structured objects and encoding their interactions as pattern-based rules. This greatly simplifies the process of model specification, avoiding the tedious and error prone task of manually enumerating all species and reactions that can potentially exist in a system. From a simulation perspective, rule-based models can be expanded algorithmically into fully-enumerated reaction networks and simulated using a variety of network-based simulation methods, such as ordinary differential equations or Gillespie's algorithm, provided that the network is not exceedingly large. Alternatively, rule-based models can be simulated directly using particle-based kinetic Monte Carlo methods. This “network-free” approach produces exact stochastic trajectories with a computational cost that is independent of network size. However, memory and run time costs increase with the number of particles, limiting the size of system that can be feasibly simulated. Here, we present a hybrid particle/population simulation method that combines the best attributes of both the network-based and network-free approaches. The method takes as input a rule-based model and a user-specified subset of species to treat as population variables rather than as particles. The model is then transformed by a process of “partial network expansion” into a dynamically equivalent form that can be simulated using a population-adapted network-free simulator. The transformation method has been implemented within the open-source rule-based modeling platform BioNetGen, and resulting hybrid models can be simulated using the particle-based simulator NFsim. Performance tests show that significant memory savings can be achieved using the new approach and a monetary cost analysis provides a practical measure of its utility.


Url:
DOI: 10.1371/journal.pcbi.1003544
PubMed: 24699269
PubMed Central: 3974646

Links to Exploration step

PMC:3974646

Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">Exact Hybrid Particle/Population Simulation of Rule-Based Models of Biochemical Systems</title>
<author>
<name sortKey="Hogg, Justin S" sort="Hogg, Justin S" uniqKey="Hogg J" first="Justin S." last="Hogg">Justin S. Hogg</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Harris, Leonard A" sort="Harris, Leonard A" uniqKey="Harris L" first="Leonard A." last="Harris">Leonard A. Harris</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Stover, Lori J" sort="Stover, Lori J" uniqKey="Stover L" first="Lori J." last="Stover">Lori J. Stover</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Nair, Niketh S" sort="Nair, Niketh S" uniqKey="Nair N" first="Niketh S." last="Nair">Niketh S. Nair</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Faeder, James R" sort="Faeder, James R" uniqKey="Faeder J" first="James R." last="Faeder">James R. Faeder</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">PMC</idno>
<idno type="pmid">24699269</idno>
<idno type="pmc">3974646</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3974646</idno>
<idno type="RBID">PMC:3974646</idno>
<idno type="doi">10.1371/journal.pcbi.1003544</idno>
<date when="2014">2014</date>
<idno type="wicri:Area/Pmc/Corpus">000256</idno>
<idno type="wicri:explorRef" wicri:stream="Pmc" wicri:step="Corpus" wicri:corpus="PMC">000256</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en" level="a" type="main">Exact Hybrid Particle/Population Simulation of Rule-Based Models of Biochemical Systems</title>
<author>
<name sortKey="Hogg, Justin S" sort="Hogg, Justin S" uniqKey="Hogg J" first="Justin S." last="Hogg">Justin S. Hogg</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Harris, Leonard A" sort="Harris, Leonard A" uniqKey="Harris L" first="Leonard A." last="Harris">Leonard A. Harris</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Stover, Lori J" sort="Stover, Lori J" uniqKey="Stover L" first="Lori J." last="Stover">Lori J. Stover</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Nair, Niketh S" sort="Nair, Niketh S" uniqKey="Nair N" first="Niketh S." last="Nair">Niketh S. Nair</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Faeder, James R" sort="Faeder, James R" uniqKey="Faeder J" first="James R." last="Faeder">James R. Faeder</name>
<affiliation>
<nlm:aff id="aff1"></nlm:aff>
</affiliation>
</author>
</analytic>
<series>
<title level="j">PLoS Computational Biology</title>
<idno type="ISSN">1553-734X</idno>
<idno type="eISSN">1553-7358</idno>
<imprint>
<date when="2014">2014</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">
<p>Detailed modeling and simulation of biochemical systems is complicated by the problem of combinatorial complexity, an explosion in the number of species and reactions due to myriad protein-protein interactions and post-translational modifications. Rule-based modeling overcomes this problem by representing molecules as structured objects and encoding their interactions as pattern-based rules. This greatly simplifies the process of model specification, avoiding the tedious and error prone task of manually enumerating all species and reactions that can potentially exist in a system. From a simulation perspective, rule-based models can be expanded algorithmically into fully-enumerated reaction networks and simulated using a variety of network-based simulation methods, such as ordinary differential equations or Gillespie's algorithm, provided that the network is not exceedingly large. Alternatively, rule-based models can be simulated directly using particle-based kinetic Monte Carlo methods. This “network-free” approach produces exact stochastic trajectories with a computational cost that is independent of network size. However, memory and run time costs increase with the number of particles, limiting the size of system that can be feasibly simulated. Here, we present a hybrid particle/population simulation method that combines the best attributes of both the network-based and network-free approaches. The method takes as input a rule-based model and a user-specified subset of species to treat as population variables rather than as particles. The model is then transformed by a process of “partial network expansion” into a dynamically equivalent form that can be simulated using a population-adapted network-free simulator. The transformation method has been implemented within the open-source rule-based modeling platform BioNetGen, and resulting hybrid models can be simulated using the particle-based simulator NFsim. Performance tests show that significant memory savings can be achieved using the new approach and a monetary cost analysis provides a practical measure of its utility.</p>
</div>
</front>
<back>
<div1 type="bibliography">
<listBibl>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Perelson, As" uniqKey="Perelson A">AS Perelson</name>
</author>
<author>
<name sortKey="Goldstein, B" uniqKey="Goldstein B">B Goldstein</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Posner, Rg" uniqKey="Posner R">RG Posner</name>
</author>
<author>
<name sortKey="Hucka, M" uniqKey="Hucka M">M Hucka</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Aldridge, Bb" uniqKey="Aldridge B">BB Aldridge</name>
</author>
<author>
<name sortKey="Burke, Jm" uniqKey="Burke J">JM Burke</name>
</author>
<author>
<name sortKey="Lauffenburger, Da" uniqKey="Lauffenburger D">DA Lauffenburger</name>
</author>
<author>
<name sortKey="Sorger, Pk" uniqKey="Sorger P">PK Sorger</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Goldstein, B" uniqKey="Goldstein B">B Goldstein</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Danos, V" uniqKey="Danos V">V Danos</name>
</author>
<author>
<name sortKey="Laneve, C" uniqKey="Laneve C">C Laneve</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Danos, V" uniqKey="Danos V">V Danos</name>
</author>
<author>
<name sortKey="Feret, J" uniqKey="Feret J">J Feret</name>
</author>
<author>
<name sortKey="Fontana, W" uniqKey="Fontana W">W Fontana</name>
</author>
<author>
<name sortKey="Harmer, R" uniqKey="Harmer R">R Harmer</name>
</author>
<author>
<name sortKey="Krivine, J" uniqKey="Krivine J">J Krivine</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Maus, C" uniqKey="Maus C">C Maus</name>
</author>
<author>
<name sortKey="Rybacki, S" uniqKey="Rybacki S">S Rybacki</name>
</author>
<author>
<name sortKey="Uhrmacher, Am" uniqKey="Uhrmacher A">AM Uhrmacher</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Lis, M" uniqKey="Lis M">M Lis</name>
</author>
<author>
<name sortKey="Artyomov, Mn" uniqKey="Artyomov M">MN Artyomov</name>
</author>
<author>
<name sortKey="Devadas, S" uniqKey="Devadas S">S Devadas</name>
</author>
<author>
<name sortKey="Chakraborty, Ak" uniqKey="Chakraborty A">AK Chakraborty</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Angermann, Br" uniqKey="Angermann B">BR Angermann</name>
</author>
<author>
<name sortKey="Klauschen, F" uniqKey="Klauschen F">F Klauschen</name>
</author>
<author>
<name sortKey="Garcia, Ad" uniqKey="Garcia A">AD Garcia</name>
</author>
<author>
<name sortKey="Prustel, T" uniqKey="Prustel T">T Prustel</name>
</author>
<author>
<name sortKey="Zhang, F" uniqKey="Zhang F">F Zhang</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Faeder, J" uniqKey="Faeder J">J Faeder</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Yang, J" uniqKey="Yang J">J Yang</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Sneddon, Mw" uniqKey="Sneddon M">MW Sneddon</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Emonet, T" uniqKey="Emonet T">T Emonet</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Goldstein, B" uniqKey="Goldstein B">B Goldstein</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Goldstein, B" uniqKey="Goldstein B">B Goldstein</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Hindmarsh, Ac" uniqKey="Hindmarsh A">AC Hindmarsh</name>
</author>
<author>
<name sortKey="Brown, Pn" uniqKey="Brown P">PN Brown</name>
</author>
<author>
<name sortKey="Grant, Ke" uniqKey="Grant K">KE Grant</name>
</author>
<author>
<name sortKey="Lee, Sl" uniqKey="Lee S">SL Lee</name>
</author>
<author>
<name sortKey="Serban, R" uniqKey="Serban R">R Serban</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gillespie, Dt" uniqKey="Gillespie D">DT Gillespie</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Fricke, T" uniqKey="Fricke T">T Fricke</name>
</author>
<author>
<name sortKey="Wendt, D" uniqKey="Wendt D">D Wendt</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Harris, La" uniqKey="Harris L">LA Harris</name>
</author>
<author>
<name sortKey="Clancy, P" uniqKey="Clancy P">P Clancy</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Yang, J" uniqKey="Yang J">J Yang</name>
</author>
<author>
<name sortKey="Monine, Mi" uniqKey="Monine M">MI Monine</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Danos, V" uniqKey="Danos V">V Danos</name>
</author>
<author>
<name sortKey="Feret, J" uniqKey="Feret J">J Feret</name>
</author>
<author>
<name sortKey="Fontana, W" uniqKey="Fontana W">W Fontana</name>
</author>
<author>
<name sortKey="Krivine, J" uniqKey="Krivine J">J Krivine</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Bortz, Ab" uniqKey="Bortz A">AB Bortz</name>
</author>
<author>
<name sortKey="Kalos, Mh" uniqKey="Kalos M">MH Kalos</name>
</author>
<author>
<name sortKey="Lebowitz, Jl" uniqKey="Lebowitz J">JL Lebowitz</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Colvin, J" uniqKey="Colvin J">J Colvin</name>
</author>
<author>
<name sortKey="Monine, Mi" uniqKey="Monine M">MI Monine</name>
</author>
<author>
<name sortKey="Gutenkunst, Rn" uniqKey="Gutenkunst R">RN Gutenkunst</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
<author>
<name sortKey="Von Hoff, Dd" uniqKey="Von Hoff D">DD Von Hoff</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Colvin, J" uniqKey="Colvin J">J Colvin</name>
</author>
<author>
<name sortKey="Monine, Mi" uniqKey="Monine M">MI Monine</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
<author>
<name sortKey="Von Hoff, Dd" uniqKey="Von Hoff D">DD Von Hoff</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Grunert, G" uniqKey="Grunert G">G Grünert</name>
</author>
<author>
<name sortKey="Dittrich, P" uniqKey="Dittrich P">P Dittrich</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Yang, J" uniqKey="Yang J">J Yang</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Tomita, M" uniqKey="Tomita M">M Tomita</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Karr, Jr" uniqKey="Karr J">JR Karr</name>
</author>
<author>
<name sortKey="Sanghvi, Jc" uniqKey="Sanghvi J">JC Sanghvi</name>
</author>
<author>
<name sortKey="Macklin, Dn" uniqKey="Macklin D">DN Macklin</name>
</author>
<author>
<name sortKey="Gutschow, Mv" uniqKey="Gutschow M">MV Gutschow</name>
</author>
<author>
<name sortKey="Jacobs, Jm" uniqKey="Jacobs J">JM Jacobs</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Moran, U" uniqKey="Moran U">U Moran</name>
</author>
<author>
<name sortKey="Phillips, R" uniqKey="Phillips R">R Phillips</name>
</author>
<author>
<name sortKey="Milo, R" uniqKey="Milo R">R Milo</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gillespie, Dt" uniqKey="Gillespie D">DT Gillespie</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gillespie, Dt" uniqKey="Gillespie D">DT Gillespie</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gibson, Ma" uniqKey="Gibson M">MA Gibson</name>
</author>
<author>
<name sortKey="Bruck, J" uniqKey="Bruck J">J Bruck</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Cao, Y" uniqKey="Cao Y">Y Cao</name>
</author>
<author>
<name sortKey="Li, H" uniqKey="Li H">H Li</name>
</author>
<author>
<name sortKey="Petzold, L" uniqKey="Petzold L">L Petzold</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Slepoy, A" uniqKey="Slepoy A">A Slepoy</name>
</author>
<author>
<name sortKey="Thompson, Ap" uniqKey="Thompson A">AP Thompson</name>
</author>
<author>
<name sortKey="Plimpton, Sj" uniqKey="Plimpton S">SJ Plimpton</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Schulze, Tp" uniqKey="Schulze T">TP Schulze</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Mccollum, Jm" uniqKey="Mccollum J">JM McCollum</name>
</author>
<author>
<name sortKey="Peterson, Gd" uniqKey="Peterson G">GD Peterson</name>
</author>
<author>
<name sortKey="Cox, Cd" uniqKey="Cox C">CD Cox</name>
</author>
<author>
<name sortKey="Simpson, Ml" uniqKey="Simpson M">ML Simpson</name>
</author>
<author>
<name sortKey="Samatova, Nf" uniqKey="Samatova N">NF Samatova</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Monine, Mi" uniqKey="Monine M">MI Monine</name>
</author>
<author>
<name sortKey="Posner, Rg" uniqKey="Posner R">RG Posner</name>
</author>
<author>
<name sortKey="Savage, Pb" uniqKey="Savage P">PB Savage</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Roland, J" uniqKey="Roland J">J Roland</name>
</author>
<author>
<name sortKey="Berro, J" uniqKey="Berro J">J Berro</name>
</author>
<author>
<name sortKey="Michelot, A" uniqKey="Michelot A">A Michelot</name>
</author>
<author>
<name sortKey="Blanchoin, L" uniqKey="Blanchoin L">L Blanchoin</name>
</author>
<author>
<name sortKey="Martiel, Jl" uniqKey="Martiel J">JL Martiel</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Haseltine, El" uniqKey="Haseltine E">EL Haseltine</name>
</author>
<author>
<name sortKey="Rawlings, Jb" uniqKey="Rawlings J">JB Rawlings</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Kiehl, Tr" uniqKey="Kiehl T">TR Kiehl</name>
</author>
<author>
<name sortKey="Mattheyses, Rm" uniqKey="Mattheyses R">RM Mattheyses</name>
</author>
<author>
<name sortKey="Simmons, Mk" uniqKey="Simmons M">MK Simmons</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Takahashi, K" uniqKey="Takahashi K">K Takahashi</name>
</author>
<author>
<name sortKey="Kaizu, K" uniqKey="Kaizu K">K Kaizu</name>
</author>
<author>
<name sortKey="Hu, B" uniqKey="Hu B">B Hu</name>
</author>
<author>
<name sortKey="Tomita, M" uniqKey="Tomita M">M Tomita</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Vasudeva, K" uniqKey="Vasudeva K">K Vasudeva</name>
</author>
<author>
<name sortKey="Bhalla, Us" uniqKey="Bhalla U">US Bhalla</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Burrage, K" uniqKey="Burrage K">K Burrage</name>
</author>
<author>
<name sortKey="Tian, T" uniqKey="Tian T">T Tian</name>
</author>
<author>
<name sortKey="Burrage, P" uniqKey="Burrage P">P Burrage</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Salis, H" uniqKey="Salis H">H Salis</name>
</author>
<author>
<name sortKey="Kaznessis, Y" uniqKey="Kaznessis Y">Y Kaznessis</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Salis, H" uniqKey="Salis H">H Salis</name>
</author>
<author>
<name sortKey="Sotiropoulos, V" uniqKey="Sotiropoulos V">V Sotiropoulos</name>
</author>
<author>
<name sortKey="Kaznessis, Yn" uniqKey="Kaznessis Y">YN Kaznessis</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Griffith, M" uniqKey="Griffith M">M Griffith</name>
</author>
<author>
<name sortKey="Courtney, T" uniqKey="Courtney T">T Courtney</name>
</author>
<author>
<name sortKey="Peccoud, J" uniqKey="Peccoud J">J Peccoud</name>
</author>
<author>
<name sortKey="Sanders, Wh" uniqKey="Sanders W">WH Sanders</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wylie, Dc" uniqKey="Wylie D">DC Wylie</name>
</author>
<author>
<name sortKey="Hori, Y" uniqKey="Hori Y">Y Hori</name>
</author>
<author>
<name sortKey="Dinner, Ar" uniqKey="Dinner A">AR Dinner</name>
</author>
<author>
<name sortKey="Chakraborty, Ak" uniqKey="Chakraborty A">AK Chakraborty</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Liu, Z" uniqKey="Liu Z">Z Liu</name>
</author>
<author>
<name sortKey="Pu, Y" uniqKey="Pu Y">Y Pu</name>
</author>
<author>
<name sortKey="Li, F" uniqKey="Li F">F Li</name>
</author>
<author>
<name sortKey="Shaffer, Ca" uniqKey="Shaffer C">CA Shaffer</name>
</author>
<author>
<name sortKey="Hoops, S" uniqKey="Hoops S">S Hoops</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Falkenberg, Cv" uniqKey="Falkenberg C">CV Falkenberg</name>
</author>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Loew, Lm" uniqKey="Loew L">LM Loew</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Lok, L" uniqKey="Lok L">L Lok</name>
</author>
<author>
<name sortKey="Brent, R" uniqKey="Brent R">R Brent</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Yang, J" uniqKey="Yang J">J Yang</name>
</author>
<author>
<name sortKey="Goldstein, B" uniqKey="Goldstein B">B Goldstein</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Creamer, M" uniqKey="Creamer M">M Creamer</name>
</author>
<author>
<name sortKey="Stites, E" uniqKey="Stites E">E Stites</name>
</author>
<author>
<name sortKey="Aziz, M" uniqKey="Aziz M">M Aziz</name>
</author>
<author>
<name sortKey="Cahill, J" uniqKey="Cahill J">J Cahill</name>
</author>
<author>
<name sortKey="Tan, C" uniqKey="Tan C">C Tan</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Borisov, Nm" uniqKey="Borisov N">NM Borisov</name>
</author>
<author>
<name sortKey="Markevich, Ni" uniqKey="Markevich N">NI Markevich</name>
</author>
<author>
<name sortKey="Hoek, Jb" uniqKey="Hoek J">JB Hoek</name>
</author>
<author>
<name sortKey="Kholodenko, Bn" uniqKey="Kholodenko B">BN Kholodenko</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Borisov, Nm" uniqKey="Borisov N">NM Borisov</name>
</author>
<author>
<name sortKey="Markevich, Ni" uniqKey="Markevich N">NI Markevich</name>
</author>
<author>
<name sortKey="Hoek, Jb" uniqKey="Hoek J">JB Hoek</name>
</author>
<author>
<name sortKey="Kholodenko, Bn" uniqKey="Kholodenko B">BN Kholodenko</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Conzelmann, H" uniqKey="Conzelmann H">H Conzelmann</name>
</author>
<author>
<name sortKey="Fey, D" uniqKey="Fey D">D Fey</name>
</author>
<author>
<name sortKey="Gilles, Ed" uniqKey="Gilles E">ED Gilles</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Borisov, Nm" uniqKey="Borisov N">NM Borisov</name>
</author>
<author>
<name sortKey="Chistopolsky, As" uniqKey="Chistopolsky A">AS Chistopolsky</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Kholodenko, Bn" uniqKey="Kholodenko B">BN Kholodenko</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Feret, J" uniqKey="Feret J">J Feret</name>
</author>
<author>
<name sortKey="Danos, V" uniqKey="Danos V">V Danos</name>
</author>
<author>
<name sortKey="Krivine, J" uniqKey="Krivine J">J Krivine</name>
</author>
<author>
<name sortKey="Harmer, R" uniqKey="Harmer R">R Harmer</name>
</author>
<author>
<name sortKey="Fontana, W" uniqKey="Fontana W">W Fontana</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Goldstein, B" uniqKey="Goldstein B">B Goldstein</name>
</author>
<author>
<name sortKey="Perelson, As" uniqKey="Perelson A">AS Perelson</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Pollard, Td" uniqKey="Pollard T">TD Pollard</name>
</author>
<author>
<name sortKey="Borisy, Gg" uniqKey="Borisy G">GG Borisy</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Lacayo, Ci" uniqKey="Lacayo C">CI Lacayo</name>
</author>
<author>
<name sortKey="Pincus, Z" uniqKey="Pincus Z">Z Pincus</name>
</author>
<author>
<name sortKey="Vanduijn, Mm" uniqKey="Vanduijn M">MM VanDuijn</name>
</author>
<author>
<name sortKey="Wilson, Ca" uniqKey="Wilson C">CA Wilson</name>
</author>
<author>
<name sortKey="Fletcher, Da" uniqKey="Fletcher D">DA Fletcher</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Stone, Kd" uniqKey="Stone K">KD Stone</name>
</author>
<author>
<name sortKey="Prussin, C" uniqKey="Prussin C">C Prussin</name>
</author>
<author>
<name sortKey="Metcalfe, Dd" uniqKey="Metcalfe D">DD Metcalfe</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Goldstein, B" uniqKey="Goldstein B">B Goldstein</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Redondo, A" uniqKey="Redondo A">A Redondo</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
<author>
<name sortKey="Reischl, I" uniqKey="Reischl I">I Reischl</name>
</author>
<author>
<name sortKey="Blinov, Ml" uniqKey="Blinov M">ML Blinov</name>
</author>
<author>
<name sortKey="Metzger, H" uniqKey="Metzger H">H Metzger</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Stites, Ec" uniqKey="Stites E">EC Stites</name>
</author>
<author>
<name sortKey="Trampont, Pc" uniqKey="Trampont P">PC Trampont</name>
</author>
<author>
<name sortKey="Ma, Z" uniqKey="Ma Z">Z Ma</name>
</author>
<author>
<name sortKey="Ravichandran, Ks" uniqKey="Ravichandran K">KS Ravichandran</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Fujioka, A" uniqKey="Fujioka A">A Fujioka</name>
</author>
<author>
<name sortKey="Terai, K" uniqKey="Terai K">K Terai</name>
</author>
<author>
<name sortKey="Itoh, Re" uniqKey="Itoh R">RE Itoh</name>
</author>
<author>
<name sortKey="Aoki, K" uniqKey="Aoki K">K Aoki</name>
</author>
<author>
<name sortKey="Nakamura, T" uniqKey="Nakamura T">T Nakamura</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Overbeck, Af" uniqKey="Overbeck A">AF Overbeck</name>
</author>
<author>
<name sortKey="Brtva, Tr" uniqKey="Brtva T">TR Brtva</name>
</author>
<author>
<name sortKey="Cox, Ad" uniqKey="Cox A">AD Cox</name>
</author>
<author>
<name sortKey="Graham, Sm" uniqKey="Graham S">SM Graham</name>
</author>
<author>
<name sortKey="Huff, Sy" uniqKey="Huff S">SY Huff</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wilcoxon, F" uniqKey="Wilcoxon F">F Wilcoxon</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Mann, Hb" uniqKey="Mann H">HB Mann</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Pearson, K" uniqKey="Pearson K">K Pearson</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gillespie, Dt" uniqKey="Gillespie D">DT Gillespie</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gillespie, Dt" uniqKey="Gillespie D">DT Gillespie</name>
</author>
<author>
<name sortKey="Petzold, Lr" uniqKey="Petzold L">LR Petzold</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Cao, Y" uniqKey="Cao Y">Y Cao</name>
</author>
<author>
<name sortKey="Gillespie, Dt" uniqKey="Gillespie D">DT Gillespie</name>
</author>
<author>
<name sortKey="Petzold, Lr" uniqKey="Petzold L">LR Petzold</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Vlachos, Dg" uniqKey="Vlachos D">DG Vlachos</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Goldstein, B" uniqKey="Goldstein B">B Goldstein</name>
</author>
<author>
<name sortKey="Faeder, Jr" uniqKey="Faeder J">JR Faeder</name>
</author>
<author>
<name sortKey="Hlavacek, Ws" uniqKey="Hlavacek W">WS Hlavacek</name>
</author>
</analytic>
</biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article">
<pmc-dir>properties open_access</pmc-dir>
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">PLoS Comput Biol</journal-id>
<journal-id journal-id-type="iso-abbrev">PLoS Comput. Biol</journal-id>
<journal-id journal-id-type="publisher-id">plos</journal-id>
<journal-id journal-id-type="pmc">ploscomp</journal-id>
<journal-title-group>
<journal-title>PLoS Computational Biology</journal-title>
</journal-title-group>
<issn pub-type="ppub">1553-734X</issn>
<issn pub-type="epub">1553-7358</issn>
<publisher>
<publisher-name>Public Library of Science</publisher-name>
<publisher-loc>San Francisco, USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="pmid">24699269</article-id>
<article-id pub-id-type="pmc">3974646</article-id>
<article-id pub-id-type="publisher-id">PCOMPBIOL-D-13-00394</article-id>
<article-id pub-id-type="doi">10.1371/journal.pcbi.1003544</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Research Article</subject>
</subj-group>
<subj-group subj-group-type="Discipline-v2">
<subject>Biology and Life Sciences</subject>
<subj-group>
<subject>Biochemistry</subject>
<subj-group>
<subject>Biochemical Simulations</subject>
</subj-group>
</subj-group>
<subj-group>
<subject>Computational Biology</subject>
</subj-group>
<subj-group>
<subject>Systems Biology</subject>
</subj-group>
</subj-group>
<subj-group subj-group-type="Discipline-v2">
<subject>Computer and Information Sciences</subject>
<subj-group>
<subject>Computer Modeling</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Exact Hybrid Particle/Population Simulation of Rule-Based Models of Biochemical Systems</article-title>
<alt-title alt-title-type="running-head">Hybrid Simulation of Rule-Based Models</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" equal-contrib="yes">
<name>
<surname>Hogg</surname>
<given-names>Justin S.</given-names>
</name>
<xref ref-type="aff" rid="aff1"></xref>
</contrib>
<contrib contrib-type="author" equal-contrib="yes">
<name>
<surname>Harris</surname>
<given-names>Leonard A.</given-names>
</name>
<xref ref-type="aff" rid="aff1"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Stover</surname>
<given-names>Lori J.</given-names>
</name>
<xref ref-type="aff" rid="aff1"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Nair</surname>
<given-names>Niketh S.</given-names>
</name>
<xref ref-type="aff" rid="aff1"></xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Faeder</surname>
<given-names>James R.</given-names>
</name>
<xref ref-type="aff" rid="aff1"></xref>
<xref ref-type="corresp" rid="cor1">
<sup>*</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<addr-line>Department of Computational and Systems Biology, University of Pittsburgh School of Medicine, Pittsburgh, Pennsylvania, United States of America</addr-line>
</aff>
<contrib-group>
<contrib contrib-type="editor">
<name>
<surname>Stelling</surname>
<given-names>Jorg</given-names>
</name>
<role>Editor</role>
<xref ref-type="aff" rid="edit1"></xref>
</contrib>
</contrib-group>
<aff id="edit1">
<addr-line>ETH Zurich, Switzerland</addr-line>
</aff>
<author-notes>
<corresp id="cor1">* E-mail:
<email>faeder@pitt.edu</email>
</corresp>
<fn fn-type="conflict">
<p>The authors have declared that no competing interests exist.</p>
</fn>
<fn fn-type="con">
<p>Conceived and designed the experiments: JSH LAH JRF. Performed the experiments: JSH. Analyzed the data: JSH LAH JRF. Contributed reagents/materials/analysis tools: JSH LAH LJS NSN JRF. Wrote the paper: JSH LAH JRF.</p>
</fn>
</author-notes>
<pub-date pub-type="collection">
<month>4</month>
<year>2014</year>
</pub-date>
<pub-date pub-type="epub">
<day>3</day>
<month>4</month>
<year>2014</year>
</pub-date>
<volume>10</volume>
<issue>4</issue>
<elocation-id>e1003544</elocation-id>
<history>
<date date-type="received">
<day>6</day>
<month>3</month>
<year>2013</year>
</date>
<date date-type="accepted">
<day>3</day>
<month>2</month>
<year>2014</year>
</date>
</history>
<permissions>
<copyright-statement>© 2014 Hogg et al</copyright-statement>
<copyright-year>2014</copyright-year>
<copyright-holder>Hogg et al</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are properly credited.</license-p>
</license>
</permissions>
<related-article id="d36e167" related-article-type="companion" ext-link-type="doi" xlink:href="10.1371/journal.pcbi.1002972" page="e1002972">
<article-title>New Methods Section in PLOS Computational Biology</article-title>
</related-article>
<abstract>
<p>Detailed modeling and simulation of biochemical systems is complicated by the problem of combinatorial complexity, an explosion in the number of species and reactions due to myriad protein-protein interactions and post-translational modifications. Rule-based modeling overcomes this problem by representing molecules as structured objects and encoding their interactions as pattern-based rules. This greatly simplifies the process of model specification, avoiding the tedious and error prone task of manually enumerating all species and reactions that can potentially exist in a system. From a simulation perspective, rule-based models can be expanded algorithmically into fully-enumerated reaction networks and simulated using a variety of network-based simulation methods, such as ordinary differential equations or Gillespie's algorithm, provided that the network is not exceedingly large. Alternatively, rule-based models can be simulated directly using particle-based kinetic Monte Carlo methods. This “network-free” approach produces exact stochastic trajectories with a computational cost that is independent of network size. However, memory and run time costs increase with the number of particles, limiting the size of system that can be feasibly simulated. Here, we present a hybrid particle/population simulation method that combines the best attributes of both the network-based and network-free approaches. The method takes as input a rule-based model and a user-specified subset of species to treat as population variables rather than as particles. The model is then transformed by a process of “partial network expansion” into a dynamically equivalent form that can be simulated using a population-adapted network-free simulator. The transformation method has been implemented within the open-source rule-based modeling platform BioNetGen, and resulting hybrid models can be simulated using the particle-based simulator NFsim. Performance tests show that significant memory savings can be achieved using the new approach and a monetary cost analysis provides a practical measure of its utility.</p>
</abstract>
<abstract abstract-type="summary">
<title>Author Summary</title>
<p>Rule-based modeling is a modeling paradigm that addresses the problem of combinatorial complexity in biochemical systems. The key idea is to specify only those components of a biological macromolecule that are directly involved in a biochemical transformation. Until recently, this “pattern-based” approach greatly simplified the process of model
<italic>building</italic>
but did nothing to improve the performance of model
<italic>simulation</italic>
. This changed with the introduction of “network-free” simulation methods, which operate directly on the compressed rule set of a rule-based model rather than on a fully-enumerated set of reactions and species. However, these methods represent every molecule in a system as a particle, limiting their use to systems containing less than a few million molecules. Here, we describe an extension to the network-free approach that treats rare, complex species as particles and plentiful, simple species as population variables, while retaining the exact dynamics of the model system. By making more efficient use of computational resources for species that do not require the level of detail of a particle representation, this hybrid particle/population approach can simulate systems much larger than is possible using network-free methods and is an important step towards realizing the practical simulation of detailed, mechanistic models of whole cells.</p>
</abstract>
<funding-group>
<funding-statement>We gratefully acknowledge funding from NIH/NIGMS grant P41GM103712, NIH/NIBIB grant T32EB009403, NSF Expeditions in Computing Grant (award 0926181), and NSF grant CCF-0829788. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.</funding-statement>
</funding-group>
<counts>
<page-count count="16"></page-count>
</counts>
</article-meta>
</front>
<body>
<disp-quote>
<p>This is a
<italic>PLOS Computational Biology</italic>
Methods article.</p>
</disp-quote>
<sec id="s2">
<title>Introduction</title>
<sec id="s2a">
<title>Rule-based modeling</title>
<p>Cell signaling encompasses the collection of cellular processes that sample the extracellular environment, process and transmit that information to the interior of the cell, and regulate cellular responses. In a typical scenario, molecules outside of the cell bind to cognate receptors on the cell membrane, resulting in conformational changes or clustering of receptors. A complex series of protein binding and biochemical events then occurs, ultimately leading to the activation or deactivation of proteins that regulate gene expression or other cellular processes
<xref rid="pcbi.1003544-Alberts1" ref-type="bibr">[1]</xref>
. A typical signaling protein possesses multiple interaction sites with activities that can be modified by direct chemical modification or by the effects of modification or interaction at other sites. This complexity at the protein level leads to a combinatorial explosion in the number of possible species and reactions at the level of signaling networks
<xref rid="pcbi.1003544-Hlavacek1" ref-type="bibr">[2]</xref>
.</p>
<p>Combinatorial complexity poses a major barrier to the development of detailed, mechanistic models of biochemical systems. Traditional modeling approaches that require manual enumeration of all potential species and reactions in a network are infeasible or impractical
<xref rid="pcbi.1003544-Hlavacek1" ref-type="bibr">[2]</xref>
<xref rid="pcbi.1003544-Aldridge1" ref-type="bibr">[4]</xref>
. This has motivated the development of rule-based modeling languages, such as the BioNetGen language (BNGL)
<xref rid="pcbi.1003544-Blinov1" ref-type="bibr">[5]</xref>
,
<xref rid="pcbi.1003544-Faeder1" ref-type="bibr">[6]</xref>
, Kappa
<xref rid="pcbi.1003544-Danos1" ref-type="bibr">[7]</xref>
,
<xref rid="pcbi.1003544-Danos2" ref-type="bibr">[8]</xref>
, and others
<xref rid="pcbi.1003544-Maus1" ref-type="bibr">[9]</xref>
<xref rid="pcbi.1003544-Angermann1" ref-type="bibr">[12]</xref>
, that provide a rich yet concise description of signaling proteins and their interactions
<xref rid="pcbi.1003544-Faeder2" ref-type="bibr">[13]</xref>
. The combinatorial explosion problem is avoided by representing interacting molecules as structured objects and using pattern-based rules to encode their interactions. In the graph-based formalisms of BNGL and Kappa, molecules are represented as graphs and biochemical interactions by graph-rewriting rules. Rules are
<italic>local</italic>
in the sense that only the properties of the reactants that are transformed, or are required for the transformation to take place, affect their ability to react. As such, each rule defines a class of reactions that share a common set of transformations (e.g., the formation of a bond between molecules) and requirements for those transformations to take place (e.g., that one or more components have a particular covalent modification). The number of reactions encoded by a rule varies depending on the specifics of the model; a rule-based encoding is considered compact if it contains rules that encode large numbers of reactions. Overviews of rule-based modeling with BNGL can be found in Sec. S3.1 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
and Refs.
<xref rid="pcbi.1003544-Faeder1" ref-type="bibr">[6]</xref>
,
<xref rid="pcbi.1003544-Sekar1" ref-type="bibr">[14]</xref>
. A description of the graph-theoretic formalism underlying BNGL is provided in Sec. S4.1 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
, building on a previous graph-theoretical treatment
<xref rid="pcbi.1003544-Blinov2" ref-type="bibr">[15]</xref>
.</p>
</sec>
<sec id="s2b">
<title>Network-based and network-free simulation of rule-based models</title>
<p>An important characteristic of rule-based models is that they can encode both finite and
<italic>infinite</italic>
reaction networks. If the network is finite and “not too large” (≲10000 reactions
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
) it can be generated from the rule-based model algorithmically by a process known as “network generation”
<xref rid="pcbi.1003544-Blinov1" ref-type="bibr">[5]</xref>
,
<xref rid="pcbi.1003544-Faeder1" ref-type="bibr">[6]</xref>
,
<xref rid="pcbi.1003544-Sekar1" ref-type="bibr">[14]</xref>
,
<xref rid="pcbi.1003544-Blinov2" ref-type="bibr">[15]</xref>
,
<xref rid="pcbi.1003544-Faeder3" ref-type="bibr">[17]</xref>
. Network generation begins by applying the rules of a rule-based model to a set of initial “seed” species, which define the initial state of the model system, to generate new species and reactions. The new species are then matched against the existing species to determine whether or not they are already present in the network
<xref rid="pcbi.1003544-Blinov3" ref-type="bibr">[18]</xref>
. Any species that are not already present are added to the network and an additional round of rule application is performed. This iterative process continues until an iteration is encountered in which no new species are generated. The resulting system of reactions can then be simulated using a variety of network-based deterministic and stochastic simulation methods. For example, network-based simulation methods currently implemented within BioNetGen include SUNDIALS CVODE
<xref rid="pcbi.1003544-Hindmarsh1" ref-type="bibr">[19]</xref>
for ordinary differential equation (ODE)-based simulations, Gillespie's stochastic simulation algorithm (SSA; direct method with dynamic propensity sorting)
<xref rid="pcbi.1003544-Gillespie1" ref-type="bibr">[20]</xref>
,
<xref rid="pcbi.1003544-Fricke1" ref-type="bibr">[21]</xref>
, and the accelerated-stochastic “partitioned-leaping algorithm”
<xref rid="pcbi.1003544-Harris1" ref-type="bibr">[22]</xref>
.</p>
<p>The rule-based methodology also provides a way to simulate models with prohibitively large or infinite numbers of species and reactions. This “network-free” approach involves representing molecular complexes as particles and applying rule transformations to those particles at runtime using a kinetic Monte Carlo update scheme
<xref rid="pcbi.1003544-Yang1" ref-type="bibr">[23]</xref>
,
<xref rid="pcbi.1003544-Danos3" ref-type="bibr">[24]</xref>
. At each simulation step, reactant patterns are matched to the molecular complexes within the system to calculate rule propensities. The rule to next fire is then selected probabilistically as in the SSA
<xref rid="pcbi.1003544-Gillespie1" ref-type="bibr">[20]</xref>
and the particle(s) to participate in the transformation is (are) selected randomly from the set of matches. When the rule fires, transformations are applied to the reactant complexes to create the products. Since the reactants and products are determined at runtime there is no need to enumerate all species and reactions
<italic>a priori</italic>
as in network-based methods. This procedure is a particle-based variant of Gillespie's algorithm
<xref rid="pcbi.1003544-Yang1" ref-type="bibr">[23]</xref>
,
<xref rid="pcbi.1003544-Danos3" ref-type="bibr">[24]</xref>
and a generalization of the “n-fold way” of Bortz et al.
<xref rid="pcbi.1003544-Bortz1" ref-type="bibr">[25]</xref>
, which was originally developed to accelerate the simulation of Ising spin systems. An efficient, open-source implementation that is compatible with BNGL models is NFsim, the “network-free simulator”
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
. Other network-free simulation tools for rule-based models include RuleMonkey
<xref rid="pcbi.1003544-Colvin1" ref-type="bibr">[26]</xref>
, DYNSTOC
<xref rid="pcbi.1003544-Colvin2" ref-type="bibr">[27]</xref>
, SRsim
<xref rid="pcbi.1003544-Grnert1" ref-type="bibr">[28]</xref>
, and KaSim
<xref rid="pcbi.1003544-Danos3" ref-type="bibr">[24]</xref>
. A recent paper
<xref rid="pcbi.1003544-Yang2" ref-type="bibr">[29]</xref>
compares the rejection-based sampling technique
<xref rid="pcbi.1003544-Yang1" ref-type="bibr">[23]</xref>
used in NFsim with the rejection-free approach employed in RuleMonkey. For models of multivalent ligand-receptor binding, rejection-based sampling was shown to be more efficient in the vicinity of the solution-gel phase boundary, while rejection-free sampling was more efficient for simulating the dynamics within the gel phase.</p>
<p>Since only the current set of molecular complexes and the transformations that can be applied to them are tracked, network-free methods can efficiently simulate systems that are intractable to network-based methods
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
,
<xref rid="pcbi.1003544-Yang1" ref-type="bibr">[23]</xref>
,
<xref rid="pcbi.1003544-Danos3" ref-type="bibr">[24]</xref>
,
<xref rid="pcbi.1003544-Yang2" ref-type="bibr">[29]</xref>
. However, the explicit representation of every molecule in the system is a major shortcoming of the approach. As such, network-free methods can require large amounts of computational memory for systems that contain large numbers of particles, a potential barrier to simulating systems such as the regulatory networks of a whole cell
<xref rid="pcbi.1003544-Tomita1" ref-type="bibr">[30]</xref>
,
<xref rid="pcbi.1003544-Karr1" ref-type="bibr">[31]</xref>
. A typical eukaryotic cell, for example, contains on the order of
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e001.jpg"></inline-graphic>
</inline-formula>
protein-coding genes,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e002.jpg"></inline-graphic>
</inline-formula>
mRNA molecules, and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e003.jpg"></inline-graphic>
</inline-formula>
protein molecules
<xref rid="pcbi.1003544-Alon1" ref-type="bibr">[32]</xref>
,
<xref rid="pcbi.1003544-Moran1" ref-type="bibr">[33]</xref>
, along with much larger numbers of metabolites, lipids, and other small molecules. Simulating a cell at this level of detail using a network-free approach would be impractical. There is a need, therefore, for new approaches that can reduce the memory requirements of network-free simulation methods.</p>
</sec>
<sec id="s2c">
<title>Computational complexity</title>
<p>A common measure of the computational cost of an algorithm is its
<italic>computational complexity</italic>
. In basic terms, computational complexity measures how the computational cost increases as an algorithm is applied to increasingly larger data sets
<xref rid="pcbi.1003544-Cormen1" ref-type="bibr">[34]</xref>
. For the simulation methods considered in this paper, two types of computational complexity are important: (i)
<italic>space complexity</italic>
, the number of memory units consumed during the execution of an algorithm; (ii)
<italic>time complexity</italic>
, the number of computational steps required to complete an algorithm.</p>
<p>Network-based exact-stochastic simulation methods, like Gillespie's SSA
<xref rid="pcbi.1003544-Gillespie1" ref-type="bibr">[20]</xref>
,
<xref rid="pcbi.1003544-Gillespie2" ref-type="bibr">[35]</xref>
,
<xref rid="pcbi.1003544-Gillespie3" ref-type="bibr">[36]</xref>
, treat species as lumped variables with a population counter. Therefore, their space complexity is constant in the number of particles in the system. However, representing the reaction network has a space complexity that is linear (or worse if a reaction dependency graph is used
<xref rid="pcbi.1003544-Gibson1" ref-type="bibr">[37]</xref>
,
<xref rid="pcbi.1003544-Cao1" ref-type="bibr">[38]</xref>
) in the number of reactions. Network-based SSA methods are thus space efficient for systems with large numbers of particles, but less so for systems with large numbers of reactions. The time complexity of SSA methods is more difficult to quantify. It depends on model-specific factors such as the number of reactions in the network and the values of rate constants and species concentrations, as well as methodological factors such as how the next reaction to fire in the system is selected
<xref rid="pcbi.1003544-Gillespie1" ref-type="bibr">[20]</xref>
,
<xref rid="pcbi.1003544-Fricke1" ref-type="bibr">[21]</xref>
,
<xref rid="pcbi.1003544-Gibson1" ref-type="bibr">[37]</xref>
<xref rid="pcbi.1003544-McCollum1" ref-type="bibr">[41]</xref>
and how reaction propensities are updated after each reaction firing
<xref rid="pcbi.1003544-Gibson1" ref-type="bibr">[37]</xref>
,
<xref rid="pcbi.1003544-Cao1" ref-type="bibr">[38]</xref>
. However, for our purposes, what matters is that the time cost
<italic>per event</italic>
(reaction firing) for these methods is constant in the number of particles in the system and increases with the number of reactions in the network.</p>
<p>Network-free methods, in contrast, represent each particle individually. Thus, their space complexity is
<italic>linear</italic>
in the number of particles. This is the primary shortcoming of these methods, as it limits the size of system that can be feasibly simulated. However, since reactions are not enumerated, their space complexity is linear in the number of
<italic>rules</italic>
, rather than the number of reactions. This is a key advantage for models where very large reaction networks are encoded by a small number of rules. Network-free methods also have an advantage over network-based methods in that their time complexity per event also scales with the number of rules, rather than the number of reactions. Since the number of rules in a rule-based model is typically far less than the number of reactions, this can be a substantial improvement. For example, NFsim has been demonstrated to significantly outperform network-based SSA methods for a family of
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e004.jpg"></inline-graphic>
</inline-formula>
receptor signaling models with large reaction networks
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
. We also note that for many models network-free methods have a time cost per event that is constant in the number of particles. However, for systems in which large aggregates form (e.g., models with polymerization dynamics
<xref rid="pcbi.1003544-Monine1" ref-type="bibr">[42]</xref>
,
<xref rid="pcbi.1003544-Roland1" ref-type="bibr">[43]</xref>
) the cost can be significantly higher, scaling with the number of particles
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
,
<xref rid="pcbi.1003544-Danos3" ref-type="bibr">[24]</xref>
. Nevertheless, network-free methods are still usually the best option in these cases because these types of models tend to encode very large reaction networks
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
.</p>
<p>In
<xref ref-type="table" rid="pcbi-1003544-t001">Table 1</xref>
, we summarize the space and time complexities for different network-based SSA variants and for the network-free algorithm. Of most relevance to the current work are the entries that show: (i) the space complexity of network-based methods is constant in the number of particles and linear (or worse) in the reaction network size; (ii) the space complexity of network-free methods is linear in the number of particles and independent of the reaction network size, depending instead on the number of rules; (iii) the time complexity of network-based methods depends on the number of reactions in the network while for network-free methods it depends on the number of rules. Network-based methods are thus the best choice for systems with large numbers of particles and a small to moderate reaction network, and network-free methods are the best choice for systems with a large reaction network and small to moderate numbers of particles. However, neither method is optimal for systems that contain
<italic>both</italic>
a large number of particles and a large reaction network.</p>
<table-wrap id="pcbi-1003544-t001" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.t001</object-id>
<label>Table 1</label>
<caption>
<title>Space and time complexities for network-based (SSA) and network-free (NF) stochastic simulation algorithms.</title>
</caption>
<alternatives>
<graphic id="pcbi-1003544-t001-1" xlink:href="pcbi.1003544.t001"></graphic>
<table frame="hsides" rules="groups">
<colgroup span="1">
<col align="left" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
</colgroup>
<thead>
<tr>
<td align="left" rowspan="1" colspan="1"></td>
<td colspan="2" align="left" rowspan="1">SSA</td>
<td colspan="2" align="left" rowspan="1">NF</td>
</tr>
<tr>
<td align="left" rowspan="1" colspan="1"></td>
<td align="left" rowspan="1" colspan="1">
<italic>Particles</italic>
(
<italic>P</italic>
)</td>
<td align="left" rowspan="1" colspan="1">
<italic>Reactions</italic>
(
<italic>R</italic>
)</td>
<td align="left" rowspan="1" colspan="1">
<italic>Particles</italic>
(
<italic>P</italic>
)</td>
<td align="left" rowspan="1" colspan="1">
<italic>Rules</italic>
(
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e005.jpg"></inline-graphic>
</inline-formula>
)</td>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="1" colspan="1">
<italic>Space</italic>
</td>
<td align="left" rowspan="1" colspan="1">
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e006.jpg"></inline-graphic>
</inline-formula>
</td>
<td align="left" rowspan="1" colspan="1">
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e007.jpg"></inline-graphic>
</inline-formula>
<xref ref-type="table-fn" rid="nt101">a</xref>
,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e008.jpg"></inline-graphic>
</inline-formula>
<xref ref-type="table-fn" rid="nt102">b</xref>
</td>
<td align="left" rowspan="1" colspan="1">
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e009.jpg"></inline-graphic>
</inline-formula>
</td>
<td align="left" rowspan="1" colspan="1">
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e010.jpg"></inline-graphic>
</inline-formula>
<xref ref-type="table-fn" rid="nt101">a</xref>
</td>
</tr>
<tr>
<td align="left" rowspan="1" colspan="1">
<italic>Time (per event)</italic>
</td>
<td align="left" rowspan="1" colspan="1">
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e011.jpg"></inline-graphic>
</inline-formula>
</td>
<td align="left" rowspan="1" colspan="1">
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e012.jpg"></inline-graphic>
</inline-formula>
<xref ref-type="table-fn" rid="nt103">c</xref>
,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e013.jpg"></inline-graphic>
</inline-formula>
<xref ref-type="table-fn" rid="nt104">d</xref>
,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e014.jpg"></inline-graphic>
</inline-formula>
<xref ref-type="table-fn" rid="nt105">e</xref>
</td>
<td align="left" rowspan="1" colspan="1">
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e015.jpg"></inline-graphic>
</inline-formula>
,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e016.jpg"></inline-graphic>
</inline-formula>
<xref ref-type="table-fn" rid="nt106">f</xref>
</td>
<td align="left" rowspan="1" colspan="1">
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e017.jpg"></inline-graphic>
</inline-formula>
<xref ref-type="table-fn" rid="nt107">g</xref>
</td>
</tr>
</tbody>
</table>
</alternatives>
<table-wrap-foot>
<fn id="nt101">
<label>a</label>
<p>No dependency graph.</p>
</fn>
<fn id="nt102">
<label>b</label>
<p>Dependency graph
<xref rid="pcbi.1003544-Gibson1" ref-type="bibr">[37]</xref>
,
<xref rid="pcbi.1003544-Cao1" ref-type="bibr">[38]</xref>
.</p>
</fn>
<fn id="nt103">
<label>c</label>
<p>Logarithmic classes (with dependency graph)
<xref rid="pcbi.1003544-Fricke1" ref-type="bibr">[21]</xref>
,
<xref rid="pcbi.1003544-Slepoy1" ref-type="bibr">[39]</xref>
,
<xref rid="pcbi.1003544-Schulze1" ref-type="bibr">[40]</xref>
.</p>
</fn>
<fn id="nt104">
<label>d</label>
<p>Next-reaction method (with dependency graph)
<xref rid="pcbi.1003544-Gibson1" ref-type="bibr">[37]</xref>
.</p>
</fn>
<fn id="nt105">
<label>e</label>
<p>Direct method (with or without dependency graph)
<xref rid="pcbi.1003544-Gillespie1" ref-type="bibr">[20]</xref>
.</p>
</fn>
<fn id="nt106">
<label>f</label>
<p>Polymerizing systems in gel phase
<xref rid="pcbi.1003544-Yang1" ref-type="bibr">[23]</xref>
,
<xref rid="pcbi.1003544-Monine1" ref-type="bibr">[42]</xref>
(see
<xref ref-type="fig" rid="pcbi-1003544-g005">Fig. 5B</xref>
).</p>
</fn>
<fn id="nt107">
<label>g</label>
<p>Direct method-like implementation.</p>
</fn>
<fn id="nt108">
<label></label>
<p>Scalings are shown with respect to particle number,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e018.jpg"></inline-graphic>
</inline-formula>
, and number of reactions,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e019.jpg"></inline-graphic>
</inline-formula>
, or rules,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e020.jpg"></inline-graphic>
</inline-formula>
. For combinatorially-complex models,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e021.jpg"></inline-graphic>
</inline-formula>
. Note that time complexity is given on a “per event” (reaction/rule firing) basis. If a reaction dependency graph
<xref rid="pcbi.1003544-Gibson1" ref-type="bibr">[37]</xref>
is used, the space and time complexities of SSA methods with respect to
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e022.jpg"></inline-graphic>
</inline-formula>
depend on
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e023.jpg"></inline-graphic>
</inline-formula>
, the maximum number of reactions updated after each reaction firing
<xref rid="pcbi.1003544-Gibson1" ref-type="bibr">[37]</xref>
,
<xref rid="pcbi.1003544-Cao1" ref-type="bibr">[38]</xref>
. In combinatorially-complex models,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e024.jpg"></inline-graphic>
</inline-formula>
often increases with
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e025.jpg"></inline-graphic>
</inline-formula>
(see
<xref ref-type="supplementary-material" rid="pcbi.1003544.s002">Figure S1</xref>
of the supporting information). The time complexity of SSA methods with respect to
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e026.jpg"></inline-graphic>
</inline-formula>
also depends on the method used for selecting the next reaction to fire in the system. Scalings are shown for three different SSA variants that use different selection methods
<xref rid="pcbi.1003544-Gillespie1" ref-type="bibr">[20]</xref>
,
<xref rid="pcbi.1003544-Fricke1" ref-type="bibr">[21]</xref>
,
<xref rid="pcbi.1003544-Gibson1" ref-type="bibr">[37]</xref>
,
<xref rid="pcbi.1003544-Slepoy1" ref-type="bibr">[39]</xref>
,
<xref rid="pcbi.1003544-Schulze1" ref-type="bibr">[40]</xref>
. Also note that optimized variants of the direct method
<xref rid="pcbi.1003544-Fricke1" ref-type="bibr">[21]</xref>
,
<xref rid="pcbi.1003544-Cao1" ref-type="bibr">[38]</xref>
,
<xref rid="pcbi.1003544-McCollum1" ref-type="bibr">[41]</xref>
have been shown to outperform methods with lower asymptotic complexity in some cases
<xref rid="pcbi.1003544-Cao1" ref-type="bibr">[38]</xref>
. Space and time complexities of the NF algorithm with respect to
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e027.jpg"></inline-graphic>
</inline-formula>
assume no dependency graph and that the next rule to fire is selected as in Gillespie's direct method
<xref rid="pcbi.1003544-Gillespie1" ref-type="bibr">[20]</xref>
, although in principle other variants are possible.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s2d">
<title>Combining network-based and network-free methodologies</title>
<p>The key idea pursued in this work is that memory consumption can be reduced in network-free simulators if simple species and small molecular complexes that exist in the system in large numbers are treated as population variables with counters rather than as particles. However, retaining the ability to address combinatorial complexity requires retaining the particle representation for species and complexes that are comprised of many molecules and/or have a large number of internal states. Here, we present an approach, termed the hybrid particle/population (HPP) simulation method, that accomplishes this. Given a user-defined set of species to treat as population variables, the HPP method partially expands the network around these population species and then simulates the partially-expanded model using a population-adapted particle-based method. By treating complex species as structured particles, HPP capitalizes on the reduced time complexity with respect to network size characteristic of the network-free approach. However, for the subset of species treated as population variables, we take advantage of the constant memory requirements of the network-based methodology. It is important to emphasize that in the HPP approach it is the
<italic>system</italic>
that is represented in a hybrid manner, as a collection of particles and population variables. The underlying simulator remains the same particle-based variant of Gillespie's algorithm that is used in existing network-free simulators
<xref rid="pcbi.1003544-Yang1" ref-type="bibr">[23]</xref>
,
<xref rid="pcbi.1003544-Danos3" ref-type="bibr">[24]</xref>
, but with small modifications to support population variables. This distinguishes HPP from other types of hybrid methods that combine different simulation methodologies, e.g., ODE/SSA integrators
<xref rid="pcbi.1003544-Haseltine1" ref-type="bibr">[44]</xref>
<xref rid="pcbi.1003544-Liu1" ref-type="bibr">[53]</xref>
.</p>
</sec>
<sec id="s2e">
<title>Related work</title>
<p>While numerous rule-based modeling frameworks have been developed, little has been done with regard to hybrid particle/population simulation. Kappa
<xref rid="pcbi.1003544-Danos1" ref-type="bibr">[7]</xref>
,
<xref rid="pcbi.1003544-Danos2" ref-type="bibr">[8]</xref>
has the concept of “tokens,” which are structureless population-type species. Modelers can write hybrid models in terms of both structured “agents” and structureless tokens and simulate them using KaSim 3, the most recent version of the Kappa-compatible network-free simulator (
<ext-link ext-link-type="uri" xlink:href="https://github.com/jkrivine/KaSim">https://github.com/jkrivine/KaSim</ext-link>
). However, there is no facility for transforming a model written exclusively in terms of agents into a hybrid form, as in our HPP method. Bittig et al.
<xref rid="pcbi.1003544-Bittig1" ref-type="bibr">[10]</xref>
have developed a spatial rule-based language called ML-Space that builds upon the multi-level language ML-Rules
<xref rid="pcbi.1003544-Maus1" ref-type="bibr">[9]</xref>
. “Entities” that are assigned optional attributes such as shape, volume, and position in continuous space are automatically treated as particles diffusing via Brownian motion, while those without these attributes are treated as population variables reacting and diffusing within a discretized space (subvolumes). For non-spatial models, the population-based network-free algorithm (PNFA) of Liu et al.
<xref rid="pcbi.1003544-Liu2" ref-type="bibr">[54]</xref>
employs a similar philosophy: all multi-state (structured) species are automatically treated as particles, while single-state species are treated as population variables. Both ML-Space and PNFA lack a general representation of intermolecular bonding, which makes it difficult to account for combinatorial complexity associated with aggregation processes
<xref rid="pcbi.1003544-Hlavacek1" ref-type="bibr">[2]</xref>
,
<xref rid="pcbi.1003544-Yang2" ref-type="bibr">[29]</xref>
. Falkenberg et al.
<xref rid="pcbi.1003544-Falkenberg1" ref-type="bibr">[55]</xref>
have proposed a hybrid deterministic/stochastic method that specifically addresses the problem of aggregation. Their approach first calculates occupancy probabilities as a function of time for all binding-site types by treating them as population variables and numerically integrating an associated set of deterministic ODEs describing the binding/unbinding kinetics. An ensemble of system states is then obtained by randomly distributing bonds, based on these probabilities, among a finite number of discrete molecules. The method assumes that inter- and intra-molecular bond formations occur with equal rates. Thus, although efficient for problems with high symmetry, its applicability to more general cases may be limited.</p>
<p>Other approaches aimed at improving the efficiency of rule-based simulations include “on-the-fly” network generation
<xref rid="pcbi.1003544-Faeder3" ref-type="bibr">[17]</xref>
,
<xref rid="pcbi.1003544-Lok1" ref-type="bibr">[56]</xref>
,
<xref rid="pcbi.1003544-Blinov4" ref-type="bibr">[57]</xref>
, where the reaction network is gradually built up by adding reactions only when new species appear in the system. The approach has only been developed within the context of discrete-stochastic simulation and has been shown to be significantly less efficient than network-free approaches when applied to combinatorially-complex models
<xref rid="pcbi.1003544-Yang1" ref-type="bibr">[23]</xref>
,
<xref rid="pcbi.1003544-Creamer1" ref-type="bibr">[58]</xref>
. An alternative approach to reducing computational cost is exact model reduction (EMR)
<xref rid="pcbi.1003544-Borisov1" ref-type="bibr">[59]</xref>
<xref rid="pcbi.1003544-Danos4" ref-type="bibr">[64]</xref>
. EMR aims to reduce the state space of a rule-based model while preserving the exact system dynamics with respect to observable quantities. These methods can achieve dramatic reductions in model complexity when applied within the context of ODEs, so long as the model does not contain significant cooperative or allosteric interactions
<xref rid="pcbi.1003544-Borisov3" ref-type="bibr">[62]</xref>
,
<xref rid="pcbi.1003544-Danos4" ref-type="bibr">[64]</xref>
. EMR for stochastic simulations, however, has so far been less successful (see
<ext-link ext-link-type="uri" xlink:href="http://infoscience.epfl.ch/record/142570/files/stochastic_fragments.pdf">http://infoscience.epfl.ch/record/142570/files/stochastic_fragments.pdf</ext-link>
).</p>
</sec>
</sec>
<sec sec-type="methods" id="s3">
<title>Methods</title>
<sec id="s3a">
<title>Example models</title>
<p>We have tested the performance of the HPP method by applying it to four example models, summarized in
<xref ref-type="table" rid="pcbi-1003544-t002">Table 2</xref>
and discussed in further detail below. All of the models are biologically relevant and are either taken directly from the literature or are based on models taken from the literature. Complete BNGL encodings, HPP configuration files (containing actions for loading models, defining population maps, and executing simulations), and partially-expanded versions of all example models are provided as
<xref ref-type="supplementary-material" rid="pcbi.1003544.s007">Texts S5</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s008">S6</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s009">S7</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s010">S8</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s011">S9</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s012">S10</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s013">S11</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s014">S12</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s015">S13</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s016">S14</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s017">S15</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s018">S16</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s019">S17</xref>
of the supporting information.</p>
<table-wrap id="pcbi-1003544-t002" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.t002</object-id>
<label>Table 2</label>
<caption>
<title>Summary of example models used to test the performance of the HPP method.</title>
</caption>
<alternatives>
<graphic id="pcbi-1003544-t002-2" xlink:href="pcbi.1003544.t002"></graphic>
<table frame="hsides" rules="groups">
<colgroup span="1">
<col align="left" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
<col align="center" span="1"></col>
</colgroup>
<thead>
<tr>
<td align="left" rowspan="1" colspan="1">Model</td>
<td align="left" rowspan="1" colspan="1">Rules</td>
<td align="left" rowspan="1" colspan="1">Reactions</td>
<td align="left" rowspan="1" colspan="1">Species</td>
<td align="left" rowspan="1" colspan="1">Particles (
<italic>f</italic>
 = 1)</td>
<td align="left" rowspan="1" colspan="1">Population species</td>
<td align="left" rowspan="1" colspan="1">Rules after PNE</td>
<td align="left" rowspan="1" colspan="1">t_end (s)</td>
</tr>
</thead>
<tbody>
<tr>
<td align="left" rowspan="1" colspan="1">
<bold>TLBR</bold>
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
,
<xref rid="pcbi.1003544-Monine1" ref-type="bibr">[42]</xref>
,
<xref rid="pcbi.1003544-Goldstein1" ref-type="bibr">[65]</xref>
</td>
<td align="left" rowspan="1" colspan="1">4</td>
<td align="left" rowspan="1" colspan="1"></td>
<td align="left" rowspan="1" colspan="1"></td>
<td align="left" rowspan="1" colspan="1">5.3×10
<sup>6</sup>
</td>
<td align="left" rowspan="1" colspan="1">2</td>
<td align="left" rowspan="1" colspan="1">9</td>
<td align="left" rowspan="1" colspan="1">500</td>
</tr>
<tr>
<td align="left" rowspan="1" colspan="1">
<bold>Actin</bold>
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
,
<xref rid="pcbi.1003544-Roland1" ref-type="bibr">[43]</xref>
</td>
<td align="left" rowspan="1" colspan="1">21</td>
<td align="left" rowspan="1" colspan="1"></td>
<td align="left" rowspan="1" colspan="1"></td>
<td align="left" rowspan="1" colspan="1">1.2×10
<sup>6</sup>
</td>
<td align="left" rowspan="1" colspan="1">2</td>
<td align="left" rowspan="1" colspan="1">25</td>
<td align="left" rowspan="1" colspan="1">1000</td>
</tr>
<tr>
<td align="left" rowspan="1" colspan="1">
<bold>Fc
<italic>ε</italic>
RI</bold>
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
,
<xref rid="pcbi.1003544-Faeder4" ref-type="bibr">[70]</xref>
,
<xref rid="pcbi.1003544-Goldstein3" ref-type="bibr">[81]</xref>
</td>
<td align="left" rowspan="1" colspan="1">24</td>
<td align="left" rowspan="1" colspan="1">58 276</td>
<td align="left" rowspan="1" colspan="1">3744</td>
<td align="left" rowspan="1" colspan="1">6.9×10
<sup>6</sup>
</td>
<td align="left" rowspan="1" colspan="1">1/6</td>
<td align="left" rowspan="1" colspan="1">25/38</td>
<td align="left" rowspan="1" colspan="1">2400</td>
</tr>
<tr>
<td align="left" rowspan="1" colspan="1">
<bold>EGFR</bold>
<xref rid="pcbi.1003544-Blinov3" ref-type="bibr">[18]</xref>
,
<xref rid="pcbi.1003544-Stites1" ref-type="bibr">[71]</xref>
,
<xref rid="pcbi.1003544-Fujioka1" ref-type="bibr">[72]</xref>
</td>
<td align="left" rowspan="1" colspan="1">113</td>
<td align="left" rowspan="1" colspan="1">415 858</td>
<td align="left" rowspan="1" colspan="1">18 950</td>
<td align="left" rowspan="1" colspan="1">2.2×10
<sup>6</sup>
</td>
<td align="left" rowspan="1" colspan="1">29</td>
<td align="left" rowspan="1" colspan="1">159</td>
<td align="left" rowspan="1" colspan="1">1200</td>
</tr>
</tbody>
</table>
</alternatives>
<table-wrap-foot>
<fn id="nt109">
<label></label>
<p>Number of particles is for an NFsim simulation of a full cell volume (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e028.jpg"></inline-graphic>
</inline-formula>
). Fractional cell volumes as low as 0.001 and as high as 1 are used in the performance analyses (see “Example models” for details). Number of rules after PNE includes the population-mapping rules (one per population species).</p>
</fn>
</table-wrap-foot>
</table-wrap>
<sec id="s3a1">
<title>Trivalent-ligand bivalent-receptor</title>
<p>The trivalent-ligand bivalent-receptor (TLBR) model is a simplified representation of receptor aggregation following multivalent ligand binding. TLBR has biological relevance to antigen-antibody interaction at the cell surface, where bivalent
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e029.jpg"></inline-graphic>
</inline-formula>
receptor complexes aggregate in the presence of multivalent antigen
<xref rid="pcbi.1003544-Goldstein1" ref-type="bibr">[65]</xref>
. A theoretical study of the TLBR system was presented by Goldstein and Perelson
<xref rid="pcbi.1003544-Goldstein1" ref-type="bibr">[65]</xref>
, who derived analytical conditions for a solution-gel phase transition in terms of binding equilibrium constants, free ligand concentration, and receptors per cell. A more recent study considered the effects of steric constraints and ring closure on the solution-gel phase transition
<xref rid="pcbi.1003544-Monine1" ref-type="bibr">[42]</xref>
.</p>
<p>Despite its simplicity, the TLBR system experiences a state-space explosion near the solution-gel phase boundary. A computational study by Sneddon et al. using NFsim
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
reproduced the analytical results of Goldstein and Perelson. Due to large excesses of ligand and receptor under certain conditions, TLBR is a natural test case for HPP. We simulated the TLBR system using HPP with free ligand and receptor treated as population species. All simulations were performed with parameters as defined in Monine et al.
<xref rid="pcbi.1003544-Monine1" ref-type="bibr">[42]</xref>
, which lie within the solution-gel phase coexistence region. A cell-scale simulation assumed
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e030.jpg"></inline-graphic>
</inline-formula>
extracellular volume per cell (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e031.jpg"></inline-graphic>
</inline-formula>
cells/ml) with
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e032.jpg"></inline-graphic>
</inline-formula>
ligand and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e033.jpg"></inline-graphic>
</inline-formula>
receptors per cell. Simulations were performed at fractional cell volumes,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e034.jpg"></inline-graphic>
</inline-formula>
, ranging from
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e035.jpg"></inline-graphic>
</inline-formula>
to
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e036.jpg"></inline-graphic>
</inline-formula>
with a lumping rate constant k_lump = 10000/s (see below).</p>
</sec>
<sec id="s3a2">
<title>Actin polymerization</title>
<p>Actin polymerization plays a key role in cell morphology and motility
<xref rid="pcbi.1003544-Pollard1" ref-type="bibr">[66]</xref>
,
<xref rid="pcbi.1003544-Lacayo1" ref-type="bibr">[67]</xref>
. Roland et al.
<xref rid="pcbi.1003544-Roland1" ref-type="bibr">[43]</xref>
presented a dynamic model of actin polymerization featuring filament elongation by monomer addition, stabilization by ATP hydrolysis, and severing mediated by actin depolymerizing factor (ADF)/cofilin. Sneddon et al.
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
presented a rule-based formulation of the Roland et al. model and replicated their results using NFsim. The model features an excess of actin monomer and ADF molecules. Therefore, we speculated that substantial memory reduction would be possible using the hybrid approach. We applied HPP to the Sneddon et al. rule-based model of actin dynamics (hereafter referred to as the Actin model) with actin monomer and ADF treated as population species. A cell-scale simulation assumed
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e037.jpg"></inline-graphic>
</inline-formula>
intracellular volume with
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e038.jpg"></inline-graphic>
</inline-formula>
actin monomer and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e039.jpg"></inline-graphic>
</inline-formula>
ADF/cofilin. Simulations were performed at fractional cell volumes,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e040.jpg"></inline-graphic>
</inline-formula>
, ranging from
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e041.jpg"></inline-graphic>
</inline-formula>
to
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e042.jpg"></inline-graphic>
</inline-formula>
with a lumping rate constant
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e043.jpg"></inline-graphic>
</inline-formula>
. = 10000/s</p>
</sec>
<sec id="s3a3">
<title>
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e044.jpg"></inline-graphic>
</inline-formula>
signaling</title>
<p>
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e045.jpg"></inline-graphic>
</inline-formula>
is a membrane receptor that binds IgE antibodies. Signaling through
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e046.jpg"></inline-graphic>
</inline-formula>
regulates basophilic histamine release in response to IgE antibody-antigen interaction
<xref rid="pcbi.1003544-Stone1" ref-type="bibr">[68]</xref>
. Faeder et al.
<xref rid="pcbi.1003544-Goldstein2" ref-type="bibr">[69]</xref>
,
<xref rid="pcbi.1003544-Faeder4" ref-type="bibr">[70]</xref>
developed a rule-based model of
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e047.jpg"></inline-graphic>
</inline-formula>
receptor assembly and activation in which receptor dimerization/clustering is mediated by chemically cross-linked IgE, which serve as multivalent ligands. Dimerized receptors are transphosphorylated, leading to Syk and Lyn recruitment and phosphorylation. Sneddon et al.
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
presented several extensions of the Faeder et al. model, including the
<italic>gamma2</italic>
variant with two
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e048.jpg"></inline-graphic>
</inline-formula>
phosphorylation sites. Particle-based NFsim simulations of the
<italic>gamma2</italic>
model were found to be substantially faster than network-based SSA simulations.</p>
<p>Due to the excess of free ligand, the HPP method was applied to the
<italic>gamma2</italic>
model to reduce memory consumption. The method was applied with two different sets of population species. In the first case, only free ligand was treated as a population species (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e049.jpg"></inline-graphic>
</inline-formula>
). In the second, cytosolic Lyn and all four phosphorylation states of cytosolic Syk were also treated as populations (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e050.jpg"></inline-graphic>
</inline-formula>
). A cell-scale simulation assumed
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e051.jpg"></inline-graphic>
</inline-formula>
intracellular volume with
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e052.jpg"></inline-graphic>
</inline-formula>
extracellular space per cell (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e053.jpg"></inline-graphic>
</inline-formula>
cells/ml),
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e054.jpg"></inline-graphic>
</inline-formula>
ligand, and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e055.jpg"></inline-graphic>
</inline-formula>
receptors per cell. Simulations were performed at fractional cell volumes,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e056.jpg"></inline-graphic>
</inline-formula>
, ranging from
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e057.jpg"></inline-graphic>
</inline-formula>
to
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e058.jpg"></inline-graphic>
</inline-formula>
with a lumping rate constant
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e059.jpg"></inline-graphic>
</inline-formula>
 = 10000/s.</p>
</sec>
<sec id="s3a4">
<title>EGFR signaling</title>
<p>A model of signaling through the epidermal growth factor receptor (EGFR), beginning with ligand binding and concluding with nuclear phospho-ERK activity, was constructed by combining three existing models: (i) a rule-based model of EGFR complex assembly
<xref rid="pcbi.1003544-Blinov3" ref-type="bibr">[18]</xref>
; (ii) a Ras activation model
<xref rid="pcbi.1003544-Stites1" ref-type="bibr">[71]</xref>
; (iii) a pathway model of Raf, MEK and ERK activation
<xref rid="pcbi.1003544-Fujioka1" ref-type="bibr">[72]</xref>
. Ras activation was coupled to the EGFR complex assembly by treating receptor-recruited Sos as the Ras GEF. Activated Ras was coupled to the Raf/MEK/ERK cascade through RasGTP-Raf binding and subsequent phosphorylation of Raf. Parameters for the combined model were obtained from the respective models. However, parameters governing Ras-GEF (i.e., Sos) activity had to be changed from their original values
<xref rid="pcbi.1003544-Stites1" ref-type="bibr">[71]</xref>
in order to account for the known GEF-mediated activation of Ras
<xref rid="pcbi.1003544-Overbeck1" ref-type="bibr">[73]</xref>
. Specifically, we used
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e060.jpg"></inline-graphic>
</inline-formula>
and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e061.jpg"></inline-graphic>
</inline-formula>
(unitless).</p>
<p>Free EGF and Raf-, MEK-, and ERK-based species were treated as population species in the hybrid variant. Ras-based species were also treated as populations except for those that include a Sos molecule. A cell-scale simulation assumed
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e062.jpg"></inline-graphic>
</inline-formula>
cytosolic and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e063.jpg"></inline-graphic>
</inline-formula>
nuclear volume, with
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e064.jpg"></inline-graphic>
</inline-formula>
extracellular space,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e065.jpg"></inline-graphic>
</inline-formula>
ligand, and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e066.jpg"></inline-graphic>
</inline-formula>
receptors per cell. Simulations were performed at fractional cell volumes,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e067.jpg"></inline-graphic>
</inline-formula>
, ranging from
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e068.jpg"></inline-graphic>
</inline-formula>
to
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e069.jpg"></inline-graphic>
</inline-formula>
with a lumping rate constant
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e070.jpg"></inline-graphic>
</inline-formula>
 = 100000/s.</p>
</sec>
</sec>
<sec id="s3b">
<title>Performance metrics</title>
<p>HPP was evaluated for peak memory use, CPU run time, and accuracy as compared to particle-based NFsim simulations. For models where network generation is possible (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e071.jpg"></inline-graphic>
</inline-formula>
and EGFR), comparisons were also made to SSA simulations (as implemented within BioNetGen
<xref rid="pcbi.1003544-Faeder1" ref-type="bibr">[6]</xref>
). All simulations were run on a
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e072.jpg"></inline-graphic>
</inline-formula>
Intel Xeon E5520 @ 2.27 GHz (8 cores, 16 threads, x86_64 instruction set) with
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e073.jpg"></inline-graphic>
</inline-formula>
of RAM running the GNU/Linux operating system. To ensure that each process had access to
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e074.jpg"></inline-graphic>
</inline-formula>
of the compute cycles of a thread, no more than
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e075.jpg"></inline-graphic>
</inline-formula>
simulations were run simultaneously.</p>
<sec id="s3b1">
<title>Peak memory</title>
<p>Average peak memory usage for each simulation method was calculated based on seven independent simulation runs. Peak memory for each run was evaluated by peak virtual memory allocation reported by the operating system with the command “cat/proc//status”. For all tested models, peak memory was achieved early in the simulation and remained steady throughout (data not shown).</p>
</sec>
<sec id="s3b2">
<title>CPU run time</title>
<p>Average CPU run time for each simulation method was calculated based on seven independent simulation runs using clock time as a metric. Clock time for each run was recorded using the Time::HiRes Perl module. Run time included initialization as well as the simulation phase. Partial network expansion for HPP simulations was a one time cost, typically a few seconds, and was not included in the calculation.</p>
</sec>
<sec id="s3b3">
<title>Accuracy</title>
<p>Simulation accuracy was quantified using several approaches. First, since HPP, NFsim, and SSA are all exact-stochastic methods, they should all produce statistically the same number of reaction firings. To verify this, for all tested models the total number of reaction firings was recorded for each of 40 independent simulation runs of each method (firings of population-mapping rules were subtracted from the total in HPP simulations). The Mann-Whitney U test
<xref rid="pcbi.1003544-Wilcoxon1" ref-type="bibr">[74]</xref>
,
<xref rid="pcbi.1003544-Mann1" ref-type="bibr">[75]</xref>
was then used to test the null hypothesis that none of the methods produces a larger number of reaction firings.</p>
<p>For the TLBR and Actin models, we further compared equilibrium distributions for key observables. These include the number of receptor clusters in the TLBR model and the length of actin polymers in the Actin model. 10 000 samples were collected over 100 000 seconds of simulated time and distributions were compared by binning samples (20 bins) and performing a two-sample chi-squared test
<xref rid="pcbi.1003544-Pearson1" ref-type="bibr">[76]</xref>
. For the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e076.jpg"></inline-graphic>
</inline-formula>
and EGFR models, we compared dynamic trajectories for key observables. These include
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e077.jpg"></inline-graphic>
</inline-formula>
phosphorylated receptor and receptor-recruited,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e078.jpg"></inline-graphic>
</inline-formula>
phosphorylated Syk in the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e079.jpg"></inline-graphic>
</inline-formula>
model, and activated Sos and nuclear phosphorylated ERK in the EGFR model. Due to complications of autocorrelation, a statistical test was not applied to the dynamic trajectory comparison. Instead, moving averages and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e080.jpg"></inline-graphic>
</inline-formula>
frequency envelopes, based on
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e081.jpg"></inline-graphic>
</inline-formula>
simulation runs of each method using a sampling window of
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e082.jpg"></inline-graphic>
</inline-formula>
, were plotted for inspection by eye.</p>
</sec>
</sec>
<sec id="s3c">
<title>Software</title>
<p>All HPP and NFsim simulations reported in this work were run using NFsim version 1.11, which is available for download at
<ext-link ext-link-type="uri" xlink:href="http://emonet.biology.yale.edu/nfsim">http://emonet.biology.yale.edu/nfsim</ext-link>
. All simulations (SSA included) were invoked through BioNetGen version 2.2.4, which implements the hybrid model generator and is distributed with NFsim 1.11. Instructions for running simulations with BioNetGen (ODE, SSA, and HPP) can be found in Secs. S3.2 and S3.3 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
and Refs.
<xref rid="pcbi.1003544-Faeder1" ref-type="bibr">[6]</xref>
,
<xref rid="pcbi.1003544-Sekar1" ref-type="bibr">[14]</xref>
. NFsim and BioNetGen source code are available at
<ext-link ext-link-type="uri" xlink:href="http://code.google.com/p/nfsim">http://code.google.com/p/nfsim</ext-link>
and
<ext-link ext-link-type="uri" xlink:href="http://code.google.com/p/bionetgen">http://code.google.com/p/bionetgen</ext-link>
, respectively. Additional documentation for BioNetGen can be found at
<ext-link ext-link-type="uri" xlink:href="http://bionetgen.org">http://bionetgen.org</ext-link>
.</p>
</sec>
</sec>
<sec id="s4">
<title>Results</title>
<sec id="s4a">
<title>A hybrid particle/population simulation approach</title>
<p>In this section, we first present an approach, termed “partial network expansion,” for transforming a rule-based model into a dynamically-equivalent, partially-expanded form. We then describe a simple modification to the network-free simulation protocol that permits simulation of the transformed model as a collection of both particles and population variables. We refer to the combination of these methods as the hybrid particle/population (HPP) simulation method. The basic workflow is shown in
<xref ref-type="fig" rid="pcbi-1003544-g001">Fig. 1</xref>
.</p>
<fig id="pcbi-1003544-g001" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g001</object-id>
<label>Figure 1</label>
<caption>
<title>Basic workflow of the HPP simulation method.</title>
<p>Given a rule-based model and a user-specified set of population-mapping rules (which define the population species), partial network expansion (PNE) is performed to generate a hybrid version of the original model. The hybrid model is then passed to a population-adapted network-free simulator (e.g., NFsim 1.11), which generates the time-evolution trajectories for all observable quantities specified in the original model.</p>
</caption>
<graphic xlink:href="pcbi.1003544.g001"></graphic>
</fig>
<p>The HPP approach is analogous to the coupled procedure of network generation and simulation described above, where a rule-based model is first transformed into a
<italic>fully-expanded</italic>
reaction network and then simulated as a collection of population variables (i.e., species) using a network-based simulator. The obvious differences are that in HPP the network is only partially expanded and the system can only be simulated stochastically using a population-adapted network-free simulator. The partial network expansion algorithm has been implemented within the open-source rule-based modeling package BioNetGen
<xref rid="pcbi.1003544-Blinov1" ref-type="bibr">[5]</xref>
,
<xref rid="pcbi.1003544-Faeder1" ref-type="bibr">[6]</xref>
,
<xref rid="pcbi.1003544-Sekar1" ref-type="bibr">[14]</xref>
and resulting hybrid models can be simulated using version 1.11 (or later) of the network-free simulator NFsim
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
, which has been modified to handle population-type species. For convenience, we adhere in this paper to the BNGL syntax, which is summarized in Sec. S3.1 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
of the supporting material. However, the HPP method is generally applicable to any rule-based modeling language for which there exists a network-free simulator capable of handling a mixed particle/population system representation, e.g., KaSim 3.x for Kappa language models (see
<ext-link ext-link-type="uri" xlink:href="https://github.com/jkrivine/KaSim">https://github.com/jkrivine/KaSim</ext-link>
).</p>
<sec id="s4a1">
<title>Population species and population-mapping rules</title>
<p>Given a rule-based model, the first step in the HPP approach is to select a subset of species to treat as “lumped” population variables. There are no hard-and-fast rules for doing this but, generally speaking, species that are good candidates for a population treatment (i) have a small number of components and internal states, (ii) participate in a small number of rules, and (iii) maintain a large population throughout the course of a simulation. An example is a simple ligand species that exists in great excess in the extracellular environment and interacts with cell surface receptors. It is our experience that these simple rules of thumb, combined with the experience and intuition of the modeler, are usually sufficient for selecting an adequate set of population species. However, in some cases a more systematic approach may be desirable. We will return to this topic below.</p>
<p>For now, however, let us assume that we have selected a suitable set of population species. The next step in the HPP approach is to map each of these to an associated
<italic>unstructured</italic>
species. The mapping is accomplished by defining a
<italic>population-mapping rule</italic>
, which follows the same syntactic conventions as a standard BNGL rule. For example, the rule
<disp-formula id="pcbi.1003544.e083">
<graphic xlink:href="pcbi.1003544.e083.jpg" position="anchor" orientation="portrait"></graphic>
</disp-formula>
maps the unbound EGF ligand, Egf(r), to the unstructured species pop_Egf(). To avoid confusion, we will henceforth refer to species on the reactant side of a population-mapping rule, such as Egf(r), as
<italic>structured population species</italic>
and to those on the product side as
<italic>unstructured population species</italic>
. Importantly, unstructured population species differ from conventional unstructured molecules in BNGL in that they possess a property, called a
<italic>count</italic>
, which records their current population (see Sec. S3.3 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
and
<xref ref-type="supplementary-material" rid="pcbi.1003544.s006">Texts S4</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s009">S7</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s012">S10</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s015">S13</xref>
,
<xref ref-type="supplementary-material" rid="pcbi.1003544.s016">S14</xref>
, and
<xref ref-type="supplementary-material" rid="pcbi.1003544.s019">S17</xref>
to see how the population keyword is used to make this distinction). The action of the population-mapping rule above is thus to delete the Egf(r) molecule and to
<italic>increment by one</italic>
the count of pop_Egf(). The role of the rate parameter k_lump, termed the
<italic>lumping rate constant</italic>
, will be explained in detail below.</p>
</sec>
<sec id="s4a2">
<title>Partial network expansion</title>
<p>Ultimately, our goal in the HPP method is to replace in the simulation environment large numbers of indistinguishable particles with small numbers of lumped objects containing population counters (the unstructured population species), thus significantly reducing memory usage. In order to accomplish this without losing any information regarding the dynamics of the system, we must partially expand the rule set of the original model until all interactions and transformations in which the structured population species participate
<italic>as reactants</italic>
(see below) are enumerated. We can then swap the structured species with their unstructured counterparts, which have been specified via the population-mapping rules. We refer to this procedure as partial network expansion (PNE).</p>
<p>The PNE algorithm is comprised of three basic steps, which are applied to each rule of a rule-based model:</p>
<list list-type="order">
<list-item>
<p>For each reactant pattern in the rule, identify all matches of that pattern into the set of structured population species. Also collect a self-match of the reactant pattern
<italic>unless it equals</italic>
one of the population species (this can only happen if the reactant pattern is a fully-specified species; see below for further discussion).</p>
</list-item>
<list-item>
<p>Derive an expanded set of rules by applying the rule to all possible combinations (the cartesian product) of the pattern matches collected in Step 1.</p>
</list-item>
<list-item>
<p>For each derived rule from Step 2, replace each instance of a structured population species with its unstructured population counterpart.</p>
</list-item>
</list>
<p>The result is an expanded rule set consisting of three general types of rules: (i) particle rules, in which all reactants are conventional reactant patterns; (ii) mixed particle/population rules, where at least one reactant is a conventional reactant pattern and one is an unstructured population species; (iii) pure population
<italic>reactions</italic>
, where all reactants are unstructured population species. This expanded rule set has the property that every possible action of the original rule set on the population species is enumerated while actions on particle objects remain pattern-based (i.e., non-enumerated). For a more formal presentation of the PNE algorithm, complete with pseudocode, we direct the reader to Sec. S4.2 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
.</p>
</sec>
<sec id="s4a3">
<title>Role of the population-mapping rules</title>
<p>After completion of PNE, the final step in transforming a rule-based model into a form that can be simulated as a hybrid particle/population system is to append the population-mapping rules to the expanded rule set. The reason for doing this is not immediately obvious. We have seen above that the population-mapping rules specify which structured species are to be replaced in the transformed model with population variables. However, an obvious question to ask is why we have chosen to specify this information via a set of reaction rules, rather than simply as a list of species to be lumped. The answer is combinatorial complexity.</p>
<p>As explained above, systems that are combinatorially complex are comprised of a relatively small number of constituent parts but exhibit an explosion in the number of potential species and reactions due to the myriad number of ways in which these parts can be connected and arranged. Rule-based modeling is effective in representing these systems because it focuses only on the portions of molecular complexes that affect biochemical reactivity, not on entire species. However, a consequence of this approach is that there is often ambiguity regarding the products of a reaction rule. A rule may describe the breaking of a bond between two molecules, for example, but the exact composition of the resulting complexes is left necessarily ambiguous (see
<xref ref-type="fig" rid="pcbi-1003544-g002">Fig. 2</xref>
).</p>
<fig id="pcbi-1003544-g002" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g002</object-id>
<label>Figure 2</label>
<caption>
<title>Simple illustration of ambiguity in the products of reaction rules.</title>
<p>(A) A simple rule encodes the reversible binding of two molecule types, A and B. (B)–(D) If both molecules have multiple binding sites then they may be present within arbitrarily complex complexes. Breaking the bond between A and B thus produces a variety of product species, some of which may correspond to population species and others not. Dashed line represents a bond addition/deletion operation.</p>
</caption>
<graphic xlink:href="pcbi.1003544.g002"></graphic>
</fig>
<p>With regard to the HPP approach, this ambiguity in the products of a reaction rule complicates the process of PNE. Application of a reaction rule to one complex may produce a population species, whereas application of the same rule to a different complex may not. Distinguishing between cases where population species are produced and where they are not is difficult, and may even be impossible if the system is combinatorially complex. Thus, the strategy that we have adopted here is to expand the network out only to the point where all population species
<italic>on the reactant side</italic>
are enumerated and to handle the ambiguity in products by adding the population-mapping rules to the rule set. The role of the population-mapping rules is thus to detect any instances of structured population species that appear in the simulation environment as products of a rule application and to gather them up into the unstructured population pool.</p>
<p>This returns us to the issue of the lumping rate constant, k_lump. In Step 1 of the PNE algorithm, if a reactant pattern equals a population species then we discard the self-match (the structured version of the population species). To see why we do this, consider the binding rule depicted in
<xref ref-type="fig" rid="pcbi-1003544-g002">Fig. 2A</xref>
. However, different from
<xref ref-type="fig" rid="pcbi-1003544-g002">Figs. 2B–D</xref>
, assume that molecules A and B have only
<italic>one</italic>
binding site each. If we choose to lump the unbound molecules then we must define the following population-mapping rules:
<disp-formula id="pcbi.1003544.e084">
<graphic xlink:href="pcbi.1003544.e084.jpg" position="anchor" orientation="portrait"></graphic>
</disp-formula>
<disp-formula id="pcbi.1003544.e085">
<graphic xlink:href="pcbi.1003544.e085.jpg" position="anchor" orientation="portrait"></graphic>
</disp-formula>
</p>
<p>Obviously, these structured population species are equivalent to the reactant patterns in
<xref ref-type="fig" rid="pcbi-1003544-g002">Fig. 2A</xref>
. However, let us choose
<italic>not</italic>
to discard the self-matches in this case. PNE would then generate the following four derived rules:
<disp-formula id="pcbi.1003544.e086">
<graphic xlink:href="pcbi.1003544.e086.jpg" position="anchor" orientation="portrait"></graphic>
</disp-formula>
<disp-formula id="pcbi.1003544.e087">
<graphic xlink:href="pcbi.1003544.e087.jpg" position="anchor" orientation="portrait"></graphic>
</disp-formula>
<disp-formula id="pcbi.1003544.e088">
<graphic xlink:href="pcbi.1003544.e088.jpg" position="anchor" orientation="portrait"></graphic>
</disp-formula>
<disp-formula id="pcbi.1003544.e089">
<graphic xlink:href="pcbi.1003544.e089.jpg" position="anchor" orientation="portrait"></graphic>
</disp-formula>
We see that the first three of these rules have conventional (structured) reactant patterns. However, if k_lump is sufficiently large then particle instances of A(b) and B(a) will never exist in the system long enough to be matched to these patterns. Thus, these rules can be safely discarded, which is equivalent to discarding the self-match in Step 1 of the PNE algorithm. Retaining only the fourth derived rule (the pure population version) simplifies the process and keeps the size of the derived rule set to a minimum.</p>
<p>The consequence of this is obviously that the HPP method is formally exact
<italic>only</italic>
for an infinite lumping rate constant. From a practical point of view, this could be a problem if the network-free simulator being used does not support infinite rates (e.g., NFsim currently does not). However, our performance tests indicate that as long as k_lump is “large” with respect to the model dynamics then essentially exact results can be obtained (see ‘Performance analyses’). Nevertheless, we have implemented in BioNetGen a “safe” mode for PNE that retains all of the self-matches and, hence, produces exact results for
<italic>any</italic>
value of k_lump (see Sec. S3.3 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
for instructions on how to call this method). For a select number of examples, we have confirmed that both approaches give essentially identical results for sufficiently large k_lump and that the “safe” mode is less efficient (data not shown).</p>
</sec>
<sec id="s4a4">
<title>Simple example of PNE</title>
<p>PNE is best illustrated through an example. In
<xref ref-type="fig" rid="pcbi-1003544-g003">Fig. 3</xref>
, we present a simple rule-based model of receptor activation (for brevity, parameters, initial populations, and output observables are omitted; see
<xref ref-type="supplementary-material" rid="pcbi.1003544.s004">Text S2</xref>
of the supporting material for the complete model in BNGL format). The model includes a ligand, L, its cognate receptor, R, and three cytosolic proteins, A, B, and C, that are recruited to the phosphorylated receptor. The 16 rules (six unidirectional and five reversible), describing ligand-receptor binding, receptor phosphorylation/dephosphorylation, and protein recruitment, encode a reaction network comprised of 56 species and 287 reactions. In applying the HPP method, eight species are selected for lumping: free ligand, free A, B and C, and complexes of A, B and C that exclude the receptor. Receptor complexes are treated as particles because there are many possible receptor configurations (48 total).</p>
<fig id="pcbi-1003544-g003" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g003</object-id>
<label>Figure 3</label>
<caption>
<title>Simple receptor activation model in BNGL format.</title>
<p>Abridged; see
<xref ref-type="supplementary-material" rid="pcbi.1003544.s004">Text S2</xref>
of the supporting material for the complete model and
<xref ref-type="supplementary-material" rid="pcbi.1003544.s005">Text S3</xref>
for the population-mapping rules.</p>
</caption>
<graphic xlink:href="pcbi.1003544.g003"></graphic>
</fig>
<p>In
<xref ref-type="fig" rid="pcbi-1003544-g004">Fig. 4</xref>
, a step-by-step application of PNE to rule 11f (forward) of
<xref ref-type="fig" rid="pcbi-1003544-g003">Fig. 3</xref>
is presented. First, both reactant patterns are matched to the structured population species. Reactant pattern 1 has one match, while reactant pattern 2 has two. Note that since neither reactant pattern exactly equals a species (i.e., is isomorphic to one) the self match (identity automorphism) is added to the reactant match list in both cases. Next, the rule is applied to each possible reactant set (the cartesian product of the reactant match lists). This results in a set of six derived rules. The structured population species are then replaced in these rules by their associated unstructured species, resulting in one pure particle rule (the original rule), three mixed particle/population rules, and two pure population reactions. Including the population-mapping rules, the hybrid model contains a total of 42 rules, more than the original 16 but significantly less than the 287 reactions of the fully-expanded network. The complete partially-expanded HPP model in BNGL format can be found in
<xref ref-type="supplementary-material" rid="pcbi.1003544.s006">Text S4</xref>
of the supporting material.</p>
<fig id="pcbi-1003544-g004" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g004</object-id>
<label>Figure 4</label>
<caption>
<title>Partial network expansion (PNE) applied to Rule 11f of
<xref ref-type="fig" rid="pcbi-1003544-g003">Fig. 3</xref>
.</title>
<p>See Text S4 of the supporting material for the complete, partially-expanded model.</p>
</caption>
<graphic xlink:href="pcbi.1003544.g004"></graphic>
</fig>
</sec>
<sec id="s4a5">
<title>Population-adapted network-free simulation</title>
<p>Although modified relative to the original, the hybrid model generated from PNE remains properly a rule-based model. As such, it can, in principle, be simulated with any of the network-based (after network generation) and network-free simulation methods described above. However, the advantage of recasting the original model into the hybrid form is that it can be represented as a collection of particles and population objects and simulated using a modified network-free method that has the following attributes: (i) a population count property for each molecule object; (ii) a transformation that performs population increments and decrements; (iii) a method for calculating population-weighted propensities (rates). Examples of population-adapted network-free simulators are NFsim 1.11 and KaSim 3.x.</p>
<p>The population-weighted propensity of a rule
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e090.jpg"></inline-graphic>
</inline-formula>
can be calculated as
<disp-formula id="pcbi.1003544.e091">
<graphic xlink:href="pcbi.1003544.e091.jpg" position="anchor" orientation="portrait"></graphic>
<label>(1)</label>
</disp-formula>
Here,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e092.jpg"></inline-graphic>
</inline-formula>
is the rate constant (more generally, the “single-site rate law”
<xref rid="pcbi.1003544-Faeder1" ref-type="bibr">[6]</xref>
),
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e093.jpg"></inline-graphic>
</inline-formula>
is the symmetry factor (see Note 4.21 of Ref.
<xref rid="pcbi.1003544-Faeder1" ref-type="bibr">[6]</xref>
),
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e094.jpg"></inline-graphic>
</inline-formula>
is the number of reactant patterns in the rule (i.e., the
<italic>molecularity</italic>
),
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e095.jpg"></inline-graphic>
</inline-formula>
is the total number of complexes in the system,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e096.jpg"></inline-graphic>
</inline-formula>
is the population of complex
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e097.jpg"></inline-graphic>
</inline-formula>
(unity in the case of particles), and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e098.jpg"></inline-graphic>
</inline-formula>
is the number of matches of reactant pattern
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e099.jpg"></inline-graphic>
</inline-formula>
into complex
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e100.jpg"></inline-graphic>
</inline-formula>
(unity or zero for unstructured population species, i.e., the species either is the reactant or it is not). The difference between
<xref ref-type="disp-formula" rid="pcbi.1003544.e091">Eq. 1</xref>
and the formula used for calculating propensities in standard network-free simulators is the term
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e101.jpg"></inline-graphic>
</inline-formula>
; a fully particle-based network-free calculation is recovered if all
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e102.jpg"></inline-graphic>
</inline-formula>
. Conversely, the difference between
<xref ref-type="disp-formula" rid="pcbi.1003544.e091">Eq. 1</xref>
and the formula used in network-based SSA simulators is the term
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e103.jpg"></inline-graphic>
</inline-formula>
; a fully population-based calculation is recovered if all
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e104.jpg"></inline-graphic>
</inline-formula>
or
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e105.jpg"></inline-graphic>
</inline-formula>
, in which case
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e106.jpg"></inline-graphic>
</inline-formula>
is the total number of species in the network.
<xref ref-type="disp-formula" rid="pcbi.1003544.e091">Equation 1</xref>
thus generalizes the concept of propensity for hybrid systems comprised of both particles and population variables.</p>
<p>Also note that for symmetric population reactions, e.g., pop_A()+pop_A()→A(a!0).A(a!0), the possibility of a null event must be calculated in order to prevent reactions involving the same molecule. This is accomplished by rejecting the event with probability
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e107.jpg"></inline-graphic>
</inline-formula>
. Furthermore, since population species have zero components, if complex
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e108.jpg"></inline-graphic>
</inline-formula>
is a population species and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e109.jpg"></inline-graphic>
</inline-formula>
, then
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e110.jpg"></inline-graphic>
</inline-formula>
for all
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e111.jpg"></inline-graphic>
</inline-formula>
. This property is useful because it guarantees that a reactant pattern matches either particles or population species exclusively, never a mixture of both. Thus, once a rule has been selected to fire, the particles to participate in that rule can be selected from a uniform distribution rather than from a population-weighted distribution.</p>
</sec>
</sec>
<sec id="s4b">
<title>Performance analyses</title>
<sec id="s4b1">
<title>Peak memory use and CPU run time</title>
<p>In
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels A, we show absolute and relative (with respect to NFsim) peak memory use as a function of cell fraction,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e112.jpg"></inline-graphic>
</inline-formula>
, for all models considered. We see that in all tested cases HPP requires less memory than NFsim. For NFsim, we also see the expected linear relationship (
<xref ref-type="table" rid="pcbi-1003544-t001">Table 1</xref>
) between peak memory use and particle number (i.e., cell fraction; the slight deviation from linearity is an artifact of how memory is allocated in NFsim). For HPP, peak memory use also scales linearly with particle number, but with a smaller slope. This is the expected behavior since as the cell fraction is increased (keeping concentrations constant) a portion of the added particles, and hence memory cost, is always absorbed by the population portion of the system. Furthermore, in cases where network generation is possible (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e113.jpg"></inline-graphic>
</inline-formula>
,
<xref ref-type="fig" rid="pcbi-1003544-g007">Fig. 7A</xref>
; EGFR,
<xref ref-type="fig" rid="pcbi-1003544-g008">Fig. 8A</xref>
), we see the expected constant relationship between memory usage and particle number for the SSA (
<xref ref-type="table" rid="pcbi-1003544-t001">Table 1</xref>
). We also see that the SSA requires more memory than both NFsim and HPP for all cell fractions considered. This is due to the high memory cost of the dependency update graph
<xref rid="pcbi.1003544-Cao1" ref-type="bibr">[38]</xref>
used in the SSA implementation within BioNetGen, which scales with the product of the number of reactions in the network and the number of reactions updated after each reaction firing (see
<xref ref-type="table" rid="pcbi-1003544-t001">Table 1</xref>
).</p>
<fig id="pcbi-1003544-g005" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g005</object-id>
<label>Figure 5</label>
<caption>
<title>HPP performance analysis for the TLBR model.</title>
<p>(A) peak memory usage (
<italic>left</italic>
: absolute,
<italic>right</italic>
: relative to NFsim); (B) CPU run time (
<italic>left</italic>
: absolute,
<italic>right</italic>
: relative to NFsim); (C) number of reaction events fired during a simulation (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e114.jpg"></inline-graphic>
</inline-formula>
); (D) equilibrium distribution of number of clusters (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e115.jpg"></inline-graphic>
</inline-formula>
). The slight deviation from linearity for ‘NF’ in (A) is an artifact of how memory is allocated in NFsim.</p>
</caption>
<graphic xlink:href="pcbi.1003544.g005"></graphic>
</fig>
<fig id="pcbi-1003544-g006" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g006</object-id>
<label>Figure 6</label>
<caption>
<title>HPP performance analysis for the actin polymerization model.</title>
<p>(A) peak memory usage (
<italic>left</italic>
: absolute,
<italic>right</italic>
: relative to NFsim); (B) CPU run time (
<italic>left</italic>
: absolute,
<italic>right</italic>
: relative to NFsim); (C) number of reaction events fired during a simulation (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e116.jpg"></inline-graphic>
</inline-formula>
); (D) equilibrium distribution of actin polymer lengths (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e117.jpg"></inline-graphic>
</inline-formula>
). The slight deviation from linearity for ‘NF’ in (A) is an artifact of how memory is allocated in NFsim.</p>
</caption>
<graphic xlink:href="pcbi.1003544.g006"></graphic>
</fig>
<fig id="pcbi-1003544-g007" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g007</object-id>
<label>Figure 7</label>
<caption>
<title>HPP performance analysis for the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e118.jpg"></inline-graphic>
</inline-formula>
signaling model.</title>
<p>(A) peak memory usage (
<italic>left</italic>
: absolute,
<italic>right</italic>
: relative to NFsim); (B) CPU run time (
<italic>left</italic>
: absolute,
<italic>right</italic>
: relative to NFsim); (C) number of reaction events fired during a simulation (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e119.jpg"></inline-graphic>
</inline-formula>
); (D) timecourses (means and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e120.jpg"></inline-graphic>
</inline-formula>
frequency envelopes;
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e121.jpg"></inline-graphic>
</inline-formula>
) for
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e122.jpg"></inline-graphic>
</inline-formula>
receptor (
<italic>top</italic>
) and receptor-recruited,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e123.jpg"></inline-graphic>
</inline-formula>
Syk (
<italic>bottom</italic>
). The slight deviation from linearity for ‘NF’ in (A) is an artifact of how memory is allocated in NFsim. SSA timecourses are virtually indistinguishable from those in (D) and have been omitted for clarity.</p>
</caption>
<graphic xlink:href="pcbi.1003544.g007"></graphic>
</fig>
<fig id="pcbi-1003544-g008" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g008</object-id>
<label>Figure 8</label>
<caption>
<title>HPP performance analysis for the EGFR signaling model.</title>
<p>(A) peak memory usage (
<italic>left</italic>
: absolute,
<italic>right</italic>
: relative to NFsim); (B) CPU run time (
<italic>left</italic>
: absolute,
<italic>right</italic>
: relative to NFsim); (C) number of reaction events fired during a simulation (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e124.jpg"></inline-graphic>
</inline-formula>
); (D) timecourses (means and 5–95% frequency envelopes;
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e125.jpg"></inline-graphic>
</inline-formula>
) for activated Sos (
<italic>top</italic>
) and nuclear phosphorylated ERK (
<italic>bottom</italic>
). The slight deviation from linearity for ‘NF’ in (A) is an artifact of how memory is allocated in NFsim. Due to high computational expense, SSA statistics were not collected in (C) and (D).</p>
</caption>
<graphic xlink:href="pcbi.1003544.g008"></graphic>
</fig>
<p>In
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels B, we show absolute and relative (with respect to NFsim) CPU run times as a function of cell fraction. Generally speaking, HPP and NFsim run times are comparable in all cases, indicating that the reductions in memory use seen in
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels A, are not achieved at the cost of increased run times. In fact, HPP is slightly faster than NFsim in most cases. This is because operations on population species (e.g., increment/decrement) are less costly than the graph operations applied to particles (e.g., subgraph matching). Also note in
<xref ref-type="fig" rid="pcbi-1003544-g005">Fig. 5B</xref>
the expected quadratic relationship between run time and particle number for the TLBR model (
<xref ref-type="table" rid="pcbi-1003544-t001">Table 1</xref>
), which is due to the formation of a super aggregate near the solution-gel phase boundary
<xref rid="pcbi.1003544-Yang1" ref-type="bibr">[23]</xref>
,
<xref rid="pcbi.1003544-Monine1" ref-type="bibr">[42]</xref>
. In
<xref ref-type="fig" rid="pcbi-1003544-g007">Figs. 7B</xref>
and
<xref ref-type="fig" rid="pcbi-1003544-g008">8B</xref>
, we see that the SSA is slower than both NFsim and HPP for all cell fractions considered. The difference is most pronounced at small cell fractions and is much more significant for EGFR than for
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e126.jpg"></inline-graphic>
</inline-formula>
. This is expected since previous work
<xref rid="pcbi.1003544-Sneddon1" ref-type="bibr">[16]</xref>
has shown that network-free methods perform particularly well for systems with small numbers of particles and large networks (the EGFR network is significantly larger than the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e127.jpg"></inline-graphic>
</inline-formula>
network;
<xref ref-type="table" rid="pcbi-1003544-t002">Table 2</xref>
). Finally, we see in
<xref ref-type="fig" rid="pcbi-1003544-g007">Fig. 7B</xref>
that the CPU run time increases as we increase the number of species treated as populations in the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e128.jpg"></inline-graphic>
</inline-formula>
model, even though the memory usage remains constant (
<xref ref-type="fig" rid="pcbi-1003544-g007">Fig. 7A</xref>
). This is interesting because it suggests that the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e129.jpg"></inline-graphic>
</inline-formula>
variant, with free ligand as the only population species, is near-optimally lumped for the cell fractions considered. We revisit the issue of optimal lumping sets below.</p>
</sec>
<sec id="s4b2">
<title>Accuracy</title>
<p>In
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels C, we show distributions of the number of reaction firings per simulation run for each of the simulation methods considered. It is evident that for all models the distributions, as illustrated by box plots, are similar for NFsim, HPP, and SSA (the latter for
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e130.jpg"></inline-graphic>
</inline-formula>
only;
<xref ref-type="fig" rid="pcbi-1003544-g007">Fig. 7C</xref>
). Statistically speaking, the two-sided Mann-Whitney U test
<xref rid="pcbi.1003544-Wilcoxon1" ref-type="bibr">[74]</xref>
,
<xref rid="pcbi.1003544-Mann1" ref-type="bibr">[75]</xref>
was unable to reject the null hypothesis in all cases at the 5% significance level (TLBR:
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e131.jpg"></inline-graphic>
</inline-formula>
; Actin:
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e132.jpg"></inline-graphic>
</inline-formula>
;
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e133.jpg"></inline-graphic>
</inline-formula>
:
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e134.jpg"></inline-graphic>
</inline-formula>
; EGFR:
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e135.jpg"></inline-graphic>
</inline-formula>
). There is no evidence, therefore, that HPP does not generate statistically identical numbers of reaction firings to both NFsim and SSA. This is as expected since all methods are exact-stochastic approaches.</p>
<p>In
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels D, we compare distributions obtained from NFsim and HPP simulations of all models. In
<xref ref-type="fig" rid="pcbi-1003544-g005">Fig. 5D</xref>
, we show equilibrium distributions of the number of receptor clusters in the TLBR model (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e136.jpg"></inline-graphic>
</inline-formula>
). In
<xref ref-type="fig" rid="pcbi-1003544-g006">Fig. 6D</xref>
, equilibrium distributions of polymer lengths in the Actin model are shown (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e137.jpg"></inline-graphic>
</inline-formula>
). In both cases, the NFsim and HPP distributions are statistically indistinguishable (TLBR:
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e138.jpg"></inline-graphic>
</inline-formula>
; Actin:
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e139.jpg"></inline-graphic>
</inline-formula>
). In
<xref ref-type="fig" rid="pcbi-1003544-g007">Fig. 7D</xref>
, time courses for
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e140.jpg"></inline-graphic>
</inline-formula>
phosphorylated receptor and receptor-recruited,
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e141.jpg"></inline-graphic>
</inline-formula>
phosphorylated Syk are shown (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e142.jpg"></inline-graphic>
</inline-formula>
). In
<xref ref-type="fig" rid="pcbi-1003544-g008">Fig. 8D</xref>
, time courses for membrane-recruited (active) SOS and nuclear phospho-ERK are shown (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e143.jpg"></inline-graphic>
</inline-formula>
). Although we did not perform any statistical tests, visual inspection of the trajectories clearly shows that in all cases the NFsim and HPP results are virtually identical.</p>
</sec>
<sec id="s4b3">
<title>Systematic approach to selecting population species</title>
<p>All of the HPP results presented in
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
were obtained with “hand-picked” sets of population species chosen based on modeler experience and intuition. The significant memory savings seen in these plots imply that this approach will often be sufficient in practice. However, it is fair to ask whether a more systematic approach to selecting population species can achieve additional memory savings. In order to address this question, we considered a variety of different lumping sets for each example model and compared their performance in terms of memory usage and CPU run time. The lumping sets were chosen based on average species populations calculated over the course of a single NFsim pre-simulation at cell fraction
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e144.jpg"></inline-graphic>
</inline-formula>
. Specifically, at periodic intervals, the full set of complexes in the system was collected, each complex canonically labeled, and the number of instances of each label (i.e., species) counted. Average values over the entire simulation were then calculated for each species. Sets of population species were constructed by lumping all species with an average population greater than a range of pre-defined thresholds. For convenience, we chose thresholds of
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e145.jpg"></inline-graphic>
</inline-formula>
. Average species populations obtained from each NFsim pre-simulation are provided in supplementary
<xref ref-type="supplementary-material" rid="pcbi.1003544.s001">Dataset S1</xref>
. The script that implements this method (for a single threshold) has been included in the recent BioNetGen 2.2.5 release (auto_hpp.pl in the Perl2 subdirectory).</p>
<p>In
<xref ref-type="fig" rid="pcbi-1003544-g009">Fig. 9</xref>
, we show peak memory use and CPU run times for HPP simulations of each model at each lumping set considered. In general, these results illustrate the success of the hand-picked lumping sets, which produced memory savings close to the optimal in most cases. There was, however, some room for improvement in the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e146.jpg"></inline-graphic>
</inline-formula>
model (
<xref ref-type="fig" rid="pcbi-1003544-g009">Fig. 9C</xref>
). This is because the fourth and fifth most populated species for this model were complexes comprised of five molecular subunits (see
<xref ref-type="supplementary-material" rid="pcbi.1003544.s001">Dataset S1</xref>
). Since we did not anticipate this result, these high-population species were not included in the hand-picked lumping set. The majority of the memory savings seen in
<xref ref-type="fig" rid="pcbi-1003544-g009">Fig. 9C</xref>
for thresholds
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e147.jpg"></inline-graphic>
</inline-formula>
are due to lumping of these species. Thus, our results also illustrate the value of using a more systematic approach to selecting population species in some cases.</p>
<fig id="pcbi-1003544-g009" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g009</object-id>
<label>Figure 9</label>
<caption>
<title>HPP performance analyses for various lumping thresholds at cell fraction
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e148.jpg"></inline-graphic>
</inline-formula>
.</title>
<p>(A) TLBR; (B) Actin; (C)
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e149.jpg"></inline-graphic>
</inline-formula>
; (D) EGFR. In all plots, threshold values for different lumping sets are shown on the x-axis. For TLBR and Actin, some thresholds yield the same set of population species as larger thresholds and are thus omitted from the figures. For TLBR, results for thresholds
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e150.jpg"></inline-graphic>
</inline-formula>
are omitted due to impractically large partial networks in those cases. Results for NFsim (‘NF’) and the hand-picked lumping sets from
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
(‘HPP’) are shown in all plots for comparison. Error bars show standard error (three samples).</p>
</caption>
<graphic xlink:href="pcbi.1003544.g009"></graphic>
</fig>
<p>It is also interesting to note in
<xref ref-type="fig" rid="pcbi-1003544-g009">Figs. 9C and 9D</xref>
the presence of an optimal lumping threshold between the maximum and minimum values considered. At high thresholds, most species are treated as particles and higher memory use is expected. At low thresholds, however, the higher memory use is due to the larger size of the partially-expanded network. Also interesting is that the run time results in
<xref ref-type="fig" rid="pcbi-1003544-g009">Fig. 9</xref>
show a weak (if any) dependence on the chosen threshold, despite the fact that the time complexity of network-free methods scales linearly with rule set size (
<xref ref-type="table" rid="pcbi-1003544-t001">Table 1</xref>
). Presumably, this is because the lower cost operations (increment/decrement) associated with the population species offset the increased cost of larger rule sets. This robustness of the time cost with respect to the size of the lumping set is a positive attribute of the HPP method.</p>
</sec>
</sec>
</sec>
<sec id="s5">
<title>Discussion</title>
<p>We have presented a hybrid particle/population simulation approach for rule-based models of biological systems. The HPP approach is applied in two stages (
<xref ref-type="fig" rid="pcbi-1003544-g001">Fig. 1</xref>
): (i) transformation of a rule-based model into a dynamically-equivalent hybrid form by partially expanding the network around a selected set of population species; (ii) simulation of the transformed model using a population-adapted network-free simulator. The method is formally exact for an infinite population lumping rate constant, but can produce statistically exact results in practice provided that a sufficiently large value is used (
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels C and D). As currently implemented, the primary advantage of the HPP method is in reducing memory usage during simulation (
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels A). Importantly, this is accomplished with little to no impact on simulation run time (
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels B).</p>
<p>We have shown that peak memory use for HPP scales linearly with particle number (with a slope that is smaller than for NFsim;
<xref ref-type="fig" rid="pcbi-1003544-g005">Figs. 5</xref>
<xref ref-type="fig" rid="pcbi-1003544-g008">8</xref>
, panels A) and confirmed that when network generation is possible SSA memory use is approximately independent of particle number (
<xref ref-type="fig" rid="pcbi-1003544-g007">Figs. 7A</xref>
and
<xref ref-type="fig" rid="pcbi-1003544-g008">8A</xref>
). At the system volumes that we have considered here, HPP memory use is significantly less than for SSA. However, the linear scaling of HPP and the constant scaling of SSA indicate that with further increases in the system volume there will invariably come a point where HPP memory use exceeds that of SSA. This is because species that are rare at small volumes, and hence chosen to be treated as particles, become plentiful at large volumes. Intuitively, a partially-expanded network should never require more memory than a fully-enumerated network. However, as currently implemented, there is no way to strictly enforce this restriction because HPP requires that population species be chosen prior to PNE.</p>
<p>In
<xref ref-type="fig" rid="pcbi-1003544-g009">Fig. 9</xref>
, we have shown how a systematic approach to choosing population species can optimize memory usage for a given system volume. However, this approach requires running an NFsim pre-simulation, which may not be feasible for systems with extremely large numbers of particles (e.g., whole cells). Thus, we propose to develop a more general version of HPP that dynamically tracks the populations of species during the course of a simulation and automatically selects those to treat as population variables based on some criteria, e.g., that their population exceeds a certain threshold. In this automated version of HPP (aHPP), PNE would be performed every time a new species is lumped. If all species in the system become lumped then the network will naturally become fully enumerated. Hence, the memory load will never exceed that of the fully-expanded network. In
<xref ref-type="fig" rid="pcbi-1003544-g010">Fig. 10</xref>
, we provide a qualitative sketch of how we expect the memory usage of this hypothetical aHPP method to scale with system volume (particle number). Included for comparison are scalings for HPP, NFsim, and SSA. For models with finite networks (such as
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e151.jpg"></inline-graphic>
</inline-formula>
and EGFR), aHPP memory use should plateau once the entire reaction network has been generated. For models with infinite networks (such as TLBR and Actin), we expect aHPP memory use at large volumes to scale somewhere between constant and linear (no worse than HPP) depending on the model. A detailed analysis of the space complexity of a hypothetical, “optimal” aHPP method is provided in Sec. S2 of supplementary
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
.</p>
<fig id="pcbi-1003544-g010" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g010</object-id>
<label>Figure 10</label>
<caption>
<title>Memory use vs. simulated volume for different simulation methods, including a hypothetical automated HPP (aHPP).</title>
<p>For finite networks, aHPP memory use plateaus once the entire reaction network has been generated. For infinite networks, the scaling at large volumes should fall somewhere between constant and linear (no worse than HPP) depending on the model (see Sec. S2 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
for an analysis).</p>
</caption>
<graphic xlink:href="pcbi.1003544.g010"></graphic>
</fig>
<p>In order to frame our results within a real-world context, we have estimated the cost of simulation based on hourly rates of on-demand instances on the Amazon Elastic Compute Cloud (EC2). In
<xref ref-type="fig" rid="pcbi-1003544-g011">Fig. 11</xref>
, we show the hourly cost (per “effective compute unit”) of simulation as a function of required memory per simulation (details of the calculation can be found in Sec. S1 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
). Also included in the plot are values for HPP (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e152.jpg"></inline-graphic>
</inline-formula>
), NFsim (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e153.jpg"></inline-graphic>
</inline-formula>
), and SSA (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e154.jpg"></inline-graphic>
</inline-formula>
) simulations of the EGFR model at cell fraction
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e155.jpg"></inline-graphic>
</inline-formula>
(
<xref ref-type="fig" rid="pcbi-1003544-g008">Fig. 8A</xref>
). Our calculations show that below
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e156.jpg"></inline-graphic>
</inline-formula>
of required memory
<italic>High-CPU</italic>
instances are the most cost effective. Above this threshold
<italic>High-Memory</italic>
instances are the better option. The HPP simulation falls below this cutoff while both NFsim and SSA lie above. There is a quantifiable benefit, therefore, to reducing memory usage in this case; HPP simulations on the EC2 would be
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e157.jpg"></inline-graphic>
</inline-formula>
and
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e158.jpg"></inline-graphic>
</inline-formula>
times less expensive, respectively, than NFsim and SSA (HPP is slightly faster than NFsim and significantly faster than SSA;
<xref ref-type="fig" rid="pcbi-1003544-g008">Fig. 8B</xref>
). Thus, the reduction in memory usage offered by HPP is not simply of academic interest but can impact, in a tangible way, the cost of doing computational research.</p>
<fig id="pcbi-1003544-g011" orientation="portrait" position="float">
<object-id pub-id-type="doi">10.1371/journal.pcbi.1003544.g011</object-id>
<label>Figure 11</label>
<caption>
<title>Cost of running simulations on the Amazon Elastic Compute Cloud (EC2).</title>
<p>The minimum cost as a function of memory requirement was calculated based on January 2012 pricing (
<ext-link ext-link-type="uri" xlink:href="http://aws.amazon.com/ec2/">http://aws.amazon.com/ec2/</ext-link>
) of all
<italic>Standard</italic>
,
<italic>High-CPU</italic>
, and
<italic>High-Memory</italic>
EC2 instances (see Sec. S1 of
<xref ref-type="supplementary-material" rid="pcbi.1003544.s003">Text S1</xref>
for details of the calculation). Also included are values for NFsim, HPP, and SSA simulations of the EGFR model at cell fraction
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e159.jpg"></inline-graphic>
</inline-formula>
.</p>
</caption>
<graphic xlink:href="pcbi.1003544.g011"></graphic>
</fig>
<p>Finally, even greater benefits are possible if, in addition to reducing memory usage, the speed of HPP simulations can be increased.
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e160.jpg"></inline-graphic>
</inline-formula>
leaping
<xref rid="pcbi.1003544-Gillespie3" ref-type="bibr">[36]</xref>
,
<xref rid="pcbi.1003544-Gillespie4" ref-type="bibr">[77]</xref>
<xref rid="pcbi.1003544-Cao2" ref-type="bibr">[79]</xref>
is an approach for accelerating stochastic simulations of chemically reactive systems. With a few exceptions (e.g., Ref.
<xref rid="pcbi.1003544-Vlachos1" ref-type="bibr">[80]</xref>
),
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e161.jpg"></inline-graphic>
</inline-formula>
leaping has been applied primarily to fully-enumerated reaction networks. We believe that the HPP method provides a unique setting for the application of
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e162.jpg"></inline-graphic>
</inline-formula>
because, unlike in pure particle-based methods, there exists a partial network of reactions that act on population species. Thus, a network-based
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e163.jpg"></inline-graphic>
</inline-formula>
leaping method can be applied exclusively to the population component of a system while retaining the network-free approach in the particle component. We have recently implemented a
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e164.jpg"></inline-graphic>
</inline-formula>
leaping variant in BioNetGen, known as the partitioned-leaping algorithm
<xref rid="pcbi.1003544-Harris1" ref-type="bibr">[22]</xref>
, and are actively working on integrating it with the HPP.</p>
</sec>
<sec sec-type="supplementary-material" id="s6">
<title>Supporting Information</title>
<supplementary-material content-type="local-data" id="pcbi.1003544.s001">
<label>Dataset S1</label>
<caption>
<p>Average species populations from NFsim pre-simulations (
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e165.jpg"></inline-graphic>
</inline-formula>
) of all example models considered in
<xref ref-type="fig" rid="pcbi-1003544-g009">Fig. 9</xref>
.</p>
<p>(XLSX)</p>
</caption>
<media xlink:href="pcbi.1003544.s001.xlsx">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s002">
<label>Figure S1</label>
<caption>
<p>Average number of reactions that must be updated after each reaction firing (i.e, dependencies) for a collection of
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e166.jpg"></inline-graphic>
</inline-formula>
signaling models of varying network size (all models are included in the BioNetGen 2.2.5 release available at
<ext-link ext-link-type="uri" xlink:href="http://bionetgen.org">http://bionetgen.org</ext-link>
).</p>
<p>(EPS)</p>
</caption>
<media xlink:href="pcbi.1003544.s002.eps">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s003">
<label>Text S1</label>
<caption>
<p>
<underline>Sec. S1</underline>
: Details of the monetary cost analysis shown in
<xref ref-type="fig" rid="pcbi-1003544-g011">Fig. 11</xref>
;
<underline>Sec. S2</underline>
: Space complexity analyses for the network-based SSA, network-free, HPP, and hypothetical aHPP methods (
<xref ref-type="fig" rid="pcbi-1003544-g010">Fig. 10</xref>
);
<underline>Sec. S3</underline>
: Overview of BNGL, model files, and running HPP simulations with BioNetGen/NFsim;
<underline>Sec. S4</underline>
: BNGL formalism and the formal foundation of the PNE algorithm (with pseudocode).</p>
<p>(PDF)</p>
</caption>
<media xlink:href="pcbi.1003544.s003.pdf">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s004">
<label>Text S2</label>
<caption>
<p>Complete BNGL file for the simple receptor activation model of
<xref ref-type="fig" rid="pcbi-1003544-g003">Fig. 3</xref>
(receptor_activation.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s004.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s005">
<label>Text S3</label>
<caption>
<p>HPP configuration file for the simple receptor activation model, including population mapping rules and instructions for executing NFsim and HPP simulations (run_receptor_activation.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s005.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s006">
<label>Text S4</label>
<caption>
<p>Partially-expanded (HPP) version of the simple receptor activation model of
<xref ref-type="fig" rid="pcbi-1003544-g003">Fig. 3</xref>
generated using the method outlined in
<xref ref-type="fig" rid="pcbi-1003544-g004">Fig. 4</xref>
(receptor_activation_hpp.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s006.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s007">
<label>Text S5</label>
<caption>
<p>BNGL file for the TLBR model (tlbr.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s007.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s008">
<label>Text S6</label>
<caption>
<p>HPP configuration file for the TLBR model (run_tlbr.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s008.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s009">
<label>Text S7</label>
<caption>
<p>HPP version of the TLBR model (tlbr_hpp.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s009.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s010">
<label>Text S8</label>
<caption>
<p>BNGL file for the Actin model (actin_simple.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s010.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s011">
<label>Text S9</label>
<caption>
<p>HPP configuration file for the Actin model (run_actin_simple.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s011.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s012">
<label>Text S10</label>
<caption>
<p>HPP version of the Actin model (actin_simple_hpp.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s012.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s013">
<label>Text S11</label>
<caption>
<p>BNGL file for the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e167.jpg"></inline-graphic>
</inline-formula>
model (fceri_gamma2.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s013.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s014">
<label>Text S12</label>
<caption>
<p>HPP configuration file for the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e168.jpg"></inline-graphic>
</inline-formula>
model (run_fceri_gamma2.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s014.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s015">
<label>Text S13</label>
<caption>
<p>HPP version of the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e169.jpg"></inline-graphic>
</inline-formula>
model with free ligand treated as the only population species (fceri_gamma2_hpp1.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s015.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s016">
<label>Text S14</label>
<caption>
<p>HPP version of the
<inline-formula>
<inline-graphic xlink:href="pcbi.1003544.e170.jpg"></inline-graphic>
</inline-formula>
model with free ligand, cytosolic Lyn and all four phosphorylation states of cytosolic Syk treated as population species (fceri_gamma2_hpp6.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s016.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s017">
<label>Text S15</label>
<caption>
<p>BNGL file for the EGFR model (egfr_extended.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s017.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s018">
<label>Text S16</label>
<caption>
<p>HPP configuration file for the EGFR model (run_egfr_extended.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s018.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
<supplementary-material content-type="local-data" id="pcbi.1003544.s019">
<label>Text S17</label>
<caption>
<p>HPP version of the EGFR model (egfr_extended_hpp.bngl).</p>
<p>(TXT)</p>
</caption>
<media xlink:href="pcbi.1003544.s019.txt">
<caption>
<p>Click here for additional data file.</p>
</caption>
</media>
</supplementary-material>
</sec>
</body>
<back>
<ack>
<p>We thank Michael Sneddon for assistance in preparing the NFsim 1.11 distribution (population-adapted).</p>
</ack>
<ref-list>
<title>References</title>
<ref id="pcbi.1003544-Alberts1">
<label>1</label>
<mixed-citation publication-type="book">Alberts B, Johnson A, Lewis J, Raff M, Roberts K,
<etal>et al</etal>
.. (2002) Molecular Biology of the Cell. Garland Science, 4th edition.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Hlavacek1">
<label>2</label>
<mixed-citation publication-type="journal">
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Perelson</surname>
<given-names>AS</given-names>
</name>
,
<name>
<surname>Goldstein</surname>
<given-names>B</given-names>
</name>
(
<year>2003</year>
)
<article-title>The complexity of complexes in signal transduction</article-title>
.
<source>Biotechnol Bioeng</source>
<volume>84</volume>
:
<fpage>783</fpage>
<lpage>794</lpage>
.
<pub-id pub-id-type="pmid">14708119</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Hlavacek2">
<label>3</label>
<mixed-citation publication-type="journal">
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Posner</surname>
<given-names>RG</given-names>
</name>
,
<name>
<surname>Hucka</surname>
<given-names>M</given-names>
</name>
,
<etal>et al</etal>
(
<year>2006</year>
)
<article-title>Rules for modeling signal-transduction systems</article-title>
.
<source>Sci STKE</source>
<volume>2006</volume>
:
<fpage>re6</fpage>
.
<pub-id pub-id-type="pmid">16849649</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Aldridge1">
<label>4</label>
<mixed-citation publication-type="journal">
<name>
<surname>Aldridge</surname>
<given-names>BB</given-names>
</name>
,
<name>
<surname>Burke</surname>
<given-names>JM</given-names>
</name>
,
<name>
<surname>Lauffenburger</surname>
<given-names>DA</given-names>
</name>
,
<name>
<surname>Sorger</surname>
<given-names>PK</given-names>
</name>
(
<year>2006</year>
)
<article-title>Physicochemical modelling of cell signalling pathways</article-title>
.
<source>Nat Cell Biol</source>
<volume>8</volume>
:
<fpage>1195</fpage>
<lpage>1203</lpage>
.
<pub-id pub-id-type="pmid">17060902</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Blinov1">
<label>5</label>
<mixed-citation publication-type="journal">
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Goldstein</surname>
<given-names>B</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2004</year>
)
<article-title>BioNetGen: software for rule-based modeling of signal transduction based on the interactions of molecular domains</article-title>
.
<source>Bioinformatics</source>
<volume>17</volume>
:
<fpage>3289</fpage>
<lpage>3291</lpage>
.
<pub-id pub-id-type="pmid">15217809</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Faeder1">
<label>6</label>
<mixed-citation publication-type="book">Faeder JR, Blinov ML, Hlavacek WS (2009) Rule-based modeling of biochemical systems with BioNetGen. In: Methods in Molecular Biology, Clifton, N.J.: Humana Press, volume 500. pp. 113–167.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Danos1">
<label>7</label>
<mixed-citation publication-type="journal">
<name>
<surname>Danos</surname>
<given-names>V</given-names>
</name>
,
<name>
<surname>Laneve</surname>
<given-names>C</given-names>
</name>
(
<year>2004</year>
)
<article-title>Formal molecular biology</article-title>
.
<source>Theor Comput Sci</source>
<volume>325</volume>
:
<fpage>69</fpage>
<lpage>110</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Danos2">
<label>8</label>
<mixed-citation publication-type="journal">
<name>
<surname>Danos</surname>
<given-names>V</given-names>
</name>
,
<name>
<surname>Feret</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Fontana</surname>
<given-names>W</given-names>
</name>
,
<name>
<surname>Harmer</surname>
<given-names>R</given-names>
</name>
,
<name>
<surname>Krivine</surname>
<given-names>J</given-names>
</name>
(
<year>2007</year>
)
<article-title>Rule-based modelling of cellular signalling</article-title>
.
<source>Lect Notes Comput Sci</source>
<volume>4703</volume>
:
<fpage>17</fpage>
<lpage>41</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Maus1">
<label>9</label>
<mixed-citation publication-type="journal">
<name>
<surname>Maus</surname>
<given-names>C</given-names>
</name>
,
<name>
<surname>Rybacki</surname>
<given-names>S</given-names>
</name>
,
<name>
<surname>Uhrmacher</surname>
<given-names>AM</given-names>
</name>
(
<year>2011</year>
)
<article-title>Rule-based multi-level modeling of cell biological systems</article-title>
.
<source>BMC Syst Biol</source>
<volume>5</volume>
:
<fpage>166</fpage>
.
<pub-id pub-id-type="pmid">22005019</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Bittig1">
<label>10</label>
<mixed-citation publication-type="book">Bittig AT, Haack F, Maus C, Uhrmacher AM (2011) Adapting rule-based model descriptions for simulating in continuous and hybrid space. In: Proceedings of the 9th International Conference on Computational Methods in Systems Biology. New York, NY, USA: ACM, CMSB '11, pp. 161–170.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Lis1">
<label>11</label>
<mixed-citation publication-type="journal">
<name>
<surname>Lis</surname>
<given-names>M</given-names>
</name>
,
<name>
<surname>Artyomov</surname>
<given-names>MN</given-names>
</name>
,
<name>
<surname>Devadas</surname>
<given-names>S</given-names>
</name>
,
<name>
<surname>Chakraborty</surname>
<given-names>AK</given-names>
</name>
(
<year>2009</year>
)
<article-title>Efficient stochastic simulation of reaction–diffusion processes via direct compilation</article-title>
.
<source>Bioinformatics</source>
<volume>25</volume>
:
<fpage>2289</fpage>
<lpage>2291</lpage>
.
<pub-id pub-id-type="pmid">19578038</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Angermann1">
<label>12</label>
<mixed-citation publication-type="journal">
<name>
<surname>Angermann</surname>
<given-names>BR</given-names>
</name>
,
<name>
<surname>Klauschen</surname>
<given-names>F</given-names>
</name>
,
<name>
<surname>Garcia</surname>
<given-names>AD</given-names>
</name>
,
<name>
<surname>Prustel</surname>
<given-names>T</given-names>
</name>
,
<name>
<surname>Zhang</surname>
<given-names>F</given-names>
</name>
,
<etal>et al</etal>
(
<year>2012</year>
)
<article-title>Computational modeling of cellular signaling processes embedded into dynamic spatial contexts</article-title>
.
<source>Nat Meth</source>
<volume>9</volume>
:
<fpage>283</fpage>
<lpage>289</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Faeder2">
<label>13</label>
<mixed-citation publication-type="journal">
<name>
<surname>Faeder</surname>
<given-names>J</given-names>
</name>
(
<year>2011</year>
)
<article-title>Toward a comprehensive language for biological systems</article-title>
.
<source>BMC Biol</source>
<volume>9</volume>
:
<fpage>68</fpage>
.
<pub-id pub-id-type="pmid">22005092</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Sekar1">
<label>14</label>
<mixed-citation publication-type="book">Sekar JAP, Faeder JR (2012) Rule-based modeling of signal transduction: A primer. In: Methods In Molecular Biology, Clifton, N.J.: Humana Press, volume 880. pp. 139–218.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Blinov2">
<label>15</label>
<mixed-citation publication-type="journal">
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Yang</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2006</year>
)
<article-title>Graph theory for rule-based modeling of biochemical networks</article-title>
.
<source>Lect Notes Comput Sci</source>
<volume>4230</volume>
:
<fpage>89</fpage>
<lpage>106</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Sneddon1">
<label>16</label>
<mixed-citation publication-type="journal">
<name>
<surname>Sneddon</surname>
<given-names>MW</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Emonet</surname>
<given-names>T</given-names>
</name>
(
<year>2011</year>
)
<article-title>Efficient modeling, simulation and coarse-graining of biological complexity with NFsim</article-title>
.
<source>Nat Meth</source>
<volume>8</volume>
:
<fpage>177</fpage>
<lpage>183</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Faeder3">
<label>17</label>
<mixed-citation publication-type="journal">
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Goldstein</surname>
<given-names>B</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2005</year>
)
<article-title>Rule-based modeling of biochemical networks</article-title>
.
<source>Complexity</source>
<volume>10</volume>
:
<fpage>22</fpage>
<lpage>41</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Blinov3">
<label>18</label>
<mixed-citation publication-type="journal">
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Goldstein</surname>
<given-names>B</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2006</year>
)
<article-title>A network model of early events in epidermal growth factor receptor signaling that accounts for combinatorial complexity</article-title>
.
<source>Biosystems</source>
<volume>83</volume>
:
<fpage>136</fpage>
<lpage>151</lpage>
.
<pub-id pub-id-type="pmid">16233948</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Hindmarsh1">
<label>19</label>
<mixed-citation publication-type="journal">
<name>
<surname>Hindmarsh</surname>
<given-names>AC</given-names>
</name>
,
<name>
<surname>Brown</surname>
<given-names>PN</given-names>
</name>
,
<name>
<surname>Grant</surname>
<given-names>KE</given-names>
</name>
,
<name>
<surname>Lee</surname>
<given-names>SL</given-names>
</name>
,
<name>
<surname>Serban</surname>
<given-names>R</given-names>
</name>
,
<etal>et al</etal>
(
<year>2005</year>
)
<article-title>SUNDIALS: suite of nonlinear and differential/algebraic equation solvers</article-title>
.
<source>ACM Trans Math Software</source>
<volume>31</volume>
:
<fpage>363</fpage>
<lpage>396</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Gillespie1">
<label>20</label>
<mixed-citation publication-type="journal">
<name>
<surname>Gillespie</surname>
<given-names>DT</given-names>
</name>
(
<year>1976</year>
)
<article-title>A general method for numerically simulating the stochastic time evolution of coupled chemical reactions</article-title>
.
<source>J Comput Phys</source>
<volume>22</volume>
:
<fpage>403</fpage>
<lpage>434</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Fricke1">
<label>21</label>
<mixed-citation publication-type="journal">
<name>
<surname>Fricke</surname>
<given-names>T</given-names>
</name>
,
<name>
<surname>Wendt</surname>
<given-names>D</given-names>
</name>
(
<year>1995</year>
)
<article-title>The Markoff-automaton: a new algorithm for simulating the timeevolution of large stochastic dynamic systems</article-title>
.
<source>Int J Mod Phys C</source>
<volume>6</volume>
:
<fpage>277</fpage>
<lpage>306</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Harris1">
<label>22</label>
<mixed-citation publication-type="journal">
<name>
<surname>Harris</surname>
<given-names>LA</given-names>
</name>
,
<name>
<surname>Clancy</surname>
<given-names>P</given-names>
</name>
(
<year>2006</year>
)
<article-title>A “partitioned leaping” approach for multiscale modeling of chemical reaction dynamics</article-title>
.
<source>J Chem Phys</source>
<volume>125</volume>
:
<fpage>144107</fpage>
.
<pub-id pub-id-type="pmid">17042579</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Yang1">
<label>23</label>
<mixed-citation publication-type="journal">
<name>
<surname>Yang</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Monine</surname>
<given-names>MI</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2008</year>
)
<article-title>Kinetic Monte Carlo method for rule-based modeling of biochemical networks</article-title>
.
<source>Phys Rev E</source>
<volume>78</volume>
:
<fpage>031910</fpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Danos3">
<label>24</label>
<mixed-citation publication-type="journal">
<name>
<surname>Danos</surname>
<given-names>V</given-names>
</name>
,
<name>
<surname>Feret</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Fontana</surname>
<given-names>W</given-names>
</name>
,
<name>
<surname>Krivine</surname>
<given-names>J</given-names>
</name>
(
<year>2007</year>
)
<article-title>Scalable simulation of cellular signaling networks</article-title>
.
<source>Lect Notes Comput Sci</source>
<volume>4807</volume>
:
<fpage>139</fpage>
<lpage>157</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Bortz1">
<label>25</label>
<mixed-citation publication-type="journal">
<name>
<surname>Bortz</surname>
<given-names>AB</given-names>
</name>
,
<name>
<surname>Kalos</surname>
<given-names>MH</given-names>
</name>
,
<name>
<surname>Lebowitz</surname>
<given-names>JL</given-names>
</name>
(
<year>1975</year>
)
<article-title>A new algorithm for Monte Carlo simulation of Ising spin systems</article-title>
.
<source>J Comput Phys</source>
<volume>17</volume>
:
<fpage>10</fpage>
<lpage>18</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Colvin1">
<label>26</label>
<mixed-citation publication-type="journal">
<name>
<surname>Colvin</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Monine</surname>
<given-names>MI</given-names>
</name>
,
<name>
<surname>Gutenkunst</surname>
<given-names>RN</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
,
<name>
<surname>Von Hoff</surname>
<given-names>DD</given-names>
</name>
,
<etal>et al</etal>
(
<year>2010</year>
)
<article-title>RuleMonkey: software for stochastic simulation of rule-based models</article-title>
.
<source>BMC Bioinformatics</source>
<volume>11</volume>
:
<fpage>404</fpage>
.
<pub-id pub-id-type="pmid">20673321</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Colvin2">
<label>27</label>
<mixed-citation publication-type="journal">
<name>
<surname>Colvin</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Monine</surname>
<given-names>MI</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
,
<name>
<surname>Von Hoff</surname>
<given-names>DD</given-names>
</name>
,
<etal>et al</etal>
(
<year>2009</year>
)
<article-title>Simulation of large-scale rule-based models</article-title>
.
<source>Bioinformatics</source>
<volume>25</volume>
:
<fpage>910</fpage>
<lpage>917</lpage>
.
<pub-id pub-id-type="pmid">19213740</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Grnert1">
<label>28</label>
<mixed-citation publication-type="journal">
<name>
<surname>Grünert</surname>
<given-names>G</given-names>
</name>
,
<name>
<surname>Dittrich</surname>
<given-names>P</given-names>
</name>
(
<year>2011</year>
)
<article-title>Using the SRSim software for spatial and rule-based modeling of combinatorially complex biochemical reaction systems</article-title>
.
<source>Lect Notes Comput Sci</source>
<volume>6501</volume>
:
<fpage>240</fpage>
<lpage>256</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Yang2">
<label>29</label>
<mixed-citation publication-type="journal">
<name>
<surname>Yang</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2011</year>
)
<article-title>The efficiency of reactant site sampling in network-free simulation of rule-based models for biochemical systems</article-title>
.
<source>Phys Biol</source>
<volume>8</volume>
:
<fpage>055009</fpage>
.
<pub-id pub-id-type="pmid">21832806</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Tomita1">
<label>30</label>
<mixed-citation publication-type="journal">
<name>
<surname>Tomita</surname>
<given-names>M</given-names>
</name>
(
<year>2001</year>
)
<article-title>Whole-cell simulation: a grand challenge of the 21st century</article-title>
.
<source>Trends Biotechnol</source>
<volume>19</volume>
:
<fpage>205</fpage>
<lpage>210</lpage>
.
<pub-id pub-id-type="pmid">11356281</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Karr1">
<label>31</label>
<mixed-citation publication-type="journal">
<name>
<surname>Karr</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Sanghvi</surname>
<given-names>JC</given-names>
</name>
,
<name>
<surname>Macklin</surname>
<given-names>DN</given-names>
</name>
,
<name>
<surname>Gutschow</surname>
<given-names>MV</given-names>
</name>
,
<name>
<surname>Jacobs</surname>
<given-names>JM</given-names>
</name>
,
<etal>et al</etal>
(
<year>2012</year>
)
<article-title>A whole-cell computational model predicts phenotype from genotype</article-title>
.
<source>Cell</source>
<volume>150</volume>
:
<fpage>389</fpage>
<lpage>401</lpage>
.
<pub-id pub-id-type="pmid">22817898</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Alon1">
<label>32</label>
<mixed-citation publication-type="book">Alon U (2006) An Introduction to Systems Biology: Design Principles of Biological Circuits. New York: Chapman & Hall/CRC.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Moran1">
<label>33</label>
<mixed-citation publication-type="journal">
<name>
<surname>Moran</surname>
<given-names>U</given-names>
</name>
,
<name>
<surname>Phillips</surname>
<given-names>R</given-names>
</name>
,
<name>
<surname>Milo</surname>
<given-names>R</given-names>
</name>
(
<year>2010</year>
)
<article-title>Snapshot: Key numbers in biology</article-title>
.
<source>Cell</source>
<volume>141</volume>
:
<fpage>1262</fpage>
<lpage>1262.e1</lpage>
.
<pub-id pub-id-type="pmid">20603006</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Cormen1">
<label>34</label>
<mixed-citation publication-type="book">Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to Algorithms. Cambridge: MIT University Press.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Gillespie2">
<label>35</label>
<mixed-citation publication-type="journal">
<name>
<surname>Gillespie</surname>
<given-names>DT</given-names>
</name>
(
<year>1977</year>
)
<article-title>Exact stochastic simulation of coupled chemical reactions</article-title>
.
<source>J Phys Chem</source>
<volume>81</volume>
:
<fpage>2340</fpage>
<lpage>2361</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Gillespie3">
<label>36</label>
<mixed-citation publication-type="journal">
<name>
<surname>Gillespie</surname>
<given-names>DT</given-names>
</name>
(
<year>2007</year>
)
<article-title>Stochastic simulation of chemical kinetics</article-title>
.
<source>Annu Rev Phys Chem</source>
<volume>58</volume>
:
<fpage>35</fpage>
<lpage>55</lpage>
.
<pub-id pub-id-type="pmid">17037977</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Gibson1">
<label>37</label>
<mixed-citation publication-type="journal">
<name>
<surname>Gibson</surname>
<given-names>MA</given-names>
</name>
,
<name>
<surname>Bruck</surname>
<given-names>J</given-names>
</name>
(
<year>2000</year>
)
<article-title>Efficient exact stochastic simulation of chemical systems with many species and many channels</article-title>
.
<source>J Phys Chem A</source>
<volume>104</volume>
:
<fpage>1876</fpage>
<lpage>1889</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Cao1">
<label>38</label>
<mixed-citation publication-type="journal">
<name>
<surname>Cao</surname>
<given-names>Y</given-names>
</name>
,
<name>
<surname>Li</surname>
<given-names>H</given-names>
</name>
,
<name>
<surname>Petzold</surname>
<given-names>L</given-names>
</name>
(
<year>2004</year>
)
<article-title>Efficient formulation of the stochastic simulation algorithm for chemically reacting systems</article-title>
.
<source>J Chem Phys</source>
<volume>121</volume>
:
<fpage>4059</fpage>
<lpage>4067</lpage>
.
<pub-id pub-id-type="pmid">15332951</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Slepoy1">
<label>39</label>
<mixed-citation publication-type="journal">
<name>
<surname>Slepoy</surname>
<given-names>A</given-names>
</name>
,
<name>
<surname>Thompson</surname>
<given-names>AP</given-names>
</name>
,
<name>
<surname>Plimpton</surname>
<given-names>SJ</given-names>
</name>
(
<year>2008</year>
)
<article-title>A constant-time kinetic Monte Carlo algorithm for simulation of large biochemical reaction networks</article-title>
.
<source>J Chem Phys</source>
<volume>128</volume>
:
<fpage>205101</fpage>
.
<pub-id pub-id-type="pmid">18513044</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Schulze1">
<label>40</label>
<mixed-citation publication-type="journal">
<name>
<surname>Schulze</surname>
<given-names>TP</given-names>
</name>
(
<year>2008</year>
)
<article-title>Efficient kinetic Monte Carlo simulation</article-title>
.
<source>J Comput Phys</source>
<volume>227</volume>
:
<fpage>2455</fpage>
<lpage>2462</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-McCollum1">
<label>41</label>
<mixed-citation publication-type="journal">
<name>
<surname>McCollum</surname>
<given-names>JM</given-names>
</name>
,
<name>
<surname>Peterson</surname>
<given-names>GD</given-names>
</name>
,
<name>
<surname>Cox</surname>
<given-names>CD</given-names>
</name>
,
<name>
<surname>Simpson</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Samatova</surname>
<given-names>NF</given-names>
</name>
(
<year>2006</year>
)
<article-title>The sorting direct method for stochastic simulation of biochemical systems with varying reaction execution behavior</article-title>
.
<source>Comput Biol Chem</source>
<volume>30</volume>
:
<fpage>39</fpage>
<lpage>49</lpage>
.
<pub-id pub-id-type="pmid">16321569</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Monine1">
<label>42</label>
<mixed-citation publication-type="journal">
<name>
<surname>Monine</surname>
<given-names>MI</given-names>
</name>
,
<name>
<surname>Posner</surname>
<given-names>RG</given-names>
</name>
,
<name>
<surname>Savage</surname>
<given-names>PB</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2010</year>
)
<article-title>Modeling multivalent ligandreceptor interactions with steric constraints on configurations of cell-surface receptor aggregates</article-title>
.
<source>Biophys J</source>
<volume>98</volume>
:
<fpage>48</fpage>
<lpage>56</lpage>
.
<pub-id pub-id-type="pmid">20085718</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Roland1">
<label>43</label>
<mixed-citation publication-type="journal">
<name>
<surname>Roland</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Berro</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Michelot</surname>
<given-names>A</given-names>
</name>
,
<name>
<surname>Blanchoin</surname>
<given-names>L</given-names>
</name>
,
<name>
<surname>Martiel</surname>
<given-names>JL</given-names>
</name>
(
<year>2008</year>
)
<article-title>Stochastic severing of actin filaments by actin depolymerizing factor/cofilin controls the emergence of a steady dynamical regime</article-title>
.
<source>Biophys J</source>
<volume>94</volume>
:
<fpage>2082</fpage>
<lpage>2094</lpage>
.
<pub-id pub-id-type="pmid">18065447</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Haseltine1">
<label>44</label>
<mixed-citation publication-type="journal">
<name>
<surname>Haseltine</surname>
<given-names>EL</given-names>
</name>
,
<name>
<surname>Rawlings</surname>
<given-names>JB</given-names>
</name>
(
<year>2002</year>
)
<article-title>Approximate simulation of coupled fast and slow reactions for stochastic chemical kinetics</article-title>
.
<source>J Chem Phys</source>
<volume>117</volume>
:
<fpage>6959</fpage>
<lpage>6969</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Kiehl1">
<label>45</label>
<mixed-citation publication-type="journal">
<name>
<surname>Kiehl</surname>
<given-names>TR</given-names>
</name>
,
<name>
<surname>Mattheyses</surname>
<given-names>RM</given-names>
</name>
,
<name>
<surname>Simmons</surname>
<given-names>MK</given-names>
</name>
(
<year>2004</year>
)
<article-title>Hybrid simulation of cellular behavior</article-title>
.
<source>Bioinformatics</source>
<volume>20</volume>
:
<fpage>316</fpage>
<lpage>322</lpage>
.
<pub-id pub-id-type="pmid">14960457</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Takahashi1">
<label>46</label>
<mixed-citation publication-type="journal">
<name>
<surname>Takahashi</surname>
<given-names>K</given-names>
</name>
,
<name>
<surname>Kaizu</surname>
<given-names>K</given-names>
</name>
,
<name>
<surname>Hu</surname>
<given-names>B</given-names>
</name>
,
<name>
<surname>Tomita</surname>
<given-names>M</given-names>
</name>
(
<year>2004</year>
)
<article-title>A multi-algorithm, multi-timescale method for cell simulation</article-title>
.
<source>Bioinformatics</source>
<volume>20</volume>
:
<fpage>538</fpage>
<lpage>546</lpage>
.
<pub-id pub-id-type="pmid">14990450</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Vasudeva1">
<label>47</label>
<mixed-citation publication-type="journal">
<name>
<surname>Vasudeva</surname>
<given-names>K</given-names>
</name>
,
<name>
<surname>Bhalla</surname>
<given-names>US</given-names>
</name>
(
<year>2004</year>
)
<article-title>Adaptive stochastic-deterministic chemical kinetic simulations</article-title>
.
<source>Bioinformatics</source>
<volume>20</volume>
:
<fpage>78</fpage>
<lpage>84</lpage>
.
<pub-id pub-id-type="pmid">14693812</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Burrage1">
<label>48</label>
<mixed-citation publication-type="journal">
<name>
<surname>Burrage</surname>
<given-names>K</given-names>
</name>
,
<name>
<surname>Tian</surname>
<given-names>T</given-names>
</name>
,
<name>
<surname>Burrage</surname>
<given-names>P</given-names>
</name>
(
<year>2004</year>
)
<article-title>A multi-scaled approach for simulating chemical reaction systems</article-title>
.
<source>Prog Biophys Mol Bio</source>
<volume>85</volume>
:
<fpage>217</fpage>
<lpage>234</lpage>
.
<pub-id pub-id-type="pmid">15142745</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Salis1">
<label>49</label>
<mixed-citation publication-type="journal">
<name>
<surname>Salis</surname>
<given-names>H</given-names>
</name>
,
<name>
<surname>Kaznessis</surname>
<given-names>Y</given-names>
</name>
(
<year>2005</year>
)
<article-title>Accurate hybrid stochastic simulation of a system of coupled chemical or biochemical reactions</article-title>
.
<source>J Chem Phys</source>
<volume>122</volume>
:
<fpage>054103</fpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Salis2">
<label>50</label>
<mixed-citation publication-type="journal">
<name>
<surname>Salis</surname>
<given-names>H</given-names>
</name>
,
<name>
<surname>Sotiropoulos</surname>
<given-names>V</given-names>
</name>
,
<name>
<surname>Kaznessis</surname>
<given-names>YN</given-names>
</name>
(
<year>2006</year>
)
<article-title>Multiscale Hy3S: Hybrid stochastic simulation for supercomputers</article-title>
.
<source>BMC Bioinformatics</source>
<volume>7</volume>
:
<fpage>93</fpage>
.
<pub-id pub-id-type="pmid">16504125</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Griffith1">
<label>51</label>
<mixed-citation publication-type="journal">
<name>
<surname>Griffith</surname>
<given-names>M</given-names>
</name>
,
<name>
<surname>Courtney</surname>
<given-names>T</given-names>
</name>
,
<name>
<surname>Peccoud</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Sanders</surname>
<given-names>WH</given-names>
</name>
(
<year>2006</year>
)
<article-title>Dynamic partitioning for hybrid simulation of the bistable HIV-1 transactivation network</article-title>
.
<source>Bioinformatics</source>
<volume>22</volume>
:
<fpage>2782</fpage>
<lpage>2789</lpage>
.
<pub-id pub-id-type="pmid">16954141</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Wylie1">
<label>52</label>
<mixed-citation publication-type="journal">
<name>
<surname>Wylie</surname>
<given-names>DC</given-names>
</name>
,
<name>
<surname>Hori</surname>
<given-names>Y</given-names>
</name>
,
<name>
<surname>Dinner</surname>
<given-names>AR</given-names>
</name>
,
<name>
<surname>Chakraborty</surname>
<given-names>AK</given-names>
</name>
(
<year>2006</year>
)
<article-title>A hybrid deterministic-stochastic algorithm for modeling cell signaling dynamics in spatially inhomogeneous environments and under the influence of external fields</article-title>
.
<source>J Phys Chem B</source>
<volume>110</volume>
:
<fpage>12749</fpage>
<lpage>12765</lpage>
.
<pub-id pub-id-type="pmid">16800611</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Liu1">
<label>53</label>
<mixed-citation publication-type="journal">
<name>
<surname>Liu</surname>
<given-names>Z</given-names>
</name>
,
<name>
<surname>Pu</surname>
<given-names>Y</given-names>
</name>
,
<name>
<surname>Li</surname>
<given-names>F</given-names>
</name>
,
<name>
<surname>Shaffer</surname>
<given-names>CA</given-names>
</name>
,
<name>
<surname>Hoops</surname>
<given-names>S</given-names>
</name>
,
<etal>et al</etal>
(
<year>2012</year>
)
<article-title>Hybrid modeling and simulation of stochastic effects on progression through the eukaryotic cell cycle</article-title>
.
<source>J Chem Phys</source>
<volume>136</volume>
:
<fpage>034105</fpage>
.
<pub-id pub-id-type="pmid">22280742</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Liu2">
<label>54</label>
<mixed-citation publication-type="book">Liu Z, Mobassera UJ, Shaffer CA, Watson LT, Cao Y (2010) Multistate modeling and simulation for regulatory networks. In: Johansson B, Jain S, Montoya-Torres J, Hugan J, Yücesan E, editors, Proceedings of the 2010 Winter Simulation Conference. pp. 631–642.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Falkenberg1">
<label>55</label>
<mixed-citation publication-type="journal">
<name>
<surname>Falkenberg</surname>
<given-names>CV</given-names>
</name>
,
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Loew</surname>
<given-names>LM</given-names>
</name>
(
<year>2013</year>
)
<article-title>Pleomorphic ensembles: Formation of large clusters composed of weakly interacting multivalent molecules</article-title>
.
<source>Biophys J</source>
<volume>105</volume>
:
<fpage>2451</fpage>
<lpage>2460</lpage>
.
<pub-id pub-id-type="pmid">24314076</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Lok1">
<label>56</label>
<mixed-citation publication-type="journal">
<name>
<surname>Lok</surname>
<given-names>L</given-names>
</name>
,
<name>
<surname>Brent</surname>
<given-names>R</given-names>
</name>
(
<year>2005</year>
)
<article-title>Automatic generation of cellular reaction networks with Moleculizer 1.0</article-title>
.
<source>Nat Biotechnol</source>
<volume>23</volume>
:
<fpage>131</fpage>
<lpage>136</lpage>
.
<pub-id pub-id-type="pmid">15637632</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Blinov4">
<label>57</label>
<mixed-citation publication-type="journal">
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Yang</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Goldstein</surname>
<given-names>B</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2005</year>
)
<article-title>‘On-the-fly’ or ‘generate-first’ modeling?</article-title>
<source>Nat Biotechnol</source>
<volume>23</volume>
:
<fpage>1344</fpage>
<lpage>1345</lpage>
.
<pub-id pub-id-type="pmid">16273053</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Creamer1">
<label>58</label>
<mixed-citation publication-type="journal">
<name>
<surname>Creamer</surname>
<given-names>M</given-names>
</name>
,
<name>
<surname>Stites</surname>
<given-names>E</given-names>
</name>
,
<name>
<surname>Aziz</surname>
<given-names>M</given-names>
</name>
,
<name>
<surname>Cahill</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Tan</surname>
<given-names>C</given-names>
</name>
,
<etal>et al</etal>
(
<year>2012</year>
)
<article-title>Specification, annotation, visualization and simulation of a large rule-based model for ERBB receptor signaling</article-title>
.
<source>BMC Syst Biol</source>
<volume>6</volume>
:
<fpage>107</fpage>
.
<pub-id pub-id-type="pmid">22913808</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Borisov1">
<label>59</label>
<mixed-citation publication-type="journal">
<name>
<surname>Borisov</surname>
<given-names>NM</given-names>
</name>
,
<name>
<surname>Markevich</surname>
<given-names>NI</given-names>
</name>
,
<name>
<surname>Hoek</surname>
<given-names>JB</given-names>
</name>
,
<name>
<surname>Kholodenko</surname>
<given-names>BN</given-names>
</name>
(
<year>2005</year>
)
<article-title>Signaling through receptors and scaffolds: independent interactions reduce combinatorial complexity</article-title>
.
<source>Biophys J</source>
<volume>89</volume>
:
<fpage>951</fpage>
<lpage>966</lpage>
.
<pub-id pub-id-type="pmid">15923229</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Borisov2">
<label>60</label>
<mixed-citation publication-type="journal">
<name>
<surname>Borisov</surname>
<given-names>NM</given-names>
</name>
,
<name>
<surname>Markevich</surname>
<given-names>NI</given-names>
</name>
,
<name>
<surname>Hoek</surname>
<given-names>JB</given-names>
</name>
,
<name>
<surname>Kholodenko</surname>
<given-names>BN</given-names>
</name>
(
<year>2006</year>
)
<article-title>Trading the micro-world of combinatorial complexity for the macro-world of protein interaction domains</article-title>
.
<source>Biosystems</source>
<volume>83</volume>
:
<fpage>152</fpage>
<lpage>166</lpage>
.
<pub-id pub-id-type="pmid">16242235</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Conzelmann1">
<label>61</label>
<mixed-citation publication-type="journal">
<name>
<surname>Conzelmann</surname>
<given-names>H</given-names>
</name>
,
<name>
<surname>Fey</surname>
<given-names>D</given-names>
</name>
,
<name>
<surname>Gilles</surname>
<given-names>ED</given-names>
</name>
(
<year>2008</year>
)
<article-title>Exact model reduction of combinatorial reaction networks</article-title>
.
<source>BMC Syst Biol</source>
<volume>2</volume>
:
<fpage>78</fpage>
.
<pub-id pub-id-type="pmid">18755034</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Borisov3">
<label>62</label>
<mixed-citation publication-type="journal">
<name>
<surname>Borisov</surname>
<given-names>NM</given-names>
</name>
,
<name>
<surname>Chistopolsky</surname>
<given-names>AS</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Kholodenko</surname>
<given-names>BN</given-names>
</name>
(
<year>2008</year>
)
<article-title>Domain-oriented reduction of rule-based network models</article-title>
.
<source>IET Syst Biol</source>
<volume>2</volume>
:
<fpage>342</fpage>
<lpage>351</lpage>
.
<pub-id pub-id-type="pmid">19045829</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Feret1">
<label>63</label>
<mixed-citation publication-type="journal">
<name>
<surname>Feret</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Danos</surname>
<given-names>V</given-names>
</name>
,
<name>
<surname>Krivine</surname>
<given-names>J</given-names>
</name>
,
<name>
<surname>Harmer</surname>
<given-names>R</given-names>
</name>
,
<name>
<surname>Fontana</surname>
<given-names>W</given-names>
</name>
(
<year>2009</year>
)
<article-title>Internal coarse-graining of molecular systems</article-title>
.
<source>Proc Natl Acad Sci USA</source>
<volume>106</volume>
:
<fpage>6453</fpage>
<lpage>6458</lpage>
.
<pub-id pub-id-type="pmid">19346467</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Danos4">
<label>64</label>
<mixed-citation publication-type="other">Danos V, Feret J, Fontana W, Harmer R, Krivine J (2010) Abstracting the differential semantics of rule-based models: Exact and automated model reduction. In: 2010 25th Annual IEEE Symposium on Logic in Computer Science. pp. 362–381.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Goldstein1">
<label>65</label>
<mixed-citation publication-type="journal">
<name>
<surname>Goldstein</surname>
<given-names>B</given-names>
</name>
,
<name>
<surname>Perelson</surname>
<given-names>AS</given-names>
</name>
(
<year>1984</year>
)
<article-title>Equilibrium theory for the clustering of bivalent cell surface receptors by trivalent ligands. Application to histamine release from basophils</article-title>
.
<source>Biophys J</source>
<volume>45</volume>
:
<fpage>1109</fpage>
<lpage>1123</lpage>
.
<pub-id pub-id-type="pmid">6204698</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Pollard1">
<label>66</label>
<mixed-citation publication-type="journal">
<name>
<surname>Pollard</surname>
<given-names>TD</given-names>
</name>
,
<name>
<surname>Borisy</surname>
<given-names>GG</given-names>
</name>
(
<year>2003</year>
)
<article-title>Cellular motility driven by assembly and disassembly of actin filaments</article-title>
.
<source>Cell</source>
<volume>112</volume>
:
<fpage>453</fpage>
<lpage>465</lpage>
.
<pub-id pub-id-type="pmid">12600310</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Lacayo1">
<label>67</label>
<mixed-citation publication-type="journal">
<name>
<surname>Lacayo</surname>
<given-names>CI</given-names>
</name>
,
<name>
<surname>Pincus</surname>
<given-names>Z</given-names>
</name>
,
<name>
<surname>VanDuijn</surname>
<given-names>MM</given-names>
</name>
,
<name>
<surname>Wilson</surname>
<given-names>CA</given-names>
</name>
,
<name>
<surname>Fletcher</surname>
<given-names>DA</given-names>
</name>
,
<etal>et al</etal>
(
<year>2007</year>
)
<article-title>Emergence of largescale cell morphology and movement from local actin filament growth dynamics</article-title>
.
<source>PLOS Biol</source>
<volume>5</volume>
:
<fpage>e233</fpage>
.
<pub-id pub-id-type="pmid">17760506</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Stone1">
<label>68</label>
<mixed-citation publication-type="journal">
<name>
<surname>Stone</surname>
<given-names>KD</given-names>
</name>
,
<name>
<surname>Prussin</surname>
<given-names>C</given-names>
</name>
,
<name>
<surname>Metcalfe</surname>
<given-names>DD</given-names>
</name>
(
<year>2010</year>
)
<article-title>IgE, mast cells, basophils, and eosinophils</article-title>
.
<source>J Allergy Clin Immun</source>
<volume>125</volume>
:
<fpage>S73</fpage>
<lpage>S80</lpage>
.
<pub-id pub-id-type="pmid">20176269</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Goldstein2">
<label>69</label>
<mixed-citation publication-type="journal">
<name>
<surname>Goldstein</surname>
<given-names>B</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
,
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Redondo</surname>
<given-names>A</given-names>
</name>
,
<etal>et al</etal>
(
<year>2002</year>
)
<article-title>Modeling the early signaling events mediated by Fc
<italic>ε</italic>
RI</article-title>
.
<source>Mol Immunol</source>
<volume>38</volume>
:
<fpage>1213</fpage>
<lpage>1219</lpage>
.
<pub-id pub-id-type="pmid">12217386</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Faeder4">
<label>70</label>
<mixed-citation publication-type="journal">
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
,
<name>
<surname>Reischl</surname>
<given-names>I</given-names>
</name>
,
<name>
<surname>Blinov</surname>
<given-names>ML</given-names>
</name>
,
<name>
<surname>Metzger</surname>
<given-names>H</given-names>
</name>
,
<etal>et al</etal>
(
<year>2003</year>
)
<article-title>Investigation of early events in Fc
<italic>ε</italic>
RI-mediated signaling using a detailed mathematical model</article-title>
.
<source>J Immunol</source>
<volume>170</volume>
:
<fpage>3769</fpage>
<lpage>3781</lpage>
.
<pub-id pub-id-type="pmid">12646643</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Stites1">
<label>71</label>
<mixed-citation publication-type="journal">
<name>
<surname>Stites</surname>
<given-names>EC</given-names>
</name>
,
<name>
<surname>Trampont</surname>
<given-names>PC</given-names>
</name>
,
<name>
<surname>Ma</surname>
<given-names>Z</given-names>
</name>
,
<name>
<surname>Ravichandran</surname>
<given-names>KS</given-names>
</name>
(
<year>2007</year>
)
<article-title>Network analysis of oncogenic Ras activation in cancer</article-title>
.
<source>Science</source>
<volume>318</volume>
:
<fpage>463</fpage>
<lpage>467</lpage>
.
<pub-id pub-id-type="pmid">17947584</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Fujioka1">
<label>72</label>
<mixed-citation publication-type="journal">
<name>
<surname>Fujioka</surname>
<given-names>A</given-names>
</name>
,
<name>
<surname>Terai</surname>
<given-names>K</given-names>
</name>
,
<name>
<surname>Itoh</surname>
<given-names>RE</given-names>
</name>
,
<name>
<surname>Aoki</surname>
<given-names>K</given-names>
</name>
,
<name>
<surname>Nakamura</surname>
<given-names>T</given-names>
</name>
,
<etal>et al</etal>
(
<year>2006</year>
)
<article-title>Dynamics of the Ras/ERK MAPK cascade as monitored by uorescent probes</article-title>
.
<source>J Biol Chem</source>
<volume>281</volume>
:
<fpage>8917</fpage>
<lpage>8926</lpage>
.
<pub-id pub-id-type="pmid">16418172</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Overbeck1">
<label>73</label>
<mixed-citation publication-type="journal">
<name>
<surname>Overbeck</surname>
<given-names>AF</given-names>
</name>
,
<name>
<surname>Brtva</surname>
<given-names>TR</given-names>
</name>
,
<name>
<surname>Cox</surname>
<given-names>AD</given-names>
</name>
,
<name>
<surname>Graham</surname>
<given-names>SM</given-names>
</name>
,
<name>
<surname>Huff</surname>
<given-names>SY</given-names>
</name>
,
<etal>et al</etal>
(
<year>1995</year>
)
<article-title>Guanine nucleotide exchange factors: activators of Ras superfamily proteins</article-title>
.
<source>Mol Reprod Dev</source>
<volume>42</volume>
:
<fpage>468</fpage>
<lpage>476</lpage>
.
<pub-id pub-id-type="pmid">8607978</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Wilcoxon1">
<label>74</label>
<mixed-citation publication-type="journal">
<name>
<surname>Wilcoxon</surname>
<given-names>F</given-names>
</name>
(
<year>1945</year>
)
<article-title>Individual comparisons by ranking methods</article-title>
.
<source>Biometrics Bull</source>
<volume>1</volume>
:
<fpage>80</fpage>
<lpage>83</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Mann1">
<label>75</label>
<mixed-citation publication-type="journal">
<name>
<surname>Mann</surname>
<given-names>HB</given-names>
</name>
(
<year>1947</year>
)
<article-title>On a test of whether one of two random variables is stochastically larger than the other</article-title>
.
<source>Ann Math Stat</source>
<volume>18</volume>
:
<fpage>50</fpage>
<lpage>60</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Pearson1">
<label>76</label>
<mixed-citation publication-type="journal">
<name>
<surname>Pearson</surname>
<given-names>K</given-names>
</name>
(
<year>1900</year>
)
<article-title>On the criterion that a given system of deviations from the probable in the case of a correlated system of variables is such that it can be reasonably supposed to have arisen from random sampling</article-title>
.
<source>Philos Mag</source>
<volume>50</volume>
:
<fpage>157</fpage>
<lpage>175</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Gillespie4">
<label>77</label>
<mixed-citation publication-type="journal">
<name>
<surname>Gillespie</surname>
<given-names>DT</given-names>
</name>
(
<year>2001</year>
)
<article-title>Approximate accelerated stochastic simulation of chemically reacting systems</article-title>
.
<source>J Chem Phys</source>
<volume>115</volume>
:
<fpage>1716</fpage>
<lpage>1733</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Gillespie5">
<label>78</label>
<mixed-citation publication-type="journal">
<name>
<surname>Gillespie</surname>
<given-names>DT</given-names>
</name>
,
<name>
<surname>Petzold</surname>
<given-names>LR</given-names>
</name>
(
<year>2003</year>
)
<article-title>Improved leap-size selection for accelerated stochastic simulation</article-title>
.
<source>J Chem Phys</source>
<volume>119</volume>
:
<fpage>8229</fpage>
<lpage>8234</lpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Cao2">
<label>79</label>
<mixed-citation publication-type="journal">
<name>
<surname>Cao</surname>
<given-names>Y</given-names>
</name>
,
<name>
<surname>Gillespie</surname>
<given-names>DT</given-names>
</name>
,
<name>
<surname>Petzold</surname>
<given-names>LR</given-names>
</name>
(
<year>2006</year>
)
<article-title>Efficient step size selection for the tau-leaping simulation method</article-title>
.
<source>J Chem Phys</source>
<volume>124</volume>
:
<fpage>044109</fpage>
.
<pub-id pub-id-type="pmid">16460151</pub-id>
</mixed-citation>
</ref>
<ref id="pcbi.1003544-Vlachos1">
<label>80</label>
<mixed-citation publication-type="journal">
<name>
<surname>Vlachos</surname>
<given-names>DG</given-names>
</name>
(
<year>2008</year>
)
<article-title>Temporal coarse-graining of microscopic-lattice kinetic Monte Carlo simulations via
<italic>T</italic>
leaping</article-title>
.
<source>Phys Rev E</source>
<volume>78</volume>
:
<fpage>046713</fpage>
.</mixed-citation>
</ref>
<ref id="pcbi.1003544-Goldstein3">
<label>81</label>
<mixed-citation publication-type="journal">
<name>
<surname>Goldstein</surname>
<given-names>B</given-names>
</name>
,
<name>
<surname>Faeder</surname>
<given-names>JR</given-names>
</name>
,
<name>
<surname>Hlavacek</surname>
<given-names>WS</given-names>
</name>
(
<year>2004</year>
)
<article-title>Mathematical and computational models of immunereceptor signalling</article-title>
.
<source>Nat Rev Immunol</source>
<volume>4</volume>
:
<fpage>445</fpage>
<lpage>456</lpage>
.
<pub-id pub-id-type="pmid">15173833</pub-id>
</mixed-citation>
</ref>
</ref-list>
</back>
</pmc>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Amérique/explor/PittsburghV1/Data/Pmc/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000256 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Pmc/Corpus/biblio.hfd -nk 000256 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Amérique
   |area=    PittsburghV1
   |flux=    Pmc
   |étape=   Corpus
   |type=    RBID
   |clé=     PMC:3974646
   |texte=   Exact Hybrid Particle/Population Simulation of Rule-Based Models of Biochemical Systems
}}

Pour générer des pages wiki

HfdIndexSelect -h $EXPLOR_AREA/Data/Pmc/Corpus/RBID.i   -Sk "pubmed:24699269" \
       | HfdSelect -Kh $EXPLOR_AREA/Data/Pmc/Corpus/biblio.hfd   \
       | NlmPubMed2Wicri -a PittsburghV1 

Wicri

This area was generated with Dilib version V0.6.38.
Data generation: Fri Jun 18 17:37:45 2021. Site generation: Fri Jun 18 18:15:47 2021