From 71909f09daabcd10b478eeeae7279d42928a410f Mon Sep 17 00:00:00 2001 From: ChayaSt Date: Fri, 2 Nov 2018 16:34:05 -0400 Subject: [PATCH 1/2] OpenFF: workaraound to get optimized molecules --- qcfractal/interface/collections/openffworkflow.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/qcfractal/interface/collections/openffworkflow.py b/qcfractal/interface/collections/openffworkflow.py index 0a57643a7..c804708ec 100644 --- a/qcfractal/interface/collections/openffworkflow.py +++ b/qcfractal/interface/collections/openffworkflow.py @@ -356,7 +356,13 @@ def list_final_molecules(self, fragments=None, refresh_cache=False): tmp = {} for k, v in self.data.fragments[frag].items(): if v["hash_index"] in self._torsiondrive_cache: - tmp[k] = self._torsiondrive_cache[v["hash_index"]].final_molecules() + obj = self._torsiondrive_cache[v["hash_index"]] + if isinstance(obj, orm.TorsionDriveORM): + tmp[k] = obj.final_molecules() + elif isinstance(obj, orm.OptimizationORM): + tmp[k] = obj.final_molecule() + else: + raise TypeError("Internal type error encoured, buy a dev a coffee.") else: tmp[k] = None From b77650bf227b4995cde781ab12d51c09185a3b47 Mon Sep 17 00:00:00 2001 From: ChayaSt Date: Fri, 2 Nov 2018 17:25:47 -0400 Subject: [PATCH 2/2] OpenFF: add test for list_final_molecules --- qcfractal/tests/test_collections.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/qcfractal/tests/test_collections.py b/qcfractal/tests/test_collections.py index b47722d29..304b98b3d 100644 --- a/qcfractal/tests/test_collections.py +++ b/qcfractal/tests/test_collections.py @@ -192,6 +192,10 @@ def test_compute_openffworkflow(fractal_compute_server): assert final_energies["HOOH"].keys() == {"label1", "label2"} assert pytest.approx(0.00259754, 1.e-4) == final_energies["HOOH"]["label2"] + final_molecules = wf.list_final_molecules() + assert final_molecules.keys() == {"HOOH"} + assert final_molecules["HOOH"].keys() == {"label1", "label2"} + # Add a second fragment butane = portal.data.get_molecule("butane.json") butane_id = butane.identifiers["canonical_isomeric_explicit_hydrogen_mapped_smiles"]