{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# parm@frosst-y to SMIRNOFF\n", "\n", "This notebook provides examples/utility functionality to assist with conversion of parm@frosst or relatives to SMIRNOFF format. Particularly, Christopher Bayly is generating modified AMBER `frcmod` files where the first entry for each parameter (i.e. `CT-CT-CT`) is replaced by the relevant SMIRKS pattern, for conversion into SMIRNOFF FFXML format. \n", "\n", "This notebook will:\n", "1. Convert a specified smirks-frcmod file to SMIRNOFF FFXML\n", "2. Generate (or take in) a set of molecules in OpenEye oemol format\n", "3. Use the SMIRNOFF `ForceField` class to determine (a) which parameters are used in which molecules; (b) which molecules contain a specified parameter; and (c) which molecules do NOT contain a specified parameter.\n", "\n", "Bayly has also updates the notebook with visualization for 3(b) and 3(c).\n", "\n", "Bannan added printed current atom types to make looking up references easier\n", "\n", "**Authors**:\n", "* David L. Mobley (UCI)\n", "* Contributions from Christopher I. Bayly (OpenEye Scientific Software Inc.) and Caitlin C. Bannan (UCI)\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Imports\n", "from __future__ import print_function\n", "from convert_frcmod import *\n", "import openeye.oechem as oechem\n", "import openeye.oeiupac as oeiupac\n", "import openeye.oeomega as oeomega\n", "import openeye.oedepict as oedepict\n", "from IPython.display import display\n", "from openff.toolkit.typing.engines.smirnoff.forcefield import *\n", "from openff.toolkit.typing.engines.smirnoff.forcefield_utils import get_molecule_parameterIDs\n", "from openff.toolkit.utils import *\n", "% matplotlib inline\n", "import matplotlib\n", "import numpy as np\n", "import pylab as pl\n", "import matplotlib.pyplot as plt\n", "import time\n", "import IPython\n", "import pickle\n", "import glob" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Relevant methods" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Relevant methods" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def depictAtomByIdx(mol_copy, atomIdxList, supH = True, width=900, height=500):\n", " mol = oechem.OEMol(mol_copy)\n", " OEGenerate2DCoordinates(mol)\n", " atomBondSet = oechem.OEAtomBondSet()\n", " for atom in mol.GetAtoms():\n", " if atom.GetIdx() in atomIdxList:\n", " atomBondSet.AddAtom( atom)\n", " for bond in atom.GetBonds():\n", " nbrAtom = bond.GetNbr(atom)\n", " nbrIdx = nbrAtom.GetIdx()\n", " if (nbrIdx in atomIdxList) and nbrIdx>atom.GetIdx():\n", " atomBondSet.AddBond( bond)\n", " from IPython.display import Image\n", " dopt = oedepict.OEPrepareDepictionOptions()\n", " dopt.SetDepictOrientation( oedepict.OEDepictOrientation_Horizontal)\n", " dopt.SetSuppressHydrogens(supH)\n", " oedepict.OEPrepareDepiction(mol, dopt)\n", " opts = oedepict.OE2DMolDisplayOptions(width, height, oedepict.OEScale_AutoScale)\n", " disp = oedepict.OE2DMolDisplay(mol, opts)\n", " aroStyle = oedepict.OEHighlightStyle_Color\n", " aroColor = oechem.OEColor(oechem.OEGrey)\n", " oedepict.OEAddHighlighting(disp, aroColor, aroStyle, \n", " oechem.OEIsAromaticAtom(), oechem.OEIsAromaticBond() )\n", " hstyle = oedepict.OEHighlightStyle_BallAndStick\n", " hcolor = oechem.OEColor(oechem.OELightGreen)\n", " oedepict.OEAddHighlighting(disp, hcolor, hstyle, atomBondSet)\n", " #ofs = oechem.oeosstream()\n", " img = oedepict.OEImage(width, height)\n", " oedepict.OERenderMolecule(img, disp)\n", " #oedepict.OERenderMolecule(ofs, 'png', disp)\n", " #ofs.flush()\n", " #return Image(data = \"\".join(ofs.str()))\n", " return Image(oedepict.OEWriteImageToString(\"png\",img))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def getMolParamIDToAtomIndex( oemol, ff):\n", " \"\"\"Take an OEMol and a SMIRNOFF force field object and return a dictionary,\n", " keyed by parameter ID, where each entry is a tuple of\n", " ( smirks, [[atom1, ... atomN], [atom1, ... atomN]) giving the SMIRKS\n", " corresponding to that parameter ID and a list of the atom groups in that\n", " molecule that parameter is applied to.\n", "\n", " Parameters\n", " ----------\n", " oemol : OEMol\n", " OpenEye OEMol with the molecule to investigate.\n", " ff : ForceField\n", " SMIRNOFF ForceField object (obtained from an ffxml via ForceField(ffxml)) containing FF of interest.\n", "\n", " Returns\n", " -------\n", " param_usage : dictionary\n", " Dictionary, keyed by parameter ID, where each entry is a tuple of\n", " ( smirks, [[atom1, ... atomN], [atom1, ... atomN]) giving the SMIRKS\n", " corresponding to that parameter ID and a list of the atom groups in\n", " that molecule that parameter is applied to.\n", "\n", " \"\"\"\n", " labels = ff.labelMolecules([oemol])\n", " param_usage = {}\n", " for mol_entry in range(len(labels)):\n", " for force in labels[mol_entry].keys():\n", " for (atom_indices, pid, smirks) in labels[mol_entry][force]:\n", " if not pid in param_usage:\n", " param_usage[pid] = (smirks, [atom_indices])\n", " else:\n", " param_usage[pid][1].append( atom_indices )\n", "\n", " return param_usage" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def GetAtomInfo(mol, indices, skip_atoms = []):\n", " #print(indices)\n", " atoms_by_index = dict()\n", " charges_by_index = dict()\n", " for atom in mol.GetAtoms():\n", " idx = atom.GetIdx()\n", " if idx in indices:\n", " atoms_by_index[idx] = atom\n", " charge = atom.GetFormalCharge()\n", " if charge == 0:\n", " charges_by_index[idx] = ''\n", " elif charge > -1:\n", " charges_by_index[idx] = '+%i' % charge\n", " else:\n", " charges_by_index[idx] = str(charge)\n", " atoms = [(atoms_by_index[idx],charges_by_index[idx]) for idx in indices]\n", " types = [atom.GetType() for (atom,charge) in atoms]\n", " atom_smarts = ['[#%i%s]' % (atom.GetAtomicNum(),charge) for (atom,charge) in atoms]\n", " smarts = '~'.join(atom_smarts)\n", " types = '~'.join(types)\n", " \n", " for (atom, charge) in atoms:\n", " if atom.GetAtomicNum() in skip_atoms:\n", " return (True, smarts, types)\n", " \n", "\n", " return (False, smarts, types)\n", " \n", "def DepictMolWithParam(mol, indice_list, supH = False, print_atoms = True, skip_atoms = []):\n", " skip_count = 0\n", " for IdxByOccurrence in indice_list:\n", " \n", " skip_it, approx_smarts, types = GetAtomInfo(mol, IdxByOccurrence, skip_atoms)\n", " \n", " if skip_it:\n", " skip_count += 1\n", " continue\n", " \n", " if print_atoms:\n", " print(\"Approximate SMARTS: %s\" % approx_smarts)\n", " print(\"Current Atom Types: %s\" % types)\n", " display(depictAtomByIdx(mol, IdxByOccurrence, supH = supH))\n", " if skip_count > 0:\n", " skips = ','.join([str(i) for i in skip_atoms])\n", " print(\"This molecule contains %i fragment(s) with at least one atom in (%s)\" % (skip_count, skips))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def make_param_histogram(param_id_counts, param_ids, letter, title):\n", " # Graph occurrences of bond parameters\n", " parm_ids = [ pid for pid in param_ids if pid[0]==letter]\n", " parm_ids.sort()\n", " counts_parms = [param_id_counts[parm_id] for parm_id in parm_ids]\n", " #print( parm_ids)\n", " #print( counts_parms)\n", " split = int(len(parm_ids)/2)\n", " \n", " indices = np.arange(len(parm_ids))\n", " fix, ax = plt.subplots(2,1,figsize=(16,5))\n", " ax[0].set_yscale('log', nonposy='clip')\n", " ax[1].set_yscale('log', nonposy='clip')\n", " \n", " rects2 = ax[0].bar(indices[0:split], counts_parms[0:split] )\n", " ax[0].set_ylabel('Count')\n", " ax[0].set_xticks( indices[0:split])\n", " ax[0].set_xticklabels( parm_ids[0:split], rotation=-60, ha='left')\n", " ax[0].set_xlim(indices[0], indices[split])\n", " plt.yscale('log',nonposy='clip')\n", " rects2 = ax[1].bar(indices[split:], counts_parms[split:])\n", " ax[1].set_ylabel('Count')\n", " ax[1].set_xticks( indices[split:])\n", " ax[1].set_xticklabels( parm_ids[split:], rotation=-60, ha='left')\n", " ax[1].set_xlim(indices[split], indices[-1]+1)\n", " \n", " ax[0].set_title(title)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def check_valence(mol):\n", " \"\"\"\n", " Checks for hypervalency\n", " Parameter\n", " ---------\n", " mol - OEMol()\n", "\n", " Return\n", " ------\n", " boolean - True (no inappropriate valency)\n", " False (an atom with atomic number < 10 has > 4 Valence)\n", " \"\"\"\n", " for atom in mol.GetAtoms():\n", " atomNum = atom.GetAtomicNum()\n", " # find number of neighbors to this atom\n", " valence = atom.GetValence()\n", " if atomNum <= 10: # first row elements\n", " if valence > 4:\n", " print(\"Found a #%i atom with valence %i in molecule %s\" % (atomNum, valence, oechem.OECreateIsoSmiString(mol)))\n", " return False\n", " return True" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Convert specified SMIRKS `frcmod` file to SMIRNOFF FFXML" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Input and output info\n", "#infile = 'example.frcmod' # smirnoffish frcmod file to convert\n", "infile = 'smirnoffishFrcmod.parm99Frosst.txt' # smirnoffish frcmod file to convert\n", "ffxmlFile = 'smirnoff99FrosstFrcmod.offxml'\n", "template = 'template.offxml' # Template FFXML file without parameters (but with remainder of contents)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Convert\n", "# Already converted\n", "convert_frcmod_to_ffxml( infile, template, ffxmlFile)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Load SMIRNOFF FFXML\n", "ff = ForceField(ffxmlFile) # We will use this below to access details of parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Generate or take in a set of molecules in OpenEye OEMol format\n", "\n", "Here we will take a set of molecules from openff-toolkit (or elsewhere), read in all molecules and then uncomment any filters you want. \n", "\n", "Here are some examples of molecule sets in openff-toolkit (at /openff/toolkit/data/molecules/):\n", "* `AlkEthOH_test_filt1_ff.mol2` - 42 alkanes, ethers, and alcohols with parm@frosst atom types\n", "* `DrugBank_atyped.oeb` - DrugBank database with parm@frosst atom types (including \"untypable\" atoms)\n", "* `zinc-subset-parm@frosst.mol2.gz` - ZINC parm@frosst subset from CCL\n", " " ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading molecules from '/Users/bannanc/Google Drive/RESEARCH/OFF_draftAndTestSpace/eMolecules_missingParameters/output.mol2'...\n", "18 molecules read\n", "0.005 s elapsed\n", "\n", "After filtering 0 molecules there were 0 repeated SMILES.\n", "The final set has 18/18 molecules\n" ] } ], "source": [ "# Un-comment this section if you want to use a local directory with individual mol2 files \n", "#DBpath = \"path/to/molecules/*.mol2\"\n", "#DBpath = \"/Users/bannanc/gitHub/FreeSolv/mol2files_sybyl/*mol2\"\n", "#DB_files = glob.glob(DBpath)\n", "#molecules = list()\n", "#for f in DB_files:\n", "# molecules += read_molecules(f, verbose=False)\n", "\n", "# These are atoms you don't want in your set, in this case metaloids or nobel gases\n", "skip_atoms = [2, 5, 14,33, 34, 52, 54] \n", "\n", "# Molecules file in openforcefield/data/molecules/ \n", "# OR any relative/absolute path\n", "mol_File = 'DrugBank_atyped.oeb'\n", "#mol_File = \"zinc-subset-parm@frosst.mol2.gz\"\n", "#mol_File = \"/Users/bannanc/Google Drive/RESEARCH/OFF_draftAndTestSpace/eMolecules_missingParameters/output.mol2\"\n", "molecules = read_molecules(mol_File)\n", "# For use later, generate isomeric SMILES for these so we can easily look up molecules by smiles\n", "isosmiles_to_mol = dict()\n", "repeat = 0\n", "skipped = 0\n", "\n", "for mol in molecules:\n", " c_mol = OEMol(mol)\n", " oechem.OEAddExplicitHydrogens(c_mol)\n", " # Get the smiles string for this molecule\n", " smi = oechem.OECreateIsoSmiString(c_mol)\n", " # uncomment to skip molecules with > n heavy atoms\n", " n=200\n", " if OECount(c_mol, OEIsHeavy()) > n:\n", " continue\n", " \n", " # uncomment to skip molecules with metals\n", " #if OECount(c_mol, OEIsMetal()) > 0:\n", " #skipped +=1\n", " # continue\n", " \n", " # uncomment to skip molecules containing the skip_atoms\n", " has_skip_atom = False\n", " for n in skip_atoms:\n", " if OECount(c_mol, OEHasAtomicNum(n)) > 0:\n", " has_skip_atom = True\n", " #if has_skip_atom:\n", " #skipped += 1\n", " # continue\n", " \n", " # uncomment to skip molecules with 5 bonds to atoms with atomic number < 10 (i.e. pentavalent nitrogen)\n", " #if not check_valence(c_mol):\n", " #skipped += 1\n", " # continue\n", " \n", " \n", " # uncomment to skip single molecules that contain > 1 molecule\n", " #if '.' in smi:\n", " # skipped +=1 \n", " # continue\n", " \n", " if smi in isosmiles_to_mol:\n", " repeat += 1\n", " isosmiles_to_mol[smi] = c_mol\n", "\n", "oemols = [mol for smi, mol in isosmiles_to_mol.items()]\n", "print(\"\\nAfter filtering %i molecules there were %i repeated SMILES.\\nThe final set has %i/%i molecules\"\\\n", " % (skipped, repeat, len(oemols), len(molecules)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Determine parameter usage in molecules\n", "\n", "Here we will use the SMIRNOFF ForceField class to determine (a) which parameters are used in which molecules; (b) which molecules contain a specified parameter; and (c) which molecules do NOT contain a specified parameter. We begin by just loading the SMIRNOFF force field we generated in section 1." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3(a). Determine which parameters are used in which molecules\n", "\n", "Here we determine which parameters are actually used in which molecules, and make a couple example plots of the frequency of parameter occurrences for some of our example parameters." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Assigned labels took 0.03 minutes\n" ] } ], "source": [ "# Track time\n", "init_time = time.time()\n", "# label molecules\n", "labels = ff.labelMolecules(oemols, verbose = False)\n", "elapsed = (time.time() - init_time) / 60.0\n", "print(\"Assigned labels took %.2f minutes\" % (elapsed))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Organizing dictionaries took 0.00 minutes\n" ] } ], "source": [ "# organize dictionaries to reference information \n", "init_time = time.time()\n", "parameters_by_molecule = dict()\n", "parameters_by_ID = dict()\n", "param_ids = set()\n", "param_id_counts = dict()\n", "for idx, mol_dict in enumerate(labels):\n", " smi = OECreateIsoSmiString(oemols[idx])\n", " parameters_by_molecule[smi] = dict()\n", " for force_type, label_set in mol_dict.items():\n", " for (indices, pid, smirks) in label_set:\n", " if not pid in parameters_by_molecule[smi]:\n", " parameters_by_molecule[smi][pid] = list()\n", " parameters_by_molecule[smi][pid].append(indices)\n", " \n", " if not pid in parameters_by_ID:\n", " parameters_by_ID[pid] = set()\n", " parameters_by_ID[pid].add(smi)\n", " \n", " param_ids.add(pid)\n", "\n", "for pid in param_ids:\n", " param_id_counts[pid] = 0\n", " \n", "for smi, pid_dict in parameters_by_molecule.items():\n", " for pid, ind_list in pid_dict.items():\n", " param_id_counts[pid] += len(ind_list) \n", "\n", "elapsed = (time.time() - init_time) / 60.0\n", "print(\"Organizing dictionaries took %.2f minutes\" % (elapsed))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For fun/info, do a quick graph of frequency of occurrence of particular parameters. Here, let's just do bond parameters" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n4LfbVacAH17o4NYTl5NHSZIkSZKADXcnfgdwFUBVnVBVr6iqVwAntus64eRRkiRJkqSRDRW2u1bV\nt+YubJetWJCIJEmSJEnaCBsqbHdez7rtphmIJEmSJEmbYkOF7alJDpy7MMkLgdMWJiRJkiRJkia3\noVmRXw6cmORZ/KqQXQlsDTxxIQOTJEmSJGkS6y1sq+pHwIOTPBy4d7t4bVV9bsEjWw9nRZY0LSsO\nXtt1CJvsvEP27zoESZKkLcJE97Gtqs8Dn1/gWCZWVWuANdss3/MW3aQlSZIkScOyoTG2kiRJkiRt\n0SxsJUmSJEm9ZmErSZIkSeo1C1tJkiRJUq9Z2EqSJEmSes3CVpIkSZLUaxPd7mdL431sJUmSJEkj\nvWyxrao1VbV60bY7dB2KJEmSJKljvSxsJUmSJEkasbCVJEmSJPWaha0kSZIkqdcsbCVJkiRJvWZh\nK0mSJEnqNQtbSZIkSVKvWdhKkiRJknrNwlaSJEmS1GsWtpIkSZKkXlvSdQCbIskqYNWSnZd3HYok\naQu14uC1XYewyc47ZP+uQ5AkqVd62WJbVWuqavWibXfoOhRJkiRJUsd6WdhKkiRJkjRiYStJkiRJ\n6jULW0mSJElSr1nYSpIkSZJ6zcJWkiRJktRrFraSJEmSpF6zsJUkSZIk9ZqFrSRJkiSp1yxsJUmS\nJEm9ZmErSZIkSeo1C1tJkiRJUq9Z2EqSJEmSes3CVpIkSZLUa0u6DmAkyQ7APwPXAV+oqg93HJIk\nSZIkqQcWtMU2yZFJLkny7TnL90tyVpKzkxzcLn4ScHxVHQj8/kLGJUmSJEmaHQvdFfkoYL/xBUkW\nA4cBjwH2Bp6RZG/gzsAF7dNuXOC4JEmSJEkzYkEL26r6InD5nMUPBM6uqnOq6jrgWODxwIU0xe2C\nxyVJkiRJmh1djLHdjV+1zEJT0O4LvBM4NMn+wJr5XpxkNbAaYPFOyxYwTOlXVhy8tusQNtl5h+zf\ndQjaQvT5cwx+ljVM/r+dXUPbt0PLV7e+LWbyqKq6BnjeBM87HDgcYJvle9ZCxyVJkiRJ2rJ1Udhe\nBNxl7PGd22UTS7IKWLVk5+XTjEuSJEmS1ENdjGX9GrBnkrsl2Rp4OvCJjdlAVa2pqtWLtt1hQQKU\nJEmSJPXHQt/u5xjgFGCvJBcmeUFV3QAcBHwa+A5wXFWdsZBxSJIkSZJm14J2Ra6qZ8yz/CTgpIV8\n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\nfbYAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create Hisogram for each type of parameter\n", "# VdW\n", "make_param_histogram(param_id_counts, param_ids, 'n', \"VdW for DrugBank Molecules\")\n", "# Bonds\n", "make_param_histogram(param_id_counts, param_ids, 'b', \"Bonds for DrugBank Molecules\")\n", "# Angles\n", "make_param_histogram(param_id_counts, param_ids, 'a', \"Angles for DrugBank Molecules\")\n", "# Torsions\n", "make_param_histogram(param_id_counts, param_ids, 't', \"Torsions for DrugBank Molecules\")\n", "#make_param_histogram(param_id_counts, param_ids, 'i', \"Impropers for DrugBank Molecules\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3(b)-3(c). Determine which molecules do/do not contain selected parameter\n", "\n", "Determine which molecules do and do not contain a specified parameter; give access to isomeric smiles and OEMol for each molecule in each case." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "For parameter n1, the relevant parameters are:\n", "{'smirks': '[*:1]', 'epsilon': '0.25', 'id': 'n1', 'rmin_half': '4.'}\n", "\n", "There are 18 molecules containing that parameter and 0 which do not, out of 18.\n", "\n", "\n", "All molecules conatin parameter 'n1'\n", "\n", "The 10 molecule(s) containing 'n1' parameter:\n", " B(C(CC(C)C)NC(=O)C(Cc1ccccc1)NC(=O)c2cnccn2)(O)O\n", " CC[Si](C)(C)C\n", " C[Si](C)(C)C(CC(=O)O)C(=O)O\n", " CCC1(c2cc-3n(c(=O)c2COC1=O)Cc4c3nc5ccccc5c4CC[Si](C)(C)C)O\n", " B(C(Cc1ccccc1)N)(O)O\n", " B(C(Cc1cccc(c1O)C(=O)O)NC(=O)C)(O)O\n", " B(C(Cc1cccc(c1)C(=O)O)NC(=O)Cc2ccccc2)(O)O\n", " B(C1CCCN1C(=O)C2CCCN2)(O)O\n", " B(c1ccc(c(c1)NS(=O)(=O)c2cc(cs2)S(=O)(=O)c3ccccc3)C(=O)O)(O)O\n", " B(CNC(=O)C(=NOC)c1csc(n1)N)(O)O\n" ] } ], "source": [ "# INPUT: Pick what parameter to look at\n", "parameter_id = 'n1' \n", "\n", "# For info, get details of that parameter\n", "params = ff.getParameter(paramID=parameter_id)\n", "print(\"For parameter %s, the relevant parameters are:\" % parameter_id)\n", "print(params)\n", "\n", "# Find molecules which do/do not use that parameter\n", "mols_with_param = []\n", "mols_wo_param = []\n", "for isosmi in parameters_by_molecule:\n", " # Store a tuple of (isomeric smiles, oemol) for each\n", " if parameter_id in parameters_by_molecule[isosmi].keys():\n", " mols_with_param.append( (isosmi, isosmiles_to_mol[isosmi] ))\n", " else:\n", " mols_wo_param.append( (isosmi, isosmiles_to_mol[isosmi] ))\n", "\n", "print(\"\\nThere are %s molecules containing that parameter and %s which do not, out of %s.\\n\" % \n", " (len(mols_with_param), len(mols_wo_param), len(isosmiles_to_mol)))\n", "\n", "# Print first 10 molecules not containing parameter\n", "not_containing = min(10, len(mols_wo_param))\n", "if not_containing == 0:\n", " print(\"\\nAll molecules conatin parameter '%s'\" % parameter_id)\n", "elif not_containing <= 10:\n", " print(\"\\nThe %i molecule(s) that do(es) not contain parameter '%s'\" % (not_containing, parameter_id))\n", "else:\n", " print(\"First 10 molecules not containing '%s' parameter:\" % parameter_id)\n", "for i in range(not_containing):\n", " print(\" %s\" % mols_wo_param[i][0])\n", "\n", "# Print first 10 molecules containing parameter\n", "containing = min(10,len(mols_with_param))\n", "if containing == 0:\n", " print(\"\\nNO molecules contain '%s' parameter\" % parameter_id)\n", "elif containing <= 10:\n", " print(\"\\nThe %i molecule(s) containing '%s' parameter:\" % (containing, parameter_id))\n", "else:\n", " print(\"\\nFirst 10 molecules containing '%s' parameter:\" % parameter_id)\n", "\n", "for i in range(containing):\n", " print(\" %s\" % mols_with_param[i][0])" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "ename": "NameError", "evalue": "name 'mols_with_param' is not defined", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;31m# Correct with list of molecules is less than upper limit\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmols_with_param\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mupperlimit\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 11\u001b[0m \u001b[0mupperlimit\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmols_with_param\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'mols_with_param' is not defined" ], "output_type": "error" } ], "source": [ "lowerlimit = 0\n", "upperlimit = 100\n", "\n", "# Skip showing molecule if the highlighted parameter \n", "# includes an element we know we don't have parameters for\n", "skip_atoms = [2, 5, 14,33, 34, 52] \n", "\n", "# Correct with list of molecules is less than upper limit\n", "if len(mols_with_param) < upperlimit:\n", " upperlimit = len(mols_with_param)\n", "\n", "print(\"\\nDepicting molecules %i to %i with parameter '%s'\\n\\n\" % (lowerlimit,upperlimit-1, parameter_id)) \n", "\n", "# Show molecules form lower to upper limit highlighting fragment with the parameter_id\n", "for idx in range(lowerlimit, upperlimit):\n", " smiles = mols_with_param[idx][0]\n", " mol = mols_with_param[idx][1]\n", " skip_it = False\n", " OEAddExplicitHydrogens(mol)\n", " indice_list = parameters_by_molecule[smiles][parameter_id]\n", " print(\"looking at molecule %i\" % idx)\n", " print('Selected smiles is %s' % smiles)\n", " print('Selected IUPAC name guessed: %s' % oeiupac.OECreateIUPACName(mol) )\n", " print( 'mol title and NumAtoms: ', mol.GetTitle(), mol.NumAtoms() )\n", " print( \"Number of times '%s' appears: %i\" % (parameter_id, len(indice_list))) \n", " DepictMolWithParam( mol, indice_list, supH = False, skip_atoms=skip_atoms)\n", " print()\n", " print()\n", " print()\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.6.0" } }, "nbformat": 4, "nbformat_minor": 0 }