Skip to content

Validation fails on chiral (?) macrocycles #60

@mmzdouc

Description

@mmzdouc

Description

In some cases, the validation function of reaction SMARTS/substrate/product does not validate the generated product even though visual inspection shows that expected product and generated product are identical. From my observation, this happens mainly with macrocyclic compounds with chiral atoms. This is really confusing for submitters. Currently, my suggestion is that they should simply replace their expected product with the product generated by RDKit, but it is obviously a bad solution.

Example

(see also here)
reaction SMARTS

[#6:1]-[#6:2]1=[#6:3]-[#6:4]-[#6:5]-[#6:6](-[#6:15])=[#6:7]-[#6:8]-[#6@@:9](/[#6:12](-[#6:14])=[#6:13])-[#6:10]-[#6:11]-1>>[#6:1]-[#6:2]1=[#6:3]-[#6:4]-[#6:5]-[#6:6](-[#6:15])=[#6:7]-[#6:8]-[#6@@:9](/[#6:12](-[#6:14](-[#8])=[#8])=[#6:13])-[#6:10]-[#6:11]-1

substrate

C=C(C)[C@@H]1C/C=C(\C)CC/C=C(\C)CC1

product (directly from ketcher)

C=C([C@H]1CCC(C)=CCCC(C)=CC1)C(=O)O |t:6,11|

Result

Error in parsing entry MITE9999999: 1 validation error for Reaction
  Value error, Reaction '1': Validation failed for substrate C=C(C)[C@@H]1C/C=C(\C)CC/C=C(\C)CC1: Reaction did not lead to all expected products.
Expected products:
C=C(C(=O)O)[C@@H]1C/C=C(\C)CC/C=C(\C)CC1
Generated products:
C=C(C(=O)O)[C@@H]1CC=C(C)CCC=C(C)CC1
 [type=value_error, input_value={'tailoring': ['Acylation...baseIds(rhea='', ec='')}, input_type=dict]

When I create fingerprints from them, the expected and generated products are indeed identical:
https://colab.research.google.com/drive/1ng2HY8sFJVnbl8uHBrekMfaFHCzVyl7H?usp=sharing

Solution

We could simply replace the expected product with the generated product if their fingerprints are identical? What are your thoughts on that @Adafede ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions