rowan-python 3.1.1__tar.gz → 3.1.3__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 (176) hide show
  1. {rowan_python-3.1.1 → rowan_python-3.1.3}/PKG-INFO +2 -2
  2. rowan_python-3.1.3/examples/rbfe_resubmit.py +51 -0
  3. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/retrieve_workflow.py +1 -1
  4. {rowan_python-3.1.1 → rowan_python-3.1.3}/pixi.lock +146 -146
  5. {rowan_python-3.1.1 → rowan_python-3.1.3}/pyproject.toml +2 -2
  6. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/__init__.py +1 -0
  7. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/molecule.py +13 -2
  8. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/rbfe_graph.py +32 -8
  9. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/relative_binding_free_energy_perturbation.py +11 -1
  10. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/SKILL.md +1 -1
  11. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/rbfe_graph.md +33 -2
  12. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/relative_binding_free_energy_perturbation.md +8 -3
  13. {rowan_python-3.1.1 → rowan_python-3.1.3}/.envrc +0 -0
  14. {rowan_python-3.1.1 → rowan_python-3.1.3}/.github/workflows/build-and-deploy-docs.yml +0 -0
  15. {rowan_python-3.1.1 → rowan_python-3.1.3}/.github/workflows/publish-skill.yml +0 -0
  16. {rowan_python-3.1.1 → rowan_python-3.1.3}/.github/workflows/python-publish.yml +0 -0
  17. {rowan_python-3.1.1 → rowan_python-3.1.3}/.github/workflows/test.yml +0 -0
  18. {rowan_python-3.1.1 → rowan_python-3.1.3}/.gitignore +0 -0
  19. {rowan_python-3.1.1 → rowan_python-3.1.3}/.pre-commit-config.yaml +0 -0
  20. {rowan_python-3.1.1 → rowan_python-3.1.3}/AGENTS.md +0 -0
  21. {rowan_python-3.1.1 → rowan_python-3.1.3}/CLAUDE.md +0 -0
  22. {rowan_python-3.1.1 → rowan_python-3.1.3}/GEMINI.md +0 -0
  23. {rowan_python-3.1.1 → rowan_python-3.1.3}/LICENSE +0 -0
  24. {rowan_python-3.1.1 → rowan_python-3.1.3}/README.md +0 -0
  25. {rowan_python-3.1.1 → rowan_python-3.1.3}/docs/images/deciduous-tree-favicon.png +0 -0
  26. {rowan_python-3.1.1 → rowan_python-3.1.3}/docs/index.md +0 -0
  27. {rowan_python-3.1.1 → rowan_python-3.1.3}/docs/stylesheets/colors.css +0 -0
  28. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/PROTAC_solubility.py +0 -0
  29. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/admet.py +0 -0
  30. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/analogue_docking.py +0 -0
  31. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/aqueous_solubility.py +0 -0
  32. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/basic_calculation.py +0 -0
  33. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/basic_calculation_from_json.py +0 -0
  34. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/basic_calculation_with_constraint.py +0 -0
  35. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/basic_calculation_with_solvent.py +0 -0
  36. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/batch_docking.py +0 -0
  37. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/bde.py +0 -0
  38. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/boltz_paired_msa.py +0 -0
  39. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/boltz_single_msa.py +0 -0
  40. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/chai_paired_msa.py +0 -0
  41. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/chai_single_msa.py +0 -0
  42. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/cofolding_screen.py +0 -0
  43. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/colabfold_paired_msa.py +0 -0
  44. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/colabfold_single_msa.py +0 -0
  45. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/conformer_dependent_redox.py +0 -0
  46. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/conformers.py +0 -0
  47. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/conformers_screen.py +0 -0
  48. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/data/1iep_receptorH.pdb +0 -0
  49. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/data/Al_FCC.xyz +0 -0
  50. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/data/citalopram_1iep.xyz +0 -0
  51. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/data/ibuprofen_conformers.sdf +0 -0
  52. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/data/tyk2_ligands.sdf +0 -0
  53. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/data/tyk2_structure.pdb +0 -0
  54. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/data/workflow_example.json +0 -0
  55. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/dcd_download.py +0 -0
  56. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/descriptors.py +0 -0
  57. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/docking_screen.py +0 -0
  58. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/double_ended_ts_search.py +0 -0
  59. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/electronic_properties.py +0 -0
  60. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/estimate_workflow.py +0 -0
  61. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/fukui_index.py +0 -0
  62. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/hydrogen_bond_basicity.py +0 -0
  63. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/interaction_energy_decomposition.py +0 -0
  64. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/ion_mobility.py +0 -0
  65. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/irc.py +0 -0
  66. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/macropka.py +0 -0
  67. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/membrane_permeability.py +0 -0
  68. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/multistage_optimization.py +0 -0
  69. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/nmr.py +0 -0
  70. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/optimization.py +0 -0
  71. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/pdb_download.py +0 -0
  72. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/periodic_dft.py +0 -0
  73. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/phenol_pka.py +0 -0
  74. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/pka.py +0 -0
  75. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/pocket_detection.py +0 -0
  76. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/pose_analysis_md.py +0 -0
  77. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/project_scoped_api_key.py +0 -0
  78. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/protein_binder_design.py +0 -0
  79. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/protein_cofolding.py +0 -0
  80. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/protein_cofolding_with_constraints.py +0 -0
  81. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/protein_cofolding_with_templates.py +0 -0
  82. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/protein_md.py +0 -0
  83. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/rbfe_graph.py +0 -0
  84. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/redox_potential.py +0 -0
  85. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/relative_binding_free_energy_perturbation.py +0 -0
  86. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/scan.py +0 -0
  87. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/solvent_dependent_conformers.py +0 -0
  88. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/spin_states.py +0 -0
  89. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/strain.py +0 -0
  90. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/tautomer.py +0 -0
  91. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/template.py +0 -0
  92. {rowan_python-3.1.1 → rowan_python-3.1.3}/examples/webhook.py +0 -0
  93. {rowan_python-3.1.1 → rowan_python-3.1.3}/mkdocs.yml +0 -0
  94. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/api_keys.py +0 -0
  95. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/calculation.py +0 -0
  96. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/config.py +0 -0
  97. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/constants.py +0 -0
  98. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/folder.py +0 -0
  99. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/project.py +0 -0
  100. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/protein.py +0 -0
  101. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/py.typed +0 -0
  102. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/types.py +0 -0
  103. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/user.py +0 -0
  104. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/utils.py +0 -0
  105. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/__init__.py +0 -0
  106. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/admet.py +0 -0
  107. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/analogue_docking.py +0 -0
  108. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/base.py +0 -0
  109. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/basic_calculation.py +0 -0
  110. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/batch_docking.py +0 -0
  111. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/bde.py +0 -0
  112. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/conformer_search.py +0 -0
  113. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/constants.py +0 -0
  114. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/descriptors.py +0 -0
  115. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/docking.py +0 -0
  116. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/double_ended_ts_search.py +0 -0
  117. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/electronic_properties.py +0 -0
  118. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/fukui.py +0 -0
  119. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/hydrogen_bond_donor_acceptor_strength.py +0 -0
  120. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/interaction_energy_decomposition.py +0 -0
  121. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/ion_mobility.py +0 -0
  122. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/irc.py +0 -0
  123. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/macropka.py +0 -0
  124. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/membrane_permeability.py +0 -0
  125. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/msa.py +0 -0
  126. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/multistage_optimization.py +0 -0
  127. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/nmr.py +0 -0
  128. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/pka.py +0 -0
  129. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/pocket_detection.py +0 -0
  130. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/pose_analysis_md.py +0 -0
  131. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/protein_binder_design.py +0 -0
  132. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/protein_cofolding.py +0 -0
  133. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/protein_md.py +0 -0
  134. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/redox_potential.py +0 -0
  135. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/scan.py +0 -0
  136. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/solubility.py +0 -0
  137. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/solvent_dependent_conformers.py +0 -0
  138. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/spin_states.py +0 -0
  139. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/strain.py +0 -0
  140. {rowan_python-3.1.1 → rowan_python-3.1.3}/rowan/workflows/tautomer_search.py +0 -0
  141. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/admet.md +0 -0
  142. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/analogue_docking.md +0 -0
  143. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/basic_calculation.md +0 -0
  144. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/batch_docking.md +0 -0
  145. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/bde.md +0 -0
  146. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/conformer_search.md +0 -0
  147. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/descriptors.md +0 -0
  148. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/docking.md +0 -0
  149. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/double_ended_ts_search.md +0 -0
  150. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/electronic_properties.md +0 -0
  151. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/fukui.md +0 -0
  152. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/hydrogen_bond_donor_acceptor_strength.md +0 -0
  153. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/interaction_energy_decomposition.md +0 -0
  154. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/ion_mobility.md +0 -0
  155. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/irc.md +0 -0
  156. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/macropka.md +0 -0
  157. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/membrane_permeability.md +0 -0
  158. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/msa.md +0 -0
  159. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/multistage_optimization.md +0 -0
  160. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/nmr.md +0 -0
  161. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/pka.md +0 -0
  162. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/pocket_detection.md +0 -0
  163. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/pose_analysis_md.md +0 -0
  164. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/protein_binder_design.md +0 -0
  165. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/protein_cofolding.md +0 -0
  166. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/protein_md.md +0 -0
  167. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/protein_prep.md +0 -0
  168. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/redox_potential.md +0 -0
  169. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/scan.md +0 -0
  170. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/solubility.md +0 -0
  171. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/solvent_dependent_conformers.md +0 -0
  172. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/spin_states.md +0 -0
  173. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/strain.md +0 -0
  174. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/tautomer_search.md +0 -0
  175. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/reference/webhooks.md +0 -0
  176. {rowan_python-3.1.1 → rowan_python-3.1.3}/skills/computational-chemistry-and-biology/scripts/check_env.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 3.1.1
3
+ Version: 3.1.3
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.204
14
+ Requires-Dist: stjames>=0.0.208
15
15
  Description-Content-Type: text/markdown
16
16
 
17
17
  # Rowan Python Library
@@ -0,0 +1,51 @@
1
+ """Extend a converged RBFE graph with an additional ligand via reuse.
2
+
3
+ A completed RBFE graph holds converged per-edge relative free energies (ddG) on
4
+ each ligand-pair edge. Passing it back as `seed_graph` freezes those edges and
5
+ their results, constructs only the edges incident to the new ligand (atom-mapping
6
+ plus alchemical-path setup), and restricts the subsequent FEP to those edges -- the
7
+ existing complex/solvent legs are not resimulated. A per-ligand relative binding
8
+ free energy for the new ligand (relative to the reference ligand the graph is
9
+ anchored on) is then recovered by re-solving the maximum-likelihood estimate over
10
+ the augmented edge set.
11
+ """
12
+
13
+ import rowan
14
+
15
+ # Set your API key or use the ROWAN_API_KEY environment variable
16
+ # rowan.api_key = "rowan-sk..."
17
+
18
+ # UUID of a COMPLETED relative_binding_free_energy_perturbation workflow to extend.
19
+ FINISHED_RBFE_UUID = "your-completed-rbfe-uuid"
20
+
21
+ folder = rowan.get_folder("examples")
22
+
23
+ finished = rowan.retrieve_workflow(FINISHED_RBFE_UUID).result()
24
+ print(f"Finished study: {len(finished.ligands)} ligands, {len(finished.edges)} edges with ddG")
25
+
26
+ # Combine the finished study's ligands with the newly designed one(s) to score.
27
+ new_ligands = rowan.load_named_ligands("path/to/new_ligands.sdf")
28
+ ligands = {**finished.ligands, **new_ligands}
29
+
30
+ extended_graph = rowan.submit_relative_binding_free_energy_graph_workflow(
31
+ ligands=ligands,
32
+ seed_graph=finished.graph,
33
+ folder=folder,
34
+ name="RBFE Graph (extended)",
35
+ ).result()
36
+
37
+ resubmit = rowan.submit_relative_binding_free_energy_perturbation_workflow(
38
+ graph_result=extended_graph,
39
+ protein=finished.protein,
40
+ folder=folder,
41
+ name="RBFE Perturbation (resubmit)",
42
+ )
43
+ print(
44
+ "Resubmitted! View at: "
45
+ f"https://labs.rowansci.com/relative-binding-free-energy-perturbation/{resubmit.uuid}"
46
+ )
47
+
48
+ result = resubmit.result()
49
+ for name in new_ligands:
50
+ dg = result.ligand_dg_results[name]
51
+ print(f"{name}: dG = {dg.dg:.2f} +/- {dg.dg_err:.2f} kcal/mol")
@@ -9,7 +9,7 @@ import rowan
9
9
  # 2. The last segment of the workflow URL in the Rowan UI:
10
10
  # https://labs.rowansci.com/.../<uuid>
11
11
  # 3. Listed via rowan.list_workflows()
12
- workflow = rowan.retrieve_workflow("619fedc2-d8e9-4bbc-8780-170108d1f674")
12
+ workflow = rowan.retrieve_workflow("your-workflow-uuid")
13
13
 
14
14
  result = workflow.result()
15
15
  print(result)