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

residues(*resids, min_common=, max_extra=)

Check if the pocket contains at least min_common residues from the given list and at most max_extra additional residues.

jaccard(*resids)

Jaccard similarity between the pocket’s residues and the given residue IDs.

tversky(*resids, a=, b=)

Tversky similarity index with tunable weights.

rmsd(selection="all")

RMSD of the pocket atoms against the reference. Use selection="CA" for Cα-only RMSD.

resids

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