Skip to content

Instantly share code, notes, and snippets.

@iwatobipen
Created June 18, 2021 12:46
Show Gist options
  • Save iwatobipen/ff48a28ca2f4c4f01b5d5d6cbb51eb66 to your computer and use it in GitHub Desktop.
Save iwatobipen/ff48a28ca2f4c4f01b5d5d6cbb51eb66 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,
"id": "charged-guard",
"metadata": {},
"outputs": [],
"source": [
"from rdkit import Chem\n",
"from rdkit.Chem.Draw import IPythonConsole\n",
"from rdkit.Chem.Draw import rdDepictor\n",
"from rdkit.Chem.Draw import rdMolDraw2D\n",
"from rdkit.Chem import Draw\n",
"from rdkit.Chem import AllChem\n",
"from rdkit.Chem import rdMMPA\n",
"from IPython.display import display\n",
"rdDepictor.SetPreferCoordGen(True)\n",
"IPythonConsole.drawOptions.comicMode=True"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "vietnamese-guitar",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f0b4c8eff80>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"default_patt = '[#6+0;!$(*=,#[!#6])]!@!=!#[*]'\n",
"mol = Chem.MolFromSmiles('C1CNCCN1(CCCCCCc2ccccc2)')\n",
"mol"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "industrial-track",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f0b4c8eff80>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mol.GetSubstructMatches(Chem.MolFromSmarts(default_patt))\n",
"mol"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "eleven-soldier",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"28\n"
]
},
{
"data": {
"image/png": "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EydOSKXSXr16PfbYY0KHIiLief6zzz5bvHjx5s2b586dK3QcADFCEULXU1VV5enpKaoiJCKO4w4dOvTyyy8LHeQ+bty4obviEADugSKEric7O1ulUv373//u1q1beHi40HEAoGtDEQIAgEmTCB0AAABASChCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaShCAAAwaaZehNnZ2TNmzFi1atX06dNzc3OFjnNXa2vrypUrP/300xdffPH06dNCxwEAMFpmPM8LnUEAWq320KFD69aty8zMJCI3N7f6+noimjx58rJlywICAoSNd+DAgejo6LKyMjs7O6VSSUTjx49fvnz5hAkThA0GAGB8TG5EqNVqt23bNmjQoJdeeikzM9PFxWXp0qXfffedXC53cnI6duxYYGBgQEDAoUOHBPkVIT8/f/LkycHBwWVlZYMGDdq5c+fy5cudnZ1PnTr17LPPjhkz5vDhw4ZPBQBgzHhTUlhYOHbsWPbB+/btm5SUpFAodK/W1dXFx8e7uLiwDZ566qkjR44YLFttbe0bb7xhbm5ORO7u7lu2bFGr1eylxsbGlStXduvWjQWbPHlyWVmZwYIBABg3UylCjUaTlJRka2tLRJ6enrt37+Y47r5b3r59OzEx0cPDg7XOqFGjjh071tnZkpOTXV1diUgqlS5evLihoeHXmzU3N69fv97NzY2I7O3tP/nkE41G06nBAABMgUkUYUlJyfjx41mxBQcH19XV/e5bWltbU1JSZDKZrg4PHjzYGdnOnj07YsQIdpRJkybl5+f/9vb19fXh4eFs+yeeeOL8+fOdkQoAwHQYeRE2NTWtXr2aNU2PHj0yMjIe6e3Nzc2rV6/WzUkGBgYWFBToK1t9fX1kZCSbC+3Zs2dqaurDv/fQoUNeXl5EZGlpuXr16tu3b+srFQCAqTHaIlQoFOvXr/f19ZXJZBMmTHj99dcfZiD4oF0lJia6u7sTkaOj45dfftnBbGq1WjcXamVlFRsbq1QqH3UnSqUyJiZm4sSJMpls8ODBGzdubGtr62AwAAATZIRFqFQqP/vsM39/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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"###############\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAADICAIAAAC7/QjhAAAABmJLR0QA/wD/AP+gvaeTAAAfz0lEQVR4nO3deVxU5f4H8O8w7JtCCEIBCpKyiLlh+rJc0sxE1HLJRLpZ4JZYKi6oIWIqmmi537gquN0fmRuaqUkS7lqpbIIiEgoIimwzwGzn98dT5DVDhJk5M3M+77+a4cw5H3wFH57nnOccEcdxBAAAIFRGfAcAAADgE4oQAAAEDUUIAACChiIEAABBQxECAICgoQgBAEDQUIQAQERUUlKCxVQgTChCAKGTSCSxsbFeXl47d+7kOwsAD0T4GxBAsBQKRXx8/JIlS+7fv09ExsbG48ePnzt3rp+fH9/RALQHRQggUD/++OOsWbPS09OJKCAgwNzcPC0tjeM4kUg0ePDg8PDwoUOHGhlh0ggMH/4vBxCcR48eDR8+fPDgwenp6V5eXvv27bt48WJqampGRsaUKVMsLS1PnDgRGBjYqVOnnTt34m9lMHgYEQIIS0ZGxqhRo27dumVvbx8VFTV16lQTE5PHN6ioqPjPf/6zcePG/Px8Iurfv/+mTZu8vb15ygugcShCAAE5dOhQSEhIVVVV165d9+/f365du3/aUqlU7t69OyIiorS01NTUdM6cOYsWLbKwsNBiWAAtwdQogCAolcr58+ePGjWqqqpqwoQJZ86caWjBGzduTJw4sby8/PHtxWJxSEhITk5OeHi4Uqlcvny5r6/v999/z0N0AE3jAMDQ3b17d/DgwURkYmKyYcOGx98PDQ01NjYmorlz5/7Tx8+fP//KK6+w3xjvvfdeaWmpVlIDaAmKEMCQSaXSmJgYKysrImrbti27LpTjuOrq6pUrV9rY2LB2DAsLKyoqamQ/crk8Li7O2tqaiNq0abN3716txAfQBhQhgMFKSkpyd3dnI7nRo0ffu3eP4zi5XL527Vp7e3siEolEY8eOzc3NbeIO8/Pz2ciSiIYNG1ZYWKjJ+ABagiIEMEC//vrr66+/zhrL29v7hx9+YO+npqZ27tyZvf/GG29cvnz5efesUqni4+Nbt25NRK1bt46Pj1coFOqOD6BVKEIAg1JaWhoaGsoWwjs6Om7dupUVVVFR0YQJE0QiERF5eHgkJye35Ch3794dPnw4K9T27dvHxcVVVlaq6TsA0DYUIYCBkMvlX3/9tZ2dHTvtN2vWrIqKCo7jZDLZmjVrbG1ticjCwiI6Orq2tlYtR9yzZ8/LL7/M6tDW1vbTTz+9ffu2WvYMoE0oQgBD8NNPP/n7+zfMeWZkZHAcp1AoduzY4eHhwd4PCgpSe1Eplcrk5OSBAweyQ4jF4o8//li9hwDQNCyoB9BvEonkww8//Pbbb4nIw8Nj7dq1QUFBKpUqKSlpyZIlOTk5ROTt7b169ephw4ZpLsa1a9c2bdq0c+fO0aNHOzo6BgQEjB07VnOHA1AjLKgH0GOXL19OSEi4c+eOpaVlVFRUZmZmUFDQwYMHX3nllfHjx+fk5Hh6eiYmJqanp2u0BYmoS5cuW7duzc/P9/HxWbNmTVpamkYPB6BGxnwHAIDm27Zt25YtWz7//PP9+/e/9NJL7M2NGzemp6e7urrOnj17ypQpZmZmWsvj5OTETlLK5XKtHRSghVCEAHqMLROUSqUNLUhEy5cvHzFiRFhYmKmpqfYjsVt4owhBj6AIAfQYu1/onTt3Hn+zZ8+ePXv21FqGmzdvXrhwoUOHDr179yYi1r4ymUxrAQBaCOcIAfRY+/btiYg9L4kvx48fDwkJ2bNnD3uJESHoHRQhgB576ohQy9g5yPr6evaSFSFGhKBHUIQAeszR0dHS0vLhw4fV1dV8ZWBFWFdXx15iRAh6B0UIoMdEIhG7SvPRo0d8ZXhiRMgqkJfrdACaB0UIoMeUSuX9+/dFIpGTkxNfGczNzemxImRDQ/YmgF5AEQLosZKSEoVC4ejoqM3Fgk94YkRYW1tLKELQKyhCAD127949InrxxRd5zMBu06hSqdhLjAhB76AIAfTY3bt3iejx1fTal52dTUReXl7sJYoQ9A6KEECP6UIRpqenE5Gfnx97iSIEvYMiBNBjRUVFROTi4sJjhoyMDCJqePA9K0Iez1kCPC8UIYAeY+vWLSws+AqgUqmys7NFIpGvry97p6CggPjuZoDngiIE0GO8LyLMy8uTSCSurq6tW7dm72RlZRGRt7c3X5EAnheKEECP2dvbE69F+MQJQo7jGh4FzFckgOeFIgTQY6wIy8vL+QpQWFhIRJ6enuxlQUFBTU1N27ZtWTAAvYAiBNBjbGqUxyJkRCIR+w+2lMLHx4fXOADPB0UIoMd4nxoVi8X02Gp6doIQRQj6BUUIoMd4HxEaGRnRY0XIRoSdOnXiKw9AM6AIAfTYCy+8QEQPHz7kKwAbESqVSvayqqqKiNq0acNXHoBmQBEC6DE7OztjY+OKigq+nv/3xIjQysqKiCQSCS9hAJoHRQigx0Qikb29PcdxfA0KnyhCa2trIqqpqeElDEDzoAgB9Bubh3zw4EHDO7dv3964cSO76YymjR07Ni8vb8WKFewlihD0EYoQQL85ODjQ/xbh4sWLP/nkEy8vr3//+98NZ+80xMbGxsPDo+GkIKZGQR+hCEHnVFRU7Nq1Kzc3l4gOHToUGRnJd6K/6OBYhxUhu1yTGTdunI+Pz++//z558uRu3bodPXpUa2HYiLC6ulprRwRoORQh6BwrK6v8/Pzi4uLs7OwhQ4aYmJjwnYiISC6Xx8bGuru75+fn61Qd9unTp0ePHuHh4SEhIeyvh6CgoOvXr2/fvt3d3f369euBgYGvv/46W+GnUSqVKi8vj3TyzwWAxnAAukepVCqVyqysLI7jPv/8c77jcOfOnWNPVxCJRBs2bBg4cOCwYcPu3LnDb6p79+6FhYWJxeLevXsbGxsTkbGxcUhIyI0bN9gGdXV1a9euZfOWlpaW27Zt01CSysrKrVu3suWD/v7+6enpGjoQgCagCEF35efnc38WoUwmmzhx4rFjx7ScQSKRzJs3j62W8/T0PHny5I0bN1q1akVE1tbWa9euVSgUWo7EcVxNTU1UVBQ7IWdqahodHX3r1q1Jkyax0bNYLH7//fdzcnLYxpWVlRMnTmR/+AYHB1dXV6sxSWZm5tSpU9mMKPsniouLU+P+AbQARQi668qVKydOnNiwYcP333+/d+9eZ2dnZ2fn4cOHX7x4UTsBjh8/zh7+bmJiEhkZWVtby94vLi5uqJZXXnlFa3k4jlMqlUlJSe7u7uzogYGBN2/ebPhqfn5+WFiYqakpyxweHv7gwQP2pYSEBFZXL7/88m+//dbyJBKJ5MMPP2R3GRWJRIMHDz58+LBSqWz5ngG0DEUI+kEmk+3YsaNLly6sDh+fANQEhUKxePFitkiuV69e169f//s2ycnJrJCMjY0nT5589epVzeVhrl271qNHD1aBAQEBP//881M3+/3339mUKRHZ2dmtWbOmvr6e47isrCz2HHlzc/OvvvqqJaV148YN9uglS0vLadOmsUlsAD2FIgR9UlNTExcX5+Xl5ezs/NJLL0VERJSWlqr9KCUlJQMHDmRzjDExMY1MftbU1MyaNYudnyOi7t27b9q0qaKiQu2R6uvro6Ki2FDPzc1t9+7dKpWq8Y9kZ2cHBgayYG5ubgkJCSqVSiqVhoWFsTdfffXVa9euNSPM/v372eRwx44dn/onAoB+QRGC/nnw4MHChQvd3NycnZ1ffvnl9evX19XVqWvnqampLi4uRNSmTZvjx4835SMZGRkzZsxoeAKfhYXFxIkTT58+ra5IV69e7datG5uBDAsLq6qqavpnjx07xi7zIaIhQ4aUlJRwHHfo0KGGKd8FCxZIpdIm7q2uri48PJzt7Z133tFE5QNoH4oQ9NWtW7dCQkLYTGlAQMDBgwefOUhqnFwu/+KLL9jwrn///kVFRc/18dra2j179gwaNIhNqBLRwIEDWzhfWltbGxUVxS6B8fDwSElJacZOFArFli1b2HJDJycndsHR4xcBeXh4PLPyKyoqvvnmG39/fyIyMzPbtGlTc74fAJ2EIgT9lpaWNmjQIGdn57feeqtDhw7r1q2TSCTN2E9qaio7fyYSiSIjI1tyLejt27cXL17MngshFotDQ0PZOOy51NfXb926lZ2DFIvFERERTR+3PdX9+/eHDh3KvsHw8HA2hr548SLrtpEjRz71U3K5/MiRI+PGjTM3N2ft7uHhceXKlZYkAdA1KELQewqFYteuXQMGDGC/qR0dHaOjo5t+7rCoqCg4OJhd/diUsVETlZeXz5s3z8zMjIisrKyioqIaLjptnEwm++abb9q1a8e+nS5duly6dEktkVQq1bp169iJxm7durH1FTKZbNWqVYWFhU9snJ+fP3PmTCcnJxbDyMjojTfeSEhIaN7fGQC6DEUIBkImk+3evZudS2Mn6sLDwxs/nSaXy9etW8eu+7CwsGh6VzVdTk5OUFAQi9SuXbu9e/c2Mn8rk8kSEhI6dOjAtvfx8UlISFD7OsWLFy96enqydZBLly79+7JCpVK5bt06tkiRiHx9fVeuXPn3pgQwGChCMDQpKSmBgYHsRJ27u/vJkyefutmZM2fYXCgRDR8+/Pbt25qL9OOPP7IZSLYYIy0t7YkNlEplYmKih4cH28bb23vv3r2aW5NXWVk5YcKEhgH0unXrGq42ysrK6tOnD/vS+PHjMQsKQoAiBMN07dq1nj17slNikydPfnxoWFZWNmnSJDYX6unpmZycrIU8CoUiPj6eXY/KLrnMzc3lOE6lUh04cKDhws5OnTrt3r1bO8vSz549269fP3bcl156afPmzcuXL2fnAp2dnffv36+FDAC6AEUIBksuly9fvpydpXN3d09LS1OpVAkJCezemyYmJvPmzVP7XGjjampqlixZwmYdTUxMQkNDe/Xq1TBxumPHDu3fsC05OblhtMr+bggNDcW6CBAUFCEYuMzMzICAAGNj44MHDzZM+g0ePJgNyHhRVlY2ffp0NiQlorZt265fv57d/IUXKpUqKSnJxcXFzs7un2aSAQyYiOM4AjBoCoXi/Pnz3t7enTp1MjU1XblyZUhICN+haNiwYWlpadOmTYuMjLS1teU7Dsnl8traWl1IAqBlKEIQkLNnz3bu3FlHftcXFxdbWFi0bt2a7yAAQociBAAAQcMT6gEAQNBQhAAAIGgoQgAAEDQUIQAACBqKEAAABA1FCAAAgoYiBAAAQUMRAgCAoKEIAQBA0FCEAAAgaChCAAAQNBQhAAAIGooQAAAEDUUIAACChiIEAABBQxECAICgoQgBAEDQUIQAACBoKEIAABA0FCEAAAgaihAAAAQNRQgAAIKGIgQAAEFDEWpQaWnpjBkzcnNz+Q4CAAD/SMRxHN8ZDJBEIomLi1u9enV1dXXHjh3PnDnj4ODAdygAAHgKjAjVTKVSJSYmenl5ff7559XV1ba2tjk5Oe3bt58/f35ZWRnf6QAA4EkoQnVKSUnx8/P74IMPiouLAwICTp8+nZaWNmbMGIlEEhsb2759+5kzZ5aUlPAdEwAA/oKpUfWoqKiYM2fOtm3bOI7r0KHDF198MWbMGJFIxL76yy+/REdHHzlyhOM4KyurmTNnzpkzx87Ojt/MAABAKEK1OHDgwPTp04uLi83NzRcvXhwREWFiYvL3zVgdJicnE5GdnV1ERER4eLiVlZXW8wIAwF9QhC1y//79iIiInTt3ElGfPn3i4+O9vb0b/8ilS5diYmKOHDlCRA4ODnPmzJk5c6a5ubk24gIAwN+gCJtJoVAkJiYePXp0//79NjY2K1asmDp1qpFRU8+5pqSkLFy48MKFC0T00UcfBQcH9+/fX4NxAQDgH6AIm+PMmTOLFy/OyckRi8WBgYELFixwc3Nrxn4OHz68fv363NxcuVw+evToJUuW2Nvbqz0tAAA0AkX4fIqKilauXLlv3z4iateu3YIFC4YPH96SHapUqj179kRHR0skklatWi1cuDA4OFhNYQEA4NlQhE1VUFCwbdu2xMTE+vp6KyurTz/9NDQ01NTUVF07nzt3blpaGhENHDgwMjLSx8dHLXsGAIDGoQif7fz58/Hx8SdOnFAqlSKR6N133124cKGTk5N6j8JxXFJSUnR0dEVFhUgkGjRoUHh4ePfu3dV7FAAAeAKK8B8pFIoDBw7Ex8enp6cTkamp6YgRI8LCwnx9fTV30LKyso0bN+7atUsqlRJR3759w8PD+/btq7kjAgAIHIrwL6WlpTdv3nz11VcrKioSEhJGjBjxr3/9Ky8v74UXXnjvvfcmTZrk7OysnSQPHz6Mj4/fvn17VVWViYnJpUuXamtrJRKJr69vaWlpUlKShYXFRx99pJ0wAACGDUX4l+3bt9+9e3fatGm1tbXnzp1zdXUtKyuTSqWjRo0yMzPTfp6qqqodO3ZUVVUtWrRo/fr1Eolk+vTphYWFHh4eGzZsGD16dLt27bSfCgDAwKAI/1JVVUVEd+/edXR0vHTpkp2dXe/evfkO9Yfy8nIiysnJ8ff3t7S0nDVr1ooVK7AMHwCg5Yz5DqBDbG1ticjT09PYWOf+Wdj6wp49eyqVyri4uClTpqAFAQDUQud+4/MuKyvLyMgoMzPTyMioa9euOtU3Z8+eLSoqkkqlP/74o6WlpaurK9+JAAD0HqZGAQBA0PA8QgAAEDQUIQAACBqKEAAABA1FCAAAgoYiBAAAQUMRAgCAoKEIAQBA0FCEAAAgaChCAAAQNBQhAAAIGooQAAAEDUUIAACChiIEAABBQxECAICgoQgBAEDQUIQAACBoKEIAABA0Y74DAICuuHXrVkVFRWlp6dChQ0UiEd9xALQEI0IAoEePHs2fP9/Pz2/EiBHDhg3r169fdnY236EAtARFCCBoMpksLi7O09MzNjZWLpd36tTJwcEhLS2tW7duy5Ytk8lkfAcE0DgUIYBw7du3z8fHZ/bs2Y8ePRo0aNCvv/566tSp3NzcsLCw+vr6xYsX+/n5paSk8B0TQLNEHMfxnQEAtC0nJ2f69OmnTp0iIh8fn9WrV7/99tuPb/DTTz9NmTIlNzfXyMho/Pjxy5cvd3Nz4yksgGZhRAggLFKpNDIy0t/f/9SpUw4ODps3b7527doTLUhEAwYMuHbt2qJFi0xNTXfv3t2xY8f58+dXVlbykhlAozAiBBCQ5OTk8PDwO3fuiESi4ODgNWvWtGnTpvGP3L17NyYmJj4+XqVS2dvbz50799NPPzUzM9NOYAAtQBECCEJOTs7s2bOPHj1KRF27dt20adOrr77a9I9fuXJlzpw5qampRPTee6tDQ+cMHKipqABahiIEMHAPHjxYunTpli1b5HJ5q1atli1bNnXqVLFY3IxdHT58eMWKuPT0ZKnU5oMPaM0asrdXe14AbUMRAhis+vr6r7/+evny5RUVFWKxeNKkSTExMU5OTi3Zp0JBGzfSwoUkkZC9Pa1YQWFh6soLwA8UIYAB4jguKSlpwYIF+fn5RDRkyJDVq1d37txZXfu/eZOmTCG2sOKtt2jLFnJ3V9e+AbQNRQhgaLKysqZPn3769Gki8vPz+/LLL4cMGaL2o3AcJSTQ7NlUXk42NrRqFU2eTLgvG+gjFCGA4ZBIJEuXLl27dq1cLnd0dFy2bNmkSZOadzqwiUpLacYMSkoiIho4kOLjqX17zR0NQCOwjhDAQCQnJ/v6+q5atUqhUEycODEzMzM0NFSjLUhEjo70f/9Hycnk4kIpKeTnR7GxVFJC339PRJSaShcuUFUVERFuUAM6C0UIYAhmzpwZFBRUUFDQo0ePS5cuJSYmOjg4aO3ogYGUmUlhYSSVUkIC/f47LVhAv/9Ox4/TTz9ReTkR0YEDWosD8HwwNQpgCM6cORMUFBQVFfXJJ59oehTYiIMHydWVjI3p7FnKzKRWrcjGhh49otatKS2Njh3jKxdAYzAiBDAEYrG4f//+YrGYxxYkopEjqXt3IiJra+rfn06eJCKaNo0iI6lDBx5zATQGRQhgCG7fvn3gwIELFy7wHYSIyNKSXniBRo4kX19q25bY7dhwy27QWXhCPYAhqK+vJyIduQXoiy9Sx45kYUESyV9vRkTwFwigURgRAhgCnSpCc3MiotpawhUIoBdQhACGQKeK0MiIzM2J46i2lu8oAE2AIgQwBDpVhERkZUVE/zM1CqCzUIQAhqCuro50qQgtLYmIpFK+cwA0AYoQwBBUV1cTkbW1Nd9B/oARIegRFCGAIaipqSEiGxsbvoP8AUUIegRFCGAIdG1EiKlR0CMoQgBDgBEhQLOhCAEMga6NCFGEoEdwZxkAQ+DsvO2112S2tvZ8B/kDihD0CIoQwBDcvNnu8mW+QzwG5whBj2BqFMAQsJuZiUR85/gTRoSgR1CEAIZApSIiMtKZH2gjoyVERnL5cr6DADybzvzcAEAL6FoRmpgoiDg89xv0gs783ABAC+ja1KhIJCIiFCHoBRQhgCFgI0IUIUAzoAgBDAFbSV9VxXeOP6EIQY+gCAEMgZMTEdH9+3zn+BOKEPQIihDAEOhaEVpaWtKfN34D0HEoQgBDoGtF6OjoSERlZWV8BwF4NhQhgCHQzSK8rzuBAP4ZihDAEOhmEZaWlvIdBODZcK9RAL2Xl0cWFrRxI+nOtSkoQtAjGBECNMevv/564cIFvlP84coVWrOGPvyQbt7kO8qfcnJyiKi8vJzvIADPhiIEeD4KhSI2NjYgIKBv376xsbEqtpSdb5Mm0ZdfEhHl5ZFSyWeSO3fujBkz5s033ySi7777js8oAE2DIgR4DhkZGb17954/f75SqVQqlfPnzx86dGhxcTFfee7do7o6IqIOHcjIiPLy6M03qXNn+vZbHsJIpdIlS5Z4e3vv27fP0tJy3rx5ffv25SEHwHNCEQI0CRsI9ujR48qVK+7u7idPnvzhhx/atm174sQJf3//Q4cOaTnPw4c0fz55edHWrWRvT1ZWNGvWH7dYy86msWOpXz/S5tztrl27vLy8oqOj6+vrg4ODc3NzV65caW1trb0EAM3GAcCznDx5smvXrkQkEommTJlSVVXF3i8uLh4yZAj7UZo8eXJlZaUWwlRUcIsXczY2HBFnZMRNn/4/X62v59at4xwcOCJOJOLefZfLydFsntLS0pEjR7J/hICAgPPnz2v2eADqhiIEaMwvv/zCTncRUfv27U+dOvXEBiqVat26debm5kTk4OCwevVqqVSqoTAyGbdmDWdvzxFxRFxgIHf16tO3rKzkFi3irKw4Is7MjIuJ4WQyjUQ6evRo27Ztiah169bbt29XqVQaOQyAJqEIAZ6uoKAgLCzMyMiIiOzs7FauXNlIw12/fv21115jfeni4rJ582aZupvn9GnO1/ePChwwgDt37tkfKSriJk3iRCKOiPP35y5dUmceqVQaHh7O7inap0+fvLw8de4dQItQhABPys/Pj46ONjU1JSILC4uIiIjy8vKmfPDkyZM9evRgdeju7r5161aFQtHyPMXFXHDwH33m5cUdO/Z8H//5Z65Tpz/mUcPCuOrqlifiLl++3LFjRyIyMzNbtWqVUqlUw04BeIIiBPhLenr6jBkzXF1dXVxcunTpMmbMmNu3bz/XHlQq1b59+7y9vVkdent7b9++vb6+vnl5Kisr16w50KoVR8RZWHAxMVxdXXP2I5Vyc+dyxsYcEdely/3k5CPNy8NxnEKhiImJMTExISI/P7+r/zQ5C6A/UIQAHMdxJ06cGDVqlLOzs7Ozs5ub22effdaSuT6FQrFjx4727duzOnR1dV27dm1NTU3T91BSUhIVFWVnZ2dkZNSxY3ZgIPecjfwUV69yPXpwr7/+MRENGjQoIyPjefeQl5fXp08fdtHQZ599Vltb29JMADoARQhCV1JSEhwczCqwY8eOy5YtKykpUcuelUrl4cOHu3fvzurQ1tZ23rx5Dx48aPxT6enpH3zwAZuYJaIBAwakpalt1CWXc19/vd7Ozo6ITExMZs2aVVFR0cTPJiQk2NjYEFHbtm2PHj2qrkgAvEMRgqB99913nTp1cnZ29vb23rJlS7VaTqD9L5VKdfjwYTaQIiIrK6tly5bJ5fK/bymRSBouPxGLxePGjbt8+bLa83AcV1ZWNnnyZLFYTESOjo4bN25sfPL28QUS48aNa+IZUwB9gSIEgSorK/voo4/YQPD9998vLi7W9BFTU1Pffvtt1nM9e/bMzMx8/Kvnzp3z8vJiA7UZM2Y877nJZrh69Wq/fv0aVoYkJib+/ZqX6urqpUuX2traElGrVq127dql6VQA2ociBMOnUCgaZjsLCgoKCws5jnvnnXfYXOh///tfbYY5depUu3btiMjc3Dw2NlahUMhksqioKDY+8/X1vXLlijbzfPfddz4+PqwOfX199+/fz9YC1tfXf/XVV+whEkT09ttvFxQUaDMYgNagCMHwHT9+fOnSpRKJJCsrKyEh4bPPPrt58+Zvv/02YcKEe/fuaT/P41OgvXr1YrOOYrF4wYIFdc27KrRlFApFQkJCw6U958+fT0pK8vT0ZC979eqVkpKi/VQAWiPidOcJZgCacfnyZYVCYWJi4ujo6Obmtn379m7dunXp0oXfVCdOnPj4448LCwutra3d3d03b97csCSfFzKZ7Jtvvrl8+fI777wzYsQIIurcufMXX3wxfPhwHlMBaAGKEIQlOzv76NGjc+bM4TsIEVFVVVVERISLi0tUVBTfWf7Ccdzo0aNHjRr1/vvvsxvrABg2FCEIxZUrVwoLC7dt2zZu3LjevXs3TP0BgMChCEFA6uvr6+rqiMjS0pLdGwUAAEUIAACChhMAAAAgaChCAAAQNBQhAAAIGooQAAAEDUUIAACChiIEAABBQxECAICgoQgBAEDQUIQAACBoKEIAABA0FCEAAAja/wNjun+Dz/DciwAAAHB6VFh0cmRraXRQS0wgcmRraXQgMjAyMS4wMy4yAAB4nHu/b+09BiDgAWJGBghgBmImIG5gZGNIALGZGDg0QBKMEggWIzdIPRODCIM4TB8D85uL3ZYZm1fZgTgFK2PtX2Rp7wOxX+2K3f/ityaYLQYAGtgTHBjWfNkAAACHelRYdE1PTCByZGtpdCAyMDIxLjAzLjIAAHicjcy7DYAwDATQ3lPcAiA7hkBqQoWgoGAHevYXCZ9AAQjLxZ1lPUKc0XfzgjTGEwEaAsCP65zDZJiZ4j/nIemeVLVIN0aDN+K+h1Lb0oWQcS62uivjt2IuJYuKlVOx/F+RpMhGSip6lB5oB08ra/QwLQIzcoYAAACCelRYdFNNSUxFUyByZGtpdCAyMDIxLjAzLjIAAHicc9aI1rIyjNUEkkaxCjUaBnoGBgZGZmZmFqY6BnrGxsYmOta6BnoWZmaGxsY6QJahmZmONUjA1MLMHCJgbqKjqZNYkp8bUJRfYGWol5uf4wjk+SYW+JXmJqUW6RlaGWEKGtUAACw3IZJ3fvYrAAABYHpUWHRyZGtpdFBLTDEgcmRraXQgMjAyMS4wMy4yAAB4nHu/b+09BiDgAWJGBggQhuIGRjaGBCDNxASj2SE0FnEFIM2MLszAoQEyj1GCCV0GTjuAVDCzsDlkgGhmRmIYcGMZuYFuZgWymBiYmIGmMLCwMrCyMbCxM7BzMHByMXAKMXBxM3DzMPDwejAJ8jjw8jnw8Xsw8Qs4CAh6MIkAXcHKwgz0DY+gAD8frzjM/wzCKk499v9Y7Q6AOJtu/rKfcFEWzPbM+mWvvHj3fhB7uX+3/X2uCjD76oFUO5+8PWC2vE2mnZq5HFi9/lul/T4ZEHNWdh3Yv2sORDxpiviBh2ch4qvYZA8ETVhhD1aTcXr/gk8vwGz9lRb7q6NXgtnrxIXsTu59CWZPjW20F1dYBWYrfX1v/6njFZi9s/W9faWLqQPYbYUN9kHCoWB2yhw+u6f3TMDszRNCDpSpQ8wXAwCNeFpGdOOtMQAAAVN6VFh0TU9MMSByZGtpdCAyMDIxLjAzLjIAAHicpZM7UgMxDIb7PYUuEI8kv6SapWJIkYI70HP/QV4/kjDABOFxod9ef/tLsjdo47K/vH/AGrxvG5C2CfjtVFV4Y0Tc2vcUULNYcOKgRamtYbBdhCf4CXE7B0WzDkoqWf2UkhqFvlLOf6GgyEFBy0icXjAwp+mlsrMujVJnXe4pj2dkeZTY62I9qtnnxfLImHh6keijcIhFphehW8rldwrfUVKOuXcrUvH1qGUk/cZSEFInBYM1Jg4vHN2dpsR1eOHifkdIWKcX/2uUmqYXS8lP6XXhf1EQe6djy8hJsepGnV681T01B7PTdnXr43eXFoWOi0xdlCMawpbjEhalJSzKS+R5bADqEhbJEhbpFIRAdCuuOwS07FhEy4FFlI5fNyHHzhAJKC+RgcoSBaguUduxLl4Bns/79glsTf6b8/ZX8gAAAQ16VFh0U01JTEVTMSByZGtpdCAyMDIxLjAzLjIAAHicZY6xTgNBDER/hTJBm9WOvetdHxW6mhM9ShFOdJwuikKXj8feC1BQ+ul5ZkaM024c3x4HOu7HcUKcMc+zIWc47ucZD7cdohatNRwoZilK4QkxadmIisJIikS1SutSJUeHFIUlM3Wtls4QS8rEm9bYEUWWljvSBr6HZfYw/IRZY2tsjckam0IcaRFH+JvVKqgGipbM252lBvzeCanfTArvQSaxHhNI0CdbHdsGVxjbYKtjV6Da5+bCxQFDHLCp9tMNm+OprGSpdE+12sS5BheVwz6cruvyelnPQ4nL+vls18vpPH0t7x+XSAPkP8XtG7LwX0x5juEXAAAAAElFTkSuQmCC\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"frag1 = rdMMPA.FragmentMol(mol)\n",
"print(len(frag1))\n",
"display(Draw.MolsToGridImage(frag1[10]))\n",
"print(\"###############\")\n",
"display(Draw.MolsToGridImage(frag1[14]))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "choice-democracy",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f0b4c8eff80>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Check only ring and not ring connection\n",
"patt2 = '[#6+0;R;!$(*=,#[!#6])]!@!=!#[*]'\n",
"mol.GetSubstructMatches(Chem.MolFromSmarts(patt2))\n",
"mol"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "tropical-basketball",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"frag2 = rdMMPA.FragmentMol(mol, pattern=patt2)\n",
"print(len(frag2))\n",
"display(Draw.MolsToGridImage(frag2[0]))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "relevant-hartford",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f0b4c8eff80>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Check only ring and not ring connection\n",
"patt3 = '[#6+0,#7+0;R;!$(*=,#[!#6])]!@!=!#[*]'\n",
"mol.GetSubstructMatches(Chem.MolFromSmarts(patt3))\n",
"mol"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "opposed-absence",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"frag3 = rdMMPA.FragmentMol(mol, pattern=patt3)\n",
"print(len(frag3))\n",
"display(Draw.MolsToGridImage(frag3[0]))\n",
"display(Draw.MolsToGridImage(frag3[1]))\n",
"display(Draw.MolsToGridImage(frag3[2]))\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "stunning-forwarding",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f0b4c304990>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"frag3[1][1]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "endangered-singles",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f0b4c30ad00>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Check only ring and not ring connection\n",
"mol2 = Chem.MolFromSmiles('C1CNCCN1(CCCCCCc2ccc(CC)cc2)')\n",
"patt3 = '[#6+0,#7+0;R;!$(*=,#[!#6])]!@!=!#[*]'\n",
"mol2.GetSubstructMatches(Chem.MolFromSmarts(patt3))\n",
"mol2"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "together-latvia",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f0b4c30ad00>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"patt4 = '[#6+0,#7+0;R;!$(*=,#[!#6])]!@!=!#[*;$([A!R][A!R][A!R])]'\n",
"mol2.GetSubstructMatches(Chem.MolFromSmarts(patt4))\n",
"mol2"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "external-monroe",
"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.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment