Hi Brian,
The Deprotect function will apply any number of deprotections that are
stored as the DeprotectData (see rdkit.Chem.rdDeprotect.GetDeprotections()
to get the list). In your case, you can set up a custom DeprotectData
deprotection:
from rdkit.Chem.rdDeprotect import DeprotectData
> # Set up the deprotection
> reaction_class = "hydrolysis"
> reaction_smarts = "[CX4;H3][O][C:1][O][CX4;H3]>>[C:1]=[O]"
> abbreviation = "(OMe)2"
> full_name = "dimethylacetal"
> data = DeprotectData(reaction_class, reaction_smarts, abbreviation,
> full_name)
> assert data.isValid()
data is now an instance of DeprotectData, which you can pass into the
Deprotect function along with your example molecule:
# get an example ketal
> mol = Chem.MolFromSmiles('COC1(CCCCC1)OC')
# make the call to get the transformed molecule, in this case, cyclohexanone
> result = rdkit.Chem.rdDeprotect.Deprotect(mol, deprotections=[data]) #
> pass in your newly created deprotection wrapped in a list
If you're only trying to apply a single chemical reaction, you could just
create a ChemicalReaction to achieve the same result:
> from rdkit.Chem import rdChemReactions
>
> # Set up your chemical reaction
> reaction_smarts = "[CX4;H3][O][C:1][O][CX4;H3]>>[C:1]=[O]"
> rxn = rdChemReactions.ReactionFromSmarts(reaction_smarts)
>
> # Run your chemical reaction on your molecule
> mol = Chem.MolFromSmiles('COC1(CCCCC1)OC')
> products = rxn.RunReactants((mol,)) # make sure you're passing a tuple
>
Hope this points you in the right direction.
Best,
Kangway Chuang, Ph. D. (he/him/his)
Senior AI Scientist and Group Lead
AI | ML Department in Research Biology
Genentech Research and Early Development
+1 (805) 754-0058
[email protected]
On Wed, Mar 2, 2022 at 3:58 PM Bennion, Brian via Rdkit-discuss <
[email protected]> wrote:
> Hello All,
>
> I have poking about the docs and some emails trying to find a way to
> deprotect a group compounds.
> The docs describe the DeprotectData module but I am not making the
> connection to how that will operate on my molecules.
>
> my tentative smarts is here
> [CX4;H3][O][C:1][O][CX4;H3]>>[C:1]=[O]
>
> I was able to access the function and assert the "dataIsValid" for the
> example case. So I am just missing that next and maybe last step where I
> can deprotect a list of compounds with this module.
>
> Thank you
> brian
>
> _______________________________________________
> Rdkit-discuss mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss