Skip to content

init

__all__ = ['PocketVolumeConfig', 'PocketDetectConfig']

PocketDetectConfig

Bases: BaseModel, YamlIO

clashing_cutoff: float = 3.0

In measuring the pockets, any points closer than this cutoff to receptor atoms will be removed.

n_cores: int = 1

The number of processors to use.

n_neighbors: int = 4

In measuring the pockets, any points with fewer than this number of neighbors will be deleted. These are usually just stray points that don't belong to any real pocket.

n_spheres: int = 5

The number of inclusion spheres to generate for each pocket.

pocket_detection_resolution: float = 4.0

The distance between probe points used to initially find the pockets

pocket_measuring_resolution: float = 1.0

The distance between probe points used to measure identified pockets in greater detail. Should divide --pocket_detection_resolution evenly.

sphere_padding: float = 5.0

How much larger the radius of the inclusion spheres should be, beyond what is required to encompass the identified pockets.

use_ray: bool = False

Parallelize computations with ray.

log()

Log all configuration parameters.

PocketVolumeConfig

Bases: BaseModel, YamlIO

compress_output: bool = False

Whether to compress all output files using gz compression to save disk space.

contiguous_pocket_seed_box: list[dict[str, list[float]]] = []

Seed boxes for contiguous pocket detection.

A list of dictionaries, each specifying a rectangular region. Each dictionary must have:

- `"center"` (`list[float]`): The x, y, and z coordinates of the
box's center.
- `"lengths"` (`list[float]`): The lengths of the box along the
x, y, and z axes.

contiguous_pocket_seed_sphere: list[dict[str, list[float] | float]] = []

Seed regions for contiguous pocket detection.

A list of dictionaries, each specifying a spherical region. Each dictionary must have:

- `"center"` (`list[float]`): The x, y, and z coordinates of the
sphere's center.
- `"radius"` (`float`): The radius of the sphere.

contiguous_points_criteria: int = 4

The minimum number of neighboring points required to consider two pocket volumes contiguous.

convex_hull_exclusion: bool = True

Whether to calculate the convex hull of receptor atoms near the pocket and exclude points outside it.

distance_cutoff: float = 1.09

The distance from a receptor atom's van der Waals surface below which points are excluded.

Default is 1.09 Angstroms, the van der Waals radius of a hydrogen atom.

grid_spacing: float = 1.0

The distance, in Angstroms, between adjacent points.

Smaller values improve accuracy but increase computational cost.

load_points_filename: str | None = None

Optional filename to load a previously saved point field.

Should use the .pdb.npy format.

load_points_path: str | None = None

Load points from npy file.

n_cores: int = 4

Number of processors to use for the calculation on Unix-based systems.

output_equal_num_points_per_frame: bool = False

Whether to add extra points at the origin (0.0, 0.0, 0.0) to ensure the same number of points in each frame.

points_exclusion_box: list[dict[str, list[float]]] = []

A list of rectangular prisms ('boxes') to exclude from the pocket-encompassing region.

A list of dictionaries, each specifying a rectangular region. Each dictionary must have:

- `"center"` (`list[float]`): The x, y, and z coordinates of the
box's center.
- `"lengths"` (`list[float]`): The lengths of the box along the
x, y, and z axes.

points_exclusion_sphere: list[dict[str, list[float] | float]] = []

A list of spheres to exclude from the pocket-encompassing region.

A list of dictionaries, each specifying a spherical region. Each dictionary must have:

- `"center"` (`list[float]`): The x, y, and z coordinates of the
sphere's center.
- `"radius"` (`float`): The radius of the sphere.

points_inclusion_box: list[dict[str, list[float]]] = []

A list of rectangular prisms ('boxes') to include in the pocket-encompassing region.

A list of dictionaries, each specifying a rectangular region. Each dictionary must have:

- `"center"` (`list[float]`): The x, y, and z coordinates of the
box's center.
- `"lengths"` (`list[float]`): The lengths of the box along the
x, y, and z axes.

points_inclusion_sphere: list[dict[str, list[float] | float]] = []

A list of spheres to include in the pocket-encompassing region.

A list of dictionaries, each specifying a spherical region. Each dictionary must have:

- `"center"` (`list[float]`): The x, y, and z coordinates of the
sphere's center.
- `"radius"` (`float`): The radius of the sphere.

save_individual_pocket_volumes: bool = False

Whether to save the pocket-volume points for each frame to separate PDB files.

save_pocket_volumes_trajectory: bool = False

Whether to save all pocket-volume points for each frame to a single PDB trajectory file.

save_points: bool = False

Whether to save the point field to a PDB file for visualization or reuse.

save_volumetric_density_map: bool = False

Whether to save a volumetric density map in DX format.

use_ray: bool = False

Parallelize computations with ray.

log()

Log all configuration parameters.