APBS contains a number of tools to facilitate the preparation of APBS runs and analysis of the results.
NOTE: In addition to the tools provided with APBS, there are a number of other programs which interoperate with our code. Please see the Other Programs section of this manual for more information.
Unfortunately, the majority of problems encountered during electrostatics calculations arise in process of taking a structure from the Protein Data Bank and transforming into a file that can be used by the APBS software. The PDB2PQR service was orginally developed in conjunction with Jens Nielsen and Andy McCammon to address these issues. The service has since evolved and has been completely rewritten by Todd Dolinsky and Nathan Baker. There are two forms of the service available:
Web-based PDB2PQR (http://agave.wustl.edu/pdb2pqr/)
Given a PDB-format structure file, this web-based version of the code will:
Fill in missing atoms in the PDB (within reason)
Add hydrogens to the structure to optimize the hydrogen-bonding network.
Assign charges and radii according to one of the following force fields: CHARMM23, AMBER02, or PARSE
Return the results in PQR format
Stand-alone PDB2PQR
This Python script (tools/conversion/pdb2pqr/pdb2pqr.py) will assign charges and radii to a PDB-format structure based on one of the following force fields: CHARMM23, AMBER02, or PARSE.
Additionally, APBS provides the ability to read plain PDB-format files and assign charges and radii from user-supplied parameter files. These features are described in the READ PARAM command description.
Finally, APBS provides a few other miscellaneous tools for converting and parameterizing structures:
tools/conversion/qcd2pqr.awk
Convert a QCD file (UHBD format for a molecule) to PQR format.
tools/conversion/amber2charmm.sh
A script which converts a PDB file with AMBER atom names to a PDB file with CHARMM atom names. Useful for preprocessing files before converting with pdb2pqr.
tools/conversion/WHATIF2AMBER.sed
A sed script for converting a PDB file with WHATIF atom names to a PDB file with CHARMm atom names. Useful for preprocessing files before converting with pdb2pqr. Contributed by Chiansan Ma.
In addition to parameterization of the molecule, there are several common operations which are performed to setup the calculation. This section reviews some of the tools available for these operations.
The following scripts help generate or transform APBS input files:
tools/manip/psize.py
Get the dimensions and center of a molecule in PQR format. Very useful for setting up input files (i.e., grid dimensions, lengths, spacings, etc.) for APBS calculations. Written by Todd Dolinsky and Nathan Baker.
apbs/tools/manip/inputgen.py
Generate an APBS input file from PQR format data using "suggested" parameters. Written by Todd Dolinsky and Nathan Baker.
tools/manip/asynchronize.sh
Convert a mg-para calculation into a set of async calculations. This allows you to decouple a parallel calculation into a series of sequential calcualtions to be performed on a single processor. Written by Todd Dolinsky and Nathan Baker.
tools/mesh/mgmesh
List acceptable grid dimensions/multigrid levels combinations for mg-manual calculations. Written by Nathan Baker
The following tools perform typical analyses of the output data, usually in OpenDX format. These scripts are not meant to be comprehensive; instead, they provide templates for users to generate their own tools.
tools/mesh/uhbd_asc2bin
Converts UHBD-format grid files from ASCII to binary. Contributed by Dave Sept.
tools/mesh/dx2mol
Converts OpenDX format data to MOLMOL format. Contributed by Jung-Hsin Lin.
tools/mesh/mergedx
Merge OpenDX format data from several domains (e.g., from a mg-para calculation into a single file. Contributed by Steve Bond.
tools/mesh/smooth
Apply a very inefficient Gaussian filter to OpenDX format data from APBS. Written by Nathan Baker.
This section describes the data visualization tools provided with APBS. A more complete discussion of the various ways to visualize APBS output is presented in the Visualization section of this manual.
tools/visualization/vmd
This directory contains scripts which facilitate the visualization of APBS data with VMD.
NOTE: As described in the Visualization section, a much more elegant interface has been developed for APBS and is available from the VMD plugins page.
The version distributed with APBS was written by Nathan Baker and Dave Sept based on example Tcl scripts by John Stone. The file loadstuff.vmd is the command file to be modified to the users' tastes and loaded into VMD. The file read_dx contains the Tcl functions needed to read the APBS output.
tools/visualization/opendx
This directory contains the OpenDX program files (*.net) required to visualize APBS data with OpenDX. In particular, one can visualize single-file potential isocontours (pot.*), single-file potential data mapped onto molecular surfaces (potacc.*), or multiple-file potential data (multipot.*).
We provide a simple program (tools/manip/acc) which calculates molecular volumes, surface areas, and other surface-based properties from PQR-format structural data. Such calculations are often used to determine apolar solvation contributions to binding events, etc. This program has a number of options which can be viewed by running acc with no arguments.
These utilities are provided for occasional use and are definitely not optimized for speed.
NOTE: Many of these tools will be incorporated into the main APBS executable during upcoming releases!
The program tools/manip/coulomb calculates vacuum Coulomb law energies from a PQR file. It has a number of options which can be viewed by running the coulomb program with no arguments.
tools/arpack/driver
If APBS is linked with ARPACK (see configure --help), this routine will perform eigenvalue analyses of matrices produced by APBS.
There are a number of example Python tools and wrappers provided in the tools/python directory. These tools all make use of the APBS SWIG wrappers developed by Todd Dolinsky, Nathan Baker, Alex Gillet, and Michel Sanner. The SWIG wrappers are compiled by default during normal installation. The Python scripts which link to the wrappers (and thereby illustrate their use) include:
tools/python/main.py
Drop-in replacement for main APBS executable. Only permits sequential runs.
tools/python/vgrid/
Python wrappers for Vgrid class to allow OpenDX format file I/O in Python scripts