Research article
A soft collision detection algorithm for simple Brownian dynamics

https://doi.org/10.1016/j.compbiolchem.2009.11.003Get rights and content

Abstract

We describe a collision detection algorithm for spherical bodies that performs a minimal amount of computation consistent with maintaining reasonable steric exclusion. The algorithm was tested using populations of bodies that move randomly without inertia, simulating Brownian-like motion. Simulations were tested using populations of different size, up to 100,000 bodies, at different densities. The algorithm is linear in time and memory with the number of bodies and would be suitable for the simulation of ‘soft’ objects, such as cells.

Introduction

For many years, simulation has been an important tool in advancing our understanding of complex systems, ranging in scale from the atomic, through macromolecular and cellular systems to populations of organisms and even stars. Often such systems include long-range force fields such as gravity of electrostatics as well as short-range contact behaviours such as steric repulsion and chemical reaction or in populations of living organisms, life and death events.

There are also a number of systems in which long-range interactions are not important and these include molecular systems in a high dielectric solvent, specifically water of the cell interior, or in populations of cells or larger organisms which do not communicate at a distance. Confinement to local interactions allows considerable simplifications to be made to the representation and computation of such systems as only the interactions of neighbouring individuals need to be calculated.

In the simulation of complex components, such as cells or larger organisms, the underlying modes of behaviour typically are much less well defined compared to the physico-chemical models of atomic theory employed in molecular dynamics (MD) simulations. This leads to a significant stochastic component present in, and often dominating, the simulations. This randomness in the system applies not only to pairwise interactions but also to the motion of the individual components that, at the smaller end of the size range may be dominated by Brownian motion or with larger components (cells or rabbits) may move in an equally unpredictable way under the influence of multiple indeterminate factors.

Simulations at the molecular level typically involve the full expression of Newton's equations of motion combined with bond constraints and other forces (see Schlick, 2002, for a range of methods and biological applications.) For realism in biological systems, however, it is necessary to include the effect of a solvent but to do this explicitly is computationally expensive for any system of reasonable size. A way around this problem is to use Langevin dynamics in a formulation called Brownian dynamics in which the stochastic effects of the solvent are modelled (Ermak and McCammon, 1978). This can allow the simulation of large biological systems including proteins (Chung et al., 1998, Rojnuckarin et al., 1998) and DNA (Vologodskii, 2006).

For large systems that are dominated by Brownian-like behaviour there is no persistent velocity and none of the particles retain any ‘memory’ of their motion in the previous time step. In addition, if there are no long-range fields, then every particle simply moves at random. The only relevant information in such a system is the position of each body and knowledge of whether they are in contact. This means that the calculation required for such a simulation is just the evaluation of contacts after each displacement. In such a completely stochastic system, it would be computationally inefficient to apply an exact evaluation to the behaviour of bodies only to degrade it by the imposition of a random component before the next exact evaluation. The pragmatic approach to the problem is to displace every body by a small step in a random direction and evaluate afterwards whether to accept or reject each move and at this degree of simplification there is little to distinguish Brownian dynamics and Monte Carlo simulation (Heyes and Brahka, 1998). We still refer to our method, however, as Brownian (or Simple Brownian) dynamics because it differs fundamentally from a Monte Carlo simulation in that no step is ever rejected and if a move leads to a steric clash, this is not corrected unless it comes to the attention of the independent collision detector algorithm.

In this work we consider a minimal system in which each individual body is a sphere that is subject to random Brownian-like motion. The interaction of the bodies (collisions) is monitored by a neighbour-list but unlike the neighbour-lists employed in conventional MD we maintain a global list that is partially reordered at every time step. This avoids the time consuming component of revising a series of neighbour-lists periodically throughout a simulation. The disadvantage of this device is that the lists at times will be approximate but using a well-defined benchmark, we show that this is not an important factor for simulations that include a significant stochastic component.

Section snippets

A linear time algorithm

Each simulation was set-up as a collection of n spherical bodies with a diameter d of 6 units. These were initialised at random points within a cube, the size of which will be described below. Each body (i) was encoded as a coordinate vector a and the rank position of each body in the space was also recored in a vector R for each dimension j = X, Y, Z. The ranks were initially set at random values by taking their ordinal value (i.e. Rij = i, for each body i in each dimension j).Each simulation was

Parameter optimisation

The behaviour of the linear algorithm depends of a small number of parameters that control the number of potential collisions that are detected and dealt with in each cycle. These include:

  • bubbles, the number of iterations over the ranked coordinate list by the bubble-sort algorithm (values: 1, 2, 4, 6, 8, 10);

  • listpair, the adjacency of pairs considered in the ranked lists (values: 1 and 2, i.e. adjacent and next-but-one);

  • bumpscut, the number of the potentially worst bumps considered for

Discussion

Collision detection is an intensively studied field, not only for its application in scientific computing but also for the demanding requirements of real-time simulation in robotics and the huge area of computer games simulations. As would be expected, many efficient algorithms have been developed in both of these domains. Those from scientific computation, and in particular molecular dynamics (MD), tend to place greater emphasis on exact solutions and the use of efficient algorithms is applied

Acknowledgements

ZK was supported by the Oxford IRC in bionanotechnology and WRT by the Medical Research Council (UK). Jens Kleinjung, Michael Sadowski and James MacDonald are thanked for valuable discussion and comments.

References (12)

There are more references available in the full text version of this article.

Cited by (10)

  • SimGen: A General Simulation Method for Large Systems

    2017, Journal of Molecular Biology
    Citation Excerpt :

    SimGen was originally developed just to represent and construct protein molecules as a hierarchy of different structural levels in which each object in the hierarchy can be placed, copied, moved, and linked to construct a complex assembly of one or multiple chains. From this, it was extended to add interaction between objects based on an efficient collision detection algorithm [12,13]. However, it is not a molecular dynamics program and contains no potentials, forces, or momentum, and its default mode of operation is to do nothing.

  • Steric exclusion and constraint satisfaction in multi-scale coarse-grained simulations

    2016, Computational Biology and Chemistry
    Citation Excerpt :

    Unfortunately, unlike objects in computer games, in the molecular world the dominant orientation dictated by gravity is absent so a construct based on the “world” coordinate frame is less relevant (see Ref. Muth et al., 2007 for a review). Previously, this approach was used to speed collision detection between atoms using a simple spherical “box” (Taylor and Katsimitsoulia, 2010) but when dealing with non-spherical objects, such as alpha-helices of nucleic acid segments, a sphere is not an ideal shape and when made large enough to enclose an elongated object many other objects can be brought into the calculation even when they are far from interacting, especially if they too are elongated. In this work, the original method based on spheres is extended to a wider variety of shapes and into a generalised hierarchy in which the boxes themselves can be assigned different collision properties at any level in the hierarchy.

  • A continuum hard-sphere model of protein adsorption

    2013, Journal of Computational Physics
    Citation Excerpt :

    The continuum model can be scaled to larger domain sizes much more effectively than Brownian dynamic simulations, which require detecting collisions between N particles. Collision detection scales as O(N2) using a brute-force approach, however, algorithms have been developed that produce linear scaling with N [31]. Although the continuum adsorption model was coupled with a simple diffusion-only transport simulation in this work, it would be straightforward to couple the model to full-featured CFD simulation for predicting transport and adsorption in arbitrary geometries.

  • A hierarchic collision detection algorithm for simple Brownian dynamics

    2010, Computational Biology and Chemistry
    Citation Excerpt :

    The list of candidates was then sorted by their separation in each dimension and the top fraction assessed in full 3D for collisions. Previously, optimal parameters had been established for this algorithm (Taylor and Katsimitsoulia, 2010) which found that it was better to consider not only adjacent entries in the ranked lists but also adjacent-but-one entries (parameter listpair = 2). The number of passes over the lists by the bubble sorting algorithm was found to have diminishing returns for higher values and 10 passes were enough (parameter bubbles = 10).

  • Simulation of cell movement and interaction

    2011, Journal of Bioinformatics and Computational Biology
  • Nuclear concrete microstructure generation for simulating creep

    2019, 19th International Conference on Environmental Degradation of Materials in Nuclear Power Systems - Water Reactors, EnvDeg 2019
View all citing articles on Scopus
View full text