Skip to content

Instantly share code, notes, and snippets.

@greglandrum
Created November 11, 2021 12:58
Show Gist options
  • Save greglandrum/12bd952b61c98225c9b82840e652174a to your computer and use it in GitHub Desktop.
Save greglandrum/12bd952b61c98225c9b82840e652174a to your computer and use it in GitHub Desktop.
remove chlorines.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from rdkit import Chem\nfrom rdkit.Chem import AllChem\nfrom rdkit.Chem import Draw",
"execution_count": 5,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "m = Chem.MolFromSmiles('CSc1nc2ccccn2c(=N)c1S(=O)(=O)c1ccc(Cl)c(Cl)c1')\nm",
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 6,
"data": {
"text/plain": "<rdkit.Chem.rdchem.Mol at 0x7f19f295da60>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "Cl_pattern = Chem.MolFromSmarts('[ClD1]')\ndef atom_remover(mol,pattern=Cl_pattern):\n matches = mol.GetSubstructMatches(pattern)\n if not matches:\n yield Chem.Mol(mol)\n for match in matches:\n res = Chem.RWMol(mol)\n res.BeginBatchEdit()\n for aid in match:\n res.RemoveAtom(aid)\n res.CommitBatchEdit()\n Chem.SanitizeMol(res)\n yield res",
"execution_count": 16,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "ms = [x for x in atom_remover(m)]\nDraw.MolsToGridImage(ms)",
"execution_count": 13,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 13,
"data": {
"image/png": "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\n",
"text/plain": "<IPython.core.display.Image object>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "[x for x in atom_remover(Chem.MolFromSmiles('CC'))]",
"execution_count": 14,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 14,
"data": {
"text/plain": "[<rdkit.Chem.rdchem.Mol at 0x7f19f2c89220>]"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "cl_rxn = AllChem.ReactionFromSmarts('[ClD1:1]-[*:2]>>[H:1]-[*:2]')\ndef atom_remover2(mol,rxn=cl_rxn):\n ps = rxn.RunReactants((mol,))\n if not ps:\n yield Chem.Mol(mol)\n for p in ps:\n res = Chem.RemoveHs(p[0]) \n yield res\n \n",
"execution_count": 20,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "ms = [x for x in atom_remover2(m)]\nDraw.MolsToGridImage(ms)",
"execution_count": 21,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 21,
"data": {
"image/png": "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\n",
"text/plain": "<IPython.core.display.Image object>"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "[x for x in atom_remover2(Chem.MolFromSmiles('CC'))]",
"execution_count": 19,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 19,
"data": {
"text/plain": "[<rdkit.Chem.rdchem.Mol at 0x7f19f26405e0>]"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "[x for x in atom_remover(Chem.MolFromSmiles('Cln1cccc1'))]",
"execution_count": 22,
"outputs": [
{
"output_type": "stream",
"text": "RDKit ERROR: [13:57:05] Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4\nRDKit ERROR: \n",
"name": "stderr"
},
{
"output_type": "error",
"ename": "KekulizeException",
"evalue": "Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4\n",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKekulizeException\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-22-c79ab2f1923d>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0matom_remover\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mChem\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMolFromSmiles\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cln1cccc1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-22-c79ab2f1923d>\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0matom_remover\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mChem\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMolFromSmiles\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Cln1cccc1'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-16-73295034ded9>\u001b[0m in \u001b[0;36matom_remover\u001b[0;34m(mol, pattern)\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRemoveAtom\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maid\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCommitBatchEdit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0mChem\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSanitizeMol\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mres\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;32myield\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKekulizeException\u001b[0m: Can't kekulize mol. Unkekulized atoms: 0 1 2 3 4\n"
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "[x for x in atom_remover2(Chem.MolFromSmiles('Cln1cccc1'))]",
"execution_count": 23,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 23,
"data": {
"text/plain": "[<rdkit.Chem.rdchem.Mol at 0x7f19f2435d60>]"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"language_info": {
"name": "python",
"version": "3.9.1",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "remove chlorines.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment