{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This post is inspired by a [question](https://www.mail-archive.com/rdkit-discuss@lists.sourceforge.net/msg07707.html) that came up on the mailing list recently. The poster was looking for help doing bioisotere replacements with the RDKit. The topic is interesting and seems useful enough to merit a short blog post." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wed Feb 7 15:10:15 2018\n", "2017.09.3\n" ] } ], "source": [ "# start with the usual imports\n", "from rdkit import Chem\n", "from rdkit.Chem import AllChem, Draw\n", "from rdkit.Chem.Draw import IPythonConsole\n", "import time\n", "from rdkit import rdBase\n", "print(time.asctime())\n", "print(rdBase.rdkitVersion)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll start with some amide (or ester) isosteres taken from [here](http://www.f.u-tokyo.ac.jp/~kanai/seminar/pdf/Lit_Y_Morita_M1.pdf):" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isostere_smis = ('[*:1]S(=O)(=O)NC[*:2]',\n", " '[*:1]C(C(F)(F)(F))NC[*:2]',\n", " '[*:1]C1CC1NC[*:2]',\n", " '[*:1]C(F)=CC[*:2]',\n", " '[*:1]C1COC1NC[*:2]',\n", " '[*:1]C1COC1OC[*:2]',\n", " '[*:1]C1=NN=C([*:2])N1',\n", " '[*:1]C1=NN=C([*:2])O1',\n", " '[*:1]N1N=NC([*:2])=C1',\n", " '[*:1]N1N=NC([*:2])=N1',\n", " '[*:1]C1=NOC([*:2])=N1')\n", "isosteres = [Chem.MolFromSmiles(x) for x in isostere_smis]\n", "Draw.MolsToGridImage(isosteres)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now we'll use those to build the reactions that we'll use to apply the bioisosteric transformations." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def buildIsostereReaction(start,replacement):\n", " qps = Chem.AdjustQueryParameters()\n", " qps.adjustDegree = False\n", " qps.adjustHeavyDegree = False\n", " qps.adjustRingCount = False\n", " qps.aromatizeIfPossible = False\n", " qps.makeAtomsGeneric = False\n", " qps.makeBondsGeneric = False\n", " qps.makeDummiesQueries = True\n", " start = Chem.AdjustQueryProperties(start,qps)\n", " replacement = Chem.AdjustQueryProperties(replacement,qps)\n", " product = AllChem.ChemicalReaction()\n", " product.AddReactantTemplate(start)\n", " product.AddProductTemplate(replacement)\n", " product.Initialize()\n", " return product" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create all the reactions and take a look at one of them to get a sense of what we're doing:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "amide = Chem.MolFromSmiles('[*:1]C(=O)NC[*:2]')\n", "isostereReactions =[buildIsostereReaction(amide,x) for x in isosteres]\n", "isostereReactions[2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are the functions for using those reactions:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def doIsostereReplacement(mol,rxn):\n", " ps = rxn.RunReactants((mol,))\n", " res = [x[0] for x in ps]\n", " return res\n", "def doIsostereReplacements(mol,rxns):\n", " res = []\n", " for i,rxn in enumerate(rxns):\n", " seenSoFar=set()\n", " ims = doIsostereReplacement(mol,rxn)\n", " p0 = rxn.GetProductTemplate(0)\n", " # save where the match is\n", " for im in ims:\n", " smi = Chem.MolToSmiles(im,True)\n", " if smi not in seenSoFar:\n", " im.coreMatches = im.GetSubstructMatch(p0)\n", " res.append(im)\n", " seenSoFar.add(smi)\n", " return res" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll use capsaicin as our example" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mol =Chem.MolFromSmiles('COc1cc(CNC(=O)CCCC/C=C/C(C)C)ccc1O')\n", "mol" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get all the products of applying our isosteric replacements:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "11" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subs = doIsostereReplacements(mol,isostereReactions)\n", "len(subs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at what we got back and, though it's mostly obvious, highlight the replacement:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAu4AAAMgCAIAAADz6nDtAADKuUlEQVR4nOzdd1yTV98G8CthhA3KULY4cQ/cuPeutmrVSlsXOCq2dtDpqHU9HYpd4nhdtQ601m2rdaOgoLgRFJQtQ/YKJPf7x40RN0IgBK7vx8/zpJCcnOiPcOXcZ0gEQQARERGRdpJqugNEREREZccoQ0RERFqMUYaIiIi0GKMMERERaTFGGSIiItJijDJERESkxRhliIiISIsxyhAREZEWY5QhIiIiLcYoQ0RERFqMUYaIiIi0GKMMERERaTFGGSIiItJijDJERESkxRhliIiISIsxyhAREZEWY5QhIiIiLcYoQ0RERFqMUYaIiIi0GKMMERERaTFGGSIiItJijDJERESkxRhliIiISIsxyhAREZEWY5QhIiIiLcYoQ0RERFqMUYaIiIi0GKMMERERaTFGGSIiItJijDJERESkxRhliIiISIsxyhAREZEWY5QhIiIiLcYoQ0RERFqMUYaIiIi0GKMMERERaTFGGSIiItJijDJERESkxRhliIiISIsxyhAREZEWY5QhIiIiLcYoQ0RERFqMUYaIiIi0GKMMERERaTFGGSIiItJijDJERESkxRhliIiISIsxyhAREZEWY5QhIiIiLcYoQ0RERFqMUYaIiIi0GKMMERERaTFGGSIiItJijDJERESkxRhliIiISIsxyhAREZEWY5Qhoppu7969586d03QviKiMGGWIqEaLjIz08PDo1avXihUrBEHQdHeI6LUxyhBRjebk5DR37lyFQjF37tyRI0empaVpukdE9Hok/BRCRLR///733nsvLS3N2dl5586dHTt21HSPiKi0OCpDRIThw4dfvHixXbt29+/f7927d8KWLZruEVGVcfgwDh/GnTvw8gIAX9/ir6tuaBpHZYiIihUUFHz22WemV69+d/IkJk7E6tUwNtZ0p4g0zdcXc+YAwJ07iIhAeDhu3iz+lp+fBvulwlEZIqJiMpnM19d30eTJMDbGH3+gc2eEhWm6U0RVRkRE8Q0/P/j5oVkzjfbmMUYZIqInSDw8EByMFi1w/To6dMD27ZruEZFGDR2KadOweDH+/huDB2u6N8/BKENE9AxXV5w/jwkTkJ2N8eOxbJmmO6QxhYWFmu4CaVrDhqhTB19/jTp1ABRfbCp5Q9MYZYiInsfEBFu3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RhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcoQERGRFmOUISIiIi3GKENERERajFGGiIiItBijDBEREWkxRhkiIiLSYowyREREpMUYZYiIiEiLMcqQuh0+jMOHcecOvLwAwNe3+OuqG0TVBqudao4qXO26mu4AVTvh4ZgzBwA+/RSHDwMornui6ofVTjVHFa52RhmqMBERxTf8/IAqkdyJKgqrnWqOqlftvMBE6tatG7y8cPgw/v4bgwdrujdEFYnVTjVHFa52iSAImu4DVSMhIRgyBF9/jdmzNd0V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mw8T2RSmnezHH6U9v8y52qwwaE1MezOxytiGwkKsWYOyMrNFNjli0uaz9y3qf+g/obusd1bVKr473ePfBweevuQBQKOufrLnyZcHHOrsXnB1BLkc1t2GAYwciV69WuFVEDUE0072g2m/I1hlbEZeHtauRVVVZa1y7bHezz9wxBrd9BKXBz6bk1/mDMDXpeTF4ITZfRNdHKvqnuXggN69MWAAyspQXAytFgbDjdu3Etkapp3sB9Pe8lhlbElaGtats9689gN46070BrAwJG5Kj5MqxZWlDtzcEByMvn1v/DQgkSQw7WQ/mPYWxtV+bUnHjlCrcWWPj/o9yXbP+F9bp2s2JPPxQUgI7ruv7pQjkRQx7WQ/mPYWxipjYzw86pcCq9+T7GrWu3XDgAF1G+sRSR3TTvaDaW9JfOPNxoSEXHtScXXYtu9PdwcAmQy9emHSJGad7h5MO9kPpr0l8VoZGyMI2LgRv/1WvzgYACiV0Grx3HNwcGi9mRGJjWkn+8G0tyRWGdsjCIiJwcGDdRerm83o2hWjR3Njd7oLMe1kP5j2FsMqY6ssFuTnQxDQti3U6taeDVFLYtrJfjDtLYBVhoiIiCSMl/0SERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxypDYduzAjh1IScFzzwFAeHjd1+tvEN01mHYiG6Bs7QnQXScpCQsWAMCrr2LHDgB1R3miuw/TTmQDWGWoxSQn191YvRrgz6l0V2PaiVoP32AisQ0ahOeew44d2LoVI0e29myIWhLTTmQDZIIgtPYc6C6SmIhRo/DGG3jxxdaeClELY9qJbAPPypB4fvoJw4bh0iXs2gVWZLq7Me1ENoNVhkSyaRPGjoXJhGnTsHkzZLLWnhBRi2HaiWwJL/sl7N27t7i4OCkpacKECZ06dWrKECtW4KWXYLFg/nwsWwY5KzLZKKad6O7Da2XsXXh4+KJFi/R6fVZWFoBu3bpNmjQpLCwsMDCwIU8XBOHDf/zjpbVrlTk5+M9/sHBhy06XqBmYdqK7k0D2ymKxLF68GIBMJpsyZcq0adNcXFzqg9GlS5e//vWvR44cuc0I1dXV06dPBzC2c2fzhg13bOZEjcW0E93Fml5lTCbTgQMHRJwK3Um1tbXPPvssAKVS+cUXX9R/8cCBA/Pnz/f09Kw/yvv6+s6fP/+nn36qqam5doTS0tJRo0YBaNOmzY4dO1rjRdw5TLukMe1Ed7cmVpnLly937txZq9UmJyeLOyG6A8rKykaPHm09LkdFRVVWVhYVFV37gPqjvJeXV/1Rvl27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KT1OqhRXFvZwc0NwMPr2vfGzr0SSwLQTkUi42q8t6dgRajWu7GhTv9/k7hn/a+t0zWaTPj4ICcF999WdYCeSIqadiETCKmNjPDzqlwKr32/y6pG9WzcMGAAvr1abHpGImHYiEgPfZrYxISHXnkJfHbbt+9PdAUAmQ69emDSJR3a6ezDtRCQGXitjYwQBGzfit9+uLg4GQKmEVovnnoODQ+vNjEhsTDsRiYFVxvYIAmJicPBg3UczzGZ07YrRo3+/JROR5DHtRNRsrDK2ymJBfj4EAW3bQq1u7dkQtSSmnYiagVWGiIiIJIyX/RIREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYSxyhAREZGEscoQERGRhLHKEBERkYT9P7s9WukzyhczAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "atomsToHighlight = [sub.coreMatches for sub in subs]\n", "Draw.MolsToGridImage(subs,subImgSize=(250,200),highlightAtomLists=atomsToHighlight)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "As I promised above, this is a short one, so that's it for now.\n", "\n", "Comments, questions, or pointers to other lists of useful bioisosteres are welcome!" ] } ], "metadata": { "hide_input": false, "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.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }