Skip to content
Back to skills

Reactions Standardization

ASecurity

"Use for RDKit reaction SMARTS/RXN workflows, product sanitization,

  • 247 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added September 9, 2026
developmentpythonrustbashreact

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill reactions-standardization --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reactions Standardization?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Reactions Standardization
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-reactions-standardization/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-reactions-standardization)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: reactions-standardization
description: "Use for RDKit reaction SMARTS/RXN workflows, product sanitization,
  MolStandardize cleanup/normalization/fragment/tautomer handling, R-group
  decomposition, stereochemistry/CIP practical workflows, and medicinal
  chemistry transformations. Route base molecule parsing to molecule-io-core and
  optional MMPA/Fraggle contrib workflows to contrib-utilities."
disable-model-invocation: true
metadata:
  disco-role: operating
license: BSD 3-Clause
---

# RDKit Reactions and Standardization

Use this sub-skill when a task asks an agent to transform molecules with reaction SMARTS, clean medicinal chemistry structures, choose parent fragments/charge forms, enumerate or canonicalize tautomers, decompose analog series into R-groups, or preserve/debug stereochemistry through these workflows.

## Route here

- Build and run reaction SMARTS/RXN workflows with `rdkit.Chem.rdChemReactions` or `AllChem.ReactionFromSmarts`.
- Validate reaction definitions, atom mapping, reactant counts, agents, product templates, and product sanitization.
- Use `rdkit.Chem.MolStandardize.rdMolStandardize` for cleanup, normalization, reionization, uncharging, fragment parents, charge parents, and tautomer enumeration.
- Run `rdkit.Chem.rdRGroupDecomposition.RGroupDecompose` against labeled or auto-labeled cores and interpret unmatched molecules.
- Preserve, assign, or inspect stereochemistry and CIP labels after transformations with `Chem.FindPotentialStereo` and `rdCIPLabeler.AssignCIPLabels`.
- Implement medicinal chemistry transformations such as neutralization, salt stripping, parent selection, scaffold analog decomposition, and small reaction-based substitutions.

## Route elsewhere

- Base molecule parsing, suppliers, `None` checks, and generic sanitization basics: `molecule-io-core`.
- Descriptors, fingerprints, similarity, and clustering after standardization: `descriptors-fingerprints`.
- Drawing molecules or reactions and coordinate generation: `conformers-drawing`.
- Optional contributed MMPA, Fraggle, SA/NP scoring, and other `Contrib/` utilities: `contrib-utilities`.
- RDKit source checkout build/test work for these modules: `repo-development`.

## Start with these references

- `references/reactions.md` for reaction SMARTS construction, running reactions, product handling, and stereochemistry behavior in reactions.
- `references/standardization-rgroups-stereo.md` for MolStandardize, R-group decomposition, tautomer, uncharging, fragment-parent, and CIP/stereo recipes.
- `references/troubleshooting.md` for invalid SMARTS, unsanitized products, unmatched cores, and parameter mistakes.
- `scripts/standardize_react_smoke.py` for a tiny standalone cleanup plus reaction SMARTS smoke test.

## Core workflow

1. Parse molecules in `molecule-io-core`, then pass checked `Mol` objects into reaction or standardization code.
2. For reaction SMARTS, build the reaction, inspect template counts, call `Validate()`, and match the exact reactant tuple arity required by the reaction.
3. Treat `RunReactants()` output as unsanitized candidate products: copy or select products deliberately, run `Chem.SanitizeMol`, and report failures with the product index and SMILES when possible.
4. Standardize before comparing analogs or calculating descriptors: choose whether the task needs `Cleanup`, `FragmentParent`, `ChargeParent`, `Uncharger`, or tautomer canonicalization rather than applying every transform blindly.
5. For R-group decomposition, start with a chemically meaningful core, prefer labeled attachment points when labels matter, and always inspect `unmatched` indices before trusting the R-group table.
6. For stereochemistry-sensitive workflows, keep `isomericSmiles=True`, use mapped reaction atoms, assign CIP labels after final sanitization, and document whether a transform preserves, creates, destroys, or inverts a stereocenter.

## Minimal examples

```python
from rdkit import Chem
from rdkit.Chem import rdChemReactions

rxn = rdChemReactions.ReactionFromSmarts("[C:1]=[O:2]>>[C:1][O:2]")
products = rxn.RunReactants((Chem.MolFromSmiles("CC=O"),))
product = products[0][0]
Chem.SanitizeMol(product)
smiles = Chem.MolToSmiles(product, isomericSmiles=True)
```

```python
from rdkit import Chem
from rdkit.Chem.MolStandardize import rdMolStandardize

mol = Chem.MolFromSmiles("CC(=O)[O-].[Na+]")
parent = rdMolStandardize.FragmentParent(mol)
uncharged = rdMolStandardize.Uncharger().uncharge(parent)
```

## Bundled check

Run the bundled helper in an environment where RDKit is importable:

```bash
python scripts/standardize_react_smoke.py --smiles "CC(=O)[O-].[Na+]" --reactant "CC=O"
```

It asserts that cleanup and fragment-parent selection produce valid molecules, builds a tiny reaction SMARTS, sanitizes the first product, and prints canonical SMILES outputs. Use `--bad-reaction` to confirm invalid reaction SMARTS are reported cleanly.

Files in this skill

  • SKILL.md4.8 KB
  • references/reactions.md4.4 KB
  • references/standardization-rgroups-stereo.md6.6 KB
  • references/troubleshooting.md5.7 KB
  • scripts/standardize_react_smoke.py3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.