Dear Phil,
This has been discussed before. For a start look at French and Wilson (French G.S. and Wilson K.S. Acta. Cryst. (1978), A34, 517.)
do they demonstrate the benefits of using these data in refinement (see below)? Well, I guess I need to re-read it again.
Fobs < 0 is not possible, but Fobs = 0 clearly conveys some information (i.e. the reflection is weak). Simply deleting the data is the worst case scenario where you remove any information content on that reflection during refinement. I'm surprised that this would even need further exposition, especially in light of the community tendency to use higher outer-shell Rsymms (50-60%) where a significant proportion of the data would be expected to be weak and therefore subject to risk of arbitrary cutoff by phenix.refine. If I/sigI = 2 (a not uncommon outer shell criterion) then a decent proportion of the data might have I<0, and this data is really there and weak and not the imagination of the processing program.
I'm all with you: yes, more data is better. Although, I repeat my original question: Did anyone demonstrate that: "refinement with Fobs=0" vs "refinement with Fobs>0" results in : - noticeably better map, so you can find more details, explain more features, - noticeably better model, - anything else visibly better ? If so then I agree it is worth spending time on implementing it. However, if it's just theoretically/esthetically nice to have it (as many other things, like better than Flat bulk solvent model), but the benefits are not really clear - then I would still have it in my todo list (since it's good in general) but with much lower priority. Yes, treating properly negatives and zeros is theoretically good. There is even a paper with myself being a co-author that touches on it. But for practical considerations it's all about the ratio "time invested into implementing it vs benefits obtained as result".
Does phenix.refine enforce an I<=0 cutoff too ? It certainly behaves as if it does.
phenix.refine does not have intensity based X-ray refinement targets and therefore phenix.refine does not use intensities in refinement. Although it accepts input reflection files with intensities which it then converts to amplitudes for all subsequent purposes. Pavel.