Skip to content

Instantly share code, notes, and snippets.

@ptosco
Created June 16, 2019 18:30
Show Gist options
  • Save ptosco/b9b7341251457fe26441dc17609ae34a to your computer and use it in GitHub Desktop.
Save ptosco/b9b7341251457fe26441dc17609ae34a to your computer and use it in GitHub Desktop.
O3A example
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from rdkit import Chem\n",
"from rdkit.Chem import AllChem\n",
"from rdkit.Chem.Draw import IPythonConsole\n",
"import py3Dmol"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def drawit(mols, p=None, width=400, height=300):\n",
" if p is None:\n",
" p = py3Dmol.view(width=width, height=height)\n",
" p.removeAllModels()\n",
" if (not isinstance(mols, list)):\n",
" mols = [mols]\n",
" for m, conf_id in mols:\n",
" if (conf_id == -1):\n",
" conf_ids = [c.GetId() for c in m.GetConformers()]\n",
" else:\n",
" conf_ids = [conf_id]\n",
" for cid in conf_ids:\n",
" mb = Chem.MolToMolBlock(m, confId=cid)\n",
" p.addModel(mb,'sdf')\n",
" p.setStyle({'stick':{}})\n",
" p.setBackgroundColor('0xeeeeee')\n",
" p.zoomTo()\n",
" return p.show()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"ref_smi = \"[NH2+]1CCC(CC1)CCc2ccccc2\""
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"query_smi = \"[NH2+]1C[C@@H](CC1)CCc2cnccc2\""
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"ref_mol = Chem.MolFromSmiles(ref_smi)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1574fc22440>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ref_mol"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"query_mol = Chem.MolFromSmiles(query_smi)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1574d678580>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"query_mol"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ref_3d = Chem.AddHs(ref_mol)\n",
"AllChem.EmbedMolecule(ref_3d)\n",
"AllChem.MMFFOptimizeMolecule(ref_3d, nonBondedThresh=100.0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is the 3D structure of the reference:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"application/3dmoljs_load.v0": "<div id=\"3dmolviewer_15607095855990522\" style=\"position: relative; width: 400px; height: 300px\">\n <p id=\"3dmolwarning_15607095855990522\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n </div>\n<script>\n\nvar loadScriptAsync = function(uri){\n return new Promise((resolve, reject) => {\n var tag = document.createElement('script');\n tag.src = uri;\n tag.async = true;\n tag.onload = () => {\n resolve();\n };\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n});\n};\n\nif(typeof $3Dmolpromise === 'undefined') {\n$3Dmolpromise = null;\n $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n}\n\nvar viewer_15607095855990522 = null;\nvar warn = document.getElementById(\"3dmolwarning_15607095855990522\");\nif(warn) {\n warn.parentNode.removeChild(warn);\n}\n$3Dmolpromise.then(function() {\nviewer_15607095855990522 = $3Dmol.createViewer($(\"#3dmolviewer_15607095855990522\"),{backgroundColor:\"white\"});\n\tviewer_15607095855990522.removeAllModels();\n\tviewer_15607095855990522.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_15607095855990522.setStyle({\"stick\": {}});\n\tviewer_15607095855990522.setBackgroundColor(\"0xeeeeee\");\n\tviewer_15607095855990522.zoomTo();\nviewer_15607095855990522.render();\n});\n</script>",
"text/html": [
"<div id=\"3dmolviewer_15607095855990522\" style=\"position: relative; width: 400px; height: 300px\">\n",
" <p id=\"3dmolwarning_15607095855990522\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n",
" <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n",
" </div>\n",
"<script>\n",
"\n",
"var loadScriptAsync = function(uri){\n",
" return new Promise((resolve, reject) => {\n",
" var tag = document.createElement('script');\n",
" tag.src = uri;\n",
" tag.async = true;\n",
" tag.onload = () => {\n",
" resolve();\n",
" };\n",
" var firstScriptTag = document.getElementsByTagName('script')[0];\n",
" firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n",
"});\n",
"};\n",
"\n",
"if(typeof $3Dmolpromise === 'undefined') {\n",
"$3Dmolpromise = null;\n",
" $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n",
"}\n",
"\n",
"var viewer_15607095855990522 = null;\n",
"var warn = document.getElementById(\"3dmolwarning_15607095855990522\");\n",
"if(warn) {\n",
" warn.parentNode.removeChild(warn);\n",
"}\n",
"$3Dmolpromise.then(function() {\n",
"viewer_15607095855990522 = $3Dmol.createViewer($(\"#3dmolviewer_15607095855990522\"),{backgroundColor:\"white\"});\n",
"\tviewer_15607095855990522.removeAllModels();\n",
"\tviewer_15607095855990522.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_15607095855990522.setStyle({\"stick\": {}});\n",
"\tviewer_15607095855990522.setBackgroundColor(\"0xeeeeee\");\n",
"\tviewer_15607095855990522.zoomTo();\n",
"viewer_15607095855990522.render();\n",
"});\n",
"</script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"drawit((ref_3d, -1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now I generate 10 conformations for the query:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(0, 35.882546031773984)]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"query_3d = Chem.AddHs(query_mol)\n",
"AllChem.EmbedMultipleConfs(query_3d)\n",
"AllChem.MMFFOptimizeMoleculeConfs(ref_3d, nonBondedThresh=100.0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And I generate an `O3A` object for each conformation. I push the `O3A` objects to a list, each as a tuple with the respective `ConfId`:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"o3a_list = [(cid, AllChem.GetO3A(query_3d, ref_3d, prbCid=cid\n",
" )) for cid in range(query_3d.GetNumConformers())]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I sort the list by decreasing `O3A` score such that the first element will be the `(ConfId, O3A)` tuple corresponding the conformation with the best O3A score:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"o3a_list.sort(key=lambda o: o[1].Score(), reverse=True)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(5, <rdkit.Chem.rdMolAlign.O3A at 0x1575035e0d0>),\n",
" (2, <rdkit.Chem.rdMolAlign.O3A at 0x1575035e580>),\n",
" (6, <rdkit.Chem.rdMolAlign.O3A at 0x1575035e260>),\n",
" (3, <rdkit.Chem.rdMolAlign.O3A at 0x1575035e4e0>),\n",
" (8, <rdkit.Chem.rdMolAlign.O3A at 0x1574ff2ed50>),\n",
" (9, <rdkit.Chem.rdMolAlign.O3A at 0x1574ff2ec10>),\n",
" (7, <rdkit.Chem.rdMolAlign.O3A at 0x1575035e440>),\n",
" (4, <rdkit.Chem.rdMolAlign.O3A at 0x1575035e030>),\n",
" (1, <rdkit.Chem.rdMolAlign.O3A at 0x1575035e210>),\n",
" (0, <rdkit.Chem.rdMolAlign.O3A at 0x1574fc1d350>)]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"o3a_list"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"best_o3a = o3a_list[0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is the reciprocal alignment of query and reference before I apply any transformation. As expected, they are not aligned yet:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"application/3dmoljs_load.v0": "<div id=\"3dmolviewer_15607095863341823\" style=\"position: relative; width: 400px; height: 300px\">\n <p id=\"3dmolwarning_15607095863341823\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n </div>\n<script>\n\nvar loadScriptAsync = function(uri){\n return new Promise((resolve, reject) => {\n var tag = document.createElement('script');\n tag.src = uri;\n tag.async = true;\n tag.onload = () => {\n resolve();\n };\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n});\n};\n\nif(typeof $3Dmolpromise === 'undefined') {\n$3Dmolpromise = null;\n $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n}\n\nvar viewer_15607095863341823 = null;\nvar warn = document.getElementById(\"3dmolwarning_15607095863341823\");\nif(warn) {\n warn.parentNode.removeChild(warn);\n}\n$3Dmolpromise.then(function() {\nviewer_15607095863341823 = $3Dmol.createViewer($(\"#3dmolviewer_15607095863341823\"),{backgroundColor:\"white\"});\n\tviewer_15607095863341823.removeAllModels();\n\tviewer_15607095863341823.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_15607095863341823.addModel(\"\\n RDKit 3D\\n\\n 30 31 0 0 0 0 0 0 0 0999 V2000\\n -3.6259 0.3211 -0.2595 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.4641 0.4861 -1.0901 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2468 0.3398 -0.1891 C 0 0 1 0 0 0 0 0 0 0 0 0\\n -1.8567 -0.4340 0.9755 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.1669 0.3331 1.1199 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.1253 -0.3975 -0.8497 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7773 -1.1241 0.1007 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1030 -0.4473 0.2480 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1847 0.7197 0.9892 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2832 1.5058 0.9139 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.3635 1.1207 0.2146 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.3682 -0.0783 -0.4582 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1940 -0.8146 -0.5263 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9932 -0.6471 -0.4458 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.3584 1.0275 -0.4314 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3924 -0.2866 -1.8834 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.4240 1.4832 -1.5864 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.9526 1.3257 0.2284 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2701 -0.3441 1.8981 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1302 -1.4605 0.6981 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8689 -0.1538 1.8073 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9214 1.3815 1.3911 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.5045 0.3672 -1.3711 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.5428 -1.0819 -1.6262 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0108 -2.1425 -0.3020 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.3536 -1.2820 1.1016 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.5223 0.7832 1.8462 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.2150 1.7967 0.1737 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3227 -0.5760 -0.6356 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1370 -1.7209 -1.1148 H 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 1 0\\n 4 5 1 0\\n 3 6 1 0\\n 6 7 1 0\\n 7 8 1 0\\n 8 9 2 0\\n 9 10 1 0\\n 10 11 2 0\\n 11 12 1 0\\n 12 13 2 0\\n 5 1 1 0\\n 13 8 1 0\\n 1 14 1 0\\n 1 15 1 0\\n 2 16 1 0\\n 2 17 1 0\\n 3 18 1 1\\n 4 19 1 0\\n 4 20 1 0\\n 5 21 1 0\\n 5 22 1 0\\n 6 23 1 0\\n 6 24 1 0\\n 7 25 1 0\\n 7 26 1 0\\n 9 27 1 0\\n 11 28 1 0\\n 12 29 1 0\\n 13 30 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_15607095863341823.setStyle({\"stick\": {}});\n\tviewer_15607095863341823.setBackgroundColor(\"0xeeeeee\");\n\tviewer_15607095863341823.zoomTo();\nviewer_15607095863341823.render();\n});\n</script>",
"text/html": [
"<div id=\"3dmolviewer_15607095863341823\" style=\"position: relative; width: 400px; height: 300px\">\n",
" <p id=\"3dmolwarning_15607095863341823\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n",
" <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n",
" </div>\n",
"<script>\n",
"\n",
"var loadScriptAsync = function(uri){\n",
" return new Promise((resolve, reject) => {\n",
" var tag = document.createElement('script');\n",
" tag.src = uri;\n",
" tag.async = true;\n",
" tag.onload = () => {\n",
" resolve();\n",
" };\n",
" var firstScriptTag = document.getElementsByTagName('script')[0];\n",
" firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n",
"});\n",
"};\n",
"\n",
"if(typeof $3Dmolpromise === 'undefined') {\n",
"$3Dmolpromise = null;\n",
" $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n",
"}\n",
"\n",
"var viewer_15607095863341823 = null;\n",
"var warn = document.getElementById(\"3dmolwarning_15607095863341823\");\n",
"if(warn) {\n",
" warn.parentNode.removeChild(warn);\n",
"}\n",
"$3Dmolpromise.then(function() {\n",
"viewer_15607095863341823 = $3Dmol.createViewer($(\"#3dmolviewer_15607095863341823\"),{backgroundColor:\"white\"});\n",
"\tviewer_15607095863341823.removeAllModels();\n",
"\tviewer_15607095863341823.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_15607095863341823.addModel(\"\\n RDKit 3D\\n\\n 30 31 0 0 0 0 0 0 0 0999 V2000\\n -3.6259 0.3211 -0.2595 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.4641 0.4861 -1.0901 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2468 0.3398 -0.1891 C 0 0 1 0 0 0 0 0 0 0 0 0\\n -1.8567 -0.4340 0.9755 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.1669 0.3331 1.1199 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.1253 -0.3975 -0.8497 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7773 -1.1241 0.1007 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1030 -0.4473 0.2480 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1847 0.7197 0.9892 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2832 1.5058 0.9139 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.3635 1.1207 0.2146 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.3682 -0.0783 -0.4582 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1940 -0.8146 -0.5263 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9932 -0.6471 -0.4458 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.3584 1.0275 -0.4314 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3924 -0.2866 -1.8834 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.4240 1.4832 -1.5864 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.9526 1.3257 0.2284 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2701 -0.3441 1.8981 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1302 -1.4605 0.6981 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8689 -0.1538 1.8073 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9214 1.3815 1.3911 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.5045 0.3672 -1.3711 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.5428 -1.0819 -1.6262 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0108 -2.1425 -0.3020 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.3536 -1.2820 1.1016 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.5223 0.7832 1.8462 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.2150 1.7967 0.1737 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3227 -0.5760 -0.6356 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1370 -1.7209 -1.1148 H 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 1 0\\n 4 5 1 0\\n 3 6 1 0\\n 6 7 1 0\\n 7 8 1 0\\n 8 9 2 0\\n 9 10 1 0\\n 10 11 2 0\\n 11 12 1 0\\n 12 13 2 0\\n 5 1 1 0\\n 13 8 1 0\\n 1 14 1 0\\n 1 15 1 0\\n 2 16 1 0\\n 2 17 1 0\\n 3 18 1 1\\n 4 19 1 0\\n 4 20 1 0\\n 5 21 1 0\\n 5 22 1 0\\n 6 23 1 0\\n 6 24 1 0\\n 7 25 1 0\\n 7 26 1 0\\n 9 27 1 0\\n 11 28 1 0\\n 12 29 1 0\\n 13 30 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_15607095863341823.setStyle({\"stick\": {}});\n",
"\tviewer_15607095863341823.setBackgroundColor(\"0xeeeeee\");\n",
"\tviewer_15607095863341823.zoomTo();\n",
"viewer_15607095863341823.render();\n",
"});\n",
"</script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"drawit([(ref_3d, -1), (query_3d, best_o3a[0])])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now I make a copy of `query_3d` such that I have a clean copy not affected by any transformation:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"query_3d_copy = Chem.Mol(query_3d)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now I compute the transformation that would align the best aligned conf of `query_3d` to `ref_3d`:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"rmsd, trans_matrix = best_o3a[1].Trans()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5991041908372658"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rmsd"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 9.97849477e-01, 6.55467502e-02, 2.10349653e-04,\n",
" 1.64685948e-01],\n",
" [-2.31757705e-02, 3.49810339e-01, 9.36533828e-01,\n",
" 6.56285316e-02],\n",
" [ 6.13131664e-02, -9.34524665e-01, 3.50577161e-01,\n",
" 7.09897150e-03],\n",
" [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n",
" 1.00000000e+00]])"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trans_matrix"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now I do the alignment. As `O3A` objects were constructed from `query_3d`, when I call `Align()` the relevant conformation of `query_3d` is transformed to align it to `ref_3d`; in fact, the returned RMSD is the same that `Trans()` had previously returned:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5991041908372658"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"best_o3a[1].Align()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I can now verify that that conformation of `query_3d` is now indeed aligned against `ref3d`:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"application/3dmoljs_load.v0": "<div id=\"3dmolviewer_15607095864887688\" style=\"position: relative; width: 400px; height: 300px\">\n <p id=\"3dmolwarning_15607095864887688\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n </div>\n<script>\n\nvar loadScriptAsync = function(uri){\n return new Promise((resolve, reject) => {\n var tag = document.createElement('script');\n tag.src = uri;\n tag.async = true;\n tag.onload = () => {\n resolve();\n };\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n});\n};\n\nif(typeof $3Dmolpromise === 'undefined') {\n$3Dmolpromise = null;\n $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n}\n\nvar viewer_15607095864887688 = null;\nvar warn = document.getElementById(\"3dmolwarning_15607095864887688\");\nif(warn) {\n warn.parentNode.removeChild(warn);\n}\n$3Dmolpromise.then(function() {\nviewer_15607095864887688 = $3Dmol.createViewer($(\"#3dmolviewer_15607095864887688\"),{backgroundColor:\"white\"});\n\tviewer_15607095864887688.removeAllModels();\n\tviewer_15607095864887688.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_15607095864887688.addModel(\"\\n RDKit 3D\\n\\n 30 31 0 0 0 0 0 0 0 0999 V2000\\n -3.4324 0.0190 -0.6063 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2625 -0.7282 -0.9804 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.0572 0.0363 -0.4532 C 0 0 1 0 0 0 0 0 0 0 0 0\\n -1.7163 0.8705 0.6408 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9733 1.3044 -0.1058 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.0134 -0.8663 0.0730 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.8667 -0.2513 1.1406 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2339 0.0927 0.6410 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.3921 1.1932 -0.1848 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.5398 1.3722 -0.8784 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5923 0.5576 -0.6975 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5182 -0.4922 0.1874 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2983 -0.7862 0.7797 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8624 -0.4857 0.2107 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1171 0.1220 -1.3716 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2418 -1.7430 -0.5320 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1573 -0.8451 -2.0837 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.6990 0.7653 -1.2101 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.1248 1.7524 0.9162 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0565 0.2579 1.4861 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.7056 1.7940 0.5472 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6596 1.9194 -0.9754 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.6918 -1.1016 -0.7858 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.4483 -1.8232 0.4148 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0328 -0.9901 1.9654 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4338 0.6406 1.6131 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.7354 2.0334 0.0157 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.4863 0.7359 -1.2914 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.4381 -0.8545 0.6489 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1819 -1.6531 1.4169 H 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 1 0\\n 4 5 1 0\\n 3 6 1 0\\n 6 7 1 0\\n 7 8 1 0\\n 8 9 2 0\\n 9 10 1 0\\n 10 11 2 0\\n 11 12 1 0\\n 12 13 2 0\\n 5 1 1 0\\n 13 8 1 0\\n 1 14 1 0\\n 1 15 1 0\\n 2 16 1 0\\n 2 17 1 0\\n 3 18 1 6\\n 4 19 1 0\\n 4 20 1 0\\n 5 21 1 0\\n 5 22 1 0\\n 6 23 1 0\\n 6 24 1 0\\n 7 25 1 0\\n 7 26 1 0\\n 9 27 1 0\\n 11 28 1 0\\n 12 29 1 0\\n 13 30 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_15607095864887688.setStyle({\"stick\": {}});\n\tviewer_15607095864887688.setBackgroundColor(\"0xeeeeee\");\n\tviewer_15607095864887688.zoomTo();\nviewer_15607095864887688.render();\n});\n</script>",
"text/html": [
"<div id=\"3dmolviewer_15607095864887688\" style=\"position: relative; width: 400px; height: 300px\">\n",
" <p id=\"3dmolwarning_15607095864887688\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n",
" <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n",
" </div>\n",
"<script>\n",
"\n",
"var loadScriptAsync = function(uri){\n",
" return new Promise((resolve, reject) => {\n",
" var tag = document.createElement('script');\n",
" tag.src = uri;\n",
" tag.async = true;\n",
" tag.onload = () => {\n",
" resolve();\n",
" };\n",
" var firstScriptTag = document.getElementsByTagName('script')[0];\n",
" firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n",
"});\n",
"};\n",
"\n",
"if(typeof $3Dmolpromise === 'undefined') {\n",
"$3Dmolpromise = null;\n",
" $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n",
"}\n",
"\n",
"var viewer_15607095864887688 = null;\n",
"var warn = document.getElementById(\"3dmolwarning_15607095864887688\");\n",
"if(warn) {\n",
" warn.parentNode.removeChild(warn);\n",
"}\n",
"$3Dmolpromise.then(function() {\n",
"viewer_15607095864887688 = $3Dmol.createViewer($(\"#3dmolviewer_15607095864887688\"),{backgroundColor:\"white\"});\n",
"\tviewer_15607095864887688.removeAllModels();\n",
"\tviewer_15607095864887688.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_15607095864887688.addModel(\"\\n RDKit 3D\\n\\n 30 31 0 0 0 0 0 0 0 0999 V2000\\n -3.4324 0.0190 -0.6063 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2625 -0.7282 -0.9804 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.0572 0.0363 -0.4532 C 0 0 1 0 0 0 0 0 0 0 0 0\\n -1.7163 0.8705 0.6408 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9733 1.3044 -0.1058 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.0134 -0.8663 0.0730 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.8667 -0.2513 1.1406 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2339 0.0927 0.6410 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.3921 1.1932 -0.1848 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.5398 1.3722 -0.8784 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5923 0.5576 -0.6975 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5182 -0.4922 0.1874 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2983 -0.7862 0.7797 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8624 -0.4857 0.2107 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1171 0.1220 -1.3716 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2418 -1.7430 -0.5320 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1573 -0.8451 -2.0837 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.6990 0.7653 -1.2101 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.1248 1.7524 0.9162 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0565 0.2579 1.4861 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.7056 1.7940 0.5472 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6596 1.9194 -0.9754 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.6918 -1.1016 -0.7858 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.4483 -1.8232 0.4148 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0328 -0.9901 1.9654 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4338 0.6406 1.6131 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.7354 2.0334 0.0157 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.4863 0.7359 -1.2914 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.4381 -0.8545 0.6489 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1819 -1.6531 1.4169 H 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 1 0\\n 4 5 1 0\\n 3 6 1 0\\n 6 7 1 0\\n 7 8 1 0\\n 8 9 2 0\\n 9 10 1 0\\n 10 11 2 0\\n 11 12 1 0\\n 12 13 2 0\\n 5 1 1 0\\n 13 8 1 0\\n 1 14 1 0\\n 1 15 1 0\\n 2 16 1 0\\n 2 17 1 0\\n 3 18 1 6\\n 4 19 1 0\\n 4 20 1 0\\n 5 21 1 0\\n 5 22 1 0\\n 6 23 1 0\\n 6 24 1 0\\n 7 25 1 0\\n 7 26 1 0\\n 9 27 1 0\\n 11 28 1 0\\n 12 29 1 0\\n 13 30 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_15607095864887688.setStyle({\"stick\": {}});\n",
"\tviewer_15607095864887688.setBackgroundColor(\"0xeeeeee\");\n",
"\tviewer_15607095864887688.zoomTo();\n",
"viewer_15607095864887688.render();\n",
"});\n",
"</script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"drawit([(ref_3d, -1), (query_3d, best_o3a[0])])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`query_3d_copy` instead is still not aligned:"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"application/3dmoljs_load.v0": "<div id=\"3dmolviewer_15607095867824295\" style=\"position: relative; width: 400px; height: 300px\">\n <p id=\"3dmolwarning_15607095867824295\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n </div>\n<script>\n\nvar loadScriptAsync = function(uri){\n return new Promise((resolve, reject) => {\n var tag = document.createElement('script');\n tag.src = uri;\n tag.async = true;\n tag.onload = () => {\n resolve();\n };\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n});\n};\n\nif(typeof $3Dmolpromise === 'undefined') {\n$3Dmolpromise = null;\n $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n}\n\nvar viewer_15607095867824295 = null;\nvar warn = document.getElementById(\"3dmolwarning_15607095867824295\");\nif(warn) {\n warn.parentNode.removeChild(warn);\n}\n$3Dmolpromise.then(function() {\nviewer_15607095867824295 = $3Dmol.createViewer($(\"#3dmolviewer_15607095867824295\"),{backgroundColor:\"white\"});\n\tviewer_15607095867824295.removeAllModels();\n\tviewer_15607095867824295.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_15607095867824295.addModel(\"\\n RDKit 3D\\n\\n 30 31 0 0 0 0 0 0 0 0999 V2000\\n -3.6259 0.3211 -0.2595 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.4641 0.4861 -1.0901 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2468 0.3398 -0.1891 C 0 0 1 0 0 0 0 0 0 0 0 0\\n -1.8567 -0.4340 0.9755 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.1669 0.3331 1.1199 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.1253 -0.3975 -0.8497 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7773 -1.1241 0.1007 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1030 -0.4473 0.2480 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1847 0.7197 0.9892 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2832 1.5058 0.9139 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.3635 1.1207 0.2146 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.3682 -0.0783 -0.4582 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1940 -0.8146 -0.5263 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9932 -0.6471 -0.4458 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.3584 1.0275 -0.4314 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3924 -0.2866 -1.8834 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.4240 1.4832 -1.5864 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.9526 1.3257 0.2284 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2701 -0.3441 1.8981 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1302 -1.4605 0.6981 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8689 -0.1538 1.8073 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9214 1.3815 1.3911 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.5045 0.3672 -1.3711 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.5428 -1.0819 -1.6262 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0108 -2.1425 -0.3020 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.3536 -1.2820 1.1016 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.5223 0.7832 1.8462 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.2150 1.7967 0.1737 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3227 -0.5760 -0.6356 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1370 -1.7209 -1.1148 H 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 1 0\\n 4 5 1 0\\n 3 6 1 0\\n 6 7 1 0\\n 7 8 1 0\\n 8 9 2 0\\n 9 10 1 0\\n 10 11 2 0\\n 11 12 1 0\\n 12 13 2 0\\n 5 1 1 0\\n 13 8 1 0\\n 1 14 1 0\\n 1 15 1 0\\n 2 16 1 0\\n 2 17 1 0\\n 3 18 1 1\\n 4 19 1 0\\n 4 20 1 0\\n 5 21 1 0\\n 5 22 1 0\\n 6 23 1 0\\n 6 24 1 0\\n 7 25 1 0\\n 7 26 1 0\\n 9 27 1 0\\n 11 28 1 0\\n 12 29 1 0\\n 13 30 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_15607095867824295.setStyle({\"stick\": {}});\n\tviewer_15607095867824295.setBackgroundColor(\"0xeeeeee\");\n\tviewer_15607095867824295.zoomTo();\nviewer_15607095867824295.render();\n});\n</script>",
"text/html": [
"<div id=\"3dmolviewer_15607095867824295\" style=\"position: relative; width: 400px; height: 300px\">\n",
" <p id=\"3dmolwarning_15607095867824295\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n",
" <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n",
" </div>\n",
"<script>\n",
"\n",
"var loadScriptAsync = function(uri){\n",
" return new Promise((resolve, reject) => {\n",
" var tag = document.createElement('script');\n",
" tag.src = uri;\n",
" tag.async = true;\n",
" tag.onload = () => {\n",
" resolve();\n",
" };\n",
" var firstScriptTag = document.getElementsByTagName('script')[0];\n",
" firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n",
"});\n",
"};\n",
"\n",
"if(typeof $3Dmolpromise === 'undefined') {\n",
"$3Dmolpromise = null;\n",
" $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n",
"}\n",
"\n",
"var viewer_15607095867824295 = null;\n",
"var warn = document.getElementById(\"3dmolwarning_15607095867824295\");\n",
"if(warn) {\n",
" warn.parentNode.removeChild(warn);\n",
"}\n",
"$3Dmolpromise.then(function() {\n",
"viewer_15607095867824295 = $3Dmol.createViewer($(\"#3dmolviewer_15607095867824295\"),{backgroundColor:\"white\"});\n",
"\tviewer_15607095867824295.removeAllModels();\n",
"\tviewer_15607095867824295.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_15607095867824295.addModel(\"\\n RDKit 3D\\n\\n 30 31 0 0 0 0 0 0 0 0999 V2000\\n -3.6259 0.3211 -0.2595 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.4641 0.4861 -1.0901 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2468 0.3398 -0.1891 C 0 0 1 0 0 0 0 0 0 0 0 0\\n -1.8567 -0.4340 0.9755 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.1669 0.3331 1.1199 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.1253 -0.3975 -0.8497 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7773 -1.1241 0.1007 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1030 -0.4473 0.2480 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.1847 0.7197 0.9892 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2832 1.5058 0.9139 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.3635 1.1207 0.2146 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.3682 -0.0783 -0.4582 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1940 -0.8146 -0.5263 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9932 -0.6471 -0.4458 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.3584 1.0275 -0.4314 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3924 -0.2866 -1.8834 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.4240 1.4832 -1.5864 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.9526 1.3257 0.2284 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2701 -0.3441 1.8981 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1302 -1.4605 0.6981 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8689 -0.1538 1.8073 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9214 1.3815 1.3911 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.5045 0.3672 -1.3711 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.5428 -1.0819 -1.6262 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0108 -2.1425 -0.3020 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.3536 -1.2820 1.1016 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.5223 0.7832 1.8462 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.2150 1.7967 0.1737 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3227 -0.5760 -0.6356 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1370 -1.7209 -1.1148 H 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 1 0\\n 4 5 1 0\\n 3 6 1 0\\n 6 7 1 0\\n 7 8 1 0\\n 8 9 2 0\\n 9 10 1 0\\n 10 11 2 0\\n 11 12 1 0\\n 12 13 2 0\\n 5 1 1 0\\n 13 8 1 0\\n 1 14 1 0\\n 1 15 1 0\\n 2 16 1 0\\n 2 17 1 0\\n 3 18 1 1\\n 4 19 1 0\\n 4 20 1 0\\n 5 21 1 0\\n 5 22 1 0\\n 6 23 1 0\\n 6 24 1 0\\n 7 25 1 0\\n 7 26 1 0\\n 9 27 1 0\\n 11 28 1 0\\n 12 29 1 0\\n 13 30 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_15607095867824295.setStyle({\"stick\": {}});\n",
"\tviewer_15607095867824295.setBackgroundColor(\"0xeeeeee\");\n",
"\tviewer_15607095867824295.zoomTo();\n",
"viewer_15607095867824295.render();\n",
"});\n",
"</script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"drawit([(ref_3d, -1), (query_3d_copy, best_o3a[0])])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"But if I apply `trans_matrix` to it, it will then be aligned:"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"AllChem.TransformMol(query_3d_copy, trans_matrix,\n",
" confId=best_o3a[0], keepConfs=True)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"application/3dmoljs_load.v0": "<div id=\"3dmolviewer_1560709586817336\" style=\"position: relative; width: 400px; height: 300px\">\n <p id=\"3dmolwarning_1560709586817336\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n </div>\n<script>\n\nvar loadScriptAsync = function(uri){\n return new Promise((resolve, reject) => {\n var tag = document.createElement('script');\n tag.src = uri;\n tag.async = true;\n tag.onload = () => {\n resolve();\n };\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n});\n};\n\nif(typeof $3Dmolpromise === 'undefined') {\n$3Dmolpromise = null;\n $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n}\n\nvar viewer_1560709586817336 = null;\nvar warn = document.getElementById(\"3dmolwarning_1560709586817336\");\nif(warn) {\n warn.parentNode.removeChild(warn);\n}\n$3Dmolpromise.then(function() {\nviewer_1560709586817336 = $3Dmol.createViewer($(\"#3dmolviewer_1560709586817336\"),{backgroundColor:\"white\"});\n\tviewer_1560709586817336.removeAllModels();\n\tviewer_1560709586817336.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_1560709586817336.addModel(\"\\n RDKit 3D\\n\\n 30 31 0 0 0 0 0 0 0 0999 V2000\\n -3.4324 0.0190 -0.6063 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2625 -0.7282 -0.9804 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.0572 0.0363 -0.4532 C 0 0 1 0 0 0 0 0 0 0 0 0\\n -1.7163 0.8705 0.6408 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9733 1.3044 -0.1058 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.0134 -0.8663 0.0730 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.8667 -0.2513 1.1406 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2339 0.0927 0.6410 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.3921 1.1932 -0.1848 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.5398 1.3722 -0.8784 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5923 0.5576 -0.6975 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5182 -0.4922 0.1874 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2983 -0.7862 0.7797 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8624 -0.4857 0.2107 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1171 0.1220 -1.3716 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2418 -1.7430 -0.5320 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1573 -0.8451 -2.0837 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.6990 0.7653 -1.2101 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.1248 1.7524 0.9162 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0565 0.2579 1.4861 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.7056 1.7940 0.5472 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6596 1.9194 -0.9754 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.6918 -1.1016 -0.7858 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.4483 -1.8232 0.4148 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0328 -0.9901 1.9654 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4338 0.6406 1.6131 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.7354 2.0334 0.0157 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.4863 0.7359 -1.2914 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.4381 -0.8545 0.6489 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1819 -1.6531 1.4169 H 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 1 0\\n 4 5 1 0\\n 3 6 1 0\\n 6 7 1 0\\n 7 8 1 0\\n 8 9 2 0\\n 9 10 1 0\\n 10 11 2 0\\n 11 12 1 0\\n 12 13 2 0\\n 5 1 1 0\\n 13 8 1 0\\n 1 14 1 0\\n 1 15 1 0\\n 2 16 1 0\\n 2 17 1 0\\n 3 18 1 6\\n 4 19 1 0\\n 4 20 1 0\\n 5 21 1 0\\n 5 22 1 0\\n 6 23 1 0\\n 6 24 1 0\\n 7 25 1 0\\n 7 26 1 0\\n 9 27 1 0\\n 11 28 1 0\\n 12 29 1 0\\n 13 30 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n\tviewer_1560709586817336.setStyle({\"stick\": {}});\n\tviewer_1560709586817336.setBackgroundColor(\"0xeeeeee\");\n\tviewer_1560709586817336.zoomTo();\nviewer_1560709586817336.render();\n});\n</script>",
"text/html": [
"<div id=\"3dmolviewer_1560709586817336\" style=\"position: relative; width: 400px; height: 300px\">\n",
" <p id=\"3dmolwarning_1560709586817336\" style=\"background-color:#ffcccc;color:black\">You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension: <br>\n",
" <tt>jupyter labextension install jupyterlab_3dmol</tt></p>\n",
" </div>\n",
"<script>\n",
"\n",
"var loadScriptAsync = function(uri){\n",
" return new Promise((resolve, reject) => {\n",
" var tag = document.createElement('script');\n",
" tag.src = uri;\n",
" tag.async = true;\n",
" tag.onload = () => {\n",
" resolve();\n",
" };\n",
" var firstScriptTag = document.getElementsByTagName('script')[0];\n",
" firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n",
"});\n",
"};\n",
"\n",
"if(typeof $3Dmolpromise === 'undefined') {\n",
"$3Dmolpromise = null;\n",
" $3Dmolpromise = loadScriptAsync('https://3dmol.csb.pitt.edu/build/3Dmol.js');\n",
"}\n",
"\n",
"var viewer_1560709586817336 = null;\n",
"var warn = document.getElementById(\"3dmolwarning_1560709586817336\");\n",
"if(warn) {\n",
" warn.parentNode.removeChild(warn);\n",
"}\n",
"$3Dmolpromise.then(function() {\n",
"viewer_1560709586817336 = $3Dmol.createViewer($(\"#3dmolviewer_1560709586817336\"),{backgroundColor:\"white\"});\n",
"\tviewer_1560709586817336.removeAllModels();\n",
"\tviewer_1560709586817336.addModel(\"\\n RDKit 3D\\n\\n 34 35 0 0 0 0 0 0 0 0999 V2000\\n -3.9641 0.1794 -0.6522 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9054 1.1932 -0.3477 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0300 0.7057 0.7951 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3144 -0.6201 0.4606 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1052 -1.4412 -0.5791 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.6026 -1.2548 -0.4194 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1297 -0.4132 -0.0386 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0980 0.0279 1.0669 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4930 0.2114 0.5255 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.3717 -0.8775 0.4443 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.6563 -0.7121 -0.0754 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.0734 0.5404 -0.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2067 1.6289 -0.4478 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.9211 1.4662 0.0712 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.8064 0.3941 -0.1004 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.2501 0.2989 -1.6341 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.3268 1.3412 -1.2656 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.4219 2.1249 -0.0986 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3176 1.4906 1.0661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6612 0.5511 1.6804 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2667 -1.2094 1.3866 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8507 -2.5024 -0.4709 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8127 -1.1548 -1.5980 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1708 -1.8479 -1.1419 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.9344 -1.5093 0.5928 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.1354 0.3181 -0.8575 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4971 -1.3561 -0.4661 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.7687 0.9637 1.5318 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1156 -0.7180 1.8715 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0652 -1.8625 0.7888 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.3349 -1.5599 -0.1300 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 6.0759 0.6687 -0.9217 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5363 2.6061 -0.7921 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2619 2.3289 0.1230 H 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 1 0\\n 4 5 1 0\\n 5 6 1 0\\n 4 7 1 0\\n 7 8 1 0\\n 8 9 1 0\\n 9 10 2 0\\n 10 11 1 0\\n 11 12 2 0\\n 12 13 1 0\\n 13 14 2 0\\n 6 1 1 0\\n 14 9 1 0\\n 1 15 1 0\\n 1 16 1 0\\n 2 17 1 0\\n 2 18 1 0\\n 3 19 1 0\\n 3 20 1 0\\n 4 21 1 0\\n 5 22 1 0\\n 5 23 1 0\\n 6 24 1 0\\n 6 25 1 0\\n 7 26 1 0\\n 7 27 1 0\\n 8 28 1 0\\n 8 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 12 32 1 0\\n 13 33 1 0\\n 14 34 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_1560709586817336.addModel(\"\\n RDKit 3D\\n\\n 30 31 0 0 0 0 0 0 0 0999 V2000\\n -3.4324 0.0190 -0.6063 N 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2625 -0.7282 -0.9804 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.0572 0.0363 -0.4532 C 0 0 1 0 0 0 0 0 0 0 0 0\\n -1.7163 0.8705 0.6408 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9733 1.3044 -0.1058 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.0134 -0.8663 0.0730 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.8667 -0.2513 1.1406 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2339 0.0927 0.6410 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.3921 1.1932 -0.1848 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.5398 1.3722 -0.8784 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5923 0.5576 -0.6975 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.5182 -0.4922 0.1874 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2983 -0.7862 0.7797 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8624 -0.4857 0.2107 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -4.1171 0.1220 -1.3716 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2418 -1.7430 -0.5320 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.1573 -0.8451 -2.0837 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.6990 0.7653 -1.2101 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.1248 1.7524 0.9162 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.0565 0.2579 1.4861 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.7056 1.7940 0.5472 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6596 1.9194 -0.9754 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.6918 -1.1016 -0.7858 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.4483 -1.8232 0.4148 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0328 -0.9901 1.9654 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.4338 0.6406 1.6131 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.7354 2.0334 0.0157 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.4863 0.7359 -1.2914 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 5.4381 -0.8545 0.6489 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1819 -1.6531 1.4169 H 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 1 0\\n 4 5 1 0\\n 3 6 1 0\\n 6 7 1 0\\n 7 8 1 0\\n 8 9 2 0\\n 9 10 1 0\\n 10 11 2 0\\n 11 12 1 0\\n 12 13 2 0\\n 5 1 1 0\\n 13 8 1 0\\n 1 14 1 0\\n 1 15 1 0\\n 2 16 1 0\\n 2 17 1 0\\n 3 18 1 6\\n 4 19 1 0\\n 4 20 1 0\\n 5 21 1 0\\n 5 22 1 0\\n 6 23 1 0\\n 6 24 1 0\\n 7 25 1 0\\n 7 26 1 0\\n 9 27 1 0\\n 11 28 1 0\\n 12 29 1 0\\n 13 30 1 0\\nM CHG 1 1 1\\nM END\\n\",\"sdf\");\n",
"\tviewer_1560709586817336.setStyle({\"stick\": {}});\n",
"\tviewer_1560709586817336.setBackgroundColor(\"0xeeeeee\");\n",
"\tviewer_1560709586817336.zoomTo();\n",
"viewer_1560709586817336.render();\n",
"});\n",
"</script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"drawit([(ref_3d, -1), (query_3d_copy, best_o3a[0])])"
]
},
{
"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