rowan-python 3.0.8__py3-none-any.whl → 3.0.10__py3-none-any.whl
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/__init__.py +1 -0
- rowan/workflows/base.py +6 -0
- rowan/workflows/bde.py +8 -6
- rowan/workflows/conformer_search.py +83 -27
- rowan/workflows/multistage_optimization.py +24 -15
- rowan/workflows/protein_binder_design.py +2 -1
- rowan/workflows/redox_potential.py +7 -5
- rowan/workflows/spin_states.py +20 -14
- rowan/workflows/strain.py +5 -4
- rowan/workflows/tautomer_search.py +4 -6
- {rowan_python-3.0.8.dist-info → rowan_python-3.0.10.dist-info}/METADATA +2 -2
- {rowan_python-3.0.8.dist-info → rowan_python-3.0.10.dist-info}/RECORD +14 -14
- {rowan_python-3.0.8.dist-info → rowan_python-3.0.10.dist-info}/WHEEL +0 -0
- {rowan_python-3.0.8.dist-info → rowan_python-3.0.10.dist-info}/licenses/LICENSE +0 -0
rowan/__init__.py
CHANGED
rowan/workflows/base.py
CHANGED
|
@@ -25,6 +25,12 @@ logger.setLevel(logging.INFO)
|
|
|
25
25
|
Mode = stjames.Mode
|
|
26
26
|
Solvent = stjames.Solvent
|
|
27
27
|
MessageType = stjames.MessageType
|
|
28
|
+
Method = stjames.Method
|
|
29
|
+
Task = stjames.Task
|
|
30
|
+
Settings = stjames.Settings
|
|
31
|
+
MultiStageOptSettings = stjames.MultiStageOptSettings
|
|
32
|
+
ETKDGSettings = stjames.ETKDGSettings
|
|
33
|
+
ConformerGenSettings = stjames.conformers.ConformerGenSettings
|
|
28
34
|
|
|
29
35
|
|
|
30
36
|
@dataclass(frozen=True, slots=True)
|
rowan/workflows/bde.py
CHANGED
|
@@ -90,12 +90,14 @@ def submit_bde_workflow(
|
|
|
90
90
|
folder_uuid = folder.uuid
|
|
91
91
|
initial_molecule = molecule_to_dict(initial_molecule)
|
|
92
92
|
|
|
93
|
-
workflow = stjames.BDEWorkflow(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
93
|
+
workflow = stjames.BDEWorkflow.model_validate(
|
|
94
|
+
{
|
|
95
|
+
"initial_molecule": initial_molecule,
|
|
96
|
+
"mode": mode,
|
|
97
|
+
"atoms": atoms or [],
|
|
98
|
+
"all_CH": all_CH,
|
|
99
|
+
"all_CX": all_CX,
|
|
100
|
+
}
|
|
99
101
|
)
|
|
100
102
|
|
|
101
103
|
data = {
|
|
@@ -8,6 +8,13 @@ from ..molecule import Molecule
|
|
|
8
8
|
from ..types import MoleculeInput, SolventInput
|
|
9
9
|
from ..utils import api_client
|
|
10
10
|
from .base import (
|
|
11
|
+
ConformerGenSettings,
|
|
12
|
+
ETKDGSettings,
|
|
13
|
+
Method,
|
|
14
|
+
Mode,
|
|
15
|
+
MultiStageOptSettings,
|
|
16
|
+
Settings,
|
|
17
|
+
Task,
|
|
11
18
|
Workflow,
|
|
12
19
|
WorkflowResult,
|
|
13
20
|
molecule_to_dict,
|
|
@@ -114,12 +121,68 @@ class ConformerSearchResult(WorkflowResult):
|
|
|
114
121
|
return self._cache[cache_key]
|
|
115
122
|
|
|
116
123
|
|
|
124
|
+
_FINAL_METHOD_TO_MSO_RECIPE: dict[Method, tuple[Method, Method | None]] = {
|
|
125
|
+
Method.AIMNET2_WB97MD3: (Method.AIMNET2_WB97MD3, None),
|
|
126
|
+
Method.OMOL25_CONSERVING_S: (Method.OMOL25_CONSERVING_S, None),
|
|
127
|
+
Method.GFN2_XTB: (Method.GFN2_XTB, None),
|
|
128
|
+
Method.G_XTB: (Method.GFN2_XTB, Method.G_XTB),
|
|
129
|
+
Method.R2SCAN3C: (Method.GFN2_XTB, Method.R2SCAN3C),
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def _mso_for_final_method(
|
|
134
|
+
final_method: Method,
|
|
135
|
+
solvent: SolventInput = None,
|
|
136
|
+
transition_state: bool = False,
|
|
137
|
+
) -> MultiStageOptSettings:
|
|
138
|
+
"""Build a `MultiStageOptSettings` for `final_method` matching tinbergen's
|
|
139
|
+
conformer-search MSO presets. Falls back to a single opt stage at
|
|
140
|
+
`final_method` for methods without a named preset.
|
|
141
|
+
|
|
142
|
+
`solvent` and `transition_state` are merged into each stage's `Settings`
|
|
143
|
+
when supplied; the named preset itself is independent of them (mirrors how
|
|
144
|
+
tinbergen's form keeps the preset dropdown separate from the solvent / TS
|
|
145
|
+
toggles).
|
|
146
|
+
"""
|
|
147
|
+
opt_method, sp_method = _FINAL_METHOD_TO_MSO_RECIPE.get(final_method, (final_method, None))
|
|
148
|
+
|
|
149
|
+
def _solvent_settings_for(method: Method) -> dict | None:
|
|
150
|
+
if not solvent:
|
|
151
|
+
return None
|
|
152
|
+
return {
|
|
153
|
+
"solvent": solvent,
|
|
154
|
+
"model": "alpb" if method in stjames.XTB_METHODS else "cpcm",
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
opt_stage = Settings(
|
|
158
|
+
method=opt_method,
|
|
159
|
+
tasks=[Task.OPTIMIZE],
|
|
160
|
+
mode=Mode.AUTO,
|
|
161
|
+
solvent_settings=_solvent_settings_for(opt_method),
|
|
162
|
+
opt_settings={"transition_state": transition_state, "constraints": []},
|
|
163
|
+
)
|
|
164
|
+
sp_stage: Settings | None = None
|
|
165
|
+
if sp_method is not None:
|
|
166
|
+
sp_stage = Settings(
|
|
167
|
+
method=sp_method,
|
|
168
|
+
tasks=[Task.ENERGY],
|
|
169
|
+
mode=Mode.AUTO,
|
|
170
|
+
solvent_settings=_solvent_settings_for(sp_method),
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
return MultiStageOptSettings(
|
|
174
|
+
optimization_settings=[opt_stage],
|
|
175
|
+
singlepoint_settings=sp_stage,
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
|
|
117
179
|
def submit_conformer_search_workflow(
|
|
118
180
|
initial_molecule: MoleculeInput,
|
|
119
|
-
conf_gen_settings:
|
|
120
|
-
final_method:
|
|
181
|
+
conf_gen_settings: ConformerGenSettings | None = None,
|
|
182
|
+
final_method: Method | str = "aimnet2_wb97md3",
|
|
121
183
|
solvent: SolventInput = None,
|
|
122
184
|
transition_state: bool = False,
|
|
185
|
+
multistage_opt_settings: MultiStageOptSettings | None = None,
|
|
123
186
|
name: str = "Conformer Search Workflow",
|
|
124
187
|
folder_uuid: str | None = None,
|
|
125
188
|
folder: Folder | None = None,
|
|
@@ -138,9 +201,16 @@ def submit_conformer_search_workflow(
|
|
|
138
201
|
- ``LyrebirdSettings`` -- Rowan ML model
|
|
139
202
|
- ``iMTDGCSettings`` -- CREST iMTD-GC metadynamics, more thorough
|
|
140
203
|
- ``MonteCarloMultipleMinimumSettings`` -- MCMM conformer search
|
|
141
|
-
:param final_method: Method to use for the final optimization.
|
|
142
|
-
|
|
143
|
-
:param
|
|
204
|
+
:param final_method: Method to use for the final optimization. Ignored if
|
|
205
|
+
`multistage_opt_settings` is provided.
|
|
206
|
+
:param solvent: Solvent to use for the final optimization. Ignored if
|
|
207
|
+
`multistage_opt_settings` is provided.
|
|
208
|
+
:param transition_state: Whether to optimize the transition state. Ignored
|
|
209
|
+
if `multistage_opt_settings` is provided.
|
|
210
|
+
:param multistage_opt_settings: Optimization stages and singlepoint settings
|
|
211
|
+
for ranking conformers. When provided, takes precedence over
|
|
212
|
+
`final_method` / `solvent` / `transition_state`. When omitted, an MSO is
|
|
213
|
+
built from those three params.
|
|
144
214
|
:param name: Name of the workflow.
|
|
145
215
|
:param folder_uuid: UUID of the folder to place the workflow in.
|
|
146
216
|
:param folder: Folder object to store the workflow in.
|
|
@@ -155,34 +225,20 @@ def submit_conformer_search_workflow(
|
|
|
155
225
|
if folder:
|
|
156
226
|
folder_uuid = folder.uuid
|
|
157
227
|
if conf_gen_settings is None:
|
|
158
|
-
conf_gen_settings =
|
|
228
|
+
conf_gen_settings = ETKDGSettings()
|
|
159
229
|
|
|
160
230
|
mol_dict = molecule_to_dict(initial_molecule)
|
|
161
231
|
|
|
162
|
-
if
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
opt_settings = stjames.Settings(
|
|
170
|
-
method=final_method,
|
|
171
|
-
tasks=["optimize"],
|
|
172
|
-
mode=stjames.Mode.AUTO,
|
|
173
|
-
solvent_settings={"solvent": solvent, "model": solvent_model} if solvent else None,
|
|
174
|
-
opt_settings={"transition_state": transition_state, "constraints": []},
|
|
175
|
-
)
|
|
176
|
-
|
|
177
|
-
msos = stjames.MultiStageOptSettings(
|
|
178
|
-
mode=stjames.Mode.MANUAL,
|
|
179
|
-
xtb_preopt=True,
|
|
180
|
-
optimization_settings=[opt_settings],
|
|
181
|
-
)
|
|
232
|
+
if multistage_opt_settings is None:
|
|
233
|
+
if isinstance(final_method, str):
|
|
234
|
+
final_method = Method(final_method)
|
|
235
|
+
multistage_opt_settings = _mso_for_final_method(
|
|
236
|
+
final_method, solvent=solvent, transition_state=transition_state
|
|
237
|
+
)
|
|
182
238
|
|
|
183
239
|
workflow = stjames.ConformerSearchWorkflow(
|
|
184
240
|
initial_molecule=mol_dict,
|
|
185
|
-
multistage_opt_settings=
|
|
241
|
+
multistage_opt_settings=multistage_opt_settings,
|
|
186
242
|
conf_gen_settings=conf_gen_settings,
|
|
187
243
|
solvent=solvent,
|
|
188
244
|
transition_state=transition_state,
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
"""Multistage optimization workflow - optimize molecules with staged methods."""
|
|
2
2
|
|
|
3
|
+
from typing import Sequence
|
|
4
|
+
|
|
3
5
|
import stjames
|
|
4
6
|
|
|
5
7
|
from ..calculation import Calculation, retrieve_calculation
|
|
6
8
|
from ..folder import Folder
|
|
7
9
|
from ..molecule import Molecule
|
|
8
|
-
from ..types import MoleculeInput
|
|
10
|
+
from ..types import MoleculeInput
|
|
9
11
|
from ..utils import api_client
|
|
10
12
|
from .base import (
|
|
11
|
-
|
|
13
|
+
Method,
|
|
14
|
+
Settings,
|
|
15
|
+
Task,
|
|
12
16
|
Workflow,
|
|
13
17
|
WorkflowResult,
|
|
14
18
|
molecule_to_dict,
|
|
@@ -116,10 +120,8 @@ class MultiStageOptResult(WorkflowResult):
|
|
|
116
120
|
|
|
117
121
|
def submit_multistage_optimization_workflow(
|
|
118
122
|
initial_molecule: MoleculeInput,
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
xtb_preopt: bool = True,
|
|
122
|
-
transition_state: bool = False,
|
|
123
|
+
optimization_settings: Sequence[Settings] | None = None,
|
|
124
|
+
singlepoint_settings: Settings | None = None,
|
|
123
125
|
frequencies: bool = False,
|
|
124
126
|
name: str = "Multistage Optimization Workflow",
|
|
125
127
|
folder_uuid: str | None = None,
|
|
@@ -131,12 +133,13 @@ def submit_multistage_optimization_workflow(
|
|
|
131
133
|
"""
|
|
132
134
|
Submits a multistage-optimization workflow to the API.
|
|
133
135
|
|
|
136
|
+
Defaults to a 3-stage `r2scan_3c//gfn2_xtb//gfn_ff` stack.
|
|
137
|
+
|
|
134
138
|
:param initial_molecule: Molecule to optimize.
|
|
135
|
-
:param
|
|
136
|
-
:param
|
|
137
|
-
|
|
138
|
-
:param
|
|
139
|
-
:param frequencies: Whether to calculate frequencies.
|
|
139
|
+
:param optimization_settings: Optimization stages to apply in order.
|
|
140
|
+
:param singlepoint_settings: Final singlepoint settings, applied after the
|
|
141
|
+
last optimization stage.
|
|
142
|
+
:param frequencies: Whether to calculate frequencies on the last optimization step.
|
|
140
143
|
:param name: Name of the workflow.
|
|
141
144
|
:param folder_uuid: UUID of the folder to place the workflow in.
|
|
142
145
|
:param folder: Folder object to store the workflow in.
|
|
@@ -152,12 +155,18 @@ def submit_multistage_optimization_workflow(
|
|
|
152
155
|
folder_uuid = folder.uuid
|
|
153
156
|
mol_dict = molecule_to_dict(initial_molecule)
|
|
154
157
|
|
|
158
|
+
if optimization_settings is None:
|
|
159
|
+
optimization_settings = [
|
|
160
|
+
Settings(method=Method.GFN_FF, tasks=[Task.OPTIMIZE]),
|
|
161
|
+
Settings(method=Method.GFN2_XTB, tasks=[Task.OPTIMIZE]),
|
|
162
|
+
]
|
|
163
|
+
if singlepoint_settings is None:
|
|
164
|
+
singlepoint_settings = Settings(method=Method.R2SCAN3C, tasks=[Task.ENERGY])
|
|
165
|
+
|
|
155
166
|
workflow = stjames.MultiStageOptWorkflow(
|
|
156
167
|
initial_molecule=mol_dict,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
xtb_preopt=xtb_preopt,
|
|
160
|
-
transition_state=transition_state,
|
|
168
|
+
optimization_settings=optimization_settings or (),
|
|
169
|
+
singlepoint_settings=singlepoint_settings,
|
|
161
170
|
frequencies=frequencies,
|
|
162
171
|
)
|
|
163
172
|
|
|
@@ -101,7 +101,8 @@ class ProteinBinderDesignResult(WorkflowResult):
|
|
|
101
101
|
"""Generated protein binder designs, sorted by quality score."""
|
|
102
102
|
binders: list[ProteinBinder] = []
|
|
103
103
|
for b in self._workflow.generated_binders:
|
|
104
|
-
|
|
104
|
+
raw_scores = getattr(b, "scores", None)
|
|
105
|
+
scores_dict = raw_scores.model_dump() if raw_scores is not None else {}
|
|
105
106
|
scores = BinderScores(
|
|
106
107
|
iptm=scores_dict.get("iptm"),
|
|
107
108
|
design_ptm=scores_dict.get("design_ptm"),
|
|
@@ -122,11 +122,13 @@ def submit_redox_potential_workflow(
|
|
|
122
122
|
folder_uuid = folder.uuid
|
|
123
123
|
initial_molecule = molecule_to_dict(initial_molecule)
|
|
124
124
|
|
|
125
|
-
workflow = stjames.RedoxPotentialWorkflow(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
workflow = stjames.RedoxPotentialWorkflow.model_validate(
|
|
126
|
+
{
|
|
127
|
+
"initial_molecule": initial_molecule,
|
|
128
|
+
"oxidation": oxidation,
|
|
129
|
+
"reduction": reduction,
|
|
130
|
+
"mode": mode,
|
|
131
|
+
}
|
|
130
132
|
)
|
|
131
133
|
|
|
132
134
|
data = {
|
rowan/workflows/spin_states.py
CHANGED
|
@@ -7,11 +7,14 @@ import stjames
|
|
|
7
7
|
|
|
8
8
|
from ..calculation import Calculation, retrieve_calculation
|
|
9
9
|
from ..folder import Folder
|
|
10
|
-
from ..types import MoleculeInput
|
|
10
|
+
from ..types import MoleculeInput
|
|
11
11
|
from ..utils import api_client
|
|
12
12
|
from .base import (
|
|
13
13
|
Message,
|
|
14
|
-
|
|
14
|
+
Method,
|
|
15
|
+
MultiStageOptSettings,
|
|
16
|
+
Settings,
|
|
17
|
+
Task,
|
|
15
18
|
Workflow,
|
|
16
19
|
WorkflowResult,
|
|
17
20
|
molecule_to_dict,
|
|
@@ -129,10 +132,7 @@ class SpinStatesResult(WorkflowResult):
|
|
|
129
132
|
def submit_spin_states_workflow(
|
|
130
133
|
initial_molecule: MoleculeInput,
|
|
131
134
|
states: list[int],
|
|
132
|
-
|
|
133
|
-
solvent: SolventInput = None,
|
|
134
|
-
xtb_preopt: bool = True,
|
|
135
|
-
frequencies: bool = False,
|
|
135
|
+
multistage_opt_settings: MultiStageOptSettings | None = None,
|
|
136
136
|
name: str = "Spin States Workflow",
|
|
137
137
|
folder_uuid: str | None = None,
|
|
138
138
|
folder: Folder | None = None,
|
|
@@ -143,13 +143,14 @@ def submit_spin_states_workflow(
|
|
|
143
143
|
"""
|
|
144
144
|
Submits a spin-states workflow to the API.
|
|
145
145
|
|
|
146
|
+
Defaults to a `r2scan_3c//gfn2_xtb` stack. Pass an explicit
|
|
147
|
+
`MultiStageOptSettings(...)` to override.
|
|
148
|
+
|
|
146
149
|
:param initial_molecule: Molecule to calculate spin states for.
|
|
147
150
|
:param states: List of multiplicities to calculate
|
|
148
151
|
(e.g., [1, 3, 5] for singlet, triplet, quintet).
|
|
149
|
-
:param
|
|
150
|
-
|
|
151
|
-
:param xtb_preopt: Whether to pre-optimize with xTB.
|
|
152
|
-
:param frequencies: Whether to calculate frequencies.
|
|
152
|
+
:param multistage_opt_settings: Optimization stages and singlepoint settings
|
|
153
|
+
describing the method stack.
|
|
153
154
|
:param name: Name of the workflow.
|
|
154
155
|
:param folder_uuid: UUID of the folder to place the workflow in.
|
|
155
156
|
:param folder: Folder object to store the workflow in.
|
|
@@ -170,13 +171,18 @@ def submit_spin_states_workflow(
|
|
|
170
171
|
for mult in states:
|
|
171
172
|
_validate_multiplicity(mol_dict, mult)
|
|
172
173
|
|
|
174
|
+
if multistage_opt_settings is None:
|
|
175
|
+
multistage_opt_settings = MultiStageOptSettings(
|
|
176
|
+
optimization_settings=[
|
|
177
|
+
Settings(method=Method.GFN2_XTB, tasks=[Task.OPTIMIZE]),
|
|
178
|
+
],
|
|
179
|
+
singlepoint_settings=Settings(method=Method.R2SCAN3C, tasks=[Task.ENERGY]),
|
|
180
|
+
)
|
|
181
|
+
|
|
173
182
|
workflow = stjames.SpinStatesWorkflow(
|
|
174
183
|
initial_molecule=mol_dict,
|
|
175
184
|
states=states,
|
|
176
|
-
|
|
177
|
-
solvent=solvent,
|
|
178
|
-
xtb_preopt=xtb_preopt,
|
|
179
|
-
frequencies=frequencies,
|
|
185
|
+
multistage_opt_settings=multistage_opt_settings,
|
|
180
186
|
)
|
|
181
187
|
|
|
182
188
|
data = {
|
rowan/workflows/strain.py
CHANGED
|
@@ -129,10 +129,11 @@ def submit_strain_workflow(
|
|
|
129
129
|
:param harmonic_constraint_spring_constant: Spring constant for harmonic
|
|
130
130
|
constraints (kcal/mol/A). Default 5.0.
|
|
131
131
|
:param constrain_hydrogens: Whether to constrain hydrogen positions. Default False.
|
|
132
|
-
:param conf_gen_settings: Conformer generation settings. Defaults to
|
|
133
|
-
max 200 conformers.
|
|
132
|
+
:param conf_gen_settings: Conformer generation settings. Defaults to
|
|
133
|
+
OpenConf with max 200 conformers.
|
|
134
134
|
:param multistage_opt_settings: Optimization settings for conformer ranking.
|
|
135
|
-
Defaults to
|
|
135
|
+
Defaults to GFN2-xTB optimization in water (ALPB) with a g-xTB singlepoint
|
|
136
|
+
in water (CPCMx).
|
|
136
137
|
:param name: Name of the workflow.
|
|
137
138
|
:param folder_uuid: UUID of the folder to store the workflow in.
|
|
138
139
|
:param folder: Folder object to store the workflow in.
|
|
@@ -152,7 +153,7 @@ def submit_strain_workflow(
|
|
|
152
153
|
"initial_molecule": initial_molecule,
|
|
153
154
|
"harmonic_constraint_spring_constant": harmonic_constraint_spring_constant,
|
|
154
155
|
"constrain_hydrogens": constrain_hydrogens,
|
|
155
|
-
"conf_gen_settings": conf_gen_settings or stjames.
|
|
156
|
+
"conf_gen_settings": conf_gen_settings or stjames.OpenConfSettings(max_confs=200),
|
|
156
157
|
}
|
|
157
158
|
if multistage_opt_settings is not None:
|
|
158
159
|
workflow_kwargs["multistage_opt_settings"] = multistage_opt_settings
|
|
@@ -11,7 +11,6 @@ from ..molecule import Molecule
|
|
|
11
11
|
from ..utils import api_client
|
|
12
12
|
from .base import (
|
|
13
13
|
Message,
|
|
14
|
-
Mode,
|
|
15
14
|
MoleculeInput,
|
|
16
15
|
Workflow,
|
|
17
16
|
WorkflowResult,
|
|
@@ -105,7 +104,6 @@ class TautomerResult(WorkflowResult):
|
|
|
105
104
|
|
|
106
105
|
def submit_tautomer_search_workflow(
|
|
107
106
|
initial_molecule: MoleculeInput,
|
|
108
|
-
mode: Mode = Mode.CAREFUL,
|
|
109
107
|
conf_gen_settings: stjames.ConformerGenSettingsUnion | None = None,
|
|
110
108
|
multistage_opt_settings: stjames.MultiStageOptSettings | None = None,
|
|
111
109
|
name: str = "Tautomer Search Workflow",
|
|
@@ -119,11 +117,11 @@ def submit_tautomer_search_workflow(
|
|
|
119
117
|
Submits a tautomer-search workflow to the API.
|
|
120
118
|
|
|
121
119
|
:param initial_molecule: Molecule to find tautomers for.
|
|
122
|
-
:param mode: *Deprecated.*
|
|
123
120
|
:param conf_gen_settings: Conformer generation settings. Defaults to ETKDG with
|
|
124
121
|
250 initial conformers, 20 max conformers, and 15 kcal/mol MMFF energy cutoff.
|
|
125
|
-
:param multistage_opt_settings: Optimization
|
|
126
|
-
Defaults to AIMNet2/wB97M-D3 optimization with
|
|
122
|
+
:param multistage_opt_settings: Optimization stages and singlepoint settings
|
|
123
|
+
describing the method stack. Defaults to AIMNet2/wB97M-D3 optimization with
|
|
124
|
+
CPCMx(water) singlepoint.
|
|
127
125
|
:param name: Name of the workflow.
|
|
128
126
|
:param folder_uuid: UUID of the folder to place the workflow in.
|
|
129
127
|
:param folder: Folder object to store the workflow in.
|
|
@@ -139,7 +137,7 @@ def submit_tautomer_search_workflow(
|
|
|
139
137
|
folder_uuid = folder.uuid
|
|
140
138
|
initial_molecule = molecule_to_dict(initial_molecule)
|
|
141
139
|
|
|
142
|
-
workflow_kwargs: dict[str, Any] = {"initial_molecule": initial_molecule
|
|
140
|
+
workflow_kwargs: dict[str, Any] = {"initial_molecule": initial_molecule}
|
|
143
141
|
if conf_gen_settings is not None:
|
|
144
142
|
workflow_kwargs["conf_gen_settings"] = conf_gen_settings
|
|
145
143
|
if multistage_opt_settings is not None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rowan-python
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.10
|
|
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
|
|
14
|
+
Requires-Dist: stjames>=0.0.183
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
|
|
17
17
|
# Rowan Python Library
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
rowan/__init__.py,sha256=
|
|
1
|
+
rowan/__init__.py,sha256=TiZEbNQ3amq8QDhBS6JHsQjb19ueHkpy-AgNETZEQxI,881
|
|
2
2
|
rowan/api_keys.py,sha256=TvG5l5MmQ3Qt8Z3Y7jCA_lcrwEHuI7xHy-KLbIdQ8_A,4793
|
|
3
3
|
rowan/calculation.py,sha256=lZZ52DxPsuJWCTzFZXjhauHK6dV0KCUwzoxtmoxSY48,3442
|
|
4
4
|
rowan/config.py,sha256=3cVKHUNzkIPnN2bvx7l5sia7Zc5poXS8lKOJlowXyLA,21088
|
|
@@ -16,11 +16,11 @@ rowan/rowan_rdkit/chem_utils.py,sha256=ZWdLziT59Qr5JzjvV789CAyRq0m5JIawsOP4RxUbQ
|
|
|
16
16
|
rowan/workflows/__init__.py,sha256=CM3GKDTafp6vl79dWqSOvkVfwH1Ty8zuc8yzi65ABxM,4438
|
|
17
17
|
rowan/workflows/admet.py,sha256=0_wIwXXLfHF-3kgGx_1EM1ljjaYHLeEijJ-GbMYxpL8,2904
|
|
18
18
|
rowan/workflows/analogue_docking.py,sha256=LJpbbaug0tZ9Cg-m0b7EgGH5hJ5894fHOC16Wefx7mE,9206
|
|
19
|
-
rowan/workflows/base.py,sha256=
|
|
19
|
+
rowan/workflows/base.py,sha256=AyV4ZBta4vz0eiOCi9mcDPTbh-30x-11lfKKwcRJdQw,30330
|
|
20
20
|
rowan/workflows/basic_calculation.py,sha256=FKYczKpYaGE-koaHKi2VARmV9Nhqr0lTOx0Jv1RzC7k,10835
|
|
21
21
|
rowan/workflows/batch_docking.py,sha256=u_4hH7OeWkIbXqEm4uWTc3p0u9mpnR8EWqWCw7sVya4,3581
|
|
22
|
-
rowan/workflows/bde.py,sha256=
|
|
23
|
-
rowan/workflows/conformer_search.py,sha256=
|
|
22
|
+
rowan/workflows/bde.py,sha256=JJUx2wFJ8yZu0sqIn7Jkm6B6O84WrrpAstCck8c7FLI,5621
|
|
23
|
+
rowan/workflows/conformer_search.py,sha256=rzarx3PKRM2rf9x1F17Jg8ZCed7_3-yEBan4g0b2HK4,9868
|
|
24
24
|
rowan/workflows/constants.py,sha256=el8jWE9gnGTLNWn5_n_V0H362vIRneOqgy7BOQ8CScg,575
|
|
25
25
|
rowan/workflows/descriptors.py,sha256=rGrNca6kA4SzX5BAOjP6rE91MOLTvCWSYKF_LW2Z0y4,2963
|
|
26
26
|
rowan/workflows/docking.py,sha256=wmE7QJu1uDHBDynTT1XesXXAZtpB6xLjZUKsHOQyCcU,7386
|
|
@@ -34,24 +34,24 @@ rowan/workflows/irc.py,sha256=BH6s0rJEQ3G5yN5mOOSGfiZCf-i6YZNUgtK2-m-gmdo,7491
|
|
|
34
34
|
rowan/workflows/macropka.py,sha256=YkXoPiyou6nAoBheES0endsqNdi_kclwlIscTljNuKI,5723
|
|
35
35
|
rowan/workflows/membrane_permeability.py,sha256=oIDmB8qF_K_Kesv7o_FiljAk4dpptEeOjoxtMvl1gSw,4612
|
|
36
36
|
rowan/workflows/msa.py,sha256=V3B1SyWPR8MT306hh9W-T9JTpi_E-XgAIeF9yRQZ7tI,5075
|
|
37
|
-
rowan/workflows/multistage_optimization.py,sha256=
|
|
37
|
+
rowan/workflows/multistage_optimization.py,sha256=9PbLHOXtM2TLCVl_ZY7JH6QCUudHWTn4R14_KsZF-v8,6840
|
|
38
38
|
rowan/workflows/nmr.py,sha256=hergJdsiawKj7iV-jHxDOS03n_EnZcaCIt_ZTl34-JY,5183
|
|
39
39
|
rowan/workflows/pka.py,sha256=TCFSE5HI5JLPslKdbUvJe4IxrVaLExrI_3PnDfXtxTw,8691
|
|
40
40
|
rowan/workflows/pocket_detection.py,sha256=aGHY0puxekp4c4nsNYHcvKCe1fsetygL04BcSvNFvE8,3864
|
|
41
41
|
rowan/workflows/pose_analysis_md.py,sha256=UvotLhWv0_VAkKteZboOutDry7l-Zt1K6_SBx3EXqgM,9530
|
|
42
|
-
rowan/workflows/protein_binder_design.py,sha256=
|
|
42
|
+
rowan/workflows/protein_binder_design.py,sha256=OW4GG1cBWzPhM-2MomSsV99ZzMiivMGZdxim9SmFPw4,8681
|
|
43
43
|
rowan/workflows/protein_cofolding.py,sha256=D2PVwL51H3traml1JDG-9jU3R0E29AdfR9Bk0tLX1Zw,14093
|
|
44
44
|
rowan/workflows/protein_md.py,sha256=_n0IdmTQsunbP1geF-wUjXNMKNYV-ngmAPEMJlj0dkI,7021
|
|
45
45
|
rowan/workflows/rbfe_graph.py,sha256=PLqzBRkxD7tPdBViYJZjgaCP8aA2UXKc9dD4odx5XUo,5788
|
|
46
|
-
rowan/workflows/redox_potential.py,sha256=
|
|
46
|
+
rowan/workflows/redox_potential.py,sha256=SBV1n6RXh4_vVVaEFpJx3iru_3UAOwDNgqOi8K6eHkU,5382
|
|
47
47
|
rowan/workflows/relative_binding_free_energy_perturbation.py,sha256=uxC3Rr63U6GjNa9u2Hurahu48l4rYEz5RQX4hV0D250,13456
|
|
48
48
|
rowan/workflows/scan.py,sha256=KQm58utOxs6qIpX1Jv3usoUpkVHeLw4mKCs8RTUkRhk,5696
|
|
49
49
|
rowan/workflows/solubility.py,sha256=9-zHEHkf4AgGNDCE3x1S-6wTgwxVm4ihRmh0kwLvPFs,8594
|
|
50
50
|
rowan/workflows/solvent_dependent_conformers.py,sha256=ovvnhCE4xlkpdhccLHEq7oBJRI2-rHmZ-7_ewGECerM,7020
|
|
51
|
-
rowan/workflows/spin_states.py,sha256=
|
|
52
|
-
rowan/workflows/strain.py,sha256=
|
|
53
|
-
rowan/workflows/tautomer_search.py,sha256=
|
|
54
|
-
rowan_python-3.0.
|
|
55
|
-
rowan_python-3.0.
|
|
56
|
-
rowan_python-3.0.
|
|
57
|
-
rowan_python-3.0.
|
|
51
|
+
rowan/workflows/spin_states.py,sha256=c0y2cwO9NE8DmxmQ9ZouA5QoBhxgZiTYFIqhC-geVAo,7382
|
|
52
|
+
rowan/workflows/strain.py,sha256=N-CoOT-hjYzjYTMYR9Uzoy4EhnrLQEOeDNSNphsUIXQ,6380
|
|
53
|
+
rowan/workflows/tautomer_search.py,sha256=GB96BjvVsJDgLCTH4S4nkAlBoCvKud_18Y3PTY9Q528,5779
|
|
54
|
+
rowan_python-3.0.10.dist-info/METADATA,sha256=YmNtnjgDWfXkYpKxuCNfZLHt6uC_YBQTvq9J7Rubt2A,1601
|
|
55
|
+
rowan_python-3.0.10.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
56
|
+
rowan_python-3.0.10.dist-info/licenses/LICENSE,sha256=i05z7xEhyrg6f8j0lR3XYjShnF-MJGFQ-DnpsZ8yiVI,1084
|
|
57
|
+
rowan_python-3.0.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|