Closed fxcoudert closed 2 months ago
The spacegroup name in the file is:
_symmetry_space_group_name_H-M 'F d 3 m'
and should be F d -3 m
. So the space group is not recognized, and no symmetry operations are applied (_symmetry_equiv_pos_as_xyz
is not used when determining spacegroup, only the name).
What would expected in such a case? Throwing an exceptions from get_all_unit_cell_sites()
?
Hum, I didn't see that. F d 3 m
is the older name for F d -3 m
, it is used and accepted by all crystallographic software I know: CrystalMaker, Mercury, Platon, etc. (see for example, for Platon, table 9.1 here: http://cad4.cpac.washington.edu/structures/software/WinGX/manuals/platon.pdf)
It is present in “Table 12.3.4.1. Standard space-group symbols” of the International Tables For Crystallography - Vol A - Space group symmetry (2002 edition).
Maybe it should be recognised as a synonym? Or the software should get the _symmetry_Int_Tables_number
that is included in the CIF file, if it does not know the H-M symbol?
OK, I see that cctbx also recognizes it without -
. I'll look into it.
I just added a way to use space group determined from symmetry operations instead of H-M name:
st.determine_spacegroup_from("x"); // before the spacegroup gets used
(x stands for xyz list). This might be more reliable than the name, because the names can be ambiguous. I could also add using a number as a fallback, but that's even more ambiguous. I'll think about it. If I add numbers, "n" would stand for number, "h" for H-M name.
I made two changes to accommodate more spacegroups from the PLATON manual. Now only two of them don't parse: "I2/N" and "I43M". It bothers me a bit, but these two symbols also don't parse in cctbx, which is used in various crystallographic programs, so I guess it's fine.
I'll probably also change how the space group is determined by default, but I don't know yet how it should work. In principle, we can use the list of operations, Hall symbol, H-M symbol and space group number. But I suppose not all these fields are reliable in all the files out there. Throwing error when, for example, the Hall symbol is wrong, could be annoying to some people. OTOH, silently ignoring fields that are wrong and just taking the space group from other fields would make it harder to track what's going on. I'll ask around what space group-related fields should be used, and how much consistency checking is expected when reading a file.
FTR, space group settings are now set up in a maximally configurable manner: https://gemmi.readthedocs.io/en/latest/mol.html#smallstructure-spacegroup
Either this is a bug, or I'm completely misunderstanding what this function is supposed to do:
The first 5 is the number of sites alright, but after application of symmetry operations, there should be 576 sites/unit cell. Right now, it seems that the function is doing nothing.
This is the CIF file I used, but I see it on many others: