Thanks Paolo, that does the trick. Tim On Mon, Feb 14, 2022 at 11:23 AM Paolo Tosco <paolo.tosco.m...@gmail.com> wrote:
> Hi Tim, > > after you are done removing the atoms you can do loop through remaining > ring atoms and bonds and clear aromatic flags, e.g. > > from rdkit import Chem > > rwmol = Chem.RWMol(Chem.MolFromSmiles("c1ccccc1")) > rwmol.RemoveAtom(0) > > for a in rwmol.GetAtoms(): > if (not a.IsInRing()) and a.GetIsAromatic(): > a.SetIsAromatic(False) > for b in rwmol.GetBonds(): > if (not b.IsInRing()) and b.GetIsAromatic(): > b.SetIsAromatic(False) > > Chem.SanitizeMol(rwmol) > rdkit.Chem.rdmolops.SanitizeFlags.SANITIZE_NONE > > rwmol > [image: image.png] > > However, this will still leave you with not particularly useful AROMATIC > bond types. > Probably a better option is to kekulize the molecule and clear aromatic > flags before starting to remove atoms, then sanitize: > > rwmol = Chem.RWMol(Chem.MolFromSmiles("c1ccccc1")) > Chem.Kekulize(rwmol, clearAromaticFlags=True) > rwmol.RemoveAtom(0) > > Chem.SanitizeMol(rwmol) > rdkit.Chem.rdmolops.SanitizeFlags.SANITIZE_NONE > > rwmol > [image: image.png] > > Cheers, > p. > > On Mon, Feb 14, 2022 at 11:55 AM Tim Dudgeon <tdudgeon...@gmail.com> > wrote: > >> I'm using mol.RemoveAtom(atom) to remove atoms from a molecule, and then >> calling Chem.SanitizeMol(mol) at the end to clean up the molecule. Mostly >> this works fine. >> But when I delete atoms in an aromatic ring but leave a single ring atom >> remaining in the molecule then the sanitize function fails: >> >> rdkit.Chem.rdchem.AtomKekulizeException: non-ring atom 0 marked aromatic >> >> I'm using SanitizeMol() with default options >> so SanitizeFlags.SANITIZE_ALL should be in place. >> What do I need to do to have sanitize to fix the atom type in the general >> case? >> >> Tim >> _______________________________________________ >> Rdkit-discuss mailing list >> Rdkit-discuss@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss >> >
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss