syndirella.slipper.slipper_synthesizer.Labeler

slipper_synthesizer/Labeler.py

This module contains a helper module for the SlipperSynthesizer class to label the products based on labeled atom ids to expand or not expand.

Classes

Labeler

Module Contents

class syndirella.slipper.slipper_synthesizer.Labeler.Labeler(products: pandas.DataFrame, atom_ids_expansion: Dict[int, bool], library: syndirella.route.Library.Library)[source]
products: pandas.DataFrame[source]
atom_ids_expansion: dict[source]
library: syndirella.route.Library.Library[source]
output_dir: str[source]
label_products()[source]

This is the main entry function for the Labeler class.

show_atoms_to_expand_and_not_expand()[source]

This will save a png of the scaffold compound with atoms to expand colored in green and not to expand colored in red.

label_products_with_atom_ids()[source]

This function will label the products with the atom ids to expand and not expand.

_label_product_with_atom_ids(atom_ids_to_expand: List[int], atom_ids_to_not_expand: List[int], row: pandas.Series) pandas.Series[source]

This function goes through each scaffold and checks if the compound has been expanded or not.

_has_non_mcs_bond(mol_smiles: str, ref_mol: rdkit.Chem.Mol, atom_id_ref: int) bool or str[source]

Check if the specified atom in the given molecule has a bond that is not in the MCS with a reference molecule.

Parameters:
  • mol_smiles – SMILES string of the molecule to check

  • ref_smiles – SMILES string of the reference molecule

  • atom_id – Atom ID to check in the given molecule

Returns:

True if the atom has a non-MCS bond, False otherwise

show_mcs_on_products()[source]

This function will output a png of the MCS on the products.