Agent skill

Drug Binding Site Definition

by learningmatter-mit in learningmatter-mit/AtomisticSkills

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

MITAuto-check passedResearch & Science

Install Drug Binding Site Definition

skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill drug-binding-site-definition -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install learningmatter-mit/AtomisticSkills drug-binding-site-definition --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/learningmatter-mit/AtomisticSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/drug-binding-site-definition .claude/skills/drug-binding-site-definition && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
drug-binding-site-definition
GitHub stars
176
Token cost
~2.9k tokens
SKILL.md length
1,162 words
Files
10 (incl. scripts)
Skills in repo
129
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 4 steps: Mode A: Box from a co-crystal ligand… → Mode B: Box from binding-site residues → Mode C: Load a saved box definition → …
  • The user mentions binding site
  • SKILL.md covers Goal, Choosing the Right Mode, Instructions and When You Have No Binding-Site…, plus 5 more sections
  • Runs Python scripts from its folder

What it does

Drug Binding Site Definition is an agent skill from learningmatter-mit/AtomisticSkills. 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.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts (for example `examples/hiv1-protease/README.md`, `examples/hiv1-protease/binding_site_ligand.json` and `examples/hiv1-protease/binding_site_residues.json`).

It sits in Research & Science. The repository describes itself as: Integrating AtomisticSkills into Agentic IDEs (Cursor, Claude Code, Codex, Google Antigravity, Hermes Agent, etc). The licence is MIT.

When your agent uses it

  • The user mentions binding site
  • Active site definition
  • Pocket definition
  • Needs to specify where to dock ligands on a protein

Example prompts

  • “/drug-binding-site-definition”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Mode A: Box from a co-crystal ligand (most common)
  2. Mode B: Box from binding-site residues
  3. Mode C: Load a saved box definition
  4. Interpret and validate the output

What it can do on your machine

Read from SKILL.md and the folder at commit 6257444. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • doi.org
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Drug Binding Site Definition loads about 2.9k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 1,162 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~125
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from learningmatter-mit/AtomisticSkills at commit 6257444, republished under its MIT licence (© learningmatter-mit). 1,162 words, ~2,900 tokens.

Download SKILL.mdSave it as .claude/skills/drug-binding-site-definition/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
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.
metadata.category
drug-discovery
metadata.venv
cpu

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 and drug-complex-system-builder 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.

Computational pocket prediction

Open-source tools can identify probable binding pockets from protein geometry alone:

  • fpocket (recommended, lightweight): identifies pockets via Voronoi tessellation and alpha spheres. Run it, pick the top-ranked pocket, extract its residues, and feed them into Mode B.
  • P2Rank: ML-based pocket predictor, often more accurate than fpocket on benchmarks.
  • DoGSiteScorer: web-based alternative if local tools are not available.

Pocket prediction is a starting point, not ground truth. Always cross-reference predicted sites against any available functional data (conservation scores, mutagenesis, known mechanism) before committing to a docking box.

Blind docking (last resort)

If no structural or functional clues exist, you can define a box that covers the entire protein surface. This is computationally expensive and less reliable. To generate a whole-protein box, use Mode B with all surface residues, or manually set a large box (40-60 A per side) centered on the protein centroid. Treat blind docking results as hypothesis-generating, not definitive.

Special Considerations

  • AlphaFold / predicted structures: These lack experimental ligand density and may have unreliable loop conformations near potential pockets. Use wider padding (8-10 A), cross-reference with pocket prediction tools, and check pLDDT confidence scores (regions with pLDDT < 70 near the pocket boundary are a red flag).
  • Multiple binding sites: Many targets (kinases, GPCRs, allosteric enzymes) have more than one druggable pocket. Run the skill separately for each site, producing one JSON per pocket (e.g., binding_site_orthosteric.json, binding_site_allosteric.json).
  • Covalent binding sites: Center the box on the reactive residue (e.g., a catalytic cysteine) using Mode B with that residue as the anchor, plus neighboring pocket residues. Use tighter padding (4-5 A).
  • Oligomeric interface sites: Some binding sites span the interface between protein chains (e.g., the HIV-1 protease active site spans a homodimer interface). Make sure the input structure contains the full biological assembly, not just a single chain.
  • Membrane proteins: For GPCRs, ion channels, and other membrane-embedded targets, the docking box may extend into the lipid bilayer region. Constrain the box to avoid the transmembrane region unless the binding site is intramembrane (e.g., some GPCR orthosteric sites).
  • Flexible / cryptic pockets: Some pockets only form upon ligand binding or conformational change. A static docking box cannot capture these. Consider ensemble docking across multiple conformations (e.g., from MD snapshots) with separate box definitions for each conformer.
Show full SKILL.md (366 more words)Show less

Examples

Example: HIV-1 protease (PDB 1HSG), box from co-crystal ligand

This target is a homodimer; make sure you use the biological assembly containing both chains.

bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/define_binding_site.py \
  --mode ligand \
  --ligand_file hiv_docking/inputs/indinavir_ref.sdf \
  --padding 6.0 \
  --output_json hiv_docking/inputs/binding_site.json
Example: Box from known active-site residues
bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/define_binding_site.py \
  --mode residues \
  --protein_file hiv_docking/inputs/1HSG_prepared.pdb \
  --residues "A:ASP25,A:THR26,A:GLY27,A:ALA28,A:ILE50" \
  --padding 8.0 \
  --output_json hiv_docking/inputs/binding_site.json

Troubleshooting

  • "No atom coordinates found in <file>": The ligand file is empty or in an unsupported format. Verify the file has atoms (grep "^HETATM" ligand.pdb | wc -l for PDB, or open in a viewer). Convert to SDF using Open Babel if needed: obabel ligand.mol2 -O ligand.sdf.
  • "No atoms found for residues: ...": The residue ID does not match the PDB numbering. Check for insertion codes (e.g., 27A), non-standard numbering, or mismatched chain IDs. Run grep "^ATOM" protein.pdb | awk '{print $5, $6}' | sort -u to see available chain + residue ID combinations.
  • Box is unexpectedly large or offset: Common causes include alternate conformations (altlocs) inflating the bounding box, or the ligand file containing multiple poses/conformers. Keep only the relevant conformer (altloc A) and a single ligand pose before defining the box.
  • Box extends outside the protein: Usually means the padding is too large relative to the pocket. Reduce --padding or verify that the ligand/residues are actually in the pocket you intended.

Constraints

  • Environment: Requires cpu (cpu+pymol for visualize_box.py).
  • Ligand mode: Accepts PDB, SDF, MOL2, and PDBQT formats. The ligand must already be positioned in the receptor coordinate frame.
  • Residue mode: The protein file must be a PDB with standard residue numbering. Non-standard residue IDs or insertion codes may require explicit chain:resid specification.
  • Box sizing: For standard docking, 20-25 A per axis is typical. Boxes larger than 30 A significantly increase Vina runtime and reduce pose accuracy (Feinstein & Brylinski, 2015). Blind docking with boxes of 40-60 A is possible but should be treated as exploratory.

References

  • Feinstein, W. P.; Brylinski, M. Calculating an Optimal Box Size for Ligand Docking and Virtual Screening against Experimental and Predicted Binding Pockets. J. Cheminform. 2015, 7, 18. https://doi.org/10.1186/s13321-015-0067-5
  • Le Guilloux, V.; Schmidtke, P.; Tuffery, P. Fpocket: An Open Source Platform for Ligand Pocket Detection. BMC Bioinformatics 2009, 10, 168. https://doi.org/10.1186/1471-2105-10-168
  • Krivak, R.; Hoksza, D. P2Rank: Machine Learning Based Tool for Rapid and Accurate Prediction of Ligand Binding Sites from Protein Structure. J. Cheminform. 2018, 10, 39. https://doi.org/10.1186/s13321-018-0285-8

Author: Matthew Cox Contact: GitHub @mcox3406

© learningmatter-mit, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (scripts) in skills/drug-binding-site-definition of learningmatter-mit/AtomisticSkills.

  • SKILL.md
  • examples/hiv1-protease/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
  • scripts/define_binding_site.py
  • scripts/visualize_box.py

Open the folder on GitHubat commit 6257444

Compare with similar skills

Drug Binding Site Definition next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Drug Binding Site Definition compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Drug Binding Site Definition this skilllearningmatter-mit/AtomisticSkills176—~2.9kAutomated safety check: PassMIT
Hypothesis Generationspacering-net/codeg3.8k15 repos~3.6kAutomated safety check: NotesMIT
GitHub Deep Researchbytedance/deer-flow83k5 repos~1.3kAutomated safety check: PassMIT
Nature Paper CardYuan1z0825/nature-skills46k2 repos~2.1kAutomated safety check: PassApache-2.0
Read arXiv Paperkarpathy/nanochat58k2 repos~494Automated safety check: PassMIT
Content Research Writerweapp-tailwindcss/weapp-tailwindcss1.9k25 repos~3.5kAutomated safety check: PassMIT

Similar skills

  • Hypothesis Generation

    spacering-net/codeg

    Structured hypothesis formulation from observations. An agent skill from spacering-net/codeg.

    3.8k GitHub starsUsed in 15 repos~3.6k tokens
    Research & ScienceAuto-check: notes
  • GitHub Deep Research

    bytedance/deer-flow

    Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.

    83k GitHub starsUsed in 5 repos~1.3k tokens
    Research & ScienceAuto-check passed
  • Nature Paper Card

    Yuan1z0825/nature-skills

    Builds a structured deep-reading card for one scientific paper, covering methods, how experiments support claims, limitations and research ideas, with a script to prepare the source.

    46k GitHub starsUsed in 2 repos~2.1k tokens
    Research & ScienceAuto-check passed
  • Read arXiv Paper

    karpathy/nanochat

    Fetches the TeX source of an arXiv paper from its URL, reads it and writes a markdown summary tied to the nanochat project.

    58k GitHub starsUsed in 2 repos~494 tokens
    Research & ScienceAuto-check passed
  • Content Research Writer

    weapp-tailwindcss/weapp-tailwindcss

    Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.

    1.9k GitHub starsUsed in 25 repos~3.5k tokens
    Research & ScienceAuto-check passed
  • Peer Review

    spacering-net/codeg

    Structured manuscript/grant review with checklist-based evaluation.

    3.8k GitHub starsUsed in 18 repos~5.9k tokens
    Research & ScienceAuto-check: notes

More from learningmatter-mit/AtomisticSkills

All 129 skills in this repo
  • Drug Complex System Builder

    learningmatter-mit/AtomisticSkills

    Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation.

    176 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Drug Pocket Detection

    learningmatter-mit/AtomisticSkills

    Identify and rank ligandable pockets on a protein structure or model using geometry (fpocket) or an ML predictor (P2Rank).

    176 GitHub stars~4k tokensUpdated yesterday
    Auto-check passed
  • Chem Bond Dissociation

    learningmatter-mit/AtomisticSkills

    Calculate homolytic and heterolytic bond dissociation energies (BDEs) for all single bonds in a molecule using MLIPs with RDKit fragmentation.

    176 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Chem Conformer Search

    learningmatter-mit/AtomisticSkills

    Generate molecular conformers with RDKit ETKDG, relax with MLIPs, and rank by energy with Boltzmann weighting.

    176 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Chem DB Mof

    learningmatter-mit/AtomisticSkills

    Query multiple MOF databases (QMOF via MPContribs; ARC-MOF DB7/Majumdar et al.

    176 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Chem DB Qmof

    learningmatter-mit/AtomisticSkills

    Query the Quantum MOF (QMOF) database via Materials Project's MPContribs platform for DFT-computed properties (bandgap) and optimized crystal structures of Metal-Organic Frameworks.

    176 GitHub stars~670 tokensUpdated yesterday
    Auto-check passed

Questions about Drug Binding Site Definition

What does Drug Binding Site Definition do?

Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification. Drug Binding Site Definition is an agent skill from learningmatter-mit/AtomisticSkills. Define a docking search box (center coordinates + box dimensions in Angstroms) from a co-crystal ligand, binding-site residues, or a saved JSON specification.

When should I use Drug Binding Site Definition?

Drug Binding Site Definition fits situations like: the user mentions binding site; active site definition; pocket definition; needs to specify where to dock ligands on a protein.

How do I install Drug Binding Site Definition in Claude Code?

Run `npx skills add learningmatter-mit/AtomisticSkills --skill drug-binding-site-definition -a claude-code`. Or copy the skill folder (skills/drug-binding-site-definition in learningmatter-mit/AtomisticSkills) into .claude/skills/drug-binding-site-definition in your project. Claude Code loads it when a task matches its description.

How do I install Drug Binding Site Definition in Codex?

Run `npx skills add learningmatter-mit/AtomisticSkills --skill drug-binding-site-definition -a codex`. Or copy the skill folder (skills/drug-binding-site-definition in learningmatter-mit/AtomisticSkills) into .agents/skills/drug-binding-site-definition in your project. Codex loads it when a task matches its description.

Can I use Drug Binding Site Definition in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add learningmatter-mit/AtomisticSkills --skill drug-binding-site-definition -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/drug-binding-site-definition, .gemini/skills/drug-binding-site-definition, .github/skills/drug-binding-site-definition and .opencode/skills/drug-binding-site-definition in your project.

What does Drug Binding Site Definition need to run?

Going by SKILL.md and its folder, Drug Binding Site Definition needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Drug Binding Site Definition access the network?

SKILL.md names 2 domains. As links in the text: doi.org and github.com. This is read from the text; nothing was executed.

Is Drug Binding Site Definition safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Drug Binding Site Definition use?

Drug Binding Site Definition is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Drug Binding Site Definition use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Drug Binding Site Definition?

Skills that share tags, products or a category with Drug Binding Site Definition: Hypothesis Generation (spacering-net/codeg, 3.8k stars), GitHub Deep Research (bytedance/deer-flow, 83k stars), Nature Paper Card (Yuan1z0825/nature-skills, 46k stars) and Read arXiv Paper (karpathy/nanochat, 58k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Drug Binding Site Definition?

learningmatter-mit (a GitHub organization) maintains it in learningmatter-mit/AtomisticSkills, which has 176 GitHub stars. The repository holds 129 skills in this directory. The repository was last updated on October 7, 2026.

Source: learningmatter-mit/AtomisticSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.