A biomolecular electrostatics solver using Python, GPUs and boundary elements that can handle solvent-filled cavities and Stern layers
arXiv:1309.4018 · doi:10.1016/j.cpc.2013.10.028
Abstract
The continuum theory applied to bimolecular electrostatics leads to an implicit-solvent model governed by the Poisson-Boltzmann equation. Solvers relying on a boundary integral representation typically do not consider features like solvent-filled cavities or ion-exclusion (Stern) layers, due to the added difficulty of treating multiple boundary surfaces. This has hindered meaningful comparisons with volume-based methods, and the effects on accuracy of including these features has remained unknown. This work presents a solver called PyGBe that uses a boundary-element formulation and can handle multiple interacting surfaces. It was used to study the effects of solvent-filled cavities and Stern layers on the accuracy of calculating solvation energy and binding energy of proteins, using the well-known APBS finite-difference code for comparison. The results suggest that if required accuracy for an application allows errors larger than about 2%, then the simpler, single-surface model can be used. When calculating binding energies, the need for a multi-surface model is problem-dependent, becoming more critical when ligand and receptor are of comparable size. Comparing with the APBS solver, the boundary-element solver is faster when the accuracy requirements are higher. The cross-over point for the PyGBe code is in the order of 1-2% error, when running on one GPU card (NVIDIA Tesla C2075), compared with APBS running on six Intel Xeon CPU cores. PyGBe achieves algorithmic acceleration of the boundary element method using a treecode, and hardware acceleration using GPUs via PyCuda from a user-visible code that is all Python. The code is open-source under MIT license.
12 pages, 11 figures
Cited by in corpus (8)
- Probing protein orientation near charged nanosurfaces for simulation-assisted biosensor design
- Poisson-Boltzmann model for protein-surface electrostatic interactions and grid-convergence study using the PyGBe code
- A robust and accurate formulation of molecular and colloidal electrostatics
- Coupling finite and boundary element methods to solve the Poisson--Boltzmann equation for electrostatics in molecular solvation
- Computational nanoplasmonics in the quasistatic limit for biosensing applications
- A Nonlinear Boundary Condition for Continuum Models of Biomolecular Electrostatics
- Some challenges of diffused interfaces in implicit-solvent models
- Characterizing the Roles of Contributors in Open-source Scientific Software Projects