The Reaction Atom Mapper checks reactions before you rely on them. It works out which reactant atom becomes which product atom (atom mapping), confirms the reaction is balanced, reports what happens to stereocenters, and can extract reusable reaction templates. Use it to clean a reaction dataset, or to check reactions from Reaction Enumeration or Retrosynthesis. It validates reactions only: it doesn't predict products or plan routes. It runs on CPU.
How it works
- Mapping with RXNMapper, a transformer model that maps atoms without hand-written rules, with a confidence score per reaction. Set
min_confidenceto flag low-confidence mappings. - Roles: molecules are sorted into reactants, reagents, and products.
- Balance: element, mass, and formal-charge differences between products and reactants (hydrogens included only with
balance_hydrogens), and product atoms that map to nothing. - Stereochemistry: each tetrahedral center is
created,destroyed,inverted,retained, orundetermined; double bonds that gain or lose E/Z are reported. - Templates (
extract_templates): retro and forward templates extracted with RDChiral, up tomax_templates.
Inputs
1 to 10,000 reactions, as a reaction_smiles list (reactants>reagents>products) with optional reaction_ids, or as a table. Tables can hold reaction SMILES in a column, or separate reactant, reagent, and product columns, so the provenance table from Reaction Enumeration and the routes table from Retrosynthesis work without changes.
Outputs
| File | Contents |
|---|---|
mapped.csv | One row per reaction: status (mapped, low_confidence, or rejected), the mapped SMILES, confidence, the balance differences, and stereo changes |
diagnostics.csv | Every problem found, as error, warning, or info, with a code such as parse_error, unbalanced_elements, or stereo_change |
templates.csv | Extracted templates (when you asked for them) |
reaction_map_audit.json | Model and software versions |
Reactions that can't be parsed are listed as rejected; the job carries on.