From 6beb44778e1fdd1982c46ff4703004e7e52e5803 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Wed, 15 Jul 2026 20:04:17 +0800 Subject: [PATCH 1/7] Add several more data items from the symCIF dictionary (#628) Added _space_group.reference_setting, _space_group.transform_Pp_abc and _space_group.transform_Qq_xyz --------- Co-authored-by: Antanas Vaitkus (cherry picked from commit f559391e18246def0665a2f08a18f4a5c8eb767d) --- cif_core.dic | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) diff --git a/cif_core.dic b/cif_core.dic index 47c0fe1..e4163a2 100644 --- a/cif_core.dic +++ b/cif_core.dic @@ -12507,6 +12507,172 @@ save_space_group.point_group_h-m save_ +save_space_group.reference_setting + + _definition.id '_space_group.reference_setting' + _definition.update 2026-07-10 + _description.text +; + The reference setting of a given space group is the setting + chosen by the International Union of Crystallography as a + unique setting to which other settings can be referred + using the transformation matrix column pair given in + _space_group.transform_Pp_abc and _space_group.transform_Qq_xyz. + + The settings are given in the enumeration list in the form + '_space_group.IT_number:_space_group.name_Hall'. The + space-group number defines the space-group type and the + Hall symbol specifies the symmetry generators referred to + the reference coordinate system. + + The 230 reference settings chosen are identical to the settings + listed in International Tables for Crystallography Volume A + (2002). For the space groups where more than one setting is + given in International Tables, the following choices have + been made. + + For monoclinic space groups: unique axis b and cell choice 1. + + For space groups with two origins: origin choice 2 (origin at + inversion centre, indicated by adding :2 to the Hermann-Mauguin + symbol in the enumeration list). + + For rhombohedral space groups: hexagonal axes (indicated by + adding :h to the Hermann-Mauguin symbol in the enumeration list). + + Based on the symmetry table of R. W. Grosse-Kunstleve, ETH, + Zurich. + + In the enumeration list, each reference setting is identified + by Schoenflies symbol and by the Hermann-Mauguin symbol, + augmented by :2 or :h suffixes as described above. + + Ref: International Tables for Crystallography (2002). Volume A, + Space-group symmetry, edited by Th. Hahn, 5th ed. + Dordrecht: Kluwer Academic Publishers. + + Grosse-Kunstleve, R. W. (2001). Xtal System of + Crystallographic Programs, System Documentation. + https://xtal.sourceforge.net/man/symmetry.html + (or follow links to Documentation->Xtal Users Manual->Symmetry from + https://xtal.sourceforge.net). +; + _name.category_id space_group + _name.object_id reference_setting + _type.purpose State + _type.source Assigned + _type.container Single + _type.contents Text + + _import.get [{'file':templ_enum.cif 'save':ref_set}] + +save_ + +save_space_group.transform_pp_abc + + _definition.id '_space_group.transform_Pp_abc' + _definition.update 2026-07-10 + _description.text +; + This item specifies the transformation (P,p) of the basis + vectors from the setting used in the CIF (a,b,c) to the + reference setting given in _space_group.reference_setting + (a',b',c'). The value is given in Jones faithful notation + corresponding to the rotational matrix P combined with the + origin shift vector p in the expression: + + (a',b',c') = (a,b,c)P + p. + + P is a post-multiplication matrix of a row (a,b,c) of column + vectors. It is related to the inverse transformation (Q,q) by: + + P = Q^-1^ + p = Pq = -(Q^-1^)q. + + These transformations are applied as follows: + + atomic coordinates (x',y',z') = Q(x,y,z) + q + Miller indices (h',k',l') = (h,k,l)P + symmetry operations W' = (Q,q)W(P,p) + basis vectors (a',b',c') = (a,b,c)P + p + + This item is given as a character string involving the + characters a, b and c with commas separating the expressions + for the a', b' and c' vectors. The numeric values may be + given as integers, fractions or real numbers. Multiplication + is implicit, division must be explicit. White space within + the string is optional. +; + _name.category_id space_group + _name.object_id transform_Pp_abc + _type.purpose Encode + _type.source Recorded + _type.container Single + _type.contents Text + + loop_ + _description_example.case + _description_example.detail + '-b+c, a+c, -a+b+c' 'R3:r to R3:h' + 'a-1/4, b-1/4, c-1/4' 'Pnnn:1 to Pnnn:2' + 'b-1/2, c-1/2, a-1/2' 'Bbab:1 to Ccca:2' + +save_ + +save_space_group.transform_qq_xyz + + _definition.id '_space_group.transform_Qq_xyz' + _definition.update 2026-07-10 + _description.text +; + This item specifies the transformation (Q,q) of the atomic + coordinates from the setting used in the CIF [(x,y,z) referred + to the basis vectors (a,b,c)] to the reference setting given in + _space_group.reference_setting [(x',y',z') referred to the + basis vectors (a',b',c')]. + + The value given in Jones faithful notation corresponds to the + rotational matrix Q combined with the origin shift vector q in + the expression: + + (x',y',z') = Q(x,y,z) + q. + + Q is a pre-multiplication matrix of the column vector (x,y,z). + It is related to the inverse transformation (P,p) by: + + P = Q^-1^ + p = Pq = -(Q^-1^)q, + + where the P and Q transformations are applied as follows: + + atomic coordinates (x',y',z') = Q(x,y,z) + q + Miller indices (h',k',l') = (h,k,l)P + symmetry operations W' = (Q,q)W(P,p) + basis vectors (a',b',c') = (a,b,c)P + p + + This item is given as a character string involving the + characters x, y and z with commas separating the expressions + for the x', y' and z' components. The numeric values may be + given as integers, fractions or real numbers. Multiplication + is implicit, division must be explicit. White space within + the string is optional. +; + _name.category_id space_group + _name.object_id transform_Qq_xyz + _type.purpose Encode + _type.source Recorded + _type.container Single + _type.contents Text + + loop_ + _description_example.case + _description_example.detail + '-x/3+2y/3-z/3, -2x/3+y/3+z/3, x/3+y/3+z/3' 'R3:r to R3:h' + 'x+1/4, y+1/4, z+1/4' 'Pnnn:1 to Pnnn:2' + 'z+1/2, x+1/2, y+1/2' 'Bbab:1 to Ccca:2' + +save_ + save_symmetry.cell_setting _definition.id '_symmetry.cell_setting' @@ -29459,4 +29625,7 @@ save_ J. Appl. Cryst. 57, 1733-1746] Added AUDIT_DATASET for identifying datasets. + + Added _space_group.reference_setting, _space_group.transform_Pp_abc, and + _space_group.transform_Qq_xyz from symCIF to SPACE_GROUP. ; From 6faf25bbe97fc2e5eda784f88401f02419fb11ca Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Mon, 20 Jul 2026 10:27:13 +0800 Subject: [PATCH 2/7] update description of _atom_type.symbol (#631) The atom type symbol contains a charge, not an oxidation state. (cherry picked from commit 7e71113b5cfbb3aab6a26db5c925b047c238c99c) --- cif_core.dic | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cif_core.dic b/cif_core.dic index e4163a2..082f3eb 100644 --- a/cif_core.dic +++ b/cif_core.dic @@ -11,7 +11,7 @@ data_CIF_CORE _dictionary.title CIF_CORE _dictionary.class Instance _dictionary.version 3.3.0 - _dictionary.date 2026-07-10 + _dictionary.date 2026-07-19 _dictionary.uri https://raw.githubusercontent.com/COMCIFS/cif_core/master/cif_core.dic _dictionary.ddl_conformance 4.2.0 @@ -25891,14 +25891,16 @@ save_atom_type.symbol _definition.id '_atom_type.symbol' _alias.definition_id '_atom_type_symbol' - _definition.update 2021-10-27 + _definition.update 2026-07-19 _description.text ; The identity of the atom specie(s) representing this atom type. Normally this code is the element symbol followed by the charge if there is one. The symbol may be composed of any character except - an underline or a blank, with the proviso that digits designate an - oxidation state and must be followed by a + or - character. + an underline or a blank, with the proviso that digits designate a + charge and must be followed by a + or - character. + + Use _atom_type.oxidation_number to indicate the oxidation state. ; _name.category_id atom_type _name.object_id symbol @@ -29550,7 +29552,7 @@ save_ Changed the purpose of the _diffrn_radiation_wavelength.id data item from 'Encode' to 'Key'. ; - 3.3.0 2026-07-10 + 3.3.0 2026-07-19 ; Expanded available form factor parameterisations, added support for isotopes and symmforms for atom sites. More details can be added From bf6d9f277f569dbf409db3ff8d4446395809de5d Mon Sep 17 00:00:00 2001 From: Antanas Vaitkus Date: Tue, 21 Jul 2026 02:36:07 +0300 Subject: [PATCH 3/7] Remove extra word (#637) (cherry picked from commit 2efc4f9669657698a9af7a5e04f93b35e603c8a2) --- cif_core.dic | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cif_core.dic b/cif_core.dic index 082f3eb..ec2cf25 100644 --- a/cif_core.dic +++ b/cif_core.dic @@ -25740,10 +25740,10 @@ save_ save_atom_type.element_symbol _definition.id '_atom_type.element_symbol' - _definition.update 2026-04-20 + _definition.update 2026-07-20 _description.text ; - Element symbol for of this atom type. The default value is extracted + Element symbol of this atom type. The default value is extracted from the ion-to-element enumeration_default list using the index value of _atom_type.symbol. ; From 3cdff8dc9afe02ccf6977d776a54792b4da5de97 Mon Sep 17 00:00:00 2001 From: "jxh@ansto.gov.au" Date: Mon, 20 Jul 2026 17:52:47 +1000 Subject: [PATCH 4/7] Exptl_crystal.id is defined in the multiblock dictionary _exptl_crystal.id as a key data name of a Set category is defined in the multiblock dictionary. (cherry picked from commit d2cf28cc2a5575024d52fffd0dd6948fa06c1c59) --- cif_core.dic | 42 +++--------------------------------------- 1 file changed, 3 insertions(+), 39 deletions(-) diff --git a/cif_core.dic b/cif_core.dic index ec2cf25..5e7be74 100644 --- a/cif_core.dic +++ b/cif_core.dic @@ -11,7 +11,7 @@ data_CIF_CORE _dictionary.title CIF_CORE _dictionary.class Instance _dictionary.version 3.3.0 - _dictionary.date 2026-07-19 + _dictionary.date 2026-07-20 _dictionary.uri https://raw.githubusercontent.com/COMCIFS/cif_core/master/cif_core.dic _dictionary.ddl_conformance 4.2.0 @@ -317,25 +317,6 @@ save_diffrn.ambient_temperature_lt save_ -save_diffrn.crystal_id - - _definition.id '_diffrn.crystal_id' - _definition.update 2022-05-09 - _description.text -; - Identifier for the crystal from which diffraction data were - collected. This is a pointer to _exptl_crystal.id. -; - _name.category_id diffrn - _name.object_id crystal_id - _name.linked_item_id '_exptl_crystal.id' - _type.purpose Link - _type.source Assigned - _type.container Single - _type.contents Word - -save_ - save_diffrn.crystal_support _definition.id '_diffrn.crystal_support' @@ -10788,7 +10769,6 @@ save_EXPTL_CRYSTAL ; _name.category_id EXPTL _name.object_id EXPTL_CRYSTAL - _category_key.name '_exptl_crystal.id' save_ @@ -11142,24 +11122,6 @@ save_exptl_crystal.f_000 save_ -save_exptl_crystal.id - - _definition.id '_exptl_crystal.id' - _alias.definition_id '_exptl_crystal_id' - _definition.update 2022-05-09 - _description.text -; - Code identifying a crystal. -; - _name.category_id exptl_crystal - _name.object_id id - _type.purpose Key - _type.source Assigned - _type.container Single - _type.contents Word - -save_ - save_exptl_crystal.mosaic_block_size _definition.id '_exptl_crystal.mosaic_block_size' @@ -29630,4 +29592,6 @@ save_ Added _space_group.reference_setting, _space_group.transform_Pp_abc, and _space_group.transform_Qq_xyz from symCIF to SPACE_GROUP. + + Remove _exptl_crystal.id as it is present in multiblock dictionary. ; From 55cd2aeeb2ef7d2bef087b544a9c59fb16cfba01 Mon Sep 17 00:00:00 2001 From: vaitkus Date: Wed, 22 Jul 2026 14:54:37 +0300 Subject: [PATCH 5/7] Uppercase category names (cherry picked from commit 9b5d500819d4aff2f9ea286da77c672ec2d214a4) --- cif_core.dic | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cif_core.dic b/cif_core.dic index 5e7be74..e8c78f1 100644 --- a/cif_core.dic +++ b/cif_core.dic @@ -4895,7 +4895,7 @@ save_diffrn_refln.wavelength_id _definition.update 2021-10-27 _description.text ; - Code identifying the wavelength in the diffrn_radiation_wavelength list. + Code identifying the wavelength in the DIFFRN_RADIATION_WAVELENGTH list. ; _name.category_id diffrn_refln _name.object_id wavelength_id @@ -9948,7 +9948,7 @@ save_CHEMICAL_CONN_ATOM the molecular species. They allow a 2D chemical diagram to be reconstructed for use in a publication or in a database search for structural and substructural relationships. In particular, - the chemical_conn_atom data items provide information about the + the CHEMICAL_CONN_ATOM data items provide information about the chemical properties of the atoms in the structure. In cases where crystallographic and molecular symmetry elements coincide they must also contain symmetry-generated atoms, so as to describe @@ -10052,9 +10052,9 @@ save_chemical_conn_atom.nh ; Total number of hydrogen atoms attached to this atom, regardless of whether they are included in the refinement or - the atom_site list. This number will be the same as + the ATOM_SITE list. This number will be the same as _atom_site.attached_hydrogens only if none of the hydrogen - atoms appear in the atom_site list. + atoms appear in the ATOM_SITE list. ; _name.category_id chemical_conn_atom _name.object_id NH @@ -10115,7 +10115,7 @@ save_CHEMICAL_CONN_BOND _description.text ; The category of data items which specify the connections between - the atoms sites in the chemical_conn_atom list and the nature + the atoms sites in the CHEMICAL_CONN_ATOM list and the nature of the chemical bond between these atoms. These are details about the two-dimensional (2D) chemical structure of the molecular species. They allow a 2D chemical diagram to be reconstructed for use in a @@ -10344,10 +10344,10 @@ save_chemical_formula.iupac ; Formula expressed in conformance with IUPAC rules for inorganic and metal-organic compounds where these conflict with the rules - for any other chemical_formula entries. Typically used for + for any other CHEMICAL_FORMULA entries. Typically used for formatting a formula in accordance with journal rules. This should appear in the data block in addition to the most - appropriate of the other chemical_formula data names. + appropriate of the other CHEMICAL_FORMULA data names. Ref: IUPAC (1990). Nomenclature of Inorganic Chemistry. Oxford: Blackwell Scientific Publications. ; From 333328e8fb9d698b499e29b91e695971b315acdd Mon Sep 17 00:00:00 2001 From: James Hester Date: Mon, 20 Jul 2026 18:00:09 +1000 Subject: [PATCH 6/7] Update CIF syntax check action to use 'main' branch (cherry picked from commit ee4e0f29ff6b2a0c79a3b0282ab51646679840f1) --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f7f25ce..b0f575a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,7 +35,7 @@ jobs: # Check syntax of all CIF files - name: Check CIF syntax - uses: COMCIFS/cif_syntax_check_action@master + uses: COMCIFS/cif_syntax_check_action@main id: cif_syntax_check semantics: From bcf7fdb2cb980925f9bc198342b17c3f7c1a30dd Mon Sep 17 00:00:00 2001 From: "jxh@ansto.gov.au" Date: Wed, 5 Aug 2026 15:01:53 +1000 Subject: [PATCH 7/7] Fix dates --- cif_core.dic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cif_core.dic b/cif_core.dic index e8c78f1..40afd02 100644 --- a/cif_core.dic +++ b/cif_core.dic @@ -29514,7 +29514,7 @@ save_ Changed the purpose of the _diffrn_radiation_wavelength.id data item from 'Encode' to 'Key'. ; - 3.3.0 2026-07-19 + 3.3.0 2026-07-20 ; Expanded available form factor parameterisations, added support for isotopes and symmforms for atom sites. More details can be added