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
5 changes: 4 additions & 1 deletion arc/reaction/reaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -550,13 +550,16 @@ def determine_family(self,
):
"""
Determine the RMG reaction family.
Populates the .family, and .family_own_reverse attributes.

Args:
rmg_family_set (str, optional): The RMG family set to use.
consider_rmg_families (bool, optional): Whether to consider RMG's families in addition to ARC's.
consider_arc_families (bool, optional): Whether to consider ARC's families in addition to RMG's.
discover_own_reverse_rxns_in_reverse (bool, optional): Whether to discover own reverse reactions in reverse.

Returns:
tuple[str | None, bool | None]: The reaction family label,
and whether the family's template also represents its own reverse.
"""
if rmg_family_set == 'default' and consider_rmg_families and consider_arc_families and not discover_own_reverse_rxns_in_reverse:
# these are the default values, don't bother generating a new product_dicts list, use the property
Expand Down
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,28 +19,14 @@
},
{
"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",
"execution_count": 2,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
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": "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\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
Loading