-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path_I0L_allatom_optimized_geometry.lt
250 lines (250 loc) · 15.7 KB
/
_I0L_allatom_optimized_geometry.lt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
#----------------------------TITLE -----------------------------------------------------------------------------------------
# Toluene
#
# This file was generated at 00:25 on 2023-10-20 by
#
# Automatic Topology Builder
#
# REVISION 2023-06-14 20:38:16
#---------------------------------------------------------------------------------------------------------------------------
# Authors : Martin Stroet, Bertrand Caron, Alpeshkumar K. Malde, Thomas Lee, Alan E. Mark
#
# Institute : Molecular Dynamics group,
# School of Chemistry and Molecular Biosciences (SCMB),
# The University of Queensland, QLD 4072, Australia
# URL : https://atb.uq.edu.au
# Citations : 1. Malde AK, Zuo L, Breeze M, Stroet M, Poger D, Nair PC, Oostenbrink C, Mark AE.
# An Automated force field Topology Builder (ATB) and repository: version 1.0.
# Journal of Chemical Theory and Computation, 2011, 7, 4026-4037.
# 2. Stroet M, Caron B, Visscher K, Geerke D, Malde AK, Mark AE.
# Automated Topology Builder version 3.0: Prediction of solvation free enthalpies in water and hexane.
# DOI:10.1021/acs.jctc.8b00768
#
# Disclaimer :
# While every effort has been made to ensure the accuracy and validity of parameters provided below
# the assignment of parameters is being based on an automated procedure combining data provided by a
# given user as well as calculations performed using third party software. They are provided as a guide.
# The authors of the ATB cannot guarantee that the parameters are complete or that the parameters provided
# are appropriate for use in any specific application. Users are advised to treat these parameters with discretion
# and to perform additional validation tests for their specific application if required. Neither the authors
# of the ATB or The University of Queensland except any responsibly for how the parameters may be used.
#
# Release notes and warnings:
# (1) The topology is based on a set of atomic coordinates and other data provided by the user after
# after quantum mechanical optimization of the structure using different levels of theory depending on
# the nature of the molecule.
# (2) In some cases the automatic bond, bond angle and dihedral type assignment is ambiguous.
# In these cases alternative type codes are provided at the end of the line.
# (3) While bonded parameters are taken where possible from the nominated force field non-standard bond, angle and dihedral
# type code may be incorporated in cases where an exact match could not be found. These are marked as "non-standard"
# or "uncertain" in comments.
# (4) In some cases it is not possible to assign an appropriate parameter automatically. "%%" is used as a place holder
# for those fields that could not be determined automatically. The parameters in these fields must be assigned manually
# before the file can be used.
#---------------------------------------------------------------------------------------------------------------------------
# Input Structure : _I0L_allatom_optimized_geometry.lt
# Output : ALL ATOM topology
# Use in conjunction with the corresponding all atom PDB file.
#---------------------------------------------------------------------------------------------------------------------------
# Citing this topology file
# ATB molid: 21
# ATB Topology Hash: b90be
#---------------------------------------------------------------------------------------------------------------------------
# Final Topology Generation was performed using:
# A B3LYP/6-31G* optimized geometry.
# Bonded and van der Waals parameters were taken from the GROMOS 54A7 parameter set.
# Initial charges were estimated using the ESP method of Merz-Kollman.
# Final charges and charge groups were generated by method described in the ATB paper.
# If required, additional bonded parameters were generated from a Hessian matrix calculated at the B3LYP/6-31G* level of theory.
#---------------------------------------------------------------------------------------------------------------------------
#| Instructions
#| ------------
#|
#| This file can be used as a building block to create LAMMPS systems
#| with the moltemplate.sh program (available at http://www.moltemplate.org).
#| Moltemplate provides a flexible means to build up complex system from
#| molecular template and force field files while avoiding clashes in type
#| numbers for atoms, bonds, etc.
#|
#| Moltemplate takes a LAMMPS-template (LT) file as input, which may itself call
#| on other LT files with an `import file.lt` statement, and generates a LAMMPS
#| input script (typically broken into multiple subscripts) and data file.
#|
#| The following is a simple example of a moltemplate script with the file
#| `GROMOS_54A7_ATB.lt` defining the forcefield `GROMOS_54A7_ATB`, and
#| the `_I0L_allatom_optimized_geometry.lt` file defining the molecule `_I0L`.
#| (Typically "_I0L" is a 4-letter code, such as "54A7", and
#| "_I0L_allatom_optimized_geometry.lt" is something like "54A7_allatom_optimized_geometry.lt".)
#|
#| ```
#| # system.lt
#| # simulation of a single molecule in a box of size 50x50x50 Angstroms^3
#|
#| write_once("Data Boundary") {
#| -25.0 25.0 xlo xhi
#| -25.0 25.0 ylo yhi
#| -25.0 25.0 zlo zhi
#| }
#|
#| write_once("In Init") {
#| # a variable named `cutoff` is required by GROMOS_54A7_ATB.lt
#| variable cutoff equal 14.0 # Angstroms
#| boundary p p p
#| }
#|
#| # import the forcefield file
#| import "GROMOS_54A7_ATB.lt"
#| # import molecule building block file
#| import "_I0L_allatom_optimized_geometry.lt"
#|
#| # create a single copy of this molecule at position 0,0,0
#| mol1 = new _I0L.move(0.0,0.0,0.0)
#| ```
#|
#| See the moltemplate manual for a detailed description of the LT file format.
#|
#| The file `system.lt` can be converted to a LAMMPS
#| input `system.in` and data file `system.data` with the
#| following shell command, assuming that all three LT files
#| `system.lt`, `GROMOS_54A7_ATB.lt` and `_I0L_allatom_optimized_geometry.lt`
#| are located in the current directory:
#|
#| ```
#| moltemplate.sh system.lt \
#| -overlay-bonds -overlay-angles -overlay-dihedrals -overlay-impropers
#| ```
#| (The `-overlay-*` flags are required for cases where multiple bonded
#| interactions involve the same atoms.)
#|
#| To run a LAMMPS simulation, you need to create a file (eg "run.in")
#| containing links to the coordinate, topology, and force-field information
#| created by moltemplate.sh. Then you can run LAMMPS ("lmp_mpi") this way:
#| ```
#| lmp_mpi -i run.in
#| ```
#| At a minimum, the file should probably contain the following information:
#| ```
#| # "run.in" file
#| # Read the files generated by running moltemplate.sh:
#| include system.in.init # I assume your main LT file is named system.lt
#| read_data system.data # If not, change "system" to the name of this
#| include system.in.settings # file (ie. the one you ran moltemplate.sh on).
#| # Simulate the system at 300 degrees Kelvin, saving every 1000 timesteps.
#| minimize 1.0e-3 1.0e-5 100000 400000 # minimization beforehand is optional
#| dump mydump all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
#| fix myfxnvt all nvt temp 300.0 300.0 100.0
#| thermo 100 # Report status every 100 timesteps.
#| thermo_style custom step temp pe ke etotal epair ebond eangle edihed
#| timestep 1.0 # The timestep might need to be adjusted.
#| run 100000 # Simulation duration (in timesteps)
#| ```
#|
#|
_I0L inherits GROMOS_54A7_ATB {
write("Data Atoms"){
$atom:H6 $mol:... @atom:HC 0.134000 2.9569386965E+00 -1.0017030000E-04 2.0059802800E-02
$atom:C5 $mol:... @atom:CAro -0.184000 1.8698479937E+00 -4.0543000000E-05 1.4281020600E-02
$atom:C4 $mol:... @atom:CAro -0.087000 1.1649255513E+00 -1.2065310578E+00 2.8868528000E-03
$atom:H5 $mol:... @atom:HC 0.123000 1.7015644554E+00 -2.1523138974E+00 -3.7355400000E-05
$atom:C3 $mol:... @atom:CAro -0.271000 -2.3228681250E-01 -1.2031251919E+00 -1.4203070900E-02
$atom:H4 $mol:... @atom:HC 0.147000 -7.7190831270E-01 -2.1484841742E+00 -2.3192771900E-02
$atom:C2 $mol:... @atom:CAro 0.296000 -9.5339045340E-01 -1.9011300000E-05 -1.8839030400E-02
$atom:C1 $mol:... @atom:C -0.439000 -2.4653547794E+00 1.1580560000E-04 4.7859138000E-03
$atom:H1 $mol:... @atom:HC 0.123000 -2.8467134445E+00 -1.3410633000E-03 1.0350678745E+00
$atom:H2 $mol:... @atom:HC 0.123000 -2.8740103612E+00 8.8819195870E-01 -4.8944069500E-01
$atom:H3 $mol:... @atom:HC 0.123000 -2.8741177728E+00 -8.8656327390E-01 -4.9189997790E-01
$atom:C7 $mol:... @atom:CAro -0.271000 -2.3229047550E-01 1.2031231570E+00 -1.6253079800E-02
$atom:H8 $mol:... @atom:HC 0.147000 -7.7177021000E-01 2.1484605342E+00 -2.6245126700E-02
$atom:C6 $mol:... @atom:CAro -0.087000 1.1649321908E+00 1.2064004635E+00 2.9745751000E-03
$atom:H7 $mol:... @atom:HC 0.123000 1.7016177499E+00 2.1521927023E+00 1.0355691000E-03
}
write("Data Bonds"){
$bond:b1 @bond:g3 $atom:H6 $atom:C5
$bond:b2 @bond:g15 $atom:C5 $atom:C4
$bond:b3 @bond:g15 $atom:C5 $atom:C6
$bond:b4 @bond:g3 $atom:C4 $atom:H5
$bond:b5 @bond:g15 $atom:C4 $atom:C3
$bond:b6 @bond:g3 $atom:C3 $atom:H4
$bond:b7 @bond:g17 $atom:C3 $atom:C2
$bond:b8 @bond:g26 $atom:C2 $atom:C1
$bond:b9 @bond:g17 $atom:C2 $atom:C7
$bond:b10 @bond:g3 $atom:C1 $atom:H1
$bond:b11 @bond:g3 $atom:C1 $atom:H2
$bond:b12 @bond:g3 $atom:C1 $atom:H3
$bond:b13 @bond:g3 $atom:C7 $atom:H8
$bond:b14 @bond:g15 $atom:C7 $atom:C6
$bond:b15 @bond:g3 $atom:C6 $atom:H7
}
write("Data Bonds"){
# Extra exclusions required.
$bond:x1 @bond:excl $atom:C3 $atom:C6
$bond:x2 @bond:excl $atom:C4 $atom:C7
$bond:x3 @bond:excl $atom:C2 $atom:C5
}
write("Data Angles"){
$angle:a1 @angle:g25 $atom:H6 $atom:C5 $atom:C4
$angle:a2 @angle:g25 $atom:H6 $atom:C5 $atom:C6
$angle:a3 @angle:g27 $atom:C4 $atom:C5 $atom:C6
$angle:a4 @angle:g25 $atom:C5 $atom:C4 $atom:H5
$angle:a5 @angle:g27 $atom:C5 $atom:C4 $atom:C3
$angle:a6 @angle:g25 $atom:H5 $atom:C4 $atom:C3
$angle:a7 @angle:g25 $atom:C4 $atom:C3 $atom:H4
$angle:a8 @angle:g27 $atom:C4 $atom:C3 $atom:C2
$angle:a9 @angle:g25 $atom:H4 $atom:C3 $atom:C2
$angle:a10 @angle:g27 $atom:C3 $atom:C2 $atom:C1
$angle:a11 @angle:g27 $atom:C3 $atom:C2 $atom:C7
$angle:a12 @angle:g27 $atom:C1 $atom:C2 $atom:C7
$angle:a13 @angle:g52 $atom:C2 $atom:C1 $atom:H1
$angle:a14 @angle:g52 $atom:C2 $atom:C1 $atom:H2
$angle:a15 @angle:g52 $atom:C2 $atom:C1 $atom:H3
$angle:a16 @angle:g7 $atom:H1 $atom:C1 $atom:H2
$angle:a17 @angle:g7 $atom:H1 $atom:C1 $atom:H3
$angle:a18 @angle:g7 $atom:H2 $atom:C1 $atom:H3
$angle:a19 @angle:g25 $atom:C2 $atom:C7 $atom:H8
$angle:a20 @angle:g27 $atom:C2 $atom:C7 $atom:C6
$angle:a21 @angle:g25 $atom:H8 $atom:C7 $atom:C6
$angle:a22 @angle:g27 $atom:C5 $atom:C6 $atom:C7
$angle:a23 @angle:g25 $atom:C5 $atom:C6 $atom:H7
$angle:a24 @angle:g25 $atom:C7 $atom:C6 $atom:H7
}
write("Data Dihedrals"){
$dihedral:d1 @dihedral:glj14 $atom:H6 $atom:C5 $atom:C4 $atom:H5
$dihedral:d2 @dihedral:glj14 $atom:H6 $atom:C5 $atom:C4 $atom:C3
$dihedral:d3 @dihedral:glj14 $atom:H6 $atom:C5 $atom:C6 $atom:C7
$dihedral:d4 @dihedral:glj14 $atom:H6 $atom:C5 $atom:C6 $atom:H7
$dihedral:d5 @dihedral:glj14 $atom:C5 $atom:C4 $atom:C3 $atom:H4
$dihedral:d6 @dihedral:g15 $atom:C5 $atom:C4 $atom:C3 $atom:C2
$dihedral:d7 @dihedral:g15 $atom:C4 $atom:C5 $atom:C6 $atom:C7
$dihedral:d8 @dihedral:glj14 $atom:C4 $atom:C5 $atom:C6 $atom:H7
$dihedral:d9 @dihedral:glj14 $atom:C4 $atom:C3 $atom:C2 $atom:C1
$dihedral:d10 @dihedral:g15 $atom:C4 $atom:C3 $atom:C2 $atom:C7
$dihedral:d11 @dihedral:glj14 $atom:H5 $atom:C4 $atom:C3 $atom:H4
$dihedral:d12 @dihedral:glj14 $atom:H5 $atom:C4 $atom:C3 $atom:C2
$dihedral:d13 @dihedral:g40 $atom:C3 $atom:C2 $atom:C1 $atom:H1
$dihedral:d14 @dihedral:glj14 $atom:C3 $atom:C2 $atom:C1 $atom:H2
$dihedral:d15 @dihedral:glj14 $atom:C3 $atom:C2 $atom:C1 $atom:H3
$dihedral:d16 @dihedral:glj14 $atom:C3 $atom:C2 $atom:C7 $atom:H8
$dihedral:d17 @dihedral:g15 $atom:C3 $atom:C2 $atom:C7 $atom:C6
$dihedral:d18 @dihedral:glj14 $atom:H4 $atom:C3 $atom:C2 $atom:C1
$dihedral:d19 @dihedral:glj14 $atom:H4 $atom:C3 $atom:C2 $atom:C7
$dihedral:d20 @dihedral:g15 $atom:C2 $atom:C7 $atom:C6 $atom:C5
$dihedral:d21 @dihedral:glj14 $atom:C2 $atom:C7 $atom:C6 $atom:H7
$dihedral:d22 @dihedral:glj14 $atom:C1 $atom:C2 $atom:C7 $atom:H8
$dihedral:d23 @dihedral:glj14 $atom:C1 $atom:C2 $atom:C7 $atom:C6
$dihedral:d24 @dihedral:glj14 $atom:C7 $atom:C2 $atom:C1 $atom:H1
$dihedral:d25 @dihedral:glj14 $atom:C7 $atom:C2 $atom:C1 $atom:H2
$dihedral:d26 @dihedral:glj14 $atom:C7 $atom:C2 $atom:C1 $atom:H3
$dihedral:d27 @dihedral:glj14 $atom:H8 $atom:C7 $atom:C6 $atom:C5
$dihedral:d28 @dihedral:glj14 $atom:H8 $atom:C7 $atom:C6 $atom:H7
$dihedral:d29 @dihedral:glj14 $atom:C6 $atom:C5 $atom:C4 $atom:H5
$dihedral:d30 @dihedral:g15 $atom:C6 $atom:C5 $atom:C4 $atom:C3
}
write("Data Impropers"){
$improper:i1 @improper:g1 $atom:C2 $atom:C3 $atom:C1 $atom:C7
$improper:i2 @improper:g1 $atom:C3 $atom:C4 $atom:H4 $atom:C2
$improper:i3 @improper:g1 $atom:C4 $atom:C5 $atom:H5 $atom:C3
$improper:i4 @improper:g1 $atom:C5 $atom:H6 $atom:C4 $atom:C6
$improper:i5 @improper:g1 $atom:C6 $atom:C5 $atom:C7 $atom:H7
$improper:i6 @improper:g1 $atom:C7 $atom:C2 $atom:H8 $atom:C6
}
}