{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit import Chem\n", "from rdkit.Chem.Draw import IPythonConsole\n", "from rdkit.Chem import Draw\n", "from psikit import Sapt\n", "\n", "p1 = Chem.MolFromMolFile('phenol1.mol', removeHs=False)\n", "p2 = Chem.MolFromMolFile('phenol2.mol', removeHs=False)\n", "Draw.MolsToGridImage([p1,p2])" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "sapt = Sapt()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "sapt.monomer1_from_molfile('phenol1.mol')\n", "sapt.monomer2_from_molfile('phenol2.mol')\n", "sapt.make_dimer()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "done\n" ] } ], "source": [ "res = sapt.run_fisapt()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-0.011385703499910926\n" ] } ], "source": [ "print(res)" ] }, { "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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }