{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#Getting Started with the RDKit in Python\n", "\n", "### myChEMBL team, ChEMBL group, EMBL-EBI.\n", "\n", "##What is this?\n", "\n", "This IPython Notebook is intended to provide an overview of how one can use the [RDKit](http://rdkit.org/) functionality from Python. It is based on the official [documentation](http://rdkit.org/docs/GettingStartedInPython.html) by Greg Landrum." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Table of Contents" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####[First things first](#s1)\n", "####[Reading and Writing Molecules](#s2)\n", "####[Working with Molecules](#s3)\n", "####[Substructure Searching](#s4)\n", "####[Chemical Transformations](#s5)\n", "####[Maximum Common Substructure](#s6)\n", "####[Fingerprinting and Molecular Similarity](#s7)\n", "####[Descriptor Calculation](#s8)\n", "####[Chemical Reactions](#s9)\n", "####[Chemical Features and Pharmacophores](#s10)\n", "####[Molecular Fragments](#s11)\n", "####[Non-Chemical Functionality](#s12)\n", "####[Getting Help](#s13)\n", "####[Advanced Topics/Warnings](#s14)\n", "####[Miscellaneous Tips and Hints](#s15)\n", "####[List of Available Descriptors](#s16)\n", "####[List of Available Fingerprints](#s17)\n", "####[Feature Definitions Used in the Morgan Fingerprints](#s18)\n", "####[License](#s19)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## First things first\n", "### Checking the version of RDKit" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'2016.03.1'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit import rdBase\n", "from rdkit import RDConfig\n", "rdBase.rdkitVersion" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import os\n", "os.chdir(os.path.join(RDConfig.RDDocsDir,'Book'))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "u'/opt/conda/share/RDKit/Docs/Book'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pwd" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Reading and Writing Molecules\n", "### Reading single molecules\n", "\n", "The majority of the basic molecular functionality is found in module\n", "rdkit.Chem:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from rdkit import Chem\n", "from rdkit.Chem.Draw import IPythonConsole\n", "from IPython.display import Image" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Individual molecules can be constructed using a variety of approaches:\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "m1 = Chem.MolFromSmiles('Cc1ccccc1')\n", "m2 = Chem.MolFromMolFile('data/input.mol')\n", "\n", "stringWithMolData=file('data/input.mol','r').read()\n", "m3 = Chem.MolFromMolBlock(stringWithMolData)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All of these functions return a rdkit.Chem.rdchem.Mol object on success:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print m1\n", "m1" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print m2\n", "m2" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print m3\n", "m3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or None on failure:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "RDKit ERROR: [09:52:43] Explicit valence for atom # 6 N, 4, is greater than permitted\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromMolFile('data/invalid.mol')\n", "m is None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An attempt is made to provide sensible error messages:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "RDKit ERROR: [09:52:48] Explicit valence for atom # 1 O, 3, is greater than permitted\n" ] } ], "source": [ "m1 = Chem.MolFromSmiles('CO(C)C')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "displays a message like: [12:18:01] `Explicit valence for atom # 1 O greater than permitted `." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "RDKit ERROR: [09:52:49] Can't kekulize mol \n", "RDKit ERROR: \n" ] } ], "source": [ "m2 = Chem.MolFromSmiles('c1cc1')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "displays something like: `[12:20:41] Can't kekulize mol`.\n", "In each case the value `None` is returned:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "True\n" ] } ], "source": [ "print m1 is None\n", "print m2 is None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Reading sets of molecules" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Groups of molecules are read using a Supplier (for example, an `SDMolSupplier` or a `SmilesMolSupplier`):" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "20\n", "24\n", "24\n", "26\n" ] } ], "source": [ "suppl = Chem.SDMolSupplier('data/5ht3ligs.sdf')\n", "for mol in suppl:\n", " print mol.GetNumAtoms()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can easily produce lists of molecules from a Supplier:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mols = [x for x in suppl]\n", "len(mols)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or just treat the Supplier itself as a random-access object:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "20" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "suppl[0].GetNumAtoms()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A good practice is to test each molecule to see if it was correctly read\n", "before working with it:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "20\n", "24\n", "24\n", "26\n" ] } ], "source": [ "suppl = Chem.SDMolSupplier('data/5ht3ligs.sdf')\n", "for mol in suppl:\n", " if mol is None: continue\n", " print mol.GetNumAtoms()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An alternate type of Supplier, the `ForwardSDMolSupplier` can be used to read from\n", "file-like objects:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "20\n", "24\n", "24\n", "26\n" ] } ], "source": [ "inf = file('data/5ht3ligs.sdf')\n", "fsuppl = Chem.ForwardSDMolSupplier(inf)\n", "for mol in fsuppl:\n", " if mol is None: continue\n", " print mol.GetNumAtoms()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This means that they can be used to read from compressed files:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "180" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import gzip\n", "inf = gzip.open('data/actives_5ht3.sdf.gz')\n", "gzsuppl = Chem.ForwardSDMolSupplier(inf)\n", "ms = [x for x in gzsuppl if x is not None]\n", "len(ms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that ForwardSDMolSuppliers cannot be used as random-access objects:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "'ForwardSDMolSupplier' object does not support indexing\n" ] } ], "source": [ "try:\n", " fsuppl[0]\n", "except TypeError as e:\n", " print e" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Writing molecules\n", "\n", "Single molecules can be converted to text using several functions\n", "present in the `rdkit.Chem` module.\n", "\n", "For example, for SMILES:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CC(O)c1ccccc1\n", "C[C@H](O)c1ccccc1\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromMolFile('data/chiral.mol')\n", "print Chem.MolToSmiles(m)\n", "print Chem.MolToSmiles(m,isomericSmiles=True)\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the SMILES provided is canonical, so the output should be the\n", "same no matter how a particular molecule is input:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "c1ccncc1\n", "c1ccncc1\n", "c1ccncc1\n" ] } ], "source": [ "print Chem.MolToSmiles(Chem.MolFromSmiles('C1=CC=CN=C1'))\n", "print Chem.MolToSmiles(Chem.MolFromSmiles('c1cccnc1'))\n", "print Chem.MolToSmiles(Chem.MolFromSmiles('n1ccccc1'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you'd like to have the Kekule form of the SMILES, first Kekulize the\n", "molecule, then use the “kekuleSmiles” option:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CC(O)C1=CC=CC=C1\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.Kekulize(m)\n", "print Chem.MolToSmiles(m,kekuleSmiles=True)\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: as of this writing (Aug 2008), the smiles provided when one\n", "requests `kekuleSmiles` are not canonical. The limitation is not in the\n", "SMILES generation, but in the kekulization itself.\n", "MDL Mol blocks are also available:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " RDKit \n", "\n", " 4 4 0 0 0 0 0 0 0 0999 V2000\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 1 0\n", " 2 3 1 0\n", " 3 4 1 0\n", " 4 1 1 0\n", "M END\n", "\n" ] } ], "source": [ "m2 = Chem.MolFromSmiles('C1CCC1')\n", "print Chem.MolToMolBlock(m2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To include names in the mol blocks, set the molecule's `_Name`\n", "property:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cyclobutane\n", " RDKit \n", "\n", " 4 4 0 0 0 0 0 0 0 0999 V2000\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 1 0\n", " 2 3 1 0\n", " 3 4 1 0\n", " 4 1 1 0\n", "M END\n", "\n" ] } ], "source": [ "m2.SetProp(\"_Name\",\"cyclobutane\")\n", "print Chem.MolToMolBlock(m2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's usually preferable to have a depiction in the Mol block, this can\n", "be generated using functionality in the `rdkit.Chem.AllChem` module (see\n", "the [`Chem` vs `AllChem`](#s15) section for more information)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can either include 2D coordinates (i.e. a depiction):" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cyclobutane\n", " RDKit 2D\n", "\n", " 4 4 0 0 0 0 0 0 0 0999 V2000\n", " 1.0607 -0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.0000 -1.0607 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.0607 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0000 1.0607 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 1 0\n", " 2 3 1 0\n", " 3 4 1 0\n", " 4 1 1 0\n", "M END\n", "\n" ] } ], "source": [ "from rdkit.Chem import AllChem\n", "AllChem.Compute2DCoords(m2)\n", "print Chem.MolToMolBlock(m2)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAYAAABNcIgQAAAFQ0lEQVR4nO3du24TXRSG4WX03xQ0\n0EQ2XYAqHCRicxFAB4QkTZrQEOhwJBpEInEFpuCGEPX81UYhIsSHmdm21vO0lra+7tWWZ+xB0zRN\nAEBSN2oPAICahBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDU\nhBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDUhBCA1IQQgNSE\nEIDUhBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDUhBCA1IQQgNSEEIDUhBCA1IQQ\ngNSEEIDUhBCA1IQQgNSEEIDUhBAqms1mMZvNas+A1IQQKjk+Po6tra3Y2tqKd+/e1Z4Daf1XewBk\n9Pbt29jb24tv375FRMT29nb8/PkzXr58WXkZ5COE0LP9/f3Y29uL8/PzGA6HERFxfn4e29vbERFi\nCD0TQujR/v5+vHnz5o8IRkQMh0MxhEqEEHpyVQSL4XAYZ2dnce/evYgQQ+iLEEIProtgMRqNxBB6\nJoTQsXkjWIgh9EsIoUOLRrC4GMPBYBAvXrzocCXkJoTQkWUjWFy+GYohdEMIoQOrRrAQQ+ieEELL\nSgTPzs5WimAhhtAtIYQWXYzgaDRq7VwxhO4IIbTk4OCgkwgWYgjdEEJowcHBQbx+/bqzCBZiCO0T\nQlhRXxEsxBDaJYSwgr4jWIghtEcIYUm1IliIIbRDCGEJtSNYiCGsTghhQesSweLyz7E9f/689iTY\nKEIIC1i3CBaXb4ZiCPMTQpjTukawGI1G8fXr17h//35EiCHMSwhhDuseweLu3btiCAsSQrjGpkSw\nEENYjBDCPxweHm5UBAsxhPkJIVzh8PAwXr16tXERLMQQ5iOE8BebHsGixNDTpHC1QdM0Te0RsE5+\n/PgRd+7cic+fP8eDBw9qz2nFly9fYmdnJ75//x43b96sPQfWyo3aAwCgJiGES27duhUnJyexs7MT\n0+m09pyVffr0KR4+fBgfP350G4S/8B0h/MXu7m5EREwmk4iIePLkSc05S5tOp/Hs2bP48OFDPH36\ntPYcWEtCCFfY9BhOp9OYTCYiCNcQQviHTY1hieDJyYkIwjWEEK6xaTG8GMGyHbiaEMIcNiWGIgiL\nE0KY08UYDgaDePz4ceVFfxJBWI4QwgJKYMbjcUTE2sRQBGF5QggL2t3djaZp1iaGIgirEUJYQolg\n7RiKIKxOCGFJtWMogtAOIYQV1Irh6empCEJLhBBW1HcMT09PYzweiyC0RAihBX3FUAShfUIILek6\nhiWC79+/F0FokRBCi7qK4cUIlrOBdgghtKztGIogdEsIoQNtxVAEoXtCCB1ZNYYiCP0QQujQsjEU\nQeiPEELHFo2hCEK/hBB6MG8MRRD6J4TQk4sxHAwG8ejRoz8+F0GoQwihRyVw5YX4EkMRhHqEEHo2\nHo+jaZrfMSz/bSiCUIcQQgWTySR+/fr1O4ZHR0ciCJUMmqZpao+ArGazWURE3L59u/ISyEsIAUjt\nRu0BAFCTEAKQmhACkJoQApCaEAKQmhACkJoQApCaEAKQmhACkJoQApCaEAKQmhACkJoQApCaEAKQ\nmhACkJoQApCaEAKQmhACkJoQApCaEAKQmhACkJoQApCaEAKQmhACkJoQApCaEAKQmhACkJoQApCa\nEAKQmhACkJoQApCaEAKQmhACkJoQApCaEAKQmhACkJoQApCaEAKQmhACkJoQApCaEAKQmhACkJoQ\nApCaEAKQmhACkJoQApDa/15qO+FQ/uElAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or you can add 3D coordinates by embedding the molecule:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cyclobutane\n", " RDKit 3D\n", "\n", " 4 4 0 0 0 0 0 0 0 0999 V2000\n", " -0.7883 0.5560 -0.2718 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.4153 -0.9091 -0.1911 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.7883 -0.5560 0.6568 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.4153 0.9091 0.5762 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 1 0\n", " 2 3 1 0\n", " 3 4 1 0\n", " 4 1 1 0\n", "M END\n", "\n" ] } ], "source": [ "AllChem.EmbedMolecule(m2)\n", "AllChem.UFFOptimizeMolecule(m2)\n", "print Chem.MolToMolBlock(m2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The optimization step isn't necessary, but it substantially improves the\n", "quality of the conformation.\n", "\n", "To get good conformations, it's almost always a good idea to add\n", "hydrogens to the molecule first:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m3 = Chem.AddHs(m2)\n", "AllChem.EmbedMolecule(m3)\n", "AllChem.UFFOptimizeMolecule(m3)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAYAAABNcIgQAAANyUlEQVR4nO3df0xV9R/H8RfJoFKm\nwWbNXxhdYPhj/EhLy3SmblnZXJlLZ7ehqTUzlSvJAOsyfyKgYqvUXCS6EtjUNVurFauhQs6chIoi\nVGhOxV8xZ4IJ9/tHq9lXwYvey+fee56Pv+7O7j3nxR/sdd/nc885QS6XyyUAACzqHtMBAAAwiSIE\nAFgaRQgAsDSKEABgaRQhAMDSKEIAgKVRhAAAS6MIAQCWRhECACyNIgQAWBpFCACwNIoQAGBpFCEA\nwNIoQgCApVGEAABLowgBAJZGEQIALI0iBABYGkUIALA0ihAAYGkUIQDA0ihCAIClUYQAAEujCAEA\nlkYRAgAsjSIEAFgaRQgAsDSKEPBheXl5HdoOoOMoQgCApVGEgJ9gOgS8gyIEAFhasOkAANp348TH\n9Ad4HhMh4OMcDoccDsdNrwF4BhMh4EeYDgHPYyIE/AjTIeB5FCEAwNIoQsCHtTXxMQkCnkMRAgAs\nLcjlcrlMhwDQtu3bt2vIkCHq16+f6ShAQGIiBHxYS0uL6uvr9ddff+mPP/4wHQcISBQh4MMuXryo\n1tZW1dXVqbS01HQcICBRhIAPu3DhgsLCwnT06FHFx8ebjgMEJC6oB3xYQ0ODQkNDFRQUpKioKNNx\ngIDERAj4sPz8fH322WeKjY1VUFCQ6ThAQOJXo4AP69+/v06ePKnffvtNffv2NR0HCEhMhICPam5u\n1smTJzVs2DBKEPAiihDwUZWVlWptbdVbb71lOgoQ0Dg1CvigmpoaTZ8+XdXV1aqrq1OPHj1MRwIC\nFhMh4EMuXbqklJQUDRo0SN27d1dERISys7NNxwICGkUI+IDm5mY5nU7169dP5eXlKisr05dffqm1\na9dq9erVqq2tNR0RCFicGgUMKykpUXp6uq5cuaKVK1fq1Vdf/c+lEuPHj1dYWJiKi4sNpgQCF0UI\nGFJZWakFCxaovLxcixYtUmpqqrp27XrT+6qrqxUfH69vv/1WI0eONJAUCGycGgU62dmzZ2W325WU\nlKQ+ffro+PHjcjqdtyxBSYqLi9PMmTM1f/58tba2dnJaIPBRhEAnaWpqktPp1COPPKLa2lqVl5er\nsLBQffr0ue1nlyxZovr6em3durUTkgLWwqlRoBMUFhZq8eLFkqTc3FxNmjSpw7dMy8vL05o1a3Ts\n2LE2p0cAHcdECHjRwYMHNXr0aL3xxhtKTk5WdXW1Xn755Tu6b+jcuXPVtWtXrVq1ygtJAeuiCAEv\nOHPmjOx2ux599FH17dtXNTU1cjqduv/+++94nyEhIcrOzlZOTo7q6+s9mBawNooQASUvL69D2z3t\nn3VAm82muro6VVRUuL0O6I6JEydqxIgRysjI8Mj+AFCEgEe4XC4VFhYqJiZGn376qQoKCrR7924N\nHTrU48fKycnRtm3btGfPHo/vG7AiihABq7Omw4qKCg0fPlxz5szRnDlzdOTIkTteB3RHfHy8kpOT\ntXDhQvFbN+DuUYTAHTp9+rTsdruefPJJxcTE6OjRo1q0aNFdrQO6a9myZTpy5IiKioq8fiwg0AWb\nDgB42o0TnzfWBpuamrRy5Url5uYqISFBFRUVXjkF2p6ePXsqLS1NqampeuGFFzqlfIFAxUSIgONw\nOORwOG56fbd3ZflnHTA6OlqbN29WQUGBysrKOr0E/+FwOBQaGqo1a9YYOT4QKJgIEdBunAhvLIya\nmhr1799fISEhbu2nvLxc8+fPV3V1tTIyMjR37lzjU1hISIiWL1+uGTNmKDk5Wb169TKaB/BXTIQI\naDdOhLNmzdKYMWMkSV999ZU++OADff755/riiy904cKFW37+xIkTmjx5skaOHKmEhARVV1d32jqg\nOyZPnqzExERlZmaajgL4LYoQlhEWFqaEhARJf1+P16dPH507d06zZ89Wz5491bt3b02dOlXff/+9\nrl69KqfTqbi4OJ0+fVrl5eXasGGDevfubfaPuIX8/Hxt2bJF+/fvNx0F8EvcaxQBKy8v799psL3t\njY2NKioq0vr163X48GFdu3ZN4eHh6tKli1asWKHk5GTdc49vf2d87bXXVFtbq927d3vtsg0gUPn2\nfzfQCbp3765Zs2bpwIEDam5u1r59+2Sz2fTYY49pxowZPl+CkrR8+XJVVlZqx44dpqMAfoeJELiF\nX375RQMGDNDOnTv1zDPPmI7jlqysLBUWFurIkSMKDQ01HQfwG77/VRcwICoqSm+//bZSUlJ0/fp1\n03Hc8s477+j69etat26d6SiAX6EIgTYsXrxYly5d0saNG01Hcct9992nZcuWacmSJTpz5ozpOIDf\n4NQo0I4NGzYoPT1dx48fV3h4uOk4t+VyuTRs2DAlJiZq/fr1puMAfoEiBNrR0tKipKQkjRs3Trm5\n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\n", "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These can then be removed:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cyclobutane\n", " RDKit 3D\n", "\n", " 4 4 0 0 0 0 0 0 0 0999 V2000\n", " 0.2851 1.0372 -0.0171 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.0352 -0.2833 0.0743 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.2851 -1.0372 0.0171 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.0352 0.2833 -0.0743 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 1 0\n", " 2 3 1 0\n", " 3 4 1 0\n", " 4 1 1 0\n", "M END\n", "\n" ] } ], "source": [ "m3 = Chem.RemoveHs(m3)\n", "print Chem.MolToMolBlock(m3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you'd like to write the molecules to a file, use Python file objects:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [], "source": [ "print >> file('/tmp/foo.mol','w+'),Chem.MolToMolBlock(m2)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cyclobutane\r\n", " RDKit 3D\r\n", "\r\n", " 4 4 0 0 0 0 0 0 0 0999 V2000\r\n", " -0.7883 0.5560 -0.2718 C 0 0 0 0 0 0 0 0 0 0 0 0\r\n", " -0.4153 -0.9091 -0.1911 C 0 0 0 0 0 0 0 0 0 0 0 0\r\n", " 0.7883 -0.5560 0.6568 C 0 0 0 0 0 0 0 0 0 0 0 0\r\n", " 0.4153 0.9091 0.5762 C 0 0 0 0 0 0 0 0 0 0 0 0\r\n", " 1 2 1 0\r\n", " 2 3 1 0\r\n", " 3 4 1 0\r\n", " 4 1 1 0\r\n", "M END\r\n", "\r\n" ] } ], "source": [ "!cat /tmp/foo.mol" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Writing sets of molecules\n", "\n", "Multiple molecules can be written to a file using an `rdkit.Chem.rdmolfiles.SDWriter` object:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [], "source": [ "w = Chem.SDWriter('/tmp/foo.sdf')\n", "for m in mols:\n", " w.write(m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An `SDWriter` can also be initialized using a file-like object:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mol-295\n", " RDKit 3D\n", "\n", " 20 22 0 0 1 0 0 0 0 0999 V2000\n", " 2.3200 0.0800 -0.1000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.8400 -1.2200 0.1200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.6800 0.0800 0.2600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.7400 1.2800 -0.5600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.9400 -1.9200 0.6000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.5400 -1.7400 -0.0800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.0200 -1.1400 0.6600 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.4600 1.2600 0.1600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.5200 2.4600 -0.6600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.3800 -1.0400 -0.5000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.3000 -2.9200 0.1800 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.8800 2.4400 -0.3000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.6800 -1.2400 -0.7800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.5800 -0.3200 0.1000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -4.0600 -0.6200 -0.0200 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.2800 1.1800 -0.1400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -4.8800 0.2200 0.9200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -4.6200 -0.6400 -1.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.1400 2.0800 0.8000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -4.6400 1.7400 0.7200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 1 0\n", " 1 3 1 0\n", " 1 4 2 0\n", " 2 5 2 0\n", " 2 6 1 0\n", " 3 7 1 0\n", " 3 8 2 0\n", " 4 9 1 0\n", " 6 10 1 0\n", " 6 11 2 0\n", " 8 12 1 0\n", " 10 13 1 0\n", " 13 14 1 0\n", " 14 15 1 0\n", " 14 16 1 0\n", " 15 17 1 0\n", " 15 18 1 0\n", " 16 19 1 0\n", " 17 20 1 0\n", " 5 7 1 0\n", " 9 12 2 0\n", " 19 20 1 0\n", "M END\n", "$$$$\n", "mol-54\n", " RDKit 3D\n", "\n", " 24 26 0 0 0 0 0 0 0 0999 V2000\n", " 0.8000 -1.0800 -0.5600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.5200 -2.3000 -0.4200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.5400 -0.9600 -1.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.5400 0.1000 -0.2200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.8400 -2.3200 0.0200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.9000 -3.4000 -0.7200 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.4600 0.0000 -0.6400 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.9800 -1.8000 -1.7800 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.8600 0.0800 0.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.5400 -1.1600 0.3600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.2400 -4.7000 -0.7200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.8200 0.1400 -1.0800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.6000 1.5800 0.6000 Cl 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.8200 -1.2400 0.7600 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.8800 -5.3600 0.6400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.5400 1.4200 -0.5200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.7200 -1.1200 -0.7000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.6400 -4.7200 1.7000 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.8200 1.2600 1.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -4.9400 1.5400 -1.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -5.0000 -0.7200 -0.0600 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.3400 -5.3200 2.9800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -4.7200 -0.0200 1.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -5.7600 0.2400 -0.9800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 2 0\n", " 1 3 1 0\n", " 1 4 1 0\n", " 2 5 1 0\n", " 2 6 1 0\n", " 3 7 1 0\n", " 3 8 2 0\n", " 4 9 2 0\n", " 5 10 2 0\n", " 6 11 1 0\n", " 7 12 1 0\n", " 9 13 1 0\n", " 10 14 1 0\n", " 11 15 1 0\n", " 12 16 1 0\n", " 12 17 1 0\n", " 15 18 1 0\n", " 16 19 1 0\n", " 16 20 1 0\n", " 17 21 1 0\n", " 18 22 1 0\n", " 19 23 1 0\n", " 20 24 1 0\n", " 9 10 1 0\n", " 21 23 1 0\n", " 21 24 1 0\n", "M END\n", "$$$$\n", "mol-15\n", " RDKit 3D\n", "\n", " 24 27 0 0 0 0 0 0 0 0999 V2000\n", " 1.5000 -0.6400 -0.4600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.3600 -1.5600 0.1800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.1600 0.5800 -0.4600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.2400 -1.0000 -0.9400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.4800 -0.9200 0.6000 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.0000 -2.9800 0.3200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.4000 0.3600 0.2000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.8400 1.8600 -0.9600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.3000 -2.3200 -0.7200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.4400 -0.1800 -1.5600 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.5800 -1.5200 1.3400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.8400 -3.4000 -0.6400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.3000 1.4400 0.3600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.7600 2.9200 -0.8000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.2400 -2.3600 0.5400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 5.7800 -1.4400 0.6400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.9800 2.7200 -0.1600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.4200 -1.4600 0.4600 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 6.8000 -1.3800 0.0400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.4400 -1.4800 -0.4800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.6600 -0.5000 1.3400 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -4.2800 -0.4600 -0.1400 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.6000 -2.3600 -1.6200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.8000 0.1000 0.9800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1 2 2 0\n", " 1 3 1 0\n", " 1 4 1 0\n", " 2 5 1 0\n", " 2 6 1 0\n", " 3 7 2 0\n", " 3 8 1 0\n", " 4 9 1 0\n", " 4 10 2 0\n", " 5 11 1 0\n", " 6 12 1 0\n", " 7 13 1 0\n", " 8 14 2 0\n", " 9 15 1 0\n", " 11 16 1 0\n", " 13 17 2 0\n", " 15 18 1 0\n", " 16 19 3 0\n", " 18 20 2 0\n", " 18 21 1 0\n", " 20 22 1 0\n", " 20 23 1 0\n", " 21 24 2 0\n", " 5 7 1 0\n", " 9 12 1 0\n", " 14 17 1 0\n", " 22 24 1 0\n", "M END\n", "$$$$\n", "mol-732\n", " RDKit 3D\n", "\n", " 26 29 0 0 0 0 0 0 0 0999 V2000\n", " 3.2400 0.6400 0.0200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.0200 0.0800 -0.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.1400 -0.3200 0.1600 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.1800 2.0400 0.0800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2.2000 -1.2800 -0.2800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.7000 1.1800 -0.4200 S 0 0 0 0 0 0 0 0 0 0 0 0\n", " 3.5200 -1.5200 -0.0400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 5.4600 -0.5200 0.4000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.8600 2.4600 -0.1400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.3200 2.9200 0.3400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 1.2000 -2.1400 -0.5200 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " 4.4600 -2.5200 0.1000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 5.6600 -1.9000 0.3400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0.0400 -1.8800 -0.7200 O 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.9200 -2.7800 -0.9400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.0400 -3.7000 0.2200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.2800 -2.0600 -1.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.7200 -3.2400 1.5400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.4600 -5.0400 0.0800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -2.7400 -1.1000 -0.1200 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -0.8200 -4.1000 2.6400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.5600 -5.9000 1.2000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.9400 -0.3000 -0.5200 N 0 0 0 0 0 0 0 0 0 0 0 0\n", " -1.2200 -5.4200 2.5000 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -5.1200 -1.1600 -0.7800 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " -3.7800 0.4800 -1.7400 C 0 0 0 0 0 0 0 0 0 0 0 0\n", " 2 6 1 0\n", " 3 7 1 0\n", " 3 8 1 0\n", " 4 9 2 0\n", " 4 10 1 0\n", " 5 11 2 0\n", " 7 12 2 0\n", " 8 13 2 0\n", " 11 14 1 0\n", " 14 15 1 0\n", " 15 16 1 0\n", " 15 17 1 0\n", " 16 18 2 0\n", " 16 19 1 0\n", " 17 20 1 0\n", " 18 21 1 0\n", " 19 22 2 0\n", " 20 23 1 0\n", " 21 24 2 0\n", " 23 25 1 0\n", " 23 26 1 0\n", " 5 7 1 0\n", " 6 9 1 0\n", " 12 13 1 0\n", " 22 24 1 0\n", " 1 2 2 0\n", " 1 3 1 0\n", " 1 4 1 0\n", " 2 5 1 0\n", "M END\n", "$$$$\n", "\n" ] } ], "source": [ "from StringIO import StringIO\n", "sio = StringIO()\n", "w = Chem.SDWriter(sio)\n", "for m in mols:\n", " w.write(m)\n", "w.flush()\n", "print sio.getvalue()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Other available Writers include the `SmilesWriter`\n", "and the `TDTWriter`.\n", "\n", "\n", "##Working with Molecules\n", "\n", "### Looping over Atoms and Bonds\n", "\n", "Once you have a molecule, it's easy to loop over its atoms and bonds:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6\n", "8\n", "6\n", "SINGLE\n" ] } ], "source": [ "m = Chem.MolFromSmiles('C1OC1')\n", "for atom in m.GetAtoms():\n", " print atom.GetAtomicNum()\n", "print m.GetBonds()[0].GetBondType()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also request individual bonds or atoms:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C\n", "2\n", "0\n", "1\n", "SINGLE\n" ] } ], "source": [ "print m.GetAtomWithIdx(0).GetSymbol()\n", "print m.GetAtomWithIdx(0).GetExplicitValence()\n", "print m.GetBondWithIdx(0).GetBeginAtomIdx()\n", "print m.GetBondWithIdx(0).GetEndAtomIdx()\n", "print m.GetBondBetweenAtoms(0,1).GetBondType()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Atoms keep track of their neighbors:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[8, 6]\n", "2\n" ] } ], "source": [ "atom = m.GetAtomWithIdx(0)\n", "print[x.GetAtomicNum() for x in atom.GetNeighbors()]\n", "print len(x.GetBonds())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Ring Information\n", "Atoms and bonds both carry information about the molecule’s rings:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('OC1C2C1CC2')\n", "m" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n", "True\n", "True\n", "True\n", "False\n", "True\n", "True\n" ] } ], "source": [ "print m.GetAtomWithIdx(0).IsInRing()\n", "print m.GetAtomWithIdx(1).IsInRing()\n", "print m.GetAtomWithIdx(2).IsInRingSize(3)\n", "print m.GetAtomWithIdx(2).IsInRingSize(4)\n", "print m.GetAtomWithIdx(2).IsInRingSize(5)\n", "print m.GetBondWithIdx(1).IsInRingSize(3)\n", "print m.GetBondWithIdx(1).IsInRing()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But note that the information is only about the smallest rings:" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.GetAtomWithIdx(1).IsInRingSize(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "More detail about the smallest set of smallest rings (SSSR) is\n", "available:" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n", "[1, 2, 3]\n", "[4, 5, 2, 3]\n" ] } ], "source": [ "ssr = Chem.GetSymmSSSR(m)\n", "print len(ssr)\n", "print list(ssr[0])\n", "print list(ssr[1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the name indicates, this is a symmetrized SSSR; if you are interested\n", "in the number of “true” SSSR, use the GetSSSR function." ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.GetSSSR(m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The distinction between symmetrized and non-symmetrized SSSR is\n", "discussed in more detail below in the section The SSSR Problem.\n", "\n", "For more efficient queries about a molecule's ring systems (avoiding\n", "repeated calls to `Mol.GetAtomWithIdx`), use the\n", "`rdkit.Chem.rdchem.RingInfo` class:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('OC1C2C1CC2')\n", "m" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "1\n", "2\n", "True\n", "True\n" ] } ], "source": [ "ri = m.GetRingInfo()\n", "print ri.NumAtomRings(0)\n", "print ri.NumAtomRings(1)\n", "print ri.NumAtomRings(2)\n", "print ri.IsAtomInRingOfSize(1,3)\n", "print ri.IsBondInRingOfSize(1,3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Modifying molecules\n", "\n", "Normally molecules are stored in the RDKit with the hydrogen atoms\n", "implicit (e.g. not explicitly present in the molecular graph. When it is\n", "useful to have the hydrogens explicitly present, for example when\n", "generating or optimizing the 3D geometry, the `rdkit.Chem.rdmolops.AddHs`\n", "function can be used:" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n", "9\n" ] } ], "source": [ "m=Chem.MolFromSmiles('CCO')\n", "print m.GetNumAtoms()\n", "m2 = Chem.AddHs(m)\n", "print m2.GetNumAtoms()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Hs can be removed again using the `RemoveHs`\n", "function:" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m3 = Chem.RemoveHs(m2)\n", "m3.GetNumAtoms()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "RDKit molecules are usually stored with the bonds in aromatic rings\n", "having aromatic bond types. This can be changed with the\n", "rdkit.Chem.rdmolops.Kekulize function:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "AROMATIC\n", "DOUBLE\n", "SINGLE\n" ] } ], "source": [ "m = Chem.MolFromSmiles('c1ccccc1')\n", "print m.GetBondWithIdx(0).GetBondType()\n", "Chem.Kekulize(m)\n", "print m.GetBondWithIdx(0).GetBondType()\n", "print m.GetBondWithIdx(1).GetBondType()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The bonds are still marked as being aromatic:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.GetBondWithIdx(1).GetIsAromatic()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and can be restored to the aromatic bond type using the\n", "`rdkit.Chem.rdmolops.SanitizeMol` function:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "rdkit.Chem.rdmolops.SanitizeFlags.SANITIZE_NONE" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.SanitizeMol(m)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "rdkit.Chem.rdchem.BondType.AROMATIC" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.GetBondWithIdx(0).GetBondType()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The value returned by `SanitizeMol()` indicates that no problems were\n", "encountered." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Working with 2D molecules: Generating Depictions\n", "\n", "The RDKit has a library for generating depictions (sets of 2D)\n", "coordinates for molecules. This library, which is part of the AllChem\n", "module, is accessed using the `rdkit.Chem.rdDepictor.Compute2DCoords`\n", "function:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('c1nccc2n1ccc2CCO')\n", "AllChem.Compute2DCoords(m)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 2D conformation is constructed in a canonical orientation and is\n", "built to minimize intramolecular clashes, i.e. to maximize the clarity\n", "of the drawing.\n", "\n", "If you have a set of molecules that share a common template and you'd\n", "like to align them to that template, you can do so as follows:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n7PRucQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "template = Chem.MolFromSmiles('c1nccc2n1ccc2')\n", "template" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nEYlp/weaLEMgjLOSQAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "AllChem.Compute2DCoords(template)\n", "AllChem.GenerateDepictionMatching2DStructure(m,template)\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Running this process for a couple of other molecules gives the following\n", "depictions:" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m2 = Chem.MolFromSmiles('c1nccc2n1cc(OC3CC3)c2')\n", "AllChem.Compute2DCoords(m2)\n", "AllChem.GenerateDepictionMatching2DStructure(m2,template)\n", "m2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another option for Compute2DCoords allows you to generate 2D depictions\n", "for molecules that closely mimic 3D conformations. This is available\n", "using the function `rdkit.Chem.AllChem.GenerateDepictionMatching3DStructure`.\n", "\n", "Here is an illustration of the results using the ligand from PDB structure 1XP0:" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAADnRFWHRTb2Z0d2FyZQBQeU1PTPa/\ner0AAAAYdEVYdFVSTABodHRwOi8vd3d3LnB5bW9sLm9yZ5iPN04AACAASURBVHic7N15kFzned/7\n79n69D49+wxWAgRJkCIJUdwkkqIoiSIZraRkS4psK85mx6kkVbdKuUnl/pFcp7LVjX3j8i0nKZUT\nxy4v8hJHli3FkrhKJEiQFHcSxEIsg2X2rfc+p8+5f7zT0z1YKAAzwMxgfp+qrp4ZDvqcblShfnze\n93leC4gRERERkQ3DXu0bEBEREZErSwFQREREZINRABQRERHZYBQARURERDYYBUARERGRDUYBUERE\nRGSDUQAUERER2WAUAEVEREQ2GAVAERERkQ1GAVBERERkg1EAFBEREdlgFABFRERENhgFQBEREZEN\nRgFQREREZINRABQRERHZYBQARURERDYYBUARERGRDUYBUERERGSDUQAUERER2WAUAEVEREQ2GAVA\nERERkQ1GAVBERERkg1EAFBEREdlgFABFRERENhgFQBEREZENRgFQREREZINRABQRERHZYBQARURE\nRDYYBUARERGRDUYBUERERGSDUQAUERER2WAUAEVEREQ2GAVAERERkQ1GAVBERERkg1EAFBEREdlg\nFABFRERENhgFQBEREZENRgFQREREZINRABQRERHZYBQARURERDYYBUARERGRDUYBUETkKjY8PMzd\nd9/Nli1bVvtWRGQNcVf7BkREZOUNDAzwla98hXvuuYe+vj5s2+aNN97gN3/zNzl8+PBq356IrDIL\niFf7JkREZOV0d3fz1a9+lQcffJBt27bR29tLMpmkVCpx5MgRfuVXfoX33ntvtW9TRFaRloBFRK4y\nt912GzfddBOFQoFcLsfAwADDw8Ns2bKFLVu28Mu//MurfYsissoUAEVErjKDg4MkEgksyyKOY+LY\nLPTYto3rutxwww0MDQ2t8l2KyGrSHkARkatIT08PURRRrVapVqtUKhUmJiaoVqvUajUqlQqNRoPB\nwUFGR0dX+3ZFZJUoAIqIXEWy2SyVSoWpqSl6enpIJBKEYcjc3BzNZpOZmRnGxsY4efLkat+qiKwi\nBUARkauI53lEUcSpU6dIJpM0m026urrwPI8gCJicnGTv3r1MTk6u9q2KyCpSABQRuYoMDAzgui5R\n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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image('images/picture_2.png')" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ " Image('images/picture_4.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "More fine-grained control can be obtained using the core function\n", "`rdkit.Chem.rdDepictor.Compute2DCoordsMimicDistmat`, but that is beyond\n", "the scope of this document. See the implementation of\n", "`GenerateDepictionMatching3DStructure` in `AllChem.py` for an example of how\n", "it is used." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Working with 3D Molecules\n", "\n", "The RDKit can generate conformations for molecules using distance geometry. [[1]](#c1) The algorithm followed is:\n", "\n", "1. The molecule's distance bounds matrix is calculated based on the\n", " connection table and a set of rules.\n", "2. The bounds matrix is smoothed using a triangle-bounds smoothing\n", " algorithm.\n", "3. A random distance matrix that satisfies the bounds matrix is\n", " generated.\n", "4. This distance matrix is embedded in 3D dimensions (producing\n", " coordinates for each atom).\n", "5. The resulting coordinates are cleaned up somewhat using a crude\n", " force field and the bounds matrix.\n", "\n", "Multiple conformations can be generated by repeating steps 4 and 5\n", "several times, using a different random distance matrix each time.\n", "\n", "Note that the conformations that result from this procedure tend to be\n", "fairly ugly. They should be cleaned up using a force field. This can be\n", "done within the RDKit using its implementation of the Universal Force\n", "Field (UFF). [[2]](#c2)\n", "\n", "The full process of embedding and optimizing a molecule is easier than\n", "all the above verbiage makes it sound:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('C1CCC1OC')\n", "m2 = Chem.AddHs(m)\n", "AllChem.EmbedMolecule(m2)\n", "AllChem.UFFOptimizeMolecule(m2)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nEQIALO3/ATuoAPiadCJaAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The RDKit also has an implementation of the MMFF94 force field\n", "available. [[3]](#c3), [[4]](#c4), [[5]](#c5), [[6]](#c6), [[7]](#c7) Please note that the MMFF atom\n", "typing code uses its own aromaticity model, so the aromaticity flags of\n", "the molecule will be modified after calling MMFF-related methods." ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('C1CCC1OC')\n", "m2 = Chem.AddHs(m)\n", "AllChem.EmbedMolecule(m2)\n", "AllChem.MMFFOptimizeMolecule(m2)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nSuzZfJoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With the RDKit, also multiple conformers can be generated. The option\n", "`numConfs` allows the user to set the number of conformers that should be\n", "generated. These conformers can be aligned to each other and the RMS\n", "values calculated." ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10\n", "9\n" ] } ], "source": [ "m = Chem.MolFromSmiles('C1CCC1OC')\n", "m2 = Chem.AddHs(m)\n", "cids = AllChem.EmbedMultipleConfs(m2, numConfs=10)\n", "print len(cids)\n", "\n", "for cid in cids:\n", " _ = AllChem.MMFFOptimizeMolecule(m2, confId=cid)\n", "rmslist = []\n", "AllChem.AlignMolConformers(m2, RMSlist=rmslist)\n", "print len(rmslist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "rmslist contains the RMS values between the first conformer and all\n", "others. The RMS between two specific conformers (e.g. 1 and 9) can also\n", "be calculated. The flag prealigned lets the user specify if the\n", "conformers are already aligned (by default, the function aligns them)." ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [], "source": [ "rms = AllChem.GetConformerRMS(m2, 1, 9, prealigned=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "More 3D functionality of the RDKit is described in the Cookbook.\n", "\n", "*Disclaimer/Warning*: Conformation generation is a difficult and subtle\n", "task. The 2D-\\>3D conversion provided within the RDKit is not intended\n", "to be a replacement for a “real” conformational analysis tool; it merely\n", "provides quick 3D structures for cases when they are required." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Preserving Molecules\n", "\n", "Molecules can be converted to and from text using Python's pickling\n", "machinery:" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "c1ccncc1\n" ] } ], "source": [ "m = Chem.MolFromSmiles('c1ccncc1')\n", "import cPickle\n", "pkl = cPickle.dumps(m)\n", "print type(pkl)\n", "m2=cPickle.loads(pkl)\n", "print Chem.MolToSmiles(m2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The RDKit pickle format is fairly compact and it is much, much faster to\n", "build a molecule from a pickle than from a Mol file or SMILES string, so\n", "storing molecules you will be working with repeatedly as pickles can be\n", "a good idea.\n", "The raw binary data that is encapsulated in a pickle can also be\n", "directly obtained from a molecule:" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [], "source": [ "binStr = m.ToBinary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This can be used to reconstruct molecules using the Chem.Mol\n", "constructor:" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "c1ccncc1\n", "123\n", "475\n" ] } ], "source": [ "m2 = Chem.Mol(binStr)\n", "print Chem.MolToSmiles(m2)\n", "print len(binStr)\n", "print len(pkl)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that this huge difference in text length is because we didn't tell\n", "python to use its most efficient representation of the pickle:" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "157" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pkl = cPickle.dumps(m,2)\n", "len(pkl)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The small overhead associated with python's pickling machinery normally\n", "doesn't end up making much of a difference for collections of larger\n", "molecules (the extra data associated with the pickle is independent of\n", "the size of the molecule, while the binary string increases in length as\n", "the molecule gets larger).\n", "\n", "*Tip*: The performance difference associated with storing molecules in a\n", "pickled form on disk instead of constantly reparsing an SD file or\n", "SMILES table is difficult to overstate. In a test I just ran on my\n", "laptop, loading a set of 699 drug-like molecules from an SD file took\n", "10.8 seconds; loading the same molecules from a pickle file took 0.7\n", "seconds. The pickle file is also smaller – 1/3 the size of the SD file –\n", "but this difference is not always so dramatic (it's a particularly fat\n", "SD file).\n", "\n", "### Drawing Molecules\n", "\n", "The RDKit has some built-in functionality for creating images from\n", "molecules found in the `rdkit.Chem.Draw` package:" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": false }, "outputs": [], "source": [ "suppl = Chem.SDMolSupplier('data/cdk2.sdf')\n", "ms = [x for x in suppl if x is not None]\n", "\n", "for m in ms:\n", " tmp=AllChem.Compute2DCoords(m)\n", "\n", "from rdkit.Chem import Draw\n", "Draw.MolToFile(ms[0],'/tmp/cdk2_mol1.png')\n", "Draw.MolToFile(ms[1],'/tmp/cdk2_mol2.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Producing these images:" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image('/tmp/cdk2_mol1.png')" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nHGFsLGR+RH3t2i0Liy6XLl16dGFxcbFCoTh9+jRXVW1TWVk5ffr03r17KxSKgQMHxsTE/PLLL4z1\n3LhxY8SIEXZ2dgkJCe21zZqamiVLlpiamkZGRlZWVrbXZtuFHENYVSUsLMTBg9x1NMfZ2TkuLq7e\nwj59+jT6VDbZKioqCggI6N279/nz54uKinSPjjM1NXVxcYmIiEhOTq6urpaynh07djg4OAwZMqTe\nD1y7yMrK6tWrl5+f39mzZ9t9420mx91RpZK8vfXgNKO/v//RBvvNjS6UrWvXrgUFBVVWVuoeEWdv\nbz9z5syUlJSbN29+8cUXusfsdOvWTbewqqqqQ4uprq6eP3/+uHHj5s6de+DAAbcOuEXN39//xIkT\nvXv39vX1/eGHH9p9+23E/SvQuHfeEWFh3EU0Z+nSpa+88kq9hV9//bWPjw9LPa115swZNze31157\n7e7du09ap7y8PDk5OTw83MbGxtbWNiwsTK1WN7F+m507d87Pz8/JyWnvk+bSa1dqtdrKyko37FuC\n5pom0xDGxQlXV+4impORkWFubl7vAOPYsWNKpbLRZ2PIyuHDh7t06TJlypQWTpFcXV2dmZkZGRnZ\nrVs3CwsLlUqlVqtv377dLsVs3LjR2tp6zJgxhYWF7bLBljhz5oy3t7e7u/uRI0cka7RRMg3hxYuC\nSBQUcNfRpPv375uYmOTk5Dy6sKqqysLC4pC876dIS0vr1KnT3Llz2zDWuaamRpfGHj16GBsbDxky\nJDY29kZbBwrdu3cvPDzc1NQ0NjZW+ueWP3jwICoqytTUNDo6WqPRSNx6HZmGUAjh6Ci2beMuojkv\nvvjiihUr6i0cPHjwFzK+n2LNmjXtNUXyqVOnoqOj+/btW5fGa9eutfzjubm5/fr18/T0rPdDJrHd\nu3d37949ODi4gOlXX74hHDdOfPghdxHNiYiImDlzZr2FCxYsmDJlCks9zVqyZIlSqWz387e6NPr6\n+hJR//79o6Ojz5w508T6uuGd5ubmM2bMKCsra99i2uDmzZtjxox57rnnUnVP9pGWfEO4eLEIDuYu\nojlr167t27dvvYWbNm1yd3dnqacJGo0mMjLSwsLip59+6rhWLly4EBsbO2TIEIVCoUtjw16uqKgo\nJCTEyspKrVZ3XCWtVfe7EBkZKcGjhB4l3xDu3i06dxZ8O+otcurUKYVCUVJS8uhC3c1sf/75J1dV\n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\n", "text/plain": [ "" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image('/tmp/cdk2_mol2.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's also possible to produce an image grid out of a set of molecules:" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nXk2lJ0+e5LsZev36NXl6etL169cV23Jycqh///5Uv379Ek8sUFFNnjyZGjVq9N6a9twW8m7dupGW\nlhZZWlqSt7c3BQYGFjtR//HHH0lHR4f+/fdfZYRe4bVq1UotJ+bx9fUlPT09lQ+SLze3z7dvE3Xv\nTmRgIAxoKzie6flzoq++ukm6uro0c+ZMSk1NLXOZGRlEP/8sjDfx9n6zvWDrDHs/uVxOGhoaFB4e\nLnUo5c6RI0dIW1ubTp48WazXP336lNavX08eHh6ko6NDVatWVVxIijOIMDMzkz7++GOysLCg//77\nr6zhV04zZhD16CFqkb6+vtS7d29Ry5RSTEwMValShTaVckrC5ORkCg0NVXTbMjU1fWsw+tmzZ6lO\nnTo0ePBg8QfRViCFVdqVtAtWYSZMmEDVqlWjR48eKbalpqZS69atqUOHDsW+ca6o9u/fTzo6Om9V\nML3P06dPFWM/jI2NycDAgDw8PCggIKDImRV9fX1JX1+f9u7dq4zQK4Uvv/yS+vbtK3UYCjk5OfTZ\nZ59RlSpV6JgIXZ3L3e3z1q1EFhZEbdoQFdZ1/cKFC9S8eXOys7OjnYX12yqG9HQhybG0JKpdWygz\nJ6eMgVdyKSkpBCBfbRV7v8TERKpWrVqp+52/ePFCcSExNDQkU1NT8vLyovXr19Pr16/fen1SUhJ1\n7dqVatSoQVFRUWUNv/I6f55IW5vo6VPRiqxTpw79/vvvopUntWHDhlHXrl2Vdry0tDQ6efIkLVq0\niHr37k0mJiZkZmZG7u7uattPu7worNJOGQlIZmYmde/enZo3b57v+ywxMZHq1KlDQ4YMqbStVk+f\nPiU7OztauHBhmY6TlpZGwcHB5OPjQ9WrV39r3IhcLqfJkyeTsbEx93Aooe3bt5OFhYVa/I1mZmbS\nsGHDyMLCgs6dOydKmeUuASEievaMaNw44fru6yskDHllZWXRkiVLSE9Pjzw8PIo9/Wh2ttBromZN\nIltb4bEKu78x9k5yuZz69OlDnTt3phwlZMCpqakUGBioqNXS19dXzGjy8uVLio+PpxYtWlDjxo0l\nm0a2QnFwIBJpNqwrV66QlpZWsWd+Ku+OHj1Kenp6dPPmTZWVkZ2dTT169KBZs2aprAxWdklJSeTi\n4kJ9+vTJ10p1+fJlqlKlCi374QcJo5PORx99RB06dFDKtSNX7ppT06ZNIycnJ5LJZNSwYUMyNTWl\n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\nWVLW8Etl69atZGNjk29b06ZNadWqVZLEo2pLly6l6tWr02tljKYuQqdOnejjjz9W2fHz8vMjsrcv\n+6w7hbl+/Trp6OjQqVNC3+J//yUyNhb6uSvLkiVE1au/Gdz+5ZdEdetyLa/Ydu/eTbq6uoqbaVXz\n8/OjRo0aqbzC5do1IUlXxZjcvDeMGRkZVL16dQoICFB+QUUAhBaX6GhOQFRFLpdTnz59qF27dirt\nFRAbG0u6uroUHBxM2dnZ5ODgQP7+/iU+zu3bt6lKlSr0999/E5EwDrF27dqijF9VhYJ/4/fvC5MZ\nbd5M9OOPQivnxx8T9ejRj5ydncnCwkIxO5ihoSE1b968zL1TyjvJvxpOnxZqFtVldlUnJyf64483\nA2i3bdtG1tbWEkYkDOzt0qUL1a1bl+6XoYNtTk4OhYeHk5+fH7m6uhIAcnZ2Jl9fXwoNDc13wd2y\nZQvp6upKerMfExNDAOhObmd8Epqdh1bQvjBZWVnUpEkTmjZtmkqOv3//ftLV1RWlxoyIKDVV6GYy\na5byj92nTx9FxUBmZiYNGLCQFi5U7oUsPZ3IyYnohx+E5y9eCN1NCkzuwkQwduxYatiwocpni3v9\n+jWZm5vThg0bVFpOrtzZo+LilHfM3BnDjh07RkRE69evF722FRDOla5dOQFRpfj4eLK2tqaFCxeq\nrIy5c+dSs2bNiIho+/btVLVq1VJPQrN27VoyMTGhu3fvUnp6OjVr1oxGjx6tzHBFU/BvvG1bYUxU\nrVrCtPBeXsKscytWrKW//vqL9u3bR5cuXaKYmBhKSEigGjVq0My8/RcrIcm/GjIzhZk58gxnkNSY\nMWPokzzt4rGxsW/dBIvq1Sv6oFcvatCgwXtbLErq6tWr9N1335GbmxtpaGhQvXr16Ouvv6YFCxaQ\njo4O/aoGU/84ODjkuxn4999/qUaNGhJGpFqhoaGkra2t9C5S2dnZ1LhxY/rqq6+Uetz32bWL6LPP\nlHvM4OBg0tHRUZyTK1asoOrVq7817aMy3LlDVNicC9zFRFzJyclUr149lSXnufz9/almzZqiTZOb\nnS30AlBmXuXr60ut/9+tICcnhxo0aCB6f3tASNhNTfn8ULVt27bRwLZtSX7hgtKPnZycTObm5rRx\nozAbaMuWLct80zxkyBBq2bIlZWZmUlRUFBkYGNCmTZuUEa6oCv6NFzcny60YOHHiBGlpaYm+bpY6\n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\ngg==\n", "text/plain": [ "" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "img=Draw.MolsToGridImage(ms[:8],molsPerRow=4,subImgSize=(200,200),legends=[x.GetProp(\"_Name\") for x in ms[:8]], useSVG=False)\n", "img" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This returns a PIL image, which can then be saved to a file:" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false }, "outputs": [], "source": [ "img.save('/tmp/cdk2_molgrid.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result looks like this:" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAGQCAYAAABWJQQ0AAC2I0lEQVR4nOzdd3xN9xsH8M/NXrJk\nIyRGCGIEQexNE1rEqqAoqkSrJdQISmmNRqslbWnR1l6JHSsSo8QIEmKvyLJC9rjP74/zy5VEQsa9\n59wkz/v1ysu959x7vs+NnHvO850yIiIwxhhjjDHGmAg0pA6AMcYYY4wxVnlwAsIYY4wxxhgTDScg\njDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wx\nxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFw\nAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHG\nGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgT\nDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIY\nY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOM\nMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScg\njDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wxxhgTDScgjDHGGGOMMdFwAsIYY4wx\nxhgTDScgjDHGGGOMMdFwAsJYOSGTvf1YJgN0dYEJE948nzv37dczxhhjjKkLGRGR1EEwxt5PJgNy\nz9a8j69dA9q0AV6/FrabmwNnzgBOTm9ewxhjjDGmLrgFhLFyRCZ7u2UjKAjo3//N8/HjgYkTxY2L\nMTFwKyBjJcPnDFNX3ALCWDlRWAvIokXAxo1AWBhgYSFsf/ECcHAAXr7kFhBWsXArIGMlw+cMU1dq\n0QKSmZkJuVwudRiMlTuzZwPR0YClJZCeLmwzNQV8fSUNizGV4VZAxkqGzxmmjiRvAbl+/TrGjx+P\n0NBQ2NraomHDhnB0dFT8ODs7w8nJCVpaWlKGyVi58eSJkJBoa0sdCWPKxa2AjJUMnzNMXUmegAwa\nNAgpKSlYuHAhbt68iejoaNy4cQM3b97EzZs38fr1axgaGqJu3bpo2/YQzMysUL++0ExYrx5gYlL0\nsWUyYM4cYMGC/CchYxVVRoZwThw7BrRtK3U0jClXYTdTeWt209IAfX1h+5IlwMyZ/L3PKjc+Z5i6\nkjQBuXLlCpo1a4bz58+jefPmhb4mJiYG0dHRuHnzJh48GImICH1ERwMPHgA5OYCNjZCM5CYkjRsD\nPXoI7+V+jawyatMG8PICpk6VOhLGpPHsGWBkJAy0ZYy9m1wOREUJ91A6OlJHwyoLSROQwYMHIz09\nHXv27CnxezMygNu3hf7v0dHAzZvAjRuAgQFw9KjwGplMyObPnRO2cQLCKoMvvgBiY4EtW6SOhDHx\nyeWArS0QEAB8+KHU0TCm/jIyhLGDhw8D7dtLHQ2rLCRLQK5evYqmTZsiPDwczZo1Q1JSEjZt2gQn\nJyfUr18ftra2ZS6D+zUqSUgI4O0tPN64EejYUdp42Dtt2iQk3vfvSx0JY9L45BPh+/6vv6SOhLHy\noUMHoE8fYMYMqSNhlYVkCciQIUOQnp6O3bt3AxAGow8dOhTR0dFIT0+HiYmJIhmpX78+GjfuhVq1\nmqFOHUBPr3hl5PZ35H6NZeTiAnz33ZsmpStXpI6IvcPdu0Dt2kIriI2N1NEwJr6dO4Fx44D4eEBT\nU+poGFN/M2cKU/MGBUkdCassJElArl69imbNmiE8PBxNmzbNt08ul+PBgweIjo7G9evXER0djejo\naBgZLcDeve2hoQHUqCH0VaxbV/hxcgJatwbMzMT+JJWEvj6QlCRkcKamwqg1ptasrYHffwf69pU6\nEsbEl5IizO5z5Ajg7i51NIypv717gREjgKdPAQ21WKCBVXSSJCBDhw5Feno6du3aVaL3ZWUBjx4J\nNbyRkcKgqbt3hZ+NG9+e9ScxERg8WKgNMzVVXvyVTuPGwOLF3AJSjnh4AE2aCNMtMlYZ9ekjNN4u\nWSJ1JIypvxcvhKT96lXA2VnqaFhlIPriGrduZeLKlVtYv35Nid+rrQ04Ogo/3bq9//Xm5sDZs0Ky\nwrVgZbByJTBypPB4wwZpY2HF4uYmDN1hrLLy9ARWreIEhLHiMDMTepOcOsUJCBOH6A1tCxbooHbt\ncLRo0ULlZWlqCidUZKTKi6rYunQRmp4ePQI6d5Y6GlYMbm7C7G9yudSRMCaNvn2B69eBW7ekjoSx\n8sHdXUhAGBODqAnItWvCDD0LFohXprOz0FWLlcKuXfn78KSnC1NkPHsmXUysWFxdCc2bX8PNm4+l\nDoUxSVSrBjRtKvRtZ4y9HycgTEyiJiDffSc0ixcYd65SDRtyC0ipXbwIhIe/ef7yJfD998Kk4Uyt\nVa0qQ1zcQJw+fVjqUBiTjIcH4cKFF1KHwVi50KYNcO8ekJiYI3UorBIQLQG5fh3Ytg3w8xOrRIGz\nMycgpZaSAhga5n8OCEsMM7Xn5uaG//77T+owGJOMh8d5bNtmg6SkJKlDYUzt1asH1KzZHKdO8Vy8\nTPVES0AWLgQ++EDc1g9AaAGJjQWePxe33AohJSV/spGbgBgYSBMPKxFOQFhl17JlS1haWmL//v1S\nh8KY2pPJgKZNHRAaGip1KKwSECUBuXED2LpV/NYPQJgxS19faIFhJVRYC4iuLqAl+uRprBTc3Nxw\n7do1JCcnSx0KY5KQyWTo06cPgnh1NcaKxd3dHWFhYVKHwSoBURKQhQuFOdmbNROjtPx4JqwyKCwB\nyfucqTUXFxfo6uri4sWLUofCmGQ8PT2xf/9+ZGVlSR0KY2rP3d0dly5dQmpqqtShsApO5QlITAyw\nZQswa5aqSypahw7xSEi4IV0A5VVycv6Eo+Bzpta0tbXRrFkz7obFKrVu3bohKyuLa3UZK4bmzZtD\nW1sb586dkzoUVsGpPAGpVg24fBlo1UrVJRXN2notTpyYJF0A5RW3gJR7PA6EVXb6+vro3Lkzd8Ni\nrBi0tbXRqlUrTtiZyqksAZHJgLlzhceNGr3Zlne/WBo2bIgoXgyk5DgBKffc3Nxw9uxZqcNgTFKe\nnp4IDAyUOgzGygV3d3ec4gVBmIqptAXkl1+AmzdVWULxNGzYELGxsXjOU2GVyCsLCySbmLzZwAlI\nuePm5oaYmBhcvnxZ6lAYk4ynpyfu3r2L6zwbCWPv5e7ujtOnTyMnh9cDYaqj0gRk/Hhg4sT822Qy\ncVs/AMDR0RH6+vrcClJCTlFROKmnp3i+MCUFfTgBKTeICP7+/rC1tYWrqyvatWuHFStW4N69e1KH\nxpio7Ozs4OTkhAkTJuDnn3/GpUuX+OaKsSK4u7sjJSUFO3fulDoUVoGpNAGZPh24cCH/NiLhR0wa\nGhqoX78+InkqrBJJTk6GYZ6EIyUlBUa8CGG5kJaWho8++gj//vsvAgMDcffuXXh5eeHAgQOoV68e\nateujSlTpiAsLAwk9gnJmMhmzZqF+Ph4VK9eHWvWrIGrqyvMzMzQs2dPfPvttzh+/DjP+sPY//38\n88+oWrUqhg4dilq1amHy5MkIDg5GZmam1KGxCkSlCYipKeDrq8oSipaUlISYmBjF84YNG3ICUgJE\nhNTU1LcSEENuAVF7SUlJ6NOnD6KionDmzBm0aNECNWvWxJQpUxAcHIzbt29j8uTJuHz5Mjp16gQn\nJyf4+voiPPye6JUDjKnaggULsHr1apw4cQL//PMPIiMjkZiYiH/++QdNmjTBwYMH0atXL5iamqJ1\n69ZYtCgUu3YBCQlSR86YuORyOSZOnIgff/wRe/fuxatXr/Dzzz8jMzMTI0aMgImJCbp3746VK1fm\nu79irDRkJGL1Z3w8YG2t2jJSUlLw888/Y+nSpRg2bBh+/vlnAMCSJUsQHByMo0ePqjaACiItLQ0G\nBgaIiopCgwYNAACjR4+GgYEBVq1aJXF0rChPnjxBz549oaOjg/3798P6PSdcQkIC9uzZg127diEm\nZgFevGiBjz4CBgwA2rUDNERZKYgx1Vi2bBnmz5+P4OBgtG7dusjXpaWlITw8HKGhobh50wu7d9dF\nUpKwhpS7O9C+vfBv3bpvv1cmA+bMARYsEB5zEs/Ko6ysLIwaNQonTpzA4cOH0bBhw3z7MzMzERIS\ngsDAQAQFBeHx48do3749+vY9CA8P3ULPDcbeiURy5w6RoSHRjh2qOX5SUhL5+fmRubk5NWnShAID\nA0kulyv2BwYGkrW1tWoKr4ASExMJAD148ECxbdCgQTR9+nQJo2LvcvPmTXJwcKCePXvS69ev8+27\ndOkSvXjx4p3vT00lCgwk8vYmMjYmMjMTHm/dSpScrMLAGVOB3377jfT09Cg4ODjf9qSkpPe+NyeH\nKCKC6JdfiIYNI6pRQ+g8bG1N1L8/0YYNb14LEJmbE0VHC48ZK29SU1PJw8ODateuTXfv3i3Wey5f\nvkzLl/9OLVoQyWRETk5E06YRnTxJlJ2t4oBZhSBa/aajI/DTT8CQIcD69co7blpaGr7//nvUrl0b\n//77L9asWYOLFy/C09MTsjyj3Y2NjZGYmIhLly4pr3BlCgkB7O2Fn5AQqaNBSkoKAHAXrHLi0qVL\naN++PVq3bo3AwMB8Y3WCg4PRvn17bNmy5Z3H0NcHPD2BDRuEBUTXrAEyMoDRo4GaNYGxY4H9+wG5\nXHh93qm2xZ5YgrF32bJlCyZPnoxNmzahW7duiu2HDx+Gg4MDnjx58s73a2gALi7CJCr//AM8fAg8\neAAsXy604t+9m//1hU24wlh58OrVK/Tu3RsPHjxAaGgoHBwcFPu2bNmCEydOFPq+Jk2aYOrUsTh/\nHkhMBL75Brh/H/jgA8DYWLiW/PYbEBf35j18zWD5iJ3xbNpEpKNDtHZt2Y6Tnp5O/v7+VL16dXJw\ncKD169dTZmbmW6978uQJTZo0iXR0dKhVq1ZkYGBAP/zwA2VlZZUtAGVr3JgoKIho717hscQiIyMJ\nAKWlpSm2derUiZYtWyZhVKwwp04Rdey4kMaPH0/ZBaqefvvtN9LV1aV169aV+vjZ2UShoUQ+PkRt\n277ZzjW/TB0dPXqU9PX1ac2aNfm2Hzx4kPT09GhtWS8+BQBEL14QmZryeVBasbGxNHbsWBo9ejTF\nxMRIHU6lkZiYSK6uruTm5kbPnj3Lt2/NmjWko6NDGzduLNExX74U7vMGDyYyMSHS1SU6d07Yx9cM\nlpckfwJbthBpaxOtWlXy92ZlZVFAQADVrFmTbG1tKSAggDIyMt563ZMnT2jcuHGko6NDXbt2pbNn\nzxIR0YEDB6hWrVpUt25dOn78eBk/iRLp6RFlZBClpwuPJXbu3DnS0tLKt61ly5a0evVqiSJihQkM\nJDIwIFqw4O2E2s/Pj/T19Wn37t0qKRsgmjmTqGtXvpgw9XD2LFHTpin044+/5dseGhpKBgYG5O/v\nr/Qyc//2Fy/m86A0rl27RjVr1qQ2bdpQ586dydjYmFasWKF+lYQVTFwcUZcu6dS37xR6/vx5vn2+\nvr5kZGRER48eLVMZGRlEhw4JtzVEfM1g+Un2J7Btm9ASsnJl8V6fk5ND69evp/r165OVlRX5+/tT\nSkrKW6+Lj48nHx8fMjAwoA4dOlBoaOhbr0lJSSFfX1/S1tamcePGFatPsNLl5BDlLbdRI7VqATl2\n7BgZGxsTESkSPGdnZ9qQt/Mzk9SyZcI5VLCCKicnhyZNmkQmJiZ04sQJlZXPNb9MnZw/L4xdmj8/\n//YLFy6QiYkJzZ49W5rAWJGCgoLIyMiIPv/8c0XrbWBgIDk4OFCdOnVo//79EkdYMUVHE9WsSfTR\nR2+SAyLh2jFx4kSqWrUq/ffff0ovl68ZLC9J/wQ2bRJaQn7/veiaDrlcTlu3bqVGjRqRqakpLVmy\n5K0BtkREL1++VGTtzZs3f2vgYWEuXbpELVq0IFtbW9q+fXuZPkuxyeVE27cTNWxI9Omnb7YfPUpU\nvbrwM20a0YIFRIV0KRNLbGwsrVixgnr16kUtW7ak/v370+zZs+nKlSuSxcQEcrnQHapKFaKCf+ZZ\nWUSffz6XLC0t6Vxuu7eKcM0vUxeRkUQWFkRffZV/+507d8jOzo7GjRuXb1ISZfv9d6GmlxXfqlWr\nSFtbu9BWqdTUVPLz8yM9PT3y8PCg+/fvSxBhxXTxIpGVFdHIkcL1IldmZiYNGzaM7Ozs6Nq1ayop\nm68ZLC/J/wS2b8+hBg0G0qpC+mOdOXOGOnfuTLq6ujR58mSKjY196zWpqam0ZMkSqlq1KtWrV4+2\nbt1aogtNVlYW+fv7k6GhIXl4eNDjx4/L9HmKJJcL0wk1aCBML7RkSdFTCx08KFRPNG4s9CkQWXh4\nOHXr1o10dXXJx8eHwsPDqX///mRgYEBLlix5a5yBVJ48eVLsGTsqisxMohEjiCwt3/SrzZWSQuTh\nQdSxYxJFR0eLEs+zZ0SvXolSFGOFunOHyM6OaMwY4Ws2V0wMkatrJk2e/BPl5OSoNIYpU4TaZPZ+\nOTk5il4KO94zLeatW7eoV69eZGBgQH5+fpSet7qelVhwMJGRkfD3mvdcycggmjjxGTk5tVRZ8sFY\nQZInIETCuAx9fX1asGBBvu0///wzjR07Nt9UsLlyB6FXq1aNHB0daevWrWW6yNy5c4e6detGpqam\n5O/vr9wL1tatQjJhYiIkHsW5Y0tNJfLzE0ZweXsLd3oqdvnyZfLw8CAtLS0aN24c3bt3L9/+wMBA\nqlatGjVr1ozCw8NVHk9Rnj59StOnTycDAwP6+uuvJYtDbLkJRp06RLdv598XH0/k6krUpo0ofyoK\nDRoQ/fGHeOUxlldMDJGjI5GXV/6pP2NjhfNk0CBxpgQ9ckSYZj7PnB2sEKmpqdS/f3+ytrZWjMss\njsDAQLK3t6e6devSwYMHVRhhxbVjh3A74eeXf3tKClGvXkS1axPdvavaRJ2I6M8/hRZ8Vjp37tyh\nf/75p9AK+fJGLRIQIqITJ06QkZER+RU8OwrIzs4u1iD00pDL5bR+/XqqWrUqtW/fnq5fv162Ax45\nQtS6NZG+PpGvL9HTpyU/RkQEUcuWRDY2wsAZFbh16xZ5eXmRpqYmeXl5UWRkZJGvffHiBY0bN460\ntbXJ19c33yxZqlac8T0VVXY2UefOwg1/wXz81i3hJqxXL/HX6xg9mmjsWHHLZIxIGERbrx5Rz55C\nDW6u58+JXFyIevfOv12ZrlwhWrr0zfPMTKFf+759qimvIoiPj6fWrVtTgwYNStVynZKSQn5+fqSj\no0MeHh708OFDFURZMa1dS6SlJdR/5pWQIFRcubmJV3G1bZuwng4ruT///JN0dXWpVq1apKGhQW5u\nbrRo0aJy2zVebRIQIqKQkBAyMjIiX1/ft/bljgVp0KDBOwehK0NcXBx5e3uTvr4++fn5lTjBuXz5\nMo0cMoRSq1QhGjWKqEBLQollZRH5+wttpx4eRI8ele14//f48WNFMuHh4VGiMQMnT56k+vXrU+3a\ntenIkSNKiacopRnfUxEARHPmvHm8ZcvbF4mLF4XcdNgw1d1s5RUdnX/uhIAAtZgzgVVCkyYRNWsm\nTPuZKzlZqPNp316o2VWVkyeFCSDynguDBxNNmKC6Msuz69evk6OjI3Xu3PmtGZdK6saNG9StWzcy\nNDQs1fW5ssnOFpKMgkNtHj0SKrS6dSMqZFitysTGCtezO3fEK7Mi8PX1JX19fQoKCiIiovv371NA\nQAB5eHiQjo4OWVpakre3N23durXQcdLqSK0SECJhusQqVarQtGnTFNu2bt1KjRs3JhMTkyIHoavC\n3r17yd7enlxcXIo1I8T169dp8ODBpKmpSYMHD6Y4ZffDj4wkcnenR1270t9//13qw8TFxSmmKO7U\nqROdOnWqVMfJHSioq6tL3t7e9LQ0LTzvOX7u+B4nJ6cSj+8p7943Z/rZs8L+8ePFW3m2Rg1h8ohc\nly8TaWjkvxFjpZeVlUV37tyh1NRUqUNRe69fCzW4udLThZupgkmJKmRnC4Pe8zZK//23MBalEn1F\nFUtISAiZm5vTiBEjlJosbN26laytrcnJyanSVEoVV8HKq4JDZ27eFIaZ9u//9j5l27WLqEWL/Nsc\nHIh4Qs3ikcvl5OPjQ8bGxkXOapmcnEyBgYHk7e1NJiYmpK+vT926dSN/f3+1XldH7RIQImEKWEND\nQxozZgx1796ddHR0aOLEiZL8IpOTk8nX11cxLqKw5OfGjRvk5eVFWlpa5O3tTTdu3FBdQDk5tOm3\n38jY2Jh69uxZoqbsFy9eKFoSXF1dlfalHRERQa1atSIbGxtav359mY+Xd3xP7dq1yzy+p7x635zp\nt28T/fCDuDENHEj0xRdvnmdnCw1z6rSkTnl1//59atu2LdWrV4+cnZ0pIiJC6pDUTsEbq7xu3xZa\nP1Q1j0hBI0YIMwnlev5c6OZy4YI45ZdGUlISHTt2jKKiokSpzPn7779JT0+PlixZopLyXrx4QT4+\nPoruw3FxcUovozx6X+XVDz8QDRig+uSDiCgqikgmy19ZMHy4UHHG3i0rK4tGjBhBFhYWdP78+WK9\nJzs7m0JDQ8nHx4dq1KhBGhoa5OrqSn5+fpKO3S2MWiYgRERHjhyh2rVr06BBg9RipqNTp05Rw4YN\nqVatWopBcAXHTog5e8SzZ88UrRi+vr7vnB3k1atX5OfnR+bm5tSkSRMKDAxU+sUgJyeHAgICyMjI\nqNT9cwsb31PY6vaVhTrOmb50qTDQPa8OHYi+/16aeCqKDRs2UJUqVcjHx0dxvuro6JCfn1+lTL6L\nok4rKW/bJsxGl7f1sVOntwf5qouEhASqX78+OTk5EQCysLCgfv360bJly+jMmTNK/67NXQh1y5Yt\nSj1uYS5evEht2rQhExMT8vf3r/SLGBZnwT+xvlbkcqKqVYVFc3OtXi0sfcaKlp6eTh9++CFVr16d\noqKiSn2ca9eu0ZIlS8jd3Z1kMhk5ODjQuHHjKDAwUPLui2pyW/O2xMREAlDoDFhSSU1NJV9fX9LR\n0aFevXqRvr4+ubu7q3Sxt/c5fvw41atXj+rWrUvHjh3Lty8tLY2WLFlClpaWVKdOHVFaEu7du0c9\ne/YkY2PjYs8mJub4nvJEHedMP3mSSE8v/3iTadOEpnxWci9evCAvLy8yNTWlbQUmmTh69CjZ2dlR\nly5dVDc9eDmjTispv34tzCqUtwfr8uVEzZtLF1NRnj59So0aNSIPDw/KzMykV69eUXBwMPn5+VG3\nbt1IX1+ftLS0yNXVlXx8fGjr1q2UmJhYqrIyMzNp9OjRZGFhUeruvaWRlZVFP/74IxkbG5Obmxs9\nefJEtLLVjbpVXnl6CvPw5Lp6VWgVEXPGxvIkJSWFevfuTXXq1HlrNtKyePDgQb5xI2ZmZuTl5UXr\n16+nFy9eKK2c4lKDP83C3b9/nwAofVyBMoSGhpKFhYVSuhspQ8GxGPHx8RQQEEA1atSgatWqSdKS\nsHXrVrK0tKS2bdu+c1Ytqcb3sNJJSRG6meRtDd6+XVg/k5XMmTNnqFatWtSmTZsiLzIJCQnk4eFB\nFhYWFJi3CrGSUrcbqx49iGbMePP8xo00at9+rVrd/L569YpatmxJnTp1KnJsUVZWFoWHh5O/vz95\neXmRhYUFASBHR0fy9vamgICAYrXwv3z5krp160b16tWjW7duKfujFEtMTAw1a9aM/vzzT0nKVwfq\nVnm1ZAmRu/ub53K50JLJs8a97eXLl9S+fXtycXFR6VS78fHxtHbtWurXrx8ZGBhQ//79Ra/4VYM/\nzcJFRkYSAFGneS3Ko0eP8nUDe/ToEQGg+Ph4CaN62+nTp6lRo0aKVeO//fZbSW/onz9/nm/K3rzd\nxI4ePUpt2rQhfX198vX1VctEUx2cOCHUqqqTZs2I8q4b+uiRcJHjSvriycnJydfF6n3dReRyOfn7\n+ysqGCpz66C63VitWZNMQ4Zczretfv36tHr1aokiyi81NZU6d+5MLVu2pFclXDH0zp07tH79eho3\nbhw5OzuTTCYjW1tb8vDwoCVLllB4eHi+Fu4HDx5Qo0aNqH379pJ+n8vlcrKwsKBdu3ZJFoO6UJce\nzKGhQmth3tu53r2JvvlGupjUUXx8PDVv3pzatGlT5tniSuLVq1dkZGSk8hlNC1KDr/DCnTt3jrS0\ntKQOg4iIJk2aRJ988oni+Y0bNwgAJYu96EIxZGZmUmRkJD1To7bN48ePU926dalu3br0xx9/UL9+\n/UhLS4tGjhyp1ObFimjrViJbW6mjyG/CBGFtzLx69rxL+/aJs/p6eRYbG0vdu3cnW1vbEk8Cce3a\nNWrUqFGlH6C+c6ewPJI6ePDgAclksny1/dOmTaM+ffpIGJUgPT2devToQU2bNlVK94p79+7Rxo0b\nacKECdSoUSPS0NAga2tr6t+/P82aNYvs7e3J09NT8uvi9evXSSaTlboLWUWxeTNRw4ZSRyFITxe6\n7oaFvdm2cuUN+uSTjdIF9R579+6l2bNn07Zt20qcvJfGw4cPycnJiXr06CHJOdS1a1eaN2+eqGVq\nQE0lJyfDwMBA6jAAACkpKTA0NFQ8T05OhoaGhtrEl5e2tjacnZ1hbm4udSgKnTp1wvnz59GxY0cs\nXrwY5ubmuHPnDv766y/UqlVL6vDUmpsbEBsLPH4sdSRvtG//DOnpIfm2GRh8hZMn10kUUfGcPXsW\n8+bNw+LFixEdHS16+YcOHUKTJk2gqamJy5cvo1u3biV6f8OGDXHu3Dl069YNbm5uWLlyJYhIRdGq\nr02bgN9+kzoKgb29PVxcXLBv3z7FNk9PTxw7dgwpKSmSxZWTk4Nhw4bhwYMHOHToEExNTct8zFq1\namH48OFYvXo1rl69iqdPn2Lt2rWoX78+Dh06BEtLS+zatSvftVIKYWFhcHJygoWFhaRxSK1pUyAq\nCkhIkDoSQFcXGDz4NK5cOaTY5uISi82bxyEzM1PCyAq3fPlyDBgwAFeuXMHkyZNhaWmJXr164ddf\nf8WjR4+UXt7NmzfRrl07NGrUCEFBQZKcQ+7u7jh16pS4hYqa7pRAUFAQ2apJ1a+Xl1e+xRFDQkLI\n0NBQwojKp3v37hEAtWqdKQ/s7IRxFuoiKiqKZDJZvv/HxYsXU6dOnSSM6t327t1LBgYGNGTIEGrT\npg1paGiQs7MzzZ49my5evKjSsjMzM8nHx4d0dXXJ399fKTPQ7dixg8zMzKhfv36Vrvvihg1E9vbq\ns97GnDlzqGvXrorn2dnZkncBujVnDtWvW5du3rwpSnlRUVGkoaFB169fF6W8dxk1ahSNHTtW6jAk\nJ5cTWVkJ63Cog+nTp1Pfvn0Vz1NTU0lHR6dYa6yJRS6X06RJk8jY2JhCQkIU2/POJKWhoUGOjo7k\n4+NDwcHBZZ5x7dKlS2RlZUWjR4+mbLEW9CrEoUOHqEqVKqLGoLYtIAVbHaRUMBZ1iq08ya0R5N9d\nybRqBfz3n9RRvFG/fn2YmJjg/Pnzim1ubm4IDw9HTk6OhJEV7tdff8WAAQOwevVqbNq0CadPn0Zi\nYiJ8fX0RHR2N9u3bw9LSEiNGjEBQUJBSa+Tu3r2Ldu3aYd++fQgNDcWUKVMgk8nKfNz+/fvj8uXL\nePbsGRo2bIiDBw8qIdry4YMPgJgY4OpVqSMReHp64uTJk3j58iUAQFNTE71790ZQUJA0Ac2Zgzqr\nViFy+3bUrVtXlCIbNGiALl26YPXq1aKU9y5hYWFwd3eXOgzJyWRA27aA2JXaRXF3d8fp06cVrbb6\n+vpo0qSJ+LXuRcjOzsbIkSOxZcsWHDt2DB06dFDsa9iwIXx9fREWFoa4uDj4+fkhNjYWH330EWxs\nbDBo0CBs2LABr169KlGZYWFh6Ny5M4YPH44//vgDmpqayv5Yxda6dWukpqbiqohfrJyAFAMnIMqR\nkpICLS0t6OrqSh1KueLmpl4JiEwmQ4sWLfBfnqBatGiBtLQ0REVFSRhZfkSEGTNmYMaMGQgKCsKI\nESMU+8zNzTFixAhs3boVCQkJWLdO6D42fPhw2NjYYMSIEdi2bVuZutFs2rQJzZo1Q506dXDx4kW0\nbNmyzJ8pL3t7exw/fhwTJkyAp6cnpkyZopbdGZTN3Bxo3RqQ6v6+oBYtWsDKygqHDr3pXuLp6Ym9\ne/dCLpeLG8zChcAvvwDHj0PDxUXUoj///HP8+eefJb4JU6bY2Fjcvn0b7dq1kywGdeLuDoSFSR2F\noG3btnj27Fm+7q+SdPspRHp6OgYOHIgTJ07g5MmTcHV1LfK1uZVVudeOzZs3w9bWFjNnzoS1tTW6\nd++OlStX4vF7+k0fPHgQPXv2xIwZM7B8+XKlVEyVhbGxMRo3bizq/4faJiDp6YCFhYPUYQAoPAEx\nMjKSMKLyKSUlRS3Hzag7NzcgPBzIzpY6kjfc3NzyJSBVqlRBgwYNcPbsWQmjeiM7OxuffPIJ1q1b\nhyNHjqB79+5FvtbAwACenp7YsGED4uPjsX79eujr62PSpEmwtLRU7CvujVVKSgpGjBiBTz/9FD//\n/DP++ecfGBsbK+uj5aOlpYV58+YhODgYO3fuhLu7O27fvq2SstSJpyewd6/UUQhkMhn69OmTr8Wj\nd+/eSEpKwrlz58QLZPly4PvvgX37gCZNxCv3/zw9PVG1alX8/fffoped69SpU7Czs0OdOnUki0Gd\nuLsDFy4AqalSRwJYWFigXr16+W5w3d3dESZxhvT69Wt88MEHiIqKQmhoKOrXr1/s9+rr66Nbt25Y\nuXIlHj16pGh927hxI2rUqIGGDRtixowZCAsLyzdeb+vWrfjwww/xww8/wNfXVxUfq1TETgjVNgF5\n9Wo0NDR2SR0GgMIHoXMLSMlx4lY6LVoAGRnAtWtSR/JGbgKS90u1YFIildTUVPTv319Rm9WqVati\nv1dPTw+enp4ICAjAkydPcPjwYTg6OuKbb76BlZWVonYrPj6+0PdHRESgZcuWuHLlCsLDw/O1uqhS\np06dcO3aNdSuXRvNmzfHhg0bRClXKp6ewLlzQFyc1JEIPD098yWoRkZGaN++Pf79919xWkH++AOY\nPRvYtQto00b15RVCU1MT48aNw6pVqySbHIG7X+XXogWgrS1UYKmDdu3a5bvBbdeuHeLj43H37l1p\nAnr9GkMHDUJsbCyOHTuGmjVrlvpQGhoacHV1xbx58xAeHo6rV69i+PDhOHHiBDp27Ij69etj2rRp\n+Pbbb+Ht7Y0ff/wRn3/+uRI/TNmJnhCKNtqkhGbPJvroI6mjEPTtG0VBQY8Uz1evPkNjx+6UMKLy\nafPmzVS3bl2pwyiXGjUiWrNG6ijeiI+PJwB0+/ZtxbaAgABq1KiRhFERpb18SZ07d6b69evT/fv3\nlXbcnJwcCg8PJz8/P6pXrx5pamqSu7s7+fv7K1Yp9/f3J319ffLx8ZF0/aL169eTgYEBeXl5SbK6\nrVjq1CFat07qKAr38uVLcnZ2JnNzczIxMaE+ffrQokWLKCQkpMjFAEtt82ZhkQU1GG2cmJhIenp6\ndOzYMUnKd3V1JX9/f0nKVlcdOhAtWiR1FIJ169a9dQ/g4OBAGzZsED+YxESiFi0oZNAgSkhIUGlR\ncXFx9Pvvv1Pfvn2pTp06tHjxYpWWV1oPHjwgAPTw4UNRylPbFpCUFEBdGhlOnWoAHZ3qiuexsa2R\nkPCRhBGVT9xyVHqtWgF5xnxLzsrKCrVq1crX4uHm5oaoqCjp+oDHxkKvUyf0r1EDYWFhZarNKihv\n7db169cRGhqKNm3a4KeffkLNmjXRrl07zJkzB2vXrsXKlSuhp6entLJLasSIEQgNDcXly5fx6aef\nShaHqvXpoz7jQPJ6/fo1evToAQMDA0RFRWH37t1o06YNQkND4enpCVNTU7i7u2P69OkIDAzEs2fP\nSl/Y6dPAJ58A/v7Ahx8q6yOUmoWFBQYPHoxffvlF9LJfv36Ny5cv8/iPAtq1U6+B6FZWVsjIyMi3\nTfRxILdvCxdVCwt0+PNPWFpaqrQ4a2trjB07Fnv27IGpqSm0tLRUWl5p2dvbo0aNGqL9f6htApKc\nrD4JSMFkSJ2So/KEB++XXocOB3D5cnupw8hn7dq1+WYKadSoEQwMDLBXis75ERGAqytQrx4m/fYb\nqlatqrKiNDQ00KZNGyxduhR37txBeHg4kpKSMGHCBAwdOlRl5ZZE8+bNMXfuXJw8eVL8gdAi6ds3\nHSkp59Vq4H16ejo+/PBDJCcn48CBA7C2tkanTp0we/ZsHDhwAElJSbh+/TrGjx+PpKQkzJw5ExcH\nDgTs7IBBg4CVK4VO+8X9P2vYEFi7FpgwQbUfrATGjx+PqChNPHmSJWq5Z8+ehYGBAZo2bSpquequ\nQ4cruHevu1qsGVSvXj2EhYUpJqIhImRmZuLYsWOKiT9UXoEVEQG0by8kIHv2ACKPSy3YDU3diJkQ\nqm0Coi43+Tk5woD4vEMX1CW28oYTkNJr3rw6Ll06jaSkJKlDUejSpQuqV3/TMrh582bo6upi+PDh\naN68ORYtWoQbN26oPpDQUKBzZ6EG+N9/hVWvRNS0aVN4e3vjyJEjopb7PkFBQRg4cCA0NNT2a75M\nOnTQxLlzPXDs2DGpQwEgTHwwePBg3L9/H8HBwUUuhOfo6IgRI0YgICAAkZGR6PzXX8APPwjTe/3+\nO9CyJVCjBjB4MPDzz8ClS8KFKFdICGBvL/xcvgyoSdKbq02bNjAw2IKAAG1Ryz116hRat24t6VSm\n6sjNzR7R0ccQGRkpdSj5yOVyfPbZZzhy5AgmTJgAbW1tfP7557C0tETPnj2xatUqPHjwQLmFnjoF\ndOr05lqho6Pc4xdD7jgLdUgICyPmOBC1vTKpy01+7uwR3AJSdpyAlF7Dhg1hZGSEcHUZTVjAvHnz\nMG7cOKxduxaJiYn44osvcPbsWbi4uKBWrVqYMmWKar50t28HevQAfH2BX38FJLr58PLywuXLl3Hn\nzh1Jyi8oLS0N+/fvR//+/aUORWW0tbXRo0cP6dbbyEMul+OTTz5BeHg4goODYWdnV+z3atWsCQwf\nDqxZI8w08fSp8NjBAdiyRRhUXrMmkHvuTJ4s/K2vXi08VkM+PkJ46enilckD0AtnamqKBg0aqFWt\ne25L4YEDB3D69GlMnToVa9euRWxsLI4ePQoXFxesXLkStWrVQtOmTTFnzhxcDw9/cw6UxoEDQM+e\nwIwZwh+nRBUz7dq1w9OnT3Hr1i1Jyn8fd3d3XL16VZTKTk5AihEH8HYCwpM5lRzPglV6GhoaaN68\nuVrMMpWXXC7HpEmT4O/vj/3796Nfv36oWrWqYlG/+/fvY9q0abh69So6deoEJycnzJw5E9EXL5bt\nYgIIN2nDhwsXE4mnMnRwcECzZs2wc+dOSePIdfjwYejr66NTp05Sh6JSnp6eCAoKkrw2cfLkyQgO\nDsbx48fh6OhYtoOZmwvTfC1ZIizi8PIlcOiQsLIcANy6JSTd3boJj9XQ4MHC/d327eKUl5WVhbNn\nz6J9e/Xqpqou1GW9DUAYq9O7d2/cvHkToaGhcHJyUuzT1NREu3btsHTpUty6dQv37t3DxIkTcfny\nZWROnw5YWAhdFTdsAF6/Ln6hQUFA//7AN99Ifq2wsbGBg4OD2vx/FOTi4gIDAwNRphBX6wREHe5V\ni0pA1CE5Km+4BaRs1GWa21zp6ekYMGAA9uzZg1OnTqFjx45vvcbOzg6ff/45jh07htjYWEybNg0X\nL14Epk4FatUCvvhC6FJS0hXUZ8wAvvoK2LYNGDVKGR+nzAYMGIAdO3ZIHQYAYOfOnfD09Kzw3VH6\n9OmD2NhYRERESBbD3Llz8e+//+LgwYOoV6+e8gvQ0xPGeuSqUwc4fBg4cgQQaaXzktLVBcaMEdZE\nFMOlS5eQmZkJNzc3cQosZ9QlAXn69Cm6dOmCpKQknDx5Evb29u98fa1atTBu3DgEBQWhyd9/A4sX\nA2lpwpin6tWBIUOAzZuB99XW29kJ3Rm/+UaJn6b01OX/ozCamppo3bq1KPGpbQKiLoPQcxOQvOOU\nOAEpHZ4Fq2zc3NzeWugvMzMThw4dEn0gblJSEnr37q2YEaph3hukIlhaWuLTTz/FoUOH4HTgALBq\nFfD8OdCvH2BsLNT6Fqdm6+FD4O+/hVotT08lfaKy8/Lywrlz5/Dw4UNJ48jMzERgYGCF7n6Vy9zc\nHG3btkVgYGC+7dOnT4ePjw+2bNmCmJgYlZW/dOlSrFixAvv27RNv8PPKlcBnnwk3YStXilNmKUyY\nIKw/IcbsfWFhYWjWrBlfX4rg7u6Ou3fvIjY2VrHt0aNHGDduHPbu3Yu0tDSVxxATE4OOHTtCT08P\nx48fh5WVVckOYGcHjBsnfO8/fSpcK4yMhEosKyuhVTDv+kd5x0olJwNjxyr185SFOicggHjxqW0C\nMmuWMFGB1FxchJ4ieWdNU5fkqLzhFpCyad26NRISEvINzLt+/ToGDRoEa2trjBgxArt371b5xSQm\nJgbt2rVDRkYGTp8+jVq1apX8IPr6bxKOJ0+AjRsBU1NgyhShZmvoUGDrVqG2C8h/Mbl3D7hzB+jS\nRZkfq8zq1q2Lxo0bS94N68SJE5DL5ejWrZukcYgltxtWXnXq1MHDhw8xefJkVK9eHQ4ODvD29saa\nNWtw7do1pcwM9ttvv2HOnDnYtWsX2rZtW+bjFVuXLsCjR8JP587ilVtCNWoIp/ivv6q+rFOnTvH0\nu+9Qu3Zt2Nra4vTp04ptGRkZSE9Px8iRI2FpaYn+/fvjr7/+QmJiotLLv337Ntq3b4+aNWvi0KFD\nMDExKdsBDQyEiqs//hCuHyEhwqqL9+69eY0aj5Vq164doqOjVfK7VgZ3d3ecOXMG2dnZqi1IlNVG\nSgEgmjPnzWN1Urcu0aZNUkdR/nTt2pW+//57qcMo16pXr05btmzJty07O5tCQ0PJx8eHqlWrRrq6\nutStWzfy9/enuLg4pZZ/48YNqlWrFvXq1YuSk5OVemwiIsrJIQoNJfL1FVZffPlS2N64MVFQENHe\nvcJjNTV//nxq166dpDGMHz+ehg4dKmkMYrpx4wbJZDLFgpAFxcTE0NatW8nHx4dcXV1JQ0ODDAwM\nyN3dnXx9fSkwMJCeP39eojI3bdpEOjo6tGPHDmV8hArryBFhjcT4eNWVIZfLycrKiv8v3qN///70\n5ZdfFrrv2rVr5OfnR66urgSAnJ2dydfXl0JDQ0kul5ep3CtXrpCNjQ0NGjSIMjIyynSsEtHTI8rI\nIEpPFx6rEblcTubm5rRnzx6pQynU69evSUtLiy5cuKDSctTs1v4NgMjcnCg6+u0EJCGBqITXC6V6\n8IBIFfdeFV3r1q1p1apVUodRrg0YMICmTp36ztfkXkyKWrG7tE6fPk3m5uY0dOhQcS8kRGp9Mckr\nMjKSNDQ0KCYmRpLys7OzydramrZt2yZJ+VKpV68eBQQEFOu1r169ouDgYPLz86Nu3bqRvr4+aWpq\nkrOzM40bN47Wr19P9+7dK/L9+/btI11dXfrrr7+UFH3F1qgR0ZIlqjt+dHQ0yWQyildlllMBLF++\nnJo3b07Z2dnvfN29e/coICCAPDw8SFtbm2rWrEnjxo2jwMDAEn/vnzlzhszMzOjTTz99b7lK16iR\nWlda9e7dm6ZPny51GEVq3rw5/fTTTyotQ60TkJkzibp2fTsBmTGDyMaGaPNm6WJT19YZdda4cWP6\n888/pQ6jXJs6dSq5ubnR6tWr6cmTJ+99fd6aLQ0NDXJ1dSU/Pz+Kjo4uUbn79+8nQ0NDmjZtWplr\nxEpFzS8meUUMHEgpa9dKUnZISAgZGhpSSkqKJOVLZdCgQWRsbEyurq7k4+NDW7dupcTExGK9Nzk5\nmY4ePUrz58+nHj16UJUqVUgmk9GoUaPeem1ISAjp6+ur/MJckRw5QnT1quqOv3btWqpXrx798ccf\nFBgYqLqCyrlvvvmG7O3tqWrVqjRixAjavn37e1uxnz17Rlu3biVvb28yMTEhQ0ND8vDwoPXr19OL\nFy/e+d7Dhw+ToaEhTZ8+XZprxtGjRNWrCz/Hjolf/nssXLiQ3N3dpQ6jSJMnT6bBgwertAy1vX0G\niF68IDI1ffsmXy4nWr+eqGpVog4diG7cED+2olpnWNEcHR0rXc2sMj148IDMzMzogw8+ICcnJ9LQ\n0CB3d3datmwZ3b17973vv3PnDvn7+5O7uzvJZDJydnYmPz8/unbt2jvft3btWtLW1iZ/f39lfZSS\nU/OLST5z5hB16SJJ0VOmTKGPPvpIkrKlcuLECdLW1qaNGzfSkiVLyMPDg8zMzEhLS4uaN29OPj4+\ntGXLlmK3SmVnZ9PFixfp7Nmz+baHh4eTsbExzZ07VxUfo0IrrNIu77WzONfR169f082bNyk0NJR2\n7NhBP//8M82dO5fc3Nxo1KhR9Pvvv5O+vj6dPn1a+R+gnPvvv/9IR0eHgoKCKDAwkMaNG0c2NjaK\nFvIlS5bQjffcSCUnJ9POnTtp1KhRZGFhQfr6+uTp6VloZceOHTtIV1eXlqiy6aucO3HiBOnq6lJa\nWprUoRRq8+bNZGdnp9Iy1Pb2OfcLafFi4fHOnW+/JjaWyNubSF+fyM9P6KEhVmxFtc6wollZWdH+\n/fulDqNcyszMpJYtW9KHH36o2Hb//v18CYWjoyP5+PgUq9/u9evXadGiRYo+v2PHji30dUuWLCEd\nHR1av369Uj9PhXb5MpGmpmo7vhdCLpdT9erVaePGjaKWK6XMzExq1KhRoX3bC479kMlkZG1tTR4e\nHrRkyRIKDQ2l9PT0YpUTFRVFFhYW9NVXXyn7I1QKhVXaFUxAgoOJvv+e6KuviEaMIOrTh6hlSyJ7\ne6IuXW4QAAJAZmZm5OTkRO7u7tSvXz+aMmUKZWZmEhHRV199RRYWFnTr1i0JPqV6Sk1Npfr169Pk\nyZPzbc/Ozqbw8HDy8/MjZ2fnEo39yM7OppMnTxaaYKxbt450dHRo9erVSv8sFUlqairp6OhQWFiY\n1KEUatGiRdSpUyfFuaUK5eL2OSCASEeHqH9/osJ6nWzaRGRtTdSqFdHVq+/vllJSycnCuI9c72qd\nYUUzNDSkkJAQqcMol7755huqWbNmkYNlHz16lK/frr29Pfn4+FBwcDBlZWW989j37t2jixcv5tuW\nk5NDPj4+ZGBgQEFBQUr7HJWGk5PwxSWi3FrOl7kD9ysBf39/qlatGr169eq9r42Pj6fAwEDy9fUl\nd3d30tHRKdZg9Hv37lG1atVo7Nix0nQlqQAKq7QT5pd887NgAVG3bkTDhxN9+SXR0qVCT4eDB4mu\nXk2lJ0+e5LsZev36NXl6etL169cV23Jycqh///5Uv379Ek8sUFFNnjyZGjVq9N6a9twW8m7dupGW\nlhZZWlqSt7c3BQYGFjtR//HHH0lHR4f+/fdfZYRe4bVq1UotJ+bx9fUlPT09lQ+SLze3z7dvE3Xv\nTmRgIAxoKzie6flzoq++ukm6uro0c+ZMSk1NLXOZGRlEP/8sjDfx9n6zvWDrDHs/uVxOGhoaFB4e\nLnUo5c6RI0dIW1ubTp48WazXP336lNavX08eHh6ko6NDVatWVVxIijOIMDMzkz7++GOysLCg//77\nr6zhV04zZhD16CFqkb6+vtS7d29Ry5RSTEwMValShTaVckrC5ORkCg0NVXTbMjU1fWsw+tmzZ6lO\nnTo0ePBg8QfRViCFVdqVtAtWYSZMmEDVqlWjR48eKbalpqZS69atqUOHDsW+ca6o9u/fTzo6Om9V\nML3P06dPFWM/jI2NycDAgDw8PCggIKDImRV9fX1JX1+f9u7dq4zQK4Uvv/yS+vbtK3UYCjk5OfTZ\nZ59RlSpV6JgIXZ3L3e3z1q1EFhZEbdoQFdZ1/cKFC9S8eXOys7OjnYX12yqG9HQhybG0JKpdWygz\nJ6eMgVdyKSkpBCBfbRV7v8TERKpWrVqp+52/ePFCcSExNDQkU1NT8vLyovXr19Pr16/fen1SUhJ1\n7dqVatSoQVFRUWUNv/I6f55IW5vo6VPRiqxTpw79/vvvopUntWHDhlHXrl2Vdry0tDQ6efIkLVq0\niHr37k0mJiZkZmZG7u7uattPu7worNJOGQlIZmYmde/enZo3b57v+ywxMZHq1KlDQ4YMqbStVk+f\nPiU7OztauHBhmY6TlpZGwcHB5OPjQ9WrV39r3IhcLqfJkyeTsbEx93Aooe3bt5OFhYVa/I1mZmbS\nsGHDyMLCgs6dOydKmeUuASEievaMaNw44fru6yskDHllZWXRkiVLSE9Pjzw8PIo9/Wh2ttBromZN\nIltb4bEKu78x9k5yuZz69OlDnTt3phwlZMCpqakUGBioqNXS19dXzGjy8uVLio+PpxYtWlDjxo0l\nm0a2QnFwIBJpNqwrV66QlpZWsWd+Ku+OHj1Kenp6dPPmTZWVkZ2dTT169KBZs2aprAxWdklJSeTi\n4kJ9+vTJ10p1+fJlqlKlCi374QcJo5PORx99RB06dFDKtSNX7ppT06ZNIycnJ5LJZNSwYUMyNTWl\n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\nWVLW8Etl69atZGNjk29b06ZNadWqVZLEo2pLly6l6tWr02tljKYuQqdOnejjjz9W2fHz8vMjsrcv\n+6w7hbl+/Trp6OjQqVNC3+J//yUyNhb6uSvLkiVE1au/Gdz+5ZdEdetyLa/Ydu/eTbq6uoqbaVXz\n8/OjRo0aqbzC5do1IUlXxZjcvDeMGRkZVL16dQoICFB+QUUAhBaX6GhOQFRFLpdTnz59qF27dirt\nFRAbG0u6uroUHBxM2dnZ5ODgQP7+/iU+zu3bt6lKlSr0999/E5EwDrF27dqijF9VhYJ/4/fvC5MZ\nbd5M9OOPQivnxx8T9ejRj5ydncnCwkIxO5ihoSE1b968zL1TyjvJvxpOnxZqFtVldlUnJyf64483\nA2i3bdtG1tbWEkYkDOzt0qUL1a1bl+6XoYNtTk4OhYeHk5+fH7m6uhIAcnZ2Jl9fXwoNDc13wd2y\nZQvp6upKerMfExNDAOhObmd8Epqdh1bQvjBZWVnUpEkTmjZtmkqOv3//ftLV1RWlxoyIKDVV6GYy\na5byj92nTx9FxUBmZiYNGLCQFi5U7oUsPZ3IyYnohx+E5y9eCN1NCkzuwkQwduxYatiwocpni3v9\n+jWZm5vThg0bVFpOrtzZo+LilHfM3BnDjh07RkRE69evF722FRDOla5dOQFRpfj4eLK2tqaFCxeq\nrIy5c+dSs2bNiIho+/btVLVq1VJPQrN27VoyMTGhu3fvUnp6OjVr1oxGjx6tzHBFU/BvvG1bYUxU\nrVrCtPBeXsKscytWrKW//vqL9u3bR5cuXaKYmBhKSEigGjVq0My8/RcrIcm/GjIzhZk58gxnkNSY\nMWPokzzt4rGxsW/dBIvq1Sv6oFcvatCgwXtbLErq6tWr9N1335GbmxtpaGhQvXr16Ouvv6YFCxaQ\njo4O/aoGU/84ODjkuxn4999/qUaNGhJGpFqhoaGkra2t9C5S2dnZ1LhxY/rqq6+Uetz32bWL6LPP\nlHvM4OBg0tHRUZyTK1asoOrVq7817aMy3LlDVNicC9zFRFzJyclUr149lSXnufz9/almzZqiTZOb\nnS30AlBmXuXr60ut/9+tICcnhxo0aCB6f3tASNhNTfn8ULVt27bRwLZtSX7hgtKPnZycTObm5rRx\nozAbaMuWLct80zxkyBBq2bIlZWZmUlRUFBkYGNCmTZuUEa6oCv6NFzcny60YOHHiBGlpaYm+bpY6\nUYuvhg4diBYtkjoKwbp166hu3br5thW8CRZNYiJRixYUMmgQJSizb0kh4uLi6Pfff6e+fftSnTp1\n1GaA2PDhw2n8+PGK5w8ePCAAKpnpS12MHDmS2rVrl69Fqnv37tStWzfq1q0btW3bllxdXcnV1ZWa\nNm1Kjo6Oih9LS0syMzMjMzOzfAuorVu3jszNzUVdu0UVcnJyqGnTpjRp0iQiInr27BmZmZmJPpiP\nu5iI7/z58ypdCyS3q1JpupcoQ2FJbd6/rXf9nb18+ZJu3LhBBw4coCpVqtD27duJSJiq3cTEpMRj\n/8pK3RYarvDGjs2/MIuS/PLLL2Rvb0+ZmZkUGhpKenp6FFfG5roXL15QzZo1FVPPr169mkxNTcvU\nu0MKpfkbf/z4MRkYGCjW3/r666+pevXq9Cx3oZ5KRkZEJN067IJZs4DLl4F9+6SOBLh58yZGjx6N\no0ePQldXFwDg7e0NQ0NDrFmzRrxAbt8GevQAnJyAHTsAAwPRim7ZsiUGDx6Mr7/+WrQyi7JmzRr8\n8ssvuHr1qmKbvb09fvjhBwwZMkTCyFTn2bNncHJywooVKzBixAgAwNKlSyGXywEA+vr60NPTAwBo\naGjAxMRE8V4jIyNoa2sDAKysrODi4oLU1FTUq1cPU6ZMwbRp00T+NAKZDJgzB1iwQHhM9Obf3P3F\n+Sb6999/8dlnn+H27duwtLTEjBkzsHfvXkREREBTU1O1HyIPmQyYORM4dw44erR4sbOy8/Pzw7p1\n63DlyhWYmZkp9dgbN27E1KlT8eDBAxiI+H2bSyYDzM2BM2eEr/3CzpGFC4HYWODxYyAuDqha9S6O\nHnVGRkYGAEBXVxfm5uYICgqCq6srjhw5guvXr2Py5MmifAYiICQE6NhRiJeJJD0daN0aaNYM+PNP\npRwyJycHdevWxcSJE/H111/jo48+grm5OdauXVvmY4eGhqJr1644fPgwOnXqhEGDBiEuLg7Hjx9/\n63s8LS0NMTExiIuLK/JfXV1dfPHFF4rrpTpbt24dJk+ejPDwcDg4OOCDDwaiceMf4O/vLHVoolOL\nBOTQoSv48suvEBl5GDI1+9YiIgwZMgSXLl1C69at4enpiZ49e8LY2Fh1hUZEAL16Cd/iGzYAOjqq\nK6sQX375Je7fv49du3aJWm5hrl27BhcXFzx9+hTm5uYAgKFDh8LCwgI///yzxNGpzurVqzFv3jzc\nuHGjzDdaixcvRkBAAG7cuKFIXMRWnJsrf3/g1CkgMxNISRG2JyW1hlyejZSUFGRmZkJPTw8dOnTA\n6tWrER8fD0dHR2zcuBH9+/cX/fO8eAE4OAAvX3ICIpbs7Gy0a9cOderUwd9//13oazIzM5GYmIiE\nhATExcUpHsfGxiIxMRGJiYmIjY1FQkIC/vzzT/Ts2RNyuRyNGjWCl5cX5s+fL/KnEhSW1Ba8HHp5\nCXVR1aoBNjaAg8MrmJpegaWlJWxsbGBiYoKpU6ciMDAQly9fhpGRkaifISgI8PYGHjwA8tSLMDFE\nRgKtWgFr1wJKqJzbsWMHxowZg0ePHuHx48do3Lgxrl27hvr16yshWGD27NnYsGEDIiIikJmZCRcX\nF7Rt2xZGRkZ48uQJYmNj8eTJEyQlJQEQkmtbW1vY2dm99W9MTAzmzZuHsLAwtGrVSinxFeXePWDY\nMCA4GCjt6fXhhx/iyZMnOHXqDB480ETz5sDKlcAnnyg3VnWnFgnIy5cvUbVqVURERKBRo0ZSh6Mg\nl8sxceJEbNu2DbNmzUJkZCSCgoKQlJSETp06wdPTE56enqhZs6byCj11CvDwEL5AfvkF0NBQ3rGL\nafv27fjss8+QkJAgeUJIRLCwsMDGjRvRp08fAMCqVauwdu1aXLp0SdLYVEkul6Nt27aoUaMGBg0a\nBAB4/fo1srOzAQjnDBFBLpcrvqCzs7Px+vVrAEBGRgZSU1NBRPjvv/8wb948jB49WpoPg+LdXG3Z\nAly8CGhrv/liNzdfB6JsxWuCg4MRHR2NixcvQlNTE4cOHULPnj1F/zvNTZ6WLBE+l/TfopXHnTt3\n0LRpU/z2228YOnQoAODEiROYOHEi4uPj8fz5c8Vrq1atCisrK1hZWcHGxgZWVlaKm3Vra2u0atUK\nNjY22LdvHwYPHowHDx6gatWqknyuwpLa0rQSZmRkoFWrVmjbti1Wr16t0pgLatUK6N4dWLRI1GJZ\nrpUrhRaQixfLfO/QqlUrdOjQAcuWLcOECRPw6NEj7FNiN5XMzEyMGjUK8+bNQ7169dClSxdkZWWh\nefPmsLGxQbVq1fL9+77z8quvvsK2bdsQERGh9NbRvD77TEhCDh4s/TGePn2KESOOo2lTL3z3HfDH\nH8AXXwj/bfXqKS1UtacWCQgANGrUCJMnT8b48eOlDgUAkJ6ejkGDBiEiIgKHDx+Gk5MTAKFZ8syZ\nM9izZw92796N27dvo0mTJvD09MSwfv3QwNW19G3PBw4IVVxz5gC+vkr8NCUTFxcHW1tbREdHo54a\nnA0ffPABmjZtikX/v6pdunQJLVu2xLNnz/J1P6poLly4gKVLl+L8+fMAgCpVqkBLSwsAYGpqCplM\nBplMBlNTUwCAlpYWqlSpAgDQ0dGBoaEhAKBjx47o0aOHqF2UClLWzVVaWhoaNmyIcePGYcaMGSqN\nmamvNWvWYObMmYiIiIC9vT1iYmJw9OhRWFpawtbWVpFo5HZHfJ8OHTqgSZMmkraqFpbUluYcAYDI\nyEi0bNkSW7Zsgaenp+qCziMkBOjdG7h/H7CyEqVIVhAR8Po1UMYeGmFhYejSpQvu3r0LLS0t1KpV\nCwcOHEDnzp2VFGh+kZGRcHFxKVMldFZWFtq3b//O1tGyiosTrmGBgUC3bkLSMHUqUJo66NBQoEsX\nYM8eoE8foVXl5k2hl0Axv7bKP2mGnrxt3Lhx5O3tLXUYRCRMe9upUydycnKiBw8evPO19+7do4CA\nAPLw8KDLnTsLI1O9vIjWrycqyfzWgYHCpPBqMhrfwcGB1q1bJ3UYRES0aNEi6tixo+J5dnY2ValS\nhQ4fPixdUKxEChuwV9wBtgXt3r2bDAwM6O7du8oLsBjkcmFGL2WstM7KztPTkzp06FCsVdKfP39O\nUVFRFBISQps3b6aVK1fS7NmzacyYMdSzZ0+ytram27dvixC1eH744QeytLQs86Dh4urTh2jCBFGK\nYsVx4gRRjRrCTxGrlufk5NCTJ08oPDycAgMDafXq1TR37lxq164deXh4EJGwHlj79u1VGuqYMWMU\n69aURWRkJJmYmNCePTeUENXb5s4VFrwlItq5k8jEpGS3eQXNmkVkZSVMw/30qTCFr7rMCCsGtWkB\n2bBhA+bPn487d+5IGsfTp0/Ru3dv5OTk4ODBg7AqSVXOkyfA3r1CR9ijR4U0tndv4MMPhX/fVVt/\n4QJw6RIwdmyZP4MyeHt7Q1dXF3/88YfUoSAkJAS9e/fGy5cvofP/8TA9evRA27ZtMW/ePGmDY5Lo\n27cvNDU1RR2n9M8/wOefC/NDWFiIViwrQmJiIho3boxhw4ahRYsW+cZ6JCQkID4+HnFxcUhISEBm\nZiYAYQIHa2tr2NraKrpi2djYYNCgQWjYsKHEn0i55HI5unfvDiMjI+zZs0elZV2+DLRsCURHA46O\nKi2KFZeLC/Ddd2/6v3p6Ao8eAQkJwkwGCQmgrCxoPHsGmUymOC+qVauGtLQ0PHz4EJcuXVK0pKtK\nbGwsHBwcsG/fPnTt2rXMx1u3Lglff22CiAigRg0lBPh/aWlArVrA4sXA6NGAmxvQoQOwdGnpj5mZ\nKdwazp8PtGsnzCUg0TBNSahNAnLnzh3UqVMHT548ga2tLQDg0aNH+Pbbb9G3b1907doV+vr6Ko0h\nJiYGPXr0gLm5Ofbu3Vu27j2pqcIopaAgISl58UIYVD58OJA7U0NIiDBiDwA2bhT2q4k1a9Zg5cqV\nuH79utShIC0tDaampjh58iTc3NwAAPPnz0dYWBiCg4Mljo5J4eHDh3B2dsbmzZvh4eGh8vIyMoD6\n9YX6gVmzVF4cK6b9+/fD398fd+/ehbW1NaysrPJ1wbKzs1OMAbG1tRV9ULbUHj9+DBcXF/zwww8Y\nq8LKrRkzbuH+/drYvFn8MYusCPr6QFKS0C3L1FS4a9bUBCwtAVtbwNoaZGmJmOrVYW1tna+7YlZW\nFtq1a4cGDRrgr7/+UmmYc+bMwf79+3HhwgWlHXPoUCHXOnEC+H+v5TLbuHEjNm8+hZ071+D8eaH7\n1L17woQQqlDYzJEVjrQNMPnZ2toq5i8nIrp16xZ5e3uTubk5GRoa0kcffUR//vmnStbEuHXrFjk4\nOFDv3r0pRdnLsufkEJ05IyybOW/em+2NGxMFBRHt3Ss8ViNXr14lmUym8vVHisvNzY2WLVumeB4c\nHEyGhoaUlZUlYVRMSt9++y3VrFmz1KvylsSyZUJPBl4FnZU3f//9NxkaGlK0ivoOPnz4kHR0dOjs\n2bMqOT4rpUaNynR/cevWLapSpQr9888/KghO8Pr1azI3N1d6GS/+1959x0VxrX0A/wFSLYAo0hSN\nosZYiWABjUZRUbBdEQULvjevco0tFojGGm9yjUZfW2L0Xo01YksE1CAo6pWmBgsxiA2VIk2kIxDY\n5/1jLnsBWRZkd3aB5/v5+GF3Z/acZ3AOM8/MmXOyiKytK59u1UdZWRl169aNNm/eTERE8+atpCVL\nwhRTuAxNYa4ptdqsyZMn02effVbtsvv379O6devoww8/JADUo0cP8vX1pevXr1easO1dxMTEkJmZ\nGU2dOpWKq5v2WFn09IRplouKhNdqRCKRUOvWrcnf31/VoRAR0dKlS2nSpEnS93l5edSsWTOKVsLs\nr6xhKC4upu7du9Oa8tnblOTVK2G22/37lVoNY0ozffp06t+/v1JmeF+4cCGNGDFC4eWyerp8mcjK\nSvj3n9m362rfvn1kaGhIz549U2xs/7Fr1y6ytrZWyoXE4GAiXV2imJj6lxUQECCd0DM2NpY0NTXp\n3r179S+4BoBwzXrECE5ARLF161aytbWl0tLSGter+OC3trY2WVtb09y5cykgIKDOCURkZCQZGxvT\n//7v/8qtV+HqeYVC2ZydncnHx0fVYRAR0ZkzZ8jU1LTSZ7a2trRz504VRcTUQUhICOnq6lJcnHIe\nOiQiWrVKQu+/T8Q321hDlZWVRR06dKANGzYotNz09HQyMDCgixcvKrRcpj7c3d3JwcFB4edHpaWl\n1KlTJ9q2bZtCy63o0iUiRYQ9ZMgQWr58OREReXt706hRo+pfqByAcCfHyIgTEFGsWrWKOnToQCYm\nJjRr1iw6ffq03O4VmZmZdPLkSZo5cyYZGhpS8+bNycXFhQ4dOkRZWVk1fjc4OJiaN29OPj4+9b6L\n8k4UcIVCmf7+97+Tg4ODqsMgIqLU1FQCQI8ePZJ+tnDhQnJ3d1dhVEwduLu7k5OTk1LKTkhIoA4d\n7OnXX8UZSYgxZbl27Rrp6OhQZGSkwspcs2YN2draKqw8pn7Kk9cvv/xSoeWeOnWKjIyMKLc+w0jV\nEkBUfqO8NqMwFhUVUUJCAkVGRtK3335L2tra9Pz5c0pPTyd9fX0KCQkRJWaiyiNHNjZqs1k3btwg\nHR0dCgwMpICAAJo7dy6ZmZmRlpYWOTg40KZNm+Re5czPz6eff/6ZvLy8qE2bNqSvr0+urq7VPtNx\n5swZ0tXVpU2bNilrkxq8q1evkq6uLr1580bVoRAR0S+//EI5OTnS935+fmRhYaHCiJg6SElJIUND\nQzpx4oTCy/b09KSRI0cqvFzGVOGzzz6jzp07K+SkLzc3l4yNjen48eMKiIyps2vXrpGuri6Fh4cr\nrEw7Ozvy9fVVWHk1qe55iqoJiJcX0QcfEJmYEA0e/IIAkJaWFpmampKZmRklJCRQZmYmbd26VakX\nrKOims7ddrUYBevNmzewtbWFk5MTdu7cKf28rKwMd+/eRWBgIE6dOoXY2Fj06NEDrq6ucHFxgYOD\ng8wZkMvKyhAREYGIiAj4VpnU78cff4S3tzd27NgBb29vpW5bQ1Y++lRoaCgcHBxUHc5bvv76a4SE\nhCA4OLjWE46xxmnbtm3YsmUL4uLipKPX+fj44Pnz55Vmiy8pKUFBQQEAoKCgQDo8a05ODiQSCTp3\n7iyd+DE6OhoDBgxAdHQ0+vTpo4KtYkyxymdJHzRoEH744Yca183JyUFKSgoyMjKQmpqK1NRU6eu0\ntDTEx8ejuLgYf/zxB//9bQJWrlyJEydO4O7du2glY6LDwsJCJCUlITU1FUlJSUhLS0NiYqL0/ddf\nfw1HR0eEhYVhxIgRePbsGSwsLJQee/lIxDdvCjMklE/yWdGRI0BpqTCJppXVG5ia5sDU1BSampqY\nPn06nj59ivDwcKXu6xkZwqSGv/wCjB6ttGrUhlokIIsWLcKVK1dw69Yt6NUwCHJ8fDwCAwNx7tw5\nXL16FcbGxhgzZgzc3NwwatQo6Orqyq1r+/bt8PX1xcGDBzF9+nRFbkajNGDAAPzlL3+Bj4+PqkOp\n5PPPP8eOHTtw4sQJjB8/XtXhMBUrLS2FnZ0dRowYgW+//RYAsGvXLiQnJ1eaLb7iDPEGBgbSvxmG\nhobQ1NSEvr6+NNkePnw4LC0tlTarLmOqEB0djcGDB8PHxwdt27ZFRkYGXr58ifT0dOk8KhkZGSgq\nKgIA6OnpwdTUFBYWFmjbtq10SOPc3Fzs3bsXCQkJdZsvizVIpaWlcHR0hI2NDY4cOQIAOHv2LHbv\n3o2UlBQkJydLL/To6+vDwsJCOq+Iubk5rKysMGHCBHTp0gWTJk2CkZERfvzxR1Fi19AQZkLo1AnI\nzv5vAlJ+9itvmNvs7Gz07dsXXl5eSp17bO1aYdaG27eVVoVaUXkC8uuvv2LixImIiopCv379av29\nzMxMhIaGIjAwEP7+/igtLcXHH38MV1dXTJgwAe3atXvrO59//jl27tyJU6dOYdy4cYrcjEZr6dKl\nePr0qdInsqotiUSCBQsW4OjRo/D398fw4cNVHRJTE+Hh4Rg+fDhu3bpV7zsWv/76KyZNmoS4uDh0\n7NhRMQEypiZmzZqFsLAwmJmZwdTUFO3atYOZmRnatm0Lc3NztGvXTvpa1tVuALC3t8fYsWN5Qtgm\n4unTp+jXrx/27NkDT09PREVFITQ0VJpkWFpawsLCAsbGxjLLePDgAXr27Il79+6hZ8+eosRdnmBs\n2iTcCalrAgJAetfm4sWLGDZsmMJjLCgAOnQAdu4EPD0VXrxaUmkCkpmZid69e2P+/Pn4oh6zexUV\nFSEsLAyBgYH4+eefkZKSgoEDB8LV1RUTJ05E165dsXjxYhw6dAiBgYEYOnSoAreicTtz5gy8vb2R\nnp4us7ubWP788094eXkhODgYFy5cgJ2dnUrjYernf/7nf3Dv3j34+vpCQ0MDhYWFKC4uBgDk5eWh\ntLQUgHBFi4Rn4JCdnQ1AuMKXl5cHAHj48CEGDhyIvXv3qmQ7GFMmOzs7eHp6YsmSJbX+TklJiXSG\neR0dHfTq1QuHDh2Cj48PEhISatUDgTV8Bw4cwNKlS3Hnzh106tQJgHBhMDU1FSkpKXj58iWysrKk\nr6v+LCoqwvLly7GlPlOIq8jq1atx+PBh3Lt3r8Yk6118/z2weTPw5IniJk9UdypNQCZPnozMzExc\nuXIFmpqKmUG1rKwMkZGRCAgIQEBAAB49eoQePXogOTkZ58+fx+DBgxVST1ORlpYGMzMzPHjwAN27\nd1dZHG/evMHUqVNx584dBAcHo0ePHiqLhamv27dv4y9/+Qs0NDSgoaFRqZtVixYtpP13y7tcVeye\npaWlJb3a+/PPP2PatGn48ssvVbIdjClLfn4+jI2NERERATs7Ozx58gRpaWnS5zvS09MrPeuRkZGB\ntLQ0ZGVlScuYMmUKTp06heLiYlhbW2Pr1q3wbCqXbRkmTpyI1NRU6OnpSbvtlV/IMTAwgIWFBczM\nzGBpaVntz65du6JZAzzLLi0txdChQ2FpaYlTp04prFyJRIJJk1Lh6GiOFStUe6FXTCpLQM6efQFv\n74G4du0qunXrprR6Hj16hEmTJmHy5MnYuHGj0uppzLp06YKVK1fir3/9q0rqz83Nxfjx45GcnIyQ\nkBDuEsNk2r17N/bt24eYmJh6lbNr1y589913iIuLU1BkjKmH0NBQTJgwAVlZWWjWrBmsrKwgkUhg\nbGws7bdf02t9ff1K5a1ZswYhISGIiopS0RYxsWVnZyMoKAiJiYkwNzeX7h8WFhbSQUAaq/j4ePTr\n1w+7du3CrFmzFFJmYGAgZsyYgYSEhEb/+6tIJQlIUhLQuzewaVMx5s5V/m3b4cOHY+zYsVixYoXS\n62qMZs+eDS0tLRw4cED0ujMyMuDs7IzS0lIEBQXBzMxM9BhYwzF69Gj0798fX331Vb3KSU9Ph6Wl\nJW7evFmnZ9MYU3cbN27ElStXEBoaCkDomtiyZct3Li8hIQF2ds64ePEq+vZtq6gwGVNbhw8fxqef\nforo6Gh07dpV7vqvXr1CWloaUlJSkJKSgtTUVFhbW2Pq1KkAAEdHRzg4OOCbb75RduhqRfR7YGVl\nwLRpwIgRECX5AABtbW1p329Wdw4ODti6davo9SYlJWHUqFEwNjZGSEiIwvtcssYlLy8PV69exYYN\nG+pdlqmpKYYPH47jx49zAsIalfDw8ErDqtcn+QCADh064KOP7mPHDg2INKjRW86dO4dRo0ZBR0dH\nNQGwJmXWrFm4ePEiPD09ERERAW1tbeTk5GD79u1IS0tDcnIy0tPTpT/Ln0Ns2bIlLC0tYWpqKh0I\nKTIyErdu3cKJEydUuUkqoZgHL+pg82bg6VNgzx7x6tTW1saff/4pXoWNjKOjIx4/foz79++LVufj\nx4/h6OiIDh06IDg4mJMPJldwcDBat24Ne3t7hZQ3ffp0+Pn5QSKRKKQ8xlRNIgEyM60wePAQhZa7\ncKEGfvoJSEtTaLG1sn//fri5ueHu3bviV86arO+//x6vXr2SPieoqamJmzdv4s2bN+jVqxc8PDyw\nbds2XLp0CU+ePEFBQQFyc3Px4MEDXLt2TTq1wbZt2+Du7g5LS0tVbo5KiNoF6+ZNwNERCAgAxowR\nq1ZgwoQJ6NOnDz9Q+o4kEgkWL16M77//HnZ2dhg/fjxcXV3Rq1cvpdR37949jB49GkOHDsXRo0f5\nqharFS8vL2hqaiqsq2Bubi7MzMwQFBTEI+exRiEmBrC1BV6/BmoYXfed9O8PTJwIrF6t2HJr8uOP\nP2L+/PkICAiAk5OTeBUzBuFu4scff4ygoCCZUwIUFBRIJ2Ws+jMxMRGPHz/GmTNnMGjQIJGjVz3R\numAVFgKzZwNz5oibfAB8B6S+NDU1sWvXLqxYsQJBQUEIDAzEl19+iVatWmHMmDFwdXWFs7MzWrRo\nUe+6IiIiMG7cOLi5uWHPnj3Q0tJSwBawxk4iAV6+bAZv7wkKK7NVq1aYM+cCzp61BecfrDGIiAB6\n9FB88gEA3t7AunWAry8gxsTo586dw/z583Hs2DFOPphKODg4YOnSpfDy8sLf/vY36WSeiYmJ0p8F\nBQUAKk/OWP6zR48eiI2NxaNHj5pkAiLaHZAFC4CQEGGGx/9MRCya6dOnw9LSUjpDMqu/wsJCXL58\nGefOnYO/vz9yc3Ph4OAAFxcXuLm5wcLCos5lBgcHY/LkyZg/fz6++eYblc87whqOiAjhubJXrxT7\n9+XUKWD+fODlS3FOqhhTplmzAAMD4IcfFF/2mzdA+/ZC92o3N8WXX9HVq1cxduxYbNu2Dd7e3sqt\njLEaFBcXo1u3bjAxMYGNjU21ww5bWFhIh3uv6quvvoKfnx9iYmKa3DmPKAlIaCgwerTwc4hiu57W\nysyZM2FiYoLt27eLX3kTUD73yrlz5xAQEICHDx+iX79+cHFxgaurKz788EO5ZZw+fRozZszAhg0b\n4OvrK0LUrDFZtUq4uBEUpNhyi4oAMzPgp5+AsWMVWzZjYuvcWbhLoaDRQ9+ydKkwyuXJk8opHwB+\n++03jBgxAr6+vli1apXyKmKsFmJiYtCvXz9kZWVJ55Gqi9evX6N9+/YICAjAiBEjlBCh+hLlIXRb\nW+DIEdUkHwB3wVI2LS0tODo6YtOmTYiNjcXjx48xc+ZMhIeHY+DAgXjvvfcwb948BAYGoqSk5K3v\nHzhwAB4eHti+fTsnH+ydnDsH/GdQEYXS0wMmTACOH1d82YyJKSUFiI8HKgyApXDr1wPHjimv/NjY\nWDg7O8Pb25uTD6YWoqKi8P77779T8gEArVu3hqenJ3bs2KHgyNSf0hIQDQ1g7VrhtbGxMPRuxbtL\nYt5psrDwgbHxIvEqbOLee+89LF68GCEhIUhNTcU333yDN2/eYMaMGTAzM8PUqVNx+PBhZGdnY9u2\nbfjb3/6Gw4cP86109k6ePwfu3wfGj1dO+dOnA7/8AvynKy9jDVJkpHA3r3Nn5dXRqpXQVbHi8V9R\nx/rnz59j1KhRmDx5MjZt2qSYQhmrpxs3bmDgwIH1KuPTTz9FXNwzPHtWpKCoGgal3gH57jvg0SNl\n1lA7WVnd8fKl8mZbZ7KZmJjAzc0Nhw8fRlJSEvbt2wd9fX0sW7YMFhYW2LhxI/z8/DBt2jRVh8oa\nqPPngQ8+AKytlVP+yJFAixbCXRbGGqpu3YRh8MWiyON/amoqnJyc4OjoiD179jS5vvJMfUVGRtY7\nAenTpw+srH7Hzp16CoqqZk+ePIGPjw/KyspEqU8WpSYg8+YJD3BWpKEh7t0PQLgiwz2wVK9ly5aY\nMmUKDh06hNTUVFy6dAkvXrzApEmTVB0aa8DOnwdcXJRXfrNmwOefA4aGyquDMWXS0ABOnABmzhTv\n+Fvx+H/unDD077vIysrCqFGjYGNjgyNHjkBTU/TpyxirVk5OGQwNu2HAgPr3a1y2DPjXv4Ds7PrH\nVZMXL15g2LBhyMrKUnlbUtpD6BoaQFYW0KmT8AslEj4rr63ia2VbvhxITuZ+3Iw1Rk+fArq6gJWV\nqiNhTD1paACtWwvdsLp1U/6xt+rxv1UrID8feP994VlQBwfhp7y7lvn5+XBycoK2tjaCgoJgYGCg\n3MAZq4OLFwF3dyG5ru+5PJEwRPYnnwjJiDJkZmZi6NCheP/993HixAmVT3Og1PTHyEgYE1zV+A4I\nY42ThgZw6JCQfCj7yq4y+rUzJpbqeiSUlQnPTv30U/2Tkvj4yu8rHv9fvwbu3BGG4y8sBL78EujY\nEXB2/hXu7u7YsWMHbty4UWmwmOLiYkyaNAklJSUIDAzk5IOpnagowN6+/skHIBxTFiwAdu0CSkvr\nX15V+fn5GDt2LNq0aYMjR46oPPkARJwHRCJRzH/Su1izBvj9d+DsWdXUzxhTDjGv7Ip9FZkxRamu\nRwIgJCB79wqzl/fpA+zeLTxPVRdlZcDixcCZM0ISoq9fu+9lZADR0TEIDT2K8PBw/Pbbb9DS0sKH\nH36IwYMHIzY2Fvfv30dYWBgsLS3rFhRjInB2FhKQDRsUU15enlCevz/QtatiygSAkpISjBs3Dq9e\nvcK1a9feecQuRRMlJXjxQri1VPUKiViaNeM7IIw1VtVd2b1/Hzh6VLl1HTsmnHTl5Sm+HsYUreId\nif/7PyA8HNDSEvbnuDghObG1Fbos5+XVbjSe3FxgzBggMFCYaLi2yQcAtG0LjBnTG5s3b0Z4eDiy\ns7MRFBSEMWPG4O7du4iJicHBgwc5+WBqSSIR7oAocgLzli2BBw8Um3xIJBLMmTMHT58+xfnz59Um\n+QBESkCsrYH+/YXx9AsLxaixMm1t5dzSYoypno8PEB1d+bMXL4BFi4CpU4HMzHcvu7hYdl0PHgi3\nzNu2FSZa3b1bGBKYMXVTfsfj88+F12lpwMcfA7NnA6mpgKkpcOAAcOUK8OJFMt5/vwv8/PxqLDMp\nCXB0FO6sREUBPXvWL0Z9fX0MHToUX3zxBS5evIgWLVrgzp079SuUMSV59EhIwOs5AFa1FNndd/Hi\nxbh8+TJCQkJgYWFR/+AUSLROUT/8ICQBixeLVeN/8TMgjDVeFa/slk+CNm6ccFW3pER48PWXX+pe\nbny8cHXrwIHq6/r734XBLf79b+G2+f79wlXk3r2BtWs3ISIiQuXDHDJWnU2bgNhY4dmMzp2FCQSL\ni4HBg4GTJy3w9ddfY/HixbCzs8PNmzff+v7jx8CwYUC7dsDly4C5ueJjnDBhAgICAhRfMGMK0Lmz\ncIwxMlJO+YoYxnrLli04dOgQzp07h87KnADoXZGIYmKIDAyIDh4Us1ai/fuJ3N3FrZMxJq7AQCJD\nQ6IpU4gyMoTPJBKiHTuEvzurV5+h/Pz8WpV1/DhRixbC343c3NrHkJBA9K9/5dHYsWNJT0+P2rZt\nS7Nnz6ZTp05RTk5O3TeKMSU7eZKofXuinj2Jrl9Pk36emppKs2fPJh0dHdq+fbv087CwMOrbdyDN\nn59FJSXKiysyMpKaNWtGr1+/Vl4ljL0jgGjNmv++VnTZK1cSjRghvD56lGjvXuEcurS0dmXs37+f\n9PT0KDQ0VLHBKZCoCQgR0b59RM2bE/3xh+LKLCsjCg0lWrVKcWUyxhqe1FQiFxciIyPhj3a5uLgc\n+vDDD6lz5850/fp1md8vLiaaO5dIV1f4g18fBQUFdPbsWfrkk0/I3NycdHR0aPHixfUrlDElyM8n\nWreumIyMLGn69OmUlJQkXXb9+nWKiIggIqK9e/e+lZAoS1lZGZmZmdHRig2ZMTUBELVuTfTwoXIS\nkKws4TgGEK1fT2RjI7xu1Ypo5Egh+QkKCqPMzMy3vv/zzz+TtrY2+fn5KTYwBRM9ASEimjWL6IMP\nhD969REVRbRkCZGFBZG+PtHUqUR5eW+vp8xMlTGmXiQSIXlo3pzIzY2o/O9zWVkZbd++nXR1dWnu\n3LmUV+WPRUpKGQ0bRmRlRVRDjvKOMUno1q1bdO3aNcUWzJgCJSYm0pQpU0hfX5/WrVtHb968ISJh\n/120aBHp6+vT6dOnRYvnk08+oalTp4pWH2O1VfUuBRFRSgpRnz5Ep07VvbyYmP8eq8rL+8c/Kp+z\npqcTBQQIF9tHjSojIyMT0tDQoO7du9Ps2bPphx9+oMOHD5O+vj59//339do+MYg2DG9FBQVCn+k+\nfYTxx+siNrYQP/1kAD8/ICEBGDUKmDZNeMC9Zcvqv8PDZzLW9Ny7J8z8bGW1GStXDsKQIUMAAFFR\nUZg5cyaGDh2K/fv3AwCuXLmCuXO9YW9/Edu3d0TbtqqMnDHVCgwMxKJFi6CpqYmNGzfC398foaGh\nCAgIwCBFDvtTizg8PDzw6tUr6OrqilYvY/JUN7S1RCKMvrhsmTDPzc6dtRsl68oVYNIkYTjs5cvr\nFsfLly8RHR2N6OhohIeH49mzZ7C3t8dPdT25VgVVZT537hCNHBlJR48ek7tuXFwcbdiwgT744APq\n338lffQR0Q8/EL16Jfs7hYVC1yyi6jNVxljjV1RUQsuWLaNmzZrRihUrqKioiIiI8vPz6eXLl1RS\nUkKLFi2SdiuRSCQqjpgx9ZCbm0ufffYZtWrVijp06EB3794VPYbCwkJq3rw5BQUFiV43YzWpepdi\nzBiiuDjhs6QkomnTiIyNJbRkyRf0qoaT1X37iLS1iRTVq3HZsmXk6uqqmMKUTKWn48eOHSM9PT26\nc+fOW8uuX79OixYtoo4dO5K2tja5uLjQoUOHanwgrbiY6Nw5ohkziFq2JLp0Sfi8an86xljTcuPG\nDerWrRu999570mdAkpOTaejQoWRubk7//ve/VRwhY+opOztbmrirwsSJE2n+/Pkqq58xeTIziRYt\nEhKJmTP/OwjK9etPqFevXtS6dWvavXs3/fnnn5W+t26d8PjAu3TZkiUsLIx0dXUpty6jp6iIyk/H\n58yZQzY2NpVGiPn0008JANnb29O3335LL168kPn94mJhFA8XF+E/sl07YUe4fr3yHRCit/vTMcaa\njtzcXPrrX/9KOjo6NG/ePLKysqKBAwdSQkKCqkNjjMlw4MABsrS05LuTTO2FhRH160dkbk50/HgB\nSSQS+vPPP2n37t3UunVrGjBgAJWVlVFZWRmtWOFDQ4acJ0Xf3CsrKyNzc3M6efKkYgtWApU8A1JR\nUVERBg0ahK5du+LEiRMAgJiYGLRs2RKdOnWq9jtEQEQE4OcHnD4tTAbj6gq4uwPOzoCenphbwBhr\nSAIDA3H06FGYm5tj8+bN0NHRUXVIjDEZMjIyYG5ujps3b8LW1lbV4TBWo7Iy4F//Avz8NqKo6AJ2\n7NgBe3t7ZGZmIioqCsOHD4eHhwdu376NoKAg9OjRQ+ExeHt7Izc3V+2fA1F5AgIAjx8/Rv/+/bF5\n82bMmzev2nWICJcvX8bhw4fx669BMDFJgr29DtzchAfR+fk0xhhjrPFxdHTEyJEjsX79elWHwlit\nFBQUYMuWLdi0aROcnJywc+dONG/eHC4uLigpKcGFCxeUNjP5xYsX4e7ujvT0dLW+wCbaTOg1sbGx\nwb59+7BkyRLcvn270rI//vgDa9euRbdu3eDs7Iy0tDRs3vwNoqJKcPiwcOeDkw/GGGOscRo/fjz8\n/f1VHQZjtda8eXOsX78eUVFRyMnJQe/evTFgwABoaGggJCREackHAHz88cfQ1NREaGio0upQBLW4\nA1Ju3rx5uHz5Mg4cOIAzZ87A398fL1++xOjRo+Hm5oYJEybA0NBQ1WEyxhhjTCQPHz5E9+7d8ezZ\nM3Ts2FHV4TBWJ0SE48ePQ0tLCy4uLmjevLnS6/T09ESLFi2wd+9epdf1rtQqASksLISTkxN+++03\n9O3bF9OmTYObmxusrKxUHRpjjDHGVKR79+5YsGABFixYoOpQGFN7p0+fxoIFC5CcnAwtLS1Vh1Mt\ntUpAyqWnp8PU1FTVYTDGGGNMDfj4+ODu3bsIDg5WdSiMqb38/HyYmpoiODgYjo6Oqg6nWmrxDEhV\nnHwwxhhjrNzkyZNhY2Oj6jAYaxBatGgBJycn/PLLL6oORSa1vAPCGGOMMcYYezcHDx7Ehg0b8OzZ\nM1WHUi1OQBhjjDHGGGtEMjMzYWZmht9++w19+vRRdThvUcsuWIwxxhhjjLF3Y2JigiFDhqhtN6xm\nqg6AMcYYY4wxplgLFy5EUVGRqsOoFnfBYowxxhhjjImGu2AxxhhjjDHGRMMJCGOMMcYYY0w0nIAw\nxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRMMJCGOMMcYY\nY0w0nIAwxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRMMJ\nCGOMMcYYY0w0nIAwxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhj\njDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRMMJCGOMMcYYY0w0\nnIAwxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRMMJCGOMMcYYY0w0nIAwxhhjjDHGRNPoExAN\nDQ2Z/yquU/H1gAEDqi2nogsXLqBv377Q1dVFly5dcPDgQekyIoKvry+MjY3RunVrrFy5EkRU6bsf\nffQR9PT0YGFhAS8vL6SlpUmXx8fHw9XVFcbGxjA2Noarqyvi4+Or3SZ5PvrooxrXq255Tb+r2sTH\nGg51bB+12b/v3buH0aNHo0WLFrC0tMSBAweqXU/e/l2d7OxszJ49GyYmJmjbti3Wr19faXlQUBBG\njBgBfX19WFhY4JNPPkFmZma15de2nTL11BTbh7z9X97xS1758raPNRwNtX2Uq27/rMv5V/k/Q0PD\nSrHXp300peNHo09AiOitfxs2bMAXX3wh8zvGxsY4ceKEzOX37t2Dl5cX1q9fj8zMTFy8eBHXrl2T\nLt+3bx8uXbqE27dvIzo6GsHBwdi/f790+bfffoslS5YgNTUVDx8+xHvvvQcPDw/p8hkzZqBPnz54\n9uwZnj17hl69emHGjBlvbZM8hw4dQmlp6Tstr/o7q0hefKzhUMf2IW//fvToEVxdXTFr1iwkJiYi\nMjISly5dems9Wfu3vPI/++wzlJSUIDY2Fvfv38eDBw/w448/Spdv27YNy5cvR0ZGBu7evYtmzZph\n9uzZ1dZR27bK1FNTbB/y9n95xy955cvbPtZwNMT2UU7W/lnb86/yf6dPn8bcuXOly+vbPqqro9Gi\nJubYsWPk7u5OEolE+lnFXwMA+v3338nGxoaKi4urXcfNzY327Nkjs45BgwbRhQsXpO8vXLhADg4O\nMtfPy8sjAwMD6XsDAwPKzc2Vvs/Jyam0vLqYqnr9+jV16NCB4uLiql2vpuXydovaxscaHnVqH7L2\nw+nTp9Pu3btr3A55+39N5ZuYmFBaWpr0fWpqKjk6OsqsKzc3l1q1aiW3XNbwNYX2Udf9v+rxS175\ndT0+soajIbQPopr3z7qe39jb21NSUpLM5XVtH03p+NF0tpSIwsLCaNiwYfTmzZtKn1dtIEREc+fO\npW3btlW7TseOHSkhIUFmPa1ataKMjAzp+/T0dDIyMqp23fz8fPrHP/5B48aNk342ZcoUWrt2LWVn\nZ1NWVhatXr2apkyZ8tZ3a9pR582bR1u2bJG5Xk3LAVCbNm3IwMCAevbsSTt27KDS0tI6x8caFnVr\nH7L273bt2tGaNWvI3NycWrduTbNmzaKsrKxK68jb/2v63MTEhNLT06Xv09LSZLZfIqKzZ8/SkCFD\nKpVbU/thDVNTaR912f+rO37JK78ux0fWcDSU9kFU8/5Zl/Mbf39/mjNnjsx63qV9NKXjR5NJQJ48\neUJ2dnaVruyUq66BpKamkrW1tfQPd8V1dHV1qaioSGZdmpqaVFJSIn1fUlJCWlpa1dYLgExNTenx\n48fSz5OSksja2lq63NrampKTk2uMu6KoqCgaPHgwlZWVVbuevOXlioqK6NatW+Tg4EBLliypc3ys\n4VDX9lEdLS0tmjFjBqWlpVFaWhpNmzaNvLy8pMtru3/L+nzmzJnk6ekpLd/Dw4OaNWtW7bq3b98m\nKysrunPnzlvLZLUf1vA0pfZR2/1f1vFLXvm13T7WcDSk9iFv/6zL+Y29vT3FxsZWu+xd20e5pnD8\naBIJyOvXr2nAgAE17ijVvf7qq69o+fLlb33esWNHSkxMlFlfXa7w5OTk0Lp16ypdQR05ciStXLmS\nsrKyKCsri1auXEkjR46sMe6KBg0aRA8ePJC5nrzlVb148aJS/LWNjzUM6to+ZO2XrVq1eusKbZs2\nbaTva7t/y/o8MzOTPDw8yNjYmNq1a0dfffUVmZmZvbXelStXyMrKiq5du1ZtOeWqth/WsDS19lHb\n/Z+o+uOXvPL5Dkjj0tDah7z9s7bnNxcuXCBXV1eZcRK9W/uoqjEfPxp9AlJSUkJOTk4UEhIicx1Z\nDaSwsJBsbGzo+fPnb/VR3Lt3r8zy6trHNScnh5o3by59r6+vX69nQMoz76r/aru8qsTERGrXrl2d\n42PqT53bh6x90tHR8a0+6hVPsGq7f9e2r+13331HHh4elT7z8/MjCwsLunHjhtzvV20/rOFoyu2j\nXHX7f0VVj1/yyudnQBqPhtg+5O2ftT2/GTRoEIWFhcmMs+L369I+qmrMx49Gn4B4eXnRvn37alxH\nVgMhIjp69Ch5eHhU+vzu3bvUrl07Onv2LOXl5dGTJ08q9QPcs2cP2draUnx8PMXHx5OtrS3985//\nlC6fOXMmxcbGUklJCSUkJNCCBQsq9REcNGgQrV69WpqBr1q1qs4PWdVlvarLp02bRr///jsVFxdT\nbGwsjRw5khYuXFjn+Jj6U8f2Iauucvv376/URWTatGk19sOt6x0QT09PSkxMpKysLDp+/Di1b9+e\n4uLipMu3bt1KHTp0kHnFT177YQ1HU2wf8vZ/eccveeXXdvuY+muI7UPeerU5vwkJCaHBgwdXW159\n20dTOn40+gREVrYpq1FU3RkkEgnZ29u/9fn58+epT58+pKOjQ126dKGDBw9W+s6KFSvIyMiIjIyM\nyNfXt9KoECdPnqTevXuTjo4OtW/fnubNm0eZmZnS5Y8ePaIxY8aQoaEhGRoakrOzMz158qTGbZL3\nO6jL8vL4dHV1qXPnzvTFF19UerBMXnys4VDH9lGb/Xvt2rXUpk0bMjY2ppkzZ771kG3VbZS3zRXt\n37+fLCwsyMDAgJycnOj27du1+p3l5eURkfz2wxqOptg+5O3/8o5f8sqXt32s4Wio7aPqNlRUm/Ob\noUOH0tmzZ6str77toykdPzSIiMAYY4wxxhhjImj0ExEyxhhjjDHG1AcnIIwxxhhjjDHRcALCGGOM\nMcYYEw0nIIwxxhhjjDHRcALCGGOMMcYYEw0nIIwxxhhjjDHR/D8aF+4mMucWugAAAABJRU5ErkJg\ngg==\n", "text/plain": [ "" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image('/tmp/cdk2_molgrid.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These would of course look better if the common core were aligned. This\n", "is easy enough to do:" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "14\n" ] } ], "source": [ "p = Chem.MolFromSmiles('[nH]1cnc2cncnc21')\n", "subms = [x for x in ms if x.HasSubstructMatch(p)]\n", "print len(subms)\n", "AllChem.Compute2DCoords(p)\n", "for m in subms: \n", " AllChem.GenerateDepictionMatching2DStructure(m,p)\n", "img=Draw.MolsToGridImage(subms,molsPerRow=4,subImgSize=(200,200),legends=[x.GetProp(\"_Name\") for x in subms], useSVG=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result looks like this:" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nyeJ//fUXAgICcPPmTSgUCpw+fRrdu3eHj48PSpUqpZYYKTlx4gT69esHf39/FC1aNHaM/sqVK3kP\nHQnY2trCw8MDQUFBSTz6KdGRqlWB8+eF76Uu0qOiotC6detE+zilVe7cuTF79mwMGDAA48ePR1hY\nGLZt26bWHJcvX47r16/jzJkzuHv3Lrp06YLw8PBEc5b/rV4dVkn18F24IGzEJ/d8ZCnGeX34QJQn\nD9GxY1JE+z0XLlwgAwMDevbsmdypMJZhN2/eJH19ffLy8pI7FZ3WtGlT6t69u9xpxIqJiaHq1avT\n6My8/qVIxFjTX/UJbG+vGXNAfvz4QUWLFqUVK1aotd0PHz5Qnjx56OjRo7HHWrVqJcm58/PnTypd\nujQtWLAg9tjo0aOpevXqvN+XBO7evUt6enp0796933q91HOJly1bRiVLlqSwsLDfev3cuXOpTJky\nFB4eTg8fPiQ9PT1yd3dXW35v376lXLly0fHjx4mIqHHjxtSnT5/fa0zm+ciS/clbskTY9iI0VKqI\naRcZGUnly5fntfSZTunatSu1bt1a7jR0lpOTE+XMmZNev34tdyrx3L59m/T09Ojx48dyp6IzklrT\nf/HixbRq1Sq1tP/qFdGRI2ppKkPmzJkj2mRxe3t7Kl68OIX+/yLAx8eH9PX1ycXFRe2x4lqyZAmV\nKlWKfv78SUREjx8/Jj09Pbp9+7aocZmw90vdunWpf//+RCT8zfT19U1XG1IW6W/fvqXcuXPT4cOH\nf7sN1SbXS5cuJSKiQYMGUe3atUmpVKolx379+lGjRo2IiOj48eOUK1cuevPmze81dvkyUbFiwteV\nK2rJLz0kK0AiIojKlSOaP1+qiGn3999/y7qCDWNieP78OWXPnp3OnTsndyo6Jzw8nP7880+aO3eu\n3KkkqUePHtSkSRO509AZa9asoSJFilBISAgR/drx/uLFi2pp//JlYSNRPz+1NPdbXrx4QYaGhqKt\nWBQREUHlypWL1xMxZswYsra2Fq0nQnW3OG7PS5MmTahHjx6ixGPxHTlyhPLkyUMfPnyg9+/fU+7c\nuenAgQO/1dbHj0S/2YmSZgMGDKCGDRtmuJ3Dhw9T7ty56d27d/Tx40fKmzcvHTp0KMPturm5kZ6e\nHnl4eMT27C1cuDDD7ZJSSXT+fMbbSSdJO33/+YfI0JDo5Uspo6bs8+fPZGxsTDt37pQ7FcbUbsaM\n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\n", "text/plain": [ "" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "img" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Substructure Searching\n", "\n", "Substructure matching can be done using query molecules built from\n", "SMARTS:" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('c1ccccc1O')\n", "patt = Chem.MolFromSmarts('ccO')\n", "m.HasSubstructMatch(patt)" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0, 5, 6)" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.GetSubstructMatch(patt)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Those are the atom indices in `m`, ordered as `patt`'s atoms. To get all\n", "of the matches:" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "((0, 5, 6), (4, 5, 6))" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.GetSubstructMatches(patt)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This can be used to easily filter lists of molecules:" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "22" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "suppl = Chem.SDMolSupplier('data/actives_5ht3.sdf')\n", "patt = Chem.MolFromSmarts('c[NH1]')\n", "matches = []\n", "for mol in suppl:\n", " if mol.HasSubstructMatch(patt):\n", " matches.append(mol)\n", "len(matches)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can write the same thing more compactly using Python's list\n", "comprehension syntax:" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "22" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "matches = [x for x in suppl if x.HasSubstructMatch(patt)]\n", "len(matches)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Substructure matching can also be done using molecules built from SMILES\n", "instead of SMARTS:" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "True\n" ] } ], "source": [ "m = Chem.MolFromSmiles('C1=CC=CC=C1OC')\n", "print m.HasSubstructMatch(Chem.MolFromSmarts('CO'))\n", "print m.HasSubstructMatch(Chem.MolFromSmiles('CO'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But don't forget that the semantics of the two languages are not exactly\n", "equivalent:" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "False\n", "True\n" ] } ], "source": [ "print m.HasSubstructMatch(Chem.MolFromSmiles('COC'))\n", "print m.HasSubstructMatch(Chem.MolFromSmarts('COC'))\n", "print m.HasSubstructMatch(Chem.MolFromSmarts('COc')) # need an aromatic C" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stereochemistry in substructure matches\n", "\n", "By default information about stereochemistry is not used in substructure\n", "searches:" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "True\n", "True\n" ] } ], "source": [ "m = Chem.MolFromSmiles('CC[C@H](F)Cl')\n", "print m.HasSubstructMatch(Chem.MolFromSmiles('C[C@H](F)Cl'))\n", "print m.HasSubstructMatch(Chem.MolFromSmiles('C[C@@H](F)Cl'))\n", "print m.HasSubstructMatch(Chem.MolFromSmiles('CC(F)Cl'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But this can be changed via the `useChirality` argument:" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "False\n", "True\n" ] } ], "source": [ "print m.HasSubstructMatch(Chem.MolFromSmiles('C[C@H](F)Cl'),useChirality=True)\n", "print m.HasSubstructMatch(Chem.MolFromSmiles('C[C@@H](F)Cl'),useChirality=True)\n", "print m.HasSubstructMatch(Chem.MolFromSmiles('CC(F)Cl'),useChirality=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that when useChirality is set a non-chiral query **does** match a\n", "chiral molecule. The same is not true for a chiral query and a\n", "non-chiral molecule:" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "False\n" ] } ], "source": [ "print m.HasSubstructMatch(Chem.MolFromSmiles('CC(F)Cl'))\n", "m2 = Chem.MolFromSmiles('CCC(F)Cl')\n", "print m2.HasSubstructMatch(Chem.MolFromSmiles('C[C@H](F)Cl'),useChirality=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Chemical Transformations\n", "\n", "The RDKit contains a number of functions for modifying molecules. Note\n", "that these transformation functions are intended to provide an easy way\n", "to make simple modifications to molecules. For more complex\n", "transformations, use the Chemical Reactions functionality.\n", "\n", "### Substructure-based transformations\n", "\n", "There's a variety of functionality for using the RDKit's\n", "substructure-matching machinery for doing quick molecular\n", "transformations. These transformations include deleting substructures:\n" ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'C'" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('CC(=O)O')\n", "patt = Chem.MolFromSmarts('C(=O)[OH]')\n", "rm = AllChem.DeleteSubstructs(m,patt)\n", "Chem.MolToSmiles(rm)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "replacing substructures:" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(,)\n" ] }, { "data": { "text/plain": [ "'COC(C)=O'" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "repl = Chem.MolFromSmiles('OC')\n", "patt = Chem.MolFromSmarts('[$(NC(=O))]')\n", "m = Chem.MolFromSmiles('CC(=O)N')\n", "rms = AllChem.ReplaceSubstructs(m,patt,repl)\n", "print rms\n", "Chem.MolToSmiles(rms[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "as well as simple SAR-table transformations like removing side chains:" ] }, { "cell_type": "code", "execution_count": 89, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'[*]c1cncnc1[*]'" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m1 = Chem.MolFromSmiles('BrCCc1cncnc1C(=O)O')\n", "core = Chem.MolFromSmiles('c1cncnc1')\n", "tmp = Chem.ReplaceSidechains(m1,core)\n", "Chem.MolToSmiles(tmp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and removing cores:" ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'[*]C(=O)O.[*]CCBr'" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tmp = Chem.ReplaceCore(m1,core)\n", "Chem.MolToSmiles(tmp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get more detail about the sidechains (e.g. sidechain labels), use\n", "isomeric smiles:" ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'[1*]CCBr.[2*]C(=O)O'" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.MolToSmiles(tmp,True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default the sidechains are labeled based on the order they are found.\n", "They can also be labeled according by the number of that core-atom\n", "they're attached to:" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'[1*]CCO.[5*]C(=O)O'" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m1 = Chem.MolFromSmiles('c1c(CCO)ncnc1C(=O)O')\n", "tmp = Chem.ReplaceCore(m1,core,labelByIndex=True)\n", "Chem.MolToSmiles(tmp,True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`rdkit.Chem.rdmolops.ReplaceCore` returns the sidechains in a single\n", "molecule. This can be split into separate molecules using\n", "`rdkit.Chem.rdmolops.GetMolFrags`:" ] }, { "cell_type": "code", "execution_count": 93, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n", "[1*]CCO\n", "[5*]C(=O)O\n" ] } ], "source": [ "rs = Chem.GetMolFrags(tmp,asMols=True)\n", "print len(rs)\n", "print Chem.MolToSmiles(rs[0],True)\n", "print Chem.MolToSmiles(rs[1],True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Murcko Decomposition\n", "\n", "The RDKit provides standard Murcko-type decomposition [[8]](#c8) of molecules\n", "into scaffolds:" ] }, { "cell_type": "code", "execution_count": 94, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nMmnatGnIzc3F999/X297Xl4eFi5ciIKCAhQXF6O4uBj5+fkoLCyse3737l307XsGhw/71vteFxdA\nr1c+i+3hAURFKSvvTamuVvbduhWIjLTQX5KICICz2gHINn3wwQcICgrC5s2b8fTTT9dt12g0uHDh\nAvR6Pby8vNC9e3d4e3tDr9fDw8MDHh4e8PHxQceOGuh0SuH5+Ch/uro2//2dnJTLqvn7W+AvR0R0\nH44IqVGJiYnYsGEDMjMz4ezM35mIqH3iqlFq1Ny5c3Hr1i2rL5rRaIAH31KjsWoEInIgLEJqlLe3\nN9577z28++67KCwstOp7p6cr90skIrI0To1SkyorKzFo0CC8+OKLmD9/fquOVV2tXLUmP19ZRVr7\nyMsDIiKUS1UCyujv9Glgzhxg40blfKFGo1xlhoiorbEI6aHWrVuH2NhYfPHFF3B1dUVpaSkKCwtR\nWFiI0tJSFBUVoaCgAKWlpXWrSAMC4nHixHjk5yvlV1TU8IbmOh3g7g54eQEffwz8278p22tL75NP\ngJoapRBZhERkKSxCeigRwdtvv40VK1bAy8sLer0eer0enp6e9Z7r9Xr4+PhAr9ejc+cwdOgwHF5e\n9wrP21v5WqdTVpI2prb0RIDx44HFi4HgYBYhEVkGi5Bszv2jv8uXgdhYYM8eFiERWQYXy5BNCwwE\nZsxQOwURtWccERIRkUPjiJCIiBwai5CIiBwai5CIiBwai5CIiBwai5CIiBwai5CIiBwai5CIiBwa\ni5CIiBwai5CIiBwai5CIiBwai5CIiBwai5CIiBwai5CIiBwai5CIiBza/wGlIGQ9m6kojgAAAABJ\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit.Chem.Scaffolds import MurckoScaffold\n", "cdk2mols = Chem.SDMolSupplier('data/cdk2.sdf')\n", "m1 = cdk2mols[0]\n", "m1" ] }, { "cell_type": "code", "execution_count": 95, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "c1ncc2nc[nH]c2n1\n" ] }, { "data": { "image/png": "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\n6hgAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "core = MurckoScaffold.GetScaffoldForMol(m1)\n", "print Chem.MolToSmiles(core)\n", "core" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or into a generic framework:" ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C1CCC2CCCC2C1\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fw = MurckoScaffold.MakeScaffoldGeneric(core)\n", "print Chem.MolToSmiles(fw)\n", "fw" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Maximum Common Substructure\n", "\n", "The FindMCS function find a maximum common substructure (MCS) of two or\n", "more molecules:" ] }, { "cell_type": "code", "execution_count": 97, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAADICAYAAAA0n5+2AAAum0lEQVR4nO3deViU9f4+8DfLsG9i\nKpgLCm7gNqCmgit2ysQ0E4GMTC1bNFpM/XU6hua3wjoVpi2Up8Il10zJsjA77lSymKKC5r4rKoIL\nOMPcvz/mMIkMyvLMhvfruuYK5hmeeU84zP18VjsAECIiIiJSjL2lCyAiIiKqbxiwiIiIiBTGgEVE\nRESkMAYsIiIiIoUxYBEREREpjAGLiIiISGEMWEREREQKY8AiIiIiUhgDFhEREZHCGLCIiIiIFMaA\nRURERKQwBiwiIiIihTFgERERESmMAYuIiIhIYQxYRERERApjwCIiIiJSGAMWERERkcIYsIiIiIgU\nxoBFREREpDAGLCIiIiKFMWARERERKYwBi4iIiEhhDFhERERECmPAIiIiIlIYAxYRERGRwhiwiIiI\niBTGgEVERESkMAYsIiIiIoUxYBEREREpjAGLiIiISGEMWEREREQKY8AiIiIiUhgDFhEREZHCGLCI\niIiIFMaARURERKQwBiwiIiIihTFgERERESmMAYuIiIhIYQxYRERERApjwCIiIiJSGAMWERERkcIY\nsIiIiIgUxoBFREREpDAGLCIiIiKFMWARERERKYwBi4iIiEhhDFhERERECmPAIiIiIlIYAxYRERGR\nwhiwiIiIiBTGgEVERESkMAYsIiIiIoUxYBEREREpjAGLiIiISGEMWEREREQKY8AiIiIiUhgDFhER\nEZHCHC1dABEREVW2a9cuWb16tTRv3lxCQ0MlODhYVCqVpcuiamLAIiIisjLbt2+XyMhIue++++T4\n8eNy6NAhcXZ2lo4dO0poaKio1WpRq9XSuXNncXNzs3S5ZIQdAFi6CCIiItLLy8uT8PBwmThxorz5\n5psiIqLRaGT//v2SlZVluGVnZ8v169fF399fwsLCDLdu3bqJv7+/hV8FMWARERFZibNnz0qvXr0k\nIiJCUlNTxc7OrsrHarVayc/PNwSuvXv3SnZ2tly8eFEaNGggwcHBFYJXcHDwbc9HymLAIiIisgJX\nr16V/v37i5eXl/z000+1Hm916tSpCi1dO3bskLNnz4qXl5d06tSpQuhq3769ODg4KPxKSIQBi4iI\nyOJ0Op2MGjVKcnNzZfv27eLr66vo+ctD1969e2XPnj2SlZUl+/btE5VKJUFBQRVCV1hYmLi6uir6\n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\nBNV7yl0yAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit.Chem import rdFMCS\n", "mol1 = Chem.MolFromSmiles(\"O=C(NCc1cc(OC)c(O)cc1)CCCC/C=C/C(C)C\")\n", "mol2 = Chem.MolFromSmiles(\"CC(C)CCCCCC(=O)NCC1=CC(=C(C=C1)O)OC\")\n", "mol3 = Chem.MolFromSmiles(\"c1(C=O)cc(OC)c(O)cc1\")\n", "mols = [mol1,mol2,mol3]\n", "Draw.MolsToGridImage(mols, useSVG=False)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10\n", "10\n", "[#6]1(-[#6]):[#6]:[#6](-[#8]-[#6]):[#6](:[#6]:[#6]:1)-[#8]\n", "False\n" ] } ], "source": [ "res = rdFMCS.FindMCS(mols)\n", "res\n", "print res.numAtoms\n", "print res.numBonds\n", "print res.smartsString\n", "print res.canceled" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It returns an MCSResult instance with information about the number of\n", "atoms and bonds in the MCS, the SMARTS string which matches the\n", "identified MCS, and a flag saying if the algorithm timed out. If no MCS\n", "is found then the number of atoms and bonds is set to 0 and the SMARTS\n", "to `''`.\n", "\n", "By default, two atoms match if they are the same element and two bonds\n", "match if they have the same bond type. Specify `atomCompare` and\n", "`bondCompare` to use different comparison functions, as in:" ] }, { "cell_type": "code", "execution_count": 99, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "[#7,#8]-[#6]\n", "[#6]-,=[#6]\n" ] } ], "source": [ "mols = (Chem.MolFromSmiles('NCC'),Chem.MolFromSmiles('OC=C'))\n", "print rdFMCS.FindMCS(mols).smartsString\n", "print rdFMCS.FindMCS(mols, atomCompare=rdFMCS.AtomCompare.CompareAny).smartsString\n", "print rdFMCS.FindMCS(mols, bondCompare=rdFMCS.BondCompare.CompareAny).smartsString" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The options for the `atomCompare` argument are: `CompareAny` says that any\n", "atom matches any other atom, `CompareElements` compares by element type,\n", "and `CompareIsotopes` matches based on the isotope label. Isotope labels\n", "can be used to implement user-defined atom types. A `bondCompare` of\n", "`CompareAny` says that any bond matches any other bond, `CompareOrderExact`\n", "says bonds are equivalent if and only if they have the same bond type,\n", "and `CompareOrder` allows single and aromatic bonds to match each other,\n", "but requires an exact order match otherwise:" ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[#6]1:,-[#6]:,-[#6]:,-[#6]:,-[#6]:,=[#6]:,-1\n", "\n", "[#6](:,-[#6]:,-[#6]:,-[#6]):,-[#6]:,-[#6]\n" ] } ], "source": [ "mols = (Chem.MolFromSmiles('c1ccccc1'),Chem.MolFromSmiles('C1CCCC=C1'))\n", "print rdFMCS.FindMCS(mols,bondCompare=rdFMCS.BondCompare.CompareAny).smartsString\n", "print rdFMCS.FindMCS(mols,bondCompare=rdFMCS.BondCompare.CompareOrderExact).smartsString\n", "print rdFMCS.FindMCS(mols,bondCompare=rdFMCS.BondCompare.CompareOrder).smartsString" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A substructure has both atoms and bonds. By default, the algorithm\n", "attempts to maximize the number of bonds found. You can change this by\n", "setting the `maximizeBonds` argument to False. Maximizing the number of\n", "bonds tends to maximize the number of rings, although two small rings\n", "may have fewer bonds than one large ring." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You might not want a 3-valent nitrogen to match one which is 5-valent.\n", "The default `matchValences` value of False ignores valence information.\n", "When True, the atomCompare setting is modified to also require that the\n", "two atoms have the same valency." ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4\n", "3\n" ] } ], "source": [ "mols = (Chem.MolFromSmiles('NC1OC1'),Chem.MolFromSmiles('C1OC1[N+](=O)[O-]'))\n", "print rdFMCS.FindMCS(mols).numAtoms\n", "print rdFMCS.FindMCS(mols, matchValences=True).numBonds" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It can be strange to see a linear carbon chain match a carbon ring,\n", "which is what the `ringMatchesRingOnly` default of False does. If you\n", "set it to True then ring bonds will only match ring bonds." ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[#6](-[#6]-[#6])-[#6]-[#6]-[#6]-[#6]\n", "[#6](-[#6]-[#6])-[#6]\n" ] } ], "source": [ "mols = [Chem.MolFromSmiles(\"C1CCC1CCC\"), Chem.MolFromSmiles(\"C1CCCCCC1\")]\n", "print rdFMCS.FindMCS(mols).smartsString\n", "print rdFMCS.FindMCS(mols, ringMatchesRingOnly=True).smartsString" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can further restrict things and require that partial rings (as in\n", "this case) are not allowed. That is, if an atom is part of the MCS and\n", "the atom is in a ring of the entire molecule then that atom is also in a\n", "ring of the MCS. Set `completeRingsOnly` to True to toggle this\n", "requirement and also sets ringMatchesRingOnly to True." ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[#6]1-[#6]-[#6](-[#6]-1-[#6])-[#6]\n", "[#6](-[#6]-[#6]-[#6]-[#6])-[#6]\n", "[#6]1-[#6]-[#6]-[#6]-1\n" ] } ], "source": [ "mols = [Chem.MolFromSmiles(\"CCC1CC2C1CN2\"), Chem.MolFromSmiles(\"C1CC2C1CC2\")]\n", "print rdFMCS.FindMCS(mols).smartsString\n", "print rdFMCS.FindMCS(mols, ringMatchesRingOnly=True).smartsString\n", "print rdFMCS.FindMCS(mols, completeRingsOnly=True).smartsString" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The MCS algorithm will exhaustively search for a maximum common\n", "substructure. Typically this takes a fraction of a second, but for some\n", "comparisons this can take minutes or longer. Use the `timeout` parameter\n", "to stop the search after the given number of seconds (wall-clock\n", "seconds, not CPU seconds) and return the best match found in that time.\n", "If timeout is reached then the `canceled` property of the `MCSResult` will\n", "be True instead of False." ] }, { "cell_type": "code", "execution_count": 104, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mols = [Chem.MolFromSmiles(\"Nc1ccccc1\"*100), Chem.MolFromSmiles(\"Nc1ccccccccc1\"*100)]\n", "rdFMCS.FindMCS(mols, timeout=1).canceled" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(The MCS after 50 seconds contained 511 atoms.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Fingerprinting and Molecular Similarity\n", "\n", "The RDKit has a variety of built-in functionality for generating\n", "molecular fingerprints and using them to calculate molecular similarity.\n", "\n", "### Topological Fingerprints" ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.6\n", "0.4\n", "0.25\n" ] } ], "source": [ "from rdkit import DataStructs\n", "from rdkit.Chem.Fingerprints import FingerprintMols\n", "ms = [Chem.MolFromSmiles('CCOC'),Chem.MolFromSmiles('CCO'),Chem.MolFromSmiles('COC')]\n", "fps = [FingerprintMols.FingerprintMol(x) for x in ms]\n", "print DataStructs.FingerprintSimilarity(fps[0],fps[1])\n", "print DataStructs.FingerprintSimilarity(fps[0],fps[2])\n", "print DataStructs.FingerprintSimilarity(fps[1],fps[2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The fingerprinting algorithm used is similar to that used in the\n", "Daylight fingerprinter: it identifies and hashes topological paths (e.g.\n", "along bonds) in the molecule and then uses them to set bits in a\n", "fingerprint of user-specified lengths. After all paths have been\n", "identified, the fingerprint is typically folded down until a particular\n", "density of set bits is obtained.\n", "\n", "The default set of parameters used by the fingerprinter is: - minimum\n", "path size: 1 bond - maximum path size: 7 bonds - fingerprint size: 2048\n", "bits - number of bits set per hash: 2 - minimum fingerprint size: 64\n", "bits - target on-bit density 0.3\n", "\n", "You can control these by calling `rdkit.Chem.rdmolops.RDKFingerprint`\n", "directly; this will return an unfolded fingerprint that you can then\n", "fold to the desired density. The function\n", "`rdkit.Chem.Fingerprints.FingerprintMols.FingerprintMol` (written in\n", "python) shows how this is done.\n", "\n", "The default similarity metric used by\n", "`rdkit.DataStructs.FingerprintSimilarity` is the Tanimoto similarity. One\n", "can use different similarity metrics:" ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.75" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DataStructs.FingerprintSimilarity(fps[0],fps[1], metric=DataStructs.DiceSimilarity)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Available similarity metrics include Tanimoto, Dice, Cosine, Sokal,\n", "Russel, Kulczynski, McConnaughey, and Tversky." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### MACCS Keys\n", "\n", "There is a SMARTS-based implementation of the 166 public MACCS keys." ] }, { "cell_type": "code", "execution_count": 107, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5\n", "0.538461538462\n", "0.214285714286\n" ] } ], "source": [ "from rdkit.Chem import MACCSkeys\n", "fps = [MACCSkeys.GenMACCSKeys(x) for x in ms]\n", "print DataStructs.FingerprintSimilarity(fps[0],fps[1])\n", "print DataStructs.FingerprintSimilarity(fps[0],fps[2])\n", "print DataStructs.FingerprintSimilarity(fps[1],fps[2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The MACCS keys were critically evaluated and compared to other MACCS\n", "implementations in Q3 2008. In cases where the public keys are fully\n", "defined, things looked pretty good." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Atom Pairs and Topological Torsions\n", "\n", "Atom-pair descriptors [[9]](#c9) are available in several different forms. The\n", "standard form is as fingerprint including counts for each bit instead of\n", "just zeros and ones:" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from rdkit.Chem.AtomPairs import Pairs\n", "ms = [Chem.MolFromSmiles('C1CCC1OCC'),Chem.MolFromSmiles('CC(C)OCC'),Chem.MolFromSmiles('CCOCC')]\n", "pairFps = [Pairs.GetAtomPairFingerprint(x) for x in ms]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because the space of bits that can be included in atom-pair fingerprints\n", "is huge, they are stored in a sparse manner. We can get the list of bits\n", "and their counts for each fingerprint as a dictionary:" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "2\n" ] } ], "source": [ "d = pairFps[-1].GetNonzeroElements()\n", "print d[541732]\n", "print d[1606690]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Descriptions of the bits are also available:" ] }, { "cell_type": "code", "execution_count": 110, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(('C', 1, 0), 3, ('C', 2, 0))" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Pairs.ExplainPairScore(558115)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above means: C with 1 neighbor and 0 pi electrons which is 3 bonds\n", "from a C with 2 neighbors and 0 pi electrons\n", "\n", "The usual metric for similarity between atom-pair fingerprints is Dice\n", "similarity:" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.333333333333\n", "0.258064516129\n", "0.56\n" ] } ], "source": [ "from rdkit import DataStructs\n", "print DataStructs.DiceSimilarity(pairFps[0],pairFps[1])\n", "print DataStructs.DiceSimilarity(pairFps[0],pairFps[2])\n", "print DataStructs.DiceSimilarity(pairFps[1],pairFps[2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's also possible to get atom-pair descriptors encoded as a standard\n", "bit vector fingerprint (ignoring the count information):" ] }, { "cell_type": "code", "execution_count": 112, "metadata": { "collapsed": false }, "outputs": [], "source": [ "pairFps = [Pairs.GetAtomPairFingerprintAsBitVect(x) for x in ms]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since these are standard bit vectors, the rdkit.DataStructs module can\n", "be used for similarity:" ] }, { "cell_type": "code", "execution_count": 113, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.48\n", "0.380952380952\n", "0.625\n" ] } ], "source": [ "from rdkit import DataStructs\n", "print DataStructs.DiceSimilarity(pairFps[0],pairFps[1])\n", "print DataStructs.DiceSimilarity(pairFps[0],pairFps[2])\n", "print DataStructs.DiceSimilarity(pairFps[1],pairFps[2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Topological torsion descriptors [[10]](#c10) are calculated in essentially the\n", "same way:" ] }, { "cell_type": "code", "execution_count": 114, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.16666666666666666" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit.Chem.AtomPairs import Torsions\n", "tts = [Torsions.GetTopologicalTorsionFingerprintAsIntVect(x) for x in ms]\n", "DataStructs.DiceSimilarity(tts[0],tts[1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At the time of this writing, topological torsion fingerprints have too\n", "many bits to be encodeable using the BitVector machinery, so there is no\n", "GetTopologicalTorsionFingerprintAsBitVect function.\n", "\n", "### Morgan Fingerprints (Circular Fingerprints)\n", "\n", "This family of fingerprints, better known as circular fingerprints\n", "[[11]](#c11), is built by applying the Morgan algorithm to a set of\n", "user-supplied atom invariants. When generating Morgan fingerprints, the\n", "radius of the fingerprint must also be provided :" ] }, { "cell_type": "code", "execution_count": 115, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "4294967295\n", "0.55\n" ] } ], "source": [ "from rdkit.Chem import AllChem\n", "m1 = Chem.MolFromSmiles('Cc1ccccc1')\n", "fp1 = AllChem.GetMorganFingerprint(m1,2)\n", "print fp1\n", "print fp1.GetLength()\n", "\n", "m2 = Chem.MolFromSmiles('Cc1ncccc1')\n", "fp2 = AllChem.GetMorganFingerprint(m2,2)\n", "print DataStructs.DiceSimilarity(fp1,fp2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Morgan fingerprints, like atom pairs and topological torsions, use\n", "counts by default, but it's also possible to calculate them as bit\n", "vectors:" ] }, { "cell_type": "code", "execution_count": 116, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "0.518518518519\n" ] } ], "source": [ "fp1 = AllChem.GetMorganFingerprintAsBitVect(m1,2,nBits=1024)\n", "print fp1\n", "fp2 = AllChem.GetMorganFingerprintAsBitVect(m2,2,nBits=1024)\n", "print DataStructs.DiceSimilarity(fp1,fp2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The default atom invariants use connectivity information similar to\n", "those used for the well known ECFP family of fingerprints. Feature-based\n", "invariants, similar to those used for the FCFP fingerprints, can also be\n", "used. The feature definitions used are defined in the section\n", "Feature Definitions Used in the Morgan\n", "Fingerprints\\_. At times this can lead to quite different similarity\n", "scores:" ] }, { "cell_type": "code", "execution_count": 117, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.363636363636\n", "0.909090909091\n" ] } ], "source": [ "m1 = Chem.MolFromSmiles('c1ccccn1')\n", "m2 = Chem.MolFromSmiles('c1ccco1')\n", "fp1 = AllChem.GetMorganFingerprint(m1,2)\n", "fp2 = AllChem.GetMorganFingerprint(m2,2)\n", "ffp1 = AllChem.GetMorganFingerprint(m1,2,useFeatures=True)\n", "ffp2 = AllChem.GetMorganFingerprint(m2,2,useFeatures=True)\n", "print DataStructs.DiceSimilarity(fp1,fp2)\n", "print DataStructs.DiceSimilarity(ffp1,ffp2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When comparing the ECFP/FCFP fingerprints and the Morgan fingerprints\n", "generated by the RDKit, remember that the 4 in ECFP4 corresponds to the\n", "diameter of the atom environments considered, while the Morgan\n", "fingerprints take a radius parameter. So the examples above, with\n", "radius=2, are roughly equivalent to ECFP4 and FCFP4.\n", "\n", "The user can also provide their own atom invariants using the optional\n", "invariants argument to rdkit.Chem.rdMolDescriptors.GetMorganFingerprint.\n", "Here's a simple example that uses a constant for the invariant; the\n", "resulting fingerprints compare the topology of molecules:" ] }, { "cell_type": "code", "execution_count": 118, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m1 = Chem.MolFromSmiles('Cc1ccccc1')\n", "m2 = Chem.MolFromSmiles('Cc1ncncn1')\n", "fp1 = AllChem.GetMorganFingerprint(m1,2,invariants=[1]*m1.GetNumAtoms())\n", "fp2 = AllChem.GetMorganFingerprint(m2,2,invariants=[1]*m2.GetNumAtoms())\n", "fp1==fp2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that bond order is by default still considered:" ] }, { "cell_type": "code", "execution_count": 119, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m3 = Chem.MolFromSmiles('CC1CCCCC1')\n", "fp3 = AllChem.GetMorganFingerprint(m3,2,invariants=[1]*m3.GetNumAtoms())\n", "fp1==fp3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But this can also be turned off:" ] }, { "cell_type": "code", "execution_count": 120, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fp1 = AllChem.GetMorganFingerprint(m1,2,invariants=[1]*m1.GetNumAtoms(),useBondTypes=False)\n", "fp3 = AllChem.GetMorganFingerprint(m3,2,invariants=[1]*m3.GetNumAtoms(),useBondTypes=False)\n", "fp1==fp3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Explaining bits from Morgan Fingerprints\n", "\n", "Information is available about the atoms that contribute to particular\n", "bits in the Morgan fingerprint via the bitInfo argument. The dictionary\n", "provided is populated with one entry per bit set in the fingerprint, the\n", "keys are the bit ids, the values are lists of (atom index, radius)\n", "tuples." ] }, { "cell_type": "code", "execution_count": 121, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "16\n", "16\n", "((1, 1), (2, 1))\n", "((5, 2),)\n" ] } ], "source": [ "m = Chem.MolFromSmiles('c1cccnc1C')\n", "info={}\n", "fp = AllChem.GetMorganFingerprint(m,2,bitInfo=info)\n", "print len(fp.GetNonzeroElements())\n", "print len(info)\n", "print info[98513984]\n", "print info[4048591891]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Interpreting the above: bit 98513984 is set twice: once by atom 1 and\n", "once by atom 2, each at radius 1. Bit 4048591891 is set once by atom 5\n", "at radius 2.\n", "\n", "Focusing on bit 4048591891, we can extract the submolecule consisting of\n", "all atoms within a radius of 2 of atom 5:" ] }, { "cell_type": "code", "execution_count": 122, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{0: 3, 1: 5, 3: 4, 4: 0, 5: 1, 6: 2}\n" ] } ], "source": [ "env = Chem.FindAtomEnvironmentOfRadiusN(m,2,5)\n", "amap={}\n", "submol=Chem.PathToSubmol(m,env,atomMap=amap)\n", "submol.GetNumAtoms()\n", "print amap" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then “explain” the bit by generating SMILES for that submolecule:" ] }, { "cell_type": "code", "execution_count": 123, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ccc(C)nc\n" ] } ], "source": [ "print Chem.MolToSmiles(submol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is more useful when the SMILES is rooted at the central atom:" ] }, { "cell_type": "code", "execution_count": 124, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'c(nc)(C)cc'" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.MolToSmiles(submol,rootedAtAtom=amap[5],canonical=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An alternate (and faster, particularly for large numbers of molecules)\n", "approach to do the same thing, using the function\n", "rdkit.Chem.MolFragmentToSmiles:" ] }, { "cell_type": "code", "execution_count": 125, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "c(C)(cc)nc\n" ] } ], "source": [ "atoms=set()\n", "for bidx in env:\n", " atoms.add(m.GetBondWithIdx(bidx).GetBeginAtomIdx())\n", " atoms.add(m.GetBondWithIdx(bidx).GetEndAtomIdx())\n", "print Chem.MolFragmentToSmiles(m,atomsToUse=list(atoms),bondsToUse=env,rootedAtAtom=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Picking Diverse Molecules Using Fingerprints\n", "\n", "A common task is to pick a small subset of diverse molecules from a\n", "larger set. The RDKit provides a number of approaches for doing this in\n", "the rdkit.SimDivFilters module. The most efficient of these uses the\n", "MaxMin algorithm. [[12]](#c12) Here's an example:\n", "\n", "Start by reading in a set of molecules and generating Morgan\n", "fingerprints:" ] }, { "cell_type": "code", "execution_count": 126, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from rdkit import Chem\n", "from rdkit.Chem.rdMolDescriptors import GetMorganFingerprint\n", "from rdkit import DataStructs\n", "from rdkit.SimDivFilters.rdSimDivPickers import MaxMinPicker\n", "ms = [x for x in Chem.SDMolSupplier('data/actives_5ht3.sdf')]\n", "while ms.count(None):\n", " ms.remove(None)\n", "fps = [GetMorganFingerprint(x,3) for x in ms]\n", "nfps = len(fps)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The algorithm requires a function to calculate distances between\n", "objects, we'll do that using DiceSimilarity:" ] }, { "cell_type": "code", "execution_count": 127, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def distij(i,j,fps=fps):\n", " return 1-DataStructs.DiceSimilarity(fps[i],fps[j])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now create a picker and grab a set of 10 diverse molecules:" ] }, { "cell_type": "code", "execution_count": 128, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[93, 109, 154, 6, 95, 135, 151, 61, 137, 139]\n" ] } ], "source": [ "picker = MaxMinPicker()\n", "pickIndices = picker.LazyPick(distij,nfps,10,seed=23)\n", "print list(pickIndices)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the picker just returns indices of the fingerprints; we can\n", "get the molecules themselves as follows:" ] }, { "cell_type": "code", "execution_count": 129, "metadata": { "collapsed": false }, "outputs": [], "source": [ "picks = [ms[x] for x in pickIndices]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating Similarity Maps Using Fingerprints\n", "\n", "Similarity maps are a way to visualize the atomic contributions to the\n", "similarity between a molecule and a reference molecule. The methodology\n", "is described in Ref. [[13]](#c13) . They are in the\n", "`rdkit.Chem.Draw.SimilarityMaps` module :\n", "\n", "Start by creating two molecules:" ] }, { "cell_type": "code", "execution_count": 130, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nU3qlok4RiohUngKWSBUQEhICs9mMpKQktGnTBunp6YiOjsbAgQMxatQonD9/vsJ9nzt3Dl26dNEM\nloiIgRSwRKqATp06IS4uDq+99hr69++PY8eOlT637sSJE6XPrSNZof6zsrIwffp03H///XB3dze4\nehGRmkcBS6QKcHZ2xsSJE5GVlYU2bdogNDQUEydORJs2bbBz504kJiZi8uTJ6N+/P9LT08vcb05O\nDmJjYxEUFISCggK8+uqrVtwLEZGaQwFLpApp3LgxFi1ahJUrV2LlypUIDQ3F+vXrERsbi/T0dDRo\n0ABhYWGYOXMmrl69est+fvnlF4wfPx5+fn64ePEivv/+e3z99dcIDQ214d6IiFRfClgiVVBUVBR+\n+uknjBo1ClFRURg1ahRcXV2xfPlyvPfee5g3bx769euHoqKiP2x35swZjB8/Hm3btkVWVha2bt2K\nlJQUdOzY0U57IiJSPSlgiVRRtWvXRmJiIvbu3Yvs7GwEBARgwYIFGD16NA4fPoxJkybB2dkZAHDx\n4kVMmzYN7dq1w/fff4/Vq1dj06ZN6Nmzp533QkSkeqrFiq6KFRGHUVhYiHfffRcvvfQSunbtiuTk\nZAQEBODy5ct48803MW/ePLRo0QKvvvoqhg8fbpU7wkuNpP9IIreggCVSjRw+fBixsbE4ePAgnnji\nCaxevRpFRUWYMWMGxo4dC1dXV3uXKNWLApbILShgiVQzFosFycnJOHz4MNq0aYP/+q//gqenp73L\nkupJAUvkFhSwRESkohSwRG5Bi9xFREREDKaAJSIiImIwBSwRERERgylgiYiIiBhMAUtERETEYApY\nIiIiIgZTwBIRERExmAKWiIiIiMEUsEREREQMpoAlIiIiYjAFLBERERGDKWCJiIiIGEwBS0RERMRg\nClgiIiIiBlPAEhERETGYApaIiIiIwRSwRERERAymgCUiIiJiMAUsEREREYMpYImIiIgYTAFLRERE\nxGAKWCIiIiIGU8ASERERMZgCloiIiIjBFLBEREREDKaAJSIiImIwBSwRERERgylgiYiIiBhMAUtE\nRETEYApYIiIiIgZTwBIRERExmAKWiIiIiMEUsEREREQMpoAlIiIiYjAFLBERERGDKWCJiIiIGEwB\nS0RERMRgClgiIiIiBlPAEhERETGYApaIiIiIwRSwRERERAymgCUiIiJiMAUsEREREYMpYImIiIgY\n7P8DWhWW1LOaLVoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 130, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit import Chem\n", "mol = Chem.MolFromSmiles('COc1cccc2cc(C(=O)NCCCCN3CCN(c4cccc5nccnc54)CC3)oc21')\n", "refmol = Chem.MolFromSmiles('CCCN(CCCCN1CCN(c2ccccc2OC)CC1)Cc1ccc2ccccc2c1')\n", "Draw.MolsToGridImage([mol,refmol], useSVG=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The SimilarityMaps module supports three kind of fingerprints: atom\n", "pairs, topological torsions and Morgan fingerprints." ] }, { "cell_type": "code", "execution_count": 131, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from rdkit.Chem.Draw import SimilarityMaps\n", "fp = SimilarityMaps.GetAPFingerprint(mol, fpType='normal')\n", "fp = SimilarityMaps.GetTTFingerprint(mol, fpType='normal')\n", "fp = SimilarityMaps.GetMorganFingerprint(mol, fpType='bv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The types of atom pairs and torsions are normal (default), hashed and\n", "bit vector (bv). The types of the Morgan fingerprint are bit vector (bv,\n", "default) and count vector (count).\n", "\n", "The function generating a similarity map for two fingerprints requires\n", "the specification of the fingerprint function and optionally the\n", "similarity metric. The default for the latter is the Dice similarity.\n", "Using all the default arguments of the Morgan fingerprint function, the\n", "similarity map can be generated like this:" ] }, { "cell_type": "code", "execution_count": 132, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, maxweight = SimilarityMaps.GetSimilarityMapForFingerprint(refmol, mol, SimilarityMaps.GetMorganFingerprint)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a different type of Morgan (e.g. count) and radius = 1 instead of 2,\n", "as well as a different similarity metric (e.g. Tanimoto), the call\n", "becomes:" ] }, { "cell_type": "code", "execution_count": 133, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdAAAAHQCAYAAAARXTsAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdwnPed5/n3Ezo3GjkHEgRzjiJFUlS2JEqWLNuynEae\nmZ2Z3Zqtuirf/HFXu7Ph7lxTV7X/3R9Tuze7O2Pv+jQOsiXTspUlQ4FiEjPBTBAkQOQG0Oj8hPvj\n6UYHNEi6RZEE9X2xwG50ePpB9/P05/nFR7FtGyGEEEL8cdQ7vQJCCCHEfCQBKoQQQpRBAlQIIYQo\ngwSoEEIIUQYJUCGEEKIMEqBCCCFEGfTr3akoioxxEUII8aVm27ZS6vbrBihALBa79WsjCvzoRz/i\nb//2b+/0atzz5H2+PeR9vj3kfb49/H7/nPdJFa4QQghRBglQIYQQogwSoHeBXbt23elV+FKQ9/n2\nkPf59pD3+c5TrjcXrqIotrSBCiGE+LLy+/1zdiKSEqgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\nMkiACiGEEGWQABVCCCHKIAEqhBBClEECVAghhCiDBKgQQghRBglQIYQQogwSoEIIIUQZJECFEEKI\n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\njsO3xBcQ/gAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from rdkit import DataStructs\n", "fig, maxweight = SimilarityMaps.GetSimilarityMapForFingerprint(refmol, mol, lambda m,idx:SimilarityMaps.GetMorganFingerprint(m, atomId=idx, radius=1, fpType='count'), metric=DataStructs.TanimotoSimilarity)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The convenience function GetSimilarityMapForFingerprint involves the\n", "normalisation of the atomic weights such that the maximum absolute\n", "weight is 1. Therefore, the function outputs the maximum weight that was\n", "found when creating the map." ] }, { "cell_type": "code", "execution_count": 134, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0574712643678\n" ] } ], "source": [ "print maxweight" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If one does not want the normalisation step, the map can be created\n", "like:" ] }, { "cell_type": "code", "execution_count": 135, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['0.05 ', '0.07 ', '0.05 ', '0.08 ', '0.05 ', '0.06 ', '0.03 ', '0.04 ', '-0.01 ', '-0.04 ', '-0.03 ', '-0.05 ', '0.01 ', '0.03 ', '0.07 ', '0.10 ', '0.12 ', '0.11 ', '0.09 ', '0.10 ', '0.09 ', '0.06 ', '0.03 ', '0.02 ', '-0.01 ', '-0.05 ', '0.00 ', '0.00 ', '-0.03 ', '0.02 ', '0.09 ', '0.11 ', '-0.04 ', '0.04 ']\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdAAAAHQCAYAAAARXTsAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeQHved3/l3hyfOMzljEmaQBjkHggQIghmkKJAUlamV\npZXtWtfd1d7Vua5s3dq1p1pX2VdbZ6+9d/bdWtIqUBJFMYlRJEiCABEIEEQkMgaYwSRMDk/u7vuj\nn9BPmAHwkAgDfl+oB88zT+wndH/6F1uxLAshhBBCXB/1Vi+AEEIIMRNJgAohhBAFkAAVQgghCiAB\nKoQQQhRAAlQIIYQogASoEEIIUQB9uhsVRZExLkIIIb7ULMtS8l0/bYACBIPBL35pRIaf/OQn/PjH\nP77Vi3HHk8/55pDP+eaQz/nm8Pv9U94mVbhCCCFEASRAhRBCiAJIgN4GNm/efKsX4UtBPuebQz7n\nm0M+51tPmW4uXEVRLGkDFUII8WXl9/un7EQkJVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\nFUIIIQogASqEEEIUQAJUCCGEKIAEqBBCCFEACVAhhBCiABKgQgghRAEkQIUQQogCSIAKIYQQBZAA\n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\nKTI+v8JhXrlSh9fnQ5J06HQ6JEnCYjGTlp6qcizRgC3wm4jj2nW/pb/OWdFEtdHuffN0xC+Hrg+i\n4Vxq+FnhexRKTEzk2NFjfR4RDFgSABlVXBrYOXToUJKTknl56yt0dnZQMmK0IrEQFEvZ0LxSfboA\nP/+nhzl+/jS3/ev9vPmnF5FEKSQd0vTxkPGmDLLAgHwnFbWVnLxwhrEjx/RbM7Is09TcxEXVBe39\ngx/wwoubePqvj6OTdHxy7CjT587i+Wc2smSxEgM4AJ5+ZE6fPs2ePXvJys7knm/eRXxCPGisVsO5\nz9A6nDNV1pJep2ZmiuS2/OQ7s6mqqMHtdZORk4ok6ai4VEVCUnwwYPzU2ePY8sJOsrLTSEm19/PG\nQqgEskxPdxeVlTVUXKqiquIyq25dSIzNjMfvIqT7VCxvfbKH2stXMJj0xNnM+GQPbS3X+Mm3/8ql\nc7U89s6DxCSYSM2ycfDtc4rdgkwQPHWCjkR7PG2NXYhFASNCxYAwITGe9rbOQAPQLNenm6XnfiEA\n2tvbGxS3NjY2cvXqVRobGzGZTNjt9qCe0mKxYLVaMRgMGjeEL4D6A8+oIKmshUAKJPX8PlwoimXv\nxpc38Zv/+3MEGZ5+cSOjh49k+KChaGPghpVD3VVQUMg7u95h2rRpwcOhISsARpE+T8rANnz4cP70\npz/ywAP/8KUCaKCvSjodq1eu4vGnnyQvL4+c3FwQBM1gGjAsUsqu7eSSqCc9PYP09PTgTfvnZ0Li\nwEhOEs2RGwXP/vd+GijfLN3v70H9g2h/k5D+asdkMtHb2xv9nD5dQeMcI0B6Rjp33LqBzVteZdSw\nEUiCjqAxj2bcDKgoJUnPxl/+NxPXz+Pffv8Iv/6n/wjcOAqQCionqohr50+drfo5Q2dXJ6VV5Vys\nuERpxSXFZ7u8jNJLl2hrb0Ov1+PMd5CSkoLJaOSxJx5n8cLFjBo1il/95y+47a472PTcCyxYMB8E\nmSsNDbz99tt4vG5WrFxKZlamCktarrMvgIZ4yxBnCn6uXbtGZUU1k6ePizhfEYvmF2Th9fq4XFlL\nrjOLnPxMykqrGDF2MKi+oMl2G9PmjOOljdvIyE4jIyONrKwM0jJSMBgNdHf30NLcSmtLG81NLVRX\n1tLS0kpmTho5+RmMnzoMc4wJbxA8VZcVNQqYX/Zy8th5CoZk4Zd9nD9Vwb9941Fs9lj+vP1B4mxW\n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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "weights = SimilarityMaps.GetAtomicWeightsForFingerprint(refmol, mol, SimilarityMaps.GetMorganFingerprint)\n", "print [\"%.2f \" % w for w in weights]\n", "fig = SimilarityMaps.GetSimilarityMapFromWeights(mol, weights)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Descriptor Calculation\n", "\n", "A variety of descriptors are available within the RDKit. The complete\n", "list is provided in List of Available Descriptors.\n", "\n", "Most of the descriptors are straightforward to use from Python via the\n", "centralized `rdkit.Chem.Descriptors` module:" ] }, { "cell_type": "code", "execution_count": 136, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "37.3\n", "1.3848\n" ] } ], "source": [ "from rdkit.Chem import Descriptors, AllChem\n", "m = Chem.MolFromSmiles('c1ccccc1C(=O)O')\n", "print Descriptors.TPSA(m)\n", "print Descriptors.MolLogP(m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Partial charges are handled a bit differently:" ] }, { "cell_type": "code", "execution_count": 137, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-0.0476937500465\n" ] } ], "source": [ "m = Chem.MolFromSmiles('c1ccccc1C(=O)O')\n", "AllChem.ComputeGasteigerCharges(m)\n", "print float(m.GetAtomWithIdx(0).GetProp('_GasteigerCharge'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualization of Descriptors\n", "\n", "Similarity maps can be used to visualize descriptors that can be divided\n", "into atomic contributions.\n", "\n", "The Gasteiger partial charges can be visualized as (using a different\n", "color scheme):" ] }, { "cell_type": "code", "execution_count": 138, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nmBwmbHk26q9egNlhnvaV9c9FEAQq1lfS9sIRChcXELvvE3OR+v/bu7feNs78juO/OZAUKclHSbbl\nOLG9Odne2JsmSBfYbhsU26IXbYEFtmhQoNiLBQrsTV/D9m30pr3odfeiWKDYi9bdBNgAzTZbZ1Pk\nYDt2fJBlWZKtA8+c6QVDczicZzg8iUPq+wEISRQpPqQ4/M3zf555ZjDZxawqu9WIVnbvFlT3KvIb\nnjKFjO59cE8bv3us0lZJtmNr7kReK9dWNAuiQjQYkqbvo7eH5r27R/mjL8EwDe9SBtsCjMMhCFBf\new939eDD+7r64zdUWMoHxumCRbfOheKaqwK1gzTcA23ew7S32/qapFcYLAYm1XlfcyhH7ZOPX3Yh\nq7O/f1Znvyld+p6v0rOyvvy3m/r0X36n1374muZXep+nNWrc9NiFYyo+Kcrzm9VP09krxsXNOapE\nHAvajvJ2G3LzGR2/eFSf/+tnqjyr6Ox3z+rk60ty5lyNcuclDcIVGVNYtq6TOucTtLS3nO6/n+QS\nvg8wTtM3e6Ffvq+bv/hSF35wXvPLhdgVRoJjke3929B4jdozDYPnGW0Efm7/3u66bef3nbf3E168\nwNfO+0f3PKMLzAfHsi3lj+f1xt9+W2fePq0b/3xDd6/fkVdvPH/Voy7t1rfZri3Lak7C6RwpOxi2\na8urmx4t1H5buvSj11UvVrVzf0f5pYKcuYxmLTxburec7gk/4UNPWj+3LplvLqbjPKMOWYkr5QLj\nNEM90IgNxve09tFD2balU9dWIj62oj7IgkXB5veerI6eaHDjbH+8Bz/K/dA10T3DQYXLwtG3CZeF\nJ/uhbalZgl1964xOvnJCX/7ipj7+x4918U8u6Mi5I3Lnut+K7T5d5/iiO+eqXq5HTFQaP9u15TWC\ns0zjOa6ty+9d1mc//0L5E/mE95oOSQccgr3OqN5psseKHqzovA44WDMUoE2NWkNbnz/R01vbenq7\nuW7plb+53Nfalu0yUrt86Hf8PiqK/YhSonnMs/v75u37a2Pvj4407ofnjuR05b3L2vj0ie7+6p72\n1/eVnc9o4cyCFs4sKLuQkZN1ZOccOVlHhVMLcnPu82fp5Bw9u7Wl/FJBi6uLsQs4jJrl2KruVuV7\nfuzyhkFuztWV967osBcVo8rc/b4iTA5CmsxcgN771V09vf1UK1eXde57Lyh/cm6ghaHbU4GiJxZF\n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\nPQWCSR5hAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from rdkit.Chem.Draw import SimilarityMaps\n", "mol = Chem.MolFromSmiles('COc1cccc2cc(C(=O)NCCCCN3CCN(c4cccc5nccnc54)CC3)oc21')\n", "AllChem.ComputeGasteigerCharges(mol)\n", "contribs = [float(mol.GetAtomWithIdx(i).GetProp('_GasteigerCharge')) for i in range(mol.GetNumAtoms())]\n", "\n", "# Producing this image:\n", "fig = SimilarityMaps.GetSimilarityMapFromWeights(mol, contribs, colorMap='jet', contourLines=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or for the Crippen contributions to logP:" ] }, { "cell_type": "code", "execution_count": 139, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdAAAAHQCAYAAAARXTsAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXeUJMd95/mJNOXbu+nBmB6DwQAYOAEgBZJYAqAHeaRE\nLCgJFEVSlifp9la7J63jablWutO9vdtdPZ10MiuRMhRJiZJIkRRFSoRA0YggvJ3BYGYwg/HT065s\nmrg/srLSVFZ39XRVV1VPfN7LV9XVVZmRJuIbv1/84hdCSolCoVAoFIr1ofW6AAqFQqFQDCJKQBUK\nhUKhuAKUgCoUCoVCcQUoAVUoFAqF4gpQAqpQKBQKxRWgBFShUCgUiivAWO2fQgg1x0WhUCgUVzVS\nSpH0+aoCCvBR+a86XxpFhIc/9ghv/NjdvS7Glkdd581BXefNQV3nzeE/il9q+T/lwlUoFAqF4gpQ\nAqpQKBQKxRWgBLTLHPn8ESqLlVW/s/ueXZtUmqsbdZ03B3WdNwd1nXuPEtAus3K2SHWptup35u7Z\nvUmlubpR13lzUNd5c1DXufcoAe0yZt7EKlq9LoZCoVAoOowS0C5j5kyskhJQhUKh2GooAe0ySkAV\nCoVia6IEtMukh1PUlqq9LoZCoVAoOowS0C6TGc1QWVACqlAoFFsNJaBdJj2aobKw+jQWhUKhUAwe\nSkC7TGYkTWWhipQqrbBCoVBsJZSAdhkjY6AZGrWV1eeCKhQKhWKwUAK6CRS25SmeLfa6GAqFQqHo\nIEpAN4HCbIHlMyu9LoZCoVAoOogS0E2gMFtgRQmoQqFQbCmUgG4Chdk8K6dXVCCRQqFQbCGUgG4C\n2fEsAKULpR6XRKFQKBSdQgnoJiCEYOLgBBdfuNTroigUCoWiQygB3SQmDk5wSQmoQqFQbBmUgG4S\no7tHqFyusHB8QY2FKhQKxRZACegmITTBjtfv4Jk/eJbiOTUnVKFQKAYdJaCbyK437CQ/k8ex3F4X\nRaFQKBQbRAnoJiN0DekoAVUoFIpBRwnoJiM0kK4aA1UoFIpBRwnoJqPpGtJRAqpQKBSDjhLQTUYz\nNTUGqlAoFFsAJaCbjJ7ScWpOr4uhUCgUig2iBHSTMdI6TtXudTEUCoVCsUGUgG4yWkrHqSkXrkKh\nUAw6SkA3GSNtYCsLVKFQKAYeJaCbjJE1sMtKQBUKhWLQUQK6yZhKQBUKhWJLoAR0kzFyJlbJ6nUx\nFAqFQrFBlIBuMsoCVSgUiq2BEtBNJlVIUVup9boYCoVCodggSkA3GTNvYldsXFtNZVEoFIpBRgno\nJiOEIFVIUV2u9rooCoVCodgASkB7QGo4TW1ZuXEVCoVikFEC2gMyI2kqC8oCVSgUikFGCWgPyE5k\nKV8q97oYCoVCodgASkB7QG4yS+liqdfFUCgUCsUGUALaA7ITWcoXlQWqUCgUg4wS0B6Qm8xRni8j\nXdnroigUCoXiClEC2gP0lE56OE3xgnLjKhQKxaCiBLRHDO8cZvnUUq+LoVAoFIorRAlojxjaMcTS\nyeVeF0OhUCgUV4gS0B4xvGOIJWWBKhQKxcCiBLRH5KfzWEVLpfRTKBSKAUUJaI8QmmD82nEuvXCp\n10VRKBQKxRWgBLSHTByc4KISUIVCoRhIlID2kPH9YyyfWsauqAW2FQqFYtBQAtpD9JTO8K5hTjz8\nSq+LolAoFIp1ogS0x0zfNM3KmZVeF0OhUCgU60QJaI/JjKZxHZXST6FQKAYNJaA9RjN1XMvpdTEU\nCoVCsU6UgPYY3dRwLbfXxVAoFArFOlEC2mP0lI5TUxaoQqFQDBpKQHuMkTGwymoai0KhUAwaSkB7\njGZqICWurdy4CoVCMUgoAe0xQgiMrIlVtnpdFIVCoVCsAyWgfYCR0bGVG1exRTn8uSNUFiu9LoZC\n0XGUgPYBZj5FragsUMXW5Mx3z7Lw8kKvi6FQdBwloH1AeiiFtVLrdTEUiu4hRK9LoFB0HCWgfUCq\nYFJdVgKq2LoITQmoYuuhBLQPMAspasoCVWxhlIAqtiJKQPuA9HCa2pISUMXWQ7penmdNVwKq2Hoo\nAe0DMqNpKgsqSlGx9ShdLAEg1XoJii2IEtA+IDOWoXJZCahi67H86jIAtprnrNiCKAHtA1KFFE7N\nwa6quaCKrcXyq8tohqbSVSq2JEavC6DwshH5VmhhW6HXxVEorpjSpRIvf/kY1F22S6eWGb92DEvN\nc1ZsQZSA9gm5yRylCyUloIqBpnS+hFW02HX3TgC2v2YW6UpOffPVHpdMoeg8SkD7hPxMnpVzRaZv\n6nVJFIorR7qS9HCaiesmGp9ZZYvlz7yI67houho1Umwd1NPcJ+Rn8hTPFXtdDIViQ7iORMSmrJhZ\nk8xoWj3fii2HEtA+IT+To3iu1OtiKBQbQroyMWnC8M5hFl9Z6kGJFIruoQS0T8iMZnBqjspIpBho\nXMtBM5qbldE9o8wfme9BiRSK7qEEtE8QQjC8Y4ilk6qXrhhcrJKNmTebPp88OMHKmSLly+UelEqh\n6A5KQPuI4V3KzaUYbGorNVIJAqoZGjO3THP2sXM9KJVC0R2UgPYRI7uGlQWqGGisokWqkEr837bv\n2cbZx8/hOu4ml0qh6A5qGksfMXTNEMVzRQ7/xRH2vGUOM9vck1co+omT3zjF8qvLSFciXcnSyWW2\nv2Y28bv5qRzZiSzzh+eZvH5yk0uqUHQeZYH2Ebqpc8uHb+byy5dVblzFQHD+6QsUZgtM3zTNtltn\nOPj9BxjeOdzy+1M3TnLpsAomUmwNlAXaZwxtH8LMmWr1CsVgICVj+8YYmm0vg9b4/jFOPnISKSVC\nqCXOFIONskD7ESHU+k+KLUl2PItmahTPqznPisFHCWgfojrmikFivc/r+P4xLr1wqTuFUSg2ESWg\nfYjQBK6tIhUV/Y905boVdGjHMEunVLS5YvBRAtqHGBkDp+r0uhgKxZo4VQcjra/rN2be9IRXoRhw\nlID2IUbWUAsQKwYCu+qgr1NANV0gHSWgisFHCWgfYmQM7IoSUEV/I6XEqdroqfUJqNA1NUSh2BIo\nAe1DjIyBrSxQRZ/j1LzE8etd41PTBa6yQBVbgDXngT78sUca73ffs4u5e3Z3tUAKb4yodEGF+Sv6\nm5UzK+Sm8+v+nZkzsctWF0qkUGyc4187wYmvvdLWd9cU0Dd+7O4NF0ixPlKFFAvHFnpdDIViVRaO\nLzI6N7Lu35l5k9qKpZIpdBAJiPrroOOfR6+ejLl7dkcMxUf+3ddbfle5cPsQM29iFVUPXdHfLF6h\ngOqmjmZoKtK8w2wF8YTgPAbhfFQqvz4kVTDVwtqKvkO6kuL5opc4XsLy6RWGd7XOe7sa/jNuZFQT\n1Glkz2y3zuCVfhDkUwloX5IqpKgt15SLS9FXXD56mec/8wKZ8SwA04emMNJX1oRkRjOULpbJTeY6\nWcSrHk88B0mConju28HpAigB7UOMtIFmaNhlGzOnljRT9AdOzWFs3xg3vO/6De9rZG6EhWMLTB6c\n6EDJFB5h4RwUCYriiado/NXvqDHQPiU9kqayoJY0U/QPru2iGZ1pMsb2jrLwsgqUawfZxgZh4fQF\nSAzoFj2nds69VygB7VMyoxmqi9VeF0OhaOA6EqF3xrIpbCtQW6lRXVbP+PoIhEYmvO+1oHQCvyMg\nm84tfM79gRLQPiUzqixQRX/h2i5ahwRUaIKRuREuH1VWaPuIutWVLCqD7LqNIlqKaL+dpxLQPiUz\nnqV8qdzrYigUDWorNcxCqmP7m7phkvNPn+/Y/rY2UVFJ2vpFVDrD6ufZLyKqBLRPyU1mKV3sPwFt\nNfaSNCbR7nd7sU/F+qkuVsmMZjq2v4mDE6ycXqGyePV6Wtp5ZgN8AfHetzOWOHisfV5J7upe1Xcl\noH1KbjLXlwIaJ+nhbPXQbvSzTu9TsT4qC1XSI+mO7U83daZunOTck8oKXf2Z3Rpjm50kao23+n/3\nUQLap6SGUjg1B6uPc4a2crH04za4PfLeI6WkVqxRuVwhM9o5AQWYuW0b5x4/h5RKItZ6fgdnduRm\nEFjivazzah5onyKEIDeVo3ShxMiu9adL6zarTdhuNYsrKVfnej670n0Gk7O3SrbQzeHol19m/sV5\nKotV9JRObjJLerizAjq0vYDQBCtniwzNFjq670EiqT5Fn9awGCghBf+aefU6uQ3ofp1XAtrHFLbl\nWTmz0ocCuvqE7VaPazdcsO18VzJ4GU76gYVji+x58xxj+8bWveZnuwghGNk9wtLJpatYQJPrk+rq\ntUMrF+7mdJiVC7ePKcwWWDlbXPfv2pl8fKUbhCv6oEzYjo6ZXOk1uuqQkvRopmvi6TO8c4ilV5a6\neox+oHP16WpnvfW+e/VZCWgfU5gtsHJmpQN76pwYDe6E7eiYyXoqoaK7DO8aZunk1hfQZga5PvU/\n0U5zd+qycuH2MfnpHOVL5XWnUAscF+GK2bkHqJXrtt8JRkvabbDUuOlmkB3PYpVtypfLZMeyvS5O\n1wg/STLSofP/G35VbBzRcOWGx5U7WZ+VBdrH6KZOdiLLytn1WaFx11B3I1oHq8Kv9zwHtbPQCZyq\ng5HurvsWvHHQzGh6y6+BGxXPVvVJddY6S3iqS+ctfSWgfc7wjiGWTi1vcC9XpwBEWf81uNrda7Wi\ntWmrAZk5E9d2N+VY/UNSR1TV1c4Qv47d8cYpF26fM7xzmPkjlxt/t9uYNzf+V3PFvNLGSdYdvv51\nXPvqb5Wr7Nou0nHRN8ECBdAMbaAFtDP1cqs8Pf1C3LL3Hbi+W1e2/Ha7KAu0zxnaMcTSySUcywHi\nN1m5H7tPNPjoaknSYJU863OzFnT3BHRwbX1VLweDsCu3E3VXCWifkx3Pkh7N8OJnDwNJ6b1aRcv6\n/1NsFNnWtd5alC6VO5q2by30lI5TtTfteJ1G1ctBobOdGSWgfY4Qgl3/aCd2Jdq4rBUgpCppp2l1\nrb3/bbXrPX9knrH9Y5t2vNRwiupSbdOO1y1UvRwUOhNYpAR0ANB0ges03+boOIqaz9h5OjNhexAT\nMswfnmfiwPimHS89nKY6QKuyJN/TpPFNVS/7g7Wv/5XUVSWgA8CgB1hsdZonbA92Q1m6VMKpOhQ2\nMbVeZiRNZbG6acfrLGFvhPe3YjDYaLIFFYU7AGiGhlQC2sc0T9iO0v8JGcrzZY599TjSlVQXq4xf\nO75pAUQA6ZE01YEU0Og4msq2PGhsLNmCEtABwMgYWOXBDbC4Omg9luJJZ3+L6MrZItXFKjtfvwOE\nYHRucxcwyE3lqC5WqRVrpPKpTT32lSNiFoxiMAmmqYmGoLaHcuEOAKlCCqtYU2sm9iVru34GISGD\nazlkx7NMXj/J5MEJjMzm9q01XWN07yiXX7q89pf7ilbiqQS1/9l4sgUloAOAZmhohoZTdXpdFEVL\n2gkyCsbKOrF1EsdaX77lbjB+7XgkaUi/kHzt4x2iwR3zvrqJ37Po9Ja16pkS0AEhVUhRWxn8MP+r\nl7UTMqw/D3HncG0Xzey1gI5x+ehlpNvPtnp8HqESy61Gc7KF1igBHRBMJaADz1oJGdrZujUR3ypZ\nm+62jZMeSpMZy7BwfKGn5WiNWFfjqhhU2u+wKgEdEDIDG6WoiLIRC9T/fecpXSiRm8p1Yc/rY+rQ\nFBeeudjrYiSyGetLKvqJtT0MSkAHhPRAz5O72rlyi7P12Fp7Y6nt0i8COn1oiovPX9y0ec/tX8O1\nkiQoBp/1z+FWAjogDO48OUUniVqhnUna4NoulYUquYneL2adHk6Tn8kz37No3NVc5/7/FQoPJaAD\nQno4pQRUQXzuYevcvO2zfGaF7Fim51G4PtM3TXH+6fObfNRwhHSrVVSUeCqi9EeNUaxJdjxLeb7c\n62Io+oLOLZflWA5HPneEHa+7povlXR8jcyOsnF7Z1GOulQReiaciCSWgA0JmLEN1sYrrqJR+itas\nN2nDS184SmG2wMytM90s1rrIjmWpLtdwaps777n9jocSU4WHEtABQdM10sNpKguDs2KFotO0F2S0\nVtIGn3NPnWfp5BLXvnP/pua9XQuhCXITWUoXSx3fd9K1aI6qbTeQS3G1owR0gMhOZClfUm5cxVpE\nkzYkNfpLry5z9Esvc/2D16On9E0tXTvkpnOULnReQAM6u7Cy4upECegAkZ3IUr6oBFSxNs3zRqPi\n8MKfvMCuu3dQmMlvetnaITOWobLQvaC5cBSzEk/FlaIEdIDIT+conu9mr1yxtYhbWAFW0eqrcc84\n3XUpB65ulRRBsRGUgA4Quek8xfPFXhdD0dckjYlGp2FYFRspQc8YXclq1Am6ufLQ2ukUFYr2UAI6\nQOTr40JqWTPFleGJaHWpRnok3VeBQwrFIKIEdIAw0gZmzqRyWUXiKtZHMI9RUF6okB5O97Q8a6L6\niIoBQAnogFHYlmflrHLjKtaPH3U6f/gyI3tG6Wd3ZXWpSmoo1etiKBSrogR0wMhvK1A8u7lZWhRb\nB9dxufjcRSZvnOprI698qUy2D3LzKhSroQR0wFAWqGIjLBxbIDueITuW6Vv7U0pJ6WKZ3OTGBDQ5\niUS/nrViEOntCrqKdZPflqeoBFSxTuyqjV22OP/4WaYOTdU/7U8b1CpZAJg5s4N7ja6oonLbKjqB\nEtABIzOawak51Io1zHyfB4Io+oKFY5d55vefJl1IkRpOMX1o7zqy5W4+F5+/xPCOoQ5GCa+eVEKh\nuFKUgA4YQgjy2/KsnFlhbL8SUMXa1JZrTN0wxcEHrutr4QSwyhYn/vYEh374UMf2Gc4NrFB0EjUG\nOoAUZgsUzxZDzUGrdOEKhee+1dN6aCJL/6YNOPG3J5i8foKh2cK6f5tcC5IWxO7Xs998ksaJO7Fd\nLSgBHUAK2/IUz6wQZDy9mh5ZxXpxa05fJoyPs3KuyIVnLzJ331yH9hgXToWisygX7oAh8CzQY399\nHNdy0EwdgQCkclEpErGrDnq6vwX0xMOvcO6Jc+y+Z1cHgoeiY52qXqxNJ65Rvw8PdANlgQ4YEshN\n5TCyBitnlkOrPvr/VSiiFM8VyU3mel2MVTn72Fnm7tvN7B2zG9xTOGBIjXuuFxm6buvZ/N9ebSgB\nHTAEXiBRZjSNXbHrnwbrSigUYaSULJ9cYnjncK+L0hLpSmorNSZvmNxw5K0KGFo/nRDAq1VElQt3\nABGAkTFwynbdeatQJFOeL6OZWj33bX8+KdViDSNrInStwyW8uhrztUi6tnELMi6A7Y0hh9f7kZHf\nrebW3Qp3RwnogGJmjZAFqlAk0+/WJ0B1qUZq2Mt7ux4LJljVU3EltHLDRsePk99H75S/BxHZYxJb\nbZxUuXAHFCNnYpWUgCpaI6Xk3ONnGd031uuirErxXJHcRDa0uHV72/nnLvDE7zzVo1IPLnFL0//b\nRcNFQ6Lhhv520XDQcNFx6pvbeNVC2+pjpP6xthLKAh1Q0sNpll5Z6nUxFH3MuSfO4lguM7fM9Loo\nq3LxuYvM3DrDejMFnX30LIuvLNa/v7Usm81g9cAg8O9HfEF2SXh2bfALDYnbkOJktpoFqgR0QEmP\npKksDu66oJ2qRlurP9sJvCtbK9Y4/pVjHPrhQ2ha/whMvBRW2WLp5BIHH7y+/km7CQ4k5cvVpu8G\nZ9rqfLfmE9Pu3Y1bhZ7FKRqvSUIafD/4XVw8BRLZsF0F4Da+F5bj8O+Tyjxod0cJ6ICSGUlTXaz2\nuhiKPuXYl19m+uapWEaf/hDRMP7apEbaXHfpKpfLCZ/6jbXfRA9ak9w5mgOCmkVRNrlgfUFNcsNG\nBTS6+XsRaHWhFLGj+J/5bAVrVAnogJIeSVNdqiGlhI4l3e4N6x0X2QoVr5sc/+oxFo8tcMfP3kF4\nYke/YJUsznz3LNXlGpdfusyuN+5el+sWwLEc7xea4PlPP49mamimhpHW2fmGXegZIxTusr59Dzqt\nxhyjcheVPTcynulLni+oEJ9XG92LbOxBNjYR2ZMnrVsvsEgJ6ICimzpGxqC2XCM1PLhJ5dc7f8x3\nAw1ypes2p7/9Kjd94Cb0VOtGq5csHF/k3FPnmb1jO6N7xxg/MMm6BU6CZurc+IM3YJdruJaDY7mc\n/vZpxvaNMbpnlKvxaYnXp/gUlWYB1UMBQoE1KiPvIS6g8ZAhDQdZ30v4OFrdleu/xhn0O6QEdIDJ\njmcoz5cHWkBhfRaoX9kGudJ1E6tkITTB0I5C314f13IpzBbY/tpruFLLUDM1pOMyMjeCrgcjn8un\nlqku+UMbwdPicXVYoUnzOqPCGcifgxaKrNVikbV6Y2w0vI+4+9b7pmhYnjpOYrnCIhrMFx3seqwE\ndIDJTmQpXyozMjfakf114zFeTRxXm8DdinhlC0a5tvaE7XYpXSiSm8zWM/r056QBx3Jjye3XX0oh\nBHrawKk6aDkDPx90ejhFdakW+qb3hPjZohP2tO5j9wOrJUVIEs7oSKVoWJl2aGqKg1F/DcTTQU+s\np2H3bHiCSzgYyf88jC+i0WCkwUUJ6ACTHc9Snu9eJG4nmt+1BLSVy8l7HzRv4YoW77XGQ0Wu5gn2\npYtlclP9nffWrTno5saT2+tpHatqY+ZM/ICh1HCG5VNLVJermDkTTdca4hmV0cEUziRaiWWrMJ+w\niNoYOBjY6I338TmfScKsxfZmYGNgRwR0NUs0XIcHWUyVgA4w2Yks55863/H9blQ4WwUxJH2nlYhG\nnW5edYu7bpPcP4HDbrBdQ1fK0olFhnesfy3NzaS2UsPIbbzpyYxlWHplmeyY12EQwNA1Q5x59AyP\n/frj2GUbPaUzc9sM+962Fwjs0a0SobuaeManpgRJEXzrUqvLnoGNWX8NW6JRAQ27c8Mjpr7l6aJh\nYDeVDeILy8lIvR/keqoEdIDJTeUoXSh1ae8be6zbcc+2HquJ9krD0tnu2MkgV8orxSpbzB++xL63\n7+11UVZl6eQSuze85qdg9vZZzj99vp4owrvjQ9cMc/tP3+49MVKycGyB4189Uf+NxB8t3Qrdq3bF\nMzzXMz7e6Yun1RBQo26J6o3/x/cRjHsGDt/w8QKaBTQsnoM+/glKQAea7HiGymIV13YRxvpdYu0k\nl1779+25aJP2lzxWE/3cfyci34jHBEb/FyYcQhL9fCsQPbMLT59jbP94fT3N/myYXNtl5WyRoWuG\nNrwvLWUgXQjnZ438Xwhy41mslVrkG/2ebKGdO5f09LcSTf+9E5E8XyA98fQ3W0ZF1MZoSrYAREZO\ndRGNvI3Wxeg0lng9jluh8XPv93qqBHSA0XSNzGia0qUy+ZmNu+3i4xxJ1mM740erj2sm95qbc5vQ\nOFKycLYe6fF6yAGD3sttByklZx87w9637qVfg4cAVs6skJvMoqf0Dd8VL05q9b2kCilqK9586WCp\ntMFKttBO/WkWzXCIjxaxPsObFRPQuCVqY+DKqCsYaAinjoMuHaRIdsmGS+G/j+/Lt0rjvx0ElIAO\nOL4bdyMCulql9D6H5mrhvSYTrQZJ+weIj9HEZTLYU7MV6m9BQH7QP/Zzcsbnng1a5WyX0oUVzj91\nHqfiMLpnJHLX+o2F44sdWx1GaALprn6emqGhp3Re+sJR8jN5spNZclM5Uvl0qNnuz2QLceFsx+qM\ni2c8ojZwzfoCmmoIZ81/L3Vqy1VqpSrMzCBl6DjS63b44mkIOxIslFQ/fXtXIHHRIpG4cfEcNLeu\nEtABJz+dp3S+eMW/T7JVkgUtLGP+Z+1Zos37TB6riR/TJ/xpeAK37xry82961dM/mguIhiU6iJWz\nHRZPLPD8J59l+pZpDj10A5qAfhVPu2pz+tunufH9hzqyP38ay1rc+NCNLJ1cYuX0CueePM/KmRVu\n+8lbyU/nGYQnY616E3fX+iIazOkMXLdOKFDIbligKWqY1KTJyvOnWfjit3FcDX3/Hsx3724Ip5T1\n4y8vY2R0zHQKBx1dNAuoXwobAw0Xpz5TNKkj4P8uLKj9ezeiKAEdcPIzec49eW7D+1nLMRoX0LBN\n2O7+W1V6/zVaDvCdbHH3rV85ffGUCLR6eTy8/3jldAeuUq6H8qUSEwcn2P/2ffSrcPqc+uarjO4d\nZWi20JGSmnmTWtFa83sjO4cZqVu9Enj695+hulitC2jQbHv0hxWa5LVZq/5Elx6Lh/kEQUHBlBW9\nbnWmKC9Wmf/CN6heXCH93rfD7jksaVLBbIgnEqQUOE89hfONb5F771tIH9iJgZ1ocYbradKYbJIL\nN/z3INRXJaBXxJXf2Ogsx+CT9vcYreD56RzF82tH4rYz8dp7wL1q0Fxh467daE9y7eOvXfGTeqbQ\nbIE2b+G4Qv+3LkHjGC1juLkMPhtMrJJdDxry6Lfz8K9zbaXGq98+zW0/eWvIw7Cx0qbyKaxibe0v\nhhBAKm9iFS2iwUS9SbbQTiBf0njm6rXAfx8V0LDl2bBApWeBXn74cZidJf/AndhaBssxsVwTS5og\nBbIunkiBuPMuzO3bKX3ms4iH3onYPYUjY+OrQm+q60ku6EESyySUgG6QK5O/6Ajh2hW09eOVHc9S\nW6nh1Bz0VPu3czXRjFbY+PvOCWh8i4u5Hy8ZF9DmXCkasi6e/vWKy3D8CvbzOOF6sEoWqby59hd7\niFW2OPbV40zfMkNmLEenRqM10/NaeM9++1HoZs6kthIV3n5JtpBUB/z6Ek6zF5+OkrzFhVSPzPO0\n/ShcaZJ655sa723HxHIN7PpGyAJFCoSQMLsb413voPTJLyA+/B6M6ULCAttJ9bo54n5QxROUgG6I\n9uUj+L5H8LukZj3Oan00oQlykzmK54sM7xhZswzhEkd7t0F6r9V7us3i2WzhNZ9bkoDGG4Qkizju\nwo06pHzx9Ctj9EypdwuS79LWmA1YvlRmaHt/J0546veeRjN0bnzoEGsHoLWPEAIz70XZZsezbf9u\ndG6EFz57mEsvzjNx3Tjj103U0x9q+OK52RG68Wc07rp1YsLZLIZG5DM7JpxJm+/K9ZMoWNJsiKbt\n1DfbE1AIRFQTXt0y9h5Af8Milb/6e9I/fL9XvpDlmWR1xmPq/es9qEKqBPQKaT27cbXfJMWztmMH\nrV6Zc9Prk0WqAAAgAElEQVReJG47Agrx8ZVAPKNbVNzCr8Fv229ckly34crcygpNEtAgc2c4dVhw\npfxXPxo3er3bS8QwCLi2y+LxBa57z4FeF6Ul0pWUL5b53n/xOjRTX9cz0w7poRS15eq6BHTiugnu\n+t9ey8KJRS6+cIlnPvEMEwfH2X//fiCok5v9hCSNe0ZFNIiejSY9MJqmnoSTIUTGQG2JVbZhKO/9\nLY1gcw0cV8d2DBzbE0/b1j0BbWzgahKERAjQD92ENlbwXLii2QJNdt2GXwPn+SCyhQW0ezckPkuy\nnWoWF894Qy5DTqQwgWy2HqHJT+cpnitGfpNE0hhEWDyTVmKI91qTKkU7JLlv4/sOh8v7Qu1fK3/T\nRdBcuIRTh0Vjg10k4endfuh8ELUbD5/fPDolIQvHFihsK/R14oTKQgWzkEJviGdnBTQ1lKK2vL5x\nUPCmt4zvG2N83xgLhxY59pXjEc9JdHw0ic6dR9wrFBfOaEBQED0bJEEwsGX973oiBEuajcEOR+rY\nJYvSUy9R+u7zGAf3kX7TG+r/Mzzxc3VsqeO4Bo6jNzbX0SPi6UW2u0hX8yzSVAbtuv1IqqtYncF1\njV67YJhmUNnCAhql9ePefFvXptkZ0Xy81WZPxp2NIvHVf98c6BDdS346x+WjC2uWOP5gRytnq8CD\nqIvIH2lsLaJJzqhmCzTJpRSP1gtboAKJELI+auN938CO9GTj11jELFBfSF2CrCh+CZvHSFu5ftdH\nN22Y+cOXGD8w3rX9d4LSxRK5ye4lt08Np6legYCGMXMmdjkezRuOA+++Kze5c+vVB9+itBpp94z6\n1BNv+kljLqdrYrmp+quJ7UD16GkqT7yIdexV9H17MO57O+zaSaWk4woNV9brutRxpIYrNVxHx3U0\npKN5wlmzIGWCqNcrzW1smvA2XYRXE41GT0Sd9tERUCK1d/DY8gIaDhZZTUST+klr7bMdEY27IMP/\naz5ycyUK/uM/ctHKLBHkpr0x0HD54qOtyW6hYHwlKmbRXJhxt1BST7P5TKKftbJAw8Lc+FwGrmJf\nOAUSISWGsHGxGmNCgRsoWqp4/DDQEM9wgoWwByB8n1p1ZtohaT+dFlLXcZl/8RKHPtCZOZXdonSh\nTHaifffqekkPpak11v+8MlJ5k+pSjeUzKwzNBuPJcZ/QZgQWxetHuJ6E0+5VSVMjFbzKNJZrUnNS\nWE6KmpPCqUnKf/8C+rXXYbzxPZDOYQmBLGtIEYt/EPX4BylwpfAsTFfAt74O/+wn4Pf/ArFvv1cX\n9ah4aqLeDW8hovHWovm1ux3NbrLlBTTcmMeJR2iu5ya2Esb4/1cT0eRSxmVAhn4dNPNu6AzSw2mc\nmoNVtjCyqSbxbF2q6JhnIGjN4yl+ii9fQOPTToKRjfjZeP9bzQK1XI3a2QUqR0+jzUyh7d/rfa8e\n8SekixDe1TCwYlUzembR0RcXDR03dM39eaPRq9maJCFdL3GB7gRnv3uG7GSO3FS+Y/vsBhefu8iu\ne3d3bf/pkTTLp5c3tA8zZ7Lv7Xt55g+eZWzfKLvv201mJAORp7vTd7CZJNdtvCPrZwyqkaJChgpp\nyjWdmmtiiTw1O03NTlG1U0hbh/d8CMfRkLaGLNVro6hvACL0twg8Xq4r4Xd/Df7Tv4SP/DOY24PQ\n6p1ZzUULb4REFCdWB1u3g4MsnD5bWkDbsR3aEbek38R/m/SdJDfGWkTHAN3GWfhVOBCMoCRCeJG4\n5YtlhnammvYZdZo0V9KwC9dJEM1wnszwOKj/SqQyNPc2gzIEAUuOFJSPnqX42GGqx85CIY+2Zzf6\nnlEg47mSGuOVLhSL6PkMZuPYUfGOhy748cRu3epMuj/tuHA7IaDh/XWiwbDKFq88fIKbfuSmDe+r\nmxQvlKguVRnbO9a1Y6RH0lQXNr4m7uz3bGPqxklO/v0pHvv1x9l+5yy779mN0Pzn23flQjes0CRP\nVFxErZgFWlpxmf+HZ1l69AjmO9+Gu3eaqpOmZqep1tJISwM7tLkiKH59k1r9vVbfhIRyCT76EfjK\n5+C//wHc/240zUUI17M+6xaoWMV9Gw5NbBbO9oyKQWALCWjSTWhuyONNYdINJfL/1seKPwDh368l\noOHGO0zczZnsetXq8ho4JPNTWUoXio08o76wxbsRzeIZdeF6AQpRd1F4nMV3r/oJpl2pefPC/D2L\n5hJryLqLKPi0cuI8S1/6B8zvvY3cW96EHB5pBDM4lo4r9Xqz5YJ0qP32n6Hv303+Ta8BM+WNx4jg\neIFwNl818JJfxy3mpI5Q9DXZrl6L6LG9s4gKdnOj0d6evd+cfOQEEwcnyM8UGsfoh3GkeAnOPnGO\nmVtmvJy1XTpmejRDdXFjLlwfI22w5745Zm/fxlO/+zTj144zsnM4ctdah/KtfQdXa6GSRTNw31qY\n/Cb/mDFC7vACcF9987kCb/lZSzL7Ip4anDkOP/sAVErwZ4+gXXcdQrc9S1N30DQXXbcxdQtTszCF\nRfXjnyFz/2sxp7KN7nc4kiLJpetdsWRh9f8eBLaQgAZE3YfJFmOztSSbvrv6MaJiGf9d+GFpdjgm\nE7bqmofi/TmYmicqMRHNT2YpXyzGjpHcbQgqq8CtBw65EeszEM2m16qLa0lELu1ZiXUBjYpn4HL1\nS990pXftIPeRh3BIYUsd2za8QAZXx61vUgrQXIQw0B56P/YX/4rl/+8z5N/7ZsS2oYZLSUNG4oej\n4h1E3PoiGr5nSZ2n8PtWVmhcTJufh/j4j1jzWO1QulDk/BPnGmtebtw27g6uIzn35Hlu/tDNBCZP\n50kVUlhlC9d20YzOHCMzkiE7mW0KLArGRMMyeuXHbBbPcL0Mgvh8AR27EnVsg22mgKqEb34FfuGH\n4I7XIf7Lb6ONFRCGja47aLqDrjnouoOueQKa0mrolWWqr54mO55phDf5yQKjKR2ahRSuzAPYT2w5\nARWhBmV110FgHa3mVlhbSKG5KjQ34OHAlfg+ww20X3kEWt261HAaFobWkE43JqL56SyLj56ri0Vz\nCcOlDDs6m6eUhMdavPGW4vkixedPUT56ltqZy2TeejfGbTfhuiEBFS7WI/+Ae+EixvZpjNkJtLSO\n8/JJMjftQx8biTT3rtBwhIHlBBlPXNcLm3ddL4ReSlF3FUmEMYJ89wOIZx6j+PE/R/ux9yKmco17\nGJ58E+2GeI+4v2LEagKaNFaeJKDh16TnJSqY4Y5U/NlZv1v3+U8/z8437CRVMCMl6RekKznz3bOc\n/MYphneNkJ3Md1XihRCkRzJUFirkJjsnMIVtBU7+/auM7BrByBiEnf1BKJ9gPRG6ScF9/vtwa5E0\n/ml1u6n+nf8TfuOj8NO/iPiZn0fPSITuoJmeYBq6ja7bGJq3NazPR75Fbv8sad2JLYbmRES0VVCR\nd10GV0S3lIAG/dxmazK5r5eU9TXcPLY/Jppkbcbf+98Nv8Yb5XhfzVtPRA9VNxFy3QYimhtPU7lc\nJiwR3n4lrWQ+7MINR/tZoWCFxSdPsPDlx9BvuQH9ja8jvXMXUktRdTVPQF2tYQnKG25CnjxF9ew5\nKs9/F2pVzL070DDRCdLNSQRSCi/Uvj6B23KMevh8fbNDAupP3NZ0tEO3o1UqFD//MPqH3k1gQzsN\nZ3RYVO3IfRTIupBGR1Jb32sZu3ZJ9yz5OQtGiP3yuI3Po89Ou1SXq9SWq1xz1/a+E06f+SPznPrW\nq1z3/QcZ3jW6KcfMjGWoXC53VEDn7t3N0S8d5cnffYqbfvgQZsGPLfDv9ZV0f/w9rNbtThpW8bxC\nXeX3fgl+5c/gTe9AEzYCC01z0A1PPA3NwtA94TQ0G1NYOE8+i3v4KNM/cb+/nkvDCk0Sz3ZFdJDY\nUgIaDjRvZX0GfTzZ9NrKtdAO8fHO+GvSQxOUOviPliBq4bPzvuPvwWuWXTSyoykvmEK6IHTi45/x\nY0Uf6XiKL68PWa3B8neOkP/g92NPznorN0gT1/GEU9ZfhfQsUDEyjTY2iXZrdH6YxG2kOwiXozHJ\n2w25bn3xdHQvjF7T6m5cCZpn7Zp3vBbjwBy2NNCk24jL9S1QTTRfd1kXT61xnd3G1W51r5MauvDf\nPvFnzdtn0MB6sdT+M+YleYh7JOJHT7JpFo8tMDo3Wl8Yupt23ZVTK9oM7xxmeJefFav7pfQEdOOB\nRGGEJtj3jn2cePgVnvidJ7npA4fIjgUCfSVzQ2XkfatObYKISq9OdvVS/uqjcGA/Qjpe6yAkuu6i\nGw6GZgVjnvWN06cp/vXXmfnQW8jkBCa1Rtc7KReSL6RJbWD0/WCxxQQUAplJ7ts1J62Lfu43je0K\nqP+NJCFefT5UODo12PwEBlrjNd58+4FG/nvPqWSYGkZGp7ZSwxzKhsqWdORmEY3n17QxkKk0hQ+/\nF4sMtmN4FqNrIF3Nm2hdfxW6bIS2S00gdYEUAjTq1mOrQKv6FQgFA/nvpZD1L4TugcRbWkkYMDmN\n61o4Wr3cwmh0O5I6KOGKHET3rj4+Hb9e4c/892FvR9jyjEciej4Et/6sROejuqEu0WrP3MKxBUb3\ntJeusVc4FRszu7nJ7bNj2Y4LKHju4bl7dpPKmzz5O09x6IcPUZjpzrShIAwsaK3iQyxdZbuXxpB6\ncJ6m1V23IYvTFEE0hD6WIfsDd5OfztfFM0jxELhx7ZBnaHULdFDZUgIais6u/x11pUbjTsPZXt1I\n4xsW0dUIBxEkH2dt10WzgPpNvPcqQlXLP6bAcwd6+OnSJZnRNNXLlYaAEvplknj6r9FVHQzCY6Eu\nppdUOpRgWrpa3UKsC6hbF0/dReiOF/yjExHE6H0KiaiIbgiJtGtIkfYsaRGU37sUAukKXFfDkRqa\n64tn3eqNXS//t+HcuVcqoEliulq3xH++PLdxcMdB1C3RaFKHwGZNKIuULLy8wI7XXdP0v37CKlno\nmS439jEy4xkWX1ns2v6337kd15Ec+fxL3PqjN9c9AJ0m2g2LtAmOxNWbp2J1lLpBLRoC6qJrTmS8\nMyVqpIQnoGZWYO4er7tt7ZjlGQ4kshv1INw2Drpw+qwpoA9/7JHG+9337GLunt1dLdDGSbI6A6eI\nvsZruwIaDx1Jcgf7zlH/tR0B9Vdw1+oiGh/rkvhLdQXH1+pNb34yS+liicKuMcLdibj11Bzp22pJ\npCDJtG37qzOYdQHVoG6FCtdF6g5CCoQEqXtl9JIgRO9F9BpK3FfP4Lx4AvvIcZzDx3CPHEU+8ndw\n//fB//M70QsuRH1xXy94yXF1NM3FRkfDwIv+dUkSUP88fRFdr4CGR8nD/2v+b5BFWEasTzv0Kz96\nOllEk7j43AVSQ6mupsXrBIsnFtm1yW1EpksWaJjZ27dx7snzvPqtV9lx146O7jvayY0+d1bZ4tiv\n/jUTP/dD7Zk7p0/Dxz4GX/winD8PU1Nw//3wb/8tXLNK58t/BOvi2RBQ3cYQdQs0lEAwPNEtOZW9\nHemOr+aJ6zdL9MTXjvPK10609d01b8kbP3b3hgu0GcQnGsRF1LcImtcniCayiwto64Y1GqoUHCc4\nZlyOws4ZEXLfhRtpL/DFSOilxa0ffzzUF1VBfipL8UK58f/mMreyleLLJIWqgQxZn1Z9eaO6gEpH\nA1dHuA7CFd74ifTEwhESUQ8w4vJl3CNHcQ+/jHP4GM7hl7EOH8c5cgJZLEEui7Zvr5cq7NAhuGYX\n8hP/A97/43Dn62jEL9ZduF66MQ3REFEDq1JB5Iym++Wfa9gCNbDXJaDhDkf48+hdCb7l4hCsUeqE\n9hb2imhti6iUkle+doI9b9vbGP/sR2rFGqULJUZ2b66bOTuepXK5jJSSrhiHgG7q3PiD1/P4bz5J\nbjrP2L71J4cI37noXUxqdbwnauWls6SumUTqbbjFjx+H170O9u6FT3wC9u+Ho0fhX/9ruPNO+Na3\nYNeu5N+GCiaERBeBBaovX8bIClKmE8nAG7htw4IZnQcab/9ajYP2E7vvmWP3PXONv7/+7/6u5XcH\n1IWbdOGj0hB1pUbTpDevihcf6KbpJofdtc1ji0GkZdgCXe0B0loIqC+eNkaLMiRPg5EIClMZ5o+d\nr7sNg28lWVJJwrny8nkWnj9H9p33ND5zpe7N93S1ID+mKxqr0/sHkeUy4tRh5PHDOMcO47z8EtWj\nL+G+9DLy4jzoOvrenZgH5jAP7CZzz2vR9u9F7N+H3LYdBxPXCVaCqOVzuB95CO3Lj8DM9rp+ChDe\n1XZdgXDr64ieOUfpj/+E/EPvwp0dxRX1cxIGjrCwMZoquZ96LHxFmp+ocL/Z7x5F7314H0FHzT9O\n0KUKPz1+98vr/ATzVMNeiXB5Lj53AT2tM7ZvlLWDh9pplLqjMvOH5xnbN4ZmaG2VolPoKR0jbVBb\nrpEZbs7E1SkyIxmuf/Agz3/qeW75sVvIjucI1lFKInqdZYv3q7Hy4hly1+1s78s//dOg6/DVr0I6\n7X22Ywd85Stw7bXwMz8Dn/tccklTDqQkespGN20Mo0ZKq2GsXKb4e39K+m23k7pupskCjderVnM/\nW3VWN09Eu3OcARXQgNYB4eEAjqiYNd9wO+JqaOVaiLvvVhfQZtFOivaNC1sr8Ww+53BZvHHQoakM\npQul0O+iZY9bnvGuxOVHnse49Ybm2DmpI2VdQC0J/+2XIJWGUyfh2BHk8SNw+iSOlDC7HW3/XvRr\n92B+3ztIHdxF+uAuzL3b0c2QZS3xsg5JDVc6OC7e2K/Q0TQd8bF/RfXpJ5A/8X70P/tLMNON3LgS\nzxJ16pG6xuR2tHvvY/kTn8d53/2kd05hCB1Hs7GFgSE8N5Q/LuNboPHkC3GiIWd6rGvl3YNAWoNx\ndQN/pRg7JHeysXmC6YbuTOtJEdKVvPK14+x92160RnvcXmMQ7GtzmqlLL84zecPUJhypmcx4lvJ8\nuasCCjC6e4Td9+zi2T96jkM/fCPpkSxBOBl0snMiHZeVl84x+9bXUl7ry5cvw1/9Ffzn/xyIp082\n64nrL/4iLC7CSLOHQMs4iIyLnrYwzBqmbqGXFyj/4Z8yfNtehq/bRopqREDj7tpmz16yeMbbts23\nRNfqhLbPQAtofM5n2EUazocavqlxV0NUTO16MxmVtfitlk1HSxoDjQqohkOtZHPyaIWhEY1t12jo\nelQ8/Qa0tYAH5x2Uw8WfYZgdNXHKFk7FQmS0UNOdLJ7h96WzS9Tmi+QO7afmW5918XSl5gmoFHD2\nDPyXfw8HboQbb4XX/iPEQx9Gu3Yv2v7d6KNZdKOe6ku3MOqv3tQSu1GZoB6s4LsyNacungaa6yJ0\nA+3jv07p7rchP/oL6P/Xf0G6QSCFlALpCC8Jtgv6dTchjAwrf/QFqtfuJnv37dhTw97Eb2FjyEBE\nPQENxr3DtmWYpJCzJAs0PtbtNvYYrqbJDYc/ycW/92ERtcoWz3/qOTIjacb2jRL2f6xdN8LSnSTN\nnaW6XGXxxCIHerS4d3Y8Q/lSmbG57ruPZ++YpbJY5bH/93H23b+PmZtniGYo6kzzXFsooWdMjKHs\n2nfvyBGQEg4eTP7/DTd4/z9yBO64o+nfIuOgZRxPQFMWur1M5ZOfpXDDTsbvvr4hnGH3bXgL14F2\nAih7L56dOe5AC2hUPP1XN2J9agk9o1aD3n7DGh7H9Bu1ZgEN+laBKy8uoA5W2ebECyWOPVvm/EmL\nHXM6pWWHpUs223YabN+TYu5gipEJA386w+rjBFHL0x8/kwh0oVGYzlI6t0Jhdyomvq0tUBuDxUeP\nkrn9elw9FbFAXXzx9CxQPvUJOHQbfP5bngsXEIaDMGw000Fo9byZwkUTDkZ9Aex4wgoAIVyk8AKC\ndASOrI9SSs8C17YNk/vkb1G8791o33Mr2vt/pB5EBK4rGsd3hYYrXMTc9fDjc9iPf4flL3+L3A+9\nG1046NLBFFZIRK2E3nJzhXJCzYJ/LeJj0fEOmi+g8UY0qQEJfAfBJ+F7du6Jc5gZg+sfPFi3PtsV\nz3hMgPcUd3OW3cmvn2Lm1hnMrLnpTSJ4FqiXSKT7CCHY8+Y9TB2a4umPP8PwziGyY1kCC7Qz19rI\npdDz6bW/2AG0jIOWsdEzFrosU/3sX5DbPcn4vYdIUSMdsj7NRpStExHQ5gGP9ufCbxbRYZSNM7AC\nGjye4d58vKFqPR4ZZH21mqzRqDy6kVse37P/PiygAolbs/jO3yxz5PESO/fq3HCrwTvflyGT8vZZ\nKzu8etzi5LEaf/7bJd7w9izX3pxpu3cWfxz9z4a3ZSmdXWZ49xhu7PetAoZqVcnyMycZ/em7vJXt\npdkIIHJco57kQENaLnzyd+Gnf6HeRtT3L9x6NiK3IZ665njiVb+uQaWqXyMRSpwvvHMIQnzqV9U1\n0O64HvfXfoXyR/456RtvQNx6R2P81XXrK0wIiYuXPEJoJvpr7kFoNlVLorteDk9HGF5AhLAxhOGd\nvQg5qkXzGGikk2FL7MUy7nIJNA1txyxCeB2n8H4MEXbbNnfqdIIVYvwEC624/NI82+/YhqZFR99X\nI/o0RN24gXW01n7aa/z9vVSXqpx76jx3/Mzt6/p9J8mOZ7n43IVNO54AhrYV2HX3Dl78kxe5+cM3\no+laXTr9qy5jv4k61YPuTXxgwHs1siZ7fuJeyjRHsDexf783B+W55+A972n+/7PPev/fvz/x52am\nhp62SJlV0m4ZcXA7E3ftIytKEeuzMQ805tGLi2VcNBtepx5an0EL7v8NtZUaK2dXWDlbpHiuSKqQ\nYt/b9ra9z4EV0GT8RmO1Hn9rd66J1eg5IV10IRsPelhE/cbPc55qTcc4c6zM3//FIrM7dR76X0fJ\n5/xk54GLI5eVHLhe59rrDW663eDznyxx6azNa96cx6h7Kpt7a/GSBO/t+q0c3Zbm8umVhiUUVGXv\nm37YVHilleLFIuZNB7AL49ScFDU3heWmsZw0jmXgWgbS0pEPfxUuX4T/6Qcb5UGjHvbuoOv1eWO6\nVQ99D9ymQQ81qFwhOUUi0HFDMzUNHFxsYSAeeg8vP/ABtg133j13QVq83n7OE1DhW8aAkNilGou/\n/3nsyyu4VQsKBcRQHpHPk31wziuzcIJNc/AjdaOuXaMunIF1GtzBZJyaw/LJJcbed7BlrzlJVMOi\nGf1+YN8mjarHw9LWI4In//4U226bIVVIh/azuSLqj4FuNtd87zVcPrrAKw+/wtx9cwndlHhXPzrf\nN16Pkzwaftu0KuPj8La3wa/9Gvzcz0EmE/yvVPI+v/9+GE1Or5jPrmCaNVJalZxRJXvXPnJaiSzl\nhmj601iSxjzjoqnFzss/77gvb7MQeB29xVcWKPmCebaIdFzy2/IUthUY3z9GYfvQuva7pQQ0/Ki2\nEs+kh9PARpcWF14p8fJTJU6/XKO84jAxrXHNHpO9N6aZ2GaA8Bt8f9RRNoTAf//Ew8u8+N0Sd7+r\nwJ4DRiN4KB7/GkxvgJkZwQ/9RJYvfrrMl/7Q4c0PDmOmW4tnNADef/U+G9uW4tXHLqDj4E2mCHqu\nvkUVTxYvrhkmc81eqq4nnjU7jWWnsO2Ut7SY7W384e/A/Q9CYdgrg6CRq1YPzxvTbAxRF1G8TcNF\nLi6hZw3MlB46o+DMbKJZS2xRT1+m0RXxBJgSJpe/8gTZN9yKlkmFlmYDJ51Ff/M96OPjuNkCEh2k\nV9aq7V318IRzXTq4Qmt61jS8iS16vYvgj86Hna1x5o/MM7S9gJE2oNEwQbgH3d77oMEOx/h678L/\n9d+vj4vPX+T8Uxe4/WduD5Vw88mOZ6nMd3cqSxJCCK77vgN899cfx3UkM7dMk58usNaYaFxEw96u\n8LMT7tyvya/+Krz+9fDmN8N/+A9e5O1LL8FHP+r9/7//95Y/LWRWSBlV0nqFjPC2LGUyVEILG1qJ\nLttWLtpk8Qx7Rjr3pEhXUlupUV2qUl30Nqto4dQcb7McFo8vMrp7mPy2AtvvnKWwLU96OL2hxBhb\nSkAh7MpttkTjwR7+w/DCNxd48dvLpFMu192c4raHcgwNwfw5m1eOWPzNpxeRwO1vzLH/5jRC6Aj0\nSHMjkJSWbJ791goP/uwE+TwN2yoa0BQdH/Ar11AOHvhAiq/8pc1f/I9F3v5DQ+RGmnuo0fOLfi4R\njE6blC6UwHU8t2rof74NHCySnQpNjU5RkylqThrLSnlbLe0F6jgazpnz8Defh0/8rec2rSeQp7FC\nvZf6q5G9pD7WGES/OpRPnGL+898kc8042f2zZPZfgzk92uiYJFmpCLy0gF3EEnmEm0FzPQH1r5uL\nhrtzD04ocb70CuSNxSIaSzx5XgkbqUUbQH9zms4sLImx8pQsjv3VUQ583wHiXpVoLHj4NcnijL4L\nhDTJwmz1eWuklBz53EscfPBgyPrcfPctgJExELqGVbJI5Tc3lWCqkOLmD93EuSfP89TvPc2tP35L\nW2OicXGJd7wCX0ybArp3Lzz6KPz7fw8/8iNBIoV3vhM+9SnYvr3lT/OZFdJmhbRW9QSUCmlRJUMl\ncapK1NpsnSC++VybXantIqWkulSlfLFM6WKJ8nyFynyZ8nyZ6mIVI2OQGk6TGUmTHklj5k3SI2l0\nU0NPaczdu5v8VJCIpBNP6pYTUGgWlviAdtj6PPrdRY58d4W3/2CBbTOe29b/7tBuwdxug9e/yeT0\nSZe/+0KRw09UuPtdBYYmouHytYrDY3+zxMHbMuTzYTGI9tCsqs0zT1S547VRAQbQNXjru3T+4Rsu\nn/2tBd76YIHpXZmEh7PZPYL/SSpFbkineqmIMRUEEnmuZ9E4cwujsX5CzQ8TkGksJ0XN9sTTqqQ8\nsXSBz3wC5q6Dm+8CKevTMaUnpA0BdRrLHRn41mcQcDB68y7GDk5jHT9D+aXTXP7jF8HQmXrfG0hN\njiYLKOBq3U1jZt91D9K0EW5dPKV3fF80XUfD8efBShpjsFIKdMNz31rHTyK/+yj599/vjQHjNOaf\n+p7GBjkAACAASURBVPHY4bNr7g7V76GUvPS5w0zeOMXY3jH8+aCrucKSXbZRonZms+M3WKCrfbug\ndKGEltYZ2zt+Bc1h5/GTym+2gALkJ3PsedMcqYLJ8596gVt+9GZ0U29c1dWu6WqesnUJKHjZhn7j\nN9Zd/qy8SN6UZKhEgobSVBPHO5PKHf5stfNcK4hHSkltuUbxfJHS+RLF8yVKF7xNT+nkprJkJ3Nk\nxzOM7R0hM54lM5pGNzc3hSQMuICuNd4p6nZXUk9Jw+XCyQqP/c0y3/ejI0xOyCax85sSTcD2XQYP\n/uQQT3y7xmd/e4kbX5tj3y05TrxU5dgLFudP1ti22+SON+dxXDj3qs2pwxVOHq5w8nCVE4drvHLY\n4uTLNgj4xvExrtkRWAb+A2UA3/s6jelpgy99cpnX3GNx/R05dGwcbEx0LBE4VQxMDGFTJd0o+9iM\nSeXcEqNTQ1iY9X37FqhnfVZJ18c709ScNDU3jWWlsSspnKqJW9GhonmXwHHhU78NP/CzUNNAeuFJ\nQhOgeen7hPSy8noyYaNJy7POcEJBBy5aSpA9MMPogSlceQsrz50ik9fRsEI2mYdE4AgdXTp0E8cy\nkWh1d7SLpklczfWyHjmB9elH/kpZv2tSIFyJJl3Erl24f/cI1neeJvOa62ICGaa5oQxvF544TXW+\nxI0PXNvU8UtqqNppuKLWbtz6jXfNAmspacQ1zOKJRUbnRlf9zmaSGfPWBR3esb5xrE4hgGtes53l\nk8u8/MWXufbd19LOxJb4EnfxIR4pJSf/9FF44KEulRzGnXMMCS0y3ukLd3iMM/4cBufQbmBQ6FpI\niVW0PKG84AmlL5aaoZGfzpGfzjGyc4jZ27eRm8xu+kIFazHAAhofC0y+qUlCKpCUlm0e/vQ8d79n\nmNEJHVFvwOO/j/ytCW69K8vcDRn+7gsVvvWVS5hZb+ZocdHlxceW+P3/4wInj1SpliXZvMauAya7\nD6S44fYM7/yhPLv3Cf7b/77ITz2wzKf/bphs2jsXgWzkjdWky7X7BBMf0vmzPy4xf9ri9W/PkDYN\nHDQsaXoiKvxAIH/6jXeO4zMG5XPLTBwKPvOugBdAVHN1Fp4+CQcPUbPT1Kw0tVoaq5bCqXjiKSsC\n/PSi3/0anD8F933A+8xTT6Soi6jrCa1Xfpfa1x/FKa+Qf+ttLVN7CSRSCEZvnK1XKTt01b1ukYvW\nMkK2k7g1HYm39qimu0jNReiinrReeLl3Xe9vXziBhhtXSoEwdFLf/w5qv/sHOHOTiOlcYmcuPA4e\nF9HqfJETf32Umz94CMMg9L1o6NF6e/6tBbP1HgMhbd0kLp5YYmz/eEfvxUbIjHZ+WbP1IoTgwLuv\n5fHffILTj55h9vZtIPyEm8nEl7jzxbNx5QVMHpzoarl3jiw3VlVJqqt+eeIer7WQUuJUHapFi/Kl\nEitnipQveS7YyqUyQtfITXlCmZ/JM33TFLmpHKl8dxNidIoBFlCP+E1t1SQE8Z5ew/Xit5eZuyHD\nrgMZCLlH4g1TueRy/CWHY4cdXn7R4fhhi+OHbV45XGNx3kU34Jp9aXYeSLPzQIY73jLMzgMZdh1I\nMT2rYYjweJiX8ei/fdrggTvO84s/W+RXfjMfkgu3MbcRCTPj8MEPC778lzV+//+ucvPtBre8JkW+\nkAqG9YWJ0QhU8piY0Tj8eLEx2O/tLrBAL33jCIsvXSZ77e2ecFbSWJUMdiWFW9HrAqp5YimAz/4W\nvOEfgzleF1VRD+7RkKYEV9Rz4QJLS1S/8QQz//O7o0FaSQIaq5rxOxDMwOyyBVozGlNwpOutKCP8\ncc766i+N13oZG49c6FUbH8N8zS3UHnsO3n5H42yiZyVjIloPmCpWePb3nmDuvt0Mz+Rivf14vHLg\nBA7vO3w8GsWKCqf/Pj7JINzNDAc3tRrXdGoOCy8vMPeWPRu+/p0iM5Zh5fRyr4uBntK5/n3X88wf\nPsuZ75xh3zv2Mjo3RvOqr+EgQBdozonsd7Kmb+yugE5zLlI3w89p/NlxXHCqNlbJSw5jlWzvtWhR\nXa5RW64H8yxb1IoWQtdI5U3So2kK24cY2zvC9ju3kZvIYeb6y6JcLwMtoM1N7mpu3GiTsXShxnW3\npJq++xv/aYHvPFxBunD8sM2Zk17jvW2nzu66NfnWHxhieMLg7CmX0WkDPW2gGwIjJfiee4cpjJl1\ngXAajyOAbbm8+EyFm24z+LXPjvLgXZe45U6dH/lJs1FRPEsUbzxOSlIpeOD7BZcuwXe+VeGPfq3M\nvutNbnldhsJUGgsTvT7PErwHfGpG5/Hzxchg/y/zU4xQX8vwDfUNoJ3FPd7+R4lX/qwlmT3pguO7\ncSXWE8+TuXEPqeEMOtVVBdQvb7gLFLfX9HpG2dX40Ifg4x/3Ag//zb8JPn/4Ybj3Xrh40Yvyb4Vr\neQIqDbeREF/U3cYyLKR11224HfT/F7k6abN+lZrFMxyR3ZgX6zoc/syzbLtlih13zCSMnYct1qg1\nG97/aoQbQW8N2bAky8bTp9X3Gr3izXs/89hZRveMkBnJ0C+kRzLMv3Cx18UAID+V485/cgfzh+d5\n4TMvsv01s+y8e2fLiE8/L3LYqosGo3U3DmBansUpW5QuVyktWFSWLaorNpUVm8qyTbXoUKs4WBUX\nqybRUzpmzsSob2Z9y4+lGNtVIDWUIjWUJlUw0UwjJMAQDSkabAZEQFv13NYeE2q1LV2yGElYGurP\nP1HEMATveijHD3zEYM8Bgx37U6RzRiOS0kHnrz61zA2vzbBtb4aareHYcOFVmy//0QL3/9gU6XTz\nyh1f+/NF/t2Hz/DJb2/j4M1pfvm3hvn5Dy1x46Ec33tXPfDIld76mq5EcyVe1ArMDsG73wJvugu+\n/Rj86W/Z3Hl3jZu/N4uuuSCEl9ZOaIyPZnGKVahW0NOeK7Ehnh1kmynA0YJAI8eh9vhzDD/0xsaV\nClvf0fxGbqhSBX1ex4Gzn/gakw/dh57SG/NnV0MIL93nr/wKfOQjMDER/d9aSFvzlmAToDUGdANP\nANJzRXHxEvLJx+DZp9H+yT8HqGdcCo1T7pwhbTqRxk8LWdLRLMPe68mvvoSuSfbes6PR6Ym6buOT\n1FuPiSaeX+w6a/hTsbw5QjJk/0j8JA80fBpRy0ngOC6nvvkq17/v+thxNo+k25oeSVNZrDa+sZrF\nF9C9UmsCJq8bZ2j2Fp7/kxdZPLHIwfceSHBP+qFG3v3x73W829VNvvmfvoHQID+WIjOaIjOSZrhg\nMrkrhTlUQM9n0LMpRCaFlkkhhR7q2iUv9Rf87caeVD+wqp1r398iOyACGkUQD+ePNiLxCb0idktd\n16W4YDM0pgNO40E4+qLN8RdtPv/iDvYcCC5NPSym0RwuLcOpYy4PvGcEI23iJ/+bvQ5K5QW+9qdL\n3PuDEw33rVZvlN74wBj3fW6F/+X7LvKZ70zzrh/M8cyjNX7ywTJf+YcMO2ZchC3RbOm9WhLh4olT\nfZnLYRfuvUVw8z6NP/oTi9pluONucFM60hBggDAk41OC2oUlzB1D3XWB1vCeIkfgvHwSLZvBmJ1C\n1gdQ445CL9AocOEGd1B4gqJrGFmT4pMvk73zxkb1XIt774VTp7wI/v/6X9d5DpoEzUXoLqKyiDhx\nGI4fRr50FPnSUdyj3iuLi2AY4LoYb7ob7dZbvXmvuo2hWZjCJrVvWz2SMZiAnkrY/ECNxedPc+mZ\ns9z5Uzdjas0rWMRzLMcXJIhv3jX3rqqPbNqTqMuoN2fVD2HxrE6tcW/8Jk7E9njxuYtkxrIMXTMc\nucP+sTrNWta1T3o4TXWx6nkKxHpjiv1j+ciEz+KsHlvrkx1OcdsHD3Hsb0/w+G88zvUPXMdofcm3\n+JWWkRJsnnh88KfGSOU1XE1gazqOZmAJ/1XDQmLjYGHjIBvd4HBO7bX8gNG5A9Hoc49273T/MFAC\nGq6i0duQdHviDUzw+9KiTSavY5h+PiHvG3/ym8vc8cYMuw6kWVxyMU1JJhtLfSc1vvO1FXbdmENL\np7DqUxQkAingtndM8ZWPn+frf7HInW8fJZvWgkZRuPyLX9/OT77hGL/wgXl+/bMj/MtfyvP84xY/\n/gNVPv8lSEuBVpNoNYmogbAlOIQ2gaG7TBrwI/drfPLzNWpLkrveqkEWL0G74TI1DZXzywzvsLor\noBZgCWQKpC1Jv/72pkoQFdHwHNjwf6mnfXAZe+1eznzhKfJ3Xt/4/lpoGvzyL3tZzP7pP4U96xma\ne/8fgvnbuMcP4549A0Igdu5A278Xbf9ejB94b/39PsSua6j+/EepffCDFB7+EubMCKZuY2oWhmia\nWRtLgRZshqyx8OxpTnzxMLc9dC25nGh004JOYJJ4RgU0LqT+FQ0T3oNE1Bs9iUO4CfPExm3alx9H\n6r23qjavPHKKuTfP0Uo8NyoCcWefv4+1mlcjY4AQWGWbVC7IyZsUU5x83OYOyGq/jZ9l9BfxAETY\n96ZdjO4a4rlPPc/UDROMzv3/3J13gBzVle5/t1KHyVFxNJrRaJQFSiAkEAhEEjmKJANeZAx4vQ7P\nXsd1ttfrxBqnNRhsosnYIgiEySaJJEASyjmPJs90d6X7/qiurqruHiGw9Z60B66qpruru+qG8518\nK6hsrMAoNSLfEL4X//xA1sA/QkPdDkiDqymYqo6lad4RLTeDrWzKm4Ue8MPsPlb5M3UgLhzUKMoP\nIwg//+EDpIcNgBaCp/93cT9TftBFeKnHS1QyKRfLdFEN79V0Bv76px6+dGMdDip/+nkH77yU4n+e\nHp6bJKmM4NmHekilYM6CauzsRIqYMFSYfckQ3nlqH3/59W6OPrOKxtZYDgiMhMtPHhrGFdM28avv\n9fHFb8b53V0JTju6l69/CX7xQ4EwQUmBkvZAFDvcJEJzUTSo1iRXnwx3LbV4YXEvc86SKKqLEnOo\nr4uzc28vNRxkADUBA3AEanMzemkfkAotgLBgE9auXPJFH/+90sYa3K4+ZCqFkogdMPM47TSvEMvX\nvw533/0RnqG/DM45CbV1EWrrSPTWBvQKnbARE+nPQRfjZ9+g+/33SX/yWpKP3Yqh4hWrFz54ZogV\nAc+c9ulm2PjI+6T39jD54haqhyUKwDMfIMOAWiy/uJhJ16ewhuBXzXIIcubyTWv+X75uRPZ1K23z\n7h0rqBhRTvXomgLw3B+QfhQKEmkCyr+fgaikPkn/3n70Rn/v1DAED0xhfSi/Dwf+zeiTFuvHfKob\nXUnpNZPYu3Ife5bvYe3ideglOomaBLEyA6PMIF6mo8VUpGnhWg6uaXulJOd9yEP8A1SXagcHHEMh\noxtkhE5GGGRUL+UtQ4w08dy888FTwc3xx3yTrjfX8oE0CGKL9npgyP5/sXvQP4sOGwAt1DyL/b1/\n2ccfEt1QqB6ss2eryYhROhLB83/pxXUkcy8ox3IEj9zazTXfrM1JWh3tkiX3dFHfGGfWxTWgRkNj\n/DuUCNQETD9nCG2b+/j7vbuIf6KeusFazgg8qDHOf907mOtP28GRUxTmn65wxz06p8+zmD5ecuVZ\nQAr27YAd22D7TsikoLkWWmqhtFwidQd0MDTBVXMFd70If3+yl+PPdVCxqK/TWb+hL5fHddDIAmnj\nace5Cj0B5cueYRDNN+3k/IZCEh9Ujr2rHaWp/CNJ3z/+McyaBV/60kd4hkdPR8RPQTUsNMP2tnPS\nLK8qEZ4fOqJr6VD9wC9pm34u/d/8MaU//XxWs7SyyeeFxbd9zVSzU6x/cDlYFkd9chwxXeZqMOeD\nYbFjfssH3GIgmm9qC38G/JXlj0fwr/8Z/3zv+3swSnVazmhBimDHmQ8D0o9DxVjogbBWvdTA6rMK\nrvC/dX+/6F+RL5QXo2Ig68Oo34MDGX+TVTEaZw+lcfZQXFfSv7efVEcas9eLYu3d3o2bsdEMgaaD\nYQgShqTH6qBMr9rPM3w86u3exeN372XKFEHrBBWrJE5aMUipMVLEcjmh4XlnoefmHJBzUznZCm3+\nPPNnaLg3w8Fqfi9FtdD999+hRIcRgEK+iWN/jCXaCiX5IU0xdm7MZAEUHrm5g9MXVqLHNf7+eA/d\n7S7zLqnERmP9BxYvLu7liLkVjJpeWSQcRC1gIAou1Y1lHHGaywv372P+p4agxrxQGhWVGSeV8vkf\nVvK5K7sY91IJU45UuOnn8JnPwd4tINOQFDC8HIaVg1EKa9fBky9CVRmMHgazJkA8KUmUCC4+VnLT\nXyyOnqmSMCSDK136dqXQHQtdsQ7eXLQE2MIr+ecGoxHdXtwXdcgdP0y6jA2uxNrXjdE0MBMrRjNm\nwPnnewD6zW8e2DWabqHqNprm7V2qKxa6CAA0qI8bEgaGlqE/+DN2nPBJyo8cQWz2eBLNdRiYxPFK\noHkyu3+eQbf6WP/nt4gZkkmXjCKmORHmVGjsKg6qA7VArg/HCPibH7gRAA1TeO6GATYfADu39FA9\npga/9GIhXBez93y4SbcYUEa/3QPB8K/JotcJ9BIDs88mzIyjs61YYNHAAnn4/WL3XEwY+SgChKpA\nxaA4FYPiITAK9hJWcHMFDR7gupzvPOGmSLopYk4/bWu6WP9GN20b0zQOcmmusxlVY1IuYNBJ8P7v\nYFwNOP1gu5C1dHtdkYR4DGYOg7eWSZ56WjJmYpppx0kStdnny5Ztll6UHQhCc84bnyBW2A0JayI3\n80SOC/vcsTDYKOizwwM84TAD0GITfH8MJbxldH5k45Amg7eX9gGlbN9g8sbfevn8L1qQCB6+uZOT\nL63AKNF5ZWkf6943mXtpHVXDkxG7//4AVOAFywyfXMXujWleebSdE86vQBXBXV35+UpWLUtz1cX9\nPLNUY8E5cNcd8Is/wGu3wMgSEP14uZdpmFYOzkjY1gdv7YA/PQELj4VYtSRZBVObBW+9ZDL3fEFN\n3MXtt6EvjV66fwD9h9JAstqndAWuFLgyX3TJh4JirIrQ0aO6047EUuKksr36UeiHP/T2D16y5MA+\nb8RMVN1C9wFUeEyqmDUjnEaSPKYVfv4Zdiz6IcZPFlH/r/Nz5c/ieeCppntZd8/blFUqTD6nEUMx\nI3myAwUFHehcjzI0CLNvJ8vG/JjoMOXbbHyg9U3v4XndtbmbhuMbC+Z6tJeKB5OEP59PxcCosD/c\nCIiGQSt8bpQYWH3mAY178afYn1WrUOsMn+dDbnQU9kfRT+eL53rIr+4X3pSdvax6vZ2Nb3dRU+Yw\ndTxMmq1TZlv07ZBsXg2vboCyOPzoj9BSCZrrAbahQlM1jKyElgYor4MJJTBhBrRJyasbXW7/fYbj\nTpa0znBBF0hVIFUlG+lPbrT9telX7g3mms/nvFkl8P3rvj1JEhay80fmcDDfwmEEoCJyXpypqOQD\nZ3FtVCCpH27Q22HT2Wbx6B/amXB0kuaJCfbstHhpcQ+/fLaFJ+7qRiI449pBaMlYBDzzQTSfUfgL\nSsFh8vzBLP31RvbscBk2LHSNUPnRbyu5aM4ePnO9zZUXwg1XwI03wzXfhyVfBz0F+K0f1BQ06jCi\nEZZuhPuegyvmer7PmU2C3yyBk+aZxJI2NVUK6d19GCX7r6P5D6WBWGQLzgukW6j3f1hMdKArRX0i\nIlv/tjjL3T+NGgXXXnvg0biGkUEzspqnr4HmmVVFbqlnAzpch/Tbq9HSfVQcO56dNz7IqMunk6w2\nsgCayWmg1o69rL53OUPGlTPh1CHERCYHnv7xQJh1cSExSK4KA2i4zxTULCyqWYZWqDEF2kIhzEmg\nY1MXKIJ4dTJ3nX8sZmgOeqs4mIap2LP7WnO+DaMYq/XXG3gm3L5dvR865uF+Cr67uNCSPx6FMzcw\nRn4cEM0XI8Mcxtc+jZwnMkPnlh5evnsX48YoLLjAoKHSJNZvsm2lyZKXLfbudBhfBUeWwqTBMC4J\nXxkPqpkdywxs6oaN62DpezCpEU6bCkolVJcJTh0H40fBwy9mME2HibMUpJ7tDUVk+9uN9IGNioKK\ntw1hMIbezAyPq3/uAWnYOhLuq3y7waFKhw2AhoNR4MNNuMW0z8DM5aJpkvEzk7z1bA+P3baPa78/\nGIlg8W2dNIyJs+adFENbkkw/tRJX0XNTOgycYTCFqIQdAKhA1QXDJlWweWWKwcNKIv6o0qTKbXeW\ncdoJXaS64YGfwuwRMP0q+Mpt8LOzgb5s6882DYQG8+rg9j3w8jtw7FGSqphkWDlsX2NRMd6iuiJG\nak8/yaYPL0T9sdNAssFN0hU4+zrJbNuCMaOhKJAWAmexmOpChvNx5NFvfhP++EcwD0AZMQwT3cjW\nABWBBhpl4D4kuFjb9tDx8Eto5XGGL5jJmBtO4PU53+C9y3/B3EdvIKFaORDtfm8Lm59YzcSzRjB8\nXGmuSHexwhIDgadPAwFnkFDg5HrQJ59VhTUD//XgiXxo9YO78kzAEtY9uZGRJ40EUQzuovadqOMk\nv/TDwACab7L214+faBMGGV+Pye+nWEWM9jX79jveInQcSNOMunwG1kjD97S/ufzhwkPwO/5GDL51\nwrNqeDuk7FzRwRuP7eP0swzGDndJplMkUilee9bk3bdcTmyBiU0SowtkF7QkYfUW6KnAC04EqnSo\nFjA1AekauG8HPNQL5x8FwvRKiY6oklx5Ctz6pElZmcKISQJXUXCyMQ75maleyfuou8znvmT9on4P\n5Ec0+G6DQPHIH6lDlw5BAC3uo/CO3vvFlm54m7JgCYd9CdG9JgWSCUcn+cmnttDf43LSgkrSaZf7\nb2pj/NElTJxdzqip5SHWFG35mmj+ovEYgDd1QDBkfAVv3reF6fPKcEWWsWSDbpqaVL7wWY3v/sjm\nlTfh5LHw4Jfg+G/AjBqYNww27oAGFQZJEDqggaLB+cPhf1ZD01BJQxImDIZ1qyQzR9nUVsTZ3Zam\nQn44gH7sNJCs+Va6Apk2MV95EzmjcT82gICZFg/ZyIeRD6fbbit8ra4OursP7HpDz2BomUh+po6F\nkE7W5RP4zlVcjFKIz59ESXMdhrAxsDjuwet4atp3WPWth5j9/XnE3BQ7n1lN54qdHH1lCzWDNGKh\n3ND91RsNH8MUzPdABAsXZCgeLCayGkCgCYSBMwj8iFbrggBGdy3fi1AVaibURyAlKp6qkfOBbD+F\n5rqodl34jA6+V9avkeSXfQgDqc94YxXZXFD2x37zoS4q3hXeS/Fo5wMF0P1potHv9XpJyxVy97YE\njEmTmEyz/pU21rzawfkL44yosEmk0ig9KR5dnMZsd7luLpT2gtwLK1fB82thbyd80Al/kIANloQh\nBpxeDXUGxCvg0lq4dw888ApccAyomgRdUlsLC0+DPzye4cwyheoWBTsvSNA/98BTy+526/WRN3Jq\n9jwMomqu3wpHxY/EDca02Jw+VOgQBNAohU0sIm+KFjNnhf1KGuENaW3C1XA0HIyYZNvaDJNnJdm9\n2eS+m9robnf43E3DqW1I4iAiC98tWNqFScQQXjT+maBicAIEtO+yGDokugRNy/PNf+nTcMmX4Y3f\nwMwW+OUCuPpu+PQ0OLYeXm33NpdvLIOmSpg6CMoNOKsZHlwGnx4K44bC88/B0aZLVblg/cb0Ae9m\n8rHSQMJzuaYGp70Lx/W2IAv3V/CXhsDzD4cNYB6jj9bo8Ue0GNP9Z1JceFs4qale7PdXY+7cg7Nj\nD9g2DZ85IzIDVFyUSg2lshKVTM4/Vd6Q4OT7r+Txk3/H8EnlaI6FYqaZvaiV0qTEyG4TlQ+g/rwd\nSFwIM918PS+seYbLNkavDc81iSTM+MNUuNIkAtt02fjMVsZcPAEptIJ1EB2rQmGzGJjmk7+WoxAc\niKrRvvJ+mdCz+iZAgcSoSJDuTB/AxtoBAy8mkO9P/PPP84X5fAEw3+BbjPEX/qaT41e5HVHcNMuX\n7Gbfpl4u+mSCugqLWJ9J726TR++3aKqCS+eC2AfvrYUX3gEjBSfVwpAMXNcGX6gF0uAIWJaC27bD\npCTM1SERh0tGwH274f434aITPHMvJgyphfPmCR542OSkc1SGTlLydE+PvK3ivXGy0XJHBxcHFxs3\nNMJBGlUQHy1C4+g5FAKV6dClQxpAo7oJFDr8832g0eWrhcwgWh6A4tisW97Hitf6OeeaSl55vJs9\nWy3mLahkUEMMh0Iz10At3ywW3LMXrC2RSKEwbHwZW1alGDIkEUwKCR+sdBg6WHDV1bBqBZz3TXj5\n21BfAtOGwSMfwDePgOo66OmETWl4ax/sS8H8kTC2DNabsPQdOOsUqEzC9i0O1dUKPW3eDgsHSh85\nDSTLd6UQEItDIoHd0YNbE4+w93wTegAMhQDqj6TZZ+EkE7ji4AOos2I1XUteJjGylpIRNZRMHUp8\nUDkamZwYFdX4vKcLp6g0Hz+M2d85gSVXPsz8G0/gmEWjSah+AEgQCBLeVzGsORbTVMLnUU0lf857\n9xNoQv4V0eYDzUA6fpjxu1Kw7unNlDdWUjK8skBwjMJbkNYViK5RIWggYcgXqMJ9EqxblXDEgcw6\nTMKiF5DTRP1iCnbaxkgMzN6KiwtRvlLcqpVvSxkYQAutKQMBaFQE8TVPHRvFNnnpzzvRHZMLr05Q\nGTOJu2m6dpo8eGeaEydLZjZK3H3wh8dB74dTh8MoB+gBJwa7TejqhQobVAEzVZhUAc/2wa82wmUK\nDEvAgpFw/y545A24YB5ejrcFLcPh4rMU7ns8zXQTxh5T2J82DkoWMH1XgX8M8kVdRBE7SbiffPD0\nNdQgjvrQ0TrDdMgCaBg0w9AUBdXik70YeHpmEYetH/Tx7ou9dO4xee/lfoaO1Bk60mD89Di//dpu\nfvm35uyvRpnO/sDTZwrhuwxiGv17VKgammDnu/1IkqEnFOxrc2kY5slct38LjloIV/0aptXDkwvh\nxD/A5U/Ao3OgTHqSY2MCfrseThsCSgyOHgR3bwRMaKiGPbschjYK+jtNFNvyih0cAH3kNJAsmglt\nlQAAIABJREFUePrPrgwbgrNtN25NU0RD9xeUbybMBw0gqsFIwdabHqXmMxfilh5IxfuPT3GRJrV3\nD4MvmknZiOqAeeGgZH2hhbYH79zfUM7AJL1tH4bm0Dx3OK/e+CbHXTaERLkM1W/xjvkA6jP/Qg0m\nCqrFALR3X4Y1b/SS6bMx+x0y/S6WJZl7Xjm1Q719TiVB+b58LTVM0d8UrH50Az2704y5dDKBuTbq\nxrDzADMwPGq5QiP5LZ/yhd/AauSb0xUkdkg4Da7L/x7wtjXLdKYxEqVFnzMqnuxf+wzfVz6Y5osm\nA0UgRwPlosk1xQR/X/tUHJO/P7CHpGEz//w4SZEhLtPEnBTPP2lx/HTJjJESpQveeB8qVLhksqeJ\n0gayH5rx/J5ru2G6yP6hQIkCZ8ZgsAov7YEF1aBacEEz/HQF9PdAshwwQRiSEYNcFl6qcsdDaZS4\npHVKsTGMaqEeaKrZo5Y3s8n1RdCDfolJryfdyIgfSDmM//d0SAJovvwdlhQJned7X/Jl4Yj51rV4\n8+kuNq1IcdyZJQwaluDC33dw9VdraBof4/E7Oxk+SufIY5M5CckHz2JAGgYH/zP+NZ7u6W9OFARE\nJCoNejvtYBpJkBJS/ZAc5P1dnoRHvgHTPguVU7yJ/uAZMO1O+Nbb8P0mQIVyDcoV2N4BDXGoroCO\nHnhvHazaAMteyJB6qIMlTwzngVt+yqV7D7z/P1IaSCgiQwqBGNGAtWkb7hGjIlATLJFAWs+nsEkw\ns68PEY8hSkuLMt1/JsVFmrITxmRZfzoXwOGZVvOZadRs6ptwu1buYOOjH3DEuSOZd8Mofj37Ye7+\nxLN87qGjiCt2xLeqR0DZxTdn5881KGbVCGbivu1p/nZPO2OnxKhv1igtUYknBTu3OLz2ZA9nXlWB\nEL55LFwovrDogk/+q+0bu2lf38WRN8xA6vGcNhkOorMiK8wDTSvH/vXseWHUej4puJE1q+JgYEbW\nVrF+8M/z3zcq46Q6M5QNKQ6gxcPXCgXyfH4Sfj1szs3XQPPvOaoCFHv2KM/SsVClySt/aUNxLE67\nMEFSpInLNHE3zcaVGeyUy1FjQe0Ct1fy8ntw8WgQ2Wh9UrC5HV7cCfUqPN3lRe/XqKCogAooMKkc\nnu6BTD/EkqA7MLYK3l4Ps+sAExTbRbGhrgIuv0xw571pVBVGTQ6ewwNNBzUXTBS4bOyCPs4PrnJy\neqcPlkG0rtezh5LfM0yHJIAWUjTnK8yM8/0SxUA102Py4gNtGLrkwmsrSCYlryzpobPN4YzLSmjb\n7fDi4h4W/p8aFAFuwfT/uHcdBdWSSp2+rpABQwgQ0J+SJBJ4c0SBsSPhitlw2/Nw+Xg4vhbuPwXm\nPQoTEzCrHtZ0wapeePodSC2HNT2woRO+/QTUVkB5hcURR5k0tAzmmMt+C/zigO/7I6WBZBejFN6I\naC0tKF0JXFfBEWrOGBWe/15wVaFfNtA7NPq2daIOH4wtPcZ7MNePITIhdh+0QOeKev0izNXNsPvl\nTex+fQvTFo6hdohOjAzXPTSHH05/nMd+uJIF32iKgGd+VRdfwPKZcNjMWch2vLNt69K8+FAHc84p\np3mMTuAbhJoh8MHbGTatthkxVi+4+7CptVgzXZXVT25hxMktWfD0gTFq2/EBM9ekjuUa2aZjugaO\n1HBc1WtSxXELTbiKcFEVJ9JiIoOlmBhKBlvRMEQ2/zE0EQIrRui7cIlXJUIba4fjvaOWrGLa53X8\nkBIq/pnTC4A07SxmYYSfCALhIexm0l2L1x9tx+rIcPblSUrIELNNDNeCtMVzSxzOPR40G4QF766H\nmhKv4Art3hdnJDzcBjNLPLPt7f1gJCFjw5VlMDQGKBCPwwgJa0yYlA1OnNkE96yFmUd715LtL0W6\n1NUoLLhc4Z47TPbsFkyZo6AbSq7oSLjUZD7/DAsYvtCoZEU6X+Mk0nyLY1ilOrTosADQqLcsfzEM\nbIJRcdizOcVLD+xl4jSD6XNiaIr3uYd+38VpC0qoKJe892qGjr0OZy4sRc1a8fPBOSxLEjoPTxKf\nCfr3mg++RkLBsSVmxiURCx4ulYKSUpEDo93dMHY4fOkUuOg+WLkI5oyEa1rh0je9y0o1aCrzqorM\nb4YrZsI2G46ZBlOPhv/8a4zL/q2GJ95Yh1n30fdIPOA0EB0vyTqbHybLKxH1SRyZDhitCKf5BJp9\nPoUBtH9rB8rwwR6TltrBBdCseTVsiNRCmkY0wCMAz/TuTtb8dSW6JjnqX8ZTXiHQsj7OwU1xPvPn\nGfx0/suMmZrgmPkVEeAV0gHpoijkABT8kH6vdwq1Fg9iN7zXz7IlXZx0STVDRmhZzdIzCEopQVGY\ncUo5Lz/Ry+DRJUg1HyT1nPboQ3oYCLe/sw8Mg4rxQyKaZL6IERQvDDXHwLINTCuGZRs4toZrK5jb\n99L30GKkm9Uik0m0ltFoLa1odVUomoOiuSi6i6o5WFqGmJbG0jRsoeGIoOa0T/580vDXm/dvrDJO\npr0/22P5LWD0YSHcH9+DAZ4AcaqJkcmNoi9aqzkA9UYk05PhxcUdZHpszr8iQYmSxrAtDNtCty1e\nfd5hRB001YHSBdKEv6+EM0eTE8DRYOk+jz880w47bK+PftwHp5TAvRZ8vhqP35R4RRRWpmFSHIjD\nkGqo2gWrdsLEId73imw0upAug+oEV35K55mlDnf/qpuZp5TQNDHubQcY4pfRccq3nxRaQooFiwbj\n7X/foaWJHhYA6tHAZpewxBMGz0yvxfP3tnHi+WWMahE5hti+y+T5xf3c/kI9Ci6P3dHDmCMMHLN4\nxF2+1juQhwOiIOpTDlSFIFGmku51qIgF79uORNXxJr8Kbb2eSfazs2H6IKipAPogGYPmUnjpDBhc\nBt0O/HYVfOV4oA6W7vKuT5aCFBLTcqmsMVjflmF/9A+lgWjkNFCJwHUVXEfBUVRsoWIpGgp6nqjh\nJYTkk8+YU50p+j7YRtnRU7Glji0P7q714cjYsCmtmLfb19/Su7r44I53GHXicEZMrSImAojx4WnK\nydVc9v0WfnHZ+zS/cQQjWzRUabF1VR9vP9+LlXY448pKqqrz8yOVLCAGEnhYb3n3xV4mzi6lol5n\nw4oU29ak2bYmzYb3U7zw1x6+e1cDU04opbdH0tcLsYpiGme+Udlr295tZ+3T2xh7xZHYwigKoL5/\n04yk98dIOzp9q3bDiFYsK46ZieFmVFxT4KqlKKdfi5sVyGRPF+kNqxBtG9CPmYMSk4iYRBguiuFi\nxVJYhk5MaNhqYDT1+yTaI4GRWiKIVSXpXN9eZKSL8Y+wwH1wdzwxMAt4hwegFpgmK1/pZtWrfUye\nqnHMeRpJJe2V4nRsNMsm3Wnz9usun74ElDQIEzo7IZ2GkTVANx4o6rCyB57aCm91wOOTYY4OD+6F\nm9rgrt3w1xRcMxgurIcqA9ragQQQ89r4RtjYBhNVEIrfb9md/6SkvNTlzPN0Nm1VeOqxFJvX2hx3\nZgm6oUUAtBh4BvEQxeo4FwZ3BSN36NFhA6BhF3wxECumgS5/tpPRR8QZ2aKhZBmkgstf/9hN0xiN\naTNVOjsslj7Qz2d/UMm65WnqhxsFIDowaIZzwKIh2QOZgBVV4Dgy8lBl5YLuXgk1gAqtI+Hx56HT\ngvOmAn1gZeDOtfBfMzwJERXW7IXRdXiT3oAeG+rKAA1UzXO7V9Wp9K47sNJmH4tCGqgrFYSreOZb\nVBxFw5YOinBzS8OHhfwAEAgANNPdRXzuUci6eiypYUuNPdKmXvzzp2sHqWwh+MDvqeZpn8G5p4Ha\n3f2suWc5Y05vZNjEyiDdIOQV9NuFXx7Oxjc6+O55K/nqrY2sfaMHXXU5+qQk/d0OT/ypnbOvKqes\nqlBIcFFwHZddW0y2rMlkgTLFxvf6ufUb/fR2OkgJNUM0RrTGGDHaYERrjJ9/dgdXfHUw42eWkajw\nttwL+yKtgqaTcVRWLd3GnjVdjLtyKsagqqIAG9ZW/fT+lDToWrGD7meW48Yq0WomYbllmP1xnLQK\nKYFMA2mB9GU5ZRC0tHrjvg9ISETCOypxiS11LKFhawqO9PQaCDQczz8drHtPC/fCUGLZIKKAiptu\nA20pEJIOJsXI5GnAEhybje/08PZzPTQ0Ci7/lEFtuYvhpDF88LQdVMvl7393OaLFpVrD83NaUBGD\ntAmumzW3KrC6G25eC30W3D8T6iQ81wkpHc6ph++Wez7Rz2+Ez26EWYNgwQQ8AI0DBnSZUFVDLuiI\nnAYKiuuiChepODSOEFyxSOfpx20W/7GLsz9Rhh7XctpjMVHFt/KFgbQ4jw20UD/o6lCjwwZAfQo6\ndv8h6B27Mmz7oJ8F/1qFEtImcB0euKWXhf9agioki+/so36owvlXJbn/ln5mnuqgaCr5YJwfzqAQ\nBGR4Zrcg6Dq/ZmdE4lTxSrsAIEFAebmgu4ecBqrHYdoYeG0zzB8FWLB4E6QduHA83iTXYGUvHNUA\nMjvxOy0orwKpg6qDK6CyRqV7X+rgDYgmCzRQx81qPEJDSG+BSBkdMVUUAVDpwY5oaEBryGo8UseW\nGuPNnVhSx3WyGm5nH5lx41Fv/RPaKfMQiouiuAghMVQTXTExVBNDMWH9Ovof+RuDLjue0mEVXmF3\nwuklVgF45ptvcxlsqRQf3PUODUfVM3RiVU4fyw+CyflIheQLt4ziUxPe4ufXbeZ7dw2jqVVDEQBe\n/yz+Yyez5pexb49k8xqLzWsstqzxQHP7ugyWKUmWqzSMiTO8NcGRJ1Zw1OkVdLXZXPrlwdTUqbk5\nmUq5fHLqGh64qY3fvTkhYnYNQLBw19IVS7bS02YxftFRkCihoKyEjAKpibfNVeeaNjqeXo6lxlFO\nPhXqRpPqi2P2ek32q14VrW4LulLgT0U9Dno2NDwGlIRa0sHZvh13VLUnmGkix8AV4aIKB1V4YBcI\nzk5OBzUqE2Q607jSA5X9JfXkC94HkwzMnOnYMR1Wv9nPipf7qK2Dcy/WGTYsG7Ft2+iOnTXb2qiW\nS+8+eG85XH8RiDSIDGB5GmFZzOvaagX+sgYW3gdnNcG/joWXtsIIAzZYsNuGzzTDqHI4TYMfAvft\nhe8shyufhN+sgmvmwIK5sDcFU2s8XiKzAUdhJVDg+UQV4RLXBaedo/G3Jxwev6eXs64oQdMpAEwV\np0D7LAaY+eAZxC0fenTYAeiBkJSSN57s5MgTyojFo76215/LsGubw7kLEyBd7r+5n4uuKaGqWqF2\nkMKWNSaN47UI44zGlBUfyHz5Ngg+ycuSUyTSiYbDl1cIurtDWqkKM8bBb+6HuS1endqb34YrjoRk\nFaBBvws7LGhpBMpBlkGXAyW14CQFGAJbBaNc9XI0Dxbp5PyfrlTBkTiWxFYlZDJknn2R5InTiJUa\nSJFdMkJk4+6iMmVBQIvUsF0N2/GOjqPiuiquK7Dvfxiqa2DOPKQrENlnFEJ6m4qLbJWa7m76HnmG\n2ktPJDGsAo1wEffCoKDigpP3esfqPWx6bDWDJ9cyYtZQFIqX4AvPCYlg/Tv9XPC5wdz5/e088NsO\nJh2dYMuaTLaZbFqV4Wdf2IceEwxvMWhojTN8TJyZZ1UxrDXJ0NYkZXWx4Bmzv7PsiQ5eX9rLSZfW\n0NNusfHdNBveS3HCJbU8fNMubv/hHi79VnOBFhns7+gVHNz0dgd7N/Yz7pqjsOMlIdEiauoNb85m\notO1cjcdT7yBfuJcRONYTCuB027gdOvILhW6BfTgAejmLfDWI15uoQBcC6rHwZCjoXYwlOG1UkDr\nx35pMenmIYgz54KbQIl5FXJU1UHTHFTV73t/fALGrMYMhK5i9VmopVrOIkTB6ISTyfytng8eadKk\np91iw3tpVi1LMWykxlkLYgwbDJpro5sWumuj2Vmt05YolkRY8NJLcMQoL/peWHglNL0tdakug7YU\n3PgC/OgJ+K/T4HNTPBPvzEYgA4vXwYPvwH8/C6c1wKLxcGYz1CnwszNgYhP84S345qPw+Qdh0ij4\ndguMTgqcmMCNCVxd4CgCVwivmlooP1sIwdzTdR5/yOLJ+/s5ZUEZQg20+4EUiv2tn8OB/lcC6K4N\nadK9Dq3TKoBoGbv7b+7l1AsSVFUL3n3NZN1Km/OvSiCQjD1C54O30owcn4iAZwCiYSt9IYUNRZ5/\nYwAGLX2PjveN5eWwfWd28mS10LIKGN0AL2yEMdXw5Bp4+wtAmScRvrUNRg0HvRpkCdhJ6HGgtD4L\noLrAVgVSUyirPcAk0I9DOR+ogutKcFQQEiElKAmkXkL37x+i5Jy5xJsHZ8FWiUTh+gsnnFdoyxCA\nuhqOrWI7GtJVvLq7t9+OuPQTIHSk65C18IWiAb0R08sT1F1/HvESFZUMhRWNC/P8okDqnW9asoaO\n1XsZe/5oakaWhUyIxUu7+dTTabHq1R7OuW4Q8QT892e28sIIjZHj4jS0GpxxZQkNrQY9XS67ttpc\n+G+DEGrxCj75FWAmn1LLM7fv4u7/2o2iwsiJJRxz4SAqh8RpPa6Wb526nIapNRx51rBQFqoeAc/t\nq3tZs3QbrVcfhRUvz+1mGsQLRwH0IeZSI7IO/AnAhEui82HwQBNlFPDFA5xUZXDJ/yn6Tptrco79\nIppq5/o/P7VE4BKrTJDqzBAr1QcEz2I+0YNJ9/x0D7oGjS0qF10dp6ZWoLkOuu2Bpu7YOY1TtTyz\nrdMvWfoibNgAV58BZEDaIHwABWI6LPw9bNwDT/0bzB3pfQ4r20w4qxzOmgJvt8HN78JVz4HxIkwa\nAr+8DJpHww+mwLdvgHtfg+/dDqfdAEdMkFy1EC68WKG0RMFRA/D0dmYJ+aWF4JRzYyy+N8NLS/qZ\nfYZOODGrsFxk8aBQ//sOB/pfCaD93TY1wwwUJcpwOtocnnqwn9ueqkEAf745xYlnxRg0xDP9jJ6g\n8cozGfZuM6kZruQYaphNDjS0xTXQYGFreLvK9+4zqaotDbFEl5oawfK2qAaKBifPgLuXwq3PwdRG\niJfDXzfCmjZIJuDCY/C0zxJYvhuGDBeolYK0Dr0WJGpUelRxcAE0q4F6iaAKjh0yuAjQjj8R0dhA\n7yNLMEcMJj6xCS2posVVRMzAXLUBpTRJ4sjWwE8noxqo43haqGNr3rZp7yyH95cjb7kX6SqguCBz\n8fZZLdQzLym46CUxNDLZKFunKHgWS5T3wbNvawftK/cw/YYpxGIiq3mGC81Ht3YKxw0acb9OssJZ\nnx7MnHMrGDxMzTFwgN4uhyfv6mLkhBJQAvDcX64xePNk1iVD6euwqBpsoCqe2cxEZdyJSS7/cYYb\nr3iPby+ro6a1LAeCGWL02QYfLN3O7tVdNF06A6WuLluptxiAajngzYHn/yeqVQwybgwtm0vr5R8G\nJnQ369k0KhNkutIwvDAXNJS6/NE1oB074NvfhieegD17vGi7+fPhW9+CYcP2e+nFi0qoqoxuV6ZJ\nJ6t1OuiWg27ZXkF3U7Jts8PipTCkCq45HZIKXmGD7AYOuPD+Zvjq3WA7cNNVcPxk73VieJvc+5/1\nSqsxZQh8ZzQc0Qovb4KVu2HS9+CkI2DR2TBjCuxKwy0/gSFNgj89CD+9SfLVb9uce6HKwms0ps4S\n3obqQgRzMdufmgrzzja4/VdpZp3uIJT8DRmKCZ3543N4gCf8LwVQRRW4TuEgfOfTbSSSgqOONwCX\nhdfHUVSRY34xHY4+IcZrT/dx5pUaqsgf5uC8MLkg+pliGujOtT0MHqGTjJNjzgpe0eaOdonjePv1\n+ZF0ZZWw8GT42l0wqxVe2Q5j6uHYadn9OQ3vcx0OPP0+XHopOCWCnd2CinoFkfQkxdK6g6yBKp4k\nKt2gQDxk5UohUJtb0RYNxXnzDfrfWYdiphBWBpnJoFSUUXru3CDpXqrBMWTCdWwNx1I9X+qdf4IT\nToVBjUjH9QBcZhmib8Ilv/SenwFZmPm4P5+nkA6blqyleV4jRkwJjVsgAOXPkPDM0OMqIyeX8MGy\nPmacVErNsDhuSPvu2GPx1F2djDu6lAmzyvMMx4UAmg+iakKjPOGVnvQqxAZPO+/zY1m9rJcbz3uN\nL756FmpZHBOD7h7Bm3d/gFpVxphrj8NOlGXB0wNXk/zoWw1TapgifvDm0Ucg04mhh3a00bCyYpGT\njUkQGOVxMt3mgGz6Y5kQN23y6lw2N8Mdd0BLC6xfD1/7mlfC69VXYcSIAS+vqSwsGKFJB91xPAA1\nHfSMi9krefpFWLkG5s+AccPxBjcNuCAdEBLuex6u/m9YcCz8eCE8ugx++jQ010FLPYyqg9JS6EtB\nWzfs64cd3fDBbg9oF10EShJW7IRbnoJrfwGWAxecASefLRgyWuHL3xZ87luCZ/4Gf/qDy1knZhg1\nRuHyawzOX2hQWR3uV68PS0sFJWWCfbtsKocauXUSNuUWK5JzOJpxDzsAjTDnAj3AYzSoCo4jIoxI\nxeH4s0p4bnGKh29Pc+GVcSZMNUJD5v07/kiNt1422b7eZFiLEvrVUCAQQcFkNfuvr2UEAOsSVAL1\n2o6V3TSP04N4RmmjSoeYKqkoh31tUO9XrctG1D2zwkt+vuMLUJnwzDfEQBqAAY4ODy6FY2aq1AxX\nMXWVzbuhZpiBJQxsoVFSexAr+WjhwAvhRS4BUqi4QoJQPeXQKEU/djaaYqOpNqoSBIFIJA4yAhQu\n2d1qQstNIrxq+o/8GW68FR81hZCe2Vh4QSZ+U/GPwU48A+8TEoxgeKHvfXcXIKmbVJebI+HnzRes\n8j2nCiotR1Xx2E2bqW+MUVOnUFqmoiiCXZszPHdfJzNOraRpcmmoPlHhXfpzjHBfkK/zQkRkEyqX\n3TKbH896ij9d/TKX3H8mnfsc3rpzNdXTGqk9tpWMSJAmHgFPEwNTegk5ttToXbuLrueXk7z8fC/I\n5/8zma6BjkFQpkPDTzJys1qoXh4n09UXAc5CXcejA2be118Pqgp/+xvEspr48OHw9NMwejTccAMs\nXjzg5Z77JssTZNYP7zqojotquyi2ZPUHkiXPQGM9XH82JAWe39gNmm3B126HG/8K//0p+PR8L0/z\n6tOhqw/W74S1u2DJanBc0BSoKYfqcqgZKrjmBCgtVbBVkDFBUy3MNSWDmiTJMsGDj0mOPM5l5izJ\n5deonHGRwbGnq8yeL9i1C+6/3eTWX6f5wVfSjB6v8rlvJ5l3djyiWw4bqbF9k0Pl0HC/R7XVcMGE\nw5UOGwD1u1pEmJXIsTs/jMBBQWgaliNyYfsKXi3GM66sQiL4j2v3MnpiHUdMUwnrDAJQFcmsk2K8\n8mQvF45U0bTC4t1+wapwVZcwgLo5DTQUvWlZ7Fnfx8lnVuZCNHQsVNdGdR3qq2H3LqgfSbBhnoCb\nl8ClJ0Bltfe60EHGgvb8e6CWCKbOVDENHVPV2bLTpXJ4IvcrJbUHUXNQ3GANSE8T9Lc3c13Fk5yF\nV93JwYuSFVJ62CdCgon0AbSYUYccQMpHH4CSEjjpNFCkZyJSJIrigaVQ3AiIRrXKYl7FKOwJAoGg\nb3cvm5ZuYMKCcdkAnmCmhHXO/H0w8+v+JmsSzDh7EMtf6Ka/wyTTb1NSoWFlXI67oJ4hzfH9gme4\nQX75jvDRu48gZUVFlmgsfGg+/z39fh776usYtaUMnTeG8iObSRHPbvkdi4Bnhphn7u2x6HjyFTJb\n9hI7/UQylB2UKfRRyXI8c7KGjYUVKXuhZkFUL0/Qta1zACNhPmgGHGVA6uiAJ5/06lzG8szYiYQH\nrv/xH9DVBRXFizEImeUS0g2a47XuDpelT7i074Vz53iFEshkm02OAbZ1wiU/gRVb4NkfwexJBAUU\nFKgo8XZpmqqALSFlQzyu4IpspLyq4CqCjCJwVYWOFDz+jIswBFf8i0GsXGHBpwVrN7vcc1eG73wl\nw9c+b3Hu5XEuWZRg7BEGi/49zr98qYzXnze57vxO3nzFYe7Z0T1/hzbB+287jJ+lUCieHG565sB0\n2ABooOyH84sKYyVVVGIVMfbttEmbAsXwQNRnZmdeWcmKZWk+c147D79ZR3Vd2BzrLbWWsYLNaxTu\n+00nx5ycoHFsDFV4JqKoZzOQ9gM27N2XX2VEwUGRDq8taaehWaU8aQfbWkkbTToorktMlaT6yPkq\nkLBjHzz2GrzySzxzrcy+Fffamt3wxnq4+kqBk9QwDYNeV2f9BpOTji0lk02Ej1XF6ehto6q09p86\nIrt274ZNu6FprKd5SgIQdZQscHovCeEihIpwJULJsnzp+Sr90YwaQ3ND7lc89Drgrtvg4oUIw+tj\nhA+iAXjKPbtJvfYGyXOP+RA4ygfSaNu0ZC0jTmikvKGC8DbAYeAKBCe3AESDJxE0Tq2maapXjUja\nDr2dNrqhkCzXsPB3ufwwAA1ru8WzG8NF3p2s+TU5qoITfnQCT97wFCfdcj6lR7aQym3RHAXQDDHS\n/S7dr6ygb9kqtInjiS2aj60msa2DW9DiQMl0dRSMrEc3qLfra6ASBa08QaanuAk3n5VHe3UAWrsW\npISxY4u/P3689/7atTB9+gBfIr20Lim9XErpaZ/pHpc77pZMaYEFx4HuEg0CyvKEt9bD+f8Jw6rh\nzRthaD256mV+MF/4KBRBXM1GzmaboyhYrsLazYJ33pds3yOZMi3GjGMNXF2lT1VwVcHgsYJ/+2E5\n134Pnns0xf239HLm1HYmTje4cFEpF/1LkulzdWbNS2Fanr0t3NclFYLurswAK+t/Dx0WAOoHpXim\n0bDUL/IYj2fAKR+cpLYxwfIXejhqXlmW/Wg5tvPFn9ez+p1tfO6SDv7wZC26lreQBJx8jsGW9TYv\nPtXHe6+mmHVqkrqhRoRBFvNT+ffjCYUuQtq8+XQ3XbsynPeJRGhPyGzyvrQRls269ZJ5k/EdWQDc\ntsQLL58+gUhCMwnY3Qd/eQkuvACSgxT6NRVT01m2TFDVkCRRV0pfVpOQis61t81n4iXq32xkAAAg\nAElEQVTjUepq6CdJP8ksA/WiMdPEycgsI5Uhc540vBxAmdWZHR3L1jFNjfR1N8D7K+CvL0CigsCE\nKzyzrRPS2YTqVTRxwxqoiyJFDkR9A2rhIvOAkjUr4a3X4de3eH/jgXHO75nNBXXXbUAzRGRUBtI+\n849+k7ZNz/Yexl8ynqjxL+zpjJpuBfkbB3v36P+lZH9Z0TSStZ4WY+WeUBSZSwMZmqMAGpb8C+ra\nSpW1z+0ilRJM+fLxvPjFJyg9YQp6U1V23GMFJty+9k5SPRb6VZchK+tI+UFc5qEBoJbjAahnYTGL\nerLVZAyr3xpQA4XCUTzYaSy+pUVxXQ9AXRfFdXjsMcn4UXDCNFCyBRJyLRsEdMfz8KnfwdVz4cZ/\n8eraEoqX8OMhcs0AqYGrgq3Anm7YuRu27YKVq1wqqxXGzzCYN85AjelkhGfydxQvOMgVnqYqNcFx\nFySZc0E1OzaZ/OXWbp59NM35iyqRuDS2Gqx5zwxZ4by+3rrRYshIfzcgn3Edmrmc/wgdFgDqwyfk\neyPz/U3Bf5NOGcTTv93IqCNLqK1Vs+YZ7yrNkPzsgcFcMm0bP/1KN1/5aXlOw/HMLN4vNjfDyE8Z\nrHjH5cm7uymvVBk90aB5gkG8RPMmWaBnRk1twjPVLH+xh11r0px7dRmlho0hTQzppbLrro3quGzf\n4lKRhKoSyKojuA784TH44sUgfKky2zbug4eeg5PmwbBWgakr2KpGr6Wx7FWTeZ+sIyM8ZuhL58nq\nOH3tGcrrvF7z4yvdEGh5/3t+xEL9PmveVLxyES4C/Zc/J3PqGfDFRfDbexDCg0EvIhcv4McVIJRs\n+omClOFgGIWgDEXIG5JK4azdgr16I/bqTdhrNuKu3YB8912or0dtasSXMjzQ9AqQK9kEe2v9JkqP\nnYgq9uf3LATRcOve1k2yLokW08jXPgcCT7/5IBpc4z2lmp2lxWTwjwag0XUQHsNwofdUSvL+Q+vI\nmAqti2bjlJSxd3Unz573P8x6+fvYyTzBKQui9tAKlDNbsOxsDq6jYVsarrl/dnHVVXD77fC973mb\nsvv0/PMwdy60tUFPDzQ1wRtvwNSp0evPOssLar311v3+DJajI6STixR20LxRDq1HJRnD6g+2QAts\nAYX2gwPSjVpaPFPIypVwzjmF769Y4b3f0jLgV6x6LE3r8QpGPHBbbN0k2bsXFpyEVxzBiTYrA1+8\nDX7/NPxmEXzyJAIsyta9RfdiImwV2vuhrc8rB7q3W7C7Q7C7HRLlgpqhCnVDNM473qCi1tfcNTK5\nsCYtMs/8c3+N1DYZLPpeEoHEznK8htYYTz3YX+Cj37Q2xeRjSwsEv0IgPbxB9ZAE0KDuhM+Qowtg\nIBANtFCJURZj7JwaXnu8k1MW1uZ2p/eHr3JwnJ89MIhPnrCDidMNzr4kFnybzAJptk2bLDhivM6m\n9ZIP3k+z7Ol+Bg9TaRqrUzdUp6peRejeAnaEQle3ZPNqi80fZOjtdLjg6hLKEia6Y2G4FrprobsO\nmuWiZVzWrpKMa5ResEBW4vzb67CrHS6fR+7GXeD5t2HZGjjzTEHjOBVLEZiKgSl0lr3uMqQlQUld\nklRe4e9EdYK+douyiC4VRKr6mxBJBOldnRiDB4XAwh8X4flRlGyriCHv+BPmiSei/O6/ENd/GSmy\nkbKKmy2c6SLUQDtUFK+0n3At5OatOGvW46zdiLN6A/baTdhrNuFs3QlSogwbjNLSjNoyCvWcM5DX\nfBLq69H0oDShIlx0zUJXLTRhoaV7sXbtJjly7oBRtsWMSmEGKpB0beygsqkyNPOi0bVhJuO/UjiP\nvSv933Upvh9n+Lv8MRgI6gcCTzcPQDt2Z3jv3jVUtNbTcPJ4LDWBTYzpf1zE0qN/wDuLbmH0nV8h\nk01PMaWB6cYwXQNTxjzQtL38W8fRcC0Vae4/GE0Izx34k5/Apz8NNTXR94qdfxwy125FqR6KrWg4\nIig2HxZA9EQMO+PgujKbZlUY7RlELAT+6gGpuhpOPRV+8xv4/Oe9bUx86u/3Xp8/HyorB/yKs8/u\nBKCxWWHsOMG4sS7te+DkYyGTDfYRftWf7KYSF30fNu6GF38AM1oJGJiGp3Ua0OvAy2/Cm6sF8VJB\ndb2gqk6htkFl1HSNqqEaSomGrQQlHXtzfuNoUpc/jyDKc/MFTn8uD2uNs3W9TdpW0TSvZzNplz07\nXQaNjBcIgMWypg9nOiQBFPzB88OGAv3Tl4j8wfD+82HAk/P9oWk6qoZNy7t57+U+Js8uyX2rL31O\nPKaUr/yylq9/ch+t42uZOFmg+s591/XOXc/cGJOCCSMF4xsFGVNl3XrJho1pVr6WorNLUlmrUlWv\n0tYm6eqSjGzVmTpDpXGUTlw3UaSbS5rWbRvdcVBNl9Q+h5UrJFfOxwPQbO7WzX+Bi+ZAZZKc7/Ou\nJ8FV4JrLBPE6DUtRsVUFU9XpSmm887rJqdfUFaQhOKjEqxN0tmWKLoowgFppmz33v4Q2rJ6qc48F\npUiguSJw/YTq1ga45WbMSy9DnXQEYs6pntapSBAO7NsNG9biblqNtXEt5vp1yPXrcdZvAdNEVJaj\njxmJ3jqS+JzpaNdciNbahDqqEUrKgq2wHAXX9Rm4GTyDcNEUC12x0RQLd/Ua4iPq0XVZUGZvIBD1\nKfx3z+ZOGo5tKCIfe7MvDJ4fRlGYCxfa9t4Fikr++9eTC4HWB9C9G3p5/4E1NJ42hsrJDaSJ5aoH\nUR5nyiP/zsszvoL7r/9DyRnHETttLhk3hukYmI53tG0N11ZxHRXHVnEtFbe9H5r3v7n53LmwbRt8\n97sDb4cn/0GuaT7zPOrUK7BVzQNR1du4IAwCCAU1YWD22+il0XEq7MUDZOe/+hXMng3z5nlq9ujR\nsG4dfOMb3vs33bTfy9/sHc7WVSk2rsiwboXJm8tcVrwLt9/hCRWjGmBCE0wYCXva4OEXYMIIePMX\nUF9FAJ4CT+vU4Pl34bVVngv26oUKZfU6lq5iGxqWqmEq3rFYwUk7q7k7KNiuQncXdLfb9HVaVNTp\n1AwzUNWoKyTMaRUchrUmsW3YuknS0OKZ+Detsxk0wkDRVeyCHo62wz2g6JAFUPB9nmHjbdjwomQZ\nmcSL7pYEZQ+yTdGZdelwnr1lM+W1Ok1jDMJwoCC54FMVrFyW5vrz2lm8rJLaSs+5r7kuquugug7C\n9dQ//xgXgqmtMGWMwFXAdGDnXpc97ZIpUxSGNGkIBRTsSOSd5rpodlbzNB2sHod7H4ApoyX1JeQA\ndO8+eOTv8MyPyVkPt+72QtSv/wRYCQVTVbBVb7cTU9H5+3MOjRNLiNck6c/b3dJBRRg6thWYtPw+\nCJcq1LCIxw1GX3cCm/68jK7HXqH8zFl+XJDHsEW2qQpSUXAVBeX045Ff/XesRVcgLl0I+/Yh16+D\nDeugtwficWRzM+roJrRxLejnziM2dgR66wj0mnJUIfNHzvstaWWjax1UoeLIAHz8oyJcNGGhCxsV\nk/633qfixMmRHthfmb5i2qdA4mQctKRGfqh99NcpANKw9O6/F/WOe69GmUchY4mCaD6AhnWn6BPt\nXd/DqofW0nLxEZSMrIvUrvVB1BjTxNAvXcTW79xJwxknAVnN04lh2gYZy9uGTNoq0la8ZqnI11+D\n6fP3u2YVBf7zPz0r5+c+55lr/9nkpiysvb3YdVouXccRvksliEtQ4zp22kGWBppzfi/nJ/nvl5qb\nPdvzd78Ln/hEUEjhjDPgvvtg6ND9Xq4ndMZOlUyeomJIjbbtGZ562GLh+bD+PZfV77usWgVvr4En\nXoHmIbD0R6D7LsSQK1Fq8OQbsGUfXH8lJGsUMrqGqWtkDB1T1zEVHUvomNnmm7ttNLq7Jds22Ozc\nmGLvdpPeTodYiUZJtU5Jhc7KN3rp7ehg0MgYQ0fFGTEmTlm5GtE+VRRKahTKq1U2rHEY0qLhui5v\nvpBm2omlA7gflNzcD8//w5UOaQCFMOsK5PZ8RgN46St5vicAozzBzAXDefmurZReWU/9IC0qgQqX\nr/+qmquO38m/Xd7NnX9NoEnXq03p2GiOg3DxmuMdJWR3IAGpQEKF0qEKzQ1eqStHWEQSbrKmYNWR\nqLZEM13od3noERheCfOOBGGSy/f60xPQMhRmjyUbxuotqqnjPX+oF4qu4qgapqqzs01lzQc2Z95Q\nFSnZFtZApVBwpS/1eRSWKIPXBWg6Iy6axobb/k7fi+9QMmdqhOVIJcu4pYKrKthCEvv3z2Dffgfy\n5RcQs+egzDwKZdQoxOhRiOFD0XUXXbXRNBtNtdCUwipA3ugGrEz+X/beOz6O6tz/f58pWyWtumyr\nWJZV3LDBYAymEwgGElroECCUkHpDCrkhuaSQciGd3JvkJiSBFCAhlACB0CEQik01uMpFcrdky+pb\np/z+ODs7M7srW3bsYPL9Pa/XeNer3ZkzZ855Pk9/hIIpsttVcTtweFeDgoku3CZbkctOJqiZ2f6e\nxTusjMeEKxTAsotsbb9B1/F/+scucnPqB2r3vV8Cd59LIZB6WbzXlFsInpvf3M66p9fTesHBRJqq\nPZ1TAjkQTRNgYOU2KC2l+vpL2XL516l5dQ7WhGZSZoB0RvbytDIy+sTOKDIKZf0GWLUc2DWAAixc\nKBW1r3wF7rqr+HeOPbbQlJtKwaWX7vb0WJNayKzZhFk5FUNktVCP9ukcSkgnk/SXjPTPbOH73VJ9\nPfziF7v/XhFy83MtTKFS06AxEjdIWYJDDhbM6wAtbiHScPXXZRyEHpIC9Ysr4KyjyYHoC0th4w64\n7DwIlYMRAFNXyOgqaV0noQdIC8evHSBh6mxab9G9Ks2WtcMkElAzJUrNlBiNC6JEKwMouuabp/Ro\nmt51o/SsHWHJsz10zC/loKNKCWhS+7QQqCg0tgfp7sww/zSVNe+kUYMqDR3hoj79YhoojJ2je6DT\nAQighRMpDblur5OcNuSR/CXLKi7Tx+pLmH1qHc/e3csHrqmlNKr6gCMYUvnf+yo559Bevv+1FDd+\nTUMxbRRDHsLEdyDAVuwcgNoqCNVGaDaKJlBUOxeQkxuLjSwObdiItMVDj0FAwAcWgOKU2pI9lvnV\n3+Cjp0oGYwtZSGH5BvjU8YAGliowVZWMkO2bn33c4KDjylCiIZKeDhv5WqgvyIniPg5Hhg8GNSZf\ncgTrfv0PtMoyArPa5F+Fy8wR8g4VxZIdbJa+jGVqsq2ZEyUrbIQw0FRTFlEQ7uGCmhyd86ydjWUh\nyJX1z2oX+c/XCYjKHZq/0+VYIOoFtfxzAghVwTYL8wK9Ap2XHKk8Xxt1rqDk4NQFUDf225uSku/j\nHFv7dJ6aYQu6nt1IzzvbmXHFXALVMQwU/CKKTPNIDybY8fBiYhctpGRSI6Nvd9F37qcpe/I+bDUk\nz28L6cfOdtAhnYFnH4SjPzDGni2kW26RRXuuv7743+++G2bO9H92zTXjPHn9VKx1yzEP7cBUZNUq\nN31Hy+VoK6EAmaRZYGr3rh1v9IQjxO0vMoSG4n2Cwqa5NcPqLpvKGaBoAjsg19i0VnjwWbB1WLNd\n+kITT4AWgK6tsLgTrrkE9FKBqYOhqxiaKs21ikZG6CQsjbWdJqtXjLB+tUG4MkT99FLmnVdDaV0Y\nS7hBQ3LX+/mBFlWoPyhI00ExkoNJlvytl4d/vpX5p1fQ0OJY86ChPcSGzjQZA15/doTjzo7lGh94\n53tvDtfyKHeH86+f3j3wPQABdCxyJX+vBO88/JzpDbXgVwKbhoMqGNme4rk/7eCUy6pRNb9UNKFB\n42f3lHLxSUPMnW1z9qkCYYCSNasKp4CzI9BKN0suvURosluE0EBoVs7U4jVSKGnZXeGZ52HnTrji\n1GwNdE+VkRfekUEDl51ELpjgnW6Y0gAlZYAGtpZtWK1odHYqDA3bLDgsRioPPL2HKSSweYE0X+pz\nNo6aNYiHS3WaLl2AEQhje4KM8iPpjKyJVdM0TGFi2SLXwZ5ssQRNkQCqCiNnSHKbVJs4xeVdAHVN\n9d5N7tdAvQDqslDdo387lVwdEHUEhOKxrZ65UAS2NZZG4opzXhoLREXuUwmi7ir2ruuxtdB8fckL\nooYJKx9cTXxnitlXz0WJRjxFGbx3KV/7X1lNyYKZ6A0TMFGp+cPNbJ53ESPX3Yj+kx97N42bOvXy\nE1A/GaZ2jDEfhTRvHpxzjgTQG28s/Ht9vbSIeimya/eqO6eTpsLrj2MaUpA0ncYDnpVgoiJCATJJ\nyze3XgeQgu0TK70NDvYHZdBz/MhZ5Y1tAVa/meaw2QpqwMKypeDcNhU6fwcEoX2qrHXbvRPqquD+\nF+GsUyBaoWDqsktKRlMxVMkTMkJj9SqL558YIlgaoH5mGdNOiqGXRXJz4/hCvcKYM0cK7pw5qzQU\nC3HUhZPYumqIVx7aTk2DTvP0IBPqVRrbQ7z57DCrXk9QUasxabJO8VVs561iK++9FDXzdVSvqC98\ne+fdp/cMgHrZlTOdY0VAeh++s1gBpp9Qwyt3JVi+eJSDF4R97BPgiON0vnZLkE9ek2LGEzoHNSNb\nBzn5WM6rLcHT9oCootvYmgRSJdsjMzu4rKnKRmRg83qbZSvg2rOzvg0nUTprqr3tUThnAVRng/ls\nAYtXwKknIp+WRwNNWhrPP5XmsNOrMNWgDzy9IJqyNHpWDBCqLd1lpJ0rjriJGNFqp6KR4z/Nl/Zs\n6Z9UVExhYgo1C6CujoWw0bIpJpowZD/HPP3I38zYBZd8zcs7ViuVQhgZAtGALzxC8wCpq4EaObbh\nbtZiEq8kNaBgpotrJK4lZNcg6l2DwseWbLzg6V2z3vdeGbwoqFqC5feuwrIEMy+fg9ADuaCNQm+v\nvOuKk+eSFOFca2elopzy+/+PvgXnwsFzEZddDcKGVBzWdcPaNfDkX8G04fbvw1svFp2TYvSd78jg\nlsceG/dPxkfBGJx2LpahYOkSPL0ebwdElXCQTMLw7XPXUeHOkrdi2P4kL4A6T7u+1eK5R9OsXg/T\nmgRadou1tUHvThhIQ1UNVMZg1VZ4pRPmHgRTpgpMXWAGBKauYOgKGUUlo6h0rrJ4/vEM88+ooqa1\nLFsoQ/KDQquEH9L8yoni2ycmKhM7ypgwJcSaRTvpeifB639LUN8W4qFfbGdjZ4oZh4Vz91sMMAvj\nyr3Z/HbWQuMIyu5ecaJh3NDSA8Ps+54BUPBHLTrk1Urc77mM1nkV2ChCZ9qxVbz58FZmL4gWgInA\n5ppP6ryz2ODiyzK89KBClQ5GAt54W5pc68tlXUlFc8FTKGBnAN3G1mzQhTTr5iT57PjS8Nw/4JiD\nIaLjB08Ldg7Cn1+AR7+ZvREFtuyUJbmam8hqn2CpUgN98w2LSEWAmtYy4t46pnka6OqnNpFK2kw9\nbkqB3uUlB6ZkWJYsfyI/MTzw4v2NZEKm0CSA2iamkgVQbB+Iqpi5RsgqJiKdJPnKO2S6NqNoAlUT\nCF1DLQ1TcfLc3Nn9smgWYDIZRl5dyfCLy6g4cTahQ1t8bKFYsXhXA80vBu8PEnKuFiwLkhpKjWMt\nFgfRfFAuBtL+841HE/WYhW3ofGQtRtpi+sUHgap7jNLFwDOb0K7IPAnvebVZHUR/8T1GL/8PxO/+\niL29DzZvlOGyE+qhuQ0mt8P7zxlzPorR1Klw7bVjR+PuLdmWgmhow2YI00pJDTRrZ9A8ZQyVaJj0\naJr8te4VyfKjS/cn5QMoQDBicfr5YR7+U5z0iTaHTpN8o3mqLLu7eiscPgPam+HZN6B9Chx7JNhB\ngeWAZ0Aho6lkhMrAiMKzjyY59oJqypuipLLzkvEBqGve9+4trwbqzgk5q54zbi2gMfOYSjQMHrp1\nI+W1Or0bM5RWKOzsMWiZHvB9P1/bzNc6vWZtR/yUIOqcQ+4zL5C6n7679J4CUDyT55DXzOD9TH7b\nz7QULMrqS4gPWwwP2VSUFTq2hRD86Ec6p77f4srrLH5yPTzyjEwnCSnwwjbZ3WBiNbQ2yMUdCILQ\ncU2xtu3v4p4F2sVvQioJh3SQ0zi9/Pv3z0BDNRx3MLnfv7EGDp4B6AJLA1uT2udwSmXxixlOvHJi\nrhSb93C00K5X++jtHGTmVYdhqQEfgBYD0vyYUisHnl7TrV8vymmeOEXPFcC/NfMLICqKQXp0mIqj\nOlAsA2FksDMGSkAjQNozAnmW1NZ+ev/8InYqjZXKEGmbSOPlxxKqLUPNpoI7584HzWKHXwv1MzWA\nYCwk22EVrD8/uQkpxddkMRAdi4qBp/veewZB17PdDG8dZdblcxCqNoY+XdhIqnAE8iqh8z5I8rf3\nwaR67KNPhOYO7KZWRLhMlmU0FWl92UO68Ua44w5Iu4/0n84DxVSwDbA0FTPbL9ZrwnWcBCIaJrU9\nXuCuKKYRed0I+4sM9IKnoWJR12xy7uUGD92VIDkKC+aCXgJTGqFzExx+sHz/4lvwxY+DGoaMDpYu\nsDSBqSmYmoJhKzz5cJKOw8JUN4VzBRJMXAdHftfbYgCaT85YHXjz3kFNUxBNz65TC3o2pBGEc7/z\nBgeOJdb5+4T6zbjOeVzrgbvXilmA/tX0HgJQrzJv56bXlUIKc/Ly2YaBhqqYVLeUsGltmrJDAkVM\nGgqhqMrtP9c4bmGGj98EP/w8TKvPmnPTMm96Sz8sWQf/cx8cPxcOmekZgRdrsuDZ0wfPLYarzgE1\niMuMst/ZMQzfvQ8+eRYoUUCFjAXLt8DV71NIBTVMXcHUVEbVMH9/DupnlBKoKWeEKAnCuRJ9cSJk\n0OlZM8yav29l+pXzsMIluC2g8024fqbqBZTCKF2b/ueXEpwxhWB1JbL6qOKZP6ciiX9r5oDTedUs\nIqcejLcoortB0r7R2IBeHSR4yQLUoIoS1FB1LXuNtP+8HvZQDDT9+pizYQtBLRgL0r96ZHxL07M2\ni5EXUIsJfO5z8Ech43tG7t82LdrC9mV9zL5yDmpQLwrJuwIJDbeHpo6KJTIgbCoevJ2MqcscUFOV\n7emslAwoMrONAXbRjuX22ws/q6mBoSH3/5WVYI6BU7toZOInE+yMkLEApmx7lyaQg85M9t5ENEKq\nu8fHqvPnJ39t7E9yGlsoWFJDRsu6NVQq6gJceIXJg3dZDA3CwmNsWibbvLIEGibASBwyBtTWkFtm\nsguR61N9e3GGdBIOPS5CyrP3/LYLh/ZMdysmnilYTGjS2bkxQW2DTnLYYMfmNMIyUBTh+y64gZ/e\nw02jcws05F/H2TNjAfy7Se8ZAN2V30nqTRYuYknye/PILlyN2tZSNq0ZpP2QiEcyczWooRGTx5+x\n+dzHBN+51aZrC0xvdC8bCUFrPbQ2yoLvT74Oi1bB1edBIJAbkjscFR54HOYfCpt3wLOvQOc6WN0F\nnV3QuR76BuXPQlEgLH/zxnKY1CiI1mikgzoZXSOt6WwZDPLO0jQLP1XHqIj4gNMB0t7Vg6z8yzqm\nXjAXpbKCVNYMk7+N5FBdPcq5STl0Oxsda3q+YROOBdj268eIzJxMZG47gYnV2MKVbl0Ahcy2Puxk\nilBzrY+ReyN+CwHUK2Nmx6oLQlV69n8yZFlAwZb0FlYsDqx+I3Z+EFHOtBYLkhrI10CLU7G16fXT\neEW/sTTQwlEUmw1B35p+Nr64mTlXziEQDRaF/2KMLl+4kK0RMrknIYSNoma/LywsVTr5bUvkXm1L\ncED0M8vGI1i6gmmpZCwd1XbamzktzjIQjZAezRS4asAV6vzrcP9qoGvejtM+O+QBUQsVWUnJEAbR\nCp2LrzR44E6TH/0fDMdtXn0HzjoZ3nc0/OA2XNbngGh2T2bSFoueS3Hm1RUoiisE51uLfCavPaJ8\nu4Y8YpUqna+kaGwP0rM+RWlMsG5pgo7ZQd+Kds5QTAfNF2qlL9QP/A5Pebc1znx6zwAo5PtA/dFY\nisdY4JDXdg9SAlQxqWmP8c7jPSTSCoFAXikroWDaChlDcMN/KEQVk4u/BK/9XjapzadJ1XDZQvjx\nfdK0qwSheyus2iCBsbNbAuU7K6F3u/xN4yTp02ifDOefBu2N8rj/afjqL+HkE0APyojcSy4QGCGN\ndEAnGQgybOv85f40M46rwiopJU6UUY8GumO7zYrHO0kOpGk6Zy6BpjqS2Wi7YsBZqIXZnj3qlfrc\nxV09ZyKlU2vY+cYG+u55DiUUpGR+B6HWeoaXbcJMpLGSadKb+7CG45QffxDB5lhRE05+Won7lIvB\ngheevPfgjTMtdhSribtrw2awPERyYGwfaD7tam1KZubaSsaSpP1srlBItIGet7fTdFwTwfJwUcDN\nB07fYWUYfGEl4QWz0XTVI/Aosig/tgRSy8rVLCab0pJLbTkQyAQyYBsKxkiajG2gRCSAOpHXGTLo\npSUkh9I+AHUEGv/8uEJcij6CVO12CHtKcXMnrz8+wKSWOspKpPYpQdSUgU+KhmEbhCIa518qGO41\niQRtfnenzUnHSs3zupsgnoRIGBnoJdxVZ2Wxv6JKIZEHPl5xbCwBblfkN/K6e22gN8U/Hujj0GPD\nrF8aZ2Nnik98s4rnHhhiU2eSo04tIRh1c0uLAajTM9fvUskHT+f93ox+/9J7CkAdKh5M5ICofCe/\nIR+AA6SOBhqMBqloirJhZZIZswuNfdEyFT0g2DEouP6j8NrbcPYX4OVfQIkiYyu27oDOzdJH0bkJ\n/rYIfn4/dG0Bw4CKGHRMlSHoxx8FH71CFoZe1w3nngYdzdnYIqdwtAVfmAIrNsIHPwkfuRCuugSq\nGrOdVnSduBrg0YcMohOiNB1Zw7CIMJrVPIdSAVY+u5XNb/dTdUwH9YdPwVZ1kp5gAWdOnFdpOJE+\nTxfA8H1PyRl+nZLo2aZxJSrBY1uoOaaNka4dpAeTBI04I/39BEIB1IoAFa1tRKZOQFEECkkf05Lv\n/dmpfoOya6QvbqJ0V4JfoyxssS5NdX4g9V6rqAm3NIiRyGBmTFR9fCX7xlqbrq9V9sYAACAASURB\nVO9+bC3UD5zF77lvdT8D6wZoPrnFwxbHBrUCE64Cme0DZJ57i9KT56Nj5EQoRVgoqiUbPqumq7HZ\nXjY8/nnYr2QAaYEVVMi8uhgrmEScdTQqJgEJnWTQ0WNlpIdSmLaQNZzzNFBXO3dB9GVORcXkr7/a\nzi9v2MI962ZQUlqoq1p4+64W5ll7eY7ARlEtmueWs/hvg5xwXkU2KUxFRdbzNTEwhTxXIABVtdDe\nbtG5Tuabt06V416zAWZnA40E4KSJBYM26ZSNbVu5FDL/Cim0suwJ+QHZom9zgufv7uWI95cwfbbO\n0hd0nv5znPpGhYs+XsKrzya49+f9nH55jPKaQJZ/eE22Sm4G3E9cYd5/eF11Bxb9SwF07ydgfJKv\nC6Ku5uQ8ditPQp80u4o1b/UxdXalXwsSIBSoa0zT1WNS2wG/uMXioFMsJn5Amm1Xb5TaZjgIbY1S\nk6ytggs/CDOnQ1uboLJGgCqwVScgSIAF3d02Tzxl8+yrcPyRgpYmgW3CQ49ZtDcL5s+3eeJli2de\nEXz2SwFG9SCjWoRRNcyLi2DrToVjrmxkWIkxRBnDlDKQDPLaH1ajVMRo+eRJGNFy4nmb3XvvLqjk\nBfZkdXg/yMpQIkcCdM+RZT7CQm+pyG2B8KkzfbKiIFOgFRXTjopJnuNdGfmhMu75vNcqbJYmfO/z\nzqsIqYX2J4nW7ipBcfdr001aEYzlK3VHUVwDHdo8zKoHOplx0UwCpcGC33vNXM49y3AM1zypYTDx\n1Fms+9kzlMyajD5xgvytsDGyrEwThm/NeHUXb3jZu0qmgIyNnREw5yiMe35GesFctLogGREgI9IY\nQsPSgohwiNSIQaS0uBnXu54dgSs5muHXN27lki/WUlrq9ef7Aai4IOR/dl7/3bRjq3jm/7rYsDJO\nyzRdXlHkQ4V7tdapgpFR2LoNJtVJy1XnGpjdBhjIRvKqja1Y6JpNQLWxkhZqKKsK5KWLSWuDWyEr\nH6Kc649tycnuVdvkhXu2s+D0Mlqna6hkaG7X2NCZRsFC122OeX+Q0pjCi4+O8IHLYiiCHFTm73n/\n/s8XoN1ZPRDpXdRA94c6LnzLApzHIF3TZD+xgfKOat746zb6RzREiZu7ZAsFW1WommywbnOSObMV\n9GqT2TNT/GMRfORDMG2KNMHW12WzAgR85za49EKBFlGwdIWMKhvY2p4DGyZMFXx4is3KFTaP/MMk\n9KpA120+81mDMz+o8elPh/nLwwoLTxnm699X+fRXyxhRIqzqUln8SoLjrp3CiF6ZA8+d8RCv/6GT\nQONEqhceQkKESRD2QIerOeQH0njTPJy58oKodwE7nmTHPyGd/pJN+/W9wqovzmuxTeMdj59dy9fx\nUPFy1WOB6vil8FDFeAB0vOSw0bGvPBabSOxMsuzu5bSe0UZZY6wAXL1X8Jva5NqXjEtGU4ejGnXv\nn8mOB1+k7qqFKHo4uxZUqQXlWSzymfoBQVkfqJ1WsEvKYNbhpJ5ZTOCc95FRAxiqjqFKLVSNRUkM\npomV+lt1OZQPoptWJbjtK5tJJiyqJmhgW8itKwrWWP7v5f/dz/LtJ5qucOjp1bz51200t9fIFLjc\nX/3uC2Hb1NdBOASda2FSleQ5nWvkvQshZXI1mypm2xbhAJijBoGAgaHIADHnmWo5M7Zr5Sg++kI+\n4QrZ8ujtShAKC1qmB1GzZTumdGgM9FkM9WWorJJnOmiezrI30nQtTzJ1ZigHnt49WWxfFoP1A2Tl\nFdC7BKBjyf17T4707TWTuaxUNjN2H4mCpitMmFPDyw/1c/wF1VJTRGALqTlO6DBZ9GKax160mDdH\n5aXX4ac/UDn/FAvFdkffNwBPvgBlVQJRqmDoKqauYCmKLLquKLIOrXD8SYAtaJ4NjTNtVi236O2x\n+M4PAtzw+RHOvybA3MPC/Oh3Ia46s5emeVWUN+u88GSCQ8+fQiZWzRBlDNklrHlrlM6n11FySAtl\nJ85hSIRJEiZBCH8gipyP/NSOfIaiZUODveZc71nkJ85sFhpO8yVpL/MoBDg/eOYD9p6sjGLn3h2g\njg9AwyT7xxdItDvyBxqNdRfFP1/72Drqj2ygelrNLmfGO6+O4Oh2J3UFm+rZE0l09bD11r9Q++ET\nCdZV401tcAPB/GM6oAA0DXZaYKZVxKyjsO/+CentSYJVWS+o0DFUDSVWSrI/idVQ5jMUOuTMmWVa\nLHq8n03Lh3nzuRE+8d8TiA8ZbO1K09Cijwme+a/u3+Wuy6e6KVJYH9yRIVQLfuDMnssGLFAQtDVL\n0Dx+LrQ3yaBDCaA2WVaFENJ0WxVT2LYuTctcPVfO0H3VsDBzVyncNc4I8Lk7vBYM57Out4ZpOzjs\n278NzSqaBhtWp6mukpWINEXh6PcHefHJOG0zAwVC81jCCL4RelfhgaeFvisAms+a9y250+0wEsdg\n4TwyZym0vH8Ky//cyfP39nHMudXOagQFIjU2530SXntyiM9/OY4QMP9YhfUDJuvWwpQm6c986204\nch6cOR+skIKpKhiaiqkoWE5upHCYEhJEPa/Nhwom2zAPQed6wceuGODul2PMOjnGtd9U+NJlmznr\nOpXjP9mONrGafkrYMRzk9T93kbCC1F10LNTXM0SIBLJBcpJQdiZccjROPZdyblCMkXhnsBDQHJ+j\njRsnV/zw/744k/H7Q/NTCPbEhOv3HvqZWHGAHQ+FYsEiuaB7T3sjNCaHUgxuGKLj3BlF94v3Xvxa\nkl8DdQRMgWS4k8+aw+j2OEplEJOUT9cwbQUrYyJ0zVfT9IAhA1DASiuIlEBoUWiZTerNlYSOm5MD\nTwMNtbKMRH8Sk4qCVeDMnZEyef5PPQQUk1TcpLRc5ayrK1i+OE7XsgSNLZqHl4ylebprzg1+Ifc+\n972s81JR/F49n55vuyDaNkVG7GNKAL3ncSSA4uzDbP0g2+K4BSr3/TVF88wgeiQfQP0VmRzFwu8t\nleTVOl0fsXzNJDJs6Yxz9MJqH8iqmk3jVI31nRkOPULNrjxomqLwxKBFfMggmO3mUihuj63Vi4I5\nOrBotwC6P8ys+ax1LLIMi0w8Q2Y0TSaewUyZ2JaNbdmyUa5to4d1AmVBgmVB9Kju2/BWTgZ0GLaS\nMyMYaKiqzrRzO1j2p5W8cP9OjjqnWrbpymqjkXI45lzBT78f5+DDde59VLB6ueBPd9t89xaYWCe4\n6mNQWipbi3kPUynML/Uu1HywsRF87JYQb7+zjc9e3MN/3d2KFQmzccMWaqrq/BNTClz5zz2FPjvF\nBeKJ7BMYG8zyAYnsaPOXuveeitFYm2NsAB0/FZdg89+7I5Sf7Z6C5SGGN7lJjPl7Yfwbem+3vqBn\nSS/VM6tRA+puz+OfVynkOCUtVE8wmFOmv7QmhIGBmf2mc6RH0qz/ySNgWShBPXdoFVF2XnA8lYR2\nOY79SdsStmyRV1YmzbgZgZ1WYOYx2OoApqFjajqGlS3nVxkjub7bp316V4PAZsPyURRFMP/UMi5t\nXc8X/nciug5TZwZ44JejHH1aFFR/HMFY67lQjLQ9h/y+mbHQ9SyA2kXOYdsIy0aYNm2T4dU34fcP\nQCwio/odAM1VOss+6ykTbZrqBW/9I8Hc96toth9ATeE3zRfjQVDchOt8tu6dERpag0Qifl+pQPZA\n7u7MIHBTWFRFMLlVZcPqNO2HBnYJmt759NKeCL3/ahqHBrpvcd+ZBiNlkh5KkRxMkx5KkRpMkRqS\nRzr7ahkWekSXR1RHDWooqsAWAqHIguWZuCF/M5zGSBoEKyNUtFZS3lZFWVMMRVNz13SBQjIRFZOg\nptN+wWyW/WkFz94/yJHn1JJSgzlNbtUqwZLFGR5c1kRHK1x7xjbOv0zhrKuiKNiYts0gtgRMRcn2\nJlR8wOm8l/fvX7Be/6GtCq77dRkfn7eMr13YzUdvm1MInvuIqrKtjrzz4ixUN0LOnxfn10iljC3y\nNt94ARQgXxIdi3a3eYptwsLf7fkGDMaCJAeTuTPlj6N4ONC+I9u26Xmzh/Zzdl/E3X0afuFEjnNX\nPlPH5OuyQr1UYfpXzsAyTKy0gZXKYKUMbNPiCh50x4eQa9sW2NmG1k4WpoFGOmUx9Ho3w4s7MZI2\nTGnFam6H+hZsO4SV0eSRVrBSavZVkYD488/BC3+G/34NonVgS8sQQz3w8t3wgU8DqotNZZUQjmDb\nQzLlJns/gcpSEm/GfQJCfrRs39YME6ZGuOeHvVTX67zvwgosoHerSVmVxqZ1Gerb9IK5LAQDWfrO\nVREK/aYqJrZhoWueRgp2tgexbclaQaaFYlhs3Wyxow/eWQ1NNfDoCzJfvG87VFV7F4q8qFBs3nes\nwm2/TzNtXopghZ8HOTYJ7/4oBqD5s+QAqLBN1rw+zBGnlAA2pmnzyuMjnHBaCBvB5CyAur2a5Xpq\naguweplB66H+WAkv/ysmhI9HMH+3ab9qoOnRNPHeONuXbie+I46RNDGTBpmEgW1LBhUsCxKMhQiW\nBSltKKO6LEAwFiJQGkALFTchedm4d5JNw2K0N07/mn7WP7ue0d44JU3llE2pJNZeQ7g66pO5BBZp\n0gS0IFMvOISVf1rGs3/s45BTa6iqDBMmwT2/2sxBx8Uo65jA8vXDPP9Emk8sbqJf1WUGnS2XgzTZ\nZg/ckuzeBZw/Zu8y7esxWPrSCOtXpTntcy3c87VO3l6UgoP+iQewG0plJcV8k403Qm/swB7n//6I\nw13ReMw0+d8v9n5Pvrsn58inUHmI1EDKwwr37jx7SztW7EDRBKX1pbv8nhc8nf+7a7y4du/+zQVQ\nRzfN+UuzzQtk4WY9+0s3N9YB3IElG9i5eB2xBdMIz2hGV3RMNIJBjdARzcQOayOxPcFI5zaSb71E\noC6KVVKNqesYpoaZ1jF0DTOlYWsatqbAJ74LXW/BrefDfz0FSkAOumoClFXBxmUwfbZfwbORBR9s\nB84U1KoYqZ2jhcBpKwzuSLOhc4AX7+0lOZjm5Qd28F93NiNUlWWvjXLtgrVc+61a1q3IMKltbCbu\n7Bd3ZdgICjVWgY1qZ7AyJkHdUzHLNlEt59UiPWzy8MM2m7vhiFlwx/1w1Awo1eD7d8Lry+D9R+Y9\nT0WmypSXKBw2F15+MsHJ5+m+Ept7AqBeodrhDQPbkphpi0lTdIb6Unzj4m7WvJ3k4KWNVFYJJjVr\nPHX/aNby5yaRNbQGeOavKQxLxoQUA8/iR34s7oEHouMA0N0P2kgZxHvjjPaOMtozSnx7nHjvKLZl\nE62NEptSTtNBtWghDS2ko4U01KCaBce9m5RimhyaSnhSBaFJldQd20YqbjC0fpCBtTvZ9NsliIBG\nrL2GiukTiDaWI4Qg7WSNaSGaLziMnpe6ePJXG5jYFmHKnBKe/t02PvzDmewUldx7Ry/th5ZQe/AE\nBrJLUrXl4rKF1IydsHSvhOuTuGxIjlqMDJqMDFoMDWTYui5Ff0+GqfMrOe6UGuxICVp9LX/4yD/4\n7dV7NT3jojSBHHg6RSbyg4u8XRCKyYIixzx2T2OZbLyvY/1ud9/Z1d/3FvD0iJ4T9hCuru0Fq/1F\nZsak64kuWs9oH5cf0su6Xc1SfkIegLosSkZRqzlW6UDq+J6nc5aa2XWEIgrb/7GCgWeWUH7UdKJz\nWrC1AIbQCKgBgnUBIjUtZI7sIGOpZKxR0pZOxgqQCZiy0aUm69taGqBq8LU/wrWHwZ1fgI/8xL1w\n7RQY3O4Mwr1FywnU84NofMNOVv9+MWb3ZkY6tzLYuYO+zp0kBtKouiBWF6SiTiMQEjzws+0cc0aM\njsNK+MyPJnHrZzfzkRtrOeoMP3P3z6M733YWPizceAFvw7C+DXFKyxVCAdsFT0f7NE00y+SFlyw0\n2+bTF8PIDrjahO5NMLcFGmvg9kdgbhtUe7VQAYpmoZomRx0h+OVvDTavTTJhqoopVHQy4wZQr2XC\nK2BvWx2naVqQtUvi/NfZ66iaoPKH15qJVQk2r09x5/8M0bPZJJGwCYfdAMOBfotomSqDKXcDmu4j\n9Qok/yqRdc9pj0y4ZtokvkOCY3x7nPh2CZqZ0QyRmgjR2iiRuihVHVVEaqMESgL7PQjBK8nkJzOL\nSICS6aWEp0+m9nTB6NZhBjt7Wf3QKmwbKudOpnrOBEIl4Vwz5tixJVTMm0L/G+v5yzffJDlqojfW\nsXk0yuO39/ChG1vZqVb4U6htMztN8kGnEibbN2fYtjFNf69BKmGTjNukEhaphIUeVIjENMKxAMHy\nEDUHxZh9YTm2FsiZjjsuPoSZTyT269ylCeQic53D9KQ255MTuODe6Z4t7WIAuj9+s69IKAI1oGIk\nDfSwjtdgvb9p00ubKZlUQkVLxR5dzZ0rNyta2j7dkBGnbZTXoVHIxPYARBVBqL2cqvbDGV7fT88L\naxl8bgmTrzqeYKycgJIVUxXZ4CBty/Zaqh2UpsGMhTU8gKlWIKK6bAWoABNr4Rv3wXXHQts8OP7D\nEihDEejbCVnhjkwGtq7D2raMxKalpDauoq9rNcaabjJbdoCAnr+UUzm9htr2cmZfMp369jCT23Ua\nm2DHqn46/97D/IWlfOODy/jSGev47l+ncvYna1nyj1Hu+NZ2ps0rYf7CWNH5dkDGqzk5K0XxgCe2\nxZKnd3LQkWF/6RZHA7UsjLjJkrfgo+dCQIHqEqgsk9G3rVUwuxmiAbjjEbh0IUyYkB2HYiMMG9U0\nCYcUFi6Evz2S4IKP6+gBdZcaaO45FhEM5D1IJaGnO8lAb4qvnr2FUy+r4PO31hEO2ix6ZpgvXbCV\n2UeEuHvRRIJhueocPrxmeYrJ00PYYte1wNx159U+3dEeiLRbAF3919Uk+hIk+xJk4hnC1REiNfKY\nMHci4ZoI4YowQtl/N1iMgTiTm5+D6Pc7evoDChUxqYSySfVEj5tLfNMA/a93s+l/FlHSXEnN/CmU\nNlcQEAbBUJTognJ2fP0Vpp0/gy3bdV741FKGtqfIlMZY/JJBRa1GNKKSGU6RGTZIDGWIDxr0b0mS\nGDaoqA9R1Rhm4uwYekQnENHQwxp6WEXRZJsWGQ0soSuVhWQZSRtm69oEJW2V+21OgVwHi5zgMYaE\n6FC+idD72e5I5G3V8VKhpvqvJIEW1jGSJno4gJsm5Yxk/wBpcjDJlkVbOOSjh+xmdMXImSd3fJKd\n5bNNBae4mqur7il4OudzGV7F5FLKJ88l3juCHlMxRdIV0ISbd+yN4BS2TaZ7Oby6Cv2DF0F0orsO\n587FPuho+OnVUFUJagjeeR46X4XnboPNnbB1HZgmRmU1TG0h0NZE9KQFlH7mbKraK7CWraSurZTm\nuRWUMJItfikPGGXijBjxHQleerCfG+7u4Nvnr+SGs9Zx070tTDkowtTZYW44u4ubH27l0JNivrvO\nLy/hak9k597lUhtWjGKlTaYfLMsO5tov2JZ0BVkWS96EqZOhohREHLBkmc/OjXDaXGifBOt7YOGh\n8Men4VPngabK7wnLlhX+LIv2VsGbb8Gip5PMP0VDU7QCoTgfQAvXl7t+0okMf/1FD6tei/P5nzVw\nxlUVKLbB73/Qx/9+qZerv1LJtV+tRFXAyP5OmsoFa1eYnHBeaUHD82ItHvwF/VxAPVBptwAarY1S\nPb2acFWEYCx4QIS1++3jbjtWb1cQEzUXzOA2283qjULFbCwn0tBCZGGa+NIu1j66AkVVqTpqKlXT\nazA2bmPD0+v40DtfZMLMCt743Uraz+4g3N7Iju3DbFo3ghlPUVIqiJapREoDlEzRaFwQoLw2gKII\n3/gcJmV4FoeFU/7a1QPjZpC1L29n/aJepl46d7/Oo2mpHr9tYUjPWJuqGJB6/z4Wef+2NyD6blCg\nJEByZ4JwRXj3X95H1PVkNxPnTSRUHtrrO/d6jqQm6jUvStYpNWoFb8KF9wy7I38sgvyNs9ZLa8PY\n2TbsBcEoeZ8pwkJZMB2h6cT//Bv0U87CntiGpagYm7ox33gaph0GN34ANB0mNEPVJDjoGMQHzkO0\ntiLaWwjWRVAe+i3lJx1KaVOYSHCUUoZID/SQ3D6ATUVuXXvjFFSh0nFcDbEqlcWP9vCZX07lR1ev\n5T8/uJaTLqrkrGurMW2FG85Yy82PtnHI8WW5OXbn1S6YFyfOQsHGMizeenInx3ywBF0xfTDiiK2W\nabPoVbjgVJwytwC0N8hyoQj5/sk3YVYzLN0EryyHow/LXs8GYdsoUtnl5IWCP95t8NQDcY4+Q0ML\nKHjTbARuNH3h83c/6e/N8OUzVrNhVYqfvtDGzMMjJEYNbr56My89Osx372/k2A+WYHlWknPn23tM\nDFslNiHk4cf+Tr35gU625yjOZQ4c2i2ATjq8/l8xjnFRoZrvNaC4W9QBy//hUsrZRRUZAYSAw7KH\nl1oA64u5//7kof/MvR9mmB/yTU/76rRPhkpgeuT/4hFlfgCVR9pUeOvebuJxaL1qAXZ5xS7n44or\n4He/g29+E77yFffzv/8dTjgBduyQ7aPGIsP2bGHhLXRXKPXlm3XG0kLHC6DjpXd761TPqGbHih1U\nTN2/1gCHEv0JBroGmHdG216fo9DH5c/Z9ceGFvbX3RPyr3F8a8iJ5PYew2+uRW2YQKimxgVQxZYd\nROZNRa2uYPj+B1EOmY846EiMh38NcxfA9/8Eby2GL5wH37oTOg5DBE2UoCVfQyZqIIkwU5AeRVGC\nObAOVpeQXL8RcuPyCtyu0F0/q5zScoWX/7yNEy+t5S+3buFJaycLP1LDJV+uxzDghtNXc8tjHcw+\npjRPzBS+GXHm3zHdLnp0gJqJCpNb1JxdzKd/2TY7emxCQVm2j4R7xvZG2Uwb4KwFcESbvNyxs+G+\nl1wABRthC6mJWjZlEbj4Co1HHrF44NfDnHQBlFQGfNzTO9r80QOseDXOl8/poqxS5Yu/aGDm4RE2\nrU3y5bO7MQ2b37zayuT2gC9e34maSKbg+UdGmDq3BEMEira5L0z1y7eCeWfz3Vfe8ukAKW655+TX\nPuXh3QwG2q7B85+gUkrpp5xBZD1ap6zeCCWMEs22FpMl9RyfZoogybym18ncESJuBnjz3m5SlkbL\nh+djl1eQZNdajxAQDsP3vgd9fYV/2x2ZtiqT5j2mk+KlnPPOXQQ8HTGm8Nf2bv+2q8N/3X89lUwq\nJd4z+i+73vZlO6ieXpXN+9x7Kjb/Y6UneA8tj83t6nBYoPN/pxOKc3gFzCApQiQJkGbr7U+RWb46\nu0MShEWCkBonpCeItlYSu+YcxOolWPf+BvOeOxCnfxAaq6D7beiYDXMPhTCIsI0IS/BUggZCS2P3\n9RKYWI4iXHAKVpWQ7o97dC9/Gov3qGiIctqnGjnu4gn891Oz6N2Y5qYL15HOwGVfbeDcz03gS6et\nYtlLQzmAdM/kzomeK1pisPzFQfq3JDnxrKhv7rzQIbDAttFUR3Mlh2ZtDbC0S35YWw6zW+T7aFj2\nCCX7fUcDFbaNYskMgaBmc/pZGrMOVvjLr4fYuCqRa/fmP9JID7X72aO/6eUTx6zmhA+Vcd6nKpk2\nN8Sixwa5+rDVNLYH+eWiNhrawwUrJ2VprF5h8NDtg5TVBZl+dIXvSkbRWcg343orxx14wOnQe6Yb\nS6EG52f2lm8Zywe0P2mQclJZeAyS8iwJ+eoChlfayzc9K3LpmgpL712DaWk0nzeXtBbJspvCouH5\ndMIJsGkT3HQT3Hrrnt2DZUsTrm0rnm4VY4Nn/qdja6T/PhStizLaO4pt2+MSSvaWHFFh+/IdtJw8\nZa/PUyzpy+vryvd77Wvm5D2ns8ZlrK/cmxMPqSNSV8LaP75O+UicksOnI4QFqscgXBtC+ehZDPz0\nHkinEKUBCCSx7/sN4mPXIyImtqWgBEzUgIkSyKAGDNS+HuzSAHqpjioSOXYcKA+TGYhjWxa24jff\nekUHWTFYQ9OhtlVGpd/y7ByuP3YJ375kLV+5q40rbmrEzNh8cWEnP3iynRnzowU7xnlvGhZr3k7Q\n+eoIZ14VIxywisJG7rcCbK/MKODVlXDzXdDTDyd8AT59JnzwMNAVGbicsWSKrIu6uWmUQIps+HDo\n/AA1DRqP/HkU48E4kZhKSblGSUwhUqoQCAqCIYEeFCAEv/p2P0/8cZgbfzWBky+Iccd3+3jq7p38\n+qbtXPPNCVz6n3Ug/Dw4nbLpfCPB8kWjhEpUZhxTQeOMKIYo7F5joPpA1Nts0N+ld8/88v9qes8A\nKPjBs7h87YQnqPsdQHvWJ6lqiuT8h46n1QkXd6RK4VkOXp3NYS6GAcvv68SyFNrOm0Va09xF6Uas\njEmKAjffDGeeCdddB1P2gPcqwkIRtqyrWQDvxbVASYXGlX9X0sM6WlAjOZAkXLF/K/Ak+hOkBlPE\nJsfIN4zvC3LA0/u6r87rUL5dwllD3gjQ8kkROj4yj9V/eB1zNEns+DnZFlyuVqzrAXY++TSRS88h\nfM15JJ/4G6M7dxA9/3QIjWBbCqpuoGgGqmagqAZiazdqQxUBkSIg0uhkUDHQdSFTkoaSUO6M0w+i\nRnYXOyN3yh9WN0e5+dk5/Odxb3Hz5Wv40u9auea/GzAzFtefspofPdXKjMPCCCyMtMnObRm2dafZ\n1p2md1OGihqV0y6OUl5mIzA8hmPPnGVrZpuqgqkITF3w6usW3/ohPP4CXHAyfPJceGMlXPlDCOlw\n+Wlw+RmQBgiBHQArILB0gakKTBVMJSsgC3m1SY0KH/lslNG4YHAAhgZheMAiPmIwshMyKYvt20z+\n8OMhBvstzvxIGT0bM9z5gx08e98wW7sNvvdQMy2zIyxdnGB0yCYRt0jGIRG3GNxhMHFqmAXn1lDd\nEM4qCC4wujq6typ3oTc4P0q3eOqLXF/vNr2nANRLhcbBQj/o/qTuh5axhQwT59fTMK+OgFAxs+Bp\nIXzBAY5Rwh/aIRjYPMo7f1pNSVM5HR+aiaVpvkUyvGobTNv9WBYuhKOOQVXmvQAAIABJREFUkn7Q\nu+4a/z0oitdw6wixhQHkUBwki5ly/x0pUhcl3jO63wG0b0UfVdOqQXFzMffVrI4Fml6NdG/OKck9\nQ/6KcVs5+NtYlVboTLtyHt0PLkOPD6JEZX9YxyQ8tLGfxFMvMvnlTyH0YeJ3/pbw2adRUqNgWyNY\ntoKqmiiqgaKaqKqJMdhLsKGcoEgRQAKow6aDlWHSO0cR5dE8oVteVcHOVod2A6ocEK2dWsJ3npnD\nl45fwvevXMsXfzOFT3y/gfiQwWdOXM3F11cTjQpSCYuKapVJzRoHHxFgYlOYUMgJ2zJ8V3VDuQSW\nAFMR2JrCijVw+kUWTz8HF54JSx+B6Y2ABVeZ8L3PwZ+fgNsegu/eCc310DIVzj4dtIDA0gSmpsiq\naNniLnaueajs4FIShUhUYUK9QOYMyaf1xospvvPpAdpmBbh7UQ1llRor387whfN6UHXBFV+uZtWb\nSTZ1GdQ0BolW6ESqggQiGsGIRrRSJ1Qi070yHtAs1Pa9/9fGBM+x0l0OJI7zngLQQt9coYfH+6D2\nJ1V96jzUzRvpeWwRgyu20XLmdErLQ7kH7JhxFY9xwvvATcNmxV/WMfmkFqpmT8REK7i/zND4C5nf\ncgssWADXXz/+exAiuzxF/qx6vjOmFur+/d+dHDNu1bSq/XqdeF+Skokl7K+kHS847CsLwq5B1KnJ\n4zRjV/xsMqoy7eI5ZLBJk/D5VDff8Reih7ZTPXcSo1u7STz6NI1P/JpAcES6HmwVRTFRFBNVMVGE\niXbCLAJmgqBI5zTQHICWBTGGk0AEB9YdfpHfyNkZtwOiAptJ7SXc/MxsvnjcEn740S4+dsskGloD\nHHJclD/9cAc//msDBy8IoQjXL1o8oiCv85AAWxEsfsXihzel+fvTNkcdJXjjJcH0yaClLVk83wQs\niATh8vPhonPhu7fDG8vhM9+WxyXn21x2pULrLBVDlWVFZXCgawrN17DlzVrc9fM437lukCs+V8J1\n346hqIKnHhzhSx/ewdGnRZl5RIS2Q8JMm1+KFtJ9IOgFPiOPFxcDUT+fdjik9zy7qlJ0YJlz3zNB\nRN5JKzax+eC5vzXQuCjBamii9sqF6C31LP3lYja/2UvSDpDBORyjbmHYQNc/thCsDFN1UF0Rc4X8\nf/nhreMez7x5cM45ewigmC6Ijrlcx/rtrv/+70TRuiij20b2+3XSo2n0aKCIGLNvaaxnvedHfk/X\n/EQy7240fAErgWwoncx6lk34IsSJMkrEGKTnN4/RdM37KFFHiN/1AKH2RqqPaSEaHCESGiEcHiES\nHCUSGCWsxQmrCSKBDJGwRVCkskEx7s4LRDWM0RROdLyXZ7hpZP6o+PwI0YZpUb77zCxeeqifr35o\nLXOOifK9B5s48dwyvnD2ZtavSPqCqrwJG/mRt87eee2lDJecOsxZx49SM1Hh70tCnHuRyutLBV09\nYOrITIEwEIFhC555C358N8yaCff+BjYtgVtvgbdXwGHzDU45Oc1dv7cYSWZT1DzO+3xbnZE0+PKV\n/Xzvi0P88A9l3HBzFF2Y/O9X+/ncedv59E3lXH1DjMoalbnHRgiEXIDLjzlx7jiT96SdV3+Ikp6d\nY80zK15NtHgDwgMJPOE9poHm09jbWsGylV3yoH82BSRtBwiQxhAByo+ZSXl7DT1/WczA691Med9k\nqqaUZU000pDlffCj2+NsWbyVQ649BEU4hhxHl/bHtO0Jfec7MGMGPPbYOH+wZh16e82YcXBjGU4K\nzYD/3hStK2HDc+v36zWMlEGiL4EedWrO7iu/597SeIQjvy2oMKnFHYX3LxKQzBzTNLJrPYOBQYae\nvy0ns3OYKefMQoghdvz6ERo/eTql2miOYUvN0TUJK1h5IO1ElkrgCpYEMEZGPKMohH6R00b9a925\nloVC08wSrvluE//76W6e+EM/Bx85ga/8og7bMLnmxM3c/lwdbdO03Jnzk++cWXntxQz/841hXnkm\nzVkfDvH0yhKmtsriis1TDJYuNnjs7yZDOwXtzTClSbCu22btOptZ0wSXflhQWS1IK2ArcNYFCh+4\nWGXVesHvf2vwrRtS/NdnU5x5SYgLrokw7WAtd23v0/i/m4d57R8Z7nulko5ZKkMDJtddMszbr2b4\n1RM1zDs+wkvPZaiaoGV9qe68+c2wfnubC4h+IWRXh5lTHgoDifzgeeBwnPc0gDrk9RfZyHqzo6u3\nQPvYv/GmgHzsY1BV5f/b7sjKpn84iypUV07bNUcTX9ZN18Mr6SnXmXLyFGITw/iCbmybNQ+vZsrx\njURiQaycaVdeVMP0+FL3zEAwdSpce+34o3FDFaEcs/EGlu8KSP9fpHBVmNRQCjNtogb2vdFmcMMg\nKx/oJNZcvtvC8e8OFcr9tm0zsmWY0Z5RjNE0RsrAShmYSQOhQMmEKCUTIkSqwgRKAqgeedYpFelo\nGVoWRHUyGGh03fYctUe1sOWXj5McTJFY38vEY5qJpvvJZGwSvaNktg4SnFJLaGJFjr2q2fQRRxdy\n0/ZNglGV0d50bg3buSM/scf2Aafz3vlO39Y0gztM/vuRNm48aw2BAHzhRzV87Ve1fO0jPVx1Yg+/\n/3sNLW2KT6hwrrn4BQmci59Lc9blEf62qpLmqQoKNunsaNSgxuwFFofMt4j3m6xbbbK0y6K+XuHK\nhYJwUGArgnjW/IsAS1EwVIWJrSqf/47KJ74pePqvKe65bZQz5vYx67AA515TwukXhikpdQO6rvli\nKR+5roSycsHKpRk+fvYApeUK971eS11jAAuFoX6b2mbNA5z51j4vQBYz23odWcUOr7+zWMIbHEig\n6aX3NIB6bfteOTi9c4TtDy2GL1y7y9//Mykgpq14St9lgz4UlcqD6pkwo4IdL69l9f3LmffJQz0G\nOZtMPM3othFKTmzECd5xWbItowa959xDuvFGuOMOSKd3/91wRbAAPL1l1gqLao3fxPvvRIqqEK6K\nEN8+us8BzkybLLt7Oe1ntVPZUc2B5lX2+jgdGt48zLon1pEZSRNrLEMv0dGDClpZGD2kYhkWI9tG\n6FuxnWR/CiORoaK5jNrpFdR0lBMoCXoMwCKrhUpNxlrSS9ujK6h86eOUHzyZx879HXVHTyW9pJOd\nj7wKgQB6TYzApCqiooRQtiUfOI2gfTXHcoCqh1SsZNpzP64RWskxeD9oeoHTOda8Fad9Xilzjovy\nwyda+exJq9F1m89/t4Jv3V7Dly/t4ZbPD3DbQxXIwEFJi59P85NvjPLq81ng7KyioUUG3Bg+7gWq\nkr2asNEqLToOt5l2OGDb2DbEkakrTgML2cTCDRoyhYKlKxx/Tpjjzyln83qDB34zzM9uGuTmz/Zz\n2kVRzr8mwpx5OqGIChGbR+5JcMOVA5x6foiv/axSzhcKpgWb1xt0HKH7ANLyaZ+aDyjzX72AmrMQ\n5gDT+3/XDmfhFT8OrD3hpfcsgI7lEwVBZiCOXl1Y+Dmf/pkUEMv25C0J7/Ulw401lzOwogfwmj1t\nglGdWRd2sPzPK5l10QxKG8pym0dgo+ViAXcPnrffXvhZTQ0MDRV+XoyCmuXTQN34OK9p7P89wCxG\n0doIo73xfQ6g25dtp6ypjKqOqgNwdr0BQjbJwSTdT69noGuAySdMZuLBdQhFrt3r+Qql7IO5mQOY\n/5f7b+9tl3Htyq8x4fgODEtgCB1LSIYtRzWaE++k2OkaDL2eTWEaqKrwrWOXWfs1znwQdcy3FgrB\nUp10PI2NYNq8En70+BQ++/4uArrNdd+OcfPvq0iPGjnxYNHf09z6jVFeeyHDOVeE+davaqmfEsgB\nTjGzpBA2imLL+ATFRtgek7ItX2XXpywAZd9bWSB1Wio6VDM5wEe/EeHqr9bw8mPD3P/LQS5e0Evr\nTJ0PXRll47oMf/z5KF+5NcZFH4tiCwUzewdrVxqES1WqJgZzkbV+kHRN6l7gzNdIdxVh62+eVngc\nyPSeBVCH8ifYBjKDcdTY+KoQ7W0KiG1Lya/YGAQ2RjyDHtGKLofqlhgzz5rKsruXM/vSGUQnluIU\nWHPOJTXTwj6O+5KcKjGFJly/K1945MH/V4E0Uhsl3rtvKhJ5Z2/rmz00LGjYJ+fdeyr+PJ3VbWUM\nNr24iS2LtjBx3kQO//Rh2UpJ7preJ+BZhGonTKCjtgaLYQzF1wMpzwMqcu/c6kCe+rumgaLmp/G4\nMRP5Zlu/b871t0bLdbZuTeTufOYRJfz4b038xynrCeg2//GNMkIxwSvPpfnJ10d4/cUM514Z5ubf\nxGho9qdsOPeQH9YlsrnZhTY2V1P1ApE39iMfeLz7VVEtjjo9xrGnl9C3JcWDtw/x05uGGB22+N1z\ntcxdEMTG36f4rZdTzDqytIjZNT9MTPV85m/j6HzfO8Zdjdvv8/z/AXSfkB9cvNKhv9KngoU1OEIg\nNv7i33uTAiLD5NMeDc591TCw4klCEcUHTN7ghLq2UsQHmlh251LmXDaDaK3MT3MlZ5P9nYojm0p5\noxULWZNftz/Ql/P+o0htlC2L+vfpOeN9cZI7k1S2VXhY44FBAhvbttixdDtdT3URayxj7rWHECov\nlgu7f0cdUVIY2f3grWaT7z9zxu0PdZGHbVooan7Rh0J4yjcxyuAiJQehoViQoQHLB6qzjirl1kcb\n+Y9TN7Jto8GmtRmWvJziQ1dGuPm3lUyaLFPUDITPZ+g1a/rrULtzKoq8FzhRxPk2ImcGskCcB0kK\nFiYKKirlk1Su/EqQSz5XSdfKFDMOCZHJnsG57y0bTUZGBA3TonnxxPkdVQrBU1oIimue+XNd3DH0\n3uA07xkAhcI8tnwvhvOYzKE4+qSycZ/XmwJy443j+01ApAmIDLrwBmW7lR6TWwcIRVW8vkWRt3Qm\nTS+FzCSW3rmM6R9oprK1HFWYyCJiRo4p7C8KkvJFLRbrEFEsFg4OJFb/r6FobZR4b3yfnrPnrV5q\nZtciVJX9lfu5p+SMYqC7n3WPrUMImHZOB+WTi7tE/hVCVYhkAXj6cwqVnLDpLwbi9uMkk0FRxyp0\n6GfoAssDno5vVPKXUHmQoZ0maVNBUV0QnXNsKV+/YyJfOn8LCy+M8uiaauqb1BxwOiMqVkDALgAX\n506cMZL3iaccqG2TTNgM7zQZGTAIRjRKK1WiMRUZX5RfakYapE1k318lbNN6SJCM58oWChlL8Orf\n40w7ohRT8Vb29ZfjG6tAgh84lTygHNtc+17jLu8pAHWomGTllR1LWmowQnvWfmpPU0ACIo2ep4Xq\nGChmmu7HljPSvZODL+kYA0DdOrlNs2MENJs1T62n6+n1TD56EjUzqtAVKcHtT3Jq+I4VhVtMxs1f\n2u8NOfGfp2AsiJE0MFIGenDfWAaGN49Qf2QD+WlO7xY5z7avcwerH1xN6+lTqZ5WNY5ev/uX3dkD\nA4TLIwUMPD8a1DuHrmdRrtnhDYOUt5QXXcPeXSlyXMRGoGSjcl2g1EsCVNSHWf7KCHOOivp0rBPO\nq+Dh7jD1k1VULAy85TuFD0ANNFKGwtYNGbZ2JzFNgaKrKLqCFlBQNEWanFUhXxVZ6Sg+ZJIYNokP\nGYwOmoz0S+j7/9q78+BIrsM84F9Pz33hGNzAAlgsFnsAWC5JLUmJprgURYlaSbZOy5FF2owsxSUl\nZTuuymGrbKaSlFJJKk7KihQ7TjmW5UuS7VA3ZVIitTLFY0kuyT1xLK7FjcU1MxjM0d35o9HTx/TM\nAI0b+/2qUIvFXG9muvvrd/R7kWoPwpVupFfSiM/nkElJiFS5UdPiwcn7Iqiu80AdriWu1eXlteZq\nc7QBQE4RcP47CWQkER13V9iGZ2Fwmr+L4uFZ6mfvXedZzr4KUOOGbxei2tdV2duCtFJ+InajjV4C\n4hWMlwarISqkVtD/9Vfhc0u459dOwucTIBaEkjFA1fdz6GQILSeOYKY/joHzExj+0Sja31GPpjtq\nAE+ZgmyCD+n8QAvzKFy56GZvpV7levAJgoBALKBeq9kU3opnxMrcCvw1gT110Ji9PIPB7w2g+5+c\nRLSldCvOTk3z/cofX0JlWwSt99Yj2lYJWTCvB2O8jMJYk883z+YkLA7cwpFHO0zPa3cQ10NUXStV\ngAIJCtRZlES4BDfuOFeP5/5kBId7gqisENfiQ51vtrYtAAkytDVCrc3E8aSAaxfTuHkjiamxHCrq\nfag/HIAYFJHNANkkkFsEslkZkqRAkgBZAiRJgS/ohj/ihj8WQEO7G8EKD8LVHngDeu1b+z5yGQkr\n82lM9Sfw9FfnUNviRc/PRVHf4oG6yJx17Ku6vycTEl79URLzMwre/XgdFLd2Ja1deNrVQo1N0+a6\nr/UzN/9//4UnsM8C1Mo+RNda4wWp/BNYbOgSEEFdismPFPxYhUdKoe/PXkLt4RCOP9IIn8s6WZVd\nDdRwQiAAh7r8aD7aivnRJAZfmMPQj0fxLzfQL7tR1jmSCnss9mvPxPbQAjS6BQGaS+eQS+UMfYo7\n+cnaz2s89fokRn40gt7HexGpD5V9zE4d8s79ZgeG3ojj6ndHkMuNoL47htruGgQbIupiCGvbZ+Eg\nGvXf+aEFhOqC8IU9+e1Y6wayHkEUmCe+196fvl+ICFYH0HlvFV7+wSLe9YlY/rPR7qON2TV+SrIC\nDLyVxotPJ9DUFcSRMxW47+MhiH4PjAOKrOPfrc261tNYBUB67XfTu/YqCDV4cbQhhCP3xTDy+iKe\n/+Y8IpUiDh33o67Fi5pG99ryaTJujadx7aUEbvator0nhAd/uRbwepCFqyA4i/eDWo8gdmP5jSXV\nr5DXP+n9dYTZtwFq/CrsxoWVm8Vns5eAhJFA0LD65+yLAwiFgZPvaYBfSKvNubBOTlWswcKwaQlA\nc5sHzW0NSMylS5Rg87SFwAsnT1BMv5NKC9DNUhQF833zCMQCELZzjbR1iE8sY3FgAYtDC1idX8Wp\nX+1BMFZ6BHvhoW8d28jEBPDkk8D3vw/MzKg727lzwO//PtDcXPKhfq+Mo2cq0P62aixMZzF2KY43\nv94PWRAROxZDoC4Ef30UocaoabYcbQ6w+WuzalM09OkTtHcA2xAF9IGJ6j3lfK1N3Tc676/Bs/9r\nCBeejeP02TAUUchHiJQPULUEy4sSfvbdZSSXJTz4yw2oagrkj1RZS1+udbTqeps5rX2/xn3Y5XGj\n7Z5atN1djclry5gdWsHAxSUkbmVQ3eCBIitIJ3M4dk8EH3hfLTwBDxS41o4OpSZnNIenseZpDU+9\nBgqYj976FrUf7dsABayjcc0hutFp8DYqhKS6bLaSwK1/7MPsi6O454mjCAppeNf6FvUy6Wek5k3H\nbhfR31ewRsEqFuBH1ZaXfwlJtdkZSkF4CjB38xvLfTsLxIJYGJjf9PPMvDWL4WeG0fpQ+6afazPi\nY0u4/FeXUX9HHVre3oyKtijcvtKHBPO0JcYDdwnDw+ow944O4M//HOjsBAYHgd/5HXUE34svAq2t\nRR+e35cFoLrBi2hDPboebsL8ZAbTN5JYGl7CjecnEGoIo/PcEXijfsiKAikjIx3P4tbVOZz+zGnY\nRY+yVg/V2oW0dyTk+0HVe+lHF/URbjfwzifa8PpTE/i7P5hE5+kgjt4VQkW1B1Imh/ishIXpLObG\nMxi+ksKJt0fxjvsrIYgiMkWCp/igIvvaW+E7KRxApT+7CJcoo6E7hqbuKjXo0zksTKQg5yQ0HglA\nXBtykTH0XcqmEC2cb9y+9ilYwrOwDcvcGbd/7dsAtQtP7ce9AyNYw0jAvbKE4b+/CGF1Bfd/phMV\nFYAXKXiRWQtQfTfQm3SMjRWFTbrWxzyDj+X/kskC/+c3r+OVp2bwwd89jrZ7alHfWwPF61/rhdV7\nZI0j/XJrQ8qN9V0A8BQ5xy3X73m78lf6kF5a/wo5duScjJEfDeP4R48j2la5a5+uosgY+ocb6HjP\nYTScrtvII00neevaPj73OUAUgWefBXxrYxNaWoBnngGOHgU+/3ng298u+nDbk2EBiDX5EG0K5Qfk\n3Dg/hQtfeR2CW0R2JQeIIjwhDxrvrEOwygfFUtbCZlFrDVTbawsnVwAAd8iP+z7ZhuRcCsOvzuO7\nfzIDQVEg52RU1oioqPOgoi6A936uFoGIFxKEgsA01/C00227Jlzr1aDWj6Pw3ajPaO7vNP343Kg6\n7IMAdSk3ae0TMh5VFQiWGrLdQuTaJSvGxTAKJ0kwl/Rg2LcBClguEracI253DVSZnML1v34NLd0R\ndD/cDr8o5dcc8Kw1zFh7AOzLLxdsatbeEO0ePhF44/sz+Pi/OYRTj4TRd2EOfc+Mo7G3Ci131yFc\nX4EMPPDAC8k0yMI4c4v+ioUNKYU1zv3buLL1fJV+pBc316w+cWESwdogKtoqduhAYv8q89dvIbea\nQ/2p2nV/x4UXVtj1ylksLABPP60Oc/dZBvYFAmq4/t7vAUtLQIX9pTIi9PEM1tM7ba/xuF3ofKgZ\nzWfqIUkCxKAXgsdreIxWbuO7NTbhau/GGCA64zR/xrLIcCFQ40LPe/3ofrgOuVQOgZAAt0uLXnUv\nzhgC0VhjM0+67jKFUeH499LDtqz7r3atauH4Bv3HejWs/nlZO3OM5S014tZa89Tbsg7i0WTfBKgA\n+wWB1U57tdNfb2Ap1syxdQa/9gp6zjWjvTuoDiIyrQCRzZ9HWs9ajTuBNUC1qciMIaq9bwUCXnl2\nGQtTGbznUzH4K91o6YxheRnoey2JC38xAE/Ej5rj1ag+XgNfTQQuwZOfGFD7nPQrwfQauvEzPVjn\nh1vLF/Ehk8xAlmSI4sZbOHLpHMbOj6Hn8d5tKF15siRjcWgR81dnMXdlDsc/cmwdl6jo9PgR8rW5\nsvtZfz+gKMDxIivDnzyp3t7fD7ztbUVet/jiytYt1hf2muJhY+/N3LFi3Ee08DRObqI18mqvJ7hF\niBEvclD7QdVPqXDiAGvTqLWJ1Ni2ZheeiuFbMLKe/BofW3qMg/5JGk8gipfZOlCoWHge/KPJvglQ\noHSI6huK9Txxe9z54Ra0dPoRwAr8WDVNouBeC1Brc5fdWaRxgxYMwWmswWr3/d4fT+Ghj1ciVikh\nt3YJSlXUjTvPRnDindWYGM5h9FoKr3/tOiC60fpAM+pPNwCCPv1Xfmc3nUmXcvDOGp0SXAK8ER/S\nS2kEqzd2nTEAjL80gaojVQgXjHDdfuMvjWPsuWEEYgHETsRw52dOI1BtN6tQOdphVlirvwHltqDN\nsquF6bdt5etodVKh4ETTGp5aKMmGRlLrCbG1/LAJo8IgtZu+pDBAi530WmvIxpq6OqeSy1IvNAeo\n9XGFAWpdOaV4zVOBOfAPorIBev7J5/O/t55tQ9vZ9u0sT1nlQlSEAHUJ9+3dqVs7PQggCT9W1wLU\nfGVa4aAhFNRJ9fNM81mhsUdEe/ytGQnnn1rCV37Unr9+U5+gQYbgUnCow4v6jhhOva8Bs+M5vPat\nCYy/NodD97eg6lgNXIJo6ssxN9wU/s7wLOSLepGJZxwF6Hz/Atrf1bYNpSpv4mc30fOpHkSaI6Zv\neqO07cMYnkKp7aSzUx1afuWKumqD1eXL6u2dxRePN/cDFtZAN8+ucRoFJ5r6fcw1Oi1srbFjvL/2\nb/GmUT1ACy/QKx6g1n+t5dTDUy2pXcNwuQA1h6gxKK2Bad/nud8MPzeCkedG13XfsgH6wJMPbrpA\nW80uRLVJuFTb33gQWgvPAFYLAs2dn7zLzLjRGZthjLvUwuQqrrwYx8piDqGIgFitC76gCz9+KonW\nTg/O3C9CQgb63B85y9kkAAGob/HioV/vwM2rK+j/ySgGnh1D6/3NqO2tgyB6TGWyuw5LyR8i998O\nsJ28YS8yiXVcKGwh52QkpxKI7sJ6n6uLq5CzEsJN4S3bL9bd6F9dDbz3vcCXvwz81m8BfkOtd2VF\n/fu5c0BlZYnXKjzcb3Wtxvh+rKw1T62ryD44zSU1Pk5/Ly5D+JgDtNSgIev7LhaexiA0h6f5+lZz\nWc2PM76esZzac9qFfGGf5/7UfrYN7Wf1E93z/+6nRe+7L5pwC4eeF4ao2tBi7vVYRhJRbH1zWTwz\nD793FX6k4Vv7MU6YoE2aYNyIjGeO2oaYSkoY71/Fzb4Urr2cxOUXk5gZy2J5QcJKXMbjv12Bd54L\nYn4qg7/94yU8cC6I1YQEf0TbySTozdbmKZ0lSPC4RLR0R1F7MoaZoRQGfzqN/n8YQ+x4DLGTtaho\nr1ybh1Uvoz6swhii5ezfnWWjPGEvMvFs/tTC+unYX2AALE/EEagJwuUV838r/oj1Kv3dZFNZTF2Y\nxOTL46g/XQ+tu9PZKxZ7lHVsq40vfUld8ujd7wb+/b9XR94ODABf+IJ6+x/+YcmH21+kbz0ZtQ4O\ncta3C5v9VttnzY/R/67FhvoMesTbv5ZdDa7wvRULUP1ftQR2lQnjybmxlNbTD7vwtD6HMUCNv1vL\nZr/0xMG3LwK0GOPGo4Wqdn4kAvgCvmTq+LY2nxibUbW/ipDUy1CUDGZfHMLkT4fR/b5mtPWE4UcK\n3/7XL+FnXx3Cf3n17Yg0CfnBQ7l0DoNvJSHIMoIhIBgSUFXngehxYXw4i9G+DEb6Mhjty2D0ehpj\nfWnMjmcBANGYiIqYG0fv8OOhj0TRccKD9i4RLW0iPG4FF55PIbEk46FfCOFvvrKM0w8EceLeMFAw\njsX+7NIlADUdEVR1VCKxkMXU1SUM/3gUyVt9iB2LIdQQgr8qgFBjBL6oD3pPUKHbfWyuL+JDOpGB\ndshZb3Po8lgc0dYoitcbNkv/vlaXVjH+wk1MvzGD2PEYuj/VjUh9eF3l3Ngrao25ZXR0ABcuqCvX\nP/64PpHC+98PfP3rQFNTyYdbL/coDJxiQboR+lHEOlxKfa/m8NBus3aHWNtzrKy1NbsgNd7PvqHW\n3ORcbG/V64ou6KFuPkbYPbtdYFtDtLCWuhPtfnvPvg5QwBiigDqAEvX6AAAcg0lEQVRoHFAHnav/\n1796+6Hh1iZUbXL1ief6sHR9Bm//tWOorAJ8WIUPGfzSfzyG8ddm8d8+/jr+649PwuPNYvxqHOef\nWkImJWHpVg5Tw1lM38xiZlzC8oIEWQIqa0Qc6vLhUJcPZx6J4EOfr0Uuo2BhOou3PRxBR7cXbpf5\n4mc5l8PIQA5feXIBD5wL4t0fDmHxloRv/8UKKht8qD9c+PXZNa4Ym5mCVT60vaMRze84hNRSBnN9\nC0jMpjA/uIT4hHEOVO2AUvj86idr/N/twx30YHVhNR8eiuG3UpIzSVS0V6LYgXBz9MMZAAx+dwCe\nsAd3f+4u+KK+dYe8s1de57tobgb+6I8cvYY1NPUgLaz1OG06NH6fxu/VyDiwyHryrX//5vpr4evo\ne2VhE2ixpck05t+Lv4p2D22GXn3JR+vARvOzFdZizWW2+9HLdTvVPDX7PkCBwnN5dUZLtXFTHUgu\nwLxqqL6j6fXRtR8pg4kfD2DhyjTu+/QxhENKvpnWhzR87iz+1V9347fvfglf/twA7n0kgMRsGnfd\n78U/f/Qm2o560H7Mg7MfDKG5w4PpcQnVDR584IkqCKL5Cs+nvzaPM4+EEa0S8cZPkhjrW137SWO0\nL4PxwQxyOcAlAr/5xWoAQGVMRG2TiFRStnwG5uYjuxA1DooQoCBQ4UXzmYZ8xN7qX8Dlv7qCEx8/\njsr2yiK7gl2j0e3DJQqQJRmFNdDSzd1yRobb79mWg4yxLjBzaRbLY0u48zOn4Y96S5Zpq2z3KxSr\ngdqt9KGWx3mIWhtz7ULULj7Me0P5Gqh9La4wnPRnKnYaVGq7EwqOetbyltuLi5XR/Lf1PNPBtC8D\n1H7j1L9G/UuVCr5s6+/G8EzPJ3H9by/BH3Th7Z/uQjgkw4vMWnhqq69kEIkp+I3/2Ybf+1Afqqpi\n+K0vVsEtyngp3g7RZb4+LCMJ+MHfrOD7f76I1uN+jA5kMdKXxci1NN78aQIrcRmphAxfQMChoz60\ndnlxpNePhz8aQVuXG+1dHlRWm8+NvX4XVlPmvhrtkzHubqXOF43NTloAxI5W4/iHu9D3931wBz1o\nuLMedb3q3Jj6p2wMz/LBsdFvcW8TIIguKJJddJY+bOcyElweFzbaP2dm9zmv1TAyEga+P4D46DJO\nPdbjaJSwc9v7XVpn7inWFwoURlf5LbOw7PoiZMX7RIuHZ3nFjkWlwsn+eYq/B+19CGvvY+vLbB3U\ntB/3583blwFaTLm6kd3t2q44+8Ykhp8ewOEHm3H4nhi8Qg76dMra7I5qo1F8IYuRKyn8+n9qwv/+\n3Uk8+osh9J7xIZ2WcHMwi9G+NIb7chjuy2K4L4eRvgwWZiS4XEBThxctXX5U1Hpw9yNRPPp4DQ51\n+VDb7IHo0kYTmyfGyhk2VQEKxICElZRrbYYh62JkhQcZ48GmnOrOatzzG2ewMLSI6YvTGP7RCKo6\nKlHZUYlwYxih+hBcbu3auNvvrNMluiBLGzz4yApyqzmI3q1ZR9TwzBAAJCYTuPbNq4i2RnHXP7tz\nG16nFPum/q1kN/Wd3aAba23U3Ly4Uebm+cJgth/AU67+WywsC2/bKvbN0RtpQyrXD3s7O1ABClgH\nFhVuJMa+CgBwyRIGv3MdibElnH78JCob/HCvTfdsvnRY3+R/+o053PFgFL33+DB2LYVPPzCG6joR\n0zdzUBSgtklEW5cXrV1enP1QBIe6/Gg87MOrP1lBy7EA7ny4Ei98L46Z0TQgikhn9RlIrDMTWfst\noMhIJFzwBEVk1+a81YLUfjV4++ahkp+hS0D1kSpUH6lCbjWH2StzWB5bxuSFSazcSiFQHUD7w+2o\n7optaDc6CDuevzqA5ZElLI0soqKt+KUXAJCYSqD/OwNIzqzAE/HCV7GxNWqLUzD8zBDiN5chZSSk\nl9I48uhh1PXW7finu+6BRJuQgxsKhJInh3bb+mYO9tY+bv1vehjrV8PqYzCMrTP2g/Dsmj3N5dzK\nJlFzmfUa9cbajezL5bSp/CA5cAEK2G96dmeJuXQWV79xBQJkvO0zvfB4hfx1lcbZgKyBll6R0NQZ\nAKDgN/6gCRM30vjA4xU4esqH1k4PwhH9jFj7uf5mGitJoLEzABkijt0XQUWDD8lFCS//MI7sqoxj\n94TRdWcQ/oB5gIJW3sXZDF74Vhyy4MI73qmuFG9dn6/cgWWj3H43Gu9qQONdDQAAKSdj5tIs+r/d\nj/aHs6g/Vb+u6eDWN9Rm7ws3hNFy/yHMXp4tG6DjL02g8nAleh7rgejzYGsOigriN5cx+9YMjn2o\nCy6vC/5KH7wh76af2XmJtlep7brUSeJma3Lm8FW3YHNc6uFaWIcs/tql+w63fh/RA9N6MrC+40G5\no+nt7EAGqKZ4kCrILK/i8l9eQkVzGF3n2uEWYZoModQC09GYB8u3sohVuxEIu/HlZw+bdgkZ2vJI\nLkiKgNf/cQVXXlnFe3+lBtE6PyS4EK724MhaP9WpdwFz42lceymON//HNNp7gqiq98DnF+D1C/D4\nBMyMpHH1Z3HccTaKo2eikAU3smsxb7fArXVo/GZC1MjldqHhdD0C1X4MPTOMmy/cxOGH21HdVV1y\nbUv9bF79334WORTF7OXZkvdRZAW3rs/jrs+ehtvn3rIDjgBg7PwoWu5vRuVh+8nXDxqtBlrYuWG9\nPtHa8781rLXYYn2P5nqv/avbtCntCLuaOENw8w5MgNoNBSikbrbJ6Tgu/+VlNJ1pQNv9TXALhetf\nWh9l7GcJx7xYnJMhHRVhdy6pNR/nZAE/+0ECkyM5PPrpegSiXsMy26IpzCqb3bj3I2Gk4lkMvxHH\n3HQO2VUZmVUZubSEYETEez7bgkilmO/v1OrI1rX57IK02MoOxT69cp9zZWsFTj9xCvP982qQ/uNN\n1J2qQ2V7he1C0c7mT92bQRtuDGNlNgkpK0H0WC+wVy0ML8JX6YOv0g9n78N++03OJJEYj+PEx47t\ngU9nZ0pgt5JQ6fDcbHeBs+9LyW/dxR9fGJ7b+Rnu/hZy0B2YAC1HUWQsDS1i6cYCpl+fwpFHD6O+\ntxbaDCL5+xkaYazXnuXghgAZ4Ro/5mdSyObPjI19IKpsTsH5p5axklDw7ica4Pa7DYuc6QvnWl/b\nE3Hj6M8FTEFuDOY0UDCQwi447Ra5te8Ldb6TCYKAWFcM1Z3VmL0yh/n+eYydH4MiK6hor0CkKQx3\nwANPwA3R70a4MQKXVyz6ivulj1T0iAjWhpCYTKCiNWp7n7mrt1B7stawRTir/afjaazMJJFLZpBJ\nqotDN9/XBNGzkwOFyosjjgi2fprCJJYLWlCK93fuhQEu9oN2rFj7OxhugwBVd6+xn45i5uI06npq\n0ft4DyL1QUN8KAWPyDfBrq2pp/+4UdUawlvPL6CixovmDjcqqkR41moiiaUs+i4k0ffaCurb/Hjn\nJ+sgeNTp5Y3hKRvOqs0lNTfs2PWQWPuCChfmtVurz7726WyEopngElDXU4u6nlooioLVxVUsDS8h\nMZVEbiqJXCqH1MIqooei6Pr5LhQbtVnsAva9KNISQfzmctEAXRpeQsNHG1H8+r31uf531yBnJASq\n/fCEPIgdq0bTmUaHz7Z9/jO+COMwE+MJpbWVplRPpfF3fTst189Zqk9xZ5kHH9lh/+FBcuADVACw\nPLaEiRcncOdn70Cgwmc6Z7UbS6aFpzb5gDFIBciINATx9k80YfClBVy/EEdqMQtvwIVAWERiMYcj\nd4Tw8BPNiNR4ocCF7FoTqnGlT2MTrvVfrdyl+lGsAymKrXJv14urPcdma6B2BEFAoCqAQJX5OsTk\nrRW89WeXoChy0b5Su5GPe1W0JYpb12/Z3qYoClaX0vBXBRzVOo1Ssyu487PapAj7gxZmxgZN7VpE\nndbRsb7eSrsTwK0cMLR51s6Jvb390tY4QAFq32eUW83h+t9ew9EPdhaEp7EuJuQ3fnNTkQBtJXoZ\nAsT861S1RnBPa0idOF7OIRWXsLKUQ2WDFx6vGlZZy0AHa9Or3QFhfe+0sC/IWhtdz4hF3fbv7MHq\nAFyigMHvDaL+jjp1Wa2CILVOjFfukLgbBym1TOHmMIafHbK9h5RWTxJE30Z2r8L3mktnIWVy8EXU\n8Nz7h+TCaw3t3peS/4Y3Ni67MDjV19wbTbd74fVppx2gADXLpjJYurGIiZfHUd1VhZrjMehD0Qtr\nOFqN0xic2o8EFwS484/Q7iOu1VBdLhGeCqCiQn0FdbErfXCDcdLoUpeXbCxAjc9rXIrbPjSLvd5O\nnbULgoDex3sw/cYMrv+/Psg5GbU9tYh1VSNQHYAn5AEEu9VgStnpmqr+aQWqA5AyEjLxVfgiXlMp\n0sur8Ea9+fey0TIqioJsMoPFgXkEqgMoMbh5n9iaVoXCZtpS412Jtt+BC9BMIo1r37iqrr3YGkVt\ndy0a76rP316qmVCGvvq8FqLqbitCWnu09hc538ArFgxE0l5HMYRcsQAF9DPq9SocEFS6xln8Wjnt\n3e6MQFUA7Wfb0PZgK5LTScxcmsXg00NIL64il5bgq/QhUB3A8Y+dgLjHBxu5BCC61g/qP1GTL9XU\nxWlMXpiEP+qD9Qq8cmWeen0Kky+PI3UrBZfbhUDMj+Z7S69Ush8U7nObv5jf+jvRbjhgAapg5uI0\nfBVenHrsPrjcG+9r0wJH/U39VzI8TgssNT71mYoKFQaWPhq29Lp/5d9lYf+Pfo3cei8w370+I0EQ\nEG4II9wQzv9NykhILaVx6WuXkImvIhgLwb75b/cnZNBOrCItYSTG46g9EQOgLlx94+kbOPrBowg3\nhkwN0evp253vu4W63jrU31kHb8CDg1S3svveNnIxv3Z/3W73eRIdtABVFExfnMKxX+gqGp75uwIw\nD3NQaeEJuEznuQoAMR9+5otD7Gugev21sLZorpkWH85UrOx2z22/XFvxQRd7i+gVEaoNItIcQf+3\nB3DkfUcQri9cDH33J2TQt5yKlghGz4/lb7nxwyE039uE2pM1pvvrW1npz13OSAjWBeANuFEYF/uf\n3QQEe207JNqIfRKg5Xez1aUUpl+bgqKoNQP7A47doJXCEFVDCIZYFPI/1gFGWmzZl1gPK2PQGWuI\nMNy2XsbnNPe1WgNUL4P5ccU+j90lADj5seOYfHUSl776Fmq7a9D2UFvBajDlJ2RYz/tydujWT6oU\nRJojSEwkAFnB4sgSEhNxHP9wl81WVv51sysZZBIZuNcmgt9b38xmHJx3QmS1TwLUSI8aKSth5o1p\nzLw1i5XZFdSciKH7EydLTilnr7B/RpvZBHDlQ8dYg9N+0/pNS5XW7go47XFOBxEB1pA2h6j5dvO/\nMP27twguAU1nmlDbXYvhH4/gwpdeRcPdDfBFffAE3HAHPQjVh+EOegwhutn3stHTF5Xb74a/wofE\nVAKD3x/Ekfd2FJ3gwNrzp8gKFgYXsDi0iMWhRazOp1DRVoFQXXCT74WIdsq+ClC9pqf+e/OFMSz0\nL6Dl51pQ3VkN0e2Ck5qFtY9KBtZ6OdVbtekNYDNK11yuwuc111nMTa6AswC13rewP9QcksUuU9+r\nIQoAnqAHR9/fica7GzB7eQ6JyQSyK1mk5lcRrAngxMdP5tsPAOdBat2myt/ffN9IcwQ3XxiHILoQ\nOx4r8UgFxubnxaEF9H+rD41nGtF57gjCTWGIorPtl4h2xz4KUP1Apx30UjNJNN3TiNr8gcv5wcd6\nAJYBaIOIBEN4arEqFIkl/fkKD+al+iWLPWa95TY22ypFA3T/sQ42Wp6Io+9b/TCe2JReBbYU46fl\n7FMKN4Zw44dD6lJiZVs+9G9mZTqBSFMIbe88ZCkPEe0XezBA7Q8ixriR0jnc/Nk4FgYX0f5Q2ybq\nUXYhZ7xNWYtNJR+eTkLO/PzFw3Mzz23tFz2oAlV+pBdWAUWBIFjDU2+GXw9zHd6ZUEMYsqTAX+Vf\nx+sAmUQGA98bRHI6iWMf2QsTwhORU3swQAtp0SBnJUy8PIHxF26iqrMKd332NALVgbKPd/aK9teJ\nGpv8NnrwK1Xr3Fx4ag7+4dgTUCdcyCQy8EW0Baq1enj5S0U0Gxv3XJw2UrjcYtmKomD64jSGnhlG\nw10NOP6RY3C5S/efE9HetscDVD3AyTkJgz8YxPz1W4geiuLUr55CqHb7BltY+0S1Q7I+n6e5yXC9\njYeFo2PN/26mvMZ/D7rKwxV4+b+/AtErwhP2whf14ujPd8FX4cf6L8/fXNOtxu1XdyFP0Lwrjfxk\nFMujy1BkdcBQdiULQXSh97EeU5M0Ee1fezZA841ysozrf3cNUBT0PtaDUF1oR+pZhRe/682F1nrj\nxi9BKTb8aCtqoQdf9ydOQlEU5FI5rMYzGPjuABKTCfjL1AILbc2n9uCTDxT8beq1KbSdbYM34oXg\nEuByuxBtjkBwHfxWAqLbxZ4NUABQFBkD3+lHbjWHnk9273iTV7Fpw4zTHygbiM/C6zfJKUEQ4Al6\n1i5rCSG9nF67Zfc/VUVWkIlnUNdTy2ZaogNsDwRo4QFPi5mRZ4eRnE7ijl/pXbtEZSeUj0Onh2i7\n5lvaHAGAP+pDZjm9Zz7NdDwNT9DD8CQ64PZAgOoSk8vIJrLIrWYRH49jcXABdzxxCqLX/uL03aT3\nf66/Jnm79VXuFG/Ei/n+ecxcmoXbJ0L0iQjVh+De0HJizmUSGaTmU5AyEqSMjORMEr7K4qNyiehg\n2DMBunhjHte+eQ2RpjDcfhGeoBu9j/XAE/SUf/Au0acBXC82226HysMVWB5bxtzVOUhpCan5FGpO\n1KDjkcM78vr93xlA6lYK3qgXoleE6BXRdKZxR16biHbPHglQBQv982i6txHtD7budmE2ZPMXQtBm\n+Sv86Prg0fz/567OYer16R17fSkjoePRDlQfqdqx1ySi3beOThrF5scp++cSACwMLqD6SGV+GgDj\nz95jV0onP7QdgrVBrMyt7NjryZICl8jvk+h243CUwxY2RCoyVuaSyCynEWmKbN3z0m3LX+VHejkD\nOWe3TuvWUhQFck6GIHLAENHtpmwTrnGStK2qNS0OLWD0uRGkl9PIxNMQPSIa7m7gNXK0JVyiC/5K\nH974s7cgel1wiS60v6ttSycwWBhaxPCzw1iZS0FwCfCG925fPRFtj3UFqHEFxq3o81scXECwNoij\nP98Jf9QH0cOzd9paPZ/sxupSGoqsYP76LUy8MmnqJ92s0edHUddbi7reuj090I2Its86BhEZx5pu\nTQ0xm8wgeiiKUGw75rElAgLVgfw8yf4KH9786iUoaxPQb1ZqPoWV2RU0PtYDF5tuiW5bZfd+fWEs\nfUVLld2AoHI/6vNkEpl8kxeH1dB2C8QCcLkFJKeTW/J8UxenUXeqjuFJdJvb0GUsxkbc8jXStfsp\nCpZHl5GcTiA5s6L+O5lAxyPtTstMtCGCICDWVY3pi9MIP7q5flBFVjB9cQa9n+reotIR0X61wetA\ntVVIlBJ9ouZVLhITcVz+q0uo7alFqC6Eup4ahOqC7DeiHVV/uh5v/N+3EG6KoP5UnePnWZlbgcst\nIFQX2sLSEdF+5GAiBWsN1Lz+onWVSzmTQ7ghhK4PdG6yqETOhRvCOP1PT+HNr16C2y8i1hVz9DxS\nVs4vYUZEt7d1deLYTwNgtyCxef0SAYCSk+ESBU4lQLsuVBdC9y+dQN9T/VgcWXL0HHJO5iTxRATA\n8UQKKj0ojWGqQMrkMHNpFle+cRVXv3kNFa0Vmy4o0VaItkRx/KPHcPXrVxGfTGz48YrEACUi1Sbb\notS+0KWbSxj7yZg6K0tWRmIyjuihKGpP1uDo+zvZ30l7SlVHFY5+oBOX//Iy3vb5u9fdJHvzxXFM\nX5yGb8MLdxPRQbQFnTkKhp8ZRmV7BSLNYQguAeGmMDwBD5toac+qOVGDoWeHkY5n1hWgiekkxs6P\n4dhHjiFczwFERLQFAZqYTiJ1awW9j3XzujjaVwRBAJTy8zorioKB7w2i7aE2rrhCRHmOA1SrXU68\nOI6mM40QGZ60zwguAYpcPkBnL81CykhovKthB0pFRPvFhgJUykhIziQhSwoUSYaUkTF39RbO/Iu7\nt6t8RNtHACZfncpfl+wJeRCqD8ET0Pvsc+kcbvxwCCd+8QQXOyAikw0F6M0XxzF5YQr+Sh8EUYDL\n7UL7Q63whrzbVT6ibdP+rjYs34wjOZ1EdiWH5HQSVZ1V6Hzfkfx9bl2fR7gxjIpD0V0sKRHtRRsK\n0Gwig5Z3NKPlvubtKg/Rjol1xUwTKky+Oonlm3HTfdLLaQRrgztdNCLaBzbUcZlN5XhJCh1YLrcL\nimTuE83EM/BG2MJCRIU2FqArWXgCnMaMDiZBdEHOyaa/ZeIZ+BigRGSjbBpe/NM3IWUkyBkJq4ur\n6Hjk8E6Ui2jHiV4XFocWcfFP34TgUkfpLgwuoq63dreLRkR7UNkAbX9XG0SPC6JXhNvvhjfMs3E6\nmKqOVKH7k91QJBmKrECRFSwMLiK7kt3tohHRHlQ2QCvbOI8t3R5cost2tG2IMw8RkQ12aBKV8OCT\nD+x2EYhoj+L0QURERA4wQImIiBxggBIRETnAACUiInKAAUpEROQAA5SIiMgBBigREZEDDFAiIiIH\nGKBEREQOMECJiIgcYIASERE5wAAlIiJygAFKRETkAAOUiIjIAQYoERGRAwxQIiIiBxigREREDjBA\niYiIHGCAEhEROcAAJSIicoABSkRE5AADlIiIyAEGKBERkQMMUCIiIgcYoERERA4wQImIiBxggBIR\nETnAACUiInKAAUpEROQAA5SIiMgBBigREZEDDFAiIiIHGKBEREQOuMvd4fknz+d/bzvbivazbdta\nICIiot0y/NwIRp4bXdd9BUVRit8oCMoXlH+7VeUiIiLaV/6D8EUoiiLY3cYmXCIiIgcYoERERA4w\nQImIiBxggBIRETnAACUiInKAAUpEROQAA5SIiMgBBigREZEDDFAiIiIHGKBEREQOMECJiIgcYIAS\nERE5wAAlIiJygAFKRETkAAOUiIjIAQYoERGRAwxQIiIiBxigREREDjBAiYiIHGCAEhEROcAAJSIi\ncoABSkRE5AADlIiIyAEGKBERkQMMUCIiIgcYoERERA4wQImIiBxggBIRETnAACUiInKAAUpEROQA\nA5SIiMgBBigREZEDDFAiIiIHGKBEREQOMECJiIgcYIASERE5wAAlIiJygAFKRETkAAOUiIjIAQYo\nERGRAwxQIiIiBxigREREDjBAiYiIHGCAEhEROcAAJSIicoABSkRE5AADlIiIyAEGKBERkQMMUCIi\nIgcYoERERA4wQImIiBxggBIRETnAACUiInKAAUpEROQAA5SIiMgBBigREZEDDFAiIiIHGKBEREQO\nMECJiIgcYIASERE5wAAlIiJygAFKRETkAAOUiIjIAQYoERGRAwxQIiIiBxigREREDjBAiYiIHGCA\nEhEROcAAJSIicoABSkRE5AADlIiIyAEGKBERkQMMUCIiIgcYoERERA4wQImIiBxggBIRETnAACUi\nInKAAUpEROQAA5SIiMgBBigREZEDDFAiIiIHGKBEREQOMECJiIgcYIASERE5wADdA4afG9ntItwW\n+DnvDH7OO4Of8+5jgO4BI8+N7nYRbgv8nHcGP+edwc959zFAiYiIHGCAEhEROSAoilL8RkEofiMR\nEdFtQFEUwe7vJQOUiIiI7LEJl4iIyAEGKBERkQMMUCIiIgcYoERERA4wQImIiBz4/wmGuH/XRgLf\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from rdkit.Chem import rdMolDescriptors\n", "contribs = rdMolDescriptors._CalcCrippenContribs(mol)\n", "\n", "#Producing this image:\n", "fig = SimilarityMaps.GetSimilarityMapFromWeights(mol,[x for x,y in contribs], colorMap='jet', contourLines=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Chemical Reactions\n", "\n", "The RDKit also supports applying chemical reactions to sets of\n", "molecules. One way of constructing chemical reactions is to use a\n", "SMARTS-based language similar to Daylight's Reaction SMILES [[14]](#c14):" ] }, { "cell_type": "code", "execution_count": 140, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAACWCAYAAAACG/YxAAAMkUlEQVR4nO3db4xU5dkH4Hu1sAtt\ntAYRIagBq7VVS7WCyWsUqrFqWqU2igmlKsaobRqjjQkRg5i0RFvbSv8lJSRaGpsoSWMAoRoT0lB8\nP9gIVGsVixarHwRe3JAFtCjc74fTVf4tzMIzM7sz15Vsdj0zZ869h8dz//acM890ZGYGwCDQ0dHR\n0ewaaD36IPVwTLMLAABoNQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGEC\nFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYA\nQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBh\nAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIW\nAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGECFgBA\nYQIWAEBhAhYAQGECFgBAYQIWAEBhAhYAQGEDP2A9/XTEOedEdHZW35cvb3ZFzdPfffHMMxGXXRYx\nbFjEmDERt94asXVrY2oFoIiOjogLLzz48r6sWBExeXJEV1d1+L/55ohNm+pWYuMMoj44sAPW3/4W\nccstEQ8+GLFlS8RDD0XMnBnx0kvNrqzxjmRf/PznEffcUz1/3bqIT30q4qabGlYyAGWccELEk0/W\n/vyf/jTirrsi3n03Yv36iPHjI6ZPr1t5jTHI+mBHZmZDtnQkbrihiuDf+94ny37zm4i//CXiiSea\nV1czlNgXPT0RY8dGbNtWnxqhzjo6DvU3OxyZAd0HozpT9fLLEd/6VsTf/x4xdOgny2utfPv2iFGj\nInbsqF+ddTfI+uDAPoP1wgsRV1+977JrrqmWt6r16w++vJZ9cbjes3JlxIQJR1cfQPONb3YBjXbO\nORFf/WqVJw7mUIf/HTsifv3rav1BoVX6YA5knZ2ZH3yw77IPPsjs6mpOPfW0aVPmrbdmHnts5l//\neuDjteyLQ/1zrlmTOXZs5tq1RcqFZmjMUZEBblxEbImIS0u9YLPH9eH0Vvjuu5mnnZbZ3b3v8v1/\n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\nU0456ON9DaB2HlhQDwIW/1UsXEUIWLXQB/tPwKpBV1dXbNu2rc9J0wwsaAwBi6gmEX0hIm6IiJUl\nXlAfPDx9sP9aYKrU+hs9enRs2bKlz8fbdfAANMG/IuLCKBSuqI0+2H8CVg0mTpwYK1asaHYZAFTe\nbHYB7UYf7D8Bqwb33Xdf3H///bFkyZLYvn17vPHGG3HLLbd8/LirFgC0Mn2w/wSsGkyYMCEeffTR\nmDt3bowYMSKuvPLKmHyIT/nu6Oj4eLDt/TMADEb6YP+5yR0YNNzkTj3og9SDM1gAAIUJWAAAhQlY\nAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAA\nhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJ\nWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgA\nAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACF\nCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlYAACFCVgAAIUJWAAAhQlY\nAACF/T8TcHX8arqEPQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 140, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rxn = AllChem.ReactionFromSmarts('[C:1](=[O:2])-[OD1].[N!H0:3]>>[C:1](=[O:2])[N:3]')\n", "print rxn\n", "rxn" ] }, { "cell_type": "code", "execution_count": 141, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "1\n", "CNC(C)=O\n", "2\n", "CNC(=O)OCCC(=O)O\n", "CNC(=O)CCOC(=O)O\n" ] } ], "source": [ "ps = rxn.RunReactants((Chem.MolFromSmiles('CC(=O)O'),Chem.MolFromSmiles('NC'))) \n", "print len(ps) # one entry for each possible set of products 1 \n", "print len(ps[0]) # each entry contains one molecule for each product 1\n", "print Chem.MolToSmiles(ps[0][0])\n", "ps = rxn.RunReactants((Chem.MolFromSmiles('C(COC(=O)O)C(=O)O'),Chem.MolFromSmiles('NC')))\n", "print len(ps)\n", "print Chem.MolToSmiles(ps[0][0])\n", "print Chem.MolToSmiles(ps[1][0])" ] }, { "cell_type": "code", "execution_count": 142, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 142, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps[0][0]" ] }, { "cell_type": "code", "execution_count": 143, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nU1AtBRJee5ZUCRIRUV0EdX9utxsbN25ETk4OKisrYbPZ8PLLLyM8PPyW+23evBnz589HfHw81q1b\nh6FDh/qpYgo0hw8fRlxcHK5cuQKz2ay6HNII5wipU0QEmzdvxujRo/Hqq69i9uzZOHv2LGw2221D\nEAAsFgvKy8sRERGBhIQE5OTkoLm52Q+VU6BxOBwIDQ1lCJLfMQjpjh0sLMTEiRMxe/ZspKam4ujR\no7DZbF4PbVVXV+PNN9/Eli1bsGXLFnzwwQd4++23MWHCBBw5csTH1QeG/fv3Y/bs2Zg7dy4qKipU\nl6OUw+G49uGpoKAAly9fVlwR6YJBSB331VfAU08h9k9/QkJCAk6dOoWVK1eif//+Xu1eV1eHZcuW\nISYmBtu2bUNMTAwAozs8duwYRo4cicTERCxduhROp9OXr0SZkpISpKWlYcKECWhqasLZs2cRFxeH\n9957D263W3V5SrScOuF0OrFkyRLEx8fjs88+U10W6UCIvLV7t0hSkkivXiI2m8jFix3a/ZdffhGb\nzSbh4eEyduxY+fzzz2963x07dsigQYNk1KhRUlxc3NnKA0ZRUZGkpqaK2WyWrKwsOXfu3LXb8vPz\n5YEHHpCEhAQpKSlRWKUaGzZskPj4eBERaWpqktzcXAkLC5O0tDT54YcfFFdHdzMGId3eF1+IJCeL\n9OxpBOCFCx3avbq6Wmw2m/Tu3VvGjBkj+fn54na7b7tfTU2NZGVlSWhoqNhsNrly5cqdvgLliouL\nJTU1VUJCQsRqtcr333/f7v2qq6vFarWKyWTq9q+5o1577TVJSkry2Hby5EmZPHmy9O3bV9asWePV\ncUPUUQxCurmiIpHUVBGzWSQrS6RV9+KN2tpayc7Olvvvv19Gjx7tdQC2VVhYKMOGDZPY2Fj58ssv\nO7y/SiUlJZKamirBwcFitVrl9OnTXu23c+dOefDBByUuLk6++eYbH1ep1tdffy2pqakSGhra7v+v\n2+2WNWvWSO/evSUlJUWOHz+uoEq6mzEI6UbFxUYAhoSIWK0iN+lebqa+vl7sdrtERETIsGHDZNOm\nTdLc3NypkmprayUzM1NMJpPsyMkRaWzs1OP5WmlpqaSlpUlISIhkZGTI4cOHO/wY9fX1YrPZrnWR\nDofDB5Wq88UXX0hycrL07NlTbDabXLjNSMOZM2dk6tSpcs8994jdbheXy+WnSuluxyCk60pKjAAM\n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\n", "text/plain": [ "" ] }, "execution_count": 143, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps[1][0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reactions can also be built from MDL rxn files:" ] }, { "cell_type": "code", "execution_count": 144, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "execution_count": 144, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rxn = AllChem.ReactionFromRxnFile('data/AmideBond.rxn')\n", "print rxn\n", "rxn" ] }, { "cell_type": "code", "execution_count": 145, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "CNC(C)=O\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAYAAABNcIgQAAAKYUlEQVR4nO3dfUzVZR/H8Q8tlUO5\nZVoqlHWv9IjodCkP5aRZ5Pqj08z1MNekaWW3PQxriqaZ4O4lDrXOWE3+qBlZBq02JYzKHowetK18\nwAQyLBdbM3UtuMVUOtf9x7VuS2UeEDgcvu/X5mA/znW4YMP3ruv3+52T4JxzAgDAqItiPQEAAGKJ\nEAIATCOEAADTCCEAwDRCCAAwjRACAEwjhAAA0wghAMA0QggAMI0QAgBMI4QAANMIIQDANEIIADCN\nEAIATCOEAADTCCEAwDRCCAAwjRACAEwjhAAA0wghAMA0QggAMI0QAgBMI4QAANMIIQDANEIIADCN\nEAIATCOEAADTCCEAwDRCCAAwjRACAEwjhAAA0wghAMA0QggAMI0QAgBMI4QAANMIIQDANEIIADCN\nEAIATCOEAADTCCEAwDRCCAAwjRACAEwjhAAA0wghAMA0QggAMI0QAnHs5MmTmj59upqammI9FSBu\nEUIgjrW1tWnTpk1qbm6O9VSAuEUIAQCmEUIAgGmEEABgGiEEAJhGCAEAphFCAIBphBAAYBohBACY\nRggBAKYRQgCAaYQQAGAaIQQAmEYIAQCmEUIAgGmEEABgGiEEAJhGCAEAphFCAIBphBAAYBohBACY\nRggBAKYRQgCAaYQQAGAaIQQAmEYIAQCmEUIAgGmEEABgGiEEAJhGCAEAphFCAIBphBAAYBohBACY\nRgiBPqK5uVnOuVhPA4g7hBDoI+bNm6cbb7xRO3bsiPVUgLhCCIE+oqSkRJmZmZo8ebJCoZB+/PHH\nWE8JiAuEEOgjLr/8coXDYdXW1urUqVNKS0vT4sWL1dLSEuupAb0aIUTcmjdvntasWaOTJ0/Geiox\n0dLSosLCQmVlZWnw4MH/P56amqrq6mqVl5eroqJCqampKisr4/wh0A5CiLiVkZGh1atXa9y4caqq\nqor1dHpMJBLR+vXrFQwG9c4772jp0qUaOnToWY8LhUKqr6/XwoUL9fjjjysrK0vbt2+PwYyB3o0Q\nIm7Nnj1bBw4c0Jw5czRz5kxNnTpVu3fvjvW0ulV1dbXS0tKUn5+vgoIC1dXV6Y477mj38f3791de\nXp7q6+sVDAY1efJk5ebm6tChQz04a6B3I4SIa4FAQIsWLVJdXZ1GjRqlSZMmKTc3V7/++musp9al\nGhsbFQqFFAqFNG3aNDU0NCg7O1svv/yy/vzzz/OOT05OVllZmbZv3679+/fr+uuvV0FBgU6cONED\nswd6N0KIPiElJUWlpaX68ssv1djYqGAwqFWrVsX9+cPm5mbl5eUpNTVVkUhEe/fuVTgc1qBBg9TU\n1KQVK1bohhtu0CeffBLV86Wnp6umpkYrV65USUmJMjIytGPbtm7+KYBezgF9TCQScRUVFW7EiBEu\nGAy6qqqqWE+pw9ra2lxpaakbPny4GzNmjPvwww/P+bjW1lZXVFTkBg4c6HJyclxtbW3U3+PIkSPu\nsccec4fT052bMcO5xsaumj4QVwgh+qxjx4655cuXu0Ag4HJycty+fftiPaWofPONc/fe+2+XlJTk\nCgsLXWtr63nHNDU1uVmzZrl+/fq5uXPnusOHD0f/Db//3rl77nGuXz/n5s51riNjgT6ArVH0WUlJ\nSSooKNCuXbuUmJioSZMmqbCwUK2tvfO82OHD0ty5UkaGNGzYo2poaNCzzz6rQCBw3rEpKSkqKyvT\n559/rj179igYDCocDqutre3833jkSKmiQnrvPemrr6RgUAqHpWjGAn1BrEsM9JT333/f3X77fe7a\na0+5jRudi0RiPSPv+HHnli93LinJuexsvyK8EJFIxL366qtu6NChbvTo0W7Lli3RDz51yrnSUueu\nuMK50aOd68hYIE4lOMddtrAjEpE2bJDy86WUFOmFF6QpU2I3n7fekp5+2s8rHJZCoa577mPHjqm4\nuFhFRUWaMmWKwuGwxowZE93g336TVq2Snn9emjbN/6Kuu67rJgf0ImyNwpSLLpJyc6UffvDRue02\n/7GnX5aztla69VbpwQelhx+WvvuuayMoSZdccokKCgpUW1urxMRETZgwQXl5efr999/PP3jQIKmo\nSNqzx1c6NVXKy5OiGQvEGUIIky69VCoo8EGSpLQ0afFiqbtflvPIEemRR6SJE/2KtL5eWrRIiuI0\nYKeNHDlSlZWV2rhxoyorK/Wf6dOlN96QotkMCgalqippyxbpo4/8qjAclqK4dxGIF2yNApK2bpXm\nz/c7gsuXSw895FePXWnDBh+9IUP8juMtt3Tt80fjjz/+0H/XrdOQZcuk8eN91CZOjG7w8ePSmjV+\npTh+vLRunTRuXPdOGOgBrAgBSTk50s6d/txhfr6UmSl98UXXfo99+6Rly6Rvv41NBCUpMTFRQ+bP\nlw4e9AHMzPR7sgcPnn9wICA984zU0OBXhlxVij6CFSFwhqNHpRUrpJdeku66Syoulq65Jtaz6iZ1\nddJTT0mffSYtXNj9+7RAL8SKEDjD4MF+x3DbNn8Rzfjx0vr1p7+ekOAXUmdKSDj35+09prraXzAT\nCEjJyX479ujRLvkRopea6u8ffPNN6bXXpFGjpLKy6M4f/uXdd6WxY6UBA/xHQ+8Egr6BEALtuOkm\naccOfz5v2LB/fm3QIKm8/MKef+1aacECfyP9rl3SxRdLDzxwYc/ZaaGQXx0uWCA98YTfu43mnTx2\n75bmzJFWrvQ/SFGRNHu2v9oUiBNsjQIdlJDgrzadMUPau1fq3//08b/+mv7++Zlj2/uLa2mRrrqq\nF9yh8Msv/pLaV16RZs6UVq+Wrrzy3I+97z7p5pulRx89fezFF6WaGr/KBOIAK0KgE8aOlaZO9f/n\nd5WPP/bbsDE3fLhUWuqXwz/9JI0e7W+uP9c7eXz99dk3QN55pz8OxAlWhEAH/bWqO3TInyvctUu6\n7LKzV4TtOddf3M6dvh+VldKECd0w6c6KRPwJ0qVLpbvvlkpK/vn1xES/hB0w4PSxEyf8L+T48Z6c\nKdBphBDooL8H77nn/L2HxcWd3xr99FNp1izp9del7OxunXrntbT4f8nJ/zz+r3/5K06vvvr0sZ9/\n9tulBw707ByBTmJrFLgATz4pbdoU3W1451JeLt1/v/T22704gpI0cODZEZSk9HS/jP27zZv9cSBO\nXBzrCQDxLBDwr0SzZEnHx65d62/T2LrV38UQl5Ys8S/KPWKEL3lNjVRYKH3wQaxnBkSNrVGgg87c\n3nROysry14d0ZGu0vfOILS3+tVDjxubN/i009u/3721YVNT1ryAOdCNCCAAwjXOEAADTCCEAwDRC\nCAAwjRACAEwjhAAA0wghAMA0QggAMI0QAgBMI4QAANMIIQDANEIIADCNEAIATCOEAADTCCEAwDRC\nCAAwjRACAEwjhAAA0wghAMA0QggAMI0QAgBMI4QAANMIIQDANEIIADCNEAIATCOEAADTCCEAwDRC\nCAAwjRACAEwjhAAA0wghAMA0QggAMI0QAgBMI4QAANMIIQDANEIIADCNEAIATCOEAADTCCEAwDRC\nCAAwjRACAEwjhAAA0/4HWEMNah4dd10AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 145, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rxn.GetNumReactantTemplates()\n", "rxn.GetNumProductTemplates()\n", "ps = rxn.RunReactants((Chem.MolFromSmiles('CC(=O)O'), Chem.MolFromSmiles('NC')))\n", "print len(ps)\n", "print Chem.MolToSmiles(ps[0][0])\n", "ps[0][0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is, of course, possible to do reactions more complex than amide bond\n", "formation:" ] }, { "cell_type": "code", "execution_count": 146, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\noUKKkpQn6R5Jm6w4oBPGwb///e9asWKF9u7dqzZt2tgdxxYnT55Ujx49NGXKFM2dO9fuOI0zwGXo\n22+/NTNnzjTXXHONad++vUlKSjI//vijZcdPTk5u1u24NLvfL+E3BkgqkzTGioPZ/bxuzLfffmva\ntGlj1qxZY3cU261evdpceeWVpqSkxO4ojWKROy4bxhhlZ2drzJgx+s1vfqO8vDwtX75c33//vZKT\nk9WpUye7IzpWZmambr31VoWEhKh79+5KS0trcPuCggINHz5coaGhuuGGG7Ry5UrfBEWgyJU0VtKb\nsqhk+bOnn35affv21YQJE+yOYrsJEyaoT58+evrpp+2O0ji7Gx7gK3l5eaZFixZmzJgxJisry9TW\n1rp9jNraWnPw4EGzc+dOLyR0pvz8fHPdddeZf//736aystIcPHjQTJo0qd7t9+/fbyIjI82qVavM\nzz//bEpKSsyECROadF92v1/C71hyJsuq14I3VFVVmUGDBpkvvvjC7ih+Y9u2bWbw4MGmqqrK7igN\nYg0WLislJSW68cYb3d6vqqpKBQUFysvLU0VFhfr06aMRI0Y0aV9jjL744gvddtttDS6Yd4KtW7fq\ntttuO+/q0ePHj1d8fLymT5/epGPcd999GjBggB577DG37581WLiEAZIyJD0s6UNPDsA4CG+gYDXA\n5XLpP//5T7OPM3r0aIWFhVmQCL5WWlqqrVu3qrCwUOHh4YqJidEf/vAHtWrVqsnHOHHihNLS0lRT\nU6OEhAR17NjRi4mtV1VVpbfffluLFy/W3r17lZWVpYEDB9bdHhUVpc8++0yRkZGX3D8oKEjnvs10\n7NhR06ZN0xtvvKGqqiqNHj1aixYt0jXXXNNoFgoW6tGsksU4CK+w69SZL3z00UemV69eplWrVqZb\nt27mzTffrHdbSXW/ziouLja//e1vm/2ruLjY41wff/yxiY+PN61btzadOnUyjzzyiCkrK2vuQ4MG\n1NTUmPz8fPPWW2+ZlJQUs2rVKvPVV195NKV41pkzZ8zHH39snnvuObNly5ZmHctX9u7da6ZNm2bC\nwsLM73//e7Ns2TLjcrku2i4kJMScOnWq3uNc+DbTsmVLc//995vS0lJTWlpq7r333ganFC84FlAf\nj6cL3XtleJ87Y8RHH31kBg0aZEJCQkynTp3MQw89ZA4fPuy7sH7AncfLmF+XNQwbNsy0bdvWRERE\n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\nRK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 146, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rxn = AllChem.ReactionFromSmarts('[C:1]=[C:2].[C:3]=[*:4][*:5]=[C:6]>>[C:1]1[C:2][C:3][*:4]=[*:5][C:6]1')\n", "rxn" ] }, { "cell_type": "code", "execution_count": 147, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NC1=CCCC(O)C1\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 147, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps = rxn.RunReactants((Chem.MolFromSmiles('OC=C'), Chem.MolFromSmiles('C=CC(N)=C')))\n", "print Chem.MolToSmiles(ps[0][0])\n", "ps[0][0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note in this case that there are multiple mappings of the reactants onto\n", "the templates, so we have multiple product sets:" ] }, { "cell_type": "code", "execution_count": 148, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 148, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(ps)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can use canonical smiles and a python dictionary to get the unique\n", "products:" ] }, { "cell_type": "code", "execution_count": 149, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['NC1=CCC(O)CC1', 'NC1=CCCC(O)C1']\n" ] } ], "source": [ "uniqps = {}\n", "for p in ps:\n", " smi = Chem.MolToSmiles(p[0])\n", " uniqps[smi] = p[0]\n", "print uniqps.keys()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the molecules that are produced by the chemical reaction\n", "processing code are not sanitized, as this artificial reaction\n", "demonstrates:" ] }, { "cell_type": "code", "execution_count": 150, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SANITIZE_NONE\n", "c1ccccc1\n" ] } ], "source": [ "rxn = AllChem.ReactionFromSmarts('[C:1]=[C:2][C:3]=[C:4].[C:5]=[C:6]>>[C:1]1=[C:2][C:3]=[C:4][C:5]=[C:6]1')\n", "ps = rxn.RunReactants((Chem.MolFromSmiles('C=CC=C'), Chem.MolFromSmiles('C=C')))\n", "Chem.MolToSmiles(ps[0][0])\n", "p0 = ps[0][0]\n", "print Chem.SanitizeMol(p0)\n", "print Chem.MolToSmiles(p0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Advanced Reaction Functionality\n", "\n", "#### Protecting Atoms\n", "\n", "Sometimes, particularly when working with rxn files, it is difficult to\n", "express a reaction exactly enough to not end up with extraneous\n", "products. The RDKit provides a method of \"protecting\" atoms to disallow\n", "them from taking part in reactions.\n", "\n", "This can be demonstrated re-using the amide-bond formation reaction used\n", "above. The query for amines isn't specific enough, so it matches any\n", "nitrogen that has at least one H attached. So if we apply the reaction\n", "to a molecule that already has an amide bond, the amide N is also\n", "treated as a reaction site:" ] }, { "cell_type": "code", "execution_count": 151, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "execution_count": 151, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rxn = AllChem.ReactionFromRxnFile('data/AmideBond.rxn')\n", "acid = Chem.MolFromSmiles('CC(=O)O')\n", "base = Chem.MolFromSmiles('CC(=O)NCCN')\n", "rxn" ] }, { "cell_type": "code", "execution_count": 152, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n" ] }, { "data": { "text/plain": [ "'CC(=O)NCCNC(C)=O'" ] }, "execution_count": 152, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps = rxn.RunReactants((acid,base))\n", "print len(ps)\n", "Chem.MolToSmiles(ps[0][0])\n", "Chem.MolToSmiles(ps[1][0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first product corresponds to the reaction at the amide N.\n", "\n", "We can prevent this from happening by protecting all amide Ns. Here we\n", "do it with a substructure query that matches amides and thioamides and\n", "then set the \"\\_protected\" property on matching atoms:" ] }, { "cell_type": "code", "execution_count": 153, "metadata": { "collapsed": false }, "outputs": [], "source": [ "amidep = Chem.MolFromSmarts('[N;$(NC=[O,S])]')\n", "for match in base.GetSubstructMatches(amidep):\n", " base.GetAtomWithIdx(match[0]).SetProp('_protected','1')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the reaction only generates a single product:" ] }, { "cell_type": "code", "execution_count": 154, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "CC(=O)NCCNC(C)=O\n" ] } ], "source": [ "ps = rxn.RunReactants((acid,base))\n", "print len(ps)\n", "print Chem.MolToSmiles(ps[0][0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Recap Implementation\n", "\n", "Associated with the chemical reaction functionality is an implementation\n", "of the Recap algorithm. [[15]](#c15) Recap uses a set of chemical\n", "transformations mimicking common reactions carried out in the lab in\n", "order to decompose a molecule into a series of reasonable fragments.\n", "\n", "The RDKit rdkit.Chem.Recap implementation keeps track of the hierarchy\n", "of transformations that were applied:" ] }, { "cell_type": "code", "execution_count": 155, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "rdkit.Chem.Recap.RecapHierarchyNode" ] }, "execution_count": 155, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit import Chem\n", "from rdkit.Chem import Recap\n", "m = Chem.MolFromSmiles('c1ccccc1OCCOC(=O)CC')\n", "hierarch = Recap.RecapDecompose(m)\n", "type(hierarch)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The hierarchy is rooted at the original molecule:" ] }, { "cell_type": "code", "execution_count": 156, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'CCC(=O)OCCOc1ccccc1'" ] }, "execution_count": 156, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hierarch.smiles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and each node tracks its children using a dictionary keyed by SMILES:" ] }, { "cell_type": "code", "execution_count": 157, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['[*]C(=O)CC', '[*]CCOC(=O)CC', '[*]CCOc1ccccc1', '[*]OCCOc1ccccc1', '[*]c1ccccc1']\n" ] } ], "source": [ "ks=hierarch.children.keys()\n", "ks.sort()\n", "print ks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The nodes at the bottom of the hierarchy (the leaf nodes) are easily\n", "accessible, also as a dictionary keyed by SMILES:" ] }, { "cell_type": "code", "execution_count": 158, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['[*]C(=O)CC', '[*]CCO[*]', '[*]CCOc1ccccc1', '[*]c1ccccc1']\n" ] } ], "source": [ "ks=hierarch.GetLeaves().keys()\n", "ks.sort()\n", "print ks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that dummy atoms are used to mark points where the molecule was\n", "fragmented.\n", "\n", "The nodes themselves have associated molecules:" ] }, { "cell_type": "code", "execution_count": 159, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[*]C(=O)CC\n" ] } ], "source": [ "leaf = hierarch.GetLeaves()[ks[0]]\n", "print Chem.MolToSmiles(leaf.mol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### BRICS Implementation\n", "\n", "The RDKit also provides an implementation of the BRICS algorithm. [[16]](#c16)\n", "BRICS provides another method for fragmenting molecules along\n", "synthetically accessible bonds:" ] }, { "cell_type": "code", "execution_count": 160, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['[4*]CC(=O)C(C)C', '[14*]c1nc(N)nc2[nH]cnc12', '[3*]O[3*]']\n", "['[3*]OC', '[1*]C(=O)NN(C)C', '[14*]c1[nH]nc2c1C(=O)c1c([16*])cccc1-2', '[5*]N[5*]', '[16*]c1ccc([16*])cc1']\n" ] } ], "source": [ "from rdkit.Chem import BRICS\n", "cdk2mols = Chem.SDMolSupplier('data/cdk2.sdf')\n", "m1 = cdk2mols[0]\n", "print list(BRICS.BRICSDecompose(m1))\n", "m2 = cdk2mols[20]\n", "print list(BRICS.BRICSDecompose(m2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that RDKit BRICS implementation returns the unique fragments\n", "generated from a molecule and that the dummy atoms are tagged to\n", "indicate which type of reaction applies.\n", "\n", "It's quite easy to generate the list of all fragments for a group of\n", "molecules:" ] }, { "cell_type": "code", "execution_count": 161, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "90\n", "['[4*]CC[NH3+]', '[14*]c1cnc[nH]1', '[16*]c1ccc([16*])c(Cl)c1', '[15*]C1CCCC1', '[7*]C1C(=O)Nc2ccc(S([12*])(=O)=O)cc21']\n" ] } ], "source": [ "allfrags=set()\n", "for m in cdk2mols:\n", " pieces = BRICS.BRICSDecompose(m)\n", " allfrags.update(pieces)\n", "print len(allfrags)\n", "print list(allfrags)[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The BRICS module also provides an option to apply the BRICS rules to a\n", "set of fragments to create new molecules:" ] }, { "cell_type": "code", "execution_count": 162, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import random\n", "random.seed(127)\n", "fragms = [Chem.MolFromSmiles(x) for x in allfrags]\n", "ms = BRICS.BRICSBuild(fragms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a generator object:" ] }, { "cell_type": "code", "execution_count": 163, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 163, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That returns molecules on request:" ] }, { "cell_type": "code", "execution_count": 164, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 164, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prods = [ms.next() for x in range(10)]\n", "prods[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The molecules have not been sanitized, so it's a good idea to at least\n", "update the valences before continuing:" ] }, { "cell_type": "code", "execution_count": 165, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "O=[N+]([O-])c1ccc(C2CCCO2)cc1\n", "c1ccc(C2CCCO2)cc1\n", "NS(=O)(=O)c1ccc(C2CCCO2)cc1\n" ] } ], "source": [ "for prod in prods:\n", " prod.UpdatePropertyCache(strict=False)\n", "print Chem.MolToSmiles(prods[0],True)\n", "print Chem.MolToSmiles(prods[1],True)\n", "print Chem.MolToSmiles(prods[2],True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Other fragmentation approaches\n", "\n", "In addition to the methods described above, the RDKit provide a very\n", "flexible generic function for fragmenting molecules along user-specified\n", "bonds.\n", "\n", "Here's a quick demonstration of using that to break all bonds between\n", "atoms in rings and atoms not in rings. We start by finding all the atom\n", "pairs:" ] }, { "cell_type": "code", "execution_count": 166, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "((0, 1), (4, 3), (6, 5), (7, 8))" ] }, "execution_count": 166, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('CC1CC(O)C1CCC1CC1')\n", "bis = m.GetSubstructMatches(Chem.MolFromSmarts('[!R][R]'))\n", "bis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "then we get the corresponding bond indices:" ] }, { "cell_type": "code", "execution_count": 167, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 3, 5, 7]" ] }, "execution_count": 167, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bs = [m.GetBondBetweenAtoms(x,y).GetIdx() for x,y in bis]\n", "bs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "then we use those bond indices as input to the fragmentation function:" ] }, { "cell_type": "code", "execution_count": 168, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 168, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nm = Chem.FragmentOnBonds(m,bs)\n", "nm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "the output is a molecule that has dummy atoms marking the places where\n", "bonds were broken:" ] }, { "cell_type": "code", "execution_count": 169, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'[*]C1CC([4*])C1[6*].[1*]C.[3*]O.[5*]CC[8*].[7*]C1CC1'" ] }, "execution_count": 169, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.MolToSmiles(nm,True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default the attachment points are labelled (using isotopes) with the\n", "index of the atom that was removed. We can also provide our own set of\n", "atom labels in the form of pairs of unsigned integers. The first value\n", "in each pair is used as the label for the dummy that replaces the bond's\n", "begin atom, the second value in each pair is for the dummy that replaces\n", "the bond's end atom. Here's an example, repeating the analysis above and\n", "marking the positions where the non-ring atoms were with the label 10\n", "and marking the positions where the ring atoms were with label 1:" ] }, { "cell_type": "code", "execution_count": 170, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'[1*]C.[1*]CC[1*].[1*]O.[10*]C1CC([10*])C1[10*].[10*]C1CC1'" ] }, "execution_count": 170, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bis = m.GetSubstructMatches(Chem.MolFromSmarts('[!R][R]'))\n", "bs = []\n", "labels=[]\n", "for bi in bis:\n", " b = m.GetBondBetweenAtoms(bi[0],bi[1])\n", " if b.GetBeginAtomIdx()==bi[0]:\n", " labels.append((10,1))\n", " else:\n", " labels.append((1,10))\n", " bs.append(b.GetIdx())\n", "nm = Chem.FragmentOnBonds(m,bs,dummyLabels=labels)\n", "Chem.MolToSmiles(nm,True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Chemical Features and Pharmacophores\n", "\n", "\n", "### Chemical Features\n", "\n", "Chemical features in the RDKit are defined using a SMARTS-based feature\n", "definition language (described in detail in the RDKit book). To identify\n", "chemical features in molecules, you first must build a feature factory:\n" ] }, { "cell_type": "code", "execution_count": 171, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from rdkit import Chem\n", "from rdkit.Chem import ChemicalFeatures\n", "from rdkit import RDConfig\n", "import os\n", "fdefName = os.path.join(RDConfig.RDDataDir,'BaseFeatures.fdef')\n", "factory = ChemicalFeatures.BuildFeatureFactory(fdefName)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and then use the factory to search for features:" ] }, { "cell_type": "code", "execution_count": 172, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 172, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('OCc1ccccc1CN')\n", "feats = factory.GetFeaturesForMol(m)\n", "len(feats)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The individual features carry information about their family (e.g.\n", "donor, acceptor, etc.), type (a more detailed description), and the\n", "atom(s) that is/are associated with the feature:" ] }, { "cell_type": "code", "execution_count": 173, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Donor\n", "SingleAtomDonor\n", "(0,)\n", "Aromatic\n", "(2, 3, 4, 5, 6, 7)\n" ] } ], "source": [ "print feats[0].GetFamily()\n", "print feats[0].GetType()\n", "print feats[0].GetAtomIds()\n", "print feats[4].GetFamily()\n", "print feats[4].GetAtomIds()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the molecule has coordinates, then the features will also have\n", "reasonable locations:" ] }, { "cell_type": "code", "execution_count": 174, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "[2.0705367611607857, -2.3356749604090465, 0.0]\n" ] } ], "source": [ "from rdkit.Chem import AllChem\n", "AllChem.Compute2DCoords(m)\n", "print feats[0].GetPos()\n", "print list(feats[0].GetPos())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2D Pharmacophore Fingerprints\n", "\n", "Combining a set of chemical features with the 2D (topological) distances\n", "between them gives a 2D pharmacophore. When the distances are binned,\n", "unique integer ids can be assigned to each of these pharmacophores and\n", "they can be stored in a fingerprint. Details of the encoding are in the\n", "RDKit\\_Book.\n", "\n", "Generating pharmacophore fingerprints requires chemical features\n", "generated via the usual RDKit feature-typing mechanism:" ] }, { "cell_type": "code", "execution_count": 175, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from rdkit import Chem\n", "from rdkit.Chem import ChemicalFeatures\n", "fdefName = 'data/MinimalFeatures.fdef'\n", "featFactory = ChemicalFeatures.BuildFeatureFactory(fdefName)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The fingerprints themselves are calculated using a signature\n", "(fingerprint) factory, which keeps track of all the parameters required\n", "to generate the pharmacophore:" ] }, { "cell_type": "code", "execution_count": 176, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "885" ] }, "execution_count": 176, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit.Chem.Pharm2D.SigFactory import SigFactory\n", "sigFactory = SigFactory(featFactory,minPointCount=2,maxPointCount=3) \n", "sigFactory.SetBins([(0,2),(2,5),(5,8)])\n", "sigFactory.Init()\n", "sigFactory.GetSigSize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The signature factory is now ready to be used to generate fingerprints,\n", "a task which is done using the rdkit.Chem.Pharm2D.Generate module:" ] }, { "cell_type": "code", "execution_count": 177, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "885\n", "57\n" ] } ], "source": [ "from rdkit.Chem.Pharm2D import Generate\n", "mol = Chem.MolFromSmiles('OCC(=O)CCCN')\n", "fp = Generate.Gen2DFingerprint(mol,sigFactory)\n", "print fp\n", "print len(fp)\n", "print fp.GetNumOnBits()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Details about the bits themselves, including the features that are\n", "involved and the binned distance matrix between the features, can be\n", "obtained from the signature factory:" ] }, { "cell_type": "code", "execution_count": 178, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 6, 7, 8]\n", "Acceptor Acceptor |0 1|1 0|\n", "Acceptor Acceptor |0 2|2 0|\n", "Acceptor Donor |0 2|2 0|\n", "[704, 706, 707, 708, 714]\n", "Donor Donor PosIonizable |0 1 2|1 0 1|2 1 0|\n", "Donor Donor PosIonizable |0 2 2|2 0 0|2 0 0|\n" ] } ], "source": [ "print list(fp.GetOnBits())[:5]\n", "print sigFactory.GetBitDescription(1) \n", "print sigFactory.GetBitDescription(2) \n", "print sigFactory.GetBitDescription(8) \n", "print list(fp.GetOnBits())[-5:]\n", "print sigFactory.GetBitDescription(707) \n", "print sigFactory.GetBitDescription(714)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the sake of convenience (to save you from having to edit the fdef\n", "file every time) it is possible to disable particular feature types\n", "within the SigFactory:" ] }, { "cell_type": "code", "execution_count": 179, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "36" ] }, "execution_count": 179, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sigFactory.skipFeats=['PosIonizable']\n", "sigFactory.Init()\n", "sigFactory.GetSigSize()\n", "fp2 = Generate.Gen2DFingerprint(mol,sigFactory)\n", "fp2.GetNumOnBits()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another possible set of feature definitions for 2D pharmacophore\n", "fingerprints in the RDKit are those published by Gobbi and Poppinger.\n", "[[17]](#c17) The module `rdkit.Chem.Pharm2D.Gobbi_Pharm2D` has a pre-configured\n", "signature factory for these fingerprint types. Here's an example of\n", "using it:" ] }, { "cell_type": "code", "execution_count": 180, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "8\n", "[23, 30, 150, 154, 157, 185, 28878, 30184]\n", "HA HD |0 3|3 0|\n", "HA HD HD |0 3 0|3 0 3|0 3 0|\n" ] } ], "source": [ "from rdkit import Chem\n", "from rdkit.Chem.Pharm2D import Gobbi_Pharm2D,Generate\n", "m = Chem.MolFromSmiles('OCC=CC(=O)O')\n", "fp = Generate.Gen2DFingerprint(m,Gobbi_Pharm2D.factory)\n", "print fp\n", "print fp.GetNumOnBits()\n", "print list(fp.GetOnBits())\n", "print Gobbi_Pharm2D.factory.GetBitDescription(157)\n", "print Gobbi_Pharm2D.factory.GetBitDescription(30184)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Molecular Fragments\n", "\n", "\n", "The RDKit contains a collection of tools for fragmenting molecules and\n", "working with those fragments. Fragments are defined to be made up of a\n", "set of connected atoms that may have associated functional groups. This\n", "is more easily demonstrated than explained:\n" ] }, { "cell_type": "code", "execution_count": 181, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "39" ] }, "execution_count": 181, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fName=os.path.join(RDConfig.RDDataDir,'FunctionalGroups.txt')\n", "from rdkit.Chem import FragmentCatalog\n", "fparams = FragmentCatalog.FragCatParams(1,6,fName)\n", "fparams.GetNumFuncGroups()" ] }, { "cell_type": "code", "execution_count": 182, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C<-O>C\n", "C=C<-C(=O)O>\n", "C<-C(=O)O>=CC<-O>\n" ] } ], "source": [ "fcat=FragmentCatalog.FragCatalog(fparams)\n", "fcgen=FragmentCatalog.FragCatGenerator()\n", "m = Chem.MolFromSmiles('OCC=CC(=O)O')\n", "fcgen.AddFragsFromMol(m,fcat)\n", "print fcat.GetEntryDescription(0) \n", "print fcat.GetEntryDescription(1) \n", "print fcat.GetEntryDescription(2) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The fragments are stored as entries in a\n", "rdkit.Chem.rdfragcatalog.FragCatalog. Notice that the entry descriptions\n", "include pieces in angular brackets (e.g. between '<' and '\\>'). These\n", "describe the functional groups attached to the fragment. For example, in\n", "the above example, the catalog entry 0 corresponds to an ethyl fragment\n", "with an alcohol attached to one of the carbons and entry 1 is an\n", "ethylene with a carboxylic acid on one carbon. Detailed information\n", "about the functional groups can be obtained by asking the fragment for\n", "the ids of the functional groups it contains and then looking those ids\n", "up in the rdkit.Chem.rdfragcatalog.FragCatParams object:" ] }, { "cell_type": "code", "execution_count": 183, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[34, 1]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 183, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print list(fcat.GetEntryFuncGroupIds(2))\n", "fparams.GetFuncGroup(1)" ] }, { "cell_type": "code", "execution_count": 184, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*-C(=O)-,:[O&D1]\n", "*-[O&D1]\n", "-C(=O)O\n", "-O\n" ] } ], "source": [ "print Chem.MolToSmarts(fparams.GetFuncGroup(1)) \n", "print Chem.MolToSmarts(fparams.GetFuncGroup(34)) \n", "print fparams.GetFuncGroup(1).GetProp('_Name') \n", "print fparams.GetFuncGroup(34).GetProp('_Name')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The catalog is hierarchical: smaller fragments are combined to form\n", "larger ones. From a small fragment, one can find the larger fragments to\n", "which it contributes using the\n", "rdkit.Chem.rdfragcatalog.FragCatalog.GetEntryDownIds method:" ] }, { "cell_type": "code", "execution_count": 185, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 185, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fcat=FragmentCatalog.FragCatalog(fparams)\n", "m = Chem.MolFromSmiles('OCC(NC1CC1)CCC')\n", "m" ] }, { "cell_type": "code", "execution_count": 186, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C<-O>C\n", "CN<-cPropyl>\n", "[3, 4]\n", "C<-O>CC\n", "C<-O>CN<-cPropyl>\n" ] } ], "source": [ "fcgen.AddFragsFromMol(m,fcat)\n", "print fcat.GetEntryDescription(0)\n", "print fcat.GetEntryDescription(1)\n", "print list(fcat.GetEntryDownIds(0))\n", "print fcat.GetEntryDescription(3)\n", "print fcat.GetEntryDescription(4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The fragments from multiple molecules can be added to a catalog:" ] }, { "cell_type": "code", "execution_count": 187, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1169\n", "Cc\n", "cc-nc(C)n\n" ] } ], "source": [ "suppl = Chem.SmilesMolSupplier('data/bzr.smi')\n", "ms = [x for x in suppl]\n", "fcat=FragmentCatalog.FragCatalog(fparams)\n", "for m in ms:\n", " nAdded = fcgen.AddFragsFromMol(m,fcat)\n", "print fcat.GetNumEntries()\n", "print fcat.GetEntryDescription(0)\n", "print fcat.GetEntryDescription(100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The fragments in a catalog are unique, so adding a molecule a second\n", "time doesn't add any new entries:" ] }, { "cell_type": "code", "execution_count": 188, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1169" ] }, "execution_count": 188, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fcgen.AddFragsFromMol(ms[0],fcat)\n", "fcat.GetNumEntries()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once a rdkit.Chem.rdfragcatalog.FragCatalog has been generated, it can\n", "be used to fingerprint molecules:" ] }, { "cell_type": "code", "execution_count": 189, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 189, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fpgen = FragmentCatalog.FragFPGenerator()\n", "fp = fpgen.GetFPForMol(ms[8],fcat)\n", "fp" ] }, { "cell_type": "code", "execution_count": 190, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "189" ] }, "execution_count": 190, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fp.GetNumOnBits()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The rest of the machinery associated with fingerprints can now be\n", "applied to these fragment fingerprints. For example, it's easy to find\n", "the fragments that two molecules have in common by taking the\n", "intersection of their fingerprints:" ] }, { "cell_type": "code", "execution_count": 191, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ccc(cc)NC<=O>\n", "c<-X>ccc(N)cc\n" ] } ], "source": [ "fp2 = fpgen.GetFPForMol(ms[7],fcat)\n", "andfp = fp&fp2\n", "obl = list(andfp.GetOnBits())\n", "print fcat.GetEntryDescription(obl[-1])\n", "print fcat.GetEntryDescription(obl[-5])" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "or we can find the fragments that distinguish one molecule from another:" ] }, { "cell_type": "code", "execution_count": 192, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'cccc(N)cc'" ] }, "execution_count": 192, "metadata": {}, "output_type": "execute_result" } ], "source": [ "combinedFp = fp&(fp^fp2) # can be more efficent than fp&(!fp2)\n", "obl = list(combinedFp.GetOnBits())\n", "fcat.GetEntryDescription(obl[-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or we can use the bit ranking functionality from the\n", "rdkit.ML.InfoTheory.rdInfoTheory.InfoBitRanker class to identify\n", "fragments that distinguish actives from inactives:" ] }, { "cell_type": "code", "execution_count": 193, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "702 0.081 20 17\n", "328 0.073 23 25\n", "341 0.073 30 43\n", "173 0.073 30 43\n", "1034 0.069 5 53\n" ] } ], "source": [ "suppl = Chem.SDMolSupplier('data/bzr.sdf')\n", "sdms = [x for x in suppl]\n", "fps = [fpgen.GetFPForMol(x,fcat) for x in sdms]\n", "from rdkit.ML.InfoTheory import InfoBitRanker\n", "ranker = InfoBitRanker(len(fps[0]),2)\n", "acts = [float(x.GetProp('ACTIVITY')) for x in sdms]\n", "for i,fp in enumerate(fps):\n", " act = int(acts[i]>7)\n", " ranker.AccumulateVotes(fp,act)\n", "top5 = ranker.GetTopN(5)\n", "for id,gain,n0,n1 in top5:\n", " print int(id),'%.3f'%gain,int(n0),int(n1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The columns above are: bitId, infoGain, nInactive, nActive. Note that\n", "this approach isn't particularly effective for this artificial example.\n", "\n", "\n", "##Non-Chemical Functionality\n", "\n", "### Bit vectors\n", "\n", "Bit vectors are containers for efficiently storing a set number of\n", "binary values, e.g. for fingerprints. The RDKit includes two types of\n", "fingerprints differing in how they store the values internally; the two\n", "types are easily interconverted but are best used for different purpose:\n", " \n", "- SparseBitVects store only the list of bits set in the vector; they\n", " are well suited for storing very large, very sparsely occupied\n", " vectors like pharmacophore fingerprints. Some operations, such as\n", " retrieving the list of on bits, are quite fast. Others, such as\n", " negating the vector, are very, very slow.\n", "- ExplicitBitVects keep track of both on and off bits. They are\n", " generally faster than SparseBitVects, but require more memory to\n", " store.\n", "\n", "### Discrete value vectors\n", "\n", "### 3D grids\n", "\n", "### Points\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Getting Help\n", "\n", "\n", "There is a reasonable amount of documentation available within from the\n", "RDKit's docstrings. These are accessible using Python's help command:" ] }, { "cell_type": "code", "execution_count": 194, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on method GetNumAtoms:\n", "\n", "GetNumAtoms(...) method of rdkit.Chem.rdchem.Mol instance\n", " GetNumAtoms( (Mol)arg1 [, (int)onlyHeavy=-1 [, (bool)onlyExplicit=True]]) -> int :\n", " Returns the number of atoms in the molecule.\n", " \n", " ARGUMENTS:\n", " - onlyExplicit: (optional) include only explicit atoms (atoms in the molecular graph)\n", " defaults to 1.\n", " NOTE: the onlyHeavy argument is deprecated\n", " \n", " \n", " C++ signature :\n", " int GetNumAtoms(RDKit::ROMol [,int=-1 [,bool=True]])\n", "\n" ] } ], "source": [ "m = Chem.MolFromSmiles('Cc1ccccc1')\n", "m.GetNumAtoms()\n", "help(m.GetNumAtoms)" ] }, { "cell_type": "code", "execution_count": 195, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "15" ] }, "execution_count": 195, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.GetNumAtoms(onlyExplicit=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When working in an environment that does command completion or tooltips,\n", "one can see the available methods quite easily. Here's a sample\n", "screenshot from within Mark Hammond's PythonWin environment:" ] }, { "cell_type": "code", "execution_count": 196, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nyVy/ONUg5lN/s5YCbr52qdpwUmQertZdEtJJPVw8Hp+w6r1kEjdsy1s59q8ebdhSX51h28/mTwi0\nlH8tEVJBuEVvmdlvru485Tz+6qW0t8zsCla7tidI3hLh/O/8RhvJz/6/42lXHxYlpxXdOn5j1Ojf\n511lN1qJnf/16Ij/PhW0ob6nT59yGiu/PddIx3G8qxEQtjN2b/WyACBcV94u5yhW+YOlFqAz41JR\nk0+Y+x3BIiB09wxbHQAwclt6vUhsrdC5rhYEABBGrgERSeVtCzgv1BWMZix1s/C6VMQpvx1g6xgQ\nYAsWK5M4HA6nPCl0rqsRAABh4bY0gtloQ0lbbcF2N7Px5pJW2oLR3OZrZO52BNulp0MD6jfpuPR2\nOYfDKWeeXupmQQAAGLnODX0gWjdvvyNhNN7NlgAdt6X7l7rqAFjMiMjjcDhFp92AGN/0aJVfciN0\n3MY76gDhGLB/pZsRgM743Unloh1ZaVF/ubuG5jVdczxBeF2XDLq5I8xpHDBh5Oi1O6nxYVlpAY6S\nh4XD4XA4lSc8b4zc/7ZRyZc3rMZmpUkuWZ22Pc6K8ehGSf1if355w8ozp0DWKu9VlP4w8obLmpIK\naQuISdsfZ2V1/0RBkw9KXn7NaHkjBSfiraz+aWb1RmQHXP3kh7+txmblNNrsP1ZW8fNGxngeLedw\nOBVPklys4ranVcsKuD7sgpmMmK9vsGUHxOFwOBz2jXk3rEY+8mTEbX9SzeFwckLirByfPGiyw83s\nY8mLmVax38RVSy6aljrSKv6o+J5UlP7gcmPk9tKm1eccve/omZUmVl1OSLzL14UVaaljHR+eENtI\nxZOkkSNTnnxYsjrumxirLwtKJDdZftRT3vNe8eCJo1XsmgfV76uOs7J6eEV8i033Ueol0dIFWV9l\n0beONxy/LZIZnvSTIt8F2UgLqzRzuCqeJLlYybp+KuIeOzIaHagWVmnmgiw/6nnD6svc+guqpPBr\nxvsrpKV9bFq7dK0/KS0e4VZcEtIrbOkIc3JyPK1ivm765ap4OY8R++2DJuWim6fj/uZ+b2VTWD8X\nYazPsNFn6KsCVb2fjT7DRkfUEvM66sLgabeOHLw2acLRwWNO+B8sZLe5Dgub5XMcJroaOzoYfz5n\n+L8sIPNupXwt+nVl76rKqlpdIbeSy9h66bRv5bnvLrtFPIiYkBl+MEFGv42o20iS7G6j/JgbBYR7\n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\n9HtgMP/4B91wA733Hl1zDT34YLGrOeaCCy746Ec/evDgwWfwf45hcjjrLHrySVq/ns48k847r9jV\nAExOyD0wmM9/nhIJOv98+vnP6TQ8wXYkMqttY6gLJpVbb6U33qDrrycieu45uugiKiujiy6irVuL\nXRnAZIBxLhjQQw/RV75CH/gANTaSIBS7mhO9//77c+bM+fvf//6Xv/zl/PPPL3Y5AKNq1y666ip6\n/HFqaKCXX6abbqLf/pYuvrjYZQFMbOPr/77D+PKb39A999AZZ9BPfzoOQw8RTZ8+fcWKFel0Wtf1\nYtcCMNq+/W0Khei66+gDH6AlS+i+++jb3y52TQATHvo90I//+R9asIAOHKBvfIPuv7/Y1fTLNM2F\nCxd+6EMfamtrwzKlMKlUV9PLL9Pcudk/9+2jhgb661+LWhPAhIfcA33p6iJJIsui5cvpl78khil2\nQQO58MIL//znP2/duvWTn/xksWsBGD0sS11dlH8qek8PeTx06FBRawKY8DDOBX0xDGppoQ9/mP7r\nv8Z56CGim266iTC7GSaf2bPpnXeO/fnOOzR7dvGqAZgkkHugLytWUDRKsRh5PMUuZXA33njjtGnT\nfv3rX//tb38rdi0Ao+fyy+nXvz7255YtWLYdYORKQqFQsWuAcenCC2mCLHU+ffr0pqamN954Y/bs\n2QsXLix2OQCj5IIL6OabqbaWOI5++1u680768Y+J44pdFsDEhn4PTIZnhGSGuh5//PFiFwIwekSR\n1q6lW2+l//W/6O676fHHx8MSMQATHeY1T3mT4hkhWKYUJqft2+njH6dFi+iVV4pdCsAkgX7PlDcp\nnhGCZUphcrIsIhqfT88CmKCQe6a8V1+l66479ufSpfTqq8WrZvhWrVrFMMyTTz75j3/8o9i1AIwS\n5B6A0YbcM+W1t9M55xz785xzqL29eNUMX36Z0qeffrrYtQCMkuZmIuQegNGE3DPlTaJnhOBBPjDZ\nZPo9tbXFrgNg8kDumfIm0TNCli9f/oEPfODll1/es2dPsWsBGLG//53eeovKyqi6utilAEweyD1T\n3le/SqEQPfccHTxIW7fS/ffTvfcWu6Zhyi9TumHDhmLXAjBiLS2UTtMFFxAWngMYPcg9U54o0mOP\n0T330D/9E919N/3whxN64cPMUNfGjRt7e3uLXQvAyGBSM8BpgNwDREuX0htvUCpFf/oT3XMP/eu/\n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\nH+V7ZQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 196, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image('images/picture_6.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Advanced Topics/Warnings\n", "\n", "### Editing Molecules\n", "\n", "Some of the functionality provided allows molecules to be edited “in\n", "place”:" ] }, { "cell_type": "code", "execution_count": 197, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 197, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('c1ccccc1')\n", "m" ] }, { "cell_type": "code", "execution_count": 198, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "rdkit.Chem.rdmolops.SanitizeFlags.SANITIZE_NONE" ] }, "execution_count": 198, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m.GetAtomWithIdx(0).SetAtomicNum(7)\n", "Chem.SanitizeMol(m)" ] }, { "cell_type": "code", "execution_count": 199, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'c1ccncc1'" ] }, "execution_count": 199, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.MolToSmiles(m)" ] }, { "cell_type": "code", "execution_count": 200, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\ncccAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "execution_count": 200, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do not forget the sanitization step, without it one can end up with\n", "results that look ok (so long as you don't think):" ] }, { "cell_type": "code", "execution_count": 201, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'c1ccocc1'" ] }, "execution_count": 201, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('c1ccccc1')\n", "m.GetAtomWithIdx(0).SetAtomicNum(8)\n", "Chem.MolToSmiles(m)" ] }, { "cell_type": "code", "execution_count": 202, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "RDKit ERROR: [09:56:45] \n", "RDKit ERROR: \n", "RDKit ERROR: ****\n", "RDKit ERROR: Pre-condition Violation\n", "RDKit ERROR: getExplicitValence() called without call to calcExplicitValence()\n", "RDKit ERROR: Violation occurred on line 174 in file /home/rdkit/miniconda/conda-bld/work/Code/GraphMol/Atom.cpp\n", "RDKit ERROR: Failed Expression: d_explicitValence > -1\n", "RDKit ERROR: ****\n", "RDKit ERROR: \n", "RDKit ERROR: [09:56:45] \n", "RDKit ERROR: \n", "RDKit ERROR: ****\n", "RDKit ERROR: Pre-condition Violation\n", "RDKit ERROR: getExplicitValence() called without call to calcExplicitValence()\n", "RDKit ERROR: Violation occurred on line 174 in file /home/rdkit/miniconda/conda-bld/work/Code/GraphMol/Atom.cpp\n", "RDKit ERROR: Failed Expression: d_explicitValence > -1\n", "RDKit ERROR: ****\n", "RDKit ERROR: \n", "RDKit ERROR: [09:56:49] \n", "RDKit ERROR: \n", "RDKit ERROR: ****\n", "RDKit ERROR: Pre-condition Violation\n", "RDKit ERROR: getExplicitValence() called without call to calcExplicitValence()\n", "RDKit ERROR: Violation occurred on line 174 in file /home/rdkit/miniconda/conda-bld/work/Code/GraphMol/Atom.cpp\n", "RDKit ERROR: Failed Expression: d_explicitValence > -1\n", "RDKit ERROR: ****\n", "RDKit ERROR: \n", "RDKit ERROR: [09:57:25] \n", "RDKit ERROR: \n", "RDKit ERROR: ****\n", "RDKit ERROR: Pre-condition Violation\n", "RDKit ERROR: getExplicitValence() called without call to calcExplicitValence()\n", "RDKit ERROR: Violation occurred on line 174 in file /home/rdkit/miniconda/conda-bld/work/Code/GraphMol/Atom.cpp\n", "RDKit ERROR: Failed Expression: d_explicitValence > -1\n", "RDKit ERROR: ****\n", "RDKit ERROR: \n", "RDKit ERROR: [09:57:48] \n", "RDKit ERROR: \n", "RDKit ERROR: ****\n", "RDKit ERROR: Pre-condition Violation\n", "RDKit ERROR: getExplicitValence() called without call to calcExplicitValence()\n", "RDKit ERROR: Violation occurred on line 174 in file /home/rdkit/miniconda/conda-bld/work/Code/GraphMol/Atom.cpp\n", "RDKit ERROR: Failed Expression: d_explicitValence > -1\n", "RDKit ERROR: ****\n", "RDKit ERROR: \n", "RDKit ERROR: [09:58:20] Can't kekulize mol \n", "RDKit ERROR: \n" ] }, { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 202, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "but that are, of course, complete nonsense, as sanitization will\n", "indicate:" ] }, { "cell_type": "code", "execution_count": 203, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sanitization error: Can't kekulize mol \n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "RDKit ERROR: [09:58:29] Can't kekulize mol \n", "RDKit ERROR: \n" ] } ], "source": [ "try:\n", " Chem.SanitizeMol(m)\n", "except ValueError as e:\n", " print e" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "More complex transformations can be carried out using the `RWMol` class:" ] }, { "cell_type": "code", "execution_count": 204, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "8" ] }, "execution_count": 204, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = Chem.MolFromSmiles('CC(=O)C=CC=C')\n", "mw = Chem.RWMol(m)\n", "mw.ReplaceAtom(4,Chem.Atom(7))\n", "mw.AddAtom(Chem.Atom(6))\n", "mw.AddAtom(Chem.Atom(6))\n", "mw.AddBond(6,7,Chem.BondType.SINGLE)\n", "mw.AddBond(7,8,Chem.BondType.DOUBLE)\n", "mw.AddBond(8,3,Chem.BondType.SINGLE)\n", "mw.RemoveAtom(0)\n", "mw.GetNumAtoms()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `RWMol` can be used just like an `ROMol`:" ] }, { "cell_type": "code", "execution_count": 205, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "O=CC1C=CC=CN=1\n" ] }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 205, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print Chem.MolToSmiles(mw)\n", "mw" ] }, { "cell_type": "code", "execution_count": 206, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "rdkit.Chem.rdmolops.SanitizeFlags.SANITIZE_NONE" ] }, "execution_count": 206, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Chem.SanitizeMol(mw)" ] }, { "cell_type": "code", "execution_count": 207, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "O=Cc1ccccn1\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 207, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print Chem.MolToSmiles(mw)\n", "mw" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is even easier to generate nonsense using the `RWMol` than it is with standard molecules. If you need chemically reasonable results, be certain to sanitize the results." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Miscellaneous Tips and Hints\n", "\n", "### Chem vs AllChem\n", "\n", "The majority of “basic” chemical functionality (e.g. reading/writing\n", "molecules, substructure searching, molecular cleanup, etc.) is in the\n", "`rdkit.Chem` module. More advanced, or less frequently used, functionality\n", "is in `rdkit.Chem.AllChem`. The distinction has been made to speed startup\n", "and lower import times; there's no sense in loading the 2D->3D library\n", "and force field implementation if one is only interested in reading and\n", "writing a couple of molecules. If you find the Chem/AllChem thing\n", "annoying or confusing, you can use python's `import ... as ...` syntax\n", "to remove the irritation:" ] }, { "cell_type": "code", "execution_count": 208, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAYAAABNcIgQAAAG4UlEQVR4nO3ZT4jU9R/H8deaWYhQ\n69H0tKmJhxg6dWgPyl6iBYXdoLARPCidZpEio4IhCJX+0JxqLx02u0i3hoQgoUvseQdZVxTpHwQe\nqvWyqNP8Lj9+/A6/P/mr9bs/34/HeWa+LwaG53y/n7HRaDQKABS1qekBANAkIQSgNCEEoDQhBKA0\nIQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQh\nBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEE\noDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSg\nNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0IQSgNCEEoDQhBKA0\nIQSgNCEEoDQhhAYNh8MMh8OmZ0BpQggNGA6H+fjjjzMxMZGJiYnMz88LIjRkbDQajZoeAZX0+/2c\nPHkyq6urOXv2bJLktddeyyOPPJL3338/zz33XMMLoRZ3hHCPXLp0KVNTU5mZmcmLL76Yq1ev5ujR\nozl69GiuXr2aF154ITMzM5mamsqlS5eangtlCCGss19//TWdTietVivj4+MZDAbpdrvZtm3bP16z\nbdu2dLvdDAaDjI+Pp9VqpdPp5LfffmtwOdQghLBOhsNher1eJiYmcvHixVy4cCHnz5/P7t27/+17\ndu/enfPnz+fChQu5ePFiJiYm0uv1nB/COnJGCOvgm2++ydzcXH788ce88847OXbsWDZv3nxXn3Hn\nzp188skneeONN7Jz5870er1MTk6u02Koyx0h/IWuX7+e6enpHDx4MJOTk1lZWcnx48fvOoJJsnnz\n5hw/fjwrKyuZnJzMgQMHMj09nevXr6/DcqhLCOEvcPPmzZw6dSr79+/P7du3MxgM0uv1sn379j/9\n2du3b0+v18tgMMjt27ezf//+nDp1Kjdv3vwLlgMejcKfMBqN8umnn+b111/Pww8/nA8//DDT09Pr\nes0vvvgic3NzWVtby+nTp/PSSy9lbGxsXa8J9zMhhP/Rt99+m7m5uaysrOTtt9/Oyy+/nC1bttyT\na9+6dSsfffRR3nrrrTzxxBPp9Xp5+umn78m14X7j0SjcpR9++CHPP/98Jicn02q1sry8nE6nc88i\nmCRbtmxJp9PJ5cuX02q18swzz6Tdbufnn3++ZxvgfiGE8Aetra2l2+1m3759+emnn7K4uJj5+fns\n2LGjsU07duzI/Px8FhcXc+3atTz++OPpdrtZW1trbBP8v/FoFP6AhYWFvPnmmxkbG8t7772XmZmZ\nDXcuNxqN8vnnn+eVV17Jgw8+mNOnT2d2drbpWbDhuSOE/2BpaSkHDhzIiRMncuzYsSwvL2d2dnbD\nRTBJxsbGMjs7m+Xl5Rw5ciTtdjsHDx7M0tJS09NgQxNC+Bdu3LiRdrudVquVnTt35sqVK+l2u9m6\ndWvT0/6rrVu3ptvt5sqVK3nsscfy1FNP5cSJE7lx40bT02BDEkL4J7du3crZs2ezd+/eLC0t5euv\nv87CwkJ27drV9LS7tmvXriwsLOSrr77K4uJi9u7dm16vlzt37jQ9DTYUZ4Twd19++WVOnjyZX375\nJe+++26OHDmSTZvuj/+Kv//+e86dO5dXX3014+Pj+eCDD/Lss882PQs2hPvjVw5/wvLycqampnL4\n8OEcOnQoKysrabfb900Ek2TTpk1pt9u5fPlyDh06lMOHD2d6ejrXrl1reho07v75pcNdWl1dTafT\nyZNPPpmHHnoog8EgZ86cyaOPPtr0tHUzPj6eM2fOZDAYZDQaZd++fel0OlldXW16GjRGCCnru+++\nS7/fz2effZZ+v589e/Y0Peme2bNnT/r9fs6dO5d+v5/vv/++6UnQGGeElDYcDvPAAw80PaNRvgOq\nE0IASvNoFIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDS\nhBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKE\nEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQ\ngNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA\n0oQQgNKEEIDShBCA0oQQgNKEEIDShBCA0oQQgNL+Bs0hosAOQ9g7AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 208, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from rdkit.Chem import AllChem as Chem\n", "m = Chem.MolFromSmiles('CCC')\n", "m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The SSSR Problem\n", "\n", "As others have ranted about with more energy and eloquence than I intend\n", "to, the definition of a molecule's smallest set of smallest rings is not\n", "unique. In some high symmetry molecules, a “true” SSSR will give results\n", "that are unappealing. For example, the SSSR for cubane only contains 5\n", "rings, even though there are “obviously” 6. This problem can be fixed by\n", "implementing a *small* (instead of *smallest*) set of smallest rings\n", "algorithm that returns symmetric results. This is the approach that we\n", "took with the RDKit.\n", "\n", "Because it is sometimes useful to be able to count how many SSSR rings\n", "are present in the molecule, there is a rdkit.Chem.rdmolops.GetSSSR\n", "function, but this only returns the SSSR count, not the potentially\n", "non-unique set of rings." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##List of Available Descriptors\n", "\n", "| Descriptor/Descriptor Family | Notes |\n", "|-------------------------------------------------------------------------|----------------------------|\n", "| Gasteiger/Marsili Partial Charges |*Tetrahedron* **36**: 3219-28 (1980) |\n", "| BalabanJ | *Chem. Phys. Lett.* **89**: 399-404 (1982) |\n", "| BertzCT | *J. Am. Chem. Soc.* **103**: 3599-601 (1981) |\n", "| Ipc | *J. Chem. Phys.* **67**: 4517-33 (1977) |\n", "| HallKierAlpha | *Rev. Comput. Chem.* **2**: 367-422 (1991) |\n", "| Kappa1 - Kappa3 | *Rev. Comput. Chem.* **2**: 367-422 (1991) |\n", "| Chi0, Chi1 | *Rev. Comput. Chem.* **2**: 367-422 (1991) |\n", "| Chi0n - Chi4n | *Rev. Comput. Chem.* **2**: 367-422 (1991) |\n", "| Chi0v - Chi4v | *Rev. Comput. Chem.* **2**: 367-422 (1991) |\n", "| MolLogP | Wildman and Crippen *JCICS* **39**: 868-73 (1999) |\n", "| MolMR | Wildman and Crippen *JCICS* **39**: 868-73 (1999) |\n", "| MolWt | |\n", "| ExactMolWt | |\n", "| HeavyAtomCount | |\n", "| HeavyAtomMolWt | |\n", "| NHOHCount | |\n", "| NOCount | |\n", "| NumHAcceptors | |\n", "| NumHDonors | |\n", "| NumHeteroatoms | |\n", "| NumRotatableBonds | |\n", "| NumValenceElectrons | |\n", "| NumAmideBonds | |\n", "| Num{Aromatic,Saturated,Aliphatic}Rings | |\n", "| Num{Aromatic,Saturated,Aliphatic}{Hetero,Carbo}cycles | |\n", "| RingCount | |\n", "| FractionCSP3 | |\n", "| TPSA | *J. Med. Chem.* **43**: 3714-7, (2000) |\n", "| LabuteASA | *J. Mol. Graph. Mod.* **18**: 464-77 (2000) |\n", "| PEOE_VSA1 - PEOE_VSA14 | MOE-type descriptors using partial charges and surface area contributions | \n", "| SMR_VSA1 - SMR_VSA10 | MOE-type descriptors using MR contributions and surface area contributions | \n", "| SlogP_VSA1 - SlogP_VSA12 | MOE-type descriptors using LogP contributions and surface area contributions | \n", "| EState_VSA1 - EState_VSA11 | MOE-type descriptors using EState indices and surface area contributions (developed at RD, not described in the CCG paper) | \n", "|VSA_EState1 - VSA_EState10 | MOE-type descriptors using EState indices and surface area contributions (developed at RD, not described in the CCG paper) |\n", "| MQNs | Nguyen et al. *ChemMedChem* **4**: 1803-5 (2009) |\n", "| Topliss fragments | implemented using a set of SMARTS definitions in $(RDBASE)/Data/FragmentDescriptors.csv |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##List of Available Fingerprints\n", "\n", "| Fingerprint Type | Notes |\n", "|----------------------|----------------------------------------------------------------------------------------------------------|\n", "| RDKit | A Daylight-like fingerprint based on hashing molecular subgraphs. |\n", "| Atom Pairs | *JCICS* 25:64-73 (1985) |\n", "| Topological Torsions | *JCICS* 27:82-5 (1987) |\n", "| MACCS keys | Using the 166 public keys implemented as SMARTS. |\n", "| Morgan/Circular | Fingerprints based on the Morgan algorithm, similar to the ECFP/FCFP fingerprints *JCIM* 50:742-54 (2010). |\n", "| 2D Pharmacophore | Uses topological distances between pharmacophoric points. |\n", "| Pattern | A topological fingerprint optimized for substructure screening. |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##Feature Definitions Used in the Morgan Fingerprints\n", "\n", "\n", "These are adapted from the definitions in Gobbi, A. & Poppinger, D.\n", "“Genetic optimization of combinatorial libraries.” *Biotechnology and\n", "Bioengineering* **61**, 47-54 (1998).\n", "\n", "| Feature | SMARTS |\n", "|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n", "| Donor | `[$([N;!H0;v3,v4&+1]),$([O,S;H1;+0]),n&H1&+0]`|\n", "| Acceptor | `[$([O,S;H1;v2;!$(*-*=[O,N,P,S])]),$([O,S;H0;v2]),$([O,S;-]),$([N;v3;!$(N-*=[O,N,P,S])]),n&H0&+0,$([o,s;+0;!$([o,s]:n);!$([o,s]:c:n)])]`|\n", "| Aromatic | `[a]` |\n", "| Halogen | `[F,Cl,Br,I]` |\n", "| Basic | `[#7;+,$([N;H2&+0][$([C,a]);!$([C,a](=O))]),$([N;H1&+0]([$([C,a]);!$([C,a](=O))])[$([C,a]);!$([C,a](=O))]),$([N;H0&+0]([C;!$(C(=O))])([C;!$(C(=O))])[C;!$(C(=O))])]` |\n", "| Acidic | `[$([C,S](=[O,S,P])-[O;H1,-1])]` |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Footnotes**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "[1]: Blaney, J. M.; Dixon, J. S. \"Distance Geometry in Molecular\n", " Modeling\". *Reviews in Computational Chemistry*; VCH: New York, 1994.\n", "\n", "\n", "[2]: Rappé, A. K.; Casewit, C. J.; Colwell, K. S.; Goddard III, W. A.;\n", " Skiff, W. M. \"UFF, a full periodic table force field for molecular\n", " mechanics and molecular dynamics simulations\". *J. Am. Chem. Soc.*\n", " **114**:10024-35 (1992) .\n", "\n", "\n", "[3]: Halgren, T. A. \"Merck molecular force field. I. Basis, form,\n", " scope, parameterization, and performance of MMFF94.\" *J. Comp.\n", " Chem.* **17**:490–19 (1996).\n", "\n", "\n", "[4]: Halgren, T. A. \"Merck molecular force field. II. MMFF94 van der\n", " Waals and electrostatic parameters for intermolecular interactions.\"\n", " *J. Comp. Chem.* **17**:520–52 (1996).\n", "\n", "\n", "[5]: Halgren, T. A. \"Merck molecular force field. III. Molecular\n", " geometries and vibrational frequencies for MMFF94.\" *J. Comp. Chem.*\n", " **17**:553–86 (1996).\n", "\n", "\n", "[6]: Halgren, T. A. & Nachbar, R. B. \"Merck molecular force field. IV.\n", " conformational energies and geometries for MMFF94.\" *J. Comp. Chem.*\n", " **17**:587-615 (1996).\n", "\n", "\n", "[7]: Halgren, T. A. \"MMFF VI. MMFF94s option for energy minimization\n", " studies.\" *J. Comp. Chem.* **20**:720–9 (1999).\n", "\n", "\n", "[8]: Bemis, G. W.; Murcko, M. A. \"The Properties of Known Drugs. 1.\n", " Molecular Frameworks.\" *J. Med. Chem.* **39**:2887-93 (1996).\n", "\n", "\n", "[9]: Carhart, R.E.; Smith, D.H.; Venkataraghavan R. “Atom Pairs as\n", " Molecular Features in Structure-Activity Studies: Definition and\n", " Applications” *J. Chem. Inf. Comp. Sci.* **25**:64-73 (1985).\n", "\n", "\n", "[10]: Nilakantan, R.; Bauman N.; Dixon J.S.; Venkataraghavan R.\n", " “Topological Torsion: A New Molecular Descriptor for SAR\n", " Applications. Comparison with Other Desciptors.” *J. Chem.Inf. Comp.\n", " Sci.* **27**:82-5 (1987).\n", "\n", "\n", "[11]: Rogers, D.; Hahn, M. “Extended-Connectivity Fingerprints.” *J.\n", " Chem. Inf. and Model.* **50**:742-54 (2010).\n", "\n", "\n", "[12]: Ashton, M. et al. “Identification of Diverse Database Subsets\n", " using Property-Based and Fragment-Based Molecular Descriptions.”\n", " *Quantitative Structure-Activity Relationships* **21**:598-604\n", " (2002).\n", "\n", "\n", "[13]: Riniker, S.; Landrum, G. A. \"Similarity Maps - A Visualization\n", " Strategy for Molecular Fingerprints and Machine-Learning Methods\"\n", " *J. Cheminf.* **5**:43 (2013).\n", "\n", "\n", "[14]: A more detailed description of reaction SMARTS, as defined by the\n", " RDKit, is in the RDKit Book.\n", "\n", "\n", "[15]: Lewell, X.Q.; Judd, D.B.; Watson, S.P.; Hann, M.M.\n", " “RECAP-Retrosynthetic Combinatorial Analysis Procedure: A Powerful\n", " New Technique for Identifying Privileged Molecular Fragments with\n", " Useful Applications in Combinatorial Chemistry” *J. Chem. Inf. Comp.\n", " Sci.* **38**:511-22 (1998).\n", "\n", "\n", "[16]: Degen, J.; Wegscheid-Gerlach, C.; Zaliani, A; Rarey, M. \"On the\n", " Art of Compiling and Using ‘Drug-Like’ Chemical Fragment Spaces.\"\n", " *ChemMedChem* **3**:1503–7 (2008).\n", "\n", "\n", "[17]: Gobbi, A. & Poppinger, D. \"Genetic optimization of combinatorial\n", " libraries.\" *Biotechnology and Bioengineering* **61**:47-54 (1998)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##License" ] }, { "cell_type": "code", "execution_count": 209, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 209, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image('images/picture_5.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This document is copyright (C) 2007-2013 by Greg Landrum\n", "\n", "This work is licensed under the Creative Commons Attribution-ShareAlike\n", "3.0 License. To view a copy of this license, visit\n", " or send a letter to\n", "Creative Commons, 543 Howard Street, 5th Floor, San Francisco,\n", "California, 94105, USA.\n", "\n", "The intent of this license is similar to that of the RDKit itself. In\n", "simple words: “Do whatever you want with it, but please give us some\n", "credit.”" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" }, "widgets": { "state": {}, "version": "1.1.2" } }, "nbformat": 4, "nbformat_minor": 0 }