This is a read-only mirror of pymolwiki.org

Difference between revisions of "APBS"

From PyMOL Wiki
Jump to navigation Jump to search
(6 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
[http://apbs.sourceforge.net APBS], the Adaptive Poisson-Boltzmann Solver, is a [http://www.oreilly.com/openbook/freedom/ freely] available macromolecular electrostatics calculation program released under the [http://www.gnu.org/copyleft/gpl.html GPL]. It is a cost-effective but uncompromised alternative to [http://trantor.bioc.columbia.edu/grasp/ GRASP], and it can be used within pymol.  Pymol can display the results of the calculations as an electrostatic potential molecular surface.
 
[http://apbs.sourceforge.net APBS], the Adaptive Poisson-Boltzmann Solver, is a [http://www.oreilly.com/openbook/freedom/ freely] available macromolecular electrostatics calculation program released under the [http://www.gnu.org/copyleft/gpl.html GPL]. It is a cost-effective but uncompromised alternative to [http://trantor.bioc.columbia.edu/grasp/ GRASP], and it can be used within pymol.  Pymol can display the results of the calculations as an electrostatic potential molecular surface.
  
PyMol currently supports the '''APBS plugin''' written by Michael Lerner. This plugin makes it possible to run APBS from within PyMOL, and then display the results as a color-coded electrostatic surface (units k<sub>b</sub>T/e<sub>c</sub>) in the molecular display window (as with the image to the right).  See [http://www-personal.umich.edu/~mlerner/PyMOL/ Michael Lerner's Page] for more details, including instructions on how to download, install and use the plugin.
+
PyMol currently supports the '''APBS plugin''' written by Michael Lerner. This plugin makes it possible to run APBS from within PyMOL, and then display the results as a color-coded electrostatic surface (units k<sub>b</sub>T/e<sub>c</sub>) in the molecular display window (as with the image to the right).  See [http://apbs.wustl.edu/MediaWiki/index.php/APBS_electrostatics_in_PyMOL the APBS wiki] for more details, including instructions on how to download, install and use the plugin.
  
 
'''Nucleic acids may prove problematic for the apbs plugin.''' If so, use the [http://pdb2pqr.sourceforge.net/ pdb2pqr] command-line tool to create a pqr file manually, instead of using the plugin to generate it. Then direct the APBS GUI on the [http://www-personal.umich.edu/~mlerner/PyMOL/images/main.png main menu] to read the pqr file you '''externally generated.'''
 
'''Nucleic acids may prove problematic for the apbs plugin.''' If so, use the [http://pdb2pqr.sourceforge.net/ pdb2pqr] command-line tool to create a pqr file manually, instead of using the plugin to generate it. Then direct the APBS GUI on the [http://www-personal.umich.edu/~mlerner/PyMOL/images/main.png main menu] to read the pqr file you '''externally generated.'''
Line 15: Line 15:
 
#Second, if you don't already have the [http://fink.sourceforge.net fink package management system], now is a good time to get it. Here is a [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/Quick_Start quick-start set of instructions] for getting X-windows, compilers, and fink all installed.  
 
#Second, if you don't already have the [http://fink.sourceforge.net fink package management system], now is a good time to get it. Here is a [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/Quick_Start quick-start set of instructions] for getting X-windows, compilers, and fink all installed.  
 
#Once you are up and going, [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/How_to_Activate_the_Unstable_Branch activate the unstable branch in fink], and then issue the commands
 
#Once you are up and going, [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/How_to_Activate_the_Unstable_Branch activate the unstable branch in fink], and then issue the commands
 
+
<source lang="bash">
fink self-update
+
fink self-update
fink install apbs
+
fink install apbs
 
+
</source>
 
or if you want to use the multi-processor version, issue
 
or if you want to use the multi-processor version, issue
 
+
<source lang="bash">
fink self-update
+
fink self-update
fink install apbs
+
fink install apbs
 
+
</source>
 
Then install the X-windows based version of pymol using the command
 
Then install the X-windows based version of pymol using the command
 
+
<source lang="bash">
fink install pymol-py25
+
fink install pymol-py25
 
+
</source>
 
Note that the fink version of pymol '''already has''' the latest version of the APBS plugin.  You are set to go!
 
Note that the fink version of pymol '''already has''' the latest version of the APBS plugin.  You are set to go!
  
 
Further details, as well as screen shots, are given [http://www.pymolwiki.org/index.php/MAC_Install#Install_APBS_and_friends_with_fink elsewhere in this wiki].
 
Further details, as well as screen shots, are given [http://www.pymolwiki.org/index.php/MAC_Install#Install_APBS_and_friends_with_fink elsewhere in this wiki].
 
----
 
  
 
===Installing the Dependencies on Linux===
 
===Installing the Dependencies on Linux===
Line 43: Line 41:
 
MALOC = http://www.fetk.org/codes/maloc/index.html#download (currently 0.1-2)<BR>
 
MALOC = http://www.fetk.org/codes/maloc/index.html#download (currently 0.1-2)<BR>
 
<LI>Set up some environment variables & directories (temporary for building)
 
<LI>Set up some environment variables & directories (temporary for building)
<pre>
+
<source lang="bash">
 
$ export FETK_SRC=/<building directory>/temp_apbs
 
$ export FETK_SRC=/<building directory>/temp_apbs
 
$ export FETK_PREFIX=/usr/local/apbs-0.4.0  (or wherever you want it to live)
 
$ export FETK_PREFIX=/usr/local/apbs-0.4.0  (or wherever you want it to live)
Line 49: Line 47:
 
$ export FETK_LIBRARY=${FETK_PREFIX}/lib
 
$ export FETK_LIBRARY=${FETK_PREFIX}/lib
 
$ mkdir -p ${FETK_SRC} ${FETK_INCLUDE} ${FETK_LIBRARY}
 
$ mkdir -p ${FETK_SRC} ${FETK_INCLUDE} ${FETK_LIBRARY}
</pre></LI>
+
</source></LI>
 
<LI>Unpack the source packages
 
<LI>Unpack the source packages
<pre>
+
<source lang="bash">
 
$ cd ${FETK_SRC}
 
$ cd ${FETK_SRC}
 
$ gzip -dc maloc-0.1-2.tar.gz | tar xvf -
 
$ gzip -dc maloc-0.1-2.tar.gz | tar xvf -
$ gzip -dc apbs-0.4.0.tar.gz | tar xvf -</pre>
+
$ gzip -dc apbs-0.4.0.tar.gz | tar xvf -
 +
</source>
 
</LI>
 
</LI>
 
<LI>Compile MALOC
 
<LI>Compile MALOC
<pre>
+
<source lang="bash">
 
$ cd ${FETK_SRC}/maloc
 
$ cd ${FETK_SRC}/maloc
$ ./configure --prefix=${FETK_PREFIX}</pre>
+
$ ./configure --prefix=${FETK_PREFIX}</source>
 
If everything went well, then
 
If everything went well, then
<pre>$ make; make install</pre></LI>
+
<source lang="bash">
 +
$ make; make install</source></LI>
 
<LI>Go get a coffee. Compilation/installation takes about 15 minutes on a 3GHz computer with 1GB of RAM.</LI>
 
<LI>Go get a coffee. Compilation/installation takes about 15 minutes on a 3GHz computer with 1GB of RAM.</LI>
 
<LI>Now on to compiling APBS itself
 
<LI>Now on to compiling APBS itself
<pre>
+
<source lang="bash">
 
$ cd ${FETK_SRC}/apbs-0.4.0
 
$ cd ${FETK_SRC}/apbs-0.4.0
$ ./configure --prefix=${FETK_PREFIX}</pre>
+
$ ./configure --prefix=${FETK_PREFIX}</source>
 
If all goes well:
 
If all goes well:
<pre>$ make all; make install</pre></LI>
+
<source lang="bash">
 +
$ make all; make install</source></LI>
 
<LI>No time for coffee. Takes about 5 minutes on that fast computer.</LI>
 
<LI>No time for coffee. Takes about 5 minutes on that fast computer.</LI>
 
<LI> There will now be an APBS binary at
 
<LI> There will now be an APBS binary at
<pre>/usr/local/apbs-0.4.0/bin/i686-intel-linux/apbs</pre></LI>
+
<source lang="bash">/usr/local/apbs-0.4.0/bin/i686-intel-linux/apbs</source></LI>
 
<LI> Make appropriate links
 
<LI> Make appropriate links
<pre>
+
<source lang="bash">
 
$ ln -s /usr/local/apbs-0.4.0/bin/i686-intel-linux/apbs /usr/local/bin/apbs
 
$ ln -s /usr/local/apbs-0.4.0/bin/i686-intel-linux/apbs /usr/local/bin/apbs
</pre></LI>
+
</source></LI>
 
<LI> Get rid of /<building directory dir>/temp_apbs
 
<LI> Get rid of /<building directory dir>/temp_apbs
 
<LI> Open PyMOL and make sure that the APBS plugin points to /usr/local/bin/apbs
 
<LI> Open PyMOL and make sure that the APBS plugin points to /usr/local/bin/apbs
Line 89: Line 90:
  
 
For ubuntu and other debian linux distributions, probably the simplest thing is to download a promising looking rpm, convert it with the program [http://kitenet.net/programs/alien/ alien], and then install the [http://xanana.ucsc.edu/linux newly generated debian package] with the command
 
For ubuntu and other debian linux distributions, probably the simplest thing is to download a promising looking rpm, convert it with the program [http://kitenet.net/programs/alien/ alien], and then install the [http://xanana.ucsc.edu/linux newly generated debian package] with the command
 
+
<source lang="bash">
sudo dpkg -i apbs*.deb
+
sudo dpkg -i apbs*.deb
 +
</source>
  
 
=====Gentoo=====
 
=====Gentoo=====
  
 
You have to install apbs and pdb2pqr. Both are masked via keywords atm. Type as root:
 
You have to install apbs and pdb2pqr. Both are masked via keywords atm. Type as root:
 +
<source lang="bash">
 +
echo sci-chemistry/pdb2pqr >> /etc/portage/package.keywords
 +
echo sci-chemistry/apbs >> /etc/portage/package.keywords
 +
emerge -av sci-chemistry/apbs sci-chemistry/pdb2pqr
 +
</source>
  
echo sci-chemistry/pdb2pqr >> /etc/portage/package.keywords
+
== Troubleshooting ==
 
+
* If the B-factor is <math>\geq 100,</math> then APBS doesn't properly read in the PDB file and thus outputs garbage (or dies).  To fix this, set all b factors to be less than 100. <source lang="python">alter all, b=min(b,99.9)</source>  The problem stems from how to parse a PDB file.  The PDB file originally was written when most people used FORTRAN programs, and so the file format was specified by columns, not by the more modern comma separated value format we tend to prefer todayFor the latest on the PDB format see the [http://www.wwpdb.org/docs.html new PDB format docs].
  echo sci-chemistry/apbs >> /etc/portage/package.keywords
+
* APBS has problems, sometimes, in reading atoms with alternate conformations. You can remove the alternate locations with a simple script [[removeAlt]].
 
+
* ObjectMapLoadDXFile-Error: as of this writing (9-23-2008) a known problem exists, and the Baker lab is working on it.
  emerge -av sci-chemistry/apbs sci-chemistry/pdb2pqr
 
 
 
----
 
  
 
==Further contributions and edits are needed.==
 
==Further contributions and edits are needed.==

Revision as of 18:58, 1 April 2009

Introduction

APBS-generated electrostatic surface displayed in PyMOL

APBS, the Adaptive Poisson-Boltzmann Solver, is a freely available macromolecular electrostatics calculation program released under the GPL. It is a cost-effective but uncompromised alternative to GRASP, and it can be used within pymol. Pymol can display the results of the calculations as an electrostatic potential molecular surface.

PyMol currently supports the APBS plugin written by Michael Lerner. This plugin makes it possible to run APBS from within PyMOL, and then display the results as a color-coded electrostatic surface (units kbT/ec) in the molecular display window (as with the image to the right). See the APBS wiki for more details, including instructions on how to download, install and use the plugin.

Nucleic acids may prove problematic for the apbs plugin. If so, use the pdb2pqr command-line tool to create a pqr file manually, instead of using the plugin to generate it. Then direct the APBS GUI on the main menu to read the pqr file you externally generated.

Required Dependencies

APBS and its dependencies like pdb2pqr and maloc are freely available under the GPL. The author of the software however asks that users register with him to aid him in obtaining grant funding.


Installing the Dependencies on OS X

  1. First, register your use of the software. This will keep everyone happy.
  2. Second, if you don't already have the fink package management system, now is a good time to get it. Here is a quick-start set of instructions for getting X-windows, compilers, and fink all installed.
  3. Once you are up and going, activate the unstable branch in fink, and then issue the commands
fink self-update
fink install apbs

or if you want to use the multi-processor version, issue

fink self-update
fink install apbs

Then install the X-windows based version of pymol using the command

fink install pymol-py25

Note that the fink version of pymol already has the latest version of the APBS plugin. You are set to go!

Further details, as well as screen shots, are given elsewhere in this wiki.

Installing the Dependencies on Linux

From Scratch

Note that this tutorial assumes you're using the bash shell and have root privileges

  1. Obtain APBS and MALOC from...
    APBS = http://apbs.sourceforge.net (currently 0.4)
    MALOC = http://www.fetk.org/codes/maloc/index.html#download (currently 0.1-2)
  2. Set up some environment variables & directories (temporary for building)
    $ export FETK_SRC=/<building directory>/temp_apbs
    $ export FETK_PREFIX=/usr/local/apbs-0.4.0  (or wherever you want it to live)
    $ export FETK_INCLUDE=${FETK_PREFIX}/include
    $ export FETK_LIBRARY=${FETK_PREFIX}/lib
    $ mkdir -p ${FETK_SRC} ${FETK_INCLUDE} ${FETK_LIBRARY}
    
  3. Unpack the source packages
    $ cd ${FETK_SRC}
    $ gzip -dc maloc-0.1-2.tar.gz | tar xvf -
    $ gzip -dc apbs-0.4.0.tar.gz | tar xvf -
    
  4. Compile MALOC
    $ cd ${FETK_SRC}/maloc
    $ ./configure --prefix=${FETK_PREFIX}
    

    If everything went well, then

    $ make; make install
    
  5. Go get a coffee. Compilation/installation takes about 15 minutes on a 3GHz computer with 1GB of RAM.
  6. Now on to compiling APBS itself
    $ cd ${FETK_SRC}/apbs-0.4.0
    $ ./configure --prefix=${FETK_PREFIX}
    

    If all goes well:

    $ make all; make install
    
  7. No time for coffee. Takes about 5 minutes on that fast computer.
  8. There will now be an APBS binary at
    /usr/local/apbs-0.4.0/bin/i686-intel-linux/apbs
    
  9. Make appropriate links
    $ ln -s /usr/local/apbs-0.4.0/bin/i686-intel-linux/apbs /usr/local/bin/apbs
    
  10. Get rid of /<building directory dir>/temp_apbs
  11. Open PyMOL and make sure that the APBS plugin points to /usr/local/bin/apbs
  12. Rock and or Roll.

Pre-Packaged

RPMs

A variety of RPMs are available from the APBS downloads website. Again, please register your use of the software if you have not yet done so.

Debian packages

For ubuntu and other debian linux distributions, probably the simplest thing is to download a promising looking rpm, convert it with the program alien, and then install the newly generated debian package with the command

sudo dpkg -i apbs*.deb
Gentoo

You have to install apbs and pdb2pqr. Both are masked via keywords atm. Type as root:

echo sci-chemistry/pdb2pqr >> /etc/portage/package.keywords
echo sci-chemistry/apbs >> /etc/portage/package.keywords
emerge -av sci-chemistry/apbs sci-chemistry/pdb2pqr

Troubleshooting

  • If the B-factor is <math>\geq 100,</math> then APBS doesn't properly read in the PDB file and thus outputs garbage (or dies). To fix this, set all b factors to be less than 100.
    alter all, b=min(b,99.9)
    
    The problem stems from how to parse a PDB file. The PDB file originally was written when most people used FORTRAN programs, and so the file format was specified by columns, not by the more modern comma separated value format we tend to prefer today. For the latest on the PDB format see the new PDB format docs.
  • APBS has problems, sometimes, in reading atoms with alternate conformations. You can remove the alternate locations with a simple script removeAlt.
  • ObjectMapLoadDXFile-Error: as of this writing (9-23-2008) a known problem exists, and the Baker lab is working on it.

Further contributions and edits are needed.