Solubility
Solubility workflow - predict molecular solubility in various solvents.
SolubilityValue
dataclass
Solubility measurement at a specific temperature.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
temperature
|
float
|
Temperature in Kelvin. |
required |
solubility
|
float
|
Solubility in log(mol/L). |
required |
uncertainty
|
float | None
|
Uncertainty in the solubility prediction. |
None
|
SolubilityEntry
dataclass
Solubility results for a single solvent.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
solvent
|
str
|
Solvent SMILES. |
required |
values
|
tuple[SolubilityValue, ...]
|
Solubility values at each temperature. |
required |
SolubilityResult
dataclass
SolubilityResult(
workflow_data: dict[str, Any],
workflow_type: str,
workflow_uuid: str,
complete: bool = True,
)
Bases: WorkflowResult
Result from an aqueous-solubility workflow.
submit_solubility_workflow
submit_solubility_workflow(
initial_smiles: SMILES,
method: Literal[
"fastsolv", "kingfisher", "esol"
] = "fastsolv",
solvents: list[str] | None = None,
temperatures: list[float] | None = None,
name: str = "Solubility Workflow",
folder_uuid: str | None = None,
folder: Folder | None = None,
max_credits: int | None = None,
webhook_url: str | None = None,
is_draft: bool = False,
) -> Workflow
Submits a solubility workflow to the API.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
initial_smiles
|
SMILES
|
Molecule to calculate solubility for. Accepts a SMILES string or any molecule type (RowanMolecule, stjames.Molecule, RDKit Mol, or dict). The molecule must have a SMILES string associated with it, as solubility models are 2D/SMILES-based and do not use 3D coordinates. |
required |
method
|
Literal['fastsolv', 'kingfisher', 'esol']
|
Solubility prediction method: - "fastsolv": ML-based solid solubility. Supports arbitrary solvents and temperatures. - "kingfisher": ML-based aqueous solubility. Water only, 298.15K only. - "esol": ESOL regression for aqueous solubility. Water only, 298.15K only. |
'fastsolv'
|
solvents
|
list[str] | None
|
List of solvent names or SMILES. Common names like "ethanol", "water", "thf" are recognized (see COMMON_SOLVENTS). For fastsolv, any solvent SMILES is accepted. For kingfisher/esol, must be ["water"] or ["O"]. |
None
|
temperatures
|
list[float] | None
|
List of temperatures in Kelvin. For fastsolv, any temperatures. For kingfisher/esol, must be [298.15] (room temperature). |
None
|
name
|
str
|
Name of the workflow. |
'Solubility Workflow'
|
folder_uuid
|
str | None
|
UUID of the folder to place the workflow in. |
None
|
folder
|
Folder | None
|
Folder object to store the workflow in. |
None
|
max_credits
|
int | None
|
Maximum number of credits to use for the workflow. |
None
|
webhook_url
|
str | None
|
URL that Rowan will POST to when the workflow completes. |
None
|
is_draft
|
bool
|
If True, submit the workflow as a draft without starting execution. |
False
|
Returns:
| Type | Description |
|---|---|
Workflow
|
Workflow object representing the submitted workflow. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the molecule has no SMILES, or solvents/temperatures are incompatible with the method. |
requests.HTTPError
|
If the request to the API fails. |
submit_solubility_workflow_group
submit_solubility_workflow_group(
initial_smileses: list[SMILES],
method: Literal[
"fastsolv", "kingfisher", "esol"
] = "fastsolv",
solvents: list[str] | None = None,
temperatures: list[float] | None = None,
names: list[str] | None = None,
folder_uuid: str | None = None,
folder: Folder | None = None,
max_credits: int | None = None,
webhook_url: str | None = None,
) -> list[Workflow]
Submit a batch of solubility workflows as one submission group.
All molecules use the same method, solvents, and temperatures. A batch may contain
up to 5,000 molecules. Each molecule is represented by its own Workflow, and all
returned workflows share a submission_group_uuid. Use batch_poll_status() to
monitor their UUIDs together and retrieve_workflows() to retrieve their records.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
initial_smileses
|
list[SMILES]
|
nonempty list of up to 5,000 solute SMILES strings |
required |
method
|
Literal['fastsolv', 'kingfisher', 'esol']
|
solubility prediction method |
'fastsolv'
|
solvents
|
list[str] | None
|
solvent names or SMILES strings |
None
|
temperatures
|
list[float] | None
|
temperatures in Kelvin |
None
|
names
|
list[str] | None
|
optional workflow names; when provided, one per SMILES string |
None
|
folder_uuid
|
str | None
|
UUID of the folder in which to store the workflows |
None
|
folder
|
Folder | None
|
folder in which to store the workflows |
None
|
max_credits
|
int | None
|
maximum credits to use per workflow |
None
|
webhook_url
|
str | None
|
URL Rowan will POST to when each workflow completes |
None
|
Returns:
| Type | Description |
|---|---|
list[Workflow]
|
submitted workflows in one submission group |