On Sun, Oct 27, 2013 at 6:36 AM, Keitaro Yamashita < [email protected]> wrote:
When I changed the cctbx code to sort reflections after mapping to a.s.u., CC1/2 values by phenix.merging_statistics became closer to XSCALE.
In merging_stats.__init__() in iotbx/merging_statistics.py, I inserted a line
array = array.sort("packed_indices") after array = array.customized_copy(anomalous_flag=anomalous).map_to_asu()
but I think there would be more correct way to fix this unexpected behavior.
If you can think of a better method, feel free to implement it, but I think the above is quite appropriate. Assuming this passes the regression test (iotbx/regression/tst_merging_statistics.py), it's fine to check in. The only drawback is that it's probably inefficient (especially for arrays that are already sorted), but the entire program isn't very efficient to begin with, and a more comprehensive solution would require a ground-up approach mostly coded in C++. This will definitely become necessary at some point but none of us have time to spare right now. -Nat