stjames 0.0.67__py3-none-any.whl → 0.0.69__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of stjames might be problematic. Click here for more details.
- stjames/method.py +3 -2
- stjames/status.py +4 -1
- stjames/workflows/__init__.py +3 -0
- stjames/workflows/fukui.py +13 -1
- stjames/workflows/macropka.py +27 -4
- stjames/workflows/scan.py +2 -0
- {stjames-0.0.67.dist-info → stjames-0.0.69.dist-info}/METADATA +1 -1
- {stjames-0.0.67.dist-info → stjames-0.0.69.dist-info}/RECORD +11 -11
- {stjames-0.0.67.dist-info → stjames-0.0.69.dist-info}/WHEEL +1 -1
- {stjames-0.0.67.dist-info → stjames-0.0.69.dist-info}/licenses/LICENSE +0 -0
- {stjames-0.0.67.dist-info → stjames-0.0.69.dist-info}/top_level.txt +0 -0
stjames/method.py
CHANGED
|
@@ -36,6 +36,7 @@ class Method(LowercaseStrEnum):
|
|
|
36
36
|
OCP24_S = "ocp24_s"
|
|
37
37
|
OCP24_L = "ocp24_l"
|
|
38
38
|
ORB_V2 = "orb_v2"
|
|
39
|
+
ORB_V3_CONSERVATIVE_INF_OMAT = "orb_v3_conservative_inf_omat"
|
|
39
40
|
|
|
40
41
|
GFN_FF = "gfn_ff"
|
|
41
42
|
GFN0_XTB = "gfn0_xtb"
|
|
@@ -50,8 +51,8 @@ class Method(LowercaseStrEnum):
|
|
|
50
51
|
RM1 = "rm1"
|
|
51
52
|
|
|
52
53
|
|
|
53
|
-
PrepackagedNNPMethod = Literal[Method.AIMNET2_WB97MD3, Method.OCP24_S, Method.OCP24_L, Method.RM1]
|
|
54
|
-
PREPACKAGED_NNP_METHODS = [Method.AIMNET2_WB97MD3, Method.OCP24_S, Method.OCP24_L, Method.RM1]
|
|
54
|
+
PrepackagedNNPMethod = Literal[Method.AIMNET2_WB97MD3, Method.OCP24_S, Method.OCP24_L, Method.RM1, Method.ORB_V3_CONSERVATIVE_INF_OMAT]
|
|
55
|
+
PREPACKAGED_NNP_METHODS = [Method.AIMNET2_WB97MD3, Method.OCP24_S, Method.OCP24_L, Method.RM1, Method.ORB_V3_CONSERVATIVE_INF_OMAT]
|
|
55
56
|
|
|
56
57
|
CorrectableNNPMethod = Literal[Method.MACE_MP_0B2_L, Method.ORB_V2]
|
|
57
58
|
CORRECTABLE_NNP_METHODS = [Method.MACE_MP_0B2_L, Method.ORB_V2]
|
stjames/status.py
CHANGED
|
@@ -2,7 +2,7 @@ from enum import Enum
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Status(int, Enum):
|
|
5
|
-
# what a job gets when it's created
|
|
5
|
+
# what a job gets when it's created if user is below max_concurrency
|
|
6
6
|
QUEUED = 0
|
|
7
7
|
|
|
8
8
|
# still running...
|
|
@@ -16,3 +16,6 @@ class Status(int, Enum):
|
|
|
16
16
|
|
|
17
17
|
# job was stopped externally, maybe timed out or something
|
|
18
18
|
STOPPED = 4
|
|
19
|
+
|
|
20
|
+
# Status if a user has exceeded their allowed max_concurrency
|
|
21
|
+
AWAITING_QUEUE = 5
|
stjames/workflows/__init__.py
CHANGED
|
@@ -14,6 +14,7 @@ from .fukui import *
|
|
|
14
14
|
from .hydrogen_bond_basicity import *
|
|
15
15
|
from .ion_mobility import *
|
|
16
16
|
from .irc import *
|
|
17
|
+
from .macropka import *
|
|
17
18
|
from .molecular_dynamics import *
|
|
18
19
|
from .multistage_opt import *
|
|
19
20
|
from .pka import *
|
|
@@ -37,6 +38,7 @@ WORKFLOW_NAME = Literal[
|
|
|
37
38
|
"hydrogen_bond_basicity",
|
|
38
39
|
"ion_mobility",
|
|
39
40
|
"irc",
|
|
41
|
+
"macropka",
|
|
40
42
|
"molecular_dynamics",
|
|
41
43
|
"multistage_opt",
|
|
42
44
|
"pka",
|
|
@@ -60,6 +62,7 @@ WORKFLOW_MAPPING: dict[WORKFLOW_NAME, Workflow] = {
|
|
|
60
62
|
"hydrogen_bond_basicity": HydrogenBondBasicityWorkflow, # type: ignore [dict-item]
|
|
61
63
|
"ion_mobility": IonMobilityWorkflow, # type: ignore [dict-item]
|
|
62
64
|
"irc": IRCWorkflow, # type: ignore [dict-item]
|
|
65
|
+
"macropka": MacropKaWorkflow, # type: ignore [dict-item]
|
|
63
66
|
"molecular_dynamics": MolecularDynamicsWorkflow, # type: ignore [dict-item]
|
|
64
67
|
"multistage_opt": MultiStageOptWorkflow, # type: ignore [dict-item]
|
|
65
68
|
"pka": pKaWorkflow, # type: ignore [dict-item]
|
stjames/workflows/fukui.py
CHANGED
|
@@ -5,6 +5,7 @@ from typing import Annotated
|
|
|
5
5
|
from pydantic import AfterValidator
|
|
6
6
|
|
|
7
7
|
from ..base import round_optional_float
|
|
8
|
+
from ..settings import Settings
|
|
8
9
|
from ..types import UUID, FloatPerAtom, round_optional_float_per_atom
|
|
9
10
|
from .workflow import MoleculeWorkflow
|
|
10
11
|
|
|
@@ -17,6 +18,12 @@ class FukuiIndexWorkflow(MoleculeWorkflow):
|
|
|
17
18
|
:param initial_molecule: Molecule of interest
|
|
18
19
|
:param mode: Mode for workflow (currently unused)
|
|
19
20
|
|
|
21
|
+
Settings:
|
|
22
|
+
:param opt_settings: if given, the settings for optimization. if none, no optimization will be conducted.
|
|
23
|
+
:param opt_engine: the engine for optimization
|
|
24
|
+
:param fukui_settings: the settings for Fukui index calculations.
|
|
25
|
+
:param fukui_engine: the engine for Fukui index calculations
|
|
26
|
+
|
|
20
27
|
Results:
|
|
21
28
|
:param optimization: UUID of optimization
|
|
22
29
|
:param global_electrophilicity_index: global electrophilicity index
|
|
@@ -25,7 +32,12 @@ class FukuiIndexWorkflow(MoleculeWorkflow):
|
|
|
25
32
|
:param fukui_zero: Fukui index for zero charges
|
|
26
33
|
"""
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
opt_settings: Settings | None = None
|
|
36
|
+
opt_engine: str | None = None
|
|
37
|
+
|
|
38
|
+
fukui_settings: Settings = Settings(method="gfn1_xtb")
|
|
39
|
+
fukui_engine: str | None = None
|
|
40
|
+
|
|
29
41
|
optimization: UUID | None = None
|
|
30
42
|
|
|
31
43
|
global_electrophilicity_index: Annotated[float | None, AfterValidator(round_optional_float(6))] = None
|
stjames/workflows/macropka.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""pKa workflow."""
|
|
2
2
|
|
|
3
|
-
from typing import Annotated, Self
|
|
3
|
+
from typing import Annotated, Optional, Self
|
|
4
4
|
|
|
5
5
|
from pydantic import AfterValidator, model_validator
|
|
6
6
|
|
|
@@ -55,18 +55,41 @@ class MacropKaWorkflow(SMILESWorkflow):
|
|
|
55
55
|
:param microstate_weights_by_pH: precompute the % of different microstates
|
|
56
56
|
"""
|
|
57
57
|
|
|
58
|
-
temperature: Annotated[float, AfterValidator(round_float(3))] = 298.0
|
|
59
58
|
min_pH: Annotated[float, AfterValidator(round_float(3))] = 0.0
|
|
60
59
|
max_pH: Annotated[float, AfterValidator(round_float(3))] = 14.0
|
|
61
60
|
|
|
61
|
+
max_charge: int = 2
|
|
62
|
+
min_charge: int = -2
|
|
63
|
+
|
|
62
64
|
microstates: list[MacropKaMicrostate] = []
|
|
63
65
|
pKa_values: list[MacropKaValue] = []
|
|
64
|
-
microstate_weights_by_pH:
|
|
66
|
+
microstate_weights_by_pH: list[
|
|
67
|
+
tuple[
|
|
68
|
+
Annotated[float, AfterValidator(round_float(3))],
|
|
69
|
+
Annotated[list[float], AfterValidator(round_list(6))],
|
|
70
|
+
]
|
|
71
|
+
] = []
|
|
72
|
+
|
|
73
|
+
isoelectric_point: Annotated[Optional[float], AfterValidator(round_float(3))] = None
|
|
74
|
+
|
|
75
|
+
logD_by_pH: list[
|
|
76
|
+
tuple[
|
|
77
|
+
Annotated[float, AfterValidator(round_float(3))],
|
|
78
|
+
Annotated[float, AfterValidator(round_float(3))],
|
|
79
|
+
]
|
|
80
|
+
] = []
|
|
65
81
|
|
|
66
82
|
@model_validator(mode="after")
|
|
67
83
|
def check_weights(self) -> Self:
|
|
68
|
-
for weights in self.microstate_weights_by_pH
|
|
84
|
+
for _, weights in self.microstate_weights_by_pH:
|
|
69
85
|
if len(weights) != len(self.microstates):
|
|
70
86
|
raise ValueError("Length of microstate weights doesn't match!")
|
|
71
87
|
|
|
72
88
|
return self
|
|
89
|
+
|
|
90
|
+
@model_validator(mode="after")
|
|
91
|
+
def check_minmax_charges(self) -> Self:
|
|
92
|
+
if self.min_charge >= self.max_charge:
|
|
93
|
+
raise ValueError("Incoherent min/max charge specification")
|
|
94
|
+
|
|
95
|
+
return self
|
stjames/workflows/scan.py
CHANGED
|
@@ -18,12 +18,14 @@ class ScanPoint(Base):
|
|
|
18
18
|
A point in a scan.
|
|
19
19
|
|
|
20
20
|
:param index: index of the point
|
|
21
|
+
:param index_2d: index of the point in 2nd dimension, if applicable
|
|
21
22
|
:param molecule: Molecule at the point
|
|
22
23
|
:param energy: energy of the point
|
|
23
24
|
:param uuid: UUID of the calculation
|
|
24
25
|
"""
|
|
25
26
|
|
|
26
27
|
index: int
|
|
28
|
+
index_2d: int = 0
|
|
27
29
|
molecule: Molecule
|
|
28
30
|
energy: Annotated[float | None, AfterValidator(round_optional_float(6))] = None
|
|
29
31
|
uuid: UUID | None = None
|
|
@@ -11,7 +11,7 @@ stjames/diis_settings.py,sha256=4m1EQQWBlpHhMnWopix8qOqJv7QCluvdnV9jSKJDFtE,552
|
|
|
11
11
|
stjames/grid_settings.py,sha256=WrSNGc-8_f87YBZYt9Hh7RbhM4MweADoVzwBMcSqcsE,640
|
|
12
12
|
stjames/int_settings.py,sha256=5HXp8opt5ZyY1UpmfaK7NVloWVLM5jkG0elEEqpVLUo,896
|
|
13
13
|
stjames/message.py,sha256=Rq6QqmHZKecWxYH8fVyXmuoCCPZv8YinvgykSeorXSU,216
|
|
14
|
-
stjames/method.py,sha256=
|
|
14
|
+
stjames/method.py,sha256=4X2OdeOQCj0Ihtthl9mx6Q26RrZljYhvRUVz-huf0s8,2461
|
|
15
15
|
stjames/mode.py,sha256=xw46Cc7f3eTS8i35qECi-8DocAlANhayK3w4akD4HBU,496
|
|
16
16
|
stjames/molecule.py,sha256=4dakMkn-_I5bSWsijLLY0tn5NkBEuZhmtYDj-MDSJE0,17987
|
|
17
17
|
stjames/opt_settings.py,sha256=gxXGtjy9l-Q5Wen9eO6T6HHRCuS8rfOofdVQIJj0JcI,550
|
|
@@ -21,7 +21,7 @@ stjames/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
21
21
|
stjames/scf_settings.py,sha256=WotVgVrayQ_8PUHP39zVtG7iLT9PV41lpzruttFACP8,2356
|
|
22
22
|
stjames/settings.py,sha256=NrNtHq-78BNp4RMP0tsABv4BjS5EscANakCyRdImI-A,8967
|
|
23
23
|
stjames/solvent.py,sha256=u037tmu-9oa21s-WEDZ7VC7nuNVjkqR2ML4JWjWSME4,1158
|
|
24
|
-
stjames/status.py,sha256=
|
|
24
|
+
stjames/status.py,sha256=0mOeF9CoW2gGMfOkAlxTOL32jXNdJ0cU1-Xwo9DCxUc,455
|
|
25
25
|
stjames/task.py,sha256=OLINRqe66o7t8arffilwmggrF_7TH0L79u6DhGruxV8,329
|
|
26
26
|
stjames/thermochem_settings.py,sha256=ZTLz31v8Ltutde5Nfm0vH5YahWjcfFWfr_R856KffxE,517
|
|
27
27
|
stjames/types.py,sha256=rs2CdpkruIfU-PS98rjr9HAJNFGdZDB_zl-u3wa5rAs,4092
|
|
@@ -37,7 +37,7 @@ stjames/data/isotopes.json,sha256=5ba8QnLrHD_Ypv2xekv2cIRwYrX3MQ19-1FOFtt0RuU,83
|
|
|
37
37
|
stjames/data/nist_isotopes.json,sha256=d5DNk1dX0iB1waEYIRR6JMHuA7AuYwSBEgBvb4EKyhM,14300
|
|
38
38
|
stjames/data/read_nist_isotopes.py,sha256=y10FNjW43QpC45qib7VHsIghEwT7GG5rsNwHdc9osRI,3309
|
|
39
39
|
stjames/data/symbol_element.json,sha256=vl_buFusTqBd-muYQtMLtTDLy2OtBI6KkBeqkaWRQrg,1186
|
|
40
|
-
stjames/workflows/__init__.py,sha256=
|
|
40
|
+
stjames/workflows/__init__.py,sha256=X8uBwvmpaP38QQxYlvl9TbejEnnujpyWCLbxq0gRKao,2512
|
|
41
41
|
stjames/workflows/admet.py,sha256=h8ph6oeRCxU3-_jqRRWPg3RZcheu9JzCHiWqSC9VYKY,1296
|
|
42
42
|
stjames/workflows/basic_calculation.py,sha256=ZX3KwhfyyCTjc2ougQIL4If7gtwZP9WjqpL45mBquW0,573
|
|
43
43
|
stjames/workflows/bde.py,sha256=hdTjwma5L9SrU5F5r6dB1ruB_B6buBUtZHf2sanNW2k,9802
|
|
@@ -46,22 +46,22 @@ stjames/workflows/conformer_search.py,sha256=4yPEKIIedeaVvaAwgjwC1FxiHqM6n2zOF6c
|
|
|
46
46
|
stjames/workflows/descriptors.py,sha256=T4tc7xdtBdxESGO86KR323jPQ2pgwxBqgV0khA6MEgQ,584
|
|
47
47
|
stjames/workflows/docking.py,sha256=GCW_-JeEZcMXKZ9EQFOxWUYRo0jsbzwIv10aSz8KuaQ,3027
|
|
48
48
|
stjames/workflows/electronic_properties.py,sha256=GT3-NC7w-dbcOJ-3AzJ7LgzH6frTbiH2Iyb9BCa-SvY,4112
|
|
49
|
-
stjames/workflows/fukui.py,sha256=
|
|
49
|
+
stjames/workflows/fukui.py,sha256=T6TDg-lcE-sfTDVpa3KFBenLe7PGUO2QrQ2jNuw_iiU,1756
|
|
50
50
|
stjames/workflows/hydrogen_bond_basicity.py,sha256=XDpHEluw6DQ9Zk5g2Je2a81HqIkqPglZ-6f2YZnd4Bc,1159
|
|
51
51
|
stjames/workflows/ion_mobility.py,sha256=e6XSidrud5qSkrAcjzOzgHaf-G09JoP09V76myjdyjc,1097
|
|
52
52
|
stjames/workflows/irc.py,sha256=ZP7icylW8rgo_Uh7h3bmyumn0ru1IyF-61nP5Jnmq3M,3402
|
|
53
|
-
stjames/workflows/macropka.py,sha256=
|
|
53
|
+
stjames/workflows/macropka.py,sha256=HXsKP0mKMciIa-yT17771x4tzHbuIEDJY9ZB7VRqDJ0,2630
|
|
54
54
|
stjames/workflows/molecular_dynamics.py,sha256=kxugE73Ntzpj-xpJSoQ1EwGzXXdvi_NTyeP4913EVwE,3173
|
|
55
55
|
stjames/workflows/multistage_opt.py,sha256=pPLAZDztHd37q8cxCUkdq8EzOFyrTzZJHNfDV5auiHs,13638
|
|
56
56
|
stjames/workflows/pka.py,sha256=j3vBh2YM3nJzJ1XJKPsmYahRCeaU9n3P-G-u9_moaFw,2065
|
|
57
57
|
stjames/workflows/redox_potential.py,sha256=7S18t9Y3eynSnA3lZbRlvLfdbgeBopdiigLzt1zxg5c,3871
|
|
58
|
-
stjames/workflows/scan.py,sha256=
|
|
58
|
+
stjames/workflows/scan.py,sha256=DXQBpa2t2PowAtOwmdgpxaSLq--fEShljzAGSb8Nf5U,2993
|
|
59
59
|
stjames/workflows/solubility.py,sha256=kGfVyPPGDLRpf2j6dSY7woCkfsoXSbUzdSImA4mcMpw,1898
|
|
60
60
|
stjames/workflows/spin_states.py,sha256=0degmE-frovgoXweshZyjfjqL7nkbaFoO9YoJhvQnaI,4748
|
|
61
61
|
stjames/workflows/tautomer.py,sha256=7eYKziGPg8Km6lfowTzSkgJfJ4SHUPrAmnTf8Bi-SB0,1164
|
|
62
62
|
stjames/workflows/workflow.py,sha256=sk2BUz59wdIkT_EyKOnMt5woNrjo3aHVK38cU8x8I7Q,1423
|
|
63
|
-
stjames-0.0.
|
|
64
|
-
stjames-0.0.
|
|
65
|
-
stjames-0.0.
|
|
66
|
-
stjames-0.0.
|
|
67
|
-
stjames-0.0.
|
|
63
|
+
stjames-0.0.69.dist-info/licenses/LICENSE,sha256=i7ehYBS-6gGmbTcgU4mgk28pyOx2kScJ0kcx8n7bWLM,1084
|
|
64
|
+
stjames-0.0.69.dist-info/METADATA,sha256=f_Dp5TyIkpIWpvlmOUYK7E8lRmgnqUV2geRyHRvOwaU,1694
|
|
65
|
+
stjames-0.0.69.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
66
|
+
stjames-0.0.69.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
|
|
67
|
+
stjames-0.0.69.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|