Skip to content

Instantly share code, notes, and snippets.

@vfscalfani
Created March 16, 2020 21:40
Show Gist options
  • Save vfscalfani/f77d90f9f27e0f820b966882cdadccd0 to your computer and use it in GitHub Desktop.
Save vfscalfani/f77d90f9f27e0f820b966882cdadccd0 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Fun with NextMove's MolHash in RDKit\n",
"### Vincent Scalfani, 2020_03_16"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'2019.09.2'"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# This Jupyter notebook includes some tests with the NextMove MolHash functionality in RDKit using the\n",
"# examples in refs 1 and 2.\n",
"\n",
"# [ref1]: https://iwatobipen.wordpress.com/2019/10/27/a-new-function-of-rdkit201909-rdkit-chemoinformatics/\n",
"# [ref2]: https://www.nextmovesoftware.com/talks/OBoyle_MolHash_ACS_201908.pdf\n",
"# [ref3}: https://nextmovesoftware.github.io/molhash/introduction.html\n",
"\n",
"from rdkit import Chem\n",
"from rdkit.Chem.Draw import IPythonConsole\n",
"from rdkit.Chem import Draw\n",
"from rdkit.Chem import rdMolHash\n",
"import rdkit\n",
"rdkit.__version__"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3deVhTZ74H8G8IIIsIgsiiEreioh0RFC0iIAaJGupS0VbFTqet02k7OtqZhz5a52q3SzudGWfGVvHa9tFeW4fROmoEQtgUF9C4oAJ1QRBQ2Qn7FnLuHy83ZrAqy0kO4O/zRx/zkpz3l4b8ePcj4jgOhBBCespM6AAIIaR/ozRKCCG9QmmUEEJ6hdIoISZ34QJCQzF/PkJDcfEiABQUIDi446caDby9hQuOdJu50AEQ8oypqcGaNUhMhESCu3chkyEzU+iYSK9Qa5QQ01IosGABJBIAkEgQFgaFQuiYSK9Qa5QQ0youxqhRDx+OHIniYgC4cqWjX6/VChIX6TFKo4SY1ogRUKsfPiwuhp8fAHh7Iy0NADSah+OkpD+gTj0hpiWXIz4eRUUAUFQEpRKLFgkdE+kVao0SYloODti/H6+9BrEYOh3+/GfY2aG6WuiwSM+JaDMoIUKaMgUlJTh9GhMnCh0K6SFKo4QIp6wMrq6wtkZ1NSwthY6G9BCNjRIinORkcBwCAymH9muURgkRTmoqAMydK3QcpFcojRIiHEqjAwKNjRIikKIieHjA3h6VlRCLhY6G9By1RgkRSEoKAAQFUQ7t7yiNEiIQ6tEPFJRGCREI2/oZEiJwGKTXaGyUECHcvo3nnoOTE8rKYEatmf6NNoMSIoA7mZnuzz1n5e1NOXQAoI+QEAF8cOKE9a1be6lHPyBQGiXE1DiOS01NBRBAB+INCJRGCTG13NzckpISNze3iXQcyYBAaZQQU0tJSQEQQj36gYLSKCGmxnr0c2nF6EBBC54IMSmdTufi4lJRUXHnzp0xY8YIHQ7hAbVGCTGpq1evVlRUeHh4UA4dMCiNEmJSbGB03rx5QgdCeENpVBhNTU1KpXLTpk25ublVVVVCh0NMhwZGBx4aGzWpO3fuJCUlJSUlJSQk1NXVAXB1dXV1dVWpVMOGDRM6OmJ0Go1GIpHU1tYWFRWNHDlS6HAIP2gzqNHV1NQkJycrlUqlUnn37l1WaGZm5uvrGxAQEBcXd+XKlcDAwOTkZDc3N2FDJUZy586d48ePKxSK9PT0oUOHAqipqaE0OmBQa9RYsrOzFQpFUlLSqVOnWltbWeGwYcPmzp0rlUoXLVo0YsQIAGVlZVKp9Nq1axMmTEhJSXF3dxc0asKbiooKlUqVkJCQmJhYUlLCCsVi8bBhw0pLS11cXJKTkydPnixskIQXlEb5VFFRkZqampSUpFAo7t+/zwrFYrG3t7dUKpXL5f7+/maPHEVRXl4ulUqvXr3q6emZnJxMjZT+q729/cqVK2zcJi0tTavVsnIXF5fAwEC5XB4eHm5jY7N8+XKFQuHs7KxSqaZOnSpszKT3KI32lv6bc/z48XPnzul0Olbu6uoaGhoaHh4eGhrq4ODw5ItUV1eHhYVduHBh9OjRKSkptBSmfyktLT116hTrtldXV7NCc3PzmTNnhoeHS6VSHx8fkUikf35ra+uKFSuOHj06dOjQhIQEPz8/gQIn/KA02kMlJSWJiYkKhUKlUmk0GlZobW09e/ZsqVT66DfnqTQajUwmy8zM9PDwSElJGTdunHECJ/zQarUZGRls3ObSpUv679HYsWPZL0BYWNiQIUMe9/LW1taXX375yJEjDg4OCQkJM2fONFXgxAg40k27d++eMGGC4f9DLy+vjRs3JiQkNDY2dutScXFxe/bs0T/UaDQvvPACgFGjRt26dYvvwAkP8vLyYmJiIiIi7Ozs9L8ANjY2Uqk0Ojo6Jyen65dqa2tbtWoVAHt7+7NnzxovZmJslEa7Z+/evUFBQQBsbW2lUumOHTsKCgp6dqnCwkJra2uRSLRz5059YX19PVtR6Orqmp2dzVPUpFdaWlqOHDny1ltvGQ62iESiadOmvf/++6mpqa2trV2/mlqt1ul07N9arTYyMpL9OqWkpBgnfGJ0lEa7h+XQTz/9tK2trfdX2717t5mZmUgk+stf/qIvbGhoYFtcXFxcrl271vtaSC8dPXrU2tqaZU8nJ6eIiIiYmJiioqIeXOrw4cPm5ua//vWv29vbWYlWq3311VdZkzYpKYnXwImJUBrthqamJisrK7FYXFVVxdc19+zZw+buP/roI31hQ0NDaGgogOHDh2dlZfFVF+mB4uJiAIMGDdq+ffv58+f16a9n4uPjWUZ+88039Zdqb2//1a9+xTJpYmIiH1ETk6I02g0qlQqAr68vv5f9+uuvWSbdtm2bvrC5ufnFF18EMHTo0PPnz/NbI+m6/fv3A5DL5XxdMC0tbfDgwQBWrVql1WpZoU6ne/fdd1m+Pnr0KF91/Yfz5zmplAsN5aRSTq3mOI7Lz+eCgjp+Wl3NTZ1qlHqfAZRGu2Hz5s0A/vCHP/B+5R9++MHc3BxAVFSUvrClpWXJkiUAHBwcMjIyeK+UdMVrr70G4M9//jOP1zx58iSboXr55Zf1o0M6nW79+vUALC0tjxw5wmN1HMdxGg3n6cmxcfyCAm7iRK6mhtIoXyiNdsOsWbMAxMXFsYdXrlzZs2dPj6eYOvnnP/9pYWHRKU23trYuW7aMTeaeO3eOl4pIt4wePRoAW9LEo/T0dLYcasWKFfoZKp1Ot3HjRgAWFhaHDx/ms77//V9uw4aHDzds4A4coDTKF0qjXVVbW2thYWFubl5TU8NK3n///U7tx17617/+xTLppk2b9IVarXbNmjVsMjc1NZWvukhX3LlzB4Cjo6N+HLOkpISvi1+4cIHtr1++fLnhXP8HH3wAQCwWf/fdd3zVxUVHc1988fDhn/7EffYZl5/P2dtzQUFcUBA3ezal0R6jNNpVCoUCgL+/v76EbT5JSEjgtxYrKysAb731luGymLVr17JMmpyczGN15Mn27t0LYNmyZfoSDw8PNze3nk3TP0qtVjs5OQFYtGhRU1OTvvy//uu/WCbdt29fz69eWMjt2cO99BIXG8t99x21Ro2H0mhXvffeewC2bNnCHtbW1pqbm1tYWNTX1/NbUVxcHMukhpO5Wq32l7/8JZvMValU/NZIHmf16tUA/vGPf7CHt2/fZmueejlfb+jSpUvsjMQFCxYYZtLo6GiWSb/55ptuXK6piVOpuKgozteXE4k4gAO4Vau46mrO05MrLOQ4jiss5CZO5DQaSqN8oTTaVT4+PgD0K/uOHz8OICAgwBh1KZVKtizm9ddf139jdTrd22+/zSZzjx07Zox6SSfsFC79Pog9e/awPji/tWRnZ7u6ugKYP3++4Ua4zz//nK3z//LLL598hZu5udyOHZxMxllbd6ROgLOz45Ys4Xbt4vLzOY7jMjK4efO4+fM5qZTLzOQ4mqnnDaXRLqmurhaLxYMGDdL/lm/atAnA1q1bjVTjyZMn2bKYV155xXAy97e//S2bzP33v/9tpKoJk5uby5bu6kdXXnnlFQBPTWo9q4udkRgYGFhXV6cv/+KLL1gm/fvf/97pJfX19SqVav369WwSrNXDoyN7enlxUVGcSsW1tPAeJ/lZlEa75McffwQQHBysL/H29gZg1A186enpbFnMypUrH10Ws3TpUuNVTTiO++qrr9ifMX0Jy3S5ubnGqO6nn35ijd+AgIDa2lp9+a5du0QikUgk+utf/9re3q5Wqz/55JPAwEC2Qo5xdna+/vvfc/v3c/zNgJGuozTaJawNuH37dvawsrLSzMzMysqqu2eRdNfp06eHDBni4OBw48YNw3JHR0cLC4vbt28btfZnXEREBAD92THZ2dkA3Nzc9I1T3t28eZOdNuvv769fEMJx3FdffcVOCzM8cdHc3DwgIODjjz++cOECj2O1pAcojXYJO6U8PT2dPTx06BCAkJAQE1SdkZGRyUay/t/NmzdZA8R432ei0+mcnZ0B6I/a2rlzJ4DVq1cbtd68vDyJRAJg8eLFhuVRUVGOjo4ikcjV1TUyMjI2NpbHHcmkl+heTE9XVlaWk5NjY2MzY8YMVmLKmzs+ehKlvvZunWdKuuXatWvl5eWjRo0aP348KzHNhz527NhTp06tXLnyk08+MSy3trauqqpau3btvn37jBoA6QFKo0/HFr3PmTNn0KBB+hIAISEhQsUDukOvkbG7yes/Yp1Od/LkSZjkf7uHh8e5c+c6FbIPfenSpcaunfQA3af+6TqlrdLS0tzcXFtb2+nTp5s+GI7j0tLSQGnUyDp96FevXq2oqPDw8Bg7dqzpg2lubs7MzDQzM2PnNJK+htLo07GGif4bxWbn58yZY2lpafpgcnJySkpK3NzcOp3AT3jU3t5+6tQpAMHBwayE/Q6wc2BN7/Tp083NzdOmTWObR0lfQ2n0Ke7fv3/r1i17e3tfX19WImyfWtjv8zPi0qVLGo1m/PjxbLYHQn/owg4ikaeiNPoUSUlJAAIDA8ViMSvpNGpmYjQwagKd0lZ7e/vp06chdBqlD73PojT6FJ1+g4uKivLy8uzt7adNm2b6YHQ6XXp6OqhhYmSdPvSLFy9qNBpPT0+2qNPE6uvr1Wq1ubn57NmzTV876QpKo0/B5nP0aYs1RYODg/WNU1PKysqqqKiQSCRs/x8xBq1We+bMGZFI1GlgVKjG4KlTp9ra2mbMmPGE2zUTYVEafZK8vLyCggInJ6fnn3+eldDA6ICXmZlZV1c3adIkdlwIhP7QaWC076M0+iTsNzg4OJjdKwmAh4eHp6cnjZENYJ3GvltbWzs1TgWJhz70vozS6JM8mrY+/PDDGzdu/OIXvzB9MFqtlg2M0jfKqB5dMdrQ0ODl5eXi4mL6YDQaTVZWlqWl5QsvvGD62kkX0S6mJ+k0MCostVpdW1s7YcIEdg4QMYbm5uaMjAwzM7PAwEBWMn369AcPHty/f1+QeNLS0trb2+fMmWNjYyNIAKQrqDX6WBzHbdmyxdzcnB1+LnQ41KM3hbNnzzY1NU2dOpWdSM+4urqyQ7tNjz70foHS6GOJRKIxY8aYm5vv2rWL3RlJ2HjoG2UCNjY2fn5+jY2Nzc3NQscC0MBoPyHqC+2svkypVC5durSpqemNN96IiYnRzzWZWGtrq6OjY2Nj44MHDwQZpHtG1NXVPffcc6WlpTKZ7MiRI+ymWEIpKytzdXVlZzvpj8UhfRC1Rp8iLCwsPj5+8ODBe/fujYyM1Gq1goSRkZHR0NAwZcoUyqFGZWdnl5qa6ubmlpCQIJPJ6uvrBQyGHS0WEBBAObSPozT6dEFBQXFxcXZ2dt9//71QmVTYHajPlEmTJqWmprq7u588eXLhwoV1dXVCRULDOP0FpdEumTNnTnx8/JAhQw4ePLh69eq2tjYTB0DfKFOaMGFCamrqyJEj09PTFyxYUFtbK0gY9KH3FzQ22g1qtTosLKyqqkoulx86dMhIXa2SkpIhQ4YYLnBpbGx0dHTUarXl5eV0VJrJFBQUhISE5Ofn+/r6JiYmOjo6mrL2+/fvjxgxws7OrqqqyvDudaQPotZoN0yfPl2lUjk5OSkUimXLlvE4mdve3n7x4sVt27ZNnz7d3d09Pj7e8Kdnz55taWnx9vamHGpKo0ePTktLGzdu3MWLF0NDQysrK01Ze3JyMoCgoCDKoX0fpdHu8fHxSUpKGjZsWFxcHJvB783V8vPzd+3atWTJkqFDh06fPn379u0XL160tra+d++e4dNoV/UTlJWVZWZmGmnA2sPDIzU1dfz48ZcuXZJKpRUVFfxev6mpSalUbtq0ae3atZ1+RD36/kSoe+n1azk5OW5ubgCCg4Pr6uq69drGxkaVShUVFaU/B5oZO3bsunXrjh071tTU1Okls2bNAhAXF8ffOxg4du/eDWDNmjXGq+LBgwdeXl4AJk2adP/+/d5fMC8vLyYmJiIiws7Ojn36YrG4srLS8DnsEK/Lly/3vjpibJRGeyg3N9fd3R1AYGBgVzIp++bI5XLDpYiDBw+Wy+UxMTF379593Aurq6stLCzMzc1ra2t5fQcDxIoVKwDs3r3bqLWUlJRMmTIFwMSJE+/du9eDK2g0msOHD69bt05/oj4AkUjk4+OzefPmkydPtrW16Z+cl5cHwNHRkW5A3y9QGu25n376iW1vDwgIeFyOO378+Ouvv2543K+ZmZmfn9/WrVvPnDmj1Wofd/GSkpLY2NjIyEh7e3s3NzdnZ2eNRmO0t9Jf6XQ6tpD25s2bxq6rtLSUHUnj6elZXFzcxVddv349OjpaKpUa3rlr2LBhERERMTExj7vO3r17ASxbtoy/8IkRURrtlfz8fNb58vf3r6mpefQJrK0EwNnZmX1zntArbGpqSkxMfO+99yZPnmzY37e3twcwY8aMqqoqY76b/ufq1asA3N3dTVNdVVXVjBkzAIwePfrOnTuPe1p5eXlsbOy6detYf0Xfbff19Y2KikpPT39CG/P27dtffvmlh4cHAHaYA+n7KI32VkFBAbvprq+vb6fhLY7jEhISoqOjL1++rNPpHncF/UiZ4fHmNjY2Uqk0Ojo6JyensLBw/PjxALy9vcvLy438hvqTv/3tbwDWrl1rshqrq6tnzpwJQCKR5OXlPfqErKwskUik/xwlEsm6desOHz78hM5EQ0PDo8Pl0dHRJSUlxnwrhDeURnlw9+5dluamTZvWxTSn/+ZMmjSp00TT+vXrVSpVc3Oz4fN5n+UYGJYsWQLg22+/NWWlGo2Gnf7p4eFx69atTj9tb28fNWoU+xOoVquf8OczKyvr888/nzdvnuECZEdHxxUrVnz99delpaVGfh+EN5RG+aFPc1OnTi0rK3vc0/Ly8nbs2CGVSg2/OU5OTqy/X1RU9IQqej/LMcBotVq2kDY/P9/EVdfX17PD8F1dXbOzsx8N7HEvrKysZP39UaNGGQ6Xs/6+SqVqbW01cuyEf5RGeVNSUsLGNDs1GPUjZYbHLetHylQqleEU7ZP1bJZjoFKr1az9Lkjt9fX1bCWvi4vLtWvXnvBMrVarVqvZRJOFhYX+d2D48OHsz+eDBw9MFjYxBkqjfCotLWU3v5swYUJcXFx0dPTs2bMNz9ZzcXGJiIjYt29fjyeLujjL8Sz4/PPPAbzxxhtCBdDQ0BAaGsoS4tWrVzv9tLS0lK21MNxFyu6T/NT+PulfKI3yrKysrNOdmnj/5jx1luMZsWDBAgAHDhwQMIbm5ubw8HAAQ4cOvXDhQltbW3p6OpssMpxoYnsrYmNjf3Y5B+nv6GgS/lVWVp44ceKHH37w9PSUyWRBQUG830inpqZGJpNlZGR4eHgkJyezCa5nSlsb5PLtRUXHk5OPsx1lQmlpaXnppZdOnDhha2vLcVxjYyMrHzx48Ny5c2UyWVhY2Lhx4wSMkBgbpdH+qqGhQS6Xp6Wlubq6JicnswkuY7lwAZs3QyQCxyE6Gv+5jVUQZ89i9mxMmoScHKFDAVpbW318fGpqaoqLi8eOHSuXy8PDw+fMmUPHLT8j6PCY/srW1lahULz44ospKSkhISFJSUlsHp9/NTVYswaJiZBIcPcuZDJkZsJgiasgUlMBoI+c1mJpaWltbZ2dnX3w4MGVK1cKHQ4xNTrhqR+ztbU9fvy4VCotLS2dN2/etWvXjFKNQoEFC8B2gkskCAuDQmGUirqDpdE+cv5RTU3N5cuXLS0t5XK50LEQAVAa7d9sbGwUCkV4eHhZWVlQUBBbA8SPGzfwt79h61YUF8NgkSNGjkRxMW+19EhLC86ehUiEoCBhA+nA7iY/a9YsW1tboWMhAqA02u8NGjTo0KFDixcvrq6uDg0NPX/+fM+v1dCApCRs2IAxYzBxIn73O3zxBZydUVT08DnFxTA4aUUQ586hqQm/+AUMbiYvJDob9BlHaXQgsLS0jI2NXbp0qUajmT9/fkZGRjdezHG4dAn//d8IDsbQoQgNxd//joICODtj1Srs2YOFCxEf35FJi4qgVGLRIgg6M9mnBkZB52o/82imfuBob29/9dVXDxw4YG9vHxcX5+/v/4Qnl5eXq1Sq5qysX+3bh9LSjlJzc8yahbAwyGTw8YF+40BmJrZsgVgMnQ6ffILRoyGXIzpaqEw2Zw5On8axYwgPF6T+/1BZWTl8+HArKyu6m/yzS9hlq4RfWq02MjISgK2tbUpKyqM/ZbsS9XurRrq5cQDn4sJFRnKxsVwX91b98Y8cwNnacsnJ/L+Hp2lo4AYN4sRirrra9JX/jNjYWABSqVToQIhgaMHTgCIWi7/99lszM7N9+/bJ5fKjR49KpdLCwsKEhASlUpmcnFxTU8OeaWVlFRgYGBYW1iaTWXR3zem2baiowFdfYeFC/OtfJm4TpqejpQV+fnBwMGW1j0UDo4TS6EAjFou/+eYb9l+5XD5ixIg7d+7ofzpx4sSwsDC2t8ra2rqHdYhE2LkTYjH+8Q8sX47YWCxezE/0XdDXBkZTUlJAA6PPNhobHZg4jlu/fn12dnZqaqqtre0LL7wgl8sXL17Mzurnqw5s2oQdO2BpiYMHsXQpb1d+otOncfgwIiLwxLFfE3nw4IG7u7udnV1lZaXh6U3kmUJpdMDiOK61tTUzM9Pf39+I9zrfsgWffgqxGPv3Y9UqY9XSVx04cGDNmjWLFi1S9IEtCUQotOBpwBKJRIMGDQoMDDRiDgXwySfYuhXt7Vi7Ft99Z7x6CgogEiEuDgAqKjBrlvGq6gYaGCWgNEp48OGHHZn0tdeyDx0yXj2TJiE62niX7wk2MEpp9BlHaZTw4cMP8dFHqsDA51es2LVrF7/Xrq3FvXsA4OGB8eOhUvF7+Z4rLCzMz893cHCYOnWq0LEQIVEaJTz54IOshQs5jnvnnXd27tzZ++tlZ+OzzxAaCmdnbN3aUchGYvuIpKQkAHPnzhWLxULHQoREC54Ib37/+9/b2tq+884769evb29v37BhQ3evUFYGlQoJCUhMRFlZR6G5OerqOv49bhxGjepY8yQ4GhglDKVRwqff/OY3ZmZmb7/99saNG3U63caNG5/6Eq1Wm5HRFB9vp1Ti8mXodB3lHh4du1LnzYO9PQoKOsq3bMErr8DSEq2tOHoUERHGei9PlZaWBkqjBLQZlBjBnj172GbTjz766HHPefDgwb59+yIiIhwcHIKDtwEcwFlZcVIpFx3NqdVcp9tW5edzYWEd/375ZW7mTO6llziA277dmO/k8W7cuAFg+PDhdGc6QmmUGMWBAwfYiOG2bdv0hY2NjfHx8Rs2bJg4caLh33KZ7JXf/Y5LSOAaG7tRxcGDnLk5B3BRUfzH/1RsJm3lypUC1E36GOrUE6NYtWqVmZlZZGTktm3b7t27N3HiRKVSeerUqebmZvYEe3v7efPmsZ2pHh4ePahi5UqYmWH1anz2Gdrb8ac/8foGnoYGRoke7WIiRqFWq5ctW+bj43PixAkHB4eKigpW7uXlFR4eLpVKAwMDLS0te1+RQoHly9HSgt/8Bl9+CYO7GhsRx3Fubm6lpaU3b9587rnnTFEl6cOoNUqMIiUlpaioSCaTHT9+XKPRnDhxorS0dPny5W+++aaI11Qnl+PHH/HSS9i1Czodvvrq4SmpxnP9+vXS0lJ3d3fKoQSURomR6Pu8MpkMwLhx4/z8/AoKCtatW8d7XQsX4sgRLF2KmBjodNi92+iZlL27efPmGbca0k/Q8nvCP61We+bMGQBB/3/POWNvmpTJEB+PwYPxP/+DN998uGrKSGhglBiiNEr4d/78+bq6Oi8vL3d3d1ZigrwTHIwTJ2Bnh5yc+6+++ppWq+W9Cp1Op1arP/74Y6VSCWDOnDm8V0H6I+rUE/51anu2tbWdOXNGJBIFBwcbtd7AQCQk1Mvl0zIyytrbW/bv38/L6VYVFRWpqalJSUkKheL+/fsAzM3NRSJRVFTUwYMH6ZhRQmmU8K9T2zMzM7O+vn7y5Mmurq7Grtrff3Bi4on58+f/8MMPbW1t33//fc/SXFtb29mzZ5VKpVKpvHz5sn5Bi0QiCQsL8/T0/PTTT3/88cclS5YcPnzYysqK1zdB+huB162SAae5udna2lokEpWXl7OSDz/8EMC7775rshjUarWjoyOARYsWNTc3d/2Fhnur9N8Ra2trqVQaHR2tVqv1e5YuX748bNgwADKZrLFb2wbIgENplPCMNUW9vb31JaxZevjwYVOGcenSJZbmFixY0NTU9IRnNjY2qlSqqKgoX19fwxbG2LFj161bFxsbW1dX97MvzMnJcXNzAxAUFPS455BnAaVRwrM//vGPADZu3MgeNjU1WVlZmZmZ6RunJnPlyhVnZ2cAYWFhjzYY8/LyYmJiIiIiBg8erE+dtra2Uql0x44dBQUFXakiNzeXTaMFBgbW1tYa4U2QfoDSKOHZm+HhAI4dO8YeJicnA5g2bZogweTm5rIGY2BgYF1dXX19vUqlWr9+vUQiMWx4enl5RUVFqVSqlpaW7lZx48aNESNGAAgICKBM+myiNEp4VV/PWVq2SiQN1dWs4IMPPgDw3nvvCRWRvuvt4uJiOHHv4uISGRl54MCBsrKyXlZx8+bNUaNGAVgybx5XU8NL2KQfoT31hFdKJWQy+PkhM5MV1C9dereqSrt589SwMKGCunXr1owZM6ytrcvLy729vaVSqVwu9/f3N+Nvt9Pdu3eXL1yosrR0EIuhVMLJia8rk76PFjwRXrGD6UNCOh42NAyOi5us0+GFFwQMasiQIbW1tW1tbWVlZWwGn3cSiSQzLs4sJAR37iAsDImJME5FpA+iXUyEVyyN6ncrpaejtRW+vhgyRMCgkpOTOY4LCgoyUg5lzCQSnDkDLy9cvIiQEJSXG68u0qdQGiX8qanBxYuwtMTs2R0lnRqnAjHdFnhXV6SkYPJkZGUhMBD37xu9RtIHUBol/Dl1Cu3t8PODrW1HSUoKYNA4FQhLoyGmyeYuLkhJwfPP46efEBLScW9oMqBRGiX86dT2rKnB5cuwtIS/v4BBFRYW5uXlOTg4eHt7m6jK4cNx8iSmTy/sTGwAAALbSURBVMeNG5g7F8XFJqqXCITSKOFPp7ZnWhra2zFr1sPGqTBBpQAICgoy6d3khw5FQgJ8fHDrFoKDKZMObDRTT3hSWYlr12BlhVmzOko6TTcJRLCzQZ2ckJyMBQtgZgaDHfpk4KE0SniSmgqdDrNnQ3/cUd+YX2J3kzfRwGgnDg5ISICZGQz2m5KBhzr1hCeNjRgx4mHbs7IS16/DxgYzZwoY1K1btwoLC52dnadMmSJMBDdvYtkyzJ+P0FBcvAgABQXQn7uq0cBkI7bEaKg1Sniydi3WrkVbW8fDkyeh08HfH4MGCRiUvkfP7330uqqmBmvWIDEREgnu3oVMpt/cRQYSSqOEV/ozkpctw/XraGoSNBqhb5qkUGDBArBjUCQShIVBoRB23QIxBkqjhCcXLmDzZohE4DhER8PXF5MnCxsRx3FsYFSwNFpcjFGjHj4cObJjyv7KlY5+vRFuGEVMj9Io4cPP9l4F3QAKICcnp6SkxM3NbcKECcJEMGIE1OqHD4uL4ecHAN7eSEsDAI0GRr4/FTEBmmIifPjZ3qvQ2IpRIe8mL5cjPh5FRQBQVASlEosWCRYMMRpqjRI+PK73Kijh7ybv4ID9+/HaaxCLodNh3z7Y26O6WrB4iHFQGiV8eFzvVTg6nS49PR3CplEAM2ciKek/SkaP7ujRA3BwwJUrJo+J8Iw69YQPfa/3mpWVVVFRIZFIxowZI2wkZMCj1ijhw8/2XgUl/MAoeWZQGiU8ebT3KijhB0bJM4PuxUQGIK1W6+TkVFtbW1xczG7bSYjx0NgoGYDUanVtbe2ECRMohxIToDRKBiDq0RNTojRKBiBKo8SUaGyUDDStra2Ojo6NjY0PHjxwcXEROhwy8FFrlAw0Fy5caGhomDJlCuVQYhrUGiUD0I0bNyoqKmbr7/NMiDFRGiWEkF6hTj0hhPQKpVFCCOkVSqOEENIrlEYJIaRXKI0SQkiv/B+nTEtVJEyrTQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7fe4d0f66170>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"s = Chem.MolFromSmiles('CC(C(C1=CC(=C(C=C1)O)O)O)N(C)C(=O)OCC2=CC=CC=C2')\n",
"s"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'AnonymousGraph': rdkit.Chem.rdMolHash.HashFunction.AnonymousGraph,\n",
" 'ElementGraph': rdkit.Chem.rdMolHash.HashFunction.ElementGraph,\n",
" 'CanonicalSmiles': rdkit.Chem.rdMolHash.HashFunction.CanonicalSmiles,\n",
" 'MurckoScaffold': rdkit.Chem.rdMolHash.HashFunction.MurckoScaffold,\n",
" 'ExtendedMurcko': rdkit.Chem.rdMolHash.HashFunction.ExtendedMurcko,\n",
" 'MolFormula': rdkit.Chem.rdMolHash.HashFunction.MolFormula,\n",
" 'AtomBondCounts': rdkit.Chem.rdMolHash.HashFunction.AtomBondCounts,\n",
" 'DegreeVector': rdkit.Chem.rdMolHash.HashFunction.DegreeVector,\n",
" 'Mesomer': rdkit.Chem.rdMolHash.HashFunction.Mesomer,\n",
" 'HetAtomTautomer': rdkit.Chem.rdMolHash.HashFunction.HetAtomTautomer,\n",
" 'HetAtomProtomer': rdkit.Chem.rdMolHash.HashFunction.HetAtomProtomer,\n",
" 'RedoxPair': rdkit.Chem.rdMolHash.HashFunction.RedoxPair,\n",
" 'Regioisomer': rdkit.Chem.rdMolHash.HashFunction.Regioisomer,\n",
" 'NetCharge': rdkit.Chem.rdMolHash.HashFunction.NetCharge,\n",
" 'SmallWorldIndexBR': rdkit.Chem.rdMolHash.HashFunction.SmallWorldIndexBR,\n",
" 'SmallWorldIndexBRL': rdkit.Chem.rdMolHash.HashFunction.SmallWorldIndexBRL,\n",
" 'ArthorSubstructureOrder': rdkit.Chem.rdMolHash.HashFunction.ArthorSubstructureOrder}"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# View all of the MolHash hashing functions types with the names method.\n",
"molhashf = rdMolHash.HashFunction.names\n",
"molhashf"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"AnonymousGraph **(***1*****1)*(*)*(*)*(*)*1***(*)*(*)*1\n",
"ElementGraph CC(C(O)C1CCC(O)C(O)C1)N(C)C(O)OCC1CCCCC1\n",
"CanonicalSmiles CC(C(O)c1ccc(O)c(O)c1)N(C)C(=O)OCc1ccccc1\n",
"MurckoScaffold c1ccc(CCNCOCc2ccccc2)cc1\n",
"ExtendedMurcko *c1ccc(C(*)C(*)N(*)C(=*)OCc2ccccc2)cc1*\n",
"MolFormula C18H21NO5\n",
"AtomBondCounts 24,25\n",
"DegreeVector 0,8,10,6\n",
"Mesomer CC(C(O)[C]1[CH][CH][C](O)[C](O)[CH]1)N(C)[C]([O])OC[C]1[CH][CH][CH][CH][CH]1_0\n",
"HetAtomTautomer CC(C([O])[C]1[CH][CH][C]([O])[C]([O])[CH]1)N(C)[C]([O])OC[C]1[CH][CH][CH][CH][CH]1_3_0\n",
"HetAtomProtomer CC(C([O])[C]1[CH][CH][C]([O])[C]([O])[CH]1)N(C)[C]([O])OC[C]1[CH][CH][CH][CH][CH]1_3\n",
"RedoxPair CC(C(O)[C]1[CH][CH][C](O)[C](O)[CH]1)N(C)[C]([O])OC[C]1[CH][CH][CH][CH][CH]1\n",
"Regioisomer *C.*CCC.*O.*O.*O.*OC(=O)N(*)*.C.c1ccccc1.c1ccccc1\n",
"NetCharge 0\n",
"SmallWorldIndexBR B25R2\n",
"SmallWorldIndexBRL B25R2L10\n",
"ArthorSubstructureOrder 00180019010012000600009b000000\n"
]
}
],
"source": [
"# Generate MolHashes for molecule 's' with all defined hash functions.\n",
"for i, j in molhashf.items(): \n",
" print(i, rdMolHash.MolHash(s, j))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Murcko Scaffold Hashes (from slide 16 in [ref2])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['c1ccc(CC2CCCCC2)cc1',\n",
" 'c1ccc(CC2CCCCC2)cc1',\n",
" 'c1ccccc1',\n",
" 'c1ccc(CC2CCCCC2)cc1',\n",
" 'c1ccc(C2CCCc3ccccc32)cc1',\n",
" 'c1ccc(CC2CCCCC2)cc1']"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create a list of SMILES\n",
"mList = ['CCC1CC(CCC1=O)C(=O)C1=CC=CC(C)=C1','CCC1CC(CCC1=O)C(=O)C1=CC=CC=C1',\\\n",
" 'CC(=C)C(C1=CC=CC=C1)S(=O)CC(N)=O','CC1=CC(=CC=C1)C(C1CCC(N)CC1)C(F)(F)F',\\\n",
" 'CNC1CCC(C2=CC(Cl)=C(Cl)C=C2)C2=CC=CC=C12','CCCOC(C1CCCCC1)C1=CC=C(Cl)C=C1']\n",
"\n",
"# Loop through the SMILES mList and create RDKit molecular objects\n",
"mMols = [Chem.MolFromSmiles(m) for m in mList]\n",
"\n",
"# Calculate Murcko Scaffold Hashes\n",
"murckoHashList = [rdMolHash.MolHash(mMol, rdkit.Chem.rdMolHash.HashFunction.MurckoScaffold) for mMol in mMols]\n",
"murckoHashList"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'c1ccc(CC2CCCCC2)cc1'"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get the most frequent Murcko Scaffold Hash\n",
"def mostFreq(list):\n",
" return max(set(list), key=list.count)\n",
"mostFreq_murckoHash = mostFreq(murckoHashList)\n",
"mostFreq_murckoHash"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7fe4d0f66800>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mostFreq_murckoHash_mol = Chem.MolFromSmiles('c1ccc(CC2CCCCC2)cc1')\n",
"mostFreq_murckoHash_mol"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<PIL.PngImagePlugin.PngImageFile image mode=RGB size=750x500 at 0x7FE4D0F6C3C8>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Display molecules with MurkoHash as legends and highlight the mostFreq_murckoHash\n",
"highlight_mostFreq_murckoHash = [mMol.GetSubstructMatch(mostFreq_murckoHash_mol) for mMol in mMols]\n",
"Draw.MolsToGridImage(mMols,legends=[murckoHash for murckoHash in murckoHashList],\n",
" highlightAtomLists = highlight_mostFreq_murckoHash,\n",
" subImgSize=(250,250), useSVG=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Regioisomer Hashes (from slide 17 in [ref2])"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7fe4d0c48580>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Find Regioisomer matches for this molecule\n",
"r0 = Chem.MolFromSmiles('CC1=CC2=C(C=C1)C(=CN2CCN1CCOCC1)C(=O)C1=CC=CC2=C1C=CC=C2')\n",
"r0"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'*C.*C(*)=O.*CC*.C1COCCN1.c1ccc2[nH]ccc2c1.c1ccc2ccccc2c1'"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculate the regioisomer hash for r0\n",
"r0_regioHash = rdMolHash.MolHash(r0,rdkit.Chem.rdMolHash.HashFunction.Regioisomer)\n",
"r0_regioHash"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAcvElEQVR4nO3daVRT59YH8J0QwoyACA4gFBEKWARRnHEoWFu5FrFoHbBoLXgvCMirgnXV6K16g1gM6HKotZVatdBaKw5VoShgkVFBEWQQKSjKjMxJSJ73w7nN68ugwEkaEvdv+aXhnH2eLLr+PGd6NoMQAgghhAaLKe8BIISQYsMYRQghWjBGEUKIFoxRhBCihSXvASAZePECQkJAQwOYTODxgIl/LBGSIQbeqVdC//kPvPceTJoEsbHAYsHSpfIeEELKDOcpyqikBOztAQAmToSiInmPBiElhzGqjCwt4f59AID798HKSt6jQUjJ4Um9MvrjD9i/H8aOhc5O2LAB9PTgrbfkPSaElBbGqDJiMoEQEIng6lVYtAjefx+uXJH3mBBSWnhSjxBCtGCMIoQQLRijCCFEC8YoQgjRgjGKEEK0YIwihBAt+E69EspzcWEQYs9gVLHZdS4uYG5uL+8hIaTEMEaVkGNKCiFEREiuQLAoJeV9LS18ahQh2cGTeoQQogVjFCGEaMEYRQghWjBGEUKIFoxRhBCiBWNUaaWmpmZkZMh7FAgpP3zgSdkIhUIfH5/Y2FhPT8/GxsaRI0dOnz5d3oNCSJnhbFSpxMfH29rafvfdd+3t7ba2tpaWls+fP9+xY8fChQsLCwvlPTqElBPGqJIoKipatGjRhx9+WFpaam1tffny5dTU1IKCgmPHjhkaGl67ds3e3t7Pz6+urk7eI0VI6RCk4Nrb27dt28ZisQDAwMAgOjpaKBS+vEFtbe2GDRtUVFQAwNDQ8Pz582KxWF6jRUj54GxUgRFC8vLyDh061NTUJBaLvb29Hz58uHHjRipSJQwNDY8cOZKfn79w4cLm5ubHjx8fPny4tLRUXsNGSMlgLyZFVVZWdu3atZqaGgAwNzefPHmynZ3da/e6fft2ZmZmU1MTANjY2Li5uenr68t8rAgpNYxRxfPixYukpKR79+4BgK6u7vz58ydOnNj/3UUiUXZ29o0bN/h8voqKyuTJk+fNm6empiaz8SKk5DBGFUNDQ0NVVZWxsXFeXl56erpIJGKz2bNnz54+fTp10XOgWlpafv/997y8PADQ0dGZMWOGtrb26NGjDQwMpD12hJQcXhtVDHw+Py0trbW1tby8XCQS2dra+vv7z5o1a3AZCgA6OjoeHh6+vr6mpqYtLS21tbVpaWnNzc3SHTZCbwKcjSqG0tLS5uZmbW1tXV1dsVg8evRoaVUmhDx48IDFYrW3t2tra1tZWUmrMkJvCIxRhdHW1qalpaW49RFSVhijCCFEC14bRQghWjBGEUKIFoxRhBCiBWMUIYRowRhFCCFaMEYRQogWjFGEEKIFY1SBNTQ05OfnNzQ0yHsgCL3RsBeTAqNetF+wYIGmpmavr1GIRCKBQNDrvnp6ekwm/hFFSArwLSYFJnnR/tKlSy0tLT03qKurO3ToUK/7/vnnn2PHjpXxABF6I+BsVIFZWlpSL8Krq6sLhcKeG2hoaPS1KvOgl4ZCCHWDs1GEEKIFr44hhBAtGKMIIUQLxihCCNGCMYoQQrRgjCKEEC0YowghRAvGKEII0YIxihBCtGCMIoQQLRijCoYQEhsbm5OTk5CQIO+xIIQAMEYVy507d+bMmfPxxx97eXktWLDAzc2toKBA3oNC6E2HMaoYqqur169fP2XKlNTUVGNj48mTJ+vq6iYmJjo6Om7durW5uVneA0TozYUxOtQJhcKoqChra+sTJ06oqKgEBgYWFRXFxcWVlZUFBgaKRKKIiAgLC4uoqCiRSETzWN98AytXAgAEBEBXF3zzDaSn//c/OztpfxOElBTG6JCWmJjo4OAQHBz84sULV1fX3NzcqKioYcOGAcDw4cOjoqIyMzNnz55dX18fHBzs7OycmppK84hdXVBSIo2hI/TGwBgdooqKihYtWkRd/bS2tr506VJCQoKtrS31U7FYvHDhwvDw8AkTJqSkpMTHx5ubm9+5c8fFxeUf//hHeXn5QA9XWQlnzwIAbNgAR4/+3+f79sGGDXDzpjS+EkLKiqAhpqGhITQ0lM1mA4C+vj6Xy+Xz+d22uXz5MvXrs7OzS0hIIIS0t7dzuVxtbW0A0NDQCA0NbWlpee2xyssJj0dmziQMBmEwSHg4ycoiHA5ZvJgIheT4cXL7NiGE+PuTjg4ZfFWElALG6BAiEoliYmKMjIwAgMlkent7V1dX97VxfHz8uHHjqDB1dXUtKCgghDx58sTb25vBYADAmDFjYmJixGJxz30LCwsPHixwdCQA//2npUW8vMiePSQri1RXEy2t/4vRkyfJ4sUYowj1CWN0qEhKSrK3t6dicd68eXl5ea/dRSAQ8Hg8XV1dAFBVVQ0MDHzx4gUhJCMjY9q0aVQpZ2fn29SUkpD8/HwOh+Pk5AQAEyasByCamsTdncTEkL5mrr/+SgDIyJHk+XPpfVWElAvGqPx1dXUtXbqUSj0LC4tz584NaPfa2trAwECqt5KhoSGPx+vq6hKJRMePHzc2NqYmti4uLpaWlpIrOcOHD//00/VXroh6XC3oTiQirq4EgLz3HultXosQwhgdAq5evTplyhQNDQ0Oh9Mx2JPnnJycWbNmUSk5adKklJQUQkhrayuHw1FVVTU3N6fS09vbOz4+XiAQ9L/y8+fE2JgAkK++GtzQEFJyGKPy5+fnBwBcLpdmHbFYfPr0aRMTEwBgMBiRkZHU576+vgDg6+srEokGV/nKFcJgEFVVkp5Oc4wIKSF84GmooJ4GpYPBYKxcubKoqIjL5err6y9atIj6nOqx/NZbbzGZg/x1v/8+bNwIQiGsXg0tLTSHiZCywRgdWtatW7d48eL6+vpBV9DU1AwNDS0vL7eyspLiwPbtAwcHAHiwY8e/pVgWISXAkvcA0P9z/fr1p0+fdnR00Kyjo6MjlfFIqKnBjz+2zZw5l8ermzLFciX10ihCCGejqP+srbW43P8AgJ+fX3FxsbyHg9BQgTGKBmD9+vUrVqxobW1dtWqVQCCQ93AQGhIwRtHAHDly5K233srOzuZwOPIeC0JDAsYoGphhw4b9+OOPqqqq+/btwxX4EQKMUdR/+/bte/r0KQA4OztT7009f/5c3oNCSP4wRlG/xMTEhIaGzpo1SygUCoXCP/74QygUYgsThAAfeEL9UVpaunHjRgDYtWuXqqrq559/np6ebmpqumXLFnkPDSH5w9koeg2hULh69eqWlpZly5atWbMmOTl53759LBbr7NmzBgYG8h4dQvKHMYpeIywsLCMjw8LC4vjx43V1dStXrhSJRDt27Jg5c6a8h4bQkIAn9ehVrl27duDAARaLdfr0aR0dHQ8Pj6qqqtmzZ3/++efyHhpCQwXORlGfampqfHx8CCF79uyZNm1adHR0fHy8vr7+Dz/8QC1vihACjNGhJjY2NjExccSIEXSKtLa2Hjx4UCwW0ylCCFm3bt3z58/nzp27efPm/Pz8bdu2AcC33347duxYOpURUjJ4Uj+00LzgSAj5+eefN2/eXFFRoaOj4+PjM+hSERERly9fHjFixJkzZzo6OpYtW9bR0eHv7+/h4UFnhAgpH5yNDhW//fYbzYWdMjIypk+fvmzZsoqKiqlTp9rZ2QFAU1NTUlISAJw+ffrs2bPNzc39KZWTk/PFF18wGIwTJ06MGjUqKCiosLDQzs4uIiKCzggRUk5yXjYaEdLR0WFtbQ0A5ubmP/300yAqPH361NfXl1qVedSoUceOHROJRF1dXUePHqWuD0iuEqipqbm6uvJ4vFf0HBWJRDY2NgCwadMmQshPP/0EAOrq6v3psofQGwhjdEi4efOmg4MDlXRz5sy5e/duP3fk8/k8Ho9aXZTNZkuag3YrmJSUFBMT4+7urqqqSn2ooqIyc+ZMHo9XVVXVs2xWVpaXl1dnZ2dFRQX1cOjRo0el+YURUiIYo0MF1aRe0svT29v7+euaGsfHx1tYWFCx6O7u/ujRI0JIZWWlpFW9iYlJt1b1dXV1VJ6y2WxqRyaTSeVpZWVlt/pCoXDGjBkA4OnpKfXvi5DSwBgdWhobG0NDQ9XU1ABAT0+Py+V2dnb23Ozhw4dz586lctDe3j4pKYkQ0tbWxuFwNDQ0AEBTU5PD4bS3t/d1oIaGhpiYGC8vLy0tLckVHltbWw6HU1RURG2zfft2Kovr6upk9H0RUgIYo0NRUVGRu7s7FW3jx4+Pi4vrtkFpaamampqBgQHVlV4sFsfFxZmZmQEAg8Hw8vIqLy/v57Gam5vPnj370UcfaWpqSvJ00qRJn332mYqKCpPJpDIaIdQXjNGhKyEhgbrbDgCurq75+fkv//TChQuNjY2EkOzsbMljUk5OTqmpqYM7XEdHR3x8vLe3t6RHqY6Ozs6dO6XwTRBSahijQ5pAIODxeHp6egCgqqrq6+tbW1sr+WlVVVXPG/T0D9rZ2Xnp0qWwsLDKysquri76BRFSbhijCqC+vp5aJhkAqBP59vZ2Ho+nq6tLxavkBj1C6O/HIIQM6nlT9HfLzc0NDg5OTk4GAD09vaamJgBYsmRJRETEuHHj5D06hN5cGKMK5uLFi0FBQXPmzElPT4+MjHz//fflPSKE3nQYo4qHz+dTJ/gsFi6JgJD8YYwihBAtuDQJQgjRgjGKEEK0YIwihBAtGKMIIUQLxihCCNGCMYoQQrTgg4dI5q5du9be3n7//v2NGzfq6+tLvX5KSsqzZ8+Ki4v9/PyMjIykXh+h15Dvu6hIuRUXF3t5eQGAtrY2/LUggFAolFZ9yRrV1Cp/2traHA6n1xVaEZIdfPxesZWWlt6+fbvbhxoarh0do7p92NICt27BmTMQEAA8Hpw8CRMmwLRpEBAA+/eDurqUB9ba2rp//34ul8vn87W0tHx8fEpKSq5fvw4Ab7/99oEDBxYuXEinfnt7+8GDB3fv3t3a2qqpqbl69era2trz588DwPjx4/fs2UPFN0J/B3nnOBq8gwcPrlixoufvdMaMMgDS7V94OPHyIsXFxN+fCIXk+HFy+zYhhPj7k44OaY7qFd1Qeu16MlAvr1FN1ZGsUZ2QkDBhwgTq83fffff+/ftS+1YI9Q1no4rq2bNn1tbWLS0tCxYs6HZBcNSoXc+eWXTb3skJ7O3h8mXg8/87G71yBYyM4NYtyM6W2mw0MzMzKCgoPT0dAJydnaOioqZNm0b9qKuri8ViCQSCI0eO7Nixo7m5mc1mb9iw4csvv6RW/OuPnJyc4ODgW7duAcCkSZOioqJmzZr1cn2hUPjdd99t3769rq6OxWKtW7duz549hoaG0vl6CPVK3jmOBumTTz4BgCVLlvRz++PHSVYW4XDI4sUymY2+3EpvzJgx3VrpEUI2bdrk6upKzRAHseA0tQu1JouhoSHVPeXlDXbu3Dlnzpzc3FzS2wqtuP40kh2MUYWUnZ3NZDLZbHZxcXE/d6FitLqaaGn9N0Z/+IGsXEn8/OjGaFtbG5fLpW4iaWpqhoaGtrS0dNumpaVlxIgRAKCqqrpp0yaq/UlWVtbL7U9u3brVa32qBcCr16gWCATUab6Kioqfn19NTQ0hpKCg4L333qPq29jYXL16ldb3RKgPGKOKRywWU2ey27Zto1PH2ZkAEA6H1mDi4+PNzc2pqHJ3d3/8+HFfW/Y6Q6QudI4dOxb+asb3559/dqsvWZTa3d29tLS0r/p9NVWVygVZhF4BY1TxfP/99wBgbGxMs3FIWhphMIiGBul3F9H/JycnZ/bs2VQ8TZo0KSUlpT979TpDpFpDq6urw1+toTs6OgoLCyWLUltbW1+5cqU/9V9uqmplZXXx4kVCCJ/P5/F4Ojo6AMBms7HnCpIujFEF09bWRs3dTp48Sb/axx8TAPLxxwPece/evdSVzZEjR544cWKgrfR6nSGWlZV5enpSHw4fPpxalHr48OGHDh0a6KOmvTZVffLkyerVqyVXb8vKygZUE6G+YIwqmO3bt1NXEqXSBLSykmhpEQCSnDyAvR48eLBkyRIVFZXAwMCmpqbBHbrnDLG5uZkQcuPGDRsbG2NjYxaL5evrS13lHATqiirVLJq6oiq5IDtlypQRI0Zg72gkLRijiqSiokJTU5PBYAy6GX1PHA4BII6OpP+3sq9cuQIA8+fPp3/0l2eIU6ZMoT6knmdycnKiX7+6uvqzzz6jJs7W1tbU356CggLqP+nXR4gQgkuTKJKQkJD29vZVq1ZJHpakb+tWMDWF3FyIjX02oB3ZbDb9o48ZM+bUqVOZmZkzZszYuHEj9SGVeqqqqvTrGxkZff3119nZ2S4uLv7+/lRlKrURkhaMUYVx69atc+fOaWpq7tmzR4plNTXhwIFmO7vPQkIcm5ubB7o7l8t1dHSMi4ujM4bJkyenpqauXr2aTpFXcHR0TE5O9vf3l1F9ys2bN9esWXP+/PmsrCyZHggNNRijikEsFgcHBxNCtm3bRt1ikqKlS3UNDIqrq6t379490H0rKytzc3Nra2tpjoHJZMp6kkhNRaWus7Pz+++/nzhx4rx5806dOkWdK0RHRxN8P/CNgTGqGL7++uucnBxTU9OQkBBZ1OfxeEwmMyoqqri4WBb1lVJZWVlYWJiJicknn3xy7949Y2PjLVu2+Pj4CIXCoKCgJUuWNDY2SveIDQ0N+fn5DQ0N0i2LaMIYVQBNTU07duwAgMjISGpFOKlzdHRcu3atQCDYvHmzLOorE0JIWVmZj4/P+PHjw8PD6+vrp0+ffubMmYqKin379h0+fPj8+fP6+voXLlxwcHCglheQFj6fn5aWNohrL0imMEYVwL///e/a2tqZM2cuXbpUdkfZu3fvsGHDLl68ePXqVdkdRaEJBIKcnJyjR4+eOnUKAFgslpeX1x9//JGWlrZixQrJPbcPP/zw7t2706ZNq6iomDt3blRUFP0T/M7OTj6f39bWNnnyZIFAQPebIKnCGB3qHj58eOjQIeqMW6ZXD42MjKiHUkNCQoRCoewOpIjq6+t/++23yMjIS5cu1dTU6Orqrlmz5smTJ3FxcTNmzOi5vZmZ2c2bNwMDA/l8fnBwsKen56BP8Ovr669evRoZGZmenm5paWltbW1lZUXv2yApwyYiQ51IJDI3NzcxMXFycpL1sYKCgrhc7rhx4/h8vlSeN1JoDQ0NVVVVhJC8vLxHjx5RH5qZmTk7O7/99tuvvWGlpqYWFRU1b968tWvX/vrrr3fv3o2NjZ06dWo/j04IKSoqyszMfPz4sWQ8AKClpTXYL4RkBWN0qHv8+HFJSUljY2NTU5Oenp5Mj5WSktLQ0JCcnIyzUfjrQqSZmdmjR49UVFTs7OxmzJhBLUfdfx4eHo6OjsuXL8/IyJgzZ054eHhQUNBrj5ubm5uent7U1AQAbDb7nXfecXZ2xjZTQxbG6FDn7u7u5uaWkJCwa9euAwcOyO5AIpGIegxg+/btsmg8p3CoC5Hq6uq6uroODg4aGhqDq2NmZpacnLx169bo6Ojg4ODk5ORvv/2217+Iubm5R44c0dPTo24k6uvrOzk5TZo0adCHRn8Teb5ChfonPz+fxWKxWCxqiQ0ZOXjwIABYWFi8tiUc9TLowoULCSH/+te/AODQoUNSHElaWhoATJs2TYo1X1ZYWAj9exm0tbVVisf95ZdfqPQ0NzfPyMiQfC4QCGJjYyXLZenr6585c6akpKTbutdoyMJbTArAzs7u008/7erqCg4OltEhGhsbd+3aBQBfffUVtWQnAmlfiFyyZElmZqaDg0N5ebmLi0tUVFRNTU14eLilpeXy5ctTU1N1dHR8fX1v3bq1YsUKS0tLfGlVUWCMKoa9e/caGBgkJiZevnxZFvV37NhRV1c3f/58Dw8PWdRHlPHjx9++fdvPz4+6gz9mzJiwsLCKigobG5vDhw9XVVUdO3bM1tZW3sNEA4MxqhgMDAy++OILANi3ezdI+7HBwsLCY8eOqaio8Hg86VZGPamrqx89evTcuXOurq7jxo1zdXWNj49/8ODBP//5T6oRC1I4eItJYfj7+/PT0v71229w6BBI9ZXQTZs2CYVCf3//d955Z6D7cjicoKCggd6/7kYgEERHR7u5uU2cOJFOnb50dXUdO3bM0dGx12c85cLT09PT07Ozs1NdWk1ZkfzgbFRhqKqqhvr66rS2wq5d8Py5tMpeuHDh2rVr+vr6O3fuHMTuRkZGVlZW1OrIg5OYmOjo6Lhly5aAgAAig+U8kpKSnJycAgICAgICxGKx1OvTgRmqHDBGFYqrK3zwATQ3A4cjlXoCgWDr1q0AsGvXrv43c2ez2Xp6erm5udnZ2XSOXlRUtGjRIjc3t4KCAisrq7CwMAaD0dHRERMTo6GhUVJSkpqaSqf+o0ePli1b9u677967d8/U1DQ4OJjJZAoEgpMnT6qrq+NDXUhq5P2oABqgkhKipkaYTJKVRb9YeHg4ANjY2AgEggHtGBgYCABMJnPt2rXUqz4D0tDQEBoaSr2Erq+vz+Vy+Xw+ISQ2Npbqk0w1YmIwGMuXL+/WK7Q/WltbJT3ytLS0qB55hJCLFy+OHz8eAFRUVF7RZBShAcEYVUAhIQSAzJxJ6D1XWF1dTZ2MD6KBe1859VoikSgmJoZ6IYfJZHp7e1dXVxNC7ty54+LiQv1pd3R0vH79OpfLpW65aGhohIaGUp2aXkssFsfExIwcORL+6thcUVFBCKFmvlR9KyurS5cuDfQrI9QXjFEF9OIFGTmSAJC4ODpl1q1bBwCLFy8edIXS0lIvLy8qm0xNTWNiYl69fVJSkr29PbX9vHnz8vLyCCF1dXWS/vXDhw+n+tdT2z958sTb21vSyzMmJubVT6RnZmZOnz6dqj9lypS0tDTyV/96auZL9a+nZr4ISQvGqGI6doyMHUtoTKnu3LnDZDLZbHZRURHNsfz+++89w7Gb1tZWyROpFhYWv/zyC+mteWevfUZ7DcduBALBypUrqcA1MTE5ffq0WCzua+aLkHRhjCqmri7S3k6nAPXq4datW6UyHCqwRowYIQmsno2R3dzcXj7977WVfF+6nap7e3s/e/as2zYeHh4vn/6/PPOdO3dubm6uVL4pQj0xCHaMUVAvXkBICGhoAJMJPB7cuAEdHT23uqGi0iYSdfswJSUlIiLCyMiouLiYzrNK3TQ2NoaHhx84cEAgEOjr64eGhm7atEmymPGjR480NTVHjRpVXFwcEhJCvY5lZWX11Vdfubu796d+W1tbREREeHh4Z2enlpbW5s2bw8LCJM8MUddAzczMKisrt2/fTq2sbGpqunv37jVr1kjrOyLUC3nnOBqsvXtJTg4hhPz4I/n5ZzJ6NAHo+W/yyJG9/t5Hjx79zTffyGJcDx8+/OCDD6ijWFtbX758WfKjnpcpX7sMSk8lJSWSC7KWlpZxL10gbmtrk9z40tTU7P+NL4TowNmowlq3Dr7+GlgsePgQfvkFioqgvr7nVgE6OuUtLT0/P3z4sImJiYyaZQJAYmJiYGAgtZaSq6vrgQMH7ty5s2XLlpqaGiaTuWrVqv3799NZQDMpKSk4OPj+/fsAMH/+/MjIyOLi4s2bN1dUVDAYjI8++mj//v1Sb6GKUO/kneNosPbsIXfuEEJIXBz56Sd5j6YXnZ2dXC5XR0cHACRr6UvxMqVQKIyOjjYwMAAA6kY/AEydOjU9PV0q9RHqJ5yNKqymJvif/wFtbRCLgceDv3JkqKmrq/vyyy/5fH5ycvK2bdskDzBJS2Nj486dOxsaGvLy8gICAtavXy+7KTZCvcIYRX8H6n8z2S2gKev6CL0CxihCCNGCpz8IIUQLxihCCNGCMYoQQrRgjCKEEC3/C/LBQ4R0GGKnAAAAAElFTkSuQmCC\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7fe4d0c488a0>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r0_regioHash_mol = Chem.MolFromSmiles('*C.*C(*)=O.*CC*.C1COCCN1.c1ccc2[nH]ccc2c1.c1ccc2ccccc2c1')\n",
"r0_regioHash_mol"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"# Create a list of SMILES\n",
"rList = ['CC1=CC2=C(C=C1)C(=CN2CCN1CCOCC1)C(=O)C1=CC=CC2=C1C=CC=C2',\\\n",
" 'CCCCCN1C=C(C2=CC=CC=C21)C(=O)C3=CC=CC4=CC=CC=C43',\\\n",
" 'CC1COCCN1CCN1C=C(C(=O)C2=CC=CC3=C2C=CC=C3)C2=C1C=CC=C2',\\\n",
" 'CC1=CC=C(C(=O)C2=CN(CCN3CCOCC3)C3=C2C=CC=C3)C2=C1C=CC=C2',\\\n",
" 'CC1=C(CCN2CCOCC2)C2=C(C=CC=C2)N1C(=O)C1=CC=CC2=CC=CC=C12',\\\n",
" 'CN1CCN(C(C1)CN2C=C(C3=CC=CC=C32)C(=O)C4=CC=CC5=CC=CC=C54)C']\n",
"\n",
"# Loop through the SMILES rList and create RDKit molecular objects\n",
"rMols = [Chem.MolFromSmiles(r) for r in rList]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['*C.*C(*)=O.*CC*.C1COCCN1.c1ccc2[nH]ccc2c1.c1ccc2ccccc2c1',\n",
" '*C(*)=O.*CCCCC.c1ccc2[nH]ccc2c1.c1ccc2ccccc2c1',\n",
" '*C.*C(*)=O.*CC*.C1COCCN1.c1ccc2[nH]ccc2c1.c1ccc2ccccc2c1',\n",
" '*C.*C(*)=O.*CC*.C1COCCN1.c1ccc2[nH]ccc2c1.c1ccc2ccccc2c1',\n",
" '*C.*C(*)=O.*CC*.C1COCCN1.c1ccc2[nH]ccc2c1.c1ccc2ccccc2c1',\n",
" '*C.*C.*C(*)=O.*C*.C1CNCCN1.c1ccc2[nH]ccc2c1.c1ccc2ccccc2c1']"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculate Regioisomer Hashes\n",
"regioHashList = [rdMolHash.MolHash(rMol, rdkit.Chem.rdMolHash.HashFunction.Regioisomer) for rMol in rMols]\n",
"regioHashList"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Regioisomer: True\n",
"Regioisomer: False\n",
"Regioisomer: True\n",
"Regioisomer: True\n",
"Regioisomer: True\n",
"Regioisomer: False\n"
]
}
],
"source": [
"rmatches =[]\n",
"for regioHash in regioHashList:\n",
" if regioHash == r0_regioHash:\n",
" print('Regioisomer: True')\n",
" rmatches.append('Regioisomer: True')\n",
" else:\n",
" print('Regioisomer: False')\n",
" rmatches.append('Regioisomer: False')"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<PIL.PngImagePlugin.PngImageFile image mode=RGB size=750x500 at 0x7FE4D0C59E10>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create some labels\n",
"index = ['r0: ','r1: ','r2: ','r3: ','r4: ','r5: ']\n",
"labelList = [rmatches + index for rmatches,index in zip(index,rmatches)]\n",
"\n",
"# Display molecules with labels\n",
"Draw.MolsToGridImage(rMols,legends=[label for label in labelList],\n",
" subImgSize=(250,250), useSVG=False)\n",
"\n",
"# note, that r0 is the initial molecule we were interested in."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Anonymous Graph Hashes (from slide 18 in [ref2])"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7fe50207b8f0>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Find Anonymous Graph Hash matches for this molecule\n",
"a0 = Chem.MolFromSmiles('O=C1\\C(CCC2=C1C=CC=C2)=C\\C1=CSC=C1')\n",
"a0"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'**1*(**2****2)***2*****12'"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a0_anonHash = rdMolHash.MolHash(a0,rdkit.Chem.rdMolHash.HashFunction.AnonymousGraph)\n",
"a0_anonHash"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7fe4d0c514e0>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a0_anonHash_mol = Chem.MolFromSmiles('**1*(**2****2)***2*****12')\n",
"a0_anonHash_mol"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"# Create a list of SMILES\n",
"aList = ['O=C1\\C(CCC2=C1C=CC=C2)=C\\C1=CSC=C1',\\\n",
" 'OC1C(CC2=CSC=C2)CCC2=C1C=CC=C2',\n",
" 'CC1=CC=C(S1)C=C2CCC3=CC=CC=C3C2=O',\n",
" 'NC1=C2C=CC=CC2=CC=C1CC1=COC=C1',\n",
" 'BrC1=C(NC2=NCCN2)C=CC2=C1C=CC=C2',\n",
" 'CC1=CC2=CC=C(CC3=CSC=C3)C=C2C=C1']\n",
"\n",
"# Loop through the SMILES aList and create RDKit molecular objects\n",
"aMols = [Chem.MolFromSmiles(a) for a in aList]"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['**1*(**2****2)***2*****12',\n",
" '**1*(**2****2)***2*****12',\n",
" '**1*(**2***(*)*2)***2*****12',\n",
" '**1*(**2****2)***2*****12',\n",
" '**1*(**2****2)***2*****12',\n",
" '**1***2**(**3****3)***2*1']"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculate Anonymous Graph Hashes\n",
"anonHashList = [rdMolHash.MolHash(aMol, rdkit.Chem.rdMolHash.HashFunction.AnonymousGraph) for aMol in aMols]\n",
"anonHashList"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Anonymous Graph Match: True\n",
"Anonymous Graph Match: True\n",
"Anonymous Graph Match: False\n",
"Anonymous Graph Match: True\n",
"Anonymous Graph Match: True\n",
"Anonymous Graph Match: False\n"
]
}
],
"source": [
"anonMatches =[]\n",
"for anonHash in anonHashList:\n",
" if anonHash == a0_anonHash:\n",
" print('Anonymous Graph Match: True')\n",
" anonMatches.append('Anonymous Graph Match: True')\n",
" else:\n",
" print('Anonymous Graph Match: False')\n",
" anonMatches.append('Anonymous Graph Match: False')"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<PIL.PngImagePlugin.PngImageFile image mode=RGB size=750x500 at 0x7FE4D0C596D8>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create some labels\n",
"index = ['a0: ','a1: ','a2: ','a3: ','a4: ','a5: ']\n",
"labelList = [anonMatches + index for anonMatches,index in zip(index,anonMatches)]\n",
"\n",
"# Display molecules with labels\n",
"Draw.MolsToGridImage(aMols,legends=[label for label in labelList],\n",
" subImgSize=(250,250), useSVG=False)\n",
"\n",
"# note, that a0 is the target match "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:my-rdkit_2019_09_2-env] *",
"language": "python",
"name": "conda-env-my-rdkit_2019_09_2-env-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment