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

Reply via email to