Background
#854 added best-effort reaction classification to the ORM (reaction_class / reaction_name columns), populated by Rxn-INSIGHT. Those columns store Rxn-INSIGHT's own label vocabulary, which carries no stable identifiers and may drift across versions.
For cross-tool / cross-database interoperability we'd want standardized identifiers from a public ontology — RXNO (the RSC Name Reaction Ontology, also what NextMove's proprietary NameRxn emits). There is no open-source tool that assigns RXNO IDs from structure, so we'd build the crosswalk ourselves.
This issue tracks the coarse, cheap version: map Rxn-INSIGHT's closed set of 11 reaction_class values to RXNO's top-level categories. (Named-reaction-level mapping of the ~470 reaction_name strings is deliberately out of scope here — it's partial, needs curation, and only pays off if an external consumer needs it.)
Why this is cheap
Rxn-INSIGHT's classes are essentially the Pistachio/RXNO superclasses already, so the mapping is close to 1:1:
Rxn-INSIGHT reaction_class |
RXNO top-level category |
| Aromatic Heterocycle Formation |
Heterocycle formation |
| Acylation |
Acylation and related processes |
| C-C Coupling |
C–C bond formation |
| Heteroatom Alkylation and Arylation |
Heteroatom alkylation and arylation |
| Reduction |
Reductions |
| Oxidation |
Oxidations |
| Functional Group Interconversion |
FGI |
| Functional Group Addition |
FGA |
| Protection |
Protections |
| Deprotection |
Deprotections |
| Miscellaneous |
(no RXNO term — leave unmapped) |
(RXNO also has a "Resolution" superclass with no Rxn-INSIGHT equivalent.)
Scope
Out of scope
- Named-reaction-level (
reaction_name → RXNO ID) mapping.
- Any attempt to assign RXNO from structure directly (that's NameRxn's territory).
🤖 Generated with Claude Code
Background
#854 added best-effort reaction classification to the ORM (
reaction_class/reaction_namecolumns), populated by Rxn-INSIGHT. Those columns store Rxn-INSIGHT's own label vocabulary, which carries no stable identifiers and may drift across versions.For cross-tool / cross-database interoperability we'd want standardized identifiers from a public ontology — RXNO (the RSC Name Reaction Ontology, also what NextMove's proprietary NameRxn emits). There is no open-source tool that assigns RXNO IDs from structure, so we'd build the crosswalk ourselves.
This issue tracks the coarse, cheap version: map Rxn-INSIGHT's closed set of 11
reaction_classvalues to RXNO's top-level categories. (Named-reaction-level mapping of the ~470reaction_namestrings is deliberately out of scope here — it's partial, needs curation, and only pays off if an external consumer needs it.)Why this is cheap
Rxn-INSIGHT's classes are essentially the Pistachio/RXNO superclasses already, so the mapping is close to 1:1:
reaction_class(RXNO also has a "Resolution" superclass with no Rxn-INSIGHT equivalent.)
Scope
RXNO:#######IDs for each top-level category fromrxno.obo.REACTION_TYPEReactionIdentifier(the schema-native home for ontology terms).reaction_classpost-pass;MiscellaneousandNULLstay unmapped.Out of scope
reaction_name→ RXNO ID) mapping.🤖 Generated with Claude Code