rowan-python 2.1.11__tar.gz → 2.1.12__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.
- rowan_python-2.1.12/.github/workflows/build-and-deploy-docs.yml +42 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/PKG-INFO +2 -2
- rowan_python-2.1.12/examples/admet.py +12 -0
- rowan_python-2.1.12/examples/membrane_permeability.py +12 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/pixi.lock +9 -9
- {rowan_python-2.1.11 → rowan_python-2.1.12}/pyproject.toml +2 -2
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/folder.py +2 -1
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/workflow.py +73 -5
- {rowan_python-2.1.11 → rowan_python-2.1.12}/.envrc +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/.github/workflows/python-publish.yml +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/.github/workflows/test.yml +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/.gitignore +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/.pre-commit-config.yaml +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/LICENSE +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/README.md +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/docs/images/deciduous-tree-favicon.png +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/docs/index.md +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/docs/rowan_rdkit.md +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/docs/stylesheets/colors.css +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/PROTAC_solubility.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/aqueous_solubility.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/basic_calculation.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/basic_calculation_from_json.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/basic_calculation_with_constraint.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/basic_calculation_with_solvent.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/batch_docking.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/bde.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/boltz_paired_msa.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/boltz_single_msa.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/chai_paired_msa.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/chai_single_msa.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/cofolding_screen.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/colabfold_paired_msa.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/colabfold_single_msa.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/conformer_dependent_redox.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/conformers.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/data/workflow_example.json +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/dcd_download.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/docking_screen.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/double_ended_ts_search.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/fukui_index.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/ion_mobility.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/irc.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/macropka.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/multistage_opt.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/nmr.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/optimization.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/pdb_download.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/phenol_pka.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/pka.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/pose_analysis_md.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/protein_cofolding.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/redox_potential.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/scan.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/strain.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/examples/tautomer.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/mkdocs.yml +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/__init__.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/constants.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/project.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/protein.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/py.typed +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/rowan_rdkit/__init__.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/rowan_rdkit/chem_utils.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/user.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/rowan/utils.py +0 -0
- {rowan_python-2.1.11 → rowan_python-2.1.12}/tests/test_macropka_loop.py +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
name: Build & Deploy Rowan Python Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build-and-deploy-docs:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout repository
|
|
16
|
+
uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
ref: main
|
|
20
|
+
|
|
21
|
+
- name: Install Pixi
|
|
22
|
+
uses: prefix-dev/setup-pixi@v0.9.1
|
|
23
|
+
with:
|
|
24
|
+
pixi-version: "latest"
|
|
25
|
+
activate-environment: true
|
|
26
|
+
|
|
27
|
+
- name: Build MkDocs site
|
|
28
|
+
run: pixi run mkdocs-build
|
|
29
|
+
|
|
30
|
+
- name: Install SSH Key
|
|
31
|
+
uses: shimataro/ssh-key-action@v2
|
|
32
|
+
with:
|
|
33
|
+
key: ${{ secrets.DOCS_SSH_KEY }}
|
|
34
|
+
known_hosts: "unnecessary"
|
|
35
|
+
|
|
36
|
+
- name: Add server to known_hosts
|
|
37
|
+
run: ssh-keyscan -H ${{ secrets.DOCS_IP }} >> ~/.ssh/known_hosts
|
|
38
|
+
|
|
39
|
+
- name: Deploy with rsync
|
|
40
|
+
run: |
|
|
41
|
+
rsync -avz --delete ./ \
|
|
42
|
+
${{ secrets.DOCS_USERNAME }}@${{ secrets.DOCS_IP }}:{{ secrets.DOCS_TARGET_DIR }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rowan-python
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.12
|
|
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.
|
|
14
|
+
Requires-Dist: stjames>=0.0.137
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
|
|
17
17
|
# Rowan Python Library
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import rowan
|
|
2
|
+
|
|
3
|
+
# rowan.api_key = ""
|
|
4
|
+
|
|
5
|
+
oseltamivir_SMILES = "C1CCOC(=O)C1=C[C@@H](OC(CC)CC)[C@H](NC(C)=O)[C@@H]([NH3+])C1CCC1"
|
|
6
|
+
|
|
7
|
+
result = rowan.submit_admet_workflow(
|
|
8
|
+
initial_smiles=oseltamivir_SMILES,
|
|
9
|
+
name="Oseltamivir ADMET",
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
print(result.wait_for_result().fetch_latest(in_place=True))
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import rowan
|
|
2
|
+
|
|
3
|
+
# rowan.api_key = ""
|
|
4
|
+
|
|
5
|
+
oseltamivir_SMILES = "C1CCOC(=O)C1=C[C@@H](OC(CC)CC)[C@H](NC(C)=O)[C@@H]([NH3+])C1CCC1"
|
|
6
|
+
|
|
7
|
+
result = rowan.submit_membrane_permeability_workflow(
|
|
8
|
+
initial_smiles=oseltamivir_SMILES,
|
|
9
|
+
name="Oseltamivir Membrane Permeability",
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
print(result.wait_for_result().fetch_latest(in_place=True))
|
|
@@ -51,7 +51,7 @@ environments:
|
|
|
51
51
|
- pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
|
|
52
52
|
- pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
|
|
53
53
|
- pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
|
|
54
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
54
|
+
- pypi: https://files.pythonhosted.org/packages/99/0c/d3f6549fcb16cb9fc3ef5740125ae13c966f05d0aa81fdc447472e95c35b/stjames-0.0.137-py3-none-any.whl
|
|
55
55
|
- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
|
|
56
56
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
57
57
|
- pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl
|
|
@@ -92,7 +92,7 @@ environments:
|
|
|
92
92
|
- pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
|
|
93
93
|
- pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
|
|
94
94
|
- pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
|
|
95
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
95
|
+
- pypi: https://files.pythonhosted.org/packages/99/0c/d3f6549fcb16cb9fc3ef5740125ae13c966f05d0aa81fdc447472e95c35b/stjames-0.0.137-py3-none-any.whl
|
|
96
96
|
- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
|
|
97
97
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
98
98
|
- pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl
|
|
@@ -205,7 +205,7 @@ environments:
|
|
|
205
205
|
- pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
|
|
206
206
|
- pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
|
|
207
207
|
- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
|
|
208
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
208
|
+
- pypi: https://files.pythonhosted.org/packages/99/0c/d3f6549fcb16cb9fc3ef5740125ae13c966f05d0aa81fdc447472e95c35b/stjames-0.0.137-py3-none-any.whl
|
|
209
209
|
- pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
|
|
210
210
|
- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
|
|
211
211
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
@@ -307,7 +307,7 @@ environments:
|
|
|
307
307
|
- pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
|
|
308
308
|
- pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
|
|
309
309
|
- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
|
|
310
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
310
|
+
- pypi: https://files.pythonhosted.org/packages/99/0c/d3f6549fcb16cb9fc3ef5740125ae13c966f05d0aa81fdc447472e95c35b/stjames-0.0.137-py3-none-any.whl
|
|
311
311
|
- pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
|
|
312
312
|
- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
|
|
313
313
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
@@ -1549,10 +1549,10 @@ packages:
|
|
|
1549
1549
|
- pypi: ./
|
|
1550
1550
|
name: rowan-python
|
|
1551
1551
|
version: 2.1.11
|
|
1552
|
-
sha256:
|
|
1552
|
+
sha256: 17d8beaef39332f342c634e38512ea7b8be7db261e3e6e43ef173dec0582925e
|
|
1553
1553
|
requires_dist:
|
|
1554
1554
|
- httpx
|
|
1555
|
-
- stjames>=0.0.
|
|
1555
|
+
- stjames>=0.0.137
|
|
1556
1556
|
- setuptools
|
|
1557
1557
|
- rdkit
|
|
1558
1558
|
- nest-asyncio
|
|
@@ -1648,10 +1648,10 @@ packages:
|
|
|
1648
1648
|
- pygments ; extra == 'tests'
|
|
1649
1649
|
- littleutils ; extra == 'tests'
|
|
1650
1650
|
- cython ; extra == 'tests'
|
|
1651
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1651
|
+
- pypi: https://files.pythonhosted.org/packages/99/0c/d3f6549fcb16cb9fc3ef5740125ae13c966f05d0aa81fdc447472e95c35b/stjames-0.0.137-py3-none-any.whl
|
|
1652
1652
|
name: stjames
|
|
1653
|
-
version: 0.0.
|
|
1654
|
-
sha256:
|
|
1653
|
+
version: 0.0.137
|
|
1654
|
+
sha256: cd6f7736aeaea416891eb81c60cfb672afe60be7a99dc0b684a2ce34989d07e0
|
|
1655
1655
|
requires_dist:
|
|
1656
1656
|
- pydantic>=2.4
|
|
1657
1657
|
- numpy
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "rowan-python"
|
|
3
|
-
version = "2.1.
|
|
3
|
+
version = "2.1.12"
|
|
4
4
|
description = "Rowan Python Library"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
|
@@ -9,7 +9,7 @@ authors = [
|
|
|
9
9
|
]
|
|
10
10
|
dependencies = [
|
|
11
11
|
"httpx",
|
|
12
|
-
"stjames>=0.0.
|
|
12
|
+
"stjames>=0.0.137",
|
|
13
13
|
"setuptools",
|
|
14
14
|
"rdkit",
|
|
15
15
|
"nest-asyncio",
|
|
@@ -58,7 +58,6 @@ class Folder(BaseModel):
|
|
|
58
58
|
|
|
59
59
|
return self
|
|
60
60
|
|
|
61
|
-
|
|
62
61
|
def update(
|
|
63
62
|
self,
|
|
64
63
|
name: str | None = None,
|
|
@@ -121,6 +120,7 @@ class Folder(BaseModel):
|
|
|
121
120
|
"""
|
|
122
121
|
print_folder_tree(self.uuid, max_depth, show_uuids)
|
|
123
122
|
|
|
123
|
+
|
|
124
124
|
def retrieve_folder(uuid: str) -> Folder:
|
|
125
125
|
"""
|
|
126
126
|
Retrieves a folder from the API by UUID. Folder UUID can be found in the folder's URL.
|
|
@@ -208,6 +208,7 @@ def create_folder(
|
|
|
208
208
|
folder_data = response.json()
|
|
209
209
|
return Folder(**folder_data)
|
|
210
210
|
|
|
211
|
+
|
|
211
212
|
def print_folder_tree(uuid: str, max_depth: int = 10, show_uuids: bool = False) -> None:
|
|
212
213
|
"""
|
|
213
214
|
Retrieves a folder tree from the API.
|
|
@@ -242,8 +242,9 @@ class Workflow(BaseModel):
|
|
|
242
242
|
with open(path / f"{self.name}-msa.tar.gz", "wb") as f:
|
|
243
243
|
f.write(response.content)
|
|
244
244
|
|
|
245
|
-
def download_dcd_files(
|
|
246
|
-
|
|
245
|
+
def download_dcd_files(
|
|
246
|
+
self, replicates: list[int], name: str | None = None, path: Path | None = None
|
|
247
|
+
) -> None:
|
|
247
248
|
"""
|
|
248
249
|
Downloads DCD trajectory files for specified replicates
|
|
249
250
|
|
|
@@ -262,9 +263,7 @@ class Workflow(BaseModel):
|
|
|
262
263
|
path.mkdir(parents=True, exist_ok=True)
|
|
263
264
|
|
|
264
265
|
with api_client() as client:
|
|
265
|
-
response = client.post(
|
|
266
|
-
f"/trajectory/{self.uuid}/trajectory_dcds", json=replicates
|
|
267
|
-
)
|
|
266
|
+
response = client.post(f"/trajectory/{self.uuid}/trajectory_dcds", json=replicates)
|
|
268
267
|
response.raise_for_status()
|
|
269
268
|
|
|
270
269
|
file_path = path / f"{name or self.name}.tar.gz"
|
|
@@ -423,6 +422,7 @@ def retrieve_workflows(uuids: list[str]) -> list[Workflow]:
|
|
|
423
422
|
response.raise_for_status()
|
|
424
423
|
return [Workflow(**workflow_data) for workflow_data in response.json()]
|
|
425
424
|
|
|
425
|
+
|
|
426
426
|
def batch_poll_status(uuids: list[str]) -> list[Workflow]:
|
|
427
427
|
"""
|
|
428
428
|
Polls the status of a list of workflows.
|
|
@@ -1606,3 +1606,71 @@ def submit_msa_workflow(
|
|
|
1606
1606
|
response = client.post("/workflow", json=data)
|
|
1607
1607
|
response.raise_for_status()
|
|
1608
1608
|
return Workflow(**response.json())
|
|
1609
|
+
|
|
1610
|
+
|
|
1611
|
+
def submit_admet_workflow(
|
|
1612
|
+
initial_smiles: str,
|
|
1613
|
+
name: str = "ADMET Workflow",
|
|
1614
|
+
folder_uuid: str | None = None,
|
|
1615
|
+
max_credits: int | None = None,
|
|
1616
|
+
) -> Workflow:
|
|
1617
|
+
"""
|
|
1618
|
+
Submits an ADMET workflow to the API.
|
|
1619
|
+
|
|
1620
|
+
:param initial_smiles: The molecule used in the workflow.
|
|
1621
|
+
:param name: The name of the workflow.
|
|
1622
|
+
:param folder_uuid: The UUID of the folder to store the workflow in.
|
|
1623
|
+
:param max_credits: The maximum number of credits to use for the workflow.
|
|
1624
|
+
:return: A Workflow object representing the submitted workflow.
|
|
1625
|
+
:raises requests.HTTPError: if the request to the API fails.
|
|
1626
|
+
"""
|
|
1627
|
+
|
|
1628
|
+
workflow = stjames.ADMETWorkflow(initial_smiles=initial_smiles)
|
|
1629
|
+
|
|
1630
|
+
data = {
|
|
1631
|
+
"name": name,
|
|
1632
|
+
"folder_uuid": folder_uuid,
|
|
1633
|
+
"workflow_type": "admet",
|
|
1634
|
+
"workflow_data": workflow.model_dump(),
|
|
1635
|
+
"initial_smiles": initial_smiles,
|
|
1636
|
+
"max_credits": max_credits,
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1639
|
+
with api_client() as client:
|
|
1640
|
+
response = client.post("/workflow", json=data)
|
|
1641
|
+
response.raise_for_status()
|
|
1642
|
+
return Workflow(**response.json())
|
|
1643
|
+
|
|
1644
|
+
|
|
1645
|
+
def submit_membrane_permeability_workflow(
|
|
1646
|
+
initial_smiles: str,
|
|
1647
|
+
name: str = "ADMET Workflow",
|
|
1648
|
+
folder_uuid: str | None = None,
|
|
1649
|
+
max_credits: int | None = None,
|
|
1650
|
+
) -> Workflow:
|
|
1651
|
+
"""
|
|
1652
|
+
Submits a membrane permeability workflow to the API.
|
|
1653
|
+
|
|
1654
|
+
:param initial_smiles: The molecule used in the workflow.
|
|
1655
|
+
:param name: The name of the workflow.
|
|
1656
|
+
:param folder_uuid: The UUID of the folder to store the workflow in.
|
|
1657
|
+
:param max_credits: The maximum number of credits to use for the workflow.
|
|
1658
|
+
:return: A Workflow object representing the submitted workflow.
|
|
1659
|
+
:raises requests.HTTPError: if the request to the API fails.
|
|
1660
|
+
"""
|
|
1661
|
+
|
|
1662
|
+
workflow = stjames.MembranePermeabilityWorkflow(initial_smiles=initial_smiles)
|
|
1663
|
+
|
|
1664
|
+
data = {
|
|
1665
|
+
"name": name,
|
|
1666
|
+
"folder_uuid": folder_uuid,
|
|
1667
|
+
"workflow_type": "membrane_permeability",
|
|
1668
|
+
"workflow_data": workflow.model_dump(),
|
|
1669
|
+
"initial_smiles": initial_smiles,
|
|
1670
|
+
"max_credits": max_credits,
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
with api_client() as client:
|
|
1674
|
+
response = client.post("/workflow", json=data)
|
|
1675
|
+
response.raise_for_status()
|
|
1676
|
+
return Workflow(**response.json())
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|