Hi,
I think there is an issue on the level of your reaction SMARTS, in fact i
cannot get it to work on your example molecules, as there is a methyl
[CH3:0] amine defined in the query which is not to be found in the
substrate. I imagine some more explicit mapping of what connects and what
breaks where might help. When i used a more generally formulated N+OC=O >
NC=O.O amide coupling type reaction smarts, i get the two expected products:
```
rxn =
AllChem.ReactionFromSmarts('[NX3;H2,H1:0].[O;H:1]-[C:2]=[O:3]>>[N:0]-[C:2]=[O:3].[O:1]')
mol1 = Chem.MolFromSmiles('NC(=O)Nc1ccc(C(=O)O)cc1')
mol2 = Chem.MolFromSmiles('OC(=O)C(C1CCCC1)c1ccccc1')
products = rxn.RunReactants((mol1,mol2))
for i in range(len(products)):
    display(products[i][0])
```
giving the two expected products
[image: image.png]
as a side note: this kind of "amide coupling" is actually not like a
regular amide coupling because the nitrogen is far less basic because it is
part of this urea framework. A more strict reaction SMARTS that takes only
primary and secondary amines and not nitrogens connected to carbonyls would
be '[NX3;H2,H1;!$(NC=O):0].[O;H:1]-[C:2]=[O:3]>>[N:0]-[C:2]=[O:3].[O:1]'
best wishes
wim


On Sun, Dec 5, 2021 at 8:24 PM James Wallace <jeawall...@gmail.com> wrote:

> Here's the specific example that I was referring to:
>
> I used a reaction with this SMILES, making a ChemicalReaction out of it
> using the add reactant templates:
>
> [image: image.png]
> N[CH3:1].O=C(O)C(c1ccccc1)C1CCCC1>>O=C(N[CH3:1])C(c1ccccc1)C1CCCC1
>
> Taking two reagents to fit it:
> [image: image.png]
> OC(=O)C(C1CCCC1)c1ccccc1
>
> [image: image.png]
> NC(=O)Nc1ccc(C(=O)O)cc1
>
> Gives us products
>
> [image: image.png]
> O=C(NC(=O)C(c1ccccc1)C1CCCC1)Nc1ccc(C(=O)O)cc1
>
> [image: image.png]
> NC(=O)NC(=O)C(c1ccccc1)C1CCCC1
>
> [image: image.png]
> O=C(O)c1ccc(NC(=O)C(c2ccccc2)C2CCCC2)cc1
>
> In my case, I want to just see the result that uses the most of the
> reagent in each case, and not the ones where the reagent is fragmented.
>
> Is that possible directly, or do I need to filter my results post hoc?
>
> On Thu, 2 Dec 2021 at 20:04, Paolo Tosco <paolo.tosco.m...@gmail.com>
> wrote:
>
>> Hi James,
>>
>> I am not quite sure I understand what you have done and what you'd like
>> to achieve.
>> Ideally, could you please post:
>>
>> * the reaction you are using
>> * some example reactants
>> * the desired product(s)
>> * the undesired product(s)
>>
>> Thanks, cheers
>> p.
>>
>> On Thu, Dec 2, 2021 at 6:03 PM James Wallace <jeawall...@gmail.com>
>> wrote:
>>
>>> Hi,
>>> I've been working with the EnumerateLibraryFromReaction function to
>>> generate some quick access molecule libraries, using standard lists of
>>> reagents.
>>>
>>> However, when I get the output back, I notice that I get results that
>>> chop up the reactants I use wherever they match the reaction rule, so for a
>>> rule looking for NH I would effectively get the yellow ringed area here
>>> used as a structure as well as the desired red one.
>>> [image: image.png]
>>> As well, since this contains acid character, it would also match there,
>>> but I accept that I can't necessarily remove that.
>>>
>>> Is there any way I can filter out the partial usages, or am I stuck with
>>> using the substructures as well?
>>>
>>> Thanks,
>>>
>>> James
>>> _______________________________________________
>>> Rdkit-discuss mailing list
>>> Rdkit-discuss@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>>>
>> _______________________________________________
> Rdkit-discuss mailing list
> Rdkit-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to