The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Design & creative · SKILL.md

molecules-and-io

molecules-and-io

Build, inspect, convert, serialize, charge, conformer-generate, visualize, and validate OpenFF Molecule objects.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: molecules-and-io description: "Build, inspect, convert, serialize, charge, conformer-generate, visualize, and validate OpenFF Molecule objects." disable-model-invocation: true metadata: disco-role: operating license: MIT

OpenFF Molecules and IO

Use this sub-skill when a task is centered on openff.toolkit.Molecule creation, inspection, conversion, serialization, conformer generation, partial charges, stereochemistry or tautomer enumeration, SMARTS matching, graph/isomorphism checks, or molecule visualization.

Start Here

  • Read references/api-reference.md for verified constructor, conversion, matching, conformer, charge, and visualization API details.
  • Read references/workflows.md for self-contained recipes covering SMILES, mapped SMILES, files, conformers, charges, stereochemistry, tautomers, SMARTS, round-trips, and visualization.
  • Read references/troubleshooting.md when molecule creation, file IO, toolkit backend, stereochemistry, partial charge, conformer, or PDB handling fails.
  • Run scripts/smoke_molecule_workflow.py --help to inspect the bundled smoke workflow, then try a tiny molecule with --smiles CCO.

Best-Fit Tasks

  • Create molecules from SMILES or mapped SMILES and preserve or validate atom ordering.
  • Read or write small-molecule SDF, MOL, SMI, or PDB outputs through Molecule.from_file() and Molecule.to_file().
  • Convert between OpenFF Molecule, RDKit molecules, and OpenEye molecules when the corresponding backend is available.
  • Generate conformers, assign supported molecule-level partial charges, enumerate stereoisomers or tautomers, and inspect the resulting molecules.
  • Match SMARTS patterns, compare molecules by isomorphism, export a NetworkX graph, or visualize molecules in notebooks.

Boundaries

  • For multi-molecule systems, Topology.from_molecules(), Topology.from_pdb(), Topology.to_file(), hierarchy iteration, OpenMM/MDTraj conversion, or system export, use ../topology-and-systems/SKILL.md.
  • For ForceField loading, SMIRNOFF parameter assignment, create_interchange(), create_openmm_system(), or parameter handler modification, use ../smirnoff-force-fields/SKILL.md.
  • For optional toolkit installation, backend registry ordering, wrapper availability, or advanced toolkit selection policy, use ../toolkit-backends/SKILL.md.

Safe Defaults

  • Prefer Molecule.from_smiles(smiles, allow_undefined_stereo=False) when stereochemistry matters; explicitly explain any fallback to allow_undefined_stereo=True.
  • Prefer Molecule.from_mapped_smiles() for atom-order-sensitive work; ordinary from_smiles() stores atom maps but does not use them for ordering.
  • Prefer SDF for file round-trips that need molecular graph information; avoid treating bare PDB or XYZ as sufficient graph sources.
  • In environments with RDKit and BuiltIn wrappers only, expect RDKit conformers and mmff94/gasteiger charges plus BuiltIn zeros/formal_charge; do not promise OpenEye, AmberTools, or NAGL-only methods.
Saved skills