stjames 0.0.38__py3-none-any.whl → 0.0.40__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 CHANGED
@@ -18,7 +18,7 @@ class Base(pydantic.BaseModel):
18
18
 
19
19
 
20
20
  class LowercaseStrEnum(str, Enum):
21
- """Enum where hyphens and case are ignored."""
21
+ """Enum where hyphens, underscores, and case are ignored."""
22
22
 
23
23
  @classmethod
24
24
  def _missing_(cls, value: str) -> str | None: # type: ignore
stjames/method.py CHANGED
@@ -29,7 +29,7 @@ class Method(LowercaseStrEnum):
29
29
 
30
30
  AIMNET2_WB97MD3 = "aimnet2_wb97md3"
31
31
 
32
- # GFN0_XTB = "gfn1_xtb"
32
+ GFN0_XTB = "gfn0_xtb"
33
33
  GFN1_XTB = "gfn1_xtb"
34
34
  GFN2_XTB = "gfn2_xtb"
35
35
  GFN_FF = "gfn_ff"
stjames/molecule.py CHANGED
@@ -10,7 +10,7 @@ from .base import Base
10
10
 
11
11
 
12
12
  class VibrationalMode(Base):
13
- frequency: float
13
+ frequency: float # in cm-1
14
14
  reduced_mass: float
15
15
  force_constant: float
16
16
  displacements: list[list[float]]
@@ -18,7 +18,7 @@ class VibrationalMode(Base):
18
18
 
19
19
  class Atom(Base):
20
20
  atomic_number: NonNegativeInt
21
- position: list[float]
21
+ position: list[float] # in Å
22
22
 
23
23
 
24
24
  class Molecule(Base):
@@ -26,10 +26,10 @@ class Molecule(Base):
26
26
  multiplicity: PositiveInt
27
27
  atoms: list[Atom]
28
28
 
29
- energy: Optional[float] = None
29
+ energy: Optional[float] = None # in Hartree
30
30
  scf_iterations: Optional[NonNegativeInt] = None
31
31
  scf_completed: Optional[bool] = None
32
- elapsed: Optional[float] = None
32
+ elapsed: Optional[float] = None # in seconds
33
33
 
34
34
  homo_lumo_gap: Optional[float] = None # in eV
35
35
 
@@ -37,7 +37,7 @@ class Molecule(Base):
37
37
 
38
38
  mulliken_charges: Optional[list[float]] = None
39
39
  mulliken_spin_densities: Optional[list[float]] = None
40
- dipole: Optional[list[float]] = None
40
+ dipole: Optional[list[float]] = None # in Debye
41
41
 
42
42
  vibrational_modes: Optional[list[VibrationalMode]] = None
43
43
 
@@ -46,6 +46,9 @@ class Molecule(Base):
46
46
  thermal_enthalpy_corr: Optional[float] = None
47
47
  thermal_free_energy_corr: Optional[float] = None
48
48
 
49
+ def __len__(self) -> int:
50
+ return len(self.atoms)
51
+
49
52
  @property
50
53
  def coordinates(self) -> list[list[float]]:
51
54
  return [a.position for a in self.atoms]
stjames/settings.py CHANGED
@@ -20,6 +20,7 @@ PREPACKAGED_METHODS = [
20
20
  Method.AIMNET2_WB97MD3,
21
21
  Method.GFN2_XTB,
22
22
  Method.GFN1_XTB,
23
+ Method.GFN0_XTB,
23
24
  Method.GFN_FF,
24
25
  ]
25
26
 
@@ -104,7 +105,7 @@ class Settings(Base):
104
105
  @classmethod
105
106
  def remove_empty_string(cls, v: list[T]) -> list[T]:
106
107
  """Remove empty string values."""
107
- return [c for c in v if c]
108
+ return [c for c in v if c] if v is not None else v
108
109
 
109
110
 
110
111
  def _assign_settings_by_mode(settings: Settings) -> None:
stjames/solvent.py CHANGED
@@ -35,6 +35,7 @@ class SolventModel(LowercaseStrEnum):
35
35
  CPCM = "cpcm"
36
36
  ALPB = "alpb"
37
37
  COSMO = "cosmo"
38
+ CPCMX = "cpcmx"
38
39
 
39
40
 
40
41
  class SolventSettings(Base):
@@ -13,6 +13,7 @@ class ConformerSettings(Base):
13
13
  num_confs_taken: int = 50
14
14
  rmsd_cutoff: float = 0.1
15
15
 
16
+ transition_state: bool = False
16
17
  final_method: Method = Method.AIMNET2_WB97MD3
17
18
  solvent: Optional[Solvent] = Solvent.WATER
18
19
  max_energy: float = 5
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stjames
3
- Version: 0.0.38
3
+ Version: 0.0.40
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
  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=xCdfeDnwNRvZfogbRXSVAW0x0c3l3attxUjW3_2J8-Y,1176
3
+ stjames/base.py,sha256=R49yN4UoiOSjZEkadbMLqLLVNYmysXE4VvCU5JHTCNg,1190
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=cxgcWYi8A4o-SiA1rhZqmpCV4hALN7MYe1Y6_w6zUac,789
12
+ stjames/method.py,sha256=iThn9tkkM0x0uX95o3Tcz3QQtad47UYGDL76hW3ySaM,787
13
13
  stjames/mode.py,sha256=xw46Cc7f3eTS8i35qECi-8DocAlANhayK3w4akD4HBU,496
14
- stjames/molecule.py,sha256=t0jOmkTMgQE2ayBn9igjpY_4gPyqLPqZLlgtwd4uBOA,2910
14
+ stjames/molecule.py,sha256=G78Bm88r8w-4cx_AOUyxLrn_gIt-TdeoYeBoiociqX8,3032
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=KjuuDLP1Dknz1Jmm7wntFyUg6N_XfoewfiXAf1-NWkw,8615
19
- stjames/solvent.py,sha256=bGh10jZmfHQACZEAid7zYPyf6tx4G1ql3GgINHswy7Y,1120
18
+ stjames/settings.py,sha256=mn9TY2y2Juqou-bfIkXFWM_pbs_90-MgYYzAnWXCwVQ,8660
19
+ stjames/solvent.py,sha256=0Kb2O3kTXMbcTH2br9bg7vtgG-Q7uRzhcMKSdUktVNo,1140
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=10mMhXhFoCUsOvSBp06Q16WufD66YiWCBuBcJEZr9vg,2697
24
+ stjames/workflows/conformer.py,sha256=YYwL3l7OaVeea4N9-ihghwa_ieKY6hia9LNbiTraMb0,2732
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.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,,
32
+ stjames-0.0.40.dist-info/LICENSE,sha256=i7ehYBS-6gGmbTcgU4mgk28pyOx2kScJ0kcx8n7bWLM,1084
33
+ stjames-0.0.40.dist-info/METADATA,sha256=GeuHmCFTQwu5cq521KVGYIdQBKmyOuBwonQ19a3ShO0,1626
34
+ stjames-0.0.40.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
35
+ stjames-0.0.40.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
36
+ stjames-0.0.40.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.2.0)
2
+ Generator: setuptools (70.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5