Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2022 Jan 3;38(2):453-460.
doi: 10.1093/bioinformatics/btab649.

BioDynaMo: a modular platform for high-performance agent-based simulation

Affiliations

BioDynaMo: a modular platform for high-performance agent-based simulation

Lukas Breitwieser et al. Bioinformatics. .

Abstract

Motivation: Agent-based modeling is an indispensable tool for studying complex biological systems. However, existing simulation platforms do not always take full advantage of modern hardware and often have a field-specific software design.

Results: We present a novel simulation platform called BioDynaMo that alleviates both of these problems. BioDynaMo features a modular and high-performance simulation engine. We demonstrate that BioDynaMo can be used to simulate use cases in: neuroscience, oncology and epidemiology. For each use case, we validate our findings with experimental data or an analytical solution. Our performance results show that BioDynaMo performs up to three orders of magnitude faster than the state-of-the-art baselines. This improvement makes it feasible to simulate each use case with one billion agents on a single server, showcasing the potential BioDynaMo has for computational biology research.

Availability and implementation: BioDynaMo is an open-source project under the Apache 2.0 license and is available at www.biodynamo.org. Instructions to reproduce the results are available in the supplementary information.

Supplementary information: Available at https://doi.org/10.5281/zenodo.5121618.

PubMed Disclaimer

Figures

Fig. 1.
Fig. 1.
Simulation concepts. Agents (A) have their own geometry, behavior (B) and environment (C). (B) Agent behavior is defined in separate classes, which are inserted into agents. The update of an agent is based on its current state and its surrounding environment. (C) The environment is determined by radius r and contains other agents or extracellular substances. The simulation algorithm (D) can be divided into two main parts: the definition of the initial model and the execution of the simulation
Fig. 2.
Fig. 2.
BioDynaMo’s layered architecture. BioDynaMo is predominantly executed on multi-core CPUs, is able to offload computations to the GPU, and supports Linux and MacOS operating systems. BioDynaMo provides a rich set of low- and high-level features commonly required in agent-based models. On top of these generic features, BioDynaMo offers model building blocks to simplify the development of a simulation. Even if BioDynaMo does not provide the required building blocks, users still benefit from all generic agent-based features (illustrated by the vertical extension of the ‘Simulation’ layer)
Fig. 3.
Fig. 3.
Software design and modularity. Overview of selected classes and functions that are important from the users’ perspective. Classes in white (BioDynaMo core) and green (BioDynaMo’s neuroscience module) are part of the current BioDynaMo installation. The remaining classes illustrate how we extended BioDynaMo to implement the use cases and benchmarks presented in this article (purple: neuroscience use case, red: oncology use case, orange: epidemiology use case, blue: soma clustering benchmark, yellow: cell proliferation benchmark). A complete list of BioDynaMo classes can be found at https://biodynamo.org/api
Fig. 4.
Fig. 4.
Pyramidal cell simulation. (A) Example pyramidal cell simulated with BioDynaMo. (B) Real neuron (R67nr67b-CEL1.CNG) taken from Mellström et al. (2016) and visualized with https://neuroinformatics.nl/HBP/morphology-viewer/. (C) Large-scale simulation. The model started with 5000 initial pyramidal cell bodies and contained 9 million agents after simulating 500 iterations. The simulation execution time was 35 s on a server with 72 CPU cores. (D) Morphology comparison between simulated neurons and experimental data from Mellström et al. (2016). Error bars represent the standard deviation. (A, C) A video is available in the Supplementary Materials
Fig. 5.
Fig. 5.
Comparison between in vitro MCF-7 tumor spheroid experiments and our in silico simulations using BioDynaMo. (A) Human breast adenocarcinoma tumor spheroid (MCF-7 cell line) development during a 15 day period, where different initial cell populations were considered [see Fig. 3 in Gong et al. (2015)]. Error bars denote standard deviation to the experimental data. The mean of the in silico results is shown as a solid black line with a gray band depicting minimum and maximum observed value. (B) A qualitative comparison between the microscopy images and simulation snapshots. Scale bars correspond to 100 μm. A video is available in the Supplementary Materials
Fig. 6.
Fig. 6.
Measles and seasonal influenza SIR model results. (A, B) Comparison between agent-based (solid lines) and analytical (dashed lines) model for measles (A) and seasonal influenza (B). The agent-based simulation was repeated ten times. The individual simulation results are shown as thin solid lines. The bold solid line represents the mean from all simulations. The legend is shared between the two plots. (C) Visualization of the measles and influenza model for different time steps in 3D space. Susceptible persons are shown in white, infected persons in red, and recovered persons in blue
Fig. 7.
Fig. 7.
BioDynaMo performance analysis. (A) Speedup of BioDynaMo compared to the serial simulation platforms Cortex3D and NetLogo. Simulations use one CPU core except for the ‘epidemiology (medium-scale)’ benchmark, for which all 72 physical cores were available. The comparison with NetLogo uses the same simulation with different numbers of agents. Cortex3D supports only small-scale simulations. (B) Strong scaling behavior of BioDynaMo on a server with 72 physical cores, two threads per core and four NUMA domains. The gray area highlights hyper-threads

References

    1. Azevedo F.A.C. et al. (2009) Equal numbers of neuronal and nonneuronal cells make the human brain an isometrically scaled-up primate brain. J. Compar. Neurol., 513, 532–541. - PubMed
    1. Brun R., Rademakers F. (1997) ROOT — An object oriented data analysis framework. Nuclear Instrum. Methods Phys. Res. Sect. A Accel. Spectrom. Detect. Assoc. Equip., 389, 81–86.
    1. Chowell G. et al. (2008) Seasonal influenza in the United States, France, and Australia: transmission and prospects for control. Epidemiol. Infect., 136, 852–864. - PMC - PubMed
    1. Collier N., North M. (2011) Repast HPC: A Platform for Large-Scale Agent-Based Modeling, Chapter 5. John Wiley & Sons, Ltd., New York, pp. 81–109.
    1. Cytowski M., Szymanska Z. (2014) Large-scale parallel simulations of 3D cell colony dynamics. Comput. Sci. Eng., 16, 86–95.

Publication types