
Identify protein pockets and ligand binding sites with druggability scores. Learn more
Input
What is fpocket?
fpocket is an open-source protein pocket detection algorithm that identifies ligand binding sites using Voronoi tessellation and alpha sphere geometry.
The software analyzes protein structures to locate and characterize cavities and clefts where small molecules can bind. The algorithm ranks detected pockets by druggability and provides geometric and physicochemical descriptors.
Traditional binding site detection methods often rely on grid-based approaches or require ligand-bound structures as templates. fpocket instead uses geometric principles to identify pockets directly from protein coordinates, making it applicable to both bound and unbound (apo) protein structures.
The algorithm achieves 94% detection accuracy within the top three ranked pockets while executing in under 3 seconds per structure.
Applications
- Virtual screening: Identifying druggable pockets before molecular docking campaigns
- Cryptic pocket discovery: Detecting transient or induced-fit binding sites in apo structures
- Protein function annotation: Predicting functionally important cavities in novel protein structures
- Structure-based design: Guiding where to position ligands for AutoDock Vina or GNINA docking studies
How to use fpocket online
ProteinIQ runs fpocket 4.2.3 through a web interface without command-line installation. You upload a protein structure or enter a PDB ID, and the tool returns ranked pockets with geometric and chemical descriptors.
Inputs
| Input | Description |
|---|---|
Protein Structure | The target protein for pocket detection. Upload a PDB or mmCIF file, or enter a 4-character PDB ID (e.g., 1HSG) to fetch from RCSB. Maximum file size is 50 MB. |
Settings
The default settings run automatic fpocket pocket detection. Optional controls can focus the analysis on known sites, selected chains, or adjusted alpha-sphere clustering parameters.
| Setting | Default | Description |
|---|---|---|
Site mode | Automatic pocket detection | Use automatic detection, a known ligand residue, a residue-defined pocket, or a chain treated as the ligand. |
Ligand residue | Empty | Known ligand format for focused scoring, such as 1224:PU8:A. |
Pocket residues | Empty | Dot-separated residue tokens for an explicit pocket, such as 107::A.138::A.51::A. |
Model number | 0 | Preserve fpocket's default model handling or select a model explicitly. For PDB, 0 reads all models into one calculation; for mmCIF, fpocket maps 0 to model 1. |
Chain filter | All chains | Keep or drop compact chain lists such as A,C or B,D. |
Structure output | fpocket default | Choose fpocket's default structure output mode, PDB only, mmCIF only, or both. |
Alpha sphere radius | 3.4 to 6.2 | Minimum and maximum alpha sphere radii used during candidate sphere filtering. |
Minimum spheres per pocket | 15 | Minimum alpha spheres required for a detected pocket. |
Minimum apolar sphere ratio | 0 | Minimum apolar alpha sphere ratio for retained pockets. |
Clustering distance | 2.4 | Distance threshold used when clustering alpha spheres into pockets. |
Clustering method | Single linkage | Hierarchical clustering method for pocket grouping. |
Distance measure | Euclidean | Distance metric used by clustering. |
Apolar alpha spheres threshold | 3 | Threshold for apolar alpha sphere count during pocket detection. |
Monte Carlo volume iterations | 300 | Iterations used for volume estimation. |
Results
fpocket returns a ranked table of detected pockets with the standard descriptors written to the *_info.txt report.
| Column | Description |
|---|---|
Pocket | Pocket rank, where 1 is the top-ranked predicted site. |
Score | Overall fpocket pocket score derived from geometric and physicochemical descriptors. |
Drug Score | Druggability score estimating suitability for small-molecule binding. |
Volume (A^3) | Pocket volume in cubic angstroms. |
Apolar SASA (A^2) | Solvent-accessible surface area assigned to apolar pocket surface. |
Polar SASA (A^2) | Solvent-accessible surface area assigned to polar pocket surface. |
Alpha Spheres | Number of alpha spheres assigned to the pocket. |
Total SASA (A^2) | Total solvent-accessible surface area of the pocket. |
Mean Local Hydrophobic Density | Average local hydrophobic density around pocket alpha spheres. |
Mean Alpha Sphere Radius | Mean radius of alpha spheres assigned to the pocket. |
Mean Alpha Sphere Solvent Access | Average solvent accessibility of pocket alpha spheres. |
Apolar Alpha Sphere Proportion | Fraction of alpha spheres classified as apolar. |
Hydrophobicity Score | Aggregate pocket hydrophobicity descriptor reported by fpocket. |
Volume Score | fpocket's internal volume-related score term. |
Polarity Score | Integer polarity descriptor based on lining residue properties. |
Charge Score | Integer net charge descriptor at pH 7 from lining residues. |
Polar Atoms (%) | Percentage of pocket atoms classified as polar. |
Alpha Sphere Density | Pocket density descriptor based on alpha sphere spacing. |
Centroid-Alpha Sphere Max Dist | Distance from the pocket center of mass to the farthest alpha sphere. |
Flexibility | fpocket flexibility descriptor derived from B-factors. |
The Files tab includes the fpocket-generated artifacts for the run, including the *_info.txt report, combined pocket structures, per-pocket coordinate files, visualization scripts, and a CSV export of the spreadsheet values.
Interpreting druggability scores
The druggability score is a value from 0 to 1 calculated by fpocket 4.2.3 with a logistic function over selected pocket descriptors. A value above 0.5 indicates that binding by a drug-like molecule may be plausible; it is not a validated target classification or an affinity prediction. A low score does not mean that peptides, cofactors, or other molecule classes cannot bind.
Interpret the score alongside pocket geometry, chemistry, structural context, and experimental evidence. Changing fpocket's default detection parameters can also reduce the applicability of the trained druggability model.
How does fpocket work?
fpocket employs alpha sphere theory based on computational geometry. An alpha sphere is defined as a sphere that touches exactly four protein atoms on its boundary while containing no atoms in its interior. These spheres naturally concentrate in protein cavities and clefts, making them ideal markers for binding site detection.
Voronoi tessellation
The algorithm begins by computing a Voronoi decomposition of 3D space around the protein using the Qhull library. Voronoi vertices—points equidistant from four neighboring atoms—correspond to potential alpha sphere centers. fpocket filters these vertices by radius, discarding spheres too small (tight atomic packing in the protein core) or too large (solvent-exposed surface regions).
The default radius range is 3.4–6.2 Å, optimized for typical small molecule binding sites. This geometric criterion eliminates ~80% of candidate spheres before clustering.
Clustering algorithm
fpocket groups neighboring alpha spheres into pockets using a three-pass clustering procedure:
- Rough segmentation: Initial clusters form from spheres within 3.3 Å of each other
- Center-of-mass aggregation: Small clusters merge if their centers lie within 4.5 Å
- Multiple linkage: Final refinement connects clusters sharing boundary spheres
This hierarchical approach handles irregular pocket geometries better than single-threshold methods. The algorithm leverages Qhull's neighbor lists to avoid pairwise distance calculations, achieving near-linear runtime scaling.
Scoring function
fpocket 4.2.3 calculates the pocket-ranking score as a signed linear combination of five descriptors:
| Descriptor | Coefficient |
|---|---|
| Normalized alpha sphere count | +29.78270 |
| Normalized apolar alpha sphere proportion | -4.06632 |
| Normalized mean local hydrophobic density | +11.72346 |
| Polarity score | +1.16349 |
| Alpha sphere density | -2.06835 |
The source formula also includes an intercept of -0.65784. These coefficients explain the ordering produced by this release; they should not be treated as independent biological effect sizes.
Descriptor calculation
Beyond the scoring function, fpocket computes additional physicochemical properties:
- Volume: Calculated from the union of alpha spheres using numerical integration
- SASA decomposition: Solvent-accessible surface area partitioned by residue hydrophobicity
- Charge: Net electrostatic character from charged residue contributions
- Residue composition: Count of each amino acid type lining the pocket
These descriptors enable users to assess pockets beyond the druggability score alone.
Performance characteristics
Benchmark studies on the PocketPicker dataset (48 diverse proteins) demonstrate:
- Bound structures: 83% rank-1 accuracy, 92% rank-3 accuracy
- Unbound structures: 69% rank-1 accuracy, 94% rank-3 accuracy
- Speed: Under 3 seconds per structure on a single CPU core
On the Astex Diverse set (85 high-quality pharmaceutical complexes):
- Rank-1 detection: 67–73% depending on pocket size
- Rank-3 detection: 82–88%
The algorithm outperforms CAST, PASS, SURFNET, and LIGSITE at rank-3 while executing 10–100× faster than grid-based competitors. This speed advantage enables proteome-scale screening applications.
Limitations
- Shallow pockets: Surface grooves lacking depth may score poorly despite biological relevance
- Induced-fit sites: Pockets requiring significant backbone rearrangement upon ligand binding may remain undetected in apo structures
- Allosteric sites: Cryptic pockets distant from the protein surface often fall below detection thresholds
- Protein-protein interfaces: Extended, relatively flat interaction surfaces score lower than compact small molecule binding sites
Related tools

AF2BIND
AF2BIND predicts ligand-binding residues from a protein structure using AlphaFold2 pair representations and a 20-residue bait sequence.

SPRINT
Rank a compound library against one protein target with SPRINT protein and ligand co-embeddings and native cosine similarity.

Lipinski's rule of 5
Lipinski's Rule of Five predicts whether compounds will be orally bioavailable by evaluating molecular weight, LogP, hydrogen bond donors, and acceptors.

NetSolP-1.0
Predict protein solubility and usability for E. coli expression using ESM protein language models

ADMET-AI
Predict ADMET (Absorption, Distribution, Metabolism, Excretion, Toxicity) properties from SMILES strings using machine learning models trained on Therapeutics Data Commons datasets.

Admetica
Predict 22 ADMET properties from SMILES strings with the native Admetica Chemprop models from Datagrok.

Brenk filter
Identify toxic, reactive, and pharmacokinetically problematic molecular fragments using structural alert patterns

eToxPred
Predict toxicity and synthetic accessibility of small molecules using machine learning. eToxPred combines toxicity risk assessment with synthetic accessibility scoring to help prioritize drug candidates.

Lead-likeness filter
Screen for lead-like compounds using stricter molecular descriptor criteria than Lipinski or Veber rules for early-stage drug discovery

PAINS filter
Screen compounds for Pan-Assay Interference patterns that cause false positives in biological assays