# Molclaw Prolif Docking

> ProLIF docking-pose analysis skill for batch interaction fingerprints and interaction count summaries.

- Skill: `internscience/molclaw-prolif-docking` (Agent Skill)
- Install (CLI): `npx skillmds@latest add internscience/molclaw-prolif-docking`
- Raw SKILL.md: https://api.skillmd.com/api/skills/internscience/molclaw-prolif-docking/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT license
- Author: internscience (https://skillmd.com/u/internscience)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/internscience/molclaw-prolif-docking

---


# 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`

```text
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`

```python
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

```python
# 1) Main mode
{
    "protein_path": "relative/path/to/receptor.pdb",
    "ligand_paths": [
        "relative/path/to/docking_poses.sdf"
    ],
    "ligand_format": "sdf"
}

# 2) Variant mode
{
    "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
}
```

