{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Motivation\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start by importing the required packages:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from rdkit import Chem\n", "from rdkit.Chem.Draw import IPythonConsole\n", "from rdkit.Chem import Draw\n", "# the new code is in the rdFingerprintGenerator module:\n", "from rdkit.Chem import rdFingerprintGenerator" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# from: https://github.com/ljmartin/snippets/blob/master/atom_typing_snippet.ipynb\n", "from collections import OrderedDict\n", "\n", "##Using 'fake' atomic numbers 40 - 44 to correspond to D,A,P,N,L\n", "\n", "PPP = OrderedDict({\"D\":(['[OH]','[#7H,#7H2]'], 40),\n", " \"A\":(['[OH0]','[#7H0]'], 41), # <- modified by gl\n", " 'P':(['[*+]','[#7H2]'], 42),\n", " 'N':(['[*-]','[C&$(C(=O)O)]','[P&$(P(=O)O)]','[S&$(S(=O)O)]'], 43),\n", " \"L\":(['[Cl,Br,I]','[S;D2;$(S(C)(C))]'], 44)})\n", "##This sets the \"L\" type\n", "\n", "def ContructLFromGraphSearch(mol):\n", " AtomIndex = []\n", " for atom in mol.GetAtoms():\n", " temp = []\n", " if atom.GetAtomicNum() == 6:\n", " for neighatom in atom.GetNeighbors():\n", " if neighatom.GetAtomicNum() == 6:\n", " temp.append(0)\n", " elif neighatom.GetAtomicNum() == 1:\n", " continue\n", " else:\n", " temp.append(1)\n", " if sum(temp) == 0:\n", " AtomIndex.append(atom.GetIdx())\n", "\n", " return AtomIndex\n", "\n", "##This sets the DAPN types. \n", "def AssignAtomTypes(mol):\n", " res = [0]*mol.GetNumAtoms()\n", " for ppptype in PPP:\n", " smarts,idx = PPP[ppptype]\n", " for sma in smarts:\n", " patt = Chem.MolFromSmarts(sma)\n", " for k in mol.GetSubstructMatches(patt):\n", " res[k[0]] = idx\n", " for atomIdx in ContructLFromGraphSearch(mol):\n", " res[atomIdx] = 44\n", " return res\n", "\n", "def oAssignAtomType(mol):\n", " res = dict()\n", " for ppptype in PPP:\n", " temp = []\n", " for i in PPP[ppptype][0]:\n", " patt = Chem.MolFromSmarts(i)\n", " atomindex = mol.GetSubstructMatches(patt)\n", " atomindex = [k[0] for k in atomindex]\n", " temp.extend(atomindex)\n", " for atom in atomindex:\n", " mol.GetAtomWithIdx(atom).SetAtomicNum(PPP[ppptype][1])\n", " res.update({ppptype:temp})\n", " temp = ContructLFromGraphSearch(mol)\n", " temp.extend(res['L'])\n", " res.update({'L':temp})\n", " for idx in res['L']:\n", " mol.GetAtomWithIdx(idx).SetAtomicNum(44)\n", " \n", " print(res)\n", " return mol" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "thc = 'CCCCCc1cc(c2c(c1)OC([C@H]3[C@H]2C=C(CC3)C)(C)C)O'\n", "\n", "thc_mol = Chem.MolFromSmiles(thc)\n", "\n", "thc_mol" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[44,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 0,\n", " 44,\n", " 0,\n", " 44,\n", " 41,\n", " 0,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 44,\n", " 40]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "AssignAtomTypes(thc_mol)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'D': [22], 'A': [11], 'P': [], 'N': [], 'L': [0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21]}\n" ] } ], "source": [ "oAssignAtomType(thc_mol);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }