{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**An Introduction to the RDKit for Cheminformatics**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Import the necessary Python libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from rdkit import Chem #RDKit Chemistry\n", "from rdkit.Chem.Draw import IPythonConsole #RDKit drawing\n", "from rdkit.Chem import Draw #RDKit drawing\n", "# A few settings to improve the quality of structures \n", "from rdkit.Chem import rdDepictor\n", "IPythonConsole.ipython_useSVG = True\n", "rdDepictor.SetPreferCoordGen(True)\n", "from rdkit.Chem import PandasTools #Add the ability to add a molecule to a dataframegrid\n", "import mols2grid #The mols2grid library provides a convenient way of displaying molecules in a grid" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a molecule (benzene) from a SMILES string" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "mol = Chem.MolFromSmiles(\"c1ccccc1\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAPHUlEQVR4nO3dSUyUZxzH8WdYxRVwF0GrIiBW69YpLq1WE1TooQfSeBibtAm9TUmTFps2mfRgM/HQjvaEPY02aUp7GpeSoLZqUVmsS2XTqpVNFARxRBiQmR4eM0WsCu/7zrwz834/V5ln/rzx/fG+z2ry+XwCAKBUlN4FAEB4I0YBQBViFABUIUYBQBViFCHN5/MxCooQR4wiRA0ODu7fvz8nJyc3N3fXrl1ut1vvioD/Z+JPPULQ0aNHP/nkk8bGRiGEyWTy+Xypqal79ux57733TCaT3tUBT+FpFKHl6tWr77zzTl5eXmNjY3p6emlpaWVlZU5OTnNz844dO8xm87lz5/SuEXiaDwgN3d3dxcXF8fHxQojExES73d7f3y//yev1Op3OWbNmCSFMJpPFYrl9+7a+1QJ+xCj0NzQ05HQ6Z8yYIYSIioqyWCzt7e3P/tjDhw9tNpvM2QkTJthsNn/OAjoiRqGz3377bfny5fLdaOPGjRcvXnzxz1+7dq2goED+/KJFi0pLS4NTJ/A8xCh009TUZLFYZCCmpqY6nU6v1zvKzx47dmzp0qXys5s3b/7rr78CWirwAsQodCBfz8eNGyeEGD9+vM1m6+vrG2sjg4ODJSUl06ZNE0LExMQUFhZ2dHQEolrgxYhRBJXX6y0tLU1LS5ODRQUFBbdu3VLT4L1796xWa0xMjBAiOTnZ4XA8fvxYq2qB0SBGETxVVVVr166Vb+KrV6+uqKjQquX6+vrc3FzZclZWVllZmVYtAy9FjCIYWltbCwsLo6KihBBz5swpKSkZGhrS/FtcLteCBQtkmObn51+/fl3zrwCeRYwisB49emS32ydNmiSEiIuLs1qtDx48CNzXeTweh8MRtK8DfMQoAsrlcr3yyiv+x8MbN24E53uD8/ALSMQoAuLPP/988803ZYCuWLHi5MmTwa+huro6QF2xwHDEKDTW2dlptVqjo6OFEFOnTtV36PzZiQFNTU16FYNIRYxCMwMDAw6HY8qUKUKI2NhYq9V6//59DdtvaWlR9sHh01TlKlIF01SB5yFGoY3y8vIlS5bIN+gtW7ZcuXJF2/ZrampiYmIsFsudO3eUtfDsoiltK4RhEaNQq6GhYfv27TKeMjIyDh8+HIhv+e6772JjY4UQSUlJe/fuHRwcVNbOiRMnli1bJqvdtGnTpUuXtK0TBkSMQrmurq7i4uK4uDiZbna73ePxBO7rGhsb8/LyZAIuXrxYcV7LDaWmT5/uX0V69+5dbUuFoRCjUEKuZ5dJJLe2U/yuPVYjeg9qa2uVtdPV1eVfRZqUlORwOBQ/4cLgiFGM2fHjx/V9L9ZwLKuhoWHbtm3+HomjR49qWyqMgBjFGAzf6zMtLU3fURoNZ1a5XK6FCxf6lwn8/fff2paKyEaMYlRCds7Q+fPnN2zYIBNw5cqVp06dUtaOfMKdPHmy/wm3p6dH21IRqYhRvERYnIPkcrnmz5/vf5y8efOmsnba2tr8q0hnz57NKlKMBjGKF6msrHzjjTdkPL3++utnzpzRu6Ln6u3ttdvtEydOlFtBFxcXu91uZU3V1NSsW7dO/tarVq36448/tC0VEYYYxf9raWmxWCzyUPiUlJQxnfCho+bmZn/Zc+fOVVy2XEU6b948rbaXRgQjRjHS8Me6hIQENY91ejl37pzZbJaPk/Joe2Xt9Pb2qj/sBBGPGMVTtOpk1J2cYz9z5kzxwkObR4NVpHgxYhRPnD9/fv369eqHvEOK2+32H20/ceJENUfbj/UgaBgHMYonw9NyAua0adMi71S4q1ev+qe7pqenHzp0SFk78gl3xowZwV+7hVBGjBqaoSZLlpeXZ2dnq9+Dqru727+TQGJiYqB3EkDoI0aNy4BLd+SfjcTERP+fje7ubmVNjdgn5ciRI9qWijBCjBpRfX391q1bZQRkZmYabSG5PNpedmKoPNpeq31SENaIUWORCSK3NZIJYthtjS5cuOA/Leq1115TfFpUoPf8R+gjRg3E6/X+8ssvJpOJTTb9tDq79Pbt2x988IFcRRouSxWgFZPP5xMwhoGBgfj4+Ojo6MuXL/tfRdHX17dv377du3e73e6EhASr1frFF1/Ik+7HqqamZsOGDf39/ffu3UtOTta8VIQmYtRAZIzGxcV5PB69awk5ra2tn3/++Q8//ODz+VJSUr7++mv/otIxmTp1aldXFzFqKFF6FwCEhJSUlAMHDlRWVubk5LS2tr7//vtms/ns2bN614UwQIwC/1mzZk1FRYXcGLC6unrdunU7d+5sb2/Xuy6ENGIUeIrJZNq5c2djY+Onn34aGxt78ODBjIyMsrKyUX5c9pIp6A1A+CJGDYQ7fPQmT568Z8+e2tragoICn8/nX00PPIshJgPxeDzjxo2Lj4/v7+/Xu5Zw0tTUlJaWNsofTk5O7u7u7urqSkpKCmhVCB08jQIvMfoMhTERowCgCjEKaIkOaAMiRg1klHf4jh07Fi5cWFVVFZSigLBHjGKktra2GzduMAwFjBIxCgCqEKMAoAoxipEYJFGDq2dAxKiBcIcDgUCMAoAqxCgAqEKMAoAqxChGogtVDa6eARGjBsIdDgQCMQoAqhCjAKAKMQoAqhCjGIkuVDW4egZEjBoIdzgQCMQoAKhCjAKAKsQoAKhCjGIkulDV4OoZEDFqINzhQCAQowCgCjEKAKoQoxiJd39gTIhRAyEfg4CLbEDEKACoQowCgCrEKACoQoxiJHr31ODqGRAxaiDc4UAgEKMAoAoxCgCqEKMAoAoxipHoQlWDq2dAxKiBcIcDgUCMAoAqxCgAqEKMAoAqxChGogtVDa6eARGjBsIdDgQCMQoAqhCjAKAKMQoAqhCjGIkuVDW4egZEjBoIdzgQCMQoAKhCjAKAKjF6F4CQk5mZ6fV6J0yYoHchQHggRjHSgQMH9C4hjNEBbUC81BsIdzgQCMQoAKhCjAIv0dnZqXcJCGnEKPBcLS0tO3fuzM7O7unp0bsWhC5iFPgfvb29X375ZXp6+sGDB3t7e2tqakb5QTqgDYgYNRDu8NHw+Xw///xzdnb27t27PR5PQUFBbW3t5s2b9a4LoYsJT8B/ampqioqKKioqhBCrVq1yOBzr16/XuyiEOp5GASGEaGtr++ijj8xmc0VFxezZs0tKSqqqqshQjAYxajhj6ukzgoGBgb1792ZmZu7fvz8mJsZqtTY0NBQWFkZFjfnuqKur83q9gSgSoYwYNZDk5GSn09nf3282mz/88MP29na9K9LfoUOHsrKyioqK3G53fn5+fX393r17J0+ePNZ2uru7d+3atWLFiqGhoR9//DEmhu4yI/HBSB4+fGiz2caNGyeEmDBhgs1m6+vr07sofdTV1eXm5sq7ICsrq6ysTFk7Q0NDTqdzxowZQoioqCiLxXLnzh1tS0WII0aN6Nq1awUFBTJBFi1aVFpaqndFQXXv3j2r1RodHS2ESE5Odjgcjx8/VtbU8ePHly1bJq/kpk2bLl26pG2pCAvEqHEdP3781VdflRHw9ttvX758We+KAm5gYMDhcCQmJgohYmNjCwsLOzo6lDU1/E9Ramqq0+nUtlSEEWLU0AYHB0tKSqZPny6EiImJKSwsvHv3rt5FBUp5eXl2drYMvi1btly5ckVZO3SMYARiFE9ecuWoiHzJHRwc1LsoLTU2Nubl5ckAXbx48aFDh5S14/V6nU7nrFmzhBAmk8lisdy+fVvbUhGOiFE8UV9fv3XrVpk1mZmZv/76q94VaaC7u7u4uDguLk4IkZiYaLfb+/v7lTVVWVmZk5Mjr8+aNWvOnDmjbakIX8QonuJyuRYsWCDDIj8///r163pXpJCGA+gtLS0Wi0Uuok1JSXE6nV6vV9tqEdaIUYzk8XgcDoecOxkXF2e1Wnt6evQuamxOnDjhH0DfuHHjxYsXlbXz6NEju90+ceJEIURCQkJxcfGDBw+0LRURgBjF/2tra/Ov5JkzZ05JScnQ0JDeRb1cU1OTxWLRZADd5XLNnz/f/2B+8+ZN7cpERCFG8SLV1dVr166VUbJ69eqKigq9K3ouDQfQz58/v2HDBvlbr1y58tSpU9qWighDjOIlvF5vaWlpWlqaHJ4uKCi4deuW3kU9RVaYmpqqvsKOjg7/zPypU6eqmZkP4yBGMSohO1myqqpq+AC64udlOTNf9gjHxsZardb79+9rWyoiFTGKMdCw51G94QPoKntvXS7XwoUL/TPz6+rqtC0VkY0YxZgNHwfXZSG5HECfNGmS+gH0+vr6bdu2yd8lIyPjyJEj2pYKIyBGoYSclSlXkcpZmUFbRTpiAP3GjRvK2hm+dispKSny1m4haIhRKNfV1eVfI5SUlGS32z0eT+C+bvgA+ooVK06ePKmsHUPtJIAgIEahVkNDw/bt2wP9XvzVV1/JSawzZ878/vvvFXeDHjt2zGj7WiHQiFFoo7y8PCsrK3CjNEeOHFE5gH716lUj77KKwCFGoZln5wxpu4q0ublZ2QfdbrfNZouPj/fP1lK8QQnwLGIUGpOrSOUMdnnEpo4z2OVQ2MyZM/1DYWxtB80RowiImpoa/+nEq1atOn36dPBrOHfunNlsljWYzeazZ88GvwYYATGKQJFrNOfNm+dfo/nPP/8E56ubm5v9M/Pnzp3L1nYIKGIUgdXb22uz2RISEoQQ48ePt9lsjx49CtrXFRcXu93uwH0d4CNGERxBeDzU8eEXBkeMInh+//335cuXy87Kt956S/Fuys+qrq5et26dvl2xMCxiFEGl4dkeUmtrq397aTkxICy2l0YkIUahg2dPmlOwijQCDjtBZCBGoZsR5x4fPnx49J+NmKP3EAGIUeisvLx8yZIl/lWktbW1L/75urq63Nxc+fNZWVmRcRA0whoxCv3JVaRTpkx58c7zcms7uT4qOTmZEz4QIohRhIrOzs7nnYMkczYxMVHmbGFhYUdHh77VAn4mn88ngJBx4cKFjz/++PTp00KIlStXOhwOj8dTVFRUW1srhNiyZcu33367dOlSvcsE/kOMIuT4fL6ffvrps88+a25uNpme/BfNyMj45ptv/BubAqGDGEWI6uvr27dv34kTJ3p6et59992ioiK50x0QaohRhDT5/1OuIgVCEzEKAKpE6V0AAIQ3YhQAVCFGAUAVYhQAVPkXp7BJSQKNaUEAAACWelRYdHJka2l0UEtMIHJka2l0IDIwMjAuMDkuNAAAeJx7v2/tPQYg4AFiRgYIYIPiBkY2hwwgzcxMGoObgTGDiZEpgYk5g4mZJYGFNYOJlSFBhJGNgZWFmYlRHGYPA1vKmdj9kRv/7wNxvk2P3R+kzmAPYu/fEWgFtB/MBqqxj9n43w6qxj5YnWE/iP10e+AuoBowWwwACQMhiQfflhwAAACielRYdE1PTCByZGtpdCAyMDIwLjA5LjQAAHicpVExCsMwDNz9ivuAg5LYIprrTiUdOvQP3fN/IltGdGgXRxz4DvkODgXUeZXH54DPUkIAuIF+QkTwXohI/yHStDEnY0mkMtCkW8IN/yK+4SmZzZuJeCjFHFtls3kHU3ojXGgEbxQvNIreKI43mvWoQDKhbHVhrAt9sovc7t8Ft4wmduD+LOEEovdX7ll4au4AAABkelRYdFNNSUxFUyByZGtpdCAyMDIwLjA5LjQAAHicPctRCsAgDAPQq+xzg7SkYovicbyGh3dzboV8NOR168/ZMU4qyXInOQyNWiIyqLnW/L4eEKqTgSb/3BLEVrGAfEI22eIaEwOAFpenMYzRAAAAAElFTkSuQmCC\n", "image/svg+xml": [ "\n", "\n", "\n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mol" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get SMILES fro Gleevec from ChEMBL\n", "\n", "- [From ChEMBL](https://www.ebi.ac.uk/chembl/compound/inspect/CHEMBL941)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "glvc = Chem.MolFromSmiles(\"CN1CCN(Cc2ccc(cc2)C(=O)Nc3ccc(C)c(Nc4nccc(n4)c5cccnc5)c3)CC1\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "image/svg+xml": [ "\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" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "glvc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Read a set of molecules from an SD file" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "mols = [x for x in Chem.SDMolSupplier(\"example_compounds.sdf\")]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\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", " ]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mols" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Draw these molecules as a grid" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\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", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "" ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Draw.MolsToGridImage(mols,molsPerRow=4,useSVG=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the mols2grid library to display molecules in a grid" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mols2grid.display(mols)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mols2grid.selection" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also read an SD file into a Pandas dataframe. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "df = PandasTools.LoadSDF(\"example_compounds.sdf\")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "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", "
IDROMol
0168691 CHEMBL318804\"Mol\"/
186358 CHEMBL162\"Mol\"/
2575087 CHEMBL576683\"Mol\"/
3575065 CHEMBL571484\"Mol\"/
4575047 CHEMBL568937\"Mol\"/
\n", "
" ], "text/plain": [ " ID ROMol\n", "0 168691 CHEMBL318804 \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", "
IDROMolMWLogP
0168691 CHEMBL318804\"Mol\"/565.0995.49788
186358 CHEMBL162\"Mol\"/466.5414.35400
2575087 CHEMBL576683\"Mol\"/527.9154.96202
3575065 CHEMBL571484\"Mol\"/491.9354.36922
4575047 CHEMBL568937\"Mol\"/487.9915.12922
\n", "" ], "text/plain": [ " ID ROMol \\\n", "0 168691 CHEMBL318804 " ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = sns.boxplot(x=df.MW)" ] }, { "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.9.1" } }, "nbformat": 4, "nbformat_minor": 2 }