[cctbxbb] Request for a fix in CC1/2 calculation in phenix.merging_statistics

Keitaro Yamashita k.yamashita at spring8.or.jp
Sun Oct 27 19:25:57 PDT 2013


Dear Nat,

Thank you very much for your reply. As the code passes the regression
test, I have committed this change. This sort() may slowdown the
runtime, but it seems comparable. For 3,099,125 reflections test case,
the difference was marginal (68.6 vs 68.9 sec).

Best regards,
Keitaro

2013/10/28 Nathaniel Echols <nechols at lbl.gov>:
> On Sun, Oct 27, 2013 at 6:36 AM, Keitaro Yamashita
> <k.yamashita at spring8.or.jp> 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
>
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb
>


More information about the cctbxbb mailing list