Skip to content

Instantly share code, notes, and snippets.

@greglandrum
Last active October 27, 2020 22:52
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save greglandrum/5ca4eebbe78f4d6d9b8cb03f401ad9cd to your computer and use it in GitHub Desktop.
Save greglandrum/5ca4eebbe78f4d6d9b8cb03f401ad9cd to your computer and use it in GitHub Desktop.
Schmidtke_ReversingReactions.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# Reversing reactions"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from rdkit import Chem\nfrom rdkit.Chem import AllChem\nfrom rdkit.Chem import Draw",
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": "RDKit WARNING: [09:52:46] Enabling RDKit 2020.03.1dev1 jupyter extensions\n",
"name": "stderr"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Start with a simple example that kind of works:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "#rxn = AllChem.ReactionFromSmarts('[C:1](=[O:2])([OH]).[N!H0:3]>>[C:1](=[O:2])-[N:3]')\nrxn = AllChem.ReactionFromSmarts('[C:1](=[O:2])([OH]).[N:3]>>[C:1](=[O:2])-[N:3]')\nrxn",
"execution_count": 2,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 2,
"data": {
"text/plain": "<rdkit.Chem.rdChemReactions.ChemicalReaction at 0x7f3e883b1440>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAACWCAIAAACNeWFmAAAQ10lEQVR4nO3de3BU5RnH8Wc3NwxgRiAJTbwEzNBWaoRRBCFWENRCuBRIKIKRi5oClWQsFwszEiul0jEzTSKOjTIDaYNUUBgSbasgYpVAMAyKpRUCDUZAFFJwkoi5Pv1jlxBCAkl2z97e72fyR3LO2T3Pvtlzftlz3veNTVUFAABT2b1dAAAA3kQQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxGEAIAjEYQAgCMRhACAIxmcRBu2yYTJ0rfvhIaKlFRMm6cvP66qFq7U5/VtdY4f17Wr5dJk6R/fwkLk759Zdo02b/fIxUDaAeH87UcPy42m9hsMmVK61V/+pPYbLJmTbuPra6WZctk5EiJjZWwMImNldGjZetWy9JDLXLhgiYnq4iGh+uECTp/vk6erD17qogmJWl1tVX79U2utEZmpopoRIQ+8IBOn6533KEiGhysRUWeqh5ACxzOHVNeriLOr5KSy1a9/LKK6IsvXuOx8fH60EP68MM6erSGhqqIzp9vSamWBeHcuSqi996rp05dWnjmjD7wgIrotGlW7dc3udIaf/mLbtig339/aYnjTXTjjdrUZFXBANrD4dwxjjDr109tNh09+rJV1wzC2lo9c+ayJRUVGhurIlpW5v5SrQnC0lIV0ZgYPX++9arqau3XT0X0/fct2bUPsqI1brtNRfS//3VTiQA6hsO5wxxBmJSk06eriO7YcWnVNYOwTbNnq4j+4x/uLVNV1Zp7hOvXi4gsXCgREa1Xde8uTz0lIrJunSW79kGdbY3ERLHZZO/eqz1nz54iImFhbiwTwLVxOHfeypUSHCzLl19tm2u2U2Wl/POfEhQkt93m9gIl2P1PKeJ8NWPGtL3WsXzPHkt27YPc3hqHD8vHH8sdd0hMjMvFAegMDufOi4+XuXPllVdk61aZPLkTDzx7Vp59Vpqa5OuvZccOqaqS1avlppvcX6E1QXj6tIi0W69juWMbE3S2NTIyJDlZ4uLa3v7CBZk5U1QlK8utVQLoAA7nLlmxQv78Z3nmGZk0SextXYhss53On5eXXnJ+HxIiL7wgv/61JeVZE4RX5+gAa7N5Ydc+6MrWSElpd+OGBpk+Xfbvl9//vt2/SQF4C4dzO2Jj5cknJStLCgrk0Ufb2KDNdoqPF1VpaJCKClm/XpYulZISef1196eHNfcI+/YVEfnyy7bXnjghIhIdbcmufURNjaxYIceOibivNRoa5Be/kMJCWb5cli1zV6UAOsEDh/Obb0pBQeCNt162TCIiJDNT6uo698DgYOnfX557Tp56SjZvlr/+1f21WROEw4aJiOzY0fZax/J77rFk116nKhs2yI9+JCtXyuLFIm5qjfp6mTZNtmyRpUtl1So31gugE6w+nKurZeFCSU2V4cNl3z7X6/UdvXrJ4sVy/Li88koXn2H0aBGRjz5yY1EXub8jql6rh3FcnIrozp2W7Nq7Sks1MdE5gvTOO/XDD50LXWyN2lqdNElFdMkSqyp3WfPg2cmTW6+6Zlfpqir9zW/0vvs0JkZDQzUmRu+/X7dsCbyBVfB/Vh/OTU26aZPefLOKqM2mKSn6xRduK96zmodPNKuq0qgojY7WrKyuDJ9Ys0ZFND3dvWWqWjig3jHiIzFRT568tPCbb5xjTpOTrdqvt5w6pWlpareriP7gB5qXpw0Nl9Z2qjU2bdI//lG/+sr5Y22tTpigIrp4sfUvo+v8aBYJwCUeOJyrqzUzU7t1c85fk5mpFy64+2VY7sogVNWcHBXR/v1bnxNatdOHH7YeV3nggEZFqYj+/e/uL9WyIPzuO/35z1VEr7tOx43TtDSdOFF79FAR/dnPtKqq7Uc995zm5Gh9vVVVWaGuTrOz9frrVURDQjQ9Xb/9tvU2nWqNESNURPfscf64bJmKaM+eOmtW66///McTL7Bj/GgWCcAlHjucKyo0NdX51+VNN2l+videnfu0GYS1tXrLLc7X1PKc0KqdFi1Sm01vv10nTNDkZL3rLudDHnvMklItC0KHLVs0KUmjojQkRPv00Yce0tdea/eC1xdfaGio2u366afWVuVGhYV6663OX9H48Xr06NU27mBrtHpH/PKXlz5qtfrypdl5/GgWCcANPHY479ypCQnObUaO1E8+se41uUt9vebm6quvthGEqrpu3bWD8OOPdf58HThQIyI0OFijozUpSd9806qCLQ7Cztq2TX/7W28X0SEHDx58eto0DQlREf3JTy478fuVOXPmTJ069YLLF16ag7CsTIOD9e67L626MghbvemvdPas9u+vQUFaUeFiXYD/q6/Xl17S3r1VpPbWW59csOBMq0sovuTdd3XgQBXRuLjLJlX1ZT4WhP7g7NmzCxYsCA4OFpG9Y8fqmjV+di33cr179xaRqvYuVndYy8sgaWkqolu2OFd1MAjPnNFf/Urnz9cpU/T669Vm0z/8wcWi4PeysrJOtrwVZ7L//U/T01cOGyYiN9xwQ05OTl1dnbdrukxZmaakOD/txcfrpk3eLqjD/CEIlyzRV1/VxkZv16H19fV5eXmRkZEiEhwcnJaW9s0333i7KFdZEYQnTmi3bjpwoPOXdmUQtrox7lBWdukqUUiIZmXRa9R0hYWFIhIeHp6Zmen6RYvAcPjw4aSkJEef/wEDBrz11lverkj1YueesDAV0e7d/a9zj88H4Wefqd2uYWFen5r9vffeu/322x3vv/vvv//gwYPercddrAhCVV28WEWcd/c7dY+wvl6PHdNnnlG7XVNSyEKjHTt2bPLFuSn79+//pnX3iPzN9u3bb7s4+fSYMWMOHTrkrUqamjQ/X/v2dQ73SE1t/QeuX/D5IGxq0o0bNSvLiyWUlZWlXJz/Jz4+flPXPvD/6186Z44PXjK3KAgrKzUiQuPitLa2i51lFi1SEX3tNRfrgt/buXNnQkKC4wAcOXLkJ/7QW6QTDh3SJ5/UysrOPq6uri47OzsiIkJEQkJC0tPTz185tNFiJSU6bJjzKs6QIVpc7OH9u43PB6FXVVdXZ2ZmhoWFiUj37t27eH2mslIXLtTgYBXxbqK3yaIgVNWVK53517Ug/NvfVEQXLHCxLqfc3FwLpqOAF0RGRrrnPeEjxo5VEe3VS198sQu9Dc6ePZuenh4UFCQivXv3zs7Obmg5gtkyFRUVM2fOjo2td4zsuMpoAL/gr0E4Y8aMjRs3Nlnc9uvWrRMRu90+d+7cr7rwgb+xUfPzNTJSRdRu19RU9b17itYFoU/NIkEQBow+ffq45z3hIz7/XMeNc36q+uEP9e23u/AcpaWliYmJIhIaGnr06oO4XFZTU/Pss8+Gh4eLyE9/mrNihdbUWLpDT/DLIHz77bdFJCoq6tsrh667VWNj4xNPPFFaWtqVB7cc/TNqlC8MjnzhhRc6frrJyMjo1JP70SwS8C8tL42OGjXqUx84lNxv+3b98Y+dp4sxY/Tf/+7sEzQ1NW3cuHH16tVWVNessLAw7uK/Sho/fnx5ebmlu/MYvwzCxsbGtWvXbtiwwduFtMNX54PwfBD65iwS8BdmdZbpyBxV3rN///57773X8bsYPHjwBx984O2K3Mkvg9B3tZwh0Pc6EX/33XdnrtCrVy8ROX78eKvl1dXVnXryNoNQfXIWCfiLoqIiceX2vD86c0bT0zUoSEW0Tx/NzlaP3PO7Cm/dhvSkwAnChoaGKVOmbNu2zSt7b2xsXLduXYHjWr/drrNm6alTXqmks9x1jxCwgqED6vft0+HDVUS7dZs3duzu3bu9UoUvdEz1jMAJwoKCAhHp16/f9x4folBcXDxkyBARsdtsZ5KTW//zBd9GEAK+qKlJCwo+mDRJRGw224wZM7788ksPl/DZZ585PghOmDDhyJEjHt67JwVOENbX1+fm5hYWFnpypydPnkxLS7Pb7SISExOTl5fX6AMz4HQKQQj4rJqamtWrV/fo0UNEwsPDn376aQ8fqs8///w777zjyT16hU1VO96BAs0uXLiQm5u7atWqqqqq0NDQefPm/e53v+vZs6e36+q0Pn36VFZWVlVVOQ42AL7mxIkTy5cvLygoUNUbb7xx1apVqampNpvN23UFDoKwK4qKijIyMsrLy0Vk/Pjxubm5/fr183ZRXUQQAn6hpKQkIyOjpKRERO6+++6cnJxhw4Z5u6gAYfd2ARbatWvXjBkz4uLirrvuuh49eiQkJCxevPjYsWNXecj69esff/zxwYMHh4SE2Gy2N954o9UGBw4cuO+++yZOnFheXj5o0KBdu3YVFRX5bwoC8BdDhw4tLi7Oz8+Pjo7et2/fiBEjHn300a+//rrVZlac9wKfly/NWqO2tnb27NkiYrfbhw4d+sgjj8ycOfPOO++02WyhoaFX6YIVHR0tIlFRUbGxsSKyefPmVhs89thjIhIZGZmXlxd4fYgB+L7z588vWrQoNDRURF5rMRuvdee9gBeYQThv3jwRueuuuz7//POWy48ePTp16tStW7e298B3333X0TVr0aJFbb4hTp8+vXTp0nPnzrm/aADosMOHDy9durTlNJPWnfcCXgAG4YEDB0QkJiamsp0J3TvS7crYNwQAf8R5zxUBeI/QMVN2enq6Y86UKzX3CklMTLTZbHv37vVccQBgAc57rgjAICwuLhaRMWPGeLsQAPAQznuuCPZ2Ae53+vRpEXHc9b26jIyM5OTk5snUAcBPcd5zRQAGoUNHRps2/995AAgAnPe6JgAvjfbt21dETpw44e1CAMBDOO+5IgCDcPjw4SKyY8cObxcCAB7Cec8VARiEc+bMEZHc3Nxz5861uUFNTY1nKwIAa3Hec0UABuGgQYPmzZt36tSpBx988MiRIy1XlZeXp6SkbN++3fHj5s2bs7OzHTeZAcB/cd5zRWBOul1XV5eWlpafnx8UFDRkyJABAwY0NTUdOXKktLQ0JCTk/fffv+eee0QkMTFx9+7de/bsaZ67du3atR999JGIlJaWHjp0aOTIkbfccouIzJo1a9SoUV58RQBwdZz3us7bI/ottHPnzocffvjmm28OCwsLDw9PSEhYsmRJeXl58wYjRowQkT179jQvmTVrVput9PLLL3vhBQBAJ3He64LA/EQIAEAHBeA9QgAAOo4gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABiNIAQAGI0gBAAYjSAEABjt/zAwyUoLBVPBAAAAAElFTkSuQmCC\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "reacts = [Chem.MolFromSmiles(x) for x in ('CC1CCC1C(=O)O','CCN')]\nps = rxn.RunReactants(reacts)\nps0 = ps[0]\nfor p in ps0:\n Chem.SanitizeMol(p)\nDraw.MolsToGridImage(ps0)",
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 7,
"data": {
"text/plain": "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E571A9940>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAADICAIAAAC7/QjhAAAUiklEQVR4nO3de3BU5d3A8d/mChggQBpuCcaAkVswopSYmJqaILdNQcm2Q+06004nfcd5zQgzlAg4Ual0oUhjR8qkrSOpVjQxkNlEWwWqGGOkgrFKfLlNIhZyIWgSkm6um/P+cZiIAWRDNudk83w/wz8cNuf5rTj58pzs2bVomiYAAKjKz+wBAAAwEyEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQh/W1tZWV1eXmpq6ffv2qqoqs8cBAJ9k0TTN7Blwg/bs2WO3291ut/7b2bNn22y2H//4x7NnzzZ3MADwIYTQh61atWrv3r0ZGRltbW1Op7O5uVk/Hh0dbbVabTZbYmKixWIxd0gAGOIIoa9yuVzh4eEul+vMmTORkZEdHR2lpaXFxcWvvfZafX29/pibb755xYoVNpstISHBz4/L4ABwFYTQVxUWFqanp8fHx5eXl19+3O12l5eXFxQUvP766zU1NfrB733ve0uWLLHZbEuWLAkMDDRjXgAYogihr3rooYdeeeWVbdu2rVu37qoP6OnpqaioKC4u/tvf/nb69Gn94IQJE5YtW2az2RYvXhwUFGTgvAAwRBFCn9TR0TFx4sTm5ubTp09Pnz79uo+vrKwsKCh47bXXjh8/rh8JDQ1dtGiR1Wp98MEHQ0JCBnleABi6CKFPeuONN6xWa1xcXEVFRb++sLKysqSkpLi4uKysTD8ycuTIlJQUm822cuXKMWPGDMKwADCkEUKf9Itf/OLFF1/cvHnzpk2bbuwM1dXVTqezoKDggw8+0P8fGDFiRGpqalpa2sqVK8PDw706LwAMXYTQ97jd7kmTJl24cKGysnLgtwz+5z//2bt3b0lJybvvvtvd3S0i/v7+8fHx+i2JkydP9sbIADB0EULfc/DgwdTU1JiYmBMnTnjxtBcuXHjzzTcLCgreeuutrq4uEfHz87v77rvT0tLS09M9+UkkAPgi7i3zPYWFhSJis9m8e9qwsLCHH364uLi4trb2hRdeWL58eWBgYFlZWVZW1q233hofH19QUODdFQFgKGBH6GN6enoiIiJqa2s//vjjO+64Y1DXcrlcBw8eLCgoKCoqamlpWb169R//+MfQ0NBBXRQADEYIfcz777+flJQUFRVVVVVl2NunNTc3R0REtLa2njhxIiYmxphFAcAYXBr1MXv37hWRVatWGfkmomVlZa2trbfffjsVBDD8EEIfU1RUJCKrVq0yclG9vg8++KCRiwKAMbg06kuOHDmyYMGCqVOnfvnll4a9ibbb7Z48eXJDQ8OxY8fmzJljzKIAYBh2hL5Ef73oAw88YORHSRw6dKihoSEmJoYKAhiWCKEv2bdvnxh+iVKvb3p6upGLAoBhuDTqM44dOxYbGxsWFlZbWxsQEGDMoj09PZGRkTU1NUeOHLnzzjuNWRQAjMSO0GfoO7OVK1caVkERKS8vr6mpiYqKmj9/vmGLAoCRCKHP0ENo1utFjbxbAwCMxKVR33Dq1KmYmJjQ0ND6+nojP1B3+vTpVVVVZWVlCQkJhi0KAEZiR+gb9O1gWlqakRU8evRoVVXVpEmT4uPjDVsUAAxGCH2DKbe0976LjZF3awCAwbg06gPOnj07bdq0kSNHNjQ0jBo1yrB1Z82adfz48YMHD953332GLQoABuNf+j7g9ddf1zRt+fLlRlawsrLy+PHjEyZM+MEPfmDYogBgPELoA/QfEJpyH73Bd2sAgPEI4VBXX19fXl4eHBy8bNkyI9c15W4NADDed4XQ4XC88847ho2Cq9q3b5/b7b7//vvHjBlj2KLV1dWffvrp2LFjU1JSDFsUAExxzRAeOXJk48aNKSkpGRkZzc3NRs50A+LjJSBAjh+/9Nu6OrFYpK7u0h9t3/7NI/U/On3ahCFvjCk7s4KCAhGxWq1G3q0BAKa4Zgjj4uK2bNkSHBz85z//eebMmfq346EsNFQ2bjR7CG9rbGw8dOhQYGBgWlqaketyXRSAOq4ZwoCAgPXr13/22WfJycl1dXXp6elpaWk1NTVGDtcvjz4qb78thw+bPYdXFRUVdXV1/fCHPxw/frxhi549e/ajjz4aNWrU/fffb9iiAGCW67xYZsaMGf/85z9zc3NHjx5dUlIyZ86cP/3pT0Pz1sOJE2XNGsnKMnsOrzLlPvrCwkJN05YtW3bTTTcZuS4AmOL6rxq1WCwZGRnHjx9fsWJFU1PTr371q6VLl545c8aA4fpr3To5dkz+8Y++x7OzJSzs0i8f+nDZlpaWAwcO+Pn5/ehHPzJyXVPqCwBm8fT2iSlTphQVFeXn54eFhb311luzZ8/eunWr2+0e1OH6a/Ro2bhRHn9c+mxZ166VTz659OvAAZOG67+XX365vb194cKFkydPNmzR+vr6srKy4ODg5cuXG7YoAJiof/cR2my2yspKu93ucrmysrKSkpI+//zzQZrsxjzyiDQ2yp493zo4dqxERFz6ZWBTblxDQ0NWVtaaNWsmTpz44Ycf3nPPPc8999y5c+cMWLqoqMjtdi9atMjIuzUAwET9vqE+PDz8r3/9a0lJSWRkZHl5eVxcXFZWVmdn52AM993On5esLNm69VsHg4Lk6adly5brfO0Q28p+o6GhYd26dVFRUVu3bu3q6goPDw8MDCwrK3vsscemTZuWmJj47LPPVldXD94AvF4UgHK0G9XU1JSZmal/LkFsbOzhw4dv+FT9VV+vrVmjjRypiWjjxmkul7ZwobZr16U/dbu12FhNRKut1TRNW7hQ+93vvvna2lpNRLvrLi0zU2ttNWzk67t48aLD4Rg7dqz+95Kamnr06FFN0xobG/Pz8+12e0hISO/f2uzZs7OzsysrK707Q2NjY1BQUEBAQENDg3fPDABD1o2HUPfee+/ddtttIhIQEJCZmdk6yG25cEHLztbGjNFENItFs1q1iop+n+TQIc3fXxPRZszQ3nnH6zP2W0tLi8PhCA0N7U3gRx99dOXDXC6X0+m02+2XX7SMjo7OzMwsLS3t6ekZ+CS7d+/WBxj4qQDAVww0hJqmuVyu9evX+/v769+XDxw4MPBzXuniRc3h0MaO1UQ0ES01VTt69MbPVlGhzZ9/qaZ2u/bVV94btD9aW1tzcnLCw8P1qiUmJh46dOi6X9Xe3r5///7MzMzeLxSRm2++eeBF1G/b39W7uQYABXghhLqKioo777xTRCwWi91u/8p7bWlp0RwObdy4bxL4r3954bRdXZrDoQUHayLapElaYaEXzum59vb23NzcSZMm9Sbw4MGD/T1Jd3d3aWlpZmbm5S8rjYiIyMjIcDqdXV1d/TpbS0vLiBEj/Pz8ampq+jsJAPgur4VQ07Suri6HwxEcHCwikyZNKhxwW1pbtZwcbeLESwlMTPT+lcxTp7Tk5Evnt1q1c+e8fP4rdXR05ObmTpkyRe9WfHy80+kc4Dndbndpaen69etnzJjRW8QJEybY7Xan09nR0eHJSfbs2SMiSUlJAxwGAHyLN0OoO3XqVHJysv692Gq1nruhtrhcrh07diQnH9ITlZSkvfuu1ye9pKdHy83VRo++9NKb3NzBWqizszMvL++WW27R/+PMmzcvPz/f66scO3YsOzt75syZvUUcN26czWbLy8v77p/g2mw2Efn973/v9ZEAYCjzfgg1Tevp6dHflU1EQkNDc/vTFn3DNHXqVBGZNWtBfHzP228Pxox9VVdrixdf2houWaJ98YU3T+52u/Pz83u3a3Pnzs3Pz/fKy1u+g15E/Xq1buTIkVarNS8vr7m5uc+DXS5XSEiIxWL5wrvPHACGvEEJoa66unrx4sX6t+AlS5Zc9zusvmGKjo7WvyQ2NtaAWvSxe7c2frwmokVGdu/cmet2uwd4Qj2BMTEx+pOaNWtWXl7ewE/bL1VVVTk5OYmJiRaLRR9jxIgRVqs1Nzf3/Pnz+mP27dsnIgsWLDByMAAYCgYxhDr9XdlEZNSoUQ6Ho7u7+8rH9NkwzZkzx/gE9qqr02w2LSFhl4gkJCR8/vnnN3aenp4ep9N5++2360/qlltuyc3NverTN8yZM2dycnJSU1MDAgL0qfz9/RMTE3NycvQ76B0Oh4njAYApBj2EmqbV1dXZ7Xb9O2+ftOgJ1O9E7N0wmVsLXXFxcUREhIgEBgauX7/ew9eb9Nq/f//8+fN7b2zIzc3t72s4B9W5c+d27tyZkpKi3/Siv9ZXRE6cOGH2aABgNCNCqCspKbk8Le3t7U6nMy4uTv9GHBUVZfqGqY+mpqaMjAy9EPPmzfuXZzdt7N+//6677tKfVGRkZE5OTnt7+2CPesO++uqrvLw8q9U6ceJEi8XywQcfmD0RABjNuBBqmtbY2PjLX/5ST0vvJ81GRUW98MILQ2rDdLn33ntP/wnfdd86p7S09N5779WfVHh4uMPhaGtrM3LUgdiwYYPwnjIAlGRoCHX6u7I99NBDERERQ3zDpOvz1jlX3vn+/vvv33fffXoCw8LCHA6Hy+UyZdQb1tjYOG7cOBF5Zyi86RwAGMiEEGqa1tbW1tbWNvQTeLmKigr9x376W+d8/fXXmqaVl5dbrdbeG9izs7OvvDPBVzz11FMikpiYaPYgAGAoi9bnQ2xxbZ2dnb/97W+3bNnS2dk5efLkadOmHT58WERCQ0PXrl372GOP6bdO+qjW1tbo6OiGhob9+/enpqaaPQ4AGKTfn0eost27dzc3N7/66qvx8fENDQ0nT54MCQlZu3bt3r177Xa7T1dQRPTnIiIbNmzgn0cA1MGOsB+WL1/+5ptvFhcXL1269PDhw52dnbGxsSdPnkxISFi4cOGHH35o9oAD9d///nf69On19fVvvPHGsmXLzB4HAIzAjrAfWlpaRGT06NH+/v4JCQnJyckTJkzoPWj2dF5w0003/frXvxaRJ554gn8hAVAEIeyHqzZPP3j5h+X6tEceeWTq1Kkff/yx0+k0exYAMAIh7IfvCOHw2BGKyIgRI7KyskRk06ZNPT09Zo8DAIOOEPaDCiEUkYyMjKioqGPHjhUWFpo9CwAMOkLYD4qEMCgo6PHHHxeRTZs2ud1us8cBgMFFCD3ldrvb2tr8/PxGjRp1+fHhF0IR+fnPfx4dHX3y5MlXX33V7FkAYHARQk/1Bq/3U/36HDdnrMERGBi4adMmEXnyySe7u7vNHgcABhEh9NS1gjcsQygiDz/88G233Xb69OmXXnrJ7FkAYBARQk+pFkJ/f/8nnnhCRJ566qnOzk6zxwGAwUIIPXWt4F28ePGqx4eB1atXx8bGnjlz5sUXXzR7FgAYLITQU6rtCEXEz89P3xQ+/fTTbW1tZo8DAIOCEHpKwRCKSHp6elxcXE1NzV/+8hezZwGAQUEIPfXdIRw2b7HWh8ViefLJJ0Vky5YtLpfL7HEAwPsIoafU3BGKyIoVK77//e/X1dXt2rXL7FkAwPsIoaceEPm/pKT/nTatz/H/ufXWn82aFRISYspUxtA3hQ6HQ68+AAwnhNBTU2pqZpaWzupzd7nL5Thy5KUvvggICDBpLiMsXbo0KSnpwoULzz//vNmzAICXEUKP6ZuhPpdAr3pwOMrOzhaRbdu2NTU1mT0LAHgTIfSY2iFMSUlJTk5uamr6wx/+YPYsAOBNhNBjaodQRH7zm9+IyI4dO77++muzZwEAryGEHlM+hImJiYsWLWpubt6xY4fZswCA1xBCjykfQhF55plnLBbLc889d/78ebNnAQDvIIQeI4QiCxYsWLp0aWtr6/bt282eBQC8gxB6jBCKiMjmzZstFsvzzz9fU1Nj9iwA4AWE0GOEUERE5s+fv2LFira2tm3btpk9CwB4ASH0WGuryBXNu3jxKgeHu82bN/v5+eXm5p49e9bsWQBgoAihZzo6pLNTgoIkKOhbx9XbEYrI3LlzbTZbe3u7w+EwexYAGKjh/MZg3nStnZ+SIRSR7OzssLCwDRs2mD0IAAwUIfTMtYKnaghnzZrF+44CGB64NOoZQggAwxQh9AwhBIBhikujnomJkfx8ufJDB++6S4KCJDzcjJkAAF5g0TTN7BkAADANl0b7o7hY7r5bRo2SsWNl+XL55BOzBwIADBQh9NjLL8tPfiJ2u3z5pXz2mcydK/fcIxUVZo8FABgQLo16pqtLIiPl0Udl48ZvDqanS1OTHDhg3lgAgIFiR+iZTz+V+npZvfpbB3/6Uzl0SDo6TJoJAOAFhNAzFy6IiEyZ8q2DkydLd7c0NZkxEADAOwihZ8LCRET6fPBQba0EBEhoqBkDAQC8gxB6Zt48CQ+XPXu+dfCVV+TeeyU42KSZAABewA31ngkMlGeflYwMGT9ebDZpa5OdO+Xvf5fSUrMnAwAMCK8a7Q+nU7ZskX//WwICJClJnnlG7rjD7JkAAANCCAEASuNnhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApf0/30lTxx5nD9IAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rxn2 = AllChem.ChemicalReaction()\nfor i in range(rxn.GetNumReactantTemplates()):\n rxn2.AddProductTemplate(rxn.GetReactantTemplate(i))\nfor i in range(rxn.GetNumProductTemplates()):\n rxn2.AddReactantTemplate(rxn.GetProductTemplate(i))\nrxn2.Initialize()",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"scrolled": false,
"trusted": true
},
"cell_type": "code",
"source": "reacts = ps0\nrps = rxn2.RunReactants(reacts)\nrps0 = rps[0]\nfor rp in rps0:\n Chem.SanitizeMol(rp)\nDraw.MolsToGridImage(rps0)",
"execution_count": 9,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 9,
"data": {
"text/plain": "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E570C64E0>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "[Chem.MolToSmiles(x) for x in rps0]",
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 10,
"data": {
"text/plain": "['CC1CCC1C(=O)O', 'CCN']"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "But that's a really bad definition of amide bond formation. What if we require that the N has at least one H?"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rxn = AllChem.ReactionFromSmarts('[C:1](=[O:2])([OH]).[N!H0:3]>>[C:1](=[O:2])-[N:3]')\nrxn",
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 11,
"data": {
"text/plain": "<rdkit.Chem.rdChemReactions.ChemicalReaction at 0x7f3e570cc210>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "reacts = [Chem.MolFromSmiles(x) for x in ('CC1CCC1C(=O)O','CCN')]\nps = rxn.RunReactants(reacts)\nps0 = ps[0]\nfor p in ps0:\n Chem.SanitizeMol(p)\nDraw.MolsToGridImage(ps0)",
"execution_count": 13,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 13,
"data": {
"text/plain": "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E570CB390>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rxn2 = AllChem.ChemicalReaction()\nfor i in range(rxn.GetNumReactantTemplates()):\n rxn2.AddProductTemplate(rxn.GetReactantTemplate(i))\nfor i in range(rxn.GetNumProductTemplates()):\n rxn2.AddReactantTemplate(rxn.GetProductTemplate(i))\nrxn2.Initialize()",
"execution_count": 14,
"outputs": []
},
{
"metadata": {
"scrolled": false,
"trusted": true
},
"cell_type": "code",
"source": "reacts = ps0\nrps = rxn2.RunReactants(reacts)\nrps0 = rps[0]\nfor rp in rps0:\n Chem.SanitizeMol(rp)\nDraw.MolsToGridImage(rps0)",
"execution_count": 15,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 15,
"data": {
"text/plain": "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E571B5240>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "[Chem.MolToSmiles(x) for x in rps0]",
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 16,
"data": {
"text/plain": "['CC1CCC1C(=O)O', 'CC[N]']"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "The first reactant is ok, the second really isn't."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Now do a version of that reaction which supports acids and acid chlorides:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rxn = AllChem.ReactionFromSmarts('[C:1](=[O:2])([OH,Cl]).[N!H0:3]>>[C:1](=[O:2])-[N:3]')\nrxn",
"execution_count": 17,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 17,
"data": {
"text/plain": "<rdkit.Chem.rdChemReactions.ChemicalReaction at 0x7f3e570cc850>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "reacts = [Chem.MolFromSmiles(x) for x in ('CC1CCC1C(=O)O','CCN')]\nps = rxn.RunReactants(reacts)\nps0 = ps[0]\nfor p in ps0:\n Chem.SanitizeMol(p)\nDraw.MolsToGridImage(ps0)",
"execution_count": 18,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 18,
"data": {
"text/plain": "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E571B5BE0>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAADICAIAAAC7/QjhAAAUiklEQVR4nO3de3BU5d3A8d/mChggQBpuCcaAkVswopSYmJqaILdNQcm2Q+06004nfcd5zQgzlAg4Ual0oUhjR8qkrSOpVjQxkNlEWwWqGGOkgrFKfLlNIhZyIWgSkm6um/P+cZiIAWRDNudk83w/wz8cNuf5rTj58pzs2bVomiYAAKjKz+wBAAAwEyEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQgCA0gghAEBphBAAoDRCCABQGiEEACiNEAIAlEYIAQBKI4QAAKURQh/W1tZWV1eXmpq6ffv2qqoqs8cBAJ9k0TTN7Blwg/bs2WO3291ut/7b2bNn22y2H//4x7NnzzZ3MADwIYTQh61atWrv3r0ZGRltbW1Op7O5uVk/Hh0dbbVabTZbYmKixWIxd0gAGOIIoa9yuVzh4eEul+vMmTORkZEdHR2lpaXFxcWvvfZafX29/pibb755xYoVNpstISHBz4/L4ABwFYTQVxUWFqanp8fHx5eXl19+3O12l5eXFxQUvP766zU1NfrB733ve0uWLLHZbEuWLAkMDDRjXgAYogihr3rooYdeeeWVbdu2rVu37qoP6OnpqaioKC4u/tvf/nb69Gn94IQJE5YtW2az2RYvXhwUFGTgvAAwRBFCn9TR0TFx4sTm5ubTp09Pnz79uo+vrKwsKCh47bXXjh8/rh8JDQ1dtGiR1Wp98MEHQ0JCBnleABi6CKFPeuONN6xWa1xcXEVFRb++sLKysqSkpLi4uKysTD8ycuTIlJQUm822cuXKMWPGDMKwADCkEUKf9Itf/OLFF1/cvHnzpk2bbuwM1dXVTqezoKDggw8+0P8fGDFiRGpqalpa2sqVK8PDw706LwAMXYTQ97jd7kmTJl24cKGysnLgtwz+5z//2bt3b0lJybvvvtvd3S0i/v7+8fHx+i2JkydP9sbIADB0EULfc/DgwdTU1JiYmBMnTnjxtBcuXHjzzTcLCgreeuutrq4uEfHz87v77rvT0tLS09M9+UkkAPgi7i3zPYWFhSJis9m8e9qwsLCHH364uLi4trb2hRdeWL58eWBgYFlZWVZW1q233hofH19QUODdFQFgKGBH6GN6enoiIiJqa2s//vjjO+64Y1DXcrlcBw8eLCgoKCoqamlpWb169R//+MfQ0NBBXRQADEYIfcz777+flJQUFRVVVVVl2NunNTc3R0REtLa2njhxIiYmxphFAcAYXBr1MXv37hWRVatWGfkmomVlZa2trbfffjsVBDD8EEIfU1RUJCKrVq0yclG9vg8++KCRiwKAMbg06kuOHDmyYMGCqVOnfvnll4a9ibbb7Z48eXJDQ8OxY8fmzJljzKIAYBh2hL5Ef73oAw88YORHSRw6dKihoSEmJoYKAhiWCKEv2bdvnxh+iVKvb3p6upGLAoBhuDTqM44dOxYbGxsWFlZbWxsQEGDMoj09PZGRkTU1NUeOHLnzzjuNWRQAjMSO0GfoO7OVK1caVkERKS8vr6mpiYqKmj9/vmGLAoCRCKHP0ENo1utFjbxbAwCMxKVR33Dq1KmYmJjQ0ND6+nojP1B3+vTpVVVVZWVlCQkJhi0KAEZiR+gb9O1gWlqakRU8evRoVVXVpEmT4uPjDVsUAAxGCH2DKbe0976LjZF3awCAwbg06gPOnj07bdq0kSNHNjQ0jBo1yrB1Z82adfz48YMHD953332GLQoABuNf+j7g9ddf1zRt+fLlRlawsrLy+PHjEyZM+MEPfmDYogBgPELoA/QfEJpyH73Bd2sAgPEI4VBXX19fXl4eHBy8bNkyI9c15W4NADDed4XQ4XC88847ho2Cq9q3b5/b7b7//vvHjBlj2KLV1dWffvrp2LFjU1JSDFsUAExxzRAeOXJk48aNKSkpGRkZzc3NRs50A+LjJSBAjh+/9Nu6OrFYpK7u0h9t3/7NI/U/On3ahCFvjCk7s4KCAhGxWq1G3q0BAKa4Zgjj4uK2bNkSHBz85z//eebMmfq346EsNFQ2bjR7CG9rbGw8dOhQYGBgWlqaketyXRSAOq4ZwoCAgPXr13/22WfJycl1dXXp6elpaWk1NTVGDtcvjz4qb78thw+bPYdXFRUVdXV1/fCHPxw/frxhi549e/ajjz4aNWrU/fffb9iiAGCW67xYZsaMGf/85z9zc3NHjx5dUlIyZ86cP/3pT0Pz1sOJE2XNGsnKMnsOrzLlPvrCwkJN05YtW3bTTTcZuS4AmOL6rxq1WCwZGRnHjx9fsWJFU1PTr371q6VLl545c8aA4fpr3To5dkz+8Y++x7OzJSzs0i8f+nDZlpaWAwcO+Pn5/ehHPzJyXVPqCwBm8fT2iSlTphQVFeXn54eFhb311luzZ8/eunWr2+0e1OH6a/Ro2bhRHn9c+mxZ166VTz659OvAAZOG67+XX365vb194cKFkydPNmzR+vr6srKy4ODg5cuXG7YoAJiof/cR2my2yspKu93ucrmysrKSkpI+//zzQZrsxjzyiDQ2yp493zo4dqxERFz6ZWBTblxDQ0NWVtaaNWsmTpz44Ycf3nPPPc8999y5c+cMWLqoqMjtdi9atMjIuzUAwET9vqE+PDz8r3/9a0lJSWRkZHl5eVxcXFZWVmdn52AM993On5esLNm69VsHg4Lk6adly5brfO0Q28p+o6GhYd26dVFRUVu3bu3q6goPDw8MDCwrK3vsscemTZuWmJj47LPPVldXD94AvF4UgHK0G9XU1JSZmal/LkFsbOzhw4dv+FT9VV+vrVmjjRypiWjjxmkul7ZwobZr16U/dbu12FhNRKut1TRNW7hQ+93vvvna2lpNRLvrLi0zU2ttNWzk67t48aLD4Rg7dqz+95Kamnr06FFN0xobG/Pz8+12e0hISO/f2uzZs7OzsysrK707Q2NjY1BQUEBAQENDg3fPDABD1o2HUPfee+/ddtttIhIQEJCZmdk6yG25cEHLztbGjNFENItFs1q1iop+n+TQIc3fXxPRZszQ3nnH6zP2W0tLi8PhCA0N7U3gRx99dOXDXC6X0+m02+2XX7SMjo7OzMwsLS3t6ekZ+CS7d+/WBxj4qQDAVww0hJqmuVyu9evX+/v769+XDxw4MPBzXuniRc3h0MaO1UQ0ES01VTt69MbPVlGhzZ9/qaZ2u/bVV94btD9aW1tzcnLCw8P1qiUmJh46dOi6X9Xe3r5///7MzMzeLxSRm2++eeBF1G/b39W7uQYABXghhLqKioo777xTRCwWi91u/8p7bWlp0RwObdy4bxL4r3954bRdXZrDoQUHayLapElaYaEXzum59vb23NzcSZMm9Sbw4MGD/T1Jd3d3aWlpZmbm5S8rjYiIyMjIcDqdXV1d/TpbS0vLiBEj/Pz8ampq+jsJAPgur4VQ07Suri6HwxEcHCwikyZNKhxwW1pbtZwcbeLESwlMTPT+lcxTp7Tk5Evnt1q1c+e8fP4rdXR05ObmTpkyRe9WfHy80+kc4Dndbndpaen69etnzJjRW8QJEybY7Xan09nR0eHJSfbs2SMiSUlJAxwGAHyLN0OoO3XqVHJysv692Gq1nruhtrhcrh07diQnH9ITlZSkvfuu1ye9pKdHy83VRo++9NKb3NzBWqizszMvL++WW27R/+PMmzcvPz/f66scO3YsOzt75syZvUUcN26czWbLy8v77p/g2mw2Efn973/v9ZEAYCjzfgg1Tevp6dHflU1EQkNDc/vTFn3DNHXqVBGZNWtBfHzP228Pxox9VVdrixdf2houWaJ98YU3T+52u/Pz83u3a3Pnzs3Pz/fKy1u+g15E/Xq1buTIkVarNS8vr7m5uc+DXS5XSEiIxWL5wrvPHACGvEEJoa66unrx4sX6t+AlS5Zc9zusvmGKjo7WvyQ2NtaAWvSxe7c2frwmokVGdu/cmet2uwd4Qj2BMTEx+pOaNWtWXl7ewE/bL1VVVTk5OYmJiRaLRR9jxIgRVqs1Nzf3/Pnz+mP27dsnIgsWLDByMAAYCgYxhDr9XdlEZNSoUQ6Ho7u7+8rH9NkwzZkzx/gE9qqr02w2LSFhl4gkJCR8/vnnN3aenp4ep9N5++2360/qlltuyc3NverTN8yZM2dycnJSU1MDAgL0qfz9/RMTE3NycvQ76B0Oh4njAYApBj2EmqbV1dXZ7Xb9O2+ftOgJ1O9E7N0wmVsLXXFxcUREhIgEBgauX7/ew9eb9Nq/f//8+fN7b2zIzc3t72s4B9W5c+d27tyZkpKi3/Siv9ZXRE6cOGH2aABgNCNCqCspKbk8Le3t7U6nMy4uTv9GHBUVZfqGqY+mpqaMjAy9EPPmzfuXZzdt7N+//6677tKfVGRkZE5OTnt7+2CPesO++uqrvLw8q9U6ceJEi8XywQcfmD0RABjNuBBqmtbY2PjLX/5ST0vvJ81GRUW98MILQ2rDdLn33ntP/wnfdd86p7S09N5779WfVHh4uMPhaGtrM3LUgdiwYYPwnjIAlGRoCHX6u7I99NBDERERQ3zDpOvz1jlX3vn+/vvv33fffXoCw8LCHA6Hy+UyZdQb1tjYOG7cOBF5Zyi86RwAGMiEEGqa1tbW1tbWNvQTeLmKigr9x376W+d8/fXXmqaVl5dbrdbeG9izs7OvvDPBVzz11FMikpiYaPYgAGAoi9bnQ2xxbZ2dnb/97W+3bNnS2dk5efLkadOmHT58WERCQ0PXrl372GOP6bdO+qjW1tbo6OiGhob9+/enpqaaPQ4AGKTfn0eost27dzc3N7/66qvx8fENDQ0nT54MCQlZu3bt3r177Xa7T1dQRPTnIiIbNmzgn0cA1MGOsB+WL1/+5ptvFhcXL1269PDhw52dnbGxsSdPnkxISFi4cOGHH35o9oAD9d///nf69On19fVvvPHGsmXLzB4HAIzAjrAfWlpaRGT06NH+/v4JCQnJyckTJkzoPWj2dF5w0003/frXvxaRJ554gn8hAVAEIeyHqzZPP3j5h+X6tEceeWTq1Kkff/yx0+k0exYAMAIh7IfvCOHw2BGKyIgRI7KyskRk06ZNPT09Zo8DAIOOEPaDCiEUkYyMjKioqGPHjhUWFpo9CwAMOkLYD4qEMCgo6PHHHxeRTZs2ud1us8cBgMFFCD3ldrvb2tr8/PxGjRp1+fHhF0IR+fnPfx4dHX3y5MlXX33V7FkAYHARQk/1Bq/3U/36HDdnrMERGBi4adMmEXnyySe7u7vNHgcABhEh9NS1gjcsQygiDz/88G233Xb69OmXXnrJ7FkAYBARQk+pFkJ/f/8nnnhCRJ566qnOzk6zxwGAwUIIPXWt4F28ePGqx4eB1atXx8bGnjlz5sUXXzR7FgAYLITQU6rtCEXEz89P3xQ+/fTTbW1tZo8DAIOCEHpKwRCKSHp6elxcXE1NzV/+8hezZwGAQUEIPfXdIRw2b7HWh8ViefLJJ0Vky5YtLpfL7HEAwPsIoafU3BGKyIoVK77//e/X1dXt2rXL7FkAwPsIoaceEPm/pKT/nTatz/H/ufXWn82aFRISYspUxtA3hQ6HQ68+AAwnhNBTU2pqZpaWzupzd7nL5Thy5KUvvggICDBpLiMsXbo0KSnpwoULzz//vNmzAICXEUKP6ZuhPpdAr3pwOMrOzhaRbdu2NTU1mT0LAHgTIfSY2iFMSUlJTk5uamr6wx/+YPYsAOBNhNBjaodQRH7zm9+IyI4dO77++muzZwEAryGEHlM+hImJiYsWLWpubt6xY4fZswCA1xBCjykfQhF55plnLBbLc889d/78ebNnAQDvIIQeI4QiCxYsWLp0aWtr6/bt282eBQC8gxB6jBCKiMjmzZstFsvzzz9fU1Nj9iwA4AWE0GOEUERE5s+fv2LFira2tm3btpk9CwB4ASH0WGuryBXNu3jxKgeHu82bN/v5+eXm5p49e9bsWQBgoAihZzo6pLNTgoIkKOhbx9XbEYrI3LlzbTZbe3u7w+EwexYAGKjh/MZg3nStnZ+SIRSR7OzssLCwDRs2mD0IAAwUIfTMtYKnaghnzZrF+44CGB64NOoZQggAwxQh9AwhBIBhikujnomJkfx8ufJDB++6S4KCJDzcjJkAAF5g0TTN7BkAADANl0b7o7hY7r5bRo2SsWNl+XL55BOzBwIADBQh9NjLL8tPfiJ2u3z5pXz2mcydK/fcIxUVZo8FABgQLo16pqtLIiPl0Udl48ZvDqanS1OTHDhg3lgAgIFiR+iZTz+V+npZvfpbB3/6Uzl0SDo6TJoJAOAFhNAzFy6IiEyZ8q2DkydLd7c0NZkxEADAOwihZ8LCRET6fPBQba0EBEhoqBkDAQC8gxB6Zt48CQ+XPXu+dfCVV+TeeyU42KSZAABewA31ngkMlGeflYwMGT9ebDZpa5OdO+Xvf5fSUrMnAwAMCK8a7Q+nU7ZskX//WwICJClJnnlG7rjD7JkAAANCCAEASuNnhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApRFCAIDSCCEAQGmEEACgNEIIAFAaIQQAKI0QAgCURggBAEojhAAApf0/30lTxx5nD9IAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rxn2 = AllChem.ChemicalReaction()\nfor i in range(rxn.GetNumReactantTemplates()):\n rxn2.AddProductTemplate(rxn.GetReactantTemplate(i))\nfor i in range(rxn.GetNumProductTemplates()):\n rxn2.AddReactantTemplate(rxn.GetProductTemplate(i))\nrxn2.Initialize()",
"execution_count": 19,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "reacts = ps0\nrps = rxn2.RunReactants(reacts)\nrps0 = rps[0]\nfor rp in rps0:\n Chem.SanitizeMol(rp)\nDraw.MolsToGridImage(rps0)",
"execution_count": 20,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 20,
"data": {
"text/plain": "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E571B5D68>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "[Chem.MolToSmiles(x) for x in rps0]",
"execution_count": 21,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 21,
"data": {
"text/plain": "['[*H]C(=O)C1CCC1C', 'CC[N]']"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Now both products are screwed up."
},
{
"metadata": {
"trusted": false
},
"cell_type": "markdown",
"source": "# The Hartenfeller reactions"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# pictet spengler\nrxn = AllChem.ReactionFromSmarts('[cH1:1]1:[c:2](-[CH2:7]-[CH2:8]-[NH2:9]):[c:3]:[c:4]:[c:5]:[c:6]:1.[#6:11]-[CH1;R0:10]=[OD1]>>[c:1]12:[c:2](-[CH2:7]-[CH2:8]-[NH1:9]-[C:10]-2(-[#6:11])):[c:3]:[c:4]:[c:5]:[c:6]:1')\nrxn",
"execution_count": 23,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 23,
"data": {
"text/plain": "<rdkit.Chem.rdChemReactions.ChemicalReaction at 0x7f3e570d4120>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "rxn2 = AllChem.ChemicalReaction()\nfor i in range(rxn.GetNumReactantTemplates()):\n rxn2.AddProductTemplate(rxn.GetReactantTemplate(i))\nfor i in range(rxn.GetNumProductTemplates()):\n rxn2.AddReactantTemplate(rxn.GetProductTemplate(i))\nrxn2.Initialize()",
"execution_count": 24,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "reacts = [Chem.MolFromSmiles(x) for x in ('NCCc1ccccc1','C1CC1C(=O)')]\nps = rxn.RunReactants(reacts)\nps0 = ps[0]\nfor p in ps0:\n Chem.SanitizeMol(p)\nDraw.MolsToGridImage(ps0)",
"execution_count": 25,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 25,
"data": {
"text/plain": "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E570CB240>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "reacts = ps0\nrps = rxn2.RunReactants(reacts)\nrps0 = rps[0]\nfor rp in rps0:\n Chem.SanitizeMol(rp)\nDraw.MolsToGridImage(rps0)",
"execution_count": 26,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 26,
"data": {
"text/plain": "<PIL.PngImagePlugin.PngImageFile image mode=RGB size=600x200 at 0x7F3E570CBE80>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"_draft": {
"nbviewer_url": "https://gist.github.com/5ca4eebbe78f4d6d9b8cb03f401ad9cd"
},
"gist": {
"id": "5ca4eebbe78f4d6d9b8cb03f401ad9cd",
"data": {
"description": "Schmidtke_ReversingReactions.ipynb",
"public": true
}
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.7.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment