Hi all,
Sorry it's me with another substructure query question... Please can anyone explain the following behaviour to me? I have 4 queries that differ by just one query bond. To me, it should match an aromatic bond type (4) but it doesn't. However, it matches single_or_aromatic and double_or_aromatic query bond types but not single_or_doubleā¦. Best wishes, Susan import rdkit print(rdkit.__version__) from rdkit import Chem qb_double_or_aromatic = """ ACCLDraw07262216372D 0 0 0 0 0 999 V3000 M V30 BEGIN CTAB M V30 COUNTS 7 7 0 0 0 M V30 BEGIN ATOM M V30 1 C 45.7538 -37.6779 0 0 M V30 2 C 44.7323 -37.0872 0 0 M V30 3 C 44.7323 -35.9099 0 0 M V30 4 C 45.7553 -35.3193 0 0 M V30 5 C 46.7807 -35.9049 0 0 M V30 6 C 46.7807 -37.085 0 0 M V30 7 O 45.7553 -34.1382 0 0 M V30 END ATOM M V30 BEGIN BOND M V30 1 2 2 1 M V30 2 1 3 2 M V30 3 2 4 3 M V30 4 1 5 4 M V30 5 1 1 6 M V30 6 2 6 5 M V30 7 7 4 7 M V30 END BOND M V30 END CTAB M END """ qb_single_or_aromatic = """ ACCLDraw07262216372D 0 0 0 0 0 999 V3000 M V30 BEGIN CTAB M V30 COUNTS 7 7 0 0 0 M V30 BEGIN ATOM M V30 1 C 45.7538 -37.6779 0 0 M V30 2 C 44.7323 -37.0872 0 0 M V30 3 C 44.7323 -35.9099 0 0 M V30 4 C 45.7553 -35.3193 0 0 M V30 5 C 46.7807 -35.9049 0 0 M V30 6 C 46.7807 -37.085 0 0 M V30 7 O 45.7553 -34.1382 0 0 M V30 END ATOM M V30 BEGIN BOND M V30 1 2 2 1 M V30 2 1 3 2 M V30 3 2 4 3 M V30 4 1 5 4 M V30 5 1 1 6 M V30 6 2 6 5 M V30 7 6 4 7 M V30 END BOND M V30 END CTAB M END """ qb_aromatic = """ ACCLDraw07262216372D 0 0 0 0 0 999 V3000 M V30 BEGIN CTAB M V30 COUNTS 7 7 0 0 0 M V30 BEGIN ATOM M V30 1 C 45.7538 -37.6779 0 0 M V30 2 C 44.7323 -37.0872 0 0 M V30 3 C 44.7323 -35.9099 0 0 M V30 4 C 45.7553 -35.3193 0 0 M V30 5 C 46.7807 -35.9049 0 0 M V30 6 C 46.7807 -37.085 0 0 M V30 7 O 45.7553 -34.1382 0 0 M V30 END ATOM M V30 BEGIN BOND M V30 1 2 2 1 M V30 2 1 3 2 M V30 3 2 4 3 M V30 4 1 5 4 M V30 5 1 1 6 M V30 6 2 6 5 M V30 7 4 4 7 M V30 END BOND M V30 END CTAB M END """ qb_single_or_double = """ ACCLDraw07262216372D 0 0 0 0 0 999 V3000 M V30 BEGIN CTAB M V30 COUNTS 7 7 0 0 0 M V30 BEGIN ATOM M V30 1 C 45.7538 -37.6779 0 0 M V30 2 C 44.7323 -37.0872 0 0 M V30 3 C 44.7323 -35.9099 0 0 M V30 4 C 45.7553 -35.3193 0 0 M V30 5 C 46.7807 -35.9049 0 0 M V30 6 C 46.7807 -37.085 0 0 M V30 7 O 45.7553 -34.1382 0 0 M V30 END ATOM M V30 BEGIN BOND M V30 1 2 2 1 M V30 2 1 3 2 M V30 3 2 4 3 M V30 4 1 5 4 M V30 5 1 1 6 M V30 6 2 6 5 M V30 7 5 4 7 M V30 END BOND M V30 END CTAB M END """ mb = """ ACCLDraw07262216212D 0 0 0 0 0 999 V3000 M V30 BEGIN CTAB M V30 COUNTS 10 11 0 0 0 M V30 BEGIN ATOM M V30 1 O 4.9598 -34.3327 0 0 M V30 2 O 3.4666 -32.8272 0 0 M V30 3 C 6.9426 -35.2057 0 0 M V30 4 C 4.5926 -33.1985 0 0 M V30 5 C 6.143 -34.3327 0 0 M V30 6 C 8.0972 -34.9529 0 0 M V30 7 C 6.5101 -33.1985 0 0 M V30 8 C 8.4562 -33.8227 0 0 M V30 9 N 5.5514 -32.509 0 0 CFG=3 M V30 10 C 7.6606 -32.9537 0 0 M V30 END ATOM M V30 BEGIN BOND M V30 1 1 1 4 M V30 2 2 4 2 M V30 3 1 5 3 M V30 4 1 5 1 M V30 5 2 3 6 M V30 6 2 5 7 M V30 7 1 6 8 M V30 8 1 7 9 M V30 9 1 9 4 M V30 10 1 7 10 M V30 11 2 10 8 M V30 END BOND M V30 END CTAB M END """ m = Chem.MolFromMolBlock(mb) q_double_or_aromatic = Chem.MolFromMolBlock(qb_double_or_aromatic) print(m.HasSubstructMatch(q_double_or_aromatic)) q_single_or_aromatic = Chem.MolFromMolBlock(qb_single_or_aromatic) print(m.HasSubstructMatch(q_single_or_aromatic)) q_aromatic = Chem.MolFromMolBlock(qb_aromatic) print(m.HasSubstructMatch(q_aromatic)) q_single_or_double = Chem.MolFromMolBlock(qb_single_or_double) print(m.HasSubstructMatch(q_single_or_double)) >>> 2022.03.2 >>> True>>> True>>> False >>> False
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss