next up previous contents
Next:  My native Patterson function Up:  Pathology of GraphEnt calculations, Previous:  The GraphEnt map changes   Contents

 All my anomalous Pattersons are ``consistent with a uniform map''

Why : Assume for a minute that all your reflections have the same F/sigma(F) = C. Then, because for the initial (uniform) map all Fourier coefficients are identically zero (with the exception of F000), the statistic Chi^2 is given by

Chi^2 = SUM(h)(F_c,h - F_o,h)^2 / sigma(F_h)^2 = SUM(h)Fh^2 / sigma(Fh) = SUM(h)C2 = NC2

where N is the number of observed reflections. Now, the target value for Chi^2 during the calculation is Chi^2 = N. If C < 1.0, ie average[F/sig(F)] < 1.0, the uniform map will satisfy the Chi^2 constraint and GraphEnt will stop immediately. Just because GraphEnt stops, does not necessarily mean that there is no signal in the data : for Gaussian noise, Chi^2 ~ N is the expected value of the distribution Chi^2 ~ N+-sqrt(2N). This means that depending on the data, the target of the calculation could as well be significantly lower than the value aimed for by GraphEnt. I think it is worth emphasising this with an example. The following figure compares the conventional (left) and GraphEnt (right) map at the section v = 1/2 of the 20-3Å anomalous Patterson function for horse heart myoglobin crystals (dashed contour at the mean, and then every 0.5 rmsd of the whole map). The data were collected with CuKalpha radiation and the anomalous signal comes from the iron atom of heme (this is one of the examples distributed with GraphEnt, file

Figure: Myoglobin anomalous Patterson
Myoglobin anomalous Patterson

A normal run of GraphEnt with the whole data set would immediately stop with the ``uniformity'' message. Even after rejecting all reflections with F/sigma(F) < 0.5, GraphEnt would still refuse to co-operate (for 615 reflections with F/sigma(F) > 0.5, the initial Chi^2 --for the uniform map-- was 502.8). The map shown above could only be produced after explicitly setting the TARGet Chi^2-value to 100.0 (by editing the MAXENT_AUTO.IN file). As you see, it probably worth the effort20.

Getting around it : Start GraphEnt the usual way. When the program stops with the ``uniformity'' message, edit the MAXENT_AUTO.IN and add a line with a new TARGet value (which should be less than the starting Chi^2 value reported by the program if the VERBose flag is set on, see page [*]). Depending on the circumstances, you could also add a line with LIMIt 0.5 to exclude reflections with F/sigma(F) < 0.5 (this should reduce the amount of computation required for convergence).


... effort20
I should add, however, that I am not convinced that changing the TARGet Chi^2 is the correct way around. To continue with the example, even if we take the expected value of Chi^2 to be Chi^2 ~ N - 3sqrt(2N) = 509 (ie 3sigma away from the mean), the uniform map is still consistent with the data. The fact that there seems to be some signal in the data when we reduce the TARGet, probably points the way to over-estimated standard deviations.

next up previous contents
Next:  My native Patterson function Up:  Pathology of GraphEnt calculations, Previous:  The GraphEnt map changes   Contents
NMG, Nov 2002