It is fascinating to realize that, at a microscopic level, the processes of life all come down to chemistry, physics and thermodynamics.
For example, electrostatics plays an important role in the structure and function of biological molecules—from enzyme catalysis to the binding of ligands and proteins. In fact, almost all biological processes are controlled by electrostatics.
The classical approach for computing biomolecular electrostatic interactions is molecular dynamics (MD), which is powerful and very detailed. To investigate very large systems, however, the computing requirements of MD become prohibitive and simplifications are still necessary. One approach is to model the water that surrounds a biomolecule as a continuum dielectric substance. This model leads to a boundary integral equation for surface charge, which is solved using the boundary element method (BEM). With a multipole-based fast summation, and hardware acceleration using GPUs, we obtain reasonable time-to-solution even on single workstations.
In July 2012, we released the
PyGBe code, which solves the Poisson-Boltzmann equation for biomolecular electrostatics using a boundary element method, a treecode for acceleration, and GPU hardware via
Cuda. The user-visible code is all Python, which makes for an easy-to-use modelling tool which can be used for quick numerical experimentation. The code is open source under the MIT license.
- "Validation of the PyGBe code for Poisson-Boltzmann equation with boundary element methods", Christopher D. Cooper, L. A. Barba. (25 January 2013). 10.6084/m9.figshare.154331 // Code repository
Technical Report published on figshare under CC-BY-NC-SA.
- "Biomolecular electrostatics using a fast multipole BEM on up to 512 GPUs and a billion unknowns", Rio Yokota, J. P. Bardhan, M. G. Knepley, L. A. Barba, T. Hamada. Comput. Phys. Commun., 182(6):1271–1283 (June 2011). 10.1016/j.cpc.2011.02.013 // Preprint arXiv:1007.4591