Skip to content

Pocket Detection

Pocket detection workflow - detect potential binding sites on a protein.

MixMDPocketDiagnostics dataclass

MixMDPocketDiagnostics(density_center: tuple[float, float, float], peak_enrichment: float, integrated_excess_density: float)

Probe enrichment for a pocket found by mixed-solvent MD.

Attributes:

Name Type Description
density_center tuple[float, float, float]

density-weighted center of the enriched region, in Å

peak_enrichment float

maximum probe density relative to bulk solvent

integrated_excess_density float

probe molecules above bulk, integrated over the region

Pocket dataclass

Pocket(sphere_centers: tuple[tuple[float, float, float], ...], sphere_radii: tuple[float, ...], volume: float, score: float, pocket_center: tuple[float, float, float], pocket_sides: tuple[float, float, float], residue_numbers: tuple[int, ...], mixmd: MixMDPocketDiagnostics | None = None)

A detected binding pocket.

Mixed-solvent MD pockets describe regions of enriched probe density, so their spheres and volume outline that region rather than the cavity.

Attributes:

Name Type Description
sphere_centers tuple[tuple[float, float, float], ...]

centers of detected spheres, in Å

sphere_radii tuple[float, ...]

radii of detected spheres, in Å

volume float

pocket volume, in ų

score float

method-specific ranking score; larger is better

pocket_center tuple[float, float, float]

center of axis-aligned bounding box, in Å

pocket_sides tuple[float, float, float]

side lengths of axis-aligned bounding box, in Å

residue_numbers tuple[int, ...]

residue numbers lining the pocket

mixmd MixMDPocketDiagnostics | None

probe-enrichment details for mixed-solvent MD pockets

MixMDReplicaDiagnostics dataclass

MixMDReplicaDiagnostics(index: int, seed: int, num_frames: int, num_probes: int, largest_probe_cluster_fraction: float | None, trajectory_uuid: str | None, topology_uuid: str | None, density_map_uuid: str | None)

One mixed-solvent MD replica.

Attributes:

Name Type Description
index int

zero-based replica index

seed int

replica random seed

num_frames int

analyzed frames; zero for a failed replica

num_probes int

probe molecules in the simulation

largest_probe_cluster_fraction float | None

mean fraction of probes in the largest cluster

trajectory_uuid str | None

UUID of the stored trajectory

topology_uuid str | None

UUID of the trajectory topology protein

density_map_uuid str | None

UUID of the stored probe-density map

MixMDResults dataclass

MixMDResults(reference_uuid: str | None, density_map_uuid: str | None, replicas: tuple[MixMDReplicaDiagnostics, ...])

Mixed-solvent MD replicas and consensus artifacts.

Attributes:

Name Type Description
reference_uuid str | None

UUID of the protein defining pocket and map coordinates

density_map_uuid str | None

UUID of the consensus probe-density map

replicas tuple[MixMDReplicaDiagnostics, ...]

per-replica results, including failed replicas

PocketDetectionResult dataclass

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

Bases: WorkflowResult

Result from a pocket-detection workflow.

pockets property

pockets: list[Pocket]

Detected pockets, in the order returned by the backend.

mixmd property

mixmd: MixMDResults | None

Mixed-solvent MD replicas and artifacts, or None for Pocketeer runs.

messages property

messages: list[Message]

Any messages or warnings from the workflow, including MixMD reliability warnings.

get_reference_protein

get_reference_protein() -> Protein | None

Fetch and cache the protein defining mixed-solvent MD pocket and map coordinates.

Returns:

Type Description
Protein | None

protein object, or None for Pocketeer runs

submit_pocket_detection_workflow

submit_pocket_detection_workflow(protein: Protein | ProteinUUID, merge_distance: float | None = None, settings: PocketeerSettings | MixMDSettings | None = None, validate_forcefield: bool = True, name: str = 'Pocket Detection 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[PocketDetectionResult]

Submits a pocket-detection workflow to the API.

Parameters:

Name Type Description Default
protein Protein | ProteinUUID

protein to analyze. Can be a UUID or a Protein object

required
merge_distance float | None

Pocketeer distance for merging pocket spheres, in Å; defaults to 1.75. Set it on PocketeerSettings instead when passing settings

None
settings PocketeerSettings | MixMDSettings | None

method settings; PocketeerSettings (default) for geometric detection or MixMDSettings for mixed-solvent molecular dynamics

None
validate_forcefield bool

validate the protein forcefield compatibility before submitting a mixed-solvent MD run. Raises an error early if the protein cannot be parameterized or has clashing residues

True
name str

name of the workflow

'Pocket Detection 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[PocketDetectionResult]

workflow object representing the submitted workflow

Raises:

Type Description
ValueError

both merge_distance and settings, or both folder and folder_uuid, are given

HTTPStatusError

request to the API fails