Skip to content

Commit

Permalink
cod-tools/ (antanas@echidna.ibt.lt)
Browse files Browse the repository at this point in the history
Changing the H-m space group symbol of groups No. 39, 41, 64 to contain 
the 'e' symbol as recommended by the ITC Volume A. Symbols of group 67 
were not changed, since renaming them would introduce ambiguity. Symbols 
of group 68 were also not renamed with the exception of three pairs of 
settings that held identical symmetry operators ( 'C c c a :1' and 'C c 
c b :1' to 'C c c e :1'; 'A b a a :1' and 'A c a a :1' to 'A e a a :1'; 
'B b c b :1' and 'B b a b :1' to 'B b e b :1').


git-svn-id: svn://www.crystallography.net/cod-tools/trunk@4110 04be6746-3802-0410-999d-98508da1e98c
  • Loading branch information
antanas committed Oct 23, 2015
1 parent fbc39f5 commit 173879a
Show file tree
Hide file tree
Showing 14 changed files with 572 additions and 253 deletions.
303 changes: 119 additions & 184 deletions src/lib/perl5/COD/Spacegroups/Lookup/COD.pm

Large diffs are not rendered by default.

141 changes: 110 additions & 31 deletions src/lib/perl5/COD/Spacegroups/Names.pm
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,11 @@ our @EXPORT = qw( @names );
[36, "C m c 21", "C m c 21" ],
[37, "C c c 2", "C c c 2" ],
[38, "A m m 2", "A m m 2" ],
[39, "A b m 2", "A b m 2" ],
[39, "A e m 2", "A e m 2" ], # As described in ITC volume A
[39, "A b m 2", "A e m 2" ], # As described in ITC volume A
[40, "A m a 2", "A m a 2" ],
[41, "A b a 2", "A b a 2" ],
[41, "A e a 2", "A e a 2" ], # As described in ITC volume A
[41, "A b a 2", "A e a 2" ], # As described in ITC volume A
[42, "F m m 2", "F m m 2" ],
[43, "F d d 2", "F d d 2" ],
[44, "I m m 2", "I m m 2" ],
Expand Down Expand Up @@ -122,8 +124,9 @@ our @EXPORT = qw( @names );
[62, "P n m a", "P n m a" ],
[63, "C m c m", "C 2/m 2/c 21/m" ],
[63, "C m c m", "C m c m" ],
[64, "C m c a", "C 2/m 2/c 21/a" ],
[64, "C m c a", "C m c a" ],
[64, "C m c e", "C 2/m 2/c 21/e" ], # As described in ITC volume A
[64, "C m c e", "C m c e" ], # As described in ITC volume A
[64, "C m c a", "C m c e" ], # As described in ITC volume A
[65, "C m m m", "C 2/m 2/m 2/m" ],
[65, "C m m m", "C m m m" ],
[66, "C c c m", "C 2/c 2/c 2/m" ],
Expand Down Expand Up @@ -459,21 +462,31 @@ our @EXPORT = qw( @names );
[38, "B m m 2" , "B m m 2" ],
[38, "C 2 m m" , "C 2 m m" ],
[38, "C m 2 m" , "C m 2 m" ],
[39, "A c 2 m" , "A c 2 m" ],
[39, "B 2 c m" , "B 2 c m" ],
[39, "B m a 2" , "B m a 2" ],
[39, "C 2 m b" , "C 2 m b" ],
[39, "C m 2 a" , "C m 2 a" ],
[39, "A e 2 m" , "A e 2 m" ],
[39, "A c 2 m" , "A e 2 m" ],
[39, "B 2 e m" , "B 2 e m" ],
[39, "B 2 c m" , "B 2 e m" ],
[39, "B m e 2" , "B m e 2" ],
[39, "B m a 2" , "B m e 2" ],
[39, "C 2 m e" , "C 2 m e" ],
[39, "C 2 m b" , "C 2 m e" ],
[39, "C m 2 e" , "C m 2 e" ],
[39, "C m 2 a" , "C m 2 e" ],
[40, "A m 2 a" , "A m 2 a" ],
[40, "B 2 m b" , "B 2 m b" ],
[40, "B b m 2" , "B b m 2" ],
[40, "C 2 c m" , "C 2 c m" ],
[40, "C c m 2" , "C c m 2" ],
[41, "A c 2 a" , "A c 2 a" ],
[41, "B 2 c b" , "B 2 c b" ],
[41, "B b a 2" , "B b a 2" ],
[41, "C 2 c b" , "C 2 c b" ],
[41, "C c 2 a" , "C c 2 a" ],
[41, "A e 2 a" , "A e 2 a" ],
[41, "A c 2 a" , "A e 2 a" ],
[41, "B 2 e b" , "B 2 e b" ],
[41, "B 2 c b" , "B 2 e b" ],
[41, "B b e 2" , "B b e 2" ],
[41, "B b a 2" , "B b e 2" ],
[41, "C 2 e b" , "C 2 e b" ],
[41, "C 2 c b" , "C 2 e b" ],
[41, "C c 2 e" , "C c 2 e" ],
[41, "C c 2 a" , "C c 2 e" ],
[42, "F 2 m m" , "F 2 m m" ],
[42, "F m 2 m" , "F m 2 m" ],
[42, "F m m 2" , "F m m 2" ],
Expand Down Expand Up @@ -554,11 +567,16 @@ our @EXPORT = qw( @names );
[63, "B b m m" , "B b m m" ],
[63, "B m m b" , "B m m b" ],
[63, "C c m m" , "C c m m" ],
[64, "A b m a" , "A b m a" ],
[64, "A c a m" , "A c a m" ],
[64, "B b c m" , "B b c m" ],
[64, "B m a b" , "B m a b" ],
[64, "C c m b" , "C c m b" ],
[64, "A e m a" , "A e m a" ],
[64, "A b m a" , "A e m a" ],
[64, "A e a m" , "A e a m" ],
[64, "A c a m" , "A e a m" ],
[64, "B b e m" , "B b e m" ],
[64, "B b c m" , "B b e m" ],
[64, "B m e b" , "B m e b" ],
[64, "B m a b" , "B m e b" ],
[64, "C c m e" , "C c m e" ],
[64, "C c m b" , "C c m e" ],
[65, "A m m m" , "A m m m" ],
[65, "B m m m" , "B m m m" ],
[65, "C m m m" , "C m m m" ],
Expand All @@ -569,11 +587,13 @@ our @EXPORT = qw( @names );
[67, "A c m m" , "A c m m" ],
[67, "B m a m" , "B m a m" ],
[67, "B m c m" , "B m c m" ],
[67, "C m m a" , "C m m a" ],
[67, "C m m b" , "C m m b" ],
[68, "A b a a" , "A b a a" ],
[68, "A c a a" , "A c a a" ],
[68, "B b a b" , "B b a b" ],
[68, "B b c b" , "B b c b" ],
[68, "C c c a" , "C c c a" ],
[68, "C c c b" , "C c c b" ],
[69, "F m m m" , "F m m m" ],
[70, "F d d d" , "F d d d" ],
Expand Down Expand Up @@ -667,18 +687,22 @@ our @EXPORT = qw( @names );
[59, "P n m m :2", "P n m m :2"],
[59, "P m n m :1", "P m n m :1"],
[59, "P m n m :2", "P m n m :2"],
[68, "C c c a :1", "C c c a :1"],
[68, "C c c a :2", "C c c a :2"],
[68, "C c c b :1", "C c c b :1"],
[68, "C c c b :2", "C c c b :2"],
[68, "A b a a :1", "A b a a :1"],
[68, "A b a a :2", "A b a a :2"],
[68, "A c a a :1", "A c a a :1"],
[68, "A c a a :2", "A c a a :2"],
[68, "B b c b :1", "B b c b :1"],
[68, "B b c b :2", "B b c b :2"],
[68, "B b a b :1", "B b a b :1"],
[68, "B b a b :2", "B b a b :2"],
# The following entires were redefined
# in accordance to the notation using
# the 'e' symbol
#
#[68, "C c c a :1", "C c c a :1"],
#[68, "C c c a :2", "C c c a :2"],
#[68, "C c c b :1", "C c c b :1"],
#[68, "C c c b :2", "C c c b :2"],
#[68, "A b a a :1", "A b a a :1"],
#[68, "A b a a :2", "A b a a :2"],
#[68, "A c a a :1", "A c a a :1"],
#[68, "A c a a :2", "A c a a :2"],
#[68, "B b c b :1", "B b c b :1"],
#[68, "B b c b :2", "B b c b :2"],
#[68, "B b a b :1", "B b a b :1"],
#[68, "B b a b :2", "B b a b :2"],
[70, "F d d d :1", "F d d d :1"],
[70, "F d d d :2", "F d d d :2"],
[85, "P 4/n :1", "P 4/n :1"],
Expand Down Expand Up @@ -720,6 +744,61 @@ our @EXPORT = qw( @names );
[228, "F d -3 c :1", "F d -3 c :1"],
[228, "F d -3 c :2", "F d -3 c :2"],

# H-M symbols added in order to correctly process the space groups with 'e'
# notation (see International Tables of Crystallography Volume A)

[67, "A e m m" , "A e m m" ], # Represents 'A b m m' and 'A c m m'
[67, "B m e m" , "B m e m" ], # Represents 'B m a m' and 'B m c m'
[67, "C m m e" , "C m m e" ], # Represents 'C m m a' and 'C m m b'
[67, "A e m m :1", "A e m m :1"],
[67, "A b m m :1", "A b m m :1"],
[67, "A c m m :1", "A c m m :1"],
[67, "A e m m :2", "A e m m :2"],
[67, "A b m m :2", "A b m m :2"],
[67, "A c m m :2", "A c m m :2"],
[67, "B m e m :1", "B m e m :1"],
[67, "B m a m :1", "B m a m :1"],
[67, "B m c m :1", "B m c m :1"],
[67, "B m e m :2", "B m e m :2"],
[67, "B m a m :2", "B m a m :2"],
[67, "B m c m :2", "B m c m :2"],
[67, "C m m e :1", "C m m e :1"],
[67, "C m m a :1", "C m m a :1"],
[67, "C m m b :1", "C m m b :1"],
[67, "C m m e :2", "C m m e :2"],
[67, "C m m a :2", "C m m a :2"],
[67, "C m m b :2", "C m m b :2"],

[68, "A e a a" , "A e a a" ], # Represents 'A b a a' and 'A c a a'
[68, "B b e b" , "B b e b" ], # Represents 'B b a b' and 'B b c b'
[68, "C c c e" , "C c c e" ], # Represents 'C c c a' and 'C c c b'
# 'C c c a :1' and 'C c c b :1' have the same symmetry operators,
# so both are renamed to 'C c c e :1'. The same if not true for
# 'C c c a :2' and 'C c c b :2'.
[68, "C c c e :1", "C c c e :1"],
[68, "C c c a :1", "C c c e :1"],
[68, "C c c b :1", "C c c e :1"],
[68, "C c c e :2", "C c c e :2"], # Represents be 'C c c a :2' and 'C c c b :2'
[68, "C c c a :2", "C c c a :2"],
[68, "C c c b :2", "C c c b :2"],
# 'A b a a :1' and 'A c a a :1' have the same symmetry operators,
# so both are renamed to 'A e a a :1'. The same if not true for
# 'A b a a :2' and 'A c a a :2'.
[68, "A e a a :1", "A e a a :1"],
[68, "A b a a :1", "A e a a :1"],
[68, "A c a a :1", "A e a a :1"],
[68, "A e a a :2", "A e a a :2"], # Represents be 'A b a a :2' and 'A c a a :2'
[68, "A b a a :2", "A b a a :2"],
[68, "A c a a :2", "A c a a :2"],
# 'B b c b :1' and 'B b a b :1' have the same symmetry operators,
# so both are renamed to 'B b e b :1'. The same if not true for
# 'B b c b :2' and 'B b a b :2'.
[68, "B b e b :1", "B b e b :1"],
[68, "B b c b :1", "B b e b :1"],
[68, "B b a b :1", "B b e b :1"],
[68, "B b e b :2", "B b e b :2"], # Represents be 'B b c b :2' and 'B b a b :2'
[68, "B b c b :2", "B b c b :2"],
[68, "B b a b :2", "B b a b :2"]
);

1;
1 change: 1 addition & 0 deletions tests/cases/cif_filter_169.inp
2 changes: 2 additions & 0 deletions tests/cases/cif_filter_169.opt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--use-datablocks-without-coordinates
--reformat-space-group
2 changes: 2 additions & 0 deletions tests/cases/cif_filter_169.tst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Tests the way space group names that should be written with the 'e' symbol
are reformatted.
1 change: 1 addition & 0 deletions tests/cases/cif_filter_170.inp
2 changes: 2 additions & 0 deletions tests/cases/cif_filter_170.opt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--use-datablocks-without-coordinates
--estimate-spacegroup
3 changes: 3 additions & 0 deletions tests/cases/cif_filter_170.tst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Tests the way space group is estimated from the operator. The estimated
space group is 'A e a a :1' (which can also be written as 'A b a a :1' and
'A b a a :1').
20 changes: 20 additions & 0 deletions tests/inputs/sg_estimate_Aeaa1.cif
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
data_estimate
loop_
_space_group_symop_id
_space_group_symop_operation_xyz
1 'x,y,z'
2 '-x,-y,z'
3 'x,-y,-z'
4 '-x,y,-z'
5 '-x+1/2,-y+1/2,-z'
6 'x+1/2,y+1/2,-z'
7 '-x+1/2,y+1/2,z'
8 'x+1/2,-y+1/2,z'
9 'x,y+1/2,z+1/2'
10 '-x,-y+1/2,z+1/2'
11 'x,-y+1/2,-z+1/2'
12 '-x,y+1/2,-z+1/2'
13 '-x+1/2,-y+1,-z+1/2'
14 'x+1/2,y+1,-z+1/2'
15 '-x+1/2,y+1,z+1/2'
16 'x+1/2,-y+1,z+1/2'
134 changes: 134 additions & 0 deletions tests/inputs/sg_names_with_e.cif
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
data_1
_space_group_name_H-M_alt 'A e m 2'
data_2
_space_group_name_H-M_alt 'A b m 2'

data_3
_space_group_name_H-M_alt 'A e a 2'
data_4
_space_group_name_H-M_alt 'A b a 2'

data_5
_space_group_name_H-M_alt 'C m c e'
data_6
_space_group_name_H-M_alt 'C m c a'

data_7
_space_group_name_H-M_alt 'A e m m'
data_8
_space_group_name_H-M_alt 'A b m m'
data_9
_space_group_name_H-M_alt 'A c m m'

data_10
_space_group_name_H-M_alt 'B m e m'
data_11
_space_group_name_H-M_alt 'B m a m'
data_12
_space_group_name_H-M_alt 'B m c m'

data_13
_space_group_name_H-M_alt 'C m m e'
data_14
_space_group_name_H-M_alt 'C m m a'
data_15
_space_group_name_H-M_alt 'C m m b'

data_16
_space_group_name_H-M_alt 'A e a a'
data_17
_space_group_name_H-M_alt 'A b a a'
data_18
_space_group_name_H-M_alt 'A c a a'

data_19
_space_group_name_H-M_alt 'B b e b'
data_20
_space_group_name_H-M_alt 'B b a b'
data_21
_space_group_name_H-M_alt 'B b c b'

data_22
_space_group_name_H-M_alt 'C c c e'
data_23
_space_group_name_H-M_alt 'C c c a'
data_24
_space_group_name_H-M_alt 'C c c b'

data_25
_space_group_name_H-M_alt 'A e m m :1'
data_26
_space_group_name_H-M_alt 'A b m m :1'
data_27
_space_group_name_H-M_alt 'A c m m :1'
data_28
_space_group_name_H-M_alt 'A e m m :2'
data_29
_space_group_name_H-M_alt 'A b m m :2'
data_30
_space_group_name_H-M_alt 'A c m m :2'

data_31
_space_group_name_H-M_alt 'B m e m :1'
data_32
_space_group_name_H-M_alt 'B m a m :1'
data_33
_space_group_name_H-M_alt 'B m c m :1'
data_34
_space_group_name_H-M_alt 'B m e m :2'
data_35
_space_group_name_H-M_alt 'B m a m :2'
data_36
_space_group_name_H-M_alt 'B m c m :2'

data_37
_space_group_name_H-M_alt 'C m m e :1'
data_38
_space_group_name_H-M_alt 'C m m a :1'
data_39
_space_group_name_H-M_alt 'C m m b :1'
data_40
_space_group_name_H-M_alt 'C m m e :2'
data_41
_space_group_name_H-M_alt 'C m m a :2'
data_42
_space_group_name_H-M_alt 'C m m b :2'

data_43
_space_group_name_H-M_alt 'C c c e :1'
data_44
_space_group_name_H-M_alt 'C c c a :1'
data_45
_space_group_name_H-M_alt 'C c c b :1'
data_46
_space_group_name_H-M_alt 'C c c e :2'
data_47
_space_group_name_H-M_alt 'C c c a :2'
data_48
_space_group_name_H-M_alt 'C c c b :2'

data_49
_space_group_name_H-M_alt 'A e a a :1'
data_50
_space_group_name_H-M_alt 'A b a a :1'
data_51
_space_group_name_H-M_alt 'A c a a :1'
data_52
_space_group_name_H-M_alt 'A e a a :2'
data_53
_space_group_name_H-M_alt 'A b a a :2'
data_54
_space_group_name_H-M_alt 'A c a a :2'

data_55
_space_group_name_H-M_alt 'B b e b :1'
data_56
_space_group_name_H-M_alt 'B b c b :1'
data_57
_space_group_name_H-M_alt 'B b a b :1'
data_58
_space_group_name_H-M_alt 'B b e b :2'
data_59
_space_group_name_H-M_alt 'B b c b :2'
data_60
_space_group_name_H-M_alt 'B b a b :2'

0 comments on commit 173879a

Please sign in to comment.