stjames 0.0.37__py3-none-any.whl → 0.0.38__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/base.py +1 -1
- stjames/method.py +13 -24
- stjames/settings.py +9 -6
- stjames/solvent.py +1 -0
- stjames/workflows/conformer.py +1 -1
- {stjames-0.0.37.dist-info → stjames-0.0.38.dist-info}/METADATA +1 -1
- {stjames-0.0.37.dist-info → stjames-0.0.38.dist-info}/RECORD +10 -10
- {stjames-0.0.37.dist-info → stjames-0.0.38.dist-info}/WHEEL +1 -1
- {stjames-0.0.37.dist-info → stjames-0.0.38.dist-info}/LICENSE +0 -0
- {stjames-0.0.37.dist-info → stjames-0.0.38.dist-info}/top_level.txt +0 -0
stjames/base.py
CHANGED
|
@@ -24,7 +24,7 @@ class LowercaseStrEnum(str, Enum):
|
|
|
24
24
|
def _missing_(cls, value: str) -> str | None: # type: ignore
|
|
25
25
|
# Type note: technically breaking Liskov, value: object in Enum
|
|
26
26
|
for member in cls:
|
|
27
|
-
if member.lower().replace("-", "") == value.lower().replace("-", ""):
|
|
27
|
+
if member.lower().replace("-", "").replace("_", "") == value.lower().replace("-", "").replace("_", ""):
|
|
28
28
|
return member
|
|
29
29
|
return None
|
|
30
30
|
|
stjames/method.py
CHANGED
|
@@ -2,48 +2,37 @@ from .base import LowercaseStrEnum
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class Method(LowercaseStrEnum):
|
|
5
|
-
#### Hartree–Fock:
|
|
6
5
|
HARTREE_FOCK = "hf"
|
|
7
|
-
HF3C = "
|
|
6
|
+
HF3C = "hf_3c"
|
|
8
7
|
|
|
9
|
-
#### DFT:
|
|
10
|
-
# LDA
|
|
11
|
-
LSDA = "lsda"
|
|
12
|
-
|
|
13
|
-
# local GGA
|
|
14
8
|
PBE = "pbe"
|
|
15
|
-
|
|
16
|
-
BP86 = "bp86"
|
|
17
|
-
B97D3 = "b97-d3"
|
|
18
|
-
B973C = "b97-3c"
|
|
19
|
-
|
|
20
|
-
# mGGA
|
|
9
|
+
B973C = "b97_3c"
|
|
21
10
|
R2SCAN = "r2scan"
|
|
11
|
+
R2SCAN3C = "r2scan_3c"
|
|
22
12
|
TPSS = "tpss"
|
|
23
13
|
M06L = "m06l"
|
|
24
14
|
|
|
25
|
-
# hybrid GGA
|
|
26
15
|
PBE0 = "pbe0"
|
|
27
16
|
B3LYP = "b3lyp"
|
|
28
|
-
|
|
29
|
-
B97MV = "b97m_v"
|
|
30
|
-
|
|
31
|
-
# hybrid mGGA
|
|
32
|
-
TPSS0 = "tpss0"
|
|
17
|
+
TPSSH = "tpssh"
|
|
33
18
|
M06 = "m06"
|
|
34
19
|
M062X = "m062x"
|
|
35
20
|
|
|
36
|
-
# range-separated
|
|
37
21
|
CAMB3LYP = "camb3lyp"
|
|
38
|
-
WB97XD = "wb97x_d"
|
|
39
22
|
WB97XD3 = "wb97x_d3"
|
|
40
23
|
WB97XV = "wb97x_v"
|
|
41
24
|
WB97MV = "wb97m_v"
|
|
25
|
+
WB97MD3BJ = "wb97m_d3bj"
|
|
26
|
+
WB97X3C = "wb97x_3c"
|
|
27
|
+
|
|
28
|
+
DSDBLYPD3BJ = "dsd_blyp_d3bj"
|
|
42
29
|
|
|
43
|
-
# ML methods
|
|
44
30
|
AIMNET2_WB97MD3 = "aimnet2_wb97md3"
|
|
45
|
-
AIMNET2_B973C = "aimnet2_b973c"
|
|
46
31
|
|
|
47
|
-
#
|
|
32
|
+
# GFN0_XTB = "gfn1_xtb"
|
|
48
33
|
GFN1_XTB = "gfn1_xtb"
|
|
49
34
|
GFN2_XTB = "gfn2_xtb"
|
|
35
|
+
GFN_FF = "gfn_ff"
|
|
36
|
+
|
|
37
|
+
# this was going to be removed, but Jonathon wrote such a nice basis set test... it's off the front end.
|
|
38
|
+
BP86 = "bp86"
|
stjames/settings.py
CHANGED
|
@@ -16,18 +16,19 @@ from .thermochem_settings import ThermochemistrySettings
|
|
|
16
16
|
PREPACKAGED_METHODS = [
|
|
17
17
|
Method.HF3C,
|
|
18
18
|
Method.B973C,
|
|
19
|
+
Method.R2SCAN3C,
|
|
19
20
|
Method.AIMNET2_WB97MD3,
|
|
20
|
-
Method.AIMNET2_B973C,
|
|
21
21
|
Method.GFN2_XTB,
|
|
22
22
|
Method.GFN1_XTB,
|
|
23
|
+
Method.GFN_FF,
|
|
23
24
|
]
|
|
24
25
|
|
|
25
26
|
METHODS_WITH_CORRECTION = [
|
|
26
|
-
Method.B97D3,
|
|
27
|
-
Method.WB97XD,
|
|
28
27
|
Method.WB97XD3,
|
|
29
28
|
Method.WB97XV,
|
|
30
29
|
Method.WB97MV,
|
|
30
|
+
Method.WB97MD3BJ,
|
|
31
|
+
Method.DSDBLYPD3BJ,
|
|
31
32
|
]
|
|
32
33
|
|
|
33
34
|
T = TypeVar("T")
|
|
@@ -48,15 +49,17 @@ class Settings(Base):
|
|
|
48
49
|
opt_settings: OptimizationSettings = OptimizationSettings()
|
|
49
50
|
thermochem_settings: ThermochemistrySettings = ThermochemistrySettings()
|
|
50
51
|
|
|
52
|
+
# mypy has this dead wrong (https://docs.pydantic.dev/2.0/usage/computed_fields/)
|
|
53
|
+
@pydantic.computed_field # type: ignore[misc]
|
|
51
54
|
@property
|
|
52
|
-
@pydantic.computed_field
|
|
53
55
|
def level_of_theory(self) -> str:
|
|
56
|
+
corrections = list(filter(lambda x: x not in (None, ""), self.corrections))
|
|
57
|
+
|
|
54
58
|
if self.method in PREPACKAGED_METHODS or self.basis_set is None:
|
|
55
59
|
method = self.method.value
|
|
56
|
-
elif self.method in METHODS_WITH_CORRECTION:
|
|
60
|
+
elif self.method in METHODS_WITH_CORRECTION or len(corrections) == 0:
|
|
57
61
|
method = f"{self.method.value}/{self.basis_set.name.lower()}"
|
|
58
62
|
else:
|
|
59
|
-
corrections = list(filter(lambda x: x not in (None, ""), self.corrections))
|
|
60
63
|
method = f"{self.method.value}-{'-'.join([c.value for c in corrections])}/{self.basis_set.name.lower()}"
|
|
61
64
|
|
|
62
65
|
if self.solvent_settings is not None:
|
stjames/solvent.py
CHANGED
stjames/workflows/conformer.py
CHANGED
|
@@ -48,7 +48,7 @@ class ConformerWorkflow(Workflow):
|
|
|
48
48
|
self.settings = csearch_settings_by_mode(self.mode, self.settings)
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
def csearch_settings_by_mode(mode: Mode, old_settings: Optional[ConformerSettings]) -> ConformerSettings:
|
|
51
|
+
def csearch_settings_by_mode(mode: Mode, old_settings: Optional[ConformerSettings] = None) -> ConformerSettings:
|
|
52
52
|
if mode == Mode.MANUAL:
|
|
53
53
|
assert old_settings is not None
|
|
54
54
|
return old_settings
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
stjames/__init__.py,sha256=RJ1b132RSXVbQfptduVM1ZSQrnSTsg0a-VfgBwQn9zo,506
|
|
2
2
|
stjames/_deprecated_solvent_settings.py,sha256=gj5j9p3zakIwSTK5_ndqBXJx--IzjZNxZ75z-wipLOo,450
|
|
3
|
-
stjames/base.py,sha256=
|
|
3
|
+
stjames/base.py,sha256=xCdfeDnwNRvZfogbRXSVAW0x0c3l3attxUjW3_2J8-Y,1176
|
|
4
4
|
stjames/basis_set.py,sha256=Fi6vJx-ni2aOozFYH2hrSlc9lL01XzPO4zO6onJliuE,1035
|
|
5
5
|
stjames/calculation.py,sha256=0eCZ59lqmnI_QxEdMp7esrTeutNyO_pIFrZQf_FncSo,848
|
|
6
6
|
stjames/constraint.py,sha256=gkp0y0yQPeii8jdBNllZ9JS8t0o2bkEVTFAkyhShmWk,329
|
|
@@ -9,19 +9,19 @@ stjames/diis_settings.py,sha256=QHc7L-hktkbOWBYr29byTdqL8lWJzKJiY9XW8ha4Qzo,552
|
|
|
9
9
|
stjames/grid_settings.py,sha256=WrSNGc-8_f87YBZYt9Hh7RbhM4MweADoVzwBMcSqcsE,640
|
|
10
10
|
stjames/int_settings.py,sha256=5HXp8opt5ZyY1UpmfaK7NVloWVLM5jkG0elEEqpVLUo,896
|
|
11
11
|
stjames/message.py,sha256=Rq6QqmHZKecWxYH8fVyXmuoCCPZv8YinvgykSeorXSU,216
|
|
12
|
-
stjames/method.py,sha256=
|
|
12
|
+
stjames/method.py,sha256=cxgcWYi8A4o-SiA1rhZqmpCV4hALN7MYe1Y6_w6zUac,789
|
|
13
13
|
stjames/mode.py,sha256=xw46Cc7f3eTS8i35qECi-8DocAlANhayK3w4akD4HBU,496
|
|
14
14
|
stjames/molecule.py,sha256=t0jOmkTMgQE2ayBn9igjpY_4gPyqLPqZLlgtwd4uBOA,2910
|
|
15
15
|
stjames/opt_settings.py,sha256=5nTGih8KZ3x_yGfPL7pdGdsuOpCIfuJUrKoSK5YSDJg,458
|
|
16
16
|
stjames/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
17
|
stjames/scf_settings.py,sha256=xMMCQ0hVB4nNFSiWesNQZUa_aLsozSZGYWweAPPDGBg,2356
|
|
18
|
-
stjames/settings.py,sha256=
|
|
19
|
-
stjames/solvent.py,sha256=
|
|
18
|
+
stjames/settings.py,sha256=KjuuDLP1Dknz1Jmm7wntFyUg6N_XfoewfiXAf1-NWkw,8615
|
|
19
|
+
stjames/solvent.py,sha256=bGh10jZmfHQACZEAid7zYPyf6tx4G1ql3GgINHswy7Y,1120
|
|
20
20
|
stjames/status.py,sha256=wTKNcNxStoEHrxxgr_zTyN90NITa3rxMQZzOgrCifEw,332
|
|
21
21
|
stjames/task.py,sha256=TTl-iTdvDNCZTdPsyS6bYmxzY0ez9PgYlL62fztayXQ,307
|
|
22
22
|
stjames/thermochem_settings.py,sha256=ZTLz31v8Ltutde5Nfm0vH5YahWjcfFWfr_R856KffxE,517
|
|
23
23
|
stjames/workflows/__init__.py,sha256=sy9J04mCJpyVGcG4DecCi6pncwbZVvybI7sJKzavjgo,167
|
|
24
|
-
stjames/workflows/conformer.py,sha256=
|
|
24
|
+
stjames/workflows/conformer.py,sha256=10mMhXhFoCUsOvSBp06Q16WufD66YiWCBuBcJEZr9vg,2697
|
|
25
25
|
stjames/workflows/descriptors.py,sha256=Jqx_4u_ZhdFJrT-ITU6zlFY0n8llh6zhzIhM38e8NCs,255
|
|
26
26
|
stjames/workflows/fukui.py,sha256=FAabgLi_ig6Zp_jiTkuveP0wAObwv68liuumr85rb0g,366
|
|
27
27
|
stjames/workflows/pka.py,sha256=zpR90Yv2L-D56o2mGArM8027DWpnFFnay31UR9Xh5Nc,774
|
|
@@ -29,8 +29,8 @@ stjames/workflows/redox_potential.py,sha256=iPkFt1Dj1sUywS9pLSEBVpCjHZcEwUESluY0
|
|
|
29
29
|
stjames/workflows/scan.py,sha256=d1ca1uk1nxdzlSwqMLZ0W1_DHyrQMnHJmvPfziCS0SA,773
|
|
30
30
|
stjames/workflows/tautomer.py,sha256=kZSCHo2Q7LzqtQjF_WyyxjECkndG49T9QOM12hsUkx8,421
|
|
31
31
|
stjames/workflows/workflow.py,sha256=6hFe5PZejJu6bZ3yTkoJ9-xQMBn_-8tUsbk4FUZxog0,367
|
|
32
|
-
stjames-0.0.
|
|
33
|
-
stjames-0.0.
|
|
34
|
-
stjames-0.0.
|
|
35
|
-
stjames-0.0.
|
|
36
|
-
stjames-0.0.
|
|
32
|
+
stjames-0.0.38.dist-info/LICENSE,sha256=i7ehYBS-6gGmbTcgU4mgk28pyOx2kScJ0kcx8n7bWLM,1084
|
|
33
|
+
stjames-0.0.38.dist-info/METADATA,sha256=g3b6X5V-Co_xbpwRRmj2UMjIArDusYqMyz763DXIEIQ,1626
|
|
34
|
+
stjames-0.0.38.dist-info/WHEEL,sha256=y4mX-SOX4fYIkonsAGA5N0Oy-8_gI4FXw5HNI1xqvWg,91
|
|
35
|
+
stjames-0.0.38.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
|
|
36
|
+
stjames-0.0.38.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|