{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# myChEMBL iPython Notebook Tutorial" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A Chemoinformatics taster using the RDKit toolkit and cartridge, the ChEMBL database and Pandas" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### myChEMBL team, ChEMBL group, EMBL-EBI." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### myChEMBL publication (Open Access): http://bioinformatics.oxfordjournals.org/content/early/2013/11/20/bioinformatics.btt666.abstract" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Start with something relatively easy" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hello World!\n" ] } ], "source": [ "print 'Hello World!'" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1+4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Import IPython helpers" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%matplotlib inline\n", "%pylab inline\n", "from IPython.display import Image\n", "\n", "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Import RDKit libraries" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from rdkit.Chem import AllChem as Chem\n", "from rdkit.Chem.Draw import IPythonConsole\n", "from rdkit.Chem import Descriptors\n", "from rdkit import DataStructs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simple RDKit stuff - Molecules, descriptors and similarity" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Molecule from SMILES" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "smi = 'CCCc1nn(C)c2C(=O)NC(=Nc12)c3cc(ccc3OCC)S(=O)(=O)N4CCN(C)CC4' #sildenafil\n", "m = Chem.MolFromSmiles(smi)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAYAAABNcIgQAAAkn0lEQVR4nO3dfVzNd/8H8NcpKkUq\n3UpumrmrmLlJlCkroqTINVwa12yzaezOXC4/tHZdlo2my7U712ZsM1QjU1MRUjrlbtFSCbsoKjfl\nuOn+9P798Z1Dbk+d7+l70vv5ePRwzrdzPp/3SQ8v3+/3cyMjIgJjjDHWRulJXQBjjDEmJQ5Cxhhj\nbRoHIWOMsTaNg5AxxlibxkHIGGOsTeMgZIwx1qZxEDLGGGvTOAgZY4y1aRyEjDHG2jQOQsYYY20a\nByFjjLE2jYOQMcZYm8ZByBhjrE3jIGSMMdamcRAyxhhr0zgIGWOMtWkchIw9wldffYWEhASpy2CM\naRkHIWOPoFQqMWXKFPz4449Sl8IY06J2UhfAmK6aP38+HBwc8NJLL+HMmTMICwuTuiTGmBbIiIik\nLoIxXZaamoqAgACEhIRg7dq10NPjCymMPU04CBlTw/Hjx+Hr6wsfHx9s2LAB7du3l7okxphIOAgZ\nU9O5c+fg4+OD/v37Izo6Gh06dJC6JMaYCPgaD0NKSgpu3LghdRk6z9HREWlpabhw4QLGjx8PhUIh\ndUmMMRFwEDJMmzYNmZmZUpfRKtjZ2eHAgQNQKpVwd3fHxYsXpS6JMaYhDkIGW1tblJaWSl1Gq2Fu\nbo7k5GQ4ODjAw8MDZ86ckbokxpgGOAgZ7OzsOAibyNjYGHFxcXB1dYWHhweys7OlLokx1kwchIzP\nCJvJwMAAP/30E2bMmAFPT0+kp6dLXRJjrBl4Qj2Dra0t3+tqJplMhjVr1sDa2hre3t7YvHkzgoKC\npC6LMdYEfEbI+IxQBIsXL8aaNWswffp0bNiwQepyGGNNwGeEjINQJG+++SaMjY0RGhqKsWPHokeP\nHlKXxBhTA58RMtjZ2aGkpETqMp4Ks2fPhr29PZKTk6UuhTGmJg5CBltbWygUClRWVkpdSqtXXl6O\nwsJCjBo1SupSGGNq4iBksLW1BQCUlZVJXEnrl5WVBTMzM/Tv31/qUhhjauIgZLCwsICBgQFfHhWB\nXC7H8OHDIZPJpC6FMaYmDkIGmUwGGxsbHjAjArlcDjc3N6nLYIw1AQchA8Cry4hBqVQiKyuLg5Cx\nVoaDkAHgKRRiyM3NRWVlJUaMGCF1KYyxJuAgZACEIOR7hJqpzMnBS+PGwdTUVOpSGGNNwEHIAPCl\nUTGM2LMHP9rbS10GY6yJOAgZAPBgGTHI5QDfH2Ss1eEgZAB4dRmNXbkCFBZyEDLWCnEQMgDCPcKy\nsjJUVVVJXUrrlJUFmJsDfftKXQljrIk4CBkAwMXFBRMmTICjoyNWrlyJ8vJyqUtqXeRyYMQIgCfS\nM9bqcBAyAICJiQl27NiB9evXIz4+HnZ2dggJCUFeXp7UpbUOfH+w1WloaAARSV0G0wEchExFT08P\n/v7+yMjIQEpKCioqKuDi4gJ/f3/s3btX6vJ0V309cPgwB2ErExoaiiVLlkhdBtMBHITsodzd3bFr\n1y5kZ2eja9eu8Pf3x9ChQ/H9999DqVRKXZ5uqa4G3nkHGDZM6kqYmhYvXozt27dj7ty5UpfCdICM\n+NoAU0NpaSm++uorREVFwcLCAgsWLMCrr74KY2NjqUtjrElWr16N8PBwpKSkYBj/54WBg5A10c2b\nN7FhwwasXr0aNTU1ePPNNxEaGgpLS0upS5NOaiowa5bw+IcfgBdekLYe9kjffvstQkNDkZCQAC8v\nL6nLYTqCg5A1S21tLbZu3YpVq1bh7NmzmDZtGpYuXYq+bXH6wMCBwMqVwojRJUuAkyelrog9xPbt\n2zF9+nRs27YNkydPlrocpkM4CJlG6uvrERsbi08//RQ5OTmYPn06/u///g/PPvus1KW1nA4dAIUC\nIALMzACei6lzDh+uRmDgs3jvvXfw7rvvSl0O0zEchEw0e/fuxfLly9GrVy9s3rxZ6nJajosL8PHH\nfEaoo/LyAA8PYOHCMixbZiN1OUwHcRAyUcnlcowZMwbV1dVtZ5f2ffuAl18WHoeFAdbWgL+/pCUx\nQWEh4O4OzJgBfPaZ1NUwXcXTJ5io7OzsUFtb27ZWpvHyAoqKhK/aWmDKFGDTJqmravNKSwFfX8DT\nE1izRupqmC5rJ3UB7Olia2sLQJhu0aVLF4mrkcAbbwA2NsDMmcI1uYgIqSvSaXV1dWjfvr3o7V6/\nDvj4AM8+Kwzk1eP/8rPH4F8PJiojIyOYmZm17Z0sgoKAhATgyy+Bt94CGhqkrkjnVFVVYebMmejY\nsSOeeeYZhISEICoqCseOHUODhj+v6mogMBDo1An4+WdACznLnjIchEx0tra2vLehlxeQkgJERwMh\nIUBdnVa7u3XrllbbF1NNTQ38/f2Rn5+P1NRULFq0CAAQFRWFoUOHwt7eHkFBQVi9ejUyMxVNHoRb\nVQXY2QHbtwO83gNTBw+WYaLz9PTExIkT8f7770tdivR+/x0YPx5XJ01Cp88+g6GhoWhNHz9+HHFx\ncYiLi8Pt27fRv39/bNu2DSYmJqL1ITalUong4GCcOnUKaWlpsLKyavT9S5cu4dChQzh06BDkcjlO\nn07B7dsdMXiwsJTriBHAyJFA9+6N25XJgGXLgPBw4TH/q8aagoOQiW7GjBno2rUrVq9eLXUpOoHO\nn4dvcDDqTU0RFxeHjh07NqudmpoaJCcnIyYmBrt370ZVVRUmTJgAPz8/jBw5EiEhIaipqcHu3bth\nbW0t8qcQxxtvvIGdO3ciPT0djo6OT3x9VRVw/Liw3eOdr/PnAXt7IRQjI4VQlMkACwthE5C+fTkI\nWdPwYBkmOltb27Z9j/A+sh49sCUpCf7+/hgxYgSSkpJgb2+v1nsVCgV27tyJmJgY7Nu3DwYGBvD3\n98eGDRvw4osvokOHDqrX7tmzB1OmTIGbmxuSk5PxzDPPaOsjNcuKFSsQHR2N1NRUtUIQENYqGDVK\n+LqjtFTY7CMrS1i/4I7XXwfefFPcmlnbwGeETHSrVq1CcnIyUlJSpC5Fp1RWVmLq1KnIz89HcnIy\nevfu/dDXXbx4EbGxsYiJiUFmZibs7OwQFBSE4OBguLm5QV9f/5F91NbWIiQkBAcPHkRiYiIGDhyo\nrY/TJJ999hmWLVuGlJQUuLq6it6+TAZUVAC9egkjRvlfNdYUPFiGic7Ozo4HyzyEsbEx4uLi4Orq\nCg8PD5w4cUL1vVOnTiEsLAxOTk7o1q0bfvjhB7z44os4ceIEioqKEBUVBXd390YhmJ+fj4iICLzw\nwgu4ffs2AMDAwACbN29GQEAAxowZg0OHDrX457zfxo0bsWTJEuzYsUMrIXiHmRmweLHWmmdPM2JM\nZElJSWRubi51GTqrvr6e/va3v5GVlRWFhobSkCFDCAANGjSIVqxYQcePH3/o+5RKJWVkZNDixYup\nb9++pKenR25ubrRq1SpSKBQPvD4iIoJMTEzo119/1fZHeqSEhAQyNDSkzZs3S1YDY0/CQchEd+LE\nCQJAVVVVUpeisxoaGsjPz4+ef/55ioyMpHPnzj30dTdu3KBNmzZRcHAwmZubk6mpKc2aNYuio6Op\nvLz8if2sW7eOjIyMaMuWLWJ/hCc6ePAgGRsb0+eff94i/Z06RTR0KFFNTYt0x54iPFiGic7Ozg4A\nUFZWhh49ekhcjW6SyWQoLi7GvHnz8Prrrzf6XklJCaKjoxEfH4/09HSYm5sjODgY0dHRcHd3h5GR\nkdr9hIaGwsLCAi+//DIuXbrUYjsvZGdnw9/fH++99x7ebKERLI6OQEGBMH3T17dFumRPCQ5CJjpL\nS0u0b98epaWlHISPcPPmTeTk5MDNzQ2AML9u/fr1iIuLw4EDB2BtbY1Jkybhgw8+wJgxYzRahmzG\njBno3Lkzpk2bhsuXLyNCy8u+/fHHH5g4cSJmz56N8PBwrfZ1L0NDYVm1nTs5CFnTcBAy0clkMlhb\nW/MUisc4cuQITExM4OzsDADQ19dHYmIihg4din/+858YOnSoqLt3TJw4Efv378eECRNw8+ZNrFu3\nDnpaWICztLQU3t7eGD16NCIjI0Vv/0kCAoBFi4AvvuD1RZn6OAiZVvAya48nl8sxbNiwRmG0c+dO\nrfY5fPhwpKamYvz48SgpKcGWLVtEXemmoqICPj4+6NOnD77//nutBO2T+PsDc+cCmZnCCjSMqYP/\nz8S0goPw8eRyueqyaEtycnJCWloafv/9d9XZoRhu376NiRMnwtTUFLGxsVrZUUIdZmbA6NHC5VHG\n1MVByLSC5xI+GhEhMzNTkiAEgJ49eyItLQ0VFRUYO3Ysrl69qnGbX3zxBcrKyrB9+3YYS7zSdUCA\nsOA2Y+riIGRaUVNTg7y8vLa1Qa+aTp8+jfLycowYMUKyGmxsbLB3717U1NTgq6++0ri9zMxMvPDC\nCzqxxqm/P1BTU4/TpzUPeNY2cBAy0a1cuRJbt25FcXEx+vTpg6+//lrjPeaeJnK5HH369IGFhUWL\n952dnY2zZ88CACwsLDB06FCcO3dO43YnT56MX3/9VSf+nnv0AKysXLF9+zdSl8JaCQ5CJpq6ujq8\n/PLL+PTTT5GUlIQzZ84gMjISK1aswIABA5CUlCR1iTpBqvuDALBw4UJsv+e6oViXaP39/VFeXo6s\nrCyN2xJDUFBQo8/J2ONwEDJR3LhxAxMmTEBqaioOHToET09PyGQyhISEID8/H5MnT8akSZPg7++P\n8+fPt3h9MhmwfPndx1LKyMiQJAhra2tx5MgRVd8VFRXIy8sTpRYzMzOMHj1a6yNf1RUYGIijR4+i\nqKhI6lJYK8BByDRWVlaGsWPHory8HHK5HAMGDAAA5ObmIi0tDWZmZoiIiMDJkydRV1eHAQMGICws\nDNXV1S1a5+efA6dPt2iXD1AoFDh16pQkQXjy5EkolUoMGTIEAHD48GGYmpqq/r40FRAQoDNnYQMG\nDECfPn10JpiZbuMgZBr54496eHtPRMeOHZGSkqJaXu3AgQNwd3dHfHy86rV9+/ZFYmIitm7dik2b\nNsHFxaXR98VSWQns2AFs3dr4uC7sV3f48GF06tQJTk5OLd63XC7HoEGDVHsYyuVyDB8+XLT5fkFB\nQThz5gxOnTolSnuaCggIQFxcnNRlsFaAg5A129GjwMiR7eDtHY3ExESY/blL6vr16zFu3DiEh4dj\n1apVD7zP398fp06dwsyZMxEcHAxvb2/k5+drVMu1a8CmTUBgIGBlJYRebm7j13zwAXDsmEbdaCwj\nI+OBifQt5f57k2Lfq7S3t8eQIUN0JnwmT56M1NRUHrnMnoiDkDXLtm2Ahwfw9tvAmjWOqhVKwsLC\n8M4772Dbtm146623Hvn+Dh06ICwsDKdPn4adnR0GDRqEhQsX4tatW2rXUFR0C//+NzB2LGBrC3z4\nobAx66+/AiUlwEcfNX79vfvV/fxzEz+wSORyOUZKtOTJvfcmGxoakJWVJfol2hkzwpCXN0XUNpvL\n1dUVVlZWSEhIkLoUpuuk3v6CtT4REUQGBkQbNtw9plQShYenUufOnSklJaXJbaakpJCTkxPZ29vT\npk2bHvm6nJwc+uijj2jIkCHk4NCLBg0iWrGC6Lff1O9ryxYiQ0OiL79scpkaUSqVZGZmRrt3727Z\njomouLiYAND//vc/IhJ+jnp6elRRUSFqP7//TiSTEV24IGqzzaJQKOi5556jHTt2SF0K03EchExt\nSiXRggVEnToRJSXdPV5ZSRQURNS9O9Hvv/+v2e3X1tbS2rVrydTUlDw9PSknJ4dqamrol19+oVmz\nZpG1tTUZGBiQn58fbdq0iS5fvtzsvlJShM+xeDFRQ0Ozm2mS3NxcrYSPOn7++Weyt7dXPV+/fj31\n799fK3316UP0n/9opWm13bp1i1xdXcnDw4MqKyulLYbpPL40ytT26qvADz8A8fHCdjcAUFYmrO14\n/jyQlQU4OTV/26X27dtj4cKFyMnJgaWlJYYOHYpu3bph2rRpqKiowMqVK1FcXIxdu3YhJCQEVlZW\nze7Ly0vYt+7bb4G//Q2or292U2rLyMhA3759VfdSKysrsXv3bu13DOGSrKura6Pn2hq5GhAASHmb\nsK6uDn/5y19QU1ODXbt2qQYHMfYoHITske6fe+fnB6SlCcEHCJugurkBNjZAaqpwn04T169fBwB0\n794d0dHRcHZ2RkBAAK5cuYJdu3bhlVde0Sj8iIR7hH8urIJhw4CDB4VADA4GtD2b4+DBgw8MVgkM\nDMS///1v7XaMB+cuajMIJ08Wfh8qKrTS/GM1NDRgzpw5OHXqFBISEtC5c+eWL4K1PlKfkjLdBRBZ\nWBAVFAiP71VeTmRnRzRjBlFNjeZ9NTQ0kJWVFSUkJBARUU1NDRkZGVF6errmjf+puprIz4/I1pYo\nO/vu8cJCol69iObMuSb6ZbTs7GwKCwujwYMHk5WVFbm6upJCoVB9f//+/WRqakoLFiwgpVIpat93\nVFdXk6Ghoepnee3aNZLJZJSbm6uV/pRK4Xfjhx+00vxjzZ8/n2xtbenMmTMt3zlrtTgI2SMBREuW\nEI0d+2AQEhHt3y/e/bWCggKSyWR05coVIiLKysoiAwMDqqqqEqeDP9XXE73+OpGJCVFi4t3jFy8S\nubsHkYeHh0b38O69p2llZUWGhoaqe5pnzpwhDw8PGjBgABUVFanec/ToUbKysqK//vWvVFtbq8Gn\ne7jMzMxGP8tff/2VzM3NqUGLN0dfe41oyhStNf9QK1euJDMzMzpx4kTLdsxaPQ5C9kgAUUUFkZnZ\nw4NQTBs3bqTevXurnq9du5ZcXV211t+dka/btt09dvPmTfL29qb+/fvThSYMe1QoFLRp0yby8/Mj\nExMT6ty5M82aNYt++eUXun37dqPXVldXU1BQEPXs2ZMKCgpUx/Py8sjBwYH8/PxEPyuNjIyk4cOH\nq54vW7aMxo0bJ2of99u1i8jUlEgLuf5Q69evJyMjI9q/f3/LdMieKnyPkD3WvXPvtEnbk73vt3gx\nEBYGhIYSNm8WluHq2LEjdu3aBScnJ7i7u6OgoOCR77906RKioqLg7e0Na2trLFmyBI6OjkhMTMS1\na9fw/fffw9/f/4G9+QwNDREdHQ0vLy+MHj0av/32GwCgX79+SE9PR2FhIcaPHw+FQiHaZ23pny0A\neHsDOTlAS+zPGxsbi9DQUGzbtg1jxozRfofs6SN1EjNGROTi4kJffPGF6nn37t1p272na1qyadNu\nateuHa1Zs0Z1rL6+nubOnUsWFhYkl8tVx/Py8mjFihU0ZMgQ0tPTo/79+9OKFSvo6NGjTb6/19DQ\nQO+//z517NiR9uzZozp+7do1GjFiBDk5OVFxcbHmH5CIevfuTT/99JPqs3Xq1ImS7p3/okUA0bJl\ndx+LLTk5mQwNDR8795SxJ+EgZE+0ezfR229rr/3r16+Tnp4eZf85gqWoqIgANOnypCbi4+PJ2NiY\nQkNDVYGmVCpp/vz5ZG5uTvPnz6dhw4aRTCYjZ2dnWrp0KR09elSUe2wRERFkaGhIMTExqmN3LtH2\n6tWLTp8+rXEfVVVVqvuDJ0+eJD09Pbp+/brG7arjcQOuNHX06FEyNTWlf/3rX+I2zNocDkL2REeP\nEunrE509q5329+zZQ506daL6+noiIoqJiaFu3bppp7NHyMzMpC5dutCMGTMaDVjx8/OjwYMH0yef\nfEKFhYVa6fu7774jQ0ND+u9//6s6Vl1dTVOnTiVbW1v6rSnL5jzB119/TU5OTqK19yT3D7gS63co\nPz+frKys6L333hOnQdamcRAytbi5EWnr35zw8HDy8vJSPX/33Xdp6tSp2unsMe6M3vz73/+uOubq\n6kqRkZFa7zsuLo46dOhAERERqmN3LtGamZnRwYMHNWr/6tWrtHHjRnJ3d6eJEydqWq7a7h9wpadH\nZGNDFBBAtGoV0cGDRPeNJ3qiCxcukIODA82ZM0erI19Z28FByNSydavwj9nNm+K37evrS0uXLlU9\nd3Nza3TPriUVFBRQSUkJEQmXFA0MDBrdJ9Smffv2qeYU3vkHvqGhgRYtWkSGhob0888/N6m98+fP\nU1RUFHl5eVG7du2oZ8+eNHPmTDIzM2t0GVib7lwO/fjju6G4e7ewPqyPjzCytH17omHDiP7xjwv0\n008/qdZDfZhr166Rs7MzTZw4UStTTVjbxEHI1FJXR+TgQPT55+K2e2ch6vj4eCISwsfQ0JAyMjLE\n7agZDh06REZGRlRdXd1ifd45Kw0JCaG6ujrV8WXLltHXX3/92Pc2NDRQWloaLViwgBwdHUlPT49G\njRpFa9eupbP3XJPMy8uj7t2706RJk0SfqnH9ujC/VF1KJVFODtH69URLluyjfv36kUwmIzs7OwoK\nCqLVq1dTeno6VVVV0a1bt2jEiBHk7u7O64cyUcmIiKQeucpah48/BjZuBPLyALG208vLy4OTkxOu\nXr0KCwsLyOVyeHp6QqFQqLZ2kkpkZCRiY2ORkZHRov3m5+dj3LhxeO6557B169bHrpVZW1uLpKQk\nxMTEIDExEQqFAj4+PggODoavr+8jl6S7dOkSxo8fDwsLC+zcuVOUpciqq4Hx44WNkbOyhGX5mqO8\nvByZmZnIzMxERkYGDh8+jJqaGjg7O+P27dtIS0vTaKk9xu7HQcjUVlEBODgIe/mNGydOmxs2bMAn\nn3yi2pg3MjISMTExkMvl4nSggeDgYPTo0QOrV69u8b5LSkowbty4hwbVjRs3EBcXh/j4eOzduxdK\npRIBAQEIDg6Gl5cXTExM1OqjoqICfn5+uHHjBpKSktC1a9dm11tXJ2yKfO6csH6rpWWzm3qAUqlE\nbm4url27BmdnZw5BJjqeUM/UZm4OzJgBiLlGtBSTvdV1/0LVLcnOzg6pqamora2Fl5cXcnJyVBP4\nbWxssGTJEtjZ2SE6OhqXL19WTeBXNwQBwNzcHLt374alpSW2bAlFbW1Rs2ptaADmzAFyc4HkZHFD\nEAD09fUxcOBAeHp6cggyreAzQtYkubnAwIHCn/36ad6es7MzFixYgNdeew0AYG9vj7Vr1yI4OFjz\nxjVw8eJFdOvWDUVFRejWrZtkdSgUCgQEBKCoqAi1tbWYNGkSAgMD8cILL6C9SMu2VFdX4+LFl1FZ\nKcezzybByKh/k95/4sQP+MtfZiA2Vh/OzqKUxFiL4iBkTebtDfTvr/mZYUVFBbp06YITJ07AxcUF\nFy5cQI8ePSQPHwCIjQXCw6/g5Enpz0AaGhpw5coVWFtbQ9bcG29PRCguXoSrV79F79470bHjaLXe\nVVYWiUuXlqF3733o1Mn1yW9gTAfxpVHWZAsXCoNmNF0O08TEBPv27cOAAQMACJdFHRwcJA9BAMjI\nAAYMkD4EAUBPTw82NjZaDEEAkKFbt9Wwtf07Tp/2QUXFz098x+XLUbh48R/o3TueQ5C1au2kLoC1\nPr6+wGefab6gsoGBQaNFknXr/iDw0ktSV9HybG0Xo317G/zxx0woleWwtHz1oa8rL9+K4uJFcHSM\nRqdOni1cJWPi4iBkTaavD7zyijA8ftkyIDxceKzuRfaqqiqUlJSgpKQEZWVluHjxIi5fvozExEQE\nBgZqt3g1VFcDv/0GREVJXYk0unSZDZmsPYqK3oaZWSDatXtw9EtdXQns7SNgZja55QtkTGR8j5A1\nm0wGWFgAcjnQty9QXg6UlABlZcDFi8Dly0BxsfDnxYuAlVUEkpMjVFsMGRgYwNraGvb29rCxsYGe\nnh4OHjyIhIQEjBgxQrLPlZEBjB0rXPo1MJCsDMkplTegr28qdRmMaR2fETKNvP468OabwmNfX2Ei\ntYkJYG8P2NgAXbsCtraAiwvg6BiAuXOfR9euXWFjY/PQofCrVq3CmDFjsHnzZkyZMqWFP41ALgcG\nD27bIQigUQiWlq5EWdlnqK+/CgAYMoT//8yeHnxGyJpNJhMm2ffqBVy/LpwNduokBKEmNm7ciHnz\n5uE///kP5s6dK0qtTTF1KtCjB7BmTYt3rbOyszvDxuYDWFhMh6Gho9TlMCYqHjXKNHLvDva2tpqH\nIADMnj0bW7duxYIFC/DJJ59o3mATlZYCrjwIspFevX5CZeVRFBSMwoUL86QuhzFR8Rkh01n79+/H\n5MmTMXv2bKxdu1bL0wfYvYhqIJM9uNZrZeVxFBR4YPDg2wCA8vIfYWY2FXp6Ri1dImOi4TNC1mRv\nvAHExGi/H09PT6SkpGDLli2YPXs26uvrtd6nTAYsX3738b1/3v/4aVVREYvcXBc0NFSpjh07JsOx\nYzKcPv0ibGzeBQAolQpcurQcZ874Qqm8IVW5jGmMzwhZk+zbJwyKOXFCnCXW1NGU3Rg0df9IWKLG\nU0OaMk2kNVIo4nH27BT07PkdLCxmPPH19fXlOHPGD0qlAn36JKN9e/sWqJIxcfEZIVNbXR3w1lvC\nV0uFIAD069cPcrkcf/zxB3x9fXHjhrhnH7duNX5+70jYO2Syp/9s8Natgzh3bhq6dVujCsH6+su4\ndSut0esUigQoFPEAgHbtLNCnzx4YGHRHfr47amoKW7xuxjTFQcjU9vnnwijRFStavu+uXbviwIED\nqt0YLl++3Oy26uuFM9uFC4GePR8MvQ8+AI4da3xM2F+92V3qPOUfeThXOBWWlq/C2jpUOKa8gcJC\nX5SWftzotbW1xTh7dirKy38EAOjpmeCZZ3agM41Cu4BXhA0rGWtFOAiZWkpKhAD817+EKRJSsLCw\nwJ49e2BpaQk3NzecPXtW7fdevgysXw/4+wOdOwPTpwsryKxbB3z1VePX3jsStk04fx76Ht7oeyAE\nDg6fAQAaGm6hsNAHenod4OgY2+jlVlav45lnYnD+/Gu4dCkMAKCnZ4TuLj9Af8BQYORIID29pT8F\nY83G9wiZWubMEf6jL5dLf4mwtrYWs2bNQlpaGhITEzFw4MCHvu7q1av45ZdfkJ5+BVu2LIapKTBp\nEhAQALz4ImDEAx2FuSKjRgHPPw9s3Qro64OoBoWFE1FXdwl9+6ahXbsuD33rjRuJOHt2CmytF8HO\nPuzuN1atEtbdi40VbigzpuuIsSc4fryU2rdXUnq61JXcVV9fT/PmzSNzc3NKv6ewoqIiWrduHXl6\nepK+vj45OjrSokUfUHq6kpRKCQvWRRUVRC4uRD4+RDU1wrGGBqpb8Q7lH+pH1dVnn9jEzZuHqOo1\nH6I33iCqr7/7jVWriIyMiA4d0k7tjImIzwjZYxERRo4cCVdXX6xdu1zqchopLS3F8uXLsW3bNsya\nNQtHjhzBkSNH4OzsjKCgIAQGBmLQoEFSl6m7wsOB7duBAweE68EAsGgR8M03QFoq4PzwM+0HnDsH\njBsnjKDatg0wNhaOx8cLm1caPjgfkTFdwkHIHuubb77BokWLUFBQAGtra6nLaSQ8PBypqakIDg5G\nZmYmjI2N4efnhwkTJkhdWutQXy+sLN7lz0ufH30EfPopkJICDBvWtLZKS4XLoAYGQEICYPngjhWM\n6SoeLMMe6fr161i6dCnCwsJ0LgQBYf/CkSNHYt68edi4cSNOnDiB/Px8qctqPdq1uxuC69YBK1cC\nO3c2PQQBYX29PXuEG8gLFjT+Xmoq0L278JWaqnndjImMg5A90ocffgg7OzuEhoZKXcoDGhoakJmZ\nqdrIt6amBseOHdOZjX112sOCqbIS+O47wFODTXYtLYWzycjIxsffegv44gvgyy+Fx4zpGL40yh4q\nJycHzz//PPbv3w93d3epy3lAXl4enJyccPXqVVhYWCAzMxNjxoyBQqGAId+TeryBA4WzP5kMWLIE\nOHlSu/116CBcgiUS7kVWVT3xLYy1JN6PkD3U22+/jalTp+pkCALCZdE+ffrAwsJC9Xzw4MEcguoo\nLAR8fIRgmjpV+/317g0kJwvB++yz2u+PsSbiIGQPuHr1Kq5du4YNGzZIXcojyeXyRpdB5XK5pLva\ntyotHUxRUcDLLwuPv/9e+/0x1kQchOwBlpaWyM7OlrqMx8rIyMDChQtVz+VyOdbwTrrqaelg8vIC\nioq03w9jzcRByFqdBoUC73bpAvc/zwCLi4tRXFzMZ4Tq4mBirBEOQtbq6GVm4pWTJwFnZwCA4fHj\niPPzQ/fu3SWujDHWGvH0Cdb6yOXA8OGAnvDra7V/PwJ44VDGWDNxELLWRy4H7p0veP9zxhhrAg5C\n1roolUBm5t3gq64GfvuNg5Ax1mwchKx1ycsTtpS/MzDm+HFhGsDzz0tbF2Os1eIgZK2LXC7scnBn\nt4SMDGDwYN7hgDHWbByErHXh+4OMMZHx9AnWugQGAn8uqwZACMKXXpKuHsZYq8eLbrPWiwjYvRtw\ndb27nRBjjDURXxplrc+dbYR69ABMTDgEGWMa4TNC1vq09DZCjLGnGgcha314fzvGmIh4sAxrfXh/\nO8aYiDgIWevD+9sxxkTEl0YZY4y1aTxqlDHGWJvGQcgYY6xN4yBkjDHWpnEQMsYYa9M4CBljjLVp\nHISMMcbaNA5CxhhjbRoHIWOMsTaNg5AxxlibxkHIGGOsTeMgZIwx1qZxEDLGGGvTOAgZY4y1aRyE\njDHG2rT/B6ieBINQvgVuAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Simple descriptors" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "474.5870000000004" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Descriptors.MolWt(m)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "113.41999999999999" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Descriptors.TPSA(m)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Descriptors.RingCount(m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Output to various text formats" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.MolToSmiles(m, True)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'InChI=1S/C22H30N6O4S/c1-5-7-17-19-20(27(4)25-17)22(29)24-21(23-19)16-14-15(8-9-18(16)32-6-2)33(30,31)28-12-10-26(3)11-13-28/h8-9,14H,5-7,10-13H2,1-4H3,(H,23,24,29)'" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.MolToInchi(m)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " RDKit \n", "\n", " 33 36 0 0 0 0 0 0 0 0999 V2000\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 1 0\n", " 2 3 1 0\n", " 3 4 1 0\n", " 4 5 2 0\n", " 5 6 1 0\n", " 6 7 1 0\n", " 6 8 1 0\n", " 8 9 1 0\n", " 9 10 2 0\n", " 9 11 1 0\n", " 11 12 1 0\n", " 12 13 2 0\n", " 13 14 1 0\n", " 12 15 1 0\n", " 15 16 2 0\n", " 16 17 1 0\n", " 17 18 2 0\n", " 18 19 1 0\n", " 19 20 2 0\n", " 20 21 1 0\n", " 21 22 1 0\n", " 22 23 1 0\n", " 17 24 1 0\n", " 24 25 2 0\n", " 24 26 2 0\n", " 24 27 1 0\n", " 27 28 1 0\n", " 28 29 1 0\n", " 29 30 1 0\n", " 30 31 1 0\n", " 30 32 1 0\n", " 32 33 1 0\n", " 14 4 1 0\n", " 14 8 2 0\n", " 20 15 1 0\n", " 33 27 1 0\n", "M END\n", "\n" ] } ], "source": [ "print Chem.MolToMolBlock(m)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's add 2D coordinates...\n", "Chem.Compute2DCoords(m)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " RDKit 2D\n", "\n", " 33 36 0 0 0 0 0 0 0 0999 V2000\n", " -8.2094 2.2189 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -7.5208 0.8863 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -6.0224 0.8163 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -5.3338 -0.5163 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -6.0072 -1.8566 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -4.9405 -2.9112 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -5.1666 -4.3941 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.6079 -2.2226 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.2044 -2.7522 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.9613 -4.2323 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.0441 -1.8015 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.2872 -0.3214 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.6907 0.2082 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.8510 -0.7424 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.1269 0.6292 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.2765 0.0997 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.4368 1.0503 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.1937 2.5305 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.7903 3.0600 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.3700 2.1094 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.7734 2.6390 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.0166 4.1191 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.4200 4.6487 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.8402 0.5208 0.0000 S 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.3107 -0.8826 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.3698 1.9242 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 5.2436 -0.0088 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 5.4867 -1.4889 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 6.8902 -2.0185 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 8.0505 -1.0679 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 9.4539 -1.5974 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 7.8074 0.4123 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 6.4039 0.9418 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 1 0\n", " 2 3 1 0\n", " 3 4 1 0\n", " 4 5 2 0\n", " 5 6 1 0\n", " 6 7 1 0\n", " 6 8 1 0\n", " 8 9 1 0\n", " 9 10 2 0\n", " 9 11 1 0\n", " 11 12 1 0\n", " 12 13 2 0\n", " 13 14 1 0\n", " 12 15 1 0\n", " 15 16 2 0\n", " 16 17 1 0\n", " 17 18 2 0\n", " 18 19 1 0\n", " 19 20 2 0\n", " 20 21 1 0\n", " 21 22 1 0\n", " 22 23 1 0\n", " 17 24 1 0\n", " 24 25 2 0\n", " 24 26 2 0\n", " 24 27 1 0\n", " 27 28 1 0\n", " 28 29 1 0\n", " 29 30 1 0\n", " 30 31 1 0\n", " 30 32 1 0\n", " 32 33 1 0\n", " 14 4 1 0\n", " 14 8 2 0\n", " 20 15 1 0\n", " 33 27 1 0\n", "M END\n", "\n" ] } ], "source": [ "# The mol block has been updated\n", "print Chem.MolToMolBlock(m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Fingerprints and similarity" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [], "source": [ "fp = Chem.GetMorganFingerprintAsBitVect(m,2,nBits=2048)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'00000000000000100000000000000000000000000000000000000000000000000000000001000000100000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000000000000000001000000000000000000000000010000000000000000000100001000000000000000000000000000000101000010000000010000000000010000000000000000001000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000010000000000000000000010000000000000000000000000000000000000000000000000000000000000000100000000000000000000010000000000000000000000100000000000000000001000000000000000000000000000000000010000001000000000000000000000010000000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000100000000100000000000000000000000000000000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000001000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000010000000000010000000000000000000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000101001000000000000000100001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000001000100000000000000000001000000000000000000000000000000000000000000000000000010000010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000'" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fp.ToBitString()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "61" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fp.GetNumOnBits()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2048" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fp.GetNumBits()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [], "source": [ "smi2 = 'CCCc1nc(C)c2C(=O)N=C(Nn12)c3cc(ccc3OCC)S(=O)(=O)N4CCN(CC)CC4' #vardenafil\n", "m2 = Chem.MolFromSmiles(smi2)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [], "source": [ "fp2 = Chem.GetMorganFingerprintAsBitVect(m2, 2, nBits=2048)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m2" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nkDHGmE77f+R8X3rEqjfnAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.5" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DataStructs.TanimotoSimilarity(fp,fp2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Similarity Maps" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(, 0.14414414414414412)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdAAAAHQCAYAAAARXTsAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXeYG2d+5/l5qwqh0Tk3u5tkN3MWkyiSIqlIBSprFGZk\nz4zP67T22T4/53v21s/sru2Zm1uf13t767C212OPJyuMpFEYisqkKImUSIqUmClmsrtJdg5AI1S9\n90cVgAIa3SQhKv8+/VRXoapQAAp461u/8P5epbVGEARBEITLw/i034AgCIIgfB4RARUEQRCEIhAB\nFQRBEIQiEAEVBEEQhCIQARUEQRCEIhABFQRBEIQisCbaqJSSPi6CIAjClxqttSq0fkIBBYhGo1f+\n3Qg5fOc73+Fb3/rWp/02vvDIef5kkPP8ySDn+ZMhEomMu01cuIIgCIJQBCKggiAIglAEIqCfAdat\nW/dpv4UvBXKePxnkPH8yyHn+9FET1cJVSmmJgQqCIAhfViKRyLhJRGKBCoIgCEIRiIAKgiAIQhGI\ngAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiA\nCoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAK\ngiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqC\nIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIg\nCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAI\nQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhC\nEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIR\niIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGI\ngAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiACoIgCEIRiIAKgiAIQhGIgAqCIAhCEYiA\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from rdkit.Chem.Draw import SimilarityMaps\n", "SimilarityMaps.GetSimilarityMapForFingerprint(m2, m, SimilarityMaps.GetMorganFingerprint)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### For more RDKit examples: http://www.rdkit.org/docs/GettingStartedInPython.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using the RDKit database cartridge in myChEMBL" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### SMARTS-based substructure search" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [], "source": [ "sma = 'C1C[!#1!#6]1' #oxirane or aziridine" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from IPython.display import Image\n", "from urllib import quote_plus" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(url='http://www.smartsview.de/smartsview/auto/png/1/dynamic/{0}'.format(quote_plus(sma)))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import psycopg2" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [], "source": [ "conn = psycopg2.connect(port=5432, user='chembl', dbname='chembl_21')" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cur = conn.cursor()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [], "source": [ "sql1 = \"\"\"\n", "SELECT mr.*, md.chembl_id, cp.full_mwt, cp.alogp\n", "from mols_rdkit mr, molecule_dictionary md, compound_properties cp\n", "where\n", "mr.m @> 'C1C[!#1!#6]1'::qmol\n", "and\n", "mr.molregno = md.molregno\n", "and\n", "md.molregno = cp.molregno\n", "limit 100\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cur.execute(sql1)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1940080, 'C[N+](C)(CCCCCC[N+]1(C)[C@H]2C[C@@H](OC(=O)[C@H](CO)c3ccccc3)C[C@@H]1[C@H]1O[C@@H]21)CCCN1C(=O)c2ccccc2C1=O', 'CHEMBL3558234', Decimal('619.79'), Decimal('0.55'))\n", "(1940079, 'CC(C)(CN1C(=O)c2cccc3cccc(c23)C1=O)C[N+](C)(C)CCCCCC[N+]1(C)[C@H]2C[C@@H](OC(=O)[C@H](CO)c3ccccc3)C[C@@H]1[C@H]1O[C@@H]21', 'CHEMBL3558233', Decimal('697.90'), Decimal('2.31'))\n", "(1521972, 'CO[C@H]1[C@H]([C@@]2(C)O[C@@H]2CC=C(C)C)[C@@](O)(CCl)CC[C@H]1OC(=O)CCC(=O)O', 'CHEMBL2332344', Decimal('418.91'), Decimal('2.06'))\n", "(1591552, 'CC(C)C[C@H](NC(=O)[C@@H]1O[C@@H]1C(=O)O)C(=O)N1CCC[C@H]1C(=O)OCc1ccccc1', 'CHEMBL3038001', Decimal('432.47'), Decimal('1.55'))\n", "(1797500, 'C[C@]12CC[C@H]3[C@@H](CC[C@@]45O[C@H]4C(O)=C(C#N)C[C@]35C)[C@H]1CC[C@H]2O', 'CHEMBL3348889', Decimal('329.43'), Decimal('2.43'))\n", "(1589413, 'CC(C)NC(=O)Nc1ccc(Oc2ccc(S(=O)(=O)CC3CS3)cc2)cc1', 'CHEMBL2442884', Decimal('406.52'), Decimal('3.22'))\n", "(1589421, 'CC(C)OC(=O)Oc1ccc(Oc2ccc(S(=O)(=O)CC3CS3)cc2)cc1', 'CHEMBL2442892', Decimal('408.49'), Decimal('4.51'))\n", "(1589416, 'CCCOC(=O)Nc1ccc(Oc2ccc(S(=O)(=O)CC3CS3)cc2)cc1', 'CHEMBL2442887', Decimal('407.50'), Decimal('4.01'))\n", "(1589415, 'CCOC(=O)Nc1ccc(Oc2ccc(S(=O)(=O)CC3CS3)cc2)cc1', 'CHEMBL2442886', Decimal('393.48'), Decimal('3.49'))\n", "(1589420, 'CCCOC(=O)Oc1ccc(Oc2ccc(S(=O)(=O)CC3CS3)cc2)cc1', 'CHEMBL2442891', Decimal('408.49'), Decimal('4.66'))\n", "(1589407, 'CCNC(=O)Oc1ccc(Oc2ccc(S(=O)(=O)CC3CS3)cc2)cc1', 'CHEMBL2442878', Decimal('393.48'), Decimal('3.49'))\n", "(1589410, 'CNC(=O)Nc1ccc(Oc2ccc(S(=O)(=O)CC3CS3)cc2)cc1', 'CHEMBL2442881', Decimal('378.47'), Decimal('2.49'))\n", "(1795751, 'COC(=O)[C@]1(C)CCC[C@@]2(C)[C@H]1CC[C@]13C=C(C(C)C)[C@H](C[C@H]21)[C@H]1C(=O)[C@@H]2O[C@@H]2C(=O)[C@H]13', 'CHEMBL3343596', Decimal('440.57'), Decimal('3.74'))\n", "(1794380, 'CC1=C2[C@@H](C[C@@H]3[C@]4(CC[C@@H]5C(C)(C)CC[C@H](O)[C@@]35C)O[C@H]24)OC1=O', 'CHEMBL3342239', Decimal('332.43'), Decimal('2.70'))\n", "(1820044, 'CC(=O)/C=C/C1C(C)(C)CCC2OC21C', 'CHEMBL3355911', Decimal('208.30'), Decimal('1.99'))\n", "(1850887, 'CC(=O)Nc1csc(-c2cnc(/C=C(\\\\C)C[C@H]3OC[C@H](C[C@H]4O[C@H]4[C@@H](C)[C@@H](C)O)[C@@H](O)[C@H]3O)o2)c1', 'CHEMBL3434643', Decimal('506.61'), Decimal('1.26'))\n", "(1548659, 'C[C@@]1(C(=O)O)CCC[C@@]2(C)C3=CC[C@H]4C[C@@]3(CC[C@H]12)C[C@]41CO1', 'CHEMBL2374208', Decimal('316.43'), Decimal('3.38'))\n", "(1512920, 'COc1cc2c(c(OC)c1OC)-c1c(cc3c(c1OC)OCO3)C[C@H](C)[C@]1(CO1)[C@H]2OC(=O)c1ccccc1', 'CHEMBL2313859', Decimal('534.55'), Decimal('4.94'))\n", "(1512102, 'C=C(C)[C@H]1C[C@H](O)C(C)=CCC[C@@]2(C)O[C@@H]2CCC(COC(C)=O)=C[C@@H]1O', 'CHEMBL2313049', Decimal('378.50'), Decimal('3.07'))\n", "(1790955, 'CC1=CCC[C@@]2(C)O[C@@H]2[C@H]2OC(=O)/C(=C/c3ccccc3Br)[C@@H]2CC1', 'CHEMBL3334827', Decimal('403.31'), Decimal('5.11'))\n", "(1790958, 'C[C@@]12CCC=C(CO)CC[C@@H]3/C(=C\\\\c4ccccc4Br)C(=O)O[C@@H]3[C@@H]1O2', 'CHEMBL3334830', Decimal('419.31'), Decimal('4.02'))\n", "(1790961, 'C[C@@]12CCC=C(CO)CC[C@@H]3/C(=C\\\\c4cccs4)C(=O)O[C@@H]3[C@@H]1O2', 'CHEMBL3334833', Decimal('346.44'), Decimal('3.22'))\n", "(1788945, 'C[C@@]12CC[C@@H](O)[C@@](C)(CO)[C@H]1CC[C@@]1(CO1)[C@H]2C/C=C1/C(=O)OC[C@H]1OC(=O)CCl', 'CHEMBL3329954', Decimal('442.93'), Decimal('1.83'))\n", "(1610133, 'CC1=C[C@@H]2O[C@@H](O)[C@@]3(C)O[C@@]23CCC(C)=CCC[C@](C)(O)[C@H](O)CC1', 'CHEMBL3099355', Decimal('352.47'), Decimal('2.53'))\n", "(1618940, 'COc1ccc(-n2cc(CNC[C@@H]3C(=O)O[C@H]4[C@H]3CCC(C)=C3C[C@H]5O[C@@]5(C)[C@@H]34)nn2)cc1', 'CHEMBL3115956', Decimal('450.53'), Decimal('2.72'))\n", "(1618941, 'CC1=C2C[C@H]3O[C@@]3(C)[C@@H]2[C@H]2OC(=O)[C@@H](CNCc3cn(-c4ccccc4[N+](=O)[O-])nn3)[C@@H]2CC1', 'CHEMBL3115957', Decimal('465.50'), Decimal('2.63'))\n", "(1618950, 'CC1=C2C[C@H]3O[C@@]3(C)[C@@H]2[C@H]2OC(=O)[C@@H](CNCc3cn(-c4cc(Cl)c(Cl)cc4Cl)nn3)[C@@H]2CC1', 'CHEMBL3115966', Decimal('523.84'), Decimal('4.73'))\n", "(1618951, 'CC1=C2C[C@H]3O[C@@]3(C)[C@@H]2[C@H]2OC(=O)[C@@H](CNCc3cn(-c4ccccc4)nn3)[C@@H]2CC1', 'CHEMBL3115967', Decimal('420.50'), Decimal('2.73'))\n", "(1618954, 'CC1=C2C[C@H]3O[C@@]3(C)[C@@H]2[C@H]2OC(=O)[C@@H](CNCc3cn(-c4ccccc4Br)nn3)[C@@H]2CC1', 'CHEMBL3115970', Decimal('499.40'), Decimal('3.48'))\n", "(1618957, 'COc1cccc(-n2cc(CNC[C@@H]3C(=O)O[C@H]4[C@H]3CCC(C)=C3C[C@H]5O[C@@]5(C)[C@@H]34)nn2)c1', 'CHEMBL3115973', Decimal('450.53'), Decimal('2.72'))\n", "(1590037, 'CCCCCC1OC1C/C=C\\\\CCCCCCCC(=O)O', 'CHEMBL2447889', Decimal('296.44'), Decimal('5.42'))\n", "(1168216, 'C=C(CO)[C@@]12O[C@@H]1[C@@]1(C)C(=CC2=O)[C@H](OC(=O)C(O)(CO)CC(C)CC(C)C(C)O)CC[C@@H]1C', 'CHEMBL1813185', Decimal('480.59'), Decimal('2.20'))\n", "(1699307, 'COc1cc(C(=O)O[C@H]2CC(C)=CCC[C@]3(C)O[C@@H]3C(O)C2C(C)C)cc(OC)c1OC', 'CHEMBL3210016', Decimal('448.55'), Decimal('4.15'))\n", "(1819357, 'CC1=C[C@@H]2[C@H](CC[C@]3(CO3)[C@H](OC(=O)Cc3ccccc3)[C@H]3[C@@H](OC(=O)Cc4ccccc4)[C@@H](C)C[C@]3(O)C1=O)C2(C)C', 'CHEMBL3355231', Decimal('586.71'), Decimal('5.50'))\n", "(1828705, 'O=C(OC[C@H]1O[C@@H](O[C@@H]2OC=C[C@@H]3[C@H]2[C@@]2(COC(=O)c4ccccc4)O[C@H]2[C@@H]3OC(=O)c2ccccc2)[C@H](O)[C@@H](OC(=O)c2ccccc2)[C@@H]1OC(=O)c1ccccc1)c1ccccc1', 'CHEMBL3394884', Decimal('882.86'), Decimal('6.64'))\n", "(1594544, 'C[N+]1(C)[C@H]2C[C@H](OC(=O)C(C(=O)OC3CCCCC3)c3ccccc3)C[C@@H]1[C@H]1O[C@@H]21', 'CHEMBL3084653', Decimal('414.51'), Decimal('1.79'))\n", "(1595090, 'C[N+]1(C)[C@H]2C[C@H](OC3c4ccccc4CSc4ccccc43)C[C@@H]1[C@H]1O[C@@H]21', 'CHEMBL3085199', Decimal('380.52'), Decimal('1.92'))\n", "(1594991, 'O=C(O[C@@H]1C[C@@H]2N[C@H](C1)[C@@H]1O[C@H]21)[C@H](CO)c1ccccc1', 'CHEMBL3085100', Decimal('289.33'), Decimal('0.29'))\n", "(1616391, 'C1=C2CCN3Cc4cc5c(cc4[C@H]([C@H](OC[C@@H]4CO4)[C@H]1OC[C@@H]1CO1)[C@@H]23)OCO5', 'CHEMBL3113433', Decimal('399.44'), Decimal('0.96'))\n", "(1844845, 'C/C(=C/C[C@]12OC(C)(C)[C@@H]3C[C@H](C1=O)C1OC14C(=O)c1c(O)cccc1O[C@@]342)C(=O)O', 'CHEMBL3427452', Decimal('426.42'), Decimal('1.66'))\n", "(1925376, 'CC(C)CC(NC(=O)C(CCc1ccccc1)NC(=O)CN1CCOCC1)C(=O)NC(Cc1ccccc1)C(=O)NC(CC(C)C)C(=O)C1(C)CO1', 'CHEMBL3542249', Decimal('719.91'), Decimal('3.80'))\n", "(1925131, 'C[C@]12CC[C@@H](O)C[C@H]1CC[C@@H]1[C@@H]2CC[C@]2(C)[C@@H](c3ccc(=O)oc3)[C@@H](O)[C@H]3O[C@]132', 'CHEMBL3527424', Decimal('400.51'), Decimal('2.21'))\n", "(1925299, 'CO[C@H]1[C@H]([C@@]2(C)O[C@@H]2CC=C(C)C)[C@]2(CC[C@H]1OC(=O)N[C@@H](C(N)=O)C(C)(C)O)CO2', 'CHEMBL3527591', Decimal('440.53'), Decimal('0.80'))\n", "(1841756, 'CC1=C(CO)C(=O)O[C@@H]([C@@H](C)[C@H]2C(=O)C[C@H]3[C@@H]4C[C@H]5O[C@]56CC=CC(=O)[C@]6(C)[C@H]4CC[C@@]32C)C1', 'CHEMBL3422314', Decimal('468.58'), Decimal('3.01'))\n", "(1840991, 'O=c1c2ccccc2oc2cc(OCC3CS3)cc(OCC3CS3)c12', 'CHEMBL3417778', Decimal('372.46'), Decimal('3.85'))\n", "(1243626, 'CC1CN1P1(=O)OCC(C)([N+](=O)[O-])CO1', 'CHEMBL1903055', Decimal('236.16'), Decimal('-0.25'))\n", "(1296095, 'COC(=O)C1(COCc2ccccc2)CCCC2OC21', 'CHEMBL1974804', Decimal('276.33'), Decimal('2.16'))\n", "(1296481, 'CCN(CC)C(=O)CCN1CC1', 'CHEMBL1975190', Decimal('170.25'), Decimal('0.35'))\n", "(1296551, 'CC(=O)OC1C[C@@H](C)C2(CC(c3ccoc3)OC2=O)C2CCC(O)C3(CO3)C12CO', 'CHEMBL1975260', Decimal('420.45'), Decimal('0.57'))\n", "(1486389, 'CC(=O)N1CC[C@@]23c4ccccc4N[C@@H]4N(C)c5cccc6c5[C@@]42CCN([C@@H]6[C@H]2OC2(C)C)[C@@H]13', 'CHEMBL2269100', Decimal('456.58'), Decimal('2.88'))\n", "(1284986, 'O=C(CCc1ccccc1)c1cc(F)ccc1OCC1CO1', 'CHEMBL1963275', Decimal('300.32'), Decimal('3.63'))\n", "(1286002, 'CC1OC(O[C@H]2C3C=CO[C@@H](OC4OC(CO)C(O)C(O)C4O)C3[C@@]3(COC(=O)/C=C/c4ccccc4)O[C@@H]23)C(O)C(O)C1O', 'CHEMBL1964711', Decimal('638.61'), Decimal('-1.93'))\n", "(1283089, 'CC(=O)[C@H]1CC[C@H]2[C@@H]3C[C@@H]4O[C@@]45C[C@@H](O)CC[C@]5(C)[C@H]3CC[C@]12C', 'CHEMBL1957557', Decimal('332.48'), Decimal('2.47'))\n", "(1303337, 'C/C=C(/C)C(=O)O[C@H]1[C@H]2[C@@H]([C@@H](OC(C)=O)[C@H](C)C(=O)[C@@]34C[C@@H](C)C(=O)[C@]3(C=C(C)[C@H]1OC(C)=O)O4)C2(C)C', 'CHEMBL1982046', Decimal('530.61'), Decimal('3.32'))\n", "(1303518, 'COC12OC3(C4OC41)C(C(=O)O[C@H]3CO[Si](C)(C)C(C)(C)C)C2C(=O)Oc1ccccc1', 'CHEMBL1982227', Decimal('462.56'), None)\n", "(1286420, 'C=C1C(=O)OC2C=C(C)C3OC3C=C(C(=O)OC)C(OC(C)=O)C(OC(=O)C(C)(O)C(C)OC(C)=O)C12', 'CHEMBL1965129', Decimal('522.50'), Decimal('0.91'))\n", "(1294515, 'C=C1C(=O)O[C@@H]2[C@@H]3O[C@]3(C)C[C@@H]3C=C(C[C@H](OC(=O)C=C(C)C)[C@@H]12)C(=O)O3', 'CHEMBL1973224', Decimal('374.38'), Decimal('2.12'))\n", "(1287694, 'CCC1OC(=O)CC(O)C(C)C(OC2OC(C)CC(N(C)C)C2O)C(CC=O)CC(C)C(=O)C=CC2(C)OC2C1C', 'CHEMBL1966403', Decimal('581.74'), Decimal('2.34'))\n", "(1324918, 'CC1=C[C@H]2O[C@@H]3C[C@H]4OC(=O)C=CC=CC(C(C)O)OCC(O)C(C)CC(=O)OC[C@@]2(C[C@@H]1O)[C@]4(C)[C@@]31CO1', 'CHEMBL2003627', Decimal('548.62'), Decimal('0.62'))\n", "(1338748, 'C=C(C)[C@@]12O[C@@]3(c4ccccc4)O[C@@H]1[C@@H]1[C@@H]4O[C@]4(CO)[C@@H](O)[C@]4(O)C(=O)C(C)=C[C@H]4[C@@]1(O3)[C@H](C)[C@H]2OC(=O)/C=C/c1ccccc1', 'CHEMBL2023370', Decimal('628.67'), Decimal('3.48'))\n", "(1547730, 'C[C@@H]1C[C@]2(OC[C@]3(C)O[C@@H]32)O[C@H]2C[C@@]3(C)[C@@H]4CC[C@H]5C(C)(C)C(O[C@@H]6OC[C@@H](O)[C@H](O)[C@H]6O)CC[C@@]56C[C@@]46CC[C@]3(C)[C@H]21', 'CHEMBL2373279', Decimal('602.80'), Decimal('2.88'))\n", "(1299787, 'O=C1c2ccccc2OCC12OC21C=CC(Cl)=CC1', 'CHEMBL1978496', Decimal('274.70'), Decimal('2.35'))\n", "(1300804, 'O=C(O[C@@H]1[C@@H]2O[C@]2(CO)[C@H]2[C@H](OC3OC(CO)C(O)C(O)C3O)OC=C[C@@H]12)c1ccc(O)c(O)c1', 'CHEMBL1979513', Decimal('498.43'), Decimal('-2.02'))\n", "(1300984, 'CC1(C)CCC[C@@]2(C)C1CC[C@@]1(CO1)[C@@H]2/C=C\\\\C(C=O)CC=O', 'CHEMBL1979693', Decimal('318.45'), Decimal('2.94'))\n", "(1290593, 'Cc1ccc2c3c1[C@@H]1O[C@@H]1c1cccc(c1-3)[C@@H]1O[C@H]21', 'CHEMBL1969302', Decimal('248.28'), Decimal('2.70'))\n", "(1376887, 'Clc1ccc([C@]2(Cn3cncn3)O[C@H]2c2ccc(Cl)cc2Cl)cc1', 'CHEMBL2104617', Decimal('380.66'), Decimal('4.56'))\n", "(1385023, 'C[C@]12CC[C@H]3[C@@H](CC=C4C[C@@H](O)CC[C@@]43C)[C@@H]1CC[C@@H]2[C@@H]1CN1', 'CHEMBL2112772', Decimal('315.49'), Decimal('3.42'))\n", "(1385033, 'C[C@]12CC[C@H]3[C@@H](CC=C4C[C@@H](O)CC[C@@]43C)C1=CC[C@@H]2[C@@H]1CN1', 'CHEMBL2112782', Decimal('313.48'), Decimal('3.17'))\n", "(1378261, 'O=c1n(CC2CO2)c(=O)n(CC2CO2)n1CC1CO1', 'CHEMBL2105991', Decimal('269.25'), Decimal('-1.29'))\n", "(1304213, 'Cc1ccc(S(=O)(=O)N2CC2CCCCC=O)cc1', 'CHEMBL1982922', Decimal('281.37'), Decimal('2.27'))\n", "(1383913, 'CC(C)CNC(=O)[C@H](CC(C)C)NC(=O)[C@@H]1O[C@@H]1C(=O)O', 'CHEMBL2111662', Decimal('300.35'), Decimal('0.65'))\n", "(1301882, 'C[C@@H]1CCC[C@]2(C)O[C@H]2CC[C@@](C)(O)[C@@H]2CC3=C(CO)C(=O)O[C@H]3[C@H]1O2', 'CHEMBL1980591', Decimal('366.45'), Decimal('1.71'))\n", "(1367965, 'CC1(C)CN1P(=O)(Nc1ccn([C@@H]2O[C@H](CO)[C@@H](O)[C@@H]2O)c(=O)n1)N1CC1(C)C', 'CHEMBL2092776', Decimal('429.41'), Decimal('-2.30'))\n", "(1347014, 'C=C(C)[C@@]12OC3(c4ccccc4)O[C@@H]1[C@@H]1[C@@H]4O[C@]4(C)[C@@H](O)[C@@H]4C(=O)C(C)=C[C@@H]4[C@@]1(O3)[C@H](C)[C@@H]2OC(=O)c1ccccc1', 'CHEMBL2037469', Decimal('570.63'), Decimal('4.63'))\n", "(1486682, 'C/C=C(\\\\C)C(=O)O[C@H]1C[C@@H](OC(C)=O)[C@@]2(C(=O)OC)CO[C@H]3[C@@H](O)[C@@](C)([C@]45O[C@@]4(C)[C@H]4C[C@@H]5O[C@@H]5OCC[C@@]54O)[C@@H]4[C@@](OC)(C(=O)OC)OC[C@@]14[C@@H]32', 'CHEMBL2269390', Decimal('736.76'), Decimal('-1.10'))\n", "(1490004, 'C=C1Cc2c(Cl)cc3[nH]c4c5c3c2[C@H]2[C@@H]1C[C@@H]2C(C)(C)O[C@H]5[C@@H]1CC[C@@]2(O)[C@@]35O[C@@H]3[C@@H](O)[C@@H](C(=C)C)O[C@H]5CC[C@]2(C)[C@@]41C', 'CHEMBL2272678', Decimal('618.20'), Decimal('5.65'))\n", "(1548540, 'C=C(C)[C@H]1O[C@H]2CC[C@]3(C)[C@@]4(C)c5[nH]c6cc(Cl)c7c8c6c5[C@@H](OC(C)(C)[C@H]5C[C@H](C(=C)C7)[C@]85O)[C@@H]4CC[C@@]3(O)[C@]23O[C@@H]3[C@H]1O', 'CHEMBL2374089', Decimal('634.20'), Decimal('4.64'))\n", "(1302591, 'O=C1CN2C(Cl)(Cl)C2(c2ccccc2)c2cc(Cl)ccc2N1CC(F)(F)F', 'CHEMBL1981300', Decimal('435.65'), Decimal('5.25'))\n", "(1385010, 'CC(=O)[C@@]12O[C@@H]1C[C@H]1[C@@H]3CCC4=CC(=O)CC[C@]4(C)[C@H]3CC[C@@]12C', 'CHEMBL2112759', Decimal('328.45'), Decimal('2.92'))\n", "(1385139, 'C[C@]12CC[C@H](O)C[C@@H]1CC[C@@H]1[C@@H]2CC[C@@]2(C)[C@H]1C[C@H]1O[C@]12c1cccnc1', 'CHEMBL2112888', Decimal('367.52'), Decimal('3.58'))\n", "(1304487, 'CC(=O)O[C@H]1C[C@@H](OC(C)=O)[C@@](C)(O)[C@@H]2[C@@H](OC(C)=O)[C@@]3(O)[C@H](C=C(CCl)[C@H]4O[C@H]4[C@@H](OC(C)=O)[C@@]12C)OC(=O)[C@@H]3C', 'CHEMBL1983196', Decimal('617.04'), Decimal('-0.25'))\n", "(1140747, 'C[C@@H]1O[C@@H](C=C=CBr)C[C@H]2O[C@@H](C[C@H]2Cl)[C@@H](Br)C[C@H]2O[C@H]12', 'CHEMBL1765721', Decimal('442.57'), Decimal('2.54'))\n", "(1363863, 'CO[C@@]12[C@H](COC(N)=O)C3=C(C(=O)C(Br)=C(N)C3=O)N1C[C@@H]1N[C@@H]12', 'CHEMBL2079632', Decimal('399.20'), Decimal('-1.54'))\n", "(1593438, 'CO[C@@]12[C@H](COC(N)=O)C3=C(C(=O)C(C)=C(NCCc4ccccn4)C3=O)N1C[C@@H]1N[C@@H]12', 'CHEMBL3040627', Decimal('439.46'), Decimal('-0.22'))\n", "(1301081, 'C=C1C(=O)OC2(C)CCC1CC1OC1(C)CCC=C(C)CCC2O', 'CHEMBL1979790', Decimal('334.45'), Decimal('3.65'))\n", "(1359336, 'CC(=O)CC1CC2C(O1)[C@H]1O[C@]13[C@@H]1CC[C@@H]4C[C@@H](O)CC[C@]4(C)[C@H]1CC[C@]23C', 'CHEMBL2069022', Decimal('388.54'), Decimal('2.58'))\n", "(1378488, 'C[C@]1(O)CC[C@H]2[C@@H]3CC[C@@]45O[C@]4(C)C(O)=C(C#N)C[C@]5(C)[C@H]3CC[C@@]21C', 'CHEMBL2106218', Decimal('357.49'), Decimal('2.84'))\n", "(1384770, 'C[C@]12CC[C@H]3[C@@H](CC=C4C[C@@H](O)CC[C@@]43C)[C@@H]1CC1O[C@]12c1c[nH]cn1', 'CHEMBL2112519', Decimal('354.49'), Decimal('2.79'))\n", "(1298648, 'CC#CC#C/C=C1/O[C@]2(CCC(OC(=O)CC(C)C)CO2)[C@@H]2O[C@H]12', 'CHEMBL1977357', Decimal('330.37'), Decimal('3.13'))\n", "(1301139, 'CC(=O)c1ccc2c3c1[C@H]1O[C@H]1c1cccc(c1-3)[C@@H]1O[C@H]21', 'CHEMBL1979848', Decimal('276.29'), Decimal('1.96'))\n", "(1287453, 'C=C1C(=O)O[C@@H]2C=C(C)C=C[C@@H]3O[C@@]3(C)C[C@@H](O)C12', 'CHEMBL1966162', Decimal('262.30'), Decimal('1.12'))\n", "(1286741, 'C=C1C(=O)O[C@@H]2[C@H]1C[C@H]1O[C@]1(C)CC[C@@H]1O[C@@]1(C)CCC[C@@H](C)[C@@H]2O', 'CHEMBL1965450', Decimal('350.45'), Decimal('2.60'))\n", "(1303225, 'CC(=O)OCC1=C(C)CC(C(C)C2CCC3C4CC5OC56C(OC(C)=O)C=CC(=O)C6(C)C4CCC23C)OC1=O', 'CHEMBL1981934', Decimal('554.67'), Decimal('4.15'))\n", "(1295673, 'C=C1C(=O)OC2CCCCC3OC3C12', 'CHEMBL1974382', Decimal('194.23'), Decimal('1.54'))\n", "(1296635, 'COc1cc(O)c2c(c1)C(O)C(O)CC1OC1C(=O)C=CCC(C)OC2=O', 'CHEMBL1975344', Decimal('378.37'), Decimal('0.90'))\n", "(1302979, 'C=C1C(=O)OC2C=C(C)C(OC(C)=O)CC=C(C)C(OC(=O)C3(C)OC3C)C(O)C12', 'CHEMBL1981688', Decimal('420.45'), Decimal('1.99'))\n", "(1300314, 'C=C(C(=O)OC)[C@H]1CCC(C)=CCCC(C)=CCC[C@@]2(C)O[C@@H]2C1', 'CHEMBL1979023', Decimal('332.48'), Decimal('5.29'))\n", "(1332359, 'O=C(CCCCCc1ccc(-c2ccccc2)cc1)OCC1CO1', 'CHEMBL2011311', Decimal('324.41'), Decimal('4.78'))\n", "(1303342, 'CC(C)C1CN1CC(O)Cn1ccnc1[N+](=O)[O-]', 'CHEMBL1982051', Decimal('254.29'), Decimal('1.03'))\n", "(1298487, 'CC1OC(O[C@H]2C3C=CO[C@@H](OC4OC(CO)C(O)C(O)C4O)C3[C@@]3(COC(=O)/C=C/c4ccc(O)cc4)O[C@@H]23)C(O)C(O)C1O', 'CHEMBL1977196', Decimal('654.61'), Decimal('-2.17'))\n" ] } ], "source": [ "for c in cur: print c" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Similarity-based (NN) search" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [], "source": [ "smi = 'CCCc1nn(C)c2C(=O)NC(=Nc12)c3cc(ccc3OCC)S(=O)(=O)N4CCN(C)CC4' #sildenafil" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [], "source": [ "sql2 = \"\"\"\n", "select molregno,m as smiles,tanimoto_sml(morganbv_fp('CCCc1nn(C)c2C(=O)NC(=Nc12)c3cc(ccc3OCC)S(=O)(=O)N4CCN(C)CC4'::mol),mfp2) as similarity\n", "from fps_rdkit join mols_rdkit using (molregno)\n", "where morganbv_fp('CCCc1nn(C)c2C(=O)NC(=Nc12)c3cc(ccc3OCC)S(=O)(=O)N4CCN(C)CC4'::mol)%mfp2\n", "order by morganbv_fp('CCCc1nn(C)c2C(=O)NC(=Nc12)c3cc(ccc3OCC)S(=O)(=O)N4CCN(C)CC4'::mol)<%>mfp2;\n", "\"\"\"\n" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [], "source": [ "cur.execute(sql2)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(410802, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 1.0)\n", "(1351310, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc12', 0.88135593220339)\n", "(1351311, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc12', 0.88135593220339)\n", "(80636, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc12', 0.866666666666667)\n", "(80694, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc12', 0.838709677419355)\n", "(488008, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5ccccc5)CC4)ccc3OCC)nc12', 0.825396825396825)\n", "(512303, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCC(C(N)=O)CC4)ccc3OCC)nc12', 0.8125)\n", "(410662, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCC(=O)O)CC4)ccc3OCC)nc12', 0.8125)\n", "(488151, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C5CCCCC5)CC4)ccc3OCC)nc12', 0.8)\n", "(1334756, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(C)nn(C)c2c(=O)[nH]1', 0.8)\n", "(488072, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5ccc(F)cc5)CC4)ccc3OCC)nc12', 0.8)\n", "(410656, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCC(C(=O)O)CC4)ccc3OCC)nc12', 0.8)\n", "(488073, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5ccccc5Cl)CC4)ccc3OCC)nc12', 0.787878787878788)\n", "(488147, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5ccc(Cl)cc5)CC4)ccc3OCC)nc12', 0.787878787878788)\n", "(1351309, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N(CC)CC)ccc3OCC)nc12', 0.783333333333333)\n", "(488146, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5cccc(Cl)c5)CC4)ccc3OCC)nc12', 0.776119402985075)\n", "(410657, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCC(CC(=O)O)CC4)ccc3OCC)nc12', 0.776119402985075)\n", "(488010, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5ccccc5OC)CC4)ccc3OCC)nc12', 0.776119402985075)\n", "(488009, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5ccccc5C)CC4)ccc3OCC)nc12', 0.776119402985075)\n", "(488149, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5cccc6ccccc56)CC4)ccc3OCC)nc12', 0.764705882352941)\n", "(488071, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5ccccc5F)CC4)ccc3OCC)nc12', 0.764705882352941)\n", "(1351312, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N(C)C)ccc3OCC)nc12', 0.758064516129032)\n", "(488148, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5ccc([N+](=O)[O-])cc5)CC4)ccc3OCC)nc12', 0.753623188405797)\n", "(410658, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCC(CCC(=O)O)CC4)ccc3OCC)nc12', 0.753623188405797)\n", "(1334601, 'CCCc1nn(-c2cccnc2)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.742857142857143)\n", "(488152, 'CCCCCCCCCC(=O)OCCN1CCN(S(=O)(=O)c2ccc(OCC)c(-c3nc4c(CCC)nn(C)c4c(=O)[nH]3)c2)CC1', 0.742857142857143)\n", "(1334602, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(-c3ccccc3)nn(C)c2c(=O)[nH]1', 0.738461538461539)\n", "(410664, 'CCCOc1ccc(S(=O)(=O)N2CCC(C(=O)O)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.735294117647059)\n", "(1831953, 'CCCCCCCNS(=O)(=O)c1ccc(OCC)c(-c2nc3c(CCC)nn(C)c3c(=O)[nH]2)c1', 0.734375)\n", "(1831954, 'CCCCCCNS(=O)(=O)c1ccc(OCC)c(-c2nc3c(CCC)nn(C)c3c(=O)[nH]2)c1', 0.734375)\n", "(1334603, 'CCCc1n[nH]c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.734375)\n", "(410660, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCC(CCCC(=O)O)CC4)ccc3OCC)nc12', 0.732394366197183)\n", "(1820863, 'CCCc1nn(C)c2nnc(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.73015873015873)\n", "(283528, 'CCCc1nc(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nn12', 0.727272727272727)\n", "(410742, 'CCCOc1ccc(S(=O)(=O)N2CCN(CCP(=O)(O)O)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.72463768115942)\n", "(410675, 'CCCOc1ccc(S(=O)(=O)N2CCC(CC(=O)O)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.72463768115942)\n", "(488011, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(c5cccc(C(F)(F)F)c5)CC4)ccc3OCC)nc12', 0.722222222222222)\n", "(410755, 'CCCOc1ccc(S(=O)(=O)N2CCC(CP(=O)(O)O)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.714285714285714)\n", "(410735, 'CCCOc1ccc(S(=O)(=O)N2CCC(P(=O)(OCC)OCC)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.714285714285714)\n", "(410731, 'CCCOc1ccc(S(=O)(=O)N2CCN(CCP(=O)(OCC)OCC)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.714285714285714)\n", "(410746, 'CCCOc1ccc(S(=O)(=O)N2CCC(P(=O)(O)O)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.714285714285714)\n", "(488150, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(Cc5ccc6c(c5)OCO6)CC4)ccc3OCC)nc12', 0.712328767123288)\n", "(1575538, 'CCCCCCCCc1nc(-c2cc(S(=O)(=O)N3CCN(C)CC3)ccc2OCC)[nH]c(=O)c1Br', 0.707692307692308)\n", "(410737, 'CCCOc1ccc(S(=O)(=O)N2CCC(CP(=O)(OCC)OCC)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.704225352112676)\n", "(410715, 'CCCOc1ccc(S(=O)(=O)N2CCC(P(=O)(O)OCC)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.704225352112676)\n", "(1831952, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCCO)ccc3OCC)nc12', 0.701492537313433)\n", "(1831956, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCCN(C)C)ccc3OCC)nc12', 0.701492537313433)\n", "(1831951, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCCCO)ccc3OCC)nc12', 0.701492537313433)\n", "(1334754, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2cnn(C)c2c(=O)[nH]1', 0.698412698412698)\n", "(1334755, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cccc(S(=O)(=O)N4CCN(C)CC4)c3)nc12', 0.698412698412698)\n", "(1831959, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCN4CCCCC4)ccc3OCC)nc12', 0.695652173913043)\n", "(410713, 'CCCOc1ccc(S(=O)(=O)N2CCN(CCP(=O)(O)OCC)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.694444444444444)\n", "(410711, 'CCCOc1ccc(S(=O)(=O)N2CCN(CP(=O)(O)OCC)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.694444444444444)\n", "(410676, 'CCCOc1ccc(S(=O)(=O)N2CCC(CCC(=O)O)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.694444444444444)\n", "(1351313, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCc4ccccc4)ccc3OCC)nc12', 0.691176470588235)\n", "(1831955, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCN(CC)CC)ccc3OCC)nc12', 0.691176470588235)\n", "(1831950, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCCCCO)ccc3OCC)nc12', 0.691176470588235)\n", "(1831949, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCCCCCO)ccc3OCC)nc12', 0.691176470588235)\n", "(487042, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCNc4ccccc4)ccc3OCC)nc12', 0.691176470588235)\n", "(1575537, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CCC)c(Br)c(=O)[nH]1', 0.6875)\n", "(410717, 'CCCOc1ccc(S(=O)(=O)N2CCC(CP(=O)(O)OCC)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.684931506849315)\n", "(488153, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCOC(=O)CCCO[N+](=O)[O-])CC4)ccc3OCC)nc12', 0.684210526315789)\n", "(1441770, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CCC)c(CC)c(=O)[nH]1', 0.676923076923077)\n", "(567449, 'CCCc1c(OC)cc(OC)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.676470588235294)\n", "(1831957, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCCN4CCOCC4)ccc3OCC)nc12', 0.676056338028169)\n", "(1831958, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCN4CCOCC4)ccc3OCC)nc12', 0.676056338028169)\n", "(410677, 'CCCOc1ccc(S(=O)(=O)N2CCC(CCCC(=O)O)CC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.675675675675676)\n", "(304727, 'CCCn1nc(CC)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc21', 0.671641791044776)\n", "(140806, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)[nH]c(=O)n(C)c2[nH]1', 0.666666666666667)\n", "(410679, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)cc4c3OCC4)nc12', 0.666666666666667)\n", "(487043, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCNc4cccc5ccccc45)ccc3OCC)nc12', 0.666666666666667)\n", "(1441766, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)c(CCC)c(=O)[nH]1', 0.666666666666667)\n", "(80598, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccccc3OCC)nc12', 0.666666666666667)\n", "(487044, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCNCC(=O)O)ccc3OCC)nc12', 0.661971830985915)\n", "(487046, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCN(CCO)S(=O)(=O)c4ccc(OCC)c(-c5nc6c(CCC)nn(C)c6c(=O)[nH]5)c4)ccc3OCC)nc12', 0.657534246575342)\n", "(410681, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)cc4c3OCO4)nc12', 0.656716417910448)\n", "(410683, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)cc4c3OCCO4)nc12', 0.656716417910448)\n", "(283502, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(ncn2CCC)c(=O)[nH]1', 0.656716417910448)\n", "(553751, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(nc3ccccn32)c(=O)[nH]1', 0.656716417910448)\n", "(1441475, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CCC)cc(=O)[nH]1', 0.65625)\n", "(555103, 'CCCc1c(OC)cc(O)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.647887323943662)\n", "(304716, 'CCCn1nc(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc21', 0.647058823529412)\n", "(1262965, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)c(Cl)c(=O)[nH]1', 0.646153846153846)\n", "(304811, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(c(CC)nn2C2CCCC2)c(=O)[nH]1', 0.642857142857143)\n", "(1441764, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)c(C)c(=O)[nH]1', 0.636363636363636)\n", "(1262966, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)c(Br)c(=O)[nH]1', 0.636363636363636)\n", "(1262967, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)c(I)c(=O)[nH]1', 0.636363636363636)\n", "(1441765, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)c(CC)c(=O)[nH]1', 0.636363636363636)\n", "(1831961, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCc4ccc(OC)c(F)c4)ccc3OCC)nc12', 0.635135135135135)\n", "(558511, 'CCCCc1c(OC)cc(OC)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.633802816901408)\n", "(80661, 'CCCc1nn(C)c2c(O)nc(-c3cc(S(=O)(=O)N4CCN(C(N)=O)CC4)ccc3OCC)nc12', 0.633802816901408)\n", "(1831663, 'CCCc1nn(C)c2nnc(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc12', 0.632352941176471)\n", "(556780, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(Br)c(OC)cc(OC)c2c(=O)[nH]1', 0.632352941176471)\n", "(563798, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(C)c(OC)cc(OC)c2c(=O)[nH]1', 0.632352941176471)\n", "(1441774, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(Cl)c(=O)[nH]1', 0.630769230769231)\n", "(1351308, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)Nc4ncccc4C4CCCN4C)ccc3OCC)nc12', 0.628205128205128)\n", "(1262964, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)c(F)c(=O)[nH]1', 0.626865671641791)\n", "(140060, 'CCCn1c(=O)[nH]c(=O)c2[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc21', 0.626865671641791)\n", "(560323, 'C=Cc1c(OC)cc(OC)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.623188405797101)\n", "(562127, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(Cl)c(OC)cc(OC)c2c(=O)[nH]1', 0.623188405797101)\n", "(558510, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(CC)c(OC)cc(OC)c2c(=O)[nH]1', 0.623188405797101)\n", "(558503, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(I)c(OC)cc(OC)c2c(=O)[nH]1', 0.623188405797101)\n", "(558494, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(F)c(OC)cc(OC)c2c(=O)[nH]1', 0.623188405797101)\n", "(1575536, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C)c(Br)c(=O)[nH]1', 0.621212121212121)\n", "(1441771, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(Br)c(=O)[nH]1', 0.621212121212121)\n", "(487045, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCN(CC(=O)O)S(=O)(=O)c4ccc(OCC)c(-c5nc6c(CCC)nn(C)c6c(=O)[nH]5)c4)ccc3OCC)nc12', 0.618421052631579)\n", "(1831960, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)NCCc4c[nH]c5ccccc45)ccc3OCC)nc12', 0.618421052631579)\n", "(1376119, 'CCCOc1ccc(S(=O)(=O)NCCC2CCCN2C)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.618421052631579)\n", "(511952, 'CCCCN1C(=O)c2nc(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)[nH]c(=O)c2C1=O', 0.617647058823529)\n", "(1441775, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(c(=O)[nH]1)CCC2', 0.617647058823529)\n", "(410694, 'CCCOc1ccc(NC(C)=O)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.617647058823529)\n", "(140771, 'CCCn1c(=O)n(C)c(=O)c2[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc21', 0.617647058823529)\n", "(1262963, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)cc(=O)[nH]1', 0.615384615384615)\n", "(1441474, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C)cc(=O)[nH]1', 0.615384615384615)\n", "(1575539, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(-c2ccccc2)c(Br)c(=O)[nH]1', 0.611940298507463)\n", "(1746345, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nnc2c(n1)c(C)nn2C', 0.611940298507463)\n", "(1441769, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C)c(CC)c(=O)[nH]1', 0.611940298507463)\n", "(562135, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2cc(OC)cc(OC)c2c(=O)[nH]1', 0.611940298507463)\n", "(1441768, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(CC)c(=O)[nH]1', 0.608695652173913)\n", "(563835, 'CCCCc1c(OC)cc(O)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.608108108108108)\n", "(1441472, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(O)cc(=O)[nH]1', 0.606060606060606)\n", "(1441471, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(N)cc(=O)[nH]1', 0.606060606060606)\n", "(555082, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(Br)c(OC)cc(O)c2c(=O)[nH]1', 0.605633802816901)\n", "(565660, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(C)c(OC)cc(O)c2c(=O)[nH]1', 0.605633802816901)\n", "(1334600, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(-c3ccccc3)n[nH]c2c(=O)[nH]1', 0.605633802816901)\n", "(139899, 'CCCCCCn1c(=O)n(C)c(=O)c2[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc21', 0.605633802816901)\n", "(1441761, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(Cl)c(=O)[nH]1', 0.602941176470588)\n", "(140026, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC3CC3)c2[nH]1', 0.6)\n", "(140172, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)[nH]c(=O)n(CC(C)C)c2[nH]1', 0.6)\n", "(1441480, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC)c(NC(C)=O)c(=O)[nH]1', 0.6)\n", "(556799, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(Cl)c(OC)cc(O)c2c(=O)[nH]1', 0.597222222222222)\n", "(563829, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(CC)c(OC)cc(O)c2c(=O)[nH]1', 0.597222222222222)\n", "(562146, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(I)c(OC)cc(O)c2c(=O)[nH]1', 0.597222222222222)\n", "(565656, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(F)c(OC)cc(O)c2c(=O)[nH]1', 0.597222222222222)\n", "(1441767, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(C)c(=O)[nH]1', 0.594202898550725)\n", "(1441763, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(I)c(=O)[nH]1', 0.594202898550725)\n", "(1441762, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(Br)c(=O)[nH]1', 0.594202898550725)\n", "(1441473, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(NC(C)=O)cc(=O)[nH]1', 0.594202898550725)\n", "(140805, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)(C)C)c2[nH]1', 0.591549295774648)\n", "(1441773, 'CCCCCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(Br)c(=O)[nH]1', 0.591549295774648)\n", "(140087, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)C)c2[nH]1', 0.591549295774648)\n", "(410684, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)cc4c3OCC4)nc12', 0.589041095890411)\n", "(560347, 'C=Cc1c(OC)cc(O)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.589041095890411)\n", "(1821316, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nnc2nn(C)c(C)c2n1', 0.588235294117647)\n", "(1441476, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)cc(=O)[nH]1', 0.588235294117647)\n", "(1441479, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(F)(F)F)cc(=O)[nH]1', 0.588235294117647)\n", "(555093, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2cc(OC)cc(O)c2c(=O)[nH]1', 0.585714285714286)\n", "(1441772, 'CCCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(C)C)c(Br)c(=O)[nH]1', 0.585714285714286)\n", "(1575540, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(C(F)(F)F)c(Br)c(=O)[nH]1', 0.585714285714286)\n", "(139960, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC3CCCCC3)c2[nH]1', 0.583333333333333)\n", "(140260, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)CC)c2[nH]1', 0.583333333333333)\n", "(140807, 'C=CCCn1c(=O)n(C)c(=O)c2nc(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)[nH]c21', 0.583333333333333)\n", "(80559, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccccc3OCC3CC3)nc12', 0.582089552238806)\n", "(1441477, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(CC(C)C)cc(=O)[nH]1', 0.579710144927536)\n", "(1334762, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cccnc3OCC)nc12', 0.578125)\n", "(410698, 'CCCOc1ccc(NC(=O)CCC)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.577464788732394)\n", "(410696, 'CCCOc1ccc(NC(=O)CC)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.577464788732394)\n", "(1441478, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(-c2ccccc2)cc(=O)[nH]1', 0.571428571428571)\n", "(304703, 'CCCc1nc(C)n2c(O)nc(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12', 0.571428571428571)\n", "(410702, 'CCCOc1ccc(NC(=O)C(C)C)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.569444444444444)\n", "(80558, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccccc3NS(C)(=O)=O)nc12', 0.569230769230769)\n", "(140519, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)C)c2[nH]1', 0.567567567567568)\n", "(410687, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)cc4c3OCO4)nc12', 0.567567567567568)\n", "(410689, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)cc4c3OCCO4)nc12', 0.567567567567568)\n", "(1821317, 'CCOc1ccc(S(=O)(=O)N2CCN(S(=O)(=O)c3ccc(OCC)c(-c4nnc5c(n4)c(C)nn5C)c3)CC2)cc1-c1nnc2c(n1)c(C)nn2C', 0.567164179104478)\n", "(410686, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)cc4c3OCCC4)nc12', 0.565789473684211)\n", "(304580, 'CCCn1cnc2c(O)nc(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc21', 0.563380281690141)\n", "(304707, 'CCCc1nc(CC)c2c(O)nc(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nn12', 0.561643835616438)\n", "(140816, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(Cc3ccc(OC)cc3)c2[nH]1', 0.56)\n", "(102837, 'CCCOc1ccc(S(=O)(=O)N2CCN(CP(=O)(O)O)CC2)cc1-c1nc(O)c2c(n1)c(CCC)nn2C', 0.545454545454545)\n", "(1821318, 'CCOc1ccc(S(=O)(=O)N2CCCN(S(=O)(=O)c3ccc(OCC)c(-c4nnc5c(n4)c(C)nn5C)c3)CC2)cc1-c1nnc2c(n1)c(C)nn2C', 0.542857142857143)\n", "(325914, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(O)c2nc3c(C)cccn3c2n1', 0.540540540540541)\n", "(512228, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccccc3O)nc12', 0.53968253968254)\n", "(410708, 'CCCOc1ccc(NC(=O)C2CCCCC2)cc1-c1nc2c(CCC)nn(C)c2c(=O)[nH]1', 0.539473684210526)\n", "(102529, 'CCCOc1ccc(S(=O)(=O)N2CCN(CP(=O)(OCC)OCC)CC2)cc1-c1nc(O)c2c(n1)c(CCC)nn2C', 0.538461538461538)\n", "(1334759, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cccnc3OC)nc12', 0.537313432835821)\n", "(1008491, 'CCCc1nn(C)c2c(O)nc(-c3cc(S(N)(=O)=O)ccc3OCC)nc12', 0.536231884057971)\n", "(1746346, 'CCOc1ccc(S(=O)(=O)N2CCNCC2)cc1-c1nnc2c(n1)c(C)nn2C', 0.535211267605634)\n", "(326033, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(O)c2nc3cc(C)ccn3c2n1', 0.533333333333333)\n", "(1334767, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cccnc3O)nc12', 0.53030303030303)\n", "(1746349, 'CCOc1ccc(S(=O)(=O)N2CCCC2)cc1-c1nnc2c(n1)c(C)nn2C', 0.528571428571429)\n", "(1469709, 'CCOc1ccc(S(=O)(=O)N2CCOCC2)cc1-c1nc2ncccc2c(=O)[nH]1', 0.527777777777778)\n", "(325968, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(O)c2nc3ccc(Br)cn3c2n1', 0.526315789473684)\n", "(1334776, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccsc3)nc12', 0.523809523809524)\n", "(1334773, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cn(C)cn3)nc12', 0.523809523809524)\n", "(80670, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccccc3[N+](=O)[O-])nc12', 0.522388059701492)\n", "(1334761, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cccnc3OC(C)C)nc12', 0.521739130434783)\n", "(1746348, 'CCOc1ccc(S(=O)(=O)N2CCCCC2)cc1-c1nnc2c(n1)c(C)nn2C', 0.52112676056338)\n", "(971340, 'CCCc1nn(C)c2c(O)nc(-c3cc(S(=O)(=O)NC)ccc3OCC)nc12', 0.52112676056338)\n", "(1469710, 'CCOc1ccc(S(=O)(=O)N2CCN(c3ccccc3)CC2)cc1-c1nc2ncccc2c(=O)[nH]1', 0.520547945205479)\n", "(800246, 'CCCc1nn(C)c2c(O)nc(-c3cc(S(=O)(=O)N(CCO)CCO)ccc3OCC)nc12', 0.520547945205479)\n", "(140606, 'CC(C)COc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)C)c2[nH]1', 0.52)\n", "(326091, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(O)c2nc3ccc(C)cn3c2n1', 0.52)\n", "(1353820, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(C)cc3)nc12', 0.516129032258065)\n", "(512227, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccccc3)nc12', 0.516129032258065)\n", "(1334771, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cn(C)nc3C)nc12', 0.515625)\n", "(1353819, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(OC)cc3)nc12', 0.515625)\n", "(1212525, 'CCCc1nn(C)c2c(O)nc(-c3cc(S(=O)(=O)NCCO)ccc3OCC)nc12', 0.513513513513513)\n", "(1269220, 'CCCn1nc2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)cnc3OCCOC)nc2c1CC', 0.513513513513513)\n", "(140345, 'CCOc1ccc(S(=O)(=O)N2CCN(CC)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)C)c2[nH]1', 0.513157894736842)\n", "(1334775, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccnn3C)nc12', 0.507936507936508)\n", "(1353817, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(Br)cc3)nc12', 0.507936507936508)\n", "(1746347, 'CCOc1ccc(S(=O)(=O)N2CCOCC2)cc1-c1nnc2c(n1)c(C)nn2C', 0.506849315068493)\n", "(1746350, 'CCOc1ccc(S(=O)(=O)N2CCCNCC2)cc1-c1nnc2c(n1)c(C)nn2C', 0.506666666666667)\n", "(28710, 'CCCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(O)c2cc3[nH]cnc3cc2n1', 0.506666666666667)\n", "(421326, 'CCCc1nc(C)c2c(=O)nc(-c3cc(S(=O)(=O)N4CCN(CC)CC4)ccc3OCC)[nH]n12', 0.506666666666667)\n", "(140382, 'CCOc1ccc(S(=O)(=O)N2CCN(CCN(C)C)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)C)c2[nH]1', 0.506329113924051)\n", "(1353818, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cccc(Cl)c3)nc12', 0.5)\n", "(140451, 'CCOc1ccc(S(=O)(=O)N2CCN(CCO)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)C)c2[nH]1', 0.5)\n", "(1353816, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(Cl)cc3)nc12', 0.5)\n", "(1334770, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(=O)[nH]n3)nc12', 0.5)\n", "(326382, 'CCOc1ccc(S(=O)(=O)N2CCN(C)CC2)cc1-c1nc(O)c2nc3cccc(CC)n3c2n1', 0.5)\n", "(511950, 'CCCCN1C(=O)C2=C(N=C(c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)NC2)C1=O', 0.5)\n", "(1353821, 'CCCc1nn(C)c2c(=O)[nH]c(-c3cccc(Br)c3)nc12', 0.5)\n", "(1351307, 'CCOc1ccc(S(=O)(=O)Nc2ccc(O)c(C(=O)O)c2)cc1-c1nc2c(C(C)(C)C)nn(C)c2c(=O)[nH]1', 0.5)\n", "(1334766, 'CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(O)cc3)nc12', 0.5)\n", "(453288, 'CCCc1c2nc(-c3cc(S(=O)(=O)N4CCN(CC)CC4)cnc3OCCOC)[nH]c(=O)c2nn1C', 0.5)\n" ] } ], "source": [ "for c in cur: print c" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### More about the RDKit Cartridge here: http://www.rdkit.org/docs/Cartridge.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Working with Pandas" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from rdkit.Chem import PandasTools\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [], "source": [ "data = pd.read_sql(sql2, conn)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(217, 3)" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.shape" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnosmilessimilarity
0410802CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc121.000000
11351310CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc120.881356
21351311CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc120.881356
380636CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc120.866667
480694CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc120.838710
\n", "
" ], "text/plain": [ " molregno smiles similarity\n", "0 410802 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12 1.000000\n", "1 1351310 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc12 0.881356\n", "2 1351311 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc12 0.881356\n", "3 80636 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc12 0.866667\n", "4 80694 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc12 0.838710" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Filter the table" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [], "source": [ "nn = data[data['similarity'] >= 0.8]" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(12, 3)" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nn.shape" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnosmilessimilarity
0410802CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc121.000000
11351310CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc120.881356
21351311CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc120.881356
380636CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc120.866667
480694CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc120.838710
\n", "
" ], "text/plain": [ " molregno smiles similarity\n", "0 410802 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12 1.000000\n", "1 1351310 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc12 0.881356\n", "2 1351311 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc12 0.881356\n", "3 80636 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc12 0.866667\n", "4 80694 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc12 0.838710" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nn.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Add RDKit molecules and descriptors to the table" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [], "source": [ "PandasTools.AddMoleculeColumnToFrame(data,smilesCol='smiles',molCol='mol',includeFingerprints=True)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnosmilessimilaritymol
0410802CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc121.000000\"Mol\"/
11351310CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc120.881356\"Mol\"/
21351311CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc120.881356\"Mol\"/
380636CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc120.866667\"Mol\"/
480694CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc120.838710\"Mol\"/
" ], "text/plain": [ " molregno smiles similarity mol\n", "0 410802 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12 1.000000 \"Mol\"/\n", "1 1351310 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc12 0.881356 \"Mol\"/\n", "2 1351311 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc12 0.881356 \"Mol\"/\n", "3 80636 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc12 0.866667 \"Mol\"/\n", "4 80694 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc12 0.838710 \"Mol\"/" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head()" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [], "source": [ "data['logp'] = data['mol'].map(Descriptors.MolLogP)\n", "data['mw'] = data['mol'].map(Descriptors.MolWt)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnosmilessimilaritymollogpmw
0410802CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc121.000000\"Mol\"/1.6109474.587
11351310CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc120.881356\"Mol\"/3.2395473.599
21351311CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc120.881356\"Mol\"/2.8494459.572
380636CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc120.866667\"Mol\"/1.2687460.560
480694CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc120.838710\"Mol\"/0.9734504.613
" ], "text/plain": [ " molregno smiles similarity mol logp mw\n", "0 410802 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12 1.000000 \"Mol\"/ 1.6109 474.587\n", "1 1351310 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc12 0.881356 \"Mol\"/ 3.2395 473.599\n", "2 1351311 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc12 0.881356 \"Mol\"/ 2.8494 459.572\n", "3 80636 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc12 0.866667 \"Mol\"/ 1.2687 460.560\n", "4 80694 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc12 0.838710 \"Mol\"/ 0.9734 504.613" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head()" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnosmilessimilaritymollogpmw
216453288CCCc1c2nc(-c3cc(S(=O)(=O)N4CCN(CC)CC4)cnc3OCCOC)[nH]c(=O)c2nn1C0.5\"Mol\"/1.0225519.628
2071353818CCCc1nn(C)c2c(=O)[nH]c(-c3cccc(Cl)c3)nc120.5\"Mol\"/2.9295302.765
208140451CCOc1ccc(S(=O)(=O)N2CCN(CCO)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)C)c2[nH]10.5\"Mol\"/0.4436534.639
2091353816CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(Cl)cc3)nc120.5\"Mol\"/2.9295302.765
2101334770CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(=O)[nH]n3)nc120.5\"Mol\"/0.3594286.295
" ], "text/plain": [ " molregno smiles similarity mol logp mw\n", "216 453288 CCCc1c2nc(-c3cc(S(=O)(=O)N4CCN(CC)CC4)cnc3OCCOC)[nH]c(=O)c2nn1C 0.5 \"Mol\"/ 1.0225 519.628\n", "207 1353818 CCCc1nn(C)c2c(=O)[nH]c(-c3cccc(Cl)c3)nc12 0.5 \"Mol\"/ 2.9295 302.765\n", "208 140451 CCOc1ccc(S(=O)(=O)N2CCN(CCO)CC2)cc1-c1nc2c(=O)n(C)c(=O)n(CC(C)C)c2[nH]1 0.5 \"Mol\"/ 0.4436 534.639\n", "209 1353816 CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(Cl)cc3)nc12 0.5 \"Mol\"/ 2.9295 302.765\n", "210 1334770 CCCc1nn(C)c2c(=O)[nH]c(-c3ccc(=O)[nH]n3)nc12 0.5 \"Mol\"/ 0.3594 286.295" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.sort(columns=['similarity']).head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Simple plotting using the table columns" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mwlogp
count217.000000217.000000
mean487.3810232.263238
std91.3197580.965502
min268.320000-0.048300
25%448.5890001.548900
50%491.6140002.286600
75%533.4480002.894700
max866.9800004.731700
" ], "text/plain": [ " mw logp\n", "count 217.000000 217.000000\n", "mean 487.381023 2.263238\n", "std 91.319758 0.965502\n", "min 268.320000 -0.048300\n", "25% 448.589000 1.548900\n", "50% 491.614000 2.286600\n", "75% 533.448000 2.894700\n", "max 866.980000 4.731700" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data[['mw', 'logp']].describe()" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [], "source": [ "rcParams['figure.figsize'] = 12,12" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data['logp'].hist()" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n9mzP7q8XNcj7kzxeluWfWfvz305SlmX59677PDXIAAD0XRNqkOeTvK0oismiKHYk+aYkP9uD+wUA\ngIHrOiCXZfl7SY4neTbJryf56bIsF7q9X6BenU4n8/Pz6XQ6dQ8FAAaq6xKLDT+QEgsYGnNzpzI7\neyw7drRz5cpiTp58KjMzR+seFgBsSLclFgIycI1Op5PJyd1ZXj6T5IEkFzIxcTBLS5fSarXqHh4A\n3FETapCBEbK4uJgdO9pZDcdJ8kC2b5/M4uJifYMCgAESkIFrtNurZRXJhbVbLmRlZSntdru+QQHA\nAAnIwDVarVZOnnwqExMHs2vX3kxMHMzJk08prwBgbKhBBm6q0+lkcXEx7XZbOAZgqNikBwAAFTbp\nAQBADwnIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECF\ngAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQ\nISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAA\nVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwA\nABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISAD\nAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjI\nAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUC\nMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECF\ngAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVAjIAABQISADAECFgAwAABUCMgAAVHQVkIui\n+O+Lovi1oih+ryiKvb0aFL139uzZuocwtsx9vcx/vcx/fcx9vcz/cOt2BflTSf5Skl/qwVjoI0/U\n+pj7epn/epn/+pj7epn/4batmy8uy/LTSVIURdGb4QAAQL3UIAMAQEVRluXtP6EoPp7kTdWbkpRJ\nvq8sy59b+5wzSf5mWZa/epv7uf0DAQBAj5RlueUKhzuWWJRleXird37d/SjDAACg8XpZYiEAAwAw\n9Lpt8/auoiheSLI/yceKovhXvRkWAADU4441yAAAME56UmJRFMV9RVH8YlEUv14UxaeKoviOtdv/\nQFEUzxZF8emiKH6hKIo3VL7m7xRF8ZmiKBaKojjSi3GMq6IoXlcUxa8URfH82vy/f+128z8gRVHc\nVRTFrxZF8bNrfzb3A1IUxWJRFP927fo/t3ab+R+QoijeUBTFP1ubz18viuK/Nf/9VxTF29eu+V9d\n+/1yURTfYe4HpyiK71w7LO1CURT/pCiKHeZ/cIqieM9a5ulP7izLsutfSf5IkneufXxvkk8n2Z3k\n7yX5W2u3f2+SH177+P4kz2d1k2A7yb/L2mq2X1v+N3j92u93J/lkkn3mf6Dz/51J/o8kP7v2Z3M/\nuLn/bJI/cN1t5n9w8/+hJN+y9vG2JG8w/wP/N7gryW8leYu5H9ic/9G1/3t2rP35VJJHzP/A5v+P\nJ7mQ5HVruefZJF/Ry/nvyQpyWZb/sSzLf7P28ctJFpLcl+QvJnlm7dOeSfKutY+/IclPl2X5pbIs\nF5N8JquBji0qy/J31z58XVYvgDLmfyCKorgvyZ9L8o8qN5v7wSly47th5n8AiqLYleRry7L8qSRZ\nm9fLMf+DdijJvy/L8oWY+0G6O8k9RVFsSzKR5HMx/4MyleRXyrL8YlmWv5fkl5N8Y1bnuSfz3/OD\nQoqiaCd5Z1ZXMd9UluVvJ6shOskfXvu0Nyd5ofJln1u7jS1ae4v/+ST/McnHy7Kcj/kflA8k+Z6s\nvihZZ+4Hp0zy8aIo5oui+La128z/YPyxJP+pKIqfWnur/8eLonh9zP+gHU3y4bWPzf0AlGX5W0n+\nQZL/kNW5vFyW5emY/0H5tSRfu1ZS8fqsLlK9JT2c/54G5KIo7k3yz5O8Z20l+fodgHYE9klZlq+W\nZbknqyv3+4qi+OMx/31XFMWfT/Lba++g3K7Vobnvn4fKstyb1f8g/0ZRFF8b1/6gbEuyN8mPrv0b\nfCHJ3475H5iiKLZndXXsn63dZO4HoCiK35/V1eLJrJZb3FMUxTfH/A9EWZaXslpO8fEkP5/V8onf\nu9mnbvUxehaQ195i+OdJ/nFZlj+zdvNvF0XxprW//yNJXlq7/XNZTfrr7lu7jS6VZflfk5xN8mdi\n/gfhoSTfUBTFZ5PMJXm4KIp/nOQ/mvvBKMvy82u/d5J8NKtvm7n2B+PFJC+UZfn/rv35X2Q1MJv/\nwfR/3x8AAAHWSURBVPmzSc6XZfmf1v5s7gfjUJLPlmX5O2tv8f/LJH8y5n9gyrL8qbIs/5uyLA8k\n+S9Z3f/Ws/nv5QryTya5WJblByu3/WySd699/EiSn6nc/k1rOz7/WJK3JTnXw7GMlaIo/tD6Ts2i\nKCaSHM5qHbj577OyLP9uWZZfXpblW5N8U5JfLMvyf0jyczH3fVcUxevX3rlKURT3JDmS5FNx7Q/E\n2luZLxRF8fa1m/50kl+P+R+kmay+OF9n7gfjPyTZXxTFzqIoiqxe+xdj/gemKIrW2u9fnuQvZbXM\nqGfzf8ejpjc4yIeSfHOST63VwZZJ/u7/394d4kQMhFEAfj8egyHchzOsB4FAcA7OgEOsYAPBITgB\nIWgkCVdYu+JHtAmjyVJC8n2mSeXLpH3T6bSZHn9vquo8yWeSVZJ093tVbTINpl2Sy563GfIjJ0lu\nq+og06Tnrrufquol8v8r15H9Eo6TPFZVZ7qerbv7uareIv+lXCVZz0v9H0nOMm1ekv8vm9+9PE1y\nMZx2311Ad79W1X2mpf3dfLxJchj5L+Whqo7ynee2qvY2/v0oBAAABnv/igUAAPxnCjIAAAwUZAAA\nGCjIAAAwUJABAGCgIAMAwEBBBgCAwRdqSsjCCjvIWwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "scatter(data['mw'],data['logp'])" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnomolmwlogp
74487046\"Mol\"/852.9972.6245
105487045\"Mol\"/866.9802.7168
" ], "text/plain": [ " molregno mol mw logp\n", "74 487046 \"Mol\"/ 852.997 2.6245\n", "105 487045 \"Mol\"/ 866.980 2.7168" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data[data['mw']>800][['molregno','mol','mw','logp']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Substructure search within the table" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [], "source": [ "qsmi = 'c1nn(C)c2c1nc[nH]c2=O'" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [], "source": [ "qmol = Chem.MolFromSmiles(qsmi)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nHn98Lb1716acwWWl+v57iI6GM2dgzRpjKlrE7lSEYktlU58zZ8J77xmbvT3JyckhOjqa4OBgPv30\nU48vjq28jKW8/fbbvPjiizRu3Ji4uDiclbyaJDs7mzVrNrJy5Wg2boTGjaFvX+Nh2FFRUJmv+ysu\nhgcfhNOnVYLiW1SEYmuLFhmbvMv2sHmSn5/PgAEDyM3NJTExkTZV+NbfnTt3MnbsWLZt28a0adMY\nO3ZslY9Ez5+HtDRjyjgpCY4fh44djRFcTEzlLGZZtswow1sc0IpYkopQbC8tDQYOhMcfN/ayeeqb\noqIiRo4cSXJyMsuXLyeykje9nTt3jpdffpm4uDj69+/PG2+8wV133VWpP6Oidu40SjEhwXhjRLNm\nxgOzo6LgkUeMp/KUx+EwVt1u2XL9cX1aiC9SEYpP2LfPmBJs2rQiK0pLmTJlCtOnT2fevHnExsZW\nSobly5fz7LPPUq1aNebNm0eMhR6vkpdnPCEmMdH4evky9OxpjBYfe+zHC14cDujTx7gPO2jQj4/r\n00J8kYpQfEbZitLiYkhMLKBx4595vD4+Pp6nnnqKUaNG8frrr3PbLS4pPXz4MOPHj2fNmjW8+OKL\n/OlPf6J2Zd6cq2Tff2/c40tMNBYStW0L6elXzjscxlaVAQOMt9AHBl45rk8L8UUqQvEp58/DSy99\nxbJl0SQmJtKxY0eP12dlZfHoo4/icrlYvHjxTRXYxYsXmTFjBrNmzaJHjx4sWLCAVjbbUFdSAqdO\nwdVrh8oKb/RoaN3a2Hpy9XERX6MiFJ9TNvU5c+ZM3n33XYYMGeLx+v3799O3b1+CgoJYuXIlDRs2\nvOHPSEtLY9y4cZw+fZpZs2ZVeE+gHfyUd0OK2JEesSY+x+FwMHnyZN5//32efvppJt9gOWmLFi3I\nyMjA4XCw5doVItc4efIkw4YNo0+fPvTp04fdu3czbNgwnynBq93suyFF7EojQvFpZVOfffv25c03\n3ySw7IZXOUpKStzeJywpKWHevHlMmTKFFi1asHDhQrr46MM1rx75FRZChw6wdq3xFB99WogvUhGK\nzyub+gwJCeFf//oXoaGhN/Xnt27dypgxY9i7dy9//etfGTduHAEBAVWU1nzXToEuWWIsqlm6VEUo\nvklTo+LzWrRoQVZWFgEBAYSHh7Ongu9nKigoYOLEifTo0YM2bdqwa9cuJk6c6NMlWJ5r3w0p4mtU\nhOIX6tevT0pKCt27dyc8PJzPPvvM4/WLFy+mdevWpKSkkJKSwuLFi7nzzju9E9Zknt4NKeKLVITi\nN2rUqMHixYuZMGECDz/8MIsXL77umj179tC7d29GjRrFM888w5dffsmDDz5oQloR8RYVofiVshWl\nH3zwAaNHj2bixImUlJRQVFTE5MmT6dSpEwEBAWRnZzN58mRq1apldmQRqWL+dbND5P8MGjSIoKAg\nnnjiCQ4ePMihQ4c4duwY8+bNY8SIET65HUJEyqdVo+LXsrOzmTNnDg6Hg5kzZxISEmJ2JBHxMhWh\niIj4Nd0jFBERv6YiFBERv6YiFBERv6YiFBERv6YiFBERv6YiFBERv6YiFBERv6YiFBERv6YiFBER\nv6YiFBERv6YiFBERv6YiFBERv6YiFBERv/b/AdDCJ1aSsFPjAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qmol" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [], "source": [ "subset = data[data['mol'] >= qmol]" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(103, 6)" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subset.shape" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnosmilessimilaritymollogpmw
0410802CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc121.000000\"Mol\"/1.6109474.587
11351310CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc120.881356\"Mol\"/3.2395473.599
21351311CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc120.881356\"Mol\"/2.8494459.572
380636CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc120.866667\"Mol\"/1.2687460.560
480694CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc120.838710\"Mol\"/0.9734504.613
" ], "text/plain": [ " molregno smiles similarity mol logp mw\n", "0 410802 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12 1.000000 \"Mol\"/ 1.6109 474.587\n", "1 1351310 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc12 0.881356 \"Mol\"/ 3.2395 473.599\n", "2 1351311 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCC4)ccc3OCC)nc12 0.881356 \"Mol\"/ 2.8494 459.572\n", "3 80636 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCNCC4)ccc3OCC)nc12 0.866667 \"Mol\"/ 1.2687 460.560\n", "4 80694 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(CCO)CC4)ccc3OCC)nc12 0.838710 \"Mol\"/ 0.9734 504.613" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subset.head()" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnosimilaritylogpmw
countmeanstdmin25%50%75%maxcountmeanstdmin25%50%75%maxcountmeanstdmin25%50%75%maxcountmeanstdmin25%50%75%max
mol
False114.0886740.473684597207.64558928710.0310086.75565658.01441764.751831663.0114.00.5941480.0537400.50.5604110.5986110.6259460.734375114.02.0257730.780307-0.04831.47122.075812.54824.4372114.0493.52119358.942393391.453456.1290489.106518.6400762.879
True103.0851594.970874562828.49970580558.0410705.00488147.01351307.501831961.0103.00.6723380.1070840.50.5774650.6911760.7406591.000000103.02.5260631.0801570.30341.66152.593103.31934.7317103.0480.585107117.141116268.320415.5065502.641552.6255866.980
" ], "text/plain": [ " molregno similarity logp mw \n", " count mean std min 25% 50% 75% max count mean std min 25% 50% 75% max count mean std min 25% 50% 75% max count mean std min 25% 50% 75% max\n", "mol \n", "False 114.0 886740.473684 597207.645589 28710.0 310086.75 565658.0 1441764.75 1831663.0 114.0 0.594148 0.053740 0.5 0.560411 0.598611 0.625946 0.734375 114.0 2.025773 0.780307 -0.0483 1.4712 2.07581 2.5482 4.4372 114.0 493.521193 58.942393 391.453 456.1290 489.106 518.6400 762.879\n", "True 103.0 851594.970874 562828.499705 80558.0 410705.00 488147.0 1351307.50 1831961.0 103.0 0.672338 0.107084 0.5 0.577465 0.691176 0.740659 1.000000 103.0 2.526063 1.080157 0.3034 1.6615 2.59310 3.3193 4.7317 103.0 480.585107 117.141116 268.320 415.5065 502.641 552.6255 866.980" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.groupby(data['mol'] >= qmol).describe().unstack()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [], "source": [ "data['containsQ'] = data['mol'] >= qmol" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
molregnosmilessimilaritymollogpmwcontainsQ
0410802CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc121.000000\"Mol\"/1.6109474.587True
11351310CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc120.881356\"Mol\"/3.2395473.599True
" ], "text/plain": [ " molregno smiles similarity mol logp mw containsQ\n", "0 410802 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCN(C)CC4)ccc3OCC)nc12 1.000000 \"Mol\"/ 1.6109 474.587 True\n", "1 1351310 CCCc1nn(C)c2c(=O)[nH]c(-c3cc(S(=O)(=O)N4CCCCCC4)ccc3OCC)nc12 0.881356 \"Mol\"/ 3.2395 473.599 True" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head(2)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtUAAAL4CAYAAAC0gQuDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu8ZXddH/zPNwkIlssEVKSBMFakEQSGIBEL6tHgQ/Cl\nYvGC8cIZaltqwVIffQpadM6xPgUe7aNy0RZLmREreOEiQlVUskG0ECAZQEwCyEWICEoSRe6EX/84\ne4bDmTNrNrP2mnX2mvf79TqvOWvvtdf+rpPX/PKZdT5772qtBQAAOH3njD0AAACsOqEaAAB6EqoB\nAKAnoRoAAHoSqgEAoCehGgAAehKqgT2vqm6uqquq6mhVvb6qHjjAc3zoFPffraouX/bzDq2q1qvq\n6bvcfqiq/u8xZto2w32r6mEL7Hf/qvr503yOW1TVz1XV26rqrVX1kqq66+kcC6CLUA2sgg+31i5u\nrR1I8uNJnjLAc5zqTfu/JMn39HmCqhprzd2rH0hwIMk3nWqn1tobWmv//jSf48lJbtNa+7LW2j2S\nvDDJb5/msQBOSqgGVkFt+/72SW44fkfVz1TVm6vqjVX1XfPbvq2q/nD+/Z2r6rqq+qL5VdsXV9UV\n89t+ctcn++xjfuf85icnefD8ivnjd+xfVfWLVfXnVfX7VfWyqnrE/L53VtVTqur1Sb5jfnX2f8+v\nur+gqm4/3++Kqrp4/v0dq+qd8+9POnNVfW9VvXY+0y9VVc1vf/R839ckeVDHz/VAVf3pfN8fmD/2\nSFV967bn+NWq+pZdfkZPqKo3VdXVVfWf57cd6Di3p8xnvbaqHlRVt0jyU0m+az7/d1bVA+bzvKGq\nXl1VXzZ//NdV1e/Mvz9UVc+eH/PtVfVD89s/v6peOp/nTfPj3TrJwSTHA3lr7XCSD1XVQzp+LgCf\ns/PGHgBgAbeuqquS3DrJFyf5hiSZB9f7tNbuXVVflOR1VfXK1tqLq+oRVfXYJJcl+YnW2gfmmfMB\nSe6V5GPz/V/aWrvq2BNV1bfvcsxXJXlikh9prX1rTvSIJBe21u5ZVXdKck2SZ2+7/29ba185P/4b\nkzy2tfbqqtpMcijJbjWM7VeXT5g5yUeSPDLJP2ut3VxVz0zyvfN/TGwkuV+Sv08yS3JVdnfvJF+V\n5LZJrq6ql83n/uEkL6mq2yX56iSP2v6gqrosybckeUBr7eNVtW9+15GOczu3tfZVtVX32GitfeP8\nHwj3b639u/lxb5Pkwa21T1fVpdn6h8x37PLz+KdJ1rL1D6zrquoXs/Xf+frW2jfPj3XbJHdP8u7W\n2od3nPcbktwzyR+e5OcC8DlzpRpYBR+Z1z++PMnDkjx3fvuDkzwvSVprH8hWgHzA/L5/l+THknys\ntfYb2471B621m1prH8tWFeDBO57rQR3HPJkHJ/nN+WPen+SKHff/epLMQ+rtW2uvnt9+JMnXnuLY\nO2d+wfz5Lk1y/2yF7Kuz9Q+Nf5KtkHxFa+2G1tqnjj33Sfx2a+0TrbUPJnlFkktaa69KcvequmOS\ny5O8oLX26R2Pe0iS57TWPj4/55sWOLcXzv98Q5K7nWSefUl+q6renOTnshV8d/Oy1tqn5nO/P8md\nkrw5yTdW1ZOr6sGttc6OPMCyCdXASmmtvSbJF1TVF+xy9/aayF2TfDpbgeuzDnGK7a5jnq6dV0p3\n86l8Zk2+1Y77ts9Y27YPz/+xcb/W2pe31n5q2z6LONlxfyXJ9yd5dJL/seCxTuXj8z9vzsl/S/qf\nkryitXbvbF0J3/lz2HmsZOu/8XmttbcluThb4fqnq+pJSf4iyYVV9Y92PP7+SV7/uZ8CwMkJ1cAq\nOB4Sq+qibK1dH0zyx0keWVXnVNUXJvmaJFdW1XnZqjF8d5JrqupHth3rG6tq37xv+21JXr3jOXY9\nZpIPZasmsZs/SfLt8271nbJVTThBa+3vk9xYVcd6zt+f5JXz79+V5Cvn33/njofunPlPsnVl+Tvm\nM6aqzq+qC5O8NsnXzrdvscuxtnt4Vd1yflX665K8bn77kWz1kFtr7dpdHvcHSR49nydVdf4pzm2n\nYz/rDyW53bbbb5fk+vn3j+6Y+8QDVt05yUdba7+W5GeSXNxa+8j8XH6u5i8SrapHzff708/l+ACn\nolMNrIJbzTvVx8LYo1prLcmLauvt9d6YrSuW/8+8O/0TSV7VWvvTqnpTtoL2S+ePvTJbVYQLkjy3\ntXb1/PaWJK21kx3zhiSfnlctDrfWfmHbfC/IVv3iLUnek62Kw99tP+4260n+2zyQviOfCY8/m+Q3\nqupfJXnZjsfsnPmqJJlfjX35PDB+Ilt95iuraiPJa5LcmORox8/1Tdmqt9wxyU+11v56/jP4QFVd\nk+RFuz2otfb7VXXfJK+vqo8n+V9JnpStFwX+113O7WS/HbgiyRPn/22fnOT/S/Ir8/Pa+TM4mWPH\nuneSn6mqT2frZ/GD89t/PFsh+7r5XB/IVk8cYKlq6/9LANNXVevZ9sK4JR/7H7XWPlxVd8jW1eIH\nzTvZfY872Mwdz/n52fpHxcVT6ibPX3j6u0l+qbX238eeB5gWV6oBluOl83fBuEW2rvr2DtRjmL/r\nxrOT/JcpBerk+AtP7z/2HMA0uVINAAA9eaEiAAD0JFQDAEBPQjUAAPQkVAMAQE9CNQAA9CRUAwBA\nT0I1AAD0JFQDAEBPQjUAAPQkVAMAQE9CNQAA9CRUAwBAT0I1AAD0JFQDAEBPQjUAAPQkVAMAQE9C\nNQAA9CRUAwBAT0I1AAD0JFQDAEBPQjUAAPQkVAMAQE9CNQAA9CRUAwBAT0I1AAD0JFQDAEBPQjUA\nAPQkVAMAQE9CNQAA9CRUAwBAT0I1AAD0JFQDAEBPQjUAAPQkVAMAQE9CNQAA9CRUAwBAT0I1AAD0\nJFQDAEBPQjUAAPQkVAMAQE9CNQAA9CRUAwBAT0I1AAD0JFQDjKSqfqyqnnWaj/2eqvq9bdufrqp/\ncprHumtV/X1V1ek8HoCkWmtjzwBAT1V1c5Iva629YwnHuiLJc1tr/6P/ZABnB1eqAabhtK4yV9W5\nyx4E4GwkVAOcAVX1hKp677xmcU1VfX1VHaqq587vv9u8wnGwqv6yqj5YVY+pqq+sqjdW1Q1V9fRt\nx1uvqj8+yXN9U1VdVVV/V1XvrqpD2+479jz/oqreneSPtt12TlX9dJKvSfKM+axPq6pnVNXP7niO\n366qxw/ywwJYQeeNPQDA1FXVPZI8Nsn9W2vvr6oLk5yb5GuT7OzgXZLk7vP7fifJ7yb5hiSfl+Tq\nqvqN1tqxMH2y/t4/JPn+1tpbquorkvxBVV3dWnvJtn2+NslFST6d5IuPHau19qSqelC21T+q6gFJ\nXpTkR+fbd0xyaZIfOK0fCMAEuVINMLybk9wyyVdU1Xmttb9srb1zl/1akp9qrX2itfaHST6c5Hmt\ntQ+21v4qyR8nud+pnqy19qrW2lvm3/9Zkucn+bodz3OotfbR1trHFzje65L8XVVdOr/pu5PMWmt/\ne6rHApwthGqAgbXW/iLJv0+ykeQDVfVrVXXnk+z+gW3ffzTJ+3ds3+ZUz1dVX1VVr6iqD1TVTUke\nk+QLduz23kXnn/uVJN83//77kjz3c3w8wKQJ1QBnQGvt+a21r0ly4fympw74dP8zyYuTXNBa25fk\nv+XEFzJ2vfXTbvf9apKHV9V9slUbefEyBgWYCqEaYGBVdY/5CxNvmeQT2brifPNuuy7pKW+T5MbW\n2ier6pIk37PA82y/7f1JPus9r1tr1yd5fbauUL9gkdoIwNlEqAYY3ucleUqSv0nyV0m+MMmP7bLf\nzivEp9o+2X3/Nsl/qqq/S/KkJL++wHG23/YLSb5z/g4kP7/t9iNJviJbVRAAtjnlh79U1bOTfHOS\n97fW7nOSfZ6W5GHZelHNwdba0WUPCsC4quprsvWuIPvHngVgr1nkSvVzkjz0ZHdW1cOSfGlr7cuy\n9WKY/7qk2QDYI6rqFkken+SXx54FYC86Zahurb06yY0duzw8818FttZem+T2VXWn5YwHwNiq6qJs\n/X/gTtmqhgCwwzI+/OWCJO/Ztn39/Lb37747AKuktXZtFngrP4CzmRcqAgBAT8u4Un19krtu277L\n/LYTVFX3qyIBAGAPa63t+vani4bqysnfP/UlSR6b5Ner6oFJbmqtnbT6cap3G4G9ZGNjIxsbG2OP\nATBZa2trmc1mY48BC6k6+ccJnDJUV9WvJVlLcseq+sskh5LcMklrrT2rtfa/quqbqurt2XpLvUcv\nZWoAAFgRpwzVrbWdn8S12z6PW844sLe8613vGnsEgEm71a1uNfYIsBReqAgdDhw4MPYIAJN22WWX\njT0CLMUpP1FxqU9W1XSqAQBYRVV10hcqulINAAA9CdXQwSvSAYZlnWUqhGoAAOhJpxoAABagUw0A\nAAMSqqGDrh/AsKyzTIVQDQAAPelUAwDAAnSqAQBgQEI1dND1AxiWdZapEKoBAKAnnWoAAFiATjUA\nAAxIqIYOun4Aw7LOMhVCNQAA9KRTDQAAC9CpBgCAAQnV0EHXD2BY1lmmQqgGAICedKoBAGABOtUA\nADAgoRo66PoBDMs6y1QI1QAA0JNONQAALECnGgAABiRUQwddP4BhWWeZCqEaAAB60qkGAIAF6FQD\nAMCAhGrooOsHMCzrLFMhVAMAQE861QAAsACdagAAGJBQDR10/QCGZZ1lKoRqAADoSacaAAAWoFMN\nAAADEqqhg64fwLCss0yFUA0AAD3pVAMAwAJ0qgEAYEBCNXTQ9QMYlnWWqRCqAQCgJ51qAABYgE41\nAAAMSKiGDrp+AMOyzjIVQjUAAPSkUw0AAAvQqQYAgAEJ1dBB1w9gWNZZpkKoBgCAnnSqAQBgATrV\nAAAwIKEaOuj6AQzLOstUCNUAANCTTjUAACxApxoAAAYkVEMHXT+AYVlnmQqhGgAAetKpBgCABehU\nAwDAgIRq6KDrBzAs6yxTIVQDAEBPOtUAALAAnWoAABiQUA0ddP0AhmWdZSqEagAA6EmnGgAAFqBT\nDQAAAxKqoYOuH8CwrLNMhVANAAA96VQDAMACdKoBAGBAQjV00PUDGJZ1lqkQqgEAoCedagAAWIBO\nNQAADEiohg66fgDDss4yFUI1AAD0pFMNAAAL0KkGAIABCdXQQdcPYFjWWaZCqAYAgJ50qgEAYAE6\n1QAAMCChGjro+gEMyzrLVAjVAADQk041AAAsQKcaAAAGJFRDB10/gGFZZ5kKoRoAAHrSqQYAgAXo\nVAMAwICEauig6wcwLOssUyFUAwBATzrVAACwAJ1qAAAY0EKhuqouq6prq+qtVfWEXe7fV1UvrKo3\nVtVrquqeyx8VzjxdP4BhWWeZilOG6qo6J8kzkjw0yb2SXF5VF+3Y7ceTXN1au2+S9SRPW/agAACw\nVy1ypfqSJG9rrb27tfbJJM9P8vAd+9wzySuSpLV2XZL9VfWFS50URrC2tjb2CACTZp1lKhYJ1Rck\nec+27ffOb9vujUkekSRVdUmSC5PcZRkDAgDAXresFyo+Jcn5VXVVkscmuTrJzUs6NoxG1w9gWNZZ\npuK8Bfa5PltXno+5y/y241prH0ryL45tV9U7k7xjt4MdPHgw+/fvT5Ls27cvBw4cOP6rn2N/sWzb\n3ivbR48e3VPz2LZt27Zt27bP3PZsNsvhw4eT5Hh+PZlTvk91VZ2b5LoklyZ5X5Irk1zeWrtm2z63\nT/KR1tonq+pfJXlQa+3gLsfyPtUAAKykrvepPuWV6tbazVX1uCQvz1Zd5NmttWuq6jFbd7dnJfny\nJEeq6tNJ3pLkB5Y3PgAA7G0+URE6zGaz478OAmD5rLOsEp+oCAAAA3KlGgAAFuBKNQAADEiohg7H\n3lYHgGFYZ5kKoRoAAHrSqQYAgAXoVAMAwICEauig6wcwLOssUyFUAwBATzrVAACwAJ1qAAAYkFAN\nHXT9AIZlnWUqhGoAAOhJpxoAABagUw0AAAMSqqGDrh/AsKyzTMV5Yw8AAExD1a6/FR+EOil7jU41\nAAAsQKcaANiTNjbGngCWQ6iGDrp+AMPa3JyNPQIshVANAAA96VQDAKOpSkQDVoVONQAADEiohg46\n1QBDm409ACyFUA0AjGZ9fewJYDl0qgEAYAE61QAAMCChGjroVAMMyzrLVAjVAADQk041AAAsQKca\nANiTNjbGngCWQ6iGDrp+AMPa3JyNPQIshVANAAA96VQDAKOpSkQDVoVONQAADEiohg461QBDm409\nACyFUA0AjGZ9fewJYDl0qgEAYAE61QAAMCChGjroVAMMyzrLVAjVAADQk041AAAsQKcaANiTNjbG\nngCWQ6iGDrp+AMPa3JyNPQIshVANAAA96VQDAKOpSkQDVoVONQAADEiohg461QBDm409ACyFUA0A\njGZ9fewJYDl0qgEAYAE61QAAMCChGjroVAMMyzrLVAjVAADQk041AAAsQKcaANiTNjbGngCWQ6iG\nDrp+AMPa3JyNPQIshVANAAA96VQDAKOpSkQDVoVONQAADEiohg461QBDm409ACyFUA0AjGZ9fewJ\nYDl0qgEAYAE61QAAMCChGjroVAMMyzrLVAjVAADQk041AAAsQKcaANiTNjbGngCWQ6iGDrp+AMPa\n3JyNPQIshVANAAA96VQDAKOpSkQDVoVONQAADEiohg461QBDm409ACyFUA0AjGZ9fewJYDl0qgEA\nYAE61QAAMCChGjroVAMMyzrLVAjVAADQk041AAAsQKcaANiTNjbGngCWQ6iGDrp+AMPa3JyNPQIs\nhVANAAA96VQDAKOpSkQDVoVONQAADEiohg461QBDm409ACyFUA0AjGZ9fewJYDl0qgEAYAE61QAA\nMCChGjroVAMMyzrLVAjVAADQk041AAAsQKcaANiTNjbGngCWQ6iGDrp+AMPa3JyNPQIshVANAAA9\n6VQDAKOpSkQDVoVONQAADEiohg461QBDm409ACyFUA0AjGZ9fewJYDl0qgEAYAE61QAAMKCFQnVV\nXVZV11bVW6vqCbvcf7uqeklVHa2qN1fVwaVPCiPQqQYYlnWWqThlqK6qc5I8I8lDk9wryeVVddGO\n3R6b5C2ttQNJvj7Jf6mq85Y9LAAA7EWLXKm+JMnbWmvvbq19Msnzkzx8xz4tyW3n3982yQdba59a\n3pgwjrW1tbFHAJg06yxTsUioviDJe7Ztv3d+23bPSHLPqvqrJG9M8vjljAcATNnGxtgTwHIs64WK\nD01ydWvtHye5X5JnVtVtlnRsGI2uH8CwNjdnY48AS7FI7/n6JBdu277L/LbtHp3kyUnSWvuLqnpn\nkouSvH7nwQ4ePJj9+/cnSfbt25cDBw4c/9XPsQBj2/Ze2T569Oiemse2bdu2bdu2fea2Z7NZDh8+\nnCTH8+vJnPJ9qqvq3CTXJbk0yfuSXJnk8tbaNdv2eWaSD7TWNqvqTtkK0/dtrd2w41jepxoAOK4q\nEQ1YFV3vU33KK9WttZur6nFJXp6tusizW2vXVNVjtu5uz0ry00kOV9Wb5g/7DzsDNQAATJVPVIQO\ns9ns+K+DAFi+qllaWxt7DFiIT1QEAPak9fWxJ4DlcKUaAAAW4Eo1AAAMSKiGDsfeVgeAYVhnmQqh\nGgAAetKpBgCABehUAwB70sbG2BPAcgjV0EHXD2BYm5uzsUeApRCqAQCgJ51qAGA0VYlowKrQqQYA\ngAEJ1dBBpxpgaLOxB4ClEKoBgNGsr489ASyHTjUAACxApxoAAAYkVEMHnWqAYVlnmQqhGgAAetKp\nBgCABehUAwB70sbG2BPAcgjV0EHXD2BYm5uzsUeApRCqAQCgJ51qAGA0VYlowKrQqQYAgAEJ1dBB\npxpgaLOxB4ClEKoBgNGsr489ASyHTjUAACxApxoAAAYkVEMHnWqAYVlnmQqhGgAAetKpBgCABehU\nAwB70sbG2BPAcgjV0EHXD2BYm5uzsUeApRCqAQCgJ51qAGA0VYlowKrQqQYAgAEJ1dBBpxpgaLOx\nB4ClEKoBgNGsr489ASyHTjUAACxApxoAAAYkVEMHnWqAYVlnmQqhGgAAetKpBgCABehUAwB70sbG\n2BPAcgjV0EHXD2BYm5uzsUeApRCqAQCgJ51qAGA0VYlowKrQqQYAgAEJ1dBBpxpgaLOxB4ClEKoB\ngNGsr489ASyHTjUAACxApxoAAAYkVEMHnWqAYVlnmQqhGgAAetKpBgCABehUAwB70sbG2BPAcgjV\n0EHXD2BYm5uzsUeApRCqAQCgJ51qAGA0VYlowKrQqQYAgAEJ1dBBpxpgaLOxB4ClOG/sAQCAvecO\nd0huvPHMPFft+sv05Tr//OSGG4Z/Hs5eOtUAwAmm1nWe2vkwDp1qAAAYkFANHXSqAYZlnWUqhGro\ncPTo0bFHAABWgFANHW666aaxRwCYtLW1tbFHgKUQqgEAoCdvqQc7zGaz4x2/zc3N47evra25ogKw\nZLPZzNrKJHhLPehw2WWX5fd+7/fGHgPgjDtTb0F3pkK1t9RjGbylHpymj33sY2OPADBprlIzFUI1\ndNi/f//YIwAAK0CnGnbY3qk+cuTI8WCtUw2wfDrVTIVONXQ4cOCA96oGzko61XAinWo4Tfv27Rt7\nBIBJc5WaqVD/gB221z9e+cpXZmNjI4n6BwBwcuof0OHgwYM5fPjw2GMAnHHqH3Ai9Q8AABiQK9XQ\nwavSgbPV1K7sTu18GEfXlWqhGgA4wdRC6NTOh3Gof8BpOvaCRQCGYZ1lKoRqAADoSf0DADjB1OoS\nUzsfxqH+AQAAAxKqoYOuH8CwrLNMhVANAAA96VQDACeYWgd5aufDOHSqAQBgQEI1dND1AxiWdZap\nEKoBAKAnnWoA4ART6yBP7XwYh041AAAMSKiGDrp+AMOyzjIVQjUAAPSkUw0AnGBqHeSpnQ/j0KkG\nAIABCdWcNarqjH0BsBidaqbivLEHgDPldKpHVbO0trb8YQCASdGphg46eMDZamrr39TOh3HoVAMA\nwIAWCtVVdVlVXVtVb62qJ+xy/49W1dVVdVVVvbmqPlVV+5Y/Lpxps7EHAJg0nWqm4pShuqrOSfKM\nJA9Ncq8kl1fVRdv3aa39bGvtfq21i5P8WJJZa+2mIQaGM2l9fewJAIBVcMpOdVU9MMmh1trD5ttP\nTNJaa089yf7/M8krWmvP3uU+nWoAWAFT6yBP7XwYR99O9QVJ3rNt+73z23Z7olsnuSzJCz7XIQEA\nYFUt+4WK35Lk1aofTIWuH8CwrLNMxSLvU319kgu3bd9lfttuvjvJ87oOdvDgwezfvz9Jsm/fvhw4\ncCBra2tJPvMXy7btvbJ99OjRPTWPbdu2bZ/J7WRvzeN8bJ/p7dlslsOHDyfJ8fx6Mot0qs9Ncl2S\nS5O8L8mVSS5vrV2zY7/bJ3lHkru01j56kmPpVAPACphaB3lq58M4enWqW2s3J3lckpcneUuS57fW\nrqmqx1TVv96267cl+f2TBWpYRRsbY08AAKwCn6gIHXxMOXC2OlNXdmez2fFfuw/JlWqWwScqAgDA\ngFyphg6ubABnq6mtf1M7H8bhSjUAAAxIqIZOs7EHAJi0z7zdHaw2oRo6rK+PPQEAsAp0qgGAE9Wu\ntdHVJoPQU1enepFPVAQAzjKVNqkMWpVM6HTYg9Q/oIOuH8CwrLNMhVANAAA96VQDACeY2vs6T+18\nGIf3qYbTtLEx9gQAwCoQqqHD5uZs7BEAJk2nmqkQqgEAoCedauiggwecraa2/k3tfBiHTjUAAAxI\nqIZOs7EHAJg0nWqmQqiGDuvrY08AAKwCnWoA4ART6yBP7XwYh041AAAMSKiGDrp+AMOyzjIVQjUA\nAPSkUw0AnGBqHeSpnQ/j0KmG07SxMfYEAMAqEKqhw+bmbOwRACZNp5qpEKoBAKAnnWrooIMHnK2m\ntv5N7XwYh041AAAMSKiGTrOxBwCYNJ1qpkKohg7r62NPAACsAp1qAOAEU+sgT+18GIdONQAADEio\nhg66fgDDss4yFUI1AAD0pFMNAJxgah3kqZ0P49CphtO0sTH2BADAKhCqocPm5mzsEQAmTaeaqRCq\nAQCgJ51q6KCDB5ytprb+Te18GIdONQAADEiohk6zsQcAmDSdaqZCqIYO6+tjTwAArAKdagDgBFPr\nIE/tfBiHTjUAAAxIqIYOun4Aw7LOMhVCNQAA9KRTDQCcYGod5KmdD+PQqYbTtLEx9gQAwCoQqqHD\n5uZs7BEAJk2nmqkQqgEAoCedauiggwecraa2/k3tfBiHTjUAAAxIqIZOs7EHAJg0nWqmQqiGDuvr\nY08AAKwCnWoA4ART6yBP7XwYh041AAAMSKiGDrp+AMOyzjIVQjUAAPSkUw0AnGBqHeSpnQ/j0KmG\n07SxMfYEAMAqEKqhw+bmbOwRACZNp5qpEKoBAKAnnWrooIMHnK2mtv5N7XwYh041AAAMSKiGTrOx\nBwCYNJ1qpkKohg7r62NPAACsAp1qAOAEU+sgT+18GIdONQAADEiohg66fgDDss4yFUI1AAD0pFMN\nAJxgah3kqZ0P49CphtO0sTH2BADAKhCqocPm5mzsEQAmTaeaqRCqAQCgJ51q6KCDB5ytprb+Te18\nGIdONQAADEiohk6zsQcAmDSdaqbivLEHgNNxhzskN954Zp6rdv0lz3Kdf35yww3DPw8AMAydalbS\n1LpxUzsfYPVNbV2a2vkwDp1qAAAYkFANHXT9AIZlnWUqhGoAAOhJp5qVNLVu3NTOB1h9U1uXpnY+\njEOnGgAABiRUQwddP4BhWWeZCqEaAAB60qlmJU2tGze18wFW39TWpamdD+PQqQYAgAEJ1dBB1w9g\nWNZZpkKoBgCAnnSqWUlT68ZN7XyA1Te1dWlq58M4dKoBAGBAQjV00PUDGJZ1lqkQqgEAoCedalbS\n1LpxUzsfYPVNbV2a2vkwDp1qAAAYkFANHXT9AIZlnWUqhGoAAOhJp5qVNLVu3NTOB1h9U1uXpnY+\njEOnGgAABrRQqK6qy6rq2qp6a1U94ST7rFXV1VX1Z1V1xXLHhHHo+gEMyzrLVJx3qh2q6pwkz0hy\naZK/SvKAy6BoAAAQ/UlEQVS6qvrt1tq12/a5fZJnJvm/WmvXV9UXDDUwAADsNafsVFfVA5Mcaq09\nbL79xCSttfbUbfv8YJI7t9Z+8hTH0qlmKabWjZva+QCrb2rr0tTOh3H07VRfkOQ927bfO79tu3sk\nuUNVXVFVr6uq7z+9UQEAYPUs64WK5yW5OMnDklyW5Ceq6u5LOjaMRtcPYFjWWabilJ3qJNcnuXDb\n9l3mt2333iR/21r7WJKPVdWrktw3ydt3HuzgwYPZv39/kmTfvn05cOBA1tbWknzmL5Zt23tl++jR\no3tqHtu2bds+k9vJ3prH+dg+09uz2SyHDx9OkuP59WQW6VSfm+S6bL1Q8X1JrkxyeWvtmm37XJTk\n6dm6Sv15SV6b5JGttT/fcSydapajdq0zrTZ/N4A9ZGod5KmdD+Po6lSf8kp1a+3mqnpckpdnqy7y\n7NbaNVX1mK2727Naa9dW1e8neVOSm5M8a2eghmWqtEktjlXJhE4HAM46PlGRlXSmrjjMZrPjvw4a\nkisowF5jnYUT+URFAAAYkCvVrKSpXXGY2vkAq29q69LUzodxuFINAAADEqqhw2fehgmAIVhnmQqh\nGgAAetKpZiVNrRs3tfMBVt/U1qWpnQ/j0KkGAIABCdXQQdcPYFjWWaZCqAYAgJ50qllJU+vGTe18\ngNU3tXVpaufDOHSqAQBgQEI1dND1AxiWdZapEKoBAKAnnWpW0tS6cVM7H2D1TW1dmtr5MA6dagAA\nGJBQDR10/QCGZZ1lKoRqAADoSaealTS1btzUzgdYfVNbl6Z2PoxDpxoAAAYkVEMHXT+AYVlnmYrz\nxh4AANibatdfcq+m888fewKmTqealTS1btzUzgdgUdY/VolONQAADEiohg66fgBDm409ACyFUA0A\nAD3pVLOSptbBm9r5ACzK+scq0akGAPakQ4fGngCWQ6iGDjrVAMNaW5uNPQIshVANAAA96VSzkqbW\nwZva+QDAFOlUAwDAgIRq6KBTDTAs6yxTIVQDAKM5fHjsCWA5dKpZSVPrIE/tfAAWZf1jlehUAwDA\ngIRq6KDrBzC02dgDwFII1QAA0JNONStpah28qZ0PwKKsf6wSnWoAYE86dGjsCWA5hGpWVtWZ+Jqd\nkec5//yxf5oA41hbm409AizFeWMPAKfjTP2q0K8lAYBF6FRDB6EaADhGpxoAAAYkVEOn2dgDAEya\nzwNgKoRqAGA0hw+PPQEsh041dNjY2PoCYBheu8Iq6epUC9UAwGiEalaJFyrCadL1AxjabOwBYCmE\nagAA6En9AwAYjfoHq0T9AwDYkw4dGnsCWA6hGjocPDgbewSASVtbm409AiyFUA0djhwZewIAYBXo\nVEMHXT8A4BidagAAGJBQDZ1mYw8AMGk+D4CpEKoBgNEcPjz2BLAcOtXQYWNj6wuAYXjtCqukq1Mt\nVAMAoxGqWSVeqAinSdcPYGizsQeApRCqAQCgJ/UPAGA06h+sEvUPAGBPOnRo7AlgOYRq6HDw4Gzs\nEQAmbW1tNvYIsBRCNXQ4cmTsCQCAVaBTDR10/QCAY3SqAQBgQEI1dJqNPQDApPk8AKZCqAYARnP4\n8NgTwHLoVEOHjY2tLwCG4bUrrJKuTrVQDQCMRqhmlXihIpwmXT+Aoc3GHgCWQqgGAICe1D8AgNGo\nf7BK1D8AgD3p0KGxJ4DlEKqhw8GDs7FHAJi0tbXZ2CPAUgjV0OHIkbEnAABWgU41dND1AwCO0akG\nAIABCdXQaTb2AACT5vMAmAqhGgAYzeHDY08Ay6FTDR02Nra+ABiG166wSro61UI1ADAaoZpV4oWK\ncJp0/QCGNht7AFgKoRoAAHpS/wAARqP+wSpR/wAA9qRDh8aeAJZDqIYOBw/Oxh4BYNLW1mZjjwBL\nIVRDhyNHxp4AAFgFOtXQQdcPADhGpxoAAAYkVEOn2dgDAEyazwNgKoRqAGA0hw+PPQEsh041dNjY\n2PoCYBheu8Iq6epUC9UAwGiEalaJFyrCadL1AxjabOwBYCmEagAA6En9AwAYjfoHq0T9AwDYkw4d\nGnsCWI6FQnVVXVZV11bVW6vqCbvc/3VVdVNVXTX/etLyR4Uz7+DB2dgjAEza2tps7BFgKU4Zqqvq\nnCTPSPLQJPdKcnlVXbTLrq9qrV08//rpJc8JozhyZOwJAIBVsMiV6kuSvK219u7W2ieTPD/Jw3fZ\nb9d+Cay2tbEHAJi0tbW1sUeApVgkVF+Q5D3btt87v22nr66qo1X1sqq651KmAwCAFbCsFyq+IcmF\nrbUD2aqKvHhJx4WRzcYeAGDSfB4AU3HeAvtcn+TCbdt3md92XGvtH7Z9/7tV9YtVdYfW2g07D3bw\n4MHs378/SbJv374cOHDg+K9+jv3Fsm17iO2q02sonc7DWmujn69t27Ztn+ntr//6r8+ZcsUVV4x+\nvranvz2bzXL48OEkOZ5fT+aU71NdVecmuS7JpUnel+TKJJe31q7Zts+dWmvvn39/SZLfaK2d8Mze\npxoAgFXV9T7Vp7xS3Vq7uaoel+Tl2aqLPLu1dk1VPWbr7vasJN9RVT+Y5JNJPprkkcsbHwAA9jaf\nqAgdZrPZ8V8HAbB81llWiU9UBACAAblSDQAAC3ClGgAABiRUQ4djb6sDwDCss0yFUA0AAD3pVAMA\nwAJ0qgEAYEBCNXTQ9QMYlnWWqRCqAQCgJ51qAABYgE41AAAMSKiGDrp+AMOyzjIVQjUAAPSkUw0A\nAAvQqQYAgAEJ1dBB1w9gWNZZpkKoBgCAnnSqAQBgATrVAAAwIKEaOuj6AQzLOstUCNUAANCTTjUA\nACxApxoAAAYkVEMHXT+AYVlnmQqhGgAAetKpBgCABehUAwDAgIRq6KDrBzAs6yxTIVQDAEBPOtUA\nALAAnWoAABiQUA0ddP0AhmWdZSqEagAA6EmnGgAAFqBTDQAAAxKqoYOuH8CwrLNMhVANAAA96VQD\nAMACdKoBAGBAQjV00PUDGJZ1lqkQqgEAoCedagAAWIBONQAADEiohg66fgDDss4yFUI1AAD0pFMN\nAAAL0KkGAIABCdXQQdcPYFjWWaZCqAYAgJ50qgEAYAE61QAAMCChGjro+gEMyzrLVAjVAADQk041\nAAAsQKcaAAAGJFRDB10/gGFZZ5kKoRoAAHrSqQYAgAXoVAMAwICEauig6wcwLOssUyFUAwBATzrV\nAACwAJ1qAAAYkFANHXT9AIZlnWUqhGoAAOhJpxoAABagUw0AAAMSqqGDrh/AsKyzTIVQDQAAPelU\nAwDAAnSqAQBgQEI1dND1AxiWdZapEKoBAKAnnWoAAFiATjUAAAxIqIYOun4Aw7LOMhVCNQAA9KRT\nDQAAC9CpBgCAAQnV0EHXD2BY1lmmQqgGAICedKoBAGABOtUAADAgoRo66PoBDMs6y1QI1QAA0JNO\nNQAALECnGgAABiRUQwddP4BhWWeZCqEaAAB60qkGAIAF6FQDAMCAhGrooOsHMCzrLFMhVAMAQE86\n1QAAsACdagAAGJBQDR10/QCGZZ1lKoRqAADoSacaAAAWoFMNAAADWihUV9VlVXVtVb21qp7Qsd8D\nquqTVfWI5Y0I49H1AxiWdZapOGWorqpzkjwjyUOT3CvJ5VV10Un2e0qS31/2kDCWo0ePjj0CwKRZ\nZ5mKRa5UX5Lkba21d7fWPpnk+Ukevst+P5Tkt5J8YInzwahuuummsUcAmDTrLFOxSKi+IMl7tm2/\nd37bcVX1j5N8W2vtl5LsWt4GAICpWtYLFX8+yfautWDNJLzrXe8aewSASbPOMhWnfEu9qnpgko3W\n2mXz7Scmaa21p27b5x3Hvk3yBUk+nORft9ZesuNY3k8PAICVdbK31FskVJ+b5LoklyZ5X5Irk1ze\nWrvmJPs/J8nvtNZe2GtiAABYEeedaofW2s1V9bgkL89WXeTZrbVrquoxW3e3Z+18yABzAgDAnnVG\nP1ERAACm6JRXqmFKqurmJG/MVv+/Zetda/7yJPveLclLW2v3PoMjAqy0qrpDkj/K1hp75yQ3J/mb\n+fYlrbVPjTgeDEao5mzz4dbaxZ/D/n6VA/A5aK3dkOR+SVJVP5nkH1pr///O/aqqml+XMyHLeks9\nWBUnvGK3qu5WVa+qqtfPvx64yz73rKrXVtVVVXW0qr50fvv3brv9l6rK20kCfMbxNbGqvrSq3lJV\nv1pVf5bkrlV147b7H1lVvzz//ouq6gVVdWVVvaaqLhlhdvicuFLN2ebWVXVVthb6d7TWvj3J+5M8\npLX2iaq6e5LnJXnAjsf9myQ/31p7XlWdl+TcqrooySOT/LP5C3qfmeR7k/zqGTsbgNXyT5N8X2vt\n6vm7i+28Un1s+2lJntpau/JYFS+JKh57mlDN2eYju9Q/bpnkGVV1IFvdvy/b5XH/O8l/rKq7Jnlh\na+3tVXVpkouTvG5+hfpW2QroAOzuL1prVy+w30OS3GPbb/9uX1Wf11r7+ICzQS9CNSQ/nOSvW2v3\nmV85+ejOHeZXqF+T5JuTvGz+lpKV5Ehr7T+e2XEBVtaHt33/6Xx2DfVWO/Z9QGvt5uFHguXQqeZs\ns1vn+fbZ+mCjJHlUknNPeFDVl7TW3tlae3qSlyS5T7Ze3f4dVfWF833Or6oLhxkbYBKOr8HzFyne\nMO9an5Pkn2/b7w+T/NDxB1Xd98yNCKdHqOZss9srzX8xycGqujrJPfLZV1KO+a6q+rP5PvdK8ivz\nTxV9UpKXV9Ubs/UBSV880NwAU7BzDX5ittbOVyd5z7bbH5fkQVX1xvmLGv/lGZoPTpsPfwEAgJ5c\nqQYAgJ6EagAA6EmoBgCAnoRqAADoSagGAICehGoAAOhJqAZYIVV1t6q6fIH97lxVv9HjeZ5UVW+t\nqmur6oqquvfpHgvgbCBUA6yWL0nyPafaqbX2vtbad53OE1TV45I8MMm9W2sXJfnPSV5SVbc+neMB\nnA2EaoAzqKoeNf+UuKur6sj8yvMfVdXRqvqDqrrLfL/nVNUvVNWfVNXbq+oR80M8OcmDq+qqqnr8\n/PGvqqrXz78eOH/83arqzfPv16vqBVX1u1V1XVU9dX77OfPnedN8psfPn+M/JHlsa+3jSdJa+4Mk\nr0ryvWfuJwWwWs4bewCAs0VV3TPJjyf56tbajVV1fpIjSZ7TWvvVqnp0kqcn+efzh3xxa+1BVfXl\nSV6S5IXZ+ljnH2mtfev8mLdK8pDW2ieq6u5JnpfkAfPHb//I3PsmOZDkk0muq6qnJblTkgtaa/eZ\nH+t2VXXbJJ/fWnv3jvHfkOSey/tpAEyLK9UAZ843JPnN1tqNSTL/86uzFYST5LlJHrRt/xfP97sm\nyRed5Ji3TPLfq+pNSX4zyZefZL8/aq39w/zq858nuVuSdyT5kvkV8Ycm+dBpnxnAWU6oBhhX67jv\n49u+r5Ps88NJ/np+tfkrsxWyT3Wsm5Oc11q7KVtXsGdJ/k2SX26tfSjJh6tq/47H3z/J6ztmBTir\nCdUAZ84rknxnVd0hSeZ//mmSY+/m8X1J/vgkjz0Wqj+U5Lbbbr99kvfNv39UknMXHaaq7pjk3Nba\ni5I8KcnF87t+NsnT5tWSVNVDslX9+K1Fjw1wttGpBjhDWmt/XlX/b5JXVtWnklyd5IeSHK6qH03y\nN0kefWz3nQ+f//mmJJ+uqquTHE7yzCQvrKpHJfm9JB9eZJT5nxckeU5VnTO/7YnzOZ9eVfuSvKmq\nbpHkFkm+orX2ic/1nAHOFtVa128eATibVdXnJ3lRkte11p409jwAe5VQDQAAPelUAwBAT0I1AAD0\nJFQDAEBPQjUAAPQkVAMAQE9CNQAA9CRUAwBAT/8HkzrnA9yPUUkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.boxplot('similarity',by='containsQ')" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [], "source": [ "conn.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### More useful RDKit stuff here: http://www.rdkit.org/UGM/2012/ and https://github.com/rdkit/UGM_2013" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.11" }, "widgets": { "state": {}, "version": "1.1.2" } }, "nbformat": 4, "nbformat_minor": 0 }