Agent skill

Drug Complex System Builder

by learningmatter-mit in learningmatter-mit/AtomisticSkills

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

MITAuto-check passedResearch & Science

Install Drug Complex System Builder

skills CLI
$ npx skills add learningmatter-mit/AtomisticSkills --skill drug-complex-system-builder -a claude-code

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

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

At a glance

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

  • Works in 4 steps: Prepare inputs → Build the solvated complex → Inspect outputs → …
  • The user wants to solvate a complex
  • SKILL.md covers Goal, Instructions, Examples and Constraints, plus 1 more section
  • Runs Python scripts from its folder

What it does

Drug Complex System Builder is an agent skill from learningmatter-mit/AtomisticSkills. Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation. Combines a prepared receptor PDB and ligand SDF, parameterizes the ligand with OpenFF Sage or GAFF (AM1-BCC charges), applies Amber ff14SB to the protein, solvates with explicit water, and adds counterions. Use this skill when the user wants to solvate a complex, set up a system for MD, prepare for simulation, add water and ions, or build a simulation box from a protein-ligand structure.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts (for example `examples/hiv1-protease/README.md`, `examples/hiv1-protease/system/build_provenance.json` and `scripts/build_complex.py`).

It sits in Research & Science, covering Physical and earth sciences. 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 wants to solvate a complex
  • Set up a system for MD
  • Prepare for simulation
  • Add water and ions

Example prompts

  • “/drug-complex-system-builder”

Requirements

  • Python 3

Workflow steps

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

  1. Prepare inputs
  2. Build the solvated complex
  3. Inspect outputs
  4. Troubleshooting

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 Complex System Builder loads about 2k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 813 words of instructions outside code blocks.

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

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). 813 words, ~1,964 tokens.

Download SKILL.mdSave it as .claude/skills/drug-complex-system-builder/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
drug-complex-system-builder
description
Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation. Combines a prepared receptor PDB and ligand SDF, parameterizes the ligand with OpenFF Sage or GAFF (AM1-BCC charges), applies Amber ff14SB to the protein, solvates with explicit water, and adds counterions. Use this skill when the user wants to solvate a complex, set up a system for MD, prepare for simulation, add water and ions, or build a simulation box from a protein-ligand structure.
metadata.category
drug-discovery
metadata.venv
cpu

drug-complex-system-builder

Goal

To take a prepared protein (PDB) and a validated ligand pose (SDF) and produce a fully parameterized, solvated, ion-neutralized OpenMM simulation bundle ready for drug-protein-ligand-md.

The output bundle includes:

  • Serialized OpenMM System XML (force field parameters, constraints)
  • Full-precision initial state XML (positions + box vectors for exact restart)
  • Solvated PDB with protein + ligand + water + ions (for visualization)
  • Provenance JSON recording all build parameters

Instructions

1. Prepare inputs

Required inputs:

2. Build the solvated complex
bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu+openmm python ${CLAUDE_SKILL_DIR}/scripts/build_complex.py \
  --receptor docking/inputs/protein_prepared.pdb \
  --ligand docking/validation/valid_poses.sdf \
  --ligand_ff openff-2.2.0 \
  --protein_ff amber/ff14SB \
  --water_model tip3p \
  --box_padding 12.0 \
  --ionic_strength 0.15 \
  --output_dir md/system/

Key parameters:

  • --ligand_ff: Force field for the ligand. Options: openff-2.2.0 (Sage, recommended), gaff-2.11. OpenFF Sage is generally preferred for drug-like molecules.
  • --protein_ff: Protein force field. Default: amber/ff14SB.
  • --water_model: Water model. Default: tip3p. Options: tip3p, tip3pfb, tip4pew, opc, spce. Use tip3pfb or opc for better accuracy at higher cost.
  • --box_padding: Minimum distance from solute to box edge in Angstroms (default: 12.0). Use 10-12 A for production; smaller values risk periodic image artifacts.
  • --ionic_strength: Target NaCl concentration in mol/L (default: 0.15, physiological). The system is always charge-neutralized first; additional ion pairs are added to reach the target ionic strength. The ionic strength calculation does not count the neutralization ions (they are treated as bound to the solute).
  • --pose_index: Which pose from the SDF to use (default: 0, the top-ranked pose).
  • --box_shape: Simulation box geometry (default: cube). Options: cube, dodecahedron, octahedron. Dodecahedron and octahedron use ~30% less water for the same minimum solute-edge distance.
  • --hydrogen_mass: Hydrogen mass in amu for hydrogen mass repartitioning (default: 4.0). With HMR (3-4 amu), the script uses AllBonds constraints, enabling 4-5 fs timesteps (OpenMM recommends 5 fs with LangevinMiddleIntegrator). Set to 1.008 to disable HMR (uses HBonds constraints, requires 2 fs timestep). Note: at 4 amu, methyl carbons become lighter than their bonded hydrogens, which can affect dynamics in some systems (particularly membranes). Use 3 amu if this is a concern. The downstream MD skill must use a matching timestep (check hmr_enabled and constraints in the provenance JSON).
3. Inspect outputs

The script produces:

  • md/system/complex_solvated.pdb: solvated system for visualization (PDB precision: 0.001 A)
  • md/system/system.xml: serialized OpenMM System (force field parameters, constraints)
  • md/system/state_initial.xml: full-precision positions and box vectors for simulation restart
  • md/system/build_provenance.json: records all build parameters, atom counts, box dimensions, HMR status, constraint type

Visually inspect complex_solvated.pdb to verify:

  • The ligand is in the expected binding pocket
  • No steric clashes between protein and ligand
  • Water fills the box uniformly
  • Ions are distributed (not clustered)
Show full SKILL.md (398 more words)Show less
4. Troubleshooting

Common issues:

  • Ligand parameterization fails: ensure the ligand SDF has explicit hydrogens and correct bond orders. Re-run drug-ligand-prep if needed. The script assigns partial charges itself (--charge_method, default am1bcc); any pre-existing charges in the SDF are overwritten to ensure deterministic behavior.
  • AM1-BCC charges or GAFF: both need AmberTools (sqm, antechamber) on PATH, and AmberTools has no PyPI distribution, so it is not in any uv environment: install it separately (conda-forge ambertools, or a source build). Without it, use OpenFF Sage (--ligand_ff openff-2.2.0, the default) with --charge_method mmff94 or gasteiger (RDKit charges): cruder than AM1-BCC, fine for screening and smoke tests, not for production free energies.
  • Steric clash warning: the script checks minimum protein-ligand interatomic distances before solvation. If you see a clash warning, the docking pose may need refinement. Mild clashes (1.0-1.5 A) can often be resolved by energy minimization, but severe clashes (<1.0 A) usually indicate a bad pose.
  • Missing residues in protein: the builder does not fix gaps. Use drug-protein-prep first.
  • Box too small: increase --box_padding if you see solute atoms near box edges.
  • Simulation blowup after building: check the provenance JSON for hmr_enabled. If HMR is on (default), the downstream MD should use a 4-5 fs timestep (OpenMM recommends 5 fs with LangevinMiddleIntegrator). If HMR is off, use 2 fs. Mismatched timestep/HMR settings are a common cause of NaN energies at startup.

Examples

Example: build TYK2 inhibitor complex
bash
${CLAUDE_SKILL_DIR}/../../venv/run cpu+openmm python ${CLAUDE_SKILL_DIR}/scripts/build_complex.py \
  --receptor tyk2/inputs/4GIH_prepared.pdb \
  --ligand tyk2/validation/valid_poses.sdf \
  --ligand_ff openff-2.2.0 \
  --box_padding 12.0 \
  --ionic_strength 0.15 \
  --output_dir tyk2/md/system/

Constraints

  • Environment: Requires cpu+openmm.
  • Ligand size: OpenFF Sage handles typical drug-like molecules well. For very large ligands (>100 heavy atoms) or metal-containing compounds, parameterization may require manual intervention.
  • Protein force field: Only Amber-family force fields (ff14SB, ff19SB) are supported through openmmforcefields. CHARMM support would require a different builder.
  • Box shape: Defaults to cubic. Dodecahedron and truncated octahedron are supported via --box_shape (requires OpenMM 8.0+).

References

  • Maier, J. A.; Martinez, C.; Kasavajhala, K.; Wickstrom, L.; Hauser, K. E.; Simmerling, C. ff14SB: Improving the Accuracy of Protein Side Chain and Backbone Parameters from ff99SB. J. Chem. Theory Comput. 2015, 11, 3696-3713. https://doi.org/10.1021/acs.jctc.5b00255
  • Boothroyd, S.; Behara, P. K.; Madin, O. C.; et al. Development and Benchmarking of Open Force Field 2.0.0: The Sage Small Molecule Force Field. J. Chem. Theory Comput. 2023, 19, 3251-3275. https://doi.org/10.1021/acs.jctc.3c00039
  • Eastman, P.; Swails, J.; Chodera, J. D.; et al. OpenMM 7: Rapid Development of High Performance Algorithms for Molecular Dynamics. PLoS Comput. Biol. 2017, 13, e1005659. https://doi.org/10.1371/journal.pcbi.1005659

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-complex-system-builder of learningmatter-mit/AtomisticSkills.

  • SKILL.md
  • examples/hiv1-protease/1HSG_prepared.pdb
  • examples/hiv1-protease/README.md
  • examples/hiv1-protease/ligand.sdf
  • examples/hiv1-protease/system/build_provenance.json
  • scripts/build_complex.py

Open the folder on GitHubat commit 6257444

Compare with similar skills

Drug Complex System Builder 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 Complex System Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Drug Complex System Builder this skilllearningmatter-mit/AtomisticSkills176—~2kAutomated safety check: PassMIT
Cantera Ignition DelayK-Dense-AI/scientific-agent-skills48k2 repos~2.2kAutomated safety check: PassMIT
AstropyzLanqing/codex-claude-academic-skills4.6k14 repos~2.9kAutomated safety check: PassBSD-3-Clause
PymatgenzLanqing/codex-claude-academic-skills4.6k12 repos~5kAutomated safety check: PassMIT
Weathertrpc-group/trpc-agent-go1.8k9 repos~591Automated safety check: PassApache-2.0
Pymol VisualizationChatMol/ChatMol372—~1.2kAutomated safety check: PassMIT

Similar skills

  • Cantera Ignition Delay

    K-Dense-AI/scientific-agent-skills

    Runs Cantera constant-volume or constant-pressure ignition simulations and reports temperature-based ignition delay with mechanism provenance and checks.

    48k GitHub starsUsed in 2 repos~2.2k tokens
    Research & ScienceAuto-check passed
  • Astropy

    zLanqing/codex-claude-academic-skills

    Comprehensive Python library for astronomy and astrophysics.

    4.6k GitHub starsUsed in 14 repos~2.9k tokens
    Research & ScienceAuto-check passed
  • Pymatgen

    zLanqing/codex-claude-academic-skills

    Materials science toolkit. An agent skill from zLanqing/codex-claude-academic-skills.

    4.6k GitHub starsUsed in 12 repos~5k tokens
    Research & ScienceAuto-check passed
  • Weather

    trpc-group/trpc-agent-go

    Get current weather and forecasts via wttr.in or Open-Meteo.

    1.8k GitHub starsUsed in 9 repos~591 tokens
    Research & ScienceAuto-check passed
  • Pymol Visualization

    ChatMol/ChatMol

    Generate publication-quality molecular visualization images using PyMOL.

    372 GitHub stars~1.2k tokensUpdated 6 mo ago
    Research & ScienceAuto-check passed
  • Review

    Muuuun/luxas

    Write domain-authentic review articles that synthesize rather than stack.

    1.2k GitHub stars~2.1k tokensUpdated 1 mo ago
    Research & ScienceAuto-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 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
  • 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 today
    Auto-check passed

Questions about Drug Complex System Builder

What does Drug Complex System Builder do?

Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation. Drug Complex System Builder is an agent skill from learningmatter-mit/AtomisticSkills. Build a solvated, charge-neutralized protein-ligand complex for OpenMM molecular dynamics simulation.

When should I use Drug Complex System Builder?

Drug Complex System Builder fits situations like: the user wants to solvate a complex; set up a system for MD; prepare for simulation; add water and ions.

How do I install Drug Complex System Builder in Claude Code?

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

How do I install Drug Complex System Builder in Codex?

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

Can I use Drug Complex System Builder 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-complex-system-builder -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-complex-system-builder, .gemini/skills/drug-complex-system-builder, .github/skills/drug-complex-system-builder and .opencode/skills/drug-complex-system-builder in your project.

What does Drug Complex System Builder need to run?

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

Does Drug Complex System Builder 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 Complex System Builder 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 Complex System Builder use?

Drug Complex System Builder 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 Complex System Builder use?

About 2k tokens (SKILL.md is roughly 7.9k 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 Complex System Builder?

Skills that share tags, products or a category with Drug Complex System Builder: Cantera Ignition Delay (K-Dense-AI/scientific-agent-skills, 48k stars), Astropy (zLanqing/codex-claude-academic-skills, 4.6k stars), Pymatgen (zLanqing/codex-claude-academic-skills, 4.6k stars) and Weather (trpc-group/trpc-agent-go, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Drug Complex System Builder?

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.