stjames 0.0.95__tar.gz → 0.0.97__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 (79) hide show
  1. {stjames-0.0.95/stjames.egg-info → stjames-0.0.97}/PKG-INFO +1 -1
  2. {stjames-0.0.95 → stjames-0.0.97}/pyproject.toml +1 -1
  3. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/nmr.py +26 -7
  4. {stjames-0.0.95 → stjames-0.0.97/stjames.egg-info}/PKG-INFO +1 -1
  5. {stjames-0.0.95 → stjames-0.0.97}/LICENSE +0 -0
  6. {stjames-0.0.95 → stjames-0.0.97}/README.md +0 -0
  7. {stjames-0.0.95 → stjames-0.0.97}/setup.cfg +0 -0
  8. {stjames-0.0.95 → stjames-0.0.97}/stjames/__init__.py +0 -0
  9. {stjames-0.0.95 → stjames-0.0.97}/stjames/_deprecated_solvent_settings.py +0 -0
  10. {stjames-0.0.95 → stjames-0.0.97}/stjames/atom.py +0 -0
  11. {stjames-0.0.95 → stjames-0.0.97}/stjames/atomium_stjames/__init__.py +0 -0
  12. {stjames-0.0.95 → stjames-0.0.97}/stjames/atomium_stjames/data.py +0 -0
  13. {stjames-0.0.95 → stjames-0.0.97}/stjames/atomium_stjames/mmcif.py +0 -0
  14. {stjames-0.0.95 → stjames-0.0.97}/stjames/atomium_stjames/pdb.py +0 -0
  15. {stjames-0.0.95 → stjames-0.0.97}/stjames/atomium_stjames/utilities.py +0 -0
  16. {stjames-0.0.95 → stjames-0.0.97}/stjames/base.py +0 -0
  17. {stjames-0.0.95 → stjames-0.0.97}/stjames/basis_set.py +0 -0
  18. {stjames-0.0.95 → stjames-0.0.97}/stjames/calculation.py +0 -0
  19. {stjames-0.0.95 → stjames-0.0.97}/stjames/compute_settings.py +0 -0
  20. {stjames-0.0.95 → stjames-0.0.97}/stjames/constraint.py +0 -0
  21. {stjames-0.0.95 → stjames-0.0.97}/stjames/correction.py +0 -0
  22. {stjames-0.0.95 → stjames-0.0.97}/stjames/data/__init__.py +0 -0
  23. {stjames-0.0.95 → stjames-0.0.97}/stjames/data/bragg_radii.json +0 -0
  24. {stjames-0.0.95 → stjames-0.0.97}/stjames/data/elements.py +0 -0
  25. {stjames-0.0.95 → stjames-0.0.97}/stjames/data/isotopes.json +0 -0
  26. {stjames-0.0.95 → stjames-0.0.97}/stjames/data/nist_isotopes.json +0 -0
  27. {stjames-0.0.95 → stjames-0.0.97}/stjames/data/read_nist_isotopes.py +0 -0
  28. {stjames-0.0.95 → stjames-0.0.97}/stjames/data/symbol_element.json +0 -0
  29. {stjames-0.0.95 → stjames-0.0.97}/stjames/engine.py +0 -0
  30. {stjames-0.0.95 → stjames-0.0.97}/stjames/message.py +0 -0
  31. {stjames-0.0.95 → stjames-0.0.97}/stjames/method.py +0 -0
  32. {stjames-0.0.95 → stjames-0.0.97}/stjames/mode.py +0 -0
  33. {stjames-0.0.95 → stjames-0.0.97}/stjames/molecule.py +0 -0
  34. {stjames-0.0.95 → stjames-0.0.97}/stjames/opt_settings.py +0 -0
  35. {stjames-0.0.95 → stjames-0.0.97}/stjames/pdb.py +0 -0
  36. {stjames-0.0.95 → stjames-0.0.97}/stjames/periodic_cell.py +0 -0
  37. {stjames-0.0.95 → stjames-0.0.97}/stjames/py.typed +0 -0
  38. {stjames-0.0.95 → stjames-0.0.97}/stjames/scf_settings.py +0 -0
  39. {stjames-0.0.95 → stjames-0.0.97}/stjames/settings.py +0 -0
  40. {stjames-0.0.95 → stjames-0.0.97}/stjames/solvent.py +0 -0
  41. {stjames-0.0.95 → stjames-0.0.97}/stjames/status.py +0 -0
  42. {stjames-0.0.95 → stjames-0.0.97}/stjames/task.py +0 -0
  43. {stjames-0.0.95 → stjames-0.0.97}/stjames/thermochem_settings.py +0 -0
  44. {stjames-0.0.95 → stjames-0.0.97}/stjames/types.py +0 -0
  45. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/__init__.py +0 -0
  46. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/admet.py +0 -0
  47. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/basic_calculation.py +0 -0
  48. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/bde.py +0 -0
  49. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/conformer.py +0 -0
  50. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/conformer_search.py +0 -0
  51. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/descriptors.py +0 -0
  52. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/docking.py +0 -0
  53. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/electronic_properties.py +0 -0
  54. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/fukui.py +0 -0
  55. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/hydrogen_bond_basicity.py +0 -0
  56. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/ion_mobility.py +0 -0
  57. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/irc.py +0 -0
  58. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/macropka.py +0 -0
  59. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/molecular_dynamics.py +0 -0
  60. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/multistage_opt.py +0 -0
  61. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/pka.py +0 -0
  62. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/pose_analysis_md.py +0 -0
  63. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/protein_cofolding.py +0 -0
  64. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/redox_potential.py +0 -0
  65. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/scan.py +0 -0
  66. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/solubility.py +0 -0
  67. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/spin_states.py +0 -0
  68. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/tautomer.py +0 -0
  69. {stjames-0.0.95 → stjames-0.0.97}/stjames/workflows/workflow.py +0 -0
  70. {stjames-0.0.95 → stjames-0.0.97}/stjames.egg-info/SOURCES.txt +0 -0
  71. {stjames-0.0.95 → stjames-0.0.97}/stjames.egg-info/dependency_links.txt +0 -0
  72. {stjames-0.0.95 → stjames-0.0.97}/stjames.egg-info/requires.txt +0 -0
  73. {stjames-0.0.95 → stjames-0.0.97}/stjames.egg-info/top_level.txt +0 -0
  74. {stjames-0.0.95 → stjames-0.0.97}/tests/test_constraints.py +0 -0
  75. {stjames-0.0.95 → stjames-0.0.97}/tests/test_from_extxyz.py +0 -0
  76. {stjames-0.0.95 → stjames-0.0.97}/tests/test_molecule.py +0 -0
  77. {stjames-0.0.95 → stjames-0.0.97}/tests/test_pdb.py +0 -0
  78. {stjames-0.0.95 → stjames-0.0.97}/tests/test_rounding.py +0 -0
  79. {stjames-0.0.95 → stjames-0.0.97}/tests/test_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.95
3
+ Version: 0.0.97
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.95"
3
+ version = "0.0.97"
4
4
  description = "standardized JSON atom/molecule encoding scheme"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -4,11 +4,11 @@ from typing import Annotated
4
4
 
5
5
  from pydantic import AfterValidator
6
6
 
7
- from ..base import LowercaseStrEnum
7
+ from ..base import Base, LowercaseStrEnum, round_float
8
8
  from ..mode import Mode
9
9
  from ..settings import Settings
10
10
  from ..solvent import Solvent
11
- from ..types import UUID, round_list
11
+ from ..types import UUID, round_list, round_optional_list
12
12
  from .conformer_search import ConformerGenSettings, iMTDSettings
13
13
  from .multistage_opt import MultiStageOptSettings
14
14
  from .workflow import MoleculeWorkflow
@@ -18,6 +18,20 @@ class NMRMethod(LowercaseStrEnum):
18
18
  MAGNETZERO = "magnet-zero"
19
19
 
20
20
 
21
+ class NMRPeak(Base):
22
+ """
23
+ Represents a single NMR peak.
24
+
25
+ :param nucleus: the atomic number of the nucleus in question
26
+ :param shift: the chemical shift of the peak
27
+ :param atom_indices: the zero-indices of the atoms giving rise to the peak
28
+ """
29
+
30
+ nucleus: int
31
+ shift: Annotated[float, AfterValidator(round_float(3))]
32
+ atom_indices: set[int]
33
+
34
+
21
35
  class NMRSpectroscopyWorkflow(MoleculeWorkflow):
22
36
  """
23
37
  Workflow for calculating NMR spectra.
@@ -35,8 +49,10 @@ class NMRSpectroscopyWorkflow(MoleculeWorkflow):
35
49
  Results:
36
50
  :param conformers: list of conformer UUIDs
37
51
  :param boltzmann_weights: the boltzmann weights for each conformer
38
- :param per_conformer_isotopic_shieldings: the per-atom shieldings for each conformer
39
- :param isotopic_shieldings: the per-atom shieldings
52
+ :param per_conformer_chemical_shifts: the per-atom shifts for each conformer
53
+ :param chemical_shifts: the per-atom shifts
54
+ :param symmetry_equivalent_nuclei: 0-indexed atoms which are equivalent to one another
55
+ :param predicted_peaks: the predicted NMR peaks
40
56
  """
41
57
 
42
58
  nmr_method: NMRMethod = NMRMethod.MAGNETZERO
@@ -45,10 +61,13 @@ class NMRSpectroscopyWorkflow(MoleculeWorkflow):
45
61
  conf_gen_settings: ConformerGenSettings | None = iMTDSettings(mode="careful")
46
62
  multistage_opt_settings: MultiStageOptSettings | None = MultiStageOptSettings(
47
63
  mode=Mode.MANUAL,
48
- optimization_settings=[Settings(method="aimnet2_wb97md3")],
64
+ optimization_settings=[Settings(method="aimnet2_wb97md3", tasks=["optimize"])],
49
65
  )
50
66
 
51
67
  conformers: list[UUID] = []
52
68
  boltzmann_weights: Annotated[list[float], AfterValidator(round_list(3))] = []
53
- per_conformer_isotropic_shieldings: list[Annotated[list[float], AfterValidator(round_list(3))]] = []
54
- isotropic_shieldings: Annotated[list[float], AfterValidator(round_list(3))] = []
69
+ per_conformer_chemical_shifts: list[Annotated[list[float | None], AfterValidator(round_optional_list(3))]] = []
70
+ chemical_shifts: Annotated[list[float | None], AfterValidator(round_optional_list(3))] = []
71
+ symmetry_equivalent_nuclei: set[set[int]] = set()
72
+
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.95
3
+ Version: 0.0.97
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
File without changes
File without changes
File without changes
File without changes