Agent skill

Drug Redocking Rmsd

by learningmatter-mit in learningmatter-mit/AtomisticSkills

Compute symmetry-corrected heavy-atom RMSD between docked poses and a reference crystal ligand to validate docking protocols.

MITAuto-check passed

Install Drug Redocking Rmsd

skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill drug-redocking-rmsd -a claude-code

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

GitHub CLI
$ gh skill install learningmatter-mit/AtomisticSkills drug-redocking-rmsd --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-redocking-rmsd .claude/skills/drug-redocking-rmsd && 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-redocking-rmsd
GitHub stars
176
Token cost
~2.3k tokens
SKILL.md length
1,019 words
Files
6 (incl. scripts)
Skills in repo
129
Repo updated
First seen
Licence
MIT

At a glance

Compute symmetry-corrected heavy-atom RMSD between docked poses and a reference crystal ligand to validate docking protocols.

  • Works in 5 steps: Compute RMSD from a crystal PDB reference → Compute RMSD from an SDF reference → Tune the pass/fail threshold → …
  • SKILL.md covers Goal, Instructions, Constraints and References
  • Runs Python scripts from its folder

What it does

Drug Redocking Rmsd is an agent skill from learningmatter-mit/AtomisticSkills. Compute symmetry-corrected heavy-atom RMSD between docked poses and a reference crystal ligand to validate docking protocols.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts (for example `examples/README.md`, `examples/cdk2-nu6102/output/rmsd_results.json` and `scripts/compute_rmsd.py`).

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

Example prompts

  • “/drug-redocking-rmsd”

Requirements

  • Python 3

Workflow steps

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

  1. Compute RMSD from a crystal PDB reference
  2. Compute RMSD from an SDF reference
  3. Tune the pass/fail threshold
  4. Interpret the output
  5. Use in the HTVS validation gate

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 1 file 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 Redocking Rmsd loads about 2.3k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,019 words of instructions outside code blocks.

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

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,019 words, ~2,281 tokens.

Download SKILL.mdSave it as .claude/skills/drug-redocking-rmsd/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
drug-redocking-rmsd
description
Compute symmetry-corrected heavy-atom RMSD between docked poses and a reference crystal ligand to validate docking protocols.
metadata.category
drug-discovery
metadata.venv
cpu

drug-redocking-rmsd

Goal

To quantitatively validate a docking protocol by computing the symmetry-corrected in-place heavy-atom RMSD between docked poses and the crystallographic reference ligand. A top-scored pose (pose 1) RMSD below 2.0 A is the standard threshold for a successful self-docking control.

Self-docking is a necessary, not sufficient, check. It verifies that your receptor preparation, box definition, and scoring function can recover a known pose in its own binding site. It does not verify that the protocol will work on new compounds. For a production virtual screen, complement self-docking with cross-docking into different receptor conformations when available (see the HTVS workflow Stage 3), and pair this RMSD check with drug-pose-validation to catch poses that are geometrically near-native but physically implausible (internal clashes, strained torsions).

Instructions

1. Compute RMSD from a crystal PDB reference

When the reference ligand is extracted from a PDB (HETATM records, no bond orders), provide the SMILES so the script can assign bond orders via template matching:

bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/compute_rmsd.py \
  --docked docking/ligand_docked.pdbqt \
  --reference crystal_ligand.pdb \
  --smiles "NS(=O)(=O)c1ccc(Nc2nc3[nH]cnc3c(OCC3CCCCC3)n2)cc1" \
  --output_dir validation/
2. Compute RMSD from an SDF reference

When the reference ligand is an SDF with proper bond orders (e.g., from a database or ligand-prep), no SMILES is needed:

bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/compute_rmsd.py \
  --docked docking/ligand_docked.pdbqt \
  --reference crystal_ligand.sdf \
  --output_dir validation/
3. Tune the pass/fail threshold

The default threshold is 2.0 A, which is the classical success criterion from the original docking validation literature. Modern docking programs often do substantially better, and the threshold should scale with ligand size and flexibility:

Ligand characterSuggested --threshold
Small, rigid (fragments, few rotatable bonds)1.0-1.5
Drug-like, moderate flexibility2.0 (default)
Large or highly flexible (>10 rotatable bonds, macrocycles)2.5-3.0

Below about 1.5 A is typically considered "good" and below 1.0 A is "very good" for modern docking of small rigid compounds. Above roughly 3 A, numeric ordering loses meaning (a 4 A pose is not usefully "better" than a 6 A pose; both are wrong).

bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu python ${CLAUDE_SKILL_DIR}/scripts/compute_rmsd.py \
  --docked docking/ligand_docked.pdbqt \
  --reference crystal_ligand.sdf \
  --threshold 1.5 \
  --output_dir validation/
4. Interpret the output

The script writes rmsd_results.json:

json
{
    "reference": "crystal_ligand.sdf",
    "docked": "ligand_docked.pdbqt",
    "n_poses": 5,
    "threshold": 2.0,
    "top_pose_rmsd": 0.823,
    "gate_pass": true,
    "gate_criterion": "Top-scored docked pose (pose 1) heavy-atom RMSD below threshold. ...",
    "best_rmsd": 0.823,
    "best_pose": 1,
    "best_rmsd_note": "best_rmsd is the minimum RMSD across all poses. Use as a diagnostic only: ...",
    "poses": [
        {"pose": 1, "rmsd_heavy_atom": 0.823, "pass": true},
        {"pose": 2, "rmsd_heavy_atom": 1.451, "pass": true},
        {"pose": 3, "rmsd_heavy_atom": 4.102, "pass": false}
    ]
}
  • gate_pass is the protocol-validation verdict: true iff pose 1 (the top-scored pose) is within threshold. A near-native pose further down the list is not enough; if the scoring function cannot rank it first, the protocol is not working.
  • top_pose_rmsd is the pose-1 RMSD, the value gate_pass keys off.
  • best_rmsd / best_pose are diagnostics only. If best_pose > 1 but best_rmsd < threshold, the sampling is finding near-native conformations but the scoring function is failing to prioritize them. This is a scoring problem, not a sampling problem, and warrants rescoring or re-ranking rather than redoing the search.
  • rmsd_heavy_atom is the symmetry-corrected in-place RMSD over all heavy atoms in Angstroms. The script uses RDKit's CalcRMS which enumerates molecular automorphisms and (by default) symmetrizes conjugated terminal groups like carboxylates and nitros.
5. Use in the HTVS validation gate

This skill is designed to be called during the protocol validation gate of the HTVS workflow (Stage 3). If gate_pass is false, revisit receptor preparation, protonation states, or box placement before proceeding to the production screen. If best_pose > 1 while top_pose_rmsd > threshold, the scoring function rather than the search is the bottleneck; consider alternative scoring functions or rescoring with a more expensive method.

See examples/README.md for a worked case using real NU6102 / CDK2 self-docking data from the cdk2-htvs HTVS campaign. That example also documents a real correctness discrepancy between this version of the skill and an earlier (buggy) version, and is worth reading if you have cached validation results from a previous run.

Show full SKILL.md (468 more words)Show less

Constraints

  • Environment: Requires cpu.
  • Docked format: Multi-model PDBQT (as output by drug-docking-vina). Poses must be in Vina order (pose 1 = top-scored) or the top-1 gate will key off the wrong pose.
  • Reference format: PDB (requires --smiles) or SDF (self-contained bond orders).
  • In-place RMSD, no alignment: The script uses rdMolAlign.CalcRMS (not GetBestRMS) to compute RMSD without rigid-body alignment between probe and reference. For self-docking validation this is mandatory: the docked pose and the crystal reference are expected to share the receptor's coordinate frame, so any alignment would artificially deflate the RMSD and silently pass a failing protocol.
  • Symmetry handling: Uses RDKit's CalcRMS to enumerate molecular automorphisms and return the minimum RMSD over all valid atom mappings. symmetrizeConjugatedTerminalGroups=True is passed explicitly (default since RDKit 2022.09) so that carboxylates, nitro groups, and amidinium groups are treated symmetrically. This can change the reported RMSD by up to ~0.8 A for compounds carrying such groups.
  • Molecule identity check: Before computing RMSD, the script compares the InChIKey connectivity block between the reference and the docked pose. A mismatch raises an error rather than producing a meaningless number. This catches the silent-failure mode where the reference and docked files correspond to different compounds (easy mistake in batch workflows). Protonation/tautomer differences do not trigger a false mismatch because only the connectivity-only block of the InChIKey is compared.
  • Receptor coordinate frame: The receptor used for docking must share the coordinate frame of the crystal structure the reference ligand was extracted from. If the receptor was energy-minimized, realigned, or had waters rearranged between the crystal and the docking run, self-docking RMSD will be inflated for reasons unrelated to docking accuracy. Do not minimize the receptor before a self-docking validation.
  • Crystal structure quality matters: The reference is treated as ground truth, but the crystal model is itself uncertain. Prefer references from structures with resolution better than 2.5 A and ligand B-factors comparable to or below the local protein mean. For poorly resolved ligands, consider the real-space R-factor (RSR) as a complementary sanity check, or treat the RMSD with larger uncertainty.
  • Alternate conformations / multi-molecule references: For PDB references, the script does not explicitly resolve ALT-LOC records; RDKit will take the first conformation it encounters. For SDF references, only the first molecule in the file is used. If your reference has multiple conformations or alternate ligands, split them into separate files and run the script per conformation.
  • Threshold: The 2.0 A default is widely used but not universal. See section 3 above for size- and flexibility-based guidance. The threshold is exposed as --threshold.

References

  • Trott, O.; Olson, A. J. AutoDock Vina: Improving the Speed and Accuracy of Docking. J. Comput. Chem. 2010, 31, 455-461. doi:10.1002/jcc.21334
  • Bento, A. P.; et al. An open source chemical structure curation pipeline using RDKit. J. Cheminform. 2020, 12, 51. doi:10.1186/s13321-020-00456-1

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 5 other files (scripts) in skills/drug-redocking-rmsd of learningmatter-mit/AtomisticSkills.

  • SKILL.md
  • examples/README.md
  • examples/cdk2-nu6102/inputs/cocrystal_NU6102_docked.pdbqt
  • examples/cdk2-nu6102/inputs/cocrystal_ligand_4SP.pdb
  • examples/cdk2-nu6102/output/rmsd_results.json
  • scripts/compute_rmsd.py

Open the folder on GitHubat commit 6257444

Compare with similar skills

Drug Redocking Rmsd 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 Redocking Rmsd compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Drug Redocking Rmsd this skilllearningmatter-mit/AtomisticSkills176—~2.3kAutomated safety check: PassMIT
Compose Atomslobehub/lobehub83k—~2.6kAutomated safety check: PassCustom licence
Ito Computeaffaan-m/ECC275k1 repos~1.7kAutomated safety check: PassMIT
CorrectionNxcoreAI/EverRoom3k—~290Automated safety check: PassCustom licence
Correctcursor/plugins10k3 repos~612Automated safety check: PassNone
Senior Computer Visiondavila7/claude-code-templates32k3 repos~1.4kAutomated safety check: PassMIT

Similar skills

  • Compose Atoms

    lobehub/lobehub

    Splits a heavy front-end domain into capability atoms that each host imports separately, sinking state into each atom instead of adding mode or readOnly flags.

    83k GitHub stars~2.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Ito Compute

    affaan-m/ECC

    Query live GPU inventory, submit an authenticated Itô fixed-rate RFQ, inspect RFQ or procurement status, revoke device credentials, and run explicitly gated node qualification through the separately…

    275k GitHub starsUsed in 1 repo~1.7k tokens
    Business, Finance & HRAuto-check passed
  • Correction

    NxcoreAI/EverRoom

    Compute Room overview corrections—citation corrections as per-claim edits and general corrections as a single proposal.

    3k GitHub stars~290 tokensUpdated today
    Research & ScienceAuto-check passed
  • Correct

    cursor/plugins

    Official

    Find the mistakes agents keep repeating in this repo and make each one impossible.

    10k GitHub starsUsed in 3 repos~612 tokens
    Auto-check passed
  • Senior Computer Vision

    davila7/claude-code-templates

    World-class computer vision skill for image/video processing, object detection, segmentation, and visual AI systems.

    32k GitHub starsUsed in 3 repos~1.4k tokens
    AI & LLM EngineeringAuto-check passed
  • Senior Computer Vision

    alirezarezvani/claude-skills

    Computer vision engineering skill for object detection, image segmentation, and visual AI systems.

    28k GitHub starsUsed in 2 repos~3.2k tokens
    AI & LLM EngineeringAuto-check passed

More from learningmatter-mit/AtomisticSkills

All 129 skills in this repo
  • Drug Binding Site Definition

    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.

    176 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • 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 today
    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 today
    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 today
    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 today
    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 today
    Auto-check passed

Questions about Drug Redocking Rmsd

What does Drug Redocking Rmsd do?

Compute symmetry-corrected heavy-atom RMSD between docked poses and a reference crystal ligand to validate docking protocols. Drug Redocking Rmsd is an agent skill from learningmatter-mit/AtomisticSkills. Compute symmetry-corrected heavy-atom RMSD between docked poses and a reference crystal ligand to validate docking protocols.

How do I install Drug Redocking Rmsd in Claude Code?

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

How do I install Drug Redocking Rmsd in Codex?

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

Can I use Drug Redocking Rmsd 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-redocking-rmsd -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-redocking-rmsd, .gemini/skills/drug-redocking-rmsd, .github/skills/drug-redocking-rmsd and .opencode/skills/drug-redocking-rmsd in your project.

What does Drug Redocking Rmsd need to run?

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

Does Drug Redocking Rmsd 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 Redocking Rmsd 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 Redocking Rmsd use?

Drug Redocking Rmsd 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 Redocking Rmsd use?

About 2.3k tokens (SKILL.md is roughly 9.1k 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 Redocking Rmsd?

Skills that share tags, products or a category with Drug Redocking Rmsd: Compose Atoms (lobehub/lobehub, 83k stars), Ito Compute (affaan-m/ECC, 275k stars), Correction (NxcoreAI/EverRoom, 3k stars) and Correct (cursor/plugins, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Drug Redocking Rmsd?

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.