[cctbxbb] changes to cctbx we have in ccp4

Marcin Wojdyr wojdyr at gmail.com
Mon Apr 4 08:50:38 PDT 2016

Hi Pavel,

>> - probe and reduce are called in mmtbx through phenix wrappers
>> (phenix.probe and phenix.reduce). We prefer to call them directly, but
>> I guess it's not to be changed in cctbx. But after changing the name I
>> also had to remove error checking in mmtbx/validation/clashscore.py
>> that checks return code from phenix.reduce. Reduce itself quite often
>> returns non-zero, it's just that the phenix.reduce wrapper ignores it
>> and always returns 0 (probably not intentionally).
> what you mean by "call them directly"?
> Yes, there are multiple instances of calling these programs in mmtbx like
> this
> trim = "phenix.reduce -quiet -trim -"
> result = easy_run.fully_buffered(trim)

phenix.reduce runs command_line/reduce.py, which in turn runs reduce binary.
I just changed "phenix.reduce" to "reduce" to run the binary directly.
But reduce.py doesn't pass the return code from the reduce program,
and the latter may return 1 even if it worked.


More information about the cctbxbb mailing list