Subject: MTRIX and ORIGX # Prepared by Herbert J. Bernstein # with the assistance of Frances C. Bernstein # Comments to yaya@aip.org and bernstei@bnl.gov # 9/22/95 ################################################################### # # # The following definitions are intended to convey the information# # contained in the PDB MTRIX entries, which give the transforms # # representing the non-crystallographic symmetry operations. # # # ################################################################### ################################# ## ATOM_SITES_NON_CRYST_TRANSF ## ################################# save_ATOM_SITES_NON_CRYST_TRANSF _category.description ; Data items in the ATOM_SITES_NON_CRYST_TRANSF category record details about non-crystallographic transformations, which are common to all atom sites or to sub-domains of atom sites. |11 12 13| x |1| x' |21 22 23| ( y ) domain + |2| = ( y' ) result |31 32 33| z |3| z' For each value of the key _atom_sites_non_cryst_transf.id a 3x3 matrix and 3-element vector are used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. The transformation may either result in atomic coordinates _some_ of which approximate coordinates provided elsewhere in the data block, in which case _atom_sites_non_cryst_transf.result_given should have the value "yes," or, if the transformation results in atomic_coordinates which do not approximate any coordinates given elsewhere, _atom_sites_non_cryst_transf.result_given should be "no" or be unspecified. The domains for the transformation are given by items in the atom_sites_non_cryst_transf_domain category ; _category.id atom_sites_non_cryst_transf _category.mandatory_code no _category_key.name '_atom_sites_non_cryst_transf.id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - TO BE PROVIDED ; ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ save__atom_sites_non_cryst_transf.id _item_description.description ; The value of _atom_sites_non_cryst_transf.id must uniquely identify the transformation elements (matrix, vector, and result_given) of a non-crystallographic transformation. Though good style and consistency with PDB practices would suggest the use of sequential integers in the range of 1 through 999, an arbitrary character string is permitted. ; _item.name '_atom_sites_non_cryst_transf.id' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code yes _item_type.code char loop_ _item_linked.child_name _item_linked.parent_name '_atom_sites_non_cryst_transf_domain.id' '_atom_sites_non_cryst_transf.id' save_ save__atom_sites_non_cryst_transf.matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[1][1]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[1][2]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[1][3]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[2][1]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[2][2]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[2][3]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[3][1]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[3][2]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.matrix[3][3]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites_non_cryst_transf.result_given _item_description.description ; The value of _atom_sites_non_cryst_transf.result_given is 'yes' or 'no' (default) indicating whether or not applying the non-crystallographic tranformation to atom sites in the domain of the transformation results in atom sites for which the new coordinates approximate the coordinates of atom sites given elsewhere in the data block. The value 'yes' should be used even if there is only a partial match. ; _item.name '_atom_sites_non_cryst_transf.result_given' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code implicit _item_type.code char _item_default.value no loop_ _item_enumeration.value _item_enumeration.detail yes 'some resulting atoms sites given' no 'no resulting atom sites given' save_ save__atom_sites_non_cryst_transf.vector[1] _item_description.description ; The [1] element of the 3-element vector used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. _item.name '_atom_sites_non_cryst_transf.vector[1]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_type.code float _item_default.value 0.0 _item_sub_category.id vector save_ save__atom_sites_non_cryst_transf.vector[2] _item_description.description ; The [2] element of the 3-element vector used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.vector[2]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_type.code float _item_default.value 0.0 _item_sub_category.id vector save_ save__atom_sites_non_cryst_transf.vector[3] _item_description.description ; The [3] element of the 3-element vector used to transform coordinates as given in the ATOM_SITE category to other coordinates in the same category, representing a non- crystallographic symmetry operation. ; _item.name '_atom_sites_non_cryst_transf.vector[3]' _item.category_id atom_sites_non_cryst_transf _item.mandatory_code no _item_type.code float _item_default.value 0.0 _item_sub_category.id vector save_ ######################################## ## ATOM_SITES_NON_CRYST_TRANSF_DOMAIN ## ######################################## save_ATOM_SITES_NON_CRYST_TRANSF_DOMAIN _category.description ; Data items in the ATOM_SITES_NON_CRYST_TRANSF_DOMAIN category record domains to which transformations given in the atom_sites_non_cryst_transf category should be applied. Domains may be given by structural element id (as, for example, _atom_site.label_asym_id) with an optional range of sequence ids or sequence numbers. Multiple domains may be specified. ; _category.id atom_sites_non_cryst_transf_domain _category.mandatory_code no _category_key.name '_atom_sites_non_cryst_transf_domain.id' loop_ _category_group.id 'inclusive_group' 'atom_group' loop_ _category_examples.detail _category_examples.case # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Example 1 - TO BE PROVIDED ; ; ; # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - save_ #**************************************************************************** # **** NOTE -- entries into the loops in save__struct_asym.id are # needed to establish relationships for the next item #**************************************************************************** save__atom_sites_non_cryst_transf_domain.asym_id _item_description.description ; The value of _atom_sites_non_cryst_transf_domain.asym_id identifies a structural element to which the transformation specified by _atom_sites_non_cryst_transf_domain.id is to be applied. This data item is a pointer to _atom_site.label_asym_id in the ATOM_SITE category and to _struct_asym.id in the STRUCT_ASYM category. ; _item.name '_atom_sites_non_cryst_transf_domain.asym_id' _item.category_id atom_sites_non_cryst_transf_domain _item.mandatory_code no _item_type.code char save_ save__atom_sites_non_cryst_transf_domain.id _item_description.description ; The value of _atom_sites_non_cryst_transf_domain.id links domains to which non-crystallographic transformations are to be applied. This data item is a pointer to _atom_sites_non_cryst_transf.id in the ATOM_SITES_NON_CRYST_TRANSF category ; _item.name '_atom_sites_non_cryst_transf_domain.id' _item.category_id atom_sites_non_cryst_transf_domain _item.mandatory_code yes _item_type.code char save_ #**************************************************************************** # **** NOTE -- entries into the loops in save__atom_site.label_seq_id are # needed to establish relationships for the next two items #**************************************************************************** save__atom_sites_non_cryst_transf_domain.seq_id1 _item_description.description ; The value of _atom_sites_non_cryst_transf_domain.seq_id1 identifies the first of a range of atom sites label_seq_id's to which the transformation specified by _atom_sites_non_cryst_transf_domain.id is to be applied. Note that this field need _not_ be numeric. The "first" atom_site.label_comp_id in a polypeptide chain is the one which is closest to the N-terminus of the chain. The "first" atom_site.label_comp_id in a polynucleotide chain is the one closest to the 5'-terminus of the chain. If not specified, the first label_seq_id within the label_asym_id used is assumed. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_atom_sites_non_cryst_transf_domain.seq_id1' _item.category_id atom_sites_non_cryst_transf_domain _item.mandatory_code implicit _item_type.code char save_ save__atom_sites_non_cryst_transf_domain.seq_id2 _item_description.description ; The value of _atom_sites_non_cryst_transf_domain.seq_id2 identifies the last of a range of atom site label_seq_id's to which the transformation specified by _atom_sites_non_cryst_transf_domain.id is to be applied. Note that this field need _not_ be numeric. The "last" atom_site.label_comp_id in a polypeptide chain is the one which is furthest from the N-terminus of the chain. The "last" atom_site.label_comp_id in a polynucleotide chain is the one furthest the 5'-terminus of the chain. If not specified, the last label_seq_id within the label_asym_id used is assumed. This data item is a pointer to _atom_site.label_seq_id in the ATOM_SITE category. ; _item.name '_atom_sites_non_cryst_transf_domain.seq_id2' _item.category_id atom_sites_non_cryst_transf_domain _item.mandatory_code implicit _item_type.code char save_ #**************************************************************************** # **** NOTE -- entries into the loops in save__entity_poly_seq.num are # needed to establish relationships for the next two items #**************************************************************************** save__atom_sites_non_cryst_transf_domain.seq_num1 _item_description.description ; The value of _atom_sites_non_cryst_transf_domain.seq_num1 identifies the first of a range of atom sites to which the transformation specified by _atom_sites_non_cryst_transf_domain.id is to be applied. If not specified, the first seq_num within the label_asym_id used is assumed. This data item is a pointer to _atom_site.entity_seq_num in the ATOM_SITE category and to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_atom_sites_non_cryst_transf_domain.seq_num1' _item.category_id atom_sites_non_cryst_transf_domain _item.mandatory_code implicit _item_type.code int save_ save__atom_sites_non_cryst_transf_domain.seq_num2 _item_description.description ; The value of _atom_sites_non_cryst_transf_domain.seq_num2 identifies the last of a range of atom sites to which the transformation specified by _atom_sites_non_cryst_transf_domain.id is to be applied. If not specified, the last seq_num within the label_asym_id used is assumed. This data item is a pointer to _atom_site.entity_seq_num in the ATOM_SITE category and to _entity_poly_seq.num in the ENTITY_POLY_SEQ category. ; _item.name '_atom_sites_non_cryst_transf_domain.seq_num2' _item.category_id atom_sites_non_cryst_transf_domain _item.mandatory_code implicit _item_type.code int save_ ################################################################### # # # The following definitions are intended to convey the information# # contained in the PDB ORIGX entries, which give the transform # # necessary to return the coordinates as presented to the # # coordinates as submitted. # # # ################################################################### save__atom_sites.revert_original_transf_matrix[1][1] _item_description.description ; The [1][1] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[1][1]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_matrix[1][2] _item_description.description ; The [1][2] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[1][2]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_matrix[1][3] _item_description.description ; The [1][3] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[1][3]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_matrix[2][1] _item_description.description ; The [2][1] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[2][1]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_matrix[2][2] _item_description.description ; The [2][2] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[2][2]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_matrix[2][3] _item_description.description ; The [2][3] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[2][3]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_matrix[3][1] _item_description.description ; The [3][1] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[3][1]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_matrix[3][2] _item_description.description ; The [3][2] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[3][2]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_matrix[3][3] _item_description.description ; The [3][3] element of the 3x3 matrix used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_matrix[3][3]' _item.category_id atom_sites _item.mandatory_code no _item_sub_category.id matrix _item_type.code float save_ save__atom_sites.revert_original_transf_vector[1] _item_description.description ; The [1] element of the 3-element vector used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. _item.name '_atom_sites.revert_original_transf_vector[1]' _item.category_id atom_sites _item.mandatory_code no _item_type.code float _item_default.value 0.0 _item_sub_category.id vector save_ save__atom_sites.revert_original_transf_vector[2] _item_description.description ; The [2] element of the 3-element vector used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_vector[2]' _item.category_id atom_sites _item.mandatory_code no _item_type.code float _item_default.value 0.0 _item_sub_category.id vector save_ save__atom_sites.revert_original_transf_vector[3] _item_description.description ; The [3] element of the 3-element vector used to transform coordinates as given in the ATOM_SITE category to the original coordinate system as received for preparation of the data block. ; _item.name '_atom_sites.revert_original_transf_vector[3]' _item.category_id atom_sites _item.mandatory_code no _item_type.code float _item_default.value 0.0 _item_sub_category.id vector save_ --- End of forwarded message from Herbert J. Bernstein <yaya@dynamics.chm.bnl.gov>