Abstract
Abstract
We recently demonstrated the possibility to model and to simulate biological functions using hardware description languages (HDLs) and associated simulators traditionally used for microelectronics. Nevertheless, those languages are not suitable to model and simulate space-dependent systems described by partial differential equations. However, in more and more applications space- and time-dependent models are unavoidable. For this purpose, we investigated a new modeling approach to simulate molecular diffusion on a mesoscopic scale still based on HDL. Our work relies on previous investigations on an electrothermal simulation tool for integrated circuits, and analogies that can be drawn between electronics, thermodynamics, and biology. The tool is composed of four main parts: a simple but efficient mesher that divides space into parallelepipeds (or rectangles in 2D) of adaptable size, a set of interconnected biological models, a SPICE simulator that handles the model and Python scripts that interface the different tools. Simulation results obtained with our tool have been validated on simple cases for which an analytical solution exists and compared with experimental data gathered from literature. Compared with existing approaches, our simulator has three main advantages: a very simple algorithm providing a direct interface between the diffusion model and biological model of each cell, the use of a powerful and widely proven simulation core (SPICE) and the ability to interface biological models with other domains of physics, enabling the study of transdisciplinary systems.
1. Introduction
S
In this article, emphasis is put on the deterministic simulation of biological systems. In this case, a network of interactions between biochemical species needs to be simulated. This network is modeled by a set of ordinary differential equations (ODEs), that is, differential equations for which parameters, species concentration, and flux vary only with time. The ODE set is solved by a numerical method to obtain the temporal evolution of the system from a given initial state or under given stimuli. It may also provide the steady states of the system as a function of its biochemical parameters or even identify mathematical properties of the studied network. Such models can be handled either by generic calculation tools such as MATLAB (Schmidt and Jirstrand, 2006) or specific packages of Python (Lopez et al., 2013), by dedicated tools such as COPASI (Hoops et al., 2006), BioCham (Calzone et al., 2006), or JSim (Butterworth et al., 2013) or by tools derived from other domains of engineering sciences such as SPICE, a language dedicated to the simulation of electronic circuits (Madec et al., 2017).
Aforementioned tools solve ODE, which implies that the system can be modeled with lumped quantities and parameters. However, it is not uncommon to encounter biochemical systems for which the spatial distribution of chemical species and/or local variations of biochemical properties play a significant role. This is the case in applications such as the diffusion of drugs in tissues (Arifin et al., 2006), the study of intercellular communication (Tamsir et al., 2011; Xie et al., 2011), or intracellular signaling (Goldbeter et al., 1990; Somogyi and Stucki, 1991). To tackle these questions, several approaches exist. Most of them have been summarized by Takahashi in a review article in 2005 (Takahashi et al., 2005).
Basically, two main approaches can be distinguished. On the one hand, each molecule is modeled individually. The position of each molecule as well as their interactions are computed. This approach is called entity-centered (or particle-centered). Various implementations of this approach exist, depending on the way the space and the position of entities are represented. In entity-centered simulator, such as HSIM (Amar et al., 2004), the coordinate of each molecule is updated according to a random walk at each time step and if the trajectories of two molecules involved in a reaction cross each other, the reaction has a probability to occur. Alternative implementations of this approach use cellular automata (Ermentrout and Edelstein-Keshet, 1993; Madec et al., 2012). In this case, space is divided into cubes. At each time step, transfers of molecules from one cube to another one and/or reactions between two molecules inside a cube are computed according to probabilistic laws.
On the other hand, geometry can be taken into account in models by considering the concentration of each species as a function of both time and space. In this case, the biological system is described as a set of partial differential equations (PDEs) composed of diffusion terms and reaction terms, which also may depend on the position in space. PDEs can be solved numerically by different methods such as finite differences, finite elements, finite volumes, etc. (Evans et al., 2000). These methods are the same as the ones encountered in other domains of physics, such as thermodynamics, flow mechanics, electromagnetism, or physics of semiconductor.
They can be handled by commercial software, such as COMSOL, which is a reference PDE solver in physics. Moreover, last distribution COMSOL include a module dedicated to the simulation of chemical reactions. They can also be solved using open-source C++ libraries, such FreeFEM (Hecht, 2012), or simulated with dedicated freeware such as Virtual Cell, a standard tool in system biology (Moraru and Schaff, 2008). Whatever the resolution method, space is discretized into meshes and nodes, and PDEs are converted in a set of ODEs, one per species and per nodes. Consequently, PDE solvers are composed of two parts: a mesher that converts PDEs into ODEs and an ODE solver. The performance of a given method is always a tradeoff between accuracy and computation time. High accuracy can be reached with very tight meshes and/or sophisticated discretization schemes and ODE-solving method (e.g., finite elements), but the price to pay is an increase in the number of equations to solve, the size of the data to store, and the complexity of the equations.
From a mathematical point of view, PDE-based biological models are close to those met in electrothermal simulations of integrated circuits. In this domain, efficient methods have already been proven for years to handle these models (Vogelsong and Brzezinski, 1989; Digele et al., 1997; Wunsche et al., 1997; Krencker et al., 2010, 2014; Garci et al., 2014). The tool described in this article is an adaptation of the tool developed by Krencker and Garci to the biological domain. This adaptation is made possible, thanks to analogies that exist among biology, electronics, and thermodynamics. The first section of the article introduces the background of the article, that is, the modeling of diffusion in biology and the aforementioned analogies. The tool is described in detail in Section 3. Then, simulation results, validations, and comparisons with experimental data extracted from the literature are given in Section 4. Finally, the performances obtained with our approach are discussed and compared with alternative solutions (namely COMSOL and Virtual Cell) in Section 5.
2. Theoretical Background
2.1. Space- and time-dependent models in biology
The generic model for a biological system that depends both on time and space is a set of PDEs (one per species), which can be written as following:
where N is the number of involved species,
where
For the
2.2. Analogy between electronic, thermic, and biology
On the one hand, the analogy between electronics and biology has been demonstrated in Gendrault et al. (2014). Basically, it consists in considering the concentration as an electrical voltage, the production/consumption of a species as a current source, the degradation term as a resistor, and the local storage of molecules as a capacitor. The current sources associated with species production/consumption may be controlled by other voltages, leading to the instantiation of voltage-controlled current sources (VCCS), just as in models of transistors in electronics. Based on this analogy, every biological system that does not depend on space can be modeled as equivalent electronic circuits. The mathematical equations that model the system in standard approach can be retrieved by applying Kirchhoff's laws to this circuit.
On the other hand, an analogy can be drawn between biology and thermal physics considering diffusion phenomena. The model of the thermal diffusion of heat in a material is given by heat equation, derived from Fourier's law (Blundell and Blundell, 2010):
where
Finally, the analogy between electronics and thermal physics is also well known (Blundell and Blundell, 2010). Electrothermal simulations of integrated circuits are mostly based on this analogy.
2.3. Electrothermal simulation of integrated circuits
The electrothermal simulation of an integrated circuit is needed especially for high-density integrated circuits, for mixed circuits with integrated power devices, or for the next generation of 3D-integrated circuits. Such a simulation requires two modeling layers, one dedicated to the computation of the thermal map and one dedicated to the computation of the voltages and currents in the electronic circuit. The last generation of electrothermal simulator uses a direct coupling, that is, both layers are computed together with the same solver. The principle is described in Krencker et al. (2010). On the thermal layer, heat equation is discretized and modeled with electronic equivalent circuits. Such circuits are composed of thermal capacitor on each node of the lattice to model heat accumulation by the chip, thermal resistor between nodes to model the heat transfer, thermal resistor between nodes and the thermal ground (ambient temperature) to model heat convection, and localized heat sources. The electronic layer is composed of temperature-dependent models of devices instantiated in the circuit. Each model is connected to the closest thermal node, uses the node temperature inside models to set temperature-dependent parameters, and computes the localized heat source associated to the device.
3. Description of the Tool
The biological simulator described in this article is based on the same principle and relies on the aforementioned analogies. Since heat diffusion and molecule diffusion are modeled by similar laws on the one hand, and biological systems can be described as electronic circuits on the other hand, it is possible to describe a space- and time-dependent biological system as an equivalent electronic circuit composed of several layers of components. As for electrothermal simulator, the first layer is composed of local models of chemical reaction, which are modeled by electronic equivalent devices. However, unlike the electrothermal simulator, where only heat diffusion has to be modeled, molecular diffusion requires one layer per diffusing species. Those layers are mostly composed of resistors, capacitors, and VCCS to model fluxes between nodes. The model is written in SPICE. The complete tool is composed of four main modules: the mesher, the SPICE netlist generator, the models for the elementary mesh and biochemical reactions, and the SPICE simulator. In the following, for simplicity sake, only the case of 2D problems is addressed. Nevertheless, the mesher, the circuit model file generator, and the SPICE model for the elemental mesh have been developed to be compatible with 3D studies.
3.1. Mesher
The mesher is implemented in C++. It is a direct reuse of the mesher used for the electrothermal simulator (Krencker et al., 2010). To reduce the computation time and the complexity of the model, we opted for a lattice composed of square meshes with variable degrees of refinement. To generate the lattice, users have to provide in a text file the geometry, the maximal size of an element, and a list of critical zones in which mesh refinement is required for each species. It is obviously advisable to use influence zones close to the region where the variation of species concentration is significant (for instance in regions where the species are produced).
The mesher reads the input files and creates a list of mesh elements and their associated nodes, as well as a list of all node coordinates. The algorithm performs as following. First, a lattice made of squares of the maximal size defined by the user is generated. Then each square overlapping an influence zone is cut into four identical squares if its size is larger than the maximal size allowed inside this zone. This operation is repeated until all the squares overlapping an influence zone are smaller than the maximal size. Finally, the transitions between adjacent squares with different degrees of refinement are smoothed. If the difference of degrees of refinement of two adjacent squares is larger than 1, that is, when the ratio of their sides' sizes is larger than 2, the largest square is cut in four, and this last operation is also repeated until each couple of adjacent squares exhibit a difference of degrees of refinement of 1 or less (Fig. 1).

Example of a lattice with four initial divisions and with a central refinement zone of n = 2 (red circle). The algorithm checks whether the degree of refinement (n value) of each mesh in contact with the zone is greater or equal to the expected value (here 2). If not, the relevant meshes are subdivided. To keep a progressive refinement, some meshes have to be divided even if not in contact with the refining zone: green shapes illustrate this case.
3.2. SPICE netlist generator
The SPICE netlist generator is a Python script that generates a SPICE file describing the electronic equivalent model of the complete system. This file is composed of the following elements: (1) the definition of the global parameters of the model; (2) the instantiations of the elementary mesh models (described in more details in subsection 3.3); (3) the map of initial concentrations; (4) the boundary conditions; (5) the instantiations of SPICE models of local biological mechanisms; and (6) simulation directives. In the current version of the tool, models' parameters, the initial concentration map, boundary conditions, simulation directives, and the position of biological mechanisms have to be set using Python scripts given in Supplementary Material. The formalization of a metalanguage used to describe the system and that can be interpreted to generate the SPICE model is still under consideration.
For boundary conditions, several options are available. By default, the space represented by the lattice is considered as closed. From a modeling point of view, each boundary node is open. Constant concentration can also be applied on boundaries. In this case, boundary nodes are connected to constant voltage sources (or grounded if concentration is 0). Finally, it is also possible to model further diffusion outside the lattice borders by adding a grounded resistor to the concerned border nodes.
SPICE models of local biological mechanism can either be handwritten directly in SPICE or be exported from SBML (System Biology Markup Language, an XML-based standard description language used in biology) (Hucka, 2003) or from a textual description by using BB-SPICE (Madec et al., 2017).
3.3. Model of the elementary mesh
3.3.1. Model core
In 2D, the elementary mesh is a square with up to eight connections. Corners (C1, C2, C3, and C4) are defined in every mesh, whereas middles of edges (C12, C23, C34, C41) exist only if adjacent meshes are refined. The core of the model maps the discretization of Fick's law according to the finite differences scheme. It means that the application of Kirchhoff's law on each node of the mesh leads to a set of ODEs, which corresponds to the one obtained with the set of equations coming from discretizing [Eq. (1)] with Fick's law with the finite difference method. In the following, for simplicity's sake, the name of a node (e.g., C1) will implicitly correspond to the concentration of molecule on that node.
3.3.1.1. Discretization of diffusion term
When discretized, Fick's law leads to flow terms that depend on the concentrations at the corners of the mesh element. In 2D, we define four fluxes per mesh, two along the X-axis (
where Dn is the diffusion constant inside the mesh that depends on diffusion constant D0, the size of the unrefined mesh

Upper part: 2D elementary mesh with eight potential connections: four corners (always connected, red dots) and four edges (not connected if the degree of refinement of the neighbor mesh is the same, gray dots). Plain arrows (blue and green) show the fluxes. Lower part: representation of the electronic devices connected to a corner node (left) or an edge node (right).
Each corner node receives two fluxes, one along each axis. Once the lattice is assembled, it should be noticed that each corner receives each flux twice, which explains why the flux is divided by 2 in [Eq. (4)]. For instance, C2 receives
Each node in the middle of an edge receives a flux that corresponds to the sum of the flux received by its two nearest neighbor nodes (e.g., C23 receives
3.3.1.2. Electrical equivalent model
The implementation of the model core, in terms of electronic equivalent circuit, is given in Figure 2. The analogy between biology and electronics is based on the equivalence between concentration and voltage on the one hand, and molecule flows and electrical current on the other hand. Thus, on corner nodes, the flows between nodes described here above depend directly on the difference of concentrations at the connected nodes. Therefore, they can be modeled by resistors whose values are equal to
In addition to the devices modeling the diffusion, at each node, a resistor connected to the reference node and a capacitor also connected to the reference node are introduced. Resistors model the degradation term at the nodes, whereas capacitors model the accumulation of molecules at the nodes. The value of the resistor Rn and of the capacitor Sn in a mesh element with a degree of refinement of n are given by:
where d is the degradation rate and
3.3.2. Implementation
The model of the elementary mesh has been implemented both as a SPICE subcircuit and a Verilog-A module. From a computational viewpoint, both implementations are equivalent. Verilog-A model has been developed to improve human readability and makes the model of the elementary mesh easier to manipulate and to modify to take a more sophisticated diffusion model into account. However, it is not supported by every SPICE simulators. The model is composed of nine terminals representing the concentration of molecules at each corner and at the middle of each edge as well as a reference node. The associated nine parameters are described in Table 1. These parameters may be changed for each implementation of the model.
3.4. SPICE simulator
Two SPICE simulators have been considered in our study: NGSPICE, which is an open-source SPICE simulator (Nenzi and Vogt, 2011) and Spectre MMSIM 13.1, a commercial simulator provided by Cadence Design System, Inc. and optimized for the simulation of large-scale electronic circuits. Spectre is widely used in the field of microelectronics.
4. Results
4.1. Validation of the model of diffusion
4.1.1. Transverse diffusion
To validate our simulator, we examine the diffusion of a molecule in a closed 2D space on problems for which an analytic solution exists. First, we consider a 2D square of length L. A reaction generates a constant and uniform flux of molecules
with the following boundary conditions:
An analytic solution can be computed for this equation:
with

On the left, the four meshes that have been compared.
4.1.2. Radial diffusion from a central source
In this case, we still consider the same 2D square of length L. The no-flux boundary condition is applied on each border and an incoming flux is applied to the center of the square O. For analytic computation, polar coordinates
The analytical solutions of this equation are the modified Bessel functions. More precisely, taking the boundary conditions into account, the solution is:
where
Description of the lattices for the benchmark. For all of them, the initial (unrefined) lattice, the refinement zones, the number of nodes and elementary meshes, as well as the simulation time for SSA and TC simulations are given, both for NGSpice and Spectre. Values in the refinement column are the diameter of the refinement zone (centered on O). Computation time with Spectre and NGSPICE have been obtained on a 12-core 2.6-GHz CPU with 40 Go of RAM. TC simulations are performed with a built-in adaptive time step algorithm configured to simulate over 100 seconds with a minimal time step of 5 seconds.
SSA, steady-state analysis; TC, time-course.
When comparing the steady state values of the nodes for the different layouts, it appears that they are very similar however far they are from the source. For this reason, we choose to show only the close vicinity of the source in the results. Mesh No. 4 and Mesh No. 5 are equivalent, but have been obtained in two different ways: one directly, the other using a refinement on the whole area. Thus, even if their netlists are different, the ODE set generated by model compilation, the simulation results are identical. This indicates that the refinement has been well considered into the model of the elemental mesh. Moreover, we can see that most of the results obtained with different lattices overlap and are in accordance with the theoretical model (Fig. 4A).

Simulation results of the steady-state concentration on nodes according to their distance toward the source for different lattice layouts, and comparison with the analytic solution
However, we note a significant difference at the source. This difference is an effect of discretization. It is illustrated on Figure 4B. When PDEs are solved with a finite difference model, the value computed for the concentration at a given node is the integral of the concentration on a surface around this node. Obviously, the size of this surface depends on the mesh refinement around the given node. The blue curve on Figure 4B corresponds to the theoretical model. Consider now the center of the lattice. For large meshes (typ. Lattice No. 3), the integration surface is larger and the value at the central point is lower. For thinner meshes (typ. Lattice No. 5), the integration surface decreases, and the value at the central point increases. This phenomenon is amplified around the center, where the gradient of concentration is higher than near the borders. The difference between observed curves shows that some lattices used for simulation are not refined enough to produce accurate results near the center (Fig. 4B). Conversely, if the area of interest is far from the center, all the lattices give equivalent results.
Obviously, the drawback of a highly refined grid is the increased number of nodes and meshes and thus an increase in the computation time, as illustrated on Figure 5.

Computation time for the different lattices.
4.2. Applications
4.2.1. Basu's system
Our tool is now applied on an actual biological system. The first example is a biological pattern formation system developed by Basu et al. (2005). The system allows the formation of green fluorescent protein (GFP) patterns in a closed space by making use of two populations of cells: the senders and the receivers. The senders communicate with the receivers by synthesizing and isotopically emitting a small molecule able to diffuse and enter cells, acyl-homoserine lactone (AHL). Receivers react to intermediate concentrations of AHL. Upon receiving the correct amount of AHL, receivers produce GFP that is the output in this system. In practice, a Petri dish is covered with receiver cells and one or many groups of senders are laid on specific spots.
This system is modeled as following. First, we define a diffusion layer for AHL using our tool. Second, we model the behavior of the group of senders as continuous AHL sources (constant current sources in our electronic analogy). Finally, we instantiate at each node, a model of receiver. This model has been established in a previous work (Rosati et al., 2016) and translated in Verilog-A and SPICE. To simplify the model, we assume that the cell membranes are fully permeable to AHL. Thus, the concentrations of AHL inside and outside the receiver are equal. However, it should be noticed that there are no technical obstacles related to the integration of more sophisticated models for the membrane transport of AHL inside the cell.
Two configurations are tested: one with only one group of sender cells in the middle (Fig. 6A) and another one with three groups of sender cells (Fig. 6B). For both configurations, we use as a base lattice, a square of 100 × 100 units with 40 divisions per axis. In the first configuration, we added one circular refinement zone with a radius of 25 centered at the sender cell (x = 50 and y = 50), with a refinement coefficient of 1 (Fig. 6C). The concentration of AHL and GFP according to space at the steady state can be observed on Figure 6E and F, with the sender cell represented as a red dot. Transient evolution of AHL and GFP concentrations are monitored at three nodes, located on the diagonal from the center toward the lower left corner (Fig. 6I). As AHL diffuses from its centered source, the peak of GFP propagates from the center toward the borders of the lattice, as it first appears at the node (40,40) in black and then at the node (37.5,37.5), where it stops as expected. In the second configuration, we added three circular refinement zones with a radius of 35 centered at the sender cells, namely coordinates (50,35), (35,60), and (65,60), with a refinement coefficient of 2 (Fig. 6D).

Simulation of the band-pass system with one or three sender cells.
Steady-state spatial map of AHL and GFP for this configuration are also given in Figure 6G and H. Obtained simulation results are in agreement with the experimental results provided by Basu et al. (2005) and reproduced on Figure 6A and B. Indeed, our simulation successfully obtains a ring of fluorescent cells around the emitting node, or a triangular ring around the three emitting cells in the second case. For both configurations, the number of receiver cell models, of nodes and of meshes instantiated as well as the required computation time are given in Table 3. They correspond to a steady-state (operating point) simulation.
4.2.2. Simplified prey–predator system
Prey–predator ecosystems are composed of two kinds of organisms whose activity depends on each other (e.g., rabbits and foxes). Recently, artificial prey–predator ecosystems have been demonstrated with artificially reprogrammed cells (Balagaddé et al., 2008; Fujii and Rondelez, 2013). In existing models, spatiality, which may play a key role in the process, is not taken into account. In this work, focus is put on the diffusion process. Thus, the model of the prey and the predator will be simplified at most.
The modeled system is composed of two cells. In the cell A, which mimics the prey, a gene synthesizes a transcription factor X that activates a gene inside the cell B, which mimics the predator. In the cell B, the activated gene synthesizes in turn an inhibitor Y for the gene in the cell A. By this way, when the concentration of X increases, production of Y increases, which in turn reduces the concentration of X. Under the appropriate conditions, this system should oscillate.
Results obtained with our simulator are given on Figure 7. Again, we use as a base lattice, a square of 100 × 100 units with four divisions per axis. The positions of cells A and B are (25,75) and (75,25), respectively. Two circular refinement zones with a radius of 10 and a degree of refinement of 4 are built around each cell. The obtained lattice is represented on Figure 7A. Two diffusion layers are defined, one for X and one for Y. Both layers are independent except on nodes (25,75) and (75,25), where they are connected through two external models, one for the behavior of the cell A and one for the behavior of the cell B. Models used for cells A and B correspond to simple regulation using Hill's equations (Konkoli, 2011). Thus, in cell A, the transcription of DNA and the translation of mRNA into X are given by:

By the same way, in cell B, the transcription of DNA and the translation of mRNA into Y are given by:
Again, to simplify the model, we consider that cell membranes are permeable to both the activator and the inhibitor, such that the concentrations inside and outside the cell are equal. As expected from Balagaddé et al. (2008), three different dynamics can be found depending on the parameters of the system as well as the distance between cells: coexistence, extinction, or oscillations. Oscillatory behavior is represented on Figure 7B and C.
5. Discussion
The previous section highlighted the validity of our approach and showed two application examples. In this section, performances of our approach are discussed. As mentioned in the introduction, Virtual Cell and COMSOL can be considered as the major alternatives to our tool. On the one hand, Virtual Cell has an intuitive Graphical User Interface (GUI) that can be used to define the geometry of the problem (which can be imported from actual segmented microscopy images) and biological reactions. Several solvers are available, including deterministic and stochastic simulation for 0D to 3D problems. It was tested on the aforementioned benchmarks and led to results comparable to those obtained with our tool.
Nevertheless, Virtual Cell performs only transient simulations. Static simulation results have been obtained by performing a transient simulation up to the steady state, which is time consuming. Computations are not done locally on the computer, but are dispatched and executed on a remote server. Thus, comparison of computation time is not very relevant. Results given in Table 4 correspond to wall-clock computation time and are independent of the computer on which they are performed. Virtual Cell also uses a lattice to solve PDE, but the mesh size is fixed. Thus, to obtain a 1 mm spatial resolution at the center, it is necessary to have a 1 mm length mesh on the whole surface, which leads to 10,201 nodes. It is between three and four times more than the number of nodes required to obtain the same spatial resolution near the source and the same accuracy with an adaptive lattice. Finally, the other limitation of Virtual Cell is the difficulty to couple biological models with models from other domains of physics. It may be possible in several cases, but it requires a translation of physical problems into an equivalent biochemical problem.
On the other hand, COMSOL is a software dedicated to the simulation of multiphysics systems. It provides modules dedicated to the diffusion of chemical species and to the engineering of reactions that can be coupled together and with other modules from other domains of physics. It has already been used for the study of biochemical systems (Dreij et al., 2011; Vollmer et al., 2013). The PDE solver as well as the mesher implemented in COMSOL are more sophisticated than that proposed in our approach. The adaptive lattice can be computed automatically by COMSOL according to the geometry and the problem itself (detection of hot spots to determine automatically the refinement zones), whereas it has to be defined by the user in our case. The definition of the geometry and the diffusion equations are simplified by a GUI. Contrariwise, the definition of the reactions is less intuitive. Importing existing biological models or integrating complex reaction models is painful. The PDE resolution algorithms are various and optimized for a multicore implementation, which leads to low computation times as shown in Table 4. Most common simulation types (i.e., static, dynamic, parametric) are available and COMSOL can be coupled with MATLAB to build an enhanced test bench. Unfortunately, COMSOL is an expensive commercial tool which limits its application range, especially in the academic field.
Compared with them, our approach offers a solution that positions itself as a good tradeoff between accuracy and computation speed, relies on tools that have proved their efficiency for years (to simulate systems as complex as 1-billion transistors microprocessors), and offers a direct coupling with other domains of physics through the generalized Kirchhoff's laws. Comparison on several features among our approach, COMSOL, and Virtual Cell are given in Table 4. Comparison between simulation results and computation time is not straightforward because of the different ways simulators are implemented and the different computers on which they were performed. Benchmark used for comparison is the one described in Section 4.1.2., that is, a 100 × 100 square with a source at (50,50) and no-flux boundary conditions. The spatial resolution near the source should be at least 1 mm.
As Virtual Cell does not propose an adaptive mesher, a 101 × 101 lattice is used to discretize the whole surface. With COMSOL, an adaptive 1858-node mesh is generated so that the smallest elements are less than 1 mm at the center. Finally, with our tools, 11 different lattices have been tested (Table 2). Reduction in the number of nodes obviously degrades the quality of the results, but, in counterpart, drastically reduces the computation time. Results retained for the comparison are those from Mesh No. 7 (regular lattice) and Mesh No. 9 (adaptive lattice), which can be considered as a good tradeoff between computation time and accuracy (Fig. 5). Moreover, we compared the performances of Spectre and NGSPICE for our approach. The commercial simulator has better performance than the open-source one when the number of nodes exceeds 2000 (Fig. 5). This is even more marked on transient simulation. This is probably due to the multicore feature proposed by Spectre, and which is not yet supported by NGSpice.
As a conclusion, compared with existing approaches, our simulator exhibits four main advantages: (1) it is based on a very simple algorithm for the discretization of space, which facilitates the description of the diffusion phenomena with simple compact models; (2) it provides a direct coupling between the diffusion model of molecules, models of biological systems that play a role inside the diffusion medium and models from other domains of physics; (3) it uses a SPICE simulation core, which has proven its efficiency for years, especially for systems with a high number of differential equations and which will be improved in the near future to face the new challenges of microelectronics; and (4) it is open source. With these features, it is a very powerful tool for the simulation and the virtual prototyping of biological systems inside cells or involving diverse types of cells that communicate between them through chemical messengers. For instance, it can be coupled with evolutionary algorithms to explore novel solutions that exploit cells' consortia in synthetic biology or to gain a level of complexity in the modeling of biological systems.
Although the model is simplified due to the implemented discretization algorithm (in comparison with COMSOL models for instance), the simulation of a complete model can be very time consuming, especially when the number of species increases. Considering the properties of the equations to solve, the deployment of Graphical Processor Unit (GPU) could provide a solution to speed-up the computation. Recent versions of GPU-optimized open-source SPICE simulator have been released (Keiter et al., 2014; Lannutti, 2014) and their coupling with our tool is currently under investigation. Another outlook of this work is to improve the elementary model of the mesh and the way several mesh layers can be interconnected for systems with multiple diffusing species. Up to now, the elementary model is based on a finite difference algorithm, which is easy to implement, but may introduce artifacts and convergence issues. The benefit of the development of an elementary mesh model based on more sophisticated discretization scheme (e.g., finite element) has to be investigated. Along the same line, when multiple mesh layers are implemented (e.g., in the simplified prey-predator example), refinement is applied on each layer to facilitate the interconnection between them. Applying specific refinement on each layer would make the generation of the netlist more complex but, on the other hand, would reduce the number of nodes in the model and speed-up the computation.
6. Conclusion
In this article, an innovative way to simulate space-dependent biological systems is presented. The tools are based on the analogy that exists between biochemical reaction and molecule diffusion on the one hand, and electronic and thermal systems on the other hand. It combines an electronic circuit simulator (SPICE) and a mesher that is adapted to deal with biological systems. The validity of the tools has been first demonstrated on very simple use cases, for which an analytical solution exists, then applied on actual biological systems and compared with experimental data extracted from the literature. Moreover, performances of our tool approach have been evaluated in comparison with two other widespread software (COMSOL and Virtual Cell). Again, we highlighted that our tool gathered interesting features (open-source, robust simulation heart, optimized resource usage, direct coupling with other domains of physics) that are not found together in the other studied tools. The current version of the tool is functional and models can be constructed through a Python script that is available as Supplementary Material. A GUI as well as other improvements, which have been discussed in the previous section, are still under investigation and development.
Footnotes
Author Disclosure Statement
No competing financial interests exist.
References
Supplementary Material
Please find the following supplemental material available below.
For Open Access articles published under a Creative Commons License, all supplemental material carries the same license as the article it is associated with.
For non-Open Access articles published, all supplemental material carries a non-exclusive license, and permission requests for re-use of supplemental material or any part of supplemental material shall be sent directly to the copyright owner as specified in the copyright notice associated with the article.
