Matlab Adaptative Poizzon Boltzmann Solver (MAPBS)

  Marcelo Marucho (marcelo.marucho@utsa.edu)
  Department of Physics & Astronomy
  University of Texas at San Antonio
  Texas

Abstract 

MAPBS is a MATLAB script based on the Adaptative Poisson Boltzmann Solver (APBS) (http://www.poissonboltzmann.org/apbs/) that uses either the biconjugate gradient or Gmres stabilized methods and the inexact LU decomposition to numerically solve the linearized Poisson Boltzmann equation (LPBE) on a Cartesian 3D-grid. This code was successfully tested on all the examples included in the APBS package. It calculates the density charge, the shifted dielectric and the ion accessibility coefficient (kappa function) maps using the same approximations utilized by the APBS. The information on the molecular structure of the solute (in pqr format) is obtained from the corresponding Protein Data Bank (in PDB format) using the pdb2pqr code (http://www.poissonboltzmann.org/pdb2pqr/). This version of MAPBS extents the current capabilities of the APBS by including Periodic and Mixed boundary conditions. This code is able to solve the LPBE with either Dirichlet, Periodic, Mixed or Focus boundary conditions. In the later case, it solves the LPBE at low resolution in a large domain and the resulting electrostatic potential solution is subsequently used to evaluate the Dirichlet boundary condition to solve the same LPBE at higher resolution in a sub-domain region. The electrostatic potential solution and the corresponding maps are properly saved in dx format. For visualization and analysis purposes, this code also generates two files (.fig and .jpg) corresponding to the graphical representation of the electrostatic potential surface. The MATLAB package includes a useful GUI application providing an easy and efficient way to generate the input file without using text editors. This graphical interface is carefully designed to avoid errors in setting the input data and to guide the user in choosing appropriate values for each of the required parameters. It allows the user to use the windows browser to select the input pqr files and to create the output files directory. It also provides helpful information about how to fill out the input data by moving the mouse pointer over the corresponding text or blank box and leaving it there. Once the input files is generated, the user may run the MAPBS code by simply clicking a push button. There is also a help link which opens the file ~/MAPBS/src/Main/UserGuide.pdf in a new window. The information displayed in the commander windows is saved in the MATLAB_APBS.io file for record purpose. This package includes a second graphical interface which may be used to compare results with other numerical solvers. This version doesn't implement a multigrid approaches. Whenever multiprocessors are available, the user is able to speed up the calculations without making any changes on MAPBS by just using the MATLAB parallel tool kit. This code was tested over most of operating systems including Linux, Mac and Windows. A description of the numerical calculations as well as technical details involved with this code can be found in ~/MAPBS/scr/Main/ProgrammerGuide.pdf. 


