From 4c1a6597d28bf3e4f16903e17ce33bcdd0c73339 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 27 May 2020 21:29:21 +0200 Subject: [PATCH 01/26] Fixed tests --- nanoCAT/recipes/cdft_utils.pyi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi new file mode 100644 index 0000000..4f1703c --- /dev/null +++ b/nanoCAT/recipes/cdft_utils.pyi @@ -0,0 +1,20 @@ +import sys +from typing import Optional, Mapping, Type, Any, overload, List +from scm.plams import Settings, Molecule, ADFJob, ADFResults +from qmflows import Settings as QmSettings +from qmflows.packages.SCM import ADF, ADF_Result + +if sys.version_info < (3, 7): + from typing_extensions import Literal +else: + from typing import Literal + +__all__: List[str] = ... + +cdft: QmSettings = ... + +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... + From 707b093df2ec71c65b1cd1ef9b49c8c0a1948e71 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Thu, 28 May 2020 17:49:33 +0200 Subject: [PATCH 02/26] WiP --- nanoCAT/recipes/cdft_utils.pyi | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi deleted file mode 100644 index 4f1703c..0000000 --- a/nanoCAT/recipes/cdft_utils.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Optional, Mapping, Type, Any, overload, List -from scm.plams import Settings, Molecule, ADFJob, ADFResults -from qmflows import Settings as QmSettings -from qmflows.packages.SCM import ADF, ADF_Result - -if sys.version_info < (3, 7): - from typing_extensions import Literal -else: - from typing import Literal - -__all__: List[str] = ... - -cdft: QmSettings = ... - -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... - From cae7d6f2812b68b1ea763cd8f4367369a09d981f Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 27 May 2020 21:29:21 +0200 Subject: [PATCH 03/26] Fixed tests --- nanoCAT/recipes/cdft_utils.pyi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi new file mode 100644 index 0000000..4f1703c --- /dev/null +++ b/nanoCAT/recipes/cdft_utils.pyi @@ -0,0 +1,20 @@ +import sys +from typing import Optional, Mapping, Type, Any, overload, List +from scm.plams import Settings, Molecule, ADFJob, ADFResults +from qmflows import Settings as QmSettings +from qmflows.packages.SCM import ADF, ADF_Result + +if sys.version_info < (3, 7): + from typing_extensions import Literal +else: + from typing import Literal + +__all__: List[str] = ... + +cdft: QmSettings = ... + +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... + From 86a11ce9754fd39d0f0fd3e4d3bfce9a88c3010a Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Thu, 28 May 2020 17:49:33 +0200 Subject: [PATCH 04/26] WiP --- nanoCAT/recipes/cdft_utils.pyi | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi deleted file mode 100644 index 4f1703c..0000000 --- a/nanoCAT/recipes/cdft_utils.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Optional, Mapping, Type, Any, overload, List -from scm.plams import Settings, Molecule, ADFJob, ADFResults -from qmflows import Settings as QmSettings -from qmflows.packages.SCM import ADF, ADF_Result - -if sys.version_info < (3, 7): - from typing_extensions import Literal -else: - from typing import Literal - -__all__: List[str] = ... - -cdft: QmSettings = ... - -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... - From 73ab6f77c37995e663aac2eccb6ea3965e59eef0 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 27 May 2020 21:29:21 +0200 Subject: [PATCH 05/26] Fixed tests --- nanoCAT/recipes/cdft_utils.pyi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi new file mode 100644 index 0000000..4f1703c --- /dev/null +++ b/nanoCAT/recipes/cdft_utils.pyi @@ -0,0 +1,20 @@ +import sys +from typing import Optional, Mapping, Type, Any, overload, List +from scm.plams import Settings, Molecule, ADFJob, ADFResults +from qmflows import Settings as QmSettings +from qmflows.packages.SCM import ADF, ADF_Result + +if sys.version_info < (3, 7): + from typing_extensions import Literal +else: + from typing import Literal + +__all__: List[str] = ... + +cdft: QmSettings = ... + +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... + From ad587ebe9f7e36c2992b303a08de6b4a7a2e4f88 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Thu, 28 May 2020 17:49:33 +0200 Subject: [PATCH 06/26] WiP --- nanoCAT/recipes/cdft_utils.pyi | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi deleted file mode 100644 index 4f1703c..0000000 --- a/nanoCAT/recipes/cdft_utils.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Optional, Mapping, Type, Any, overload, List -from scm.plams import Settings, Molecule, ADFJob, ADFResults -from qmflows import Settings as QmSettings -from qmflows.packages.SCM import ADF, ADF_Result - -if sys.version_info < (3, 7): - from typing_extensions import Literal -else: - from typing import Literal - -__all__: List[str] = ... - -cdft: QmSettings = ... - -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... - From d5901b7f78b7d6eeb0338fdc6d6541e03269fa73 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 27 May 2020 21:29:21 +0200 Subject: [PATCH 07/26] Fixed tests --- nanoCAT/recipes/cdft_utils.pyi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi new file mode 100644 index 0000000..4f1703c --- /dev/null +++ b/nanoCAT/recipes/cdft_utils.pyi @@ -0,0 +1,20 @@ +import sys +from typing import Optional, Mapping, Type, Any, overload, List +from scm.plams import Settings, Molecule, ADFJob, ADFResults +from qmflows import Settings as QmSettings +from qmflows.packages.SCM import ADF, ADF_Result + +if sys.version_info < (3, 7): + from typing_extensions import Literal +else: + from typing import Literal + +__all__: List[str] = ... + +cdft: QmSettings = ... + +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... + From 39fb3026c179ecd0a870373cee6c42d32c010ece Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Thu, 28 May 2020 17:49:33 +0200 Subject: [PATCH 08/26] WiP --- nanoCAT/recipes/cdft_utils.pyi | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi deleted file mode 100644 index 4f1703c..0000000 --- a/nanoCAT/recipes/cdft_utils.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Optional, Mapping, Type, Any, overload, List -from scm.plams import Settings, Molecule, ADFJob, ADFResults -from qmflows import Settings as QmSettings -from qmflows.packages.SCM import ADF, ADF_Result - -if sys.version_info < (3, 7): - from typing_extensions import Literal -else: - from typing import Literal - -__all__: List[str] = ... - -cdft: QmSettings = ... - -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... - From 3c514de98ebb42661998efc8468d134ff66756b1 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 3 Jun 2020 19:01:10 +0200 Subject: [PATCH 09/26] Update cdft.py --- nanoCAT/cdft.py | 1 + 1 file changed, 1 insertion(+) diff --git a/nanoCAT/cdft.py b/nanoCAT/cdft.py index c288167..5bcca41 100644 --- a/nanoCAT/cdft.py +++ b/nanoCAT/cdft.py @@ -3,6 +3,7 @@ import yaml import pandas as pd +from numpy import nan from qmflows import templates as _templates from qmflows.packages.SCM import ADF_Result From 76a84b1a6325b16da3347c405a880dace1db5bd0 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 3 Jun 2020 23:56:03 +0200 Subject: [PATCH 10/26] Update cdft.py --- nanoCAT/cdft.py | 1 - 1 file changed, 1 deletion(-) diff --git a/nanoCAT/cdft.py b/nanoCAT/cdft.py index 5bcca41..c288167 100644 --- a/nanoCAT/cdft.py +++ b/nanoCAT/cdft.py @@ -3,7 +3,6 @@ import yaml import pandas as pd -from numpy import nan from qmflows import templates as _templates from qmflows.packages.SCM import ADF_Result From 335fde254637d389c9d7b2b12da4cc7af72f3e26 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 27 May 2020 21:29:21 +0200 Subject: [PATCH 11/26] Fixed tests --- nanoCAT/recipes/cdft_utils.pyi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi new file mode 100644 index 0000000..4f1703c --- /dev/null +++ b/nanoCAT/recipes/cdft_utils.pyi @@ -0,0 +1,20 @@ +import sys +from typing import Optional, Mapping, Type, Any, overload, List +from scm.plams import Settings, Molecule, ADFJob, ADFResults +from qmflows import Settings as QmSettings +from qmflows.packages.SCM import ADF, ADF_Result + +if sys.version_info < (3, 7): + from typing_extensions import Literal +else: + from typing import Literal + +__all__: List[str] = ... + +cdft: QmSettings = ... + +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... + From 390b058073c42f93d940d3da91043bc163d33248 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Thu, 28 May 2020 17:49:33 +0200 Subject: [PATCH 12/26] WiP --- nanoCAT/recipes/cdft_utils.pyi | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi deleted file mode 100644 index 4f1703c..0000000 --- a/nanoCAT/recipes/cdft_utils.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Optional, Mapping, Type, Any, overload, List -from scm.plams import Settings, Molecule, ADFJob, ADFResults -from qmflows import Settings as QmSettings -from qmflows.packages.SCM import ADF, ADF_Result - -if sys.version_info < (3, 7): - from typing_extensions import Literal -else: - from typing import Literal - -__all__: List[str] = ... - -cdft: QmSettings = ... - -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... - From 99c40d70c67b5759172b4f166f0c6a6b24293b06 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 27 May 2020 21:29:21 +0200 Subject: [PATCH 13/26] Fixed tests --- nanoCAT/recipes/cdft_utils.pyi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi new file mode 100644 index 0000000..4f1703c --- /dev/null +++ b/nanoCAT/recipes/cdft_utils.pyi @@ -0,0 +1,20 @@ +import sys +from typing import Optional, Mapping, Type, Any, overload, List +from scm.plams import Settings, Molecule, ADFJob, ADFResults +from qmflows import Settings as QmSettings +from qmflows.packages.SCM import ADF, ADF_Result + +if sys.version_info < (3, 7): + from typing_extensions import Literal +else: + from typing import Literal + +__all__: List[str] = ... + +cdft: QmSettings = ... + +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... + From 7bf7881bab875522554ca12778f3f08b3a85cbf0 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Thu, 28 May 2020 17:49:33 +0200 Subject: [PATCH 14/26] WiP --- nanoCAT/recipes/cdft_utils.pyi | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi deleted file mode 100644 index 4f1703c..0000000 --- a/nanoCAT/recipes/cdft_utils.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Optional, Mapping, Type, Any, overload, List -from scm.plams import Settings, Molecule, ADFJob, ADFResults -from qmflows import Settings as QmSettings -from qmflows.packages.SCM import ADF, ADF_Result - -if sys.version_info < (3, 7): - from typing_extensions import Literal -else: - from typing import Literal - -__all__: List[str] = ... - -cdft: QmSettings = ... - -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... - From 839a9727d30a88061521686b9e4ac1be0883068b Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 27 May 2020 21:29:21 +0200 Subject: [PATCH 15/26] Fixed tests --- nanoCAT/recipes/cdft_utils.pyi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi new file mode 100644 index 0000000..4f1703c --- /dev/null +++ b/nanoCAT/recipes/cdft_utils.pyi @@ -0,0 +1,20 @@ +import sys +from typing import Optional, Mapping, Type, Any, overload, List +from scm.plams import Settings, Molecule, ADFJob, ADFResults +from qmflows import Settings as QmSettings +from qmflows.packages.SCM import ADF, ADF_Result + +if sys.version_info < (3, 7): + from typing_extensions import Literal +else: + from typing import Literal + +__all__: List[str] = ... + +cdft: QmSettings = ... + +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... + From da821f5cebb0346c06a037df3199ebf840e10207 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Thu, 28 May 2020 17:49:33 +0200 Subject: [PATCH 16/26] WiP --- nanoCAT/recipes/cdft_utils.pyi | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi deleted file mode 100644 index 4f1703c..0000000 --- a/nanoCAT/recipes/cdft_utils.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Optional, Mapping, Type, Any, overload, List -from scm.plams import Settings, Molecule, ADFJob, ADFResults -from qmflows import Settings as QmSettings -from qmflows.packages.SCM import ADF, ADF_Result - -if sys.version_info < (3, 7): - from typing_extensions import Literal -else: - from typing import Literal - -__all__: List[str] = ... - -cdft: QmSettings = ... - -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... - From 17d34d601323fa4534e0a302b671b1fb4ae7be3a Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 27 May 2020 21:29:21 +0200 Subject: [PATCH 17/26] Fixed tests --- nanoCAT/recipes/cdft_utils.pyi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi new file mode 100644 index 0000000..4f1703c --- /dev/null +++ b/nanoCAT/recipes/cdft_utils.pyi @@ -0,0 +1,20 @@ +import sys +from typing import Optional, Mapping, Type, Any, overload, List +from scm.plams import Settings, Molecule, ADFJob, ADFResults +from qmflows import Settings as QmSettings +from qmflows.packages.SCM import ADF, ADF_Result + +if sys.version_info < (3, 7): + from typing_extensions import Literal +else: + from typing import Literal + +__all__: List[str] = ... + +cdft: QmSettings = ... + +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... +@overload +def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... + From e7bb070026f46d763099ab37a9d9d00eca0c9e70 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Thu, 28 May 2020 17:49:33 +0200 Subject: [PATCH 18/26] WiP --- nanoCAT/recipes/cdft_utils.pyi | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 nanoCAT/recipes/cdft_utils.pyi diff --git a/nanoCAT/recipes/cdft_utils.pyi b/nanoCAT/recipes/cdft_utils.pyi deleted file mode 100644 index 4f1703c..0000000 --- a/nanoCAT/recipes/cdft_utils.pyi +++ /dev/null @@ -1,20 +0,0 @@ -import sys -from typing import Optional, Mapping, Type, Any, overload, List -from scm.plams import Settings, Molecule, ADFJob, ADFResults -from qmflows import Settings as QmSettings -from qmflows.packages.SCM import ADF, ADF_Result - -if sys.version_info < (3, 7): - from typing_extensions import Literal -else: - from typing import Literal - -__all__: List[str] = ... - -cdft: QmSettings = ... - -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: ADF = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADF_Result: ... -@overload -def conceptual_dft(mol: Molecule, setting: Mapping, job_type: Type[ADFJob] = ..., template: Optional[Settings] = ..., **kwargs: Any) -> ADFResults: ... - From 08dfa6c98a2a69482fb55910d58f22a1499e89b9 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 3 Jun 2020 17:04:23 +0200 Subject: [PATCH 19/26] Moved a number of functions to the `nanoutils` package --- CHANGELOG.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 239a353..c3ca48d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,6 +15,11 @@ This project adheres to `Semantic Versioning `_. * Moved a number of functions to the `nanoutils `_ package. +0.6.0 +***** +* Moved a number of functions to the `nanoutils `_ package. + + 0.5.4 ***** * Add the ``nth_shell`` argument to the ``replace_surface()`` recipe. From 6252e2fcdcec25156dc18512038a6f33fb0e730c Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 3 Jun 2020 19:01:10 +0200 Subject: [PATCH 20/26] Update cdft.py --- nanoCAT/cdft.py | 1 + 1 file changed, 1 insertion(+) diff --git a/nanoCAT/cdft.py b/nanoCAT/cdft.py index c288167..5bcca41 100644 --- a/nanoCAT/cdft.py +++ b/nanoCAT/cdft.py @@ -3,6 +3,7 @@ import yaml import pandas as pd +from numpy import nan from qmflows import templates as _templates from qmflows.packages.SCM import ADF_Result From a64b175d328c6988f9ef66a811939b9bd7946cf3 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 3 Jun 2020 23:56:03 +0200 Subject: [PATCH 21/26] Update cdft.py --- nanoCAT/cdft.py | 1 - 1 file changed, 1 deletion(-) diff --git a/nanoCAT/cdft.py b/nanoCAT/cdft.py index 5bcca41..c288167 100644 --- a/nanoCAT/cdft.py +++ b/nanoCAT/cdft.py @@ -3,7 +3,6 @@ import yaml import pandas as pd -from numpy import nan from qmflows import templates as _templates from qmflows.packages.SCM import ADF_Result From 8d9c6b884c84ade2955042a5376fb529a60180a9 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 3 Jun 2020 23:59:07 +0200 Subject: [PATCH 22/26] Version bump --- CHANGELOG.rst | 5 ----- 1 file changed, 5 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c3ca48d..239a353 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,11 +15,6 @@ This project adheres to `Semantic Versioning `_. * Moved a number of functions to the `nanoutils `_ package. -0.6.0 -***** -* Moved a number of functions to the `nanoutils `_ package. - - 0.5.4 ***** * Add the ``nth_shell`` argument to the ``replace_surface()`` recipe. From cf4a92ac11efcdcac5fc0792ff7785fb3898a913 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Wed, 17 Jun 2020 21:24:36 +0200 Subject: [PATCH 23/26] Cleaing --- nanoCAT/bde/dissociate_xyn.py | 37 ++++++++++------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/nanoCAT/bde/dissociate_xyn.py b/nanoCAT/bde/dissociate_xyn.py index eff2b87..2f8e061 100644 --- a/nanoCAT/bde/dissociate_xyn.py +++ b/nanoCAT/bde/dissociate_xyn.py @@ -32,8 +32,8 @@ from itertools import chain, combinations from typing import ( - Union, Mapping, Iterable, Tuple, Dict, List, Optional, FrozenSet, Generator, - Any, TypeVar, SupportsInt, Set, Collection + Union, Mapping, Iterable, Tuple, Dict, List, Optional, Set, Generator, + Any, TypeVar, SupportsInt, Set, Collection, FrozenSet, cast ) import numpy as np @@ -46,7 +46,7 @@ from CAT.utils import iter_repeat from CAT.mol_utils import to_atnum from CAT.attachment.ligand_anchoring import _smiles_to_rdmol -from nanoutils import group_by_values +from nanoutils import group_by_values, as_nd_array from .guess_core_dist import guess_core_core_dist from .identify_surface import identify_surface @@ -192,7 +192,7 @@ def dissociate_ligand(mol: Molecule, def _lig_mapping(mol: Molecule, idx: Iterable[int]) -> IdxMapping: """Map **idx** to all atoms with the same residue number.""" - idx = as_array(idx, dtype=int) # 1-based indices + idx = as_nd_array(idx, dtype=int) # 1-based indices iterator = ((i, at.properties.pdb_info.get('ResidueNumber', i)) for i, at in enumerate(mol, 1)) lig_mapping = group_by_values(iterator) @@ -203,7 +203,7 @@ def _lig_mapping(mol: Molecule, idx: Iterable[int]) -> IdxMapping: def _core_mapping(mol: Molecule, idx: Iterable[int], smiles: str) -> IdxMapping: """Map **idx** to all atoms part of the same substructure (see **smiles**).""" - idx = as_array(idx, dtype=int) # 1-based indices + idx = as_nd_array(idx, dtype=int) # 1-based indices rdmol = molkit.to_rdmol(mol) rd_smiles = _smiles_to_rdmol(smiles) @@ -222,7 +222,7 @@ def _core_mapping(mol: Molecule, idx: Iterable[int], smiles: str) -> IdxMapping: class DummyGetter: """A mapping placeholder; calling `__getitem__` will return the supplied key embedded within a tuple.""" # noqa - def __getitem__(self, key: SupportsInt) -> Tuple[int]: return (key,) + def __getitem__(self, key: T) -> Tuple[T]: return (key,) _DUMMY_GETTER = DummyGetter() @@ -297,7 +297,7 @@ def core_idx(self) -> np.ndarray: return self._core_idx @core_idx.setter def core_idx(self, value: Union[int, Iterable[int]]) -> None: - self._core_idx = core_idx = as_array(value, dtype=int, ndmin=1, copy=True) + self._core_idx = core_idx = as_nd_array(value, dtype=int, ndmin=1, copy=True) core_idx -= 1 core_idx.sort() @@ -319,7 +319,7 @@ def topology(self) -> Mapping[int, str]: return self._topology def topology(self, value: Optional[Mapping[int, str]]) -> None: self._topology = value or {} - _PRIVATE_ATTR: FrozenSet[str] = frozenset({'_coords'}) + _PRIVATE_ATTR: Set[str] = frozenset({'_coords'}) # type: ignore def __init__(self, mol: Molecule, core_idx: Union[int, Iterable[int]], @@ -462,7 +462,7 @@ def get_pairs_closest(self, lig_idx: Union[int, Iterable[int]], # Extract instance variables xyz: np.ndarray = self._coords i: np.ndarray = self.core_idx - j: np.ndarray = as_array(lig_idx, dtype=int) - 1 + j: np.ndarray = as_nd_array(lig_idx, dtype=int) - 1 n: int = self.ligand_count # Find all core atoms within a radius **max_dist** from a ligand @@ -516,7 +516,7 @@ def get_pairs_distance(self, lig_idx: Union[int, Iterable[int]], # Extract instance variables xyz: np.ndarray = self._coords i: np.ndarray = self.core_idx - j: np.ndarray = as_array(lig_idx, dtype=int) - 1 + j: np.ndarray = as_nd_array(lig_idx, dtype=int) - 1 n: int = self.ligand_count # Find all core atoms within a radius **max_dist** from a ligand @@ -655,20 +655,3 @@ def _get_new_indices(self, core_is_lig: bool = False) -> List[int]: for i in ret: i -= 1 return ret - - -def as_array(iterable: Iterable, dtype: Union[None, str, type, np.dtype] = None, - copy: bool = False, ndmin: int = 0) -> np.ndarray: - """Convert a generic iterable (including iterators) into a NumPy array. - - See :func:`numpy.array` for an extensive description of all parameters. - - """ - try: - ret = np.array(iterable, dtype=dtype, copy=copy) - except TypeError: # **iterable** is an iterator - ret = np.fromiter(iterable, dtype=dtype) - - if ret.ndim < ndmin: - ret.shape += (1,) * (ndmin - ret.ndim) - return ret From 741b2487e5fb9de7f8eacf6d2f281053f5c9e50b Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Fri, 10 Jul 2020 12:00:35 +0200 Subject: [PATCH 24/26] WiP: Databasing update --- README.rst | 2 +- nanoCAT/__version__.py | 2 +- nanoCAT/asa/asa.py | 7 ++++--- nanoCAT/bde/bde_workflow.py | 26 +++++++++++++++++++------- nanoCAT/cdft.py | 10 ++++++---- nanoCAT/ligand_solvation.py | 18 ++++++++---------- nanoCAT/mol_bulk.py | 8 ++++---- setup.py | 5 ++--- 8 files changed, 45 insertions(+), 33 deletions(-) diff --git a/README.rst b/README.rst index 27e66fe..5a001de 100644 --- a/README.rst +++ b/README.rst @@ -12,7 +12,7 @@ ############## -Nano-CAT 0.6.1 +Nano-CAT 0.7.0 ############## **Nano-CAT** is a collection of tools for the analysis of nanocrystals, diff --git a/nanoCAT/__version__.py b/nanoCAT/__version__.py index 8411e55..a71c5c7 100644 --- a/nanoCAT/__version__.py +++ b/nanoCAT/__version__.py @@ -1 +1 @@ -__version__ = '0.6.1' +__version__ = '0.7.0' diff --git a/nanoCAT/asa/asa.py b/nanoCAT/asa/asa.py index 8e57577..dfcf314 100644 --- a/nanoCAT/asa/asa.py +++ b/nanoCAT/asa/asa.py @@ -55,7 +55,9 @@ def init_asa(qd_df: SettingsDataFrame) -> None: workflow = WorkFlow.from_template(qd_df, name='asa') # Run the activation strain workflow - idx = workflow.from_db(qd_df) + df_bool = workflow.from_db(qd_df) + + idx = df_bool['ASA'].all(axis=1) if workflow.md: workflow(get_asa_md, qd_df, index=idx) else: @@ -63,8 +65,7 @@ def init_asa(qd_df: SettingsDataFrame) -> None: # Prepare for results exporting qd_df[JOB_SETTINGS_ASA] = workflow.pop_job_settings(qd_df[MOL]) - job_recipe = workflow.get_recipe() - workflow.to_db(qd_df, index=idx, job_recipe=job_recipe) + workflow.to_db(qd_df, df_bool, column=workflow.export_columns) def get_asa_energy(mol_list: Iterable[Molecule], diff --git a/nanoCAT/bde/bde_workflow.py b/nanoCAT/bde/bde_workflow.py index 1f0c4f5..56d4743 100644 --- a/nanoCAT/bde/bde_workflow.py +++ b/nanoCAT/bde/bde_workflow.py @@ -45,6 +45,12 @@ from .dissociate_xyn import dissociate_ligand from ..qd_opt_ff import qd_opt_ff +try: + import h5py + _LABEL_DTYPE = h5py.string_dtype(encoding='ascii') +except ImportError: + _LABEL_DTYPE = np.dtype(object) + __all__ = ['init_bde'] @@ -55,10 +61,17 @@ def init_bde(qd_df: SettingsDataFrame) -> None: # Create columns columns = _construct_columns(workflow, qd_df[MOL]) - import_columns = {(i, j): (np.nan if i != 'label' else None) for i, j in columns} + columns.names = qd_df.columns.names + for i, j in columns: + if i == 'label': + qd_df[i, j] = np.array('', dtype=_LABEL_DTYPE).take(0) + else: + qd_df[i, j] = 0.0 # Pull from the database; push unoptimized structures - idx = workflow.from_db(qd_df, columns=import_columns) + df_bool = workflow.from_db(qd_df, columns=columns.levels[0]) + + idx = df_bool[columns].all() workflow(start_bde, qd_df, columns=columns, index=idx, workflow=workflow) # Convert the datatype from object back to float @@ -72,11 +85,10 @@ def init_bde(qd_df: SettingsDataFrame) -> None: qd_df[JOB_SETTINGS_BDE] = workflow.pop_job_settings(qd_df[MOL]) # Push the optimized structures to the database - job_recipe = workflow.get_recipe() - workflow.to_db(qd_df, index=idx, columns=columns, job_recipe=job_recipe) + workflow.to_db(qd_df, df_bool, columns=columns) -def _construct_columns(workflow: WorkFlow, mol_list: Iterable[Molecule]) -> List[Tuple[str, str]]: +def _construct_columns(workflow: WorkFlow, mol_list: Iterable[Molecule]) -> pd.MultiIndex: """Construct BDE columns for :func:`init_bde`.""" if workflow.core_index: stop = len(workflow.core_index) @@ -94,8 +106,8 @@ def _construct_columns(workflow: WorkFlow, mol_list: Iterable[Molecule]) -> List if workflow.jobs[1]: # i.e. thermochemical corrections are enabled super_keys += ('BDE ddG', 'BDE dG') - sub_keys = np.arange(stop).astype(dtype=str) - return list(product(super_keys, sub_keys)) + sub_keys = np.arange(stop) + return pd.MultiIndex.from_product((super_keys, sub_keys)) def start_bde(mol_list: Iterable[Molecule], diff --git a/nanoCAT/cdft.py b/nanoCAT/cdft.py index c288167..c424ec9 100644 --- a/nanoCAT/cdft.py +++ b/nanoCAT/cdft.py @@ -8,7 +8,7 @@ from qmflows.packages.SCM import ADF_Result from scm.plams import Molecule, Settings, ADFJob, ADFResults, Units, Results from scm.plams.core.basejob import Job -from CAT.workflows import WorkFlow, JOB_SETTINGS_CDFT, MOL +from CAT.workflows import WorkFlow, JOB_SETTINGS_CDFT, MOL, CDFT_CHI from CAT.jobs import job_single_point from CAT.settings_dataframe import SettingsDataFrame @@ -47,7 +47,10 @@ def init_cdft(ligand_df: SettingsDataFrame) -> None: workflow = WorkFlow.from_template(ligand_df, name='cdft') # Import from the database and start the calculation - idx = workflow.from_db(ligand_df) + CDFT = CDFT_CHI[0] + df_bool = workflow.from_db(ligand_df, CDFT) + + idx = df_bool[CDFT].any(axis=1) workflow(start_crs_jobs, ligand_df, index=idx) # Sets a nested list with the filenames of .in files @@ -55,8 +58,7 @@ def init_cdft(ligand_df: SettingsDataFrame) -> None: ligand_df[JOB_SETTINGS_CDFT] = workflow.pop_job_settings(ligand_df[MOL]) # Export to the database - job_recipe = workflow.get_recipe() - workflow.to_db(ligand_df, index=idx, job_recipe=job_recipe) + workflow.to_db(ligand_df, df_bool, columns=workflow.export_columns) def start_crs_jobs(mol_list: Iterable[Molecule], diff --git a/nanoCAT/ligand_solvation.py b/nanoCAT/ligand_solvation.py index 7c13b88..0d6a169 100644 --- a/nanoCAT/ligand_solvation.py +++ b/nanoCAT/ligand_solvation.py @@ -40,6 +40,7 @@ from typing import Optional, Sequence, Collection, Tuple, List, Iterable, Any, Type, Iterator import numpy as np +import pandas as pd from scm.plams import Settings, Molecule, Results, CRSJob, CRSResults, JobRunner, ADFJob from scm.plams.core.basejob import Job @@ -78,19 +79,15 @@ def init_solv(ligand_df: SettingsDataFrame, solvent_list = get_solvent_list(solvent_list) columns = get_solvent_columns(solvent_list) - # Create new import and export columns - import_columns = {k: np.nan for k in columns} - import_columns.update(workflow.import_columns) - export_columns = columns + list(workflow.import_columns) - # Create index slices and run the workflow - idx = workflow.from_db(ligand_df, columns=import_columns) + df_bool = workflow.from_db(ligand_df, columns=columns) + idx = df_bool[columns].any(axis=1) workflow(start_crs_jobs, ligand_df, index=idx, columns=columns, solvent_list=solvent_list) # Export results back to the database - job_recipe = workflow.get_recipe() ligand_df[JOB_SETTINGS_CRS] = workflow.pop_job_settings(ligand_df[MOL]) - workflow.to_db(ligand_df, index=idx, columns=export_columns, job_recipe=job_recipe) + export_columns = columns.append(pd.Index([JOB_SETTINGS_CRS])) + workflow.to_db(ligand_df, df_bool, columns=export_columns) def start_crs_jobs(mol_list: Iterable[Molecule], @@ -116,7 +113,7 @@ def start_crs_jobs(mol_list: Iterable[Molecule], return ret -def get_solvent_columns(solvent_list: Iterable[str]) -> List[Tuple[str, str]]: +def get_solvent_columns(solvent_list: Iterable[str]) -> pd.MultiIndex: """Create a list of column names from an iterable containing .coskf names. Parameters @@ -134,7 +131,8 @@ def get_solvent_columns(solvent_list: Iterable[str]) -> List[Tuple[str, str]]: """ # Use filenames without extensions are absolute paths clm_tups = [os.path.basename(i).rsplit('.', maxsplit=1)[0] for i in solvent_list] - return list(product(('E_solv', 'gamma'), clm_tups)) + super_keys = ('E_solv', 'gamma') + return pd.MultiIndex.from_product((super_keys, clm_tups)) def get_solvent_list(solvent_list: Optional[Sequence[str]] = None) -> Sequence[str]: diff --git a/nanoCAT/mol_bulk.py b/nanoCAT/mol_bulk.py index 0021849..6ada9f2 100644 --- a/nanoCAT/mol_bulk.py +++ b/nanoCAT/mol_bulk.py @@ -33,7 +33,7 @@ from scm.plams import Molecule from CAT.settings_dataframe import SettingsDataFrame -from CAT.workflows import WorkFlow, MOL +from CAT.workflows import WorkFlow, MOL, V_BULK __all__ = ['init_lig_bulkiness'] @@ -72,12 +72,12 @@ def init_lig_bulkiness(qd_df: SettingsDataFrame, ligand_df: SettingsDataFrame, workflow.keep_files = False # Import from the database and start the calculation - idx = workflow.from_db(qd_df) - workflow(start_lig_bulkiness, qd_df, index=idx, + df_bool = workflow.from_db(qd_df) + workflow(start_lig_bulkiness, qd_df, index=df_bool[V_BULK], lig_series=ligand_df[MOL], core_series=core_df[MOL]) # Export to the database - workflow.to_db(qd_df, index=idx) + workflow.to_db(qd_df, columns=workflow.export_columns) def start_lig_bulkiness(qd_series: pd.Series, lig_series: pd.Series, core_series: pd.Series, diff --git a/setup.py b/setup.py index 7becdb2..26ff034 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ 'nanoCAT.recipes' ], package_dir={'nanoCAT': 'nanoCAT'}, - package_data={'nanoCAT': ['data/*csv', 'py.typed', '*.pyi']}, + package_data={'nanoCAT': ['py.typed', '*.pyi']}, include_package_data=True, license='GNU Lesser General Public License v3 or later', zip_safe=False, @@ -80,7 +80,6 @@ 'test': ['pytest', 'pytest-cov', 'pytest-mock', - 'pycodestyle'], - 'doc': ['sphinx', 'sphinx_rtd_theme', 'sphinx-autodoc-typehints'] + 'pycodestyle'] } ) From 996dff159d7e66e974198bfb7f9e61989d09235c Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Fri, 10 Jul 2020 12:20:52 +0200 Subject: [PATCH 25/26] Fixed missing imports --- nanoCAT/bde/bde_workflow.py | 1 + nanoCAT/ligand_solvation.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/nanoCAT/bde/bde_workflow.py b/nanoCAT/bde/bde_workflow.py index 56d4743..aeea499 100644 --- a/nanoCAT/bde/bde_workflow.py +++ b/nanoCAT/bde/bde_workflow.py @@ -32,6 +32,7 @@ from itertools import product import numpy as np +import pandas as pd from scm.plams import AMSJob, Molecule, Settings, Cp2kJob from scm.plams.core.basejob import Job diff --git a/nanoCAT/ligand_solvation.py b/nanoCAT/ligand_solvation.py index 0d6a169..88c0356 100644 --- a/nanoCAT/ligand_solvation.py +++ b/nanoCAT/ligand_solvation.py @@ -78,9 +78,11 @@ def init_solv(ligand_df: SettingsDataFrame, # Create column slices solvent_list = get_solvent_list(solvent_list) columns = get_solvent_columns(solvent_list) + for i in columns: + ligand_df[i] = 0.0 # Create index slices and run the workflow - df_bool = workflow.from_db(ligand_df, columns=columns) + df_bool = workflow.from_db(ligand_df, columns.levels[0].values) idx = df_bool[columns].any(axis=1) workflow(start_crs_jobs, ligand_df, index=idx, columns=columns, solvent_list=solvent_list) From 5f0d474358c127fa6dee21ee700831fb514037a2 Mon Sep 17 00:00:00 2001 From: Bas van Beek Date: Mon, 13 Jul 2020 18:27:58 +0200 Subject: [PATCH 26/26] Various databasing-related fixes --- nanoCAT/asa/asa.py | 10 ++++++++-- nanoCAT/cdft.py | 8 +++++++- nanoCAT/ligand_solvation.py | 6 +++++- nanoCAT/mol_bulk.py | 7 +++++-- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/nanoCAT/asa/asa.py b/nanoCAT/asa/asa.py index dfcf314..11c7712 100644 --- a/nanoCAT/asa/asa.py +++ b/nanoCAT/asa/asa.py @@ -53,9 +53,15 @@ def init_asa(qd_df: SettingsDataFrame) -> None: """ workflow = WorkFlow.from_template(qd_df, name='asa') + columns = workflow.import_columns.keys() + for i in columns: + qd_df[i] = 0.0 # Run the activation strain workflow - df_bool = workflow.from_db(qd_df) + df_bool = workflow.from_db(qd_df, 'ASA') + columns_subset = columns - df_bool.columns + for i in columns_subset: + df_bool[i] = True idx = df_bool['ASA'].all(axis=1) if workflow.md: @@ -65,7 +71,7 @@ def init_asa(qd_df: SettingsDataFrame) -> None: # Prepare for results exporting qd_df[JOB_SETTINGS_ASA] = workflow.pop_job_settings(qd_df[MOL]) - workflow.to_db(qd_df, df_bool, column=workflow.export_columns) + workflow.to_db(qd_df, df_bool, columns=workflow.export_columns) def get_asa_energy(mol_list: Iterable[Molecule], diff --git a/nanoCAT/cdft.py b/nanoCAT/cdft.py index c424ec9..4d12d4e 100644 --- a/nanoCAT/cdft.py +++ b/nanoCAT/cdft.py @@ -34,6 +34,8 @@ cdft.specific.adf = _templates.singlepoint.specific.adf.copy() cdft += Settings(yaml.safe_load(_CDFT)) +CDFT = CDFT_CHI[0] + def init_cdft(ligand_df: SettingsDataFrame) -> None: r"""Initialize the ligand conceptual dft (CDFT) workflow. @@ -45,10 +47,14 @@ def init_cdft(ligand_df: SettingsDataFrame) -> None: """ workflow = WorkFlow.from_template(ligand_df, name='cdft') + for k, v in workflow.import_columns.items(): + ligand_df[k] = v # Import from the database and start the calculation - CDFT = CDFT_CHI[0] df_bool = workflow.from_db(ligand_df, CDFT) + column_subset = workflow.import_columns.keys() - df_bool.columns + for k in column_subset: + df_bool[k] = True idx = df_bool[CDFT].any(axis=1) workflow(start_crs_jobs, ligand_df, index=idx) diff --git a/nanoCAT/ligand_solvation.py b/nanoCAT/ligand_solvation.py index 88c0356..7831020 100644 --- a/nanoCAT/ligand_solvation.py +++ b/nanoCAT/ligand_solvation.py @@ -82,7 +82,11 @@ def init_solv(ligand_df: SettingsDataFrame, ligand_df[i] = 0.0 # Create index slices and run the workflow - df_bool = workflow.from_db(ligand_df, columns.levels[0].values) + df_bool = workflow.from_db(ligand_df, *columns.levels[0].values) + column_subset = columns.difference(df_bool.columns) + for i in column_subset: + df_bool[i] = True + idx = df_bool[columns].any(axis=1) workflow(start_crs_jobs, ligand_df, index=idx, columns=columns, solvent_list=solvent_list) diff --git a/nanoCAT/mol_bulk.py b/nanoCAT/mol_bulk.py index 6ada9f2..ad95795 100644 --- a/nanoCAT/mol_bulk.py +++ b/nanoCAT/mol_bulk.py @@ -70,14 +70,17 @@ def init_lig_bulkiness(qd_df: SettingsDataFrame, ligand_df: SettingsDataFrame, """ workflow = WorkFlow.from_template(qd_df, name='bulkiness') workflow.keep_files = False + qd_df[V_BULK] = 0.0 # Import from the database and start the calculation - df_bool = workflow.from_db(qd_df) + df_bool = workflow.from_db(qd_df, V_BULK[0]) + if V_BULK not in df_bool.columns: + df_bool[V_BULK] = True workflow(start_lig_bulkiness, qd_df, index=df_bool[V_BULK], lig_series=ligand_df[MOL], core_series=core_df[MOL]) # Export to the database - workflow.to_db(qd_df, columns=workflow.export_columns) + workflow.to_db(qd_df, df_bool, columns=workflow.export_columns) def start_lig_bulkiness(qd_series: pd.Series, lig_series: pd.Series, core_series: pd.Series,