vibesketcher.document.spacegroups¶
Space groups from Hall symbols, in pure Python (#199).
The operations of every setting are generated from its Hall symbol (S. R.
Hall, Acta Cryst. A37, 517 (1981); the explicit-origin conventions of
R. W. Grosse-Kunstleve, Acta Cryst. A55, 383 (1999)): the lattice symbol adds
its centring translations (and inversion when it starts with -), each
matrix symbol adds a generator, an optional (vx vy vz) shifts the origin
in twelfths, and the group is closed under multiplication modulo lattice
translations. The table of settings is _space_group_table (from Gemmi’s
table, which follows the International Tables, Vol. A);
scripts/generate_space_group_table.py checks every setting against Gemmi.
Operations act on fractional column vectors: x’ = W x + t, with t reduced to [0, 1). This module has no third-party dependency, so it can be checked by an interpreter that only has Gemmi.
Functions
|
|
|
|
|
A setting by number, Hermann-Mauguin symbol or Hall symbol. |
|
All operations of the setting the Hall symbol names (centring included). |
|
Classes
|
x' = rotation @ x + translation (fractional coordinates, translation in [0, 1)). |
|
- class vibesketcher.document.spacegroups.Operation(rotation, translation)[source]¶
Bases:
objectx’ = rotation @ x + translation (fractional coordinates, translation in [0, 1)).
- Parameters:
- vibesketcher.document.spacegroups.compose(first, second)[source]¶
secondafterfirst: x -> W2 (W1 x + t1) + t2.
- vibesketcher.document.spacegroups.operations_from_hall(hall)[source]¶
All operations of the setting the Hall symbol names (centring included).
- class vibesketcher.document.spacegroups.Setting(number: 'int', hm: 'str', extension: 'str', qualifier: 'str', hall: 'str', standard: 'bool')[source]¶
Bases:
object