Greg,

Thx for answer, but it is still unclear for me. You wrote: 

> So, the short answer to your question is: "yes". You will need to rewrite
> your SMARTS queries so that nitro groups are expressed consistently. If you
> want those queries to match what the RDKit's molecule processing code
> produces, the nitro's themselves should be written '[N+](=O)[O-]'

so:

this three Mols (m1, m2, m33) below should all represent nitrobenzene,
right?
>>> m33=Chem.MolFromSmarts('c1ccccc1[N+](=O)[O-]')
>>> m1=Chem.MolFromSmiles('c1ccccc1[N+](=O)[O-]')
>>> m2=Chem.MolFromSmiles('c1ccccc1N(=O)(=O)')

but

1. first strange thing is smiles of m33:
>>> Chem.MolToSmiles(m33)
'O=N(O)c1ccccc1'

this not look like nitrobenzene for me


2. results of HasSubstructMatch is really unexpected:

>>> m2.HasSubstructMatch(m33)
True
>>> m1.HasSubstructMatch(m33)
True
>>> m33.HasSubstructMatch(m1)
False
>>> m33.HasSubstructMatch(m2)
False
>>> 

m1, m2 is substruct of m33 but m33 is not substuct of m1 or m2. I
really dont understand this. 
It seems this is problem with smarts mol:
>>> m33.HasSubstructMatch(m33)
False
>>> 

Is it really correct behaviour?

Regards,

RafaƂ



------------------------------------------------------------------------------
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