stjames 0.0.89__tar.gz → 0.0.91__tar.gz

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.

Files changed (81) hide show
  1. {stjames-0.0.89/stjames.egg-info → stjames-0.0.91}/PKG-INFO +1 -1
  2. {stjames-0.0.89 → stjames-0.0.91}/pyproject.toml +1 -1
  3. stjames-0.0.91/stjames/engine.py +16 -0
  4. {stjames-0.0.89 → stjames-0.0.91}/stjames/method.py +45 -7
  5. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/ion_mobility.py +6 -0
  6. {stjames-0.0.89 → stjames-0.0.91/stjames.egg-info}/PKG-INFO +1 -1
  7. {stjames-0.0.89 → stjames-0.0.91}/stjames.egg-info/SOURCES.txt +1 -0
  8. {stjames-0.0.89 → stjames-0.0.91}/LICENSE +0 -0
  9. {stjames-0.0.89 → stjames-0.0.91}/README.md +0 -0
  10. {stjames-0.0.89 → stjames-0.0.91}/setup.cfg +0 -0
  11. {stjames-0.0.89 → stjames-0.0.91}/stjames/__init__.py +0 -0
  12. {stjames-0.0.89 → stjames-0.0.91}/stjames/_deprecated_solvent_settings.py +0 -0
  13. {stjames-0.0.89 → stjames-0.0.91}/stjames/atom.py +0 -0
  14. {stjames-0.0.89 → stjames-0.0.91}/stjames/atomium_stjames/__init__.py +0 -0
  15. {stjames-0.0.89 → stjames-0.0.91}/stjames/atomium_stjames/data.py +0 -0
  16. {stjames-0.0.89 → stjames-0.0.91}/stjames/atomium_stjames/mmcif.py +0 -0
  17. {stjames-0.0.89 → stjames-0.0.91}/stjames/atomium_stjames/pdb.py +0 -0
  18. {stjames-0.0.89 → stjames-0.0.91}/stjames/atomium_stjames/utilities.py +0 -0
  19. {stjames-0.0.89 → stjames-0.0.91}/stjames/base.py +0 -0
  20. {stjames-0.0.89 → stjames-0.0.91}/stjames/basis_set.py +0 -0
  21. {stjames-0.0.89 → stjames-0.0.91}/stjames/calculation.py +0 -0
  22. {stjames-0.0.89 → stjames-0.0.91}/stjames/compute_settings.py +0 -0
  23. {stjames-0.0.89 → stjames-0.0.91}/stjames/constraint.py +0 -0
  24. {stjames-0.0.89 → stjames-0.0.91}/stjames/correction.py +0 -0
  25. {stjames-0.0.89 → stjames-0.0.91}/stjames/data/__init__.py +0 -0
  26. {stjames-0.0.89 → stjames-0.0.91}/stjames/data/bragg_radii.json +0 -0
  27. {stjames-0.0.89 → stjames-0.0.91}/stjames/data/elements.py +0 -0
  28. {stjames-0.0.89 → stjames-0.0.91}/stjames/data/isotopes.json +0 -0
  29. {stjames-0.0.89 → stjames-0.0.91}/stjames/data/nist_isotopes.json +0 -0
  30. {stjames-0.0.89 → stjames-0.0.91}/stjames/data/read_nist_isotopes.py +0 -0
  31. {stjames-0.0.89 → stjames-0.0.91}/stjames/data/symbol_element.json +0 -0
  32. {stjames-0.0.89 → stjames-0.0.91}/stjames/diis_settings.py +0 -0
  33. {stjames-0.0.89 → stjames-0.0.91}/stjames/grid_settings.py +0 -0
  34. {stjames-0.0.89 → stjames-0.0.91}/stjames/int_settings.py +0 -0
  35. {stjames-0.0.89 → stjames-0.0.91}/stjames/message.py +0 -0
  36. {stjames-0.0.89 → stjames-0.0.91}/stjames/mode.py +0 -0
  37. {stjames-0.0.89 → stjames-0.0.91}/stjames/molecule.py +0 -0
  38. {stjames-0.0.89 → stjames-0.0.91}/stjames/opt_settings.py +0 -0
  39. {stjames-0.0.89 → stjames-0.0.91}/stjames/pdb.py +0 -0
  40. {stjames-0.0.89 → stjames-0.0.91}/stjames/periodic_cell.py +0 -0
  41. {stjames-0.0.89 → stjames-0.0.91}/stjames/py.typed +0 -0
  42. {stjames-0.0.89 → stjames-0.0.91}/stjames/scf_settings.py +0 -0
  43. {stjames-0.0.89 → stjames-0.0.91}/stjames/settings.py +0 -0
  44. {stjames-0.0.89 → stjames-0.0.91}/stjames/solvent.py +0 -0
  45. {stjames-0.0.89 → stjames-0.0.91}/stjames/status.py +0 -0
  46. {stjames-0.0.89 → stjames-0.0.91}/stjames/task.py +0 -0
  47. {stjames-0.0.89 → stjames-0.0.91}/stjames/thermochem_settings.py +0 -0
  48. {stjames-0.0.89 → stjames-0.0.91}/stjames/types.py +0 -0
  49. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/__init__.py +0 -0
  50. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/admet.py +0 -0
  51. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/basic_calculation.py +0 -0
  52. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/bde.py +0 -0
  53. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/conformer.py +0 -0
  54. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/conformer_search.py +0 -0
  55. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/descriptors.py +0 -0
  56. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/docking.py +0 -0
  57. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/electronic_properties.py +0 -0
  58. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/fukui.py +0 -0
  59. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/hydrogen_bond_basicity.py +0 -0
  60. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/irc.py +0 -0
  61. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/macropka.py +0 -0
  62. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/molecular_dynamics.py +0 -0
  63. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/multistage_opt.py +0 -0
  64. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/pka.py +0 -0
  65. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/pose_analysis_md.py +0 -0
  66. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/protein_cofolding.py +0 -0
  67. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/redox_potential.py +0 -0
  68. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/scan.py +0 -0
  69. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/solubility.py +0 -0
  70. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/spin_states.py +0 -0
  71. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/tautomer.py +0 -0
  72. {stjames-0.0.89 → stjames-0.0.91}/stjames/workflows/workflow.py +0 -0
  73. {stjames-0.0.89 → stjames-0.0.91}/stjames.egg-info/dependency_links.txt +0 -0
  74. {stjames-0.0.89 → stjames-0.0.91}/stjames.egg-info/requires.txt +0 -0
  75. {stjames-0.0.89 → stjames-0.0.91}/stjames.egg-info/top_level.txt +0 -0
  76. {stjames-0.0.89 → stjames-0.0.91}/tests/test_constraints.py +0 -0
  77. {stjames-0.0.89 → stjames-0.0.91}/tests/test_from_extxyz.py +0 -0
  78. {stjames-0.0.89 → stjames-0.0.91}/tests/test_molecule.py +0 -0
  79. {stjames-0.0.89 → stjames-0.0.91}/tests/test_pdb.py +0 -0
  80. {stjames-0.0.89 → stjames-0.0.91}/tests/test_rounding.py +0 -0
  81. {stjames-0.0.89 → stjames-0.0.91}/tests/test_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.89
3
+ Version: 0.0.91
4
4
  Summary: standardized JSON atom/molecule encoding scheme
5
5
  Author-email: Corin Wagen <corin@rowansci.com>
6
6
  Project-URL: Homepage, https://github.com/rowansci/stjames
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stjames"
3
- version = "0.0.89"
3
+ version = "0.0.91"
4
4
  description = "standardized JSON atom/molecule encoding scheme"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -0,0 +1,16 @@
1
+ from .base import LowercaseStrEnum
2
+
3
+
4
+ class Mode(LowercaseStrEnum):
5
+ AIMNET2 = "aimnet2"
6
+ MACE = "mace"
7
+ OCP24 = "ocp24"
8
+ OMOL25 = "omol25"
9
+ ORB = "orb"
10
+ TBLITE = "tblite"
11
+ XTB = "xtb"
12
+ TERRACHEM = "terrachem"
13
+ PYSCF = "pyscf"
14
+ PSI4 = "psi4"
15
+ OPENFF = "openff"
16
+ EGRET = "egret"
@@ -37,7 +37,6 @@ class Method(LowercaseStrEnum):
37
37
  OCP24_L = "ocp24_l"
38
38
  OMOL25_CONSERVING_S = "omol25_conserving_s"
39
39
  UMA_M_OMOL = "uma_m_omol"
40
- ORB_V2 = "orb_v2"
41
40
  ORB_V3_CONSERVATIVE_INF_OMAT = "orb_v3_conservative_inf_omat"
42
41
 
43
42
  GFN_FF = "gfn_ff"
@@ -51,12 +50,53 @@ class Method(LowercaseStrEnum):
51
50
 
52
51
  OFF_SAGE_2_2_1 = "off_sage_2_2_1"
53
52
 
54
- RM1 = "rm1"
55
-
56
53
  EGRET_1 = "egret_1"
57
54
  EGRET_1E = "egret_1e"
58
55
  EGRET_1T = "egret_1t"
59
56
 
57
+ def default_engine(self, *, is_periodic: bool = False) -> str:
58
+ """
59
+ Return the canonical engine name for this quantum-chemistry method.
60
+
61
+ :param bool is_periodic:
62
+ If ``True`` **and** the method is in the XTB family, return
63
+ ``"tblite"`` (periodic-capable backend) instead of ``"xtb"``.
64
+ :returns: Lower-case engine identifier (e.g. ``"psi4"``, ``"mace"``).
65
+
66
+ **Examples**
67
+
68
+ .. code-block:: python
69
+
70
+ Method.MACE_MP_0B2_L.default_engine()
71
+ # 'mace'
72
+
73
+ Method.GFN2_XTB.default_engine()
74
+ # 'xtb'
75
+
76
+ Method.GFN2_XTB.default_engine(is_periodic=True)
77
+ # 'tblite'
78
+ """
79
+ match self:
80
+ case Method.AIMNET2_WB97MD3:
81
+ return "aimnet2"
82
+ case Method.MACE_MP_0B2_L:
83
+ return "mace"
84
+ case Method.OCP24_S | Method.OCP24_L:
85
+ return "ocp24"
86
+ case Method.OMOL25_CONSERVING_S | Method.UMA_M_OMOL:
87
+ return "omol25"
88
+ case Method.ORB_V3_CONSERVATIVE_INF_OMAT:
89
+ return "orb"
90
+ case _ if self in XTB_METHODS:
91
+ return "tblite" if is_periodic else "xtb"
92
+ case Method.OFF_SAGE_2_2_1:
93
+ return "openff"
94
+ case Method.EGRET_1 | Method.EGRET_1E | Method.EGRET_1T:
95
+ return "egret"
96
+ case _:
97
+ # All remaining methods (HF, DFT, composite, etc.) fall back to Psi4
98
+ return "psi4"
99
+
60
100
 
61
101
  PrepackagedNNPMethod = Literal[
62
102
  Method.AIMNET2_WB97MD3,
@@ -64,7 +104,6 @@ PrepackagedNNPMethod = Literal[
64
104
  Method.OCP24_L,
65
105
  Method.OMOL25_CONSERVING_S,
66
106
  Method.UMA_M_OMOL,
67
- Method.RM1,
68
107
  Method.ORB_V3_CONSERVATIVE_INF_OMAT,
69
108
  Method.EGRET_1,
70
109
  Method.EGRET_1E,
@@ -77,15 +116,14 @@ PREPACKAGED_NNP_METHODS = [
77
116
  Method.OCP24_L,
78
117
  Method.OMOL25_CONSERVING_S,
79
118
  Method.UMA_M_OMOL,
80
- Method.RM1,
81
119
  Method.ORB_V3_CONSERVATIVE_INF_OMAT,
82
120
  Method.EGRET_1,
83
121
  Method.EGRET_1E,
84
122
  Method.EGRET_1T,
85
123
  ]
86
124
 
87
- CorrectableNNPMethod = Literal[Method.MACE_MP_0B2_L, Method.ORB_V2]
88
- CORRECTABLE_NNP_METHODS = [Method.MACE_MP_0B2_L, Method.ORB_V2]
125
+ CorrectableNNPMethod = Literal[Method.MACE_MP_0B2_L]
126
+ CORRECTABLE_NNP_METHODS = [Method.MACE_MP_0B2_L]
89
127
 
90
128
  NNPMethod = PrepackagedNNPMethod | CorrectableNNPMethod
91
129
  NNP_METHODS = [*PREPACKAGED_NNP_METHODS, *CORRECTABLE_NNP_METHODS]
@@ -13,10 +13,13 @@ class IonMobilityWorkflow(MoleculeWorkflow):
13
13
  :param mode: Mode for workflow (currently unused)
14
14
 
15
15
  New:
16
+ :param protonate: automatically protonate the molecule
17
+ :param temperature: the temperature, in Kelvin
16
18
  :param do_csearch: whether to perform a conformational search
17
19
  :param do_optimization: whether to perform an optimization
18
20
 
19
21
  Results:
22
+ :param conformers: the UUIDs of the conformers
20
23
  :param conformer_ccs: the collision cross section (Å**2) per conformer
21
24
  :param conformer_ccs_stdev: the uncertainty in the same
22
25
  :param conformer_weights: the Boltzmann weights at RT
@@ -24,8 +27,11 @@ class IonMobilityWorkflow(MoleculeWorkflow):
24
27
  :param average_ccs_stdev: the uncertainty in the same
25
28
  """
26
29
 
30
+ protonate: bool = False
31
+ temperature: float = 300
27
32
  do_csearch: bool = True
28
33
  do_optimization: bool = True
34
+
29
35
  conformers: list[UUID] = []
30
36
 
31
37
  conformer_ccs: list[float] = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.89
3
+ Version: 0.0.91
4
4
  Summary: standardized JSON atom/molecule encoding scheme
5
5
  Author-email: Corin Wagen <corin@rowansci.com>
6
6
  Project-URL: Homepage, https://github.com/rowansci/stjames
@@ -11,6 +11,7 @@ stjames/compute_settings.py
11
11
  stjames/constraint.py
12
12
  stjames/correction.py
13
13
  stjames/diis_settings.py
14
+ stjames/engine.py
14
15
  stjames/grid_settings.py
15
16
  stjames/int_settings.py
16
17
  stjames/message.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes