source: doc/manual.lyx@ e40e335

Last change on this file since e40e335 was e40e335, checked in by baerbaer <baerbaer@…>, 16 years ago

Initial import to BerliOS corresponding to 3.0.4

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/smmp/trunk@1 26dc1dd8-5c4e-0410-9ffe-d298b4865968

  • Property mode set to 100644
File size: 140.3 KB
Line 
1#LyX 1.5.0rc2 created this file. For more info see http://www.lyx.org/
2\lyxformat 276
3\begin_document
4\begin_header
5\textclass revtex4
6\begin_preamble
7\usepackage{listings}
8\usepackage[]{hyperref}
9\end_preamble
10\options rmp, superscriptaddress
11\language english
12\inputencoding auto
13\font_roman times
14\font_sans helvet
15\font_typewriter courier
16\font_default_family default
17\font_sc false
18\font_osf false
19\font_sf_scale 100
20\font_tt_scale 100
21\graphics default
22\paperfontsize 10
23\spacing single
24\papersize a4paper
25\use_geometry false
26\use_amsmath 1
27\use_esint 0
28\cite_engine natbib_numerical
29\use_bibtopic false
30\paperorientation portrait
31\secnumdepth 3
32\tocdepth 3
33\paragraph_separation indent
34\defskip medskip
35\quotes_language english
36\papercolumns 1
37\papersides 2
38\paperpagestyle default
39\tracking_changes false
40\output_changes false
41\author "Jan H. Meinke"
42\end_header
43
44\begin_body
45
46\begin_layout Title
47
48\size huge
49SMMP v.
50 3
51\end_layout
52
53\begin_layout Author
54F.
55 Eisenmenger
56\end_layout
57
58\begin_layout Author Email
59eisenmenger@fmp-berlin.de
60\end_layout
61
62\begin_layout Affiliation
63Leibniz-Institut f
64\begin_inset ERT
65status inlined
66
67\begin_layout Standard
68
69{
70\backslash
71"u}
72\end_layout
73
74\end_inset
75
76r Molekulare Pharmakologie, 13125 Berlin, Germany
77\end_layout
78
79\begin_layout Author
80U.H.E.
81 Hansmann
82\end_layout
83
84\begin_layout Author Email
85hansmann@mtu.edu
86\end_layout
87
88\begin_layout Affiliation
89Michigan Technological University, Houghton, MI 49931-1291, USA
90\end_layout
91
92\begin_layout Affiliation
93Computational Biology and Biophysics, NIC, 52428 J
94\begin_inset ERT
95status inlined
96
97\begin_layout Standard
98
99{
100\backslash
101"u}
102\end_layout
103
104\end_inset
105
106lich, Germany
107\end_layout
108
109\begin_layout Author
110Sh.
111 Hayryan
112\end_layout
113
114\begin_layout Author Email
115shura@phys.sinica.edu.tw
116\end_layout
117
118\begin_layout Author
119C.-K.
120 Hu
121\end_layout
122
123\begin_layout Author Email
124huck@phys.sinica.edu.tw
125\end_layout
126
127\begin_layout Affiliation
128Institute of Physics, Academia Sinica, Nankang, Taipei 11529, Taiwan
129\end_layout
130
131\begin_layout Author
132J.
133 H.
134 Meinke
135\end_layout
136
137\begin_layout Author Email
138j.meinke@fz-juelich.de
139\end_layout
140
141\begin_layout Affiliation
142Computational Biology and Biophysics, NIC, 52428 J
143\begin_inset ERT
144status inlined
145
146\begin_layout Standard
147
148{
149\backslash
150"u}
151\end_layout
152
153\end_inset
154
155lich, Germany
156\end_layout
157
158\begin_layout Author
159S.
160 Mohanty
161\end_layout
162
163\begin_layout Author Email
164s.mohanty@fz-juelich.de
165\end_layout
166
167\begin_layout Affiliation
168Computational Biology and Biophysics, NIC, 52428 J
169\begin_inset ERT
170status inlined
171
172\begin_layout Standard
173
174{
175\backslash
176"u}
177\end_layout
178
179\end_inset
180
181lich, Germany
182\end_layout
183
184\begin_layout Standard
185\noindent
186\begin_inset LatexCommand tableofcontents
187
188\end_inset
189
190
191\end_layout
192
193\begin_layout Section
194Introduction
195\end_layout
196
197\begin_layout Standard
198The SMMP (
199\series bold
200S
201\series default
202imple
203\series bold
204M
205\series default
206olecular
207\series bold
208M
209\series default
210echanics for
211\series bold
212P
213\series default
214roteins) package is designed for molecular simulations of linear proteins
215 within the standard geometry model.
216 The package contains various modern Monte Carlo algorithms and energy minimizat
217ion routines.
218 The energy of a protein can be calculated by exploiting one of four force
219 fields: ECEPP/2, ECEPP/3
220\begin_inset LatexCommand citep
221key "ECEPP3"
222
223\end_inset
224
225, FLEX or Lund.
226 Two subroutines for approximating protein-solvent interactions by means
227 of calculating the solvent accessible surface area of atomic groups are
228 included.
229 Nine sets of solvation parameters are available.
230 All calculations are done with double precision, but the user can easily
231 modify this option by changing the corresponding IMPLICIT statement.
232\end_layout
233
234\begin_layout Standard
235This manual provides the user with the necessary information for installation
236 of the program, the format of the input and output files, a brief description
237 of the important routines, and describes some limitations of the package.
238 A few example runs providing detailed explanation of input and output are
239 added.
240 More information on SMMP, definitions, background and references for force
241 fields and algorithms as used in the program package can be found in
242\begin_inset LatexCommand citep
243key "Eisenmenger2001,Eisenmenger2006"
244
245\end_inset
246
247.
248\end_layout
249
250\begin_layout Standard
251SMMP is offered as Open Source.
252 The program is written in standard FORTRAN.
253 We encourage users to improve the code and add their own modules.
254 Please send us your modifications and additions, so we can add them to
255 future releases.
256 Or send us a note and let us know where users can download your modules.
257 The usage and distribution of the program are governed by the following
258 license agreement:
259\newline
260
261\end_layout
262
263\begin_layout Quote
264SMMP is free software; it can be used, modified, and redistributed under
265 the terms of the GNU General Public License version 2 (
266\shape italic
267http://www.gnu.org/licenses/gpl.html
268\shape default
269) as published by the Free Software Foundation, EXCEPT WHERE RESTRICTED
270 BY ONE OF THE FOLLOWING CLAUSES.
271
272\newline
273SMMP shall not be used for commercial or military purposes.
274 The authors request notification if parts of SMMP are incorporated in other
275 programs.
276\newline
277The use of SMMP has to be acknowledged in all resulting publications
278 by quoting:
279\shape italic
280F.
281 Eisenmenger, U.H.E.
282 Hansmann, S.
283 Hayryan and C.K.
284 Hu,
285\shape default
286
287\series bold
288[SMMP] A Modern Package for Protein Simulations
289\series default
290,
291\shape italic
292Comp.
293 Phys.
294 Comm.
295 138 (2001) 192-212
296\shape default
297;
298\series bold
299An Enhanced Version of SMMP - Open-Source Software Package for Simulation
300 of Proteins
301\series default
302,
303\shape italic
304Comp.
305 Phys.
306 Comm.
307 174 (2006) 422-
308\shape default
309429.
310
311\emph on
312J.
313 H.
314 Meinke, S.
315 Mohanty, F.
316 Eisenmenger and U.H.E.
317 Hansmann,
318\series bold
319\emph default
320 SMMP v.
321 3.0 --- Simulating proteins and protein interactions in Python and Fortran
322\series default
323, submitted to
324\emph on
325Comp.\InsetSpace ~
326Phys.\InsetSpace ~
327Comm.
328\emph default
329
330\newline
331 SMMP is distributed in the hope that it will be useful, but WITHOUT ANY
332 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
333 FOR A PARTICULAR PURPOSE.
334 See the GNU General Public License for more details.
335
336\end_layout
337
338\begin_layout Standard
339\noindent
340The most recent version of SMMP can be found on the program package's web
341 sites:
342\series bold
343http://www.smmp05.net
344\series default
345 or
346\series bold
347http://www.phy.mtu.edu/biophys/smmp.htm
348\series default
349.
350 Any suggestions for improvements of the code or reports on bugs are welcome.
351 Please send your remarks to the authors.
352\end_layout
353
354\begin_layout Standard
355\noindent
356
357\series bold
358Acknowledgments:
359\series default
360
361\newline
362 U.H.
363 acknowledges support by a research grant (CHE-9981874) of the National
364 Science Foundation (USA).
365 S.H.
366 and C.K.H.
367 are supported by Academia Sinica (Taipei) and by the National Science Council
368 of the Republic of China (Taiwan) under Contract No.
369 NSC 89-2112-M-001-084.
370
371\begin_inset ERT
372status collapsed
373
374\begin_layout Standard
375
376
377\backslash
378newpage
379\end_layout
380
381\begin_layout Standard
382
383\end_layout
384
385\end_inset
386
387
388\end_layout
389
390\begin_layout Section
391Changes from Previous Version
392\end_layout
393
394\begin_layout Subsection
395New Features
396\end_layout
397
398\begin_layout Subsubsection
399New Force Field
400\end_layout
401
402\begin_layout Paragraph
403Lund Force Field
404\end_layout
405
406\begin_layout Standard
407The Lund force fields is a fast force field that uses a minimal set of parameter
408s to obtain good folding statistics.
409 It has been used successfully for protein folding, unfolding, and aggregation
410 simulations.
411 For details see
412\begin_inset LatexCommand citep
413key "Irback2005"
414
415\end_inset
416
417.
418\end_layout
419
420\begin_layout Subsubsection
421Multi-molecule simulations
422\end_layout
423
424\begin_layout Standard
425SMMP 3.0 implements inter-molecular interactions based on the ECEPP/3 force
426 field.
427\end_layout
428
429\begin_layout Subsubsection
430Biased Gaussian Step
431\end_layout
432
433\begin_layout Standard
434A new Monte Carlo move that interpolates smoothly between two nearly fixed
435 end points.
436\end_layout
437
438\begin_layout Subsubsection
439Parallel energy calculation
440\end_layout
441
442\begin_layout Standard
443The energy calculation for the ECEPP/3 force field can now be done in parallel
444 making it possible to speed up simulations for serial algorithms.
445 Combining the parallel energy calculation with parallel tempering, SMMP
446 can be used efficiently on 2048 processors on an IBM BlueGene/L super computer.
447\end_layout
448
449\begin_layout Subsubsection
450Python bindings
451\end_layout
452
453\begin_layout Standard
454We now provide Python bindings to SMMP that make the data structure and
455 algorithms available from (interactive) Python scripts.
456
457\end_layout
458
459\begin_layout Subsection
460API Changes
461\end_layout
462
463\begin_layout Standard
464In previous versions of SMMP the parameters for each algorithm were given
465 in the source code of the algorithm using PARAMETER statements.
466 Now, the parameters are passed as function arguments making the program
467 much more flexible.
468 The following functions and subroutines now have a different signature:
469 anneal, canon, minim, mulcan_par, mulcan_sim, outpdb, outvar, partem_p,
470 and regul.
471 For details see Section\InsetSpace ~
472
473\begin_inset LatexCommand ref
474reference "sec:Frequently-used-Functions"
475
476\end_inset
477
478.
479
480\end_layout
481
482\begin_layout Section
483Installation
484\end_layout
485
486\begin_layout Standard
487SMMP requires a FORTRAN 90 compatbile compiler.
488 We have compiled it using gfortran, pgif, xlf, and ifort on various platforms.
489 It should compile and link on any platform with a contemporary FORTRAN
490 compiler.
491 All subroutines are stored in *.f or *.f90 files.An example Makefile is included
492 in the package.
493 There are no machine dependent routines included in SMMP.
494 All COMMON blocks and the limiting parameters are gathered in INCL.H, which
495 is attached to the necessary modules through an INCLUDE statement.
496 After uncompressing and unpacking (via 'tar -xvf' command) the SMMP package
497 into a separate directory For the installation of SMMP the user needs to
498 run
499\family typewriter
500make
501\family default
502 in the directory with the source code.
503 You should edit the Makefile to customize the compiler command and compiler
504 options used.
505
506\end_layout
507
508\begin_layout Subsection
509Building pySMMP
510\end_layout
511
512\begin_layout Standard
513This version of SMMP includes Python bindings to SMMP.
514 To build them, you need f2py, which is part of the numpy package.
515 If f2py is already installed on your system, pySMMP is built by issuing
516 the command
517\emph on
518make pybind
519\emph default
520.
521
522\end_layout
523
524\begin_layout Standard
525\begin_inset ERT
526status collapsed
527
528\begin_layout Standard
529
530
531\backslash
532newpage
533\end_layout
534
535\begin_layout Standard
536
537\end_layout
538
539\begin_layout Standard
540
541\end_layout
542
543\end_inset
544
545
546\end_layout
547
548\begin_layout Section
549
550\emph on
551\noun on
552Biased Gaussian Steps
553\end_layout
554
555\begin_layout Subsection
556Introduction
557\end_layout
558
559\begin_layout Standard
560The Bias Gaussian Step, BGS for short, is a semi-local conformational update,
561 involving a concerted rotation of the backbone angles of 4 consecutive
562 residues in the protein chain.
563 The upstream part of the protein backbone,
564\begin_inset Quotes eld
565\end_inset
566
567before
568\begin_inset Quotes erd
569\end_inset
570
571 the first of the 4 residues used for BGS is left unchanged.
572 The downstream part,
573\begin_inset Quotes eld
574\end_inset
575
576after
577\begin_inset Quotes erd
578\end_inset
579
580 those 4 residues is moved slightly as a rigid body.
581 The section containing the 4 BGS residues is locally deformed.
582
583\end_layout
584
585\begin_layout Subsection
586Parameters
587\end_layout
588
589\begin_layout Standard
590The increments to the backbone angles involved in the update are first chosen
591 from a Gaussian distribution, and then biased to impart minimal changes
592 to the downstream parts of the chain.
593 If this later
594\begin_inset Quotes eld
595\end_inset
596
597locality
598\begin_inset Quotes erd
599\end_inset
600
601 condition is relaxed, they would be trivially Gaussian-distributed.
602 There are two parameters of relevance, called
603\begin_inset ERT
604status open
605
606\begin_layout Standard
607
608$a_{
609\backslash
610mathrm{BGS}}$
611\end_layout
612
613\end_inset
614
615 and
616\begin_inset ERT
617status open
618
619\begin_layout Standard
620
621$b_{
622\backslash
623mathrm{BGS}}$
624\end_layout
625
626\end_inset
627
628, declared in the common block
629\noun on
630bgs_r
631\noun default
632.
633
634\begin_inset ERT
635status open
636
637\begin_layout Standard
638
639$a_{
640\backslash
641mathrm{BGS}}$
642\end_layout
643
644\end_inset
645
646 controls the size of the increments, and hence directly influences the
647 acceptance rate of the updates.
648 Smaller the value of
649\begin_inset ERT
650status open
651
652\begin_layout Standard
653
654$a_{
655\backslash
656mathrm{BGS}}$
657\end_layout
658
659\end_inset
660
661, smaller the increments, and hence greater the chances of the update being
662 accepted.
663 Since a trivial zero size update is of little practical interest, even
664 if it is always accepted, it is desirable to have the value of
665\begin_inset ERT
666status open
667
668\begin_layout Standard
669
670$a_{
671\backslash
672mathrm{BGS}}$
673\end_layout
674
675\end_inset
676
677 as large as possible.
678
679\begin_inset ERT
680status open
681
682\begin_layout Standard
683
684$b_{
685\backslash
686mathrm{BGS}}$
687\end_layout
688
689\end_inset
690
691 controls the degree of locality of the update, i.e., to what extent the downstrea
692m parts should be allowed to move.
693 Larger
694\begin_inset ERT
695status open
696
697\begin_layout Standard
698
699$b_{
700\backslash
701mathrm{BGS}}$
702\end_layout
703
704\end_inset
705
706 means a stricter locality criterion, and smaller acceptance.
707 These two parameters should not be arbitrarily changed.
708 The default values in SMMP,
709\begin_inset ERT
710status open
711
712\begin_layout Standard
713
714$a_{
715\backslash
716mathrm{BGS}}=300$
717\end_layout
718
719\end_inset
720
721 and
722\begin_inset ERT
723status open
724
725\begin_layout Standard
726
727$b_{
728\backslash
729mathrm{BGS}}=10$
730\end_layout
731
732\end_inset
733
734 are tuned, to ensure maximum acceptance at a reasonable update size and
735 locality constraint.
736
737\end_layout
738
739\begin_layout Subsection
740Detailed balance and BGS
741\end_layout
742
743\begin_layout Standard
744Information about the current state of the protein is used inside BGS to
745 bias the increments towards greater locality.
746 Thus the current conformation affects the distribution of the incremental
747 angles.
748 This means that the reverse update would have a different probability of
749 being proposed.
750 Because of this, in order to ensure detail balance, an extra multiplicative
751 weight factor is needed for BGS along with the standard Metropolis weight,
752 to decide whether an update should be accepted.
753 The implementation of BGS in SMMP calculates this weight and evaluates
754 whether or not the proposed update was accepted.
755
756\end_layout
757
758\begin_layout Subsection
759The function BGS in SMMP
760\end_layout
761
762\begin_layout Standard
763BGS is implemented in SMMP as a function with the following signature:
764\end_layout
765
766\begin_layout Standard
767integer function bgs(eol1,dummy)
768\end_layout
769
770\begin_layout Standard
771The parameter eol1 passed to BGS is the energy of the system before the
772 call.
773 The argument
774\begin_inset Quotes eld
775\end_inset
776
777dummy
778\begin_inset Quotes erd
779\end_inset
780
781 is a function that calculates the exponent of the Metropolis weight function.
782 The return value is 1 for an accepted BGS move and 0 for a rejected move.
783
784\end_layout
785
786\begin_layout Subsubsection
787Using BGS in SMMP
788\end_layout
789
790\begin_layout Standard
791To use BGS, one must ensure that the subroutine init_lund, which initialises
792 several arrays used in BGS, is called during the initialisation phase of
793 the program.
794 These arrays store information about the BGS-capable angles in the protein
795 chain.
796 Therefore, init_lund should be called again, in case the program changes
797 the amino acid sequence of a molecule or the total number of molecules
798 in the system.
799
800\end_layout
801
802\begin_layout Standard
803The global switch
804\noun on
805upchswitch
806\noun default
807 controls how BGS is used by the metropolis subroutine, which is normally
808 the routine that calls BGS.
809 For
810\noun on
811upchswitch=0, BGS
812\noun default
813is never used.
814 For
815\noun on
816upchswitch=1,
817\noun default
818it is used with a probabilty
819\noun on
820bgsprob
821\noun default
822, which is another global parameter.
823 For
824\noun on
825upchswitch=2,
826\noun default
827BGS is used when possible with a temperature dependent probability.
828 At higher temperatures abrupt single angle changes are more effective in
829 browsing the conformation space quickly.
830 A local update like BGS should therefore have a small probability at high
831 temperatures.
832 At low temperatures, often the system is in a compact state with significant
833 secondary structure, and it is desirable to explore the neighbourhood of
834 that state to refine the structure.
835 BGS is more efficient at this compared to single angle updates, and hence
836 should have a higher probability at lower temperatures.
837 The choice,
838\noun on
839upchswitch=2
840\noun default
841uses this scheme for BGS use.
842
843\end_layout
844
845\begin_layout Section
846Getting Started
847\end_layout
848
849\begin_layout Standard
850The quickest way to get started is to use one of the examples in the EXAMPLES
851 directory as a template.
852 The examples are described in Section\InsetSpace ~
853
854\begin_inset LatexCommand ref
855reference "sec:Examples"
856
857\end_inset
858
859.
860\end_layout
861
862\begin_layout Standard
863SMMP does not include an interpretor of user-defined commands instead the
864 preparation of a simulation is done in the MAIN module calling corresponding
865 simulation subroutine(s).
866 After adjusting MAIN to your needs, SMMP has to be re-compiled.
867 We provide a sample main file with detailed comments.
868 For a comment-free version see Listing
869\begin_inset LatexCommand ref
870reference "listing:mainmc"
871
872\end_inset
873
874.
875
876\end_layout
877
878\begin_layout Standard
879\begin_inset listings
880lstparams "float=h,language=Fortran,numbers=left"
881inline false
882status open
883
884\begin_layout Standard
885
886 program main
887\end_layout
888
889\begin_layout Standard
890
891 include "../INCL.H"
892\end_layout
893
894\begin_layout Standard
895
896
897\end_layout
898
899\begin_layout Standard
900
901 character*80 libdir, seqfile, varfile
902\end_layout
903
904\begin_layout Standard
905
906 character grpn*4,grpc*4
907\end_layout
908
909\begin_layout Standard
910
911 integer nequi, nsweeps, nmes
912\end_layout
913
914\begin_layout Standard
915
916 double precision tmax, tmin
917\end_layout
918
919\begin_layout Standard
920
921 logical lrand
922\end_layout
923
924\begin_layout Standard
925
926\end_layout
927
928\begin_layout Standard
929
930 libdir = '../SMMP/'
931\end_layout
932
933\begin_layout Standard
934
935 ientyp = 0
936\end_layout
937
938\begin_layout Standard
939
940 sh2 = .true.
941
942\end_layout
943
944\begin_layout Standard
945
946 itysol = 0
947\end_layout
948
949\begin_layout Standard
950
951 call init_energy(libdir)
952\end_layout
953
954\begin_layout Standard
955
956\end_layout
957
958\begin_layout Standard
959
960 grpn = 'nh2'
961\end_layout
962
963\begin_layout Standard
964
965 grpc = 'cooh'
966\end_layout
967
968\begin_layout Standard
969
970 iabin = 1
971\end_layout
972
973\begin_layout Standard
974
975 seqfile='EXAMPLES/enkefa.seq'
976\end_layout
977
978\begin_layout Standard
979
980 varfile='EXAMPLES/enkefa.var'
981\end_layout
982
983\begin_layout Standard
984
985 ntlml = 0
986\end_layout
987
988\begin_layout Standard
989
990 call init_molecule(iabin,grpn,grpc,seqfile,varfile)
991\end_layout
992
993\begin_layout Standard
994
995\end_layout
996
997\begin_layout Standard
998
999 seed = 81236
1000\end_layout
1001
1002\begin_layout Standard
1003
1004 call sgrnd(seed)
1005\end_layout
1006
1007\begin_layout Standard
1008
1009 upchswitch= 0
1010\end_layout
1011
1012\begin_layout Standard
1013
1014
1015\end_layout
1016
1017\begin_layout Standard
1018
1019 nequi=100
1020\end_layout
1021
1022\begin_layout Standard
1023
1024 nsweeps=100000
1025\end_layout
1026
1027\begin_layout Standard
1028
1029 nmes=1000
1030\end_layout
1031
1032\begin_layout Standard
1033
1034 temp = 300
1035\end_layout
1036
1037\begin_layout Standard
1038
1039 lrand=.true.
1040
1041\end_layout
1042
1043\begin_layout Standard
1044
1045 call canon(nequi, nsweeps, nmes, temp,lrand)
1046\end_layout
1047
1048\begin_layout Standard
1049
1050
1051\end_layout
1052
1053\begin_layout Standard
1054
1055 end program main
1056\end_layout
1057
1058\begin_layout Standard
1059
1060\begin_inset Caption
1061
1062\begin_layout Standard
1063The basic main function for a Monte Carlo Simulation
1064\begin_inset LatexCommand label
1065name "listing:mainmc"
1066
1067\end_inset
1068
1069
1070\end_layout
1071
1072\end_inset
1073
1074
1075\end_layout
1076
1077\end_inset
1078
1079
1080\end_layout
1081
1082\begin_layout Standard
1083The following steps summarize how to run SMMP:
1084\end_layout
1085
1086\begin_layout Enumerate
1087Assign the path to the directory containing the standard amino acid residue
1088 libraries and the file 'charges' to the character variable 'libdir' (Line
1089 10).
1090\end_layout
1091
1092\begin_layout Enumerate
1093Select the force field and solvation model by setting the four paramters
1094 'flex', 'sh2', 'epsd', and 'itysol' to their appropriate values:
1095\begin_inset ERT
1096status open
1097
1098\begin_layout Standard
1099
1100
1101\backslash
1102begin{verbatim}
1103\end_layout
1104
1105\begin_layout Standard
1106
1107 * ientyp = 0 : ECEPP
1108\end_layout
1109
1110\begin_layout Standard
1111
1112 1 : FLEX
1113\end_layout
1114
1115\begin_layout Standard
1116
1117 2 : LUND
1118\end_layout
1119
1120\begin_layout Standard
1121
1122 3 : ECEPP + Abagyan
1123\end_layout
1124
1125\begin_layout Standard
1126
1127 * sh2 =.TRUE.
1128 : ECEPP/2 potential, sh2=.FALSE.: ECEPP/3
1129\end_layout
1130
1131\begin_layout Standard
1132
1133 * epsd=.TRUE.
1134 : Distant dependent dielectric permittivity
1135\end_layout
1136
1137\begin_layout Standard
1138
1139 epsd=.FALSE.
1140 : epsilon = 2
1141\end_layout
1142
1143\begin_layout Standard
1144
1145 * itysol = 0 : gas phase,
1146\end_layout
1147
1148\begin_layout Standard
1149
1150 itysol > 0 : approximation of protein-solvent interactions by means
1151\end_layout
1152
1153\begin_layout Standard
1154
1155 of a solvent accessible surface area approach with
1156\end_layout
1157
1158\begin_layout Standard
1159
1160 numerical estimation of the accessible area,
1161\end_layout
1162
1163\begin_layout Standard
1164
1165 itysol < 0 : same as above, but the accessible area is calculated
1166\end_layout
1167
1168\begin_layout Standard
1169
1170 analytically (considerably than itysol > 0).
1171\end_layout
1172
1173\begin_layout Standard
1174
1175
1176\backslash
1177end{verbatim}
1178\end_layout
1179
1180\end_inset
1181
1182 (Line 11--13).
1183\end_layout
1184
1185\begin_layout Enumerate
1186
1187\shape italic
1188call init_energy(libdir)
1189\shape default
1190 to initialize the energy parametrization (Line 12).
1191\end_layout
1192
1193\begin_layout Enumerate
1194Choose the N-terminal and C-terminal groups by assigning to appropriate
1195 strings to variables 'grpn' and 'grpc' (Line 16--17)
1196\end_layout
1197
1198\begin_layout Enumerate
1199Choose how the initial input is read in:
1200\begin_inset ERT
1201status collapsed
1202
1203\begin_layout Standard
1204
1205
1206\backslash
1207begin{verbatim}
1208\end_layout
1209
1210\begin_layout Standard
1211
1212 * iabin = 0 : read from PDB-file
1213\end_layout
1214
1215\begin_layout Standard
1216
1217 * iabin = 1 : read from sequence (and configuration) file
1218\end_layout
1219
1220\begin_layout Standard
1221
1222
1223\backslash
1224end{verbatim}
1225\end_layout
1226
1227\end_inset
1228
1229 (Line 18)
1230\end_layout
1231
1232\begin_layout Enumerate
1233Enter the names of the corresponding file(s) '
1234\shape italic
1235seqfil
1236\shape default
1237' and '
1238\shape italic
1239varfil
1240\shape default
1241' (Line 19--20).
1242 If there are empty, they'll be requested through an interactive command
1243 line dialog, issued by '
1244\shape italic
1245call init_molecule
1246\shape default
1247' (Line 22).
1248 The user can easily just supply the corresponding file names in a "here
1249 document", as shown in the example scripts .
1250\end_layout
1251
1252\begin_layout Enumerate
1253At this point the program is ready for calling task subroutines.
1254 Here we perform a canonical Monte Carlo simulation at T=300K.
1255 Two kinds of updates are avaible: a single angle update and the biased
1256 Gaussian step (bgs).
1257 For this simulation we turn bgs off by setting
1258\family typewriter
1259upchswitch=0
1260\family default
1261.
1262 Detailed examples for this and other simulation tasks can be found in the
1263 following section.
1264 Normally, simulation subroutines write data in output files, but one can
1265 also use output routines such as `
1266\shape italic
1267outpdb
1268\shape default
1269' in '
1270\shape italic
1271main
1272\shape default
1273'.
1274 The minimal output (written into standard output) is the name of the sequence
1275 file (extension .seq), name of configuration file (extension .var), and for
1276 each residue a list of dihedral angles together with their initially assigned
1277 values.
1278
1279\end_layout
1280
1281\begin_layout Enumerate
1282For parallel tempering jobs on on a multiprocessor system one has to replace
1283 '
1284\shape italic
1285main
1286\shape default
1287' by '
1288\shape italic
1289pmain
1290\shape default
1291'.
1292 The above protocol still applies, but one has to provide in addition the
1293 number of nodes with the variable '
1294\shape italic
1295no
1296\shape default
1297'.
1298
1299\end_layout
1300
1301\begin_layout Section
1302Programming with SMMP
1303\end_layout
1304
1305\begin_layout Standard
1306While SMMP provides several efficient sampling algorithms, you may want
1307 to improve an existing or implement a new algorithm.
1308 This section goes into more details and explains some of the nuts and bolts
1309 of SMMP.
1310\end_layout
1311
1312\begin_layout Paragraph
1313Where can I find information about atoms, residues, proteins, and dihedrals
1314\end_layout
1315
1316\begin_layout Standard
1317Configurations are stored in one dimensional arrays defined in INCL.H and
1318 shared through common blocks.
1319\begin_inset Note Note
1320status collapsed
1321
1322\begin_layout Standard
1323I hope, we'll have moved most of the arrays to modules before publication.
1324\end_layout
1325
1326\end_inset
1327
1328 It helps to think somewhat object oriented to understand the structure
1329 of the arrays.
1330 In general integer arrays start with the letter 'i'.
1331 The abbreviation 'ml' relates to molecules, 'rs' to residues, and 'at'
1332 to atoms.
1333 Several boundary arrays are pointers to the first and last element and
1334 end in '1' for the first element and '2' for the last element.
1335 For example, irsml1(i) is the index of the first residue in molecule
1336\begin_inset Formula $i$
1337\end_inset
1338
1339, iatrs1(irsml(i)) is the index of the first atom of the first residue of
1340 molecule
1341\begin_inset Formula $i$
1342\end_inset
1343
1344.
1345 If iat = iatrs1(irsml(i)), then we can access the coordinates of the atom
1346 using xat(iat), yat(iat), z(iat).
1347 Using this scheme we can cycle through all the atoms in the system.
1348 An example is shown in Listing
1349\begin_inset ERT
1350status open
1351
1352\begin_layout Standard
1353
1354
1355\backslash
1356ref{listing:outpdb}
1357\end_layout
1358
1359\end_inset
1360
1361.
1362
1363\begin_inset ERT
1364status open
1365
1366\begin_layout Standard
1367
1368
1369\backslash
1370lstset{language=Fortran}
1371\end_layout
1372
1373\begin_layout Standard
1374
1375
1376\backslash
1377begin{lstlisting}[float=p, caption={Using the indices to cycle through all
1378 the atoms in the system.
1379 This snippet is taken from the subroutine outpdb, which writes the current
1380 configuration to a file using the pdb format.}, label=listing:outpdb]
1381\end_layout
1382
1383\begin_layout Standard
1384
1385irs=0
1386\end_layout
1387
1388\begin_layout Standard
1389
1390iat0 = 0
1391\end_layout
1392
1393\begin_layout Standard
1394
1395do inml = nml0, nml1
1396\end_layout
1397
1398\begin_layout Standard
1399
1400 iat = iat0
1401\end_layout
1402
1403\begin_layout Standard
1404
1405 chid = char(64 + inml)
1406\end_layout
1407
1408\begin_layout Standard
1409
1410 ifirs=irsml1(inml)
1411\end_layout
1412
1413\begin_layout Standard
1414
1415 ifiat=iatrs1(ifirs)
1416\end_layout
1417
1418\begin_layout Standard
1419
1420 do nrs=ifirs,irsml2(inml)
1421\end_layout
1422
1423\begin_layout Standard
1424
1425 irs=irs+1
1426\end_layout
1427
1428\begin_layout Standard
1429
1430 res(1:)=seq(nrs)(1:3)
1431\end_layout
1432
1433\begin_layout Standard
1434
1435 do i=iatrs1(nrs),iatrs2(nrs)
1436\end_layout
1437
1438\begin_layout Standard
1439
1440 iat=iat+1
1441\end_layout
1442
1443\begin_layout Standard
1444
1445 atnm=' '
1446\end_layout
1447
1448\begin_layout Standard
1449
1450 atnm(2:5)=nmat(i) ! nmat(i) contains the name of atom i
1451\end_layout
1452
1453\begin_layout Standard
1454
1455 if (atnm(5:5).ne.' ') then
1456\end_layout
1457
1458\begin_layout Standard
1459
1460 atnm(1:1)=atnm(5:5) !!
1461\end_layout
1462
1463\begin_layout Standard
1464
1465 atnm(5:5)=' '
1466\end_layout
1467
1468\begin_layout Standard
1469
1470 endif
1471\end_layout
1472
1473\begin_layout Standard
1474
1475 z=zat(i)-rz
1476\end_layout
1477
1478\begin_layout Standard
1479
1480 call toupst(atnm) ! converts a string to all uppercase
1481\end_layout
1482
1483\begin_layout Standard
1484
1485 call toupst(res)
1486\end_layout
1487
1488\begin_layout Standard
1489
1490\end_layout
1491
1492\begin_layout Standard
1493
1494 write (npdb,1) 'ATOM',iat,atnm,res(1:3),chid,irs,cdin,
1495\end_layout
1496
1497\begin_layout Standard
1498
1499 xat(i), yat(i),zat(i),occ,bva
1500
1501\end_layout
1502
1503\begin_layout Standard
1504
1505 enddo
1506\end_layout
1507
1508\begin_layout Standard
1509
1510 enddo
1511\end_layout
1512
1513\begin_layout Standard
1514
1515enddo
1516\end_layout
1517
1518\begin_layout Standard
1519
1520
1521\backslash
1522end{lstlisting}
1523\end_layout
1524
1525\end_inset
1526
1527
1528\begin_inset Float table
1529placement p
1530wide false
1531sideways false
1532status collapsed
1533
1534\begin_layout Standard
1535\begin_inset Tabular
1536<lyxtabular version="3" rows="9" columns="3">
1537<features>
1538<column alignment="center" valignment="top" leftline="true" width="0">
1539<column alignment="center" valignment="top" leftline="true" width="0">
1540<column alignment="left" valignment="top" leftline="true" rightline="true" width="35col%">
1541<row topline="true" bottomline="true">
1542<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1543\begin_inset Text
1544
1545\begin_layout Standard
1546Variable Name
1547\end_layout
1548
1549\end_inset
1550</cell>
1551<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1552\begin_inset Text
1553
1554\begin_layout Standard
1555Type
1556\end_layout
1557
1558\end_inset
1559</cell>
1560<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1561\begin_inset Text
1562
1563\begin_layout Standard
1564Description
1565\end_layout
1566
1567\end_inset
1568</cell>
1569</row>
1570<row topline="true">
1571<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1572\begin_inset Text
1573
1574\begin_layout Standard
1575ityat
1576\end_layout
1577
1578\end_inset
1579</cell>
1580<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1581\begin_inset Text
1582
1583\begin_layout Standard
1584array of int
1585\end_layout
1586
1587\end_inset
1588</cell>
1589<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1590\begin_inset Text
1591
1592\begin_layout Standard
1593Index of type of atom
1594\end_layout
1595
1596\end_inset
1597</cell>
1598</row>
1599<row topline="true">
1600<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1601\begin_inset Text
1602
1603\begin_layout Standard
1604xat, yat, zat
1605\end_layout
1606
1607\end_inset
1608</cell>
1609<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1610\begin_inset Text
1611
1612\begin_layout Standard
1613arrays of double
1614\end_layout
1615
1616\end_inset
1617</cell>
1618<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1619\begin_inset Text
1620
1621\begin_layout Standard
1622Cartesian coordinates of atom
1623\end_layout
1624
1625\end_inset
1626</cell>
1627</row>
1628<row topline="true">
1629<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1630\begin_inset Text
1631
1632\begin_layout Standard
1633cgat
1634\end_layout
1635
1636\end_inset
1637</cell>
1638<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1639\begin_inset Text
1640
1641\begin_layout Standard
1642array of double
1643\end_layout
1644
1645\end_inset
1646</cell>
1647<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1648\begin_inset Text
1649
1650\begin_layout Standard
1651Partial electric charge on atom
1652\end_layout
1653
1654\end_inset
1655</cell>
1656</row>
1657<row topline="true">
1658<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1659\begin_inset Text
1660
1661\begin_layout Standard
1662nmat
1663\end_layout
1664
1665\end_inset
1666</cell>
1667<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1668\begin_inset Text
1669
1670\begin_layout Standard
1671array of character*4
1672\end_layout
1673
1674\end_inset
1675</cell>
1676<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1677\begin_inset Text
1678
1679\begin_layout Standard
1680Name of atom, e.g., C, N, O, H1, H2
1681\end_layout
1682
1683\end_inset
1684</cell>
1685</row>
1686<row topline="true">
1687<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1688\begin_inset Text
1689
1690\begin_layout Standard
1691iowat
1692\end_layout
1693
1694\end_inset
1695</cell>
1696<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1697\begin_inset Text
1698
1699\begin_layout Standard
1700array of int
1701\end_layout
1702
1703\end_inset
1704</cell>
1705<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1706\begin_inset Text
1707
1708\begin_layout Standard
1709Index of preceeding atom (see Fig.\InsetSpace ~
1710
1711\begin_inset LatexCommand ref
1712reference "fig:Enumeration-of-atoms"
1713
1714\end_inset
1715
1716), 0 if no preceeding atom.
1717\end_layout
1718
1719\end_inset
1720</cell>
1721</row>
1722<row topline="true">
1723<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1724\begin_inset Text
1725
1726\begin_layout Standard
1727iyowat
1728\end_layout
1729
1730\end_inset
1731</cell>
1732<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1733\begin_inset Text
1734
1735\begin_layout Standard
1736array of int
1737\end_layout
1738
1739\end_inset
1740</cell>
1741<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1742\begin_inset Text
1743
1744\begin_layout Standard
1745Type of bond with preceeding atom.
1746\begin_inset Note Note
1747status open
1748
1749\begin_layout Standard
1750Maybe, this should be called ityinbdat.
1751\end_layout
1752
1753\end_inset
1754
1755
1756\end_layout
1757
1758\end_inset
1759</cell>
1760</row>
1761<row topline="true" bottomline="true">
1762<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1763\begin_inset Text
1764
1765\begin_layout Standard
1766nbdat
1767\end_layout
1768
1769\end_inset
1770</cell>
1771<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1772\begin_inset Text
1773
1774\begin_layout Standard
1775array of int
1776\end_layout
1777
1778\end_inset
1779</cell>
1780<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1781\begin_inset Text
1782
1783\begin_layout Standard
1784Number of bonds to succeeding atom (outgoing bonds)
1785\end_layout
1786
1787\end_inset
1788</cell>
1789</row>
1790<row bottomline="true">
1791<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1792\begin_inset Text
1793
1794\begin_layout Standard
1795ibdat
1796\end_layout
1797
1798\end_inset
1799</cell>
1800<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1801\begin_inset Text
1802
1803\begin_layout Standard
1804two dimensional array of int
1805\end_layout
1806
1807\end_inset
1808</cell>
1809<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1810\begin_inset Text
1811
1812\begin_layout Standard
1813Indices of successor atoms
1814\end_layout
1815
1816\end_inset
1817</cell>
1818</row>
1819</lyxtabular>
1820
1821\end_inset
1822
1823
1824\end_layout
1825
1826\begin_layout Standard
1827\begin_inset Caption
1828
1829\begin_layout Standard
1830\begin_inset LatexCommand label
1831name "tab:atomic-properties"
1832
1833\end_inset
1834
1835List of variables storing atomic properties.
1836 All the properties of atom
1837\begin_inset Formula $i$
1838\end_inset
1839
1840 are accessed as the
1841\begin_inset Formula $i$
1842\end_inset
1843
1844th element of the arrays.
1845\end_layout
1846
1847\end_inset
1848
1849
1850\end_layout
1851
1852\end_inset
1853
1854
1855\begin_inset Float table
1856placement p
1857wide false
1858sideways false
1859status collapsed
1860
1861\begin_layout Standard
1862\begin_inset Tabular
1863<lyxtabular version="3" rows="8" columns="3">
1864<features>
1865<column alignment="center" valignment="top" leftline="true" width="0">
1866<column alignment="center" valignment="top" leftline="true" width="0">
1867<column alignment="center" valignment="top" leftline="true" rightline="true" width="35col%">
1868<row topline="true" bottomline="true">
1869<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1870\begin_inset Text
1871
1872\begin_layout Standard
1873Name
1874\end_layout
1875
1876\end_inset
1877</cell>
1878<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1879\begin_inset Text
1880
1881\begin_layout Standard
1882Type
1883\end_layout
1884
1885\end_inset
1886</cell>
1887<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1888\begin_inset Text
1889
1890\begin_layout Standard
1891Description
1892\end_layout
1893
1894\end_inset
1895</cell>
1896</row>
1897<row topline="true">
1898<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1899\begin_inset Text
1900
1901\begin_layout Standard
1902xbaat, ybaat, zbaat
1903\end_layout
1904
1905\end_inset
1906</cell>
1907<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1908\begin_inset Text
1909
1910\begin_layout Standard
19113 arrays of double
1912\end_layout
1913
1914\end_inset
1915</cell>
1916<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1917\begin_inset Text
1918
1919\begin_layout Standard
1920Rotation axis for valence angle.
1921 (see Fig.
1922 )
1923\end_layout
1924
1925\end_inset
1926</cell>
1927</row>
1928<row topline="true">
1929<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1930\begin_inset Text
1931
1932\begin_layout Standard
1933baat
1934\end_layout
1935
1936\end_inset
1937</cell>
1938<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1939\begin_inset Text
1940
1941\begin_layout Standard
1942array of double
1943\end_layout
1944
1945\end_inset
1946</cell>
1947<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1948\begin_inset Text
1949
1950\begin_layout Standard
1951Valence angle in radians
1952\end_layout
1953
1954\end_inset
1955</cell>
1956</row>
1957<row topline="true">
1958<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1959\begin_inset Text
1960
1961\begin_layout Standard
1962xtoat, ytoat, ztoat
1963\end_layout
1964
1965\end_inset
1966</cell>
1967<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1968\begin_inset Text
1969
1970\begin_layout Standard
19713 arrays of double
1972\end_layout
1973
1974\end_inset
1975</cell>
1976<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1977\begin_inset Text
1978
1979\begin_layout Standard
1980Rotation axis for dihedral (torsion) angle.
1981 (see Fig.)
1982\end_layout
1983
1984\end_inset
1985</cell>
1986</row>
1987<row topline="true">
1988<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1989\begin_inset Text
1990
1991\begin_layout Standard
1992toat
1993\end_layout
1994
1995\end_inset
1996</cell>
1997<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1998\begin_inset Text
1999
2000\begin_layout Standard
2001array of double
2002\end_layout
2003
2004\end_inset
2005</cell>
2006<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2007\begin_inset Text
2008
2009\begin_layout Standard
2010Torsion angle defined by iowat(iowat(iowat(i))), iowat(iowat(i)), iowat(i),
2011 i in radians (see Fig.)
2012\end_layout
2013
2014\end_inset
2015</cell>
2016</row>
2017<row topline="true">
2018<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2019\begin_inset Text
2020
2021\begin_layout Standard
2022blat
2023\end_layout
2024
2025\end_inset
2026</cell>
2027<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2028\begin_inset Text
2029
2030\begin_layout Standard
2031array of double
2032\end_layout
2033
2034\end_inset
2035</cell>
2036<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2037\begin_inset Text
2038
2039\begin_layout Standard
2040Length of bond.
2041\end_layout
2042
2043\end_inset
2044</cell>
2045</row>
2046<row topline="true">
2047<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2048\begin_inset Text
2049
2050\begin_layout Standard
2051ixmsat
2052\end_layout
2053
2054\end_inset
2055</cell>
2056<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2057\begin_inset Text
2058
2059\begin_layout Standard
2060array of int
2061\end_layout
2062
2063\end_inset
2064</cell>
2065<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2066\begin_inset Text
2067
2068\begin_layout Standard
2069Index of moving set belonging to atom
2070\end_layout
2071
2072\end_inset
2073</cell>
2074</row>
2075<row topline="true" bottomline="true">
2076<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2077\begin_inset Text
2078
2079\begin_layout Standard
2080
2081\end_layout
2082
2083\end_inset
2084</cell>
2085<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2086\begin_inset Text
2087
2088\begin_layout Standard
2089
2090\end_layout
2091
2092\end_inset
2093</cell>
2094<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2095\begin_inset Text
2096
2097\begin_layout Standard
2098
2099\end_layout
2100
2101\end_inset
2102</cell>
2103</row>
2104</lyxtabular>
2105
2106\end_inset
2107
2108
2109\end_layout
2110
2111\begin_layout Standard
2112\begin_inset Caption
2113
2114\begin_layout Standard
2115\begin_inset LatexCommand label
2116name "tab:dihedral-to-atom"
2117
2118\end_inset
2119
2120Each dihedral and valence angle and the corresponding moving set is associated
2121 with a covalent bond which in turn is defined by its tail atom.
2122 This table list the related variables.
2123
2124\end_layout
2125
2126\end_inset
2127
2128
2129\end_layout
2130
2131\end_inset
2132
2133
2134\begin_inset Float figure
2135wide false
2136sideways false
2137status collapsed
2138
2139\begin_layout Standard
2140\align center
2141\begin_inset Graphics
2142 filename angle_defs.eps
2143 scaleBeforeRotation
2144 subcaption
2145
2146\end_inset
2147
2148
2149\begin_inset Graphics
2150 filename dihedral_defs.eps
2151 scaleBeforeRotation
2152 subcaption
2153
2154\end_inset
2155
2156
2157\end_layout
2158
2159\begin_layout Standard
2160\begin_inset Caption
2161
2162\begin_layout Standard
2163\begin_inset LatexCommand label
2164name "fig:angle-defs-in-SMMP"
2165
2166\end_inset
2167
2168Angle in SMMP.
2169 There are two different types of angles in SMMP (and proteins in general):
2170 bond and torsional angles.
2171 The bond or valence angle is show in (a).
2172 The red arrow indicates the rotation axis and is proportional to the cross
2173 product of the two bonds
2174\begin_inset Formula $(1,4)$
2175\end_inset
2176
2177 and
2178\begin_inset Formula $(4,25)$
2179\end_inset
2180
2181making up the angle.
2182 The angle
2183\begin_inset Formula $\alpha$
2184\end_inset
2185
2186 is associated with atom
2187\begin_inset Formula $4$
2188\end_inset
2189
2190.
2191 The dihedral or torsional angles are rotations around a bond and determined
2192 by the angles between the two adjacent planes.
2193 For example, the angle
2194\begin_inset Formula $\psi$
2195\end_inset
2196
2197 in (b) is the angle between the plane defined by atoms 1, 4, and 25, and
2198 the plane defined by 4, 25, and 28.
2199 We could therefore reference this angle using the quadruplet (1, 4, 25,
2200 28).
2201 Note that atom 1 is the predecessor of atom 4, atom 4 the predecessor of
2202 25, and, finally, atom 25 the predecessor of 28.
2203 SMMP uses this relation to associate the angle
2204\begin_inset Formula $\psi$
2205\end_inset
2206
2207 with atom 28.
2208\end_layout
2209
2210\end_inset
2211
2212
2213\end_layout
2214
2215\end_inset
2216
2217
2218\end_layout
2219
2220\begin_layout Standard
2221Table
2222\begin_inset LatexCommand ref
2223reference "tab:atomic-properties"
2224
2225\end_inset
2226
2227 lists the arrays containing the atomic properties such as charge, position,
2228 and in- and outgoing bonds.
2229 In the standard geometry configurations can defined by the dihedral angles.
2230 The variables associated with the angles are given in Table
2231\begin_inset LatexCommand ref
2232reference "tab:dihedral-to-atom"
2233
2234\end_inset
2235
2236 and a description of the angles can be found in Fig.\InsetSpace ~
2237
2238\begin_inset LatexCommand ref
2239reference "fig:angle-defs-in-SMMP"
2240
2241\end_inset
2242
2243.
2244\end_layout
2245
2246\begin_layout Paragraph
2247\begin_inset Note Note
2248status open
2249
2250\begin_layout Standard
2251Why are the names so short and what do they mean?
2252\end_layout
2253
2254\begin_layout Paragraph
2255Setting up a force field
2256\end_layout
2257
2258\begin_layout Paragraph
2259Loading a molecule from a .seq and .var file
2260\end_layout
2261
2262\begin_layout Standard
2263fixed variables, default values, access?
2264\end_layout
2265
2266\begin_layout Paragraph
2267Loading a molecule from a PDB file
2268\end_layout
2269
2270\begin_layout Standard
2271where are things stored? what does regularization do?
2272\end_layout
2273
2274\end_inset
2275
2276
2277\end_layout
2278
2279\begin_layout Section
2280Limitations
2281\end_layout
2282
2283\begin_layout Standard
2284All parameters which limit the usage of SMMP are stored in the file INCL.H.
2285 The most important ones are listed below.
2286 The values of these parameters should be changed only in a consistent way!
2287
2288\begin_inset ERT
2289status collapsed
2290
2291\begin_layout Standard
2292
2293
2294\backslash
2295begin{verbatim}
2296\end_layout
2297
2298\begin_layout Standard
2299
2300\end_layout
2301
2302\begin_layout Standard
2303
2304mxml=1 max.
2305 number of molecules
2306\end_layout
2307
2308\begin_layout Standard
2309
2310\end_layout
2311
2312\begin_layout Standard
2313
2314mxrs=100 max.
2315 total number of residues
2316\end_layout
2317
2318\begin_layout Standard
2319
2320\end_layout
2321
2322\begin_layout Standard
2323
2324mxat=2000 max.
2325 total number of atoms
2326\end_layout
2327
2328\begin_layout Standard
2329
2330\end_layout
2331
2332\begin_layout Standard
2333
2334mxbd=3 max.
2335 number of bonds to following atoms
2336\end_layout
2337
2338\begin_layout Standard
2339
2340\end_layout
2341
2342\begin_layout Standard
2343
2344mxvr=mxrs*5 max.
2345 number of local variables
2346\end_layout
2347
2348\begin_layout Standard
2349
2350\end_layout
2351
2352\begin_layout Standard
2353
2354mxms=mxvr*3 max.
2355 total number of moving sets
2356\end_layout
2357
2358\begin_layout Standard
2359
2360\end_layout
2361
2362\begin_layout Standard
2363
2364mxvw=mxat*4 max.
2365 number of vdw domains
2366\end_layout
2367
2368\begin_layout Standard
2369
2370\end_layout
2371
2372\begin_layout Standard
2373
2374mx14=mxat*4 max.
2375 number of '1-4' partners
2376\end_layout
2377
2378\begin_layout Standard
2379
2380\end_layout
2381
2382\begin_layout Standard
2383
2384mxath=100, max.
2385 number of atoms in help-arrays
2386\end_layout
2387
2388\begin_layout Standard
2389
2390\end_layout
2391
2392\begin_layout Standard
2393
2394mxvrh=mxath max.
2395 number of variables in help
2396\end_layout
2397
2398\begin_layout Standard
2399
2400\end_layout
2401
2402\begin_layout Standard
2403
2404mxtyat=18 max.
2405 number of energetic atom-types
2406\end_layout
2407
2408\begin_layout Standard
2409
2410\end_layout
2411
2412\begin_layout Standard
2413
2414mxhbdo=4 max.
2415 types of Hydrogens as donors in HB
2416\end_layout
2417
2418\begin_layout Standard
2419
2420\end_layout
2421
2422\begin_layout Standard
2423
2424mxhbac=6 max.
2425 types of atoms as acceptors in HB
2426\end_layout
2427
2428\begin_layout Standard
2429
2430\end_layout
2431
2432\begin_layout Standard
2433
2434mxtyto=19 max.
2435 number of types of torsional potentials
2436\end_layout
2437
2438\begin_layout Standard
2439
2440\end_layout
2441
2442\begin_layout Standard
2443
2444nrsty=35 max.
2445 number of residue types
2446\end_layout
2447
2448\begin_layout Standard
2449
2450\end_layout
2451
2452\begin_layout Standard
2453
2454mxtysol=9 the number of solvation parameters sets
2455\end_layout
2456
2457\begin_layout Standard
2458
2459\end_layout
2460
2461\begin_layout Standard
2462
2463
2464\backslash
2465end{verbatim}
2466\end_layout
2467
2468\end_inset
2469
2470
2471\end_layout
2472
2473\begin_layout Standard
2474\noindent
2475Note also the following restrictions in the current version of SMMP:
2476\end_layout
2477
2478\begin_layout Enumerate
2479A single amino acid residue can not be simulated with the FLEX potential
2480\end_layout
2481
2482\begin_layout Enumerate
2483A protein must not start with a prolyl residue.
2484
2485\end_layout
2486
2487\begin_layout Section
2488Libraries and Parameter Files
2489\end_layout
2490
2491\begin_layout Standard
2492The residues which can be used with each parameter set are described in
2493 files
2494\shape italic
2495lib.sh2, lib.sh3
2496\shape default
2497, and
2498\shape italic
2499lib.flex
2500\shape default
2501, respectively.
2502 The file
2503\shape italic
2504charges
2505\shape default
2506 is needed for N- and C-terminal residues with FLEX parameters.
2507 The name of the directory, containing these 4 files should be given in
2508 string 'libdir', which is assigned in module MAIN.
2509 The choice between parameter sets for potentials ECEPP/2 and ECEPP/3 is
2510 done by the logical variable '
2511\shape italic
2512sh2
2513\shape default
2514'.
2515 The potential FLEX is set by the logical variable '
2516\shape italic
2517flex
2518\shape default
2519'.
2520\end_layout
2521
2522\begin_layout Standard
2523The amino acid residue libraries contain chemical and structural data for
2524 each residue according the IUPAC-IUB nomenclature.
2525 The library files consist of blocks of records with each block representing
2526 one residue.
2527 The first line in each block starts with a '#' and contains the name of
2528 the residue and its total number of atoms.
2529 Each following line within the block describes one atom.
2530 Listed are: its name, the bond length and the valence angle to construct
2531 this atom, the type and the name of corresponding torsion angle, the partial
2532 charge for the atom, the type of the atom, as well as the previous and
2533 the following atoms (max.
2534 3), it is connected to.
2535 The atom and torsional parameters in the libraries are the same as in the
2536 original ECEPP/2/3 and FLEX potentials.
2537 However, it should be noted that SMMP has its own numeration of the atom
2538 types and the types of torsions (see [1,2] for more details).
2539\end_layout
2540
2541\begin_layout Standard
2542The arrays with the parameters for non bonded pairwise potentials (Van der
2543 Waals, hydrogen bonds, electrostatic) and the atomic solvation parameters
2544 are stored in the BLOCK DATA section of '
2545\shape italic
2546init_energy.f
2547\shape default
2548'.
2549\end_layout
2550
2551\begin_layout Standard
2552SMMP employs 9 different sets of atomic solvation parameters.
2553 We do not include references to the original works where these sets are
2554 defined in this document, since this manual is only a supplement to our
2555 articles
2556\begin_inset LatexCommand cite
2557key "Eisenmenger2001,Eisenmenger2006"
2558
2559\end_inset
2560
2561 where all relevant references can be found.
2562 The set of solvation parameters chosen is indicated by the value of integer
2563 variable '
2564\shape italic
2565itysol
2566\shape default
2567' in the MAIN module.
2568 If setting
2569\shape italic
2570itysol
2571\shape default
2572 to a positive value between
2573\shape italic
25741
2575\shape default
2576 and
2577\shape italic
25789
2579\shape default
2580 in MAIN, the numerical method
2581\shape italic
2582enysol
2583\shape default
2584 is applied to compute the solvation energy term.
2585 By choosing a negative integer value for
2586\shape italic
2587itysol
2588\shape default
2589 from the interval
2590\shape italic
2591[-1,-9]
2592\shape default
2593, the analytical method
2594\shape italic
2595esolan
2596\shape default
2597 is used to calculate the solvation energy.
2598 The tesselation points for numerically calculating the solvent accessible
2599 surface area have to be provided in an external file (named
2600\shape italic
2601tes.dat
2602\shape default
2603 in our package) and read in during initialization of solvation parameters
2604 in
2605\shape italic
2606init_energy.f
2607\shape default
2608.
2609\end_layout
2610
2611\begin_layout Section
2612Input Files
2613\end_layout
2614
2615\begin_layout Standard
2616SMMP requires an input file that specifies the sequence of amino acid residues
2617 of the protein in plain ASCII-format.
2618
2619\end_layout
2620
2621\begin_layout Subsection
2622PDB-File
2623\begin_inset LatexCommand label
2624name "sub:PDB-File"
2625
2626\end_inset
2627
2628
2629\end_layout
2630
2631\begin_layout Standard
2632Setting the variable '
2633\shape italic
2634iabin = 0
2635\shape default
2636' in
2637\shape italic
2638main.f
2639\shape default
2640 the sequence of amino acids is read from a PDB-file - the standard format
2641 in which protein structures are deposited in the Protein Data Bank.
2642 The atomic coordinates are also read from the PDB-file and can serve as
2643 a start configuration.
2644 However, the fixed bond lengths and angles in the standard geometry will
2645 slightly differ from the actual bond lengths and angles in the PDB-structure.
2646 Forcing the molecule into standard bonding geometry corresponding to a
2647 given potential may lead to un-physically high energies.
2648 Regularization through
2649\shape italic
2650regul.f
2651\shape default
2652 allows to obtain an optimized structure with standard bonding geometry
2653 with low internal energy without differing significantly from the PDB structure.
2654
2655\end_layout
2656
2657\begin_layout Subsection
2658Sequence File
2659\begin_inset LatexCommand label
2660name "sub:Sequence-File"
2661
2662\end_inset
2663
2664
2665\end_layout
2666
2667\begin_layout Standard
2668Setting `
2669\shape italic
2670iabin = 1
2671\shape default
2672' the amino acid sequence is read from a separate sequence file.
2673 Its first line must start with a '#' and may contain the name for the molecule.
2674 The residues in the following lines should be named as in the library files
2675
2676\shape italic
2677lib.sh2, lib.sh3
2678\shape default
2679, or
2680\shape italic
2681lib.flex
2682\shape default
2683.
2684 Residue names are not case-sensitive and should be separated from each
2685 other by at least one white space.
2686\end_layout
2687
2688\begin_layout Standard
2689Currently, the following residue types can be used in SMMP:
2690\end_layout
2691
2692\begin_layout Enumerate
2693Neutral:
2694\newline
2695 ala, arg, asn, asp, cys, gln, glu, gly, his* ; hise* ; hyp*, ile,
2696 leu, lys, met, phe, pro* , ser, thr, trp, tyr, val
2697\newline
2698 (where the residues
2699 marked by an asterix are characterized by:
2700\newline
2701 his - hydrogen at N-delta atom
2702\newline
2703
2704 hise - hydrogen at N-epsilon atom
2705\newline
2706 pro, hyp - down-puckering)
2707\end_layout
2708
2709\begin_layout Enumerate
2710Charged:
2711\newline
2712 arg+, asp-, glu-, his+, lys+.
2713
2714\end_layout
2715
2716\begin_layout Enumerate
2717Variants, only with ECEPP/3 parameters:
2718\newline
2719 hypu, prou - up-puckering
2720\newline
2721 cpro,
2722 cpru - cis-Pro with down-, up-puckering
2723\newline
2724 pron, pro+ - N-terminal neutral,
2725 charged with respect to NH2+ Pro
2726\end_layout
2727
2728\begin_layout Standard
2729End-groups need to be specified in
2730\shape italic
2731main.f
2732\shape default
2733 and are added through subroutine
2734\shape italic
2735addend
2736\shape default
2737 to the N- and C-terminus, correspondingly.
2738 Possible values for the end groups are nh2 and nh3+ for the N terminal
2739 and cooh and coo- for the C terminal.
2740 Note, that the acetyl group ('
2741\shape italic
2742ace
2743\shape default
2744') and N'methylamide ('
2745\shape italic
2746nme
2747\shape default
2748') need to be added as
2749\shape italic
2750residues
2751\shape default
2752 in the sequence file.
2753 In that case, input into '
2754\shape italic
2755addend
2756\shape default
2757' will be ignored by SMMP.
2758 Note also, that at present, molecules with only one single residue cannot
2759 be simulated with the FLEX data set and the first residue should not be
2760 a prolyl residue.
2761\end_layout
2762
2763\begin_layout Standard
2764An example sequence file (provided with SMMP) may look as follows:
2765\begin_inset ERT
2766status collapsed
2767
2768\begin_layout Standard
2769
2770
2771\backslash
2772begin{verbatim}
2773\end_layout
2774
2775\begin_layout Standard
2776
2777------------------- enkefa.seq --------------------------
2778\end_layout
2779
2780\begin_layout Standard
2781
2782# Met-Enkephalin
2783\end_layout
2784
2785\begin_layout Standard
2786
2787Tyr Gly Gly Phe Met
2788\end_layout
2789
2790\begin_layout Standard
2791
2792---------------------------------------------------------
2793\end_layout
2794
2795\begin_layout Standard
2796
2797
2798\backslash
2799end{verbatim}
2800\end_layout
2801
2802\end_inset
2803
2804
2805\end_layout
2806
2807\begin_layout Subsection
2808Configuration File (Dihedrals)
2809\begin_inset LatexCommand label
2810name "sub:Configuration-File-(Dihedrals)"
2811
2812\end_inset
2813
2814
2815\end_layout
2816
2817\begin_layout Standard
2818With option '
2819\shape italic
2820iabin = 1
2821\shape default
2822' SMMP allows to provide a designated start configuration by listing dihedral
2823 angles in a second input file.
2824 If no name of any configuration file is given (or the name of a non-existing
2825 file is entered), all variables retain their default values as defined
2826 in the libraries.
2827\end_layout
2828
2829\begin_layout Standard
2830This configuration file has to follow a fixed structure in which each line
2831 can be considered as a COMMAND for subroutine '
2832\shape italic
2833redvar
2834\shape default
2835'.
2836 The following syntax has to be used in each COMMAND: RESIDUE : VARIABLE
2837 : VALUE Hence, each line can consist of up to 3 FIELDS, separated by an
2838 ':'.
2839 In the first field the RESIDUE is selected through an INTEGER number which
2840 marks its position in the amino acid sequence.
2841 The second field should contain a string with the name of the VARIABLE,
2842 i.e.
2843 names the specific dihedral angle.
2844 The last field provides the value for the VARIABLE (a REAL number) and
2845 is mandatory.
2846 A symbol '&' following this number indicates that the variable will be
2847 fixed to that value throughout the whole simulation process.
2848 Spaces are not significant and are therefore ignored.
2849 Empty COMMANDS, as ' : : ', and empty lines or lines containing '#' are
2850 ignored.
2851 Missing fields are interpreted as 'for all':
2852\begin_inset ERT
2853status collapsed
2854
2855\begin_layout Standard
2856
2857
2858\backslash
2859begin{verbatim}
2860\end_layout
2861
2862\begin_layout Standard
2863
28641 : phi : 180 Set phi of residue #1 to 180 degrees
2865\end_layout
2866
2867\begin_layout Standard
2868
28691 : phi : 180& Keep phi of residue #1 fixed to 180 degrees
2870\end_layout
2871
2872\begin_layout Standard
2873
2874phi : 180 Set phi of ALL residues to 180 degrees
2875\end_layout
2876
2877\begin_layout Standard
2878
2879180 Set all variables to 180 degrees
2880\end_layout
2881
2882\begin_layout Standard
2883
2884
2885\backslash
2886end{verbatim}
2887\end_layout
2888
2889\end_inset
2890
2891 Several consecutive residues or variables can be indicated by ZONES of
2892 indices.
2893 Several NAMES can be indicated by wild-card ('*') and are case-sensitive:
2894
2895\begin_inset ERT
2896status collapsed
2897
2898\begin_layout Standard
2899
2900
2901\backslash
2902begin{verbatim}
2903\end_layout
2904
2905\begin_layout Standard
2906
29071-4 : phi : 180 Set 'phi' of residues #1,#2,#3, and #4 to 180 deg.
2908
2909\end_layout
2910
2911\begin_layout Standard
2912
29135 : x* : 60 Set all xi-angles of residue #5 to 60 deg.
2914\end_layout
2915
2916\begin_layout Standard
2917
2918
2919\backslash
2920end{verbatim}
2921\end_layout
2922
2923\end_inset
2924
2925 Several NAMES or INDICES may be given in the same field, when separated
2926 by ','.
2927 Similarly, several commands may be given on the same line and must be separated
2928 by ';'
2929\begin_inset ERT
2930status collapsed
2931
2932\begin_layout Standard
2933
2934
2935\backslash
2936begin{verbatim}
2937\end_layout
2938
2939\begin_layout Standard
2940
2941phi, psi : -30 Set all phi & psi to -30 deg.
2942
2943\end_layout
2944
2945\begin_layout Standard
2946
2947phi:-65; psi:-45 Set all phi=-65, all psi=-45
2948\end_layout
2949
2950\begin_layout Standard
2951
2952
2953\backslash
2954end{verbatim}
2955\end_layout
2956
2957\end_inset
2958
2959 Note, that dihedral angles are defined slightly differently in SMMP than
2960 in standard ECEPP (residue index in parenthesis):
2961\begin_inset ERT
2962status open
2963
2964\begin_layout Standard
2965
2966
2967\backslash
2968begin{verbatim}
2969\end_layout
2970
2971\begin_layout Standard
2972
2973 - psi of the i-th residue = defined by N (i-1) - CA(i-1) - C (i-1) - N(i)
2974
2975\end_layout
2976
2977\begin_layout Standard
2978
2979 - omg of the i-th residue = defined by CA(i-1) - C (i-1) - N (i) - CA(i)
2980
2981\end_layout
2982
2983\begin_layout Standard
2984
2985 - phi for the i-th residue = defined by C (i-1) - N (i) - CA(i) - C(i)
2986
2987\end_layout
2988
2989\begin_layout Standard
2990
2991
2992\backslash
2993end{verbatim}
2994\end_layout
2995
2996\end_inset
2997
2998 except:
2999\begin_inset ERT
3000status open
3001
3002\begin_layout Standard
3003
3004
3005\backslash
3006begin{verbatim}
3007\end_layout
3008
3009\begin_layout Standard
3010
3011phi for the 1st residue = defined by H1(1) - N (1) - CA(1) - C(1)
3012\end_layout
3013
3014\begin_layout Standard
3015
3016
3017\backslash
3018end{verbatim}
3019\end_layout
3020
3021\end_inset
3022
3023 (H2-atom in the N-terminal NH2-group is added via dihedral 'H2-N-CA-C'=
3024 phi + 120)
3025\end_layout
3026
3027\begin_layout Standard
3028If a molecule consists of n residues then:
3029\begin_inset ERT
3030status open
3031
3032\begin_layout Standard
3033
3034
3035\backslash
3036begin{verbatim}
3037\end_layout
3038
3039\begin_layout Standard
3040
3041 - pst = defines dihedral N (n) - CA(n) - C (n) - Oxt(n)
3042\end_layout
3043
3044\begin_layout Standard
3045
3046 - omt = defines dihedral CA(n) - C (n) - Oxt(n) - Hxt(n)
3047\end_layout
3048
3049\begin_layout Standard
3050
3051
3052\backslash
3053end{verbatim}
3054\end_layout
3055
3056\end_inset
3057
3058 (Oxt & Hxt comprise the hydroxyl of the C-terminal carboxyl group)
3059\end_layout
3060
3061\begin_layout Standard
3062The following example configuration file
3063\shape italic
3064enkefa.var
3065\shape default
3066 is provided with the program and may be used with the sequence file
3067\shape italic
3068enkefa.seq
3069\shape default
3070:
3071\begin_inset ERT
3072status collapsed
3073
3074\begin_layout Standard
3075
3076
3077\backslash
3078begin{verbatim}
3079\end_layout
3080
3081\begin_layout Standard
3082
3083------------------- enkefa.var --------------------------
3084\end_layout
3085
3086\begin_layout Standard
3087
30881 : phi : -86.24
3089\end_layout
3090
3091\begin_layout Standard
3092
30931 : x1 : -172.59
3094\end_layout
3095
3096\begin_layout Standard
3097
30981 : x2 : 78.71
3099\end_layout
3100
3101\begin_layout Standard
3102
31031 : x6 : -165.88
3104\end_layout
3105
3106\begin_layout Standard
3107
31082 : psi : 156.18
3109\end_layout
3110
3111\begin_layout Standard
3112
31132 : omg : 180.00
3114\end_layout
3115
3116\begin_layout Standard
3117
31182 : phi : -154.53
3119\end_layout
3120
3121\begin_layout Standard
3122
31233 : psi : 83.64
3124\end_layout
3125
3126\begin_layout Standard
3127
31283 : omg : 180.00
3129\end_layout
3130
3131\begin_layout Standard
3132
31333 : phi : 83.66
3134\end_layout
3135
3136\begin_layout Standard
3137
31384 : psi : -73.86
3139\end_layout
3140
3141\begin_layout Standard
3142
31434 : omg : 180.00
3144\end_layout
3145
3146\begin_layout Standard
3147
31484 : phi : -137.04
3149\end_layout
3150
3151\begin_layout Standard
3152
31534 : x1 : 58.79
3154\end_layout
3155
3156\begin_layout Standard
3157
31584 : x2 : 94.60
3159\end_layout
3160
3161\begin_layout Standard
3162
31635 : psi : 19.33
3164\end_layout
3165
3166\begin_layout Standard
3167
31685 : omg : -180.00
3169\end_layout
3170
3171\begin_layout Standard
3172
31735 : phi : -163.63
3174\end_layout
3175
3176\begin_layout Standard
3177
31785 : x1 : 52.76
3179\end_layout
3180
3181\begin_layout Standard
3182
31835 : x2 : 175.28
3184\end_layout
3185
3186\begin_layout Standard
3187
31885 : x3 : -179.83
3189\end_layout
3190
3191\begin_layout Standard
3192
31935 : x4 : -58.57
3194\end_layout
3195
3196\begin_layout Standard
3197
31985 : pst : 160.45
3199\end_layout
3200
3201\begin_layout Standard
3202
32035 : omt : 180.00
3204\end_layout
3205
3206\begin_layout Standard
3207
3208---------------------------------------------------------
3209\end_layout
3210
3211\begin_layout Standard
3212
3213
3214\backslash
3215end{verbatim}
3216\end_layout
3217
3218\end_inset
3219
3220
3221\end_layout
3222
3223\begin_layout Standard
3224\begin_inset Float figure
3225wide false
3226sideways false
3227status open
3228
3229\begin_layout Standard
3230\align center
3231\begin_inset Graphics
3232 filename atom_numbering.eps
3233 scaleBeforeRotation
3234
3235\end_inset
3236
3237
3238\end_layout
3239
3240\begin_layout Standard
3241\begin_inset Caption
3242
3243\begin_layout Standard
3244\begin_inset LatexCommand label
3245name "fig:Enumeration-of-atoms"
3246
3247\end_inset
3248
3249Enumeration of atoms in SMMP.
3250 Atoms are numbered starting from the N terminal of the protein.
3251 The terminal nitrogen has the index 1.
3252 Counting continues with the two attached hydrogens and then moves along
3253 the backbone.
3254 After the C
3255\begin_inset Formula $_{\alpha}$
3256\end_inset
3257
3258, we count along the side chain following a breadth-first scheme.
3259 Rings are enumerated counter clockwise.
3260
3261\end_layout
3262
3263\end_inset
3264
3265
3266\end_layout
3267
3268\end_inset
3269
3270
3271\end_layout
3272
3273\begin_layout Section
3274Frequently used Functions and Subroutines
3275\begin_inset LatexCommand label
3276name "sec:Frequently-used-Functions"
3277
3278\end_inset
3279
3280
3281\end_layout
3282
3283\begin_layout Subsection
3284Task Subroutines
3285\end_layout
3286
3287\begin_layout Standard
3288In the following we describe some important simulation subroutines and their
3289 requisites.
3290 For more information see [1,2].
3291 Following the philosophy behind SMMP these routines are rather simple and
3292 may serve as templates which the user can modify according to his special
3293 needs.
3294
3295\end_layout
3296
3297\begin_layout Subsubsection
3298Subroutine init_molecule(iabin, grpn, grpc, seqfile, varfile)
3299\end_layout
3300
3301\begin_layout Standard
3302(Usage: '
3303\emph on
3304call init_molecule(iabin, grpn, grpc, seqfile, varfile)')
3305\end_layout
3306
3307\begin_layout Standard
3308Initializes a new molecule and adds it to the system.
3309 The information is either read from a sequence (see
3310\begin_inset LatexCommand ref
3311reference "sub:Sequence-File"
3312
3313\end_inset
3314
3315) and, optionally, a variable file (see
3316\begin_inset LatexCommand ref
3317reference "sub:Configuration-File-(Dihedrals)"
3318
3319\end_inset
3320
3321) if
3322\emph on
3323iabin=1
3324\emph default
3325 or from a pdb file (see
3326\begin_inset LatexCommand ref
3327reference "sub:PDB-File"
3328
3329\end_inset
3330
3331) if
3332\emph on
3333
3334\begin_inset Formula $iabin\neq1$
3335\end_inset
3336
3337
3338\emph default
3339.
3340 If the molecule is read from a pdb file, the name of the file is given
3341 in
3342\emph on
3343seqfile
3344\emph default
3345.
3346 By repeatedly calling init_molecule, you can add several interacting molecules.
3347 The N-terminal group is determined by
3348\emph on
3349grpng
3350\emph default
3351 and the C-terminal group
3352\emph on
3353grpc.
3354\end_layout
3355
3356\begin_layout Subsubsection
3357Subroutine REGUL(nml, iter, nsteps,
3358\begin_inset Formula $\varepsilon$
3359\end_inset
3360
3361)
3362\begin_inset LatexCommand index
3363name "REGUL"
3364
3365\end_inset
3366
3367 (file regul.f)
3368\end_layout
3369
3370\begin_layout Standard
3371(Usage: '
3372\shape italic
3373call regul(nml, iter, nsteps,
3374\begin_inset Formula $\varepsilon$
3375\end_inset
3376
3377)
3378\shape default
3379')
3380\end_layout
3381
3382\begin_layout Standard
3383For a given PDB-structure the actual bond lengths and bond angles generally
3384 differ from those in the standard geometry model assumed with the ECEPP
3385 or FLEX potential.
3386 This subroutine is applied to determine the configuration within the standard
3387 geometry that is as close as possible to a given PDB-structure with an
3388 energy as low as possible.
3389 This process of fitting a PDB structure into standard geometry is called
3390 regularization.
3391 '
3392\shape italic
3393regul
3394\shape default
3395' requires the PDB-structure to be read into SMMP by setting '
3396\shape italic
3397iabin = 0
3398\shape default
3399' in '
3400\shape italic
3401main
3402\shape default
3403'.
3404 With this option, `
3405\shape italic
3406init_molecule
3407\shape default
3408' calls the subroutines `
3409\shape italic
3410pdbread
3411\shape default
3412' and `
3413\shape italic
3414pdbvars
3415\shape default
3416' that also to measure the dihedral angles in the PDB-structure.
3417 Using these dihedral angles a first model of the molecule is built using
3418 standard bonding geometry.
3419 Hence, '
3420\shape italic
3421regul
3422\shape default
3423' has to be called AFTER '
3424\shape italic
3425init_molecule
3426\shape default
3427'.
3428 '
3429\shape italic
3430nml
3431\shape default
3432' has to be set to 1 in the present version of SMMP.
3433\end_layout
3434
3435\begin_layout Standard
3436'
3437\shape italic
3438regul
3439\shape default
3440' starts with a minimization of the initial structure using only the sum
3441 of squared distances between atom positions of the SMMP structure to the
3442 PDB-structure as
3443\begin_inset Quotes erd
3444\end_inset
3445
3446constraint energy
3447\begin_inset Quotes erd
3448\end_inset
3449
3450.
3451 After this initial step, a list of bad atom contacts, i.e.
3452 atoms with vdW-energy of more than 2 kcal/mol (as calculated by '
3453\shape italic
3454cnteny
3455\shape default
3456') and the root-mean-square-deviation (rmsd) to the PDB-structure is printed
3457 out.
3458 In a second step, the physical energy is minimized, allowing only hydrogens
3459 to move, and bad contacts and the rmsd are evaluated, again.
3460 A number of iterations follow where a composite energy as the weighted
3461 sum of physical and constraint energy is minimized.
3462 In this iterations the weight of the constraint energy is successively
3463 lowered to zero, and that of the physical energy raised to one.
3464 At the end, the dihedral angles of the final structure are printed out
3465 together with its rmsd and list of remaining bad contacts.
3466
3467\end_layout
3468
3469\begin_layout Subsubsection
3470Subroutine MINIM(imin, maxit,
3471\begin_inset Formula $\varepsilon$
3472\end_inset
3473
3474)
3475\begin_inset LatexCommand index
3476name "MINIM"
3477
3478\end_inset
3479
3480 (file minim.f):
3481\end_layout
3482
3483\begin_layout Standard
3484(Usage:
3485\shape italic
3486'call minim(imin
3487\shape default
3488, maxit,
3489\begin_inset Formula $\varepsilon$
3490\end_inset
3491
3492)')
3493\newline
3494 This subroutine minimizes the current configuration of the molecule.
3495 It can be called from any point during the simulation once a configuration
3496 is defined.
3497 When calling this subroutine one needs to specify the type of minimizer
3498 through variable '
3499\shape italic
3500imin
3501\shape default
3502'.
3503 Setting '
3504\shape italic
3505imin = 1
3506\shape default
3507' chooses a Quasi-Newton minimizer by calling '
3508\shape italic
3509minqsn
3510\shape default
3511', '
3512\shape italic
3513imin = 2
3514\shape default
3515' a Conjugate Gradient minimizer ('
3516\shape italic
3517mincjg
3518\shape default
3519').
3520 The performance of these minimizers can be controlled by setting various
3521 parameters in MINIM.
3522 The two most commonly used ones, the accuracy ('
3523\begin_inset Formula $\varepsilon$
3524\end_inset
3525
3526') and the total number of function calls 'mxit' are passed as arguments.
3527\end_layout
3528
3529\begin_layout Subsubsection
3530Subroutine CANON(nequi, nswp, nmes, temp, lrand)
3531\begin_inset LatexCommand index
3532name "CANON"
3533
3534\end_inset
3535
3536 (file canon.f):
3537\end_layout
3538
3539\begin_layout Standard
3540(Usage: '
3541\emph on
3542call canon(nequi, nswp, nmes, temp, lrand)
3543\emph default
3544')
3545\newline
3546The subroutine carries out a canonical simulation at temperature 'temp'.
3547 The simulation starts from a random configuration if the logical parameter
3548 'lrand' is set to
3549\shape italic
3550.TRUE.
3551\shape default
3552.
3553 Otherwise the simulation starts from the current conformation of dihedral
3554 angles as stored in array 'vlvr'.
3555 One also has to set the number of Monte Carlo sweeps for the simulation
3556 'nswp', and the equilibration 'nequi', as well as the number 'nmes' of
3557 Monte Carlo sweeps between measurements.
3558 Three output files are created: files `start.pdb' and 'final.pdb' are for
3559 storing the start and final configurations of the molecule, respectively,
3560 in a data format compatible with Protein Data Bank.
3561 The file 'time.d' contains the time series of some quantities.
3562 In our template we measure and store in this file the total energy 'eol';
3563 the radius-of-gyration `rgy' (by means of subroutine RGYR (
3564\begin_inset LatexCommand ref
3565reference "ite:Subroutine-RGYR"
3566
3567\end_inset
3568
3569)); the number of helical (
3570\begin_inset Formula $\beta$
3571\end_inset
3572
3573-sheet-like) residues 'nhel' ('nbet') and segments 'mhel' (`mbet') using
3574 subroutine HELIX (
3575\begin_inset LatexCommand ref
3576reference "ite:subroutine-HELIX"
3577
3578\end_inset
3579
3580); and the number of hydrogen bonds 'mhb' calculated through subroutine
3581 HBOND (
3582\begin_inset LatexCommand ref
3583reference "ite:Subroutine-HBOND"
3584
3585\end_inset
3586
3587).
3588
3589\end_layout
3590
3591\begin_layout Subsubsection
3592Subroutine ANNEAL(nequi, nswp, nmes, tmax, tmin, lrand)
3593\begin_inset LatexCommand index
3594name "ANNEAL"
3595
3596\end_inset
3597
3598 (file: anneal.f):
3599\end_layout
3600
3601\begin_layout Standard
3602(Usage: '
3603\emph on
3604call anneal(nequi, nswp, nmes, tmax, tmin, lrand)
3605\emph default
3606')
3607\end_layout
3608
3609\begin_layout Standard
3610This subroutine allows for optimization of protein conformations by means
3611 of simulated annealing.
3612 When the logical parameter 'lrand' is set to
3613\shape italic
3614.TRUE.
3615
3616\shape default
3617 then the program will start from a random configuration.
3618 Otherwise, the annealing process will start from the current configuration
3619 as stored in the array 'vlvr'.
3620 You have to set the initial and final temperatures 'tmax' and 'tmin', the
3621 number of Monte Carlo sweeps for simulation nswp and equilibration 'nequi',
3622 and the number 'nmes' of Monte Carlo sweeps between measurements.
3623 Four output files are created in the same directory where the executable
3624 is running: three of them contain the start (start.pdb), the final (final.pdb)
3625 and the global minimum configuration (global.pdb), respectively, the 4th
3626 file (time.d) contains the time series of the simulation.
3627 In the presented template we measure and store in this file the actual
3628 temperature 'temp', the total energy 'eol', the radius-of-gyration 'rgy'
3629 (as calculated by subroutine RGYR) and the Zimmerman code (as character
3630 variable 'zimm') of the present configuration as obtained through subroutine
3631 ZIMMER.
3632
3633\end_layout
3634
3635\begin_layout Subsubsection
3636Subroutine MULCAN_PAR(nsweep, nup, temp, kmin, kmax, binWidth, l_iter)
3637\begin_inset LatexCommand index
3638name "MULCANPAR"
3639
3640\end_inset
3641
3642 (file mulcan_mod_par.f):
3643\end_layout
3644
3645\begin_layout Standard
3646This subroutine is part of the module
3647\emph on
3648multicanonical
3649\emph default
3650.
3651 To use the function include the module with
3652\emph on
3653use multicanonical
3654\emph default
3655 in your main file.
3656 The subroutine calculates multicanonical weight factors and has two working
3657 modes.
3658 One is for improving the already existing set of multicanonical parameters
3659 through further iterations, and another to calculate them anew.
3660 In the first case the logical variable 'l_iter' is set to the value
3661\shape italic
3662.TRUE.
3663\shape default
3664.
3665 The histogram from a preliminary simulation as well as the existing values
3666 of the parameters are read from the file 'mpar_full.d'.
3667 In the second case ( 'l_iter' = .FALSE.) all arrays are initialized to zero.
3668 The values of 'kmin' and 'kmax' together with and the size of the energy
3669 bin 'ebinWidth' determine the energy range .
3670 The total number of Monte Carlo sweeps is given by 'nsweep', 'nup' is the
3671 number of Monte Carlo sweeps between updates of the multicanonical parameters,
3672 and 'temp' is the temperature of the initial canonical simulation.
3673 Every 'nup' sweeps the histogram of the preliminary simulation as well
3674 as the existing values of the parameters are written to the file 'mpar_full.d'.
3675 The final multicanonical parameters are written into the file 'muca.d'.
3676
3677\end_layout
3678
3679\begin_layout Subsubsection
3680Subroutine MULCAN_SIM(nequi, nsweeps, nmes, nsave, kmin, kmax, binWidth,
3681 restart)
3682\begin_inset LatexCommand index
3683name "MULCANSIM"
3684
3685\end_inset
3686
3687 (file mulcan_sim.f):
3688\end_layout
3689
3690\begin_layout Standard
3691This subroutine performs a Monte Carlo simulation of a protein using multicanoni
3692cal weights.
3693 Information necessary for a re-start are saved after every 'nsave' Monte
3694 Carlo moves into the file 'start.d'.
3695 You can restart a simulation by setting 'restart'=.TRUE.
3696 otherwise the simulation starts from a random configuration.
3697 Parameters 'binWidth', 'kmin', and 'kmax' set the energy-bin size and the
3698 lower and upper limits of the energy interval, within which the multicanonical
3699 parameters were defined (see MULCAN_PAR).
3700 These parameters are read from the file 'muca.d' and have to be the same
3701 as the ones used in MULCAN_PAR to generate the multicanonical weights.
3702 The total number of Monte Carlo sweeps is 'nsweep', the number of Monte
3703 Carlo sweeps needed for equilibration is 'nequi', and the interval between
3704 successive measurements is 'nmes'.
3705 In our example the output goes to 'time.d', in which the time series of
3706 the simulation is written.
3707 Measured quantities are the total potential energy 'eol', the number of
3708 contacts 'nhx' and the number of native contacts 'nhy'.
3709 The latter number counts the contacts that are the same in the present
3710 configuration and the target structure.
3711 Also measured is the Hamming distance 'dham' between the present and the
3712 target configuration.
3713 The latter three quantities are calculated by the subroutine CONTACTS.
3714 The contact map needs to be initialized before calling mulcan_sim., for
3715 example with the following code:
3716\begin_inset ERT
3717status collapsed
3718
3719\begin_layout Standard
3720
3721
3722\backslash
3723begin{verbatim}
3724\end_layout
3725
3726\begin_layout Standard
3727
3728open(9,file='enkefa.ref')
3729\end_layout
3730
3731\begin_layout Standard
3732
3733nresi=irsml2(1)-irsml1(1) + 1
3734\end_layout
3735
3736\begin_layout Standard
3737
3738! nresi: Number of residues
3739\end_layout
3740
3741\begin_layout Standard
3742
3743! Read reference contact map
3744\end_layout
3745
3746\begin_layout Standard
3747
3748nci = 0
3749\end_layout
3750
3751\begin_layout Standard
3752
3753do i=1,nresi
3754\end_layout
3755
3756\begin_layout Standard
3757
3758 read(9,*) (iref(i,j) , j=1,nresi)
3759\end_layout
3760
3761\begin_layout Standard
3762
3763end do
3764\end_layout
3765
3766\begin_layout Standard
3767
3768do i=1,nresi
3769\end_layout
3770
3771\begin_layout Standard
3772
3773 do j=nresi,i+3,-1
3774\end_layout
3775
3776\begin_layout Standard
3777
3778 if(iref(i,j).eq.1) nci = nci + 1
3779\end_layout
3780
3781\begin_layout Standard
3782
3783 end do
3784\end_layout
3785
3786\begin_layout Standard
3787
3788end do
3789\end_layout
3790
3791\begin_layout Standard
3792
3793write(*,*) 'Number of contacts in reference conformation:',nci
3794\end_layout
3795
3796\begin_layout Standard
3797
3798
3799\backslash
3800end{verbatim}
3801\end_layout
3802
3803\end_inset
3804
3805
3806\end_layout
3807
3808\begin_layout Subsubsection
3809Subroutine PARTEM_S
3810\begin_inset LatexCommand index
3811name "PARTEMS"
3812
3813\end_inset
3814
3815
3816\end_layout
3817
3818\begin_layout Standard
3819(file partem_s.f):
3820\end_layout
3821
3822\begin_layout Standard
3823This parameterless subroutine is designed to simulate a protein by means
3824 of the parallel tempering technique on a single processor.
3825 Before running a parallel tempering simulation using PARTEM_S one has to
3826 set the following variables in this subroutine: the number of replicas
3827 ('no') and the initial temperatures on each replica (array 'temp(no)');
3828 the sum of the number of degrees of freedom over all replicas ('nvrmax');
3829 the number of Monte Carlo sweeps at equilibration ('nequi') and the number
3830 of Monte Carlo sweeps between measurements ('nmes').
3831 Except for re-starts, the logical variable 'lstart' should be set to .FALSE.,
3832 in which case all dihedral angles are set to random values.
3833 At the end of the simulation all dihedral angles are stored in the file
3834 'startconf.d', from which the program reads its start configuration, if
3835 'lstart=.TRUE.'.
3836 In the simulation, measurements are made every 'nmes' Monte Carlo sweeps.
3837 In our template, we measure for each replica the radius-of gyration 'rgy'
3838 and the end-to-end distance 'ee' by means of subroutine RGYR and write
3839 both values together with the temperature 'temp0' , total energy 'energy',
3840 Monte Carlo time 'nsw', and the index of the replicas 'k1' to an output
3841 file 'time.d'.
3842
3843\end_layout
3844
3845\begin_layout Subsubsection
3846PMAIN and subroutine PARTEM_P
3847\begin_inset LatexCommand index
3848name "PARTEMP"
3849
3850\end_inset
3851
3852 (files pmain.f and partem_p.f)
3853\end_layout
3854
3855\begin_layout Standard
3856(Usage: '
3857\emph on
3858call partem_p(no, nequi, nswp, nmes, newsta, switch)
3859\emph default
3860')
3861\end_layout
3862
3863\begin_layout Standard
3864PMAIN and PARTEM_P are used for parallel tempering simulations on a parallel
3865 computer with 'no' nodes.
3866 PMAIN replaces MAIN in this case.
3867 Both PMAIN and PARTEM_P utilize the MPI message-passing routines.
3868 The number of nodes 'no' has to be set in the main program and equals the
3869 number of replicas in the parallel tempering method.
3870 In addition, one has to pass the following variables to PARTEM_P: the number
3871 of Monte Carlo sweeps for equilibration nequi and the total simulation
3872 nswp; and the number of Monte Carlo sweeps between measurements ('nmes').
3873 Except for restarts the logical variable 'newsta' should be set to .FALSE..
3874 If newsta is .TRUE., switch determines the starting configuration.
3875 If switch=1, all dihedral angles are set to the random values.
3876 If switch=-1, all dihedral angles are set to 180.
3877 If switch=0, the configuration remains unchanged.
3878 At the end of the simulation all dihedral angles are stored in the file
3879 'par_R.in', from which the program reads its start configurations if 'newsta=.TRU
3880E.'.
3881 Before running the program one has to prepare the file 'temp.d' with 'no'
3882 lines.
3883 Each line lists the index of replica 'j' and its temperature 'temp'.
3884 In our template we measure every 'nmes' Monte Carlo sweeps for each replica
3885 a number of quantities: the radius of gyration 'rgy', the number of residues
3886 'nhel' and segments 'mhel' in an
3887\begin_inset Formula $\alpha$
3888\end_inset
3889
3890-helix, the number of residues in a
3891\begin_inset Formula $\beta$
3892\end_inset
3893
3894-sheet 'nbet' and the number of such segments 'mbet', the number of hydrogen
3895 bonds 'mhb', and the number of contacts 'nctot' and native contacts 'ncnat'.
3896 The latter number counts the contacts which are same in the present configurati
3897on and in the target structure For this, one has to prepare in advance the
3898 file 'reference.d' with the contact matrix of the target structure.
3899 All measured quantities are written together with energy, temperature and
3900 the index of the corresponding replica in the file 'ts.d'.
3901 At the end of the simulation the average energy and specific heat for each
3902 temperature/replica and the acceptance rate of replica-exchange moves are
3903 written to standard output.
3904
3905\end_layout
3906
3907\begin_layout Subsection
3908Useful Subroutines
3909\end_layout
3910
3911\begin_layout Subsubsection
3912Subroutine CONTACTS
3913\begin_inset LatexCommand index
3914name "CONTACTS"
3915
3916\end_inset
3917
3918
3919\end_layout
3920
3921\begin_layout Standard
3922(Usage:
3923\shape italic
3924call contacts(ncn,nham2,dham)
3925\shape default
3926):
3927\end_layout
3928
3929\begin_layout Standard
3930This subroutine calculates the matrix of the van-der-Waals contacts between
3931 C
3932\begin_inset Formula $^{\alpha}$
3933\end_inset
3934
3935-atoms for a given configuration.
3936 'ncn' is the total number of such contacts, 'nham2' the number of native
3937 contacts (i.e.
3938 such con- tacts which are the same in the present configuration and the
3939 reference configuration), and the Hamming distance 'dham' between the present
3940 and the target configuration.
3941
3942\end_layout
3943
3944\begin_layout Subsubsection
3945Subroutine CNTENY
3946\begin_inset LatexCommand index
3947name "CNTENY"
3948
3949\end_inset
3950
3951:
3952\end_layout
3953
3954\begin_layout Standard
3955(Usage:
3956\emph on
3957call cnteny(nml)
3958\emph default
3959)
3960\end_layout
3961
3962\begin_layout Standard
3963The subroutine '
3964\emph on
3965cnteny
3966\emph default
3967' displays a list of heavy atoms in molecule '
3968\emph on
3969nml
3970\emph default
3971' that have a contact energy of more than 2 kcal/mol.
3972 If one sets the parameter '
3973\emph on
3974ieyel = 0
3975\emph default
3976' in '
3977\emph on
3978cnteny
3979\emph default
3980' the the contact energy is calculated with the van-der-Waals energy term,
3981 only.
3982 Setting '
3983\emph on
3984ieyel = 1
3985\emph default
3986' additionally includes the electrostatic energy into the contact energy,
3987 and bad contacts are displayed if this energy exceeds a value of 10 kcal/mol
3988 for an atom.
3989
3990\end_layout
3991
3992\begin_layout Subsubsection
3993Functions ENERGY
3994\begin_inset LatexCommand index
3995name "ENERGY"
3996
3997\end_inset
3998
3999, ENYSHE
4000\begin_inset LatexCommand index
4001name "ENYSHE"
4002
4003\end_inset
4004
4005, ENYFLX
4006\begin_inset LatexCommand index
4007name "ENYFLX"
4008
4009\end_inset
4010
4011, ENYSOL
4012\begin_inset LatexCommand index
4013name "ENYSOL"
4014
4015\end_inset
4016
4017, ESOLAN
4018\begin_inset LatexCommand index
4019name "ESOLAN"
4020
4021\end_inset
4022
4023, and ENYREG
4024\begin_inset LatexCommand index
4025name "ENYREG"
4026
4027\end_inset
4028
4029:
4030\end_layout
4031
4032\begin_layout Standard
4033(Usage:
4034\shape italic
4035eny = energy()
4036\shape default
4037)
4038\newline
4039 The real*8 function `
4040\shape italic
4041energy
4042\shape default
4043' is a wrapping function that calculates the energy of a given configuration.
4044 Depending on the choice of parameters '
4045\shape italic
4046flex
4047\shape default
4048', '
4049\shape italic
4050sh2
4051\shape default
4052', '
4053\shape italic
4054itysol
4055\shape default
4056' and '
4057\shape italic
4058ireg
4059\shape default
4060' in '
4061\shape italic
4062main
4063\shape default
4064' ('
4065\shape italic
4066pmain
4067\shape default
4068') the `vacuum' energy of the protein is calculated by the functions '
4069\shape italic
4070enyshe
4071\shape default
4072' (ECEPP/2 or ECEPP/3), or '
4073\shape italic
4074enyflex
4075\shape default
4076' (FLEX), and the solvation energy using the solvent accessible area method
4077 with '
4078\shape italic
4079enysol
4080\shape default
4081' (approximate, but fast estimation of the solvated area) or '
4082\shape italic
4083esolan
4084\shape default
4085' (analytical, but slower calculation of the area).
4086 '
4087\shape italic
4088enyreg
4089\shape default
4090' calculates the constraint energy term needed during regularization of
4091 PDB-structures.
4092 '
4093\shape italic
4094energy
4095\shape default
4096' returns the sum of these energy terms as selected by the parameters in
4097 the 'main'-module.
4098
4099\end_layout
4100
4101\begin_layout Subsubsection
4102Subroutine GRADIENT
4103\begin_inset LatexCommand index
4104name "GRADIENT"
4105
4106\end_inset
4107
4108, OPESHE
4109\begin_inset LatexCommand index
4110name "OPESHE"
4111
4112\end_inset
4113
4114, OPEFLX
4115\begin_inset LatexCommand index
4116name "OPEFLX"
4117
4118\end_inset
4119
4120, OPESOL
4121\begin_inset LatexCommand index
4122name "OPESOL"
4123
4124\end_inset
4125
4126, and OPEREG
4127\begin_inset LatexCommand index
4128name "OPEREG"
4129
4130\end_inset
4131
4132:
4133\end_layout
4134
4135\begin_layout Standard
4136(Usage:
4137\shape italic
4138call gradient()
4139\shape default
4140)
4141\newline
4142 The wrapping subroutine '
4143\shape italic
4144gradient
4145\shape default
4146' calculates the energy and partial derivatives (with respect to internal
4147 degrees of freedom) for a given protein configuration.
4148 Depending on the choice of parameters '
4149\shape italic
4150flex
4151\shape default
4152', '
4153\shape italic
4154sh2
4155\shape default
4156', '
4157\shape italic
4158itysol
4159\shape default
4160', and '
4161\shape italic
4162ireg
4163\shape default
4164', the subroutines '
4165\shape italic
4166opeshe
4167\shape default
4168' (ECEPP/2 or ECEPP/3), '
4169\shape italic
4170opeflx
4171\shape default
4172' (FLEX), '
4173\shape italic
4174opesol
4175\shape default
4176' (solvent accessible surface area) and/or '
4177\shape italic
4178opereg
4179\shape default
4180' (constraint energy term during regularization of PDB structures) are selected
4181 and contribute to the total energy and its gradient that is calculated.
4182
4183\end_layout
4184
4185\begin_layout Subsubsection
4186\begin_inset LatexCommand label
4187name "ite:Subroutine-HBOND"
4188
4189\end_inset
4190
4191Subroutine HBOND
4192\begin_inset LatexCommand index
4193name "HBOND"
4194
4195\end_inset
4196
4197
4198\end_layout
4199
4200\begin_layout Standard
4201(Usage:
4202\shape italic
4203call hbond(nml,mhb,ipr)
4204\shape default
4205):
4206\newline
4207 This subroutine determines the number 'mhb' of the hydrogen bonds for
4208 the current conformation of the molecule and requires 'nml' as input -
4209 the index of the present molecule.
4210 The hydrogen bonds are printed out for '
4211\begin_inset Formula $ipr>0$
4212\end_inset
4213
4214'.
4215
4216\end_layout
4217
4218\begin_layout Subsubsection
4219\begin_inset LatexCommand label
4220name "ite:subroutine-HELIX"
4221
4222\end_inset
4223
4224subroutine HELIX
4225\begin_inset LatexCommand index
4226name "HELIX"
4227
4228\end_inset
4229
4230
4231\end_layout
4232
4233\begin_layout Standard
4234(Usage:
4235\shape italic
4236helix(nhel,mhel,nbet,mbet)
4237\shape default
4238):
4239\newline
4240 HELIX determines whether a residue is part of an
4241\begin_inset Formula $\alpha$
4242\end_inset
4243
4244-helix or
4245\begin_inset Formula $\beta$
4246\end_inset
4247
4248-sheet according to its backbone dihedral angles (
4249\begin_inset Formula $\phi,\psi$
4250\end_inset
4251
4252) (ranges defined in a PARAMETER statement) and returnes the number of helical
4253 residues 'nhel', the number of helical segments 'mhel', and the corresponding
4254 quantities for
4255\begin_inset Formula $\beta$
4256\end_inset
4257
4258-strand elements 'nbet' and 'mbet'.
4259
4260\end_layout
4261
4262\begin_layout Subsubsection
4263\begin_inset LatexCommand label
4264name "ite:Subroutine-METROPOLIS"
4265
4266\end_inset
4267
4268Subroutine METROPOLIS
4269\begin_inset LatexCommand index
4270name "METROPOLIS"
4271
4272\end_inset
4273
4274
4275\end_layout
4276
4277\begin_layout Standard
4278(Usage:
4279\shape italic
4280call metropolis(eol,acz,weight)
4281\shape default
4282):
4283\newline
4284 The subroutine implements one Metropolis move for every dihedral angle
4285 and requires as input a weight function '
4286\shape italic
4287weight(eol)
4288\shape default
4289' and the energy 'eol' of the present configuration.
4290 It returns in the variable 'eol' the energy of the configuration after
4291 'nvr' (the number of non-fixed dihedral angles) updates.
4292 'acz' accounts for the number of Metropolis moves were the proposed configurati
4293on was accepted.
4294
4295\end_layout
4296
4297\begin_layout Subsubsection
4298Subroutine OUTPDB
4299\begin_inset LatexCommand index
4300name "OUTPDB"
4301
4302\end_inset
4303
4304
4305\end_layout
4306
4307\begin_layout Standard
4308(Usage:
4309\shape italic
4310call outpdb(nml,pdbFileName)
4311\shape default
4312):
4313\newline
4314 The subroutine writes in the output file the coordinates of the atoms
4315 of given molecule.
4316 The format is compatible with the standard data representation format of
4317 the Brookhaven Protein Data bank.
4318 This subroutine requires as input the index 'nml' of the given molecule
4319 and the file name of the output-file.
4320 If nml=0, the configuration for all molecules in the system is written
4321 to a multi-model pdb file.
4322\end_layout
4323
4324\begin_layout Subsubsection
4325Subroutine OUTVAR
4326\begin_inset LatexCommand index
4327name "OUTVAR"
4328
4329\end_inset
4330
4331
4332\end_layout
4333
4334\begin_layout Standard
4335(Usage:
4336\shape italic
4337call outvar(nml, filename)
4338\shape default
4339):
4340\end_layout
4341
4342\begin_layout Standard
4343This subroutine writes the dihedral angles of the current configuration
4344 of molecule '
4345\shape italic
4346nml
4347\shape default
4348' to either standard output ('filename =
4349\begin_inset Quotes eld
4350\end_inset
4351
4352
4353\begin_inset Quotes eld
4354\end_inset
4355
4356') or a dedicated file, where filename is the name of the file).
4357 The dihedral angles are written out in a form that allows to use them as
4358 configuration input file for SMMP.
4359 If nml=0, the configuration for all molecules in the system is printed.
4360
4361\end_layout
4362
4363\begin_layout Subsubsection
4364Function grnd() and subroutine sgrnd(seed):
4365\end_layout
4366
4367\begin_layout Standard
4368Our package includes an implementation of the twister-mersenne random generator.
4369 Initialize the random number generator using
4370\emph on
4371call sgrnd(seed)
4372\emph default
4373, where
4374\emph on
4375seed
4376\emph default
4377 is an integer.
4378 Each call off
4379\emph on
4380grnd()
4381\emph default
4382 returns a new random number between 0 and 1 taken from a uniform distribution.
4383\end_layout
4384
4385\begin_layout Subsubsection
4386\begin_inset LatexCommand label
4387name "ite:Subroutine-RGYR"
4388
4389\end_inset
4390
4391Subroutine RGYR
4392\end_layout
4393
4394\begin_layout Standard
4395(Usage:
4396\shape italic
4397call rgyr(nml,rgy,ee)
4398\shape default
4399):
4400\newline
4401 This subroutine calculates the radius-of-gyration 'rgy' and the end-to-end
4402 distance 'ee' for the protein molecule 'nml'.
4403 Both quantities characterize the compactness of a protein conformation.
4404
4405\end_layout
4406
4407\begin_layout Subsubsection
4408Function RMSDFUN
4409\begin_inset LatexCommand index
4410name "RMSDFUN"
4411
4412\end_inset
4413
4414
4415\end_layout
4416
4417\begin_layout Standard
4418(Usage:
4419\shape italic
4420rmsd = rmsdfun(nml,ir1,ir2,ixat,xrf,yrf,zrf,isl)
4421\shape default
4422)
4423\newline
4424 The real*8 function '
4425\shape italic
4426rmsdfun
4427\shape default
4428' calculates the root-mean square-deviation (rmsd) between atom postions
4429 in the current configuration of molecule '
4430\shape italic
4431nml
4432\shape default
4433' for a range of residues '
4434\shape italic
4435[ir1,ir2]
4436\shape default
4437' and a reference structure given by arrays of atom coordinates '
4438\shape italic
4439xrf,yrf,zrf
4440\shape default
4441'.
4442 For each atom position in the current SMMP-structure the array '
4443\shape italic
4444ixat
4445\shape default
4446' provides the index of the equivalent atom in the reference structure,
4447 or yields a value of '
4448\shape italic
44490
4450\shape default
4451' if there is no equivalent.
4452 By setting '
4453\shape italic
4454isl=0
4455\shape default
4456' the rmsd is calculated over all non-hydrogen (heavy) atoms, for '
4457\shape italic
4458isl = 1
4459\shape default
4460' for backbone atoms only, and for '
4461\shape italic
4462isl = 2
4463\shape default
4464' the rmsd is calculated only between C
4465\begin_inset Formula $^{\alpha}$
4466\end_inset
4467
4468-atoms.
4469 The routine '
4470\shape italic
4471rmsdfun
4472\shape default
4473' may only be called
4474\series bold
4475after
4476\series default
4477 an initial call of the subroutine '
4478\shape italic
4479rmsinit(nml,string)
4480\shape default
4481'.
4482 If
4483\shape italic
4484string = 'smmp'
4485\shape default
4486 the reference configuration is a SMMP configuration, otherwise it is read
4487 in from a PDB-file which name given by '
4488\shape italic
4489string
4490\shape default
4491'.
4492
4493\end_layout
4494
4495\begin_layout Subsubsection
4496Subroutine ZIMMER
4497\begin_inset LatexCommand index
4498name "ZIMMER"
4499
4500\end_inset
4501
4502
4503\end_layout
4504
4505\begin_layout Standard
4506(Usage:
4507\shape italic
4508call zimmer(nresi)
4509\shape default
4510):
4511\newline
4512 This subroutine analyzes the backbone dihedrals of a given conformation
4513 and characterizes the state of each pair of (
4514\begin_inset Formula $\phi,\psi$
4515\end_inset
4516
4517) by its Zimmerman code.
4518 The subroutine requires as input the number of residues 'nresi' and returns
4519 the character string 'zimm' with the Zimmerman code of the present configuratio
4520n (through a common block).
4521
4522\end_layout
4523
4524\begin_layout Section
4525How to cite SMMP
4526\end_layout
4527
4528\begin_layout Standard
4529Use of SMMP should be acknowledged by quoting the following reference: F.
4530 Eisenmenger, U.H.E.
4531 Hansmann, Sh.
4532 Hayryan, C.-K.
4533 Hu,
4534\series bold
4535[SMMP] A Modern Package for Simulation of Proteins
4536\series default
4537,
4538\shape italic
4539Comp.
4540 Phys.
4541 Comm.
4542
4543\shape default
4544
4545\series bold
4546138
4547\series default
4548 (2001) 192-212;
4549\newline
4550F.
4551 Eisenmenger, U.H.E.
4552 Hansmann, Sh.
4553 Hayryan, C.-K.
4554 Hu,
4555\series bold
4556An Enhanced Version of SMMP - Open-Source Software Package for Simulation
4557 of Proteins
4558\series default
4559,
4560\shape italic
4561Comp.Phys.
4562 Comm.
4563 174 (2006) 422-
4564\shape default
4565429;
4566\newline
4567
4568\emph on
4569J.
4570 H.
4571 Meinke, S.
4572 Mohanty, F.
4573 Eisenmenger and U.H.E.
4574 Hansmann,
4575\series bold
4576\emph default
4577 SMMP v.
4578 3.0 --- Simulating proteins and protein interactions in Python and Fortran
4579\series default
4580, submitted to
4581\emph on
4582Comp.\InsetSpace ~
4583Phys.\InsetSpace ~
4584Comm.
4585\newline
4586
4587\emph default
4588Where appropriate, the program package's web-site should be quoted as:
4589\series bold
4590SMMP,
4591\begin_inset LatexCommand url
4592target "http://www.phy.mtu.edu/biophys/smmp.htm"
4593
4594\end_inset
4595
4596 or
4597\series default
4598
4599\begin_inset LatexCommand url
4600target "http://www.smmp05.net"
4601
4602\end_inset
4603
4604.
4605
4606\end_layout
4607
4608\begin_layout Section
4609Examples
4610\begin_inset LatexCommand label
4611name "sec:Examples"
4612
4613\end_inset
4614
4615
4616\end_layout
4617
4618\begin_layout Standard
4619All the examples can be found in the EXAMPLES subdirectory and should be
4620 run from there.
4621 All the serial examples can be built either from the top-level directory
4622 with
4623\emph on
4624make examples
4625\emph default
4626 or from within the EXAMPLES directory with
4627\emph on
4628make
4629\emph default
4630.
4631 The MPI parallel tempering example is built from within the EXAMPLES directory
4632 with
4633\emph on
4634make parallel_tempering_p.
4635
4636\emph default
4637 The structure of all examples is very similar to Listing
4638\begin_inset LatexCommand ref
4639reference "listing:mainmc"
4640
4641\end_inset
4642
4643.
4644 We first initialize the force field we want to use, load the protein either
4645 from a sequence and a configuration file or from a PDB file, set the simulation
4646 parameters, and finally call the simulation subroutine.
4647 We use
4648\shape italic
4649\emph on
4650
4651\emph default
4652grpn = 'nh2', grpc = 'cooh'
4653\emph on
4654 as end groups in all of our examples.
4655 We also use a fixed value for the dielectric constant, so that
4656\emph default
4657epsd=.false.
4658
4659\emph on
4660 in all cases.
4661\end_layout
4662
4663\begin_layout Standard
4664The first example
4665\begin_inset LatexCommand eqref
4666reference "sub:Minimization-of-vacuum"
4667
4668\end_inset
4669
4670 minimizes the energy of met-enkaphalin, a small endorphin with only 5 amino
4671 acids using a quasi-newton minimizer.
4672 The second examples
4673\begin_inset LatexCommand eqref
4674reference "sub:Structure-Determination-by"
4675
4676\end_inset
4677
4678 tries to find the minimum vacuum energy structure of met-enkaphalin using
4679 simulated annealing.
4680 The third example
4681\begin_inset LatexCommand eqref
4682reference "sub:Calculation-of-Multicanonical"
4683
4684\end_inset
4685
4686 shows how to calculate the estmated weights necessary for a multi-canonical
4687 Monte Carlo simulation.
4688 Met-enkaphalin again serves as sample system.
4689 In
4690\begin_inset LatexCommand eqref
4691reference "sub:Regularization-of-the"
4692
4693\end_inset
4694
4695 we show how to regularize an experimental structure read from a PDB file.
4696 The force fields implemented use fixed bond lengths and valence angles.
4697 Without regularization, a structure read from a PDB file often has an unreasona
4698bly high energy.
4699 Finally, we show how to perform parallel tempering simulations on multiple
4700 processors
4701\begin_inset LatexCommand eqref
4702reference "sub:Parallel-Tempering-simulation"
4703
4704\end_inset
4705
4706 and on a single processor
4707\begin_inset LatexCommand eqref
4708reference "sub:Parallel-tempering-on"
4709
4710\end_inset
4711
4712.
4713 The sample output was generated on a system with two dual-core AMD Opteron
4714 2216 processor running SUSE LINUX 10.1 (X86-64).
4715 The programs were compiled with Intels Fortran compiler with optimization
4716 set to -O2.
4717\end_layout
4718
4719\begin_layout Subsection
4720Minimization of vacuum energy from a given configuration
4721\begin_inset LatexCommand label
4722name "sub:Minimization-of-vacuum"
4723
4724\end_inset
4725
4726
4727\end_layout
4728
4729\begin_layout Standard
4730The MAIN module in minimization.f, has the following settings:
4731\newline
4732
4733\shape italic
4734\emph on
4735ientyp = 0
4736\newline
4737sh2 = .false.
4738
4739\newline
4740itysol = 0
4741\newline
4742iabin = 1
4743\shape default
4744,
4745\newline
4746
4747\emph default
4748
4749\newline
4750 which restrict energy calculations to evaluation of the ECEPP/3 energy
4751 (no protein-solvent interactions taken into account), choses
4752\shape italic
4753nh2
4754\shape default
4755 as N-terminal group and at the C-terminus the
4756\shape italic
4757cooh
4758\shape default
4759-group, and the input is read from a sequence/configuration file.
4760 The simulation task subroutine is called with
4761\newline
4762imin = 1
4763\newline
4764maxit=10000
4765\newline
4766eps=1.0d-9
4767\newline
4768
4769\shape italic
4770call minim(imin,mait,eps)
4771\shape default
4772,
4773\newline
4774 i.e.
4775 the simulation task is the local minimization of the vacuum energy of a
4776 configuration using the Quasi-Newton algorithm.
4777 Compile the program with
4778\emph on
4779make minimization
4780\emph default
4781, SMMP with this default settings will minimize the configuration given
4782 in
4783\shape italic
4784enkefa.var
4785\shape default
4786.
4787 Running minimization from the EXAMPLES directory will lead to the following
4788 output:
4789\begin_inset ERT
4790status open
4791
4792\begin_layout Standard
4793
4794
4795\backslash
4796begin{verbatim}
4797\end_layout
4798
4799\begin_layout Standard
4800
4801init_energy: itysol = 0
4802\end_layout
4803
4804\begin_layout Standard
4805
4806init_energy: esol_scaling = F
4807\end_layout
4808
4809\begin_layout Standard
4810
4811init_molecule: Solvent: 0
4812\end_layout
4813
4814\begin_layout Standard
4815
4816File with sequence is enkefa.seq
4817\end_layout
4818
4819\begin_layout Standard
4820
4821addend> Net charge of molecule # 1: 0.001
4822\end_layout
4823
4824\begin_layout Standard
4825
4826\end_layout
4827
4828\begin_layout Standard
4829
4830enkefa.var
4831\end_layout
4832
4833\begin_layout Standard
4834
4835\end_layout
4836
4837\begin_layout Standard
4838
4839redvar> Met-Enkephalin: residue 1 Tyr : x1 set -172.590
4840\end_layout
4841
4842\begin_layout Standard
4843
4844redvar> Met-Enkephalin: residue 1 Tyr : x2 set 78.710
4845\end_layout
4846
4847\begin_layout Standard
4848
4849redvar> Met-Enkephalin: residue 1 Tyr : x6 set -165.880
4850\end_layout
4851
4852\begin_layout Standard
4853
4854redvar> Met-Enkephalin: residue 1 Tyr : phi set -86.240
4855\end_layout
4856
4857\begin_layout Standard
4858
4859redvar> Met-Enkephalin: residue 2 Gly : psi set 156.180
4860\end_layout
4861
4862\begin_layout Standard
4863
4864redvar> Met-Enkephalin: residue 2 Gly : omg set -180.000
4865\end_layout
4866
4867\begin_layout Standard
4868
4869redvar> Met-Enkephalin: residue 2 Gly : phi set -154.530
4870\end_layout
4871
4872\begin_layout Standard
4873
4874redvar> Met-Enkephalin: residue 3 Gly : psi set 83.640
4875\end_layout
4876
4877\begin_layout Standard
4878
4879redvar> Met-Enkephalin: residue 3 Gly : omg set 180.000
4880\end_layout
4881
4882\begin_layout Standard
4883
4884redvar> Met-Enkephalin: residue 3 Gly : phi set 83.660
4885\end_layout
4886
4887\begin_layout Standard
4888
4889redvar> Met-Enkephalin: residue 4 Phe : psi set -73.860
4890\end_layout
4891
4892\begin_layout Standard
4893
4894redvar> Met-Enkephalin: residue 4 Phe : omg set -180.000
4895\end_layout
4896
4897\begin_layout Standard
4898
4899redvar> Met-Enkephalin: residue 4 Phe : x1 set 58.790
4900\end_layout
4901
4902\begin_layout Standard
4903
4904redvar> Met-Enkephalin: residue 4 Phe : x2 set 94.600
4905\end_layout
4906
4907\begin_layout Standard
4908
4909redvar> Met-Enkephalin: residue 4 Phe : phi set -137.040
4910\end_layout
4911
4912\begin_layout Standard
4913
4914redvar> Met-Enkephalin: residue 5 Met : psi set 19.330
4915\end_layout
4916
4917\begin_layout Standard
4918
4919redvar> Met-Enkephalin: residue 5 Met : omg set -180.000
4920\end_layout
4921
4922\begin_layout Standard
4923
4924redvar> Met-Enkephalin: residue 5 Met : x1 set 52.760
4925\end_layout
4926
4927\begin_layout Standard
4928
4929redvar> Met-Enkephalin: residue 5 Met : x2 set 175.280
4930\end_layout
4931
4932\begin_layout Standard
4933
4934redvar> Met-Enkephalin: residue 5 Met : x3 set -179.830
4935\end_layout
4936
4937\begin_layout Standard
4938
4939redvar> Met-Enkephalin: residue 5 Met : x4 set -58.570
4940\end_layout
4941
4942\begin_layout Standard
4943
4944redvar> Met-Enkephalin: residue 5 Met : phi set -163.630
4945\end_layout
4946
4947\begin_layout Standard
4948
4949redvar> Met-Enkephalin: residue 5 Met : pst set 160.450
4950\end_layout
4951
4952\begin_layout Standard
4953
4954redvar> Met-Enkephalin: residue 5 Met : omt set 180.000
4955\end_layout
4956
4957\begin_layout Standard
4958
4959\end_layout
4960
4961\begin_layout Standard
4962
4963\end_layout
4964
4965\begin_layout Standard
4966
4967Energy BEFORE minimization:
4968\end_layout
4969
4970\begin_layout Standard
4971
4972\end_layout
4973
4974\begin_layout Standard
4975
4976Total: 0.10354E+04
4977\end_layout
4978
4979\begin_layout Standard
4980
4981 Coulomb: 0.1991E+02 Lennard-Jones: 0.1142E+03 HB: 0.9008E+03
4982\end_layout
4983
4984\begin_layout Standard
4985
4986 Variables: 0.4511E+00 Solvatation: 0.0000E+00
4987\end_layout
4988
4989\begin_layout Standard
4990
4991\end_layout
4992
4993\begin_layout Standard
4994
4995Step 1: energy 0.489976E+05 ( 0.867243E+13 )
4996\end_layout
4997
4998\begin_layout Standard
4999
5000Step 2: energy 0.108241E+03 ( 0.964364E+07 )
5001\end_layout
5002
5003\begin_layout Standard
5004
5005Step 3: energy -0.632755E+00 ( 0.498256E+04 )
5006\end_layout
5007
5008\begin_layout Standard
5009
5010Step 4: energy -0.739539E+01 ( 0.109979E+05 )
5011\end_layout
5012
5013\begin_layout Standard
5014
5015Step 5: energy 0.517957E+03 ( 0.678892E+09 )
5016\end_layout
5017
5018\begin_layout Standard
5019
5020Step 6: energy -0.767774E+01 ( 0.143880E+05 )
5021\end_layout
5022
5023\begin_layout Standard
5024
5025Step 7: energy -0.818570E+01 ( 0.100364E+05 )
5026\end_layout
5027
5028\begin_layout Standard
5029
5030Step 8: energy -0.938401E+01 ( 0.172508E+04 )
5031\end_layout
5032
5033\begin_layout Standard
5034
5035Step 9: energy -0.109799E+02 ( 0.105718E+04 )
5036\end_layout
5037
5038\begin_layout Standard
5039
5040Step 10: energy -0.116244E+02 ( 0.580821E+03 )
5041\end_layout
5042
5043\begin_layout Standard
5044
5045Step 11: energy -0.116969E+02 ( 0.145676E+04 )
5046\end_layout
5047
5048\begin_layout Standard
5049
5050Step 12: energy -0.118569E+02 ( 0.856882E+03 )
5051\end_layout
5052
5053\begin_layout Standard
5054
5055Step 13: energy -0.119576E+02 ( 0.521381E+03 )
5056\end_layout
5057
5058\begin_layout Standard
5059
5060Step 14: energy -0.120897E+02 ( 0.398602E+03 )
5061\end_layout
5062
5063\begin_layout Standard
5064
5065Step 15: energy -0.121476E+02 ( 0.222201E+03 )
5066\end_layout
5067
5068\begin_layout Standard
5069
5070...
5071\end_layout
5072
5073\begin_layout Standard
5074
5075...
5076\end_layout
5077
5078\begin_layout Standard
5079
5080...
5081\end_layout
5082
5083\begin_layout Standard
5084
5085Step 70: energy -0.124285E+02 ( 0.194869E-04 )
5086\end_layout
5087
5088\begin_layout Standard
5089
5090Step 71: energy -0.124285E+02 ( 0.120524E-04 )
5091\end_layout
5092
5093\begin_layout Standard
5094
5095Step 72: energy -0.124285E+02 ( 0.641640E-05 )
5096\end_layout
5097
5098\begin_layout Standard
5099
5100Step 73: energy -0.124285E+02 ( 0.182141E-05 )
5101\end_layout
5102
5103\begin_layout Standard
5104
5105Step 74: energy -0.124285E+02 ( 0.219308E-05 )
5106\end_layout
5107
5108\begin_layout Standard
5109
5110Step 75: energy -0.124285E+02 ( 0.348349E-05 )
5111\end_layout
5112
5113\begin_layout Standard
5114
5115Step 76: energy -0.124285E+02 ( 0.166901E-05 )
5116\end_layout
5117
5118\begin_layout Standard
5119
5120Step 77: energy -0.124285E+02 ( 0.177102E-06 )
5121\end_layout
5122
5123\begin_layout Standard
5124
5125Step 78: energy -0.124285E+02 ( 0.663522E-08 )
5126\end_layout
5127
5128\begin_layout Standard
5129
5130Step 79: energy -0.124285E+02 ( 0.210693E-08 )
5131\end_layout
5132
5133\begin_layout Standard
5134
5135Step 80: energy -0.124285E+02 ( 0.370905E-08 )
5136\end_layout
5137
5138\begin_layout Standard
5139
5140Step 81: energy -0.124285E+02 ( 0.324300E-08 )
5141\end_layout
5142
5143\begin_layout Standard
5144
5145Step 82: energy -0.124285E+02 ( 0.777363E-09 )
5146\end_layout
5147
5148\begin_layout Standard
5149
5150Step 83: energy -0.124285E+02 ( 0.443358E-10 )
5151\end_layout
5152
5153\begin_layout Standard
5154
5155Step 84: energy -0.124285E+02 ( 0.322695E-11 )
5156\end_layout
5157
5158\begin_layout Standard
5159
5160Step 85: energy -0.124285E+02 ( 0.144369E-11 )
5161\end_layout
5162
5163\begin_layout Standard
5164
5165Step 86: energy -0.124285E+02 ( 0.291517E-11 )
5166\end_layout
5167
5168\begin_layout Standard
5169
5170Step 87: energy -0.124285E+02 ( 0.322695E-11 )
5171\end_layout
5172
5173\begin_layout Standard
5174
5175---- CONVERGENCE ----
5176\end_layout
5177
5178\begin_layout Standard
5179
5180\end_layout
5181
5182\begin_layout Standard
5183
5184Final energies __________________________________________________
5185\end_layout
5186
5187\begin_layout Standard
5188
5189Total: -0.12429E+02
5190\end_layout
5191
5192\begin_layout Standard
5193
5194 Coulomb: 0.2143E+02 Lennard-Jones: -0.2923E+02 HB: -0.6706E+01
5195\end_layout
5196
5197\begin_layout Standard
5198
5199 Variables: 0.2084E+01 Solvatation: 0.0000E+00
5200\end_layout
5201
5202\begin_layout Standard
5203
5204\end_layout
5205
5206\begin_layout Standard
5207
5208Variables _________________
5209\end_layout
5210
5211\begin_layout Standard
5212
5213\end_layout
5214
5215\begin_layout Standard
5216
5217x1 1 -173.2 ( 0.6)
5218\end_layout
5219
5220\begin_layout Standard
5221
5222x2 1 79.3 ( 0.6)
5223\end_layout
5224
5225\begin_layout Standard
5226
5227x6 1 -166.3 ( 0.5)
5228\end_layout
5229
5230\begin_layout Standard
5231
5232phi 1 -83.1 ( 3.2)
5233\end_layout
5234
5235\begin_layout Standard
5236
5237psi 2 155.8 ( 0.4)
5238\end_layout
5239
5240\begin_layout Standard
5241
5242omg 2 -177.1 ( 2.9)
5243\end_layout
5244
5245\begin_layout Standard
5246
5247phi 2 -154.2 ( 0.3)
5248\end_layout
5249
5250\begin_layout Standard
5251
5252psi 3 85.8 ( 2.2)
5253\end_layout
5254
5255\begin_layout Standard
5256
5257omg 3 168.5 ( 11.5)
5258\end_layout
5259
5260\begin_layout Standard
5261
5262phi 3 83.0 ( 0.7)
5263\end_layout
5264
5265\begin_layout Standard
5266
5267psi 4 -75.0 ( 1.2)
5268\end_layout
5269
5270\begin_layout Standard
5271
5272omg 4 -170.0 ( 10.0)
5273\end_layout
5274
5275\begin_layout Standard
5276
5277x1 4 58.9 ( 0.1)
5278\end_layout
5279
5280\begin_layout Standard
5281
5282x2 4 94.5 ( 0.1)
5283\end_layout
5284
5285\begin_layout Standard
5286
5287phi 4 -136.8 ( 0.2)
5288\end_layout
5289
5290\begin_layout Standard
5291
5292psi 5 19.1 ( 0.2)
5293\end_layout
5294
5295\begin_layout Standard
5296
5297omg 5 -174.1 ( 5.9)
5298\end_layout
5299
5300\begin_layout Standard
5301
5302x1 5 52.9 ( 0.1)
5303\end_layout
5304
5305\begin_layout Standard
5306
5307x2 5 175.3 ( 0.0)
5308\end_layout
5309
5310\begin_layout Standard
5311
5312x3 5 -179.9 ( 0.0)
5313\end_layout
5314
5315\begin_layout Standard
5316
5317x4 5 -58.6 ( 0.0)
5318\end_layout
5319
5320\begin_layout Standard
5321
5322phi 5 -163.4 ( 0.2)
5323\end_layout
5324
5325\begin_layout Standard
5326
5327pst 5 160.8 ( 0.3)
5328\end_layout
5329
5330\begin_layout Standard
5331
5332omt 5 -179.8 ( 0.2)
5333\end_layout
5334
5335\begin_layout Standard
5336
5337\end_layout
5338
5339\begin_layout Standard
5340
5341Gradient______________________________________________________________
5342
5343\end_layout
5344
5345\begin_layout Standard
5346
53470.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
5348\end_layout
5349
5350\begin_layout Standard
5351
53520.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
5353\end_layout
5354
5355\begin_layout Standard
5356
53570.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
5358\end_layout
5359
5360\begin_layout Standard
5361
5362
5363\backslash
5364end{verbatim}
5365\end_layout
5366
5367\end_inset
5368
5369
5370\end_layout
5371
5372\begin_layout Subsection
5373Structure Determination by Simulated Annealing
5374\begin_inset LatexCommand label
5375name "sub:Structure-Determination-by"
5376
5377\end_inset
5378
5379
5380\end_layout
5381
5382\begin_layout Standard
5383For the following simulated annealing run for Met-Enkephalin defined through
5384 its sequence file
5385\shape italic
5386enkefa.seq
5387\shape default
5388, another configuration file
5389\shape italic
5390enkefa.ann
5391\shape default
5392 is used.
5393 In this configuration file the dihedral angles
5394\shape italic
5395omg
5396\shape default
5397 and
5398\shape italic
5399omt
5400\shape default
5401 are fixed at 180.0 degrees using
5402\begin_inset ERT
5403status open
5404
5405\begin_layout Standard
5406
5407
5408\backslash
5409begin{verbatim}
5410\end_layout
5411
5412\begin_layout Standard
5413
5414om*: 180.0 &
5415\end_layout
5416
5417\begin_layout Standard
5418
5419
5420\backslash
5421end{verbatim}
5422\end_layout
5423
5424\end_inset
5425
5426.
5427 Simulated annealing performs only poorly when these angles are free to
5428 change.
5429 In this example we choose ECEPP/2 ( setting
5430\shape italic
5431sh2 = .true.
5432
5433\shape default
5434 and no protein-solvation interaction.
5435 Hence, we have the following settings for parameters in
5436\shape italic
5437annealing.f
5438\shape default
5439:
5440\begin_inset ERT
5441status open
5442
5443\begin_layout Standard
5444
5445
5446\backslash
5447begin{verbatim}
5448\end_layout
5449
5450\begin_layout Standard
5451
5452ientyp = 0
5453\end_layout
5454
5455\begin_layout Standard
5456
5457sh2 = .true.
5458
5459\end_layout
5460
5461\begin_layout Standard
5462
5463itysol = 0
5464\end_layout
5465
5466\begin_layout Standard
5467
5468iabin = 1
5469\end_layout
5470
5471\begin_layout Standard
5472
5473
5474\backslash
5475end{verbatim}
5476\end_layout
5477
5478\end_inset
5479
5480.
5481 Our simulated annealing run consists of 100 Monte Carlo sweeps at the highest
5482 temperature (1000 K) followed by 100,000 sweeps during which the temperature
5483 is gradually decreased to a final temperature of 100 K.
5484 The progress of the simulation is monitored by writing data into the file
5485 `
5486\shape italic
5487time.d
5488\shape default
5489' every 1000 sweeps.
5490 The simulation starts from a random configuration.
5491
5492\begin_inset ERT
5493status open
5494
5495\begin_layout Standard
5496
5497
5498\backslash
5499begin{verbatim}
5500\end_layout
5501
5502\begin_layout Standard
5503
5504lrand=.true.
5505
5506\end_layout
5507
5508\begin_layout Standard
5509
5510nequi=100,
5511\end_layout
5512
5513\begin_layout Standard
5514
5515nswp=100000
5516\end_layout
5517
5518\begin_layout Standard
5519
5520nmes=1000
5521\end_layout
5522
5523\begin_layout Standard
5524
5525tmax=1000.0
5526\end_layout
5527
5528\begin_layout Standard
5529
5530tmin=100.0
5531\end_layout
5532
5533\begin_layout Standard
5534
5535\end_layout
5536
5537\begin_layout Standard
5538
5539call anneal(nequi, nsweeps, nmes, tmax, tmin, lrand)
5540\end_layout
5541
5542\begin_layout Standard
5543
5544
5545\backslash
5546end{verbatim}
5547\end_layout
5548
5549\end_inset
5550
5551
5552\end_layout
5553
5554\begin_layout Standard
5555After compiling the example with
5556\emph on
5557make annealing
5558\emph default
5559 in the sub-directory
5560\shape italic
5561EXAMPLES,
5562\shape default
5563
5564\shape italic
5565\emph on
5566we run the program by calling
5567\shape default
5568\emph default
5569
5570\shape italic
5571annealing.
5572
5573\shape default
5574 The output will contain the energy of the start configuration, energy after
5575 equilibration, the average acceptance rate of moves in the simulated annealing
5576 run, the final configuration (and its energy) and the configuration with
5577 the lowest energy found in this run:
5578\begin_inset ERT
5579status open
5580
5581\begin_layout Standard
5582
5583
5584\backslash
5585begin{verbatim}
5586\end_layout
5587
5588\begin_layout Standard
5589
5590 init_energy: itysol = 0
5591\end_layout
5592
5593\begin_layout Standard
5594
5595 init_energy: esol_scaling = F
5596\end_layout
5597
5598\begin_layout Standard
5599
5600 init_molecule: Solvent: 0
5601\end_layout
5602
5603\begin_layout Standard
5604
5605 File with SEQUENCE: enkefa.seq
5606\end_layout
5607
5608\begin_layout Standard
5609
5610 enkefa.ann
5611\end_layout
5612
5613\begin_layout Standard
5614
5615\end_layout
5616
5617\begin_layout Standard
5618
5619 redvar> Met-Enkephalin: residue 2 Gly : omg set 180.000 Fixed
5620\end_layout
5621
5622\begin_layout Standard
5623
5624 redvar> Met-Enkephalin: residue 3 Gly : omg set 180.000 Fixed
5625\end_layout
5626
5627\begin_layout Standard
5628
5629 redvar> Met-Enkephalin: residue 4 Phe : omg set 180.000 Fixed
5630\end_layout
5631
5632\begin_layout Standard
5633
5634 redvar> Met-Enkephalin: residue 5 Met : omg set 180.000 Fixed
5635\end_layout
5636
5637\begin_layout Standard
5638
5639 redvar> Met-Enkephalin: residue 5 Met : omt set 180.000 Fixed
5640\end_layout
5641
5642\begin_layout Standard
5643
5644 redvar> Molecule Met-Enkephalin: 19 variable(s) remain unchanged
5645\end_layout
5646
5647\begin_layout Standard
5648
5649\end_layout
5650
5651\begin_layout Standard
5652
5653energy of start configuration: 0.75921E+09
5654\end_layout
5655
5656\begin_layout Standard
5657
5658\end_layout
5659
5660\begin_layout Standard
5661
5662 Energy after equilibration: 11.0835755006373
5663\end_layout
5664
5665\begin_layout Standard
5666
5667 acceptance rate: 0.181430817270775
5668\end_layout
5669
5670\begin_layout Standard
5671
5672\end_layout
5673
5674\begin_layout Standard
5675
5676 last energy -8.03108763810183
5677\end_layout
5678
5679\begin_layout Standard
5680
5681 1 : 1 : x1 : -168.428
5682\end_layout
5683
5684\begin_layout Standard
5685
5686 1 : 1 : x2 : 89.562
5687\end_layout
5688
5689\begin_layout Standard
5690
5691 1 : 1 : x6 : -2.861
5692\end_layout
5693
5694\begin_layout Standard
5695
5696 1 : 1 : phi : -112.654
5697\end_layout
5698
5699\begin_layout Standard
5700
5701 1 : 2 : psi : 156.420
5702\end_layout
5703
5704\begin_layout Standard
5705
5706 1 : 2 : omg : -180.000 &
5707\end_layout
5708
5709\begin_layout Standard
5710
5711 1 : 2 : phi : -174.567
5712\end_layout
5713
5714\begin_layout Standard
5715
5716 1 : 3 : psi : 146.718
5717\end_layout
5718
5719\begin_layout Standard
5720
5721 1 : 3 : omg : -180.000 &
5722\end_layout
5723
5724\begin_layout Standard
5725
5726 1 : 3 : phi : 68.148
5727\end_layout
5728
5729\begin_layout Standard
5730
5731 1 : 4 : psi : -96.563
5732\end_layout
5733
5734\begin_layout Standard
5735
5736 1 : 4 : omg : -180.000 &
5737\end_layout
5738
5739\begin_layout Standard
5740
5741 1 : 4 : x1 : 59.864
5742\end_layout
5743
5744\begin_layout Standard
5745
5746 1 : 4 : x2 : -83.907
5747\end_layout
5748
5749\begin_layout Standard
5750
5751 1 : 4 : phi : -141.914
5752\end_layout
5753
5754\begin_layout Standard
5755
5756 1 : 5 : psi : 20.747
5757\end_layout
5758
5759\begin_layout Standard
5760
5761 1 : 5 : omg : -180.000 &
5762\end_layout
5763
5764\begin_layout Standard
5765
5766 1 : 5 : x1 : 61.133
5767\end_layout
5768
5769\begin_layout Standard
5770
5771 1 : 5 : x2 : -174.118
5772\end_layout
5773
5774\begin_layout Standard
5775
5776 1 : 5 : x3 : 176.917
5777\end_layout
5778
5779\begin_layout Standard
5780
5781 1 : 5 : x4 : -178.096
5782\end_layout
5783
5784\begin_layout Standard
5785
5786 1 : 5 : phi : -162.246
5787\end_layout
5788
5789\begin_layout Standard
5790
5791 1 : 5 : pst : 161.616
5792\end_layout
5793
5794\begin_layout Standard
5795
5796 1 : 5 : omt : -180.000 &
5797\end_layout
5798
5799\begin_layout Standard
5800
5801\end_layout
5802
5803\begin_layout Standard
5804
5805 lowest energy ever found: 63297 -9.40635361798398
5806\end_layout
5807
5808\begin_layout Standard
5809
5810
5811\backslash
5812end{verbatim}
5813\end_layout
5814
5815\end_inset
5816
5817 The random start configuration, final configuration and lowest-energy configura
5818tion are also written in PDB-format into the files
5819\shape italic
5820start.pdb
5821\shape default
5822,
5823\shape italic
5824final.pdb
5825\shape default
5826 and
5827\shape italic
5828global.pdb
5829\shape default
5830 allowing for easy visualization of these configurations with programs graphical
5831ly displaying PDB-structures.
5832 The progress of the simulated annealing run is monitored through the time
5833 series in file
5834\shape italic
5835time.d
5836\shape default
5837 which list the Monte Carlo sweep, temperature, ECEPP/2 energy, radius-of-gyrati
5838on, the partial energy terms
5839\begin_inset Formula $E_{\mbox{hb}}$
5840\end_inset
5841
5842,
5843\begin_inset Formula $E_{\mbox{vdW}}$
5844\end_inset
5845
5846,
5847\begin_inset Formula $E_{\mbox{C}}$
5848\end_inset
5849
5850,
5851\begin_inset Formula $E_{\mbox{vr}}$
5852\end_inset
5853
5854and the Zimmerman-coding of the present configuration.
5855 All the terms related to the solvent have been replaced by a single dot
5856 per column in the sample below.
5857
5858\begin_inset ERT
5859status open
5860
5861\begin_layout Standard
5862
5863
5864\backslash
5865begin{verbatim}
5866\end_layout
5867
5868\begin_layout Standard
5869
5870 # $Id: anneal.f 192 2007-01-02 14:06:25Z meinke $
5871\end_layout
5872
5873\begin_layout Standard
5874
5875 # nsw, temp, eol, eysl, eyslh, eyslp, asa, rgy,
5876\end_layout
5877
5878\begin_layout Standard
5879
5880 # rgyh, rgyp, eyhb, eyvw, eyel, eyvr, zimm
5881\end_layout
5882
5883\begin_layout Standard
5884
5885 0 1000.000 8.045 ....
5886 4.542 ..
5887 -3.992 -14.929 23.308 3.658 ghcBD
5888\end_layout
5889
5890\begin_layout Standard
5891
5892 1000 977.237 16.397 ....
5893 5.835 ..
5894 -2.029 -11.821 24.061 6.186 BDeCG
5895\end_layout
5896
5897\begin_layout Standard
5898
5899 2000 954.993 16.147 ....
5900 5.302 ..
5901 -1.786 -11.072 25.230 3.775 AdEDA
5902\end_layout
5903
5904\begin_layout Standard
5905
5906 3000 933.254 26.320 ....
5907 6.434 ..
5908 -1.324 -4.642 25.514 6.771 EecFC
5909\end_layout
5910
5911\begin_layout Standard
5912
5913 4000 912.011 14.884 ....
5914 5.145 ..
5915 -2.474 -13.559 25.449 5.469 EHDDB
5916\end_layout
5917
5918\begin_layout Standard
5919
5920 5000 891.251 21.650 ....
5921 5.882 ..
5922 -1.179 -8.380 27.125 4.083 EHfEB
5923\end_layout
5924
5925\begin_layout Standard
5926
5927 6000 870.964 13.854 ....
5928 5.806 ..
5929 -2.271 -12.703 25.621 3.207 EcaEh
5930\end_layout
5931
5932\begin_layout Standard
5933
5934 7000 851.138 19.786 ....
5935 5.439 ..
5936 -1.952 -9.254 26.428 4.565 EHaAE
5937\end_layout
5938
5939\begin_layout Standard
5940
5941 8000 831.764 14.299 ....
5942 5.986 ..
5943 -1.596 -16.538 24.699 7.735 EECEF
5944\end_layout
5945
5946\begin_layout Standard
5947
5948 9000 812.831 7.773 ....
5949 4.915 ..
5950 -2.819 -16.392 24.850 2.134 EECBB
5951\end_layout
5952
5953\begin_layout Standard
5954
5955...
5956\end_layout
5957
5958\begin_layout Standard
5959
5960...
5961\end_layout
5962
5963\begin_layout Standard
5964
5965...
5966\end_layout
5967
5968\begin_layout Standard
5969
5970 91000 123.027 -8.381 ....
5971 4.414 ..
5972 -5.162 -26.932 22.230 1.483 FEcDE
5973\end_layout
5974
5975\begin_layout Standard
5976
5977 92000 120.226 -6.302 ....
5978 4.439 ..
5979 -4.825 -25.727 22.824 1.426 EEcDE
5980\end_layout
5981
5982\begin_layout Standard
5983
5984 93000 117.490 -6.655 ....
5985 4.413 ..
5986 -4.355 -25.081 21.937 0.845 FEcDE
5987\end_layout
5988
5989\begin_layout Standard
5990
5991 94000 114.815 -8.190 ....
5992 4.523 ..
5993 -6.848 -24.025 21.598 1.086 FEcDE
5994\end_layout
5995
5996\begin_layout Standard
5997
5998 95000 112.202 -5.965 ....
5999 4.434 ..
6000 -5.052 -24.021 21.995 1.114 EEcDE
6001\end_layout
6002
6003\begin_layout Standard
6004
6005 96000 109.648 -7.081 ....
6006 4.444 ..
6007 -4.717 -25.137 22.669 0.104 EEcDE
6008\end_layout
6009
6010\begin_layout Standard
6011
6012 97000 107.152 -8.042 ....
6013 4.561 ..
6014 -4.969 -25.544 21.850 0.621 FEcDE
6015\end_layout
6016
6017\begin_layout Standard
6018
6019 98000 104.713 -7.342 ....
6020 4.439 ..
6021 -4.737 -26.152 22.463 1.083 FEcDE
6022\end_layout
6023
6024\begin_layout Standard
6025
6026 99000 102.329 -6.561 ....
6027 4.438 ..
6028 -3.975 -25.213 21.963 0.664 FEcDE
6029\end_layout
6030
6031\begin_layout Standard
6032
6033100000 100.000 -8.031 ....
6034 4.433 ..
6035 -5.231 -25.792 22.659 0.333 EEcDE
6036\end_layout
6037
6038\begin_layout Standard
6039
6040
6041\backslash
6042end{verbatim}
6043\end_layout
6044
6045\end_inset
6046
6047
6048\end_layout
6049
6050\begin_layout Subsection
6051Calculation of Multicanonical Parameters
6052\begin_inset LatexCommand label
6053name "sub:Calculation-of-Multicanonical"
6054
6055\end_inset
6056
6057
6058\end_layout
6059
6060\begin_layout Standard
6061In the following example, multicanonical parameters are calculated for met-enkep
6062halin (with fixed omega angles) in gas-phase simulations relying on the
6063 ECEPP/3 force-field.
6064
6065\shape italic
6066\emph on
6067The functions
6068\shape default
6069\emph default
6070
6071\shape italic
6072mulcan_par
6073\shape default
6074
6075\shape italic
6076\emph on
6077and
6078\shape default
6079\emph default
6080
6081\shape italic
6082mulcan_sim
6083\shape default
6084 are part of the module
6085\emph on
6086multicanonical.
6087
6088\emph default
6089 To use the module, include
6090\emph on
6091use multicanonical
6092\emph default
6093 in
6094\emph on
6095main
6096\emph default
6097.
6098 For this example, we set the following parameters in '
6099\shape italic
6100main
6101\shape default
6102':
6103\end_layout
6104
6105\begin_layout Standard
6106\begin_inset ERT
6107status open
6108
6109\begin_layout Standard
6110
6111
6112\backslash
6113begin{verbatim}
6114\end_layout
6115
6116\begin_layout Standard
6117
6118ientyp = 0
6119\end_layout
6120
6121\begin_layout Standard
6122
6123sh2 = .false.
6124
6125\end_layout
6126
6127\begin_layout Standard
6128
6129itysol = 0
6130\end_layout
6131
6132\begin_layout Standard
6133
6134iabin = 1
6135\end_layout
6136
6137\begin_layout Standard
6138
6139
6140\backslash
6141end{verbatim}
6142\end_layout
6143
6144\end_inset
6145
6146
6147\end_layout
6148
6149\begin_layout Standard
6150The simulation has a total of 100,000 Monte Carlo sweeps and the multicanonical
6151 parameters are updated every 2,000 sweeps.
6152 The parameters are calculated from scratch, and we attempt to obtain a
6153 histogram in energy in the interval [-12,20] Kcal/mol with energy bin size
6154 1 Kcal/mol.
6155 We expect that at temperature 1000 K we are clearly in the high-energy
6156 phase where successive configurations have little correlation.
6157 This leads to the following set of arguments for calling
6158\emph on
6159mulcan
6160\emph default
6161_
6162\emph on
6163par
6164\emph default
6165:
6166\end_layout
6167
6168\begin_layout Standard
6169\begin_inset ERT
6170status open
6171
6172\begin_layout Standard
6173
6174
6175\backslash
6176begin{verbatim}
6177\end_layout
6178
6179\begin_layout Standard
6180
6181l_iter=.false.
6182\end_layout
6183
6184\begin_layout Standard
6185
6186kmin=-12
6187\end_layout
6188
6189\begin_layout Standard
6190
6191kmax=20
6192\end_layout
6193
6194\begin_layout Standard
6195
6196ebin=1.0d0
6197\end_layout
6198
6199\begin_layout Standard
6200
6201nsweep=100000
6202\end_layout
6203
6204\begin_layout Standard
6205
6206nup=5000
6207\end_layout
6208
6209\begin_layout Standard
6210
6211temp=1000.0
6212\end_layout
6213
6214\begin_layout Standard
6215
6216call mulcan_par(nsweep, nup, temp, kmin, kmax, l_iter)
6217\end_layout
6218
6219\begin_layout Standard
6220
6221
6222\backslash
6223end{verbatim}
6224\end_layout
6225
6226\end_inset
6227
6228
6229\end_layout
6230
6231\begin_layout Standard
6232This example is available in the file
6233\emph on
6234multicanonical.f
6235\emph default
6236 in the EXAMPLES directory.
6237 After compiling it with
6238\emph on
6239make
6240\emph default
6241
6242\emph on
6243multicanonical
6244\emph default
6245 and running the program using
6246\emph on
6247multicanonical
6248\emph default
6249 the calculated multicanonical parameters are written into the file '
6250\shape italic
6251muca.d
6252\shape default
6253'.
6254 For further iteration of these parameters additional quantities such as
6255 the accumulated histogram are written into a file '
6256\shape italic
6257mpar_full.d
6258\shape default
6259' (out of which '
6260\shape italic
6261mulcan_par
6262\shape default
6263' reads them if '
6264\shape italic
6265l_iter=.true.
6266\shape default
6267' is set).
6268 We show here only the file '
6269\shape italic
6270muca.d
6271\shape default
6272' which lists the index of the energy bin, the
6273\begin_inset Formula $\beta(E)$
6274\end_inset
6275
6276 and the
6277\begin_inset Formula $\alpha(E)$
6278\end_inset
6279
6280 parameters (see
6281\begin_inset LatexCommand citep
6282key "Eisenmenger2001"
6283
6284\end_inset
6285
6286) for more detailed explanations and references on multicanonical simulations):
6287\end_layout
6288
6289\begin_layout Standard
6290\begin_inset ERT
6291status open
6292
6293\begin_layout Standard
6294
6295
6296\backslash
6297begin{verbatim}
6298\end_layout
6299
6300\begin_layout Standard
6301
6302-12 11.8671041270715 93.0982188015155
6303\end_layout
6304
6305\begin_layout Standard
6306
6307-11 6.74942546567488 34.2449141954539
6308\end_layout
6309
6310\begin_layout Standard
6311
6312-10 4.76239638525333 13.3811088510276
6313\end_layout
6314
6315\begin_layout Standard
6316
6317 -9 2.62566106761319 -6.91787666655369
6318\end_layout
6319
6320\begin_layout Standard
6321
6322 -8 2.76891298156071 -5.70023539799973
6323\end_layout
6324
6325\begin_layout Standard
6326
6327 -7 2.98636199792932 -4.06936777523520
6328\end_layout
6329
6330\begin_layout Standard
6331
6332 -6 2.62458524605883 -6.42091666239336
6333\end_layout
6334
6335\begin_layout Standard
6336
6337 -5 2.68953283146133 -6.06370494267963
6338\end_layout
6339
6340\begin_layout Standard
6341
6342 -4 1.99405651648455 -9.19334836007513
6343\end_layout
6344
6345\begin_layout Standard
6346
6347 -3 2.37207855308226 -7.87027123198313
6348\end_layout
6349
6350\begin_layout Standard
6351
6352 -2 1.80430850778520 -9.28969634522579
6353\end_layout
6354
6355\begin_layout Standard
6356
6357 -1 1.91571656031594 -9.12258426642968
6358\end_layout
6359
6360\begin_layout Standard
6361
6362 0 1.72752866077015 -9.21667821620257
6363\end_layout
6364
6365\begin_layout Standard
6366
6367 1 1.66881722525666 -9.18732249844583
6368\end_layout
6369
6370\begin_layout Standard
6371
6372 2 1.50004119691055 -8.93415845592665
6373\end_layout
6374
6375\begin_layout Standard
6376
6377 3 1.39142908670518 -8.66262818041324
6378\end_layout
6379
6380\begin_layout Standard
6381
6382 4 1.16605491925085 -7.87381859432308
6383\end_layout
6384
6385\begin_layout Standard
6386
6387 5 1.88002935687926 -11.0867035636509
6388\end_layout
6389
6390\begin_layout Standard
6391
6392 6 0.784923700785834 -5.06362245513708
6393\end_layout
6394
6395\begin_layout Standard
6396
6397 7 1.15928001690741 -7.49693850992732
6398\end_layout
6399
6400\begin_layout Standard
6401
6402 8 1.53630835441332 -10.3246510412217
6403\end_layout
6404
6405\begin_layout Standard
6406
6407 9 0.804876443148135 -4.10747979546758
6408\end_layout
6409
6410\begin_layout Standard
6411
6412 10 1.20439627142663 -7.90291816411324
6413\end_layout
6414
6415\begin_layout Standard
6416
6417 11 0.843296201282429 -4.11136742759918
6418\end_layout
6419
6420\begin_layout Standard
6421
6422 12 1.03327436670481 -6.29611632995659
6423\end_layout
6424
6425\begin_layout Standard
6426
6427 13 0.847836723791197 -3.97814579353639
6428\end_layout
6429
6430\begin_layout Standard
6431
6432 14 0.794466332096526 -3.25764550565833
6433\end_layout
6434
6435\begin_layout Standard
6436
6437 15 0.665347460625295 -1.38542186932548
6438\end_layout
6439
6440\begin_layout Standard
6441
6442 16 0.897108190646473 -4.97771318465375
6443\end_layout
6444
6445\begin_layout Standard
6446
6447 17 0.527634627532446 1.11860060672770
6448\end_layout
6449
6450\begin_layout Standard
6451
6452 18 0.591554662202600 0.000000000000000E+000
6453\end_layout
6454
6455\begin_layout Standard
6456
6457 19 0.591554662202600 0.000000000000000E+000
6458\end_layout
6459
6460\begin_layout Standard
6461
6462 20 0.591554662202600 0.000000000000000E+000
6463\end_layout
6464
6465\begin_layout Standard
6466
6467
6468\backslash
6469end{verbatim}
6470\end_layout
6471
6472\end_inset
6473
6474
6475\end_layout
6476
6477\begin_layout Standard
6478A test simulation of 100,000 Monte Carlo sweeps (using subroutine '
6479\shape italic
6480mulcan_sim
6481\shape default
6482' with these weights led to the following histogram that is flat over the
6483 studied energy range (as is characteristic for the multicanonical ensemble)
6484 (note that the last energy bin contains all entries for energies larger/equal
6485 than 20 Kcal/mol):
6486\end_layout
6487
6488\begin_layout Standard
6489\begin_inset ERT
6490status open
6491
6492\begin_layout Standard
6493
6494
6495\backslash
6496begin{verbatim}
6497\end_layout
6498
6499\begin_layout Standard
6500
6501-9 105
6502\end_layout
6503
6504\begin_layout Standard
6505
6506-8 828
6507\end_layout
6508
6509\begin_layout Standard
6510
6511-7 1945
6512\end_layout
6513
6514\begin_layout Standard
6515
6516-6 3108
6517\end_layout
6518
6519\begin_layout Standard
6520
6521-5 3247
6522\end_layout
6523
6524\begin_layout Standard
6525
6526-4 3054
6527\end_layout
6528
6529\begin_layout Standard
6530
6531-3 2844
6532\end_layout
6533
6534\begin_layout Standard
6535
6536-2 2531
6537\end_layout
6538
6539\begin_layout Standard
6540
6541-1 2397
6542\end_layout
6543
6544\begin_layout Standard
6545
6546 0 2082
6547\end_layout
6548
6549\begin_layout Standard
6550
6551 1 2179
6552\end_layout
6553
6554\begin_layout Standard
6555
6556 2 2294
6557\end_layout
6558
6559\begin_layout Standard
6560
6561 3 2579
6562\end_layout
6563
6564\begin_layout Standard
6565
6566 4 3193
6567\end_layout
6568
6569\begin_layout Standard
6570
6571 5 2855
6572\end_layout
6573
6574\begin_layout Standard
6575
6576 6 2927
6577\end_layout
6578
6579\begin_layout Standard
6580
6581 7 3994
6582\end_layout
6583
6584\begin_layout Standard
6585
6586 8 3362
6587\end_layout
6588
6589\begin_layout Standard
6590
6591 9 3047
6592\end_layout
6593
6594\begin_layout Standard
6595
659610 3289
6597\end_layout
6598
6599\begin_layout Standard
6600
660111 3199
6602\end_layout
6603
6604\begin_layout Standard
6605
660612 3412
6607\end_layout
6608
6609\begin_layout Standard
6610
661113 3034
6612\end_layout
6613
6614\begin_layout Standard
6615
661614 3092
6617\end_layout
6618
6619\begin_layout Standard
6620
662115 3258
6622\end_layout
6623
6624\begin_layout Standard
6625
662616 3079
6627\end_layout
6628
6629\begin_layout Standard
6630
663117 2957
6632\end_layout
6633
6634\begin_layout Standard
6635
663618 3157
6637\end_layout
6638
6639\begin_layout Standard
6640
664119 3055
6642\end_layout
6643
6644\begin_layout Standard
6645
664620 19897
6647\end_layout
6648
6649\begin_layout Standard
6650
6651
6652\backslash
6653end{verbatim}
6654\end_layout
6655
6656\end_inset
6657
6658
6659\end_layout
6660
6661\begin_layout Subsection
6662Regularization of the B domain of protein A
6663\begin_inset LatexCommand label
6664name "sub:Regularization-of-the"
6665
6666\end_inset
6667
6668
6669\end_layout
6670
6671\begin_layout Standard
6672Frequently, one wants to compare the results of a simulation with experimental
6673 data.
6674 When we compare properties of calculated configurations with those of structure
6675s from the Protein Data Bank (PDB), we have to remember that the actual
6676 bond lengths and angles in the PDB-structure will differ from the fixed
6677 values that are assumed with the ECEPP, FLEX, and Lund potentials.
6678 Forcing the molecule into the standard bonding geometry model may lead
6679 to un-physically high energies.
6680 The process of finding an optimal structure within the standard geometry
6681 model starting from a PDB-structure is called regularization.
6682\end_layout
6683
6684\begin_layout Standard
6685In our example, we regularize of the coordinates for residues 10-55 of the
6686 B domain of
6687\shape italic
6688Staphylococcus Aureus
6689\shape default
6690 Protein A, which were taken from entry
6691\shape italic
66921BDD
6693\shape default
6694 of the Protein Data Bank (see
6695\begin_inset LatexCommand url
6696target "http://www.rcsb.org"
6697
6698\end_inset
6699
6700), as provided with this package in file
6701\shape italic
67021bdd.pdb
6703\shape default
6704.
6705 Setting the variable '
6706\shape italic
6707iabin = 0
6708\shape default
6709' in
6710\shape italic
6711main.f
6712\shape default
6713 makes
6714\shape italic
6715init_molecule
6716\shape default
6717 call subroutine
6718\shape italic
6719pdbread
6720\shape default
6721 that reads the amino acid sequence and the atomic coordinates from the
6722 PDB- structure and stores this data in arrays declared in '
6723\shape italic
6724INCP.H
6725\shape default
6726'.
6727 Then
6728\shape italic
6729pdbvars
6730\shape default
6731 is automatically called to measure all dihedral angles.
6732 In order to regularize the PDB-structure one has to
6733\shape italic
6734call regul(nml, iter, nsteps,
6735\begin_inset Formula $\varepsilon$
6736\end_inset
6737
6738)
6739\shape default
6740 as the task subroutine in '
6741\shape italic
6742main
6743\shape default
6744' .
6745 Set the following parameters in '
6746\shape italic
6747main
6748\shape default
6749', accordingly:
6750\newline
6751
6752\newline
6753
6754\shape italic
6755ientyp=0
6756\newline
6757 sh2 = .false.
6758\newline
6759 itysol = 0
6760\newline
6761 iabin = 0
6762\shape default
6763
6764\newline
6765
6766\newline
6767 Note that '
6768\shape italic
6769regul
6770\shape default
6771', as any other task subroutine, has to be called AFTER '
6772\shape italic
6773init_molecule
6774\shape default
6775' .
6776 The example is available in the EXAMPLES directory.
6777 You can compile it by calling
6778\emph on
6779make regularization.
6780
6781\emph default
6782 Run the program by calling
6783\emph on
6784regularization
6785\emph default
6786.
6787 We use 10 iterations with up to 15000 sweeps each and
6788\begin_inset Formula $\varepsilon=10^{-7}$
6789\end_inset
6790
6791.
6792 A value for
6793\begin_inset Formula $\varepsilon$
6794\end_inset
6795
6796 that is too large may lead to numerical instabilities.
6797
6798\end_layout
6799
6800\begin_layout Standard
6801First '
6802\shape italic
6803regul
6804\shape default
6805' obtains its input from the arrays declared in '
6806\shape italic
6807INCP.H
6808\shape default
6809'.
6810 In a first step a naive representation of the molecule is build in the
6811 ECEPP geometry from the stored dihedral angles that were calculated from
6812 the PDB coordinates.
6813 This simple model serves as starting configuration for the regularization.
6814 In our example, its root-mean-square deviation (over all heave atoms) compared
6815 to the PDB-structure initially is 2.8
6816\begin_inset ERT
6817status collapsed
6818
6819\begin_layout Standard
6820
6821
6822\backslash
6823AA
6824\end_layout
6825
6826\end_inset
6827
6828 and its ECEPP-energy
6829\begin_inset Formula $\approx10^{5}$
6830\end_inset
6831
6832 kcal/mol, mainly due to excessive van-der-Waals repulsions.
6833 The regularization starts by first minimizing a term that measures the
6834 sum of squared distances between heavy atoms in the SMMP-structure and
6835 the given PDB-structure.
6836 This leads to a rmsd of 0.14
6837\begin_inset ERT
6838status collapsed
6839
6840\begin_layout Standard
6841
6842
6843\backslash
6844AA
6845\end_layout
6846
6847\end_inset
6848
6849.
6850 After this initial step a list of bad contacts (vdW-energy of more than
6851 2 kcal/mol) in the SMMP-structure is printed out.
6852 In a second step the physical energy is minimized, allowing only the free
6853 hydrogens to move, and the bad contacts and rmsd are displayed again.
6854 This step reduces the ECEPP-energy to
6855\begin_inset Formula $\approx10^{3}$
6856\end_inset
6857
6858 kcal/mol.
6859 '
6860\shape italic
6861Regul
6862\shape default
6863' aims at further reducing this energy while at the same time keeping the
6864 rmsd as small as possible.
6865 This is done by minimizing a composite energy from the weighted sum of
6866 physical ECEPP-energy and constraint energy (the quadratic distance measure)
6867 over 10 iterations.
6868 In each iteration the weight of the constraint energy is successively lowered
6869 (from 1 to 0) and the weight of the ECEPP energy raised (from 0 to 1).
6870 At the end, the dihedral angles of the final structure are printed out
6871 together with its rmsd and a list of (eventually) remaining bad contacts.
6872\end_layout
6873
6874\begin_layout Standard
6875The following output is obtained from this last iteration with a weight
6876 of 1 for the ECEPP-energy and a weight of 0 for the constraint energy,
6877 that leads to a SMMP-configuration with a total ECEPP-energy of
6878\begin_inset Formula $-429.9$
6879\end_inset
6880
6881 kcal/mol and a rmsd of 1.89
6882\begin_inset ERT
6883status inlined
6884
6885\begin_layout Standard
6886
6887
6888\backslash
6889AA
6890\end_layout
6891
6892\end_inset
6893
6894, compared to the PDB-structure:
6895\end_layout
6896
6897\begin_layout Standard
6898\begin_inset ERT
6899status open
6900
6901\begin_layout Standard
6902
6903
6904\backslash
6905begin{verbatim}
6906\end_layout
6907
6908\begin_layout Standard
6909
6910 ================ Minimization #10 Wt(energy) = 0.100E+01 Wt(regul.)
6911 = 0.000E+00
6912\end_layout
6913
6914\begin_layout Standard
6915
6916\end_layout
6917
6918\begin_layout Standard
6919
6920\end_layout
6921
6922\begin_layout Standard
6923
6924 Energy BEFORE minimization:
6925\end_layout
6926
6927\begin_layout Standard
6928
6929\end_layout
6930
6931\begin_layout Standard
6932
6933 Total: -0.39831E+03
6934\end_layout
6935
6936\begin_layout Standard
6937
6938 Coulomb: -0.4685E+02 Lennard-Jones: -0.3306E+03 HB: -0.6915E+02
6939\end_layout
6940
6941\begin_layout Standard
6942
6943 Variables: 0.4831E+02 Solvatation: 0.0000E+00 Regularization: 0.3315E+03
6944\end_layout
6945
6946\begin_layout Standard
6947
6948\end_layout
6949
6950\begin_layout Standard
6951
6952 Step 1: energy 0.259565E+13 ( 0.296722E+30, 0.363456E+12 )
6953\end_layout
6954
6955\begin_layout Standard
6956
6957 Step 2: energy 0.481884E+09 ( 0.572102E+22, 0.644342E+12 )
6958\end_layout
6959
6960\begin_layout Standard
6961
6962 Step 3: energy 0.444100E+10 ( 0.599018E+24, 0.617413E+12 )
6963\end_layout
6964
6965\begin_layout Standard
6966
6967 Step 4: energy 0.491253E+10 ( 0.220900E+25, 0.533540E+12 )
6968\end_layout
6969
6970\begin_layout Standard
6971
6972 Step 5: energy -0.355950E+03 ( 0.341264E+06, 0.495213E+10 )
6973\end_layout
6974
6975\begin_layout Standard
6976
6977 Step 6: energy -0.395467E+03 ( 0.762827E+06, 0.726715E+08 )
6978\end_layout
6979
6980\begin_layout Standard
6981
6982 Step 7: energy -0.398489E+03 ( 0.198935E+05, 0.137122E+08 )
6983\end_layout
6984
6985\begin_layout Standard
6986
6987 Step 8: energy -0.398761E+03 ( 0.409017E+05, 0.187175E+08 )
6988\end_layout
6989
6990\begin_layout Standard
6991
6992 Step 9: energy -0.399231E+03 ( 0.197834E+05, 0.329551E+08 )
6993\end_layout
6994
6995\begin_layout Standard
6996
6997 Step 10: energy -0.399787E+03 ( 0.143934E+06, 0.121392E+09 )
6998\end_layout
6999
7000\begin_layout Standard
7001
7002 ...
7003\end_layout
7004
7005\begin_layout Standard
7006
7007 ...
7008\end_layout
7009
7010\begin_layout Standard
7011
7012 ...
7013\end_layout
7014
7015\begin_layout Standard
7016
7017 Step 415: energy -0.429868E+03 ( 0.135007E-03, 0.523386E+11 )
7018\end_layout
7019
7020\begin_layout Standard
7021
7022 Step 416: energy -0.429868E+03 ( 0.123681E-04, 0.523385E+11 )
7023\end_layout
7024
7025\begin_layout Standard
7026
7027 Step 417: energy -0.429868E+03 ( 0.254870E-05, 0.523385E+11 )
7028\end_layout
7029
7030\begin_layout Standard
7031
7032 Step 418: energy -0.429868E+03 ( 0.193334E-05, 0.523385E+11 )
7033\end_layout
7034
7035\begin_layout Standard
7036
7037 Step 419: energy -0.429868E+03 ( 0.140748E-05, 0.523385E+11 )
7038\end_layout
7039
7040\begin_layout Standard
7041
7042 Step 420: energy -0.429868E+03 ( 0.740869E-06, 0.523384E+11 )
7043\end_layout
7044
7045\begin_layout Standard
7046
7047 Step 421: energy -0.429868E+03 ( 0.489693E-06, 0.523384E+11 )
7048\end_layout
7049
7050\begin_layout Standard
7051
7052 Step 422: energy -0.429868E+03 ( 0.282056E-06, 0.523384E+11 )
7053\end_layout
7054
7055\begin_layout Standard
7056
7057 Step 423: energy -0.429868E+03 ( 0.104563E-06, 0.523384E+11 )
7058\end_layout
7059
7060\begin_layout Standard
7061
7062 Step 424: energy -0.429868E+03 ( 0.519142E-07, 0.523385E+11 )
7063\end_layout
7064
7065\begin_layout Standard
7066
7067 Step 425: energy -0.429868E+03 ( 0.104563E-06, 0.523384E+11 )
7068\end_layout
7069
7070\begin_layout Standard
7071
7072 ---- CONVERGENCE ----
7073\end_layout
7074
7075\begin_layout Standard
7076
7077\end_layout
7078
7079\begin_layout Standard
7080
7081 Final energies __________________________________________________
7082\end_layout
7083
7084\begin_layout Standard
7085
7086\end_layout
7087
7088\begin_layout Standard
7089
7090 Total: -0.42987E+03
7091\end_layout
7092
7093\begin_layout Standard
7094
7095 Coulomb: -0.5431E+02 Lennard-Jones: -0.3510E+03 HB: -0.7268E+02
7096\end_layout
7097
7098\begin_layout Standard
7099
7100 Variables: 0.4809E+02 Solvatation: 0.0000E+00 Regularization: 0.2241E+05
7101\end_layout
7102
7103\begin_layout Standard
7104
7105 ...
7106\end_layout
7107
7108\begin_layout Standard
7109
7110
7111\end_layout
7112
7113\begin_layout Standard
7114
7115 RMSD = 1.89099626258629
7116\end_layout
7117
7118\begin_layout Standard
7119
7120\end_layout
7121
7122\begin_layout Standard
7123
7124
7125\backslash
7126end{verbatim}
7127\end_layout
7128
7129\end_inset
7130
7131
7132\end_layout
7133
7134\begin_layout Subsection
7135Parallel Tempering simulation of four A
7136\begin_inset Formula $\beta_{16-22}$
7137\end_inset
7138
7139 peptides
7140\begin_inset LatexCommand label
7141name "sub:Parallel-Tempering-simulation"
7142
7143\end_inset
7144
7145
7146\end_layout
7147
7148\begin_layout Standard
7149In the following example, a parallel tempering simulation of the fragment
7150 16--22 of Alzheimer's
7151\begin_inset Formula $\beta$
7152\end_inset
7153
7154-amyloid in solvent.
7155 It relies on the ECEPP/3 force-field and all dihedral angles are free.
7156 References for the algorithm can be found in
7157\begin_inset LatexCommand cite
7158key "Eisenmenger2001"
7159
7160\end_inset
7161
7162.
7163 The simulation is performed on a parallel computer on
7164\begin_inset Formula $n\times8$
7165\end_inset
7166
7167 processors.
7168 The example is available in the EXAMPLES directory as
7169\emph on
7170parallel_tempering_p
7171\emph default
7172.
7173 Commpile it using
7174\emph on
7175make parallel_tempering
7176\emph default
7177.
7178 Set the following parameters
7179\end_layout
7180
7181\begin_layout Standard
7182\begin_inset ERT
7183status open
7184
7185\begin_layout Standard
7186
7187
7188\backslash
7189begin{verbatim}
7190\end_layout
7191
7192\begin_layout Standard
7193
7194num_replica = 8
7195\end_layout
7196
7197\begin_layout Standard
7198
7199ientyp = 0
7200\end_layout
7201
7202\begin_layout Standard
7203
7204sh2=.false.
7205\end_layout
7206
7207\begin_layout Standard
7208
7209itysol=1
7210\end_layout
7211
7212\begin_layout Standard
7213
7214
7215\backslash
7216end{verbatim}
7217\end_layout
7218
7219\end_inset
7220
7221
7222\end_layout
7223
7224\begin_layout Standard
7225After initialization, the program calls
7226\emph on
7227init_molecule
7228\emph default
7229 once for every molecule.
7230 Only the last call contains a reference to a variable file.
7231 It contains the global coordinates for each molecule
7232\end_layout
7233
7234\begin_layout Standard
7235\begin_inset ERT
7236status open
7237
7238\begin_layout Standard
7239
7240
7241\backslash
7242begin{verbatim}
7243\end_layout
7244
7245\begin_layout Standard
7246
7247@ 1 : 100, 100, 100, 0, 0, 0
7248\end_layout
7249
7250\begin_layout Standard
7251
7252@ 2 : -100, -100, -100, 0, 0, 0
7253\end_layout
7254
7255\begin_layout Standard
7256
7257@ 3 : 100, -100, 100, 0, 0, 0
7258\end_layout
7259
7260\begin_layout Standard
7261
7262@ 4 : 100, -100, -100, 0, 0, 0
7263\end_layout
7264
7265\begin_layout Standard
7266
7267
7268\backslash
7269end{verbatim}
7270\end_layout
7271
7272\end_inset
7273
7274
7275\end_layout
7276
7277\begin_layout Standard
7278The subroutine reads the distribution of temperatures (in our example 'temperatu
7279res_abeta') that has to be provided.
7280\end_layout
7281
7282\begin_layout Standard
7283The simulation starts from a stretched configuration with 100 sweeps for
7284 equilibration.
7285 The molecule is then studied over 10,000 sweeps on each node, with measurements
7286 taken every 10 sweep.
7287
7288\end_layout
7289
7290\begin_layout Standard
7291Hence the following arguments have to be passed
7292\end_layout
7293
7294\begin_layout Standard
7295\begin_inset ERT
7296status open
7297
7298\begin_layout Standard
7299
7300
7301\backslash
7302begin{verbatim}
7303\end_layout
7304
7305\begin_layout Standard
7306
7307 nequi=100
7308\end_layout
7309
7310\begin_layout Standard
7311
7312 nswp=10000
7313\end_layout
7314
7315\begin_layout Standard
7316
7317 nmes=10
7318\end_layout
7319
7320\begin_layout Standard
7321
7322 nsave=1000
7323\end_layout
7324
7325\begin_layout Standard
7326
7327 switch=0
7328\end_layout
7329
7330\begin_layout Standard
7331
7332 newsta=.true.
7333\end_layout
7334
7335\begin_layout Standard
7336
7337
7338\backslash
7339end{verbatim}
7340\end_layout
7341
7342\end_inset
7343
7344 by calling
7345\emph on
7346partem_p(num_replica, nequi, nswp, nmes, nsave, newsta, switch, rep_id,
7347 partem_comm).
7348\end_layout
7349
7350\begin_layout Standard
7351After compiling with
7352\emph on
7353make parallel_tempering
7354\emph default
7355 the program is ready to run.
7356 Note that you must first execute
7357\emph on
7358make parallel
7359\emph default
7360 in the top-level directory.
7361 We do not provide a script to launch the program since launching it depends
7362 on the specific MPI installation.
7363 The data are written into the file '
7364\shape italic
7365ts.d
7366\shape default
7367'.
7368 In our case, the data are the sweep, the temperature index, the index of
7369 the replica this temperature is currently associated, the inverse temperature,
7370 and energy, radius-of gyration, number of residues that are part of a helix
7371 or sheet, number of hydrogen bond, total number of contacts and the number
7372 of contacts that appear also in the reference configuration:
7373\begin_inset ERT
7374status open
7375
7376\begin_layout Standard
7377
7378
7379\backslash
7380begin{verbatim}
7381\end_layout
7382
7383\begin_layout Standard
7384
7385 10 1 1 0.503086435280445
7386\end_layout
7387
7388\begin_layout Standard
7389
7390 18.5259057594418 -101.020909189261 1.668390368424223E-004
7391\end_layout
7392
7393\begin_layout Standard
7394
7395 153.870626474863 3 4 0
7396\end_layout
7397
7398\begin_layout Standard
7399
7400 10 2 2 0.838477392134076
7401\end_layout
7402
7403\begin_layout Standard
7404
7405 -21.8597428563679 -112.839132565408 4.398819716124160E-005
7406\end_layout
7407
7408\begin_layout Standard
7409
7410 164.067677362049 0 12 0
7411\end_layout
7412
7413\begin_layout Standard
7414
7415 10 3 3 1.25771608820111
7416\end_layout
7417
7418\begin_layout Standard
7419
7420 -63.6878966409724 -115.697268416431 7.324283587028595E-005
7421\end_layout
7422
7423\begin_layout Standard
7424
7425 162.383801785309 2 9 0
7426\end_layout
7427
7428\begin_layout Standard
7429
7430 10 4 4 1.43738981508699
7431\end_layout
7432
7433\begin_layout Standard
7434
7435 -82.2329362395502 -118.850435462771 -2.589501558808733E-005
7436\end_layout
7437
7438\begin_layout Standard
7439
7440 155.367430914339 3 8 0
7441\end_layout
7442
7443\begin_layout Standard
7444
7445 10 5 5 1.67695478426815
7446\end_layout
7447
7448\begin_layout Standard
7449
7450 -89.8268073782128 -115.511880821486 -1.910806982598894E-004
7451\end_layout
7452
7453\begin_layout Standard
7454
7455 156.197401324212 1 13 0
7456\end_layout
7457
7458\begin_layout Standard
7459
7460 10 6 6 1.82940521920162
7461\end_layout
7462
7463\begin_layout Standard
7464
7465 -102.200054103571 -119.664523580541 -2.902461830424936E-005
7466\end_layout
7467
7468\begin_layout Standard
7469
7470 158.377278261187 1 7 0
7471\end_layout
7472
7473\begin_layout Standard
7474
7475 10 7 7 1.92017723389483
7476\end_layout
7477
7478\begin_layout Standard
7479
7480 -92.5898004594444 -111.866857243732 8.412738265616228E-005
7481\end_layout
7482
7483\begin_layout Standard
7484
7485 156.691206902137 2 13 0
7486\end_layout
7487
7488\begin_layout Standard
7489
7490 10 8 8 2.01234574112178
7491\end_layout
7492
7493\begin_layout Standard
7494
7495 -91.7374330640579 -118.481236403476 -1.450348059239640E-004
7496\end_layout
7497
7498\begin_layout Standard
7499
7500 160.611273802438 0 9 0
7501\end_layout
7502
7503\begin_layout Standard
7504
7505 ...
7506\end_layout
7507
7508\begin_layout Standard
7509
7510 ...
7511\end_layout
7512
7513\begin_layout Standard
7514
7515 ...
7516\end_layout
7517
7518\begin_layout Standard
7519
7520 10000 1 2 0.503086435280445
7521\end_layout
7522
7523\begin_layout Standard
7524
7525 25.7121801637793 -112.113204586669 -7.981375910951304E-005
7526\end_layout
7527
7528\begin_layout Standard
7529
7530 171.130731978089 0 5 0
7531\end_layout
7532
7533\begin_layout Standard
7534
7535 10000 2 4 0.838477392134076
7536\end_layout
7537
7538\begin_layout Standard
7539
7540 -83.1513580270155 -119.884471326212 -3.185178277838820E-005
7541\end_layout
7542
7543\begin_layout Standard
7544
7545 179.222034577900 4 5 0
7546\end_layout
7547
7548\begin_layout Standard
7549
7550 10000 3 3 1.25771608820111
7551\end_layout
7552
7553\begin_layout Standard
7554
7555 -88.7115772801244 -109.660390359632 2.816222447889407E-005
7556\end_layout
7557
7558\begin_layout Standard
7559
7560 169.412616033656 6 2 0
7561\end_layout
7562
7563\begin_layout Standard
7564
7565 10000 4 1 1.43738981508699
7566\end_layout
7567
7568\begin_layout Standard
7569
7570 -117.230892149812 -118.180458392844 -1.362571932424056E-004
7571\end_layout
7572
7573\begin_layout Standard
7574
7575 155.662046672612 9 3 0
7576\end_layout
7577
7578\begin_layout Standard
7579
7580 10000 5 5 1.67695478426815
7581\end_layout
7582
7583\begin_layout Standard
7584
7585 -117.452066538358 -114.923193931984 9.292455852280616E-005
7586\end_layout
7587
7588\begin_layout Standard
7589
7590 165.838174859018 8 4 0
7591\end_layout
7592
7593\begin_layout Standard
7594
7595 10000 6 8 1.82940521920162
7596\end_layout
7597
7598\begin_layout Standard
7599
7600 -114.553279087787 -116.322737335011 1.354655604376923E-005
7601\end_layout
7602
7603\begin_layout Standard
7604
7605 161.094515087733 4 4 0
7606\end_layout
7607
7608\begin_layout Standard
7609
7610 10000 7 7 1.92017723389483
7611\end_layout
7612
7613\begin_layout Standard
7614
7615 -128.613090309274 -113.083234658370 6.618583172642824E-005
7616\end_layout
7617
7618\begin_layout Standard
7619
7620 169.226190038938 10 0 0
7621\end_layout
7622
7623\begin_layout Standard
7624
7625 10000 8 6 2.01234574112178
7626\end_layout
7627
7628\begin_layout Standard
7629
7630 -116.001290834057 -115.250965599594 8.095072332381373E-005
7631\end_layout
7632
7633\begin_layout Standard
7634
7635 169.725277983610 8 4 0
7636\end_layout
7637
7638\begin_layout Standard
7639
7640\end_layout
7641
7642\begin_layout Standard
7643
7644
7645\backslash
7646end{verbatim}
7647\end_layout
7648
7649\end_inset
7650
7651
7652\end_layout
7653
7654\begin_layout Standard
7655At the end of the simulation, the final configurations are written into
7656 external files (in our case '
7657\shape italic
7658conf_00??
7659\shape default
7660' where '??' marks the replica index.
7661 Further information for re-starts are written into '
7662\shape italic
7663par_R.in
7664\shape default
7665' that also collects statistics on the run.
7666
7667\end_layout
7668
7669\begin_layout Subsection
7670Parallel tempering on a serial machine.
7671\begin_inset LatexCommand label
7672name "sub:Parallel-tempering-on"
7673
7674\end_inset
7675
7676
7677\end_layout
7678
7679\begin_layout Standard
7680Parallel tempering is useful even if you have only a single processor machine
7681 available.
7682 The algorithm provides better convergence than canonical Monte Carlo and
7683 avoids the scheduling problems of simulated annealing.
7684 In this example (see
7685\emph on
7686parallel_tempering_s.f
7687\emph default
7688 in the
7689\emph on
7690EXAMPLES
7691\emph default
7692 sub directory), we perform a parallel tempering simulation on Met-enkaphalin
7693 using 5 replicas.
7694 Each replica runs at a different temperature.
7695 The temperatures are read in from the file
7696\emph on
7697temperatures
7698\emph default
7699.
7700 The values are
7701\end_layout
7702
7703\begin_layout Standard
7704\begin_inset ERT
7705status open
7706
7707\begin_layout Standard
7708
7709
7710\backslash
7711begin{verbatim}
7712\end_layout
7713
7714\begin_layout Standard
7715
77161 1000
7717\end_layout
7718
7719\begin_layout Standard
7720
77212 600
7722\end_layout
7723
7724\begin_layout Standard
7725
77263 400
7727\end_layout
7728
7729\begin_layout Standard
7730
77314 300
7732\end_layout
7733
7734\begin_layout Standard
7735
77365 250.
7737\end_layout
7738
7739\begin_layout Standard
7740
7741
7742\backslash
7743end{verbatim}
7744\end_layout
7745
7746\end_inset
7747
7748 We start the simulation from randomized configurations with 100 sweeps
7749 for equilibration before we exchange any replicas.
7750 The main simulation takes 10,000 sweeps with measurements taken every 10
7751 sweeps.
7752 An exchange of replicas is also attempted every 10 sweeps.
7753 This gives us the following variables
7754\end_layout
7755
7756\begin_layout Standard
7757\begin_inset ERT
7758status open
7759
7760\begin_layout Standard
7761
7762
7763\backslash
7764begin{verbatim}
7765\end_layout
7766
7767\begin_layout Standard
7768
7769num_rep = 5
7770\end_layout
7771
7772\begin_layout Standard
7773
7774nequi = 100
7775\end_layout
7776
7777\begin_layout Standard
7778
7779nsweep = 10000
7780\end_layout
7781
7782\begin_layout Standard
7783
7784nmes = 1
7785\end_layout
7786
7787\begin_layout Standard
7788
7789newsta = .true.
7790
7791\end_layout
7792
7793\begin_layout Standard
7794
7795switch = 1
7796\end_layout
7797
7798\begin_layout Standard
7799
7800
7801\backslash
7802end{verbatim}
7803\end_layout
7804
7805\end_inset
7806
7807 and we call the simulation with
7808\begin_inset listings
7809lstparams "breaklines=true,float=h,language=Fortran,showstringspaces=false"
7810inline false
7811status collapsed
7812
7813\begin_layout Standard
7814
7815call partem_s(num_rep, nequi, nsweep, nmes, nmes, newsta, switch)
7816\end_layout
7817
7818\end_inset
7819
7820The data is written into file
7821\emph on
7822time.d
7823\emph default
7824.
7825 The final configurations are stored in
7826\emph on
7827conf_000?.var
7828\emph default
7829, where the question mark is replaced by the replica ID.
7830\end_layout
7831
7832\begin_layout Standard
7833\begin_inset LatexCommand bibtex
7834options "unsrt"
7835bibfiles "/home/meinke/research/writeups/bibliography"
7836
7837\end_inset
7838
7839
7840\end_layout
7841
7842\begin_layout Standard
7843\begin_inset LatexCommand printindex
7844
7845\end_inset
7846
7847
7848\end_layout
7849
7850\end_body
7851\end_document
Note: See TracBrowser for help on using the repository browser.