~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: 2015-04-29 23:44:49 UTC
  • mfrom: (5.1.3 experimental)
  • Revision ID: package-import@ubuntu.com-20150429234449-mbhy9utku6hp6oq8
Tags: 0~20150313.gitfa668e1-1
Upload into unstable.

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