Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 7 additions & 111 deletions ipython/Tools/External symmetry and optical isomers.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,10 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"RDKit WARNING: [13:53:02] Enabling RDKit 2019.09.3 jupyter extensions\n"
]
}
],
"source": [
"from arc.molecule import Molecule\n",
"from arc.species import ARCSpecies\n",
"from IPython.display import display\n",
"from arc.plotter import show_sticks\n",
"from arc.species.converter import molecules_from_xyz, check_xyz_dict"
]
"outputs": [],
"source": "from arc.molecule import Molecule\nfrom arc.species import ARCSpecies\nfrom IPython.display import display\nfrom arc.plotter import show_sticks\nfrom arc.species.converter import check_xyz_dict\nfrom arc.species.perceive import perceive_molecule_from_xyz"
},
{
"cell_type": "code",
Expand Down Expand Up @@ -90,100 +76,10 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:pint.util:Could not resolve planks_constant: UndefinedUnitError()\n",
"WARNING:pint.util:Could not resolve plank_constant: UndefinedUnitError()\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"SMILES: [O]OC(c1cc(ccc1OC)C(C)C)NC(C)C\n",
"External symmetry: 1\n",
"Optical isomers: 2\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJkAAABpCAIAAACmrBb0AAAABmJLR0QA/wD/AP+gvaeTAAAPeklEQVR4nO2de1AT1x7HDw4oD6UEQhJe8h6oSOAqWiw+GqQVKmop0ooSn3Pj6HTiUO3EuVwbR4aWWtuJM9YRW0ujIGlsqaUU8AHcFkaFKiBalFRBoCUkoCRgEkgg5/6xECMghs1m8/wMfyQnu+f3C989m9/Z/f3O2kEIgQ2LYJaxHbCBGeatZVRUlFQqNbYXpoKd+Z5j1Wq1k5OTTCazt7c3ti8mgRmPS7FYTCAQbEJqMGMthUKhl5eXsb0wIWxaWg42LS0H89bS29vb2F6YEOatpW1camPT0nKwaWk52LS0HMz1ug+E0NnZub+/39HR0di+mArmOi77+/udnZ1tQmpjrlraTrCTMSctlUplamrqmTNngJaW+fn5KSkpSqXS2N4ZH7PRUqVSvf/++0NDQxkZGQAALy+vffv2AQAyMjLs7Ozeeeed4eFhY/toZMwj9lGpVO+9955SqSwuLp4zZ87kTxGZf/rpp8mfWg9mMC4nCllUBKKjgaMjIJMBgwGePHFwcPj+++8dHR1TUlKseXSagZYFBQWzZs0aG3N5eWDvXnDwIBCJwP/+B7q6QEICGB5G5HRxcSkoKDC2v8YDmhEKBSQQ4Jkzz1pkMkihwLw84/lkQpjBuHzGzZugvx+kpT1rcXYG69eDK1eM55MJYVZa9vUBFxcwb95zjV5eoK/PSA6ZFmalJZEIZDIwOPhco1AIiEQjOWRamJWWixcDNzdw4cKzFrkclJSA1auN55MJYVZJbE5OICcH7N8PXFxAYiIQCkFmJiCRwPbtxvbMNDB28DVzCgoglQpnz4ZEIty1C/b1Ic39/f2GsKZSqQoLC728vNhstlqtNoQJrDCP6z66sHv3boVCcfLkyblz52LS4eDg4DfffMPhcIKCguh0+tdff00gEPLz88lkMib9Y4+xDybMkMvlTCYzMDDw2rVrenbV09PDZrOJRGJycvL169eRRpVKxWazKRTKL7/8orezBsFytET48ccfyWQym80eGRlBsXtzczODwSASiQwGo7W1FWlUq9UdHR3I6+vXrwcHBzMYDJlMhpnTGGFpWkIIOzs733jjDRqN1tXVpfteNTU1ycnJFAqFzWY/fvwYaRwaGvr2228jIiLWrFmj2VIqlWZkZCxYsKCpqQlj1/XDArWEEKrVag6H4+npWVRUNP2Wo6OjJSUlS5cuDQ0N5XA4crkcaZdKpRwOx9fXNy4urqSkZHLUw+fzKRQKh8MxnYDIMrVE+OOPP0JDQ+l0+uDg4ORPBwYGOBzO/PnzJ6jV3t7OYrE8PT3pdHpzc/M0/be3t8fFxb311lvd3d0G+QIzxJK1hOMBUVhY2K1btzSNQqGQzWZ7eHhohzYQwoaGBjqd7u7uzmQyOzs7dekfCYi8vLxKS0ux936GWLiWCD/88AOJRGKz2Y2NjUhow2QyHz16hHyqVquvXLmSnJyMTCJRzFNNJCCyCi0hhB0dHb6+vo6Ojrm5uRq1hoeHuVxuREREdHQ0l8tVKpWo+5dIJJs3b46IiLh9+zZGLs8Ya9ESQshisY4cOYK8lkgkHA7Hx8fnRaENOrhcrqenp7ECIrO6tq4fIpHIz88PAFBeXh4UFHT79u1Lly7V1tauW7fOzs4OExNbt26tr6/n8/lJSUk9PT2Y9DkD8D98jMWaNWsqKioghFKpVCQSGc6QUqk8ePCgj49Pfn6+4axMxoq0pFKpeP6YnThxwt/fHzdz0KrOsTinulMolJiYGI1pHCxai5YqlWpgYMDDwwM3i5pDp7GxMTU1FQeL1qKlSCTy9PScNQu/76vRsquri4hLFou1aIl/LZHGIm6mbVoa3KJlaikQCHg8Hp4WNdi0xJLW1tb4+PjR0VHcLGpj0xIzBALBm2++mZOTs2XLFnwsTgBnLUdGRiQSCRLyWJSWAoEgISEhOzt727ZtOJibEpy11A6bcVtTakzLvXv33r9/3xAGuru74+Pjjxw5sm3btoULgasrePx47CMeD4xPpsHChUC7QovHA+HhWLqBs5Yac2q1uq+vj0Qi4WB0TMuYmJiVK1eePn0acwNz5849d+7c9vF0ZAcH8NlnmBt5OcbSsq+v75VXXnFwcMDB6JiWO3furKur++6771JSUh5rBg4WuLq60mg0zdvMTHDqFMD5FgKegwMB/8AHaP9eBgYG/v7771FRUZGRkeXl5QayFx4OUlLAJ58YqPupwXNwIBhZSwCAvb394cOHCwoKdu/evW/fPgMtzsFmg/x80NU1sX3PHkAkjv0xGFha7O7utvgJCZgyjo2Pj29ubhaLxa+//nprayvmJoOCwObN4MiRie2ffAKamsb+cnOxtGgNk0vwojmJm5tbUVERk8lcvnz58ePH9TEAIbx69WpLS4t243//C4qKwMOHz21JIABf37E/d3d9bE7EqrVE2Lp1a01NzdmzZ999910UAZFSqTx79mxkZORHH300oV7Hzw/s3Am+/HLG7qIAQlhaWiqTyfAwNo7JaQkACA8Pv3HjBpVKpVKpFRUVOnY6MDBw/PjxoKCg06dPf/rppw0NDfPnz5+wzX/+A4aG0HisO8jBFB0dXVdXV1FRcezYMbVabViTAAAA1Gp1b28vUg6G6ylBx/yDq1ev+vr6MpnM4eHhaTZra2tjMpkEAoFOp9+5c0f/vAd0IDnpfn5+mjS7zs7OVatWxcfH//3334a2jlz0QV4HBAS0tbUZ2iLCDPJ9ent7169fHxMToymA0ubWrVuapO8ZFeVoUKvVMplMIpGoVCoUuyNo56TX1dVpfzQ6OsrhcEgkEo/HQ92/LjQ1NVGpVOR1Zmbm9Ec/hsw4d4vL5RKJRA6Hg7zVJH0HBARopxGjpqKiwtfXF0XRXVNTE51OJxAITCZTU2KHsGvXrt9++w15XV9fHxISQqfTnz59qqerU9Ld3f3222/PmzdPLBYbov9pQJOH9+eff0ZFRaWkpBw9ejQ8PDwmJobH4+kzmCbQ09OTlJQUGxv78OFDXbbXLrd78uTJ5A0uXbrk7e2dlZWFODkwMMBgMMLDwxsaGrDyGUJ49+7dHTt2uLu779mzZ/v27T4+PpcvX8aw/5eCMqdyaGgoKiqKTCZXV1dj6s8YmqK7goKCF22DVBBERkZSqdS8vDyFQjFNh2KxeN26dUuWLBEIBEjLhQsXkCKT0dFRPb1FDiakhrdvfP2E6upqPz8/JpM5NDSkZ/86gj4/dv/+/ceOHcPQlcncuXMnMjIyLS1twql7cmijY4dcLpdMJueNr7nW0dGxcuXK1atX//PPPyjcQ2o3X3vttZCQEO3aTQ0SiSQ9PT0iImL62j/9QQ4g9Fpu3ry5sLAQO3+mBim6CwgIqK2thRB2d3ez2WxPT8+0tLT6+noUHba0tERHR6empiLFzyMjI7m5ud7e3j///LPunQwODnI4HH9//7i4OD6fP/1PuybCwLzIZGRk5MKFC7GxsXFxcVAfLWk0WlVVFXaOTUdxcTGJRAoODvbw8Dhw4AC6OFmDQqFgsVj+/v6agKiurk7HgGjKZSleSltb27JlyzZs2NDb26uP5xqGhoa4XG5YWNjixYu5XC5yMKHXMjw8/N69e5h4pgvnzp3z9vaWSqVYdXj58mUfHx8mk4mU6kmlUgaD8eqrrzY2Nk65/ZTLUuiOpuq2rKxMH7fFYjFyZkpOTr5y5Yr2R+i1dHV1lUgk+rg1I86fP5+eno5tn2KxODk5ecmSJX/99RfSgqxCkJubqx0QaYc2mmUp0FFVVYU6IHrw4AGTyXRzc6PT6S0tLZM3QKmlTCZzdnZGty86vvjiiw8//BDzbtVqdV5ennZA9OjRoxUrViQkJHR1dU25LIWe9Pf3b9q0aeHChboHRDU1NWlpaRQKhcViTbM2AkotHzx4EBQUhG5fdBw4cODzzz83UOfIjHnjxo3I9FSlUn388cezZ8+m0Wi//vqrIQpjJ1xymRIkTl62bFlwcDCHw3lpAT1KLWtqapDYCTe2bNkyzVxTf+Ry+QcffBAYGHjjxg2kZcLFI8y5f//+okWLUlJSNFNSDQqFYnJo81JQasnn8zdu3IhuX3TQaLTKykpDWyktLT158qShrWhQKpVsNtvb27u8vBxpEYlEmtAGmYbpDso1R414d9egrF271tAmtHFwcDh8+PDy5ct37NhBo9Hs7e0vXryYnp5+7dq1kJCQmfZm09L4JCQkNDY2BgUFJSYmCgQC1AV+KPPWcf7PKhQKpVLp5uaGm0WcIRKJFAolJydHn0pN89BSKBRSKBTczBkF/f+lZqOlpZ5gEZ4+fQoA0HMVY5uWJgEmXxCNliqVanBw0CjrOFgqRtOyp6eHRCLhsI5DYWHh4OAg0PqqxcXFYrHY0HbxB5PMejR64DNKsrKyjh49iqxuprEoEAhoNJpIJDK0dZzB5F+KZn6Jg5aHDh0qLS2trKxEwoH8/Hyk/eDBg3Z2dqtWraqurraks67Fanno0KGSkpLKysopJ1ssFgsAQKPRLElOoVAYGRmpZydozrEikchws73s7OznhJz05FIAAIvF2rRpU0JCwsDAgIHcwBlshgeKK8Lt7e3okp104eLFi8/uG5w6Bd3cYFERlEhgSwtMTIT/+hccv4vL4/GmXEjdHFmwYMHdu3f17MSE16m0pieXEggEPTMWoEmvU2k1Ty4dHh5WKBQEAkHPfkxYS6t5cqlQKCSTyfqvLW1wLauqqmpra7Vbbt68WVZW9vI9rebJpVjNCwyrZVlZWXp6upOTk3aji4vLrl27+Hz+lLvI5fKxV1bz5FLM5niY/HRPSXl5OZlMnjIhuKWlxcfHZ0L+DvLAnrVr1z5r+uor6OYGeTwokcB792BiIqRS4bR1I+bIiRMn9u7dq38/htJyGiERtOXUfmDPxJz0Fzy51JLIysrKzs7Wvx+DaFlTU0MikTQJbfD8eRgVBefMgSQS/Pe/4Xjw3dzc7O7uvnTpUtQP7LEMdu7ceUZ76oUWg2j58OHDZ4m8L57vDw8PR0RE5Obm6vPAHgsgKSlJz8IEBANfK3jZfN90HjhoRGJiYl5UxDIjsH9eNJ/Pl8vlY4sZ1taCFSvAwMBz08Tdu8GTJ88FqNZNa2traGio/veDsZ+TMJnMPXv2jB0iVjPf14ewsDBMbuyjzI+dhrKyMqVSOXYVQzPf15bTEuf7pgD243LRokWxsbFjb6xmvm8KYD8un8PJCeTkgP37gYsLSEwEQiHIzAQkEhhfGtgGhmAf+0xBYSE4ehTcvw9cXcGGDeCzzwCOOXzWAy5a2sAFE77nZWOG2LS0HP4PTxvULK95WTgAAAAASUVORK5CYII=\n",
"text/plain": [
"Molecule(smiles=\"[O]OC(c1cc(ccc1OC)C(C)C)NC(C)C\")"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/3dmoljs_load.v0": "<div id=\"3dmolviewer_15931954791471632\" style=\"position: relative; width: 400px; height: 400px\">\n <p id=\"3dmolwarning_15931954791471632\" 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_15931954791471632 = null;\nvar warn = document.getElementById(\"3dmolwarning_15931954791471632\");\nif(warn) {\n warn.parentNode.removeChild(warn);\n}\n$3Dmolpromise.then(function() {\nviewer_15931954791471632 = $3Dmol.createViewer($(\"#3dmolviewer_15931954791471632\"),{backgroundColor:\"white\"});\n\tviewer_15931954791471632.addModel(\"\\n RDKit 3D\\n\\n 40 40 0 0 0 0 0 0 0 0999 V2000\\n -1.2234 2.3879 -0.3134 O 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.1480 -0.1944 2.3919 O 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2458 -0.4645 3.0320 O 0 0 0 0 0 1 0 0 0 0 0 0\\n -1.7224 -1.4210 0.4870 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.4775 -0.8093 -0.0681 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8681 -1.5928 -0.9629 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3923 -0.0964 0.9409 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.8991 -1.0677 1.3827 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2789 -2.1263 -0.8273 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2076 -3.0540 -1.2315 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.8957 -0.6518 -1.6013 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2112 3.6664 -0.9107 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2407 0.0642 -0.1407 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.1181 0.4201 0.3389 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.0655 1.6772 -0.2774 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0265 -0.3608 0.3959 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2687 1.3137 -0.7474 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1360 2.1193 -0.8224 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2890 -0.2602 -0.5594 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.8888 -1.3820 -1.4044 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2001 0.6353 0.8529 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.8237 -1.6513 1.4178 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.0633 -0.1294 1.9182 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1290 -1.6289 1.9207 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0030 -1.9430 -1.8689 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.1963 -2.7220 -0.8140 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4858 -2.7261 -0.3701 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.1825 -3.3114 -0.8023 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2564 -3.2473 -2.3058 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.4556 -3.7105 -0.7894 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6229 0.3977 -1.4624 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8865 -0.8091 -1.1605 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9707 -0.8388 -2.6762 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2250 4.0514 -0.8151 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.5186 4.3405 -0.3952 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.9445 3.6090 -1.9718 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.5758 -1.7118 0.9554 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.9441 -1.3333 0.8707 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.2057 3.0841 -1.3071 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1963 1.6777 -1.1788 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1 12 1 0\\n 1 15 1 0\\n 2 7 1 0\\n 2 3 1 0\\n 4 6 1 0\\n 4 7 1 0\\n 4 37 1 0\\n 5 8 1 0\\n 5 9 1 0\\n 5 13 1 0\\n 5 19 1 0\\n 6 10 1 0\\n 6 11 1 0\\n 6 20 1 0\\n 7 14 1 0\\n 7 21 1 0\\n 8 22 1 0\\n 8 23 1 0\\n 8 24 1 0\\n 9 25 1 0\\n 9 26 1 0\\n 9 27 1 0\\n 10 28 1 0\\n 10 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 11 32 1 0\\n 11 33 1 0\\n 12 34 1 0\\n 12 35 1 0\\n 12 36 1 0\\n 13 17 2 0\\n 13 16 1 0\\n 14 16 2 0\\n 14 15 1 0\\n 15 18 2 0\\n 16 38 1 0\\n 17 18 1 0\\n 17 40 1 0\\n 18 39 1 0\\nM RAD 1 3 2\\nM END\\n\",\"sdf\");\n\tviewer_15931954791471632.setStyle({\"stick\": {}});\n\tviewer_15931954791471632.zoomTo();\nviewer_15931954791471632.render();\n});\n</script>",
"text/html": [
"<div id=\"3dmolviewer_15931954791471632\" style=\"position: relative; width: 400px; height: 400px\">\n",
" <p id=\"3dmolwarning_15931954791471632\" 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_15931954791471632 = null;\n",
"var warn = document.getElementById(\"3dmolwarning_15931954791471632\");\n",
"if(warn) {\n",
" warn.parentNode.removeChild(warn);\n",
"}\n",
"$3Dmolpromise.then(function() {\n",
"viewer_15931954791471632 = $3Dmol.createViewer($(\"#3dmolviewer_15931954791471632\"),{backgroundColor:\"white\"});\n",
"\tviewer_15931954791471632.addModel(\"\\n RDKit 3D\\n\\n 40 40 0 0 0 0 0 0 0 0999 V2000\\n -1.2234 2.3879 -0.3134 O 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.1480 -0.1944 2.3919 O 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2458 -0.4645 3.0320 O 0 0 0 0 0 1 0 0 0 0 0 0\\n -1.7224 -1.4210 0.4870 N 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.4775 -0.8093 -0.0681 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.8681 -1.5928 -0.9629 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.3923 -0.0964 0.9409 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.8991 -1.0677 1.3827 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.2789 -2.1263 -0.8273 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2076 -3.0540 -1.2315 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.8957 -0.6518 -1.6013 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.2112 3.6664 -0.9107 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2407 0.0642 -0.1407 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.1181 0.4201 0.3389 C 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.0655 1.6772 -0.2774 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.0265 -0.3608 0.3959 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.2687 1.3137 -0.7474 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.1360 2.1193 -0.8224 C 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.2890 -0.2602 -0.5594 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.8888 -1.3820 -1.4044 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2001 0.6353 0.8529 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.8237 -1.6513 1.4178 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.0633 -0.1294 1.9182 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1290 -1.6289 1.9207 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.0030 -1.9430 -1.8689 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 4.1963 -2.7220 -0.8140 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 2.4858 -2.7261 -0.3701 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.1825 -3.3114 -0.8023 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2564 -3.2473 -2.3058 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -1.4556 -3.7105 -0.7894 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.6229 0.3977 -1.4624 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -3.8865 -0.8091 -1.1605 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.9707 -0.8388 -2.6762 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.2250 4.0514 -0.8151 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.5186 4.3405 -0.3952 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -0.9445 3.6090 -1.9718 H 0 0 0 0 0 0 0 0 0 0 0 0\\n -2.5758 -1.7118 0.9554 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 0.9441 -1.3333 0.8707 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1.2057 3.0841 -1.3071 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 3.1963 1.6777 -1.1788 H 0 0 0 0 0 0 0 0 0 0 0 0\\n 1 12 1 0\\n 1 15 1 0\\n 2 7 1 0\\n 2 3 1 0\\n 4 6 1 0\\n 4 7 1 0\\n 4 37 1 0\\n 5 8 1 0\\n 5 9 1 0\\n 5 13 1 0\\n 5 19 1 0\\n 6 10 1 0\\n 6 11 1 0\\n 6 20 1 0\\n 7 14 1 0\\n 7 21 1 0\\n 8 22 1 0\\n 8 23 1 0\\n 8 24 1 0\\n 9 25 1 0\\n 9 26 1 0\\n 9 27 1 0\\n 10 28 1 0\\n 10 29 1 0\\n 10 30 1 0\\n 11 31 1 0\\n 11 32 1 0\\n 11 33 1 0\\n 12 34 1 0\\n 12 35 1 0\\n 12 36 1 0\\n 13 17 2 0\\n 13 16 1 0\\n 14 16 2 0\\n 14 15 1 0\\n 15 18 2 0\\n 16 38 1 0\\n 17 18 1 0\\n 17 40 1 0\\n 18 39 1 0\\nM RAD 1 3 2\\nM END\\n\",\"sdf\");\n",
"\tviewer_15931954791471632.setStyle({\"stick\": {}});\n",
"\tviewer_15931954791471632.zoomTo();\n",
"viewer_15931954791471632.render();\n",
"});\n",
"</script>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"if smiles is None:\n",
" mol = molecules_from_xyz(check_xyz_dict(xyz))[1]\n",
" smiles = mol.to_smiles()\n",
"\n",
"rmg_mol = Molecule(smiles=smiles)\n",
"arc_spc = ARCSpecies(label='test', smiles=smiles, xyz=xyz)\n",
"arc_spc.determine_symmetry()\n",
"\n",
"print('SMILES: ', smiles)\n",
"print('External symmetry: ', arc_spc.external_symmetry)\n",
"print('Optical isomers: ', arc_spc.optical_isomers)\n",
"\n",
"display(rmg_mol)\n",
"success = show_sticks(xyz=xyz)"
]
"outputs": [],
"source": "\nif smiles is None:\n mol = perceive_molecule_from_xyz(check_xyz_dict(xyz))\n smiles = mol.to_smiles()\n\nrmg_mol = Molecule(smiles=smiles)\narc_spc = ARCSpecies(label='test', smiles=smiles, xyz=xyz)\narc_spc.determine_symmetry()\n\nprint('SMILES: ', smiles)\nprint('External symmetry: ', arc_spc.external_symmetry)\nprint('Optical isomers: ', arc_spc.optical_isomers)\n\ndisplay(rmg_mol)\nsuccess = show_sticks(xyz=xyz)"
},
{
"cell_type": "code",
Expand Down Expand Up @@ -214,4 +110,4 @@
},
"nbformat": 4,
"nbformat_minor": 2
}
}
Loading
Loading