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

Reply via email to