next up previous contents index
Next: Adding your Own Module Up: The Refinement Script Previous: The Refinement Script

Refinement Script Details

The first half of the script is the long loop. The program for each term is run to calculate the function value and gradient using the parameters in init.cor. If you want to run steepest descent or conjugate gradient this is all the information you need, and you would use the GRADIENT command. If you wish to use gradient/curvature or preconditioned conjugate gradient, which are the preferred methods, you would use the CURVATURE command instead.

Therefore each program is provided with the observations to which the model is to be restrained, the coordinate file ( init.cor), and finally given the CURVATURE command. (I suggest you read $tntbin/tnt_cycle at this point.)

The control program, Shift, is given the files produced by each module as well as init.cor and olddir.dat. The flow of data in a long loop is shown diagrammatically in Figure gif.

If you do not have an old shift vector or do not want to use one of the conjugate gradient methods you should still INCLUDE olddir.dat and simply supply an empty one. Having Shift read an olddir.dat regardless of whether one is there allows you to switch between conjugate and non-conjugate methods without editing the script. Switching between a gradient and a curvature method simply requires that the GRADIENT command be replaced with a CURVATURE command.

figure237
Figure: Long Loop Data Flow

figure252
Figure: Short Loop Data Flow

In the long loop Shift should be instructed how to vary the parameters. The definition of which parameters are to be held constant, such as occupancies, and which parameters are to be treated as collected groups, as in rigid body refinement or when portions of the model are to have single overall B factors, must be given to Shift. Since these definitions are usually given in the control file Shift should read this file as well.

In the short loop each module is ran once again (Figure gif). This time they are given the coordinate file shifted.cor and execute the FUNCTION command. Their output files are all read by Shift. The flow of control in the short loop can be seen in the standard script $tntbin/tnt_cycle.


next up previous contents index
Next: Adding your Own Module Up: The Refinement Script Previous: The Refinement Script

Dale Edwin Tronrud
Thu Jul 6 23:24:57 PDT 2000