Skip to content

Program for running end point free energy calculations on protein-ligand complexes using AMBER and its associated MMPBSA.py program. Requires only a protein and ligand structure as input.

daojiaoxiehui/PythonMMGBSA

 
 

Repository files navigation

This program will calculate binding free energies for protein-ligand complexes using 
the end-state MMGBSA free energy method, and includes a ligand strain penalty.

These programs require python >=v.2.7, and numpy >=v.1.8.1 and scipy >= v.0.14
libraries, as well as the MMPBSA.py program suite from this paper:

Miller III, B. R., McGee Jr., T. D., Swails, J. M. Homeyer, N. Gohlke, H. and
Roitberg, A. E. J. Chem. Theory Comput., 2012, 8 (9) pp 3314--3321

To use the program you just need to set this python distribution directoy and Amber14 in your path:
For BASH:
export AMBERHOME=/common/compchem/src/amber14/
export PATH = /home/mlawrenz/mpich-3.1.2-build/bin/:$PATH
export PATH= /common/compchem/src/amber14/bin:${PATH}
export PATH= /common/compchem/anaconda/bin/:${PATH}
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/common/compchem/src/amber14/lib

For CSH:
set path = ( /home/mlawrenz/mpich-3.1.2-build/bin/ $path)
set path = ( /common/compchem/anaconda/bin/ $path)
set path = ( /common/compchem/src/amber14/bin/ $path)
setenv AMBERHOME /common/compchem/src/amber14/
*make sure this overrides any existing AMBER installations (modeling.cshrc has
amber7)
# make sure mpich-3.1.2 comes before anaconda directory in path, because
# anaconda python comes with a mpirun that is not compatible with AMBER


The main run script has a help menu callable by:
RunMMGBSA.py -h


This script runs through 6 main modules for the free energy calculation
workflow:

    mol=PythonMMGBSA.ambermol(args) # mol object is initialized with input
    mol.run_antechamber() # generates ligand AMBER parameters 
    mol.run_leap() # builds complete (solvated) complex topology file
    mol.run_cpx_simulation() # runs minimization or MD simulation
    mol.run_ligand_strain() # computes ligand strain energy
    mol.run_mmgbsa(complex=True) # computes MMGBSA free energy of binding
    mol.print_table() # prints results.tbl in the output directory 

If any step fails, you can check the .err file for detailed error output. You
can also skip any of these steps by copying RunMMGBSA.py and customizing it with commented 
out steps. Each step does depend on standard names and formats for files.

The script will print 3 directories per ligand, an antechamber-output (contains
ligand-specific parameters, a leap-output (contains simulation topology and
coordinate files), and the $jobname-directory with a prefix that you feed in,
with appended details of the simulation, i.e. complex1-explicit-gb1-md (explicit solvent, gb=1 model in AMBER, and MD)

The scripts requires a jobname, protein and ligand files (make sure these
correspond to the predicted or experimental bound state and that the ligand
residue is named MOL), and the netcharge of the ligand for the AM1-BCC charge
calculation method. 

The default option will run an explicit solvent minimization with gb=1 (see
AMBER manual) used for the free energy calculation.

**The script does not automatically launch LSF jobs** 
You must submit these yourself,
with the required computing resources specified to LSF.
An example submission script is 
/common/compchem/mlawrenz/PythonMMGBSA/example-submission-script.sh

About

Program for running end point free energy calculations on protein-ligand complexes using AMBER and its associated MMPBSA.py program. Requires only a protein and ligand structure as input.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.4%
  • Shell 0.6%