Filters
Atom filtering
It is possible to use only a subset of the atoms to compute energy maps. The atoms can be selected using the -ss flag with an MDAnalysis selection string. For example, to select only protein atoms when the PDB file contains water molecules:
poke -dvp -ss "protein" protein.pdb
The -so flag controls which atoms are written in the output trajectory. Atoms not in the -so selection are still used to compute energy maps unless removed with -ss.
Pocket filtering
Pockets can be filtered by any property or by the residues involved. The -f flag takes a Python expression; a pocket is kept only if the expression evaluates to True.
To select pockets with volume greater than 100 ų:
poke -dvp -f "volume > 100" protein.pdb
To combine conditions:
poke -dvp -f "score > 6 and enclosure > 0.5" protein.pdb
Available properties
All pocket descriptors are available in filter and sort expressions: score, volume, surface, accessible, hydrophobicity, enclosure, lengths (array of 3), n_polar_atoms, n_charged_atoms, n_apolar_atoms. Note that volume and accessible are the properties written in the Core Volume and Accessible Volume columns.
Filter functions
Function |
Description |
|---|---|
|
Check if the pocket contains at least |
|
Jaccard similarity between the pocket’s residues and the given residue IDs. |
|
Tversky similarity index with tunable weights. |
|
RMSD of the pocket atoms against the reference. Use |
|
Set of residue IDs belonging to the pocket. |
Example — keep only pockets that overlap with residues 42, 58, and 102:
poke -dvp -f "residues(42, 58, 102, min_common=2)" protein.pdb
Sorting
The -s flag sorts pockets using the same expression syntax (descending order). After sorting, -n limits the output to the first n pockets:
poke -dvp -s score -n 5 protein.pdb