SkillAgentSearch skills...

PythonMMGBSA

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.

Install / Use

/learn @mlawrenz/PythonMMGBSA
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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

Related Skills

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated6mo ago
Forks4

Languages

Python

Security Score

62/100

Audited on Sep 13, 2025

No findings