Command Statements
In the following section each of Rfactor's commands are described and a small example is given. In these examples many of the required parameters are presumed to be read from the TNT control file, here assumed to be named your.tnt. Rfactor presumes that this file will contain the cell constants, the definition of the space group, the name of the observed structure factor file, and the resolution limits of the data to be considered. Some commands do not need all of this information but you will want it in your control file anyway.
AGARWAL <File name> SOURCE <File Id> - [MODULE <Name>] - [BLUR <Value>] - [{GRID 3(<Value>) | OVERSAMPLE <Value>}]
The AGARWAL command causes the program to calculate the gradient of a function via an Agarwal-type convolution. The Fourier coefficients described with the SOURCE modifier will be used to generate the ``difference map'' required by the calculation. The <File Id> must have been defined on a FILE statement. The resulting gradient is written to the file <File name> with whatever module identifier was specified. You may override the default choice for blur and grid using the proper modifiers. By default the blur and grid will be chosen by Rfactor to provide accurate results in a short amount of time.
A detailed description of the Fourier coefficients which you are required to calculate can be found in the ``Creating Your Own Module" chapter.
$tntbin/rfactor << $eof INCLUDE $tntdata/formfactor.dat INCLUDE your.tnt INCLUDE init.cor FILE COEFS fo-fc.pak FORMAT PACKED AGARWAL rfactor.dat SOURCE COEFS MODULE MY_MODULE $eof if ($status >< 0) then exit 1
CURVATURE <File name> - [MODULE {RFACTOR | REALSPACE | PHASE}]
This statement causes the function value, gradient, and curvature for the specified module to be calculated and written to the file name entered on the input statement. (The default module is RFACTOR.) The scale factor required in the short loop are written to the file scales.dat.
The CURVATURE command cannot be used with the ROTATION module. The calculation of curvatures and gradients in this module are more complicated than the others. You need to read the ``Rotation Function Refinement Module" section of the ``Other Modules in TNT" chapter.
Required for these calculations are the cell constants, the resolution limits, the symmetry operators, the lattice class, the Fo file name, the atomic form factors, the coordinate file, and the weight for this term. An example follows:
$tntbin/rfactor <<$eof INCLUDE $tntdata/formfactor.dat INCLUDE your.tnt INCLUDE init.cor CURVATURE rfactor.dat $eof if ($status >< 0) then exit 1
FUNCTION <File name> - [MODULE {RFACTOR | REALSPACE | PHASE | ROTATION}]
This statement causes the observed and calculated structure factors to be compared, and the proper scale factors that maximize the agreement between the two data sets to be calculated (after consideration of the most recent SET statement). Then the function value for the specified module will be determined. This function value will be written in the file whose name appears on the statement. An example where this statement is used in a short loop in refinement follows:
$tntbin/rfactor <<$eof INCLUDE $tntdata/formfactor.dat INCLUDE your.tnt INCLUDE scales.dat INCLUDE shifted.cor FUNCTION rfactor.dat $eof if ($status >< 0) then exit 1
The file scales.dat contains the SET statement which reflects the scale factors used in the long loop. It is written whenever a GRADIENT or CURVATURE command is executed.
GRADIENT <File name> - [MODULE {RFACTOR | REALSPACE | PHASE}]
This statement causes the function value and gradient for the specified module to be calculated and written to the file name on the input statement. The scale factors needed in the short loops are written to the file scales.dat.
The GRADIENT command cannot be used with the ROTATION module. The calculation of gradients in this module is more complicated than the others. You need to read the ``Rotation Function Refinement Module" section of the ``Other Modules in TNT" chapter.
Required for these calculations are the cell constants, the resolution limits, space group symmetry, the Fo file name, the coordinates of the model, the formfactors, and the weight for this term. An example follows:
$tntbin/rfactor <<$eof INCLUDE $tntdata/formfactor.dat INCLUDE your.tnt INCLUDE init.cor GRADIENT rfactor.dat $eof if ($status >< 0) then exit 1
NORMAL_MATRIX <File name> SOURCE <File Id> - [MODULE <Name>] - [BLUR <Value>] - [{GRID 3(<Value>) | OVERSAMPLE <Value>}]
The NORMAL_MATRIX command allows one to calculate the diagonal blocks (one block per atom) of the normal matrix for any kind of crystallographic residual function. Using the procedure outlined in (Tronrud, D.E., Acta Cryst (1999), A55, 700-703) Fourier coefficients can be calculated based upon the particulars of the residual function. These coefficients can be fed into Rfactor and the full set of diagonal blocks calculated. This is usually much quicker than calculating the diagonal blocks directly.
A detailed description of the Fourier coefficients which you are required to calculate can be found in the ``Creating Your Own Module" chapter.
An example of script for using the NORMAL_MATRIX command is
$tntbin/rfactor << $eof INCLUDE $tntdata/formfactor.dat INCLUDE your.tnt INCLUDE init.cor FILE COEFS fo-fc.pak FORMAT PACKED NORMAL_MATRIX rfactor.dat SOURCE COEFS MODULE MY_MODULE $eof if ($status >< 0) then exit 1
PUNCH <File name> {MAP | DSN6 | HKL | PACKED | ATOMx} - [TYPE {FO-FC | 2FO-FC | 3FO-2FC | IO-IC | - (FO-FC)**2 | PHASE_GRD | REALSPACE_GRD | - RFACTOR_GRD | ROTATION_GRD | PHASE_CRV | - REALSPACE_CRV | RFACTOR_CRV | - ROTATION_CRV | SWAP_PHASE}] - [BLUR <Value>] [SCALE <Value>] - [{GRID 3(<value>) | OVERSAMPLE <value>}] - [{LAYOUT 6(<value>) | ASYMMETRIC}]
The PUNCH command in Rfactor is used to produce files containing either
maps or difference coefficients.
The modifiers (Scale, Blur, etc.) are described in the ``Common Keywords''
section of Chapter (page
).
The type of difference coefficients (either directly written to disk or used to calculate a map) is specified with the TYPE modifier. Most of the coefficient types are self-explanatory. The PHASE_GRD, REALSPACE_GRD, RFACTOR_GRD, and ROTATION_GRD coefficient types define the maps used to calculate the gradients for these modules. The curvatures for these modules can be calculated using the coefficient type with ``_CRV" appended to their name. The SWAP_PHASE coefficient type allows the creation of coefficients whose amplitude comes from the FO file while the phase comes from the FC file.
The default file is a 2Fo-Fc map oversampled by 2 and containing a molecular volume layout.
A PUNCH statement must be preceded by a CELL statement, a RESOLUTION statement, the symmetry operators, an FO statement, some coordinates, and the form factors. The structure factors introduced on a FC statement will be used in place of those calculated from the coordinates if a FC statement is given.
If the SIGMA option has been set the coefficients will be sigma weighted. If a SIM statement has been given they will be Sim weighted.
Examples which produce an Fo-Fc and a 2Fo-Fc map
are show below. Additional examples are given on
page .
REPORT {RFACTOR | SPACEGROUP}
The REPORT statement causes the program to write interesting information to the log file. There are two classes of information which can be reported.
This statement causes the R-value between the two data sets to be printed in the log file. This R-value, along with other interesting facts, are summarized for 10 equal-volume shells in reciprocal space. If the FOM option is specified then additional statistics are printed which are weighted by the Figure of Merit found in the Fo file of structure factors. If the INTENSITY option is set the statistics will be collected over intensity shells. The data will be sigma weighted when the R-value is calculated if the SIGMA option is set.
An example where RFACTOR is used to produce an R-value is
$tntbin/rfactor <<$eof INCLUDE $refroot/tnt/doc/examples/phrm/tln_phrm.tnt INCLUDE $refroot/tnt/doc/examples/phrm/phrm.cor INCLUDE $tntdata/formfactor.dat REPORT RFACTOR $eof if ($status >< 0) then exit 1
This statement causes Rfactor to write interesting things about the current space group to the log file. The equivalent positions will be listed. Then the point group symmetry and the lattice class will be printed. Finally the centric zones and their phase constraints are printed.
The only input required for the REPORT SPACEGROUP command is the symmetry operators.
$tntbin/rfactor <<$eof INCLUDE $tntdata/symmetry/p6122.dat REPORT SPACEGROUP $eof if ($status >< 0) then exit 1