rowan-python 3.1.4__tar.gz → 3.1.5__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 (183) hide show
  1. {rowan_python-3.1.4 → rowan_python-3.1.5}/PKG-INFO +2 -2
  2. {rowan_python-3.1.4 → rowan_python-3.1.5}/docs/index.md +11 -0
  3. rowan_python-3.1.5/examples/binding_affinity.py +24 -0
  4. rowan_python-3.1.5/examples/periodic_dft.py +38 -0
  5. {rowan_python-3.1.4 → rowan_python-3.1.5}/pixi.lock +137 -153
  6. {rowan_python-3.1.4 → rowan_python-3.1.5}/pyproject.toml +2 -2
  7. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/__init__.py +4 -0
  8. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/molecule.py +44 -0
  9. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/__init__.py +5 -0
  10. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/basic_calculation.py +48 -0
  11. rowan_python-3.1.5/rowan/workflows/binding_affinity.py +140 -0
  12. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/pose_analysis_md.py +5 -0
  13. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/rbfe_graph.py +12 -0
  14. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/SKILL.md +1 -0
  15. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/basic_calculation.md +25 -1
  16. rowan_python-3.1.5/skills/computational-chemistry-and-biology/reference/binding_affinity.md +61 -0
  17. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/pose_analysis_md.md +1 -0
  18. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/rbfe_graph.md +9 -0
  19. rowan_python-3.1.4/examples/periodic_dft.py +0 -58
  20. {rowan_python-3.1.4 → rowan_python-3.1.5}/.envrc +0 -0
  21. {rowan_python-3.1.4 → rowan_python-3.1.5}/.github/workflows/build-and-deploy-docs.yml +0 -0
  22. {rowan_python-3.1.4 → rowan_python-3.1.5}/.github/workflows/publish-skill.yml +0 -0
  23. {rowan_python-3.1.4 → rowan_python-3.1.5}/.github/workflows/python-publish.yml +0 -0
  24. {rowan_python-3.1.4 → rowan_python-3.1.5}/.github/workflows/test.yml +0 -0
  25. {rowan_python-3.1.4 → rowan_python-3.1.5}/.gitignore +0 -0
  26. {rowan_python-3.1.4 → rowan_python-3.1.5}/.pre-commit-config.yaml +0 -0
  27. {rowan_python-3.1.4 → rowan_python-3.1.5}/AGENTS.md +0 -0
  28. {rowan_python-3.1.4 → rowan_python-3.1.5}/CLAUDE.md +0 -0
  29. {rowan_python-3.1.4 → rowan_python-3.1.5}/GEMINI.md +0 -0
  30. {rowan_python-3.1.4 → rowan_python-3.1.5}/LICENSE +0 -0
  31. {rowan_python-3.1.4 → rowan_python-3.1.5}/README.md +0 -0
  32. {rowan_python-3.1.4 → rowan_python-3.1.5}/docs/images/deciduous-tree-favicon.png +0 -0
  33. {rowan_python-3.1.4 → rowan_python-3.1.5}/docs/stylesheets/colors.css +0 -0
  34. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/PROTAC_solubility.py +0 -0
  35. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/admet.py +0 -0
  36. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/analogue_docking.py +0 -0
  37. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/aqueous_solubility.py +0 -0
  38. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/basic_calculation.py +0 -0
  39. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/basic_calculation_from_json.py +0 -0
  40. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/basic_calculation_with_constraint.py +0 -0
  41. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/basic_calculation_with_solvent.py +0 -0
  42. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/batch_docking.py +0 -0
  43. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/bde.py +0 -0
  44. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/boltz_paired_msa.py +0 -0
  45. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/boltz_single_msa.py +0 -0
  46. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/chai_paired_msa.py +0 -0
  47. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/chai_single_msa.py +0 -0
  48. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/cofolding_screen.py +0 -0
  49. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/colabfold_paired_msa.py +0 -0
  50. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/colabfold_single_msa.py +0 -0
  51. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/conformer_dependent_redox.py +0 -0
  52. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/conformers.py +0 -0
  53. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/conformers_screen.py +0 -0
  54. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/data/1iep_receptorH.pdb +0 -0
  55. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/data/Al_FCC.xyz +0 -0
  56. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/data/citalopram_1iep.xyz +0 -0
  57. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/data/ibuprofen_conformers.sdf +0 -0
  58. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/data/tyk2_ligands.sdf +0 -0
  59. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/data/tyk2_structure.pdb +0 -0
  60. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/data/workflow_example.json +0 -0
  61. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/dcd_download.py +0 -0
  62. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/descriptors.py +0 -0
  63. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/docking.py +0 -0
  64. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/docking_screen.py +0 -0
  65. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/double_ended_ts_search.py +0 -0
  66. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/electronic_properties.py +0 -0
  67. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/estimate_workflow.py +0 -0
  68. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/fukui_index.py +0 -0
  69. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/hydrogen_bond_basicity.py +0 -0
  70. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/interaction_energy_decomposition.py +0 -0
  71. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/ion_mobility.py +0 -0
  72. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/irc.py +0 -0
  73. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/macropka.py +0 -0
  74. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/membrane_permeability.py +0 -0
  75. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/multistage_optimization.py +0 -0
  76. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/nmr.py +0 -0
  77. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/optimization.py +0 -0
  78. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/pdb_download.py +0 -0
  79. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/phenol_pka.py +0 -0
  80. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/pka.py +0 -0
  81. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/pocket_detection.py +0 -0
  82. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/pose_analysis_md.py +0 -0
  83. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/project_scoped_api_key.py +0 -0
  84. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/protein_binder_design.py +0 -0
  85. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/protein_cofolding.py +0 -0
  86. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/protein_cofolding_with_constraints.py +0 -0
  87. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/protein_cofolding_with_templates.py +0 -0
  88. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/protein_md.py +0 -0
  89. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/rbfe_graph.py +0 -0
  90. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/rbfe_resubmit.py +0 -0
  91. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/redox_potential.py +0 -0
  92. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/relative_binding_free_energy_perturbation.py +0 -0
  93. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/resubmit_with_perturbations.py +0 -0
  94. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/retrieve_workflow.py +0 -0
  95. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/scan.py +0 -0
  96. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/solvent_dependent_conformers.py +0 -0
  97. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/spin_states.py +0 -0
  98. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/strain.py +0 -0
  99. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/tautomer.py +0 -0
  100. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/template.py +0 -0
  101. {rowan_python-3.1.4 → rowan_python-3.1.5}/examples/webhook.py +0 -0
  102. {rowan_python-3.1.4 → rowan_python-3.1.5}/mkdocs.yml +0 -0
  103. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/api_keys.py +0 -0
  104. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/calculation.py +0 -0
  105. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/config.py +0 -0
  106. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/constants.py +0 -0
  107. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/folder.py +0 -0
  108. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/project.py +0 -0
  109. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/protein.py +0 -0
  110. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/py.typed +0 -0
  111. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/types.py +0 -0
  112. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/user.py +0 -0
  113. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/utils.py +0 -0
  114. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/admet.py +0 -0
  115. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/analogue_docking.py +0 -0
  116. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/base.py +0 -0
  117. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/batch_docking.py +0 -0
  118. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/bde.py +0 -0
  119. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/conformer_search.py +0 -0
  120. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/constants.py +0 -0
  121. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/descriptors.py +0 -0
  122. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/docking.py +0 -0
  123. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/double_ended_ts_search.py +0 -0
  124. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/electronic_properties.py +0 -0
  125. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/fukui.py +0 -0
  126. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/hydrogen_bond_donor_acceptor_strength.py +0 -0
  127. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/interaction_energy_decomposition.py +0 -0
  128. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/ion_mobility.py +0 -0
  129. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/irc.py +0 -0
  130. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/macropka.py +0 -0
  131. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/membrane_permeability.py +0 -0
  132. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/msa.py +0 -0
  133. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/multistage_optimization.py +0 -0
  134. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/nmr.py +0 -0
  135. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/pka.py +0 -0
  136. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/pocket_detection.py +0 -0
  137. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/protein_binder_design.py +0 -0
  138. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/protein_cofolding.py +0 -0
  139. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/protein_md.py +0 -0
  140. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/redox_potential.py +0 -0
  141. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/relative_binding_free_energy_perturbation.py +0 -0
  142. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/scan.py +0 -0
  143. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/solubility.py +0 -0
  144. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/solvent_dependent_conformers.py +0 -0
  145. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/spin_states.py +0 -0
  146. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/strain.py +0 -0
  147. {rowan_python-3.1.4 → rowan_python-3.1.5}/rowan/workflows/tautomer_search.py +0 -0
  148. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/admet.md +0 -0
  149. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/analogue_docking.md +0 -0
  150. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/batch_docking.md +0 -0
  151. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/bde.md +0 -0
  152. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/conformer_search.md +0 -0
  153. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/descriptors.md +0 -0
  154. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/docking.md +0 -0
  155. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/double_ended_ts_search.md +0 -0
  156. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/electronic_properties.md +0 -0
  157. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/folders_and_projects.md +0 -0
  158. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/fukui.md +0 -0
  159. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/hydrogen_bond_donor_acceptor_strength.md +0 -0
  160. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/interaction_energy_decomposition.md +0 -0
  161. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/ion_mobility.md +0 -0
  162. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/irc.md +0 -0
  163. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/macropka.md +0 -0
  164. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/membrane_permeability.md +0 -0
  165. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/msa.md +0 -0
  166. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/multistage_optimization.md +0 -0
  167. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/nmr.md +0 -0
  168. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/pka.md +0 -0
  169. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/pocket_detection.md +0 -0
  170. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/protein_binder_design.md +0 -0
  171. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/protein_cofolding.md +0 -0
  172. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/protein_md.md +0 -0
  173. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/protein_prep.md +0 -0
  174. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/redox_potential.md +0 -0
  175. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/relative_binding_free_energy_perturbation.md +0 -0
  176. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/scan.md +0 -0
  177. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/solubility.md +0 -0
  178. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/solvent_dependent_conformers.md +0 -0
  179. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/spin_states.md +0 -0
  180. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/strain.md +0 -0
  181. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/tautomer_search.md +0 -0
  182. {rowan_python-3.1.4 → rowan_python-3.1.5}/skills/computational-chemistry-and-biology/reference/webhooks.md +0 -0
  183. {rowan_python-3.1.4 → rowan_python-3.1.5}/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.4
3
+ Version: 3.1.5
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.208
14
+ Requires-Dist: stjames>=0.0.217
15
15
  Description-Content-Type: text/markdown
16
16
 
17
17
  # Rowan Python Library
@@ -55,6 +55,17 @@
55
55
  group_by_category: true
56
56
  filters: ["!^__"]
57
57
 
58
+ ## Binding Affinity
59
+ ::: rowan.workflows.binding_affinity
60
+ handler: python
61
+ options:
62
+ show_source: false
63
+ show_root_heading: false
64
+ show_root_toc_entry: false
65
+ members_order: source
66
+ group_by_category: true
67
+ filters: ["!^__"]
68
+
58
69
  ## Basic Calculation
59
70
  ::: rowan.workflows.basic_calculation
60
71
  handler: python
@@ -0,0 +1,24 @@
1
+ from pathlib import Path
2
+
3
+ import rowan
4
+
5
+ # Set your API key or use the ROWAN_API_KEY environment variable
6
+ # rowan.api_key = "rowan-sk..."
7
+ folder = rowan.get_folder("examples")
8
+ data_dir = Path(__file__).parent / "data"
9
+
10
+ protein = rowan.upload_protein("TYK2", data_dir / "tyk2_structure.pdb")
11
+ all_ligands = rowan.load_named_ligands(data_dir / "tyk2_ligands.sdf")
12
+ ligands = dict(list(all_ligands.items())[:3])
13
+
14
+ workflow = rowan.submit_binding_affinity_workflow(
15
+ protein=protein,
16
+ ligand_structures=list(ligands.values()),
17
+ name="Binding Affinity — TYK2 ligands",
18
+ folder=folder,
19
+ )
20
+ print(f"View at: https://labs.rowansci.com/binding-affinity/{workflow.uuid}")
21
+
22
+ result = workflow.result()
23
+ for name, score in zip(ligands.keys(), result.scores, strict=False):
24
+ print(f"{name}: {score.binding_affinity:.2f} kcal/mol (strain: {score.strain})")
@@ -0,0 +1,38 @@
1
+ """Band structure of bulk silicon using periodic DFT (Quantum ESPRESSO)."""
2
+
3
+ import rowan
4
+
5
+ # rowan.api_key = "rowan-sk..."
6
+ folder = rowan.get_folder("examples")
7
+
8
+ a = 5.431 # Å
9
+ si = rowan.Molecule.from_atoms(
10
+ atoms=[
11
+ rowan.Atom(atomic_number=14, position=(0.0, 0.0, 0.0)),
12
+ rowan.Atom(atomic_number=14, position=(a / 4, a / 4, a / 4)),
13
+ ],
14
+ charge=0,
15
+ multiplicity=1,
16
+ cell=rowan.PeriodicCell(
17
+ lattice_vectors=((0.0, a / 2, a / 2), (a / 2, 0.0, a / 2), (a / 2, a / 2, 0.0))
18
+ ),
19
+ )
20
+
21
+ workflow = rowan.submit_basic_calculation_workflow(
22
+ initial_molecule=si,
23
+ tasks=["band_structure"],
24
+ method="PBE",
25
+ basis_set="SSSP_PBE_efficiency",
26
+ pbc_dft_settings=rowan.PBCDFTSettings(kpoints=(2, 2, 2)),
27
+ name="Si band structure",
28
+ folder=folder,
29
+ )
30
+ print(f"https://labs.rowansci.com/calculation/{workflow.uuid}")
31
+ result = workflow.result()
32
+
33
+ print(f"Symmetry: space group {result.symmetry}")
34
+ print(f"XRD peaks: {len(result.xrd_peaks)} reflections")
35
+ print(f"Band gap: {result.band_gap:.4f} Ha") # ~0.020 Ha (PBE underestimates Si's 1.12 eV gap)
36
+ print(f"VBM: {result.band_structure.valence_band_maximum:.4f} Ha")
37
+ print(f"CBM: {result.band_structure.conduction_band_minimum:.4f} Ha")
38
+ print(f"DOS: {len(result.density_of_states)} points")