In a nutshell: Both _atom_site_label and _atom_site_aniso_label have the following lines in their dictionary definitions: ... _category atom_site _list_mandatory yes ... meaning that they must be included in any list containing items from the atom_site category. As an item name can only appear once in any data block, this means that there can only be one list containing _atom_site items in a data block (as _atom_site_label and _atom_site_aniso_label would otherwise appear more than once). As _atom_site_aniso_label is a child of _atom_site_label, it must have values drawn from the _atom_site_label values, so we have a single list, with these two _label data names taking identical values. Also, to be valid a CIF must contain *both* these data items in any loop containing atom_site values. This is not true for many CIFs out there. What was intended (as indicated by the comments in the _atom_site_aniso_label definition) was to allow anisotropic temperature factors to appear in a separate loop. This could be accomplished by setting _list_mandatory to 'no' for both items, and then setting "_list_reference" to either _atom_site_label or _atom_site_aniso_label for all items in the atom_site category, or else by creating a separate _atom_site_aniso category (as was done in the mmCIF). I'm sure the dictionary developers have been aware of this for at least 10 years, judging by a cursory search in the archives. What are the reasons it has been left as-is? And should we programmers write in a special exception for these labels? James. _______________________________________________ cif-developers mailing list cif-developers@iucr.org http://scripts.iucr.org/mailman/listinfo/cif-developers
Copyright © International Union of Crystallography
IUCr Webmaster