Skip to content

Instantly share code, notes, and snippets.

@ptosco
Created July 2, 2018 18:03
Show Gist options
  • Save ptosco/3797986d7c01d052a774a2f6c43a3bc7 to your computer and use it in GitHub Desktop.
Save ptosco/3797986d7c01d052a774a2f6c43a3bc7 to your computer and use it in GitHub Desktop.
RGroups
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from rdkit import Chem\n",
"from rdkit.Chem.Draw import IPythonConsole\n",
"from rdkit.Chem.Scaffolds import MurckoScaffold"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"m = Chem.MolFromSmiles('c1cc(C)c(CC(=O)[13C])cc1')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7fb113afca60>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"m"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"murcko = MurckoScaffold.GetScaffoldForMol(m)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"murckoIndices = m.GetSubstructMatch(murcko)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0, 1, 2, 4, 9, 10)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"murckoIndices"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"nonMurckoIndices = sorted(set(range(m.GetNumAtoms())) - set(murckoIndices))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[3, 5, 6, 7, 8]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nonMurckoIndices"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"def findDisconnectedFragments(mol, indices):\n",
" disconnectedFragments = []\n",
" indicesSet = set(indices)\n",
" while (indicesSet):\n",
" i = indicesSet.pop()\n",
" connectedSet = set([i])\n",
" stack = [i]\n",
" while (stack):\n",
" i = stack.pop()\n",
" a = mol.GetAtomWithIdx(i)\n",
" nbrs = [nbr.GetIdx() for nbr in a.GetNeighbors() if (\n",
" (nbr.GetIdx() in indicesSet) and (not (nbr.GetIdx() in connectedSet)))]\n",
" connectedSet.update(nbrs)\n",
" stack.extend(nbrs)\n",
" indicesSet.difference_update(connectedSet)\n",
" disconnectedFragments.append(tuple(sorted(connectedSet)))\n",
" return tuple(disconnectedFragments)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"def addAttachmentIdx(mol, frags, scaffold):\n",
" fragsNew = []\n",
" for frag in frags:\n",
" fragSet = set(frag)\n",
" for i in frag:\n",
" a = mol.GetAtomWithIdx(i)\n",
" nbrs = [nbr.GetIdx() for nbr in a.GetNeighbors() if (nbr.GetIdx() in scaffold)]\n",
" fragSet.update(nbrs)\n",
" fragsNew.append(tuple(sorted(fragSet)))\n",
" return tuple(fragsNew)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"rGroups = findDisconnectedFragments(m, nonMurckoIndices)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((5, 6, 7, 8), (3,))"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rGroups"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"rGroupsWithAttachmentIdx = addAttachmentIdx(m, rGroups, murckoIndices)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((4, 5, 6, 7, 8), (2, 3))"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rGroupsWithAttachmentIdx"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment