Skip to content

Instantly share code, notes, and snippets.

@tdudgeon
Created August 27, 2020 09:48
Show Gist options
  • Select an option

  • Save tdudgeon/c4604f3ee9124eeec60668b5eefe465e to your computer and use it in GitHub Desktop.

Select an option

Save tdudgeon/c4604f3ee9124eeec60668b5eefe465e to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"from rdkit import Chem\n",
"from rdkit.Chem import AllChem\n",
"from rdkit.Chem import rdFMCS\n",
"from rdkit.Chem.rdMolAlign import AlignMol"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f8ecb4d3d00>"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"target = Chem.MolFromMolBlock('''Mpro-x0161_0\n",
" RDKit 3D\n",
"\n",
" 14 14 0 0 0 0 0 0 0 0999 V2000\n",
" 11.6590 -1.5020 21.8060 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 12.3210 -1.6370 23.0350 O 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 13.0730 -0.5250 23.4440 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 14.2180 -0.6570 23.6840 O 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 12.4200 0.8490 23.5710 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 11.1700 0.9830 24.1680 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 10.5880 2.2400 24.2640 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 11.2700 3.3430 23.7590 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 12.5120 3.2070 23.1590 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 13.0850 1.9560 23.0650 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 10.5430 4.9880 23.8640 S 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 11.5270 6.0050 23.4810 O 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 10.2430 5.3260 25.2570 O 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 9.1560 5.0760 22.8630 N 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 1 0\n",
" 3 4 2 0\n",
" 3 5 1 0\n",
" 5 6 2 0\n",
" 5 10 1 0\n",
" 6 7 1 0\n",
" 10 9 2 0\n",
" 7 8 2 0\n",
" 8 9 1 0\n",
" 8 11 1 0\n",
" 11 12 2 0\n",
" 11 13 2 0\n",
" 11 14 1 0\n",
"M END''')\n",
"target"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3daVgT59oH8DthSSKCBtkVQdw3EBekClqpKHXX1mqtu+B2qrji1lZbq1UsIspxqVoUfS22KirivoJIKSLI4gJaQRQSAgYkrAl53g9zDuVAZghCZibJ87v6ISZ34h+vejuZeeZ+OAghwDAMwz4Ul+kAGIZh2g23UQzDsGbBbbRpxGLxhAkT+vTpc+bMGaazYBjGChx8blR9Fy5c8PPzk0gkAGBjY5OZmWlqasp0KAzDGIaPRtVSWlrq6+s7adIkoocCgEgkCgwMZDYVhmFsgI9GG5eQkDBr1qysrKx6zwsEgmfPnnXs2JGRVBiGsQQ+GqWiUCh27tzp6enZsIcCQEVFxTfffEN/KgzDWAUfjZJ69uzZzJkzk5KSKGq4XO5ff/01YMAA2lJhGMY2uI2Smjx58vnz5xstGz58+N27dzUfB8MwlsJf6knxeDx1yu7du3fhwgVNh8EwjLXw0Sip9+/fe3h4pKWlNVrZuXPnJ0+eGBsb05AKwzC2wUejpMzMzC5evGhtbd1o5cuXLw8dOkRDJAzDWAgfjTbi4cOHw4cPLy8vpy4TCoUvXrwwNzenJxWGYeyBj0YbMXDgwPDwcC63kT8oqVS6fft2eiJhGMYq+GhULYGBgevWraOuMTY2zsjI6NKlCz2RMAxjCXw0qpaAgIAlS5ZQ11RXV2/cuJGePBiGsQc+GlWXQqEYO3bs9evXqctiY2M9PDzoiYRhGBvgNtoEpaWlHh4eqampFDWDBw+Oj4/ncDi0pcIwjFn4S30TmJqaXr58uX379hQ1CQkJv//+O22RMAxjHD4abbKkpKThw4eXlZWRFTg6Oj59+pTP59OZCsMwpuCj0SYbMGBARESEgYEBWUF2dvbevXvpjIRhGIPw0egH2rVrV0BAANmrpqamWVlZ6twBhWGYtjPYsmUL0xm00tChQyUSSWJiospXq6urKyoqxowZQ3MqDMPoh49GP1xNTc2kSZMuXbqk8lVDQ8OUlJTevXvTnArDMJrhc6MfzsDA4NSpU87OzipfVSgUGzZsoDkShmH0w0ejzfX27Vt3d/c3b96ofPX69eve3t40R8IwjE64jbaAR48eDRs2TOUSKBcXl0ePHjU62QTDMO2F/3q3gP79+58+fVrlEqjHjx+Hh4fTHwnDMNrgo9EWExQUtGbNmobP29nZZWZmmpiY0B8JwzAa4AVPLWbIkCGFhYUNl0CVlpbyeLzhw4czkgrTZ1KpNCcn5+nTp0lJSXfu3DEzM2vXrh0e+NDi8NFoS6qpqZk8eXJUVFS951u3bp2ZmWlra8tIKkwnVVVVFRUVSaXS/Pz8vLw8qVRa93F+fv6bN2+qq6vrvsXHx8fR0fHAgQNMZdZVuI22sNLSUk9Pz8ePH9d7fsGCBUeOHGEkEqZ1lEplYWGhRCKRSCT5+fkSiaSwsFAkEhUUFBBPikSi0tLSRj/HzMzMxsbG0tLS0tKSx+NFRkZWV1dfvHhx/PjxNPwU+gO30ZaXl5c3ePDgekuguFxuYmJi//79mUqFsUdFRUXDg8e6DyQSiUKhoP4QHo9nbm4uFAqFQqGdnZ2trW3dB0Kh0N7e3szMrO5bdu/evXr1aktLy9TUVBsbG03+iPoFt1GNULkEasSIEbdv32YqEkYbqVRarznWfZyXl1dcXNzoh/D5/Lo9sWGjtLGxaepCOqVS6e3tffv2bR8fn8uXL+OTpC0Ft1FNiY6OnjhxYk1NTb0n8Y32OuzNmzdXrlxZuHAhdRmfz6c4irSzs7O3tzcyMtJEwrdv3zo7O7979+7w4cO+vr6a+C30EG6jGhQcHLxq1aq6z/To0SMtLc3Q0JCpSJhGLVmy5JdffmndurWDg4O1tbW1tTVxXrL2BKWNjY2VlVWrVq0YDHn27NnPP//cxMTk0aNH3bp1YzCJzsBtVLOWLVsWGhpa95kDBw4sXryYqTyY5ojF4k6dOlVVVaWlpfXq1YvpOFRmzJjx22+/DRw48MGDBxo67NUr+C4mzdqzZ8+ECRPqPvPdd9+VlJQwlQfTnODg4IqKismTJ7O8hwLA/v37O3bs+PDhwx07djCdRRfgo1GNa7gEasOGDdu3b2cwEtbi3r9/7+DgUFxcHB8f7+7uznScxsXExIwYMYLL5d6/f3/w4MFMx9Fu+GhU44iN8Dp06FD7THBwcE5ODoORGiEWw6pV0L07CAQgFMKwYXDsGCiVTMditf379xcXF3t5eWlFDwWAYcOG+fv7KxSKmTNnymQypuNoOYTRIikpqe5t9V999RXTiUj89ReysEAGBmjqVLR9O9q0CTk7IwA0fjyqrGQ6HEtVVlYSt6hdu3aN6SxNUFlZSUzLXbp0KdNZtBtuo/SJjo6unQLF4XDi4uKYTtTAu3fIzg6ZmqK62Wpq0MqVCACtWsVcMlYjbq90cXFRKpVMZ2ma9PR0Pp/P4XAuXbrEdBYthtsorYKDg2sPSD/66CPW/a378UcEgEJC6j+vUCBnZ2RsjPLymIjFagqFomvXrgBw+vRpprOoEB0dHRkZSVGwc+dOALCyshKLxbSl0jG4jdJt2bJltZ307NmzzISorES5uSgpCV2+jI4fRz//jO7fRwihgQORoSF6/17FW4KDEQA6epTmpOwXEREBAE5OTgqFguks9cXExHA4HKFQmJubS1ZTU1MzYsQIAJg0aRKd2XQJbqN0UygUtUugnJycKjVxwrG8HL18iWJj0cWL6PhxtGMHWr4czZqFRo5EvXohW1vE5SKA//lv82aEEBIIUK9eqj/z7l0EgFavbvm0Wm7AgAEAcPDgQaaDqEZMIRk5ciTFV5/c3FyhUAgAYWFhNEbTHXjBEwNkMpmnp2dKSgoABAcHr1ixQv33lpeXFxQUiEQiYgIQMfXnp/Jy/qtXIBaDRAISCTQ21QKMjMDSEiwtwdb2Pw98fMDLCwwNwd0d4uNVvCUlBVxdwdcXDh9uwo+q665du+bj42Ntbf3q1SuBQMB0HBUkEknfvn3FYvGePXv8/f3JysLDw+fMmdO6devk5OQuXbrQmVAH4DbKjLy8PHd3d+IoICsrq127dsTztVMtVI7/IR43/LTyHj0Ez57982s+H4RCsLMDW1vVD2xsQOVUi1atoFMnyMhQ8dK9e/Dxx7BqFQQFtcQfgI7w8vK6c+fOjh071q1bp7IgKioqMDBwy5Ytn3zyCc3Zal28eHHixIk8Hi8xMbFv375kZdOnTz99+vTQoUPv3bunckccjAxuo4xJTk729PQsKyvr2LFj69atiTmSjb5LIBBYWFjY2toS92hbWVlZW1vP6dChnZnZP4eWH3x736BBkJICUim0bl3/pZAQWLECjh6F+fM/8MN1TmJiopubm5mZWU5OTtu2bVXWeHh4xMXFUR8J0sDX1/fo0aP9+vVLSEgwNjZWWVNcXOzs7Jybm/vTTz+tX7+e5oRaDbdRJm3cuHHv3r115+nVHY+mck6ara2tBueb/fgjfPst7NsHX3/9P88rldC/Pzx9CtnZgGf4/9eUKVMiIyPXr1//008/qSyIjY0dNmyYubl5Tk5O64b/MtGorKzM1dU1KyuLIi0A3LhxY/To0YaGhnFxcYMGDaIzoXZj9tSsniPueFmxYkV6erpIJKqpqWE4UFERsrVFZmYoIeGfJ5VKtHYtXjdaz7Nnz7hcLo/HyyNfBDZ27FgA2ExcvmPagwcPDAwMuFzunTt3KMqIlSQ9e/YsLy+nK5rWw22UMTdu3AAAKysrdv3/+uefyNwcGRqiGTPQrl3o++9R//4IAI0bh+9iqmv+/PkAsHjxYrKC1NRUDofTqlUriURCZzAKmzZtAgBHR8eSkhKymoqKij59+gCAv78/ndm0Gm6jjBk5ciQAbN++nekgDeTlIX9/1KUL4vGQmRny8EC//opqatDbt+jzz1FODtP5mPfmzRtjY2MDA4PMzEyymq+++optzUgul7u5uQHA3LlzKcoePXpkbGzM4XAuX75MWzathtsoM5KTkzkcjqmpqVQqZTqL2mbPRgBoxAjE+MkHphHTuKdPn05W8Pr1ayMjIyMjo+zsbDqDNerp06fE0Gjqe662bdsGAHZ2doWFhbRl0164jTJj6tSpABAQEMB0kKaQSJCNDQJAP//MdBQmvXv3ztTUFACSkpLIar7++msAmDNnDo251LVv3z4AsLCwoDirW1NTM3z4cACYMmUKndm0FG6jDHjx4oWBgQGPx3v79i3TWZro6lXE4SAeD6WkMB2FMT/88AMAjB49mqygsLDQxMSEw+GkpaXRGUxNSqWS2BDM29ub4tamv//+m9hY9MSJE3TG00a4jTLAz88PABYuXMh0kA+yaBECQL16oYoKpqMwoKyszNLSEgBu375NVvPNN98AwIQJE+gM1iRv374l7vj497//TVF29OhRAGjTpg3bTk2wDW6jdMvPz+fz+Vwul+LqBKuVlaHu3REAWrOG6SgM2Lt3LwAMGjSIrEAmkxEd6j4x7YWtIiMjAYDP56enp1OUEWefPD09WTh4hT1wG6Xb2rVrAWDq1KlMB2mGhw+RkRHictGtW0xHoZVcLnd0dASAc+fOkdX8/PPPADBs2DA6g32Y2bNnA0D//v2rq6vJaiQSiY2NDQDs2rWLzmzaBbdRWpWUlLRp0wYAEhMTmc7SPJs3IwDUoQN6947pKPQ5ceIEAHTv3p3sRonq6uqOHTsCQHR0NM3ZPkBpaSkxheTbb7+lKLt69SqHw+HxeCl6fEKcGm6jtCLWkXh7ezMdpNnkcuTujgDQzJlMR6GJUqns168fABwlH7p65MgRAOjbty/rBnKTuH//PnFr07179yjKiC3Be/XqVaGXJ8QbhdsofSoqKogde27evMl0lpbw4gUyNUUA6LffmI5Ch6ioKABo3759VVWVygKlUklsrXzy5EmaszUHMZvKycnpvcpx3QghhMrKyrp37w4Aq/HAWVVwG6XP/v37AWDgwIFMB2k5Bw4gANS2rT7c2uTh4QEAQUFBZAVnz54FgE6dOsnlcjqDNVN1dfXAgQMBwM/Pj6Ls4cOHRkZGXC73lp6dEFcHbqM0USgUxHmoP/74g+ksLWrcOASARo5EWvI19sPEx8cDgLm5OcUh20cffQQAoaGhdAZrERkZGcTM6TNnzlCUbdmyhTgef6dPJ8TVgdsoTU6dOgUAnTt31rWFIwUFyNoaAaA9e5iOokHjxo2jvhRz69YtNg6aUdvu3bsBwNLSMj8/n6xGLpcTM8nYuz04Q3AbpUn//v0B4PDhw0wH0YDz5xEA4vFQairTUTTiyZMnXC63VatWBQUFZDWjRo0CgB9//JHOYC1IqVT6+PgAgI+PD8X1sZcvXxI3wv6mHyfE1YTbKB0uX74MADY2Njp7oXPBAgSAXF0RyeUXrTZr1iwAWLZsGVlBSkoKh8MxMTHR6kEeb968MTc3B4BffvmFouzgwYMA0LZt2xw9OCGuJtxG6UBMeQgMDGQ6iMbIZKhrVwSANmxgOkoLI2Y1GRoavnr1iqxm2rRpALBG+2/rOnPmDACYmJg8f/6coozYbfSTTz7RlnVdmobbqMYlJCQQNyYXFxcznUWT4uKQgQHictHdu0xHaUnENPhZs2aRFbx8+dLQ0NDIyOj169d0BtOQGTNmEOtJKG5tKigosLa2BoA9On1CXH24jWrcpEmTAGDTpk1MB9G8TZsQQPS4cRTD1bVL7aym5ORksppFixYBwIIFC+gMpjnFxcXEjVjff/89RdmFCxcAgMfjperoCfEmwW1Us54+fcrlcvl8PsUFUN1RXb3jq68aHa6uRb777jsAGDduHFmBSCQSCARcLjcjI4POYBoVExPD5XINDQ3//PNPijJfX18A6NevH9n9CPoDt1HNmjt3LgAsXbqU6SA0UXO4ulaQyWQWFhYAEBsbS1ZDbET82Wef0RmMBsR4/86dO5eWlpLVyGSyrl27AsD69evpzMZCuI1qUG5uLrFjT1ZWFtNZ6KPOcHWtEBQUBADu7u5kBSUlJcT29PHx8XQGo0FlZaWzs3OjRwBq7jaq83Ab1aCVK1cCwIwZM5gOQqva4eqjRo3S3iu5tbOaoqKiyGqIDd+9vLzoDEab9PT0jh07XrhwgbqMmFGtP9+3VMJtVFOKiopat24NAI8ePWI6C93UHK7OZr/++iuxXTvZTLzKykpi0My1a9dozkYbiov1tS5dusTyUf804AKmGfv27ZPJZJ9++qmrqyvTWehmZ2dHjIxbvXp1RkYG03GaDP33G/2GDRu4XNV/R44dO5afn+/i4uLt7U1vOvoYGRk1WkOMqR46dKjm47AY031cN9Xu2HNXtxZRNkntcHWtu5J77tw5ALC3tyc7HFMoFMTVFR24ktYcxJpoMzMzHV8T3RjcRjUiJCQEANzc3JgOwiQ1h6uzEDGrae/evWQFERERAODk5KRrg2aaiFgTvXHjRqaDMAy30ZZXXV3t4OAAAOfPn2c6C8PUHK7OKrdv3waAdu3ayWQyspoBAwYAwKFDh+gMxja1a6K1fUlG8+E22vKOHz8OAD169CC7OqFX1BmuziqjR48GgB9++IGsIDY2FnR70Ix6iDXRS5YsYToI83AbbWFKpbJPnz4AcOzYMaazsELtcHVfX1+mszSudlaTRCKhKLt58+bvv/9OWyoW0s810WRwG21hFy9eBIAOHTpo3XUVzakdrs7+yf+ff/45AKxatYrpIGxHrIn+8ssvmQ7CChyEEG2rAvSBh4dHXFxccHDwihUrmM7CInv27Fm5cqWFhUVaWhqx7zn9Kisr3717J5VK8/Pz8/Ly6j4gHufm5goEgrKysr///ptYe4+p9O7dOwcHB5lMlpSURMwj13OGTAfQKbGxsXFxcebm5sTUBqyWv7//9evXr1y5Mm/evMuXL3M4nJb9fIVCIZFICgsLxWKxWCyWSCQSiUQkEhEPxGJxQUFBWVlZo5/D4/FqamoiIyP9/f1bNqEuqV0TjXsoAR+NtqRx48ZFR0dv3ryZ2PwLI4jFYisrq7y8PGdn53fv3h06dGjhwoVN+oSKigqKo8i8vLyCgoKamhrqD+Hz+UKhUCgU2tnZ2dra1ntsZ2fXoUOHq1evTpw4kcfjJSYm9u3btxk/tM4qLy93dHSUSCR3794l5pFjuI22mKdPn/bu3VsgEGRnZxNr7zGCm5tbeXn52bNnMzIyPvvsMxMTk0ePHnXr1o14taqqqqioqG5PrNcoc3NzS0tLG/1d+Hx+3Z5Y74FQKLS1tVXnKNjX1/fo0aP9+vVLSEgwNjZu7g+vc/bu3evv7+/m5kasvccAt9EWNGvWrJMnT/r7++/Zs4fpLCxy8+ZNb29vKyur7OxsgUDw1VdfnTp1ytbW1snJSSKR5Ofnq9MiTU1NbWxsLC0tLS0tra2tra2tLSwsLC0tbW1tLf+rpU4UlJWVubq6ZmVlrV+/nhg+gtWSy+Vdu3bNycmJjIwk1t5jgNtoS8nNze3cuTMAZGVlEWvvMYK3t/fNmze3b9++YcMGACguLp43b97Tp0+fP39eW0McKpIdRXbo0KFNmzZ0Zo6Pj/f09EQI3bp16+OPP6bzt2a58PDwOXPm9OjRIyMjg2zagD5icpmADvn6668BYM6cOUwHYZfk5GQOh2NqaiqVSus+HxMTExsb++zZs3rPswcx/83R0VFnNkRpvto10WFhYUxnYRfcRltA7Y49aWlpTGdhl6lTpwJAQEAAWUF8fPzcuXNZuAOHXC53c3MDHdoQpfnwmmgyuI22gG+//Rb0fuRiQy9evDAwMODxeG/fviWrmTBhArB1dokubYjSIohpeLt372Y6COvgNtpcMpmMGFF8//59prOwi5+fHwAsXLiQrODJkydcLrdVq1YFBQV0BlNfaGgoAAiFwtzcXKazMCwmJgYAzM3NKXZn0lu4jTYXMbZ22LBhTAdhF5FIxOfzuVxuZmYmWQ0xkHTZsmV0BmuS2g1RvL29tXdDlBYxduxYANi8eTPTQdgIt9Fmqd2xJzo6muks7BIQEAAAU6dOJSuonW3x4sULOoM1FXHvAACEhoYynYUxqampHA6Hzd8bmIXbaLMcPXoUAPr27avnhyr1lJSUEEuUEhMTyWqIuy1nzpxJZ7APExkZCQB8Pj89PZ3pLMyYOXMmACxfvpzpICyF2+iHq6mpcXFxAYATJ04wnYVdtm3bRnwRJisg9vvjcDjJycl0Bvtgc+bMAe3cEKX5Xr9+bWRkZGRklJ2dzXQWlsJt9MOdO3fO0tJy0qRJcrmc6SwsUlFRQWyZefPmTbKazZs3A8C4cePoDNYctRuifPPNN0xnoRuxJnr27NlMB2Ev3EY/HLFjz759+5gOwi779+8HgH79+pEVlJWVWVhYAEBsbCydwZpJGzdEaT68JloduI2qdvbsWeqFHbdu3YLGduzRQwqFgjhqo5jQHBwcDACDBw+mM1iL0LoNUZqPuJtr/PjxTAdhNdxGVUhLS+NwOO3bt6c4ETZq1CgA2Lp1K53B2O/UqVMA0LlzZ7ItM2v3+7t48SLN2Zqvurp60KBBoCUbojQfXhOtJtxGVZg1axb1dcnaHXsKCwvpDMZ+xBzfw4cPkxWEhYUBQM+ePbV0v78nT55oy4YozUesiSamtGAUcButT53rkl988QUArF69ms5g7HflyhWg3DJTqVT27t0bAMLDw2nO1oKIkxIWFhb5+flMZ9Gg2jXRly5dYjoL2+E2Wt+yZcuor0u+fPnS0NDQyMgoJyeHzmDsR8yUCwwMJCs4f/48ANjb22v1siGlUvnpp58CgI+Pjw6vFz5y5AheE60m3Eb/hzrXJRctWgQACxYsoDMY+xGz0Nu0aVNcXExWM2TIEAAICQmhM5gmvHnzxtzcHAAOHTrEdBaNUCqVvXr1AoCTJ08ynUUL4Db6P4hZTRTXJUUikUAg4HK5LJztxqyX//rXlz16bNy4kazg7t27xNoG3ZhtcfbsWQAwMTF5/vw501laHvHT2dvbV1dXM51FC+A2+g+ZTEasZ6S4LkkseZkyZQqdwbTAkyeIy0UCQaVIRFZCfBH+/vvv6cylUTNmzACAAQMG6F6vwWuimwS30X8EBQVRX5csKSlp27YtADx48IDOYFpg7lwEgJYuJXv98ePHxNoGiURCZy6NKi4uJhZv6dK/DQiviW463Eb/Q53rksQGZ15eXmQFRUVFa9as0bvZlLm5yNgYGRigrCyyEuLAbeXKlXTmokFMTIyBgYGhoeGff/7JdJYWg9dENxVuo//x66+/Ul+XrKysJG4Vv3btGtmH/PDDDwAwZswYjcVkpRUrEAD68kuy19+/etW+TRsjI6PXr1/TmYseq1evJu440I1zvnhN9AfAbRShOusZKWY1HThwAABcXFzI+mxZWRmxPf2dO3c0FZSFiopQ69YIACUlkdb861/Ktm3/2rCBxlj0qaysdHZ2BoAlS5YwnaUFTJs2Da+JbircRhFC6Ny5c9TXJRUKRdeuXam35QkJCQEANzc3jcVkpS1bEAD69FPSArEYCQSIw0G6O6wzPT2dz+dzOJyoqCims6Dy8vKcnJyEhISoqKiwsLAdO3asXLly5syZV65cafS9eE30hzFsdAdmfbBr1y4ACAgIMDIyUllw5syZrKwsJyenKVOmqCyQy+W7d+8GAGI3dn1RXg7//jcAwLp1pDUhIVBRAZMmQe/etOWiWe/evbdu3bp27doFCxakpqZaW1tr7veqqKjIz8/Py8uTSqUNH0ilUpFIhBBq+MYePXr4+PhQf3hgYKBCoViwYAFxnQBTE0fln7heuXPnjpeXV7t27XJyckxMTFTWDBw4MCkp6eDBg8Ta+4ZOnDgxe/bs7t27E9u0aTIvm4SEwIoV4OYGCQmqC0pLwcEBpFKIi4MhQ+gNRyulUjly5Mg7d+5MnDiRuFnrA5SWlopEIolEIpFIxGKxWCwmHtc+SaxzoP4QPp9vaWlpbW1tZWVlaWlpaWlpa2trYWExaNCgnj17UrxRLBZ36tSpqqoqLS2NWHuPqQkfjcLOnTsBwN/fn6yHXrt2LSkpydramtiCrSGEUGBgIACsW7dOj3qoXA7BwQAAGzeS1hw8CFIpfPyxbvdQAOByueHh4c7OzhcuXPj111/nz5+vzrt27NgRGxtbUFBAdMzKykrqeg6HU9scbWxsiAdWVlY2NjYWFhZExzQ1Nf2wHyE4OLiiomLKlCm4hzaVvh+NPn782NXVtVWrVjk5OcRMsIa8vLzu3LmzY8eOdSRfXaOioiZMmNChQ4eXL18aGxtrMi+bhIfDnDnQowdkZIDKfzyqqsDJCfLy4MoVaOzrpG44efLkrFmzTExMkpOTiZPp1KZOnXrmzJnaX/L5fKFQKBQK7ezsbG1t6z4gHtvb25Odd2qm9+/fOzg4FBcXP3jwgFh7jzUBo2dmmTd9+nSgvC75119/AYCZmZlUKiWrGTp0KADs3r1bMxlZSalEffogABQWRlpz+DACQM7OSJ9mWxD/Rw0ZMoRs4mpdDx48iIqK+vPPP3NycsrLy2mIR6bRNdEYBb1uo+pclySuKa1fv56sICYmBgDMzc11Y9mgui5cQACoQwdENquppgb17IkA0KlT9CZjmFQqtbe3B4Bt27YxnUVd6qyJxijodRtdvHgxAMyfP5+s4NmzZ1wul8fj5eXlkdWMHTsWADZv3qyRiKw1dCgCQMHBpAV//IEAUKdOSP/2+7tx4waHwzE0NExISGA6i1oaXRONUdPfNioWiwUCAYfDoZjVRFwoWLx4MVlBamoqh8Np1apVQUGBZmKyUkwMAkDm5ojiANzdHQGg/ftpjMUiy5cvB4AePXow+1VdHeqsicao6W8bJRZ4UsxqevPmjbGxsYGBQWZmJlnNzJkzgXK7Ed00diwCQBQH4DdvIgBkZYVY30Q0pLKysm/fvgCwbNkyprM04v/+7/8AwMnJCe8T/px92y4AAAdLSURBVMH09Eq9OtclV69evXv37mnTpkVERKgsyM3N7dy5MwBkZWURk370QloauLiAQADZ2WBpqbpm1Ci4cQO2baNaC6XrkpOT3d3d5XL5pUuXxowZw1SMiooKsoX6xGORSMTlckNDQ4lzXNgH0NN1owcOHCguLh4xYgRZD5VKpYcPHwaAtWvXkn1IYGCgXC6fPXu2HvVQANi5ExACPz/SHpqSAjdvgqkpLF1KbzJ2cXV13bJly8aNG/38/FJTU8mW0zVHZWVlYWGhSCQqKCiot1CfeLKwsLCqqor6QwwMDG7evOnu7t7i8fSHPh6NVlVVOTk55eXlXb16dfTo0Sprtm7d+t13340ePfrq1asqC4qKihwcHMrLy1NTU/v06aPJvGzy6hV06wYcDmRlAdk/Hl98AX/8AQEBsHMnveFYR6lUenl53bt3b/LkycTchiZRed9n3cdk933WRaxFrbf+tO6iVCsrK0NDPT2cain6+Md3/PjxvLw8FxcXYq5iQ+Xl5fv27QMAsvX2ALBnz56ysrLx48frUQ8FgNBQUChg1izSHvryJZw7Bzwe+PvTm4yNuFxuWFhYv379IiMjT5w4QWzcTSC+a1N83c7NzZXL5Y3+FkKhsN5C/bod097e3szMTJM/Igagh0ejNTU1PXv2zMrKioiIIGaCNbRv377ly5cPGjSIWHvfUFlZmYODQ1FR0f3794m19/pCJoNffoHRo0nnjCxcCIcPg58f/PILvcnY69ixY/PmzRMIBB4eHu/fvye+d5eXlzf6RuL+TuIGeWtr69rbPWufJPZiwBind230999/nzZtmpOT0/Pnz1V+lyHWf2RnZ587d27y5MkqPyQoKGjNmjWenp7E2nvsP8RicHSE6mp4+hS6dWM6DYvMmzevqKgoKiqq9pmG933WO6LU3H2fWIvTuy/1xAyRgIAAsvNBERER2dnZ3bt3nzhxosoCuVy+d+9eoPzKr6d274bKSpg6FffQesLCwtLT0/38/CwsLIhDS7I5OJhWYnS5Fd2uX78OANbW1mSLopVKZb9+/QDg6NGjZB9y5MgRoNxuRE+VlKA2bRAASkxkOgqG0Uq/jkaJmXgrVqwQCAQqC6Kjo1NSUtq3b0+sq29IqVQS45nXrVvH4XA0F1X7lJbC6NFQXAwDBzIdBcPoxXQfp486s5o8PDwAICgoiKzg7NmzQLndiM4SidDKlahbN8Tno7ZtkacnCgtDNTX1y/CdMJj+0aOjUeJQdOnSpWTXNxMSEu7fvy8UCv38/Mg+5OeffwbK7UZ0U2IijBkDUilMmQJz50JZGURFwbx5cO4c/PEH8Hj/VOIViJgeYrqP0+T58+eNzmoaP348AHz77bdkBbdu3QKAdu3ayWQyzcRkpXfvkJ0dMjVFcXH/PFlTg1auRABo1SrmkmEYK+hLG/X19QWARYsWkRUQeyhRz2oilutv3bpVMxnZ6scfEQAKCan/vEKBnJ2RsTEi/5cJw/SBXmwcJBKJTp48aWBgsHr1arKan376SalULliwwJLkVvHHjx/fuHHDxMRkyZIlGkvKSufPg6EhzJtX/3kDA5g3D6qr4coVJmJhGFvoRRsNCgqqrKz8/PPPybbHyc3NjYiIMDQ0XLVqFdmHbN++HSG0ePFiTcyYYLWMDOjWDVRulObqCgDw5AnNiTCMVXS/jZaUlDQ6q2nXrl1yuXz69OmOjo4qC/7+++9z584ZGRkR43j1SE0NVFQA2X3ZbdoAAJSU0JkIw9hG99toaGhoSUnJqFGjBgwYoLKgqKgoLCyMw+FQfOUPDAxUKBSzZ8/u2LGjxpKykoEBCATw/r3qV4kGiodfYPpNx9toZWVlaGgoUN64uXfvXplMNnbsWOL+pYbEYnF4eDiXy6X4yq/LeveGzEyQyVS8lJLynwIM02M63kbz8/O7dOkyaNAgLy8vlQVlZWX79+8Hyj4bHBxcUVExefLkXr16aSoom02cCAoFHDtW/3mlEsLCwNgYPv2UgVQYxh5MLxWgQ3FxMdlLQUFBAODu7k5WUFJSQizXj4+P10w61isqQra2yMwM1d3nUqlEa9fidaMYhvTkLqY2xJWQBuRyeUhICABs2rSJ7L379+8vLi728vLS310WzM0hMhLGjIGhQ+GLL8DVFcrL4cIFePQIxo2D7duZzodhDNO7eaN1hYWFzZ8/v2fPnunp6VyuivMbVVVVnTp1ys/Pv3btGtmofH2Rnw87d0J0NOTmAo8Hzs4wfz7MmQOq/twwTK/odRv18PCIi4s7fvz47NmzVRYcPHhwyZIlLi4uycnJeJ4ThmEq6XUblclk4eHhfn5+KueM1G43cvr06S+++IL+eBiGaQW9bqPUIiIivvzySycnp8zMTAMDA6bjYBjGUvjEFqldu3YBwLp163APxTCMAj4aVe3atWs+Pj7W1tavXr0iG5WPYRgGerilnZo6duw4ffr0AQMG4B6KYRg1fDSKYRjWLPjcKIZhWLP8Pz5cR5cZUuFGAAAAAElFTkSuQmCC\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f8ecb4d3df0>"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mol = Chem.MolFromSmiles('C#C[C@@]([H])(C)OC(=O)c1ccccc1')\n",
"mol"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'[#6&!R]-&!@[#8&!R]-&!@[#6&!R](=&!@[#8&!R])-&!@[#6&R]1:&@[#6&R]:&@[#6&R]:&@[#6&R]:&@[#6&R]:&@[#6&R]:&@1'"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mcs = rdFMCS.FindMCS([target, mol], completeRingsOnly=True, ringMatchesRingOnly=True,\n",
" atomCompare=rdFMCS.AtomCompare.CompareElements, bondCompare=rdFMCS.BondCompare.CompareOrder)\n",
"mcsQuery = Chem.MolFromSmarts(mcs.smartsString)\n",
"mcs.smartsString"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((2, 4, 5, 6, 7, 8, 9, 10, 11, 12),)"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"molmatches = mol.GetSubstructMatches(mcsQuery, uniquify=True)\n",
"molmatches"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(2, 4, 5, 6, 7, 8, 9, 10, 11, 12)"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"molmatch = molmatches[0]\n",
"molmatch"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)\n"
]
}
],
"source": [
"tgtmatch = target.GetSubstructMatch(mcsQuery)\n",
"print(tgtmatch)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 C2 ->[ 11.659,-1.502,21.806]\n",
"1 O4 ->[ 12.321,-1.637,23.035]\n",
"2 C5 ->[ 13.073,-0.525,23.444]\n",
"3 O6 ->[ 14.218,-0.657,23.684]\n",
"4 C7 ->[ 12.42,0.849,23.571]\n",
"5 C8 ->[ 11.17,0.983,24.168]\n",
"6 C9 ->[ 10.588,2.24,24.264]\n",
"7 C10 ->[ 11.27,3.343,23.759]\n",
"8 C11 ->[ 12.512,3.207,23.159]\n",
"9 C12 ->[ 13.085,1.956,23.065]\n",
"[(2, 0), (4, 1), (5, 2), (6, 3), (7, 4), (8, 5), (9, 6), (10, 7), (11, 8), (12, 9)]\n"
]
}
],
"source": [
"targetConf = target.GetConformer(-1)\n",
"coord_map = {}\n",
"alg_map = []\n",
"for i, idxI in enumerate(tgtmatch):\n",
" point = targetConf.GetAtomPosition(idxI)\n",
" coord_map[molmatch[i]] = point\n",
" alg_map.append((molmatch[i], tgtmatch[i]))\n",
" print(tgtmatch[i], target.GetAtomWithIdx(idxI).GetSymbol() + str(molmatch[i]),\n",
" '->[', str(point.x) + ',' + str(point.y) + ',' + str(point.z) + ']')\n",
"print(alg_map)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f8ecb4ca940>"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"molh = Chem.AddHs(mol)\n",
"molh"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f8ecb4d3d00>"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"target"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 3.5 s, sys: 0 ns, total: 3.5 s\n",
"Wall time: 3.5 s\n",
"-1\n",
"(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)\n",
"(2, 4, 5, 6, 7, 8, 9, 10, 11, 12)\n",
"C#C[C@@H](C)OC(=O)c1ccccc1\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.RWMol at 0x7f8ecb46bcb0>"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"emol = Chem.RWMol(molh)\n",
"%time ci = AllChem.EmbedMolecule(emol, coordMap=coord_map, ignoreSmoothingFailures=True, enforceChirality=True)\n",
"print(ci)\n",
"print(tgtmatch)\n",
"print(molmatch)\n",
"print(Chem.MolToSmiles(Chem.RemoveHs(emol)))\n",
"emol"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment