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