stjames 0.0.99__tar.gz → 0.0.101__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 (82) hide show
  1. {stjames-0.0.99 → stjames-0.0.101}/LICENSE +1 -1
  2. {stjames-0.0.99/stjames.egg-info → stjames-0.0.101}/PKG-INFO +1 -1
  3. {stjames-0.0.99 → stjames-0.0.101}/pyproject.toml +1 -1
  4. {stjames-0.0.99 → stjames-0.0.101}/stjames/molecule.py +8 -0
  5. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/__init__.py +3 -0
  6. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/basic_calculation.py +13 -1
  7. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/nmr.py +2 -2
  8. {stjames-0.0.99 → stjames-0.0.101/stjames.egg-info}/PKG-INFO +1 -1
  9. {stjames-0.0.99 → stjames-0.0.101}/README.md +0 -0
  10. {stjames-0.0.99 → stjames-0.0.101}/setup.cfg +0 -0
  11. {stjames-0.0.99 → stjames-0.0.101}/stjames/__init__.py +0 -0
  12. {stjames-0.0.99 → stjames-0.0.101}/stjames/_deprecated_solvent_settings.py +0 -0
  13. {stjames-0.0.99 → stjames-0.0.101}/stjames/atom.py +0 -0
  14. {stjames-0.0.99 → stjames-0.0.101}/stjames/atomium_stjames/__init__.py +0 -0
  15. {stjames-0.0.99 → stjames-0.0.101}/stjames/atomium_stjames/data.py +0 -0
  16. {stjames-0.0.99 → stjames-0.0.101}/stjames/atomium_stjames/mmcif.py +0 -0
  17. {stjames-0.0.99 → stjames-0.0.101}/stjames/atomium_stjames/pdb.py +0 -0
  18. {stjames-0.0.99 → stjames-0.0.101}/stjames/atomium_stjames/utilities.py +0 -0
  19. {stjames-0.0.99 → stjames-0.0.101}/stjames/base.py +0 -0
  20. {stjames-0.0.99 → stjames-0.0.101}/stjames/basis_set.py +0 -0
  21. {stjames-0.0.99 → stjames-0.0.101}/stjames/calculation.py +0 -0
  22. {stjames-0.0.99 → stjames-0.0.101}/stjames/compute_settings.py +0 -0
  23. {stjames-0.0.99 → stjames-0.0.101}/stjames/constraint.py +0 -0
  24. {stjames-0.0.99 → stjames-0.0.101}/stjames/correction.py +0 -0
  25. {stjames-0.0.99 → stjames-0.0.101}/stjames/data/__init__.py +0 -0
  26. {stjames-0.0.99 → stjames-0.0.101}/stjames/data/bragg_radii.json +0 -0
  27. {stjames-0.0.99 → stjames-0.0.101}/stjames/data/elements.py +0 -0
  28. {stjames-0.0.99 → stjames-0.0.101}/stjames/data/isotopes.json +0 -0
  29. {stjames-0.0.99 → stjames-0.0.101}/stjames/data/nist_isotopes.json +0 -0
  30. {stjames-0.0.99 → stjames-0.0.101}/stjames/data/read_nist_isotopes.py +0 -0
  31. {stjames-0.0.99 → stjames-0.0.101}/stjames/data/symbol_element.json +0 -0
  32. {stjames-0.0.99 → stjames-0.0.101}/stjames/engine.py +0 -0
  33. {stjames-0.0.99 → stjames-0.0.101}/stjames/message.py +0 -0
  34. {stjames-0.0.99 → stjames-0.0.101}/stjames/method.py +0 -0
  35. {stjames-0.0.99 → stjames-0.0.101}/stjames/mode.py +0 -0
  36. {stjames-0.0.99 → stjames-0.0.101}/stjames/opt_settings.py +0 -0
  37. {stjames-0.0.99 → stjames-0.0.101}/stjames/optimization/__init__.py +0 -0
  38. {stjames-0.0.99 → stjames-0.0.101}/stjames/optimization/freezing_string_method.py +0 -0
  39. {stjames-0.0.99 → stjames-0.0.101}/stjames/pdb.py +0 -0
  40. {stjames-0.0.99 → stjames-0.0.101}/stjames/periodic_cell.py +0 -0
  41. {stjames-0.0.99 → stjames-0.0.101}/stjames/py.typed +0 -0
  42. {stjames-0.0.99 → stjames-0.0.101}/stjames/scf_settings.py +0 -0
  43. {stjames-0.0.99 → stjames-0.0.101}/stjames/settings.py +0 -0
  44. {stjames-0.0.99 → stjames-0.0.101}/stjames/solvent.py +0 -0
  45. {stjames-0.0.99 → stjames-0.0.101}/stjames/status.py +0 -0
  46. {stjames-0.0.99 → stjames-0.0.101}/stjames/task.py +0 -0
  47. {stjames-0.0.99 → stjames-0.0.101}/stjames/thermochem_settings.py +0 -0
  48. {stjames-0.0.99 → stjames-0.0.101}/stjames/types.py +0 -0
  49. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/admet.py +0 -0
  50. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/bde.py +0 -0
  51. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/conformer.py +0 -0
  52. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/conformer_search.py +0 -0
  53. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/descriptors.py +0 -0
  54. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/docking.py +0 -0
  55. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/double_ended_ts_search.py +0 -0
  56. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/electronic_properties.py +0 -0
  57. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/fukui.py +0 -0
  58. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/hydrogen_bond_basicity.py +0 -0
  59. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/ion_mobility.py +0 -0
  60. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/irc.py +0 -0
  61. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/macropka.py +0 -0
  62. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/molecular_dynamics.py +0 -0
  63. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/multistage_opt.py +0 -0
  64. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/pka.py +0 -0
  65. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/pose_analysis_md.py +0 -0
  66. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/protein_cofolding.py +0 -0
  67. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/redox_potential.py +0 -0
  68. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/scan.py +0 -0
  69. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/solubility.py +0 -0
  70. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/spin_states.py +0 -0
  71. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/tautomer.py +0 -0
  72. {stjames-0.0.99 → stjames-0.0.101}/stjames/workflows/workflow.py +0 -0
  73. {stjames-0.0.99 → stjames-0.0.101}/stjames.egg-info/SOURCES.txt +0 -0
  74. {stjames-0.0.99 → stjames-0.0.101}/stjames.egg-info/dependency_links.txt +0 -0
  75. {stjames-0.0.99 → stjames-0.0.101}/stjames.egg-info/requires.txt +0 -0
  76. {stjames-0.0.99 → stjames-0.0.101}/stjames.egg-info/top_level.txt +0 -0
  77. {stjames-0.0.99 → stjames-0.0.101}/tests/test_constraints.py +0 -0
  78. {stjames-0.0.99 → stjames-0.0.101}/tests/test_from_extxyz.py +0 -0
  79. {stjames-0.0.99 → stjames-0.0.101}/tests/test_molecule.py +0 -0
  80. {stjames-0.0.99 → stjames-0.0.101}/tests/test_pdb.py +0 -0
  81. {stjames-0.0.99 → stjames-0.0.101}/tests/test_rounding.py +0 -0
  82. {stjames-0.0.99 → stjames-0.0.101}/tests/test_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright (c) Rowan (https://rowansci.com)
3
+ Copyright (c) Rowan Scientific Corporation
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.99
3
+ Version: 0.0.101
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.99"
3
+ version = "0.0.101"
4
4
  description = "standardized JSON atom/molecule encoding scheme"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -157,12 +157,20 @@ class Molecule(Base):
157
157
  return None
158
158
  return self.energy + self.thermal_enthalpy_corr
159
159
 
160
+ @property
161
+ def enthalpy(self) -> Optional[float]:
162
+ return self.sum_energy_enthalpy
163
+
160
164
  @property
161
165
  def sum_energy_free_energy(self) -> Optional[float]:
162
166
  if (self.energy is None) or (self.thermal_free_energy_corr is None):
163
167
  return None
164
168
  return self.energy + self.thermal_free_energy_corr
165
169
 
170
+ @property
171
+ def gibbs_free_energy(self) -> Optional[float]:
172
+ return self.sum_energy_free_energy
173
+
166
174
  @pydantic.model_validator(mode="after")
167
175
  def check_electron_sanity(self) -> Self:
168
176
  num_electrons = sum(self.atomic_numbers) - self.charge
@@ -9,6 +9,7 @@ from .conformer import *
9
9
  from .conformer_search import *
10
10
  from .descriptors import *
11
11
  from .docking import *
12
+ from .double_ended_ts_search import DoubleEndedTSSearchWorkflow
12
13
  from .electronic_properties import *
13
14
  from .fukui import *
14
15
  from .hydrogen_bond_basicity import *
@@ -36,6 +37,7 @@ WORKFLOW_NAME = Literal[
36
37
  "conformer_search",
37
38
  "descriptors",
38
39
  "docking",
40
+ "double_ended_ts_search",
39
41
  "electronic_properties",
40
42
  "fukui",
41
43
  "hydrogen_bond_basicity",
@@ -63,6 +65,7 @@ WORKFLOW_MAPPING: dict[WORKFLOW_NAME, Workflow] = {
63
65
  "conformer_search": ConformerSearchWorkflow, # type: ignore [dict-item]
64
66
  "descriptors": DescriptorsWorkflow, # type: ignore [dict-item]
65
67
  "docking": DockingWorkflow, # type: ignore [dict-item]
68
+ "double_ended_ts_search": DoubleEndedTSSearchWorkflow, # type: ignore [dict-item]
66
69
  "electronic_properties": ElectronicPropertiesWorkflow, # type: ignore [dict-item]
67
70
  "fukui": FukuiIndexWorkflow, # type: ignore [dict-item]
68
71
  "hydrogen_bond_basicity": HydrogenBondBasicityWorkflow, # type: ignore [dict-item]
@@ -1,5 +1,10 @@
1
1
  """Basic calculation workflow."""
2
2
 
3
+ from typing import Self
4
+
5
+ from pydantic import model_validator
6
+
7
+ from ..engine import Engine
3
8
  from ..settings import Settings
4
9
  from ..types import UUID
5
10
  from .workflow import MoleculeWorkflow
@@ -20,5 +25,12 @@ class BasicCalculationWorkflow(MoleculeWorkflow):
20
25
  """
21
26
 
22
27
  settings: Settings
23
- engine: str
28
+ engine: Engine = None # type: ignore [assignment]
24
29
  calculation_uuid: UUID | None = None
30
+
31
+ @model_validator(mode="after")
32
+ def set_engine(self) -> Self:
33
+ """Set the calculation engine."""
34
+ self.engine = self.engine or self.settings.method.default_engine()
35
+
36
+ return self
@@ -29,7 +29,7 @@ class NMRPeak(Base):
29
29
 
30
30
  nucleus: int
31
31
  shift: Annotated[float, AfterValidator(round_float(3))]
32
- atom_indices: set[int]
32
+ atom_indices: list[int]
33
33
 
34
34
 
35
35
  class NMRSpectroscopyWorkflow(MoleculeWorkflow):
@@ -68,6 +68,6 @@ class NMRSpectroscopyWorkflow(MoleculeWorkflow):
68
68
  boltzmann_weights: Annotated[list[float], AfterValidator(round_list(3))] = []
69
69
  per_conformer_chemical_shifts: list[Annotated[list[float | None], AfterValidator(round_optional_list(3))]] = []
70
70
  chemical_shifts: Annotated[list[float | None], AfterValidator(round_optional_list(3))] = []
71
- symmetry_equivalent_nuclei: list[set[int]] = []
71
+ symmetry_equivalent_nuclei: list[list[int]] = []
72
72
 
73
73
  predicted_peaks: dict[int, list[NMRPeak]] = {}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.99
3
+ Version: 0.0.101
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
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