Wednesday, 4 November 2015

xia2: citing software xia2 has used

If you find xia2 useful for processing your data of course the developers will welcome any citations - however please also cite the software that xia2 has used on your behalf - the developers of these packages also want to be recognised!

xia2 will help you with this by including in the log file the appropriate list of citations e.g.

XIA2 used...  ccp4 distl labelit pointless xds xia2
Here are the appropriate citations (BIBTeX in xia-citations.bib.)
(1994) Acta Crystallogr. D 50, 760--763
Evans, Philip (2006) Acta Crystallographica Section D 62, 72--82
Kabsch, Wolfgang (2010) Acta Crystallographica Section D 66, 125--132
Sauter, Nicholas K. and Grosse-Kunstleve, Ralf W. and Adams, Paul D. (2004) Journal of Applied Crystallography 37, 399--409
Winter, G. (2010) Journal of Applied Crystallography 43

Zhang, Z. and Sauter, N.K. and van den Bedem, H. and Snell, G. and Deacon, A.M. (2006) J. Appl. Cryst 39, 112--119

if you run xia2 -3d - please do add these to the citations in the associated publications and to the PDB file.

Tuesday, 20 October 2015

New XDS: things not quite right

Now debugging xia2 for Oct 2015 version of XDS; not right yet please watch this space!

Update: XDS is just fine and a separate bug has crept into the development / nightly version, sorry for the noise.

Tuesday, 21 July 2015

With ongoing outage...

We are looking to move xia2 to github, so for those of you who pull xia2 from subversion this will be a significant change. Also the "home" of xia2 will change as well - though this blog will remain, so watch this space...

Sunday, 19 July 2015 outage

You may have noticed that xia2 things are not working - the svn is dead; the nightly builds are empty etc. - this is because the hosting service I use ( is currently broken and has been for getting on for four days. They're in the process of restoring services (web now back, but svn is not) and normal service should resume soon.

See here for more details.

Thursday, 16 July 2015


Does anyone use xia2 / DIALS on MS Windows? Would you want to? Was pointed out to me that the changes referred to in the previous post would not work gracefully on MS Windows due to the c:\ type file paths... this should probably be fixed anyhow. Shout if you have an opinion.

New logs in the LogFiles directory; more image= options

If you look in LogFiles and you use xia2 -dials you will find some new stuff in there:

Graemes-MacBook-Pro-2:image_range graeme$ ls LogFiles/


This now includes the indexing log file and the lattice determination one; these can be useful to see how xia2 made it's decisions.

Also, if you want to combine some data from several sweeps, but only use limited image ranges, you can with:

xia2 unify_setting=true -atom Ti -small_molecule -dials image=/Users/graeme/data/i04-KTP/1/KTP_1_0001.cbf:1:100 image=/Users/graeme/data/i04-KTP/2/KTP_2_0001.cbf:1:100

so this will use the first 100 images of two sweeps and will make this xinfo file:




DIRECTORY /Users/graeme/data/i04-KTP/1
IMAGE KTP_1_0001.cbf

DIRECTORY /Users/graeme/data/i04-KTP/2
IMAGE KTP_2_0001.cbf


Word of warning though that this will currently (as of noon today) only cope with one subset per sweep; should be easy enough to add multiple image ranges for this though need to think what syntax to use... as always feedback welcome to; to get this you will need to pull a new DIALS nightly build later today or tomorrow.

Monday, 13 July 2015

More output: how much is too much?

Request of additional output from xia2 e.g. in the indexing table:

------------------- Autoindexing SWEEP1 --------------------
All possible indexing solutions:
oP   6.39  10.59  12.80  90.00  90.00  90.00
mP   6.39  12.80  10.59  90.00  89.99  90.00
aP   6.39  10.59  12.80  90.00  90.00  89.99
Indexing solution:

oP   6.39  10.59  12.80  90.00  90.00  90.00

adding the R.M.S.D., metric penalty etc. from for example dials.index.  This will however make for more "junk" in the output and will also depend on the package being run underneath. Also requested was number of spots indexed vs. total number of spots. This will make for more information in the output which could make it cluttered and will also have the potential to "break" other software which uses this.

Thoughts anyone?

Friday, 5 June 2015

Free set reflections

Following a question on the CCP4 BB about how many reflections to set aside for the free set (i.e. the FreeR_flag column xia2 adds to the MTZ file) it looks like the conclusion is "data processing packages should not do this" - OK, no problem. That makes the original question go away; always good...

Am keen to now remove this capability from xia2; comments to please!

Friday, 24 April 2015

New ability to specify multiple directories or images via command line

As of the latest DIALS/xia2 nightly build (2015-04-24 onwards, available from, xia2 now supports passing multiple directories or images via the command line, e.g.:

xia2 -dials /path/to/directory1 /path/to/directory2
xia2 -dials image=/path/to/directory1/image_1_0001.cbf image=/path/to/directory2/image_2_0001.cbf

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:




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


'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.

Tuesday, 10 March 2015

Experimental xia2/DIALS installers

We are currently testing new xia2/DIALS installers for mac/linux which provide a self-contained xia2/cctbx/DIALS installation. Instructions on downloading and installing these bundles can be found at Once installed, simply sourcing the script in the installation directory will make available all xia2 and DIALS commands in the current terminal. You will also need CCP4 available - but make sure to source the script after the CCP4 setup script. You can also try out the new xia2 -dials option, which will use the new software DIALS to index and integrate your data, followed by scaling and merging with Aimless. As always, please send any feedback to

Tuesday, 24 February 2015

New wavelength_tolerance parameter

A common problem when processing multiple datasets with xia2 is when a small difference in the wavelength recorded in the image headers causes the sweeps to be grouped into more than one wavelength, when the desired outcome was for them to be processed as a single wavelength. Previously it was necessary to manually edit the .xinfo file to tell xia2 to process them as a single wavelength. Now we have added a new parameter wavelength_tolerance (default=0.0002 Å) which you can use to control whether or not different wavelengths get grouped together as a single wavelength.

Example usage:

xia2 -3dii wavelength_tolerance=0.001 /path/to/images/

Wednesday, 11 February 2015

xia2 CCTBX challenges? Try installing DIALS!

If you are having problems with xia2, particularly from subversion, you may find it useful to pull a DIALS build from e.g. and install this so that xia2 picks up CCTBX from here. This will be up to date and should work, and also includes a collection of very useful tools. It will generally include support files for all of the most recent detector installations.

The DIALS project (see e.g. is a collaborative project to develop a new integration package and is supported by xia2 via xia2 -dials: if you are feeling brave you can try using this for processing your data in place of e.g. XDS.

Any problems with xia2 please contact For issues with DIALS please contact