rowan-python 2.1.5__py3-none-any.whl → 2.1.6__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.
rowan/workflow.py CHANGED
@@ -980,6 +980,8 @@ def submit_protein_cofolding_workflow(
980
980
  ligand_binding_affinity_index: int | None = None,
981
981
  use_msa_server: bool = True,
982
982
  use_potentials: bool = False,
983
+ compute_strain: bool = False,
984
+ do_pose_refinement: bool = False,
983
985
  name: str = "Cofolding Workflow",
984
986
  model: str = stjames.CofoldingModel.BOLTZ_2.value,
985
987
  folder_uuid: str | None = None,
@@ -993,6 +995,8 @@ def submit_protein_cofolding_workflow(
993
995
  :param ligand_binding_affinity_index: The index of the ligand for which to compute the binding affinity.
994
996
  :param use_msa_server: Whether to use the MSA server for the computation.
995
997
  :param use_potentials: Whether to use potentials for the computation.
998
+ :param do_pose_refinement: whether to optimize non-rotatable bonds in output poses
999
+ :param compute_strain: whether to compute the strain of the pose (if `pose_refinement` is enabled)
996
1000
  :param name: The name of the workflow.
997
1001
  :param model: The model to use for the computation.
998
1002
  :param folder_uuid: The UUID of the folder to store the workflow in.
@@ -1008,7 +1012,10 @@ def submit_protein_cofolding_workflow(
1008
1012
  ligand_binding_affinity_index=ligand_binding_affinity_index,
1009
1013
  initial_smiles_list=initial_smiles_list,
1010
1014
  initial_protein_sequences=initial_protein_sequences,
1015
+ do_pose_refinement=do_pose_refinement,
1016
+ compute_strain=compute_strain,
1011
1017
  )
1018
+
1012
1019
  data = {
1013
1020
  "name": name,
1014
1021
  "folder_uuid": folder_uuid,
@@ -1063,7 +1070,7 @@ def submit_docking_workflow(
1063
1070
  pocket=pocket,
1064
1071
  do_csearch=do_csearch,
1065
1072
  do_optimization=do_optimization,
1066
- do_pose_refinement=do_pose_refinement
1073
+ do_pose_refinement=do_pose_refinement,
1067
1074
  )
1068
1075
 
1069
1076
  data = {
@@ -1184,3 +1191,41 @@ def submit_nmr_workflow(
1184
1191
  response = client.post("/workflow", json=data)
1185
1192
  response.raise_for_status()
1186
1193
  return Workflow(**response.json())
1194
+
1195
+
1196
+ def submit_strain_workflow(
1197
+ initial_molecule: dict[str, Any] | StJamesMolecule | RdkitMol,
1198
+ name: str = "Strain Workflow",
1199
+ folder_uuid: str | None = None,
1200
+ max_credits: int | None = None,
1201
+ ) -> Workflow:
1202
+ """
1203
+ Submits a strain workflow to the API.
1204
+
1205
+ :param initial_molecule: The molecule used in the scan.
1206
+ :param name: The name of the workflow.
1207
+ :param folder_uuid: The UUID of the folder to store the workflow in.
1208
+ :param max_credits: The maximum number of credits to use for the workflow.
1209
+ :return: A Workflow object representing the submitted workflow.
1210
+ :raises requests.HTTPError: if the request to the API fails.
1211
+ """
1212
+ if isinstance(initial_molecule, StJamesMolecule):
1213
+ initial_molecule = initial_molecule.model_dump()
1214
+ elif isinstance(initial_molecule, RdkitMol):
1215
+ initial_molecule = StJamesMolecule.from_rdkit(initial_molecule, cid=0)
1216
+
1217
+ workflow = stjames.StrainWorkflow(initial_molecule=initial_molecule)
1218
+
1219
+ data = {
1220
+ "name": name,
1221
+ "folder_uuid": folder_uuid,
1222
+ "workflow_type": "strain",
1223
+ "workflow_data": workflow.model_dump(serialize_as_any=True),
1224
+ "initial_molecule": initial_molecule,
1225
+ "max_credits": max_credits,
1226
+ }
1227
+
1228
+ with api_client() as client:
1229
+ response = client.post("/workflow", json=data)
1230
+ response.raise_for_status()
1231
+ return Workflow(**response.json())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 2.1.5
3
+ Version: 2.1.6
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
@@ -11,7 +11,7 @@ Requires-Dist: httpx
11
11
  Requires-Dist: nest-asyncio
12
12
  Requires-Dist: rdkit
13
13
  Requires-Dist: setuptools
14
- Requires-Dist: stjames>=0.0.104
14
+ Requires-Dist: stjames>=0.0.109
15
15
  Description-Content-Type: text/markdown
16
16
 
17
17
  # Rowan Python Library
@@ -6,10 +6,10 @@ rowan/protein.py,sha256=bMemvLZua_pnTrYOxHFZ4jFlRH9KgpYvtjj5M2__28k,8026
6
6
  rowan/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  rowan/user.py,sha256=Dl--NPUPATKCs2VmILsW8HnLiunG0Lxr0n6mKuHm21U,3891
8
8
  rowan/utils.py,sha256=64II-cPOe_SFJK302Bm8hP62d_3_CgnTVYCbn3zKT7U,3334
9
- rowan/workflow.py,sha256=y5Jn-MuWYSNPimyrz4X5D2h7IJqeVViezrnLtuDmk0U,44988
9
+ rowan/workflow.py,sha256=EGcqPv2K-CCt8t_FSVAGTaI7QCM4BJdY--kN4PHvhOo,46749
10
10
  rowan/rowan_rdkit/__init__.py,sha256=EATX2VRzywzKxqkpCUMTf7RNQLkWsfi5VcCNDW6EIiw,503
11
11
  rowan/rowan_rdkit/chem_utils.py,sha256=i7-EmAcmvHYtc9NiZblLY_k2DoQKofAZo5KT2qtkUCI,34775
12
- rowan_python-2.1.5.dist-info/METADATA,sha256=iJPuEi74RV_XDnSZ2yWSQv5eY1mGzWEI5Oh0CmIgHwA,1599
13
- rowan_python-2.1.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
14
- rowan_python-2.1.5.dist-info/licenses/LICENSE,sha256=i05z7xEhyrg6f8j0lR3XYjShnF-MJGFQ-DnpsZ8yiVI,1084
15
- rowan_python-2.1.5.dist-info/RECORD,,
12
+ rowan_python-2.1.6.dist-info/METADATA,sha256=rNw5EUh2Dz3xfBKUtFHtIPykxSVegqydghdhhq-q3XI,1599
13
+ rowan_python-2.1.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
14
+ rowan_python-2.1.6.dist-info/licenses/LICENSE,sha256=i05z7xEhyrg6f8j0lR3XYjShnF-MJGFQ-DnpsZ8yiVI,1084
15
+ rowan_python-2.1.6.dist-info/RECORD,,