Friday 27 March 2015

Nasty subtle bug with latest XDS

The default behaviour of XDS with REFINE= in the CORRECT step appears to have changed, which highlights a long-standing bug in xia2. The bug is that the REFINE= card was incorrectly formatted, which some of you have noticed in that the summary from the second pass of integration looks much more nasty than the first pass. This apparently was not a problem with the older version of XDS (before 1mar2015). I had initially (incorrectly) blamed the new version of XDS but Richard Gildea found the underlying bug.

A new version of xia2 will be available already with these fixes in as part of the DIALS nightly builds. The fix is however a one-liner:

In


xia2/Wrappers/XDS/XDSCorrect.py

change

'REFINE(CORRECT)=%s\n' %self._params.refine)

to 

'REFINE(CORRECT)=%s\n' %' '.join(self._params.refine))

(amazing how much effect these little changes can make!) We are in the process if instigating a more thorough testing procedure which will ensure errors like this do not occur again.

No comments: