Ammm:Ff gau grom prdrug

From biowiki
Jump to navigation Jump to search

Introduction

When do we need to create parameters?

  • System size is too large for QM and
  • Molecule has not been parameterized for the force field being used or
  • Molecular environment or conformation is substantially different

Overview of parameterization:

Quantum Mechanics (QM)

  • Optimized (a.k.a. minimum energy) geometry search
  • Single point calculation to fit the electrostatic potential
  • Torsion energy profile to calculate torsion energy term

Validation of Molecular Mechanics (MM) model

  • Optimized structure comparison (to check for errors)
  • Comparison to experimental observables (to assess quality of model) such as:
    • density
    • radial distribution function
    • melting temperature
    • conformation, solvation energy, etc.

Gaussian Overview

Gaussian 09 Online Manual

Gaussian is a well-developed quantum mechanics (QM) software package with a wide range of features. The software is not free, however, so if you require a free software distribution GAMESS is one alternative.

Input

All input parameters, atoms, and coordinates are given in the COM File, which have 5 sections:[1]

  • "Link 0" Commands
  • Route section (blank line terminated)
  • Title section (blank line terminated)
  • Molecule specification (blank line terminated)
  • Optional additional statements

Example:

%NoSave
%chk=PYC1mer3.chk
%Mem=400MB
%Nproc=2

# HF/6-31G** Opt Pop=ChelpG

Title Section

0 2
C 1.166043 -0.148206 -0.552387
C 0.225157 -1.168482 -0.483464
N -1.033322 -0.561634 -0.411853
C -0.887040  0.829496 -0.436250
C 0.474401  1.094278 -0.523043
H 2.243332 -0.273241 -0.617421
H 0.375213 -2.246760 -0.480835
H -1.724118  1.524316 -0.392990
H 0.935360  2.077302 -0.562253
H -1.893240 -1.042210 -0.355061
Cl 0.083843  0.014677  1.015435

The first two numbers in the Molecule specification section (e.g. "0 2") are the net charge and spin multiplicity of the system. The Gaussian website has good descriptions of all the keywords and various options.

If you are converting your molecular coordinates from another filetype, Open Babel can convert between Gaussian and other filetypes like PDB. Practical considerations such as memory allocations, processors, disk space usage, scratch file directory, etc. will vary between system setups. It is worthwhile to test out a few different options on your system to find the optimal settings if you will be doing lots of QM calculations.

Output

Gaussian keeps a checkpoint file in the binary CHK format, and text output is held in a LOG file. You may visualize the CHK file by converting it to an FCHK ("formatted checkpoint") file using the "formchk" built-in commnad. GaussView and gOpenMol are two visualization packages among many that support fchk files.

Example LOG file snippits:


... skipping ...
Breneman (CHELPG) radii used.
Generate Potential Derived Charges using the Breneman model, NDens= 1.
Grid spacing= 0.300 Box extension= 2.800
NStep X,Y,Z=   34     35     26   Total possible points=       30940
Number of Points to Fit=    8561

**********************************************************************

           Electrostatic Properties Using The SCF Density

**********************************************************************

      Atomic Center    1 is at   1.166043 -0.148206 -0.552387
... skipping ...
      Atomic Center   10 is at  -1.893240 -1.042210 -0.355061
      Atomic Center   11 is at   0.083843  0.014677  1.015435
   8561 points will be used for fitting atomic charges
Fitting point charges to eletrostatic potential
Charges from ESP fit, RMS=   0.00279 RRMS=   0.21577:
Charge=   0.00000 Dipole=    -0.5792    -0.4886    -1.8898 Tot=     2.0360
             1
    1  C   -0.019083
    2  C   -0.078198
    3  N   -0.194869
    4  C   -0.099409
    5  C   -0.037277
    6  H    0.096809
    7  H    0.133066
    8  H    0.133803
    9  H    0.092851
   10  H    0.239509
   11  Cl  -0.267201
-----------------------------------------------------------------
 ... skipping ...

-----------------------------------------------------------------
1\1\GINC-BME-NOVA\SP\UHF\STO-3G\C4H5Cl1N1(2)\JOHNFONNER\16-Feb-2007\0\
\# POP=CHELPG\\PYC1mer\\0,2\C,0,0.008576,1.177221,-0.006596\C,0,1.1383
94,0.368298,0.005025\N,0,0.693173,-0.957942,0.010301\C,0,-0.705552,-0.
984838,0.00126\C,0,-1.13812,0.335747,-0.008954\H,0,-0.001718,2.263623,
-0.012784\H,0,2.189699,0.651029,0.010302\H,0,-1.29065,-1.902992,0.0019
22\H,0,-2.171113,0.672212,-0.017564\H,0,1.27731,-1.753163,0.017088\Cl,
0,0.,0.,1.5\\Version=IA32L-G03RevC.02\State=2-A\HF=-660.1236865\S2=0.7
9721\S2-1=0.\S2A=0.750729\RMSD=6.593e-04\Dipole=0.2119298,-0.1685267,-
0.7346684\PG=C01 [X(C4H5Cl1N1)]\\@


Some scientists claim that hydrogen, because it is so
plentiful, is the basic building block of the universe. 
I dispute that. I say that stupidity is far more
abundant than hydrogen, and THAT is the basic building 
block of the universe.
                  --Frank Zappa
Job cpu time:  0 days  0 hours  0 minutes  6.2 seconds.
File lengths (MBytes):  RWF=     11 Int=      0 D2E=      0 Chk=      7 Scr=      1
Normal termination of Gaussian 03 at Fri Feb 16 12:30:21 2007.

Gromacs Overview


When using custom parameters in Gromacs, there are two ways modify parameters:

  • Modify the PRM file for the force field of choice and create a matching PDB file with atom coordinates
(This option is probably the best choice when you plan to run simulations starting from multiple, different starting structures.)
  • Work within Gromacs formats and create a TOP file with a matching GRO file.
(when only changing a few atom properties or when using the exact same atom numbering across simulations, this may be the simplest solution)


PDF File format:

"ATOM or HETATM" [atom #] [atom name] [residue name] [molecule # (1 char)] [residue #] [coordinates] [occupancy] [temperature factor]

ATOM      1  HTM PYB 0   1      22.240   0.400  17.720  1.00  0.00     
ATOM      2  CC1 PT1 0   2      22.930   2.490  17.860  1.00  0.00     
ATOM      3  CN1 PT1 0   2      22.590   1.240  18.290  1.00  0.00     
ATOM      4  N   PT1 0   2      22.210   1.320  19.600  1.00  0.00     
ATOM      5  CN2 PT1 0   2      22.700   2.500  20.100  1.00  0.00     
ATOM      6  CC2 PT1 0   2      23.130   3.260  19.050  1.00  0.00     
ATOM      7  HC1 PT1 0   2      22.990   2.880  16.870  1.00  0.00     
ATOM      8  HC2 PT1 0   2      23.450   4.280  19.120  1.00  0.00     
ATOM      9  HN  PT1 0   2      21.690   0.680  20.150  1.00  0.00     
ATOM     10  CC1 PYC 0   3      21.590   2.630  22.400  1.00  0.00     
ATOM     11  CN1 PYC 0   3      22.580   2.870  21.500  1.00  0.00     
ATOM     12  N   PYC 0   3      23.580   3.560  22.140  1.00  0.00     
...skipping...
ATOM   6075  CC2 PYU ^ 865      73.223  72.090  20.960  1.00  0.00     
ATOM   6076  HC1 PYU ^ 865      71.423  70.840  20.930  1.00  0.00     
ATOM   6077  HC2 PYU ^ 865      73.093  72.910  20.270  1.00  0.00     
ATOM   6078  HN  PYU ^ 865      75.053  70.390  22.870  1.00  0.00     
ATOM   6079  HTM PYE ^ 866      75.283  72.580  21.670  1.00  0.00     
TER
ENDMDL

Residue names must match the Gromacs parameter files for the force field you are using (more on this below!). Atom names within each residue must be unique and must match the parameter files. Gromacs connects residues based on their order in the PDB file, so keep everything sequential. If any atoms or parameters are missing grompp should give an error message (or atleast a warning).

Gromacs Parameter Files

Gromacs stores all of its parameter files in a /top/ directory. This directory contains several files for each supported force field. For example, taking a look at the OPLSAA force field, we find the following files:

ffoplsaa-n.tdb
ffoplsaa.atp
ffoplsaa.ddb
ffoplsaa.hdb
ffoplsaa.itp
ffoplsaa.n2t
ffoplsaa.rtp
ffoplsaabon.itp
ffoplsaanb.itp

Each of the files hold different parameters, some of which overlap. It can be confusing what the best way is to add a new molecule or building block. When changing these files for your molecule, I recommend changing a few things, running grompp, and checking the topol.top file to see if your changes worked. The filetypes are the following:

  • ATP - Atom Type Parameters - contains atom types and their mass
  • ITP - Interaction Parameters - contains bonded parameters (*bon.itp) and non-bonded parameters (*nb.itp) for all commonly used molecules. New parameters may be added here or to an RTP file. The Gromacs manual recommends putting new molecules either in these ITP files or to create a new molecule.itp file.
  • RTP - Residue Database - contains charge, charge groups, bonds, angles, and dihedrals for building blocks such as amino acids. The Gromacs manual recommends putting new building blocks or amino acids in this file.
  • HDB - Hydrogen Database - tells gromacs where to add hydrogens for amino acids
  • TDB - Terminal Database - used by Gromacs to put capping groups at the N- or C-terminal of a protein
  • DDB - Dummy types Database - I have never used it, but it contains dummy atom specifications

To talk about some caveats associated with adding parameters, let's look at an example.

Example Parameters

The following is an excerpt of parameters I have added to ffoplsaa.rtp:


[ PYU ]
 [ atoms ]
; opls types are given in ffoplsaa.atp file
; name    number      charge    charge_group
 CC1     opls_544    -0.215    1
 CN1     opls_543     0.107    1
   N     opls_542    -0.386    1
 CN2     opls_543     0.107    1
 CC2     opls_544    -0.215    1
 HC1     opls_547     0.141    1
 HC2     opls_547     0.141    1
  HN     opls_545     0.320    1
 
[ bonds ]
; atom1   atom2    b0         kb
   N     HN       .09937     363171
   N     CN1      .13657     282001
   N     CN2      .13657     282001
 CN1     CC1      .13644     392459
 CN2     CC2      .13644     392459
 CC1     CC2      .14223     392459
 CC1     HC1      .10715     307105
 CC2     HC2      .10715     307105
-CN2     CN1      .14567     392459  ;bond to previous monomer unit

 [ angles ]
; atom1 atom2 atom3    th0        cth
 HC1   CC1   CN1      125.93     292.88
 HC1   CC1   CC2      126.54     292.88
 HC2   CC2   CN2      125.93     292.88
 HC2   CC2   CC1      126.54     292.88
 HN    N     CN1      124.42     317.98
 HN    N     CN2      124.42     317.98
 N     CN1  -CN2      121.34     527.18
 N     CN2  +CN1      121.34     527.18
 N     CN1   CC1      107.49     527.18
 N     CN2   CC2      107.49     527.18
 CN1   N     CN2      110.12     527.18
-CN2   CN1   CC1      131.17     527.18
 CN1  -CN2  -CC2      131.17     527.18
 CN1   CC1   CC2      107.44     527.18
 CN2   CC2   CC1      107.44     527.18

 [ dihedrals ]
; atom1 atom2 atom3 atom4
 HC1   CC1   CC2   HC2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 HC1   CC1   CC2   CN2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 CN1   CC1   CC2   HC2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 CN1   CC1   CC2   CN2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 

 HC1   CC1   CN1  -CN2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 HC1   CC1   CN1   N      dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 CC2   CC1   CN1  -CN2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 CC2   CC1   CN1   N      dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 

 HN    N     CN1  -CN2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0
 HN    N     CN1   CC1    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0
 CN2   N     CN1  -CN2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0
 CN2   N     CN1   CC1    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
      
-HN   -N    -CN2   CN1    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 HN    N     CN2   CC2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
-CN1  -N    -CN2   CN1    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 CN1   N     CN2   CC2    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
 
 HC2   CC2   CN2   N      dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
-HC2  -CC2  -CN2   CN1    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0
 CC1   CC2   CN2   N      dih_PYU_ring   ; 30.33  0  -30.33  0  0  0 
-CC1  -CC2  -CN2   CN1    dih_PYU_ring   ; 30.33  0  -30.33  0  0  0
  
 N     CN1  -CN2  -N      dih_PYU_backbone  
 N     CN1  -CN2  -CC2    dih_PYU_backbone_trans  
 CC1   CN1  -CN2  -N      dih_PYU_backbone_trans  
 CC1   CN1  -CN2  -CC2    dih_PYU_backbone  

 [ impropers ]
; atom1  atom2  atom3  atom4  q0  cq
; N     HN    CN1   CN2     improper_Z_CA_X_Y
; CN1   N     CC1  -CN2     improper_Z_CA_X_Y
;-CN2  -N    -CC2   CN1     improper_Z_CA_X_Y
; CC1   CN1   CC2   HC1     improper_Z_CA_X_Y
; CC2   CN2   CC1   HC2     improper_Z_CA_X_Y

; CN1   CN2   CC1   CC2     improper_Z_CA_X_Y

Notes on parameters:

  • Gromacs uses different units that some other software packages
Parameter Units
bond length nm
bond force constant kJ/mol/nm^2
angle & dihedral force constants kJ/mol/rad^2
  • Dihedral Angles are expressed as a Ryckaert-Belleman function rather than a Fourier series.

To convert from a Fourier series:

To a RB function: Use the following equations:






  • When connecting building blocks, use "-" to define the connection to the previous block and use "+" only when there is no other way. Be careful not to define the same parameter twice, but if you do, expect an error/warning message.
  • The RTP file has a short character limit when defining dihedral angles, so it is easiest to #define the angle in the *bon.itp file and reference it in the rtp file. For example, the "dih_PYU_ring" dihedral parameter referenced above looks like this in the *bon.itp file.
#define dih_PYU_ring                        30.33400   0.00000 -30.33400   0.00000   0.00000   0.00000

Prdrug Server Overview

The Dundee PRODRG Server

PRODRG Frequently Asked Questions

Case Study

We decided to create parameters for polypyrrole (PPy), an amorphous, semiconducting polymer that is "doped" with anions to improve conductivity. Our goal is to simulate peptide interactions on the surface of a polypyrrole mesh. To streamline the explanation of the process we used, I will only talk about undoped PPy rather than doped PPy.

Initial Decision Making

  • We estimate our final system size to be on the order of 100,000 atoms, so we chose to use a fixed charge model to lower computational cost.
  • Since we planned on performing liquid simulations of proteins, we chose to integrate our parameters into the OPLSAA set (Optimized Parameters for Liquid Simulations) by Jorgensen.
  • To fit into this set, we decided to use the HF/6-31G* QM basis set. This basis set overestimates charge in vacuum, but this overestimation more accurately estimates charge for condensed phase materials.
  • Since PPy molecules have different chain lengths and doping arrangements, we need parameters for "building blocks".

QM Parameterization

Charges, Bonds, Angles, VdW

Atomic partial charges the equilibrium values for bonds and angles may all be taken from the minimum energy structure of a molecule. For a building block, however, one should be careful to avoid bias due to "edge effects", and charges must be adjusted to zero to preserve charge neutrality. We did this by simulating small PPy oligomers of 3, 5, and 7 rings in length and looked at the structure of the center ring. Below are the minimum structures of the trimer and pentamer:

Van der Waals terms do not vary significantly for a given atom type, so VdW parameters were borrowed from similar atom types with the OPLSAA force field. The same may be said for the force constants of bonds and angles.

Torsion Profile

The torsion parameter accounts for rigidity in the bond along the backbone, and should be calculated for pretty much any new building block that doesn't closely resemble an existing one. Since the torsion parameter is usually the last parameter calculated, it also acts as an error function, so caution must be taken not to hide a poorly parameterized system through a well parameterized torsion term. For my system, I found that by using four units instead of 2 when calculating torsion, it exposed the error from the other terms.

By rotating and restraining the backbone torsion angle in 15 degree increments, we optimized the geometry of the system in Gaussian with the HF/6-31G* basis set and performed a single point energy calculation using the more accurate MP2/6-31(2d,2p) basis set. The resulting energy profile looks like the following:

The torsion energy term is calculated by creating the same torsion profile for the molecular mechanics (MM) model without any torsion parameter. This is then subtracted from the QM torsion profile, and the difference is fit to a Fourier series.

This torsion term is then added back into the model, and final comparisons can be made between QM results and MM results.

MM Validation

Methods for validation will vary significantly according to the material properties and the experimental results that are available/feasible. For all cases that I can think of, the RMSD value for the minimum energy structure is a valid check. The more validations you have the better, and the sooner you can check the better. Density is a good indicator of the quality of a force field, but it can be difficult to obtain. Also, incorrect density values do not elucidate the part of your force field that is causing the error.

Minimum Energy Structure

PyMOL can align two molecules and calculate the RMSD.

RMS: ~0.145 Å

Density Calculations

Density should be calculated using a NPT ensemble at room (or body) temperature and at 1 atmosphere (~1 bar). Notice the temperature and pressure fluctuations below.

File:Final plot.dat.bmp

Notes