~ubuntu-branches/debian/sid/lammps/sid

« back to all changes in this revision

Viewing changes to tools/moltemplate/examples/CG_biomolecules/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/charmm/1beadProtSci2010.lt

  • Committer: Package Import Robot
  • Author(s): Anton Gladky
  • Date: 2013-11-20 22:41:36 UTC
  • mfrom: (1.2.2)
  • Revision ID: package-import@ubuntu.com-20131120224136-tzx7leh606fqnckm
Tags: 0~20131119.git7162cf0-1
* [e65b919] Imported Upstream version 0~20131119.git7162cf0
* [f7bddd4] Fix some problems, introduced by upstream recently.
* [3616dfc] Use wrap-and-sort script.
* [7e92030] Ignore quilt dir

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# This file defines a family of coarse-grained protein models used in:
 
2
# G. Bellesia, AI Jewett, and J-E Shea, Protein Science, Vol19 141-154 (2010)
 
3
 
4
#
 
5
# For portability, all definitions in this file are enclosed within
 
6
# the "1beadProtSci2010" namespace.  To access them, put 
 
7
# "using namespace 1beadProtSci2010" in your LT file.
 
8
 
 
9
# Strategy:
 
10
#
 
11
#1) First I'll define some building blocks
 
12
#   (short helices, sheets and turns of a predetermined length)
 
13
#
 
14
#2)  Then I'll cut and paste them together to build
 
15
#   a 4-helix bundle or a 4-strand beta-barrel.
 
16
#
 
17
#   Doing it this way is optional.  It's simpler (but longer) to simply write
 
18
#   out the entire sequence of all 73 atoms in a single "Data Atoms" section.
 
19
#   (IE. Don't try to subdivide it.)  It's also simpler to explicitly list the
 
20
#   72 bonds, 71 3-body angles and 70 4-body dihedral angle interactions
 
21
#   manually (instead of inferring them from the atom type).  If your protein
 
22
#   has helices which are not identical, this would probably be easier.
 
23
#   Use whichever style you prefer.
 
24
#   
 
25
#
 
26
# Note that atom types, bond types, angle types, and dihedral types 
 
27
# are shared between all molecules defined in the "1beadProtSci2010" family.
 
28
# (That's why there is a "../" in their path-names. Otherwise atom, bond,
 
29
#  angle types, etc... are not shared between different molecules.)
 
30
#
 
31
#    Confusing detail:
 
32
# Each molecule in LAMMPS can be assigned a unique molecule-ID (an integer).
 
33
# These are represented by the "$mol" variable written next to each atom.
 
34
# Our protein has multiple subunits (in this case: helices, sheets, turns).
 
35
# Because we want the subunits to share the same molecule-ID counter we use
 
36
# "$mol:..." instead of "$mol" which tells moltemplate to search for the 
 
37
# parent molecule's ID.  This is optional.  If it bothers you, just use "$mol"
 
38
 
 
39
 
 
40
 
 
41
1beadProtSci2010 {
 
42
 
 
43
  write_once("In Init") {
 
44
    # -- Default styles for "1beadProtSci2010" --
 
45
    units           lj
 
46
    atom_style      full
 
47
    # (Hybrid force fields were not necessary but are used for portability.)
 
48
    bond_style      hybrid harmonic
 
49
    angle_style     hybrid harmonic
 
50
    dihedral_style  hybrid charmm
 
51
    pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0
 
52
 
 
53
    # If charges are needed, (assuming biopolymers), try one of:
 
54
    #dielectric      80.0
 
55
    #pair_style      hybrid lj/cut/coul/debye 0.1 4.0
 
56
    # or (for short distances, below a couple nm)
 
57
    #pair_style      hybrid lj/charmm/coul/charmm/implicit 3.5 4.0
 
58
 
 
59
    pair_modify     mix arithmetic
 
60
    special_bonds   lj 0.0 0.0 1.0   #(turn on "1-4" interactions)
 
61
  }
 
62
 
 
63
 
 
64
  # ----  Building blocks: A16, B16, Turn3 ----
 
65
 
 
66
  # A16 is a coarse-grained alpha-helix containing 16 residues (one "atom" each)
 
67
 
 
68
  A16 {
 
69
 
 
70
    #  AtomID   MoleculeID AtomType  Charge       X        Y         Z
 
71
 
 
72
    write('Data Atoms') {
 
73
      $atom:a1  $mol:... @atom:../L  0.0      -0.4      -0.4       0.0
 
74
      $atom:a2  $mol:... @atom:../L  0.0       0.4      -0.4       0.6
 
75
      $atom:a3  $mol:... @atom:../H  0.0       0.4       0.4       1.2
 
76
      $atom:a4  $mol:... @atom:../H  0.0      -0.4       0.4       1.8
 
77
      $atom:a5  $mol:... @atom:../L  0.0      -0.4      -0.4       2.4
 
78
      $atom:a6  $mol:... @atom:../L  0.0       0.4      -0.4       3.0
 
79
      $atom:a7  $mol:... @atom:../H  0.0       0.4       0.4       3.6
 
80
      $atom:a8  $mol:... @atom:../H  0.0      -0.4       0.4       4.2
 
81
      $atom:a9  $mol:... @atom:../L  0.0      -0.4      -0.4       4.8
 
82
      $atom:a10 $mol:... @atom:../L  0.0       0.4      -0.4       5.4
 
83
      $atom:a11 $mol:... @atom:../H  0.0       0.4       0.4       6.0
 
84
      $atom:a12 $mol:... @atom:../H  0.0      -0.4       0.4       6.6
 
85
      $atom:a13 $mol:... @atom:../L  0.0      -0.4      -0.4       7.2
 
86
      $atom:a14 $mol:... @atom:../L  0.0       0.4      -0.4       7.8
 
87
      $atom:a15 $mol:... @atom:../H  0.0       0.4       0.4       8.4
 
88
      $atom:a16 $mol:... @atom:../H  0.0      -0.4       0.4       9.0
 
89
    }
 
90
 
 
91
    write('Data Bonds') {
 
92
      $bond:b1 @bond:../backbone $atom:a1 $atom:a2
 
93
      $bond:b2 @bond:../backbone $atom:a2 $atom:a3
 
94
      $bond:b3 @bond:../backbone $atom:a3 $atom:a4
 
95
      $bond:b4 @bond:../backbone $atom:a4 $atom:a5
 
96
      $bond:b5 @bond:../backbone $atom:a5 $atom:a6
 
97
      $bond:b6 @bond:../backbone $atom:a6 $atom:a7
 
98
      $bond:b7 @bond:../backbone $atom:a7 $atom:a8
 
99
      $bond:b8 @bond:../backbone $atom:a8 $atom:a9
 
100
      $bond:b9 @bond:../backbone $atom:a9 $atom:a10
 
101
      $bond:b10 @bond:../backbone $atom:a10 $atom:a11
 
102
      $bond:b11 @bond:../backbone $atom:a11 $atom:a12
 
103
      $bond:b12 @bond:../backbone $atom:a12 $atom:a13
 
104
      $bond:b13 @bond:../backbone $atom:a13 $atom:a14
 
105
      $bond:b14 @bond:../backbone $atom:a14 $atom:a15
 
106
      $bond:b15 @bond:../backbone $atom:a15 $atom:a16
 
107
    }
 
108
 
 
109
  } # A16
 
110
 
 
111
 
 
112
  # B16 is a coarse-grained beta-strand containing 16 residues (one "atom" each)
 
113
 
 
114
  B16 {
 
115
 
 
116
    #  AtomID   MoleculeID AtomType  Charge      X         Y         Z
 
117
 
 
118
    write('Data Atoms') {
 
119
      $atom:a1  $mol:... @atom:../L  0.0      -0.3       0.0       0.0
 
120
      $atom:a2  $mol:... @atom:../H  0.0       0.3       0.0       0.8
 
121
      $atom:a3  $mol:... @atom:../L  0.0      -0.3       0.0       1.6
 
122
      $atom:a4  $mol:... @atom:../H  0.0       0.3       0.0       2.4
 
123
      $atom:a5  $mol:... @atom:../L  0.0      -0.3       0.0       3.2
 
124
      $atom:a6  $mol:... @atom:../H  0.0       0.3       0.0       4.0
 
125
      $atom:a7  $mol:... @atom:../L  0.0      -0.3       0.0       4.8
 
126
      $atom:a8  $mol:... @atom:../H  0.0       0.3       0.0       5.6
 
127
      $atom:a9  $mol:... @atom:../L  0.0      -0.3       0.0       6.4
 
128
      $atom:a10 $mol:... @atom:../H  0.0       0.3       0.0       7.2
 
129
      $atom:a11 $mol:... @atom:../L  0.0      -0.3       0.0       8.0
 
130
      $atom:a12 $mol:... @atom:../H  0.0       0.3       0.0       8.8
 
131
      $atom:a13 $mol:... @atom:../L  0.0      -0.3       0.0       9.6
 
132
      $atom:a14 $mol:... @atom:../H  0.0       0.3       0.0       10.4
 
133
      $atom:a15 $mol:... @atom:../L  0.0      -0.3       0.0       11.2
 
134
      $atom:a16 $mol:... @atom:../H  0.0       0.3       0.0       12.0
 
135
    }
 
136
 
 
137
    write('Data Bonds') {
 
138
      $bond:b1 @bond:../backbone $atom:a1 $atom:a2
 
139
      $bond:b2 @bond:../backbone $atom:a2 $atom:a3
 
140
      $bond:b3 @bond:../backbone $atom:a3 $atom:a4
 
141
      $bond:b4 @bond:../backbone $atom:a4 $atom:a5
 
142
      $bond:b5 @bond:../backbone $atom:a5 $atom:a6
 
143
      $bond:b6 @bond:../backbone $atom:a6 $atom:a7
 
144
      $bond:b7 @bond:../backbone $atom:a7 $atom:a8
 
145
      $bond:b8 @bond:../backbone $atom:a8 $atom:a9
 
146
      $bond:b9 @bond:../backbone $atom:a9 $atom:a10
 
147
      $bond:b10 @bond:../backbone $atom:a10 $atom:a11
 
148
      $bond:b11 @bond:../backbone $atom:a11 $atom:a12
 
149
      $bond:b12 @bond:../backbone $atom:a12 $atom:a13
 
150
      $bond:b13 @bond:../backbone $atom:a13 $atom:a14
 
151
      $bond:b14 @bond:../backbone $atom:a14 $atom:a15
 
152
      $bond:b15 @bond:../backbone $atom:a15 $atom:a16
 
153
    }
 
154
 
 
155
  } # B16
 
156
 
 
157
  T3 { # T3 is a "turn" region consisting of 3 beads
 
158
 
 
159
    #  AtomID   MoleculeID AtomType  Charge       X        Y         Z
 
160
 
 
161
    write('Data Atoms') {
 
162
      $atom:a1  $mol:... @atom:../N  0.0      -0.8       0.0       0.0
 
163
      $atom:a2  $mol:... @atom:../N  0.0       0.0       0.55     -0.24
 
164
      $atom:a3  $mol:... @atom:../N  0.0       0.8       0.0       0.0
 
165
    }
 
166
 
 
167
    write('Data Bonds') {
 
168
      $bond:b1 @bond:../backbone $atom:a1 $atom:a2
 
169
      $bond:b2 @bond:../backbone $atom:a2 $atom:a3
 
170
    }
 
171
 
 
172
  } # T3
 
173
 
 
174
  # (Note: Again, atom types, bond-types, (dihedral-types, any variable, etc) 
 
175
  #        can be shared.  The ".." in "@atom:../CA" tells moltemplate that 
 
176
  #        atom type CA is defined in the parent's environment. (We are 
 
177
  #        sharing the CA atom type between both the H and P residues.
 
178
  #        The same is true of the ".." in "@bond:../sidechain".
 
179
  #        
 
180
  #
 
181
  #  Note: The "..." in "$mol:..." tells moltemplate that this molecule may
 
182
  #        be a part of a larger molecule, and (if so) to use the larger
 
183
  #        molecule's id number as it's own.
 
184
 
 
185
 
 
186
 
 
187
  # ----- Now build larger molecules using A16, B16 and T3 -------
 
188
 
 
189
  4HelixBundle {
 
190
 
 
191
    helix1 = new A16.rot( -45, 0,0,1).move(-1.12691645,-1.12691645, 0)
 
192
    helix2 = new A16.rot(  45, 0,0,1).move( 1.12691645,-1.12691645, 0)
 
193
    helix3 = new A16.rot( 135, 0,0,1).move( 1.12691645, 1.12691645, 0)
 
194
    helix4 = new A16.rot( 225, 0,0,1).move(-1.12691645, 1.12691645, 0)
 
195
    # Note: 1.12691645 ~= 0.5*2^(1/6) + 0.4*sqrt(2)
 
196
 
 
197
    turn1  = new T3.rot(180,1,0,0).rot(-17,0,0,1).move(-0.2,-0.7,9.9)
 
198
    turn2  = new T3.rot(  0,1,0,0).rot(-100,0,0,1).move(0.7,-0.15,-0.3)
 
199
    turn3  = new T3.rot(180,1,0,0).rot(163,0,0,1).move(0.2,0.7,9.9)
 
200
 
 
201
    # Note: In the paper, this is described as the "UA2" conformation
 
202
    # (I played around with the angles until it looked "okay".  This is not
 
203
    #  the minimum energy conformation.  Further minimization is necessary.)
 
204
 
 
205
    # Now bond the pieces together.
 
206
    # (Note: angle & dihedral interactions will be generated automatically.)
 
207
    write('Data Bonds') {
 
208
      $bond:turn1a  @bond:../backbone  $atom:turn1/a1    $atom:helix1/a16
 
209
      $bond:turn1b  @bond:../backbone  $atom:turn1/a3    $atom:helix2/a16
 
210
      $bond:turn2a  @bond:../backbone  $atom:turn2/a1    $atom:helix3/a1
 
211
      $bond:turn2b  @bond:../backbone  $atom:turn2/a3    $atom:helix2/a1
 
212
      $bond:turn3a  @bond:../backbone  $atom:turn3/a1    $atom:helix3/a16
 
213
      $bond:turn3b  @bond:../backbone  $atom:turn3/a3    $atom:helix4/a16
 
214
    }
 
215
    create_var { $mol } # <-- create a variable for the parent's Molecule-ID
 
216
  }
 
217
 
 
218
  4SheetBundle {
 
219
 
 
220
    sheet1 = new B16.rot(  45, 0,0,1).move(-0.793700526,-0.793700526, 0)
 
221
    sheet2 = new B16.rot( 135, 0,0,1).move( 0.793700526,-0.793700526, 0)
 
222
    sheet3 = new B16.rot( 225, 0,0,1).move( 0.793700526, 0.793700526, 0)
 
223
    sheet4 = new B16.rot( 315, 0,0,1).move(-0.793700526, 0.793700526, 0)
 
224
    # Note: 0.793700526 ~= 0.5*2^(1/6) * sqrt(1/2)
 
225
 
 
226
    turn1  = new T3.rot(180,1,0,0).rot(0,0,0,1).move(0,-1.3,12.6)
 
227
    turn2  = new T3.rot(  0,1,0,0).rot(-90,0,0,1).move(0.7,-0.0,-0.9)
 
228
    turn3  = new T3.rot(180,1,0,0).rot(-180,0,0,1).move(0,1.3,12.6)
 
229
 
 
230
    write('Data Bonds') {
 
231
      $bond:turn1a  @bond:../backbone  $atom:turn1/a1    $atom:sheet1/a16
 
232
      $bond:turn1b  @bond:../backbone  $atom:turn1/a3    $atom:sheet2/a16
 
233
      $bond:turn2a  @bond:../backbone  $atom:turn2/a1    $atom:sheet3/a1
 
234
      $bond:turn2b  @bond:../backbone  $atom:turn2/a3    $atom:sheet2/a1
 
235
      $bond:turn3a  @bond:../backbone  $atom:turn3/a1    $atom:sheet3/a16
 
236
      $bond:turn3b  @bond:../backbone  $atom:turn3/a3    $atom:sheet4/a16
 
237
    }
 
238
    create_var { $mol } # molecule ID number shared by all atoms in this protein
 
239
  }
 
240
 
 
241
 
 
242
  # There are 3 atom types (referred to above as ../H, ../L, and ../N)
 
243
  # Define their masses:
 
244
 
 
245
  write_once("Data Masses") {
 
246
    @atom:H   1.0
 
247
    @atom:L   1.0
 
248
    @atom:N   1.0
 
249
 
 
250
  }
 
251
 
 
252
 
 
253
 
 
254
  # --------------------------------------------------------------------
 
255
  # -- In this example, all force field parameters are stored in the  --
 
256
  # -- file named "In Settings".  They can also go in sections like   --
 
257
  # -- "Data Pair Coeffs", "Data Bond Coeffs", "Data Angle Coeffs"... --
 
258
  # --------------------------------------------------------------------
 
259
 
 
260
 
 
261
 
 
262
 
 
263
  # 2-body (non-bonded) interactions:
 
264
  #
 
265
  #   Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
 
266
  #
 
267
  #              i       j           pairstylename          eps sig  K L
 
268
  #
 
269
  write_once("In Settings") {
 
270
    pair_coeff @atom:H @atom:H lj/charmm/coul/charmm/inter  1.0 1.0 1 -1
 
271
    pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter  1.0 1.0 1 0
 
272
    pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter  1.0 1.0 1 0
 
273
  }
 
274
  # (Interactions between different atom types use "arithmetic" 
 
275
  #  and "maxmax" ("repulsion-wins") mixing rules.)
 
276
 
 
277
 
 
278
  # 2-body (bonded) interactions:
 
279
  #
 
280
  #   Ubond(r) = (k/2)*(r-0)^2
 
281
  #
 
282
  #   The corresponding command is:
 
283
  #
 
284
  #   bond_coeff     bondType    bondstylename   k     r0
 
285
  #
 
286
 
 
287
  write_once("In Settings") {
 
288
    bond_coeff     @bond:backbone   harmonic    66.6   1.0
 
289
  }
 
290
 
 
291
 
 
292
 
 
293
  # 3-body interactions in this example are listed by atomType and bondType
 
294
  # The atomIDs involved are determined automatically.  The forumula used is:
 
295
  #
 
296
  # Uangle(theta) = (k/2)*(theta-theta0)^2   
 
297
  #     (k in kcal/mol/rad^2, theta0 in degrees)
 
298
  #
 
299
  # The corresponding command is:
 
300
  #
 
301
  #   angle_coeff  angleType  anglestylename   k   theta0
 
302
 
 
303
  write_once("In Settings") {
 
304
    angle_coeff @angle:backbone   harmonic    66.6  105.0
 
305
  }
 
306
 
 
307
  # Generate a "backbone" 3-body interaction whenever 3 atoms are bonded
 
308
  # together.  We do this by to asking moltemplate to generate this 
 
309
  # 3-body interaction whenever 3 consecutively bonded atoms satisfy
 
310
  # the following type requirement:
 
311
  #
 
312
  # angleType       atomtypes1 2 3   bondtypes1 2
 
313
 
 
314
  write_once("Data Angles By Type") {
 
315
    @angle:backbone    *  *  *          *  *
 
316
  }
 
317
 
 
318
 
 
319
 
 
320
 
 
321
 
 
322
  # 4-body interactions in this example are listed by atomType and bondType
 
323
  # The atomIDs involved are determined automatically.  The forumula used is:
 
324
  #
 
325
  # Udihedral(phi) = K * (1 + cos(n*phi - d))
 
326
  #
 
327
  #     The d parameter is in degrees, K is in kcal/mol/rad^2.
 
328
  #
 
329
  # The corresponding command is:
 
330
  #
 
331
  # dihedral_coeff dihedralType   dihedralstylename  K  n   d   w
 
332
  #    ("w" is the weight for 1-4 pair interactions, which we set to 0)
 
333
 
 
334
  write_once("In Settings") {
 
335
    dihedral_coeff @dihedral:turn       charmm      0.2 3   0 0
 
336
    dihedral_coeff @dihedral:term3      charmm      1.2 3   0 0
 
337
 
 
338
    dihedral_coeff @dihedral:delta65_0  charmm      1.2 1 -65 0
 
339
    dihedral_coeff @dihedral:delta62_5  charmm      1.2 1 -62 0
 
340
    dihedral_coeff @dihedral:delta60_0  charmm      1.2 1 -60 0
 
341
    dihedral_coeff @dihedral:delta57_5  charmm      1.2 1 -57 0
 
342
    dihedral_coeff @dihedral:delta55_0  charmm      1.2 1 -55 0
 
343
  }
 
344
 
 
345
  #write_once("In Settings") {
 
346
  #  dihedral_coeff @dihedral:turn       charmm      0.2 3   0.0 0
 
347
  #  dihedral_coeff @dihedral:term3      charmm      1.2 3   0.0 0
 
348
  #  dihedral_coeff @dihedral:delta65_0  charmm      1.2 1 -65.0 0
 
349
  #  dihedral_coeff @dihedral:delta62_5  charmm      1.2 1 -62.5 0
 
350
  #  dihedral_coeff @dihedral:delta60_0  charmm      1.2 1 -60.0 0
 
351
  #  dihedral_coeff @dihedral:delta57_5  charmm      1.2 1 -57.5 0
 
352
  #  dihedral_coeff @dihedral:delta55_0  charmm      1.2 1 -55.5 0
 
353
  #}
 
354
 
 
355
  # Generate 4-body interactions whenever 4 consecutively bonded atoms satisfy
 
356
  # the following type requirements:
 
357
 
 
358
  write_once("Data Dihedrals By Type") {
 
359
    # The dihedral interaction between backbone atoms in the helix or sheet-like
 
360
    # regions is proportional to the sum of two terms: cos(phi+delta)+cos(3*phi)
 
361
    # where delta is a constant used to control the bias between helices/sheets.
 
362
    # As of 2013-4-07, the "fourier", "table", "class2", and "charmm",
 
363
    " dihedral_styles can implement this potential.
 
364
    # However dihedral_style "charmm" can only handle one cosine term at a time.
 
365
    # So we use two commands to create two dihedral interactions for the same
 
366
    # set of of four atoms ("cos3" and "delta60_0").  (To allow the 
 
367
    # superposition of multiple dihedral interactions on the same atoms, 
 
368
    # be sure to run moltemplate with the "-overlay-dihdedrals" argument.)
 
369
    #
 
370
    # dihedralType        atomtypes1 2 3 4                  bondtypes1 2 3
 
371
 
 
372
    @dihedral:term3      @atom:H  @atom:L  @atom:H  @atom:L   *  *  *
 
373
    @dihedral:delta60_0  @atom:H  @atom:L  @atom:H  @atom:L   *  *  *
 
374
 
 
375
    @dihedral:term3      @atom:H  @atom:L  @atom:L  @atom:H   *  *  *
 
376
    @dihedral:delta60_0  @atom:H  @atom:L  @atom:L  @atom:H   *  *  *
 
377
 
 
378
    @dihedral:term3      @atom:L  @atom:H  @atom:H  @atom:L   *  *  *
 
379
    @dihedral:delta60_0  @atom:L  @atom:H  @atom:H  @atom:L   *  *  *
 
380
 
 
381
    @dihedral:term3      @atom:H  @atom:H  @atom:L  @atom:L   *  *  *
 
382
    @dihedral:delta60_0  @atom:H  @atom:H  @atom:L  @atom:L   *  *  *
 
383
 
 
384
    # Comment out the next 4 lines: (They are redundant with the lines above)
 
385
    #@dihedral:term3     @atom:L  @atom:L  @atom:H  @atom:H   *  *  *
 
386
    #@dihedral:delta60_0 @atom:L  @atom:L  @atom:H  @atom:H   *  *  *
 
387
    #@dihedral:term3     @atom:L  @atom:H  @atom:L  @atom:H   *  *  *
 
388
    #@dihedral:delta60_0 @atom:L  @atom:H  @atom:L  @atom:H   *  *  *
 
389
    # (Redundant: The LLHH pattern is identical to HHLL after order reversal)
 
390
    # (Redundant: The LHLH pattern is identical to HLHL after order reversal)
 
391
 
 
392
    # Right now the dihedral-angle settings are "unfrustrated", meaning that the
 
393
    # peptide backbone is equally happy to adopt helical or sheet-like secondary
 
394
    # structure (See Table IV of Bellesia et. al, Prot Sci, 19, 141 (2010)).
 
395
    # You can change that by changing "delta60_0" to one of the other choices.
 
396
 
 
397
    # Any dihedral interactions containing "N" atoms use the @dihedral:turn
 
398
    # interaction (which is much weaker).
 
399
    @dihedral:turn       @atom:N  @atom:*  @atom:*  @atom:*    *  *  *
 
400
    @dihedral:turn       @atom:N  @atom:N  @atom:*  @atom:*    *  *  *
 
401
    @dihedral:turn       @atom:N  @atom:N  @atom:N  @atom:*    *  *  *
 
402
    @dihedral:turn       @atom:N  @atom:N  @atom:N  @atom:N    *  *  *
 
403
    # Comment out the next 4 lines: (They are redundant with the lines above)
 
404
    # @dihedral:turn      @atom:N  @atom:N  @atom:N  @atom:N   *  *  *
 
405
    # @dihedral:turn      @atom:*  @atom:N  @atom:N  @atom:N   *  *  *
 
406
    # @dihedral:turn      @atom:*  @atom:*  @atom:N  @atom:N   *  *  *
 
407
    # @dihedral:turn      @atom:*  @atom:*  @atom:*  @atom:N   *  *  *
 
408
  }
 
409
 
 
410
} # 1beadProtSci2010 (namespace)
 
411