1
This directory contains instructions for creating a a moltemplate file
2
("oplsaa.lt") containing force-field definitions relevant to the "Methane"
3
molecule. (However, these instructions should work for other molecules too.)
4
Note that the "SPCE" (water) molecules in this example, do NOT use the OPLSAA
5
database to look up the force-field parameters, so I did not include water
6
atom types in the "oplsaa_subset.prm".
10
First, check and see if there is an "oplsaa_subset.prm" file present.
11
If not, then download this file:
13
http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
14
This file is also available here:
15
http://dasher.wustl.edu/ffe/distribution/params/oplsaa.prm
17
and save this file as "oplsaa_subset.prm". Then you must EDIT THIS FILE
18
so that it only contains atom types you plan to have in your simulation
19
(see below for details). Then run the opls_moltemplate.py script this way:
22
python oplsaa_moltemplate.py oplsaa_subset.prm
25
This will create a file named "oplsaa.lt"
26
Look over the newly created "oplsaa.lt" file.
27
Then move this file to wherever you plan to run moltemplate. For example:
31
----- DETAILS: Editing the "oplsaa_subset.prm" file -------
33
Again, before you run "oplsaa_moltemplate.py", you must edit the "oplsaa.prm"
34
file (or "oplsaa_subset.prm file) and eliminate atom types which do not
35
correspond to any of the atoms in your simulation. This means you must
36
look for lines near the beginning of this file which begin with the word "atom"
37
and refer to atom types which appear in the simulation you plan to run. All
38
other lines (beginning with the word "atom") must be deleted or commented out.
39
(Leave the rest of the file alone.)
42
If you were working with methane, you would delete every line
43
beginning with the word "atom", except for these two lines:
46
atom 83 13 CT "Methane CH4" 6 12.011 4
47
atom 85 46 HC "Alkane H-C" 1 1.008 1
50
Then you are ready to run oplsaa_moltemplate.py on this file.
52
(Note: Atom type numbers, like "83", "85", "46", etc... may vary depending on
53
when you downloaded "oplsaa.prm".)
56
----- Using the "oplsaa.lt" file -----
58
Once you have created the "oplsaa.lt" file, you can create files (like
59
ethylene.lt) which define molecules that refer to these atom types.
60
Here is an excerpt from "methane.lt":
63
Methane inherits OPLSAA {
65
list of atoms goes here ...
67
write('Data Bond List') {
68
list of bonds goes here ...
72
And then run moltemplate.
75
----------- CHARGE: -----------
77
By default, the OPLSAA force-field assigns atom charge according to atom type.
78
When you run moltemplate, it will create a file named "system.in.charges",
79
containing commands like:
81
set type 2 charge -0.42
82
set type 3 charge 0.21
84
(This assumes your main moltemplate file is named "system.lt". If it was
85
named something else, eg "polymer.lt", then the file created by moltemplate
86
will be named "polymer.in.charges".)
88
Include these commands somewhere in your LAMMPS input script
89
(or use the LAMMPS "include" command to load the commands in system.in.charges)
91
Note that the atom numbers (eg "2", "3") in this file will not match the
92
OPLS atom numbers. (Check the output_ttree/ttree_assignments.txt file,
93
created by moltemplate, to see a table of "@atom" type numbers translated
94
from OPLSAA into LAMMPS.)
96
----------- CREDIT -----------
98
If you use these tools and you publish a paper using OPLSAA, please also cite
99
the TINKER program. (Because these examples use the "oplsaa.prm" file which
100
is distributed with TINKER.) I think these are the relevant citations:
102
1) Ponder, J. W., & Richards, F. M. (1987). "An efficient newton‐like method for molecular mechanics energy minimization of large molecules. Journal of Computational Chemistry", 8(7), 1016-1024.
104
2) Ponder, J. W, (2004) "TINKER: Software tools for molecular design", http://dasher.wustl.edu/tinker/
106
-------------------------------
108
Andrew Jewett and Jason Lambert
111
Please email bugs to jewett.aij@gmail.com and jlamber9@gmail.com