rowan-python 2.1.14__tar.gz → 2.1.16__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 (77) hide show
  1. {rowan_python-2.1.14 → rowan_python-2.1.16}/PKG-INFO +2 -2
  2. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/bde.py +10 -7
  3. rowan_python-2.1.16/examples/electronic_properties.py +31 -0
  4. rowan_python-2.1.16/examples/hydrogen_bond_basicity.py +28 -0
  5. rowan_python-2.1.16/examples/multistage_optimization.py +28 -0
  6. rowan_python-2.1.16/examples/protein_binder_design.py +57 -0
  7. rowan_python-2.1.16/examples/spin_states.py +33 -0
  8. {rowan_python-2.1.14 → rowan_python-2.1.16}/pixi.lock +229 -213
  9. {rowan_python-2.1.14 → rowan_python-2.1.16}/pyproject.toml +2 -2
  10. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/workflow.py +359 -15
  11. rowan_python-2.1.14/examples/multistage_opt.py +0 -19
  12. {rowan_python-2.1.14 → rowan_python-2.1.16}/.envrc +0 -0
  13. {rowan_python-2.1.14 → rowan_python-2.1.16}/.github/workflows/build-and-deploy-docs.yml +0 -0
  14. {rowan_python-2.1.14 → rowan_python-2.1.16}/.github/workflows/python-publish.yml +0 -0
  15. {rowan_python-2.1.14 → rowan_python-2.1.16}/.github/workflows/test.yml +0 -0
  16. {rowan_python-2.1.14 → rowan_python-2.1.16}/.gitignore +0 -0
  17. {rowan_python-2.1.14 → rowan_python-2.1.16}/.pre-commit-config.yaml +0 -0
  18. {rowan_python-2.1.14 → rowan_python-2.1.16}/LICENSE +0 -0
  19. {rowan_python-2.1.14 → rowan_python-2.1.16}/README.md +0 -0
  20. {rowan_python-2.1.14 → rowan_python-2.1.16}/docs/images/deciduous-tree-favicon.png +0 -0
  21. {rowan_python-2.1.14 → rowan_python-2.1.16}/docs/index.md +0 -0
  22. {rowan_python-2.1.14 → rowan_python-2.1.16}/docs/rowan_rdkit.md +0 -0
  23. {rowan_python-2.1.14 → rowan_python-2.1.16}/docs/stylesheets/colors.css +0 -0
  24. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/PROTAC_solubility.py +0 -0
  25. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/admet.py +0 -0
  26. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/analogue_docking.py +0 -0
  27. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/aqueous_solubility.py +0 -0
  28. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/basic_calculation.py +0 -0
  29. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/basic_calculation_from_json.py +0 -0
  30. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/basic_calculation_with_constraint.py +0 -0
  31. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/basic_calculation_with_solvent.py +0 -0
  32. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/batch_docking.py +0 -0
  33. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/boltz_paired_msa.py +0 -0
  34. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/boltz_single_msa.py +0 -0
  35. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/chai_paired_msa.py +0 -0
  36. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/chai_single_msa.py +0 -0
  37. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/cofolding_screen.py +0 -0
  38. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/colabfold_paired_msa.py +0 -0
  39. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/colabfold_single_msa.py +0 -0
  40. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/conformer_dependent_redox.py +0 -0
  41. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/conformers.py +0 -0
  42. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/data/1iep_receptorH.pdb +0 -0
  43. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/data/citalopram_1iep.xyz +0 -0
  44. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/data/workflow_example.json +0 -0
  45. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/dcd_download.py +0 -0
  46. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/docking_screen.py +0 -0
  47. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/double_ended_ts_search.py +0 -0
  48. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/fukui_index.py +0 -0
  49. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/ion_mobility.py +0 -0
  50. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/irc.py +0 -0
  51. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/macropka.py +0 -0
  52. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/membrane_permeability.py +0 -0
  53. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/nmr.py +0 -0
  54. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/optimization.py +0 -0
  55. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/pdb_download.py +0 -0
  56. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/phenol_pka.py +0 -0
  57. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/pka.py +0 -0
  58. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/pose_analysis_md.py +0 -0
  59. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/protein_cofolding.py +0 -0
  60. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/protein_md.py +0 -0
  61. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/redox_potential.py +0 -0
  62. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/scan.py +0 -0
  63. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/strain.py +0 -0
  64. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/tautomer.py +0 -0
  65. {rowan_python-2.1.14 → rowan_python-2.1.16}/examples/template.py +0 -0
  66. {rowan_python-2.1.14 → rowan_python-2.1.16}/mkdocs.yml +0 -0
  67. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/__init__.py +0 -0
  68. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/constants.py +0 -0
  69. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/folder.py +0 -0
  70. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/project.py +0 -0
  71. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/protein.py +0 -0
  72. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/py.typed +0 -0
  73. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/rowan_rdkit/__init__.py +0 -0
  74. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/rowan_rdkit/chem_utils.py +0 -0
  75. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/user.py +0 -0
  76. {rowan_python-2.1.14 → rowan_python-2.1.16}/rowan/utils.py +0 -0
  77. {rowan_python-2.1.14 → rowan_python-2.1.16}/tests/test_macropka_loop.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 2.1.14
3
+ Version: 2.1.16
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.144
14
+ Requires-Dist: stjames>=0.0.155
15
15
  Description-Content-Type: text/markdown
16
16
 
17
17
  # Rowan Python Library
@@ -11,6 +11,12 @@ Calculate the Bond-Dissociation Energy (BDE) of a molecule using the Rowan API.
11
11
 
12
12
  Rapid is recommended for most work.
13
13
 
14
+ Available modes:
15
+ - "reckless": Fastest, least accurate
16
+ - "rapid": Good balance of speed and accuracy (default)
17
+ - "careful": More accurate, slower
18
+ - "meticulous": Most accurate, slowest
19
+
14
20
  See documentation at: https://docs.rowansci.com/science/workflows/bond-dissociation-energy
15
21
  """
16
22
 
@@ -21,16 +27,13 @@ import rowan
21
27
  # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
22
28
  # rowan.api_key = "rowan-sk..."
23
29
 
24
- workflow = rowan.submit_workflow(
30
+ workflow = rowan.submit_bde_workflow(
25
31
  initial_molecule=Molecule.from_smiles("CCCC"),
26
- workflow_type="bde",
32
+ mode="rapid",
33
+ all_CH=True,
27
34
  name="Butane BDE",
28
- workflow_data={
29
- "mode": "reckless",
30
- "all_CH": "true",
31
- },
32
35
  )
33
36
 
34
37
  print(f"View workflow privately at: https://labs.rowansci.com/bde/{workflow.uuid}")
35
38
  workflow.wait_for_result().fetch_latest(in_place=True)
36
- print(workflow)
39
+ print(workflow.data)
@@ -0,0 +1,31 @@
1
+ """
2
+ Calculate electronic properties (orbitals, density, ESP) using the Rowan API.
3
+
4
+ This workflow computes molecular orbitals, electron density, electrostatic potential,
5
+ atom-centered charges, bond orders, and multipole moments.
6
+
7
+ Note: This workflow does not optimize molecular geometries.
8
+
9
+ See documentation at: https://docs.rowansci.com/science/workflows/orbitals
10
+ """
11
+
12
+ from stjames import Molecule
13
+
14
+ import rowan
15
+
16
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
17
+ # rowan.api_key = "rowan-sk..."
18
+
19
+ workflow = rowan.submit_electronic_properties_workflow(
20
+ initial_molecule=Molecule.from_smiles("c1ccccc1"), # benzene
21
+ method="b97_3c", # default: lightweight DFT
22
+ compute_density_cube=True,
23
+ compute_electrostatic_potential_cube=True,
24
+ compute_num_occupied_orbitals=3, # HOMO, HOMO-1, HOMO-2
25
+ compute_num_virtual_orbitals=3, # LUMO, LUMO+1, LUMO+2
26
+ name="Benzene electronic properties",
27
+ )
28
+
29
+ print(f"View workflow privately at: https://labs.rowansci.com/orbitals/{workflow.uuid}")
30
+ workflow.wait_for_result().fetch_latest(in_place=True)
31
+ print(workflow.data)
@@ -0,0 +1,28 @@
1
+ """
2
+ Calculate hydrogen bond acceptor/donor strength using the Rowan API.
3
+
4
+ This workflow predicts pKBHX values of hydrogen-bond acceptors and pKa values
5
+ of hydrogen-bond donors using neural network potentials and r2SCAN-3c.
6
+
7
+ See documentation at: https://docs.rowansci.com/science/workflows/hydrogen-bond-basicity
8
+ """
9
+
10
+ from stjames import Molecule
11
+
12
+ import rowan
13
+
14
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
15
+ # rowan.api_key = "rowan-sk..."
16
+
17
+ workflow = rowan.submit_hydrogen_bond_basicity_workflow(
18
+ initial_molecule=Molecule.from_smiles("CC(=O)N(C)C"), # dimethylacetamide
19
+ do_csearch=True, # run conformer search (default)
20
+ do_optimization=True, # optimize structures (default)
21
+ name="DMA hydrogen bond basicity",
22
+ )
23
+
24
+ print(
25
+ f"View workflow privately at: https://labs.rowansci.com/hydrogen-bond-basicity/{workflow.uuid}"
26
+ )
27
+ workflow.wait_for_result().fetch_latest(in_place=True)
28
+ print(workflow.data)
@@ -0,0 +1,28 @@
1
+ """
2
+ Perform a multistage geometry optimization using the Rowan API.
3
+
4
+ Available modes:
5
+ - "reckless": Fastest, least accurate
6
+ - "rapid": Good balance of speed and accuracy (default)
7
+ - "careful": More accurate, slower
8
+ - "meticulous": Most accurate, slowest
9
+
10
+ See documentation at: https://docs.rowansci.com/science/workflows/multistage-optimization
11
+ """
12
+
13
+ from stjames import Molecule
14
+
15
+ import rowan
16
+
17
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
18
+ # rowan.api_key = "rowan-sk..."
19
+
20
+ workflow = rowan.submit_multistage_optimization_workflow(
21
+ initial_molecule=Molecule.from_smiles("C1CCC1"), # cyclobutane
22
+ mode="rapid",
23
+ name="Multistage optimization cyclobutane",
24
+ )
25
+
26
+ print(f"View workflow privately at: https://labs.rowansci.com/multistage-opt/{workflow.uuid}")
27
+ workflow.wait_for_result().fetch_latest(in_place=True)
28
+ print(workflow.data)
@@ -0,0 +1,57 @@
1
+ # ruff: noqa: E501
2
+ """
3
+ Design protein binders using BoltzGen via the Rowan API.
4
+
5
+ This workflow generates, filters, and ranks protein designs that bind
6
+ to given protein or small-molecule targets.
7
+
8
+ Available protocols:
9
+ - "protein-anything": Design proteins to bind proteins (default)
10
+ - "peptide-anything": Design peptides to bind proteins
11
+ - "protein-small_molecule": Design proteins to bind small molecules
12
+ - "nanobody-anything": Design single-domain antibodies
13
+
14
+ Sequence format for designable regions:
15
+ - "140..180": Design a protein of 140-180 residues
16
+ - "9A9C": Design 9 residues, fix an alanine, design 9 more, fix a cysteine
17
+ - "MKTAYIAKQ": Fixed amino-acid sequence (no designable region)
18
+
19
+ See documentation at: https://docs.rowansci.com/science/workflows/protein-binder-design
20
+ """
21
+
22
+ import rowan
23
+
24
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
25
+ # rowan.api_key = "rowan-sk..."
26
+
27
+ # Design a protein to bind brilacidin (antimicrobial small molecule)
28
+ # Based on: https://github.com/HannesStark/boltzgen/blob/main/example/protein_binding_small_molecule/brilacidin.yaml
29
+ binder_design_input = {
30
+ "protein_entities": [
31
+ {
32
+ "id": "A",
33
+ "sequence": "140..180", # design a 140-180 residue protein binder
34
+ },
35
+ ],
36
+ "ligand_entities": [
37
+ {
38
+ "id": "B",
39
+ # brilacidin - antimicrobial small molecule
40
+ "smiles": "C1CNC[C@@H]1OC2=C(C=C(C=C2NC(=O)C3=CC(=NC=N3)C(=O)NC4=CC(=CC(=C4O[C@@H]5CCNC5)NC(=O)CCCCN=C(N)N)C(F)(F)F)C(F)(F)F)NC(=O)CCCCN=C(N)N",
41
+ },
42
+ ],
43
+ }
44
+
45
+ workflow = rowan.submit_protein_binder_design_workflow(
46
+ binder_design_input=binder_design_input,
47
+ protocol="protein-small_molecule",
48
+ num_designs=10, # number of designs to generate
49
+ budget=2, # number of designs to return after diversity filtering
50
+ name="Brilacidin binder design",
51
+ )
52
+
53
+ print(
54
+ f"View workflow privately at: https://labs.rowansci.com/protein-binder-design/{workflow.uuid}"
55
+ )
56
+ workflow.wait_for_result().fetch_latest(in_place=True)
57
+ print(workflow.data)
@@ -0,0 +1,33 @@
1
+ """
2
+ Calculate spin state energies using the Rowan API.
3
+
4
+ This workflow predicts the lowest energy spin state by running multistage
5
+ optimizations at different spin multiplicities.
6
+
7
+ Available modes:
8
+ - "reckless": Fastest, least accurate
9
+ - "rapid": Good balance of speed and accuracy (default)
10
+ - "careful": More accurate, slower
11
+ - "meticulous": Most accurate, slowest
12
+
13
+ See documentation at: https://docs.rowansci.com/science/workflows/spin-states
14
+ """
15
+
16
+ from stjames import Molecule
17
+
18
+ import rowan
19
+
20
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
21
+ # rowan.api_key = "rowan-sk..."
22
+
23
+ # Methylene (CH2) - classic spin states example, triplet is ground state
24
+ workflow = rowan.submit_spin_states_workflow(
25
+ initial_molecule=Molecule.from_smiles("[CH2]"),
26
+ states=[1, 3], # singlet vs triplet
27
+ mode="rapid",
28
+ name="Methylene spin states",
29
+ )
30
+
31
+ print(f"View workflow privately at: https://labs.rowansci.com/spin-states/{workflow.uuid}")
32
+ workflow.wait_for_result().fetch_latest(in_place=True)
33
+ print(workflow.data)