# $Id: ebi_style_ddl.dic,v 1.4 2001/05/11 17:07:24 keller Exp $ # EBI style extension to the mmCIF ddl. _dictionary.title ebi_style_ddl _dictionary.version '$Revision: 1.4 $' loop_ _category_group_list.id _category_group_list.parent_id _category_group_list.description style_group ddl_group ; Categories to allow the definition of stylistic aspects of mmCIF data ; save_EBI_STYLE _category.description ; Attributes of a particular style ; _category.id ebi_style _category.mandatory_code no _category_key.name '_ebi_style.id' loop_ _category_group.id ddl_group style_group save_ save__ebi_style.id _item_description.description ; The unique identifier of a particular style ; loop_ _item.name _item.category_id _item.mandatory_code '_ebi_style.id' ebi_style yes '_ebi_category_ordering.style_id' ebi_category_ordering yes '_ebi_datablock_ordering.style_id' ebi_datablock_ordering yes '_ebi_category_sort.style_id' ebi_category_sort yes _item_type.code char loop_ _item_linked.child_name _item_linked.parent_name '_ebi_category_ordering.style_id' '_ebi_style.id' '_ebi_datablock_ordering.style_id' '_ebi_style.id' '_ebi_category_sort.style_id' '_ebi_style.id' save_ save__ebi_style.description _item_description.description ; Description of the style ; _item.name '_ebi_style.description' _item.category_id ebi_style _item.mandatory_code yes _item_type.code text save_ save__ebi_style.data_item_grouping _item_description.description ; If data for this category is not looped, whether or not it should feature in the file as a single block ; _item.name '_ebi_style.data_item_grouping' _item.category_id ebi_style _item.mandatory_code yes _item_type.code char loop_ _item_enumeration.value _item_enumeration.detail y 'Non-looped data must be grouped' n 'Non-looped data need not be grouped' save_ save_EBI_DATABLOCK_ORDERING _category.description ; Items in this category define whether a particular category is included in the style or not, and optionally the order in which those categories appear in the datablock ; _category.id ebi_datablock_ordering _category.mandatory_code no loop_ _category_key.name '_ebi_datablock_ordering.style_id' '_ebi_datablock_ordering.category_id' loop_ _category_group.id ddl_group style_group loop_ _category_examples.detail _category_examples.case 'Example illustrating use outside save frames' ; loop_ _ebi_datablock_ordering.style_id _ebi_datablock_ordering.category_id _ebi_datablock_ordering.sequence 'pdbx style' entry 1 'pdbx style' database 2 'pdbx style' database_2 3 'pdbx style' database_PDB_rev 4 # --- truncated for brevity 'pdbx style' pdbx_poly_seq_scheme . 'pdbx style' pdbx_nonpoly_seq_scheme . ; 'Example illustrating use inside save frames' ; save_ENTRY # --- Other dictionary data deleted for brevity _ebi_datablock_ordering.style_id 'pdbx style' _ebi_datablock_ordering.sequence 1 save_ save_DATABASE # --- Other dictionary data deleted for brevity _ebi_datablock_ordering.style_id 'pdbx style' _ebi_datablock_ordering.sequence 2 save_ ; save_ save__ebi_datablock_ordering.style_id _item_description.description ; Pointer to _ebi_style.id ; save_ save__ebi_datablock_ordering.category_id _item_description.description ; Pointer to _category.id To conform to style_id, each datablock should contain data for every category given by this item (where the data exists), and should not contain data for categories that are not given ; _item.name '_ebi_datablock_ordering.category_id' _item.category_id ebi_datablock_ordering _item.mandatory_code implicit save_ save__ebi_datablock_ordering.sequence _item_description.description ; Sequence giving the ordering of categories in the datablock. Where this item is null, the category appears after all the categories which have had sequence specified ; _item.name '_ebi_datablock_ordering.sequence' _item.category_id ebi_datablock_ordering _item.mandatory_code no _item_type.code int save_ save_EBI_CATEGORY_ORDERING _category.description ; Category specifying which data items should be present to conform to the style, and optionally how they should be ordered within their categories ; _category.id ebi_category_ordering _category.mandatory_code no loop_ _category_key.name '_ebi_category_ordering.style_id' '_ebi_category_ordering.item_name' loop_ _category_group.id ddl_group style_group _category_examples.detail ; Example showing how to specify that the first three columns of ATOM_SITE should be _atom_site.group_PDB, _atom_site.id and _atom_site.type_symbol ; _category_examples.case ; loop_ _ebi_category_ordering.style_id _ebi_category_ordering.item_name _ebi_category_ordering.sequence 'pdbx style' '_atom_site.group_PDB' 1 'pdbx style' '_atom_site.id' 2 'pdbx style' '_atom_site.type_symbol' 3 'pdbx style' '_atom_site.entity_id' . # ... # --- Data truncated for brevity ; save_ save__ebi_category_ordering.style_id _item_description.description ; Pointer to _ebi_style.id ; save_ save__ebi_category_ordering.sequence _item_description.description ; Specifies the sequence in which item_name appears within the category If this item is null, item_name appears after all the other items in the same category that have had sequence specfied ; _item.name '_ebi_category_ordering.sequence' _item.category_id ebi_category_ordering _item.mandatory_code no _item_type.code int save_ save__ebi_category_ordering.item_name _item_description.description ; Pointer to _item.name The values given for this item specify which item names should be present in order to conform to style_id (where data is available), and which items should not be present ; _item.name '_ebi_category_ordering.item_name' _item.category_id ebi_category_ordering _item.mandatory_code yes _item_linked.child_name '_ebi_category_ordering.item_name' _item_linked.parent_name '_item.name' save_ save_EBI_CATEGORY_SORT _item_description.description ; Definition of how rows of looped data should be sorted within a category For each value of style_id and category_id, the rows in this category for which tuple_sequence is given specify a tuple for sorting purposes. ; _category.id ebi_category_sort _category.mandatory_code no loop_ _category_key.name '_ebi_category_sort.style_id' '_ebi_category_sort.category_id' '_ebi_category_sort.tuple_sequence' loop_ _category_group.id ddl_group style_group _category_examples.detail ; Example showing how to sort atom_site, treating _atom_site.id as an integer. ; _category_examples.case ; loop_ _ebi_category_sort.style_id _ebi_category_sort.category_id _ebi_category_sort.tuple_sequence _ebi_category_sort.item_name _ebi_category_sort.cast_type_code _ebi_category_sort.cast_fail_action _ebi_category_sort.sort_type 'pdbx style' atom_site 1 '_atom_site.id' int 'skip datablock' asc ; save_ save__ebi_category_sort.style_id _item_description.description ; Pointer to _ebi_style.id ; save_ save__ebi_category_sort.category_id _item_description.description ; Pointer to _category.id The value of this item can be derived implicitly from item_name. ; _item.name '_ebi_category_sort.category_id' _item.category_id ebi_category_sort _item.mandatory_code implicit _item_linked.child_name '_ebi_category_sort.category_id' _item_linked.parent_name '_category.id' save_ save__ebi_category_sort.item_name _item_description.description ; Pointer to _item.name ; _item.name '_ebi_category_sort.item_name' _item.category_id ebi_category_sort _item.mandatory_code yes _item_linked.child_name '_ebi_category_sort.item_name' _item_linked.parent_name '_item.name' save_ save__ebi_category_sort.tuple_sequence _item_description.description ; Specifies the ordering of the components of the tuple for sorting ; _item.name '_ebi_category_sort.tuple_sequence' _item.category_id ebi_category_sort _item.mandatory_code yes _item_type.code int save_ save__ebi_category_sort.cast_type_code _item_description.description ; Specifies that the sort for this item should be in the native order for a different type_code than that specified using _item_type.code for item_name Note that cast_type_code and cast_fail_action must either be both specified or both null ; _item.name '_ebi_category_sort.cast_type_code' _item.category_id ebi_category_sort _item.mandatory_code no _item_linked.child_name '_ebi_category_sort.cast_type_code' _item_linked.parent_name '_item_type_list.code' _item_dependent.name '_ebi_category_sort.cast_type_code' _item_dependent.dependent_name '_ebi_category_sort.cast_fail_action' _item_related.name '_ebi_category_sort.cast_type_code' _item_related.related_name '_ebi_category_sort.cast_fail_action' _item_related.function_code associated_value save_ save__ebi_category_sort.cast_fail_action _item_description.description ; Specifies the action that an application should take where _ebi_category_sort.cast_type_code is given, but a data value does not satisfy the regular expression associated with the target type ; _item.name '_ebi_category_sort.cast_fail_action' _item.category_id ebi_category_sort _item.mandatory_code no _item_type.code char _item_default.value 'skip datablock' loop_ _item_enumeration.value _item_enumeration.detail 'skip datablock' 'Do not process datablock' 'skip category' 'Do not process category' 'skip row' 'Do not process row' save_ save__ebi_category_sort.sort_type _item_description.description ; Whether the item should be sorted in ascending or descending order ; _item.name '_ebi_category_sort.sort_type' _item.category_id ebi_category_sort _item.mandatory_code no _item_type.code code _item_default.value asc loop_ _item_enumeration.value _item_enumeration.detail asc 'Ascending order' desc 'Descending order' save_