stjames 0.0.112__tar.gz → 0.0.114__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.
Files changed (83) hide show
  1. {stjames-0.0.112/stjames.egg-info → stjames-0.0.114}/PKG-INFO +1 -1
  2. {stjames-0.0.112 → stjames-0.0.114}/pyproject.toml +1 -1
  3. {stjames-0.0.112 → stjames-0.0.114}/stjames/method.py +21 -8
  4. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/pose_analysis_md.py +5 -3
  5. {stjames-0.0.112 → stjames-0.0.114/stjames.egg-info}/PKG-INFO +1 -1
  6. {stjames-0.0.112 → stjames-0.0.114}/LICENSE +0 -0
  7. {stjames-0.0.112 → stjames-0.0.114}/README.md +0 -0
  8. {stjames-0.0.112 → stjames-0.0.114}/setup.cfg +0 -0
  9. {stjames-0.0.112 → stjames-0.0.114}/stjames/__init__.py +0 -0
  10. {stjames-0.0.112 → stjames-0.0.114}/stjames/_deprecated_solvent_settings.py +0 -0
  11. {stjames-0.0.112 → stjames-0.0.114}/stjames/atom.py +0 -0
  12. {stjames-0.0.112 → stjames-0.0.114}/stjames/atomium_stjames/__init__.py +0 -0
  13. {stjames-0.0.112 → stjames-0.0.114}/stjames/atomium_stjames/data.py +0 -0
  14. {stjames-0.0.112 → stjames-0.0.114}/stjames/atomium_stjames/mmcif.py +0 -0
  15. {stjames-0.0.112 → stjames-0.0.114}/stjames/atomium_stjames/pdb.py +0 -0
  16. {stjames-0.0.112 → stjames-0.0.114}/stjames/atomium_stjames/utilities.py +0 -0
  17. {stjames-0.0.112 → stjames-0.0.114}/stjames/base.py +0 -0
  18. {stjames-0.0.112 → stjames-0.0.114}/stjames/basis_set.py +0 -0
  19. {stjames-0.0.112 → stjames-0.0.114}/stjames/calculation.py +0 -0
  20. {stjames-0.0.112 → stjames-0.0.114}/stjames/compute_settings.py +0 -0
  21. {stjames-0.0.112 → stjames-0.0.114}/stjames/constraint.py +0 -0
  22. {stjames-0.0.112 → stjames-0.0.114}/stjames/correction.py +0 -0
  23. {stjames-0.0.112 → stjames-0.0.114}/stjames/data/__init__.py +0 -0
  24. {stjames-0.0.112 → stjames-0.0.114}/stjames/data/bragg_radii.json +0 -0
  25. {stjames-0.0.112 → stjames-0.0.114}/stjames/data/elements.py +0 -0
  26. {stjames-0.0.112 → stjames-0.0.114}/stjames/data/isotopes.json +0 -0
  27. {stjames-0.0.112 → stjames-0.0.114}/stjames/data/nist_isotopes.json +0 -0
  28. {stjames-0.0.112 → stjames-0.0.114}/stjames/data/read_nist_isotopes.py +0 -0
  29. {stjames-0.0.112 → stjames-0.0.114}/stjames/data/symbol_element.json +0 -0
  30. {stjames-0.0.112 → stjames-0.0.114}/stjames/engine.py +0 -0
  31. {stjames-0.0.112 → stjames-0.0.114}/stjames/message.py +0 -0
  32. {stjames-0.0.112 → stjames-0.0.114}/stjames/mode.py +0 -0
  33. {stjames-0.0.112 → stjames-0.0.114}/stjames/molecule.py +0 -0
  34. {stjames-0.0.112 → stjames-0.0.114}/stjames/opt_settings.py +0 -0
  35. {stjames-0.0.112 → stjames-0.0.114}/stjames/optimization/__init__.py +0 -0
  36. {stjames-0.0.112 → stjames-0.0.114}/stjames/optimization/freezing_string_method.py +0 -0
  37. {stjames-0.0.112 → stjames-0.0.114}/stjames/pdb.py +0 -0
  38. {stjames-0.0.112 → stjames-0.0.114}/stjames/periodic_cell.py +0 -0
  39. {stjames-0.0.112 → stjames-0.0.114}/stjames/py.typed +0 -0
  40. {stjames-0.0.112 → stjames-0.0.114}/stjames/scf_settings.py +0 -0
  41. {stjames-0.0.112 → stjames-0.0.114}/stjames/settings.py +0 -0
  42. {stjames-0.0.112 → stjames-0.0.114}/stjames/solvent.py +0 -0
  43. {stjames-0.0.112 → stjames-0.0.114}/stjames/status.py +0 -0
  44. {stjames-0.0.112 → stjames-0.0.114}/stjames/task.py +0 -0
  45. {stjames-0.0.112 → stjames-0.0.114}/stjames/thermochem_settings.py +0 -0
  46. {stjames-0.0.112 → stjames-0.0.114}/stjames/types.py +0 -0
  47. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/__init__.py +0 -0
  48. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/admet.py +0 -0
  49. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/basic_calculation.py +0 -0
  50. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/bde.py +0 -0
  51. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/conformer.py +0 -0
  52. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/conformer_search.py +0 -0
  53. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/descriptors.py +0 -0
  54. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/docking.py +0 -0
  55. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/double_ended_ts_search.py +0 -0
  56. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/electronic_properties.py +0 -0
  57. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/fukui.py +0 -0
  58. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/hydrogen_bond_basicity.py +0 -0
  59. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/ion_mobility.py +0 -0
  60. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/irc.py +0 -0
  61. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/macropka.py +0 -0
  62. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/molecular_dynamics.py +0 -0
  63. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/multistage_opt.py +0 -0
  64. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/nmr.py +0 -0
  65. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/pka.py +0 -0
  66. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/protein_cofolding.py +0 -0
  67. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/redox_potential.py +0 -0
  68. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/scan.py +0 -0
  69. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/solubility.py +0 -0
  70. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/spin_states.py +0 -0
  71. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/strain.py +0 -0
  72. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/tautomer.py +0 -0
  73. {stjames-0.0.112 → stjames-0.0.114}/stjames/workflows/workflow.py +0 -0
  74. {stjames-0.0.112 → stjames-0.0.114}/stjames.egg-info/SOURCES.txt +0 -0
  75. {stjames-0.0.112 → stjames-0.0.114}/stjames.egg-info/dependency_links.txt +0 -0
  76. {stjames-0.0.112 → stjames-0.0.114}/stjames.egg-info/requires.txt +0 -0
  77. {stjames-0.0.112 → stjames-0.0.114}/stjames.egg-info/top_level.txt +0 -0
  78. {stjames-0.0.112 → stjames-0.0.114}/tests/test_constraints.py +0 -0
  79. {stjames-0.0.112 → stjames-0.0.114}/tests/test_from_extxyz.py +0 -0
  80. {stjames-0.0.112 → stjames-0.0.114}/tests/test_molecule.py +0 -0
  81. {stjames-0.0.112 → stjames-0.0.114}/tests/test_pdb.py +0 -0
  82. {stjames-0.0.112 → stjames-0.0.114}/tests/test_rounding.py +0 -0
  83. {stjames-0.0.112 → stjames-0.0.114}/tests/test_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.112
3
+ Version: 0.0.114
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.112"
3
+ version = "0.0.114"
4
4
  description = "standardized JSON atom/molecule encoding scheme"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -8,7 +8,10 @@ class Method(LowercaseStrEnum):
8
8
  HARTREE_FOCK = "hf"
9
9
  HF3C = "hf_3c"
10
10
 
11
+ # DFT methods
12
+ ## Pure functionals
11
13
  PBE = "pbe"
14
+ BP86 = "bp86"
12
15
  B973C = "b97_3c"
13
16
  B97D3BJ = "b97_d3bj"
14
17
  R2SCAN = "r2scan"
@@ -16,45 +19,53 @@ class Method(LowercaseStrEnum):
16
19
  TPSS = "tpss"
17
20
  M06L = "m06l"
18
21
 
22
+ ## Hybrid functionals
19
23
  PBE0 = "pbe0"
20
24
  B3LYP = "b3lyp"
21
25
  TPSSH = "tpssh"
22
26
  M06 = "m06"
23
27
  M062X = "m062x"
24
28
 
29
+ ## Range-separated hybrid functionals
25
30
  CAMB3LYP = "camb3lyp"
26
31
  WB97XD3 = "wb97x_d3"
27
32
  WB97XV = "wb97x_v"
33
+ WB97X3C = "wb97x_3c"
28
34
  WB97MV = "wb97m_v"
29
35
  WB97MD3BJ = "wb97m_d3bj"
30
- WB97X3C = "wb97x_3c"
31
36
 
37
+ ## Double hybrid functionals
32
38
  DSDBLYPD3BJ = "dsd_blyp_d3bj"
33
39
 
40
+ ## ML functionals
41
+ SKALA = "skala"
42
+
43
+ # NNPs
34
44
  AIMNET2_WB97MD3 = "aimnet2_wb97md3"
45
+
35
46
  MACE_MP_0 = "mace_mp_0"
36
47
  MACE_MP_0B2_L = "mace_mp_0b2_l"
48
+
37
49
  OMOL25_CONSERVING_S = "omol25_conserving_s"
38
50
  UMA_M_OMOL = "uma_m_omol"
39
51
  UMA_S_OMOL = "uma_s_omol"
40
52
  ORB_V3_CONSERVATIVE_INF_OMAT = "orb_v3_conservative_inf_omat"
41
53
  ORB_V3_CONSERVATIVE_OMOL = "orb_v3_conservative_omol"
42
54
 
55
+ EGRET_1 = "egret_1"
56
+ EGRET_1E = "egret_1e"
57
+ EGRET_1T = "egret_1t"
58
+
59
+ # Semiempirical methods
43
60
  GFN_FF = "gfn_ff"
44
61
  GFN0_XTB = "gfn0_xtb"
45
62
  GFN1_XTB = "gfn1_xtb"
46
63
  GFN2_XTB = "gfn2_xtb"
47
64
  G_XTB = "g_xtb"
48
65
 
49
- # this was going to be removed, but Jonathon wrote such a nice basis set test... it's off the front end.
50
- BP86 = "bp86"
51
-
66
+ # Force fields
52
67
  OFF_SAGE_2_2_1 = "off_sage_2_2_1"
53
68
 
54
- EGRET_1 = "egret_1"
55
- EGRET_1E = "egret_1e"
56
- EGRET_1T = "egret_1t"
57
-
58
69
  def default_engine(self, *, is_periodic: bool = False) -> Engine:
59
70
  """
60
71
  Return the canonical Engine for this quantum-chemistry method.
@@ -86,6 +97,8 @@ class Method(LowercaseStrEnum):
86
97
  return Engine.OPENFF
87
98
  case Method.EGRET_1 | Method.EGRET_1E | Method.EGRET_1T:
88
99
  return Engine.EGRET
100
+ case Method.SKALA:
101
+ return Engine.PYSCF
89
102
  case _:
90
103
  # All remaining methods (HF, DFT, composite, etc.) fall back to Psi4
91
104
  return Engine.PSI4
@@ -5,7 +5,7 @@ from pydantic import AfterValidator, PositiveFloat, PositiveInt, model_validator
5
5
  from ..base import Base, round_float
6
6
  from ..pdb import PDB
7
7
  from ..types import UUID, round_list
8
- from .workflow import MoleculeWorkflow
8
+ from .workflow import SMILESWorkflow
9
9
 
10
10
 
11
11
  class BindingPoseContact(Base):
@@ -36,7 +36,7 @@ class BindingPoseTrajectory(Base):
36
36
  contacts: list[BindingPoseContact] = []
37
37
 
38
38
 
39
- class PoseAnalysisMolecularDynamicsWorkflow(MoleculeWorkflow):
39
+ class PoseAnalysisMolecularDynamicsWorkflow(SMILESWorkflow):
40
40
  """
41
41
  Pose analysis molecular dynamics workflow.
42
42
 
@@ -45,12 +45,13 @@ class PoseAnalysisMolecularDynamicsWorkflow(MoleculeWorkflow):
45
45
  If, for whatever reason, the workflow is initialized with both a `target_uuid` and a `target`, the UUID will be ignored.
46
46
 
47
47
  Inherited:
48
- :param initial_molecule: Molecule of interest
48
+ :param initial_smiles: ligand's SMILES
49
49
  :param mode: Mode for workflow (currently unused)
50
50
 
51
51
  New:
52
52
  :param protein: PDB of the protein.
53
53
  :param protein_uuid: UUID of the protein.
54
+ :param ligand_residue_name: ligand's residue name
54
55
  :param num_trajectories: how many trajectories to run
55
56
  :param equilibration_time_ns: how long to equilibrate trajectories for, in nanoseconds
56
57
  :param simulation_time_ns: how long to run trajectories for, in nanoseconds
@@ -73,6 +74,7 @@ class PoseAnalysisMolecularDynamicsWorkflow(MoleculeWorkflow):
73
74
 
74
75
  protein: PDB | None = None
75
76
  protein_uuid: UUID | None = None
77
+ ligand_residue_name: str = "LIG"
76
78
 
77
79
  num_trajectories: PositiveInt = 4
78
80
  equilibration_time_ns: Annotated[PositiveFloat, AfterValidator(round_float(3))] = 5
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.112
3
+ Version: 0.0.114
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