[Journal logo]

Volume 67 
Part 3 
Pages 269-275  
May 2011  

Received 3 December 2010
Accepted 23 February 2011
Online 31 March 2011

Open access

Exact direct-space asymmetric units for the 230 crystallographic space groups

aPhysical Biosciences Division, Lawrence Berkeley National Laboratory, 1 Cyclotron Road, BLDG 64R0121, Berkeley, California, 94720-8118, USA,bUC Leads Summer Research Program, University of California, Berkeley, California, 94720, USA, and cBioscience Division, Los Alamos National Laboratory, B-8, MS M888, Los Alamos, New Mexico, 87545, USA
Correspondence e-mail: rwgrosse-kunstleve@lbl.gov

It is well known that the direct-space asymmetric unit definitions found in the International Tables for Crystallography, Volume A, are inexact at the borders. Face- and edge-specific sub-conditions have to be added to remove parts redundant under symmetry. This paper introduces a concise geometric notation for asymmetric unit conditions. The notation is the foundation for a reference table of exact direct-space asymmetric unit definitions for the 230 crystallographic space-group types. The change-of-basis transformation law for the conditions is derived, which allows the information from the reference table to be used for any space-group setting. We also show how the vertices of an asymmetric unit can easily be computed from the information in the reference table.

1. Introduction

In the presence of symmetry, the concept of an asymmetric unit (also known as fundamental region in mathematics) is important for many practical applications, for example to avoid time-consuming redundant calculations or to suppress redundant output. International Tables for Crystallography, Volume A (ITA) (Hahn, 2005[Hahn, T. (2005). International Tables for Crystallography, Vol. A. Heidelberg: Springer.]) defines the direct-space asymmetric unit of a crystallographic space group (DAU) as `the smallest part of space from which, by application of all symmetry operations of the space group, the whole of space is filled exactly' (ITA §2.2.8). This paper focuses on definitions of exact DAUs. These are refinements of the ITA conditions, which are sets of inequalities for each space group that must be true simultaneously for a point with fractional coordinates x, y, z to be inside the DAU, for example [0 \le x \le 1]; [ 0 \le y \le 1]; [0 \le z \le 1/2] for space group P2. The ITA conditions define the DAU shapes but are inexact for the borders. For example, the ITA P2 conditions are true for all eight vertices of the DAU parallelepiped, but according to the definition in ITA §2.2.8 only two of these points can be in the exact asymmetric unit. To make a DAU exact, sub-conditions have to be added to the shape conditions, specific to faces and edges. Koch & Fischer (1974[Koch, E. & Fischer, W. (1974). Acta Cryst. A30, 490-496.]) published exact DAU definitions for the cubic space groups. In Grosse-Kunstleve et al. (2003[Grosse-Kunstleve, R. W., Wong, B. & Adams, P. D. (2003). Newsletter of the IUCr Commission on Crystallographic Computing, 2, 10-16.]) we presented an overview of an online gallery of exact DAUs for all 230 crystallographic space groups. Chapter 1.5 of Shmueli (2008[Shmueli, U. (2008). International Tables for Crystallography, Vol. B, 3rd ed. Heidelberg: Springer.]) and the KVEC server at http://www.cryst.ehu.es also offer exact DAU definitions, but the DAU shapes are partially incompatible with those of ITA. In this paper we introduce a concise geometric notation which is the foundation for a reference table of exact DAUs, using the same definitions as in our previous work, which are fully compatible with those of ITA.

2. Geometric cut notation and expressions

This section defines a concise geometric notation that has greatly accelerated the progress of this work. As will become apparent below, the notation enables a systematic, intuitive labelling of planes that define an exact DAU.

Similar to the ITA approach, a DAU shape is defined by a list of inequalities. We work with the general form

[h x + k y + l z + c \ge 0 \eqno (1)]

or

[h x + k y + l z + c \,\gt\, 0. \eqno (2)]

h, k, l are Miller indices that define the normal vector of a plane, c is a scalar constant which determines the distance of the plane from the origin, and x, y, z are fractional coordinates in direct space. We call both equations a cut since the geometric interpretation is a division of direct space into two halves. The left-hand side of the equations is exactly zero for points inside the cut plane. The inequalities are defined to be true for points x, y, z inside the DAU. Equation (1)[link] is used if a region of the cut plane is inside the DAU and equation (2)[link] is used if the entire plane is outside. To facilitate a concise representation of DAU definitions, we introduce a cut notation. The general form is

[{\rm cut}((h, k, l), c) \eqno (3)]

or

[+{\rm cut}((h, k, l), c) \eqno (4)]

corresponding to equations (1)[link] and (2)[link], respectively. To obtain intuitive labels for DAU cut planes, we use the geometric cut symbols defined in Table 1[link], for example tx0 = cut((-2, 1, 1), 0). Relationships between cuts can be formalized via cut expressions using unary and binary operators defined as follows:

[-{\rm cut}((h, k, l), c) \,\, {\buildrel{\rm def}\over =} \,\, {\rm cut}((-h, -k, -l), -c) \eqno (5)]

[\sim {\rm cut}((h, k, l), c) \,\, {\buildrel{\rm def}\over =} \,\, {\rm cut}((-h, -k, -l), c) \eqno (6)]

[{\rm cut}((h, k, l), c)\cdot s \,\, {\buildrel{\rm def}\over =} \,\, {\rm cut}((h, k, l), c \cdot s) \eqno (7)]

[{\rm cut}((h, k, l), c)/s \,\, {\buildrel{\rm def}\over =} \,\, {\rm cut}((h, k, l), c/s). \eqno (8)]

The variable s is a scalar value. Each of the operators defined in equations (5)[link][link][link]-(8)[link] has a simple geometric interpretation. The `-' operator defined by equation (5)[link] corresponds to a reversal of `inside' and `outside'. The `[\sim]' operator defined by equation (6)[link] acts like a centre of inversion at the origin; see Figs. 1[link](b) and 1[link](c) for an example. The multiplication and division operators defined by equations (7)[link] and (8)[link] provide a notation for parallel shifts, as highlighted by Fig. 1[link](a).

Table 1
Definition of geometric cut symbols used in Table 2[link]

See Fig. 1[link] for geometric illustrations of the main symbols.

Symbol h, k, l c Expression
x1 (-1, 0, 0) 1  
x0     -x1·0
x2     x1/2
x3     x1/3
x4     x1/4
x8     x1/8
x34     x1·3/4
y1 (0, -1, 0) 1  
y0     -y1·0
y2     y1/2
y3     y1/3
y4     y1/4
y8     y1/8
z1 (0, 0, -1) 1  
z0     -z1·0
z2     z1/2
z3     z1/3
z4     z1/4
z6     z1/6
z8     z1/8
z12     z1/12
p1 (-1, 1, 0) 1  
p0     -p1·0
p2     p1/2
p3     p1/3
p4     p1/4
m1 (-1, -1, 0) 1  
m0     -m1·0
m2     m1/2
m4     m1/4
h1 (1, -2, 0) 1  
h0     -h1·0
k1 (-2, 1, 0) 1  
k0     -k1·0
xz1 (1, 0, 1) 1  
xz0     -xz1·0
xz2     xz1/2
xz4     xz1/4
zx1 (-1, 0, 1) 1  
zx0     -zx1·0
zx2     zx1/2
yz1 (0, 1, 1) 1  
yz0     -yz1·0
yz2     yz1/2
yz4     yz1/4
zy1 (0, -1, 1) 1  
zy0     -zy1·0
zy2     zy1/2
zy4     zy1/4
dy8 (1, -1, 1) 1/8  
tx0 (-2, 1, 1) 0  
ty0 (-1, 2, -1) 0  
tz2 (-2, 1, -1) 1/2  
Primary geometric cut symbols are defined directly by a normal and constant. Secondary geometric cut symbols are defined by a cut expression based on a primary symbol. Note that the normal vector of all cuts with a `0' subscript in the geometric cut symbol is the opposite of the normal vector of the other cut planes in the same flock. This convention greatly reduces the number of minus signs in the exact DAU definitions of Table 2[link].
[Figure 1]
Figure 1
Illustrations of selected cut planes with geometric cut symbols xd, pd, md, hd and kd. The (x, y, 0) plane of a unit cell is outlined with thin lines. The unit-cell origin is labelled with 0, the basis vectors with a and b. The traces of cut planes are indicated with thick lines; small attached triangles indicate the `inside' direction. (a) Geometric interpretation of equations (7)[link] and (8)[link] using the xd flock as an example. (b) Cut planes in the pd and md flocks as they appear in a tetragonal system. The p2 and [\sim]p2 cut planes illustrate the geometric interpretation of equation (6)[link]. (c) Cut planes in the pd, md, hd and kd flocks as they appear in a trigonal or hexagonal system.

The DAU conditions of ITA have a straightforward correspondence to our cut definition. We call the ITA conditions shape cuts. We employ the concept of context to avoid redundancy in the definition of sub-conditions specific to a given DAU face by appending the sub-conditions to the corresponding shape cut, surrounded by parentheses; such a cut is a face cut. Similarly, sub-conditions specific to a given edge are appended to a corresponding face cut, again surrounded by parentheses, and are called edge cuts. In some cases, the DAU choices of ITA necessitate the combination of cuts via logical conjunction or disjunction. Following common practice, we chose the symbol `&' for conjunction and `|' for disjunction. To give an example, the cut expression

[x_0 (z_4 \,\, \& \,\, z_0 (-y_0)) \eqno (9)]

appears for space group [P{\overline 4}2c] (No. 112), using the geometric cut notation of Table 1[link]. Here x0 is a shape cut. The expression in the outer pair of parentheses is a face cut, composed of the logical conjunction z4 & z0. The expression in the inner pair of parentheses (-y0) is an edge cut. As an example, a full step-by-step interpretation of equation (9)[link] is shown in Appendix A[link].

The symbols in Table 1[link] include seven main flocks of parallel planes: xd, yd, zd, pd, md, hd, kd. The position of a cut plane relative to the origin of the coordinate system is indicated with the index d = 1/c, with c as defined in equations (3)[link] and (4)[link], except if c = 0 or c = 3/4. Fig. 1[link] illustrates the geometric interpretation of the main geometric cut symbols. A large majority of the cut planes needed in the DAU definitions presented below can be labelled intuitively with these symbols. The remaining symbols in Table 1[link] were introduced primarily to condense the DAU definitions in Table 2[link] below.

Table 2
Exact DAU definitions for the 230 space groups, based on the geometric cut definitions of Table 1[link]

Following International Tables, Vol. B (Shmueli, 2001[Shmueli, U. (2001). International Tables for Crystallography, Vol. B, 2nd ed. Dordrecht: Kluwer.]) Table A1.4.2.7, the first column, n:c, lists the space-group numbers and setting codes separated by a colon. For monoclinic space groups, the setting code `b' indicates `unique axis b'; `b1' indicates `unique axis b, cell choice 1'. For orthorhombic, tetragonal and cubic space groups, `2' indicates `origin choice 2'. For rhombohedral space groups, `h' indicates `hexagonal axes'. The conditions for space groups 78, 95, 145, 154, 170, 172, 181 and 213 are defined by change-of-basis operations transforming the conditions of the enantiomorphic mates.

n:c Cuts
1 x0; +x1; y0; +y1; z0; +z1
2 x0(y0(z2) & y2(z2)); x2(y0(z2) & y2(z2)); y0; +y1; z0; +z1
3:b x0; +x1; y0; +y1; z0(x2); z2(x2)
4:b x0; +x1; y0; +y1; z0(x0(+y2) & x2(+y2)); z2(x0(+y2) & x2(+y2))
5:b1 x0(z2); x2(z2); y0; +y2; z0; +z1
6:b x0; +x1; y0; y2; z0; +z1
7:b1 x0; +x1; y0(+z2); y2(+z2); z0; +z1
8:b1 x0; +x1; y0; y4(+x2); z0; +z1
9:b1 x0; +x1; y0(+z2); y4(+z2); z0; +z1
10:b x0(z2); x2(z2); y0; y2; z0; +z1
11:b x0; +x1; y0(z0(x2) & z2(x2)); y4; z0; +z1
12:b1 x0(z2); x2(z2); y0; y4(x4(z2)); z0; +z1
13:b1 x0(z0(y2) & z4); x2(z0(y2) & z4); y0; +y1; z0; +z2
14:b1 x0(y0(z2)); +x1; y0(x2(z2)); y4(+z2); z0; +z1
15:b1 x0(z4); x2(z4); y0; +y2; z0(y4(x4)); z2(-y4(x4))
16 x0(z2); x2(z2); y0(z2); y2(z2); z0; +z1
17 x0(-z4 & z1·3/4); x2(-z4 & z1·3/4); y0(z2); y2(z2); z0; +z1
18 x0; x2(-y0); y0; +y2; z0; +z1
19 x0; +x2; y0(-z2); y2(z2); z0(+y2); +z1
20 x0(z4); x2(-z4); y0; y2(-z0); z0; +z2
21 x0(z2); x4(y4); y0(z2); y2(z2); z0; +z1
22 x0(z2); x4(-z4 & z1·3/4); y0(z2); y4(-z4 & z1·3/4); z0; +z1
23 x0; x2(-y0); y0; y2(-z0); z0; z2(-x0)
24 x0(y4); x2(y4); y0(z4); y2(z4); z0(x4); z2(x4)
25 x0; x2; y0; y2; z0; +z1
26 x0; x2; y0(+z2); y2(+z2); z0; +z1
27 x0(+z2); x2(+z2); y0(+z2); y2(+z2); z0; +z1
28 x0(y2); x4; y0; +y1; z0; +z1
29 x0(+z2); x4(+z2); y0; +y1; z0; +z1
30 x0(y2); x2(y2); y0; +y1; z0; +z2
31 x0; x2; y0(+z2); y2(+z2); z0; +z1
32 x0; x2(-y0); y0; +y2; z0; +z1
33 x0; +x2; y0(+z2); y2(+z2); z0; +z1
34 x0; x2(-y0); y0; +y2; z0; +z1
35 x0; x4(y4); y0; y2; z0; +z1
36 x0; x2; y0; +y2; z0; +z2
37 x0(+z2); x4(y4); y0(+z2); y2(+z2); z0; +z1
38 x0; x2; y0; y2; z0; +z2
39 x0(+z2); x2(+z2); y0(+z2); y4; z0; +z1
40 x0(+z2); x4; y0(+z2); y2(+z2); z0; +z1
41 x0; x2(-y0); y0; +y2; z0; +z2
42 x0; x4(+z2); y0; y4(+z2); z0; +z1
43 x0; x4(-y0(+z2)); y0; +y4; z0; +z1
44 x0; x2; y0; y2; z0; +z2
45 x0; x2(-y0); y0; +y2; z0; +z2
46 x0(y2); x4; y0; +y1; z0; +z2
47 x0; x2; y0; y2; z0; z2
48:2 x0(-y0(z2)); x4(-z4 & z1·3/4); [\sim]y4(-z4 & z1·3/4); y4(-z4 & z1·3/4); z0; +z1
49 x0(z4); x2(z4); y0(z4); y2(z4); z0; z2
50:2 x0(-y2); x4(-y4 & y1·3/4); y0; +y1; z0(-y4 & y1·3/4); z2(-y4 & y1·3/4)
51 x0(z2); x4; y0; y2; z0; +z1
52 x0; +x1; y0(-x4 & x34); y4(z4); z0(-x2); z2(-x2)
53 x0; x2; y0; +y1; z0(y2); z4(x4)
54 x0(-z4); x2(z4); y0(-x4); y2(-x4); z0; +z2
55 x0; x2(-y0); y0; +y2; z0; z2
56 x0(y2(-z0)); x4(-y4 & y1·3/4); y0; +y1; z0; +z2
57 x0(-y2); x2(-y2); y0; +y1; z0(-y4 & y1·3/4); z4
58 x0; x2(-y0); y0; +y2; z0; z2
59:2 x0(-y0(z2)); x4; [\sim]y4; y4; z0; +z1
60 x0(z4); x2(-z4); y0; y2(-x0(-z0)); z0; +z2
61 x0; x2(-y0(-z0)); y0; +y2; z0; +z2
62 x0; x2(-y0(-z0)); y0(+z2); y4; z0; +z1
63 x0; x2; y0; +y2; z0(y4(x4)); z4
64 x0; x4(z4); y0; +y2; z0(y4); z2(+y4)
65 x0; x4(y4); y0; y2; z0; z2
66 x0(z4); x4(y4); y0(z4); y2(z4); z0; z2
67 x0; x2; y0(x4); y4; z0(x4); z2(x4)
68:2 x0(z4); x2(z4); y0(x4); y4(z4); z0(+x2 & y4(x4)); +z2
69 x0; x4(z4); y0; y4(z4); z0; z2
70:2 x0(-y0(z2)); x8(-z8 & z1·5/8); [\sim]y8(-z1·3/8 & z1·7/8); y8(-z8 & z1·5/8); z0; +z1
71 x0; x4(y4(z4)); y0; y2; z0; z2
72 x0(z4); x4(y4(z4)); y0(z4); y2(z4); z0; z2
73 x0(y4); x4(z4(y4)); y0(z4); y2(-z4); z0; +z2
74 x0; x4(-z4 & z1·3/4); y0(z2); y4; z0; +z1
75 x0(-y0); x2; y0; y2(-x2); z0; +z1
76 x0(+z4); x2(+z4); y0(+z1·3/4); y2(+z1·3/4); z0; +z1
77 x0(+z2); x2(+z2); y0(+z2); y2(+z2); z0; +z1
78 76 [rightwards arrow] a, b, -c + 1
79 x0(-y0); x2; y0; y2(-x2); z0; +z2
80 x0(y2); x2(y2); y0; +y1; z0; +z4
81 x0(-y0(z2)); x2; y0; y2(-x2(z2)); z0; +z1
82 x0(z0(-y0)); x2(-y0(z4)); y0; y2(-x0(z4)); z0; z2(-y0)
83 x0(-y0); x2; y0; y2(-x2); z0; z2
84 x0(-y0(z4)); x2; y0; y2(-x2(z4)); z0; z2
85:2 [\sim]x4(-[\sim]y4); x4(z0(-[\sim]y4) & z2(-[\sim]y4)); [\sim]y4; y4(-x4); z0(-y0(-x0)); z2(-y0(-x0))
86:2 [\sim]x4(-[\sim]y4(z4)); x4(z0(-[\sim]y4) & z2(+-[\sim]y4)); [\sim]y4; y4(-x4(z4)); z0(-y0(-x0)); z2(-y0(-x0))
87 x0(-y0); x2; y0; y2(-x2); z0; z4(y4(x4) & x2(-y0))
88:2 x0; x4; y0(-x0(z2) | -x4(+z4)); y4(-x0(-z8 & z1·5/8)); z0; +z1
89 x0(p0); x2; y0; y2(-x2); z0(p0); z2(p0)
90 x0; x2(-y0); y0; y2(-x0); z0(p0); z2(p0)
91 x0(z8(-y0)); +x1; y0; +y1; z0(x2); z8(m1)
92 x0; +x1; y0; +y1; z0(p0); z8(-y2)
93 x0(y2); x2(y2); y0; +y1; z0(y2); z4(-p0 & m1)
94 x0(-y0); x2(z2(-y2)); y0(z2(-x0)); +y2; z0(p0); z2(p0)
95 91 [rightwards arrow] -a + 1, b, c
96 x0; +x1; y0; +y1; z0(p0); z8(-x2)
97 x0(-y0); x2; y0; y2(-x2); z0(p0); z4(m2)
98 x0(y2); x2(y2); y0; +y1; z0(m1 & -p0); z8(-y4 & y1·3/4)
99 x0; y2; z0; +z1; -p0
100 x0(-y0); y0; z0; +z1; m2
101 x0(+z2); y2(+z2); z0; +z1; -p0
102 x0(+z2); y2(+z2); z0; +z1; -p0
103 x0(-y0); x2; y0; y2(-x2); z0; +z2
104 x0(-y0); x2; y0; y2(-x2); z0; +z2
105 x0; x2; y0; y2; z0; +z2
106 x0(-y0); x2; y0; +y2; z0; +z2
107 x0; y2; z0; +z2; -p0
108 x0(-y0); y0; z0; +z2; m2
109 x0; x2; y0; y2; z0; +z4
110 x0(-y0); x2; y0; +y2; z0; +z4
111 x0(z2); y2(z2); z0; +z1; -p0
112 x0(z4 & z0(-y0)); x2(z4); y0(z4); y2(z4 & z0(-x2)); z0; +z2
113 x0(-y0(z2)); y0; z0; +z1; m2
114 x0(-y0); x2; y0; y2(-x2(-z0)); z0; +z2
115 x0; x2; y0; y2; z0(p0); z2(p0)
116 x0(y2); x2(y2 & z0(-y2)); y0; +y1; z0(y2 & y0(-x0)); z4(m1 & -p0)
117 x0(z0(-y0) & z2(-y0)); x2(-y0); y0; +y2; z0(m2); z2(m2)
118 x0(y2); x2(y2); y0; +y1; z0(y2(-x2) & x0(-y0)); z4([\sim]p2 & -m2)
119 x0; x2; y0; y2; z0(p0); z4(m2)
120 x0(z0(-y0)); x2(-y0); y0; +y2; z0(m2); z4(p0)
121 x0; y2(-x0(z4)); z0; z2(-x0); -p0
122 x0(y2 & z0(-y0)); x2(y2); y0; +y1; z0(y2(-x2)); z8(-y4 & y1·3/4)
123 x0; y2; z0; z2; -p0
124 x0(-y0); x2; y0; y2(-x2); z0; z4(p0)
125:2 [\sim]x4(-[\sim]y4); [\sim]y4; z0(p0); z2(p0); -m0
126:2 [\sim]x4(-[\sim]y4); x4; [\sim]y4; y4(-x4); z0(-y0(-x0) & x4(-[\sim]y4)); z4(p0)
127 x0(-y0); y0; z0; z2; m2
128 x0(-y0); x2; y0; y2(-x2); z0; z4(m2)
129:2 [\sim]x4; y4; z0(-m0); z2(-m0); -p0
130:2 [\sim]x4(-[\sim]y4); x4(z0(-[\sim]y4)); [\sim]y4; y4(-x4); z0(-y0(-x0)); z4(-m0)
131 x0; x2; y0; y2; z0; z4(p0)
132 x0(z4); y2(z4); z0; z2; -p0
133:2 [\sim]x4; x4(-z0 | -[\sim]y4); [\sim]y4; +y4; z0(-y0(-x0)); z4(p0)
134:2 [\sim]x4(z4); [\sim]y4(z4); z0(p0); z2(p0); -m0
135 x0(z4(-y0)); x2(-y0); y0; +y2; z0; z4(m2)
136 x0(z4); y2(z4(-x0)); z0; z2; -p0
137:2 [\sim]x4; x4; [\sim]y4; y4; z0(-y0(-x0)); z4(-m0)
138:2 [\sim]x4; y4(-[\sim]x4(z4)); z0(-m0); z2(-m0 & [\sim]x4(-y4)); -p0
139 x0; y2; z0; z4(m2); -p0
140 x0(-y0); y0; z0; z4(p0); m2
141:2 x0; x2; [\sim]y4; y4; z0(-y0); z8(-p4)
142:2 x0(z8(-[\sim]y4) & z0(-y0)); x2(-[\sim]y4); [\sim]y4; +y4; z0(x4); z8(m4)
143 x0(-y0); y0; z0; +z1; k1; m1(-h1 | -k1); h1
144 x0; +x1; y0; +y1; z0; +z3
145 144 [rightwards arrow] b, a, c
146:h x0(-y0); y0; z0; +z3; k1; m1(-h1 | -k1); h1
147 x0(-y0); y0; z0(p0(-y0)); z2(p0(-y0)); k1; m1(-h1 | -k1); h1
148:h x0(-y0); y0; z0(p0(-y0)); z6(-h0(x3) | -k0(-y0 | -m1)); k1; m1(-h1 | -k1); h1
149 x0(-y0); y0; z0(-h0 | -k0); z2(-h0 | -k0); k1; m1(-h1 | -k1); h1
150 x0(-y0); y0; z0(p0); z2(p0); k1; m1(-h1 | -k1); h1
151 x0; +x1; y0; +y1; z0(-h0 | -h1); z6(-k0 | -k1)
152 x0; +x1; y0; +y1; z0(-p0); z6(-p0)
153 x0; +x1; y0; +y1; z0(-h0 | -h1); z6(x0(-y0) & m1)
154 152 [rightwards arrow] b, a, c
155:h x0(-y0); y0; z0(p0); z6(x3 & [\sim]p3); k1; m1(-h1 | -k1); h1
156 z0; +z1; h0; m1; k0
157 y0; z0; +z1; k1; m1(y3); p0
158 x0(-y0); y0; z0; +z2; k1; m1(-h1 | -k1); h1
159 x0(-y0); y0; z0; +z2; k1; m1(-h1 | -k1); h1
160:h z0; +z3; h0; m1; k0
161:h x0(-y0); y0; z0; +z6; k1; m1(-h1 | -k1); h1
162 y0; z0(-h0); z2(-h0); k1; m1(y3); p0
163 x0(-y0); y0; z0(p0(-y0)); z4(-h0 | -k0); k1; m1(-h1 | -k1); h1
164 y0(z2); z0; +z1; k1; -h0
165 x0(-y0); y0; z0(p0(-y0)); z4(p0); k1; m1(-h1 | -k1); h1
166:h z0(p0); z6(x3); h0; m1; k0
167:h x0(-y0); y0; z0(p0(-y0)); z12(y3 & p3); k1; m1(-h1 | -k1); h1
168 y0; z0; +z1; k1; m1(y3); p0(-y0)
169 x0; +x1; y0; +y1; z0; +z6
170 169 [rightwards arrow] b, a, c
171 x1(y2); y0(x2); z0; +z3; p0(y2)
172 171 [rightwards arrow] -b + 1, -a + 1, c
173 x0(-y0); y0; z0; +z2; k1; m1(-h1 | -k1); h1
174 x0(-y0); y0; z0; z2; k1; m1(-h1 | -k1); h1
175 y0; z0; z2; k1; m1(y3); p0(-y0)
176 x0(-y0); y0; z0(p0(-y0)); z4; k1; m1(-h1 | -k1); h1
177 y0; z0(-h0); z2(-h0); k1; m1(y3); p0(-y0)
178 x0; +x1; y0; +y1; z0(p0); z12(-h0 | -h1)
179 x0; +x1; y0; +y1; z0(p0); z12(m1 & x0(-y0))
180 x1(y2); y0(x2); z0(k1); z6(-h0); p0(y2)
181 180 [rightwards arrow] b + 1, -a - b, -c + 1/6
182 x0(-y0); y0; z0(p0); z4(-h0 | -k0); k1; m1(-h1 | -k1); h1
183 y0; z0; +z1; k1; -h0
184 y0; z0; +z2; k1; m1(y3); p0(-y0)
185 y0; z0; +z2; k1; m1(y3); p0
186 y0(+z2); z0; +z1; k1; -h0
187 z0; z2; h0; m1; k0
188 x0(-y0); y0; z0(-h0 | -k0); z4; k1; m1(-h1 | -k1); h1
189 y0; z0; z2; k1; m1(y3); p0
190 x0(-y0); y0; z0(p0); z4; k1; m1(-h1 | -k1); h1
191 y0; z0; z2; k1; -h0
192 y0; z0; z4(-h0); k1; m1(y3); p0(-y0)
193 y0; z0(-h0); z4; k1; m1(y3); p0
194 z0(p0); z4; h0; m1; k0
195 z0(y2 & x2); m1(-y2); zy0(-zx0); zx0
196 p0(m2); [\sim]xz2(-zy0); zx2(yz0); -yz0; zy0
197 z0(x2); p0(-zy0); +m1; zy0
198 x0(-y0); x2; y2(+z0 & x2(+z2)); zx2(m2); zx0(p0); -yz0; zy0
199 x2(-y4); y2(-z4); z0(x4); zx0(-zy0(+x2)); zy0
200 x2; y2; z0; zx0(-zy0); zy0
201:2 [\sim]z4(x4); p0(-zy0(-x0)); m2(-zy0(x2)); zy0
202 z0; p0(x4); [\sim]xz2(-zy0); zy0
203:2 p0(-zy0(-x0)); m4(-zy0 | -yz4([\sim]z4)); zy0; yz4
204 x2; z0; p0(-zy0(x4)); zy0
205 x2(-z0(-zy0)); y2(-zy0); z0; zx0(-zy0); zy0
206 z0(x4); zx0(-zy0); [\sim]xz2; zy0; [\sim]yz2(-zx0)
207 z0(x2); p0; m1(-p0); zy0(x2)
208 zx0(-zy0); -xz0(yz0); zx2(y4); [\sim]xz2(y4); zy0; -yz0; zy2(-x4); [\sim]yz2(-x4)
209 p0(z0); m2(z0); zy0; -yz0(-zy0)
210 y8(-[\sim]xz4); z8(m4); p0(-zx0); m2(-[\sim]xz2); -yz0(z0); zx0; [\sim]xz2
211 z0(p0); zx0(-zy0); [\sim]xz2(y4); zy0; [\sim]yz2(-x4)
212 zx2; -yz0(-zx2); [\sim]yz2(tx0); -tx0(x8); ty0(y8); tz2(-x1·3/8)
213 212 [rightwards arrow] -b, c + 1/2, a - 1/2
214 x8([\sim]yz4); y8([\sim]xz4); [\sim]y8(-[\sim]zx1/4); -zx0(zy0); -zy0; [\sim]zy4(-y0); dy8([\sim]p4)
215 z0(x2); p0; m1; zy0
216 p0; m2; zy0; -yz0
217 x2(-z0(y4)); z0; p0; zy0
218 x2(-z0(y4)); y2(-z0(x4)); z0; zx0(-zy0); zy0
219 p0; m2(-p0(z0)); zy0; -yz0(-p0 | -zy0(x4))
220 -x4(-z0(-y1·3/8)); x2; -y4(-x2(-z8)); y2(-z4); z0; zx0(-zy0); zy0
221 x2; z0; p0; zy0
222:2 x34(z4(y2) | -zy0); -z4; p0(-zy0(z2)); zy0
223 z0; zx0(-zy0); [\sim]xz2(y4); zy0; [\sim]yz2(x4)
224:2 p0; [\sim]xz1(y2); zx2(y2); -[\sim]yz2; zy0
225 z0; p0; m2; zy0
226 z0; p0; m2(-p0); zy0(x4)
227:2 -y0(-xz0); p0; m4; yz4; zy0
228:2 -y0(zx1/4); p0(-zy0); m4; yz4(-zy0(x8)); zy0
229 z0; p0; [\sim]xz2(y4); zy0
230 x8([\sim]zy4 & [\sim]yz4); [\sim]x8(y0(-z4)); y8(-[\sim]xz4); [\sim]y8([\sim]zx1/4); z4(y0); -zx0; -xz0(-z0); -zy0(zx0); -yz0

3. Methods

3.1. Change-of-basis transformation law

In many situations it is essential to be able to transform variables from one basis system to another. Giacovazzo (1992[Giacovazzo, C. (1992). Fundamentals of Crystallography. IUCr/Oxford University Press.]) includes a table of transformation laws (Table 2.E.1) for commonly used variables, for example fractional coordinates, Miller indices or anisotropic displacement parameters. This list can be extended by a transformation law for DAU definitions based on equations (1)[link] and (2)[link]. Borrowing the conventions of ITA, let ([{\bf P, p}]) be a change-of-basis matrix with a (3 × 3) rotation part [{\bf P}] and [{\bb R}^3] translation vector [{\bf p}], and let ([{\bf Q, q}]) be its inverse. A column vector of fractional coordinates [{\bf x} = (x, y, z)^T] in a first [{\bb R}^3] basis system is transformed to coordinates [{\bf x}^\prime] in a second basis system via

[{\bf x}^\prime = {\bf Q}{\bf x} + {\bf q}. \eqno (10)]

We also define the row vector [{\bf n}] = (h, k, l) in the first basis system. The corresponding [{\bf n}^\prime] in the second basis system is given by

[{\bf n}^\prime = {\bf n}{\bf P}. \eqno (11)]

The determination of the scalar constant [c^\prime] is based on the rationale that

[{\bf n}^\prime \cdot {\bf x}^\prime + c^\prime = 0 \eqno (12)]

must hold for all solutions [{\bf x}] of

[{\bf n} \cdot {\bf x} + c = 0. \eqno (13)]

Setting [{\bf n}^\prime \cdot {\bf x}^\prime + c^\prime = {\bf n} \cdot {\bf x} + c], substituting equations (10)[link] and (11)[link], and solving for [c^\prime] yields the second part of the transformation law for DAU cuts:

[c^\prime = c - {\bf n}^\prime \cdot {\bf q}. \eqno (14)]

3.2. Determination of vertices

Given a list of shape cuts, the DAU vertices can be computed by solving equation (13)[link] for all unique ordered triplets of cuts. Let [{\bf n}_1, {\bf n}_2] and [{\bf n}_3] be the cut normal vectors of such a triplet. The three cut planes intersect in a point [\boldnu] if the determinant of

[{\bf N} = \left (\matrix { h_1 & k_1 & l_1 \cr h_2 & k_2 & l_2 \cr h_3 & k_3 & l_3} \right) \eqno (15)]

is not zero. Under this condition the point [\boldnu] is found by solving [{\bf N} \cdot \boldnu + (c_1, c_2, c_3)^T] = 0:

[\boldnu = -{\bf N}^{-1} \left (\matrix { c_1 \cr c_2 \cr c_3} \right). \eqno (16)]

[\boldnu] is a vertex of the DAU if all inequalities given by the shape cuts are also simultaneously true. If more than three planes intersect in a given vertex it is obtained multiple times and duplicates are discarded. We note that the largest number of shape cuts using the ITA definitions is nine, for space group [Ia{\overline 3}d] (No. 230). In this case the determinant of [{\bf N}] is evaluated 84 times, equation (16)[link] is evaluated 56 times and the final number of unique vertices is nine, in accordance with ITA.

3.3. Validation of exact conditions

The exact conditions shown in Table 2[link] are validated with a sampling procedure to establish that the DAU is neither too small nor too large. The procedure is intentionally unsophisticated to maximize robustness. It is intrinsically highly inefficient, which is compounded by the use of a dynamically typed scripting language for its implementation. Nonetheless, given current computing hardware, the entire Table 2[link] can be re-validated in less than 2 min.

The first part of the validation procedure samples the DAU conditions using two grids over the unit cell, given a user-defined number of sampling points N per unit in fractional coordinate space. To simplify this presentation, without loss of generality, we assume that N is identical in all three dimensions. N is always chosen to be even. The first ugrid covers the unit cell from 0 to N - 1, corresponding to the range [0.0, 1.0[ in fractional coordinate space. All ugrid points are initialized with zero. The second rgrid covers space more redundantly from -N/2 to N, corresponding to the range [-0.5, 1.0]. The vertex determination of §3.2[link] is used to assure that the DAU to be validated falls entirely into the rgrid. For each rgrid point, the inequalities defined by the DAU cuts are evaluated. A value of one is assigned if the point is inside the DAU (all inequalities are true) and zero otherwise. If the point is inside the DAU, the crystallographic unit translations, in the form of the modulus operation, are applied to the grid indices of the point to determine the symmetry-equivalent grid point in the ugrid, which is then also set to one. If it was set already, an error message reports that the point is redundant.

At the end of the first part of the validation procedure the ugrid has a value of one for all grid points inside the DAU and zero for all points outside; note that the ugrid has disconnected regions of grid points with value one if the DAU has points with negative coordinates. The second part of the validation procedure visits each point in the ugrid. The symmetry operations of the space group, taking the crystallographic unit translations and any centring translations into account, are applied to enumerate all equivalent points in the ugrid. If a point is flagged as inside the DAU, all equivalent points must be flagged as outside; otherwise an error message reports that the DAU has redundant points. For each point flagged as outside the DAU, one equivalent point must be flagged as inside; otherwise an error message reports that the point has no equivalent in the DAU.

If no error messages are shown, the validation procedure establishes conclusively that the DAU conditions have complete coverage and that the covered space is non-redundant under symmetry. The only critical parameter is the number N of sampling points per unit in fractional space. Based on an inspection of the locations of the symmetry elements, we found that N = 24 is sufficiently large for all space groups. However, as a final validation we also ran the procedure for all space groups with N = 72, which takes about 45 min on a current 48-core system.

3.4. Visually assisted determination of exact conditions

The exact DAU conditions shown in Table 2[link] were determined manually. Progress was greatly accelerated by visual tools developed specifically for this purpose. A full presentation of these tools is beyond the scope of this paper [Grosse-Kunstleve et al. (2003[Grosse-Kunstleve, R. W., Wong, B. & Adams, P. D. (2003). Newsletter of the IUCr Commission on Crystallographic Computing, 2, 10-16.]) includes pointers to the openly available implementation]. The main idea is to colour-code pairs of redundant points on the DAU surface as they are detected in the sampling procedure described in §3.3[link]; for example, the first point is coloured dark blue and the equivalent redundant point light blue. A very simple colour-selection procedure using only a small palette of colours was found to be sufficient in practice. An example is shown in Fig. 2[link]. We added the face- or edge-specific cuts one at a time, updating the visualization after each step. In this way we could determine exact DAU definitions in a matter of a few minutes for most space groups.

[Figure 2]
Figure 2
Visualization of redundant pairs of points at the surface of the DAU of space group P42 (No. 77). Colour-coded pairs of redundant points on the DAU surface are shown as they are detected in the sampling procedure described in §3.3[link]. For example, the first point is coloured dark blue and the equivalent redundant point light blue. With the help of the colours it is immediately obvious how the redundant points are related and where to place the missing face cuts to obtain the exact DAU.

4. Results

Table 2[link] defines exact DAUs for 230 reference settings, chosen to be compatible with the reference settings used in the IUCr symCIF dictionary (Brown, 2005[Brown, I. D. (2005). ftp://ftp.iucr.org/cifdics/cif_sym_1.0.1.dic .]). Using the change-of-basis transformation law of §3.1[link] in combination with the algorithms of Grosse-Kunstleve (1999[Grosse-Kunstleve, R. W. (1999). Acta Cryst. A55, 383-395.]), it is possible to automatically obtain an exact DAU for any setting.

Koch & Fischer (1974[Koch, E. & Fischer, W. (1974). Acta Cryst. A30, 490-496.]) and ITA §2.8 explain that the shape for a DAU is not uniquely determined and that the best choice is application specific. Similarly, the face- and edge-specific sub-conditions required for an exact DAU are also not uniquely determined. The choices we made for Table 2[link] aim at obtaining compact sets of sub-conditions, which is also expected to minimize the runtime needed for evaluating if a given point is inside the DAU. For the cubic space groups, we attempted to adopt the sub-conditions of Koch & Fischer (1974[Koch, E. & Fischer, W. (1974). Acta Cryst. A30, 490-496.]) but it turned out to be challenging in some cases. In six cases (space-group numbers 195, 198, 210, 220, 227, 228) the ITA shape conditions are incompatible with those of Koch & Fischer (1974[Koch, E. & Fischer, W. (1974). Acta Cryst. A30, 490-496.]). In some other cases their sub-conditions lead to complicated cut expressions. Using the approach of §3.4[link] it was only a small effort to determine simpler alternatives for Table 2[link].

For eight enantiomorphic space groups (the numbers are listed in the caption of Table 2[link]) the exact DAU is defined through a change-of-basis transformation of the DAU of the enantiomorphic mate. The three remaining enantiomorphic pairs of space groups cannot be handled in this way because the ITA shape DAU conditions are pairwise incompatible. The change-of-basis matrices in Table 2[link] are expressed using the notation as defined in Zwart et al. (2008[Zwart, P. H., Grosse-Kunstleve, R. W., Lebedev, A. A., Murshudov, G. N. & Adams, P. D. (2008). Acta Cryst. D64, 99-107.]).

5. Conclusion

Table 2[link] is the first complete and uniform definition of exact DAUs for all 230 space-group types. The table is concise owing to the geometric cut notation introduced in this work. At the same time, the cut expressions lend themselves to automatic processing, with results as demonstrated already in Grosse-Kunstleve et al. (2003[Grosse-Kunstleve, R. W., Wong, B. & Adams, P. D. (2003). Newsletter of the IUCr Commission on Crystallographic Computing, 2, 10-16.]). In the meantime we have found other practical uses in the context of the PHENIX suite (Adams et al., 2010[Adams, P. D. et al. (2010). Acta Cryst. D66, 213-221.]), such as the search for interactions between pairs of atoms (Grosse-Kunstleve et al., 2004[Grosse-Kunstleve, R. W., Afonine, P. V. & Adams, P. D. (2004). Newsletter of the IUCr Commission on Crystallographic Computing, 4, 19-36.]) and a bulk-solvent-mask determination procedure.

In this work we have used a manual approach for the determination of the face- and edge-specific sub-conditions required for exact DAUs. We believe an algorithmic approach is possible but will require significantly more initial effort than our manual approach. The cut plane formalism presented here could serve as a basis for future automation work.

Appendix A

Example step-by-step interpretation of a geometric cut expression

Equation (9)[link] in §2[link], which appears for space group [P{\overline 4}2c] (No. 112) in Table 2[link], was shown as an example of a geometric cut expression:

[x_0 (z_4 \,\, \& \,\, z_0 (-y_0)).\eqno(17)]

The shape cut in this example is x0. According to Table 1[link] and employing equation (7)[link], this geometric cut symbol expands to cut ((1,0,0),0). Use of equation (1)[link] yields [1 x + 0 y + 0 z \ge 0], which simplifies to [x \ge 0]. The outer pair of parentheses encloses a face cut expression that applies only if x = 0 [see text following equation (8)[link] in §2[link]]. The first part of the face cut expression, z4, translates to [z \le 1/4] [lookup in Table 1[link], use of equations (8)[link] and (1)[link], and simplification]. The second part of the face cut expression, z0, translates to [z \ge 0]. The logical conjunction symbol `&' (defined in §2[link]) indicates that a point in the plane is in the DAU only if both [z \ge 0] and [z \le 1/4], with and in the Boolean sense. The inner pair of parentheses encloses an edge cut expression specific to the (0, y, 0) line defined by the conditions x = 0 and z = 0. Lookup in Table 1[link], use of equations (7)[link], (5)[link] and (1)[link], and simplification lead to the sub-condition [y \le 0]. In combination with the y0 shape cut of space group [P{\overline 4}2c], this means that only the point (0, 0, 0) on the (0, y, 0) line is in the DAU.

Graphical illustrations of the DAU conditions are available at http://cci.lbl.gov/asu_gallery/ . An expanded DAU notation that is more similar to the notation of ITA is shown along with the graphical illustrations.

Acknowledgements

We thank Michael M. J. Treacy for sending us an electronic file with a table of the DAU shape conditions of ITA. We thank the anonymous referees for corrections and suggestions that have led us to an improved presentation. We gratefully acknowledge the financial support of NIH/NIGMS through grant Nos. 5P01GM063210 and 1R01GM071939. Our work was supported in part by supplemental funding from the American Recovery and Reinvestment Act (ARRA) to NIH/NIGMS grant No. P01GM063210 and by the US Department of Energy under contract Nos. DE-AC03-76SF00098 and DE-AC02-05CH11231.7237.

References

Adams, P. D. et al. (2010). Acta Cryst. D66, 213-221.  [ISI] [CrossRef] [details]
Brown, I. D. (2005). ftp://ftp.iucr.org/cifdics/cif_sym_1.0.1.dic .
Giacovazzo, C. (1992). Fundamentals of Crystallography. IUCr/Oxford University Press.
Grosse-Kunstleve, R. W. (1999). Acta Cryst. A55, 383-395.  [CrossRef] [details]
Grosse-Kunstleve, R. W., Afonine, P. V. & Adams, P. D. (2004). Newsletter of the IUCr Commission on Crystallographic Computing, 4, 19-36.
Grosse-Kunstleve, R. W., Wong, B. & Adams, P. D. (2003). Newsletter of the IUCr Commission on Crystallographic Computing, 2, 10-16.
Hahn, T. (2005). International Tables for Crystallography, Vol. A. Heidelberg: Springer.
Koch, E. & Fischer, W. (1974). Acta Cryst. A30, 490-496.  [CrossRef] [details]
Shmueli, U. (2001). International Tables for Crystallography, Vol. B, 2nd ed. Dordrecht: Kluwer.
Shmueli, U. (2008). International Tables for Crystallography, Vol. B, 3rd ed. Heidelberg: Springer.
Zwart, P. H., Grosse-Kunstleve, R. W., Lebedev, A. A., Murshudov, G. N. & Adams, P. D. (2008). Acta Cryst. D64, 99-107.  [ISI] [CrossRef] [details]


Acta Cryst (2011). A67, 269-275   [ doi:10.1107/S0108767311007008 ]

This is an open-access article distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.