"Assemble OpenFF Topology objects, load PDB/biopolymer systems,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill topology-and-systems --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Topology And Systems?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-topology-and-systems)More formats (shields.io, HTML) on the badges page.
---
name: topology-and-systems
description: "Assemble OpenFF Topology objects, load PDB/biopolymer systems,
manage hierarchy metadata, constraints, OpenMM/MDTraj conversion, PDB export,
and hand off to Interchange/OpenMM system creation."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Topology and Systems
Use this sub-skill when the task is about OpenFF `Topology` objects rather than single-molecule construction or SMIRNOFF parameter editing.
## Read First
- `references/api-reference.md` for verified `Topology` method signatures, return shapes, and behavior details.
- `references/pdb-and-biopolymers.md` for PDB loading requirements, `unique_molecules`, proteins, HETATM small molecules, metadata, and hierarchy differences.
- `references/workflows.md` for common recipes: molecule lists, PDB load, OpenMM/MDTraj conversion, constraints, PDB export, and Interchange/OpenMM handoff.
- `references/troubleshooting.md` for common diagnostics and fixes around missing unique molecules, PDB chemistry assignment, atom names, optional packages, and metadata surprises.
- `scripts/smoke_topology_workflow.py` for a small self-contained smoke helper that builds a multi-copy topology and optionally writes a PDB.
## Scope
Handle requests involving:
- `Topology.from_molecules`, `add_molecule`, `add_molecules`, `unique_molecules`, and `identical_molecule_groups`.
- `Topology.from_pdb`, `from_openmm`, `from_mdtraj`, `to_openmm`, and `to_file`.
- PDB/biopolymer assumptions: explicit hydrogens, valid chemical connectivity, `CONECT`, standard residue/atom names, waters, supported ions, and custom substructure caveats.
- Hierarchy metadata and iterators: residues, chains, atom names, insertion codes, and OpenFF/OpenMM/RDKit/OpenEye differences.
- Constraints with `add_constraint`, environment matching with `chemical_environment_matches`, graph distance queries with `nth_degree_neighbors`, and visualization with `visualize`.
- Handoff boundaries between `Topology`, `ForceField.create_interchange`, `ForceField.create_openmm_system`, and downstream engine exporters.
## Route Elsewhere
- For constructing, reading, writing, charging, converting, or stereochemistry-handling individual `Molecule` objects, read `../molecules-and-io/SKILL.md`.
- For SMIRNOFF force field loading, parameter assignment details, handler edits, or force field XML authoring, read `../smirnoff-force-fields/SKILL.md`.
- For toolkit registry setup, backend availability, RDKit/OpenEye/AmberTools/NAGL installation, or charge backend troubleshooting, read `../toolkit-backends/SKILL.md`.
## Fast Decision Rules
- If the input is a list of OpenFF `Molecule` objects, start with `Topology.from_molecules(molecules)` or an empty `Topology()` plus `add_molecules`.
- If the input is a PDB with nonstandard HETATM molecules, prepare exact OpenFF `Molecule` objects and pass them through `unique_molecules`; require explicit elements and `CONECT` records for those molecules.
- If converting from OpenMM or MDTraj, pass every chemically distinct species exactly once in `unique_molecules`; the topology can contain zero, one, or many copies of each species.
- If writing or converting to OpenMM/PDB, keep `ensure_unique_atom_names="residues"` unless the task specifically needs molecule-wide uniqueness (`True`) or original names (`False`).
- If assigning force field parameters or exporting simulation files, build and validate the `Topology` here, then hand off to the force field or Interchange sub-skill boundary.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!