source: doc/manual.lyx

Last change on this file was 6650a56, checked in by baerbaer <baerbaer@…>, 14 years ago

Explicitly declare variables.

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

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