{ "cells": [ { "cell_type": "markdown", "id": "37167049", "metadata": {}, "source": [ "# Nuclear Magnetic Resonance\n", "\n", "Nuclear magnetic resonance spectroscopy (NMR) is a power analytical tool in typically used for molecule identification. The values are often predicted with ab initio means to increase confidence in identification. To predict chemical shifts and spin couplings, we require, at minimum, a geometry. ISiCLE takes these inputs and can sequentially generate conformers and DFT optimized geometries to obtain Boltzmann-weighted NMR chemical shift values." ] }, { "cell_type": "markdown", "id": "1345a46b", "metadata": {}, "source": [ "## Example Chemical Shift Calculation\n", "For an example NMR calculation, we load mol file containing dimethylglycine, which instantiates and ISiCLE Geometry object." ] }, { "cell_type": "code", "execution_count": 1, "id": "a97a0503", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jyst649/anaconda3/envs/isicle/lib/python3.9/site-packages/statsmodels/compat/pandas.py:65: FutureWarning: pandas.Int64Index is deprecated and will be removed from pandas in a future version. Use pandas.Index with the appropriate dtype instead.\n", " from pandas import Int64Index as NumericIndex\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import isicle\n", "\n", "geom = isicle.io.load('dimethylglycine.mol')\n", "geom = geom.initial_optimize(embed=True)\n", "\n", "geom.mol" ] }, { "cell_type": "markdown", "id": "ff116d5f", "metadata": {}, "source": [ "### Conformational Ensembles\n", "We use xtb's Conformer Rotamer Ensemble Sampling Tool, CREST to predict conformational ensembles. CREST is already a simple to use standalone command line tool, here we have created a Python function to call upon some tools CREST has made available followed by data parsed out from CREST output.\n", "\n", "For example, here we generate conformers in water using a 3 kcal/mol energy window using the GFF forcefield." ] }, { "cell_type": "code", "execution_count": 2, "id": "34007b0e", "metadata": {}, "outputs": [], "source": [ "conformer = geom.md(forcefield='gff',\n", " ewin = 3,\n", " task = 'conformer',\n", " charge = geom.get_formal_charge(),\n", " solvation = 'water',\n", " processes = 4)" ] }, { "cell_type": "code", "execution_count": 4, "id": "50ddf589", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[, , , , , , , , , , , , , , , , , , , , , ]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isicle.io.save('nmr_conformers.joblib', conformer)\n", "conformer.charge = 0\n", "\n", "conformer.get_structures()" ] }, { "cell_type": "markdown", "id": "dc015b5b", "metadata": {}, "source": [ "The output `conformer` is saved in `nmr_conformers.joblib`. Each ISiCLE XTBWrapper object contains the history, the contents of the output file, parsed timing information and a list of conformers found by CREST that have been converted into ISiCLE XYZGeometry objects. " ] }, { "cell_type": "markdown", "id": "9ef7bb4e", "metadata": {}, "source": [ "### Density Functional Theory Calculations\n", "\n", "We now calculate DFT single point energies for each conformer using open-source quantum chemical software, NWChem. The `dft` function generates the NWChem input file using the ISiCLE Geometry object and specifications for the DFT calculations. Specifications are customizable to any functional or basis set available in NWChem, but defaults are set to B3LYP and 6-31g*, respectively.\n", "\n", "Here we calculate the single point energies for each conformer using the hybrid functional, B3LYP, and split valence, double zeta basis set, 6-31+G**, and COSMO implicit solvation for water. For brevity, we only calculate the chemical shifts and spin of the lowest energy conformer." ] }, { "cell_type": "code", "execution_count": 5, "id": "d2933968", "metadata": {}, "outputs": [], "source": [ "geom = conformer.geom[0]\n", "\n", "dft = geom.dft(tasks=['optimize', 'shielding'],\n", " functional='B3LYP',\n", " basis_set='6-31g*',\n", " ao_basis='cartesian',\n", " charge=conformer.charge,\n", " solvent='h2o',\n", " gas=False,\n", " max_iter=150,\n", " mem_global=1600,\n", " mem_heap=600,\n", " mem_stack=1000,\n", " scratch_dir='/tmp',\n", " processes=4,\n", " command='nwchem')\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "b4094e42", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isicle.io.save('nmr_dft.joblib', dft)\n", "dft.get_structure()" ] }, { "cell_type": "markdown", "id": "918bf895", "metadata": {}, "source": [ "`dft` is an ISiCLE NWChemWrapper object of the DFT calculation of the selected conformer, in this case we have chosen the structure with the lowest energy. An NWChemWrapper object contains the optimized geometry, as well as parsed information from the NWChem output file, including chemical shielding tensors, electronic energy, Mulliken charges, timing information and structural connectivity. Results from the above script is saved in `nmr_dft.joblib` and can be viewed below." ] }, { "cell_type": "markdown", "id": "da3dbad2", "metadata": {}, "source": [ "### Converting Chemical Shielding Tensors to Chemical Shifts\n", "To obtain our final chemical values, we convert the shielding tensors into chemical shifts. This is accomplished using the `transform` function in the `conformers` module, which allows a value or a list of values to be linearly transformed using a provided slope and y-intercept value. Here we use values from the CHESHIRE Chemical Shift Repository." ] }, { "cell_type": "code", "execution_count": 11, "id": "b785afd1", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
valueindexatomnew_value
729.30138H3.207480
829.43219H3.077714
928.495110H4.007311
1029.300911H3.207877
1129.431312H3.078507
1228.492813H4.009593
1328.156214H4.343534
1428.156015H4.343732
1525.937016H6.545202
0150.39811C32.798725
2150.39103C32.805694
3134.96644C47.946482
425.55465C155.345105
\n", "
" ], "text/plain": [ " value index atom new_value\n", "7 29.3013 8 H 3.207480\n", "8 29.4321 9 H 3.077714\n", "9 28.4951 10 H 4.007311\n", "10 29.3009 11 H 3.207877\n", "11 29.4313 12 H 3.078507\n", "12 28.4928 13 H 4.009593\n", "13 28.1562 14 H 4.343534\n", "14 28.1560 15 H 4.343732\n", "15 25.9370 16 H 6.545202\n", "0 150.3981 1 C 32.798725\n", "2 150.3910 3 C 32.805694\n", "3 134.9664 4 C 47.946482\n", "4 25.5546 5 C 155.345105" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isicle.conformers.transform(dft.shielding['shielding'], \n", " m={'H':-0.9921, 'C':-0.9816}, \n", " b={'H': 32.2773, 'C':180.4295}, \n", " atom=dft.shielding['atom'],\n", " index=dft.shielding['index'])" ] }, { "cell_type": "code", "execution_count": 12, "id": "2cf08fcb", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit import Chem\n", "from rdkit.Chem.Draw import IPythonConsole\n", "from rdkit.Chem import Draw\n", "IPythonConsole.drawOptions.addAtomIndices = True\n", "IPythonConsole.molSize = 300,300\n", "geom.mol" ] }, { "cell_type": "markdown", "id": "07f6ebb8", "metadata": {}, "source": [ "Taking the chemical shifts of dimethylglycine from Human Metabolome Database, HMDB0000092, the average error is 0.10 and 15.1 ppm for proton and carbon chemical shift predictions. The framework to do an automated comparison between experimental and calculated values is not currently available in ISiCLE 2.0, but is in the plans for future updates.\n", "\n", "## Boltzmann Weighting Chemical Shift Values\n", "Though we only calculcate chemical shifts for one conformer in this tutorial, it is possible to Boltzmann weight chemical shifts if multiple conformers are considered. To obtain our Boltzmann weighted chemical shift values, we Boltzmann average across the different conformers by their DFT energies. This is accomplished using the `conformers` module. Here we generate a pseudo-\"conformer ensemble\" by duplicating the `dft` object in a list. We can then transform the boltzmann-weighted chemical shielding values to chemical shifts using the `transform` function in the `conformers` module, as shown in the previous example." ] }, { "cell_type": "code", "execution_count": 3, "id": "55e89bed", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " index mean std n\n", "0 (1, C) 149.0905 0.0 2\n", "1 (2, N) 235.8028 0.0 2\n", "2 (3, C) 149.0902 0.0 2\n", "3 (4, C) 135.2399 0.0 2\n", "4 (5, C) 29.0039 0.0 2\n", "5 (6, O) -63.3548 0.0 2\n", "6 (7, O) 137.3212 0.0 2\n", "7 (8, H) 29.9966 0.0 2\n", "8 (9, H) 30.1020 0.0 2\n", "9 (10, H) 29.0379 0.0 2\n", "10 (11, H) 29.9966 0.0 2\n", "11 (12, H) 30.1011 0.0 2\n", "12 (13, H) 29.0365 0.0 2\n", "13 (14, H) 28.8895 0.0 2\n", "14 (15, H) 28.8894 0.0 2\n", "15 (16, H) 26.9227 0.0 2\n" ] } ], "source": [ "dfts=[dft,dft]\n", "\n", "boltzmann = {}\n", "\n", "dft_energies = []\n", "shift_values = []\n", "atom = []\n", "index = []\n", "\n", "for conformer in dfts:\n", " for shift in dft.shielding['shielding']:\n", " dft_energies.append(dft.energy)\n", " shift_values.append(shift)\n", " for atom_type in dft.shielding['atom']:\n", " atom.append(atom_type)\n", " for idx in dft.shielding['index']:\n", " index.append(idx)\n", "\n", "res = isicle.conformers.boltzmann(shift_values, dft_energies, index=index, atom=atom)\n", "print(res)" ] }, { "cell_type": "code", "execution_count": null, "id": "aee94ccc", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.16" } }, "nbformat": 4, "nbformat_minor": 5 }