Trying to clean up the interface which will in the long run help the documentation, but in the mean time will make some warnings... if you see
Warning: -spacegroup option deprecated: please use space_group='P422' instead
Warning: -resolution option deprecated: please use d_min=1.5 instead
Don't panic - this is to be expected - but you may want to change the way you run xia2 or your scripts. More of a warning for beamline / automation people! The outcome of this should however be automated generation of command-line documentation and the ability to keep "recipes" for running xia2 in tidy files....
Added support for DIALS software. Thanks to Richard Gildea at Diamond for most of the work.
Create AIMLESS xml output; useful for displaying results through alternative interfaces.
Squashed nasty bug where input spacegroup set to e.g. I222 but pointgroup derived to be P222 (think this one was reported a while back but I could not find the source at the time... sorry!)
Squashed some other bugs which have appeared in recent history.
Changes since 0.3.6.3: Bug fixes, add CC-half, removing Scala.
-cc_half 0.5 (say) resolution limit criterion available - suggest set -misigma 0.5 -isigma 0.5 or similar with this.
-freer_file where free flag != FreeR_flag fixed.
Massively trimmed all of the command line options for the pipelines and removed the use of Scala in all pipelines, replaced with Aimless (not before time!) This means that -3dr and so forth will no longer work so please use -2d, -3d, -3di etc.
-phil command line option now deprecated: phil parameters passed on the command-line will be respected, also phil files, without this clue
Parallelisation options: can now cleanly process sweeps from one wavelength in parallel (to aid with multi-crystal data sets) use Phil parameters multiprocessing.njob=4 multiprocessing.nproc=12 multiprocessing.mode=parallel (say) to allow processing four sweeps at a time each using 12 cores. This multi-sweep parallelisation is probably most useful in conjunction with the Phil parameter multiprocessing.type=qsub, which tells xia2 to submit jobs to a cluster, with each job using nproc cores.
A question to xia2.support last week indicated that the documentation has no information on how to run xia2 from the GUI in ccp4i. While this is rather old and cumbersome, if you are on Windows it is close to your only option.
Here is a short guide.
Obviously you need to select xia2 GUI from the main CCP4i:
This will pop up something which looks like this:
Now confusion reasonably starts: where to put in the image information? The GUI works like the xinfo files specified in the manual (http://www.ccp4.ac.uk/newsletters/newsletter48/articles/Xia2/manual.pdf) so you first actually need to define what wavelengths you have (i.e. SAD, native etc.) then associate images with these wavelengths:
What I have done here is create a new data set Demo / Native and added a Native wavelength to it, which I have given images insulin_1_001.img and onwards in /data1/gw56/demo. Hitting "run" will now process the data with xia2 / Mosflm. To use XDS select "run processing with XDS" under key parameters.
Two comments: this GUI needs to be updated, and the manual needs to include the GUI! Sorry for this omission.
Heads up: a big commit just hit xia2 containing preliminary support for the DIALS project: this may have had side-effects we have not forseen, so if you have any problems over the next few days this may be related. One particular issue may be you need a relatively recent cctbx...
As always any issues to the usual address firstname.lastname@example.org
For old UNIX hacks such as YT these are perfectly adequate, but are unhelpful for many. Here are some clearer instructions.
xia2 is written entirely in Python and relies on things like CCP4 CCTBX to perform more expensive crystallographic calculations, and as such it does not really need anything more than a properly configured crystallographic environment to run. xia2 does however need to know where it is, so it can look to find other bits of itself to run. Traditionally this has been done through the medium of setting an environment variable (XIA2_ROOT) and then sourcing a setup file (setup.sh or .csh depending on your platform). Today all that is really necessary is to ensure that the xia2/Applications directory is in the PATH.
The installation instructions today are therefore:
ensure that all of the dependencies namely CCP4, CCTBX, XDS are installed correctly and may be found in the PATH
unpack the xia2 distribution somewhere you are happy to leave it e.g. in /usr/local or /xtal or something similar
add something like "export PATH=/path/to/xia2/Applications:$PATH" to your .bash_rc file
start a new terminal and type "which xia2" - this should point to /path/to/xia2/Applications/xia2
You can find out more about PATH variables and .bashrc files here:
Had this error reported a couple of times, which results in xia2 needing new features in cctbx - particularly a problem if you use e.g. Phenix 1.8.2.
File "/Applications/PHENIX-1.8.2-1309/Contents/phenix-1.8.2-1309/cctbx_project/libtbx/phil/__init__.py", line 1906, in process_includes phil_path=phil_path).objects) File "/Applications/PHENIX-1.8.2-1309/Contents/phenix-1.8.2-1309/cctbx_project/libtbx/phil/__init__.py", line 1946, in process_include_scope where_str=object.where_str) File "/Applications/PHENIX-1.8.2-1309/Contents/phenix-1.8.2-1309/cctbx_project/libtbx/utils.py", line 873, in __init__ error_prefix, module_path, where_str)) ImportError: include scope: no module Wrappers.XDS.XDSIntegrate (input line 4)
(not very helpful!) Best way to resolve this: install Phenix 1.8.4 or new cctbx nightly build. (I need to improve xia2 error reporting)