research papers
A correction has been published for this article. To view the correction, click here.
Bulk-solvent and overall scaling revisited: faster calculations, improved results
aLawrence Berkeley National Laboratory, One Cyclotron Road, MS64R0121, Berkeley, CA 94720, USA, bDepartment of Bioengineering, University of California, Berkeley, Berkeley, CA 94720, USA, cIGBMC, CNRS–INSERM–UdS, 1 Rue Laurent Fries, BP 10142, 67404 Illkirch, France, and dUniversité de Lorraine: Département de Physique – Nancy 1, BP 239, Faculté des Sciences et des Technologies, 54506 Vandoeuvre-lès-Nancy, France
*Correspondence e-mail: pafonine@lbl.gov
A fast and robust method for determining the parameters for a flat (mask-based) bulk-solvent model and overall scaling in macromolecular crystallographic structure R factors are improved compared with previously implemented approaches. In addition, the new procedure is two orders of magnitude faster, which has a significant impact on the overall runtime of and other applications. An alternative function is also proposed for scaling the bulk-solvent model and it is shown that it outperforms the conventional exponential function. Similarly, alternative methods are presented for anisotropic scaling and their performance is analyzed. All methods are implemented in the Computational Crystallography Toolbox (cctbx) and are used in PHENIX programs.
and other related calculations is described. This method uses analytical expressions for the determination of optimal values for various scale factors. The new approach was tested using nearly all entries in the PDB for which experimental structure factors are available. In general, the resultingKeywords: bulk solvent; scaling; anisotropy; structure refinement; PHENIX.
1. Introduction
Macromolecular crystals typically contain a substantial amount of disordered solvent, ranging from approximately 20 to 90% of the crystal volume, with a mean of 55%, in the Protein Data Bank (PDB; Bernstein et al., 1977; Berman et al., 2000). Anisotropy in the diffracted intensities is another common feature of macromolecular crystals that arises from various sources including vibrations (Shakked, 1983; Sheriff & Hendrickson, 1987). When modelling diffracted intensities, for example in structure or automated model building, it is therefore critical to account for these two phenomena (see, for example, Jiang & Brünger, 1994; Urzhumtsev & Podjarny, 1995; Kostrewa, 1997; Badger, 1997; Urzhumtsev, 2000; Fokine & Urzhumtsev, 2002a; Fenn et al., 2010). The flat bulk-solvent model (Phillips, 1980; Jiang & Brünger, 1994) combined with overall anisotropic scaling in either exponential (Sheriff & Hendrickson, 1987) or polynomial (Usón et al., 1999) forms is a well established and computationally efficient approach. Alternatives have been proposed (Tronrud, 1997; Vassylyev et al., 2007), but are not currently in wide use.
In the commonly used approach, the total
is defined aswhere ktotal is the overall Miller-index-dependent scale factor, Fcalc and Fmask are the structure factors computed from the atomic model and the bulk-solvent mask, respectively, and kmask is a bulk-solvent scale factor. The mask can be computed efficiently using exact asymmetric units as described in Grosse-Kunstleve et al. (2011).
The overall scale factor ktotal can be thought of as the product
where koverall is the overall scale factor and kisotropic and kanisotropic are the isotropic and anisotropic scale factors, respectively.
koverall is a scalar number that can be obtained by minimizing the least-squares residual
where Fobs are the observed structure factors and
The sum is over all reflections. Solving ∂LS/∂koverall = 0 leads to
In the exponential model the anisotropic scale factor is defined as
where Ucryst is the overall anisotropic scale matrix equivalent to U* defined in Grosse-Kunstleve & Adams (2002); st = (h, k, l) is the transpose of the Miller-index column vector s.
Usón et al. (1999) define a polynomial anisotropic scaling function that can be rewritten in matrix notation as follows:
where V0 and V1 are symmetric 3 × 3 matrices, s2 = stG*s and G* is the reciprocal-space Expression (7) is equivalent to the first terms in the Taylor series expansion of the exponential function (6),
with the constant term omitted. The omission of the constant 1 means that kanisotropic is equal to zero for the reflection F000, as follows from (7). Therefore, in this work we modify (7) by adding the constant
The bulk-solvent scale factor is traditionally defined as
where ksol and Bsol are the flat bulk-solvent model parameters (Phillips, 1980; Jiang & Brünger, 1994; Fokine & Urzhumtsev, 2002b).
Depending on the calculation protocol, kisotropic may be assumed to be a part of kanisotropic or it can be assumed to be exponential: kisotropic = exp(−Bs2/4), where B is a scalar parameter. Alternatively, it may be determined as described in §2.3 below.
The determination of the anisotropic scaling parameters (Ucryst or V0 and V1) and the bulk-solvent parameters ksol and Bsol requires the minimization of the target function (3) with respect to these parameters. Despite the apparent simplicity, this task is quite involved owing to a number of numerical issues (Fokine & Urzhumtsev, 2002b; Afonine et al., 2005a). Previously, we have developed a robust and thorough procedure (Afonine et al., 2005a) to address these issues. This procedure is used routinely in PHENIX (Adams et al., 2010). However, owing to its thoroughness the procedure is relatively slow and may account for a significant fraction of the execution time of certain PHENIX applications (for example, phenix.refine).
In this paper, we describe a new procedure which is approximately two orders of magnitude faster than the approach described in Afonine et al. (2005a) and often leads to a better fit of the experimental data. The speed gain is the result of an analytical determination of the optimal bulk-solvent and scaling parameters. The better fit to the experimental data is partially the result of employing a more detailed model for kmask compared with the exponential model in equation (10) and is partially a consequence of the new analytical optimization method. Analytical optimization eliminates the possibility of becoming trapped in local minima, which exists in all iterative local optimization methods, including the procedure used previously.
2. Methods
2.1. Anisotropic scaling: exponential model
To obtain the elements of the anisotropic scaling matrix (6), the minimization of (3) is replaced by the minimization of
For this, we assume that Fobs and |Fmodel| are positive. We also assume that the minima of (3) and (11) are at similar locations. This assumption is not obvious and, as discussed below, may not always hold (see §3.3 and Table 2). Expression (11) can be rewritten as
Here, Z = [1/(2π2)]ln[Fobs(koverallkisotropic|Fcalc + kmaskFmask|)−1]. Defining
and using
the target function determining the optimal Ucryst is
The Ucryst values that minimize (15) are determined from the condition = 0, which gives a system of six linear equations
where M = , V = (h2, k2, l2, 2hk, 2hl, 2kl)t, ⊗ denotes the outer product and b = .
The desired Ucryst matrix is determined by solving the system (16):
Crystal-system-specific symmetry constraints can be incorporated via a constraint matrix (C), which we derive from first principles by solving the system of linear equations RtUR = U for all rotation matrices R of the crystal-system Alternatively, symmetry constraints are often derived manually and tabulated (Nye, 1957; Giacovazzo, 1992). For example, the constraint matrix for the tetragonal is
The number of rows in C determines the number of independent coefficients of Ucryst. Let Uind be the column vector of independent coefficients; the (redundant) set of six coefficients Ucryst is then obtained via
The constraint matrix C is introduced into equations (16) and (17) above as follows:
with MC = , VC = CV, bC = and
2.2. Anisotropic scaling: polynomial model
The polynomial model (Usón et al., 1999) for anisotropic scaling allows the direct use of the residual (3) to find the optimal coefficients for V0 and V1 in equation (9). An advantage of this model is that no assumptions about the similarity of the location of the minima of targets (3) and (11) are required. Conceptually, a disadvantage of equation (9) is that it is only an approximation of equation (6), as was shown above. However, the number of parameters is doubled in equation (9) compared with equation (6), since V0 and V1 are treated independently. The increased number of may therefore compensate for approximation inaccuracies.
Similarly to §2.1, the optimal coefficients for V0 and V1 are determined by the condition ∇VLS = 0 and can be obtained by solving a system of 12 linear equations. We follow the arguments of Usón et al. (1999) for not using symmetry constraints in this case.
2.3. Bulk-solvent parameters and overall isotropic scaling
Defining K = k−2total = (koverallkisotropickanisotropic)−2, the determination of the desired scaling parameters kisotropic and kmask is reduced to minimizing
in resolution bins, where koverall and kanisotropic are fixed. This minimization problem is generally highly overdetermined because the number of reflections per bin is usually much larger than two.
Introducing w = |Fmask|2, v = (Fcalc, Fmask) and u = |Fcalc|2 and substitution into (22) leads to
Minimizing (23) with respect to K and kmask leads to a system of two equations:
Developing these equations with respect to kmask,
and introducing new notations for the coefficients, we obtain
Multiplying the second equation by Y2 and substituting KY2 from the first equation into the new second equation, we obtain a cubic equation
The senior coefficient in (27) satisfies the Cauchy–Schwarz inequality:
Therefore, equation (27) can be rewritten as
and solved using a standard procedure.
The corresponding values of K are obtained by substituting the roots of equation (29) into the first equation in (26):
If no positive root exists kmask is assigned a zero value, which implies the absence of a bulk-solvent contribution. If several roots with kmask ≥ 0 exist then the one that gives the smallest value of LSs(K, kmask) is selected.
If desired, one can fit the right-hand side of expression (10) to the array of kmask values by minimizing the residual
for all kmask > 0. This can be achieved analytically as described in Appendix A. Similarly, one can fit koverallexp(−Boveralls2/4) to the array of K values.
2.4. Presence of twinning
In case of N twin-related domains, the total model intensity is
withwhere αj is the twin fraction of the jth domain, Tj is the corresponding twin operator (a 3 × 3 rotation matrix) and
ktotal includes all scale factors (overall, isotropic and anisotropic). We make the reasonable assumption that ktotal and kmask are identical for all twin domains.
Finding the twin fractions αj can be achieved by solving the minimization problem
with the constraint condition
where I(s) = F2obs and sj = Tjs. This constrained minimization problem can be reformulated as an unconstrained minimization problem by the standard technique of introducing a Lagrange multiplier:
The values {α1, …, αN, λ} that minimize (36) are the solution of the system of N + 1 linear equations with N + 1 variables:
or
The solution of this system is
with the (N + 1) × (N + 1) matrix
and
Here, 1 is a row or column containing N unit elements to complete the matrix M and
The values of ∊ are expected to be between 0 and 1, and λ is proportional to the sum of squared intensities. Therefore, it is numerically beneficial to multiply the λC(α1, …, αN) term in (36) by a constant in order to make the value for λ numerically similar to the values for the twin fractions α.
Once the twin fractions have been found, the procedure described in §2.3 can be used to obtain the overall and bulk-solvent scale factors. Similarly to (23), we can write
where αj are known twin fractions and K and kmask are the scale factors to be determined. Similarly to §2.3, we obtain
Introducing new variables as before for equation (23) leads to
The determination of the twin fractions α and scales ktotal and kmask are iterated several times until convergence. The determination of α does not guarantee that the individual twin fractions αj are in the range 0–1. For any αj outside this range the corresponding is ignored for the current iteration and the new smaller set of twin fractions and scales are redetermined. However, in the next iteration the full set of α is tried again.
3. Results
3.1. Implementation of the new protocol
The scale factors involved in the calculation of Fmodel according to equation (1) are highly correlated. Therefore, the order of their determination is important. Empirically, we found that the determination of kisotropic and kmask followed by the determination of kanisotropic works optimally in most cases. The determination of (kmask, kisotropic) and kanisotropic is repeated several times until the R factor decreases by less than 0.01% between cycles. The number of cycles required to reach convergence is typically between 1 and 5.
To determine kanisotropic, our protocol can make use of three available scaling methods: polynomial (poly; §2.2), exponential with analytical calculation of the optimal parameters (expanal; §2.1) and exponential with the optimal parameters obtained via L-BFGS (Liu & Nocedal, 1989) minimization (expmin; Afonine et al., 2005a). The three methods can be tested independently, in which case the result with the lowest R factor is accepted. However, because expmin is up to an order of magnitude slower than the other two methods it is not expected to be used routinely.
The calculation of kisotropic and kmask requires dividing the data into resolution bins (§3.2). If oscillation of kmask between bins occurs, smoothening (Savitzky & Golay, 1964) is applied to the bin-wise determined values of kmask such that it reduces the oscillations without altering the monotonic behavior of kmask as a function of resolution (see Fig. 1). Finally, the smoothed values are assigned to individual reflections using linear interpolation. The kisotropic scales are updated using equation (5) in order to account for the changed kmask.
As illustrated in §3.2, the minimum of the R-factor function
and the minimum of the least-squares function (22) can be at significantly different locations in the (kmask, kisotropic) parameter space. To assure that the final (kmask, kisotropic) values correspond to the lowest R factor, a fast grid search is performed around the optimal values of the least-squares function.
3.2. Binning
The goal of binning is to group data by common features to characterize each group by a set of common parameters. Here, the key parameter is the resolution d of reflections. Binning schemes with bins containing an approximately equal number of reflections (i.e. the resolution range is uniformly sampled in d−3) or a predefined number of bins are typically used. Since the low-resolution region of the data is sparse, such binning schemes tend to produce only one or very few low-resolution bins, which is insufficient to best model the bulk-solvent contribution. Unfortunately, decreasing the number of reflections per bin will disproportionally increase the number of bins (Nbins) at higher resolution and may still provide insufficient detail for the low-resolution data (Table 1).
|
An alternative approach which divides the resolution range uniformly on a logarithmic scale ln(d) (Urzhumtsev et al., 2009) efficiently solves this problem. The flowchart of the algorithm is shown in Fig. 2. This scheme allows the higher resolution bins to contain more reflections than the lower resolution bins and more detailed binning at low resolution without increasing the total number of bins. An additional reason for using logarithmic binning is that the dependence of the scales on resolution is approximately exponential (see previous sections), which makes the variation of scale factors more uniform between bins when a logarithmic binning algorithm is used. Table 1 compares binning performed uniformly in d−3 and in ln(d) spacing for three data sets (PDB entries 3hay , 1kwn and 3gk8 ). Note the data completeness of the low-resolution bins.
3.3. Systematic tests
We evaluated the performance of the new scaling protocol by applying it to approximately 40 000 data sets selected from the PDB. The structures were selected by evaluating all PDB entries using phenix.model_vs_data (Afonine et al., 2010) and excluding all entries for which the recalculated Rwork was greater than the published value by five percentage points.
To score the test results three crystallographic R factors (46) were computed using all reflections, using only low-resolution reflections and using only high-resolution reflections. Low-resolution reflections were selected using the condition dmin > 8 Å but selecting at least the 500 lowest resolution reflections. High-resolution reflections were taken from the highest resolution bin. Each of the three anisotropic scaling methods (poly, expanal and expmin) was tested independently within each run. Additionally, two other tests were performed: one combining poly and expanal as described in §3.1 (referred to as poly+expanal) and the other using the protocol of Afonine et al. (2005a) (referred to as old).
Fig. 3 shows a comparison of the alternative methods for determining kanisotropic (see §3.1). Comparing the polynomial model (poly) versus the analytical exponential model (expanal), with a few minor exceptions poly results in slightly lower R factors overall and for the low-resolution reflections, while expanal results in lower R factors for the high-resolution reflections. Comparing poly versus the original exponential model using minimization (expmin), the R factors are very similar overall and for the high-resolution reflections, while poly often results in lower R factors for the low-resolution reflections. Comparing the two different exponential models, expmin results in lower R factors overall and nearly identical results for low-resolution reflections, but expanal results in lower R factors for the high-resolution reflections. Fig. 4 compares the new protocol combining poly and expanal with the old protocol. With very few exceptions, the new protocol performs better for all three resolution groups.
As described above, occasionally the minima of the R-factor function (46) and the LS function (22) are at significantly different locations in the (kmask, kisotropic) parameter space (see Fig. 5). For example, considering kisotropic to be a single-value scalar the pair (kmask, kisotropic) that minimizes the R factor in the low-resolution range of PDB data set 1kwn is (0.2913, 0.0961), while the pair (0.3218, 0.0863) minimizes the LS function. The corresponding R factors are 0.3073 and 0.3372, respectively. The data for PDB entry 1hqw lead to an even more dramatic difference, in which the pairs (kmask, kisotropic) that minimize the R factor and the LS function are (0.25, 0.0131) and (0.6166, 0.0151), respectively, and the corresponding R factors are 0.2924 and 0.5046. We made a similar observation for the overall anisotropic scale kanisotropic, as illustrated in Table 2. For this, the best values for Ucryst were determined via a systematic search for the minima of the functions (3), (11) and (46) for three combinations of structures and high-resolution cutoffs. Note the difference in the optimal Ucryst values and the corresponding R factors.
|
The parameterization of the total model does not make any assumption about the shape of kmask; for example, it does not assume it to be exponential (10). This provides an opportunity to explore the behavior of kmask as a function of resolution and compare it with kmask obtained via (10). Fig. 6 illustrates the differences between the two methods of determining kmask for six representative PDB entries selected from approximately 40 000 entries after inspection of the kmask values. We observe that the plots of the values obtained using our new approach are in general significantly different from the exponential function. This observation is in line with Fig. 1 of Urzhumtsev & Podjarny (1995).
(1)At very low resolution the structure factors computed from the atomic model are approximately anticorrelated to the structure factors computed from the bulk-solvent mask:
Here, p is a scale factor (Urzhumtsev & Podjarny, 1995). Relation (47) is the basis for alternative bulk-solvent scaling methods that employ the Babinet principle (Moews & Kretsinger, 1975; Tronrud, 1997). Substitution of relation (47) into equation (1) yields
Obviously, Fmodel is invariant for any combination of scale factors ktotal and kmask satisfying the condition
Since our new scaling procedure determines kmask and kisotropic (which are part of ktotal) simultaneously, without imposing constraints on their values, these scale factors may assume unusual values in the low-resolution range. However, we observe that in practice this only happens for a very small number of the test cases.
4. Discussion
A new method for overall anisotropic and bulk-solvent scaling of macromolecular crystallographic diffraction data has been developed which is an improvement over the existing algorithm of flat (mask-based) bulk-solvent modeling and overall anisotropic scaling, versions of which are routinely used in various CNS (Brunger, 2007), REFMAC (Murshudov et al., 2011) and phenix.refine (Afonine et al., 2012). In the process of developing this method, we concluded that the bulk-solvent scale factor kmask deviates quite significantly from the exponential model that has traditionally been used. This new method is approximately two orders of magnitude faster than the previous implementation and yields similar or often better R factors. Table 3 compares runtimes for a number of selected cases covering a broad range of resolutions and atomic model sizes. Therefore, the computational speed of the new method makes it possible to robustly compute bulk-solvent and anisotropic scaling parameters even as part of semi-interactive procedures.
packages such as
|
An inherent feature of the mask-based bulk-solvent model is that it relies on the existing atomic model to compute the mask. This in turn implies that any unmodeled (as atoms) parts of the et al., 2000). In the future, improved maps may be obtained by combining this latter approach with the new fast overall anisotropic and bulk-solvent scaling method that we have presented.
are considered to belong to the bulk-solvent region. This may obscure weakly pronounced features in residual maps such as partially occupied solvent or ligands. This is common to all mask-based bulk-solvent modeling methods, leading to the development of algorithms to account for missing atoms (RoversiThe new method is implemented in the cctbx project (Grosse-Kunstleve et al., 2002) and is used in a number of PHENIX applications since v.1.8 of the software, most notably phenix.refine (Afonine et al., 2005b, 2012), phenix.maps and phenix.model_vs_data (Afonine et al., 2010). The cctbx project is available at https://cctbx.sourceforge.net under an open-source license. The PHENIX software is available at https://www.phenix-online.org .
All results presented are based on PHENIX v.1.8.1.
APPENDIX A
Analytical derivation of a one-Gaussian approximation of a one-dimensional discrete data set
Our goal is to approximate a set of data points {Y(x)}Nj = 1 with a Gaussian function,
For this, we use the standard approach of minimizing a least-squares (LS) function,
If Y(xj) ≥ 0 ∀ xj, j = 1, N, the minimization of LS can be replaced by the minimization of
The minimum of this LSL function can be determined analytically,
Defining u = ln(a), vj = xj2, dj = ln[Y(xj)], we obtain
The variables {a, b} minimizing the LSL function are determined by the condition
This leads to
and
Defining p = , q = , r = and s = , we obtain
and
From this, we obtain
and finally
Acknowledgements
The authors thank the NIH (grant GM063210) and the PHENIX Industrial Consortium for support of the PHENIX project. This work was supported in part by the US Department of Energy under Contract No. DE-AC02-05CH11231.
References
Adams, P. D. et al. (2010). Acta Cryst. D66, 213–221. Web of Science CrossRef CAS IUCr Journals Google Scholar
Afonine, P. V., Grosse-Kunstleve, R. W. & Adams, P. D. (2005a). Acta Cryst. D61, 850–855. Web of Science CrossRef CAS IUCr Journals Google Scholar
Afonine, P. V., Grosse-Kunstleve, R. W. & Adams, P. D. (2005b). CCP4 Newsl. Protein Crystallogr. 42, contribution 8. Google Scholar
Afonine, P. V., Grosse-Kunstleve, R. W., Chen, V. B., Headd, J. J., Moriarty, N. W., Richardson, J. S., Richardson, D. C., Urzhumtsev, A., Zwart, P. H. & Adams, P. D. (2010). J. Appl. Cryst. 43, 669–676. Web of Science CrossRef CAS IUCr Journals Google Scholar
Afonine, P. V., Grosse-Kunstleve, R. W., Echols, N., Headd, J. J., Moriarty, N. W., Mustyakimov, M., Terwilliger, T. C., Urzhumtsev, A., Zwart, P. H. & Adams, P. D. (2012). Acta Cryst. D68, 352–367. 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., Shindyalov, I. N. & Bourne, P. E. (2000). Nucleic Acids Res. 28, 235–242. Web of Science CrossRef PubMed CAS Google Scholar
Bernstein, F. C., Koetzle, T. F., Williams, G. J., Meyer, E. F., Brice, M. D., Rodgers, J. R., Kennard, O., Shimanouchi, T. & Tasumi, M. (1977). J. Mol. Biol. 112, 535–542. CrossRef CAS PubMed Web of Science Google Scholar
Brunger, A. T. (2007). Nature Protoc. 2, 2728–2733. Web of Science CrossRef CAS Google Scholar
Fenn, T. D., Schnieders, M. J. & Brunger, A. T. (2010). Acta Cryst. D66, 1024–1031. Web of Science CrossRef CAS IUCr Journals Google Scholar
Fokine, A. & Urzhumtsev, A. (2002a). Acta Cryst. A58, 72–74. Web of Science CrossRef CAS IUCr Journals Google Scholar
Fokine, A. & Urzhumtsev, A. (2002b). Acta Cryst. D58, 1387–1392. Web of Science CrossRef CAS IUCr Journals Google Scholar
Giacovazzo, C. (1992). Fundamentals of Crystallography. Oxford University Press. Google Scholar
Grosse-Kunstleve, R. W. & Adams, P. D. (2002). J. Appl. Cryst. 35, 477–480. Web of Science CrossRef CAS IUCr Journals Google Scholar
Grosse-Kunstleve, R. W., Sauter, N. K., Moriarty, N. W. & Adams, P. D. (2002). J. Appl. Cryst. 35, 126–136. Web of Science CrossRef CAS IUCr Journals Google Scholar
Grosse-Kunstleve, R. W., Wong, B., Mustyakimov, M. & Adams, P. D. (2011). Acta Cryst. A67, 269–275. Web of Science CrossRef IUCr Journals Google Scholar
Jiang, J. S. & Brünger, A. T. (1994). J. Mol. Biol. 243, 100–115. CrossRef CAS PubMed Web of Science Google Scholar
Kostrewa, D. (1997). CCP4 Newsl. Protein Crystallogr. 34, 9–22. Google Scholar
Liu, D. C. & Nocedal, J. (1989). Math. Program. 45, 503–528. CrossRef Web of Science Google Scholar
Moews, P. C. & Kretsinger, R. H. (1975). J. Mol. Biol. 91, 201–225. CrossRef PubMed CAS Web of Science Google Scholar
Murshudov, G. N., Skubák, P., Lebedev, A. A., Pannu, N. S., Steiner, R. A., Nicholls, R. A., Winn, M. D., Long, F. & Vagin, A. A. (2011). Acta Cryst. D67, 355–367. Web of Science CrossRef CAS IUCr Journals Google Scholar
Nye, J. F. (1957). Physical Properties of Crystals. Oxford: Clarendon Press. Google Scholar
Phillips, S. E. (1980). J. Mol. Biol. 142, 531–554. CrossRef CAS PubMed Web of Science Google Scholar
Roversi, P., Blanc, E., Vonrhein, C., Evans, G. & Bricogne, G. (2000). Acta Cryst. D56, 1316–1323. Web of Science CrossRef CAS IUCr Journals Google Scholar
Savitzky, A. & Golay, M. J. E. (1964). Anal. Chem. 36, 1627–1639. CrossRef CAS Web of Science Google Scholar
Shakked, Z. (1983). Acta Cryst. A39, 278–279. CrossRef CAS Web of Science IUCr Journals Google Scholar
Sheriff, S. & Hendrickson, W. A. (1987). Acta Cryst. A43, 118–121. CrossRef CAS Web of Science IUCr Journals Google Scholar
Tronrud, D. E. (1997). Methods Enzymol. 277, 306–319. CrossRef CAS PubMed Web of Science Google Scholar
Urzhumtsev, A. G. (2000). CCP4 Newsl. Protein Crystallogr. 38, 38–49. Google Scholar
Urzhumtsev, A., Afonine, P. V. & Adams, P. D. (2009). Acta Cryst. D65, 1283–1291. Web of Science CrossRef CAS IUCr Journals Google Scholar
Urzhumtsev, A. G. & Podjarny, A. D. (1995). Jnt CCP4/ESF–EACMB Newsl. Protein Crystallogr. 31, 12–16. Google Scholar
Usón, I., Pohl, E., Schneider, T. R., Dauter, Z., Schmidt, A., Fritz, H. J. & Sheldrick, G. M. (1999). Acta Cryst. D55, 1158–1167. Web of Science CrossRef IUCr Journals Google Scholar
Vassylyev, D. G., Vassylyeva, M. N., Perederina, A., Tahirov, T. H. & Artsimovitch, I. (2007). Nature (London), 448, 157–162. Web of Science CrossRef PubMed CAS Google Scholar
This is an open-access article distributed under the terms of the Creative Commons Attribution (CC-BY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.