Created
August 30, 2020 13:15
-
-
Save ptosco/93f85d18794ed46da4122fa35bdb7b6e to your computer and use it in GitHub Desktop.
AddHsWithCoordsSp2BugFixed
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": [ | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "9301e65277f143a2bd6ddd3458b5d1ef", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"from rdkit import Chem\n", | |
"from rdkit.Chem.Draw import IPythonConsole, rdMolDraw2D\n", | |
"from IPython.display import SVG\n", | |
"from rdkit.Chem import rdCoordGen, rdDepictor, rdMolTransforms, rdDistGeom\n", | |
"import numpy as np\n", | |
"import nglview as nv" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"use_coordgen = True" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def add_coords(m, use_coordgen=False):\n", | |
" if use_coordgen:\n", | |
" rdCoordGen.AddCoords(m)\n", | |
" else:\n", | |
" rdDepictor.Compute2DCoords(m)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"m = Chem.MolFromSmiles('Nc1nnc2n1CCS2')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7fdd89d21d00>" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Now I call my `add_coords` function to add a 2D conformation to the molecule:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"add_coords(m, use_coordgen)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"1" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m.GetNumConformers()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x7fdd89d21d00>" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"scale = np.array([[2, 0, 0, 0], [0, 2, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], dtype=np.double)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[2., 0., 0., 0.],\n", | |
" [0., 2., 0., 0.],\n", | |
" [0., 0., 1., 0.],\n", | |
" [0., 0., 0., 1.]])" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"scale" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"rdMolTransforms.TransformConformer(m.GetConformer(), scale)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"False" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m.GetConformer().Is3D()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"m = rdMolDraw2D.PrepareMolForDrawing(m)\n", | |
"m = Chem.AddHs(m, addCoords=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"draw_opt = rdMolDraw2D.MolDrawOptions()\n", | |
"draw_opt.addAtomIndices = True\n", | |
"drawer = rdMolDraw2D.MolDraw2DSVG(400, 400)\n", | |
"drawer.SetDrawOptions(draw_opt)\n", | |
"drawer.DrawMolecule(m)\n", | |
"drawer.FinishDrawing()\n", | |
"svg = drawer.GetDrawingText()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/svg+xml": [ | |
"<svg baseProfile=\"full\" height=\"400px\" version=\"1.1\" viewBox=\"0 0 400 400\" width=\"400px\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:rdkit=\"http://www.rdkit.org/xml\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect height=\"400\" style=\"opacity:1.0;fill:#FFFFFF;stroke:none\" width=\"400\" x=\"0\" y=\"0\"> </rect>\n", | |
"<path class=\"bond-0\" d=\"M 315.907,115.691 L 304.573,150.477\" 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 304.573,150.477 L 293.239,185.262\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-10\" d=\"M 311.637,95.7679 L 305.31,88.7288\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-10\" d=\"M 305.31,88.7288 L 298.982,81.6896\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-11\" d=\"M 327.434,102.883 L 340.289,100.161\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-11\" d=\"M 340.289,100.161 L 353.144,97.4398\" 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 293.239,185.262 L 314.121,214.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-1\" d=\"M 314.121,214.046 L 335.003,242.83\" 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 289.197,201.374 L 303.815,221.523\" 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 303.815,221.523 L 318.432,241.672\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-8\" d=\"M 293.239,185.262 L 257.348,196.891\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-8\" d=\"M 257.348,196.891 L 221.457,208.52\" 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 334.978,265.104 L 300.99,311.811\" 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 284.177,319.684 L 248.304,307.996\" 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 248.304,307.996 L 212.43,296.307\" 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 277.36,304.072 L 252.248,295.889\" 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 252.248,295.889 L 227.136,287.707\" 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 212.43,296.307 L 212.459,259.433\" 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 212.459,259.433 L 212.489,222.56\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-9\" d=\"M 212.43,296.307 L 176.01,308.107\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-9\" d=\"M 176.01,308.107 L 139.591,319.907\" style=\"fill:none;fill-rule:evenodd;stroke:#CCCC00;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-5\" d=\"M 203.538,208.504 L 167.664,196.815\" 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 167.664,196.815 L 131.79,185.126\" 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 131.79,185.126 L 81.8445,253.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-12\" d=\"M 131.79,185.126 L 121.972,154.827\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-13\" d=\"M 131.79,185.126 L 97.9907,179.746\" 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 81.8445,253.763 L 102.815,282.669\" 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 102.815,282.669 L 123.786,311.575\" style=\"fill:none;fill-rule:evenodd;stroke:#CCCC00;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-14\" d=\"M 81.8445,253.763 L 47.5176,253.738\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-15\" d=\"M 81.8445,253.763 L 67.7286,226.009\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"atom-0\" d=\"M 315.55 95.5399 L 321.458 105.089 Q 322.044 106.032, 322.986 107.738 Q 323.928 109.444, 323.979 109.546 L 323.979 95.5399 L 326.373 95.5399 L 326.373 113.569 L 323.903 113.569 L 317.562 103.129 Q 316.824 101.906, 316.034 100.506 Q 315.27 99.1051, 315.041 98.6721 L 315.041 113.569 L 312.698 113.569 L 312.698 95.5399 L 315.55 95.5399 \" fill=\"#0000FF\"/>\n", | |
"<path class=\"atom-2\" d=\"M 339.097 244.952 L 345.005 254.502 Q 345.591 255.444, 346.533 257.15 Q 347.475 258.856, 347.526 258.958 L 347.526 244.952 L 349.92 244.952 L 349.92 262.981 L 347.45 262.981 L 341.109 252.541 Q 340.37 251.318, 339.581 249.918 Q 338.817 248.517, 338.588 248.084 L 338.588 262.981 L 336.245 262.981 L 336.245 244.952 L 339.097 244.952 \" fill=\"#0000FF\"/>\n", | |
"<path class=\"atom-3\" d=\"M 289.152 313.589 L 295.06 323.138 Q 295.645 324.081, 296.587 325.787 Q 297.53 327.493, 297.581 327.595 L 297.581 313.589 L 299.974 313.589 L 299.974 331.618 L 297.504 331.618 L 291.163 321.178 Q 290.425 319.955, 289.635 318.555 Q 288.872 317.154, 288.642 316.721 L 288.642 331.618 L 286.3 331.618 L 286.3 313.589 L 289.152 313.589 \" fill=\"#0000FF\"/>\n", | |
"<path class=\"atom-5\" d=\"M 208.512 202.408 L 214.42 211.958 Q 215.006 212.9, 215.948 214.606 Q 216.89 216.312, 216.941 216.414 L 216.941 202.408 L 219.335 202.408 L 219.335 220.438 L 216.865 220.438 L 210.524 209.997 Q 209.785 208.775, 208.996 207.374 Q 208.232 205.974, 208.003 205.541 L 208.003 220.438 L 205.66 220.438 L 205.66 202.408 L 208.512 202.408 \" fill=\"#0000FF\"/>\n", | |
"<path class=\"atom-8\" d=\"M 126.595 328.656 Q 126.799 328.732, 127.639 329.089 Q 128.48 329.445, 129.396 329.675 Q 130.339 329.878, 131.255 329.878 Q 132.961 329.878, 133.955 329.063 Q 134.948 328.223, 134.948 326.772 Q 134.948 325.778, 134.438 325.167 Q 133.955 324.556, 133.191 324.225 Q 132.427 323.894, 131.153 323.512 Q 129.549 323.028, 128.581 322.57 Q 127.639 322.111, 126.952 321.144 Q 126.29 320.176, 126.29 318.546 Q 126.29 316.28, 127.818 314.879 Q 129.371 313.479, 132.427 313.479 Q 134.515 313.479, 136.883 314.472 L 136.297 316.433 Q 134.133 315.541, 132.503 315.541 Q 130.746 315.541, 129.778 316.28 Q 128.811 316.993, 128.836 318.241 Q 128.836 319.208, 129.32 319.794 Q 129.829 320.38, 130.542 320.711 Q 131.281 321.042, 132.503 321.424 Q 134.133 321.933, 135.101 322.442 Q 136.068 322.952, 136.756 323.996 Q 137.469 325.014, 137.469 326.772 Q 137.469 329.267, 135.788 330.617 Q 134.133 331.941, 131.357 331.941 Q 129.753 331.941, 128.531 331.584 Q 127.334 331.253, 125.908 330.668 L 126.595 328.656 \" fill=\"#CCCC00\"/>\n", | |
"<path class=\"atom-9\" d=\"M 284.109 63.9761 L 286.553 63.9761 L 286.553 71.6411 L 295.772 71.6411 L 295.772 63.9761 L 298.216 63.9761 L 298.216 82.0054 L 295.772 82.0054 L 295.772 73.6783 L 286.553 73.6783 L 286.553 82.0054 L 284.109 82.0054 L 284.109 63.9761 \" fill=\"#000000\"/>\n", | |
"<path class=\"atom-10\" d=\"M 354.004 86.75 L 356.448 86.75 L 356.448 94.415 L 365.667 94.415 L 365.667 86.75 L 368.111 86.75 L 368.111 104.779 L 365.667 104.779 L 365.667 96.4522 L 356.448 96.4522 L 356.448 104.779 L 354.004 104.779 L 354.004 86.75 \" fill=\"#000000\"/>\n", | |
"<path class=\"atom-11\" d=\"M 111.653 135.737 L 114.097 135.737 L 114.097 143.402 L 123.316 143.402 L 123.316 135.737 L 125.76 135.737 L 125.76 153.766 L 123.316 153.766 L 123.316 145.439 L 114.097 145.439 L 114.097 153.766 L 111.653 153.766 L 111.653 135.737 \" fill=\"#000000\"/>\n", | |
"<path class=\"atom-12\" d=\"M 82.822 169.44 L 85.2667 169.44 L 85.2667 177.105 L 94.485 177.105 L 94.485 169.44 L 96.9297 169.44 L 96.9297 187.469 L 94.485 187.469 L 94.485 179.142 L 85.2667 179.142 L 85.2667 187.469 L 82.822 187.469 L 82.822 169.44 \" fill=\"#000000\"/>\n", | |
"<path class=\"atom-13\" d=\"M 32.3489 244.718 L 34.7935 244.718 L 34.7935 252.383 L 44.0119 252.383 L 44.0119 244.718 L 46.4566 244.718 L 46.4566 262.747 L 44.0119 262.747 L 44.0119 254.42 L 34.7935 254.42 L 34.7935 262.747 L 32.3489 262.747 L 32.3489 244.718 \" fill=\"#000000\"/>\n", | |
"<path class=\"atom-14\" d=\"M 55.5502 206.918 L 57.9948 206.918 L 57.9948 214.583 L 67.2132 214.583 L 67.2132 206.918 L 69.6579 206.918 L 69.6579 224.948 L 67.2132 224.948 L 67.2132 216.621 L 57.9948 216.621 L 57.9948 224.948 L 55.5502 224.948 L 55.5502 206.918 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 298.775 113.61 Q 297.12 113.61, 296.292 112.387 Q 295.477 111.165, 295.477 108.988 Q 295.477 106.81, 296.292 105.601 Q 297.107 104.391, 298.775 104.391 Q 300.443 104.391, 301.258 105.601 Q 302.073 106.81, 302.073 108.988 Q 302.073 111.165, 301.245 112.387 Q 300.43 113.61, 298.775 113.61 M 298.775 112.591 Q 299.755 112.591, 300.277 111.687 Q 300.799 110.77, 300.799 108.988 Q 300.799 107.218, 300.277 106.314 Q 299.755 105.41, 298.775 105.41 Q 297.807 105.41, 297.272 106.314 Q 296.75 107.218, 296.75 108.988 Q 296.75 110.77, 297.272 111.687 Q 297.807 112.591, 298.775 112.591 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 301.498 187.124 L 303.472 187.124 L 303.472 180.389 L 301.294 181.064 L 301.001 180.312 L 303.764 179.077 L 304.668 179.23 L 304.668 187.124 L 306.438 187.124 L 306.438 188.143 L 301.498 188.143 L 301.498 187.124 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 361.292 251.232 Q 361.623 250.379, 362.413 249.908 Q 363.202 249.424, 364.297 249.424 Q 365.659 249.424, 366.423 250.162 Q 367.187 250.901, 367.187 252.212 Q 367.187 253.549, 366.194 254.797 Q 365.214 256.045, 363.177 257.522 L 367.34 257.522 L 367.34 258.54 L 361.267 258.54 L 361.267 257.687 Q 362.947 256.49, 363.941 255.599 Q 364.946 254.708, 365.43 253.906 Q 365.914 253.104, 365.914 252.276 Q 365.914 251.41, 365.481 250.926 Q 365.048 250.442, 364.297 250.442 Q 363.571 250.442, 363.087 250.735 Q 362.604 251.028, 362.26 251.677 L 361.292 251.232 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 300.977 342.6 Q 301.856 342.855, 302.276 343.428 Q 302.709 343.988, 302.709 344.879 Q 302.709 345.643, 302.327 346.242 Q 301.945 346.827, 301.245 347.158 Q 300.545 347.477, 299.628 347.477 Q 298.66 347.477, 297.934 347.146 Q 297.221 346.802, 296.648 346.114 L 297.374 345.376 Q 297.934 345.987, 298.405 346.229 Q 298.877 346.458, 299.628 346.458 Q 300.443 346.458, 300.939 346.025 Q 301.436 345.58, 301.436 344.867 Q 301.436 343.95, 300.914 343.542 Q 300.405 343.122, 299.297 343.122 L 298.647 343.122 L 298.647 342.205 L 299.22 342.205 Q 300.201 342.193, 300.723 341.773 Q 301.245 341.34, 301.245 340.537 Q 301.245 339.952, 300.812 339.608 Q 300.379 339.251, 299.641 339.251 Q 298.889 339.251, 298.418 339.519 Q 297.96 339.786, 297.603 340.461 L 296.725 339.99 Q 297.043 339.239, 297.807 338.742 Q 298.571 338.233, 299.641 338.233 Q 300.965 338.233, 301.741 338.857 Q 302.518 339.481, 302.518 340.537 Q 302.518 341.263, 302.123 341.785 Q 301.729 342.307, 300.977 342.6 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 223.406 291.49 L 224.488 291.49 L 224.488 292.509 L 223.406 292.509 L 223.406 294.584 L 222.209 294.584 L 222.209 292.509 L 217.549 292.509 L 217.549 291.707 L 221.496 285.57 L 223.406 285.57 L 223.406 291.49 M 219.026 291.49 L 222.209 291.49 L 222.209 286.385 L 219.026 291.49 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 195.542 222.749 Q 196.331 222.749, 196.981 223.093 Q 197.63 223.424, 197.999 224.061 Q 198.369 224.685, 198.369 225.538 Q 198.369 226.467, 197.91 227.142 Q 197.465 227.804, 196.726 228.148 Q 195.988 228.492, 195.147 228.492 Q 194.32 228.492, 193.556 228.186 Q 192.792 227.881, 192.27 227.295 L 193.034 226.505 Q 193.454 226.964, 194.027 227.218 Q 194.6 227.46, 195.186 227.46 Q 195.988 227.46, 196.535 226.964 Q 197.095 226.467, 197.095 225.563 Q 197.095 224.608, 196.535 224.163 Q 195.988 223.704, 195.109 223.704 Q 194.32 223.704, 193.441 224.048 L 192.741 223.717 L 193.174 219.375 L 197.808 219.375 L 197.681 220.394 L 194.218 220.394 L 193.951 223.068 Q 194.753 222.749, 195.542 222.749 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 135.462 194.15 Q 136.251 194.15, 136.875 194.494 Q 137.499 194.838, 137.843 195.462 Q 138.187 196.086, 138.187 196.875 Q 138.187 197.754, 137.792 198.441 Q 137.41 199.116, 136.723 199.498 Q 136.035 199.88, 135.156 199.88 Q 133.552 199.88, 132.737 198.798 Q 131.935 197.703, 131.935 195.538 Q 131.935 193.144, 132.928 191.909 Q 133.934 190.662, 135.857 190.662 Q 136.417 190.662, 136.888 190.789 Q 137.372 190.916, 137.83 191.184 L 137.334 192.037 Q 136.672 191.68, 135.87 191.68 Q 134.596 191.68, 133.947 192.508 Q 133.298 193.323, 133.221 195.016 Q 133.68 194.596, 134.252 194.38 Q 134.838 194.15, 135.462 194.15 M 135.169 198.836 Q 135.653 198.836, 136.048 198.581 Q 136.455 198.327, 136.684 197.881 Q 136.914 197.435, 136.914 196.888 Q 136.914 196.086, 136.468 195.627 Q 136.022 195.169, 135.233 195.169 Q 134.685 195.169, 134.138 195.398 Q 133.603 195.615, 133.221 195.997 Q 133.272 197.486, 133.743 198.161 Q 134.214 198.836, 135.169 198.836 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 94.1866 250.282 L 89.4628 250.282 L 89.4628 249.263 L 95.4471 249.263 L 95.4471 250.167 L 91.8056 258.278 L 90.5833 258.278 L 94.1866 250.282 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 126.529 342.429 Q 127.356 342.785, 127.827 343.32 Q 128.298 343.842, 128.298 344.733 Q 128.298 345.497, 127.904 346.096 Q 127.509 346.681, 126.796 347.012 Q 126.096 347.331, 125.166 347.331 Q 123.664 347.331, 122.798 346.643 Q 121.932 345.943, 121.932 344.733 Q 121.932 343.995, 122.314 343.447 Q 122.696 342.887, 123.485 342.467 Q 122.9 342.136, 122.581 341.652 Q 122.263 341.155, 122.263 340.392 Q 122.263 339.335, 123.027 338.711 Q 123.804 338.087, 125.115 338.087 Q 126.427 338.087, 127.191 338.711 Q 127.967 339.335, 127.967 340.392 Q 127.967 341.054, 127.598 341.55 Q 127.242 342.034, 126.529 342.429 M 125.115 339.042 Q 124.364 339.042, 123.944 339.398 Q 123.536 339.755, 123.536 340.392 Q 123.536 340.863, 123.817 341.181 Q 124.097 341.487, 124.491 341.665 Q 124.899 341.843, 125.675 342.11 Q 126.223 341.728, 126.452 341.321 Q 126.694 340.914, 126.694 340.392 Q 126.694 339.755, 126.274 339.398 Q 125.866 339.042, 125.115 339.042 M 125.166 346.376 Q 126.007 346.376, 126.516 345.93 Q 127.025 345.472, 127.025 344.721 Q 127.025 344.237, 126.758 343.931 Q 126.49 343.626, 126.083 343.447 Q 125.688 343.269, 124.975 343.04 L 124.402 342.849 Q 123.766 343.231, 123.485 343.689 Q 123.205 344.135, 123.205 344.721 Q 123.205 345.472, 123.74 345.93 Q 124.275 346.376, 125.166 346.376 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 276.881 52.6506 Q 278.485 52.6506, 279.287 53.7456 Q 280.102 54.8279, 280.102 56.9924 Q 280.102 59.3861, 279.096 60.6339 Q 278.103 61.869, 276.18 61.869 Q 275.62 61.869, 275.136 61.7417 Q 274.665 61.6143, 274.207 61.3469 L 274.703 60.4939 Q 275.365 60.8504, 276.168 60.8504 Q 277.441 60.8504, 278.09 60.0355 Q 278.74 59.2079, 278.816 57.5144 Q 278.358 57.9346, 277.772 58.1638 Q 277.199 58.3803, 276.575 58.3803 Q 275.786 58.3803, 275.162 58.0365 Q 274.538 57.6927, 274.194 57.0688 Q 273.85 56.4449, 273.85 55.6555 Q 273.85 54.777, 274.232 54.1021 Q 274.627 53.4146, 275.314 53.0326 Q 276.002 52.6506, 276.881 52.6506 M 275.123 55.6428 Q 275.123 56.4449, 275.569 56.9033 Q 276.015 57.3617, 276.804 57.3617 Q 277.352 57.3617, 277.886 57.1452 Q 278.434 56.916, 278.816 56.534 Q 278.765 55.0443, 278.294 54.3695 Q 277.823 53.6947, 276.868 53.6947 Q 276.384 53.6947, 275.977 53.9493 Q 275.582 54.204, 275.353 54.6496 Q 275.123 55.0953, 275.123 55.6428 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 373.192 94.9093 L 375.165 94.9093 L 375.165 88.1738 L 372.988 88.8486 L 372.695 88.0974 L 375.458 86.8623 L 376.362 87.0151 L 376.362 94.9093 L 378.132 94.9093 L 378.132 95.9279 L 373.192 95.9279 L 373.192 94.9093 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 382.207 96.0298 Q 380.551 96.0298, 379.724 94.8075 Q 378.909 93.5851, 378.909 91.4079 Q 378.909 89.2306, 379.724 88.021 Q 380.539 86.8114, 382.207 86.8114 Q 383.874 86.8114, 384.689 88.021 Q 385.504 89.2306, 385.504 91.4079 Q 385.504 93.5851, 384.677 94.8075 Q 383.862 96.0298, 382.207 96.0298 M 382.207 95.0112 Q 383.187 95.0112, 383.709 94.1072 Q 384.231 93.1904, 384.231 91.4079 Q 384.231 89.638, 383.709 88.734 Q 383.187 87.83, 382.207 87.83 Q 381.239 87.83, 380.704 88.734 Q 380.182 89.638, 380.182 91.4079 Q 380.182 93.1904, 380.704 94.1072 Q 381.239 95.0112, 382.207 95.0112 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 104.162 128.078 L 106.136 128.078 L 106.136 121.343 L 103.959 122.017 L 103.666 121.266 L 106.429 120.031 L 107.333 120.184 L 107.333 128.078 L 109.102 128.078 L 109.102 129.097 L 104.162 129.097 L 104.162 128.078 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 110.287 128.078 L 112.26 128.078 L 112.26 121.343 L 110.083 122.017 L 109.79 121.266 L 112.553 120.031 L 113.457 120.184 L 113.457 128.078 L 115.227 128.078 L 115.227 129.097 L 110.287 129.097 L 110.287 128.078 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 60.6235 178.659 L 62.597 178.659 L 62.597 171.923 L 60.4198 172.598 L 60.1269 171.847 L 62.8899 170.612 L 63.7939 170.765 L 63.7939 178.659 L 65.5637 178.659 L 65.5637 179.677 L 60.6235 179.677 L 60.6235 178.659 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 66.2258 172.369 Q 66.5569 171.516, 67.3463 171.045 Q 68.1357 170.561, 69.2307 170.561 Q 70.5931 170.561, 71.357 171.299 Q 72.121 172.038, 72.121 173.349 Q 72.121 174.686, 71.1278 175.934 Q 70.1474 177.182, 68.1102 178.659 L 72.2738 178.659 L 72.2738 179.677 L 66.2004 179.677 L 66.2004 178.824 Q 67.881 177.627, 68.8742 176.736 Q 69.8801 175.845, 70.3639 175.043 Q 70.8477 174.241, 70.8477 173.413 Q 70.8477 172.547, 70.4148 172.063 Q 69.9819 171.579, 69.2307 171.579 Q 68.5049 171.579, 68.0211 171.872 Q 67.5373 172.165, 67.1935 172.815 L 66.2258 172.369 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 9.94386 257.257 L 11.9174 257.257 L 11.9174 250.521 L 9.74014 251.196 L 9.44729 250.445 L 12.2103 249.21 L 13.1143 249.363 L 13.1143 257.257 L 14.8841 257.257 L 14.8841 258.275 L 9.94386 258.275 L 9.94386 257.257 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 19.7479 253.526 Q 20.6265 253.781, 21.0466 254.354 Q 21.4795 254.914, 21.4795 255.805 Q 21.4795 256.569, 21.0976 257.168 Q 20.7156 257.753, 20.0153 258.084 Q 19.315 258.403, 18.3983 258.403 Q 17.4306 258.403, 16.7048 258.072 Q 15.9918 257.728, 15.4189 257.04 L 16.1446 256.302 Q 16.7048 256.913, 17.1759 257.155 Q 17.6471 257.384, 18.3983 257.384 Q 19.2132 257.384, 19.7097 256.951 Q 20.2063 256.506, 20.2063 255.793 Q 20.2063 254.876, 19.6843 254.468 Q 19.175 254.048, 18.0672 254.048 L 17.4179 254.048 L 17.4179 253.132 L 17.9908 253.132 Q 18.9712 253.119, 19.4933 252.699 Q 20.0153 252.266, 20.0153 251.464 Q 20.0153 250.878, 19.5824 250.534 Q 19.1495 250.178, 18.411 250.178 Q 17.6598 250.178, 17.1887 250.445 Q 16.7303 250.712, 16.3738 251.387 L 15.4953 250.916 Q 15.8136 250.165, 16.5775 249.668 Q 17.3415 249.159, 18.411 249.159 Q 19.7352 249.159, 20.5119 249.783 Q 21.2886 250.407, 21.2886 251.464 Q 21.2886 252.189, 20.8939 252.711 Q 20.4991 253.233, 19.7479 253.526 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 44.3829 200.532 L 46.3565 200.532 L 46.3565 193.797 L 44.1792 194.472 L 43.8864 193.72 L 46.6493 192.485 L 47.5533 192.638 L 47.5533 200.532 L 49.3232 200.532 L 49.3232 201.551 L 44.3829 201.551 L 44.3829 200.532 \" fill=\"#000000\"/>\n", | |
"<path class=\"note\" d=\"M 55.5621 198.457 L 56.6444 198.457 L 56.6444 199.475 L 55.5621 199.475 L 55.5621 201.551 L 54.3652 201.551 L 54.3652 199.475 L 49.7051 199.475 L 49.7051 198.673 L 53.6522 192.536 L 55.5621 192.536 L 55.5621 198.457 M 51.1821 198.457 L 54.3652 198.457 L 54.3652 193.351 L 51.1821 198.457 \" fill=\"#000000\"/>\n", | |
"</svg>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.SVG object>" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"SVG(svg)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Now the amine hydrogens have correctly drawn on the `xy` plane." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0 N (2.242488750881619, 3.127111121283637, 0.0)\n", | |
"1 C (1.6228888363308378, 1.2255110846625432, 0.0)\n", | |
"2 N (2.7972888607449002, -0.3932888878716363, 0.0)\n", | |
"3 N (1.6204889339870878, -2.0104888237847223, 0.0)\n", | |
"4 C (-0.28111110263400585, -1.390888909233941, 0.0)\n", | |
"5 N (-0.2795110660129121, 0.6091110907660591, 0.0)\n", | |
"6 C (-2.1811111026340058, 1.2287110816107856, 0.0)\n", | |
"7 C (-3.3579110293918184, -0.3884888543023004, 0.0)\n", | |
"8 S (-2.183511081271701, -2.0072889031304255, 0.0)\n", | |
"9 H (1.5739706527928292, 3.8708069949630244, 0.0)\n", | |
"10 H (3.2208073192220263, 3.3342168402784926, 0.0)\n", | |
"11 H (-2.4893831549564998, 2.180009321784117, 0.0)\n", | |
"12 H (-3.168679828101494, 1.3858989070888434, 0.0)\n", | |
"13 H (-4.357910769803254, -0.38776831487957264, 0.0)\n", | |
"14 H (-3.8112496563876204, 0.5028495153831751, 0.0)\n" | |
] | |
} | |
], | |
"source": [ | |
"for i, a in enumerate(m.GetAtoms()):\n", | |
" print(a.GetIdx(), a.GetSymbol(), tuple(m.GetConformer().GetAtomPosition(i)))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Also when working with 3D conformations hydrogens are now placed in the same plane as the `sp2` system:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"m = Chem.MolFromSmiles(\"NC=C\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0" | |
] | |
}, | |
"execution_count": 18, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"rdDistGeom.EmbedMolecule(m, useRandomCoords=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"1" | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"m.GetNumConformers()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"m = rdMolDraw2D.PrepareMolForDrawing(m)\n", | |
"m = Chem.AddHs(m, addCoords=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"draw_opt = rdMolDraw2D.MolDrawOptions()\n", | |
"draw_opt.addAtomIndices = True\n", | |
"drawer = rdMolDraw2D.MolDraw2DSVG(400, 400)\n", | |
"drawer.SetDrawOptions(draw_opt)\n", | |
"drawer.DrawMolecule(m)\n", | |
"drawer.FinishDrawing()\n", | |
"svg = drawer.GetDrawingText()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"view1 = nv.NGLWidget()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "ac2cafe90645402eb11b28495c4b912b", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"NGLWidget()" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"view1.add_structure(nv.RdkitStructure(m))\n", | |
"view1" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABiAAAAEsCAYAAABKent4AAAgAElEQVR4Xu3de7RfdXkn/udcc8Il5B5yIVeuKYMFtYzVltVKZ5RakFYL6lRds6wWlKGVH/YyFClqbbUWIw5jBa2sVqFIq4NakWWL7ejwqw33S0IgISSBQO73yzk558x6PrDPfBMCbGCTy8nru9ZZnJzzOZ+992vvv/ab53naBgcHB8OHAAECBAgQIECAAAECBAgQIECAAAECBAgQINCgQJsAokFNWxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJFQADhQSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECAAAECBAgQIECAAAECBBoXEEA0TmpDAgQIECBAgAABAgQIECBAgAABAgQIECBAQADhGSBAgAABAgQIECBAgAABAgQIECBAgAABAgQaFxBANE5qQwIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAA4RkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGhcQQDROakMCBAgQIECAAAECBAgQIECAAAECBAgQIEBAAOEZIECAAAECBAgQIECgCNx6662xdOnSWL58eXR3d8fAwEDs2LEjJk+eHLNmzYpzzjmHFAECBAgQIECAAAECBGoLCCBqU1lIgAABAgQIECBAYHgKzJs3L7Zu3Rpjx46Nww8/PEaMGBEdHR0xODgYfX19JYTYvHlzPPXUU/GGN7whfu3Xfm14QrgqAgQIECBAgAABAgQaFRBANMppMwIECBAgQIAAAQIHj8CiRYvi+uuvjxkzZpTw4Ygjjoienp7o6uqK9vb2EkD09/dHb29vbNu2LTZt2hSrVq0qay644IKD50KdKQECBAgQIECAAAEC+0VAALFf2B2UAAECBAgQIECAwP4VeOSRR+LGG28s4cP48eNj1KhRMXLkyFL90NnZORRAZBumDCCyCiKrJDZs2BBPP/10LFiwIL7whS/s34twdAIECBAgQIAAAQIEDmgBAcQBfXucHAECBAgQIECAAIHmBR566KESPhx33HExceLEGD169FD1Q9V+qaqAyACiasOUVRDZimndunXx5JNPlhO78MILmz9BOxIgQIAAAQIECBAgMCwEBBDD4ja6CAIECBAgQIAAAQL1Bb70pS+VGQ9Tp06NcePGleqHnP1QtV/KCoi2trayYbZg2rVrV+zcubO0YdqyZUts3LixtGJ6/PHH4/jjj4+zzz67/sGtJECAAAECBAgQIEDgkBEQQBwyt9qFEiBAgAABAgQIEIi46aabSnAwe/bsmDRpUql+OPLII4eGT3d3d5cWTBlA5AyIqgKimgORbZgygFi7dm2sXLkyspriM5/5DFoCBAgQIECAAAECBAg8R0AA4aEgQIAAAQIECBAgcAgJfPGLXyxzHo455piYMGHCUPulww47rFRAtFY/VCwZQmQFxPbt28sciKoNU86CWLJkSRx77LFx7rnnHkKKLpUAAQIECBAgQIAAgToCAog6StYQIECAAAECBAgQGCYCl112WcydOzemTJlShk8fddRRZf5DNYC6ar205+VmG6YMILIN06ZNm8ow6mzDtGzZsvLzj370o8NEyGUQIECAAAECBAgQINCUgACiKUn7ECBAgAABAgQIEDjABRYtWhQ333xzmdswefLkGDt27FAAkRUQWf3wfJ9sx7Rjx46hCogMIFavXh0rVqyIe++9N+bNm3eAX73TI0CAAAECBAgQIEBgXwsIIPa1uOMRIECAAAECBAgQ2E8Ct956a9x///0xZ86coQAiB1BnBUQGEDmY+oUCiGzDVLVgygBizZo18cQTT8SDDz5oDsR+uqcOS4AAAQIECBAgQOBAFhBAHMh3x7kRIECAAAECBAgQaFCgNYA4+uijhyogDj/88BJA1K2A2LJlS2nBlBUQGUAYRN3gTbIVAQIECBAg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AAEC9QUEEPWtrCRAgAABAgQIECBAgAABAgQIECBAgAABAgRqCgggakJZRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECNQXEEDUt7KSAAECBAgQIECAAAECBAgQIECAAAECBAgQqCkggKgJZRkBAgQIECBAgAABAgQIECBAgAABAgQIECBQX0AAUd/KSgIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCmgACiJpRlBAgQIECAAAECBAgQIECAAAECBAgQIECAQH0BAUR9KysJECBAgAABAgQIECBAgAABAgQIECBAgACBmgICiJpQlhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BQQQ9a2sJECAAAECBAgQIECAAAECBAgQIECAAAECBGoKCCBqQllGgAABAgQIECBAgAABAgQIECBAgAABAgQI1BcQQNS3spIAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoKSCAqAllGQECBAgQIECAAAECBAgQIECAAAECBAgQIFBfQABR38pKAgQIECBAgAABAgQIECBAgAABAgQIECBAoKaAAKImlGUECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAfQEBRH0rKwkQIECAAAECBAgQIECAAAECBAgQIECAAIGaAgKImlCWESBAgAABAgQIECBAgAABAgQIECBAgAABAvUFBBD1rawkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEagoIIGpCWUaAAAECBAgQIECAAAECBAgQIECAAAECBAjUFxBA1LeykgABAgQIECBAgAABAgQIECBAgAABAgQIEKgpIICoCWUZAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUF9AAFHfykoCBAgQIECAAAECBAgQIECAAAECBAgQIECgpoAAoiaUZQQIECBAgAABAgQIECBAgAABAgQIECBAgEB9AQFEfSsrCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZoCAoiaUJYRIECAAAECBAgQIECAAAECBAgQIECAAAEC9QUEEPWtrCRAgAABAgQIECBAgAABAgQIECBAgAABAgRqCgggakJZRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECNQXEEDUt7KSAAECBAgQIECAAAECBAgQIECAAAECBAgQqCkggKgJZRkBAgQIECBAgAABAgQIECBAgAABAgQIECBQX0AAUd/KSgIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCmgACiJpRlBAgQIECAAAECBAgQIECAAAECBAgQIECAQH0BAUR9KysJECBAgAABAgQIECBAgAABAgQIECBAgACBmgICiJpQlhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BQQQ9a2sJECAAAECBAgQIECAAAECBAgQIECAAAECBGoKCCBqQllGgAABAgQIECBAgAABAgQIECBAgAABAgQI1BcQQNS3spIAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoKSCAqAllGQECBAgQIECAAAECBAgQIECAAAECBAgQIFBfQABR38pKAgQIECBAgAABAgQIECBAgAABAgQIECBAoKaAAKImlGUECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAfQEBRH0rKwkQIECAAAECBAgQIECAAAECBAgQIECAAIGaAgKImlCWESBAgAABAgQIECBAgAABAgQIECBAgAABAvUFBBD1rawkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEagoIIGpCWUaAAAECBAgQIECAAAECBAgQIECAAAECBAjUFxBA1LeykgABAgQIECBAgAABAgQIECBAgAABAgQIEKgpIICoCWUZAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUF9AAFHfykoCBAgQIECAAAECBAgQIECAAAECBAgQIECgpoAAoiaUZQQIECBAgAABAgQIECBAgAABAgQIECBAgEB9AQFEfSsrCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZoCAoiaUJYRIECAAAECBAgQIECAAAECBAgQIECAAAEC9QUEEPWtrCRAgAABAgQIECBAgAABAgQIECBAgAABAgRqCgggakJZRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECNQXEEDUt7KSAAECBAgQIECAAAECBAgQIECAAAECBAgQqCkggKgJZRkBAgQIECBAgAABAgQIECBAgAABAgQIECBQX0AAUd/KSgIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCmgACiJpRlBAgQIECAAAECBAgQIECAAAECBAgQIECAQH0BAUR9KysJECBAgAABAgQIECBAgAABAgQIECBAgACBmgICiJpQlhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BQQQ9a2sJECAAAECBAgQIECAAAECBAgQIECAAAECBGoKCCBqQllGgAABAgQIECBAgAABAgQIECBAgAABAgQI1BcQQNS3spIAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoKSCAqAllGQECBAgQIECAAAECBAgQIECAAAECBAgQIFBfQABR38pKAgQIECBAgAABAgQIECBAgAABAgQIECBAoKaAAKImlGUECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAfQEBRH0rKwkQIECAAAECBAgQIECAAAECBAgQIECAAIGaAgKImlCWESBArMiL2gAABgRJREFUgAABAgQIECBAgAABAgQIECBAgAABAvUFBBD1rawkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEagoIIGpCWUaAAAECBAgQIECAAAECBAgQIECAAAECBAjUFxBA1LeykgABAgQIECBAgAABAgQIECBAgAABAgQIEKgpIICoCWUZAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUF9AAFHfykoCBAgQIECAAAECBAgQIECAAAECBAgQIECgpoAAoiaUZQQIECBAgAABAgQIECBAgAABAgQIECBAgEB9AQFEfSsrCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZoCAoiaUJYRIECAAAECBAgQIECAAAECBAgQIECAAAEC9QUEEPWtrCRAgAABAgQIECBAgAABAgQIECBAgAABAgRqCgggakJZRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECNQXEEDUt7KSAAECBAgQIECAAAECBAgQIECAAAECBAgQqCkggKgJZRkBAgQIECBAgAABAgQIECBAgAABAgQIECBQX0AAUd/KSgIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCmgACiJpRlBAgQIECAAAECBAgQIECAAAECBAgQIECAQH0BAUR9KysJECBAgAABAgQIECBAgAABAgQIECBAgACBmgICiJpQlhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BQQQ9a2sJECAAAECBAgQIECAAAECBAgQIECAAAECBGoKCCBqQllGgAABAgQIECBAgAABAgQIECBAgAABAgQI1BcQQNS3spIAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoKSCAqAllGQECBAgQIECAAAECBAgQIECAAAECBAgQIFBfQABR38pKAgQIECBAgAABAgQIECBAgAABAgQIECBAoKaAAKImlGUECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAfQEBRH0rKwkQIECAAAECBAgQIECAAAECBAgQIECAAIGaAgKImlCWESBAgAABAgQIECBAgAABAgQIECBAgAABAvUFBBD1rawkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEagoIIGpCWUaAAAECBAgQIECAAAECBAgQIECAAAECBAjUFxBA1LeykgABAgQIECBAgAABAgQIECBAgAABAgQIEKgpIICoCWUZAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUF9AAFHfykoCBAgQIECAAAECBAgQIECAAAECBAgQIECgpoAAoiaUZQQIECBAgAABAgQIECBAgAABAgQIECBAgEB9AQFEfSsrCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZoCAoiaUJYRIECAAAECBAgQIECAAAECBAgQIECAAAEC9QUEEPWtrCRAgAABAgQIECBAgAABAgQIECBAgAABAgRqCgggakJZRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECNQXEEDUt7KSAAECBAgQIECAAAECBAgQIECAAAECBAgQqCkggKgJZRkBAgQIECBAgAABAgQIECBAgAABAgQIECBQX0AAUd/KSgIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCmgACiJpRlBAgQIECAAAECBAgQIECAAAECBAgQIECAQH0BAUR9KysJECBAgAABAgQIECBAgAABAgQIECBAgACBmgICiJpQlhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1BQQQ9a2sJECAAAECBAgQIECAAAECBAgQIECAAAECBGoKCCBqQllGgAABAgQIECBAgAABAgQIECBAgAABAgQI1BcQQNS3spIAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoKSCAqAllGQECBAgQIECAAAECBAgQIECAAAECBAgQIFBfQABR38pKAgQIECBAgAABAgQIECBAgAABAgQIECBAoKaAAKImlGUECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAfQEBRH0rKwkQIECAAAECBAgQIECAAAECBAgQIECAAIGaAv8XRyKNuPfToYsAAAAASUVORK5CYII=\">" | |
] | |
}, | |
{ | |
"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.11" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment