Here are a few problems I have found using phenix.refine 1.4: If NCS restraint selection in the .def file have newline characters, the REMARK 3 formatting is messed up. It should probably replace all white-space regions with a single space. When NCS restraints contain a residue with alternate conformations, that residue gets excluded from all equivalences, even if the selections contain ALTID to avoid the redundant atoms. If the .def file has a syntax error, phenix.refine dies with an error that the file format is not recognized. Why not print syntax errors? The optimize_wxc and optimize_wxu features are useful, but it is difficult to use the result to define an improved fixed scale on subsequent rounds, without having to optimize every time. It is not obvious whether the scale written in the log represents the new wxc_scale, or if it is a multiplier versus the current wxc_scale. The log also truncates to 2 decimal places. In my case, I only get one significant digit from scale=0.05. I propose that the optimizations write something like "Optimal wxc_scale = 0.533". The input data is written as "refine_data.mtz", not using the serial number, and there seems to be no flag to disable writing it. That means I have to force overwrite to run iterations in the same directory. If each run is in its own directory, the serial number is not very useful for filenames. So, the output MTZ should have the serial number, and you might also consider an option to disable the serial number when separate directories are used. Thanks, Joe Krahn