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
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss