From 119ff9386be11504ffcc84623e411ab238e4d43a Mon Sep 17 00:00:00 2001 From: "Lori A. Burns" Date: Mon, 16 Apr 2018 04:15:43 -0400 Subject: [PATCH 1/2] psi: initial Psi4 Mol extensions --- qc_schema/ext/molecule-psi4.py | 83 ++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 qc_schema/ext/molecule-psi4.py diff --git a/qc_schema/ext/molecule-psi4.py b/qc_schema/ext/molecule-psi4.py new file mode 100644 index 0000000..b7b477c --- /dev/null +++ b/qc_schema/ext/molecule-psi4.py @@ -0,0 +1,83 @@ +""" +The json-schema extension defining Psi4 Molecules + +""" +molecule = { + "$schema": "http://json-schema.org/draft-04/schema#", + "properties": { + "psi4:elez": { + "description": "(nat, ) atomic numbers, nuclear charge for atoms.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "psi4:elea": { + "description": "(nat, ) mass numbers for atoms, if known isotope, else -1.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "psi4:elbl": { + "description": "(nat, ) atom labels with any tagging information from element spec.", + "type": "array", + "items": { + "type": "string" + } + }, + "psi4:units": { + "description": "Units for `geometry`.", + "type": "string", + "enum": ["Angstrom", "Bohr"] + }, + "psi4:input_units_to_au": { + "description": "If `units='Angstrom'`, overrides consumer's value for [A]-->[a0] conversion.", + "type": "number" + }, + "psi4:fragment_files": { + "description": "(nfr, ) lowercased names of efp fragment files (no path info).", + "type": "array", + "items": { + "type": "string" + } + }, + "psi4:hint_types": { + "description": "(nfr, ) type of fragment orientation hint.", + "type": "string", + "enum": ["xyzabc", "points"] + }, + "psi4:geom_hints": { + "description": "(nfr, ) inner lists have length 6 (xyzabc; to orient the center) or + 9 (points; to orient the first three atoms) of the EFP fragment.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + }, + "psi4:geom_unsettled": { + "description": "(nat, ) all-string Cartesian and/or zmat anchor and value contents.", + "type": "array", + "items": { + "type": "string" + } + }, + "psi4:variables": { + "description": "(nvar, 2) pairs of variables (str) and values (float). May be incomplete.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string", + } + } + } + }, + "required": ["symbols", "geometry"], + "description": "The physical cartesian representation of the molecular system" +} From 9cf3dffe9afd79696ef2fa7b8d9377870387eaf3 Mon Sep 17 00:00:00 2001 From: "Lori A. Burns" Date: Wed, 17 Oct 2018 14:47:31 -0400 Subject: [PATCH 2/2] expand Molecule schema contents --- qc_schema/ext/molecule-psi4.py | 83 ---------------------------------- qcschema/dev/molecule.py | 27 +++++++++++ 2 files changed, 27 insertions(+), 83 deletions(-) delete mode 100644 qc_schema/ext/molecule-psi4.py diff --git a/qc_schema/ext/molecule-psi4.py b/qc_schema/ext/molecule-psi4.py deleted file mode 100644 index b7b477c..0000000 --- a/qc_schema/ext/molecule-psi4.py +++ /dev/null @@ -1,83 +0,0 @@ -""" -The json-schema extension defining Psi4 Molecules - -""" -molecule = { - "$schema": "http://json-schema.org/draft-04/schema#", - "properties": { - "psi4:elez": { - "description": "(nat, ) atomic numbers, nuclear charge for atoms.", - "type": "array", - "items": { - "type": "number", - "multipleOf": 1.0 - } - }, - "psi4:elea": { - "description": "(nat, ) mass numbers for atoms, if known isotope, else -1.", - "type": "array", - "items": { - "type": "number", - "multipleOf": 1.0 - } - }, - "psi4:elbl": { - "description": "(nat, ) atom labels with any tagging information from element spec.", - "type": "array", - "items": { - "type": "string" - } - }, - "psi4:units": { - "description": "Units for `geometry`.", - "type": "string", - "enum": ["Angstrom", "Bohr"] - }, - "psi4:input_units_to_au": { - "description": "If `units='Angstrom'`, overrides consumer's value for [A]-->[a0] conversion.", - "type": "number" - }, - "psi4:fragment_files": { - "description": "(nfr, ) lowercased names of efp fragment files (no path info).", - "type": "array", - "items": { - "type": "string" - } - }, - "psi4:hint_types": { - "description": "(nfr, ) type of fragment orientation hint.", - "type": "string", - "enum": ["xyzabc", "points"] - }, - "psi4:geom_hints": { - "description": "(nfr, ) inner lists have length 6 (xyzabc; to orient the center) or - 9 (points; to orient the first three atoms) of the EFP fragment.", - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number" - } - } - }, - "psi4:geom_unsettled": { - "description": "(nat, ) all-string Cartesian and/or zmat anchor and value contents.", - "type": "array", - "items": { - "type": "string" - } - }, - "psi4:variables": { - "description": "(nvar, 2) pairs of variables (str) and values (float). May be incomplete.", - "type": "array", - "items": { - "type": "array", - "items": { - "type": "string", - } - } - } - }, - "required": ["symbols", "geometry"], - "description": "The physical cartesian representation of the molecular system" -} diff --git a/qcschema/dev/molecule.py b/qcschema/dev/molecule.py index 71ed266..3d76cc3 100644 --- a/qcschema/dev/molecule.py +++ b/qcschema/dev/molecule.py @@ -29,6 +29,29 @@ "type": "number" } }, + "atomic_number": { + "description": "(nat, ) atomic numbers, nuclear charge for atoms.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "mass_numbers": { + "description": "(nat, ) mass numbers for atoms, if known isotope, else -1.", + "type": "array", + "items": { + "type": "number", + "multipleOf": 1.0 + } + }, + "atom_labels": { + "description": "(nat, ) atom labels with any user tagging information.", + "type": "array", + "items": { + "type": "string" + } + }, "name": { "description": "The name of the molecule.", "type": "string" @@ -106,6 +129,10 @@ "type": "boolean", "default": False }, + "fix_symmetry":{ + "description": "Maximal point group symmetry which `geometry` should be treated. Lowercase.", + "type": "string" + }, "provenance": { "type": "object", "$ref": "#/definitions/provenance"