Skip to content
Agentmart
Submit a tool

drug-binding-site-definition

Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification.

Skill by learningmatter-mit

IndexedMIT★ 183
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/learningmatter-mit-drug-binding-site-definition

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification. Use this skill whenever the user mentions binding site, docking box, search box, grid box, active site definition, or pocket definition, or needs to specify where to dock ligands on a protein. Also use when the user has a protein target but needs help figuring out where to dock before running a docking skill.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/drug-binding-site-definition

What's inside

Skill name
drug-binding-site-definition
Description
Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification. Use this skill whenever the user mentions binding site, docking box, search box, grid box, active site definition, or pocket definition, or needs to specify where to dock ligands on a protein. Also use when the user has a protein target but needs help figuring out where to dock before running a docking skill.
License
MIT
Instructions
194 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (10)

  • SKILL.md
  • 1HSG_protein.pdb · examples/hiv1-protease/
  • 1HSG_raw.pdb · examples/hiv1-protease/
  • MK1_ligand.pdb · examples/hiv1-protease/
  • README.md · examples/hiv1-protease/
  • binding_site_ligand.json · examples/hiv1-protease/
  • binding_site_residues.json · examples/hiv1-protease/
  • box_visualization.png · examples/hiv1-protease/
  • define_binding_site.py · scripts/
  • visualize_box.py · scripts/

SKILL.md (first lines)

# drug-binding-site-definition

## Goal

To produce a standardized **docking / simulation box definition** (center coordinates + box dimensions in Angstroms) that downstream skills such as [drug-docking-vina](../drug-docking-vina/SKILL.md) and [drug-complex-system-builder](../drug-complex-system-builder/SKILL.md) can consume directly.

## Choosing the Right Mode

Use this decision tree to pick the appropriate approach:

```
Do you have a reference ligand positioned in the binding site?
  |-- YES --> Mode A (co-crystal ligand)
  |-- NO
       Do you know the key binding-site residues (from literature, mutagenesis, etc.)?
         |-- YES --> Mode B (residue list)
         |-- NO
              Do you have a closely related protein with a known binding site?
                |-- YES --> Superimpose structures, transfer the ligand,
                |           then use Mode A on the transferred ligand.
                |           (See "When You Have No Binding-Site Information" below.)
                |-- NO  --> Run computational pocket prediction first
                            (see "When You Have No Binding-Site Information" below),
                            then feed results into Mode A or B.
```

If you already have a saved box JSON from a prior run, use Mode C to reload it.

## Instructions

### 1. Mode A: Box from a co-crystal ligand (most common)

If you have a reference ligand already positioned in the binding site (PDB, SDF, MOL2, or PDBQT), compute the box automatically:

```bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/define_binding_site.py \
  --mode ligand \
  --ligand_file docking/inputs/reference_ligand.sdf \
  --padding 6.0 \
  --min_size 20.0 \
  --output_json docking/inputs/binding_site.json
```

Key parameters:
- `--padding`: buffer added to the ligand bounding box on each side (default 6.0 A). Use 4-5 A for tight/buried pockets, 8-10 A for shallow or allosteric sites.
- `--min_size`: minimum box edge length per axis (default 20.0 A).

The ligand **must** be in the same coordinate frame as the receptor. If it comes from a different crystal structure, superimpose first.

### 2. Mode B: Box from binding-site residues

When no co-crystal ligand is available but you know the key binding-site residues (e.g., from literature or mutagenesis data):

```bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/define_binding_site.py \
  --mode residues \
  --protein_file protein_prepared.pdb \
  --residues "A:ASP25,A:THR26,A:GLY27,A:ILE50,A:ASP124,A:THR125,A:GLY126" \
  --padding 8.0 \
  --min_size 20.0 \
  --output_json docking/inputs/binding_site.json
```

Residue format: comma-separated `chain:resname+resid` (e.g., `A:ASP25`). You can omit the chain prefix (e.g., `25,26,27,50`) only if the protein contains a **single chain**; for multi-chain structures always include the chain ID to avoid ambiguity.

### 3. Mode C: Load a saved box definition

Re-use a previously computed box:

```bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/define_binding_site.py \
  --mode json \
  --input_json docking/inputs/binding_site.json
```

This validates the JSON and prints the box to stdout for inspection.

### 4. Interpret and validate the output

The output JSON has the following schema:

```json
{
  "center_x": 16.0,
  "center_y": 25.0,
  "center_z": 2.0,
  "size_x": 22.0,
  "size_y": 24.0,
  "size_z": 20.0,
  "padding": 6.0,
  "min_size": 20.0,
  "mode": "ligand",
  "source": "reference_ligand.sdf"
}
```

All coordinates and dimensions are in Angstroms.

Always verify that the box covers the expected pocket before docking. If PyMOL is available, use the included visualization script to render the box as a wireframe overlay:

```bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu+pymol python ${CLAUDE_SKILL_DIR}/scripts/visualize_box.py \
  --protein docking/inputs/protein_prepared.pdb \
  --box docking/inputs/binding_site.json \
  --ligand_resname MK1 \
  --output docking/inputs/box_visualization.png
```

This produces a ray-traced PNG showing the protein (cartoon), ligand (yellow sticks), and docking box (red wireframe). The `--ligand_resname` flag is optional; omit it if no ligand is present.

If no viewer is available, at minimum sanity-check that the box center falls near the expected pocket by comparing coordinates to known active-site residues in the PDB.

## When You Have No Binding-Site Information

If you have a protein structure but no co-crystal ligand and no literature on binding-site residues, you need to identify candidate pockets before defining a docking box.

### Homology-based site transfer

If a homologous protein (>30% sequence identity) has a co-crystal structure, superimpose your target onto the template and extract the ligand coordinates in your target's reference frame. Then use Mode A on the transferred ligand. This is often the most reliable approach when a good template exists.

From learningmatter-mit/AtomisticSkills, MIT.

More from learningmatter-mit/AtomisticSkills

Signals

Stars
183
Forks
31
Open issues
0
Last commit (this folder)
Oct 5, 2026 (22 days ago)
Last release
Oct 6, 2026 (21 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from learningmatter-mit

Cite this page

drug-binding-site-definition skill. Agent Mart. https://agentmart.dev/skills/learningmatter-mit-drug-binding-site-definition (last updated 2026-10-24)