# Molclaw Hdock Tool

> Run HDOCKlite docking for protein complexes and return run directories with ranked models.

- Skill: `internscience/molclaw-hdock-tool` (Agent Skill)
- Install (CLI): `npx skillmds@latest add internscience/molclaw-hdock-tool`
- Raw SKILL.md: https://api.skillmd.com/api/skills/internscience/molclaw-hdock-tool/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-hdock-tool

---


# HDOCK Protein Docking

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.

## Usage


### 1. HDOCK Protein Docking

The description of tool *hdock_tool*.

```tex
Run HDOCKlite protein-protein/protein-peptide docking and return the unique run directory, key files, and summary metrics for structure-based screening workflows. Inputs must be non-degenerate PDB coordinate files; SDF/PDBQT inputs are rejected before HDOCK is launched. The server chooses the output directory and may remap the partner chain in its internal copy to avoid receptor/partner chain collisions.
Args:
    receptor (str): Receptor PDB file path.
    ligand (str): Ligand or partner PDB file path.
    nmax (int): Number of docking models to generate (default 100).
    no_complex (bool): Disable complex structure generation (default False).
    angle (int): Rotation sampling interval in degrees (default 15).
    rsite (str|None): Optional receptor binding-site residue file.
    lsite (str|None): Optional ligand binding-site residue file.
Return:
    status (str): success, partial_success, or error execution status.
    msg (str): Human-readable execution summary.
    output_dir (str): Unique run directory under tool_result/hdock_tool_result.
    receptor (str): Resolved receptor input path.
    ligand (str): Resolved ligand input path.
    nmax (int): Effective model count upper bound used.
    no_complex (bool): Effective no-complex flag used.
    angle (int): Effective angle parameter used.
    rsite (str|None): Effective receptor site file used.
    lsite (str|None): Effective ligand site file used.
    output_files (dict): Key generated file paths such as Hdock.out, topN.pdb, and best models.
    partner_chains (List[str]): Partner chain IDs present in generated complex models. For protein-peptide complexes, pass output_files["best_model_pdb"] and partner_chains[0] to interaction_visualizer(mode="peptide").
    metrics (dict): Summary metrics including generated model count and best docking score when available.
```

#### Scoring Interpretation (HDOCK)

- HDOCK Docking Score is a relative ranking score. Values are usually negative, and more negative means better predicted binding.
- The score combines shape complementarity (FFT search), electrostatic interactions, and desolvation-like energy terms.
- `model_1.pdb` is the top-ranked pose generated by `createpl`; `model_2.pdb` to `model_10.pdb` are sorted from better to worse by docking score.
- Do not interpret HDOCK score as an absolute binding free energy in kcal/mol. Use it for within-run pose ranking and candidate prioritization.
- For peptide/protein docking, use `interaction_visualizer` in `peptide` mode on `output_files["best_model_pdb"]` with `partner_chain = result["partner_chains"][0]`. Do not send HDOCK peptide models to `analyze_protein_ligand_interactions`, which is for HETATM small molecules.

How to use tool *hdock_tool* :

```python
response = await client.session.call_tool(
    "hdock_tool",
    arguments={
        "receptor": "/path/to/receptor.pdb",
        "ligand": "/path/to/ligand.pdb",
        "nmax": 10,
        "angle": 15
    }
)
result = client.parse_result(response)
key_output = result["output_dir"]

```

#### Example parameter sets

```python
# 1) Main mode: basic docking run (from README/test flow)
{
    "receptor": "/path/to/receptor.pdb",
    "ligand": "/path/to/ligand.pdb",
    "nmax": 10,
    "angle": 15,
    "no_complex": False
}

# 2) Variant mode: light sampling with complex generation disabled and defined sites
{
    "receptor": "/path/to/receptor.pdb",
    "ligand": "/path/to/ligand.pdb",
    "nmax": 5,
    "angle": 10,
    "no_complex": True,
    "rsite": "/path/to/rsite.txt",
    "lsite": "/path/to/lsite.txt"
}

# 3) Variant mode: exhaustive sampling with default complex outputs
{
    "receptor": "/path/to/receptor.pdb",
    "ligand": "/path/to/ligand.pdb",
    "nmax": 100,
    "angle": 15
}
```

