-
Notifications
You must be signed in to change notification settings - Fork 154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Byproduct generated by multiple R groups SMIRKS pattern #1077
Comments
In SMIRKS if you don't remove it in the pattern it doesn't get removed. However there is an option which I think does what you want: SmirksOption.REMOVE_UNMAPPED_FRAGMENTS This is on if you switch to "RDKit" flavour but that will also still updating your valences automatically as well which can be problematic |
Ok, I'll verify it later. In organsynthesis practices, unreasonable products in a reaction scheme can lead to significant misunderstandings. |
SMIRKS is like a programming language, doing things you didn't ask for is dangerous. But yes it is a common requirement that users want to write loose patterns that will then remove parts they didn't care about. |
That is completely not valid, you generated it with ChemAxon Marvin and there is no linkage between the left and right side since the link atoms are handled with recursive SMARTS. This is a perfectly reasonable reaction SMARTS for matching substructures but you can't use it as a transform (SMIRKS) - these are often confused - see also: https://efficientbits.blogspot.com/2018/04/rdkit-reaction-smarts.html. To simplify why it doesn't work what you intended was:
but you got:
There is nothing linking the left to the right, so if you match L3 it doesn't no add on L3. In general recursive definitions in the product are ignored. You need to split this out in to separate patterns - and for good measure make sure all atoms are mapped otherwise it will delete and add them back in.
Make sense? |
Got it. Separated link nodes and mapped RHS are both necessary. |
You should use more of the expressions, v/D/X/H to constrain the pattern and you can do a generalised one like this. Any atom which isn't present in the pattern is left alone. You also should be modifying hydrogen counts on oxygen no? Something like this perhaps:
|
Thanks,John. Maybe it's a challenging job to summarized a unique algorithm for intramolecular reaction. |
Hi,
As to Sharpless Allylic Amination reaction, SMIRKS pattern with multiple R groups was compiled, as follows:
[#6:3]-[#6:2]=[#6:1].[$([#6]-c1ccc(cc1)S(=O)(=O)[#7:6]=[Se:5]=[#7:4]S(=O)(=O)c1ccc(-[#6])cc1),$([#6]C([#6])([#6])[#7:6]=[Se:5]=[#7:4]C([#6])([#6])[#6])]>>[*:7]-[#7H:4]-[#6H0,#6H1:3]-[#6:2]=[#6:1]
reaction scheme pattern as:
test reaction smiles:
C=C1CCCC1.N(S(C1C=CC(C)=CC=1)(=O)=O)=[Se]=NS(C1C=CC(C)=CC=1)(=O)=O
result:
C=C1[CH2](CCC1)N*.N(S(c1cc[c]cc1)(=O)=O)=[Se]=NS(c2ccc(C)cc2)(=O)=O
By running Smirks.apply(mol), byproduct(or unreasonable product) was generated like: N(S(c1cc[c]cc1)(=O)=O)=[Se]=NS(c2ccc(C)cc2)(=O)=O
Is it due to unreasonable SMIRKS pattern or a bug?
CDK: cdk v2.10 SnapShot
java: jdk17.0.7
ide: IDEA 2024.1
The text was updated successfully, but these errors were encountered: