| Literature DB >> 27903820 |
Abstract
Biological systems exhibit complex behaviours that emerge at many different levels of organization. These span the regulation of gene expression within single cells to the use of quorum sensing to co-ordinate the action of entire bacterial colonies. Synthetic biology aims to make the engineering of biology easier, offering an opportunity to control natural systems and develop new synthetic systems with useful prescribed behaviours. However, in many cases, it is not understood how individual cells should be programmed to ensure the emergence of a required collective behaviour. Agent-based modelling aims to tackle this problem, offering a framework in which to simulate such systems and explore cellular design rules. In this article, I review the use of agent-based models in synthetic biology, outline the available computational tools, and provide details on recently engineered biological systems that are amenable to this approach. I further highlight the challenges facing this methodology and some of the potential future directions.Entities:
Keywords: agent-based modelling; cell populations; collective behaviours; synthetic biology
Mesh:
Year: 2016 PMID: 27903820 PMCID: PMC5264505 DOI: 10.1042/EBC20160037
Source DB: PubMed Journal: Essays Biochem ISSN: 0071-1365 Impact factor: 8.000
Figure 1Principles of agent-based modelling
(A) An agent-based simulation consists of a virtual environment where large numbers of autonomous agents can interact. A model of a bacterial colony is shown with agents representing cells. Each cell contains a synthetic genetic circuit that controls its behaviour. In this case, the genetic circuit takes two chemicals as inputs (Q1 and aTc) and produces a single chemical output (Q2) if both inputs are absent (a NOR logic operation). A range of common cellular inputs and outputs are shown. To ensure that simulations faithfully reproduce the biological system, key physical processes encountered or utilized by the agents must be implemented within the virtual environment. Those relevant to bacteria are shown. (B) Interactions between agents implementing specific rules and the shared environment can lead to the emergence of collective behaviours. These include dynamic co-ordination (e.g. synchronization of gene expression; see Figure 2A) and population-level encodings of continuous inputs (e.g. cells are either in an ‘ON’ or ‘OFF’ state and the fraction of the population in an ‘ON’ state corresponds to the continuous concentration of the input, similar to the bimodality of the lactose utilization network in E. coli [10]).
Figure 2Agent-based models in synthetic biology.
Boxes contain the physical rules or genetic circuit controlling the behaviour of each cell. Multicellular agent-based simulations are shown to the right illustrating the emergent behaviours that arise. (A) Robust synchronized oscillations across a population of cells [27]. Each cell encodes an identical genetic circuit able to generate oscillations in the expression of an output gene (Out). The luxI gene encodes an enzyme that catalyses the production of N-acylhomoserine lactone (AHL). AHL binds to the constitutively produced LuxR protein (not shown), which activates the pLux promoters. AHL can also diffuse through the cell membrane into the environment to affect other cells (shown by the blue semi-transparent fog), and is negatively regulated by the aiiA gene whose product degrades AHL. The simulation shows 200 cells (small spheres) that start with random initial expression levels of circuit genes in a 100 μm3 box with wrapping boundary conditions. The colour of each cell corresponds to the expression of the output (yellow=low; red=high) (B) Four spatially separated colonies that collectively implement an EQUAL logic function (output is active when both inputs are simultaneously inactive or active) by using diffusing quorum molecules as chemical wires for communication [36]. The genetic circuit for each colony is shown that implements either a NOR or BUFFER logic function. Arabinose (Ara) and anhydrotetracycline (aTc) are used as inputs to the circuit. Q1 and Q2 are the quorum-sensing molecules 3OC12-HSL and C4-HSL respectively. These are able to diffuse through the cell membrane into the environment and are shown by the red (Q1) and blue (Q2) semi-transparent fogs that propagate in the simulations. Each colony in the simulation consists of 20000 cells, which are coloured if the output promoter (pCI) is active. The simulation starts with all cells inactive and both arabinose and aTc absent from the medium. (C) Generation of fractal colony structures through accurate agent-based modelling of rod-shaped bacteria colony growth. The simulation image is adapted from http:://cellmodeller.org and shows cells coloured according to their mother–daughter relationship. On division, the daughter cell colour is chosen on the basis of its mother colour with a small random change. Several points of mechanical instability are highlighted with white arrows. Simulations in (A) and (B) were generated using BSim [39] and (C) using CellDesigner [63]. Genetic circuits are shown using Synthetic Biology Open Language Visual (SBOLv) notation [84] and generated using DNAplotlib [85].
Comparison of agent-based modelling tools
| Agent dynamics and features | Environment | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | Simple rules | Advanced rules | ODEs | DDEs | Chemical equations | Stochastic dynamics | Motility | Chemotaxis | Cell replication | Cell morphology | 2D | 3D | Chemical diffusion | Complex objects | Language | Reference(s) |
| AgentCell | ● | ● | ● | ● | ● | Java | [ | |||||||||
| BacSim | ● | ● | ● | ● | ● | ● | Obj-C/Java | [ | ||||||||
| BNSim | ● | ● | ● | ● | ● | ● | ● | ● | ● | C++ | [ | |||||
| BSim | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | Java | [ | |||
| CellModeller | ● | ● | ● | ● | ● | ● | ● | ● | Python | [ | ||||||
| Chaste | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | C++ | [ | ||
| CompuCell3D | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | C++/Python | [ | ||
| DiSCUS | ● | ● | ● | ● | ● | ● | C | [ | ||||||||
| FLAME | ● | ● | ● | ● | ● | Python | [ | |||||||||
| gro | ● | ● | ● | ● | ● | ● | ● | ● | ● | C++ | [ | |||||
| iDynoMiCS | ● | ● | ● | ● | ● | ● | ● | C++ | [ | |||||||
| NetLogo | ● | ● | ● | ● | ● | Scala | [ | |||||||||
| Organism | ● | ● | ● | ● | ● | ● | ● | C++ | [ | |||||||
| RapidCell | ● | ● | ● | ● | ● | Java | [ | |||||||||
| Repast HPC | ● | ● | ● | ● | C++ | [ | ||||||||||
| Repast Simphony | ● | ● | ● | ● | Java | [ | ||||||||||
Columns are defined as follows. Simple rules, a limited subset of commands are available to control agent behaviours; Advanced rules, access to a full programming language is provided to control agents; ODEs, agents can use ordinary differential equations to describe their internal state; DDEs, agents can use delay differential equations to describe their internal state; Chemical equations, cellular chemical reaction networks can be simulated; Stochastic dynamics, the internal state of an agent and the interactions with other agents can be stochastic, i.e. upon meeting another agent, there is a probability that they interact; Motility, agents can move freely within the environment and functionality to manage collisions/interactions is available; Chemotaxis, a realistic implementation of chemotaxis is available to control cellular movement; Cell replication, agents are able to replicate over time; Cell morphology, agents can take an arbitrary shape or have the option to take one of multiple predefined shapes.
Ability to define solid structures within the environment that have arbitrary geometries.
BacSim is no longer developed and has been superseded by iDynoMiCS.
Simulations are accelerated using the PyOpenCL library, which provides access to parallel computation on GPUs.
Scala code is compiled into Java byte-code to enable full interoperability with Java tools and other JVM-based languages.