schrodinger.livedesign.run_reaction module

Given a USER DRAWN reaction and some sets of mols, run the reaction and return the products.

This is different from rdkit.Chem.rdchem.Reaction.RunReactants() because it is designed to usually work with user-drawn reactions, which are much less precise than the ones that we use in pathfinder, say.

It gives up speed and accuracy to improve robustness.

Core Strategy:

Given some drawn reaction with “R groups” as designated attachment points,

  • If the product has no wildcards, replace the reacting region with the product

  • If the product has wildcards, map unmapped atoms

schrodinger.livedesign.run_reaction.run_reaction(rxn: rdkit.Chem.rdChemReactions.ChemicalReaction, reactant_lists: List[List[rdkit.Chem.rdchem.Mol]])

Run a user-drawn reaction on some sets of reactants.

  • if there are R groups, that’s the only place that fragments are allowed to connect

  • if there are no R groups, then fragments can connect anywhere

Does automatic mapping if there are wildcards in the product or if no atoms are mapped.

Users are inconsistent and unpredictable, and may have explicit hydrogens atoms on some atoms, no atoms, or all atoms!