rowan-python 3.0.3__py3-none-any.whl → 3.0.4__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.
@@ -5,7 +5,7 @@ from typing import Any
5
5
  import stjames
6
6
 
7
7
  from ..folder import Folder
8
- from ..types import MoleculeInput
8
+ from ..types import MoleculeInput, SolventInput
9
9
  from ..utils import api_client
10
10
  from .base import Workflow, WorkflowResult, molecule_to_dict, register_result
11
11
 
@@ -18,8 +18,7 @@ class DescriptorsResult(WorkflowResult):
18
18
 
19
19
  def __repr__(self) -> str:
20
20
  d = self.descriptors or {}
21
- preview = {k: d[k] for k in list(d.keys())[:5]} if d else {}
22
- return f"<DescriptorsResult count={len(d)} preview={preview}>"
21
+ return f"<DescriptorsResult n={len(d)}>"
23
22
 
24
23
  @property
25
24
  def descriptors(self) -> dict[str, Any] | None:
@@ -29,6 +28,8 @@ class DescriptorsResult(WorkflowResult):
29
28
 
30
29
  def submit_descriptors_workflow(
31
30
  initial_molecule: MoleculeInput,
31
+ solvent: SolventInput = "water",
32
+ do_optimization: bool = True,
32
33
  name: str = "Descriptors Workflow",
33
34
  folder_uuid: str | None = None,
34
35
  folder: Folder | None = None,
@@ -40,6 +41,10 @@ def submit_descriptors_workflow(
40
41
  Submits a descriptors workflow to the API.
41
42
 
42
43
  :param initial_molecule: Molecule to calculate the descriptors of.
44
+ :param solvent: Solvent for COSMO descriptor calculation (e.g. "water").
45
+ When provided, additional COSMO descriptors are computed.
46
+ :param do_optimization: Whether to run GFN2-xTB geometry optimization
47
+ before computing descriptors.
43
48
  :param name: Name of the workflow.
44
49
  :param folder_uuid: UUID of the folder to place the workflow in.
45
50
  :param folder: Folder object to store the workflow in.
@@ -53,12 +58,20 @@ def submit_descriptors_workflow(
53
58
  raise ValueError("Provide either `folder` or `folder_uuid`, not both.")
54
59
  if folder:
55
60
  folder_uuid = folder.uuid
56
- initial_molecule = molecule_to_dict(initial_molecule)
61
+ mol_dict = molecule_to_dict(initial_molecule)
62
+
63
+ workflow_data = {
64
+ "initial_molecule": mol_dict,
65
+ "solvent": solvent,
66
+ "do_optimization": do_optimization,
67
+ }
68
+
69
+ workflow = stjames.DescriptorsWorkflow.model_validate(workflow_data)
57
70
 
58
71
  data = {
59
72
  "workflow_type": "descriptors",
60
- "workflow_data": {},
61
- "initial_molecule": initial_molecule,
73
+ "workflow_data": workflow.model_dump(serialize_as_any=True, mode="json"),
74
+ "initial_molecule": mol_dict,
62
75
  "name": name,
63
76
  "folder_uuid": folder_uuid,
64
77
  "max_credits": max_credits,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 3.0.3
3
+ Version: 3.0.4
4
4
  Summary: Rowan Python Library
5
5
  Project-URL: Homepage, https://github.com/rowansci/rowan-client
6
6
  Project-URL: Bug Tracker, https://github.com/rowansci/rowan-client/issues
@@ -21,7 +21,7 @@ rowan/workflows/batch_docking.py,sha256=u_4hH7OeWkIbXqEm4uWTc3p0u9mpnR8EWqWCw7sV
21
21
  rowan/workflows/bde.py,sha256=cM8UNBYycwLE5yJeh8DEtX6mW6hghsM6XKEFkbd7Q8g,5551
22
22
  rowan/workflows/conformer_search.py,sha256=_uCfGFsUTDyxDc55XTsvMSjs800LyfzBRa4_-9Pjp4g,7690
23
23
  rowan/workflows/constants.py,sha256=el8jWE9gnGTLNWn5_n_V0H362vIRneOqgy7BOQ8CScg,575
24
- rowan/workflows/descriptors.py,sha256=AXdfqOwtMf2gHkO1qyZsCKFmX2QpLXTwTDfm7hnMNxQ,2464
24
+ rowan/workflows/descriptors.py,sha256=rGrNca6kA4SzX5BAOjP6rE91MOLTvCWSYKF_LW2Z0y4,2963
25
25
  rowan/workflows/docking.py,sha256=wmE7QJu1uDHBDynTT1XesXXAZtpB6xLjZUKsHOQyCcU,7386
26
26
  rowan/workflows/double_ended_ts_search.py,sha256=abBblMkshhbzq5UTwIf-ovNFxY8Ltp2O-bGu_plkI58,7806
27
27
  rowan/workflows/electronic_properties.py,sha256=AVVtpIIO82GRETHbemCLI8tqM7QHmr7XrGbrQ_YB5w4,7108
@@ -49,7 +49,7 @@ rowan/workflows/solvent_dependent_conformers.py,sha256=ovvnhCE4xlkpdhccLHEq7oBJR
49
49
  rowan/workflows/spin_states.py,sha256=GZgBJPO6_ds9el4b7wbigIZ5213Z9DwXhokczJ5NDhs,7122
50
50
  rowan/workflows/strain.py,sha256=nR3n0Nl7HT7s5fRzIC9aViYN41KoYdteEs6fPgyvu0M,5893
51
51
  rowan/workflows/tautomer_search.py,sha256=eJMfmR30rywf0-4K-jnv_iqXxObEuX4zHnqoD4l3JRg,5082
52
- rowan_python-3.0.3.dist-info/METADATA,sha256=-75hDhIKwDt98GlCIHYLw5-Rlfoc3ffMay2EdStyQUQ,1600
53
- rowan_python-3.0.3.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
54
- rowan_python-3.0.3.dist-info/licenses/LICENSE,sha256=i05z7xEhyrg6f8j0lR3XYjShnF-MJGFQ-DnpsZ8yiVI,1084
55
- rowan_python-3.0.3.dist-info/RECORD,,
52
+ rowan_python-3.0.4.dist-info/METADATA,sha256=gTSPasVmSPuwqhEpHIYBQAgfse9dZnObJUOtwYGP5-I,1600
53
+ rowan_python-3.0.4.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
54
+ rowan_python-3.0.4.dist-info/licenses/LICENSE,sha256=i05z7xEhyrg6f8j0lR3XYjShnF-MJGFQ-DnpsZ8yiVI,1084
55
+ rowan_python-3.0.4.dist-info/RECORD,,