Pocket Detection
SkillDev toolsUse fpocket to detect binding pockets and output their detailed properties for the input protein. This offers a more concise approach to pocket identification.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Pocket Detection skill
What this skill tells your AI
The instructions your AI receives, as published by internscience/molclaw in skills/L1_tools/molclaw-fpocket/SKILL.md and read by ahel’s review.
Note:
- Local files are not directly accessible by the server. Please upload them to the server using
molclaw-file-transferbefore execution. - For PDB file inputs, it is recommended to preprocess them using
molclaw-pdbfixerbefore execution. - Please refer to skill
molclaw-scp-serverto complete tool invocation.
The description of tool fpocket_toolkit.
Detect binding pockets in a protein structure using fpocket_toolkit.
Args:
pdb_file (str): Input PDB/mmCIF file path to scan for pockets (required)
top_n (int): Limit returned pockets to the top N by druggability score; 0 means return all (default: 0)
min_druggability (float | None): Filter out pockets below this druggability threshold (0.0~1.0); None means no filter (default: None)
verbose (bool): Request verbose descriptor parsing during the run for detailed logging (default: False)
Return:
status (str): 'success' or 'error'
msg (str): Human-readable narrative about the run
run_dir (str): Absolute directory storing this run's results
output_dir (str): Path where fpocket preserved its raw outputs
pockets (List[Dict[str, Any]]): Parsed pocket descriptors, including scores, centers, and residue contacts
pocket_count (int): Number of pockets returned after filtering
output_files (Dict[str, str]): Preserved fpocket output files such as info, pymol scripts, etc.
exported (Dict[str, str] | None): Export metadata when export_path is provided
files (Dict[str, str]): All files created under the run_dir
How to use tool fpocket_toolkit :
response = await client.session.call_tool(
"fpocket_toolkit",
arguments={
"pdb_file": pdb_file,
"top_n": top_n
}
)
result = client.parse_result(response)
pred_pockets = result["pockets"]
Here is an example of a pocket from pred_pockets:
{
"score": 0.377,
"druggability_score": 0.058,
"nb_alpha_spheres": 64,
"total_sasa": 180.518,
"polar_sasa": 91.153,
"apolar_sasa": 89.364,
"volume": 4.067,
"mean_local_hyd_density": 14.167,
"mean_alpha_sphere_radius": 3.909,
"mean_asph_solvent_access": 0.598,
"apolar_asph_proportion": 0.375,
"hydrophobicity_score": 4.8,
"polarity_score": 10.0,
"charge_score": 1.0,
"prop_polar_atoms": 40.816,
"alpha_sphere_density": 7.167,
"cent_mass_asph_max_dist": 22.004,
"flexibility": 0.0,
"pocket_id": 1,
"center_x": 2.1842,
"center_y": -59.6956,
"center_z": -4.6317,
"size_x": 20.0535,
"size_y": 30.6513,
"size_z": 22.1714,
"n_pocket_atoms": 49,
"chains": [
"A"
],
"n_residues": 15,
"residues": [
"ALA177:A",
"ARG173:A",
"ASN139:A",
"ASN183:A",
"GLN176:A",
"GLN179:A",
"GLU187:A",
"ILE37:A",
"LEU172:A",
"LYS182:A",
"PRO34:A",
"PRO38:A",
"SER41:A",
"THR186:A",
"TYR169:A"
]
}
After detecting the pockets, please comprehensively evaluate their various properties to select the optimal binding site for small-molecule ligands.
Note: The input protein structure file should be repaired before running fpocket.
Signals
- GitHub stars
- 33
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
molclaw-fpocket- Source
- github.com/internscience/molclaw