Hello everyone,
I have trouble finding what I want using smarts pattern :
Let's say I have for example these molecules :
smis
=('n2cc1ccccc1n2Cc1ccccc1CC','n2cc1ccccc1n2Cc1c(CC)cc(CCl)cc1','n2cc1c(CC)cccc1n2Cc1ccccc1CC','n2cc1cc(CF)ccc1n2Cc1cc(CC)ccc1CC')
ms = [Chem.MolFromSmiles(x) for x in smis]
Chem.Draw.MolsToGridImage(ms)
So, I have this smarts pattern :
patt =
Chem.MolFromSmarts('[#7]1:[#6]:[#6]2:[#6]:[#6]:[#6]:[#6]:[#6]:2:[#7]:1-[#6]-[#6]1:[#6]:[#6]:[#6]:[#6]:[#6]:1')
When I run :
for smi,m in zip(smis,ms):
print(smi,m.HasSubstructMatch(patt))
I have logically :
n2cc1ccccc1n2Cc1ccccc1CC True
n2cc1ccccc1n2Cc1c(CC)cc(CCl)cc1 True
n2cc1c(CC)cccc1n2Cc1ccccc1CC True
n2cc1cc(CF)ccc1n2Cc1cc(CC)ccc1CC True
My goal is to have :
n2cc1ccccc1n2Cc1ccccc1CC True
n2cc1ccccc1n2Cc1c(CC)cc(CCl)cc1 True
n2cc1c(CC)cccc1n2Cc1ccccc1CC False
n2cc1cc(CF)ccc1n2Cc1cc(CC)ccc1CC False
So precisely, I want to "block" the indazole from any substitutions and
retrieve only molecules with changes on the phenyl.
Thanks in advance.
Colin Bournez
-- *Colin Bournez* PhD Student, Structural Bioinformatics &
Chemoinformatics Institut de Chimie Organique et Analytique (ICOA), UMR
CNRS-Université d'Orléans 7311 Rue de Chartres, 45067 Orléans, France T.
+33 238 494 577
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss