This document describes the iterative skeletonisation process as implemented in 'dm', and in particular the things you need to know in order to use the process.
These stages are conducted as follows:
Peaks are local maxima in the density. A ridge is the highest path joining two peaks. A join point is the lowest point on a ridge, i.e. the lowest point on the highest path joining two peaks.
In constructing the skeleton, there are two important parameters to consider:
Obviously, ridges included under (1) will contribute to the connectivity of the map, whereas ridges included under (2) will not because they are always dead-ends. Thus it is normal to set the end point cutoff somewhat higher than the join point cutoff in order to enhance connectivity in the map.
To simplify the setting of these parameters, 'dm' determines the cutoff levels by examining the map in order to produce a skeleton with particular features. These features are specified as the length of skeleton (per residue) which should be generated from join point ridges, and the length of skeleton (per residue) which should be generated from dead-end ridges. It is my hope that these optimum values of these parameters should be fairly constant, and so that for most cases the default values should suffice. If new values are required, they can be set using the SKEL LENGTH card.
One other parameter affects the skeletonisation process: the temperature factor applied to the initial map. Skeletonisation based on the sharpened map used by 'dm' is fairly poor, a much better skeleton is obtained if the map is smoothed with an overall temperature factor first. Again this parameter is not very sensitive and can be left at the default value, you may possibly want to increase it if the initial map is particularly poor or decrease it if the initial map is very good.
Density outside the solvent mask is set to the mean solvent value.
Note also that it is wise to make sure the final cycle of the skeletonisation run is a conventional density modification cycle rather than a skeletonisation cycle otherwise your building may become excessively biased towards the 'dm' skeleton. Thus for 'SKEL EVERY 2' you would set 'NCYC' to be odd, for 'SKEL EVERY 3' (the default) you would set 'NCYC' to be (3n-1) where n is an integer.
A typical command file is given below:
dm hklin ~/hkl/gmtomir.mtz hklout $SCRATCH/gmt_dm.mtz << 'MY-DATA' SOLC 0.35 MODE SOLV HIST NCYC 10 SCHEME RES FROM 3.7 LABI FP=FP SIGFP=SIGFP PHIO=PHIB FOMO=FOM LABO PHIDM=PHIdm FOMDM=FOMdm END 'MY-DATA' # dm hklin $SCRATCH/gmt_dm.mtz hklout $SCRATCH/gmt_sk.mtz << 'MY-DATA' SOLC 0.35 MODE SOLV HIST SKEL SKEL EVERY 2 NCYC 9 SCHEME AUTO FRAC 0.5 LABI FP=FP SIGFP=SIGFP PHIO=PHIB FOMO=FOM PHIDM=PHIdm FOMDM=FOMdm LABO PHIDM=PHIsk FOMDM=FOMsk END 'MY-DATA'