Hi there,
I am running a water refinement incorporating RDC and had a very
strange error involving loop label (or actually not). I spotted the
commands leading to the error but was not able to explain the reason
and would like to have your ideas.
Please see the bottom part of this email for the simplified script
excerpt. The water refinement script was originally from C. Spronk
which again was from M. Nilges, the RDC part was from
Xplor-NIH/eginput/gb1_rdc/sa_tmv_bice_rgyr.inp.
The error message appears at the end of loop main and the end of
calculation, as shown below:
...
X-PLOR>end loop main
%X-PLOR-ERR: wrong LOOP-label:
end loop main
^^^^
...
X-PLOR>stop
X-PLOR>
%NEXTF-ERR: EOF or ERROR encountered on input:
^
HEAP: maximum use= 16467917 current use= 14699721
PRIEND: 2 levels not terminated
LEVEL= 1 KEY=X-PLOR> ACTION=GO
LEVEL= 2 KEY=LOOP ACTION=SKIP
X-PLOR: total CPU time= 660.7700 s
...
Debugging the script shows that the following two lines in the initial
internal dynamics setup block lead to the errors.
14 print verbose=loopinfo
15 print verbose=loopdebug
These two lines were copied from sa_tmv_bice_rgyr.inp, and does not
show similiar error messages in that script strangely. Changing the
two lines to conform with xplor syntax (if I read the syntax
correctly):
14 print=verbose=loopinfo
15 print=verbose=loopdebug
does not solve the problem. Only commenting out these two lines is a
workaround. Commenting out one line gives an error message "1 levels
not terminated ... ACTION=GO".
The label string itself is not the cause. It seems to me like the
"end loop" was not executed when "print=verbose=loop..." is in
functioning.
Sorry for the long message and anxiously looking forward to hearing from you.
Nimira
refinement script excerpt
1 ...
2 evaluate ($end_count = 3)
3 evaluate ($count = 0)
4 while ($count < $end_count ) loop main
5 evaluate ($accept = 0)
6 ...
7 parameter
8 angle (not resn tip3)(not resn tip3)(not resn tip3)
$kangle TOKEN
9 ...
10 end
11 ! original bug was here
12 dynamics internal
13 reset
14 print verbose=loopinfo
15 print verbose=loopdebug
16 group (resid 500 )
17 hinge rotate (resid 500)
18 evaluate ($res = 1)
19 while ($res le $maxResid) loop group
20 group (resid $res and resname PHE and
21 (name CG or name CD1 or name CD2 or name CE1
or name CE2 or name CZ))
22 ...
23 evaluate ($res = $res + 1)
24 end loop group
25 set message on echo on end
26 cloop=false
27 auto torsion
28 maxe 10000
29 end
30 ...
31 if ($accept = 0 ) then
32 evaluate ( $label = "ACCEPTED" )
33 exit main
34 else
35 evaluate ( $label = "NOT ACCEPTED" )
36 evaluate ( $count = $count + 1 )
37 end if
38 end loop main
39 constraints interaction
40 (not resname TIP* and not resname ANI)
41 (not resname TIP* and not resname ANI)
42 end
43 energy end
44 remarks Structure $label
45 remarks E-overall: $ener
46 write coordinates sele= (not resn TIP3) output =$pdb.out.file.1 end
47 stop