A Dynamic Data Structure for Flexible Molecular Maintenance and Informatics

Chandrajit Bajaj, Rezaul Alam Chowdhury, and Muhibur Rasheed

Proceedings of the ACM Symposium on Solid and Physical Modeling (SPM 2009), San Francisco, California, pp. 259-270, 2009


We present the Dynamic Packing Grid (DPG) data structure along with details of our implementation and performance results, for maintaining and manipulating flexible molecular models and assemblies. DPG can efficiently maintain the molecular surface (e.g., van der Waals surface and the solvent contact surface) under insertion/deletion/ movement (i.e., updates) of atoms or groups of atoms. DPG also permits the fast estimation of important molecular properties (e.g., surface area, volume, polarization energy, etc.) that are needed for computing binding affinities in drug design or in molecular dynamics calculations. DPG can additionally be utilized in efficiently maintaining multiple ``rigid" domains of dynamic flexible molecules. In DPG, each update takes only O(log(w)) time w.h.p. on a RAM with w-bit words i.e., O(1) time in practice, and hence is extremely fast. DPG's queries include the reporting of all atoms within O(rmax) distance from any given atom center or point in 3-space in O(loglog(w)) (= O(1)) time w.h.p., where rmax<\sub> is the radius of the largest atom in the molecule. It can also answer whether a given atom is exposed or buried under the surface within the same time bound, and can return the entire molecular surface in O(m) worst-case time, where m is the number of atoms on the surface. The data structure uses space linear in the number of atoms in the molecule.

Download (copyright restrictions may apply): PSPDF