Dear users, I am trying to identify bridgehead atoms in multi-looped ring systems. The issue I have is that it can be sometimes difficult to distinguish these atoms from ring-fusion atoms. The pattern I used (see below) looks for atoms that are part of three rings but cannot be bonded to an atom that also fits this description, in order to avoid ring-fusion atoms. The code works, except for cases where bridgehead atoms are bonded to a ring-fusion atom.
*PASS:* pattern = Chem.MolFromSmarts("[$([x3]);!$([x3][x3])]") rdkit_mol = Chem.MolFromSmiles("C1CC2CCC1C2") print(rdkit_mol.GetSubstructMatches(pattern)) >>>((2,),(5,)) *FAIL:* pattern = Chem.MolFromSmarts("[$([x3]);!$([x3][x3])]") rdkit_mol = Chem.MolFromSmiles("C1CC2C1C1CCC2C1") print(rdkit_mol.GetSubstructMatches(pattern)) >>>() Any hint on what alternative pattern I could use to isolate true bridgeheads would be greatly appreciated. Maybe other strategies are more suitable to find these atoms? Thanks in advance! Best regards, Andreas
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss