Fork me on GitHub

GPU Accelerated Side-Chain Optimization

Amino acid side-chain optimization algorithms that utilize discrete rotamer libraries of optimal side-chain conformations are used to find the global minimum energy conformation of a protein. Under a many-body energy expansion, Force Field X can optimize side-chain conformations up to four-body side-chain interactions. Using this aggressive many-body expansion is computationally expensive; through the use of Graphical Processing Units (GPUs) and the OpenMM software package, Force Field X is capable of computing the energy of side-chain conformations 25x faster than the first implementation of side-chain optimization.

Best Practices Overview

The following example demonstrates global optimization of Chignolin side-chains (PDB 1UAO). The best practices protocol is as follows:

  1. Minimize the model to eliminate obvious steric clashes.
  2. Optimize the model using all-with-rotamer-elimination global optimization. If the protein is large, use the sliding box method approximate global optimization.
  3. Minimize the model to allow rigid rotamer conformations to establish ideal intermolecular contacts.

Minimization of a Short Peptide

To perform a minimization on the peptide, use the command below:

ffxc Minimize 1uao.pdb

Output from the minimization will show each iteration of the algorithm and the resulting energy of the protein model. Pictured below are iterations 76-80 and the energy output. This simulation should take less than one minute of computing time on a standard laptop.

                        76    -242.8328     1.1926     0.3876    0.0032    75.14     77    0.025
                        77    -243.3192     1.3723     0.4864    0.0041    67.24     78    0.027
                        78    -243.7189     1.1017     0.3997    0.0068    75.87     79    0.034
                        79    -243.8713     1.4691     0.1524    0.0028    66.85     80    0.035
                        80    -244.1078     0.8571     0.2365    0.0010    60.08     81    0.031

                        Optimization achieved convergence criteria:  0.85712

                        Computed Potential Energy
                        Bond Stretching          9.04900448          141        0.000 ( 0.01322)
                        Angle Bending           50.63504369          249        0.000 ( 3.54833)
                        Stretch-Bend            -0.39314453          229        0.000
                        Out-of-Plane Bend        4.38249086          108        0.000
                        Torsional Angle          8.76885188          369        0.000
                        Pi-Orbital Torsion       2.77304417           25        0.000
                        Torsion-Torsion         -4.58642973            7        0.000
                        Van der Waals           63.64719498         9063        0.003
                        Atomic Multipoles     -316.37910863         9453
                        Polarization           -62.00472529         9453        0.037
                        Total Potential       -244.10777813  (Kcal/mole)        0.042 (sec)

                        Saving 1uao.pdb_2
                    

The resulting PDB file is automatically saved as 1uao.pdb_2.

Side-Chain Optimization of a Short Peptide Without a GPU

To perform an all-with-rotamer-elimination side-chain optimization on the minimized peptide without use of a GPU, use the command below:

ffxc ManyBody -a 2 -l 2 -x 1 1uao.pdb_2

Output from the ManyBody algorithm will show energy evaluations of self and pair side-chain energies along with a printout overall system energy. The final rotamers and overall energy are shown below. This simulation should take less than one minute of computing time on a standard laptop.

                        Final rotamers:
                        --------------------------------------------------------------------------------------------
                        Residue          |      Chi 1   |     Chi 2   |     Chi 3   |     Chi 4   |     Energy   |
                        --------------------------------------------------------------------------------------------
                        1 A (  2-TYR, 0) |  -172.5  0.0 |   90.2  0.0 |  114.2  0.0 |    0.0  0.0 |     -19.4350 |
                        2 A (  3-ASP, 0) |   176.3  0.0 |    0.0  0.0 |    0.0  0.0 |    0.0  0.0 |     -28.3183 |
                        3 A (  5-GLU, 0) |  -165.5  0.0 |  -84.1  0.0 |   22.3  0.0 |    0.0  0.0 |       9.5233 |
                        4 A (  6-THR, 5) |    62.0  0.0 |  -60.0  0.0 |    0.0  0.0 |    0.0  0.0 |      -8.2411 |
                        5 A (  8-THR,12) |  -175.0  0.0 | -120.0  0.0 |    0.0  0.0 |    0.0  0.0 |      -3.3993 |
                        6 A (  9-TRP, 0) |   -41.5  0.0 |   87.5  0.0 |    0.0  0.0 |    0.0  0.0 |       5.9391 |
                        --------------------------------------------------------------------------------------------

                        Final Minimum Energy

                        Computed Potential Energy
                        Bond Stretching          8.77023477          141        0.000 ( 0.01299)
                        Angle Bending           50.20607206          249        0.000 ( 3.53036)
                        Stretch-Bend            -0.50772738          229        0.000
                        Out-of-Plane Bend        4.40102720          108        0.000
                        Torsional Angle          8.77155306          369        0.000
                        Pi-Orbital Torsion       2.76777372           25        0.000
                        Torsion-Torsion         -4.58901318            7        0.000
                        Van der Waals           71.10186683         9063        0.000
                        Atomic Multipoles     -331.31181960         9453
                        Polarization           -63.51240025         9453        0.012
                        Total Potential       -253.90243277  (Kcal/mole)        0.014 (sec)

                        Saving 1uao.pdb_3
                    

The resulting PDB file is automatically saved as 1uao.pdb_3.

Alternatively, the previous command can be excuted using OpenMM. Please be sure OpenMM is configured by following the instructions here: OpenMM Installation.

ffxc ManyBody -a 2 -l 2 -x 1 1uao.pdb_2 -Dplatform=omm

Optimization of a Deafness Related Protein With a GPU

This next example is based on the deafness related COCH protein. Start by installing OpenMM by following the instructions here: OpenMM Installation. If OpenMM is not installed, the program will run without a GPU. Next, download the coordinate file and rename it to COCH.pdb (PDB COCH). Perform a minimization and a GPU accelerated side-chain optimization by using the commands below:

ffxc Minimize COCH.pdb
ffxc ManyBody -Dplatform=OMM -a 2 -l 2 -tC 1000 -x 1 -p 1 COCH.pdb_2

When using a GPU with the OpenMM platform, energy evaluations on side-chains will occur approximately 25x faster than without a GPU. This simulation should finish within one hour on a GPU. The resulting PDB file is automatically saved as COCH.pdb_3.

A description of all of the flags used in the ManyBody command is below:

Command Description
-a 2 Algorithm using Goldstein Elimination.
-l 2 Richardson rotamer library.
-tC 1000 Cutoff distance for two-body side-chain interactions (1000 Angstroms).
-x 1 Start simulation at first amino acid in protein.
-p 1 Prune side-chain conformations that clash with protein backbone.
-Dplatform=OMM Use OpenMM to run the algorithm on a GPU.