research papers
Automatic multiplezone rigidbody
with a large convergence radius^{a}Lawrence Berkeley National Laboratory, One Cyclotron Road, BLDG 64R0121, Berkeley, CA 94720, USA, ^{b}IGBMC, CNRSINSERMUdS, 1 rue Laurent Fries, BP 10142, 67404 Illkirch, France, ^{c}Département de Physique, Université Henri Poincaré, Nancy 1, BP 239, Faculté des Sciences et des Technologies, 54506 VandoeuvrelèsNancy, France, and ^{d}Department of Bioenegineering, University of California Berkeley, CA 94720, USA
^{*}Correspondence email: pafonine@lbl.gov
Rigidbody phenix.refine program.
is the constrained coordinate of one or more groups of atoms that each move (rotate and translate) as a single body. The goal of this work was to establish an automatic procedure for rigidbody which implements a practical compromise between runtime requirements and convergence radius. This has been achieved by analysis of a large number of trial refinements for 12 classes of random rigidbody displacements (that differ in magnitude of introduced errors), using both leastsquares and target functions. The results of these tests led to a multiplezone protocol. The final parameterization of this protocol was optimized empirically on the basis of a second large set of test refinements. This multiplezone protocol is implemented as part of theKeywords: rigidbody refinement; multiplezone protocols.
1. Introduction
The vast majority of macromolecular crystal structures are solved either with experimental phasing methods (see, for example, Blow & Crick, 1959; Hendrickson, 1991) or with the method (Rossmann & Arnold, 2001, and references therein). In the case of experimental phasing the model is built into an The resulting model may contain many local errors, but significant concerted displacements are not expected. In contrast, models obtained via or with difference Fourier methods can be systematically displaced. In this situation rigidbody (Booth, 1947a,b, 1949; Cochran, 1948; Scheringer, 1963; Sussman et al., 1977; Hoard & Nordman, 1979; Huber & Schneider, 1985; Yeates & Rees, 1988; Derewenda, 1989; Urzhumtsev et al., 1989; Driessen et al., 1989; Yeates & Rini, 1990; Brünger, 1990a,b, 1991; Castellano et al., 1992; Noble et al., 1993; Navaza, 2001; Tronrud, 2004; McCoy, 2007; Lebedev et al., 2008) is a powerful method for correcting potentially large systematic displacements. Outside the field of crystallography, rigidbody is also an important tool when fitting models into envelopes (see, for example, Navaza et al., 2002, and numerous references therein). Rigidbody may also be a way of performing coordinate when only very low resolution data are available.
Rigidbody ; Sheldrick & Schneider, 1997; Tronrud, 2004). Leastsquares (LS) is expected to be more affected than (ML), since the latter is designed to automatically weight down terms with poor modeltodata correspondence (Lunin et al., 2002), i.e. data at high resolution at the beginning of refinement.
moves groups of atoms as a whole, leaving the internal configuration of each group unchanged. It is well understood that the information about the largescale distribution of atoms is contained in the lowresolution diffraction data. The highresolution data convey information about the finer details of the atomic structure. Since these details are invariant during rigidbody it is expected that highresolution data will be less important for this procedure than the lowresolution data. Inclusion of highresolution data is known to hamper the progress of (see, for example, Sheldrick, 2008When choosing the highresolution cutoff for SHELX (Sheldrick & Schneider, 1997). At the initial stage the convergence radius is large. The model is most likely to be moved closer to the correct position and orientation, but the accuracy is relatively low. At the subsequent stages the convergence radius is less critical, but the accuracy is improved by the inclusion of higherresolution data. This approach can be robust but computationally expensive and requires ad hoc decisions about highresolution data cutoff and the number of higherresolution reflections to be added as the progresses. Here we report the results of numerical experiments aimed at finding a computationally economical and automated multiplezone protocol that still results in a large convergence radius.
a practical balance between convergence radius, accuracy of the results and computational cost has to be found. Generally, moving the cutoff to lower resolution is expected to increase the radius of convergence, but at the cost of decreased accuracy. This suggests a multiple resolution approach with several sequential refinements using data at increasingly higher resolution, for example, as implemented by the STIR option inThe multiplezone phenix.refine – a macromolecular structure program (Afonine et al., 2005b) that is under active development as part of the PHENIX project (Adams et al., 2002). Major development goals are increased automation and fast exploration of new approaches based on a modular architecture. Available features, among others, include various targets (maximum likelihood, twinned least squares, phased maximumlikelihood), of individual coordinates and ADPs (isotropic, anisotropic, group, TLS or any combination), automatic water picking built in to the robust bulksolvent correction (Afonine et al., 2005a), Cartesian dynamics, simulated annealing, NCS restraints, at ultrahigh resolution (Afonine et al., 2004, 2007), and joint using Xray and neutron data. Here we describe the systematic investigation of rigidbody based on a large number of trial refinements in phenix.refine.
protocol is implemented in2. Methods
2.1. Parameterization of rigidbody motions
A rigid body is a group of atoms subject to a concerted motion, leaving the atoms fixed relative to each other. In rigidbody ; Weisstein, 2006). The Euler angles are commonly referred to as α, β, γ. One commonly used convention [e.g. AMoRe (Navaza, 2001) and REFMAC (Collaborative Computational Project 4, Number 4, 1994; Murshudov et al., 1997)] is to first rotate around the Cartesian z axis by the angle γ, then around the y axis by the angle β, and finally around the z axis again by the angle α; in this paper we refer to this convention as the zyz convention. At the usual starting point for rigidbody α = β = γ = 0°, α and γ are perfectly correlated, which could potentially lead to numerical instabilities. Another convention in common use (e.g. Urzhumtsev et al., 1989; Brünger et al., 1998; Kronenburg, 2004) differs in this respect. The first two rotations are as before, but the third rotation is around the x axis. Here we refer to this convention as the xyz convention. α and γ are perfectly correlated only if γ = ±90°, values that are highly unlikely to be reached in the course of rigidbody as the final rotations from the starting position are typically less than 20°.
a macromolecule is split into one or more nonoverlapping rigid groups. The position of each rigid body is characterized by six The body translation is universally parameterized as three Cartesian or fractional coordinates. The body orientation is usually defined by three Euler angles. A large number of Euler angle conventions are in use (Urzhumtseva & Urzhumtsev, 19972.2. procedure
In the tests reported below, a rigidbody ) (the same minimizer is used in the CNS program) with a maximum of 25 iterations per macro cycle. During minimization, an LS or an ML target function [implemented as defined by Lunin & Skovoroda (1995) and Afonine et al. (2005a)] is used. All geometry restraints including nonbonded interactions are disabled. Thus the is purely based on the experimental data.
run is a series of macro cycles in each of which a bulksolvent correction is followed by LBFGS minimization (Liu & Nocedal, 1989It has been shown that a bulksolvent correction of the lowresolution data is very important to achieve optimal ; Kostrewa, 1997; Badger, 1997). In the tests reported below, we used the bulksolvent correction algorithm as described by Afonine et al. (2005a). In the context of rigidbody the model shifts are expected to be large and hence invalidate the bulk solvent mask calculated from the initial model. Therefore the bulksolvent correction is tightly integrated into the and recomputed between macrocycles if the model has moved beyond a certain default threshold.
results (Jiang & Brünger, 19942.3. Test data and models
Test data and models were taken from an inhouse library of 56 structures collected over the course of some time. Table 1 lists reference information for all test structures. The original experimental data were used in all trial refinements reported below. To better approach typical practical situations, the models from the library were modified by deleting all atoms that are not part of a protein, RNA or DNA molecule.
As a last manipulation, all structures were subject to rigidbody ) with the entire model as one body. The refined corrections were typically very small. These refined models were considered as the best possible results and used as the ideal (reference) model for subsequent comparisons.
using data up to 3 Å (or the highresolution limit shown in Table 1For tests with multiple rigidbodies, seven out of the 56 structures were split into two to six bodies as indicated in Table 1 (column NB). We included calmodulin and gene5 models even though they both consist of only one chain. Calmodulin was chosen because of the (P1), gene5 because of the small size. In each model, the chain was split into two parts and a few atoms were deleted to avoid clashes of the two artificially created bodies.
One of the multibody structures (1071B) was subject to multibody rigidbody
at 3 Å to obtain a specific multibody reference model, since the displacements with respect to the onebody model were significant.2.4. Random displacements
Our goal was to systematically sample the behavior of rigidbody refinements. For this we investigated three main variables:
(i) Averaging out model shaperelated effects by using a large number of models (see previous section).
(ii) Sampling a matrix of displacement magnitudes, using combinations of translations with a 0, 2, 4 and 6 Å shift along a random vector and a 0, 5, 10 and 15° rotation around a random axis.
(iii) Averaging out effects due to interactions of model shape and translation vectors or rotation axes by sampling a large number (we used 100) of random vectors and axes for a given pair of displacement magnitudes.
The combination (translation, rotation) = (0 Å, 0°), i.e. no change in the starting model position or orientation, was excluded. To reduce the runtime for the tests, we also chose to omit the (4 Å, 10°), (6 Å, 10°) and (6 Å, 15°) combinations since the success rate (see §2.5 for the definition) for such very large displacements was known to be near zero, on the basis of preliminary trials. This left 12 combinations to be sampled 100 times for each of the 56 test structures, i.e. a total of 67 200 rigidbody runs per set of trial parameters. When determining the random translations, continuous allowed origin shifts (GrosseKunstleve, 1999) (e.g. parallel to the twofold axis in P2) were specifically taken into account: the translation vectors for the first body were chosen perpendicular to the allowed origin shifts. In P1 translations of the first body have no effect on the magnitudes and were therefore not considered.
In the tests with multiple rigid bodies, the random translations and rotations can lead to serious clashes, which are unlikely to occur in most practical situations since most ), the clashes have no direct effect and we decided to ignore them.
programs generally suppress configurations with clashes. However, since nonbonded interactions are not included in our rigidbody procedure (§2.22.5. Success rates
After each rigidbody ) was determined, taking allowed origin shifts into account. For each set of 100 random displacement magnitudes (previous section), we counted the number of refined models with an r.m.s.d. less than or equal to 1.0, 0.5 and 0.25 Å. These numbers are the success rates in percent, given the chosen r.m.s.d. value. Fig. 1 shows an example plot of the success rates.
run, the rootmeansquare deviation (r.m.s.d.) with respect to the reference prerefined model (§2.3When evaluating the effects of parameter changes, we compared the success rates using a tolerance to eliminate noise. Success rates with differences less than or equal to 2% were considered insignificant. Larger differences were considered significant and used as a guide in the optimization of the
protocol.3. Results
3.1. Refinements with fixed highresolution cutoffs
Our initial test series was a systematic sampling of highresolution cutoffs d_{min} = 3, 4, 6, 8 and 10 Å. Some data sets had an insufficient number of reflections given the 8 or 10 Å cutoffs. The largest resolution cutoffs used in these tests are 6 Å for gene5 and hipip, 8 Å for gpatase, lysozyme, oatgabaculine and rnasep, and 10 Å for all other structures. The total number of rigidbody runs over all five resolution ranges was 32 6400 = (50 structures × 5 resolution cutoffs + 2 structures × 3 resolution cutoffs + 4 structures × 4 resolution cutoffs) × 12 rotation–translation shifts × 100 trials. The complete test series was run twice: once using the LS target function, then again using the ML target function. We manually reviewed the resulting 2 × 3264 success rate plots, where each plot was an average over 100 trials.
While there are significant individual differences between the test structures, the results show a general trend. This observation led us to prepare plots averaging the success rates over all structures (Figs. 2 and 3) so that each point in these plots shows the success rate of 100 × 56 refinements (with a few refinements less at 8 and 10 Å as explained above). This leads to the following observations:
(i) The success rates reach a plateau after a certain number of macro cycles. The height of the plateau depends on both the displacement magnitude and the highresolution cutoff. The larger the displacement magnitudes, the lower the plateau. The larger the highresolution cutoff, the higher the plateau.
(ii) The macro cycle at which the plateau is reached depends on the highresolution cutoff. The larger the highresolution cutoff, the more macro cycles are needed to reach the plateau.
(iii) The difference in the plateau heights for the three success rate cutoffs (1.0, 0.5, 0.25 Å) strongly depends on the highresolution cutoff. With a highresolution cutoff of 3.0 Å, the three plateaus in each plot have virtually identical heights. This suggests that, if a
converges to the solution, it is highly likely to be accurate. As the highresolution cutoff is increased, the plateaus are at increasingly different heights. This means on average the solutions are increasingly less accurate.(iv) Increasing the highresolution cutoff leads to a larger convergence radius. This effect is most pronounced for translational displacements when going from a 3.0 to a 4.0 Å highresolution cutoff, or from 4.0 to 6.0 Å. Larger highresolution cutoffs do not significantly increase the convergence radius. Furthermore, the effect is weaker for rotational displacements.
(v) The difference in results obtained with the leastsquares target and the and 3 we observed that the leastsquares target leads to slightly better success rates using highresolution cutoffs of 6.0 Å or larger, and the target is slightly better using highresolution cutoffs of 3.0 and 4.0 Å.
target are subtle. Comparing Figs. 23.2. Multiplezone protocol
The observations reported in the previous section lead to the use of a multiplezone protocol. The goal is to take advantage of the larger convergence radius at larger highresolution cutoffs and higher accuracy at smaller resolution cutoffs. The multiplezone protocol automates d_{min}. A straightforward approach is to decrement the highresolution cutoff d_{min} by a certain amount after each round of rigidbody similar to the SHELX STIR option. Under this scheme the zones increase in size with the cube of the number of reflections. We chose to use a similar but more tunable function with a parameterization that is designed to be independent of the structure to be refined:
starting with a small number, n_ref(1), of lowresolution reflections (first zone), and successive addition of reflections up to a userdefined highresolution cutoffzone_exponent is a userdefined value. The zone_factor is computed from a userdefined number of zones, n_zones, and the number of reflections at the highest resolution cutoff, n_ref(n_zones):
zone_exponent = 3 corresponds to the SHELX STIR option. With a smaller value the function is more linear, adding more reflections more quickly. With a larger value fewer reflections are added initially and more reflections in the later steps.
n_ref(1) is determined using the formula
Here n_ref(1)_{1} is a usersupplied value, n_bodies is the number of usersupplied atom selections for the rigid bodies and multi_body_factor is a tunable parameter. With multi_body_factor = 1 the number of reflections for the first resolution zone is a linear function of the number of rigid bodies. The phenix.refine program provides two alternatives for determining n_ref(1)_{1}. The user can simply specify the value directly or specify a lowresolution cutoff from which n_ref(1)_{1} is computed. In all cases, default values are automatically chosen by the program, which can be overridden by userdefined values if required.
3.2.1. Exploration of parameter space
The parameterization presented in the previous section is designed to be independent of the structure to be refined. The critical variables are the number of zones n_zones, n_ref(1)_{1}, the multi_body_factor and the zone_exponent. These values were optimized with a series of tests, using starting values derived from the results of the tests described above. To decrease the runtime requirements for a test series, we reviewed the refinements with fixed highresolution cutoffs. In addition to the seven multibody refinements, three singlebody refinements were chosen with the aim of covering the distribution of number of atoms versus highresolution limit of the diffraction data. The three selected structures are marked in Table 1, column NB.
A preliminary set of test runs with only seven structures split into multiple bodies indicated that n_zones = 5, zone_exponent = 4, multi_body_factor = 1 and n_ref(1)_{1} = 100 is a good default parameterization. After adding the three singlebody refinements, we then started a second set of tests exploring the parameter space around these values. The results are reported in some detail below. Unless noted otherwise, the target was used in all resolution zones.
To determine the best choice for n_ref(1)_{1} we ran a test series with trial values 60, 80, 100, 120, 200 and 400. The values were chosen on the basis of the behavior of the trial refinements. Table 2 shows a mutual comparison of the n_ref(1)_{1} values of each trial with the others. Inspection suggests that the value 100 is the best choice overall for n_ref(1)_{1}.

After identifying n_ref(1)_{1} = 100 as the best value, we explored values for multi_body_factor = 0.5, 1 and 2, fixing n_zones = 5 and zone_exponent = 4 as before. The results in Table 3 confirm our expectation that a simple linear coupling (multi_body_factor = 1) of the number of observations and the number of refineable parameters is optimal.

Fixing n_ref(1)_{1} = 100, multi_body_factor = 1 and n_zones = 5, we tried the alternative values zone_exponent = 1, 2, 3, 5 and 6. The results in Table 4 show that zone_exponent = 3 is the best choice. This result validates the approach used in the SHELX STIR algorithm.

Fixing n_ref(1)_{1} = 100, multi_body_factor = 1 and zone_exponent = 3, we tried the alternative values n_zones = 3, 4, 6, 7, 8 and 9. The disadvantage of using more zones is increased runtime. However, the results are expected to be better if more zones are used. This is largely confirmed by the data in Table 5. The use of more than five zones does not greatly improve the outcome compared with the use of three to five zones. Table 6 shows runtime statistics as a function of the number of zones. For example, using seven zones instead of five zones increases the runtime, on average, by about 25%. Thus, using five zones is a practical compromise between runtime considerations and expected benefit. However, for difficult cases it could be worth increasing the number of zones in order to increase the expected success rate, at the cost of increased runtime. It should also be noted that as rigidbody is often typically only performed once at the start of structure investing a some additional computing time to obtain the best solution might be well justified.


3.3. Effect of rotation convention
To analyze the role of different ways to describe the rotation we made a comparative shows the success rate comparison using the two different Euler angle conventions introduced in §2.1. All other parameters were fixed at the defaults [n_ref(1)_{1} = 100, multi_body_factor = 1, zone_exponent = 3 and n_zones = 5]. The results are surprisingly clear: the xyz convention drastically outperforms the zyz convention. Even though the LBFGS minimizer used in the refinements is designed to tolerate singularities, it is evidently advantageous to avoid them.
in similar conditions using the two different Euler angle conventions. Table 7

3.4. Automatic switching between leastsquares and target functions
In §3.1 it was found that the best choice of target function depends on the highresolution cutoff. To take advantage of this knowledge a target_auto_switch_resolution parameter was introduced. For zones with a highresolution cutoff larger than the value of this parameter, the LS target is used, and the ML target otherwise. With optimal values for the other parameters as presented in the previous sections, a new series of four tests were performed, with target_auto_switch_resolution = 4, 5, 6 and 7 Å. The corresponding success rate comparisons are shown in Table 8. These data indicate that switching at a lower value for the resolution cutoff is better than switching at a higher value. On the basis of the fixed resolution cutoff results (Figs. 2 and 3), 6 Å was selected as the default parameter.

4. Conclusion
of an atomic model as a rigid body or several independent rigid bodies is an important and routine step in macromolecular By combining multizone rigid body robust bulk solvent and scaling, methods, and largescale optimizations of key parameters of the multizone protocol, it has been possible to increase the radius of convergence of rigidbody and make the process highly automated.
We observe that although likelihood methods do provide for some degree for automated weighting of data the extent of this weighting is not sufficient to provide a large radius of convergence when highresolution data are used in the rigidbody
Thus, explicit removal of higherresolution data during rigidbody even when using a likelihood target, significantly increases the radius of convergence.The idea of gradually increasing the
resolution from low to high or simply truncating the highresolution data at some point between 3 and 6 Å resolution has been used by many practitioners for some time. However, the systematic investigation undertaken here has provided two very important enhancements. First, use of the number of reflections to define the resolution zones, instead of specific resolution limits, makes the process modelindependent. For example, for relatively small structures cutting the data at 6 Å or even higher may not leave enough lowresolution reflections for In addition, defining the zones by the number of reflections always assures an adequate amount of data and an appropriate resolution for the Second, since large model shifts are expected during rigidbody it is essential to update the bulk solvent model as often as a model shifts beyond a certain threshold or additional reflections are included.Having performed hundreds of thousands of rigidbody refinements using a set of 56 models different in size, shape and packing, as well as having different quality experimental data sets associated with them (resolution and completeness), we have empirically confirmed our hypothesis that the xyz rotation parameterization performs better than the zyz parameterization since it avoids a singularity near the typical values for the rotation parameters encountered in Our results also define approximate convergence radii for gradientdriven rigidbody (Figs. 2 and 3).
Our systematic exploration of the parameter space (§3.2.1) was feasible only because we had access to a computer cluster with 200 fast CPUs. The tools that we have developed for running and analyzing the many refinements are being reused for evaluating other algorithms and parameterizations. By making use of the latest computing technology, we can replace the very slow and subjective process of tuning parameters based on anecdotal evidence with a more scientific approach. With modern tools, practical experience that may have taken many years to accumulate in the past can now be obtained in a matter of days.
The described algorithms and protocols are implemented in the phenix.refine, which is available as part of the PHENIX package. The program is available from https://www.phenixonline.org/ . The core rigidbody calculations are part of open source libraries (https://cctbx.sourceforge.net ).
programAcknowledgements
This work was supported in part by the US Department of Energy under contract No. DEAC0376SF00098 and NIH/NIGMS grant 1P01GM063210. AU thanks Pole `Intelligence Logicielle', Nancy, for financial support. We thank L. Urzhumtseva for sharing her previous experience on rigidbody
and V. Lunin for useful discussions.References
Adams, P. D., GrosseKunstleve, R. W., Hung, L.W., Ioerger, T. R., McCoy, A. J., Moriarty, N. W., Read, R. J., Sacchettini, J. C., Sauter, N. K. & Terwilliger, T. C. (2002). Acta Cryst. D58, 1948–1954. Web of Science CrossRef CAS IUCr Journals Google Scholar
Afonine, P. V., GrosseKunstleve, R. W. & Adams, P. D. (2005a). Acta Cryst. D61, 850–855. Web of Science CrossRef CAS IUCr Journals Google Scholar
Afonine, P. V., GrosseKunstleve, R. W. & Adams, P. D. (2005b). CCP4 Newsletter No. 42, https://www.ccp4.ac.uk/newsletters/newsletter42/content.html . Google Scholar
Afonine, P. V., GrosseKunstleve, R. W., Adams, P. D., Lunin, V. Y. & Urzhumtsev, A. (2007). Acta Cryst. D63, 1194–1197. Web of Science CrossRef CAS IUCr Journals Google Scholar
Afonine, P. V., Lunin, V. Y., Muzet, N. & Urzhumtsev, A. (2004). Acta Cryst. D60, 260–274. Web of Science CrossRef CAS IUCr Journals Google Scholar
Badger, J. (1997). Methods Enzymol. 277, 344–352. CrossRef PubMed CAS Web of Science Google Scholar
Berman, H. M., Westbrook, J., Feng, Z., Gilliland, G., Bhat, T. N., Weissig, H., Shindyalow, I. N. & Bourne, P. E. (2000). Nucleic Acids Res. 28, 235–242. Web of Science CrossRef PubMed CAS Google Scholar
Blow, D. M. & Crick, F. H. C. (1959). Acta Cryst. 12, 794–802. CrossRef CAS IUCr Journals Web of Science Google Scholar
Booth, A. D. (1947a). Nature (London), 160, 196. CrossRef Web of Science Google Scholar
Booth, A. D. (1947b). J. Chem. Phys. 15, 415. CrossRef Web of Science Google Scholar
Booth, A. D. (1949). Proc. R. Soc. London Ser. A, 197, 336–355. CrossRef CAS Google Scholar
Brünger, A. T. (1990a). Acta Cryst. A46, 46–57. CrossRef Web of Science IUCr Journals Google Scholar
Brünger, A. T. (1990b). XPLOR Manual. Version 2.1. Yale University, New Haven, USA. Google Scholar
Brünger, A. T. (1991). Acta Cryst. A47, 195–204. CrossRef Web of Science IUCr Journals Google Scholar
Brünger, A. T., Adams, P. D., Clore, G. M., DeLano, W. L., Gros, P., GrosseKunstleve, R. W., Jiang, J.S., Kuszewski, J., Nilges, M., Pannu, N. S., Read, R. J., Rice, L. M., Simonson, T. & Warren, G. L. (1998). Acta Cryst. D54, 905–921. Web of Science CrossRef IUCr Journals Google Scholar
Castellano, E. E., Oliva, G. & Navaza, J. (1992). J. Appl. Cryst. 25, 281–284. CrossRef CAS Web of Science IUCr Journals Google Scholar
Cochran, W. (1948). Acta Cryst. 1, 273. CrossRef IUCr Journals Web of Science Google Scholar
Collaborative Computational Project, Number 4 (1994). Acta Cryst. D50, 760–763. CrossRef IUCr Journals Google Scholar
Derewenda, Z. S. (1989). Acta Cryst. A45, 227–234. CrossRef CAS Web of Science IUCr Journals Google Scholar
Driessen, H., Haneef, M. I. J., Harris, G. W., Howlin, B., Khan, G. & Moss, D. S. (1989). J. Appl. Cryst. 22, 510–516. CrossRef CAS Web of Science IUCr Journals Google Scholar
GrosseKunstleve, R. W. (1999). Acta Cryst. A55, 383–395. Web of Science CrossRef CAS IUCr Journals Google Scholar
Hendrickson, W. A. (1991). Science, 254, 51–58. CrossRef PubMed CAS Web of Science Google Scholar
Hoard, L. G. & Nordman, C. E. (1979). Acta Cryst. A35, 1010–1015. CrossRef CAS IUCr Journals Web of Science Google Scholar
Huber, R. & Schneider, M. (1985). J. Appl. Cryst. 18, 165–169. CrossRef CAS Web of Science IUCr Journals Google Scholar
Jiang, J.S. & Brünger, A. T. (1994). J. Mol. Biol. 243, 100–155. CrossRef CAS PubMed Web of Science Google Scholar
Kostrewa, D. (1997). CCP4 Newsl. 34, 9–22. Google Scholar
Kronenburg, M. J. (2004). Acta Cryst. A60, 250–256. Web of Science CrossRef CAS IUCr Journals Google Scholar
Liu, D. C. & Nocedal, J. (1989). Math. Program. 45, 503–528. CrossRef Web of Science Google Scholar
Lebedev, A. A., Vagin, A. A. & Murshudov, G. N. (2008). Acta Cryst. D64, 33–39. Web of Science CrossRef IUCr Journals Google Scholar
Lunin, V. Y., Afonine, P. V. & Urzhumtsev, A. G. (2002). Acta Cryst. A58, 270–282. Web of Science CrossRef CAS IUCr Journals Google Scholar
Lunin, V. Yu. & Skovoroda, T. P. (1995). Acta Cryst. A51, 880–887. CrossRef CAS Web of Science IUCr Journals Google Scholar
McCoy, A. J. (2007). Acta Cryst. D63, 32–41. Web of Science CrossRef CAS IUCr Journals Google Scholar
Murshudov, G. N., Vagin, A. A. & Dodson, E. J. (1997). Acta Cryst. D53, 240–255. CrossRef CAS Web of Science IUCr Journals Google Scholar
Navaza, J. (2001). Acta Cryst. D57, 1367–1372. Web of Science CrossRef CAS IUCr Journals Google Scholar
Navaza, J., Lepault, J., Rey, F. A., ÁlvarezRúa, C. & Borge, J. (2002). Acta Cryst. D58, 1820–1825. Web of Science CrossRef CAS IUCr Journals Google Scholar
Noble, M. E. M., Zeelen, J. P., Wierenga, R. K., Mainfroid, V., Goraj, K., Gohimont, A.C. & Martial, J. A. (1993). Acta Cryst. D49, 403–417. CrossRef CAS Web of Science IUCr Journals Google Scholar
Rossmann, M. G. & Arnold, E. (2001). Editors. International Tables for Crystallography, Vol. F, pp. 263–292. Dorderecht: Kluwer Academic Publishers. Google Scholar
Scheringer, C. (1963). Acta Cryst. 16, 546–550. CrossRef CAS IUCr Journals Web of Science Google Scholar
Sheldrick, G. M. (2008). Acta Cryst. A64, 112–122. Web of Science CrossRef CAS IUCr Journals Google Scholar
Sheldrick, G. M. & Schneider, T. R. (1997). Methods Enzymol. 277, 319–343. CrossRef PubMed CAS Web of Science Google Scholar
Sussman, J. L., Holbrook, S. R., Church, G. M. & Kim, S.H. (1977). Acta Cryst. A33, 800–804. CrossRef CAS IUCr Journals Web of Science Google Scholar
Tronrud, D. E. (2004). Acta Cryst. D60, 2156–2168. Web of Science CrossRef CAS IUCr Journals Google Scholar
Urzhumtsev, A. G., Lunin, V. Yu. & Vernoslova, E. A. (1989). J. Appl. Cryst. 22, 500–506. CrossRef CAS Web of Science IUCr Journals Google Scholar
Urzhumtseva, L. M. & Urzhumtsev, A. G. (1997). J. Appl. Cryst. 30, 402–410. CrossRef CAS Web of Science IUCr Journals Google Scholar
Weisstein, E. W. (2006). Euler Angles, https://mathworld.wolfram.com/EulerAngles.html . Google Scholar
Yeates, T. O. & Rees, D. C. (1988). J. Appl. Cryst. 21, 925–928. CrossRef CAS Web of Science IUCr Journals Google Scholar
Yeates, T. O. & Rini, J. M. (1990). Acta Cryst. A46, 352–359. CrossRef CAS Web of Science IUCr Journals Google Scholar
This is an openaccess article distributed under the terms of the Creative Commons Attribution (CCBY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.