| name | molclaw-prolif-docking |
| description | ProLIF docking-pose analysis skill for batch interaction fingerprints and interaction count summaries. |
| license | MIT license |
| metadata | {"skill-author":"PJLab"} |
ProLIF Docking Pose Analysis Skill
Note:
- Local files are not directly accessible by the server. Please upload them to the server using
molclaw-file-transfer before execution.
- For PDB file inputs, it is recommended to preprocess them using
molclaw-pdbfixer before execution.
- Please refer to skill
molclaw-scp-server to complete tool invocation.
[!NOTE]
Local files are not directly accessible by the server. Please upload them to the server using molclaw-file-transfer before execution.
For PDB file inputs, it is recommended to preprocess them using molclaw-pdbfixer before execution.
Task Description
Batch-analyze multiple docking-generated binding poses and produce interaction fingerprints or interaction count summaries. Use this skill to screen binding modes and evaluate docking result quality.
Routing note: This tool is the primary choice for batch docking fingerprint comparison (≥ 2 poses). For single-structure deep analysis (one pose, one complex), use molclaw-interaction-visualizer instead — it provides Schrödinger-style 2D diagrams, PyMOL 3D renderings, and decision-ready JSON that this tool does not produce.
Input Source Mapping
| Parameter | Source Guidance |
|---|
protein_path | Generated by structure retrieval/prediction tools (e.g., retrieve_protein_structure_by_*, pred_protein_structure_esmfold, chai1_predict) or a PDB fixed by fix_pdb |
ligand_paths | Generated by docking tools (e.g., molecule_docking_quickvina_fullprocess, hdock_tool, karmadock_tool) as pose files (.sdf/.mol2/.pdbqt) |
ligand_format | Must match the upstream docking output format: sdf, mol2, or pdbqt |
template_smiles | Required when ligand_format is pdbqt to provide ligand chemistry reference |
Usage
Tool: prolif_docking
Summarize docking poses with ProLIF and return a CSV of interaction fingerprints plus summary metrics.
Args:
protein_path (str): Path to the receptor protein structure.
ligand_paths (List[str]): List of ligand pose files.
ligand_format (str): Ligand format identifier (e.g., 'sdf', 'mol2', 'pdbqt').
template_smiles (str|None): Optional template SMILES; required when ligand_format is 'pdbqt'.
interactions (List[str]|None): Optional interaction types to compute.
count (bool): If True, compute interaction counts instead of fingerprints. Default: False.
vicinity_cutoff (float|None): Optional distance cutoff for vicinity interactions.
params_json (str|None): Optional JSON parameter file path for ProLIF interaction settings.
Return:
status (str): 'success' or 'error'.
msg (str): Human-readable summary or error message.
command (str): The executed command label ('docking').
output_dir (str|None): Run-specific directory under tool_result/prolif_result.
output_file (str|None): Path to the produced CSV summary file.
n_frames (int|None): Number of processed frames where applicable.
n_interactions (int|None): Number of interaction columns in output.
frequent_interactions (List[dict]|None): High-frequency interactions (>30%) with keys 'interaction' and 'frequency'.
result_summary (dict|None): Full summary dictionary from the wrapper.
How To Use prolif_docking
response = await client.session.call_tool(
"prolif_docking",
arguments={
"protein_path": "relative/path/to/receptor.pdb",
"ligand_paths": [
"relative/path/to/pose1.sdf",
"relative/path/to/pose2.sdf"
],
"ligand_format": "sdf",
"interactions": ["Hydrophobic", "HBDonor"]
}
)
result = client.parse_result(response)
key_output = result["output_file"]
Example Parameter Sets
{
"protein_path": "relative/path/to/receptor.pdb",
"ligand_paths": [
"relative/path/to/docking_poses.sdf"
],
"ligand_format": "sdf"
}
{
"protein_path": "relative/path/to/receptor.pdb",
"ligand_paths": [
"relative/path/to/pose1.pdbqt",
"relative/path/to/pose2.pdbqt"
],
"ligand_format": "pdbqt",
"template_smiles": "CCO",
"count": True,
"vicinity_cutoff": 4.0
}