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

Reply via email to