[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Reply to: [list | sender only]
Re: Comments on Pflugrath's comments
- To: Multiple recipients of list <imgcif-l@bnl.gov>
- Subject: Re: Comments on Pflugrath's comments
- From: "I. David Brown" <idbrown@mcmail.CIS.McMaster.CA>
- Date: Thu, 13 Jun 1996 14:30:43 -0400 (EDT)
Peter Keller's comments elicit a further explanation. To make life more interesting for those out there who are struggling with cif conventions, I should point out that there are two Dictionary Definition Languages (DDL) in use, labelled, conservatively, DDL1 and DDL2. The DDL's are the rules that govern the way in which the cif dictionaries are written, since the dictionaries are themselves written as STAR files. I apologise for the recursiveness of these ideas. Put simply, STAR defines with very few rules a file structure in which datavalues are followed by datanames, loops can be used and character strings delimited. To use a STAR file, one needs to have datanames and definitions of what the corresponding datavalues mean. Thus one needs a dictionary. But the dictionary, i.e. a cif dictionary, can also be stored as a STAR file, providing that there is also a dictionary defining the datanames used in the dictionary. This is the DDL. The DDL also needs a dictionary to define the datanames it uses, but since the datanames used by all dictionaries are essentially the same (_name, _defintion, etc.) it uses itself to define its own structure. Thus the DDL is a special dictionary in that it is constructed using the datanames that it also defines. The DDL defines datanames such as _name, _definition, _example etc., i.e. the data items that one expects to find in a dictionary. The kinds of data items that are defined in the DDL also define the way in which relations between data items in the cif dictionary are expressed. For example data items may only occur in the same loop if they belong to the same category, so one of the DDL datanames is _category, allowing us to define which category a particular data item (e.g. _atom_site_postion) belongs to (e.g. _category atom_site). These features were added to DDL1 to structure the information in the cif in a manner similar to that used in a relational database. Thus the items listed in one loop (category), e.g., bond lengths, need flags that point to other loops, e.g., atomic positions and symmetry operators, so that the properties of the atoms and symmetry operators that were used in calculating the bond can be located within their own loops. All this is available in DDL1, but only the person actually writing the dictionary needs to be aware of it. It is not needed by the people from the discipline who are commenting on the concepts that are being given datanames. The people writing the mmCIF dictionary decided that they needed far more of this kind of structure than was available in DDL1, so they have created a DDL2 which allows pointers back to cif dictionaries that are defined using DDL1 (which at the moment is all except mmCIF). This allows backward compatibility, but not forward. At the same time, they decided to take the opportunity to introduce a few other changes such as removing the restriction on the length of the datanames. This means that if you choose to use DDL2, the restriction is not there, but adopting DDL2 would be a fairly radical solution to what is probably not a problem, like cutting off your foot because it is dirty. We considered adopting DDL2 for all cif dictionaries but rejected it for the time being, because DDL2 is far more structured than is necessary for most applications and would result in additional restrictions. It does, however, mean that a program written to work with a cif dictionary written in DDL1 will not work with a cif dictionary written in DDL2, so that different software is needed. I am sorry if this has been a rather longwinded and unnecessary explanation of why mmCIF has datanames longer than 32 characters. If I had made the explanation any shorter, someone would undoubtedly have asked why we have two DDL's. David ***************************************************** Dr.I.D.Brown Brockhouse Institute for Materials Research, McMaster University, Hamilton, Ontario, Canada 1-(905)-525-9140 ext 24710 *****************************************************
Reply to: [list | sender only]
- Prev by Date: Re: Comments on Pflugrath's comments
- Next by Date: Re: ImageNCIF/CBF
- Prev by thread: Re: Comments on Pflugrath's comments
- Next by thread: Alternative proposal
- Index(es):