Skip to content

Solvent-Dependent Conformers

Solvent-dependent conformers workflow - conformer search with multi-solvent scoring.

SolventDependentConformerProperties dataclass

SolventDependentConformerProperties(
    solvent_accessible_surface_area: float,
    polar_solvent_accessible_surface_area: float,
    radius_of_gyration: float,
)

Conformer ensemble properties for a single solvent.

Parameters:

Name Type Description Default
solvent_accessible_surface_area float

Average SASA (A^2).

required
polar_solvent_accessible_surface_area float

Average polar SASA for non-C/H atoms (A^2).

required
radius_of_gyration float

Radius of gyration (A).

required

SolventDependentConformer dataclass

SolventDependentConformer(
    calculation_uuid: str,
    free_energy_by_solvent: dict[Solvent, float],
    relative_free_energy_by_solvent: dict[Solvent, float],
    population_by_solvent: dict[Solvent, float],
)

A single conformer scored across multiple solvents.

Parameters:

Name Type Description Default
calculation_uuid str

UUID of the underlying calculation.

required
free_energy_by_solvent dict[Solvent, float]

Absolute free energy per solvent (Hartree).

required
relative_free_energy_by_solvent dict[Solvent, float]

Free energy relative to lowest conformer per solvent (kcal/mol).

required
population_by_solvent dict[Solvent, float]

Boltzmann population per solvent (0-1).

required

SolventDependentConformersResult dataclass

SolventDependentConformersResult(
    workflow_data: dict[str, Any],
    workflow_type: str,
    workflow_uuid: str,
    complete: bool = True,
)

Bases: WorkflowResult

Result from a solvent-dependent conformers workflow.

num_conformers property

num_conformers: int

Number of conformers found.

solvents property

solvents: list[Solvent]

Solvents used for scoring.

conformers property

conformers: list[SolventDependentConformer]

Conformers with per-solvent energies and populations.

per_solvent_properties property

per_solvent_properties: dict[
    Solvent, SolventDependentConformerProperties
]

Aggregate ensemble properties per solvent (SASA, polar SASA, radius of gyration).

relative_free_energy_by_solvent property

relative_free_energy_by_solvent: dict[Solvent, float]

Relative transfer free energy by solvent (kcal/mol).

submit_solvent_dependent_conformers_workflow

submit_solvent_dependent_conformers_workflow(
    initial_molecule: StructureInput,
    solvents: list[Solvent] | None = None,
    conf_gen_settings: ConformerGenSettingsUnion | None = None,
    name: str = "Solvent-Dependent Conformers",
    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 solvent-dependent conformers workflow to the API.

Generates conformers and scores them across multiple solvents using CPCM-X, enabling prediction of solvent-dependent conformer populations and transfer free energies. The input molecule must have 3D coordinates.

Parameters:

Name Type Description Default
initial_molecule StructureInput

Molecule with 3D coordinates to perform the conformer search on.

required
solvents list[Solvent] | None

Solvents to score conformers in (rowan.Solvent enum). Defaults to hexane, octanol, chloroform, DMSO, and water.

None
conf_gen_settings ConformerGenSettingsUnion | None

Conformer generation settings. When omitted, inherits the stjames default for this workflow (currently OpenConf). Other options: rowan.ETKDGSettings, rowan.iMTDSettings, rowan.iMTDGCSettings. Set the energy window (and any other generator parameter) on this object; each type carries its own stjames default.

None
name str

Name of the workflow.

'Solvent-Dependent Conformers'
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 both folder and folder_uuid are provided.

requests.HTTPError

If the request to the API fails.