Discussion List Archives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Please advise regarding a design of CIF dictionaries formaterialpr operties. .

On Wednesday, September 28, 2011 9:31 AM, Saulius Grazulis wrote:

> I have a question about the design of domain-specific CIF
> dictionaries
> and would like to ask for your advise (and please accept my
> apologies
> and let me know if there is a better mailing list to ask for such
> questions).

I'm not sure the question is quite on-topic here, but I am unaware of another list where it would be more appropriate.


> Now, although this is only a small overhead in CIFs, it would be an
> overkill to specify all these tags separately in a dictionary.
> Thus, I
> would like to "contract" the definition of all
> _prop_<property>_temperature tags into one dictionary datablock:

>From your examples, you are using DDL1.  The specifications say that each item defined in a DDL1 dictionary must be in its own data block, except that the members of an "irreducible set" of items may be defined in the same block.  The items you describe do not seem an irreducible set to me (unlike, for example, all the elements of a single tensor), and DDL1 does not otherwise provide for "contracting" definitions as you want to do.

[specific questions elided]

DDL1 forbids items of different categories being looped together, but permits more than one loop per category.  It also specifies (ITG 2.5.5) that item names be used as definition datablock names.  On the other hand, it is only a convention that item names begin with their category names, though I strongly recommend that you follow it.

Overall, there will be no operational problems in any case until and unless you try to validate the dictionary against its DDL, or to validate CIF instances against the dictionary.  If supporting validation is a goal, however, then you would be best served by avoiding looping any DDL1 items other than _name, by combining definitions only where item names share a distinctive prefix, and by ensuring that each definition block is named according to the defined item name(s).  If contracting item definitions is also an important goal then I would advise you to take Herbert's advice and use DDL2.

John C. Bollinger, Ph.D.
Department of Structural Biology
St. Jude Children's Research Hospital

Email Disclaimer:  www.stjude.org/emaildisclaimer

Reply to: [list | sender only]