Lorena A. Barba group

Biomolecular electrostatics

Surface charge plot on a lysozyme molecule, obtained using the PyGBe code.

Surface charge plot on a lysozyme molecule, obtained using the PyGBe code.

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.