Skip to content

Instantly share code, notes, and snippets.

@iwatobipen
Created July 23, 2020 07:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iwatobipen/a8cf0c2cbe861b75389ab18c339ac586 to your computer and use it in GitHub Desktop.
Save iwatobipen/a8cf0c2cbe861b75389ab18c339ac586 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'3.6.1'"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# numpy 18.x and pytables 3.4.x cause error so to use newer numpym pytables should be updated.\n",
"import tables\n",
"tables.__version__"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"from FPSim2 import FPSim2Engine\n",
"from FPSim2 import FPSim2CudaEngine\n",
"from rdkit import Chem\n",
"from rdkit.Chem import AllChem\n",
"from rdkit.Chem.Draw import IPythonConsole\n",
"from rdkit.Chem import Draw\n",
"import linecache\n",
"import cupy as cp\n",
"AllChem.SetPreferCoordGen(True)\n",
"chemblsmi = 'chembl27.smi'"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"fpe = FPSim2Engine('chembl27_morgan2_2048.h5')\n",
"fpe_cuda = FPSim2CudaEngine('chembl27_morgan2_2048.h5')"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0acd6490>"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"query = 'CC(=O)Oc1ccccc1C(=O)O'\n",
"qmol = Chem.MolFromSmiles(query)\n",
"qmol"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"def getmol(index):\n",
" smi = linecache.getline(chemblsmi, index).rstrip()\n",
" #linecache.clearcache()\n",
" return smi"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sim search with CPU"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 8.44 ms, sys: 19 µs, total: 8.46 ms\n",
"Wall time: 7.75 ms\n"
]
},
{
"data": {
"text/plain": [
"array([( 1116, 1. ), (1725269, 0.8888889 ),\n",
" ( 234058, 0.85714287), ( 780270, 0.7 )],\n",
" dtype={'names':['mol_id','coeff'], 'formats':['<u4','<f4'], 'offsets':[4,8], 'itemsize':12})"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time results = fpe.similarity(query, 0.7)\n",
"results"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x400 at 0x7F3E0A676F10>"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mols = [Chem.MolFromSmiles(getmol(row[0])) for row in results]\n",
"tcs = [row[1] for row in results]\n",
"Draw.MolsToGridImage(mols, legends=[str(tc) for tc in tcs])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sim search with CUDA"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 6.83 ms, sys: 16.1 ms, total: 22.9 ms\n",
"Wall time: 21.9 ms\n"
]
},
{
"data": {
"text/plain": [
"array([( 1116, 1. ), (1725269, 0.8888889 ),\n",
" ( 234058, 0.85714287)],\n",
" dtype={'names':['mol_id','coeff'], 'formats':['<u4','<f4'], 'offsets':[4,8], 'itemsize':12})"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time results = fpe_cuda.similarity(query, 0.8)\n",
"results"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E0A605910>"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mols = [Chem.MolFromSmiles(getmol(row[0])) for row in results]\n",
"tcs = [row[1] for row in results]\n",
"Draw.MolsToGridImage(mols, legends=[str(tc) for tc in tcs])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### SS Search with CPU / Cuda engine doesn't have SSS method.\n",
"pattern_fpe = FPSim2Engine('chembl27_rdk_pat.h5')"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 81.3 ms, sys: 3.68 ms, total: 85 ms\n",
"Wall time: 83.8 ms\n"
]
},
{
"data": {
"text/plain": [
"(8345,)"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time results_pat = pattern_fpe.substructure(query)\n",
"results_pat.shape"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 229 ms, sys: 2.45 ms, total: 232 ms\n",
"Wall time: 33.2 ms\n"
]
},
{
"data": {
"text/plain": [
"(8345,)"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time results_pat = pattern_fpe.substructure(query, n_workers=16)\n",
"results_pat.shape"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<PIL.PngImagePlugin.PngImageFile image mode=RGB size=1000x400 at 0x7F3E0A660C10>"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mols = [Chem.MolFromSmiles(getmol(row)) for row in results_pat[:10]]\n",
"Draw.MolsToGridImage(mols, molsPerRow=5)"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 80.1 ms, sys: 0 ns, total: 80.1 ms\n",
"Wall time: 78.9 ms\n"
]
},
{
"data": {
"text/plain": [
"(5,)"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%time results = fpe.substructure(query)\n",
"results.shape"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAADICAIAAAD0hVwYAAAx60lEQVR4nO3deVxU5f4H8M8AIqsLuC+JgiIKqLlguftzw/DaNbGbsZQaUlcHRA3TDJdU3AfUhDILXDK1WxKK29VrLqmomKIguKbmkqIs4rDMnN8fh8gUDZgZzpzh837dP8aZOQ/fuXx6+J5nzqIQBAFERERERGTczKQugIiIiIiI/h4bdyIiIiIiGWDjTkREREQkA2zciYiIiIhkgI07EREREZEMsHEnIiIiIpIBNu5ERERERDLAxp2IiMgYJSaiRQs8foy8PPj5ITERMTEAoFZj5EipiyPZYq5kjY07ERGRkerXDyqV1EWQyWGu5MtC6gKIiIiobD174uBB/P57yT83bsTp09BoJK2J5I+5ki827kRERMZr+nQsWFDyePRoBAdDrYafn6Q1kfwxVzLFxp2IiMh4ubqiZk3k5z/9fFISUlKg1eLjj6Uoi2SOuZIphSAIUtdAREREZRg2DLduISEBTZqU8apWiylTsGxZlZdFMsdcyRdX3ImIiIxUaiquXkVhYdmvzp+P4OCqLYhMAnMlX7yqDBERkfwsXoxr13DokNR1kGlhrowcV9yJiIjkZ+pUqSsgU8RcGTmuuBMRERERyQBX3ImIiIxUw4a/ajTFwEv8e016xFzJF1fciYiIjNTdu32vX3cWhOtSF0ImhbmSLzbuREREREQywMadiIiIiEgG2LgTEREREckAG3ciIiKjptFopC6BTBBzJUds3ImIiIxUUFBQ/fr1vb29d+zYIXUtZDqYK/li405ERGSkfH19a9WqdfHixddee+3111+/ePGi1BWRKWCu5IuNOxERkZFydnZOS0tTqVS1atXatm1bu3btQkJCsrOzpa6L5I25ki+FIAhS10BEREQvcu/evblz565atUqj0Tg6Os6cOXPChAnm5uZS10XyxlzJDht3IiIieTh16lRoaOjBgwcBdOrUSaVS9e7dW+qiSPaYKxlh405ERCQnP/74o1KpvHr1KgAfH5/o6OiWLVtKXRTJHnMlCzzGnYiISE6GDRt27ty5WbNm2djYJCYmtm/ffvbs2VIXRbLHXMkCG3ciIiKZsbGxiYiIyMjI8Pf3V6vVhw4dSk1Nlbookj3myvhZSF0AERERVUbTpk3j4+OtrKy++OKLb7/91t3dXeqKyBQwV8aMK+5EREQy9tJLL0ldApkg5so4sXEnIiIiIpIBNu5ERERERDLAxp2IiEjGFAoFAF7cmfSLuTJOPDmV6IU0GoSFQRCQnY0RIzB8uD6HSkzEjRsIDoZaDT8/bN2qv7qJiIjI1LBxJ3qh+Hh4emLsWAAYOhT9+6OwEPfuwdVVD0MRERERlRsPlSF6obNn4eVV8tjNDVevYuZMeHggJATZ2eUdJDsbeXllDAVg40YEB2PiRD2XTURERCaHjTvRC7m7Izm55HFaGhwdYWYGrRbR0WjTBl98Aa32RZtrtYiPh6srPv306aGcnABg9GjExGDFCgN+BCIiIjIJPFSG6IUCAjBpElJSkJ2NcePg5wdBwDffYNUqHDiAoKBjBw4UBQf37NmzjG3/9z9MmoTTpwHg1CnMmYPJk/8cyt6+aj8JEZkmnkRIhsBcGSc27kQvZGHx53L41as4exb37uHQIYwfj4CAwpiYf/zww90NG3x8fFasWOEkLqIDly9fzluxwlOlAgAnJyxaBF9fAE+vrPv4lDywsuKZqURERPRiPFSGqNycnJCRAaUSAFatwtSph8aNC50xw97ePjExsV27dtOmTbt79+6sWbPat28//Ouvtc2bIyICaWklXTsRERGRDrjiTlQRdesiKgoffICwsNzr1wcGB7dxdV29evWuXbvWr18fHR399ddf37lzR6FQ9B416v6CBfWbNJG6YiIiIjIRXHEnqjhXV2zf/ktkZMtWrdLT0/38/B49erR06VKNRnPnzp1XXnnl6NGjcXFx7NqJqArY2NiI3/vduHFD6lrIdDBXxknB0w6IKq2goEClUs2bNy83N9fKykqtVi9YsCA8PFw8p4eIqGr07dv3wIEDNjY24eHhU6dOtba2lroiMgXMlRHiijtR5dWsWTM8PPzChQuBgYENGzYE4OPjw66diKrY+vXr/f39Hz9+HBER0bp16/j4eK7Kke6YKyPEFXci/fDw8EhNTT179qy7u7vUtRBRdXTs2LHQ0NCjR48C6NatW1RUVPfu3aUuimSPuTIqXHEn0g9xH5jL7UQkFS8vr8OHD8fFxTVs2PD48eOvvvpqQEDA7du3pa6L5I25Mips3ImIiEyEmZlZQEDApUuXIiIiLC0t161b5+LiMmvWLLVaLXVpJGPMlfFg406kH1xxJyIjYWtrO2vWrNTUVF9f30ePHs2ePdvDw2PLli1S10XyxlwZAzbuREREJsjFxWXz5s27du1q167dxYsXR40aderUKamLItljrqTFxp1IP7jiTkRGaNCgQb/88sv8+fNr1qz51ltvSV0OmQjmSips3In0g407ERknCwuLMWPGFBQUZGdnS10LmQ7mShJs3ImIiIiIZICNO5F+cMWdiIiIDIqNOxERkYkT1xR4y0XSL+aq6llIXQCRRDQahIVBEJCdjREjMHy4juNxxZ2IiIgMiivuJEsPHz6cP39+fn5+5YeIj4enJ6KjEReH2Fjk5upST25urnh2zrVr13QZh4iIiOh52LiTLM2aNWvGjBlt2rSJj4+v5Jd0Z8/Cy6vksZsbrl6tXCWCIMTHx7u6ut65c8fGxua1114LCQnJycmp3GhEREREz8PGnWTp7bfffuWVV27evBkYGNi9e/djx45VYOP0dAwbBgcHJCeXPJOWBicnfPstlEo8eFD+kQ4fPtytW7fAwMBbt2517dp10KBBGo0mOjq6bdu2X3/9tVarrchnIqoiGo3m2rVrly9flroQIiKqGDbuJEtdu3Y9fPhwXFxco0aNjh8//uqrrwYEBNy5c+dvNnvwAKGh8PREYiJSUnDqFJRKBAZi3DjY2OCjj7BiBVq3xurV0GhePNLNmzcDAgJ69ep14sSJpk2bxsbGHj169Pvvv9++fXuvXr1u3br17rvvduvW7dChQ3r7zET6cOzYsR49evTp08fDw2PgwIHnzp2TuiKqCjyJkAyBuZKAQCRneXl5ERERNWvWBFCnTp3IyEi1Wv3s24qKivI//1xwdBQAwdxcGD9euHv36TedPSsMGCAAAiB4euYcOFDmT3z06FFkZKSdnR0Aa2vr8PDwnJwc8aV9+/bVqFEjKCho/fr1Tk5OABQKha+v77Vr1/T6oYkq49q1a2+++ab4h7ZBgwZihi0tLcPCwh4+fCh1dWRYd+/eBVC/fn2pCyGTwlxVPTbuZAoyMzN9fX3FfdE2bdokJiY++ep///tfT0/PL3r2FAChXz/h9OkXjZWQIDg7F5ubd3B19fHxuXTpUukrWq128+bNLVq0EH+Qj4/PlStXntx00aJFFhYW4iwWHR09f/58sTeysbGJiIh4/PixPj8zUbnl5+eX7m2KaczPz793755SqTQ3Nwfg4OCgUqmKi4ulrpQMhQ0WGQJzVfXYuJPp2Lt3r7u7u9hVDxgw4Ny5c5mZmcP/uM5jGxeX/B9+KNdAavWplStL19Q//vjjvLy8EydO9OzZUxzq5Zdf/umnn8rcNC0tbciQIeLb3NzcNmzY4O/vL65xNm/ePC4uTp8fmKgcEhISxO9/xL3Nq1evis9/8803/fv3//bbb/v06VOa2KSkJGmrJQPRW4NVXCwolcLEiUJAgFDOGZVMF3NV9di4k0kpLCxcunRp7dq1AVhYWIjr3/b29gsWLCjzEJoXuHnzpp+fn9hz165dW3zQuHHjtWvXajSaF2+bkJDQqlWr0lZp48aNHTp0EP/5+uuv6/D5iCrg1KlTvXv3Lt3bPHjw4JOvduzYUfzP5IMPPtiwYcOTiX3yiyYyDeK5yHXq1CksLNRpoLVrhTVrSh57ewt/HChI1dOBAweYqyrGxp1M0P/+97/WrVs7OjrWq1evRYsWu3fvrvRQycnJnTp1atq0aY0aNZRKZXZ2djk3fPz48aeffmpraysu2y9dujQuLq5OnTpeXl7btm2rdD1E5XH//v3Sw2AcHR3LPAwmKysrPDzc0tJS/Ls7b968JUuW1KpVSzzwvUJpJ2Om1Wrj4uIaNmxobW1tbm7eunXrzZs3V3iU7duFMWMEQRAmTRLOni15MixMOHNGn7WSTFy5cmX+/PniV9wKhcLMzIy5qjJs3MkE7dixA8CgQYMGDRoEYMeOHbqMtm/fPgA9evSoxLY3b94MCgoyMzNbvXq1IAjTpk0D8Mknn+hSD5kafX9HHBUVVadOHbH/njJlyov77/T09Ndee630/JC4uLiAgIDS75e2bNmiez0koSNHjnTt2lX8/bq7u5d+r+Lt7Z2WllauIdLTBW/vkrP2t20TvvxSWLu25CWujFYzd+8Kc+cWt2mzUKGoV3qNkzp16pSe+sVcVQFeDpJMlrm5ubjiqCMzMzMAFhYWP/zww8KFCy9cuFD+bZs0aSJeKfK9994DYG1trXs9ZGr0ehPfq1evJiUlPXz4cMCAAadOnVq8eLG4iP48rq6uiYmJCQkJbdq0ycjICAwMvHfv3tatW3v27Hnr1q0DBw7cvn1bl3pIKjdv4sMPT/fo0SM5Oblp06br168/c+ZMenp6bGxsvXr1kpKSPDw8xo8ff+/eveeN8PjhQ0yeDA8PJCWhTh0sWoTMTPj6/uVCuvb2VfmhSBJ5eVi/HkOHokkTzJxpnpHxoSBsEV9ydXVNTk7OzMxkrqqO1HsORPq3fft2AEOHDhXPE9XxfLv9+/cD6Nu37xtvvAFg69atlR5q1qxZACIiInSph0yNXr8jnjdvHoA333yzohsWFhaqVCpxqf4///mPVqt9+eWXdf/Ph6peQYGgUgn29oKFheDmNlKpVOb8df3yySOpxAsKFRUVPfkGjUYjHl3zsEMHwcxM8PcX4uOFVq0EQJgzp2o/DUksPl6wsSlZGf/r//r16dPn/v37pe9krqoGV9zJlAmCgD/uEGFsoxGVcHd/+ia+OhDz2apVK/HeqJq/u5VYqRo1aoSEhGRkZCxZsuSf//ynQqFo0KCBLpWQJL77Dq6uCA1Fbi5efx07dmyKioqy/+v6pYODQ1RU1NmzZwcPHpyVlRUaGurh4bFz507x1Z9++qlLly6BgYF37txZ4eaGTZtw8yYCAnD5Mjw88MfFtaiaiI1Ffn4Zz3t7D9q1a5eDg0PpM8xV1WDjTiaoBmBpbq5QKPTSauuxXxd4ezl6Vs+e2LYN77yDwYPRrRt0O56q9EaGr776qrOz89/fTviv6tevP3ny5KeG0qUeqkqHD2PkSFy9ig4dsH8/tmyBk9NzDxd0c3PbuXOneAms9PR0b2/vYcOGBQcH9+nTJyUlpUWLFmvWrLnl4JCxahX27YOjI1atwqlT6NevKj8RSW7EiKefUSgQHo7t26eJtz58CnNlaGzcyQQN1GoLNJpEhWIXIACD9DSsvjp4rtnTX2zYgG3b0KoVjh/H7NnIy5O6IDI6iYmIiQEAtRojR/7l+RYt8Pgx8vLg54cePeDvj9WrcfIk+vYt18jDhg07d+7cvHnz7OzsEhMTv/rqK0tLy6lTp06cOPHDDz/87LPP3szI0IaGIiMDH3wACwtDfDqSSnlydeIEXF3/fKlGDcTFITISL/47xlwZDht3MmniYqHRrLgTGVrpMrnu6+VccZeFfv2gUv35z/h4BAejQqflW1lZTZ8+PSMjIygoqKioqHfv3j/88MOUKVOysrIGDhy4fs8es+XL8cQREVQdlObKzAzLlpU8aWWFPXvg71+uEZgrA+FeDpkiffTrZY2qawfPfQAqg5gHQfjzAdEzNm7E6dN49pyFnj1x8CB+/13X8Rs3bhwbG5uZmbl3794aNWq4uLjMnz/f19dX13HJuJUnV0OHIiYGO3bgk0/QuXPFxmeu9I6NO5k0rrhTNcMVd1M1ejSCg6FWw8/v6ZemT8eCBfr5KeJprBEREVOmTCnzCGYyMeXM1fjxGD++8j+FudIjNu5kirjiTrKjpxV3Nu7VQVISUlKg1aJjRwBwdUXNmmVf+qNyPDw82F1VQ8yVLLBxJ1PUogWCgtChAwoL0aoVmjbVZTB222RQB+vUudar10u1a9/o2lWbn/9PQbCVuiQyNj4+JQ+srLB1KwAMHowpU/58fsUKaQojWWOu5IiNO5miDh0QG6v3UUeMGNG2bdvWrVtXdMPr1683b94c3AegsuzLzp518GBE//4rT5y4f//+PUCXxp0r7tXE/PkIDpa6CDI5zJXxY+NOpkijQVgYBAHZ2RgxAsOH6zKY2LhotdqAgICKbvvo0aPFixdHRkZu2rTp9ddfL//dcIgqh912dbB4Ma5dw6FDaNNGzyN/U6tWjebNtRW6Kg2ZCuZKFti4kymKj4enJ8aOBYChQ9G/P/5648AKadiw4cCBA3/66adZs2Z99NFH5TxET6vVfvnllx9//PHdu3fNzMxSUlLs7Ozi4+Pbt2/fsmXLShdDpkePa+RPcnJysrCwMDOr8DV/SyvhPoDRmjrVUCPb5Obi+nUUFxvqB5ARY65kgddxJ1N09iy8vEoeu7nh6lVdBvP09OzRo0dBQcHs2bM9PDwSExP/dpMDBw507tw5KCjo7t273bp1W79+/dGjRwcOHHjz5s3GjRu//fbbutRD9AKl3faBAwcuXbrUrFmz8m+r1WrFfcv79+8brEAiIqo8Nu5kitzdkZxc8jgtDU5OOo4XERGxb98+T0/PzMzMYcOGDRgwIDU1tcx33rhxIyAgoF+/fqdPn27WrNlnn33Wr1+/d955Z/fu3XXr1o2MjNy+fbuOxZCJEZe0jx8/npeXB91WuLOzs8Udy127dt26datC2x46dKhr166BgYFpaWnr1q1LTU09efJk7dq1LXhTQyIi4yEQmZ6iImHCBGHiRCEgQPjuO/2NWhQbG1u/fn0AFhYWQUFBv//++5NvWL58uZWVFQBbW9tZs2atXLlSfLOZmZm/v/+dO3f0VQmZjOTk5O7duwOwtLQEUKNGjdDQ0AcPHlR0HI1Gs2bNmoYNG+KPSybb29svWLDg8ePHf7vtjRs3/P39xaV6cW9zwoQJYr8eHBxcmU9F8jV8uAAIP/wgdR1kWpgr/WHjTlQxWVlZSqVSbGscHBxUKlVxcbH40saNGxUKha+v74YNGzw8PMR94/79+//yyy/S1kxG6N69e0ql0tzcHEDjxo2XLFkSFBQk/rNevXoxq1cLRUXlHCr58OHOf9zPsHfv3klJSf5/3JS8efPmcXFxWq22zA3z8/MjIyPt7OwA2NjYfPjhhy/eNSXTN3my0LmzsH+/1HWQaWGu9IeNO1FlpKWlDRkyROyNOnbseODAAUEQtFptQkJC6c2cXVxcNm/eLHWlZHQKCwtVKlXt2rXFJXalUpmdnS2+dP78eTFXX/TsKbRtK2zf/jdj3bgh+Psf8vRUKBRNmzZ9skfft29fhw4dxCj27ds3JSXlqU03b97cokULAAqF4q233tq0aZOnp2fp3uaZM2f0/LGJiEhnbNyJKi8hIaFVq1ZirzNkyJCQkBDxmjO2trYRERFqtVrqAsno7Nmzp127dmJmfHx8Ll68+Ox7/vOf/xR06yYAAiAMHy5kZpYxUH6+MGeOYGsrAIKNzbfLluXn5z/1Fo1GExcX16BBg9LjtW7fvl36qriH2alTp61bt5au0Ds7O3Nvs5oqLhaUypIjDMVDGn78UVi9WhAE4fFj4Y03pK2O5Iq50jc27kQ6KSgoUKlU4lHFlpaWYnt069Ytqesio3PhwgWfP25I6Orquv3Fq+lqtbBggWBvLwCCpaWwdu1fXr1xQ3ByEgBBoRDefFP49dcXjPTgwYPw8HBxl9LOzq50l/LKlSurVq365JNPSk/MiIiIKM8x8WSa1q4V1qwpeeztLeTksMEiPWCu9E0h8Bq9RDq7cePGpk2bHB0dO3bs2KlTJ6nLIeOSl5e3ZMmSyMjIgoKCOnXqTJs2bdKkSeLZqH/j3j3MnYuYGBw/jrVr/3JPsb59kZMDlQq9e5enhoyMjI8//njLli0AWrdu/emnnyoUiqlTp167dk2hUIwcOXLp0qXi/X2pmgoLw5gxcHcHgMmT8c47uHYNixahXTtoNHjwAFu3Sl0iyRBzpW9s3ImIDEgQBA8Pj3Pnzpmbm7/33ntz586tV69exYa4eRO7d0Or/fOeYt9+C7Uajo6o4P2VkpKSwsLC0tPTS5/x8vKKjo7u1q1bxUoi07N2LRQKvPsu8EfGDhzAjRsIDoZaDT8/NlhUGcyVvvE67kREBqRQKJRKZZ8+fU6ePLl69eoKd+0AmjYt455i9etXtGsH4O3tfebMmUWLFtna2trb28fFxf3888/s2gkAAgJw6hSUSgQGYtw4Xe42TfQn5krfuOJORGRYWq3WrOJN9l88u2qlw9+/3NzcWrVq2dvb5+Tk6FQVERFVLTbuRkOjQVjYX45h1eNQiYn8ZqqaYq5MQ3ExJk2CQoHsbAwfjhEjdBksLy/P3t7ezs4uNzdXXwUS6QHnKzIE08oV72VtNOLj4en55zGs/fvD3h5abSW+DS9jKKq2mCvTYGGBFSukLoLIwDhfkSGYVq54jLvRePYY1rt34eKCqChoNLoOBWDjRgQHY+JEvRVMssBc0TMUCgUAft1KRofzFRmCaeWKjbvRcHdHcnLJ47Q0ODkhLg5XriA0FJ0748CBvx+huBirVuG998oYCsDo0YiJ4aJdtcNcEZFccL4iQzCtXLFxNxpPnXmdmYnLl/HVV2jZEr/8gr59i/39f/311+duvmcPOnbEhAlYswbt2/MkbirBXNEzuOJORorzFRmCieVKwps/0Yv06ycAQt26wrJlwrJlgr393r59ra2tw8PDc3Nzn3xj1sWLwj/+UXJ3dGdn4fvvJaqY5IC5IkF49OgRABsbG6kLIXohzldkCDLPFRt3Y5WWJgwZUhKXdu0Kv/nm/XfeEdfJmjdvvmnTJq1Wm5ubGxERUcvW9nGbNoKtrRARIfB25fRizBUJQn5+PgBra2upCyF6Ic5XZAgyzxUbd+O2Z4/Qvr0ALOrefcCAARs2bOjSpYv4VYmvr2+DBg0AmJmZrQ8PF27dkrpWkg/mqnpj405ywvmKDEG2uWLjbvQKCrJWrKhVqxaAmjVrTps2LTY21s7OToxXr169Tp48KXWJJEPMVTX2+PFjAFZWVlIXQlQ+nK/IEOSZK96ASR5u3749ffr0uLg4rVbr4ODQrFmzGzduLF++3N/fX/x+h6gSmKvqSa1WW1tbW1lZiR08kSxwviJDkF2ueFUZeWjUqNHatWuTk5N79OhhYWFx5syZsWPHBgQEGGeqSC6Yq2pIq9Vu2bIFvKoMyQ3nKzIE2eWKjbucvPzyywcPHhw7diwACwve9Zb0g7mqPpKTk3v27BkQEABAq9UWFRVJXRFRxXC+IkOQUa7YuMuMQqEQD8Ay2n1BkiPmyuTdvHnT39/fy8vr559/bt68+ahRoxQKRfv27cXVdyIZ4XxFhiCXXLFxlx/xC24jDxbJDnNlstRqzJ+/zc9v/fr1VlZWH3/88SeffLJ3714bG5vMzMxRo0YNHjz4/PnzUldJVAGcr8gQZJErNu5ERKbrP/9B+/aYMWP8hQuBb70VFxeXmJj43nvvZWVlde7cefny5XXr1t29e/c/evcuDgtDVpbU5RIR0YuwcZcfWewRkuwwV6YmIwMDBuCNN3D5Mjp0MFepghs3HjVq1OnTp1u2bLl169a9e/eGhoZmZmb++9//3urhYbF8OVxcsHAhCgulLp3ob3C+IkOQRa6M+gB8IiKqpOJiHDgABwd89BGKijB2bPeiIp+2bTu/+ea0adOsrKzEdzk6Oq5cuRKpqZg0CXv3Yto0xMdDpcLAgdKWT0REz2LjLj+y2CMk2WGuTE27dti4ETk5mD0b169DocDo0T9ERpo3a1bGm93dsWcP9u5FSAjOn8fevXpr3DUahIVBEJCdjREjMHy4foal6o3zFRmCLHLFxp2IyFQ81SUPGAAXF2RloUsXREXh1VfNX7z5gAFIScFnnyEwECEh+um24+Ph6YmxYwFg6FD07w97+8qPRkRUvbFxlx9Z7BGS7DBXpuDZLnnZMmg0eOcdmJXvjCZLS4SG4quv9NZtnz2LMWNKHru54epVeHhUciiiP3C+IkOQRa54cioRkak4exZeXiWPxS45MBBjxpS3a3/BOJXm7o7k5JLHaWlwcqr8UERE1R4bd/mRxR4hyQ5zZQr01SXrsdsOCMCpU1AqERiIceN4nAzpBecrMgRZ5IqHyvy9ixcvOjs76/SL1OvpWWq1GkBBQYEug5DkmCvSv4AATJqElBRkZ+vUJYvjfP89bt6En59O3faDB7C1Rf36cHbG0aNo0gTdu1d+NJII5ysyBOaqMgR6ofv37zs6Onbt2vXnn3+u/Chr1wpr1pQ89vYWcnIqN4xGo4mLi6tTp46Tk5O9vb1KpSouLq58VSQd5opk4J13BED46iudBklLEwChbVvhgw8EQFi1Sj+1URXifEWGwFxVDg+V+RsXLlywtLRMTk7u0aPHuHHj7ty5U7HtU1Nx5MjTB4xeuYJvvkFxcYVGOnDgQOfOnQMDAx8+fKhWq3Nzc0NDQ7t3737kyJGKlURGgLkiIrngfEWGwFxVktR7DjKQl5cXEREh3q/E1tY2IiJCrVb//Wb37wtKpWBhIbi4CLGxwtq1Jc97ewurV5csQe3YUZ4Cfv31V39/f/G7pGbNmsXFxWm12oSEBKc/Djz18fG5evWqDh+RJMBckbF7910B+DNjlZOeLgCCq6vw738LgLBypZ6KoyrF+YoMgbmqBDbu5ZWZmenr6yv+Ilu3br158+bnvrWwUIiKEurWFQDBwkKYMEF48ECYMEGYOFEICBC++07YuVNwcREAARBGjBAuXXreSE9m2sbGJiIiIj8/X3zpnXfeiYqKmj9/vp2d3bOvklwwV2S82LjTX3G+IkNgriqEjXvF/Pe//3V3dxfjNWDAgNTU1KfekJSUNOe11wSFQgCEQYOEZ95QQq0WIiMFe3sB2NO9+/Tp0/Py8p58XavVbt68+aWXXgKgUCh8fX2f3Oc7evSoWIOnp+fmzZuf3V/U9+cmw2KuyBiNGSMAwpdf6jRIaeM+YYIACCtW6Kk4kgznKzIE5qqc2LhXWFFRUWxsbL169QDUqFFDqVQ+fPhQEIT09PShQ4eKv+/0f/5TSEj4+7F++0377rvtXVwANG3adN26dWImjh8//sorr4hDdenS5dChQ89umpCQ4OzsXPpVznfffef1x2Feffv2PX36tL4/NxkWc0XGZk5YWGc3tx/i43UZ5EpGRp/mzf/Vo8eiDz/s07z5xpgYfZVHEuJ8RYbAXJUHG/dKunv37vjx483NzQE0aNBgyJAhNWrUAFC7du0lS5YUFBSUf6hjx451/+P6aF26dBkyZEjp7t369etfsHtXWFioUqlq1aoFwNLScuLEiVFRUfXr1wdgbm7+/vvvZ2Vl6eOzUtVhrsh4jB07FsCa0is2VMqFCxcAtGnTZuLEiQCio6P1VR5JjvMVGQJz9WJs3HVy/vz5jh07AnByclIoFN7e3rdv367EOE9+cWNtbW1tbR0eHp5Tvqsa/fbbb0FBQWZmZgCaNGmyevXq8PDwmjVr2tra7t+/vxLFkOSYKzIGemncMzIyALRu3Vps3KOiovRVHhkJzldkCMzV87Bx11XdunUBzJgxA4C/v78uQ+Xm5oqjHTt2rKLbHj16tFu3bgAaNmyYk5Oza9cuAC4uLrrUQxJirkhy48aNA/DFF1/oMkhmZqaYGaVSycbdVHG+IkNgrsrEO6fqShAEAM2bN9d9KDs7O2tr6wcPHjg4OFy+fNnW1rZhw4bl3NbLy+vo0aPx8fHW1tb29vatWrXSvR6SEHNFkhO/UxajqC/6HY2MBOcrMgTmqky8AZN+iPHS6ba9T9i/f7+zs/O///3vCm2lUCgCAwNHjRql93pIKswVSeX48eM7d+5s0KDBypUrz507V+lxLCwsWrRocfv27d27dzdq1Mje3l6PRZJR4XxFhsBcPYWNu670+yuUPBBkJJgrksr169ffeuut7t27X79+/dGjR2fOnOnUqVNYWNjDhw8rOtTevXt9fHyuXbuWl5eXmZl5+/btSZMmLVq0qKCgwACFk2Q4X5EhMFdlYuOuH8YWL5MJaDXHXFFVevz48cKFC9u1a7dp0yZra+uIiIgLFy4olUqtVrt8+XJnZ+eoqKji8t1L/Pr16wEBAQMHDjx37pyLi8vmzZvPnz8/bNiwnJyc8PBwd3f335KSDP1xqIpxviJDYK6ewmPcdXXm5ZfN1GpFzZo+r7yiadBAx9EkDwQZCeaKqtiPP/4YEhJy5coVAD4+Pv/617+KioqaNm0aFRUVHBw8adKkXbt2hYaGxsTELF++fMiQIc8b59GjR4sXL164cKFarba1tZ0yZcpHH31Us2ZNAAkJCfv27QsNDW2dn99k2DD07g2VCp6eVfchyTA4X5EhMFdl4oq7rl46caLZzz83LSho9vPPLX7/XS9jmsAeIemIuaIqk5aWNnjw4H/84x9Xrlzp1KnT1q1b69at6+fnN3HixJs3bwJwc3PbuXNnQkJCq1at0tPTvb29hw0bdunSpafGEQRhy5Yt7dq1mz17dkFBgb+//8WLF2fNmiV27aL+/fufOnUqdvp01KmD/fvRuTM++AD37lXpByZ943xFhsBclYmNu3GRPBBkkpgrKlNWVlZISIiHh8fu3bsdHR0XLVo0bNgwPz+/devW2draTp482dHRsfTNw4YNS0tLE29KkpiY6ObmFhISkpOTI7568uTJXr16jRo16tdff+3atevhw4fj4+MbNWr07A+1sLCoN2YMMjKgVEKhwOrV+L//A682Q3/gfEWGYDK5YuOusyf/3vAYLNIX5ooMqbi4+PPPP3d1dY2OjjYzM1MqlUuXLl25cuWcOXMKCgp8fX3T0tJmzZplZWX15FaWlpYhISHp6elBQUFarTY6OtrZ2Xnu3LlBQUHdunU7fPhwkyZNYmNjjx49WnpT8edycEBUFH75BUOGYNo0aLUICYFSicBAbNsGAImJiIkBALUaI0ca6P8H0g/OV2QIzFVZeIy7zniRYzIE5ooM6dixY+PHjwfg7e09bty4ZcuWRUdHA+jSpUtUVNSrr776gm0bN24cGxs7bty40NDQI0eOfPrpp4WFhVZWVpMnT/7oo49sbW0rUIebG8SzVL/6Cp6eGDsWAIYORf/+lf9sVPU4X5EhMFdlYeOuMysrPHpUEi+97oHJeo+QdMVckSENHDgQwPfff9+pUycXF5fi4uLGjRtHRkb6+/uX8/fbtWvXQ4cOzZs3b+bMmQ0bNvz5559btmxZ+YLOnsWYMSWP3dxw9SoAbNyI06eh0VR+WKoanK/IEJirsrBx11npaVXvv6/7YGIgbG1tW7Vq1UDnc6hJxpgrMrzBgwdbW1uPHz/e3t5+xowZdnZ2FdpcoVAMHjx45syZL730kk5dOwB3dyQnw90dANLS4OSEa9cwejSCg6FWw89Pp8HJ0DhfkSEwV2Vh464bjQZhYRAEZGdjxAgMH66XUQcOHDh69OiKbvXgwYM5c+a89NJLkyZN0ksZJBnmiqrQypUrK7HVoEGDTpw4oVKp9FNEQAAmTUJKCrKzMW4ceINVGeF8RYbAXD2PQLpYu1ZYs6bksbe3kJOj43j169cHEBcXV6GtiouLP/vss3r16gGoW7duXl5eVFQUgHbt2ulYD0mDuSIDs7GxAfDo0aNKj9C9e3cAa9euBdC1a1c91kYyw/mKDIG5eg427rqZNEk4e7bkcViYcOaMjuOlpKSYmZkBGDBgQGpqank22bdvn+cfdzDp27fv5s2b+/fvD8DKyur8+fM61kPSYK7IwPTbuHfp0kWPtZHMcL4iQ2CunoONu26+/FJYu7bksT72CDUaTVxcnHj0lYWFRVBQ0N27d5/35szMTF9fXzFSzZs3/+yzz5RKpbm5OQAHBweVSlVUVKRjPSQN5ooMTLz2S15eXqVHEC/4yMadOF+RQTBXz8HGXTdFRcKECcLEiUJAgPDdd/oaNSsrKzw83NLSUvxq5tmI5OXlRUREiJdYtrW1nTlz5sqVK8WvcsQ4/v777/oqhiTAXJGB6bdx79y5sx5rI5nhfEWGwFw9Bxt34yXeWlzc4Wvbtm1SUlLpSydPnjQzM1MoFP7+/t9++2379u3Ftw0YMOBs6VdLRGVhrkgQBPECMrm5uZUeQbzWOxt3MijOV2QIss4VG3djl5CQ4OzsLObGx8fn0qVL4vMLFy787rvvXnvtNfGlNm3abN68WdpSSUaYq2pOv437yy+/rMfaiJ7C+YoMQaa5YuMuA4WFhSqVqlatWgAsLS2VSuWvv/5a+l1PnTp1IiMj1Wq11GWSzDBX1Zm9vT2AHB0OG+3Rowcbd6oynK/IEOSYKzbusnHz5s2AgADxZl3iapm5ufn7778v+eFWJGvMVfWk38a9U6dOeqyN6Hk4X5EhyCtXCkG8lyzJxIkTJ0JCQl555ZWUlJTly5eXXqiISBfMVXVTu3btnJyc7OxscampEnr16nXo0KG1a9eOGTOmU6dOp06d0m+FRM/D+YoMQS65YuMuP+KvTNw1JNIX5qpaebJx37Bhg4ODQ+mpWuWUm5tbXFx8+fLlLl26dOzYMSUlxUClEj2L8xUZgixyZSZ1AVRhCoXCyFNFcsRcVSvi7/rWrVtZWVlKpXLo0KEDBw5MTU0t/wj29vZ169a9cuWKwWokei7OV2QIssgVG3ciompnzZo1VlZWnTt3VqlUc+bMqVev3t69ezt16jR+/Ph79+6VZ4QHDx6EhIS89dZbDg4OMTExhi6YiIjAxp2IqBry8vIaMmTIo0eP5s6du2zZsiVLliiVSkEQPv/8c1dX16ioqOLi4udtW1xcvGrVKhcXl+joaAB+fn5ubm5VWDsRUfXFY9yJiKqp/fv3T5o06ZdffgHQt29fpVL5+eef79y5E0Dbtm2XLl06dOjQZzcJDQ09c+YMgP79+6tUKg8Pj6qvnIioemLjTkRUfWm12vXr10+dOvXu3btmZmZvv/123759582bd/nyZYVCkZqa2q5dO/Gd169fnzFjxrp16wC4uLjMnz/f19dX0tqJiKodNu5ERNXdw4cPIyMjVSpVQUGBnZ1daGhozZo1b9y4IR68np+fv2jRooULF6rValtb2ylTpkybNs3KykrqqomIqh027kREBACZmZkzZszYsmULgNatW8+bN2/kyJFbt26dOnXqtWvXFArFyJEjly5d2rx5c6krJSKqpti4ExHRn5KSksLCwtLT0wE0atTo9u3bALy8vKKjo7t16yZ1dURE1RqvKkNERH/y9vY+e/ZsbGxs/fr1vby8GjduHBsbe+TIEXbtRESS44o7ERGV4f79+1ZWVoIg2NnZSV0LEREBbNyJiIiIiGSBh8oQEREREckAG3ciIiIiIhlg405EREREJANs3ImIiIiIZICNOxERERGRDLBxJyIiIiKSATbuREREREQywMadSJ8SExETAwBqNUaO/PPJFi3w+DHy8uDnp/PP0GgQEgKlEoGB2LZN5+GIiIhIHti4E1WFfv2gUulprPh4eHoiOhpxcYiNRW6unsYlIiIio8bGnUjPNm5EcDAmTvzLkz17Ij0dv/+uw7iXLiE4GGo1zp6Fl1fJk25uuHpVh0GJiIhINti4E+nZ6NGIicGKFU8/P306FiwoeZyaiiFDkJpavhFzczFtGtq3R2wsVCq4uyM5ueSltDQ4OemlbCIiIjJyFlIXQGTKkpKQkoK0NPTpA1dX1KyJ/HwAiIjArl34738RFIQ5c+DoWPbmgiBg3TrFtGm4dQtmZhgzBk2bok8fLF6MlBRkZ2PcONjbV+UnIiIiIqkoBEGQugYiU6bVYsoULFv2lyezshARgZgYFBejbl1EROCDD4pr1PjLjvSJEydCQkK+MjNrc+gQunbF5MmIj8eOHfDzw7p1VfoZiIiIyAjwUBkiw5o/H8HBTz/p4IAVK5Caitdew4MH+Oab2+7u7RMTE8VXf/vtt8DAwG7duh05cmRCTg6++AI9esDfHzt2oG7dPw9wJyIiouqEK+5EBrR4MTIy8MorGDPmue/58UcsW/be//63BsDQoUMHDx48Y8aMvLw8KyuryZMnN2rUyG3nzv/bvh3m5njvPXz66XMPrCEiIiKTxsadSHqFhYUrV66cO3fuw4cPLSwsBEHw9vb28/NbuHBhSkqKnaXlrWHD7GbORIcOUldKREREkmHjTmQssrKyZs+evXLlyq5du9auXXvPnj2CIDg5OS1evHhk6c2ciIiIqLpi405kXN5///2YmBg7OzutVjt16tTw8HBra2upiyIiIiLp8XKQRMalYcOGAN54441PP/20WbNmUpdDRERExoJXlSEyRk5OTuzaiYiI6Els3ImMi0KhkLoEIiIiMkZs3ImIiIiIZIDHuBMZl1q1Al5+uYetbUupCyEiIiLjwhV3IuOSm9vy1KkBeXnOUhdCRERExoWNO5FxEQ9x52VaiYiI6Cls3ImMERt3IiIiegobdyLjwovKEBERUZnYuBMZFwcHtGqFOnWkroOIiIiMjELgV/JEREREREaPK+5ERiQxES1a4PFj5OXBzw+JiYiJAQC1GiNHSl0cERERSYqNO5Fx6dcPKpXURRAREZHx4Q2YiIxLz544eBC//17yz40bcfo0NBpJayIiIiIjwMadyOhMn44FC0oejx6N4GCo1fDzk7QmIiIikhobdyKj4+qKmjWRn//080lJSEmBVouPP5aiLCIiIpIUrypDJCdaLaZMwbJlUtdBREREVY4npxLJyfz5CA6WuggiIiKSAht3ItlYvBjXruHQIanrICIiIinwUBkiIiIiIhngijsRERERkQywcSciIiIikgE27kREREREMsDGnYiIiIhIBv4fyDPifkCyFJIAAAAASUVORK5CYII=\n",
"text/plain": [
"<PIL.PngImagePlugin.PngImageFile image mode=RGB size=1000x200 at 0x7F3E0A8FD110>"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mols = [Chem.MolFromSmiles(getmol(row)) for row in results]\n",
"Draw.MolsToGridImage(mols, molsPerRow=5)"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [],
"source": [
"import pickle\n",
"library = pickle.load(open('chembl27_ssslib.pkl', 'rb'))"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 544 ms, sys: 0 ns, total: 544 ms\n",
"Wall time: 39.9 ms\n"
]
}
],
"source": [
"%time res = library.GetMatches(qmol)"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903270>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903330>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903390>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903270>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903330>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903390>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a9033f0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903330>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903390>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a9033f0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f3e0a903330>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from IPython.display import display\n",
"for ind, i in enumerate(res):\n",
" m = library.GetMol(i)\n",
" display(m)\n",
" if ind == 10:\n",
" break"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment