{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2016.09.2\n"
     ]
    }
   ],
   "source": [
    "from rdkit import Chem\n",
    "from rdkit.Chem.Draw import IPythonConsole\n",
    "from rdkit import rdBase\n",
    "from __future__ import print_function\n",
    "print(rdBase.rdkitVersion)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "our test molecule"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "m = Chem.MolFromSmiles('COC(C=C1)=CC=C1C2=CC=CC=C2OC3=CC=CO3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7fed254fcd00>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "our substructure; of note substitution pattern is important"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAV8klE\nQVR4nO3de1BTV+IH8JMEUB4+ePSFYi34gKhFHoXFxSIBa6zpHzs79p8aO9PO0K3thOC4E9tq41J1\n0bIa6dYd2rEz1O4/sp3pgCNpwVREBBVFoBLERymUt4iAIZEQ7u+P00n5KbWUc5Obx/fzV8ex9369\no1/uPfecc0UcxxEAAJgpsdABAADcm4/QAQBgai0tLRcuXOjp6ZFIJFKpdP369b6+vkKHgimgRgFc\n1KlTp6RSaXJycm9vb2VlpVgslsvlQoeCKYgwNgrgmoaHh+fOnUv/u7i4uLu7W6VSCRsJpoSxUWDC\ncRx+EjuIvUMJISMjI/7+/gKGgcdAjcIMcRxXXFwcGxu7ZcuWrVu39vX1CZ3IY50/f/7nn3+WyWRC\nB4Gp4aEeZuLSpUvZ2dk1NTWEEB8fn/Hx8eDgYK1Wu23bNrwG4dcPP/zw9ddfKxSKhIQEobPA1HA3\nCn9Md3f3W2+9lZKSUlNT88wzzxQWFjY2Nm7atGlwcFCtVq9cufLkyZNCZ3RvFovFYDBYrVZCCMdx\nZWVliYmJ6FBXhhqF6bJarUeOHImOjv7ss8/EYrFKpWppacnKyoqJiTl58mR5efmKFStaW1tfeeWV\n9evXX7t2Tei87ofjuIaGhn//+99VVVXnzp0jhJjN5tHR0cjISKGjweOgRmFaSktLY2Ji1Gr18PCw\nQqEwGo1HjhyZ/A4kMzOzvr5ep9PNmzevoqIiLi4uOzt7aGhIwMzupa2trbCw8JtvvjGZTIsXL5ZK\npfTXQ0NDZ8+eLWw2eDyMjcLvaGlp2b59e1lZGSEkOjr60KFDGzdufMzvHxgYyM3N/fTTT202W2ho\n6O7du999912JROKsvO5neHj49OnTjY2NhJC5c+fKZLLY2FihQ8EfgBqF3zQ4OLhnz56jR4/a3yC9\n8847Pj7TWrJRX1+vVqvPnj1LCImLi9PpdC+++KKD87ofq9VaXV1dXV09Pj7u6+u7Zs2a1NTUyVd4\ncHDwk08++etf/7pixQoBc8LjYRUTTGF8fPyLL77YtWtXf3+/j49PVlbW3r17n3jiiekfIS4urrKy\nsrS0NDs7u76+Pi0tTaFQFBQUPPfcc46L7UY4jjMajd999x0d95BKpS+99NK8efMe/W2Ymev6cDcK\nDzMYDGq1uqmpiRAik8l0Ot2qVatmfDSz2VxQULBv3z46gVylUn3wwQdz5szhL6/76erq0uv1HR0d\nhJDw8HC5XB4RESF0KJg51Cj86ubNm++//35xcTEhZMmSJfv379+8eTMvR+7s7Hzvvfe++uorjuPC\nw8P/+c9/KpVKkUjEy8HdyMjISGVl5ZUrVziOmzNnTlpaWnx8vBdeBw+DGgVCCDGZTB9//HFeXt6D\nBw8CAwN37Nixc+dO3l8QT560/8ILLxw5ciQlJYXfU7gsm81WV1dnMBjGxsYkEkliYqJMJvPz8xM6\nF/AANertOI47fvy4RqPp6ekRiURbtmw5ePDg008/7RmncxGtra1lZWX37t0jhCxbtkwulwcHBwsd\nCniDGvVqFy9ezM7Orq2tJc69PaQ3vwcOHLBYLI67+XUFd+7c0ev1t27dIoSEhYXJ5fKoqCihQwHP\nUKNeavJg5YIFC/bv3+/8wcrJQ7GLFi366KOPtm7d6swADmU2mysrKy9evMhxnL+/f1paWlJSEoZB\nPRJq1OvQV+d79+69f/8+fXW+a9euoKAgofIYDIacnBw6+Tw9PV2n0z3//PNCheHFxMREfX29wWAY\nHR0Vi8VxcXEymSwgIEDoXOAoqFHvUlpaqlKp2traCCEKheKTTz5ZvHixwJn+/zRVsVj82muv/etf\n//pD01Rdx+3bt/V6fX9/PyEkMjJyw4YNTz75pNChwLFQo97iypUrarW6qqqKOGZZkdVqZdwib3Bw\n8MCBA4cPHx4bGwsODtZoNDk5OW70Lvvu3bvffvtta2srISQkJCQjI8O+Lh48G2rU8zlnkfsbb7zR\n39+v0+kYX6Fcv359+/btp06dIoQsX7780KFDL7/8Mk8ZHcVisZw7d662ttZms/n5+aWkpKxduxbb\nCHgP1Kgns1qtR48e1Wq1Q0NDvr6+b7/9dm5u7qMrDtkNDAxERUUNDQ3NmjVLrVazr1OqqKhQqVRG\no5EQkpmZWVBQEBMTw1NYPtlstmPHjg0PD5tMJpFIFB8fn56eHhgYKHQucC4OPFR5ebn9oTIzM/Pa\ntWsOPV1XV1dWVha9BQsLC9PpdOPj4ywHHBsb0+l0dC8+X19flUp17949vtLy4syZM6tXryaEBAcH\nHz9+vLu7W+hEIAzUqAdqaWmxPwgvW7bs5MmTTjv15cuXU1NT6anj4+OrqqoYD9jf369SqWg7h4aG\nsrczLzo6OuzzwxYuXFhUVDQxMSF0KBAMatSj3L17V6PR0NcywcHBdHGn82OUlJQ8++yztEwVCkVb\nWxvjAS9fvrx27Vp7O589e5aXnDNgMpm0Wi39SGdAQIBWqx0dHRUqDLgI1KiHsNlsRUVFdG6NWCxW\nKpW9vb0C5jGZTHl5eXQ6akBAgEajGRkZYTxmSUmJfXqWQqH48ccf+Ug6XRMTEydOnKA/HkQi0ebN\nm9l/PIBnQI16AoPBYJ+ynp6e3tDQIHSiX/D+8OuIdp6Ourq6P//5z/QKJyQksA9WgCdBjbq39vZ2\npVJJ/3lHREQUFRUJnWgKtbW1ycnJNGRycnJNTQ3jASe384IFCxw6NElfnYnFYkII/RKqzWZz0LnA\nTaFG3dX9+/e1Wi3dziMwMFCr1ZrNZqFD/SY65vDUU0/Zxxx6enoYj3nhwoU//elPtJ2TkpLY2/kh\nDx48eGiqwNDQEL+nAM+AGnU/dJBu0aJF9kG6n376SehQ0zIyMqLVamfNmkUICQoK0mq1FouF5YCO\naGeqpKTE/lljhUJx8+ZNXg4LHgk16mYuXry4Zs0a+s87MTGxurpa6ER/WGtrq31T/aVLl544cYLx\ngJPbmd6Ys7Sz0WiUy+U0XnR09KlTpxjjgcdDjbqNzs5O+yBdeHi4uw/SVVRUrFy5krZVRkZGU1MT\n4wEnt/OSJUtm0M4DAwMqlYp+mDMkJESn01mtVsZU4A1Qo26ADtLR5ZV+fn4qlWp4eFjoUDywWq2F\nhYVhYWGEEPr90f7+fsZjzqydH03S19fHmAS8B2rU1ZWUlNg/SqxQKG7fvi10Ip7Re0C6TomXe8A/\n2s4VFRX2T59mZGQ0NjaynB28EGrUdTU3N2/YsIH+846JidHr9UIncqDJf9jo6OiysjLGA07nCf3G\njRuM4wAAHGrUNT16g+YKC8md4KH347du3WI84EPvi+ztTKeL8fVWCrwcatS10G2N5s+fT+cq8jJc\n6F4mz9akA8HsszUnt/OmTZvy8/PpHCmRSKRUKrEzEzBCjbqWq1ev0m0vNm7caDQahY4jmMnTEnhZ\nO2Q2m/ft20dXkdIrnJqaWldXx1dg8GaoUdeyfPlyQkhhYaHQQVzCpUuXJq9kP3fuHOMBOzs7Fy5c\nSAjZvXs3trYDvogJuB5+v5LkvhITE6uqquiSLbpX3quvvtre3j7jA4aHh9NvnMhkMnzrGPiCGgWX\nRle7Go1G+kaouLg4JiZmz549FotF6GgAv0CNghsICAjYs2dPa2urUqkcHR39xz/+sXTp0i+//JLD\nl8TABaBGwW1ERER8+eWX33//fWxs7M8///z666/LZLKGhgahc4G3Q42Cm1m3bt3ly5f/85//hIWF\nnTlzJiEhYdu2bbgtBQGhRsH9SCSSv/3tbzdu3NBoNBKJhH7cWOhQ4L18hA4AMEPz58/Py8t7/fXX\n6WoFAKGgRsG9xcTECB0BvB0e6gEAmKBG3VJTU1NUVNRf/vIXoYMAAB7q3ZPFYrl9+3ZISIjQQQAA\nd6MAAGxQowAATFCjAABMUKMAAExQowAATFCjAABMUKMAAExQowAATFCjAABMUKMAAExQowAATFCj\nAABMUKMAAExQowAATFCjAABMUKMAAExQowAATFCjAABMUKMAAExQowAATFCjAABMUKMAAExQowAA\nTFCjAABMUKMAAExQowAATFCjAABMUKMAAExQowAATFCjAABMUKMAAExQowAATFCjAABMUKMAAExQ\nowAATFCjAABMUKMAAExQowAATFCjAABMUKMAAExQowAATFCjAABMUKMAAExQowAATFCjAABMUKNu\nafbs2ZGRkQsXLhQ6CAAQH6EDwEysWrXq1q1bQqcAAEJwNwoAwAg1Cu7NaDR2d3cLnQK8GmoU3NW9\ne/d27ty5evVqjUYjdBbwahgbBfdjs9k+//zz3bt337lzRyKRBAUFcRwnEomEzgVeCjUKbubMmTNq\ntbqhoYEQsm7dOp1OFxsbK3Qo8Gp4qAe30dHRsXXr1vT09IaGhoiIiKKiou+//x4dCoLD3Si4gdHR\n0YMHDx44cMBisQQEBPz973/fuXPn7Nmzhc4FQAhqFFwcx3H/+9//duzY0d7eLhKJNm/enJ+fv2jR\nIqFzAfwKD/Wu6OzZs0JHcAl1dXWpqamvvvpqe3t7YmJiVVXViRMnWDq0q6uLLlswGAwcx/GXFLwb\nB67k6tWr/v7+hJCNGzcajUah4wims7MzKytLLBYTQsLDwwsLC202G8sBzWbzvn37goKCCCH0Cqem\nptbV1fEVGLwZatS1jI2NFRYWhoWFEUJ8fX2zsrL6+/uFDuVUDx480Ol0c+bMIYT4+fmpVKqhoSHG\nY5aUlERGRtL7BoVCkZ+f//TTTxNCRCKRUqns7u7mJTl4LdSoKxoYGFCpVBKJhBASEhKi0+nGx8eF\n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\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7fed08f1ead0>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "core = Chem.MolFromSmiles('*c1ccccc1*')\n",
    "corea = Chem.AdjustQueryProperties(core)\n",
    "corea"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "get atom mappings; this includes the matched atoms of the wildcard atoms "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "maps = m.GetSubstructMatch(corea)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7, 8, 9, 10, 11, 12, 13, 14)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "maps"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "get the indices of all ring atoms by ring"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rings = m.GetRingInfo().AtomRings()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((2, 5, 6, 7, 4, 3), (9, 10, 11, 12, 13, 8), (16, 15, 19, 18, 17))"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rings"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "rather clumpsy way to remove the substituents in maps\n",
    "a) we sort the atom indices in the rings\n",
    "b) we check if any of the rings is a subset of the larger pattern map ring index set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "sortedRings = ()\n",
    "for ring in rings:\n",
    "    mytuple = ()\n",
    "    ring = tuple(sorted(ring))\n",
    "    mytuple = (ring,)\n",
    "    sortedRings = sortedRings + mytuple"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "for sortedRing in sortedRings:\n",
    "    if set(sortedRing).issubset(maps):\n",
    "        updatedMapping = sortedRing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "now that we have the correct ring atom indices we assign atom maps"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "i = 0\n",
    "\n",
    "for index in updatedMapping:\n",
    "    at = m.GetAtomWithIdx(index)\n",
    "   \n",
    "    if Chem.Atom.IsInRing(at):\n",
    "        at.SetProp('molAtomMapNumber', str(i))\n",
    "        i = i + 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nB+h4ed/BAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7fed254fcd00>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "use case to show my problem"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "i = 0\n",
    "\n",
    "for index in maps:\n",
    "    at = m.GetAtomWithIdx(index)\n",
    "   \n",
    "    if Chem.Atom.IsInRing(at):\n",
    "        at.SetProp('molAtomMapNumber', str(i))\n",
    "        i = i + 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x7fed254fcd00>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [conda env:092016]",
   "language": "python",
   "name": "conda-env-092016-py"
  },
  "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.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
