The alignment algorithm is as follows. There are several cycles, each of which consists of an update of a framework and a calculation of a new alignment; the new alignment is based on the superposition of the structures onto the latest framework. The framework in each cycle is obtained as follows. The initial framework consists of the atoms in structure 1 that correspond to FIT_ATOMS. If there is no specified atom types in any of the residues at a given position, the coordinates for this framework position are approximated by the neighboring coordinates. Next, all other structures are fit to this framework. The final framework for the current cycle is then obtained as an average of all the structures, in their fitted orientations, but only for residue positions that are common to all of them, given the current alignment. Another result is that all the structures are now superposed on this framework. Note that the alignment has not been changed yet. Next, the multiple alignment itself is re-derived in dynamic programming runs, where is the number of structures. This is done as follows. First, structure 2 is aligned with structure 1, using the inter-molecular atom-atom distance matrix, for all atoms of the selected type, as the weight matrix for the dynamic programming run. Next, structure 3 is aligned with an average of structures 1 and 2 using the same dynamic programming technique. Structure 4 is then aligned with an average of structures 1-3, and so on. Averages of structures - are calculated for all alignment positions where there is at least one residue in any of the structures - (this is different from a framework which requires that residues from all structures be present). Note that in this step, residues out of the current framework may get aligned and the current framework residues may get unaligned. Thus, after the series of dynamic programming runs, a new multiple alignment is obtained. This is then used in the next cycle to obtain the next framework and the next alignment. The cycles are repeated until there is no change in the number of equivalent positions. This procedure is best viewed as a way to determine the framework regions, not the whole alignment. The results from this command are expected to be similar to the output of program MNYFIT [Sutcliffe et al., 1987].
GAP_PENALTIES_3D[1] is a gap creation penalty (usually 0), and GAP_PENALTIES_3D[2] is a gap extension penalty, say 1.75. This procedure identifies pairs of positions as equivalent when they have their selected atoms at most 2 times GAP_PENALTIES_3D[2] angstroms apart in the current superposition (this is so when the gap initiation penalty is 0), as described for the ALIGN3D command.
Argument OUTPUT can contain the following values:
If WRITE_FIT is on, the fitted atom files are written out in their final fitted orientations. Their filenames are the original filenames with an extension .fit.
If CURRENT_DIRECTORY is on, the output .fit files will go to the current directory. Otherwise, the output will be in the directory with the original files.
If WRITE_WHOLE_PDB is on, the whole PDB files are written out; otherwise only the parts corresponding to the aligned sequences are output.
If FIT is off, the initial alignment is not changed. This is useful when all the structures have to be superimposed with the initial alignment (FIT = off and WRITE_FIT = on).
# Example for: MALIGN3D, COMPARE # This will read all sequences from a sequence file, multiply align # their 3D structures, and then also compare them using this alignment. READ_ALIGNMENT FILE = 'toxin.ali', ALIGN_CODES = 'all' MALIGN GAP_PENALTIES_1D= -600 -400 MALIGN3D GAP_PENALTIES_3D= 0 2.0, WRITE_FIT = on, WRITE_WHOLE_PDB = off WRITE_ALIGNMENT FILE = 'toxin-str.pap', ALIGNMENT_FORMAT = 'PAP' # Make two comparisons: no cutoffs, and 3.5A/60 degree cutoffs for RMS, DRMS, # and dihedral angle comparisons: COMPARE RMS_CUTOFFS = 999 999 999 999 999 999 999 999 999 999 999 COMPARE RMS_CUTOFFS = 3.5 3.5 60 60 60 60 60 60 60 60 60