[IUCr Home Page]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

_atom_site_aniso_label is broken



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

Reply to: [list | sender only]


Copyright © International Union of Crystallography

IUCr Webmaster