Solubility
Solubility workflow - predict molecular solubility in various solvents.
SolubilityValue
dataclass
Solubility measurement at a specific temperature.
Attributes:
| Name | Type | Description |
|---|---|---|
temperature |
float
|
temperature in Kelvin |
solubility |
float
|
solubility in log(mol/L) |
uncertainty |
float | None
|
uncertainty in the solubility prediction |
SolubilityEntry
dataclass
Solubility results for a single solvent.
Attributes:
| Name | Type | Description |
|---|---|---|
solvent |
str
|
solvent SMILES |
values |
tuple[SolubilityValue, ...]
|
solubility values at each temperature |
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[SolubilityResult]
Submits a solubility workflow to the API.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
initial_smiles
|
SMILES
|
molecule with SMILES for solubility prediction |
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
|
destination folder |
None
|
max_credits
|
int | None
|
maximum credits for the workflow |
None
|
webhook_url
|
str | None
|
URL that Rowan will POST to when the workflow completes |
None
|
is_draft
|
bool
|
save as a draft without starting execution |
False
|
Returns:
| Type | Description |
|---|---|
Workflow[SolubilityResult]
|
submitted workflow |
Raises:
| Type | Description |
|---|---|
ValueError
|
molecule has no SMILES, or solvents/temperatures are incompatible with the method |
HTTPStatusError
|
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 |