Last active
November 5, 2019 22:41
-
-
Save ptosco/1088937ce332bd66c999a2a5fbc855b3 to your computer and use it in GitHub Desktop.
Explicit, implicit and "real" hydrogens in the RDKit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"RDKit WARNING: [22:36:50] Enabling RDKit 2020.03.1dev1 jupyter extensions\n" | |
] | |
} | |
], | |
"source": [ | |
"from rdkit import Chem\n", | |
"from rdkit.Chem.Draw import IPythonConsole\n", | |
"from rdkit.Chem import rdDepictor" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"rdDepictor.SetPreferCoordGen(True)\n", | |
"IPythonConsole.ipython_useSVG = True" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"m1 = Chem.MolFromSmiles('c1cn[nH]c1N')\n", | |
"m2 = Chem.MolFromSmiles('CNc1ccn[nH]1')\n", | |
"m3 = Chem.MolFromSmiles('Nc1ccnn(C)1')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"params = Chem.SmilesParserParams()\n", | |
"params.removeHs=False" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"query = Chem.MolFromSmiles('c1cn[nH]c(N([H])([H]))1', params)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"In `query` all hydrogens are implicit, i.e. they are not present in the molecule graph as discrete atoms, except the two hydrogens which are connected to the amino nitrogen (see the single bond in the 2D depiction below as opposed to the lack of explicit bonds on the other hydrogens):" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"image/svg+xml": [ | |
"<?xml version='1.0' encoding='iso-8859-1'?>\n", | |
"<svg version='1.1' baseProfile='full'\n", | |
" xmlns='http://www.w3.org/2000/svg'\n", | |
" xmlns:rdkit='http://www.rdkit.org/xml'\n", | |
" xmlns:xlink='http://www.w3.org/1999/xlink'\n", | |
" xml:space='preserve'\n", | |
"width='450px' height='150px' viewBox='0 0 450 150'>\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450' height='150' x='0' y='0'> </rect>\n", | |
"<path class='bond-0' d='M 239.567,132.738 L 288.977,143.182' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-7' d='M 239.567,132.738 L 234.234,82.5196' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-7' d='M 247.806,124.245 L 244.073,89.0925' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 288.977,143.182 L 299.418,125.05' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 299.418,125.05 L 309.859,106.917' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 284.232,133.206 L 291.54,120.514' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 291.54,120.514 L 298.849,107.821' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-2' d='M 307.677,92.2143 L 287.11,69.4252' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 267.34,67.7323 L 250.787,75.126' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 250.787,75.126 L 234.234,82.5196' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 234.234,82.5196 L 215.602,71.7911' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 215.602,71.7911 L 196.97,61.0626' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 183.969,61.0828 L 168.617,69.9701' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 168.617,69.9701 L 153.266,78.8573' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 190.46,49.8195 L 190.439,32.0688' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 190.439,32.0688 L 190.418,14.3182' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<text x='307.677' y='106.917' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='267.34' y='69.4252' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>NH</tspan></text>\n", | |
"<text x='183.969' y='64.8195' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='140.265' y='90.1206' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#000000' ><tspan>H</tspan></text>\n", | |
"<text x='183.908' y='14.3182' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#000000' ><tspan>H</tspan></text>\n", | |
"</svg>\n" | |
], | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7f49e9b8ab70>" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"query" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"None among `m1`, `m2` or `m3` has any explicit hydrogens:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"image/svg+xml": [ | |
"<?xml version='1.0' encoding='iso-8859-1'?>\n", | |
"<svg version='1.1' baseProfile='full'\n", | |
" xmlns='http://www.w3.org/2000/svg'\n", | |
" xmlns:rdkit='http://www.rdkit.org/xml'\n", | |
" xmlns:xlink='http://www.w3.org/1999/xlink'\n", | |
" xml:space='preserve'\n", | |
"width='450px' height='150px' viewBox='0 0 450 150'>\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450' height='150' x='0' y='0'> </rect>\n", | |
"<path class='bond-0' d='M 237.501,23.4045 L 315.973,6.81818' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 237.501,23.4045 L 229.031,103.16' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 250.587,36.8923 L 244.658,92.721' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 315.973,6.81818 L 333.825,37.8208' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 333.825,37.8208 L 351.676,68.8234' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 308.818,23.3229 L 321.314,45.0248' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 321.314,45.0248 L 333.81,66.7266' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-2' d='M 349.494,83.5266 L 309.042,128.351' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 289.273,130.048 L 259.152,116.604' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 259.152,116.604 L 229.031,103.16' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 229.031,103.16 L 201.443,119.046' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 201.443,119.046 L 173.854,134.932' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<text x='349.494' y='83.8234' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='289.273' y='143.351' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>NH</tspan></text>\n", | |
"<text x='144.022' y='151.432' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>H</tspan><tspan style='baseline-shift:sub;font-size:11.25px;'>2</tspan><tspan>N</tspan></text>\n", | |
"</svg>\n" | |
], | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7f49e9b8a940>" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"image/svg+xml": [ | |
"<?xml version='1.0' encoding='iso-8859-1'?>\n", | |
"<svg version='1.1' baseProfile='full'\n", | |
" xmlns='http://www.w3.org/2000/svg'\n", | |
" xmlns:rdkit='http://www.rdkit.org/xml'\n", | |
" xmlns:xlink='http://www.w3.org/1999/xlink'\n", | |
" xml:space='preserve'\n", | |
"width='450px' height='150px' viewBox='0 0 450 150'>\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450' height='150' x='0' y='0'> </rect>\n", | |
"<path class='bond-0' d='M 83.3795,102.999 L 111.6,119.341' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-0' d='M 111.6,119.341 L 139.82,135.682' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 165.774,135.696 L 194.026,119.428' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 194.026,119.428 L 222.278,103.16' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-2' d='M 222.278,103.16 L 230.747,23.4205' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-2' d='M 237.904,92.7237 L 243.833,36.9062' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 222.278,103.16 L 252.398,116.611' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 252.398,116.611 L 282.519,130.061' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 230.747,23.4205 L 309.219,6.81818' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 309.219,6.81818 L 327.071,37.8208' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 327.071,37.8208 L 344.923,68.8234' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 302.064,23.3229 L 314.56,45.0248' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 314.56,45.0248 L 327.056,66.7266' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 342.741,83.5286 L 302.287,128.367' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<text x='139.771' y='150.682' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>NH</tspan></text>\n", | |
"<text x='342.741' y='83.8234' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='282.519' y='143.367' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>NH</tspan></text>\n", | |
"</svg>\n" | |
], | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7f49e9b8a580>" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAYAAABNcIgQAAANQklEQVR4nO3dfWxVdZ6A8aetFBpESwcdSGmrqzgGGBhiIAIlo/IOIhAV1hUEDC7WVagQkQ0LKBNWXSjyNkikOIFIQBkBHYcX2SmaRi1Rs8vCaAszotjrCjKCYbY4LXD3j6oj0Eopt73c/p5P0lDuOfec7/2DPJx7zz0nKRqNRpEkKVDJ8R5AkqR4MoSSpKAZQklS0AyhJClohlCSFDRDKEkKmiGUJAXNEEqSgmYIJUlBM4SSpKAZQklS0AyhJClohlCSFDRDKEkKmiGUJAXNEEqSgmYIJUlBM4SSpKAZQklS0AyhJClohlCSFDRDKEkKmiGUJAXNEEqSgmYIJUlBM4SSpKAZQklS0AyhJClohlCSFDRDKEkKmiGUJAXNEEqSgmYIJUlBM4SSpKAZQklS0AyhJClohlCSFDRDKEkKmiGUJAXNEEqSgmYIJUlBM4SSpKBdFu8BJJ0pGo2ybt06du/eTb9+/ejfv3+8R5KaNI8IpUvIrl276NWrFw899BAff/wxw4YNY/369fEeS2rSDKF0CYhEIkyaNInc3Fw6dOhAWVkZGzZsYOXKlYwbN46CgoJ4jyg1Wb41KsVRRUUFS5cuZd68eXTv3p3333+frl27fr987NixtG7dmtGjR/Pll1/y1FNPkZSUFMeJpaYnKRqNRuM9hBSaaBQ2bvwf8vOHkpaWxvz58xk+fHit6+/atYuhQ4dy++23U1hYyGWX+X9YKVYModTISkogPx8OHTrFI48s4+GH80hNTT3v8z788EMGDRpEt27dWL9+PWlpaQ0/rBQAPyOUGkkkApMmQZ8+cMMNUFKSwtSpU+oUQYCOHTtSXFxMWVkZgwcP5uuvv27giaUwGEKpgVVUwDPPwI03wp/+BB98AGvWwE9/ev7nVlVV8dFHH33/95ycHN555x0qKyvJzc0lEok04ORSGAyhdCFOw/K+kNwMphb/4PEqmJwD927++0PRKGzYAB07wqpV8MIL8Ic/QJcuddvVli1b6NKlC2PHjj3j8YyMDHbs2EFWVha5ubns27fvol+WFDJDKNXDlenwwkzYd6r2dY4cgcceq/488I9/hLvvrtu2y8rKGDZsGCNHjmTAgAEUFRWds07Lli3ZvHkzPXv2pFevXpSUlNTrdUgyhFK9XDseRhyEJzZBbWebXXVV9Vuh+fnQrNn5t/nVV18xY8YMunx7yFhaWsrixYu54ooralw/NTWVtWvXMmHCBPr378/27dvr9Vqk0HkOtlQPSekwawb0mAMlQ6FnLf+S6vIth6oq+PWvYevW7Rw9WkRRURG9e/eu2xxJScyfP5/27dszfPhwVq9ezejRo+v+QiQZQqm+rpkADy6HmavgPyfVbxu//z1MmwZ//Ss888yd3HPPaJKTL/yNmilTppCens59993H559/zqOPPlq/gaQAGUKpvprDtLnQ9RF47c4Le2pZWXUAi4pg8mSYORNatarb1yhqM27cODIyMhg9ejSHDh3i6aefvqjtSaHwM0LpImTcAdOvh9kL4Zs6PmfqVPj5z6FVKygthaefrv49FoYNG0ZRURGFhYXcf//9nDx5MjYblpowQyhdjGSYOA9OPg8b/1K3p3ToAG++CevWQXZ27Ee6+eabeeutt9ixYwd33XUXJ06ciP1OpCbEEEoXKa0nPDkEjlbUbf28POjVK3b7j0ajVFVVnfFYp06dKC4uprS0lCFDhngVGulHeK1RKcFt376d/Px89uzZc87FuA8fPszAgQPp0qULq1evjtOE0qXNI0IpwS1YsIC+ffvWeEeKq6++msGDB7N37944TCYlBo8IpQS2Z88eunXrRmlpKddff/05y0+cOEFOTg4LFy5kzJgxcZhQuvR5RCglsO/uY1hTBAFWr15Namoqo0aNauTJpMTh9wilBBWJRHjppZfYuXNnjcuj0ShLliwhPz+/zrd6kkLkEaGUoBYvXkzXrl3pVcspqK+++irl5eVMnDixkSeTEoshlGLknXfg6NHG2dfx48dZuXIljz/+eK3rFBQU8MADD5Cent44Q0kJyhBKMXLPPfDGG42zr8LCQlq3bs2IESNqXP7ee+9RUlLC5MmTG2cgKYEZQilGuneH995r+P2cOnWKZcuWMW3aNFJSUmpcZ/78+YwaNYqcnJyGH0hKcJ4sI8VI9+6wZUvD7+fll1/m2LFjjBs3rsbln3zyCZs2beLtt99u+GGkJsAjQilGuneHSKTh97No0SLy8vK4/PLLa1z+7LPP0qdPH3r06NHww0hNgF+ol2IkGoWkpIbdx5tvvsmgQYM4cOAA7dq1O2f50aNHyc7OZv369QwdOrRhh5GaCI8IpRhp6AhC9ZmgY8aMqTGCACtWrCAzM5PBgwc3/DBSE+FnhFKCKCsrY+vWrezevbvG5VVVVSxfvpw5c+bU6y73Uqj81yIliIKCAgYOHEinTp1qXL527VoqKyu9pqh0gTwilBLA4cOHefHFF3n99ddrXWfRokU8/PDDtGjRohEnkxKfR4RSLJyG5X0huRlMLf7B41UwOQfu3Xxxm1+2bBkdOnTg1ltvrXH5tm3b2L9/P3l5eRe3IylAhlCKoSvT4YWZsO9U7LZZUVHBc889x/Tp00mq5YycgoICxo8fT5s2bWK3YykQhlCKoWvHw4iD8MQmiNX3kg4cOEDnzp1rvZXSnj172LlzJ/n5+THaoxQWQyjFUFI6zJoB2+dAyYnYbLNTp07s3LmTZs2a1bj8u3sSdujQITY7lAJjCKUYu2YCPJgCM1fB6Qbe13f3JJw2bVoD70lqujxrVIq15jBtLnR9BF6789zFq1ZBVRW0bw/Z2ZCZCT/5Sf12tWTJkh+9J6Gk8zOEUgPIuAOmL4bZC+Hms5Z98AHs2lV9XdJDh6ofS0uDrKzqKGZlQefO/0XLlu+SlZVFVlYWmZmZXHXVVWds5/jx4zz//PMUFhY2zouSmihDKDWEZJg4D54bDBtPwcAfLFq+/O+//+1vUF5eHcWDB6v/jETgs8/28+67v6G8vJwvvvgCgBYtWtC+fXsyMzPJzs7m8OHDP3pPQkl1YwilBpLWE54cAv/4Uu3rNG8O111X/XOmUd/+QGVlJZFIhEgkwsGDB4lEIpSXl/Ppp5+SmpqK182XLo53n5AS1PHjx7nhhhuYPXu2X6SXLoIhlBLYypUrmTFjBvv37ycjIyPe40gJyRBKCez06dP06NGDW265hQULFsR7HCkh+T1CqR4qK2HKFPj2PJa4SU5OZsGCBSxdupR9+/bFdxgpQXlEKF2gaBTGj4fiYnj7bajlHrmNauTIkbRq1ZY1a56L9yhSwjGE0gWaOhVefLE6hD/7WbynqfbnPx/hF7+4gs2bU+nbN97TSInFt0alCzBvHhQWwtatl04EAa67rg15ealMngwnT8Z7GimxGEKpjtasgV/9Cn77W7jppnhPc65Zs+Crr6ov4Sap7gyhVAe/+x088EB1DAcMiPc0NWvVCp54ojqIx47FexopcRhC6TyKi4uZO7cfixdXUsstAS8ZEydWn7wzb168J5EShyGUfsTevXsZPnw4Q4fm8uCDqfEe57xSUmDhQtiwAb75Jt7TSInBs0alWnz22Wf07t2bIUOGsGLFiniPc0G++QZatIj3FFJiMIRSDY4cOUJubi433ngjr7zyCikpKfEeSVIDMYTSWSoqKujXrx/Nmzdn69attPDQSmrSvA2TdJa7776bEydOsG3bNiMoBcAjQuksRUVFdOzYkbZt28Z7FEmNwLNGpbPcdtttTSeCp2F5X0huBlOLf/B4FUzOgXs3n7le51lwxoVpqmDqP8CItY02sdToDKEUgCvT4YWZsO9UvCeRLj2GUArAteNhxEF4YhP4WYh0JkMoBSApHWbNgO1zoOREvKeRLi2GUArENRPgwRSYuQpO17JO2UJo2wbafPfTDlYcbNQxpUbn1yekUDSHaXOh6yPw2p01r3LdRNj+GHx/+YCTMPeXcLixZpTiwCNCKSAZd8D062H2QqjpUqSXXQGZ7aH9dz+ZcPkPLqpz+n/hX4dC9tVwdVvo/k9QcqyxppcahiGUQpIME+fByedh41/qt4mb/gX++3M4/Ak8VAnj//2sr1xICcYQSoFJ6wlPDoGjFRf+3OR2cNcQyLgMaAH9b4UjEUOoxOaVZSTVz//Bv/0SymfBb4ZDUrznkerJk2UkXbhKWD0B3rgNtt1hBJXYPCKUdGGqYN398B+tYMsyaOcHLEpwhlBS3Z2Cjf8Mc6KwZSVkeZtGNQGGUFKdVZVAxz5wpA20/DaCzW+D91dDa98fVYIyhJKkoPnuviQpaIZQkhQ0QyhJCpohlCQFzRBKkoJmCCVJQTOEkqSgGUJJUtAMoSQpaIZQkhQ0QyhJCpohlCQFzRBKkoJmCCVJQTOEkqSgGUJJUtAMoSQpaIZQkhQ0QyhJCpohlCQFzRBKkoJmCCVJQTOEkqSgGUJJUtAMoSQpaIZQkhQ0QyhJCpohlCQFzRBKkoJmCCVJQTOEkqSgGUJJUtAMoSQpaIZQkhS0/wc+rHVBWustygAAAABJRU5ErkJggg==\n", | |
"image/svg+xml": [ | |
"<?xml version='1.0' encoding='iso-8859-1'?>\n", | |
"<svg version='1.1' baseProfile='full'\n", | |
" xmlns='http://www.w3.org/2000/svg'\n", | |
" xmlns:rdkit='http://www.rdkit.org/xml'\n", | |
" xmlns:xlink='http://www.w3.org/1999/xlink'\n", | |
" xml:space='preserve'\n", | |
"width='450px' height='150px' viewBox='0 0 450 150'>\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450' height='150' x='0' y='0'> </rect>\n", | |
"<path class='bond-0' d='M 266.034,134.932 L 254.617,114.914' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-0' d='M 254.617,114.914 L 243.2,94.8959' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 243.2,94.8959 L 266.081,44.2306' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 237.513,83.1776 L 253.53,47.712' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 243.2,94.8959 L 218.822,92.203' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 218.822,92.203 L 194.444,89.5101' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-2' d='M 266.081,44.2306 L 224.966,6.81818' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 224.966,6.81818 L 204.074,18.7342' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 204.074,18.7342 L 183.181,30.6502' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 223.656,19.0849 L 209.031,27.4261' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 209.031,27.4261 L 194.406,35.7673' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 178.232,41.8577 L 186.391,81.292' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 181.443,95.9359 L 165.987,112.921' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 165.987,112.921 L 150.531,129.907' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<text x='255.236' y='151.432' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>NH</tspan><tspan style='baseline-shift:sub;font-size:11.25px;'>2</tspan><tspan></tspan></text>\n", | |
"<text x='170.18' y='41.8577' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='181.443' y='96.292' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"</svg>\n" | |
], | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7f49e9b8a990>" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m3" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Therefore, as `query` contains hydrogens in the molecule graph while `m1`, `m2` and `m3` don't, all the matches return `False` as expected:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"False" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m1.HasSubstructMatch(query)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"False" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m2.HasSubstructMatch(query)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"False" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m3.HasSubstructMatch(query)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"If you add explicit hydrogens to the molecule graph of `m1`, then the match will return `True`:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"m1h = Chem.AddHs(m1, onlyOnAtoms=(5,))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"image/svg+xml": [ | |
"<?xml version='1.0' encoding='iso-8859-1'?>\n", | |
"<svg version='1.1' baseProfile='full'\n", | |
" xmlns='http://www.w3.org/2000/svg'\n", | |
" xmlns:rdkit='http://www.rdkit.org/xml'\n", | |
" xmlns:xlink='http://www.w3.org/1999/xlink'\n", | |
" xml:space='preserve'\n", | |
"width='450px' height='150px' viewBox='0 0 450 150'>\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450' height='150' x='0' y='0'> </rect>\n", | |
"<path class='bond-0' d='M 239.567,132.738 L 288.977,143.182' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 239.567,132.738 L 234.234,82.5196' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 247.806,124.245 L 244.073,89.0925' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 288.977,143.182 L 299.418,125.05' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 299.418,125.05 L 309.859,106.917' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 284.232,133.206 L 291.54,120.514' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 291.54,120.514 L 298.849,107.821' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-2' d='M 307.677,92.2143 L 287.11,69.4252' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 267.34,67.7323 L 250.787,75.126' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 250.787,75.126 L 234.234,82.5196' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 234.234,82.5196 L 215.602,71.7911' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 215.602,71.7911 L 196.97,61.0626' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 183.969,61.0828 L 168.617,69.9701' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 168.617,69.9701 L 153.266,78.8573' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-7' d='M 190.46,49.8195 L 190.439,32.0688' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-7' d='M 190.439,32.0688 L 190.418,14.3182' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<text x='307.677' y='106.917' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='267.34' y='69.4252' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>NH</tspan></text>\n", | |
"<text x='183.969' y='64.8195' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='140.265' y='90.1206' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#000000' ><tspan>H</tspan></text>\n", | |
"<text x='183.908' y='14.3182' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#000000' ><tspan>H</tspan></text>\n", | |
"</svg>\n" | |
], | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7f4a03f2a120>" | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m1h" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m1h.HasSubstructMatch(query)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Note that none of the SMILES representations that you used for `m1`, `m2` and `m3` will result in \"real\" hydrogens being added to the the molecule graph." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The `[nH]` notation specifies which pyrazole tautomer you wish to construct, but there are actually no hydrogens in the molecule graph:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"image/svg+xml": [ | |
"<?xml version='1.0' encoding='iso-8859-1'?>\n", | |
"<svg version='1.1' baseProfile='full'\n", | |
" xmlns='http://www.w3.org/2000/svg'\n", | |
" xmlns:rdkit='http://www.rdkit.org/xml'\n", | |
" xmlns:xlink='http://www.w3.org/1999/xlink'\n", | |
" xml:space='preserve'\n", | |
"width='450px' height='150px' viewBox='0 0 450 150'>\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450' height='150' x='0' y='0'> </rect>\n", | |
"<path class='bond-0' d='M 237.501,23.4045 L 315.973,6.81818' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 237.501,23.4045 L 229.031,103.16' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 250.587,36.8923 L 244.658,92.721' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 315.973,6.81818 L 333.825,37.8208' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 333.825,37.8208 L 351.676,68.8234' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 308.818,23.3229 L 321.314,45.0248' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 321.314,45.0248 L 333.81,66.7266' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-2' d='M 349.494,83.5266 L 309.042,128.351' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 289.273,130.048 L 259.152,116.604' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 259.152,116.604 L 229.031,103.16' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 229.031,103.16 L 201.443,119.046' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 201.443,119.046 L 173.854,134.932' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<text x='349.494' y='83.8234' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='289.273' y='143.351' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>NH</tspan></text>\n", | |
"<text x='144.022' y='151.432' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>H</tspan><tspan style='baseline-shift:sub;font-size:11.25px;'>2</tspan><tspan>N</tspan></text>\n", | |
"</svg>\n" | |
], | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7f49e9b8a940>" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m1" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The molecule only contains heavy atoms, with the respective implicit and explicit H counts. Don't be confused by the term explicit: there are no hydrogen atoms in the connection table, the \"explicit\" hydrogen attached to the pyrazole nitrogens tells the RDKit which pyrazole tautomer we want to select." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"C 0 1\n", | |
"C 0 1\n", | |
"N 0 0\n", | |
"N 1 0\n", | |
"C 0 0\n", | |
"N 0 2\n" | |
] | |
} | |
], | |
"source": [ | |
"for a in m1.GetAtoms():\n", | |
" print(a.GetSymbol(), a.GetNumExplicitHs(), a.GetNumImplicitHs())" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"If you wanted the pyrazole hydrogen to be included as an additonal atom in the molecule graph, you should use the following SMILES notation:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"m1h = Chem.MolFromSmiles('c1cnn([H])c1N', params)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"image/svg+xml": [ | |
"<?xml version='1.0' encoding='iso-8859-1'?>\n", | |
"<svg version='1.1' baseProfile='full'\n", | |
" xmlns='http://www.w3.org/2000/svg'\n", | |
" xmlns:rdkit='http://www.rdkit.org/xml'\n", | |
" xmlns:xlink='http://www.w3.org/1999/xlink'\n", | |
" xml:space='preserve'\n", | |
"width='450px' height='150px' viewBox='0 0 450 150'>\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='450' height='150' x='0' y='0'> </rect>\n", | |
"<path class='bond-0' d='M 272.104,44.2306 L 230.989,6.81818' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 272.104,44.2306 L 249.223,94.8959' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-6' d='M 259.552,47.712 L 243.536,83.1776' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 230.989,6.81818 L 210.097,18.7342' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 210.097,18.7342 L 189.204,30.6502' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 229.679,19.0849 L 215.054,27.4261' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-1' d='M 215.054,27.4261 L 200.429,35.7673' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-2' d='M 184.255,41.8577 L 192.414,81.292' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 187.465,95.9359 L 175.26,109.349' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-3' d='M 175.26,109.349 L 163.054,122.763' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 200.467,89.5101 L 224.845,92.203' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-4' d='M 224.845,92.203 L 249.223,94.8959' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 249.223,94.8959 L 260.64,114.914' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<path class='bond-5' d='M 260.64,114.914 L 272.057,134.932' style='fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n", | |
"<text x='176.203' y='41.8577' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='187.465' y='96.292' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>N</tspan></text>\n", | |
"<text x='150.053' y='137.407' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#000000' ><tspan>H</tspan></text>\n", | |
"<text x='261.258' y='151.432' style='font-size:15px;font-style:normal;font-weight:normal;fill-opacity:1;stroke:none;font-family:sans-serif;text-anchor:start;fill:#0000FF' ><tspan>NH</tspan><tspan style='baseline-shift:sub;font-size:11.25px;'>2</tspan><tspan></tspan></text>\n", | |
"</svg>\n" | |
], | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7f4a01809030>" | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m1h" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This will set the explicit hydrogen count on the nitrogen to 0, as now the hydrogen is present in the molecule graph:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"C 0 1\n", | |
"C 0 1\n", | |
"N 0 0\n", | |
"N 0 0\n", | |
"H 0 0\n", | |
"C 0 0\n", | |
"N 0 2\n" | |
] | |
} | |
], | |
"source": [ | |
"for a in m1h.GetAtoms():\n", | |
" print(a.GetSymbol(), a.GetNumExplicitHs(), a.GetNumImplicitHs())" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Unless you need hydrogens to be included in the molecule's connection table because, for example, you need to assign 3D coodinates, it is much easier to deal with molecules having implicit and explicit hydrogen counts on the respective heavy atoms.\n", | |
"Check this thread: https://sourceforge.net/p/rdkit/mailman/message/36696340/ and the referenced blog by Roger Sayle for additional information on the way implicit/explicit/real hydrogens are dealt with by the RDKit." | |
] | |
}, | |
{ | |
"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.6.1" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment