The middle ring in your system is considered to be aromatic. You can see this by looking at the output SMILES:
In [3]: m=Chem.MolFromSmiles('CN(C(C=CC=C1)=C1C2=O)C3=C2C=CC=C3') In [4]: Chem.MolToSmiles(m) Out[4]: 'Cn1c2ccccc2c(=O)c2ccccc21' Given this, you need either the ~ bond (which matches anything) instead of -, or you could avoid specifying the bond order in your query. In SMARTS a bond that's not specified is either single or aromatic: In [5]: s=Chem.MolFromSmarts('c1ccccc1[#6](c2ccccc2)=[#8]') In [6]: m.HasSubstructMatch(s) Out[6]: True Best, -greg On Tue, Feb 19, 2019 at 11:56 PM Jason Biggs <jasondbi...@gmail.com> wrote: > Change your pattern to use ~ as an unspecified bond instead of - for a > single bond: > > >m=Chem.MolFromSmiles('CN(C(C=CC=C1)=C1C2=O)C3=C2C=CC=C3') > >s=Chem.MolFromSmarts('c1ccccc1~[#6](~c2ccccc2)=[#8]') > >m.HasSubstructMatch(s) > > True > > > Jason > > > > On Tue, Feb 19, 2019 at 4:42 PM Li, Xiaobo [xiaoboli] < > xiaobo...@liverpool.ac.uk> wrote: > >> Dear all, >> >> Why the output is False? >> >> m=Chem.MolFromSmiles('CN(C(C=CC=C1)=C1C2=O)C3=C2C=CC=C3') >> s=Chem.MolFromSmarts('c1ccccc1-[#6](-c2ccccc2)=[#8]') >> m.HasSubstructMatch(s) >> >> Output: False >> >> m >> >> >> >> s >> >> >> >> >> Best regards, >> >> >> Xiaobo Li >> >> >> >> >> >> _______________________________________________ >> 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 >
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss