Recent SHELX changes

The new small molecule structure solution program SHELXT has been released. It will in general give a more complete solution than SHELXD or SHELXS, but SHELXD is still recommended for very large equal-atom or twinned structures. SHELXT can read the same name.hkl and name.ins files as SHELXD or SHELXS, and is started from a command line by:

shelxt name

SHELXT solves the structure by a novel dual-space method using data expanded to P1 and then uses the P1 phases to determine the space group. It only requires the cell dimensions, Laue group and a list of elements present; this information is extracted from the .ins file. The program is highly parallel and runs well on multiple-CPU computers. Further options are available via command-line switches, but except for -a (do not stop after finding a plausible solution, but test all space groups in the assumed Laue group) and -L15 (try all trigonal and hexagonal space groups) they will rarely be needed. For more details enter shelxt without a data filename and see 'tutorials and talks' and 'wikis and manuals'.

Changes in the other SHELX programs

Recent changes are listed below, with the most recent changes in each program first. A PDF discussion of the extensive changes in the 2013 release of SHELXL relative to SHELXL-97 may be found here.

The SHELXL-2013 CIF files containing embedded .hkl and .res are now accepted for papers submitted to Acta Cryst. and many other journals, and also by CheckCIF, PLATON, the COD and the CCDC. In accordance with IUCr policy, the .hkl file should not be merged before reading into SHELXL because this prevents SHELXL from calculating some of the numbers needed for the CIF file. A LIST 4 .fcf file is apparently still required by the IUCr but not for the PLATON implementation of CheckCIF. The .fcf files have the disadvantage of being merged in a particular point group and having had their systematic absences removed, making it more difficult to verify the correctness of the space group, so their use for archiving and publication purposes should be deprecated.

The Bavarian State Library has very kindly put some SHELX-relevant papers onto its Open Access Leibniz portal. Click on 'Sheldrick' to find them. To avoid possible misunderstanding, I should add that Göttingen is not in Bavaria and there are no plans to move it there.

Changes in SHELXC

Version 2016/1
1. A serious problem involving the merging of intensity data that was introduced in version 2015/2 has been fixed.

Version 2015/2
1. The diagnostic tables have been extended to include the reflection multiplicity, R(pim) and R(anom).
2. For a SAD experiment, SHELXC writes a file name_sad.cif. This may be converted directly to a mtz file using the CCP4 utility cif2mtz, and contains merged native data, anomalous differences and free_R flags. The SHELXC instruction 'FREE 5' (the default if no FREE instruction is given) would specify that 5% of the reflections, chosen at random, should be flagged for use in calculating the free R. 'FREE -7' would flag 7% in thin shells. If a reflection is present in the SAD data but not in the NAT data, it is scaled and included; this improves the comleteness of the native data and is useful when a shorter wavelength for NAT compared with SAD causes some low angle reflections to be missing from the NAT file.
3. All recognized SHELXD instructions input to SHELXC are now written to the name_fa.ins file for use by SHELXD.

Version 2014/2
1. A serious error in calculating the completeness has been fixed. The effect was to count all systematic absences as if they were in the inner resolution shell, whatever shell they should have been in. Other calculations were not affected by this.

Version 2014/1
1. A formatting error in the command summary output when SHELXC is started without command line parameters has been corrected.

Version 2013/1
1. The statistics output has been improved for low resolution data.
2. When (e.g. for MAD or SIRAS) more than one dataset is read in, SHELXC checks that they have been indexed consistently and if necessary re-indexes the data as required, in which case some extra output appears. If native data are read in, they are used as the standard for indexing. The check is not exhaustive but should cover all common cases.
3. As a quick check on possible twinning, <|E²-1|> is output for each dataset.

Changes in SHELXD

Version 2013/2
1. Change 2 in version 2013/1 had the unfortunate side-effect of stopping prematurely if NTRY wasn't specified. This has now been fixed, if NTRY is not set, the program runs for ever, as specified in the documentation. It can however still be terminated by creating a .fin file with the same first name in the directory in which the program is running.

Version 2013/1
1. Multiple CPUs are now always used if available, there is no special shelxd_mp version.
2. Previous versions divided the number of trials (NTRY) equally between the different threads. If other programs were also running, this could result is one or more threads taking appreciably longer than the rest to finish. The trials are now distributed dynamically so that all threads finish at about the same time, making the program even faster.

Changes in SHELXE

Version 2017/1
1. -a without a number performs up to 30 global tracing cycles, but stops three cycles after the CC value has gone above 30% if that happens earlier.
2. When a .pda file is read, the default value of the command line option -v changes to -v0.
3. The options -O and -Z for rigid group refinement of an input fragment have been withdrawn, this is better performed by a molecular replacement program.
4. If -x is set (to compare the phases with phases generated from a reference PDB file) the reference structure in the .ent file is also used to estimate the solvent content and the percentages of alpha-helices and beta-strands.
5. Another bug in calculating the origin shift for certain rare cubic space groups using -x, introduced in version 2016/3, has been fixed.
6. The program should now produce identical phases etc. whether or not -x is set.
7. -z seems to be performing erratically and so should be used with caution.
8. The program should no longer terminate with the message that a peptide occupancy has become negative.
9. When the -o option is used to improve a trial structure by eliminating residues, and NCS copies are defined in the .pda file, the same changes are made to each NCS-related fragment.
10. The command line option -q (default -q7) accepts values between -q7 and -q14 to seed main chain tracing with polyalanine helices of 7 to 15 amino acids. The longer helices and restrained refinement are intended for tracing structures at resolutions below 2Å.
11. The command line option -Q, to be used instead of -q, constrains helical extension of helical seeds in all cycles but the last. This is intended for tracing coiled coils at resolutions below 2Å.
12. The command line option -B uses two-stranded beta sheets to seed main chain tracing. -B1 uses antiparallel, -B2 parallel and -B3 both kinds of template. This is intended for tracing structures with beta sheets at resolutions below 2Å or starting from poor phases.
13. The expiry date for this version is 1/1/2019.

Version 2016/3
1. The expiry data has been extended to 1/1/2018.

Version 2016/2
1. The calculation of the mean phase error using the -x option sometimes gave the wrong answer for the not very common space group F23. This has now been fixed, other space groups should not have been affected.
2. A serious error in the MRSAD calculation (with name.pda and name_fa.hkl) has been fixed.

Version 2016/1
1. SHELXE traces from CA to CA but had been counting the ends as separate residues, with the result that the number of residues per chain was one too high. This has been corrected.
2. The output .pdb file has been tidied up. The heavy atoms used for phasing (if -h is set) now come first but are put in chain Z. The traces are put in chains A to Y (except when -K is set, then the atoms from the .pda file are all in chain A). The chains are sorted so that the longest are given first. If there are more chains that this allows, the remaining short traces are packed into chain Y with a one residue gap between separate chains.
3. Several small bugs have been fixed.

Version 2014/4
1. The density modification has been improved for SAD phasing. For 20 test structures, this led to an average improvement of about four degrees in the mean phase error.
2. An error in counting residues in the final output .pdb file has been corrected.
3. NCS may now be specified in the .pda file to trace from a partial structure:
should be inserted before each monomer. The monomer is terminated by the next such GROUP BEGIN record or by:
Each monomer should contain the same atom names in the same order, but the chain IDs and residue numbers may differ. The NCS operators are deduced from the coordinates of the monomers in the .pda file and are applied during tracing. The -n command line switch is not required, the order of the NCS is defined by the number of monomers.

Version 2014/3
1. The -n command line switch for deducing NCS from the heavy atom positions now takes the form: -n102, -n103, -n104 etc. for N-fold NCS with ONE heavy atom in each monomer, -n202, -n203, -n204 etc. for N-fold NCS with TWO heavy atoms in each monomer. Both these options require proper NCS. -n2, -n3 -n4 etc. specifies 3 or more heavy atoms per monomer with either proper or improper NCS.
2. The 'on the fly' calculation of the origin shift and mean phase errors using -x and a PDB-format reference file name.ent has been improved. Previously it could be unstable if the mean phase error was large.
3. For experimental phasing the origin shifts are also used to identify which atoms in the reference .ent file are closest to the heavy atom sites, taking symmetry into account.

Version 2014/2
1. The new -K option was causing the new trace to overlap the input fragment. Now the NOGO map is used to prevent this from happening.
2. The program was unintentionally not accepting -k. This has been corrected.
3. The -B option has been removed, it did not work correctly anyway.

Version 2014/1
1. -zN limits the total number of heavy atoms to N, previously in borderline cases it tended to add too many noise peaks.
2. -IN does N cycles density modification on global cycle 1 using free lunch reflections if set by -e. Subsequent cycles use the -m setting as before. In cases suitable for a free lunch one could try e.g. -I200 or more.
3. -KN keeps the starting fragment for the first N global cycles, after that it is thrown away. If -K is given without a number or that number is larger than -a, the initial (pruned) fragment is also still output to the .pdb. The fragment does not have to be a polypeptide.

Version 2013/3
1. A number of small improvements have been made, affecting both experimental phasing and expansion from a MR solution. In some cases these may make the difference between solving a structure or not!
2. If -x is specified and a PDB format file with the extension .ent is provided, mean phase errors (MPE) and weighted mean phase errors (wMPE) are calculated separately for all and for centric reflections. In addition the alpha carbon positions are compared with the reference positions. The necessary origin shifts are found 'on the fly' using an algorithm that should be efficient for all space groups. It is still necessary that the reflection data are indexed consistently with the coordinates in the .ent file (in space groups like P31 etc.).
3. For experimental phasing both -z (to refine the heavy atoms) and -n (NCS) should be used whenever applicable, The NCS operators are derived from the heavy atom positions after they have been refined. Note that NCS is currently only applied when the operators can be deduced from heavy atom positions, not when starting from phases or a MR solution.

Version 2013/2
1. Several serious problems affecting MRSAD and expansion from a MR model, that were present in the last beta-test version 2013/1, have been fixed.

Changes in SHELXL

A new program PDB2INS written by Anna Lübben is now available for converting PDB files to .ins files for input to SHELXL. It uses the new facility in SHELXL for chain-IDs, so the same residue numbers may be used in SHELXL as in other refinement programs. It also automatically inserts DISP instructions and the required geometrical restraints, and tries to handle insertion codes etc. It can download the PDB and reflection data (if available) directly from the PDB. About 95% of the X-ray structures deposited in the PDB since 2008 can then be refined directly with SHELXL without needing to edit the .ins file created by PDB2INS.

Version 2017/1
1. The range of allowed residue numbers is now from -999 to 9999. This was needed for files generated by pdb2ins because PDB files often contain negative residue numbers for e.g. N-terminal His-tags.
2. Residue names may now begin with a digit, since this is also allowed in the PDB. They must however contain at least one letter so that the program can distinguish them from residue numbers.
3. The action of a global SAME instruction such as SAME_THF O1 > C4 is now independent of its position in the .ins file (see 2014/2 item 8, but previously this was not fully implemented).
4. The generation of the output PDB file with WPDB has been tidied up. For example it should not now output a list of difference map peaks disguised as tungsten atoms, and TER instructions should now be set correctly.
5. If there are no hydrogen atoms in the structure, $H on a BOND instruction is simply ignored, rather than being treated as a fatal error.
6. _geom_hbond_publ_flag has been added to the hydrogen bond table generated by HTAB in the CIF file, and the corresponding data values set to yes (so that they are automatically printed by Acta Cryst. unless this is changed to no).
7. Duplicate atom names are now always named correctly in the corresponding error message.
8. RTAB D2CG ... now also writes the coordinates of the centroid to the .lst file.
9. The -c command line parameter was being interpreted wrongly, resulting in an error mesage. It should now work correctly. In any case this option is very rarely needed.
10. The list of possible hydrogen bonds generated by HTAB should now be more complete.
11. An instruction like: HTAB_1 O12_0 O3_$3, possibly generated automatically by the use of a HTAB instruction without any atom names, was intended to ensure that the hydrogen bond involves atom O12 in residue 0 rather than atom O12 in residue 1. This was not working correctly but has now been fixed. HTAB_1 O12 O3_$3 still calculates the details of the hydrogen bond linking O12 in residue 1 and a symmetry equivalent of O3 in residue 1.
12. Angles involving different components of an AFIX 12N disordered methyl group should no longer appear in the CIF file.
13. The CIF output of AFIXed hydrogens attached to atoms on special positions has been tidied up and duplicates removed.
14. For the final structure factor calculation for non-centrosymmetric structures, for many years the program has been reporting the number of parameters refined as 2 instead of the correct value of 0. This is possibly a hangover from a previous method of estimating the Flack parameter. It is now reported as 0 for both centrosymmetric and non-centrosymmetric structures.
15. The FREE instruction should now work properly when the second atom is a symmetry equivalent.
16. The LIST 8 output includes both normal and free-R reflections. A new option LIST 9 now lists the free-R reflections only, and LIST 10 lists only the non-free-R reflections. LIST 8, 9 and 10 use the same format.
17. Instructions in the .ins file that were longer than 79 characters were being truncated on reading them in. Such instructions now give rise to an error message.
18. RESI 0 is predefined to have a blank residue name and this is the default until a RESI instruction is encountered on reading the .ins file. An attempt to reset RESI 0 with a different name caused problems and is now forbidden.
19. Improvements have been made to the handling of SADI, ISOR, NCSY and CONN.
20. ^a, ^b etc. should now appear in the connectivity table as required.
21. Residue names but not chain IDs are converted to upper case on input.
22. The memory allocation for the parallel part of the code has been reorganized to make it more efficient and robust.
23. The list of times for different operations should now be more accurate for multithreading. This required combining the times for structure factor calculation and building the least-squares matrices (since these operations may be performed simultaneously by different threads), but the time for the final structure-factor calculation is now output separately.
24. HTAB without any atom names should now generate EQIV and HTAB instructions for all hydrogen bonds including ^a, ^b etc. to specify PART numbers as required.
25. Only one pair of atoms may now be specified on each FREE or BIND instruction. This avoids problems caused by missing atoms when many such instructions were combined in a single line.

Version 2016/6
1. A format error in the output PDB file has been fixed, TER inserted at the end of each chain and element names included in columns 77/78.
2. The 'time stamp' at the start of the .res file still caused problems for some vintage programs. It has to follow the TITL instruction because apparently some programs assume that a SHELX .res file must begin with TITL (actually TITL was always optional). Using a REM comment would cause these lines to accumulate each time SHELXL is run, and a comment starting with one space, although SHELXL standard for many years, also upset some vintage programs. The 'time stamp' now immediately follows TITL and consists of two lines (to avoid problems with very long filename paths) each beginning with four blanks.
3. The HTAB and EQIV instructions created for re-input by a HTAB instruction without any parameters were sometimes missing EQIV instructions. This has been fixed, but please note that existing EQIV instructions should not be removed or modified when using this facility.
4. ANIS instructions were sometimes not working, this should now be better.
5. R.m.s. bond length and angle deviations, required by certain journals for the notorious 'Table 1' for macromolecular structures, are estimated using the DFIX and DANG restraints.
6. In the 'recommended weighting scheme' (see item 7 for 2016/5) by popular request the threshold for g has been changed back to 0.2, and the refined value is also output for information if it is above this threshold. Refined values above 0.1 usually indicate poor quality (or macromolecular) data.
7. Generally the instructions in the .ins file are not case sensitive. However an exception is made for the ChainIDs (see item 2 for 2016/4) that as in the PDB now distinguish between upper and lower case letters, allowing up to 63 different chains (this was not implemented properly in versions 2016/4 and 2016/5).

Version 2016/5
1. The appending of '_a' or 'b' etc. for atoms with different PART numbers was potentially ambiguous and has been discontinued. It may still be necesary to refer to an atom with a specific PART number when there are two or more atoms with the same atom name and residue number but different PART numbers, e.g. when two such disorder components make hydrogen bonds to different atoms. This may now be done by ^a, ^b etc. before or after the residue identifier, for PART 1 and PART 2 respectively, e.g. C1_2^b. If all the disordered atoms have different names or residue numbers this is no longer necessary. When this facility is not used the restraint etc. is applied to all atoms with matching names and residue numbers. Because of this change, the symbol '^' may no longer be used in an atom name.
2. Some of the EQIV instructions generated by HTAB in version 2016/4 were incomplete and there was a superfluous symmetry operator in the list of hydrogen bonds in the .cif file. Both have been fixed.
3. RESI instructions that set lower-case names for residues did not work properly in version 2016/4. Such names are now converted to upper case on input so that they are compatible with other instructions.
4. If the wavelength is within 0.001 of 0.5136 it is recognized as InKα. The following wavelengths were already recognized (also within 0.001): 1.5418 CuKα, 1.3414 (GaKα), 0.7107 (MoKα) and 0.5609 (AgKα). This is reported in the .cif file and f', f" and mu are set accordingly.
5. BOND $H now includes symmetry equivalent hydrogen atoms in the bond lengths and angles tables, e.g. for a water molecule on a twofold axis.
6. The handling of symmetry equivalent atoms (referenced by _$N where N is an integer) has been improved.
7. The 'recommended weighting scheme' suggested by the program now defaults to WGHT 0.1 0 rather than WGHT 0.2 0 when the program is not able to suggest anything better, for consistency with the default when no WGHT instruction is present.
8. To improve the error diagnostics, atom names may not be used as RTAB labels.
9. The .cif file should no longer contain symmetry equivalent bond lengths, previously these could be present for bonds involving symmetry equivalent atoms.
10. The maximum number of possible Q-peaks, set by the PLAN instruction, has been increased from 999 to 3599.
11. The HTAB analysis of hydrogen bonds has been improved.
12. The 'lineprinter plots' (a relic from the distant past) have been tidied up and should no longer contain any question marks.

Version 2016/4
1. A error involving the formatting of special position constraints for certain space groups that caused the program to crash, introduced in version 2016/3. has been fixed.

Version 2016/3
1. The residue numbers have been extended to allow the use of one-character chain-IDs, e.g. A:1234 when used on the RESI instruction and wherever residue numbers are used. The chain-ID may be an upper or lower case letter, a digit or a space (default). There are thus 63 possible chain-IDs, compatible with PDB format. This only applies to residue numbers, not classes, i.e. Z:JUNK is not allowed. The new program PDB2INS written by Anna Lübben is able to convert PDB files to SHELXL .ins files using this notation.
2. The transfer of CIF instructions from the end of the .hkl file to the .cif file (see 2014/4 below) should now work correctly.
3. Fixed atom coordinates are now output to the .cif file as 0.333333 and 0.666667 instead of 0.3333 and 0.6667 etc. This was only necessary for CheckCIF, SHELXL uses the tolerance set by the SPEC instruction to detect whether atoms are on special positions.
4. If no DISP instruction is provided and the wavelength is within 0.001 of: 1.5418 (CuKa), 1.3414 (GaKa), 0.7107 (MoKa), 0.5609 (AgKa) or 0.5136 (InKa) the appropriate values of f', f" and mu are used for the first 92 elements of the periodic table. If the wavelength is in none of the above ranges and no DISP instruction is given, MoKa is now assumed and a warning appears. Note that both shelXle and pdb2ins may be used to generate DISP instructions for any wavelength, e.g. for synchrotron data. It is important to use the correct values; for example f' for Ni with CuKa radiation is -3, which could result in nickel atoms being wrongly identified as manganese, and correct f" values are required to determine the Flack parameter.
5. A number of error messages and warnings have been improved.

Version 2014/7
1. Several minor CIF format problems have been fixed.
2. At the start of the data_ segment in the .cif file written by SHELXL-2014/7, the following two records appear:
_audit_creation_method 'SHELXL-2014/7'
_shelx_SHELXL_version_number '2014/7'
Programs processing the CIF file downstream from SHELXL may change _audit_creation_method but they should NEVER CHANGE any CIF item that begins with '_shelx_', because such CIF entries are reserved for the SHELX programs. Recent CIFs on the Acta Cryst. C website include several examples in which _shelxl_version_number has been modified and usually made useless. Since it is possible that these programs only treated items beginning with _shelx_ but not those beginning with _shelxl_ as reserved, _shelxl_version_number has been deprecated and replaced with _shelx_SHELXL_version_number.
3. To handle the case that other CIF processing programs persist in corrupting the SHELXL version number, it is now also included in the .res file as a remark (beginning with blanks rather than REM so that it does not accumulate). It is then embedded in the final .cif from SHELXL where it is 'checksum protected'! I am grateful to Ton Spek for suggesting this elegant solution.
4. In the .cif file written by SHELXL, if the default _diffrn_reflns_theta_full would be larger than _diffrn_reflns_theta_max it is made equal to it. I have it on good authority that CheckCIF will then no longer report it as an A alert.
5. The rejection criteria for the reflections used in the Parsons' quotients have been modified slightly (suggested by Simon Parsons).
6. In the triangular table of bond lengths and angles in the .lst file, angles that are not allowed according to the PART rules should now be replaced by blanks.

Version 2014/6
1. Under certain circumstances involving previously merged data, a corrupted .cif file could be produced. This has now been fixed.

Version 2014/5
1. It was possible for version 2014/4 to insert a superfluous ';' into the .cif output file, with dire consequences. This has now been fixed and the opportunity taken to tidy up some other items mainly affecting the .cif file (see below).
2. The rarely used weighting factor e.sin(theta/lambda) was correctly described in the .lst output file but not in the .cif file and some of the documentation. It should now be consistent.
3. The use of EXYZ could cause some bonds to be missing in the .cif file. They should now appear.
4. Torsion angles in the .cif file should now never appear with '_a' tags etc. for different PARTs, unless ACTA TABS is set, and the PART rules are now enforced more strictly for the torsion angles in the .cif file generated using CONF.
5. ANIS C1 C3 > C6 was incorrectly also making C2 anisotropic, this has now been fixed.
6. The linear absorption coefficient is now calculated and output to the .lst and .cif files when NEUT is used to set neutron scattering factors. Previously it was output as zero when NEUT but no DISP was specified.

Version 2014/4
1. SHELXL and other programs read reflections from the .hkl file until a reflection with h=0, k=0 and l=0 or a blank line is encountered. This means that useful information that is specific to that .hkl file may be added after this line. For example the end of such a file produced by SADABS version 2014/4 was as follows:

0 -3 41 4.85301 3.01063 26
0 0 0 0.00 0.00 0

_exptl_absorpt_process_details 'SADABS 2014/4'
_exptl_absorpt_correction_type multiscan
_exptl_absorpt_correction_T_max 0.7489
_exptl_absorpt_correction_T_min 0.7208
The following wavelength and cell were deduced by SADABS from the
direction cosines etc. They are given here for emergency use only:
CELL 0.71072 6.100 18.294 20.604 90.006 89.992 90.000

SHELXL now uses the CIF items found at the end of the .hkl file to replace items to which it would otherwise have given the value '?'. It ignores all other items. Text values delimited by semicolons are also allowed, but the CIF syntax is not checked. So in this example, the first four CIF items find their way (left justified) into the .cif output file, but although '_exptl_special_details' is legal CIF it is not included as a CIF item because this CIF identifier would not otherwise have been output. However it is still included in the .cif file as part of the embedded .hkl file, so that the information is not lost. Unfortunately because of one of the fundamental CIF design weaknesses (the same character ';' is used for both the beginning and end of a test item) SHELXL has to replace ';' in this example by ')' when embedding the .hkl file, and SHREDCIF version 2014/1 or later repairs the damage by turning a leading ')' in an otherwise blank line to ';'.

In this example, the cell following _exptl_special_details is not the same as in the CELL used in the .ins file because there was a reorientation matrix on the HKLF 4 instruction to transform the indices to the conventional P21212 setting for the space group. It is however still useful to preserve it in case the .hkl file becomes orphaned.

2. Some HFIX or AFIX errors produced garbled error messages. They should now be clearer.
3. At the request of users, if a TWIN matrix has a negative determinant and is not -1 0 0 0 -1 0 0 0 -1, the twin fraction is no longer reported as a Flack parameter. In such cases no Flack parameter is now estimated.
4. The hydrogen positions should now be calculated correctly again for AFIX 123 etc.

Version 2014/3
1. A serious bug in version 2014/2 affecting methyl groups (AFIX 33 etc.) has been fixed.

Version 2014/2
1. The '_a' etc. tags are now only output to the .cif file if the keyword 'TAGS' is present on the ACTA instruction (see 2014/1 below). They are still output as before to the .lst file.
2. The handling of PARTs by AFIX, HFIX and HTAB has been improved and several bugs fixed.
3. The nonsense error message that resulted when HFIX 33 or 37 is used for an acetonitrile molecule has been made sensible. Because the CCN unit is linear, geometric criteria cannot be used to place the hydrogens, but HFIX 137 should work.
4. A bug in the implementation of the CONN instruction has been fixed.
5. WIGL may now be followed by the rms shift in position in Å (as before) and then the rms percentage change in U or Uij divided by 100 (new). If values are not specified, 0.2 Å and 0.2 are used. If either are given as negative. both random shifts are randomized (i.e. will be different each time the program runs).
6. As stated for many years in the documentation, all six hydrogens in a AFIX 12N group must have the same PART number; there are good technical reasons for this. However it is now possible to start with HFIX/AFIX 123 etc., and then in the next job to split this into two AFIX 37 groups with different PART numbers.
7.Although AFIX instructions were intended for placing hydrogen atoms, it is also possible to use AFIX 30, 120 or 130 to set up ideal CF3 groups. However these may not be refined with a riding model because the fluorine atoms make a much larger contribution to the calculated structure factors that the carbon atom; the refinement would be unstable. The use of DFIX or SADI is recommended, e.g.

DFIX 1.328 C1 F1 C1 F2 C1 F3
DFIX 2.125 F1 F2 F1 F3 F2 F3
SADI 0.1 C2 F1 C2 F2 C2 F3

Note the relatively soft SADI restraint to the next atom to allow the CF3 group to tilt a little. Alternatively, if no second conformation is involved, an AFIX 6 or AFIX 9 rigid group could be used. The above SADI instruction could be added if necessary.

C2 ...
C1 ...
AFIX 135
F1 3 0 0 0
F2 3 0 0 0
F3 3 0 0 0

8. There is still some confusion about the use of SAME with RESI, which was accentuated by a bug in the implementation. The bug has now been fixed. SAME_XYZ, where XYZ is a residue name, now operates differently to SAME_N (where N is a residue number) or SAME without a residue number, both of which must be immediately followed by atoms in the same order as on the SAME instruction (H atoms are ignored). SAME_XYZ no longer uses the following atoms but is applied to all residues with the name XYZ, so the atoms must have the same names in the same order in each of these residues so that the program knows which are equivalent. For example, if we have six THF solvent molecules which should be restrained in this way, the THF molecules are preceded by 'RESI 1 THF', 'RESI 2 THF' .. 'RESI 6 THF' and are each followed by RESI 0 (which can be omitted if another RESI instruction follows immediately). In this case the THF atoms should have the same names in the same order in each THF residue. Only two SAME instruction are required and may (now) appear anywhere in the .ins file:


Hydrogen atoms can be added later with a single instruction:

HFIX_THF 23 C1 C2 C3 C4

Alternately 'SAME_1 O1 > C4' and 'SAME_1 O1 C4 < C1' could be inserted before the first atom of each THF residue after the first, that would be less elegant but would not require the same atom names to be used in each THF residue. Since hydrogen atoms are ignored by SAME, SADI not SAME should be used for H2O. 'SAME_WAT OW HW1 HW2' will not have any effect even if each water molecule is in a separate residue with the name 'WAT' and atoms OW HW1 and HW2, but either:




should work. These examples illustrate the way in which residues can be used to make the .ins file much simpler and easier to understand. Note however that because of a design limitation in PLATON/CheckCIF, the number of characters in the atom name plus the number of characters in the residue number (plus two if ACTA TABS is set) should not be greater than 7.

Version 2014/1
1. In the .cif output file, '_a' has been added to all references to PART 1 atoms, '_b' to PART 2 atoms etc., but not for atoms with negative PART numbers. This prevents a deluge of A alerts when running CheckCIF on structures in which atoms have the same names and residue numbers but different PART numbers. This is allowed by the SHELXL and PDB specifications, and is very convenient for applying the same restraints to multiple conformations.
2. In the .pdb output file, element names have been added in columns 77/78 and an END instructions has been added at the end for compatibility with PYMOL.
3. A small error affecting the (equivalent) isotropic B-values output to the .pdb file has been corrected.
4. HFIX should now work correctly with NEUT. However for deuterium atoms it will still be necessary to change the atom names and scattering factor numbers by hand.
5. '+filename' reads instructions from a file but does not copy them to the .res file. This is useful for reading in long lists of standard restraints. '++filename' also reads instructions from the named file but copies them to the .res file where appropriate. Such include files may call further files using '+filename' but not '++filename'. '+filename' is echoed to the .res file if it is in the .ins file but not if it is in a '+' or '++' file, '++filename' is never echoed.
6. XNPD with no parameters now defaults to +0.001 as stated in the instructions.
7. CONF should now never create an empty loop in the .cif file, which caused problems for some programs that read CIFs. Such loops could arise because CONF now uses the central bond length and the angles as a test to remove unwanted torsion angles.
8. Element names may now only appear once each on SFAC instructions. However both H and D may be present and will result in special treatment of H and D atoms (unless NEUT is specified before SFAC).
9. A bug has been fixed that could lead to HTAB instructions involving symmetry equivalent atoms not being recognised.
10. Some minor improvements have been made to AFIX for generating hydrogen atoms and a bug that sometimes prevented the generation of PART n hydrogens attached to a PART 0 atom has been fixed.
11. CF3-groups are now generated (with AFIX 37 etc.) using an improved geometry (C-F 1.328A, F...F 2.125A) devived by Julian Holstein using the Global Phasing Grade server. After generating the CF3-groups in this way, it appears to be worth performing a rigid body refinement in a separate job using AFIX 6 before the carbon atom (but without AFIX 35) so that the CF3-groups can tilt but retain these dimensions.
12. SAME_n plus atom names, where n is a residue number, is now allowed. Note however that this will only make two residues equivalent; for a structure containing e.g. many poorly defined THF solvent molecules, a single SAME_THF plus atom names will make all the THF molecules equivalent provided that they have the same atom names.
13. It should now no longer be possible for _diffrn_reflns_Laue_measured_fraction_full in the .cif file to be greater than 1.000. Previously it could be slightly greater than 1.000 when the reflection d-values for different twin components differed slightly (HKLF 5 format or pseudo-merohedral twinning using a TWIN matrix).
14. The instruction 'RTAB D2CG atom1 atom2 ...' calculates the distance (and its esd) of atom1 to the unweighted centroid of the remaining atoms in the list.
15. If a non-standard space group is not recognized, i.e. its name cannot be deduced from LATT and SYMM, the name is now given as ? rather than '?' in the .cif file ('?' upset some CIF parsers).
16. 'BIND m n' where m and n are PART numbers allows atoms in PART m to bond to atoms in PART n. This provides an addition to the usual PART rules so that disorders inside disorders can be refined more easily. m and n may be positive or negative.
17. If 'NOHKL' is present on an ACTA instruction, the .hkl and (if relevant) .fab files are not included in the .cif file. This is intended for the intermediate stages of the refinement only; for deposition and archiving it should not be used. This change was made under pressure from some users against my better judgement; it is good science to deposit and archive the original reflection data and the new facility may result in these data being lost (accidentally or on purpose). The final .res file is always included in the .cif file and can still be extracted using shredcif.
18. If the twin factor refined with TWIN and BASF refines to a value outside the range 0 to 1, Fc² may become negative and was correctly reported as such in the .fcf file. Unfortunately this caused trouble for certain diagnostic programs, so a negative value of Fc² is now replaced by zero in the .fcf file. Note that this way of refining the Flack parameter is now only needed for real racemic twins with intermediate twin fractions, so will rarely be needed in practice.

Version 2013/4
1. A missing PART 0 instruction produced the rather misleading error message "Cannot find .res file to insert it into .cif". The more useful message "Bad AFIX 33 connectivity, C107_a bonds to no atoms" is now output in the case in question. The program tries to find missing AFIX 0 instructions but missing PART 0 instructions, which mess up the connectivity table, are almost impossible to detect.
2. Setting the fourth L.S. parameter could cause the Flack parameter to be determined too close to zero with a very small esd. To avoid misuse, this has been fixed by allowing a maximum of only three L.S. parameters.
3. The counting of the number of reflections for use in the .cif file was not always accurate, primarily as a result of rounding errors involving the resolution limits. This should now be more reliable.
4. For refinements against neutron data with the NEUT instruction, the CHIV instruction can now be used as for X-ray data when an atoms makes exactly three bonds to non-H/D atoms, in which case further bonds to H or D are ignored. If an atom makes a total of exactly three bonds including bonds to H or D, a CHIV instruction with the default value of zero may be used to restrain planarity, e.g. for -NH-, -NH2, -ND- and -ND2 amides or aromatic -CH- and -CD- groups. Using NEUT together with AFIX has a similar effect, but operates as a constraint.

Version 2013/3
1. If (for whatever reason) a Flack parameter defined by TWIN and BASF refined to an appreciably negative value, this sometimes caused very large 'Q peaks' as an indirect consequence of some calculated intensities being negative. This has now been fixed but the value obtained from the Parsons' quotients (without TWIN and BASF) should usually be quoted anyway, see Parsons, Flack and Wagner, Acta Cryst. B69 (2013) 249-259.
2. A bug affecting the use of EADP in some complicated disordered situations has been fixed.
3. CONF followed by explicit atom names should now no longer have problems recognising atoms. CONF without atom names never had problems.
4. HTAB now follows the PART rules more closely.
5. It is now possible to use any combination of negative MORE, input from a .fab file, and output to a .pdb file in the same run (previously the same unit number was used for all three).
6. The space group Cmc21 is now reported correctly in the .cif file, previously it was confused with Pmc21 when deducing the space group from LATT+SYMM.
7. The heading for the table of "most disagreeable reflections" is now more explicit.
8. The format used for reporting the weighting scheme in the .cif file has been changed back to that used by SHELXL-97 for compatibility with some local versions of the templates for making tables.
9. The refinement of two or more sets of hydrogen atoms with different PART numbers attached to the same atom should now work correctly. Similarly CH3 / CF3 disorder is now allowed with AFIX 33, 37 or 38 for either group.

Version 2013/2
1. The program should now no longer call itself a "beta-test".
2. References to shelxl_2012 in the .cif file have been changed to shelxl_2013.
3. TWST 0 is now allowed and has been made the default. This causes all twin components to be used for making the completeness and Friedel coverage statistics. TWST 1 just uses the first component for this.
4. A small (<= 1 reflection) error in the calculation of completeness and Friedel coverage has been corrected. No-one noticed.

Version 2013/1
1. A number of small bugs have been exterminated.
2. Multiple CPUs are now always used if available, there is no special shelxl_mp version.
3. In view of the impressive data quality from the liquid gallium anode, GaKα has been added to the standard radiations recognised by the program (in addition to CuKα, MoKα and AgKα).

Changes in SHELXT

Version 2014/5
1. The reflection list in the output .hkl is now terminated by a reflection 0,0,0 as well as a blank line. All SHELX programs of the last 40 years accepted either as the end of the reflection list, but Olex2 did not.
2. A few minor changes have been made to the .lzt output and to the command summary output when no filename is specified.

Version 2014/4 (first official release)
1. There is no longer an expiry date.
2. The program is highly parallel. It will use all available threads unless -tN is used to restrict it to N threads.
3. The structure found should now be optimally centred in the unit-cell.
4. The original TITL is converted to a REM, and a new TITL is generated giving the filename and space group found by SHELXT. Further details of the structure solution are given as REMs.
5. Some minor improvements have been made to the element assignment.
6. The listing file is now called .lxt to make it less likely to be overwritten.
7. The ZERR instruction is now transformed as required if the axes had to be redefined to get the conventional setting for the chosen space group. None of the beta-testers reported this bug!
8. In response to suggestions by the beta-testers, ANIS and RIGU are no longer inserted into the .res file.
9. In the .hkl files written by SHELXT, the last reflection is followed by the blank line and CIF items carried over from the original .hkl file, and then by:
_computing_structure_solution 'SHELXT 2014/4 (Sheldrick, 2014)'
Thus all these CIF items are automatically incorporated in the .cif file written by SHELXL if it uses an .hkl file from SHELXT.

Changes in SHREDCIF

Version 2014/4
1. When SHELXL embeds .hkl, .res or .fab files into the .cif file, it replaces lines that begin with ';' and are otherwise blank by lines that start with ')'. SHREDCIF now reverses this and replaces ')' by ';' in otherwise blank lines.
2. The embedded .res file is retained in the shredded CIF file because it is proving very useful for CheckCIF (and referees), but the embedded .hkl and .fab files are stripped.

Version 2014/3
1. When SHREDCIF is run without a filename, it outputs its version number followed by a brief description. To avoid confusing other programs that might be calling SHREDCIF, when a filename is specified the standard output is the same as for previous versions, provided that there are no error messages, so it does not include the version number.
2. The checksums may now appear anywhere in the same data_ segment before or after the data to which they apply. Apparently some CIF processing software has a habit of shuffling the CIF file!
3. The error diagnostics have been improved. For example, if a checksum is given as '?' (presumably put there by a user who has tried to 'improve' the CIF file), SHREDCIF now reports a bad checksum and continues rather than reporting a corrupted CIF file and terminating.

Changes in CIFTAB

Version 2014/2
1. A bug has been fixed that caused the first line of each table heading to be truncated. This was an indirect side-effect of change #1 in version 2014/1.

Version 2014/1
1. The formatting of the space group names has been improved in the RTF output (for input to Microsoft Word or Open Office). No change is needed to the ciftab.rta and ciftab.rtm template files.

Version 2013/2
1. The name following "data_" is now no longer converted to lower case when two .cif files are combined.


1. The test data are now available on the download server as well as via links on the homepage.
2. It is now possible to view the homepage and register from an iPhone.


I am very grateful to the following users for reporting bugs: Chris Anson, John Bacsa, Andrei Batsanov, Christine Beevers, Paul Boyle, Bill Brennessel, Bill Clegg, Fabio Dall'Antonia, Antonio DiPasquale, Oleg Dolomanov, Alan Downward, Paul Emsley, Louis Farrugia, Jim Fettinger, Stu Fisher, Tim Grüne, Ilia Guzei, Klaus Harms, Larry Henling, Regine Herbst-Irmer, Julian Holstein, Håkon Hope, Jörg Kärcher, Daniel Kratzert, Florian Kraus, Lennard Krause, Tony Linden, Martin Lutz, Joel Mague, Curtis Moore, Peter Müller, Bruce Noll, Marilyn Olmstead, Holger Ott, Sean Parkin, Brian Patrick, Bob Pike, Tullio Pilati, Horst Puschmann, Kris Radaki, Carmen Ramirez, Nigam Rath, Joe Reibenspies, Frank Rominger, Amy Sarjeant, Thomas Schneider, Ton Spek, Simon Teat, Jens Thomas, Andrea Thorn, Karl Törnroos, Isabel Usón, Hubert Wadepohl, Hilke Wolf, Christoph Wolper, Qingping Xu, Peter Zavalij, Matt Zeller, Joe Ziller and many others.

I should particularly like to thank the following for their help with the SHELX homepage: Lee Daniels, Tim Grüne, Regine Herbst-Irmer, Julian Holstein, Christian Hübschle, Daniel Kratzert, Peter Müller, Bruce Noll, Roland Pfoh and Andrea Thorn.