<<

research papers

Acta Crystallographica Section D Biological Coot: model-building tools for molecular graphics Crystallography ISSN 0907-4449

Paul Emsley* and Kevin Cowtan CCP4mg is a project that aims to provide a general-purpose Received 26 February 2004 tool for structural biologists, providing tools for X-ray Accepted 4 August 2004 structure solution, structure comparison and analysis, and York Laboratory, University of York, Heslington, York YO10 5YW, England publication-quality graphics. The -®tting tools are avail- able as a stand-alone package, distributed as `Coot'.

Correspondence e-mail: [email protected] 1. Introduction Molecular graphics still plays an important role in the deter- mination of structures using X-ray crystallographic data, despite on-going efforts to automate model building. Functions such as side-chain placement, loop, and fragment ®tting, structure comparison, analysis and validation are routinely performed using molecular graphics. Lower Ê resolution (dmin worse than 2.5 A) data in particular need interactive ®tting. The introduction of FRODO (Jones, 1978) and then O (Jones et al., 1991) to the ®eld of protein crystallography was in each case revolutionary, each in their time breaking new ground in demonstrating what was possible with the current hardware. These tools allowed protein crystallographers to enjoy what is widely held to be the most thrilling part of their work: giving birth (as it were) to a new protein structure. The CCP4 program suite (Collaborative Computational Project, Number 4, 1994) is an integrated collection of software for macromolecular crystallography, with a scope ranging from data processing to structure re®nement and validation. Until recently, molecular graphics had not been part of the suite. With the recent computational and graphical performance of relatively cheap hardware, the time had arrived for CCP4to provide graphical functionality for knowledge-based (semi-)- automatic building using powerful modern languages in a ¯exible extendible package. CCP4mg (Potterton et al., 2004) is an initiative by CCP4 to provide libraries and a molecular graphics application that is a popular system for represent- ation, modelling, structure determination, analysis and validation. The aim is to provide a system that is easy to use and a platform for developers who wish to integrate macro- molecular computation with a molecular-graphics interface. There are several modules to such graphical functionality; the protein model-building/map-®tting tools described here are only a part. These tools are available as a stand-alone software package, Coot. A map-®tting program has to provide certain functionality, which is not required by a molecular-display program. These functions include symmetry coordinates, electron-density map contouring and the ability to move the coordinates in various

# 2004 International Union of Crystallography ways, such as model idealization or according to side-chain Printed in Denmark ± all rights reserved rotamer probabilities.

2126 doi:10.1107/S0907444904019158 Acta Cryst. (2004). D60, 2126±2132 research papers

The map-®tting and model-building functions described 2.3. Interface to REFMAC here have a functionality broadly similar to that of programs On reading an MTZ ®le one can optionally assign para- such as O, Xtalview from X®t (McRee, 1999) or QUANTA meters for running REFMAC (Murshudov et al., 1997). (Accelrys, San Diego, CA, USA). However, in the spirit of the REFMAC is a program of the CCP4 suite for maximum- CCP4 program suite, it is possible for others to read and likelihood-based macromolecular re®nement. After a period modify the program. of interactive model building, the user can choose to use Coot attempts (generally speaking) to provide more trans- REFMAC to re®ne the current coordinates (in combination parency, ease of use, better extendability, (semi-)automated with MTZ parameters). Coot blocks until REFMAC has model-building methods and convenient integration with terminated and then automatically reads the newly generated programs of the CCP4 suite. (re®ned) coordinates and MTZ ®le, from which a map is generated (and displayed).

2. Program functions 2.4. Rigid-body refinement Coot has been substantially built around two major libraries: Clipper library functions provide easy access to the map mmdb (Krissinel et al., 2004), a library for the handling of gradients. For a selected coordinate set, the map gradients at macromolecular coordinates, and Clipper (Cowtan, 2002, the centres are averaged. A shift is applied (to all the 2003), a library for crystallographic objects and computation selected ) that is some simple fraction of the average thereof. The various functions of Coot are split into `stand- gradient. The rotational component of the rigid-body re®ne- alone' classes in the sense that an attempt has been made to ment is generated in the following manner: the rotations to be minimize the dependence of the classes on anything other calculated ( x, y and z) are (small) rotations around the than the above libraries. With portability in mind, special coordinate axes, the centre of rotation (V) being the centre of effort was made not to introduce GUI dependences into the the rotating atoms. Let V be the projection on to the XY pi interface to Coot's library of tools. plane of the vector between the position of atom i and V, the Coot is event-driven; functions are only run as a result of unit vector being V . The dot product of the gradient with V pi pi user action (typically moving or clicking the mouse). provides dV . pi The required anglec is arctan dV = V . These angles arec pi available for each atom and they are averagedj j† to obtain three 2.1. Symmetry perpendicular rotations: x, y and z. These angle transfor- Coordinate symmetry is recomputed and redisplayed at mations are applied to the coordinates. The application of every recentre event. For each for which the user transformations continues until the average shift length is less wishes to display symmetry, symmetry atoms are displayed than 0.0005 AÊ . within a particular distance criterion of the display centre. By This is a reasonable approach for much of a protein's using a set of pre-computed guide points that mark the extents structure, but could behave badly where there is a combina- of the molecule and applying the symmetry operators and cell tion of relatively heavy and light atoms, such as sulfates or shifts to these guide points, a set of operator indexes and cell methionines. This problem could be countered by weighting shifts are generated that may contain symmetry-related atoms the atom-density score by the atomic weight. close to the screen centre (where `close' is de®ned by a user- settable parameter). For each of these sets, all atoms in the 2.5. Rotamers molecule are transformed and a check is made for each to see The rotamer library used in Coot is the backbone- if it is within the symmetry display radius of the position at the independent library of Dunbrack & Cohen (1997). It is formed centre of the screen. Thus, symmetry is kept current and from a reasonably large sample set (850 chains), is reasonably relevant to the current display centre. up to date (May 2002) and provides a more accurate estima- tion of the population of rare rotamers. 2.2. The Coot function `Auto-®t Rotamer' takes a set of most likely rotamers for a particular side chain and generates Because Coot is based on the Clipper libraries, it is easy to coordinates for each rotamer. Each test rotamer is then rigid- generate by reading a ®le of structure factors that body re®ned and the ®nal position is scored according to the contain phase information (typically an MTZ ®le). Density is ®t to the density (the residue's backbone atoms are included in not limited to any particular part of the unit cell; the relevant the set of re®ned atoms). The best ®t rotamer is chosen and symmetry-related density is generated (and then contoured) replaces the previous coordinates. automatically using Clipper functionality. The electron- density maps can be simply recontoured (provoked by script or keyboard or mouse events) at a different level using a 2.6. Regularization and refinement predetermined increment. Every map (displayed or un- Molecular-graphics model building requires the ability to displayed) is regenerated and contoured: this process is not regularize (`idealize') the coordinates of the model. In order to optimally fast but simpli®es the user interface. do so, the ideal values of the geometry of the

Acta Cryst. (2004). D60, 2126±2132 Emsley & Cowtan  Model-building tools for molecular graphics 2127 research papers should be known. These ideal values can come in various position is determined from the mean position of the grid forms. The interface in Coot reads the mmCIF dictionaries of coordinates of the cluster. This position is then optimized by REFMAC, which de®ne idea values and estimated standard re®ning the position to the local maximum as determined by deviations for bond lengths, angles, torsions planes and chiral cubic interpolation of the map. A map sphericity test is then centres. Coot uses the Polak±Ribiere variant of the BFGS applied; the variance of the cubic interpolated electron density (Broyden±Fletcher±Goldfarb±Shanno) conjugate-gradient at points 0.3, 0.6 and 0.9 AÊ from the local maximum in positive multi-variable function minimizer to optimize the coordinates. and negative offsets along the x, y and z axes are determined. The analytical gradient derivations are described in The variances are summed and must be lower than a user- 2 6 Appendix A. changeable cutoff (default 0.07 e AÊ ). The successful posi- 2.6.1. Fitting to the map. As described above, the map tions are then compared with the coordinates of the protein's gradients are provided by a Clipper function. These map O and N atoms. If the distance is between user-changeable gradients (at the positions of the atom centres) are simply criteria (default 2.4±3.4 AÊ ) then the position is accepted as a multiplied by a (user-changeable) scaling factor and added to solvent O atom and (optionally) added to the protein model. the geometric terms to de®ne the target function (this is called `Re®nement' in Coot). 2.8. Add terminal residue Given the selection of a terminal residue (which also could 2.7. Finding merely be the start of a gap of unplaced residues), two residue- type independent randomly selected '/ pairs are made from A map can be masked by a set of coordinates (typically Clipper's Ramachandran distribution of '/ pairs. These those of the currently determined atoms of the protein angles are used to generate positions of C, C , O and N main- model). This approach leaves a map that has positive density chain atoms for the neighbouring two residues using the at places where there are no atoms to represent that density peptide geometry. This set of atoms then undergo rigid-body (similar, in fact, to an F F map). This masked map is o c re®nement to optimize the ®t to the map. The score of the ®t searched for `clusters' of density above a particular level. The and the positions of the atoms are recorded. This procedure is clustering of the grid points of the asymmetric unit into then repeated a number of times (by default 100). The main- potential ligand sites is performed conveniently using a chain atoms of the neighbouring residue's best-®t atoms are recursive neighbour search of the map. The clusters are sorted then offered as a position of the neighbouring residue (the according to size and electron-density value. Eigenvalues and atoms of the next neighbouring residue are discarded). eigenvectors are calculated for each cluster of grid points.

Similarly, the eigenvalues and eigenvectors of the search a ligands (there can of course be just one search ligand) are 2.9. Skeletonization and C building computed (the parameters being the positions of the atom Coot uses a Clipper map to generate and store the skeleton. centres). The eigenvalues of the ligands are compared with the This approach is convenient because, like electron-density eigenvalues of each of the electron-density clusters and if they maps, the skeleton can be displayed `on the ¯y' anywhere in are suf®ciently similar the ligand is placed into the cluster by the crystal (i.e. it is not limited to a precalculated region). The matching the centre of the test ligand and the centre of the Clipper skeletonization algorithm is similar to that employed cluster. The ligand is oriented in each of the four different in DM from CCP4 (Cowtan, 1994). A skeleton `bond' (bone) orientations that provide coinciding eigenvectors and then is drawn between neighbouring map grid points if both parts rigid-body re®ned and scored. The score is simply the sum of are marked as skeleton points. the electron density at the atom centres. The score at each site The skeleton can be further trimmed by recursive tip for each different ligand is compared and the best ®t (highest removal (a tip being a grid point with one or zero neighbours). score with suf®cient fraction of atoms in positive density after This process removes side chains and, potentially, parts of the the rigid-body re®nement) is chosen. This last check ensures termini, but provides an easy means of identifying the fold and that oversized ligands are not ®tted into small clusters. non-crystallographic symmetry. 2.7.1. Flexible ligands. Instead of having a series of Like some validation (Kleywegt, 1997) and other attempts different ligand compounds, the search ligands can be gener- at automated model building (Morris et al., 2002; Old®eld & ated from a single ligand that has rotatable bonds. The ligand Hubbard, 1994; Old®eld, 2001), a likelihood distribution for dictionary provides a description of the geometry of the ligand the pseudo-torsion angle C (n)ÐC (n + 1)ÐC (n + 2)Ð including torsions. These torsions are randomly sampled for a C (n +3)versus the angle C (n + 1)ÐC (n + 2)ÐC (n +3) number of trials (by default 1000) to provide coordinates that has been generated from high-resolution structures in the can be checked against the potential ligand sites as described PDB (Berman et al., 2000) (Fig. 1). Once at least three C above. An enhancement would be to allow the determination atoms have been placed, this is used as prior knowledge in the of the number of trials to depend on the number of torsions. placement of the next C position in the following manner. 2.7.2. Finding water . The electron density is Skeleton points between 2.4 and 3.4 AÊ from the current C clustered as described for ligands. For clusters that have a position (which has an associated nearby skeleton point) are volume below a certain upper limit (4.2 AÊ 3, which stops water selected. These skeleton points are tested for direct connec- molecules being placed in multi-atom ligand sites) a starting tivity to the current skeleton point. Skeleton points that are

2128 Emsley & Cowtan  Model-building tools for molecular graphics Acta Cryst. (2004). D60, 2126±2132 research papers

C coordinates are converted to main-chain coordinates in a manner similar to that previously described (Jones & Thirup, 1986; Esnouf, 1997).

APPENDIX A Regularization and refinement derivatives The function that we are trying to minimize is S, where S S S S S : ˆ bond ‡ angle ‡ torsion ‡ plane Let us take these four parts in turn.

A1. Bonds

Nbonds S b b 2; bond i 0i ˆ i 1 † ˆ P where b is the ideal length (from the dictionary) of the ith 0i bond, bi is the bond vector and bi is its length. @S @S @b @b i i i 2 b b i ; i 0i Figure 1 @xm ˆ @bi @xm ˆ‰ †Š @xm C pseudo-torsion angle versus opening angle for in the PDB used in the likelihood assignment of potential C positions. b x x 2 y y 2 z z 2 1=2: i ˆ‰ m k† ‡ m k† ‡ m k† Š Therefore directly connected are assigned a score of 100; those that are unconnected are assigned a score of 0.1. For each selected @bi 1 1 xm xk skeleton point, a test point is then generated 3.8 AÊ from the 2 xm xk † @xm ˆ 2 bi †ˆ bi current C position in the direction of skeleton point. A C  pseudo-torsion angle and angle pair are generated from the and position of the test point, the current C position and the two @S x x previously assigned C positions. This pseudo-torsion angle i 2 b b m k† : @x ˆ ‰ i 01 Š b and angle pair are used to generate a score by looking up the m i value in the internal representation of Fig. 1 using cubic interpolation. This value is combined with the skeleton-based score for this particular test point. This procedure is then A2. Angles repeated in a `look-ahead' manner, assuming that the test We are trying to minimize S , where (for simplicity, the angle point is a member of the set of four C positions generating weights have been omitted) the C pseudo-torsion/angle pair. The most likely solution for the look-ahead is combined with the score for the current test Nangles S   2: angle i 0i point. The test points are then sorted by combined score and ˆ i 1 † ˆ interactively offered as potential positions for the next C P atom, the positions with the best score being offered ®rst. Angle  is contributed to by atoms k, l and m: Occasionally (usually as a result of a positional error in the cos  a b = ab ; current C position), 3.8 AÊ is the wrong distance to the next ˆ Á † † correct C position; thus the user is allowed to change the where a is the bond of atoms k and l [(xk xl), (yk yl), length to something other than 3.8 AÊ . (zk zl)] and b is the bond of atoms l and m [(xm xl), The depth of the look-ahead in the current implementation (ym yl), (zm zl)]. Note that the vectors point away from the is at level 1 but could trivially be extended (in tests, a level 2 middle atom l. look-ahead was better but took too long to be considered Therefore, pleasantly interactive).  a cos P ; 1 This algorithm has room for improvement: for example, by ˆ † † considering the value of the density at the test point and along where the C pseudo-bond, one-third and two-thirds of the way P a b = ab : along the bond (corresponding to positions that are close to ˆ Á † † the peptide C and N atoms; Old®eld, 2003). Using the chain rule,

Acta Cryst. (2004). D60, 2126±2132 Emsley & Cowtan  Model-building tools for molecular graphics 2129 research papers

@ @ @P : 2 A4. Angles: an end atom (atoms k or m) @xk ˆ @P @xk † This case is simpler because there are no cross-terms in Given that we are only interested in  in the range 0 , @R=@xk and @Q=@xk. ! @ 1 @R xk xl : 3 † : @P ˆsin  † @xk ˆ ab Again using the chain rule, and @P @R @Q @Q Q R ; 4 xm xl ; @xk ˆ @xk ‡ @xk † @xk ˆ † where and so Q a b; 5 @ 1 x x x x ˆ Á † l k† cos  m l : 8 @x ˆsin  a2 ‡ ab † k  R 1= ab : 6 ˆ † † A5. Torsion angles

A3. Angles: the middle atom The torsion angle is the angle between a b and b c (Fig. 2) and this can be written as   A middle atom is somewhat more tricky than an end atom because the derivatives of ab and a b are not so trivial. Let us arctan a b^ c = a c a b^ b^ c ; 9 change the indexing so that we areÁ actually talking about the Á  † Á ‡ Á † Á † † where b^ is a unitÈÉ vector in theÂà direction of b, b^ b=b. middle atom, l. ˆ Differentiating (6) gives This de®nition of the torsion angle is used rather than the more common de®nition, which uses three cross-products, @R 1 @a 1 @b because our version and its derivatives are faster to calculate. 2 b 2 a : 7 @xl ˆ ab @xl ab @xl † Let us split the expression up into tractable portions; the † † evaluation of  in the program will combine these expressions, @a=@x here is exactly the same as for bonds, l starting at the end (the most simple). @a xl xk From the primatives, : @x ˆ a l a P P ; b P P ; c P P ; x 2x 1x x 3x 2x x 4x 3x Similarly, ˆ ˆ ˆ a P P ; b P P ; c P P ; @b x x y 2y 1y y 3y 2y y 4y 3y l m : ˆ ˆ ˆ @xl ˆ a az P2 P1 ; bz P3 P2 ; cz P4 P3 ; Therefore, substituting these equations into (7) gives ˆ z z ˆ z z ˆ z z @R x x x x  arctan D ; l k l m : ˆ † @x a3b ab3 l ˆ where Turning to Q, recall (5); therefore a b c =b D Á  † : Q x x x x y y y y ˆ a c a b b c =b2 ˆ k l† m l†‡ k l† m l† Á ‡ Á † Á † z z z z ‡ k l† m l† So and hence à @Q xk xl xm xl : @xl ˆ † † Substituting all the above into (4) gives @P x x x x x x x x a b l k l m k l m l 3 3 † † : @xl ˆ Á † a b ab ‡ ab  Combining this expression and (3) into (2) we obtain @ 1 @P : @xl ˆ sin  @xl Figure 2 Nomenclature used for torsion angles.

2130 Emsley & Cowtan  Model-building tools for molecular graphics Acta Cryst. (2004). D60, 2126±2132 research papers

@ @ @D @L 2 x x 2 x x ; 10 P3 P2 P3 P2 † 3 4 : @xP ˆ @D @xP † @x b b b 1 1 P3 ˆ ˆ The derivative with respect to x has the opposite sign. @ 1 @D P2 : 11 Notice that involves only atoms P and P , so that the @x 1 D2 @x b 2 3 P1 ˆ P1 † ‡ derivates of L with respect to the P1 and P4 coordinates are Let zero. E a b c =b; ˆ Á  † A6. Torsion angles: @E/@x terms 1 Recall that F a c a b b c =b ; ˆ‰ŠÁ ‡ Á † Á † E a b c =b: F 1=G; 12 ˆ Á  † ˆ † Let G a c a b b c =b2; M a b c ; ˆ Á ‡ Á † Á † ˆ Á  † i.e. H a c; ˆ Á E M=b: J a b; ˆ ˆ Á Differentiating gives K b c; @E M @b 1 @M ˆ Á ; @x b2 @x b @x P3 ˆ P3 ‡ P3 L 1=b2: ˆ where, as for bonds, Differentiating (12) gives @b x x P3 P2 : @F 1 @G @x b P3 ˆ 2 : @xP ˆG @xP 1 1 However, note again that the derivative of b is zero for atoms

Substituting for the derivative in (10), P1 and P4, i.e. for atoms P2 and P3 @E M x x 1 @M @ 1 @E @F P3 P2 † F E : 3 ; @x ˆ 1 D2 @x ‡ @x @xP ˆ b ‡ b @xP P1 ‡ P1 P1 ! 3 3 We also have but for atoms P1 and P4 @E 1 @M G H JKL: ; ˆ ‡ @xP ˆ b @xP Differentiating this gives 1 1

@G @H @K @J @L M ax bycz bzcy ay bzcx bxcz az bxcy bycx : JL KL JK : ˆ †‡ †‡ † @x ˆ @x ‡ @x ‡ @x ‡ @x P1 P1 P1 P1 P1 So here are the primitives of M a b c ˆ Á  † The H, J, K and L derivatives are @M b c b c ; @x ˆ y z z y† H a c a c a b a c ; P1 ˆ Á ˆ x x y y z z @H @H @H @H @M bycz bzcy aycz azcy ; cx; cx; ax; ax; @x ˆ †‡ † @x @x @x @x P2 P1 ˆ P2 ˆ P3 ˆ P4 ˆ @K @K @K 0; cx; cx bx; @M @x @x @x azcy aycz byaz bzay ; P1 ˆ P2 ˆ P3 ˆ ‡ @xP ˆ †‡ † @K @J @J 3 b ; b ; b a ; @x ˆ x @x ˆ x @x ˆ x x @M P4 P1 P2 a b a b ; @J @J @x y z z y P4 ˆ † ax; 0: @xP ˆ @xP ˆ 3 4 @M b c b c ; The @b=@x terms are just like the bond derivatives, @y z x x z P1 ˆ † @L @L @b ; @M @xP ˆ @b @xP 1 1 bzcx bxcz azcx axcz ; @yP ˆ †‡ † i.e. 2

Acta Cryst. (2004). D60, 2126±2132 Emsley & Cowtan  Model-building tools for molecular graphics 2131 research papers

@M ax by cz d a c a c b a b a ; Recall the equation of a plane: + + + = 0. Firstly, @y z x x z z x x z the centres of the sets of atoms, x , y , z , are determined. P3 ˆ †‡ † cen cen cen The plane is moved so that it crosses the origin and therefore @M d = 0 (it is moved back later). The problem then involves three b a b a ; @y z x x z equations, three unknowns and an eigenvalue problem, with P4 ˆ † the smallest eigenvalue corresponding to the best-®t plane. @M The least-squares planes of the plane restraints are recal- b c b c ; @z x y y x culated at every iteration. P1 ˆ † The authors thank Garib Murshudov, Eleanor J. Dodson, @M b c b c a c a c ; Jack Quine and the many Coot testers. KC is supported by The @z x y y x x y y x P2 ˆ †‡ † Royal Society (grant No. 003R05674). PE is funded by BBSRC grant No. 87/B17320. @M a c a c a b a b ; @z ˆ x y y x†‡ y x x y† P3 References @M Berman, H. M., Westbrook, J., Feng, Z., Gilliland, G., Bhat, T. N., a b a b : Weissig, H., Shindyalov, I. N. & Bourne, P. E. (2000). Nucleic Acids @z y x x y P4 ˆ † Res. 28, 235±242. Collaborative Computational Project, Number 4 (1994). Acta Cryst. D50, 760±766. Cowtan, K. (1994). Jnt CCP4/ESF±EACBM Newsl. Protein Crystal- A7. Combining terms logr. 31, 34±38. Cowtan, K. (2002). Jnt CCP4/ESF±EACBM Newsl. Protein Crystal- Combining, we obtain the following expression for the logr. 40. derivative of torsion angle  in terms of the primitive deri- Cowtan, K. (2003). Crystallogr. Rev. 9, 73±80. vates, Dunbrack, R. L. Jr & Cohen, F. E. (1997). Protein Sci. 6, 1661±1681. Esnouf, R. M. (1997). Acta Cryst. D53, 665±672. @ 1 @D Jones, T. A. (1978). J. Appl. Cryst. 11, 268±272. 2 ; @xP ˆ 1 tan  @xP Jones, T. A., Cowan, S., Zou, J.-Y. & Kjeldgaard, M. (1991). Acta 1 ‡ † 1 Cryst. A47, 110±119. where Jones, T. A. & Thirup, S. (1986). EMBO J. 5, 891±822. Kleywegt, G. J. (1997). J. Mol. Biol. 273, 371±376. @D @E E @H @K @J @L Krissinel, E. B, Winn, M. D., Ballard, C. C., Ashton, A. W., Patel, P., F JL KL JK : @x ˆ @x G2 @x ‡ @x ‡ @x ‡ @x Potterton, E. A., McNicholas, S. J., Cowtan, K. D. & Emsley, P. P1 "#P1 P1 P1 P1 P1 !(2004). Acta Cryst. D60, 2250±2255. McRee, D. E. (1999). J. Struct. Biol. 125, 156±165. Morris, R. J., Perrakis, A. & Lamzin, V. S. (2002). Acta Cryst. D58, 968±975. A8. Planes Murshudov, G. N., Vagin, A. A. & Dodson, E. J. (1997). Acta Cryst D53, 240±255. Old®eld, T. J. (2001). Acta Cryst. D57, 82±94. N Nplanes atomsi Old®eld, T. J. (2003). Acta Cryst. D59, 483±491. 2 Old®eld, T. J. & Hubbard, R. E. (1994). Proteins Struct. Funct. Genet. Splane eij; ˆ i 1 j 1 18, 324±337. ˆ ˆ P P Potterton, L., McNicholas, S., Krissinel, E., Gruber, J., Cowtan, K., where eij is the distance of the ith plane restraint's jth atom Emsley, P., Murshudov, G. N., Cohen, S., Perrakis, A. & Noble, M. from the ith plane restraint's least-squares plane. (2004). Acta Cryst. D60, 2288±2294.

2132 Emsley & Cowtan  Model-building tools for molecular graphics Acta Cryst. (2004). D60, 2126±2132