Jeff,

thanks - I can see the same equation and cutoff applied in ctruncate source. Here is the relevant part of the code

// Bayesian statistics tells us to modify I/sigma by subtracting off sigma/S
        // where S is the mean intensity in the resolution shell
        h = I/sigma - sigma/S;
// reject as unphysical reflections for which I < -3.7 sigma, or h < -4.0
        if (I/sigma < -3.7 || h < -4.0 ) {
            nrej++;
            if (debug) printf("unphys: %f %f %f %f\n",I,sigma,S,h);
            return(0);
        }

This seems to be arbitrary cutoff choice, given that they are hard-coded. At the very least, cutoffs should depend on the total number of reflections to represent famyliwise error rates.

It is however the h-based rejection that seems most problematic to me. In the dataset in question, up to 20% reflections are rejected in the highest resolution shell (granted, I/sigI there is 0.33). I would expect that reflections are rejected when they are deemed to be outliers due to reasons other than statistical errors (e.g. streaks, secondary lattice spots in the background, etc). I must say that this was done with extremely good quality data, so I doubt that 1 out of 5 reflections returns some physically impossible measurement.

What is happening is that <sigma>=3S in the highest resolution shell, and for many reflection h<-4.0. This does not mean that reflections are "unphysical" though, just that shell as a whole has mostly weak data (in this case 89% with I/sigI<2 and 73% with I/sigI<1).

What is counterintuitive is why do I have to discard reflections that are just plain weak, and not really outliers?

Cheers,

Ed.



On 06/17/2013 10:29 PM, Jeff Headd wrote:
Hi Ed,

I'm not directly familiar with the ctruncate implementation of French and Wilson, but from the implementation that I put into Phenix (based on the original F&W paper) I can tell you that any reflection where (I/sigI) - (sigI/mean_intensity) is less than a defined cutoff (in our case -4.0), then it is rejected. Depending on sigI and the mean intensity for a given shell, this can result in positive intensities that are also rejected. Typically this will effect very small positive intensities as you've observed.

I don't recall the mathematical justification for this and don't have a copy of F&W here at home, but I can have a look in the morning when I get into the lab and let you know.

Jeff


On Mon, Jun 17, 2013 at 5:04 PM, Ed Pozharski <epozh...@umaryland.edu <mailto:epozh...@umaryland.edu>> wrote:

    I noticed something strange when processing a dataset with
    imosflm.  The
    final output ctruncate_etc.mtz, contains IMEAN and F columns, which
    should be the conversion according to French&Wilson.  Problem is that
    IMEAN has no missing values (100% complete) while F has about 1500
    missing (~97% complete)!

    About half of the reflections that go missing are negative, but
    half are
    positive.  About 5x more negative intensities are successfully
    converted.  Most impacted are high resolution shells with weak signal,
    so I am sure impact on "normal" refinement would be minimal.

    However, I am just puzzled why would ctruncate reject positive
    intensities (or negative for that matter - I don't see any cutoff
    described in the manual and the lowest I/sigI for successfully
    converted
    reflection is -18).

    Is this a bug or feature?

    Cheers,

    Ed.

    --
    I don't know why the sacrifice thing didn't work.
    Science behind it seemed so solid.
                                        Julian, King of Lemurs




--
Oh, suddenly throwing a giraffe into a volcano to make water is crazy?
                                                Julian, King of Lemurs

Reply via email to