rowan-python 2.1.12__tar.gz → 2.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 (79) hide show
  1. rowan_python-2.1.14/.envrc +4 -0
  2. {rowan_python-2.1.12 → rowan_python-2.1.14}/.github/workflows/build-and-deploy-docs.yml +4 -3
  3. {rowan_python-2.1.12 → rowan_python-2.1.14}/.github/workflows/test.yml +2 -2
  4. {rowan_python-2.1.12 → rowan_python-2.1.14}/PKG-INFO +2 -2
  5. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/PROTAC_solubility.py +3 -0
  6. rowan_python-2.1.14/examples/admet.py +15 -0
  7. rowan_python-2.1.14/examples/analogue_docking.py +27 -0
  8. rowan_python-2.1.14/examples/aqueous_solubility.py +18 -0
  9. rowan_python-2.1.14/examples/basic_calculation.py +19 -0
  10. rowan_python-2.1.14/examples/basic_calculation_from_json.py +20 -0
  11. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/basic_calculation_with_constraint.py +6 -6
  12. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/basic_calculation_with_solvent.py +11 -11
  13. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/batch_docking.py +4 -4
  14. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/bde.py +6 -7
  15. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/boltz_paired_msa.py +2 -1
  16. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/boltz_single_msa.py +2 -1
  17. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/chai_paired_msa.py +3 -1
  18. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/chai_single_msa.py +3 -1
  19. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/cofolding_screen.py +3 -0
  20. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/colabfold_paired_msa.py +2 -1
  21. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/colabfold_single_msa.py +2 -1
  22. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/conformer_dependent_redox.py +8 -7
  23. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/conformers.py +6 -4
  24. rowan_python-2.1.14/examples/data/1iep_receptorH.pdb +4414 -0
  25. rowan_python-2.1.14/examples/data/citalopram_1iep.xyz +47 -0
  26. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/data/workflow_example.json +1 -1
  27. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/dcd_download.py +2 -1
  28. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/docking_screen.py +3 -0
  29. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/double_ended_ts_search.py +12 -9
  30. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/fukui_index.py +4 -2
  31. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/ion_mobility.py +4 -4
  32. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/irc.py +6 -3
  33. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/macropka.py +4 -4
  34. rowan_python-2.1.14/examples/membrane_permeability.py +28 -0
  35. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/multistage_opt.py +4 -3
  36. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/nmr.py +4 -4
  37. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/optimization.py +6 -3
  38. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/pdb_download.py +2 -1
  39. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/phenol_pka.py +4 -1
  40. rowan_python-2.1.14/examples/pka.py +40 -0
  41. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/pose_analysis_md.py +9 -0
  42. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/protein_cofolding.py +7 -5
  43. rowan_python-2.1.14/examples/protein_md.py +21 -0
  44. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/redox_potential.py +6 -3
  45. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/scan.py +6 -4
  46. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/strain.py +4 -3
  47. {rowan_python-2.1.12 → rowan_python-2.1.14}/examples/tautomer.py +4 -3
  48. rowan_python-2.1.14/examples/template.py +14 -0
  49. {rowan_python-2.1.12 → rowan_python-2.1.14}/pixi.lock +449 -465
  50. {rowan_python-2.1.12 → rowan_python-2.1.14}/pyproject.toml +3 -3
  51. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/workflow.py +266 -56
  52. rowan_python-2.1.12/.envrc +0 -7
  53. rowan_python-2.1.12/examples/admet.py +0 -12
  54. rowan_python-2.1.12/examples/aqueous_solubility.py +0 -17
  55. rowan_python-2.1.12/examples/basic_calculation.py +0 -21
  56. rowan_python-2.1.12/examples/basic_calculation_from_json.py +0 -21
  57. rowan_python-2.1.12/examples/membrane_permeability.py +0 -12
  58. rowan_python-2.1.12/examples/pka.py +0 -31
  59. {rowan_python-2.1.12 → rowan_python-2.1.14}/.github/workflows/python-publish.yml +0 -0
  60. {rowan_python-2.1.12 → rowan_python-2.1.14}/.gitignore +0 -0
  61. {rowan_python-2.1.12 → rowan_python-2.1.14}/.pre-commit-config.yaml +0 -0
  62. {rowan_python-2.1.12 → rowan_python-2.1.14}/LICENSE +0 -0
  63. {rowan_python-2.1.12 → rowan_python-2.1.14}/README.md +0 -0
  64. {rowan_python-2.1.12 → rowan_python-2.1.14}/docs/images/deciduous-tree-favicon.png +0 -0
  65. {rowan_python-2.1.12 → rowan_python-2.1.14}/docs/index.md +0 -0
  66. {rowan_python-2.1.12 → rowan_python-2.1.14}/docs/rowan_rdkit.md +0 -0
  67. {rowan_python-2.1.12 → rowan_python-2.1.14}/docs/stylesheets/colors.css +0 -0
  68. {rowan_python-2.1.12 → rowan_python-2.1.14}/mkdocs.yml +0 -0
  69. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/__init__.py +0 -0
  70. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/constants.py +0 -0
  71. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/folder.py +0 -0
  72. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/project.py +0 -0
  73. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/protein.py +0 -0
  74. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/py.typed +0 -0
  75. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/rowan_rdkit/__init__.py +0 -0
  76. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/rowan_rdkit/chem_utils.py +0 -0
  77. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/user.py +0 -0
  78. {rowan_python-2.1.12 → rowan_python-2.1.14}/rowan/utils.py +0 -0
  79. {rowan_python-2.1.12 → rowan_python-2.1.14}/tests/test_macropka_loop.py +0 -0
@@ -0,0 +1,4 @@
1
+ watch_file pixi.lock
2
+ dotenv_if_exists .env
3
+
4
+ eval "$(pixi shell-hook -e dev)"
@@ -3,6 +3,7 @@ name: Build & Deploy Rowan Python Docs
3
3
  on:
4
4
  release:
5
5
  types: [published]
6
+ workflow_dispatch:
6
7
 
7
8
  permissions:
8
9
  contents: read
@@ -16,8 +17,8 @@ jobs:
16
17
  uses: actions/checkout@v4
17
18
  with:
18
19
  fetch-depth: 0
19
- ref: main
20
-
20
+ ref: master
21
+
21
22
  - name: Install Pixi
22
23
  uses: prefix-dev/setup-pixi@v0.9.1
23
24
  with:
@@ -39,4 +40,4 @@ jobs:
39
40
  - name: Deploy with rsync
40
41
  run: |
41
42
  rsync -avz --delete ./ \
42
- ${{ secrets.DOCS_USERNAME }}@${{ secrets.DOCS_IP }}:{{ secrets.DOCS_TARGET_DIR }}
43
+ ${{ secrets.DOCS_USERNAME }}@${{ secrets.DOCS_IP }}:${{ secrets.DOCS_TARGET_DIR }}
@@ -22,9 +22,9 @@ jobs:
22
22
  with:
23
23
  python-version: ${{ matrix.python-version }}
24
24
 
25
- - uses: prefix-dev/setup-pixi@v0.9.1
25
+ - uses: prefix-dev/setup-pixi@v0.9.3
26
26
  with:
27
- pixi-version: v0.56.0
27
+ pixi-version: v0.63.0
28
28
  cache: true
29
29
  environments: dev
30
30
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 2.1.12
3
+ Version: 2.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.137
14
+ Requires-Dist: stjames>=0.0.144
15
15
  Description-Content-Type: text/markdown
16
16
 
17
17
  # Rowan Python Library
@@ -2,6 +2,9 @@
2
2
 
3
3
  import rowan
4
4
 
5
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
6
+ # rowan.api_key = "rowan-sk..."
7
+
5
8
  PROTACs = {
6
9
  4564: "CC1=C(C2=CC=C(CNC(=O)[C@@H]3C[C@@H](O)CN3C(=O)[C@@H](NC(=O)CCCCCCCCCN3C=C(CCCOC(=O)NCC4=CC=C(C(=O)NC5=CC=CC=C5N)C=C4)N=N3)C(C)(C)C)C=C2)SC=N1",
7
10
  2438: "CC(=O)N[C@H](C(=O)N1C[C@H](O)C[C@H]1C(=O)NCC1=CC=C(C2=C(C)N=CS2)C=C1OCCCCCCCCCCCC(=O)NC1=CC=C(C(=O)NC2=CC=CC=C2N)C=C1)C(C)(C)C",
@@ -0,0 +1,15 @@
1
+ import rowan
2
+
3
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
4
+ # rowan.api_key = "rowan-sk..."
5
+
6
+ oseltamivir_SMILES = "C1CCOC(=O)C1=C[C@@H](OC(CC)CC)[C@H](NC(C)=O)[C@@H]([NH3+])C1CCC1"
7
+
8
+ workflow = rowan.submit_admet_workflow(
9
+ initial_smiles=oseltamivir_SMILES,
10
+ name="Oseltamivir ADMET",
11
+ )
12
+
13
+ print(f"View workflow privately at: https://labs.rowansci.com/solubility/{workflow.uuid}")
14
+ workflow.wait_for_result().fetch_latest(in_place=True)
15
+ print(workflow)
@@ -0,0 +1,27 @@
1
+ from pathlib import Path
2
+
3
+ import stjames
4
+
5
+ import rowan
6
+
7
+ citalopram_analogues = [
8
+ "CN(C)CCC[C@@]1(c2ccccc2)OCc2cc(C#N)ccc21",
9
+ "CN(C)CCC[C@@]1(c2ccc(F)cc2)OCc2c(CC)c(C#N)ccc21",
10
+ "CN(C)CCC[C@@]1(c2ccc(CCC)cc2)OCc2cc(C#N)ccc21",
11
+ ]
12
+
13
+ bound_pose = stjames.Molecule.from_file("examples/data/citalopram_1iep.xyz")
14
+
15
+ protein = rowan.upload_protein("1IEP receptor", Path("examples/data/1iep_receptorH.pdb"))
16
+
17
+ workflow = rowan.submit_analogue_docking_workflow(
18
+ analogues=citalopram_analogues,
19
+ protein=protein,
20
+ initial_molecule=bound_pose,
21
+ )
22
+
23
+ print(f"View MD workflow privately at: https://labs.rowansci.com/analogue-docking/{workflow.uuid}")
24
+ workflow.wait_for_result().fetch_latest(in_place=True)
25
+
26
+ # print ligand RMSD by frame
27
+ print(workflow.data)
@@ -0,0 +1,18 @@
1
+ import rowan
2
+
3
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
4
+ # rowan.api_key = "rowan-sk..."
5
+
6
+ oseltamivir_SMILES = "C1CCOC(=O)C1=C[C@@H](OC(CC)CC)[C@H](NC(C)=O)[C@@H]([NH3+])C1CCC1"
7
+
8
+ workflow = rowan.submit_solubility_workflow(
9
+ initial_smiles=oseltamivir_SMILES,
10
+ solubility_method="kingfisher",
11
+ solvents=["O"],
12
+ temperatures=[298.15],
13
+ name="Oseltamivir aqueous solubility",
14
+ )
15
+
16
+ print(f"View workflow privately at: https://labs.rowansci.com/workflow/{workflow.uuid}")
17
+ workflow.wait_for_result().fetch_latest(in_place=True)
18
+ print(workflow) # Solubility in log(mol/L), temperature in kelvin
@@ -0,0 +1,19 @@
1
+ from stjames import Method, Molecule
2
+
3
+ import rowan
4
+
5
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
6
+ # rowan.api_key = "rowan-sk..."
7
+
8
+ workflow = rowan.submit_basic_calculation_workflow(
9
+ initial_molecule=Molecule.from_smiles("CC(=C)C=C"),
10
+ method=Method.OMOL25_CONSERVING_S,
11
+ tasks=["energy"],
12
+ mode="auto",
13
+ engine="omol25",
14
+ name="Isoprene Energy",
15
+ )
16
+
17
+ print(f"View workflow privately at: https://labs.rowansci.com/calculation/{workflow.uuid}")
18
+ workflow.wait_for_result().fetch_latest(in_place=True)
19
+ print(workflow)
@@ -0,0 +1,20 @@
1
+ import json
2
+
3
+ import rowan
4
+
5
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
6
+ # rowan.api_key = "rowan-sk..."
7
+
8
+ with open("examples/data/workflow_example.json") as f:
9
+ workflow_data = json.load(f)
10
+
11
+ workflow = rowan.submit_workflow(
12
+ workflow_type="basic_calculation",
13
+ workflow_data=workflow_data,
14
+ name="basic calculation from json",
15
+ initial_molecule=workflow_data["initial_molecule"],
16
+ )
17
+
18
+ print(f"View workflow privately at: https://labs.rowansci.com/calculation/{workflow.uuid}")
19
+ workflow.wait_for_result().fetch_latest(in_place=True)
20
+ print(workflow)
@@ -2,9 +2,10 @@ from stjames import Molecule
2
2
 
3
3
  import rowan
4
4
 
5
- # rowan.api_key = ""
5
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
6
+ # rowan.api_key = "rowan-sk..."
6
7
 
7
- result = rowan.submit_workflow(
8
+ workflow = rowan.submit_workflow(
8
9
  initial_molecule=Molecule.from_smiles("CCCC"),
9
10
  workflow_type="basic_calculation",
10
11
  name="Constrained Butane",
@@ -26,7 +27,6 @@ result = rowan.submit_workflow(
26
27
  },
27
28
  )
28
29
 
29
- result.wait_for_result()
30
- result.fetch_latest(in_place=True)
31
-
32
- print(result)
30
+ print(f"View workflow privately at: https://labs.rowansci.com/calculation/{workflow.uuid}")
31
+ workflow.wait_for_result().fetch_latest(in_place=True)
32
+ print(workflow)
@@ -1,13 +1,13 @@
1
- # ruff: noqa
2
- from stjames import Molecule, Method
1
+ from stjames import Method, Molecule
3
2
 
4
3
  import rowan
5
4
 
6
- # rowan.api_key = ""
5
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
6
+ # rowan.api_key = "rowan-sk..."
7
7
 
8
8
 
9
9
  def compute_energy_with_solvent_correction(molecule: Molecule, method: Method, name: str) -> float:
10
- opt = rowan.submit_workflow(
10
+ opt_workflow = rowan.submit_workflow(
11
11
  initial_molecule=molecule,
12
12
  workflow_type="basic_calculation",
13
13
  name=f"{name} {method} optimization",
@@ -16,13 +16,13 @@ def compute_energy_with_solvent_correction(molecule: Molecule, method: Method, n
16
16
  },
17
17
  )
18
18
 
19
- opt.wait_for_result()
20
- opt.fetch_latest(in_place=True)
19
+ print(f"View workflow privately at: https://labs.rowansci.com/calculation/{opt_workflow.uuid}")
20
+ opt_workflow.wait_for_result().fetch_latest(in_place=True)
21
21
 
22
- calculation_uuid = opt.data["calculation_uuid"]
22
+ calculation_uuid = opt_workflow.data["calculation_uuid"]
23
23
  optimized_molecule = rowan.retrieve_calculation_molecules(calculation_uuid)[-1]
24
24
 
25
- sp = rowan.submit_workflow(
25
+ sp_workflow = rowan.submit_workflow(
26
26
  initial_molecule=optimized_molecule,
27
27
  workflow_type="basic_calculation",
28
28
  name=f"{name} {method} single point",
@@ -35,10 +35,10 @@ def compute_energy_with_solvent_correction(molecule: Molecule, method: Method, n
35
35
  },
36
36
  )
37
37
 
38
- sp.wait_for_result()
39
- sp.fetch_latest(in_place=True)
38
+ print(f"View workflow privately at: https://labs.rowansci.com/calculation/{sp_workflow.uuid}")
39
+ sp_workflow.wait_for_result().fetch_latest(in_place=True)
40
40
 
41
- calculation_uuid = sp.data["calculation_uuid"]
41
+ calculation_uuid = sp_workflow.data["calculation_uuid"]
42
42
  final_molecule = rowan.retrieve_calculation_molecules(calculation_uuid)[0]
43
43
  return final_molecule["energy"]
44
44
 
@@ -2,6 +2,9 @@ import time
2
2
 
3
3
  import rowan
4
4
 
5
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
6
+ # rowan.api_key = "rowan-sk..."
7
+
5
8
  ligands = [
6
9
  "CCC(C)(C)NC1=NCC2(CCC(=O)C2C)N1",
7
10
  "CCC(C)CN=C1NCC2(CCCOC2)CN1",
@@ -105,9 +108,6 @@ ligands = [
105
108
  "CC(C)C(CN)C1NCC2=C(SC=C2C)C1C",
106
109
  ]
107
110
 
108
- workflows = []
109
- results = {}
110
-
111
111
  protein = rowan.create_protein_from_pdb_id(
112
112
  "CDK2", "1HCK", project_uuid=rowan.default_project().uuid
113
113
  )
@@ -125,6 +125,6 @@ workflow = rowan.submit_batch_docking_workflow(
125
125
  )
126
126
 
127
127
 
128
+ print(f"View workflow privately at: https://labs.rowansci.com/batch-docking/{workflow.uuid}")
128
129
  workflow.wait_for_result().fetch_latest(in_place=True)
129
-
130
130
  print(workflow.data["best_scores"])
@@ -18,10 +18,10 @@ from stjames import Molecule
18
18
 
19
19
  import rowan
20
20
 
21
- # rowan.api_key = ""
21
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
22
+ # rowan.api_key = "rowan-sk..."
22
23
 
23
- # Run calculation remotely
24
- result = rowan.submit_workflow(
24
+ workflow = rowan.submit_workflow(
25
25
  initial_molecule=Molecule.from_smiles("CCCC"),
26
26
  workflow_type="bde",
27
27
  name="Butane BDE",
@@ -31,7 +31,6 @@ result = rowan.submit_workflow(
31
31
  },
32
32
  )
33
33
 
34
- result.wait_for_result()
35
- result.fetch_latest(in_place=True)
36
-
37
- print(result)
34
+ print(f"View workflow privately at: https://labs.rowansci.com/bde/{workflow.uuid}")
35
+ workflow.wait_for_result().fetch_latest(in_place=True)
36
+ print(workflow)
@@ -5,7 +5,8 @@ from stjames import MSAFormat
5
5
 
6
6
  import rowan
7
7
 
8
- # rowan.api_key = ""
8
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
9
+ # rowan.api_key = "rowan-sk..."
9
10
 
10
11
  msa_directory = Path("msa_directory")
11
12
 
@@ -5,7 +5,8 @@ from stjames import MSAFormat
5
5
 
6
6
  import rowan
7
7
 
8
- # rowan.api_key = ""
8
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
9
+ # rowan.api_key = "rowan-sk..."
9
10
 
10
11
  msa_directory = Path("msa_directory")
11
12
 
@@ -6,7 +6,9 @@ from stjames import MSAFormat
6
6
 
7
7
  import rowan
8
8
 
9
- # rowan.api_key = ""
9
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
10
+ # rowan.api_key = "rowan-sk..."
11
+
10
12
  example_fasta = (
11
13
  ">protein|name=example-protein\n"
12
14
  "VLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHGKKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTPAVHASLDKFLASVSTVLTSKYR\n"
@@ -6,7 +6,9 @@ from stjames import MSAFormat
6
6
 
7
7
  import rowan
8
8
 
9
- # rowan.api_key = ""
9
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
10
+ # rowan.api_key = "rowan-sk..."
11
+
10
12
  example_fasta = (
11
13
  ">protein|name=example-protein\n"
12
14
  "HPETLVKVKDAEDQLGARVGYIELDLNSGKILESFRPEERFPMMSTFKVLLCGAVLSRIDAGQEQLGRRIHYSQNDLVEYSPVTEKHLTDGMTVRELCSAAITMSDNTAANLLLTTIGGPKELTAFLHNMGDHVTRLDRWEPELNEAIPNDERDTTMPVAMATTLRKLLTGELLTLASRQQLIDWMEADKVAGPLLRSALPAGWFIADKSGAGERGSRGIIAALGPDGKPSRIVVIYTTGSQATMDERNRQIAEIGASLIKHW\n"
@@ -1,5 +1,8 @@
1
1
  import rowan
2
2
 
3
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
4
+ # rowan.api_key = "rowan-sk..."
5
+
3
6
  HARTREE_TO_KCALMOL = 627.5096
4
7
 
5
8
  ligands = [
@@ -5,7 +5,8 @@ from stjames import MSAFormat
5
5
 
6
6
  import rowan
7
7
 
8
- # rowan.api_key = ""
8
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
9
+ # rowan.api_key = "rowan-sk..."
9
10
 
10
11
  msa_directory = Path("msa_directory")
11
12
 
@@ -5,7 +5,8 @@ from stjames import MSAFormat
5
5
 
6
6
  import rowan
7
7
 
8
- # rowan.api_key = ""
8
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
9
+ # rowan.api_key = "rowan-sk..."
9
10
 
10
11
  msa_directory = Path("msa_directory")
11
12
 
@@ -3,20 +3,21 @@ from stjames import Molecule
3
3
 
4
4
  import rowan
5
5
 
6
- # rowan.api_key = ""
6
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
7
+ # rowan.api_key = "rowan-sk..."
7
8
 
8
- conformer_dependent_redox_folder = rowan.create_folder(name="Conformer dependent redox results")
9
+ conformer_dependent_redox_folder = rowan.create_folder(name="Conformer dependent redox workflows")
9
10
 
10
- result = rowan.submit_conformer_search_workflow(
11
+ workflow = rowan.submit_conformer_search_workflow(
11
12
  initial_molecule=Molecule.from_smiles("CC(C)Cc1ccc(C(=O)c2ccc(O)cc2)cc1"),
12
13
  folder_uuid=conformer_dependent_redox_folder.uuid,
13
14
  )
14
- result.wait_for_result()
15
- result.fetch_latest(in_place=True)
15
+ print(f"View workflow privately at: https://labs.rowansci.com/workflow/{workflow.uuid}")
16
+ workflow.wait_for_result().fetch_latest(in_place=True)
16
17
 
17
18
  redox_potential_workflows = []
18
19
 
19
- for conformer in result.data["conformer_uuids"][:10]:
20
+ for conformer in workflow.data["conformer_uuids"][:10]:
20
21
  uuid = conformer[0]
21
22
  molecule = rowan.retrieve_calculation_molecules(uuid)[0]
22
23
  stjames_molecule = stjames.Molecule.model_validate(molecule)
@@ -30,7 +31,7 @@ for conformer in result.data["conformer_uuids"][:10]:
30
31
  )
31
32
 
32
33
  for workflow in redox_potential_workflows:
33
- workflow.wait_for_result()
34
+ workflow.wait_for_workflow()
34
35
  workflow.fetch_latest(in_place=True)
35
36
 
36
37
 
@@ -21,11 +21,13 @@ from stjames import Molecule
21
21
 
22
22
  import rowan
23
23
 
24
- # rowan.api_key = ""
24
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
25
+ # rowan.api_key = "rowan-sk..."
25
26
 
26
- # Run calculation remotely
27
- result = rowan.submit_conformer_search_workflow(
27
+ workflow = rowan.submit_conformer_search_workflow(
28
28
  initial_molecule=Molecule.from_smiles("CCOCC"),
29
29
  )
30
30
 
31
- print(result.wait_for_result().fetch_latest(in_place=True))
31
+ print(f"View workflow privately at: https://labs.rowansci.com/workflow/{workflow.uuid}")
32
+ workflow.wait_for_result().fetch_latest(in_place=True)
33
+ print(workflow)