molvs/fragment.py
def remove(self, mol):
        """Return the molecule with specified fragments removed.

        :param mol: The molecule to remove fragments from.
        :type mol: rdkit.Chem.rdchem.Mol
        :return: The molecule with fragments removed.
        :rtype: rdkit.Chem.rdchem.Mol
        """
        log.debug('Running FragmentRemover')
        # Iterate FragmentPatterns and remove matching fragments
        for frag in self.fragments:
            # If nothing is left or leave_last and only one fragment, end here
            if mol.GetNumAtoms() == 0 or (self.leave_last and len(Chem.GetMolFrags(mol)) <= 1):
                break
            # Apply removal for this FragmentPattern
            removed = Chem.DeleteSubstructs(mol, frag.smarts, onlyFrags=True)
            if not mol.GetNumAtoms() == removed.GetNumAtoms():
                log.info('Removed fragment: %s', frag.name)
            if self.leave_last and removed.GetNumAtoms() == 0:
                # All the remaining fragments match this pattern - leave them all
                break
            mol = removed
        return mol
def remove(self, mol):
        log.debug('Running FragmentRemover')
        # Iterate FragmentPatterns and remove matching fragments
        for frag in self.fragments:
            # If nothing is left or leave_last and only one fragment, end here
            if mol.GetNumAtoms() == 0 or (self.leave_last and len(Chem.GetMolFrags(mol)) <= 1):
                break
            # Apply removal for this FragmentPattern
            removed = Chem.DeleteSubstructs(mol, frag.smarts, onlyFrags=True)
            if not mol.GetNumAtoms() == removed.GetNumAtoms():
                log.info('Removed fragment: %s', frag.name)
            if self.leave_last and removed.GetNumAtoms() == 0:
                # All the remaining fragments match this pattern - leave them all
                break
            mol = removed
        return mol
def remove ( self , mol ) : log . debug ( 'Running FragmentRemover' ) # Iterate FragmentPatterns and remove matching fragments for frag in self . fragments : # If nothing is left or leave_last and only one fragment, end here if mol . GetNumAtoms ( ) == 0 or ( self . leave_last and len ( Chem . GetMolFrags ( mol ) ) <= 1 ) : break # Apply removal for this FragmentPattern removed = Chem . DeleteSubstructs ( mol , frag . smarts , onlyFrags = True ) if not mol . GetNumAtoms ( ) == removed . GetNumAtoms ( ) : log . info ( 'Removed fragment: %s' , frag . name ) if self . leave_last and removed . GetNumAtoms ( ) == 0 : # All the remaining fragments match this pattern - leave them all break mol = removed return mol
Return the molecule with specified fragments removed.

        :param mol: The molecule to remove fragments from.
        :type mol: rdkit.Chem.rdchem.Mol
        :return: The molecule with fragments removed.
        :rtype: rdkit.Chem.rdchem.Mol
Return the molecule with specified fragments removed .