Pocket detection¶
POVME
simplifies pocket detection through its povme detect
CLI, which provides an intuitive and efficient way to run the detection process.
Preparing the Configuration File¶
To begin, create a YAML configuration file that will be used to update PocketDetectConfig
that defines the parameters for pocket detection.
Here is an example configuration:
pocket_detection_resolution: 4.0
pocket_measuring_resolution: 1.0
clashing_cutoff: 3.0
n_neighbors: 4
n_spheres: 5
sphere_padding: 5.0
use_ray: false
n_cores: 4
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.
Running the Command¶
Once the configuration file is ready, you can use the povme detect
command to identify pockets.
The command syntax is:
Here:
-c
specifies the path to the YAML configuration file.-i
specifies the input PDB file.-o
specifies the output directory or file prefix.
Analyzing the results¶
The povme detect
command produces a set of PDB files that comprehensively describe the detected pockets and their associated parameters.
Each PDB file contains a set of points that represent a POVME-detected pocket.
For example,
ATOM 1 A AAA A 1 35.000 19.000 30.000 A
ATOM 1 B AAA B 1 34.000 19.000 29.000 B
ATOM 2 B AAB B 2 34.000 20.000 29.000 B
ATOM 1 C AAA C 1 35.000 21.000 28.000 C
ATOM 2 C AAB C 2 36.000 20.000 27.000 C
ATOM 3 C AAC C 3 36.000 21.000 27.000 C
ATOM 4 C AAD C 4 36.000 21.000 28.000 C
ATOM 1 D AAA D 1 36.000 20.000 28.000 D
ATOM 1 E AAA E 1 35.000 20.000 29.000 E
ATOM 2 E AAB E 2 35.000 20.000 30.000 E
ATOM 3 E AAC E 3 35.000 21.000 29.000 E
ATOM 4 E AAD E 4 36.000 20.000 29.000 E
ATOM 5 E AAE E 5 36.000 21.000 29.000 E
In addition to these points, the PDB files contain remarks OF PointsInclusionSphere
parameter inputs that would encompass this pocket plus any sphere_padding
.
For example, the header of pocket1.pdb
might look like this:
REMARK CHAIN A: PointsInclusionSphere 35.0 19.0 30.0 5.0
REMARK CHAIN B: PointsInclusionSphere 34.0 19.5 29.0 5.5
REMARK CHAIN C: PointsInclusionSphere 35.75 20.75 27.5 5.94
REMARK CHAIN D: PointsInclusionSphere 36.0 20.0 28.0 5.0
REMARK CHAIN E: PointsInclusionSphere 35.4 20.4 29.2 5.98
This means we would use five inclusion spheres when computing volumes and would specify them in a povme.yml
file like so.
points_inclusion_sphere:
- center: [35.0, 19.0, 30.0]
radius: 5.0
- center: [34.0, 19.5, 29.0]
radius: 5.5
- center: [35.75, 20.75, 27.5]
radius: 5.94
- center: [36.0, 20.0, 28.0]
radius: 5.0
- center: [35.4, 20.4, 29.2]
radius: 5.98
Visualization¶
The output files can be visualized using molecular visualization tools such as PyMOL or VMD. These tools allow you to inspect the detected pockets and verify their biological relevance.