Closed vaitkus closed 11 months ago
I think it would be OK to also remove the cif_core import in this PR. I am not sure about the reasoning behing restating the definition of _atom_site_Fourier_wave_vector.seq_id
Ok, I removed the CIF_CORE
import statement.
My suggestion to redefine _atom_site_Fourier_wave_vector.seq_id
in CIF_MAG
is mainly to make the key category item more clearly visible. Currently, the item is stated as the key item of ATOM_SITE_FOURIER_WAVE_VECTOR
, but the definition of the key itself is provided in a completely different dictionary (CIF_MS
). Also, this would make the CIF_MAG
slightly more resilient to changes in the CIF_MAG
(e.g. removal of the _atom_site_Fourier_wave_vector.seq_id
). But this is not really something that we have to definitively decide right now, so feel free to merge the PR without this change.
Finally, I noticed that the ATOM_SITE_FOURIER_WAVE_VECTOR
category is defined as being the child of MS_GROUP
which is the head category of the imported CIF_MS
dictionary. To my understanding, the head category of CIF_MAG
should absorb the head category of CIF_MS
thus making it no longer visible. Can we change the parent category of ATOM_SITE_FOURIER_WAVE_VECTOR
to MAGNETIC
or is my interpretation off here?
Ok, I also just noticed that while the ATOM_SITE_FOURIER_WAVE_VECTOR
category is redefined as Loop
, the _atom_site_Fourier_wave_vector.seq_id
data item is not specified as loop key (actually no items are specified as keys). This is a bug, right?
The atom_site_fourier_wave_vector
category issues should be dealt with by a separate PR. There is a definitely a bug in the way it is currently specified, but it's not clear which dictionary (MS/MAG) is most appropriate to deal with it.
This PR fixes the following issues:
Head
save frame from thecif_ms.dic
dictionary. Previously, the data block name was incorrectly provided.cif_ms.dic
dictionary. This is probably the intended behaviour. Note, that under this mode, even if the definition of a duplicate category is ignored, non-duplicate items from that category are still imported.Additional things to address:
ATOM_SITE_FOURIER_WAVE_VECTOR
category key had to be explicitly specified in this dictionary as well (that part of the definition was copied from thecif_ms.dic
dictionary. Maybe it would make sense to also copy the full definition of the_atom_site_Fourier_wave_vector.seq_id
data item?CIF_CORE
category is a bit redundant since it is already imported in full by theCIF_MS
dictionary.