A comparison of neighbor search algorithms for large rigid molecules

Fast determination of neighboring atoms is an essential step in molecular dynamics simulations or Monte Carlo computations, and there exists a variety of algorithms to efficiently compute neighbor lists. However, most of these algorithms are general, and not specifically designed for a given type of application. As a result, although their average performance is satisfactory, they might be inappropriate in some specific application domains. In this article, we study the case of detecting neighbors between large rigid molecules, which has applications in, e.g., rigid body molecular docking, Monte Carlo simulations of molecular self‐assembly or diffusion, and rigid body molecular dynamics simulations. More precisely, we compare the traditional grid‐based algorithm to a series of hierarchy‐based algorithms that use bounding volumes to rapidly eliminate large groups of irrelevant pairs of atoms during the neighbor search. We compare the performance of these algorithms based on several parameters: the size of the molecules, the average distance between them, the cutoff distance, as well as the type of bounding volume used in the culling hierarchy (AABB, OBB, wrapped, or layered spheres). We demonstrate that for relatively large systems (> 100,000 atoms) the algorithm based on the hierarchy of wrapped spheres shows the best results and the traditional grid‐based algorithm gives the worst timings. For small systems, however, the grid‐based algorithm and the one based on the wrapped sphere hierarchy are beneficial. © 2011 Wiley Periodicals, Inc. J Comput Chem, 2011

[1]  Gui-Rong Liu,et al.  Improved neighbor list algorithm in molecular simulations using cell decomposition and data sorting method , 2004, Comput. Phys. Commun..

[2]  Samuel L. DeLuca,et al.  Practically Useful: What the Rosetta Protein Modeling Suite Can Do for You , 2010, Biochemistry.

[3]  Leonidas J. Guibas,et al.  Collision detection for deforming necklaces , 2002, SCG '02.

[4]  Jean-Claude Latombe,et al.  Algorithm and Data Structures for Efficient Energy Maintenance during Monte Carlo Simulation of Proteins , 2004, J. Comput. Biol..

[5]  Gerald Paul A Complexity O(1) priority queue for event driven molecular dynamics simulations , 2007, J. Comput. Phys..

[6]  Andrew S. Glassner,et al.  Proceedings of the 27th annual conference on Computer graphics and interactive techniques , 1994, SIGGRAPH 1994.

[7]  Jianmin Qu,et al.  The neighbor list algorithm for a parallelepiped box in molecular dynamics simulations , 2009 .

[8]  Aleksandar Donev,et al.  Neighbor list collision-driven molecular dynamics simulation for nonspherical hard particles. I. Algorithmic details , 2005 .

[9]  John M. Fujii,et al.  Proceedings of the 23rd annual conference on Computer graphics and interactive techniques , 1996, SIGGRAPH.

[10]  William R. Taylor,et al.  A soft collision detection algorithm for simple Brownian dynamics , 2010, Comput. Biol. Chem..

[11]  Stéphane Redon,et al.  Practical modeling of molecular systems with symmetries , 2010, J. Comput. Chem..

[12]  Dinesh Manocha,et al.  Cache‐Efficient Layouts of Bounding Volume Hierarchies , 2006, Comput. Graph. Forum.

[13]  Matthias Zwicker,et al.  Ieee Transactions on Visualization and Computer Graphics Ewa Splatting , 2002 .

[14]  K Schulten,et al.  VMD: visual molecular dynamics. , 1996, Journal of molecular graphics.

[15]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[16]  Joseph S. B. Mitchell,et al.  Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs , 1998, IEEE Trans. Vis. Comput. Graph..

[17]  Eduard S. Fomin,et al.  Consideration of data load time on modern processors for the Verlet table and linked‐cell algorithms , 2011, J. Comput. Chem..

[18]  Jack F Douglas,et al.  Symmetry, equivalence, and molecular self-assembly. , 2006, Physical review. E, Statistical, nonlinear, and soft matter physics.

[19]  Hari Sundar,et al.  Bottom-Up Construction and 2: 1 Balance Refinement of Linear Octrees in Parallel , 2008, SIAM J. Sci. Comput..

[20]  F. Colonna,et al.  On searching neighbors in computer simulations of macromolecular systems , 1984 .

[21]  Q. F Fang,et al.  Movable hash algorithm for search of the neighbor atoms in molecular dynamics simulation , 2002 .

[22]  S. Jones,et al.  Principles of protein-protein interactions. , 1996, Proceedings of the National Academy of Sciences of the United States of America.

[23]  F. Young Biochemistry , 1955, The Indian Medical Gazette.

[24]  Pedro Gonnet,et al.  A simple algorithm to accelerate the computation of non‐bonded interactions in cell‐based molecular dynamics simulations , 2007, J. Comput. Chem..

[25]  Greg Turk,et al.  Interactive Collision Detection for Molecular Graphics , 1990 .

[26]  Jon Louis Bentley,et al.  Data Structures for Range Searching , 1979, CSUR.

[27]  Jean-Claude Latombe,et al.  Efficient maintenance and self-collision testing for Kinematic Chains , 2002, SCG '02.

[28]  Leslie Greengard,et al.  A fast algorithm for particle simulations , 1987 .

[29]  Ulrich Breymann,et al.  Designing Components with the C++ STL , 2002 .

[30]  M. Sternberg,et al.  Prediction of protein-protein interactions by docking methods. , 2002, Current opinion in structural biology.

[31]  Dinesh Manocha,et al.  OBBTree: a hierarchical structure for rapid interference detection , 1996, SIGGRAPH.

[32]  Thierry Siméon,et al.  BioCD : An Efficient Algorithm for Self-collision and Distance Computation between Highly Articulated Molecular Models , 2005, Robotics: Science and Systems.

[33]  V. Ramachandran Proceedings of the fourth annual ACM-SIAM symposium on Discrete algorithms , 1993 .

[34]  Roberto Scopigno,et al.  Computer Graphics forum , 2003, Computer Graphics Forum.

[35]  Wilfred F. van Gunsteren,et al.  On the relative merits of flexible versus rigid models for use in computer simulations of molecular liquids , 1996 .

[36]  Ron Elber,et al.  Calculations of a list of neighbors in Molecular Dynamics simulations , 1989 .

[37]  Bochang Moon,et al.  RACBVHs: Random-Accessible Compressed Bounding Volume Hierarchies , 2010, IEEE Trans. Vis. Comput. Graph..

[38]  Berend Smit,et al.  Understanding molecular simulation: from algorithms to applications , 1996 .

[39]  Subhash Suri,et al.  Proceedings of the eighteenth annual symposium on Computational geometry , 2002, SoCG 2002.

[40]  J William,et al.  IEEE Computer Graphics and Applications , 2019, Computer.

[41]  Leonidas J. Guibas,et al.  BOXTREE: A Hierarchical Representation for Surfaces in 3D , 1996, Comput. Graph. Forum.

[42]  Lars Arge,et al.  Cache-Oblivious Data Structures , 2004, Handbook of Data Structures and Applications.

[43]  Hans-Peter Kriegel,et al.  The R*-tree: an efficient and robust access method for points and rectangles , 1990, SIGMOD '90.

[44]  Siegfried Schmauder,et al.  Comput. Mater. Sci. , 1998 .

[45]  William D. Mattson,et al.  Near-neighbor calculations using a modified cell-linked list method , 1999 .

[46]  Pierre Terdiman,et al.  Memory-optimized bounding-volume hierarchies , 2001 .

[47]  Beatrice Yormark,et al.  Proceedings of the 1984 ACM SIGMOD international conference on Management of data , 1977 .

[48]  Dinesh Manocha,et al.  Collision queries using oriented bounding boxes , 2000 .

[49]  Tim Beardsley,et al.  Strategic Defense Initiative: Academicians doubt efficacy , 1986, Nature.

[50]  Ram Samudrala,et al.  A generalized knowledge‐based discriminatory function for biomolecular interactions , 2009, Proteins.

[51]  Brian K. Shoichet,et al.  Molecular docking using shape descriptors , 1992 .

[52]  Andrew W. Appel,et al.  An Efficient Program for Many-Body Simulation , 1983 .

[53]  Jeffrey Scott Vitter,et al.  External memory algorithms and data structures: dealing with massive data , 2001, CSUR.

[54]  Nimrod Megiddo,et al.  Linear-time algorithms for linear programming in R3 and related problems , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[55]  Ruth Nussinov,et al.  Principles of docking: An overview of search algorithms and a guide to scoring functions , 2002, Proteins.

[56]  Bernard R. Brooks,et al.  An improved method for nonbonded list generation: Rapid determination of near‐neighbor pairs , 2003, J. Comput. Chem..

[57]  R. Rosenfeld Nature , 2009, Otolaryngology--head and neck surgery : official journal of American Academy of Otolaryngology-Head and Neck Surgery.