Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
MCS Fun
{
"metadata": {
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Inspired by this RDKit-discuss thread started by Liz Wylie:\n",
"http://www.mail-archive.com/rdkit-discuss@lists.sourceforge.net/msg03676.html"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from rdkit import Chem\n",
"from rdkit.Chem import MCS\n",
"from rdkit.Chem.Draw import IPythonConsole"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Start with two sets of simple molecules"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"smis = ['CC(C)=C','CC(C)C']\n",
"ms = [Chem.MolFromSmiles(x) for x in smis]\n",
"smis2 = ['CC(C)=C','CC(C)=N']\n",
"ms2 = [Chem.MolFromSmiles(x) for x in smis2]\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"default MCS behavior:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mcs=MCS.FindMCS(ms)\n",
"mcs.smarts"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"'[#6]-[#6]-[#6]'"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mcs=MCS.FindMCS(ms2)\n",
"mcs.smarts"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"'[#6]-[#6]-[#6]'"
]
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"define a simple hash that combines atomic num and hybridization"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def label(a): \n",
" return 100*int(a.GetHybridization())+a.GetAtomicNum()\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"and now use that to label the atoms of the first set of molecules:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nms = [Chem.Mol(x) for x in ms]\n",
"for nm in nms:\n",
" for at in nm.GetAtoms():\n",
" at.SetIsotope(label(at))\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"Chem.MolToSmiles(nms[0],True)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"'[406CH3][306C]([406CH3])=[306CH2]'"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we now use \"isotopes\" as the MCS atom comparator, we get nothing for the first set of molecules:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mcs=MCS.FindMCS(nms,atomCompare='isotopes')\n",
"mcs.smarts\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The second set returns a result:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nms2 = [Chem.Mol(x) for x in ms2]\n",
"for nm in nms2:\n",
" for at in nm.GetAtoms():\n",
" at.SetIsotope(label(at))\n",
"mcs=MCS.FindMCS(nms2,atomCompare='isotopes')\n",
"mcs.smarts\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 10,
"text": [
"'[406*]-[306*]-[406*]'"
]
}
],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"But that's kind of ugly... let's get the SMILES for it."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We start by finding the matching atoms in the first of the modified molecules:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mcsp = Chem.MolFromSmarts(mcs.smarts)\n",
"match = nms2[0].GetSubstructMatch(mcsp)\n",
"match"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"(0, 1, 2)"
]
}
],
"prompt_number": 11
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And now generate smiles for the first unmodified molecule, but only including those atoms.\n",
"We can do this because we know that the atom numbers didn't change."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print Chem.MolFragmentToSmiles(ms2[0],atomsToUse=match,isomericSmiles=True,canonical=False)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"CCC\n"
]
}
],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ok, let's try it with Liz's test case:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"smis=[\"COc1ccc(C(Nc2nc3c(ncn3COCC=O)c(=O)[nH]2)(c2ccccc2)c2ccccc2)cc1\",\n",
" \"COc1ccc(C(Nc2nc3c(ncn3COC(CO)(CO)CO)c(=O)[nH]2)(c2ccccc2)c2ccccc2)cc1\"]\n",
"ms = [Chem.MolFromSmiles(x) for x in smis]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ms[0]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"png": "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\nAAAAAElFTkSuQmCC\n",
"prompt_number": 14,
"text": [
"<rdkit.Chem.rdchem.Mol at 0x1078ed9f0>"
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"ms[1]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"png": "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\ns3v3biZPnqxvZR9gMBiIiIjQNebChQvx9fW1ehI8cOAAUVFR+Pn5AbBmzRpKly7NW2+9pV8SBG2q\ncOvWWk9HbKx+cUWuydvfMOL5HD8O77/Pt5068emnn9KiRQvCw8NZvnw5rVu3xtbWlgoVKrBlyxbe\nfPNN/Pz8cr7e6sYNeP116N4d9Jqung95eUG1avrFq1GjBosWLeK//53Gtm3X9Av8AIPBoOui+szM\nTIKCghicC+vsgoKC6Nixo3mxfmBgIG+++aZl9oedOBH8/LQ/AG/d0j++sK5cnLEqHiUzU6l7j5XJ\nzLz7/PLlh69PTFTq+++V8vZWytZWqTZtVPyaNSo1NfWpRYWEhKhSpUqp4cOHq7S0tOevq8mkVNeu\nSjVqpNTt28//efFUM2feUI6OSkVGWib+mTNnFPBMxyE9i9DQUGVvb69u6nFsxnO4deuWcnBwUGvX\nrlVKKXX+/Hlla2tr2SO0UlKUevllpXr0uP/frMh3pEWY10ybBvv2ac+jo7XTWWNjoVs3+OEH7S/R\nwEBtIsqgQdpMjK++0mZp/vEH/PwzFbp1w87O7qlF9evXj3379rF161ZatmxJ3PNuIfX117B/P6xc\nqQ2KCd2NHFmWvn21ccirV/WPX7NmTUqWLKlb92hQUBA9e/Y0H5Z76NAhzp07p0vsJ1m7di0lS5bk\n9ddfB7St3V566SWMRqPlCi1ZElat0sbH8+hkLvFsJBHmRZcvw/nzcOmS9jprZ4sJE2D8eO0f38GD\nWpfMypXaHP2JE7O1+WaDBg04dOgQJUqUwNvbm4MHDz7T51J37dLqExSkb5+geMiMGVCzprbFW2qq\nvrFtbW2zvedofHw8v/zyC99//z0jR46kVatWhIWF4ePjY75mxowZdO3alZs3b+pZ7YcEBQXRr18/\nihYtilKKoKAgBg0aZNEyAW3npCVLuLh1K5t++sny5QmLkFmjec0332gLe6tWhWvXoEwZuHhRaw2W\nKaNd8/bbMHmyrot6MzMz+eSTT5g+fTqzZs1i6NChj732/PnzNPP1ZcOYMdT/xz90q4N4vGvXtMk3\nr70GCxboG3vgwIE4ODgwa9asR/4+Li6O8PBwIiMj7/v5119/Ubx4cTw8PMzbxR0/fpz9+/cTFhZG\nlSpVuHPnDs2bN8fR0ZGNGzdaZNlObGwsNWrU4Pjx43h5ebF3715at27Nn3/+ed/2dZYUFBTEu+++\n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\ngg==\n",
"prompt_number": 15,
"text": [
"<rdkit.Chem.rdchem.Mol at 0x1078eda60>"
]
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nms = [Chem.Mol(x) for x in ms]\n",
"for nm in nms:\n",
" for at in nm.GetAtoms():\n",
" at.SetIsotope(label(at))\n",
"mcs=MCS.FindMCS(nms,atomCompare='isotopes')\n",
"mcs.smarts"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"text": [
"'[406*]-[308*]-[306*]:1:[306*]:[306*]:[306*](:[306*]:[306*]:1)-[406*](-[306*]:1:[306*]:[306*]:[306*]:[306*]:[306*]:1)(-[306*]:1:[306*]:[306*]:[306*]:[306*]:[306*]:1)-[307*]-[306*]:1:[307*]:[306*]:2:[306*](:[306*](:[307*]:1)=[308*]):[307*]:[306*]:[307*]:2-[406*]-[408*]-[406*]'"
]
}
],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"mcsp = Chem.MolFromSmarts(mcs.smarts)\n",
"match = nms[0].GetSubstructMatch(mcsp)\n",
"smi=Chem.MolFragmentToSmiles(ms[0],atomsToUse=match,isomericSmiles=True,canonical=False)\n",
"print smi"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"COc1ccc(C(Nc2nc3c(ncn3COC)c(=O)[nH]2)(c2ccccc2)c2ccccc2)cc1\n"
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"core = Chem.MolFromSmiles(smi)\n",
"core"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAYAAABNcIgQAAAo/UlEQVR4nO3deVhU9f4H8DcyOCwK\nIiqbMwOImcsPUsDcyI26KS7lFVOR9JriilpqmLcrlrfCpeRmSJSYpqGi3RBTn9RWwy0X3DIzlTkg\noICyKbLMfH5/zGUERGU5MweYz+t5eOQchvP9DJZvvts5ZkREYIwxxkxUC6kLYIwxxqTEQcgYY8yk\ncRAyxhgzaRyEjDHGTBoHIWOMMZPGQcgYY8ykcRAyxhgzaRyEjDHGTBoHIWOMMZPGQcgYY8ykcRAy\nxhgzaRyEjDHGTBoHIWOMMZPGQchYZVlZUlfAGDMymdQFMNYopKUBYWHAM88AZmaASgVMmSJ1VYwx\nIzDj5xEyBiAyEujdGxgyRHc8ciSQmAiYm0taFmPM8HholDEAOH8e8PN7cOzkBNy5I2oTv/76K9Rq\nNcrLy0W9LmOsYXholDFA1xM8fBgYPhzQaICCAqBdO1EunZ+fj4CAAJw/fx4lJSUwNzeHi4sLVCoV\n3NzcoFQqoVQqoVKpoFQq4ebmBmtra1HaZow9GQ+NMgYAt28DS5fq5gdPngSWLdMNjzYQEWHkyJG4\nf/8+Dhw4gJKSEmRmZuLatWv6j4yMDP05tVoNjUYDuVwOV1dXeHh4wNnZGS4uLvDw8NB/KJVKyGT8\neyxjYuAgZKyy/HzAxgYQKWQ+/PBDrFmzBikpKXB0dHzi6wsKCiAIAlJTUyEIAtRqNQRB0J/LysqC\nVquFlZUVQkJC8P7778PBwUGUWhkzVRyEjHXqBGzdCvTtqzv+7DPghRcAN7cGXTY5ORlDhw7Fvn37\nMKRiEU4DlZaWIi0tDYIgICwsDOPHj8fbb78tyrUZM1UchMy03bkDtG0LXLkCeHoCWi1gaQn8/POD\nYKyH3Nxc9OzZE5MmTcL777+vP79y5UpERETohz1rGvpUqVQwr8Vq1bi4OCxbtgypqamwsLCod62M\nmToOQmbaUlIAHx/g3j1ALgdu3AA6dtT96eJSr0tWzAsWFBTghx9+qDKXd+PGDaSkpECtVus/Kg97\nEhFatWoFlUoFd3d3/SKayh9OTk4wMzNDcXExFAoFoqOj8corr4j0A2HM9PBsOzNtajXg6KgLwYpj\nuVy3faKe1q5di+PHj+PMmTMPLWhxdXWFq6vrI7/3zp07Dy2kOXnyJBISEvDnn39Co9GgqKgIAGBl\nZYVp06Zh3bp1HISMNQAHITNtggAolQ+O1Wpdj7BF/bbYHjlyBG+99RYSExPRsWPHOn+/vb09fHx8\n4OPj89DXysvLkZ2dDTMzM/252bNn48MPP8TJkyfh6+tbr5oZM3W8oZ6ZNrVadzu1CtWDsQ5yc3Mx\nfvx4LFiwAMOGDROpwAdkMhmcnZ2rnFMqlRg1ahSio6NFb48xU8FByEybIDwchJWPa4mIMHnyZCiV\nSrz33nsiFvhkYWFh2LZtG27dumXUdhlrLjgImWlTqx8eGq1Hj7BiXnD79u1G3+g+aNAgdOnSBRs2\nbDBqu4w1FxyEzKQd6NABNzp10h9rs7MBhaJO16iYF9y8eXO95gXFMHfuXERHR6OsrEyS9hlryjgI\nmcm6f/8+Xty7FzmVtkm0vXwZB+swNFoxLzh37lwMHz7cEGXWyqRJk1BSUoLdu3dLVgNjTRUHITNZ\naWlpICKo/hd8eXl5yM/P1x8/CRFhypQpUCgUiIyMNGSpT2RlZYWpU6di3bp1ktbBWFPEQchMllqt\nhp2dHdq0aaM/NjMzg7KWc4RRUVE4evQotm/f3iju7DJnzhwkJyfj1KlTUpfCWJPCQchMllqtrhJ6\ngiCgQ4cOsLS0fOL3HjlyBEuWLMGmTZugqOOcoqGoVCqMGDECMTExUpfCWJPCQciMQqsFKt/MT6uV\nrpYKgiBUCcLqwfg4kZGRCA4OxogRIwxVXr2EhYUhPj4eubm5UpfCWJPBQciMYvVqIDhY93lqqu5x\nf1ITBKHKfGD1YHyc9PT0Kq89cuQIfHx8oNFoRK+zLoYOHQpPT0/eSsFYHXAQMqNxcgL27pW6igeq\n9wDVanWtF8rMnz8fMTExKCkpAQA888wzSE1NRWJioiFKrZPZs2dj/fr1KC8vl7oUxpoEDkJmNJMn\nA9u2Af+7Z7TkNBoNFAoFLl68iJycHAiCUOv5vvHjx8PMzAw7d+4EAFhbWzeaVZuvvvoqioqKkJSU\nJHUpjDUJHITMaMzMgCVLgHff1R3v3g1I1WlJT0/HgAEDsGDBAowdOxbe3t4YPnw4XnjhhVp9v1wu\nx/Tp06sE39y5c5GcnIyzZ88aquxHun79OrT/m3i1trbGlClTGkUoA8CFCxcwY8YMdO7cGYGBgcjM\nzJS6JMaq4CBkRtWjh+4OZnl5QGio7lm4UVHG6SUSEfbs2YPnn38eHh4euHLlCuLj43Hx4kW8+eab\neO+99xAbG1vru7PMmjULZ86cwfHjxwHoVm0GBgYaPYCys7Ph7++PjRs36s+9+uqr+Ouvv1BYWGjU\nWioQEQ4dOoTRo0frh40/+OADtGrVCl27dsWuXbskqauKrCypK2CNBTFmQImJRFptzV8rKSHavJmo\nWzeiVq2I5s0jSk0Vv4Y7d+5QZGQkde7cmezt7Sk8PJz++uuvh1534sQJcnNzIz8/P7p27Vqtrj1+\n/HgKDg7WHx86dIisrKwoJydHtPofp7y8nAYNGkQBAQGk0Wj054ODg8nX15fKysqMUkeF3NxcioyM\nJA8PD2rbti2Fh4c/9LOMjY0lS0tLmjdvHpWUlBi1PiIiEgSi0aOJIiKIli8n+uIL49fAGhUOQmYw\ny5cT2dgQ1ZA5VWi1RElJRP36EbVoQTRiBNHx4w1v//fff6fQ0FCytbWl7t27U2xsLBUUFDz2e3Jy\ncmj48OFkZ2dHCQkJT2wjOTmZLCwsKD09XX/Oy8uLPvjggwbXXxvLly8nZ2dnysrK0p+Ljo4mBwcH\nEgTBKDUQEZ07d45CQkLI0tKSevToQZs3b6bi4uJHvv7UqVPk6elJvr6+dPXqVaPVSUREH3xA9P33\nD45HjCAqLzduDaxR4SBkBrF6NZGlJdGPP9bt+777jmjIECKlsoxGjXqJfv311zp9v1arpaSkJAoI\nCCALCwsKCgqigwcPkvZR3dIalJeX07Jly0gmk9F7722lJ3Wq/Pz8KCIiQn/86aefklKpNHhv7ODB\ng2RhYUE//PCD/typU6fI0tKSvv32W4O2TURUVlZGCQkJ1L9/fzI3N6egoCA6fPhwja+9fPkynT59\nusq5/Px8Gj9+PNnZ2dHOnTsNXq/exIlElX8hmjaNKDvbeO2zRoeDkIluwwYiCwtdL6++Tp26TuPG\njSNzc3MaMGAAJSUlPTbMKoY/PT099UNyNQ1/1sXBgwfJx6eY/P2JKnX4HrJp0ybq0KED3b9/n4iI\n7t69S23btqVdu3Y1qP3HycjIIEdHR/rnP/+pP5eXl0edOnWi119/3WDtEul6zRXDn48batZoNLRv\n3z568cUXyczM7JF1bd68maytrQ0/VFox7r5hA9HevbrPy8uJxo0zXJusSeAgZKLatUsXglu3PjhX\nVqabK6yPrKwsioiIIHt7e3J3d6eoqCi6e/eu/usXL16k0NBQat26NfXo0YNiY2OpsLCwge/igexs\nosBAIltbokeNlN6/f58cHR1py5Yt+nOLFi2igQMHilZHZeXl5TR48GAaOnRolXnBoKAg6tu3L5WW\nlhqk3crDn127dn3kUHNOTg5FRESQi4uLPiivXLny2GufPn3aMEOlJSW6/xh79yZq3Zro7l2i3Fyi\nGTOIZs4k8vV98BtbpZ8lMy0chEw0P/1EZGVFFB394JxGQxQSQqRSEeXl1f/aOTk5tGLFCnJ0dCSF\nQkFLly6lv//97ySTyWjo0KGUmJhYJRTEpNUSRUURyeW6BT01dVrefvtt8vHx0R+npqaSTCajlJQU\n0etZsWIFOTk51TgvqFarRW2r8vCnmZkZjRgxgg4ePFjjz/rs2bMUEhJCcrm81nOylRUUFOiHSmsz\nP/tYqam6vyw7OyJXV6LISKLMzKqvycsj/bj3pUtETz9NlJzcsHZZk8RByERx7tx5euaZP+ittx6c\n02qJJk8mUip1C/XEUFxcTLGxseTu7k7jxo2jixcvinPhWvjtNyIPD10novqi0hs3bpCFhQUdO3ZM\nf2706NH02muviVrDoUOHSCaT0f79+/XnKuYF9+zZI2pbREQfffQRtWzZkqZMmfLQHB9R3eYJa6tB\nQ6UHD+oWv7RoQdS3r64bX5trlJXpVpGamxOFh/PiGRPDQcga7OrVq+Ts7Ezz5y+ucn7ePCJHR6LL\nlxt2/ZKSEsqs9Nt8fn4+AaDff/+9YReuh1u3iIYNI+rQQReGGs2D7SHjx4+niROD9ecqtlLcuiXO\nVorMzExydHSkJUuW6M9VzAvOmzdPlDaq8/T0pNjY2IfOVx7+dHBwoPDwcFGHNOsyVFpaWkrbtm2j\nfv360RV3d6KRI3WBWIcFUnp79hA5OBANGkR040Y9q2dNDQcha5Dr169Tx44d6R//+EeVxSzvvUfU\npg3RmTMNb+OHH34gGxsb/fH58+cJQJW5QmPSaol27tT9GRlJNGGC7vyuXcnUooUF/etf6VTRKerS\nxYuee67hWynKy8tpyJAh5O/vX2U1alBQEPXp08cg84IajYbkcnmVlbuV5wm9vLyeuE2iIQoKCmjC\nhAlka2tb41DpzZs3acWKFfq5yIULF9INMcI4LY1owACi9u2JKvW8WfPFQcjqLTMzkzw9PWnMmDFU\nXmko6YsvNpG//0767jtx2tm0aRN17dpVf7x3715q166dOBdvoMhIotdfJ/r2W6Lr14lcXPzohRci\nKCFBN031+uufkq1tw7dSvP/++9SuXTtKS0vTn4uOjiY7OzuD7cPLyMggAFX2I44dO5aGDx9O+/bt\nM9icbHUVQ6WhoaFUUlJCBw8epBEjRpC5uTkFBARQQkKC+KtNS0qI5s8nksno/qpVRnuvTBochKxe\nbt++TV5eXvTcc8/RvXv39Oe3b99Ocrmckhqyd6Kad955h1588UX98fr166ssTJFSZCRRSgpRcDDR\n+fNEI0duolatOtCkSffp7beJpk0rpCFDPtJvraiPX375hSwsLGjfvn36cxXzgobcf3f06FGysLCo\n8ktOuURzZ8eOHSOlUkleXl5kYWFBr7zySoPnImvlm29o9eDB9OKLL1I27zVstvheo6zO7t69i8DA\nQJibm2PPnj2wsrICAOzfvx+TJ0/Ghg0bMHLkSNHaq/6cwLo8N9AYKt9MvHt33VMp3N13YsUKYPHi\nVvD1fR1yubxe187Pz0dISAhmz56NYcOG6c+NGzcOU6dOxdixY8V8K1UIggBXV1eYm5vrz1X+3Jie\nffZZfPzxx/jrr7+gVquxfft2DBgwwPANv/QSQrZtg0ajQbdu3XDgwAHDt8mMjoOQ1VliYiJSU1OR\nlJQEW1tbAEBycjLGjh2LNWvWYNKkSaK2V/05gdUfqNsYVNxM3NxcjmefnY6EhChRrmtra4tly5Zh\n1apV+nPTp0+HnZ0dPvroI1HaeJS6PJ/REH744Qds27ZNf3znzh24ubnB2dnZqHU4Ojpi//79mD17\nNgIDA7FkyRLJH8DMxCWTugDW9OTl5YGI0KZNGwDAlStXMGbMGISGhmLu3Lmit1e9B6hWq+Hr6yt6\nO/URHv7g8zVrdH+mpYWiV69PMWHCBDz99NN4+mklDh1SQKlUQqlUwtLSstbXNzMzw9SpU/XHMTEx\nOHDgAE6dOlXvXmZtSd3z/uabb1BQUIAJEyYAkDaYzc3NsXz5cgwcOBDBwcE4ceIE4uPj4eTkJEk9\nTFzcI2R1NnPmTDg4OOC9994DALRu3Rpz5swxSA+FiB7qAUrdU6luyBBg+/YHxwqFAocOHYKtrS2O\nHz+ONWvW4OWXX0aXLl1gZWUFR0dH+Pn5YcyYMViwYAHWrl2LXbt24fjx48jMzAQR1djO6dOn8cYb\nb+Dzzz9Hp06dDP6+pO55q9XqRjckPnjwYBw/fhylpaXo06cPBEGQtB4mDu4RsjozNzfHypUrMXbs\nWMycORMqlQrLli0zSFu3bt3C/fv39f8AlpWVITMzU/J/ECs7exb4X+dYz9vbG7GxsVXO3blzB4Ig\nVPlIS0vDyZMnoVarkZmZCY1GA7lcjo4dO0Kh0PUiVSoVOnTogI8//hgTJkxAUFCQUd6XWq3GiBEj\njNLWo9ofNWpUleMhQ4ZIVk8FhUKBn376CV988QU6duwodTlMBByErF4CAwPh7++PpUuX4quvvjJY\nO4IgQCaTwdXVFQBw48YNaDSaRtMjLCwEbt8GalOOvb097O3t4e3tXePXy8vLkZGRAUEQoFarkZaW\nhrS0NJw5cwZXrlxBWVlZlblCQ5O6513TIqnG8vcuk8kwffp0qctgIuEgZPW2evVq+Pj4YM6cOejX\nr59B2lCr1XBxcYFMJtMfW1tbo127dgZpr64qRsbE6KDKZDL9PGL1FZEajQadO3fGzp07MWvWrIY3\n9gQFBQXIy8uTrOedn5+PvLw8ffDVNETOmFh4jpDVm7e3NyZPnoxFixY9cl6roWpaMapQKGBmZmaQ\n9upKEAAHB8DGxrDtmJubY8aMGVi3bp3BftaVCYIAMzMzyYKwon2FQgEAuHnzJkpKShrVkDhrPjgI\nWYMsX74cKSkp2L//qEGuX9OK0cbUK1CrazcsKobQ0FAIgoDvv//e4G2p1Wq0a9cO1tbWBm+rNu1X\nHyJnTEwchKxBFAoFli+/ijfe6IeyMvGvX1OPsDH1CgTBeEFob2+PiRMnYt26dQZvS+qfc00rhatv\n7mdMLByErMHCwpxx7x7wySfiX7sp9AiNmRfz58/H3r17cfXqVYO2I/XPuXoQSh3MrHnjIGQNZmUF\nvPMOsGIFkJsr7rUbe49QLt+Kbt1+N1p73bt3h7+/P9avX2/QdqT+OVffQyh1MLPmjYOQiWLyZMDD\nA/j3v8W7ZmFhIW7fvq3/B7Exrhw8dGgpHBwuGbXNsLAwbNy4EUVFRQZrQ+rgqWkzfWP6e2fNCwch\nE0WLFsDq1cD69cCVK+Jc08LCAklJSfDw8AAA5OTk4N69e42mR1hWVoaMjAyj/wM9evRo2NvbY8uW\nLQZro3qP8Pbt2ygtLTVYezW1X32OsLH8vbPmh4OQiWbwYOCFF3RPYhCDpaUlRo4cqb83pyAIMDc3\nbzR386jY3G/sf6DNzc0xc+ZMg22lqLh7T+Ugmj9/Pvz9/ZGamip6e9WVlpY+1L7UQ7WseeMgZKJa\nswbYswf45RdxrldUVITDhw8jKioKS5cuhVKpRH5+vjgXbyBBEGBtbY327dsbve3p06cbbCvFqVOn\noNFoqvzCER0dDTc3N3h5eVV5IoQhpKenQ6vV6oOvYoich0aZoXAQMlF16QLExQGenkDlzopW++Tv\nLSoqwq+//oqoqCiEhISgW7dusLOzw9ChQ/Hll19CoVDAyckJPXv2xK+//mq4N/EI165dw4kTJ/TH\narVass39hthKceTIEUyYMAHPPfccVCoVgoODcfPmTQC6x0Ht2LEDa9aswT/+8Q+8+uqruHfvnmht\nVyYIAmxsbPR3D6q4sTX3CJmhcBAy0YWEAFu2AMHBuuPUVKD6Pbmzs3U9x+XLgZEjARcXIDBwK/72\nt79h165daNu2LZYsWYJz586huLgYp0+fxoYNG5CcnIxFixYhICDAKM+FIyIcOnQIo0ePRufOnavc\nSFvq4ToxtlLcvXsX//nPf9ClSxcMHToUtra2OHr0KE6cOAGZTIYePXpg3759+teHhobiyJEjOHr0\nKPz8/HDx4kUx3koV+fn58PLy0h+r1Wo4ODjAxtC372GmyzAPvmemLjKS6PXXib79luj6daI33yT6\nz3+IQkKIunUjMjcnsrIi6t2baMYMothYopMn79L9+/drdf3jx4+Tu7s7DRw4kG7cuCF6/Tk5ORQZ\nGUkeHh5kY2ND8+bNoz/++KPKa0JDQ+m1114Tve26GDRoEL3xxht1/r5Lly5RaGgo2draUseOHSky\nMpKysrKqvEar1VJkZCTJZDKaN28elZaW6r+Wn59P48ePp9atW1N8fHyD38fjxMTEUK9evQzaBjNt\nHITMICIjiVJSiIKDic6fJ1qyhGjoUF04fvml7lxZWcPayMnJocDAQGrfvj3t379flLr//JNowQKi\np54aTC4uLvTuu+8+FBBERHfv3qU+ffrQggULRGm3vr7++mtq06YNFRYWPvG1Wq2WkpKSKCAggFq0\naEH9+/enhIQEKikpeez3/fTTT+Ti4kK9e/ema9euVfna5s2bydramkJCQuju3bsNei+PsmTJEnr5\n5ZcNcm3GiDgImYFERhKdPasLvKAgon/+0zDtaDQaeuedd0gul1NU1CXSaOp+Da2WaP9+ouHDiVq0\nIOrXj+ibb65W6QFVuHr1Ki1cuJDs7e3J3d2drKysKC4uToR3Uj/l5eXk7u5O69evf+RrCgsLKSoq\n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\nRK5CYII=\n",
"prompt_number": 18,
"text": [
"<rdkit.Chem.rdchem.Mol at 0x1078e5bb0>"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment