rowan-python 3.1.13__tar.gz → 3.1.14__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 (267) hide show
  1. {rowan_python-3.1.13 → rowan_python-3.1.14}/PKG-INFO +2 -2
  2. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/covalent-inhibitor-scan.md +4 -0
  3. rowan_python-3.1.14/docs/workflows/docking.md +50 -0
  4. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/logp.md +3 -0
  5. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/macropka.md +2 -0
  6. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/nmr.md +3 -0
  7. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/pose-analysis-md.md +3 -0
  8. rowan_python-3.1.14/docs/workflows/protein-md.md +19 -0
  9. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/solvent-dependent-conformers.md +3 -0
  10. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/tautomer-search.md +3 -0
  11. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/binding_affinity.py +4 -0
  12. rowan_python-3.1.14/examples/covalent_docking.py +44 -0
  13. rowan_python-3.1.14/examples/covalent_inhibitor_scan.py +45 -0
  14. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/nmr.py +4 -0
  15. {rowan_python-3.1.13 → rowan_python-3.1.14}/pixi.lock +322 -277
  16. {rowan_python-3.1.13 → rowan_python-3.1.14}/pyproject.toml +2 -2
  17. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/__init__.py +7 -1
  18. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/protein.py +33 -3
  19. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/__init__.py +2 -1
  20. rowan_python-3.1.14/rowan/workflows/_molecular_dynamics.py +219 -0
  21. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/binding_affinity.py +46 -20
  22. rowan_python-3.1.14/rowan/workflows/covalent_inhibitor_scan.py +175 -0
  23. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/docking.py +6 -4
  24. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/macropka.py +4 -0
  25. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/nmr.py +38 -0
  26. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/pose_analysis_md.py +35 -84
  27. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/protein_md.py +62 -84
  28. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/relative_binding_free_energy_perturbation.py +5 -3
  29. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/solvent_dependent_conformers.py +5 -0
  30. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/tautomer_search.py +6 -1
  31. rowan_python-3.1.14/skills/computational-chemistry-and-biology/reference/binding_affinity.md +90 -0
  32. rowan_python-3.1.14/skills/computational-chemistry-and-biology/reference/covalent_inhibitor_scan.md +60 -0
  33. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/docking.md +48 -5
  34. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/macropka.md +3 -1
  35. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/nmr.md +8 -0
  36. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/pose_analysis_md.md +9 -3
  37. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/protein_md.md +11 -4
  38. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/protein_preparation.md +2 -2
  39. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/relative_binding_free_energy_perturbation.md +1 -1
  40. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/solvent_dependent_conformers.md +1 -0
  41. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/tautomer_search.md +1 -0
  42. rowan_python-3.1.14/tests/test_binding_affinity.py +124 -0
  43. rowan_python-3.1.14/tests/test_macropka_nmr.py +93 -0
  44. rowan_python-3.1.14/tests/test_mango_forcefields.py +120 -0
  45. rowan_python-3.1.14/tests/test_md_workflow_updates.py +296 -0
  46. rowan_python-3.1.14/tests/test_protein.py +39 -0
  47. rowan_python-3.1.13/docs/workflows/docking.md +0 -11
  48. rowan_python-3.1.13/docs/workflows/protein-md.md +0 -11
  49. rowan_python-3.1.13/examples/covalent_docking.py +0 -64
  50. rowan_python-3.1.13/examples/covalent_inhibitor_scan.py +0 -59
  51. rowan_python-3.1.13/rowan/workflows/covalent_inhibitor_scan.py +0 -130
  52. rowan_python-3.1.13/skills/computational-chemistry-and-biology/reference/binding_affinity.md +0 -61
  53. rowan_python-3.1.13/skills/computational-chemistry-and-biology/reference/covalent_inhibitor_scan.md +0 -50
  54. {rowan_python-3.1.13 → rowan_python-3.1.14}/.agents/plugins/marketplace.json +0 -0
  55. {rowan_python-3.1.13 → rowan_python-3.1.14}/.claude-plugin/marketplace.json +0 -0
  56. {rowan_python-3.1.13 → rowan_python-3.1.14}/.codex-plugin/plugin.json +0 -0
  57. {rowan_python-3.1.13 → rowan_python-3.1.14}/.envrc +0 -0
  58. {rowan_python-3.1.13 → rowan_python-3.1.14}/.github/workflows/build-and-deploy-docs.yml +0 -0
  59. {rowan_python-3.1.13 → rowan_python-3.1.14}/.github/workflows/publish-skill.yml +0 -0
  60. {rowan_python-3.1.13 → rowan_python-3.1.14}/.github/workflows/python-publish.yml +0 -0
  61. {rowan_python-3.1.13 → rowan_python-3.1.14}/.github/workflows/test.yml +0 -0
  62. {rowan_python-3.1.13 → rowan_python-3.1.14}/.gitignore +0 -0
  63. {rowan_python-3.1.13 → rowan_python-3.1.14}/.pre-commit-config.yaml +0 -0
  64. {rowan_python-3.1.13 → rowan_python-3.1.14}/AGENTS.md +0 -0
  65. {rowan_python-3.1.13 → rowan_python-3.1.14}/CLAUDE.md +0 -0
  66. {rowan_python-3.1.13 → rowan_python-3.1.14}/GEMINI.md +0 -0
  67. {rowan_python-3.1.13 → rowan_python-3.1.14}/LICENSE +0 -0
  68. {rowan_python-3.1.13 → rowan_python-3.1.14}/README.md +0 -0
  69. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/api-keys.md +0 -0
  70. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/calculation.md +0 -0
  71. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/folder.md +0 -0
  72. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/molecule.md +0 -0
  73. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/project.md +0 -0
  74. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/protein.md +0 -0
  75. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/user.md +0 -0
  76. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/webhooks.md +0 -0
  77. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/api/workflow.md +0 -0
  78. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/images/RowanLogoLarge.png +0 -0
  79. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/images/RowanSquareLogo.png +0 -0
  80. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/images/favicon.svg +0 -0
  81. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/index.md +0 -0
  82. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/stylesheets/colors.css +0 -0
  83. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/admet.md +0 -0
  84. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/analogue-docking.md +0 -0
  85. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/basic-calculation.md +0 -0
  86. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/batch-docking.md +0 -0
  87. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/binding-affinity.md +0 -0
  88. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/bond-dissociation-energy.md +0 -0
  89. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/conformer-search-settings.md +0 -0
  90. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/conformer-search.md +0 -0
  91. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/descriptors.md +0 -0
  92. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/double-ended-ts-search.md +0 -0
  93. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/electronic-properties.md +0 -0
  94. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/fukui.md +0 -0
  95. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/hydrogen-bond-donor-acceptor-strength.md +0 -0
  96. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/interaction-energy-decomposition.md +0 -0
  97. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/ion-mobility.md +0 -0
  98. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/irc.md +0 -0
  99. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/membrane-permeability.md +0 -0
  100. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/msa.md +0 -0
  101. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/multistage-optimization.md +0 -0
  102. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/pka.md +0 -0
  103. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/pocket-detection.md +0 -0
  104. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/protein-binder-design.md +0 -0
  105. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/protein-cofolding.md +0 -0
  106. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/protein-preparation.md +0 -0
  107. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/rbfe-graph.md +0 -0
  108. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/redox-potential.md +0 -0
  109. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/relative-binding-free-energy-perturbation.md +0 -0
  110. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/scan.md +0 -0
  111. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/settings.md +0 -0
  112. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/solubility.md +0 -0
  113. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/spin-states.md +0 -0
  114. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/strain.md +0 -0
  115. {rowan_python-3.1.13 → rowan_python-3.1.14}/docs/workflows/types.md +0 -0
  116. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/PROTAC_solubility.py +0 -0
  117. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/admet.py +0 -0
  118. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/analogue_docking.py +0 -0
  119. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/aqueous_solubility.py +0 -0
  120. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/basic_calculation.py +0 -0
  121. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/basic_calculation_from_json.py +0 -0
  122. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/basic_calculation_with_constraint.py +0 -0
  123. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/basic_calculation_with_solvent.py +0 -0
  124. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/batch_docking.py +0 -0
  125. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/batch_solubility.py +0 -0
  126. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/bde.py +0 -0
  127. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/boltz_paired_msa.py +0 -0
  128. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/boltz_single_msa.py +0 -0
  129. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/chai_paired_msa.py +0 -0
  130. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/chai_single_msa.py +0 -0
  131. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/cofolding_screen.py +0 -0
  132. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/colabfold_paired_msa.py +0 -0
  133. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/colabfold_single_msa.py +0 -0
  134. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/conformer_dependent_redox.py +0 -0
  135. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/conformers.py +0 -0
  136. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/conformers_screen.py +0 -0
  137. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/data/1iep_receptorH.pdb +0 -0
  138. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/data/Al_FCC.xyz +0 -0
  139. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/data/citalopram_1iep.xyz +0 -0
  140. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/data/ibuprofen_conformers.sdf +0 -0
  141. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/data/tyk2_ligands.sdf +0 -0
  142. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/data/tyk2_structure.pdb +0 -0
  143. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/data/workflow_example.json +0 -0
  144. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/dcd_download.py +0 -0
  145. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/descriptors.py +0 -0
  146. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/docking.py +0 -0
  147. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/docking_screen.py +0 -0
  148. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/double_ended_ts_search.py +0 -0
  149. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/electronic_properties.py +0 -0
  150. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/estimate_workflow.py +0 -0
  151. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/fukui_index.py +0 -0
  152. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/hydrogen_bond_basicity.py +0 -0
  153. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/interaction_energy_decomposition.py +0 -0
  154. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/ion_mobility.py +0 -0
  155. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/irc.py +0 -0
  156. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/logp.py +0 -0
  157. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/macropka.py +0 -0
  158. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/membrane_permeability.py +0 -0
  159. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/multistage_optimization.py +0 -0
  160. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/optimization.py +0 -0
  161. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/pdb_download.py +0 -0
  162. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/periodic_dft.py +0 -0
  163. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/phenol_pka.py +0 -0
  164. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/pka.py +0 -0
  165. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/pocket_detection.py +0 -0
  166. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/pose_analysis_md.py +0 -0
  167. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/project_scoped_api_key.py +0 -0
  168. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/protein_binder_design.py +0 -0
  169. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/protein_cofolding.py +0 -0
  170. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/protein_cofolding_with_constraints.py +0 -0
  171. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/protein_cofolding_with_templates.py +0 -0
  172. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/protein_md.py +0 -0
  173. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/protein_preparation.py +0 -0
  174. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/rbfe_graph.py +0 -0
  175. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/rbfe_resubmit.py +0 -0
  176. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/redox_potential.py +0 -0
  177. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/relative_binding_free_energy_perturbation.py +0 -0
  178. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/resubmit_with_perturbations.py +0 -0
  179. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/retrieve_workflow.py +0 -0
  180. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/scan.py +0 -0
  181. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/solvent_dependent_conformers.py +0 -0
  182. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/spin_states.py +0 -0
  183. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/strain.py +0 -0
  184. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/tautomer.py +0 -0
  185. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/template.py +0 -0
  186. {rowan_python-3.1.13 → rowan_python-3.1.14}/examples/webhook.py +0 -0
  187. {rowan_python-3.1.13 → rowan_python-3.1.14}/mkdocs.yml +0 -0
  188. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/api_keys.py +0 -0
  189. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/calculation.py +0 -0
  190. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/config.py +0 -0
  191. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/constants.py +0 -0
  192. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/folder.py +0 -0
  193. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/molecule.py +0 -0
  194. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/project.py +0 -0
  195. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/py.typed +0 -0
  196. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/types.py +0 -0
  197. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/user.py +0 -0
  198. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/utils.py +0 -0
  199. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/admet.py +0 -0
  200. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/analogue_docking.py +0 -0
  201. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/base.py +0 -0
  202. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/basic_calculation.py +0 -0
  203. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/batch_docking.py +0 -0
  204. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/bde.py +0 -0
  205. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/conformer_search.py +0 -0
  206. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/constants.py +0 -0
  207. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/descriptors.py +0 -0
  208. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/double_ended_ts_search.py +0 -0
  209. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/electronic_properties.py +0 -0
  210. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/fukui.py +0 -0
  211. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/hydrogen_bond_donor_acceptor_strength.py +0 -0
  212. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/interaction_energy_decomposition.py +0 -0
  213. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/ion_mobility.py +0 -0
  214. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/irc.py +0 -0
  215. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/logp.py +0 -0
  216. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/membrane_permeability.py +0 -0
  217. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/msa.py +0 -0
  218. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/multistage_optimization.py +0 -0
  219. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/pka.py +0 -0
  220. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/pocket_detection.py +0 -0
  221. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/protein_binder_design.py +0 -0
  222. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/protein_cofolding.py +0 -0
  223. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/protein_preparation.py +0 -0
  224. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/rbfe_graph.py +0 -0
  225. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/redox_potential.py +0 -0
  226. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/scan.py +0 -0
  227. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/solubility.py +0 -0
  228. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/spin_states.py +0 -0
  229. {rowan_python-3.1.13 → rowan_python-3.1.14}/rowan/workflows/strain.py +0 -0
  230. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/.claude-plugin/plugin.json +0 -0
  231. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/SKILL.md +0 -0
  232. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/admet.md +0 -0
  233. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/analogue_docking.md +0 -0
  234. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/basic_calculation.md +0 -0
  235. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/batch_docking.md +0 -0
  236. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/bde.md +0 -0
  237. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/conformer_search.md +0 -0
  238. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/descriptors.md +0 -0
  239. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/double_ended_ts_search.md +0 -0
  240. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/electronic_properties.md +0 -0
  241. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/folders_and_projects.md +0 -0
  242. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/fukui.md +0 -0
  243. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/hydrogen_bond_donor_acceptor_strength.md +0 -0
  244. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/interaction_energy_decomposition.md +0 -0
  245. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/ion_mobility.md +0 -0
  246. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/irc.md +0 -0
  247. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/logp.md +0 -0
  248. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/mcp_execution.md +0 -0
  249. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/membrane_permeability.md +0 -0
  250. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/msa.md +0 -0
  251. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/multistage_optimization.md +0 -0
  252. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/pka.md +0 -0
  253. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/pocket_detection.md +0 -0
  254. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/protein_binder_design.md +0 -0
  255. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/protein_cofolding.md +0 -0
  256. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/python_sdk.md +0 -0
  257. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/rbfe_graph.md +0 -0
  258. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/redox_potential.md +0 -0
  259. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/scan.md +0 -0
  260. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/solubility.md +0 -0
  261. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/spin_states.md +0 -0
  262. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/strain.md +0 -0
  263. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/reference/webhooks.md +0 -0
  264. {rowan_python-3.1.13 → rowan_python-3.1.14}/skills/computational-chemistry-and-biology/scripts/check_env.py +0 -0
  265. {rowan_python-3.1.13 → rowan_python-3.1.14}/tests/test_plugin.py +0 -0
  266. {rowan_python-3.1.13 → rowan_python-3.1.14}/tests/test_utils.py +0 -0
  267. {rowan_python-3.1.13 → rowan_python-3.1.14}/tests/test_workflow_submission.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: rowan-python
3
- Version: 3.1.13
3
+ Version: 3.1.14
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.238,>=0.0.237
14
+ Requires-Dist: stjames>=0.0.257
15
15
  Description-Content-Type: text/markdown
16
16
 
17
17
  # Rowan Python Library
@@ -1,5 +1,9 @@
1
1
  # Covalent Inhibitor Scan
2
2
 
3
+ !!! warning "Beta"
4
+
5
+ This workflow is in beta. Its interface and behavior may change.
6
+
3
7
  ::: rowan.workflows.covalent_inhibitor_scan
4
8
  handler: python
5
9
  options:
@@ -0,0 +1,50 @@
1
+ # Docking
2
+
3
+ The docking workflow supports Vina docking and both noncovalent and covalent gnina docking.
4
+ Passing `GninaSettings` selects gnina; it does not by itself enable covalent docking.
5
+
6
+ ## Covalent docking
7
+
8
+ Set both covalent atom indices on `GninaSettings` to form a bond between a known ligand atom and
9
+ protein atom. Covalent gnina docking requires `scoring_function="vina"`.
10
+
11
+ Prepare the protein first, then resolve the reactive protein atom from the prepared structure.
12
+ Protein preparation can change atom ordering and residue numbering.
13
+
14
+ Supply the ligand in its expected post-reaction, covalently bound topology; gnina does not infer the
15
+ reaction. For a Michael acceptor `C=CC(=O)NR`, use the hydrogen-capped product `CCC(=O)NR` and
16
+ select the terminal β-carbon as the covalent ligand atom.
17
+
18
+ ```python
19
+ prepared_protein = preparation_workflow.result().get_prepared_protein()
20
+ reactive_protein_atom_index = prepared_protein.get_atom_index(
21
+ chain="A", residue=reactive_residue, atom="SG"
22
+ )
23
+ settings = rowan.GninaSettings(
24
+ scoring_function="vina",
25
+ covalent_ligand_atom_index=reactive_ligand_atom_index,
26
+ covalent_protein_atom_index=reactive_protein_atom_index,
27
+ )
28
+ workflow = rowan.submit_docking_workflow(
29
+ prepared_protein.uuid,
30
+ pocket=[center, size],
31
+ initial_molecule=ligand,
32
+ docking_settings=settings,
33
+ )
34
+ ```
35
+
36
+ Both indices are zero-based all-atom indices, including hydrogens. See
37
+ `examples/covalent_docking.py` for a complete TG2 example.
38
+
39
+ PoseBusters validation is skipped for covalent poses. Their `posebusters_valid` value is `None`,
40
+ meaning not evaluated rather than failed; do not use it to reject covalent poses.
41
+
42
+ ::: rowan.workflows.docking
43
+ handler: python
44
+ options:
45
+ show_source: false
46
+ show_root_heading: false
47
+ show_root_toc_entry: false
48
+ members_order: source
49
+ group_by_category: true
50
+ filters: ["!^_"]
@@ -1,5 +1,8 @@
1
1
  # LogP
2
2
 
3
+ Available methods include the default Chemprop model, Crippen, and the higher-cost
4
+ `method="cosmors"` conformer-ensemble calculation.
5
+
3
6
  ::: rowan.workflows.logp
4
7
  handler: python
5
8
  options:
@@ -1,5 +1,7 @@
1
1
  # MacropKa
2
2
 
3
+ Choose `method="starling"` (default) or `method="starling_ii"` when submitting the workflow.
4
+
3
5
  ::: rowan.workflows.macropka
4
6
  handler: python
5
7
  options:
@@ -1,5 +1,8 @@
1
1
  # NMR
2
2
 
3
+ Completed results expose both chemical shifts and typed J-coupling predictions through
4
+ `result.predicted_couplings`.
5
+
3
6
  ::: rowan.workflows.nmr
4
7
  handler: python
5
8
  options:
@@ -1,5 +1,8 @@
1
1
  # Pose Analysis MD
2
2
 
3
+ Pose-analysis MD accepts selectable small-molecule, protein, and water force fields. Mean and
4
+ medoid structures are available through the same result helpers as protein MD.
5
+
3
6
  ::: rowan.workflows.pose_analysis_md
4
7
  handler: python
5
8
  options:
@@ -0,0 +1,19 @@
1
+ # Protein MD
2
+
3
+ Protein MD accepts selectable small-molecule, protein, and water force fields. Results expose
4
+ binder RMSD, MM/GBSA scores, mean-structure UUIDs, and medoid frame indices per trajectory. Use
5
+ `get_mean_structure`, `download_mean_structure`, or `download_medoid_structure` to retrieve
6
+ representative structures.
7
+
8
+ For protein structures containing non-polymer ligands, pass their SMILES through
9
+ `small_molecules` and select the residues to analyze through `rowan.Binder`.
10
+
11
+ ::: rowan.workflows.protein_md
12
+ handler: python
13
+ options:
14
+ show_source: false
15
+ show_root_heading: false
16
+ show_root_toc_entry: false
17
+ members_order: source
18
+ group_by_category: true
19
+ filters: ["!^_"]
@@ -1,5 +1,8 @@
1
1
  # Solvent-Dependent Conformers
2
2
 
3
+ The default final correction is `"CPCMX"`. Pass `final_correction="COSMO_RS"` for the
4
+ higher-cost COSMO-RS alternative.
5
+
3
6
  ::: rowan.workflows.solvent_dependent_conformers
4
7
  handler: python
5
8
  options:
@@ -1,5 +1,8 @@
1
1
  # Tautomer Search
2
2
 
3
+ Pass `final_correction="COSMO_RS"` to enable the optional higher-cost COSMO-RS correction.
4
+ The default is no final correction.
5
+
3
6
  ::: rowan.workflows.tautomer_search
4
7
  handler: python
5
8
  options:
@@ -11,6 +11,7 @@ protein = rowan.upload_protein("TYK2", data_dir / "tyk2_structure.pdb")
11
11
  all_ligands = rowan.load_named_ligands(data_dir / "tyk2_ligands.sdf")
12
12
  ligands = dict(list(all_ligands.items())[:3])
13
13
 
14
+ # SQM-based scoring (default): binding_affinity in kcal/mol.
14
15
  workflow = rowan.submit_binding_affinity_workflow(
15
16
  protein=protein.uuid,
16
17
  ligand_structures=list(ligands.values()),
@@ -21,4 +22,7 @@ print(f"View at: https://labs.rowansci.com/binding-affinity/{workflow.uuid}")
21
22
 
22
23
  result = workflow.result()
23
24
  for name, score in zip(ligands.keys(), result.scores, strict=False):
25
+ if score is None:
26
+ print(f"{name}: scoring failed")
27
+ continue
24
28
  print(f"{name}: {score.binding_affinity:.2f} kcal/mol (strain: {score.strain})")
@@ -0,0 +1,44 @@
1
+ import rowan
2
+
3
+ folder = rowan.get_folder("examples")
4
+
5
+ tg2_inhibitor = rowan.Molecule.from_smiles(
6
+ "CCC(=O)NCCCC[C@H](NC(=O)Cc1ccc(Cl)c(Cl)c1)C(=O)N1CCN(C(=O)c2cccc3ccccc23)CC1"
7
+ )
8
+
9
+ protein = rowan.create_protein_from_pdb_id("2Q3Z")
10
+ protein = protein.select_chains(["A"])
11
+ preparation_workflow = rowan.submit_protein_preparation_workflow(
12
+ protein=protein.uuid,
13
+ name="Prepare TG2",
14
+ folder=folder,
15
+ )
16
+ protein = preparation_workflow.result().get_prepared_protein()
17
+
18
+ center = [-1.079, -3.081, 18.122]
19
+ size = [22.22, 14.08, 21.74]
20
+
21
+ # Protein preparation renumbers Cys277 to residue 278.
22
+ cys277_sg_index = protein.get_atom_index(chain="A", residue=278, atom="SG")
23
+ gnina_settings = rowan.GninaSettings(
24
+ scoring_function="vina",
25
+ covalent_ligand_atom_index=0,
26
+ covalent_protein_atom_index=cys277_sg_index,
27
+ )
28
+
29
+ workflow = rowan.submit_docking_workflow(
30
+ protein.uuid,
31
+ pocket=[center, size],
32
+ initial_molecule=tg2_inhibitor,
33
+ docking_settings=gnina_settings,
34
+ name="TG2 covalent docking (Cys277, 2Q3Z)",
35
+ folder=folder,
36
+ )
37
+
38
+ print(f"View workflow privately at: https://labs.rowansci.com/docking/{workflow.uuid}")
39
+
40
+ result = workflow.result()
41
+ print(result)
42
+
43
+ for i, score in enumerate(result.scores):
44
+ print(f" Pose {i}: score={score.score:.3f}")
@@ -0,0 +1,45 @@
1
+ import rowan
2
+
3
+ # Set your API key or use the ROWAN_API_KEY environment variable
4
+ # rowan.api_key = "rowan-sk..."
5
+ folder = rowan.get_folder("examples")
6
+
7
+ # BTK, catalytic Cys481. 4YHF already has a covalently-bound small-molecule inhibitor
8
+ # (residue 4C9) linked to Cys481 SG via the ligand's C1 atom.
9
+ ligand_smiles = "CC(C)(C)C[C@@H](C#N)C(=O)N1CCC[C@H](C1)n2nc(c3ccc(Oc4ccccc4)cc3)c5c(N)ncnc25"
10
+
11
+ protein = rowan.create_protein_from_pdb_id("4YHF")
12
+ protein = protein.select_chains(["A"])
13
+ preparation_workflow = rowan.submit_protein_preparation_workflow(
14
+ protein=protein.uuid,
15
+ retain_non_polymer={"4C9": ligand_smiles},
16
+ name="Prepare BTK inhibitor complex",
17
+ folder=folder,
18
+ )
19
+ protein = preparation_workflow.result().get_prepared_protein()
20
+
21
+ # Protein preparation normalizes 4YHF's residue numbering: Cys481 becomes residue 101,
22
+ # while the retained 4C9 ligand remains residue 701.
23
+ protein_reactive_atom_index = protein.get_atom_index(chain="A", residue=101, atom="SG")
24
+ ligand_reactive_atom_index = protein.get_atom_index(
25
+ chain="A", residue=701, atom="C1", entity_type="non_polymer"
26
+ )
27
+
28
+ workflow = rowan.submit_covalent_inhibitor_scan_workflow(
29
+ protein=protein.uuid,
30
+ protein_reactive_atom_index=protein_reactive_atom_index,
31
+ ligand_reactive_atom_index=ligand_reactive_atom_index,
32
+ reactant_smiles=ligand_smiles,
33
+ name="BTK covalent inhibitor scan (Cys481, 4YHF)",
34
+ folder=folder,
35
+ )
36
+
37
+ print(
38
+ f"View workflow privately at: https://labs.rowansci.com/covalent-inhibitor-scan/{workflow.uuid}"
39
+ )
40
+
41
+ result = workflow.result()
42
+ print(result)
43
+
44
+ for distance, free_energy in result.get_energies():
45
+ print(f" distance={distance:.3f} Å free_energy={free_energy} kcal/mol")
@@ -15,3 +15,7 @@ result = workflow.result()
15
15
  # print hydrogen peaks (atomic number 1 = hydrogen)
16
16
  for peak in result.predicted_peaks[1]:
17
17
  print(peak)
18
+
19
+ # print predicted scalar J-couplings
20
+ for coupling in result.predicted_couplings:
21
+ print(coupling)