dwhswenson/contact_map

View on GitHub
examples/changing_defaults.ipynb

Summary

Maintainability
Test Coverage
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Changing defaults\n",
    "\n",
    "Up until now, we've only used the default parameters. Contact Map Explorer always determines contacts based on atom-atom distances, i.e., residues are considered in contact if a pair of an atom from one residue is within a cutoff distance of an atom from another residue. But which atoms? And what is that cutoff distance? These decisions can be customized, and you can get improved performance by customizing them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import mdtraj as md\n",
    "traj = md.load(\"5550217/kras.xtc\", top=\"5550217/kras.pdb\")\n",
    "topology = traj.topology"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from contact_map import ContactFrequency"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Customizing the atoms involved in the contact\n",
    "\n",
    "`ContactFrequency` takes the parameters `query` and `haystack`, which are lists of atom indices. It will then search for all contacts between atoms in `query` and atoms in `haystack`. This allows you to, for example, focus on the contacts between two distinct parts of a protein. By only including some atoms in the search, the contacts are calculated more quickly.\n",
    "\n",
    "This also allows you to fundamentally change the definition of a contact by making it about C$_\\alpha$ or about all atoms, instead of heavy atoms as is the default (though if you change that, you should also change the cutoff value). \n",
    "\n",
    "In general, it is easiest to get the list of atom indices from MDTraj using its [atom selection language](https://mdtraj.org/1.9.4/examples/atom-selection.html). The default behavior is to look for contacts between all heavy (i.e., non-hydrogen), non-water atoms."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1408\n"
     ]
    }
   ],
   "source": [
    "# the default selection is\n",
    "default_selection = topology.select(\"not water and symbol != 'H'\")\n",
    "print(len(default_selection))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that the general assumption is that the query is no larger than the haystack. If this isn't obeyed, you'll still get correct answers, but some algorithms may be less efficient, and visualizations have also been designed with this in mind."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Changing the `query`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now let's focus in on contacts involving specific regions of KRas. In your work, this might be contacts between different parts of one molecule, or contacts between two different molecules, such as in drug binding or DNA-protein interactions. First, let's look at the contacts between the switch 1 region and all other atoms in our default selection. So switch 1 will be our query.\n",
    "\n",
    "MDTraj allows queries based on different numbering systems: `resid` and `resSeq`. The `resid` is the internally-used residue number, and starts from 0. On the other hand, `resSeq` is the residue number given in the PDB, which usually starts from 1 (and is the number we usually refer to in literature)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "switch1 = topology.select(\"resSeq 32 to 38 and symbol != 'H'\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 15.9 s, sys: 7.22 ms, total: 15.9 s\n",
      "Wall time: 1.44 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "sw1_contacts = ContactFrequency(trajectory=traj, query=switch1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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0j333BO03NSpU4OWe+WVV5pbCgAA36k9h9TJUxuxatUq5ebmavbs2dqzZ4+GDBminJwclZSUmC6/detWTZw4UVOmTNGBAwf0xhtvaMeOHfrZz37W5G02++jl5OQoJyen3ueTL7rexVtvvaVhw4bp+9//ftD8jh071lkWAIAWYZjMktXaMUw2f/58TZkyJRBmXn75Zb3//vtatGiRCgsL6yz/0Ucf6YorrtCjjz4qScrIyNBDDz2kefPmNXmblt6b7JtvvtG7776rKVOm1HluxYoVSkxMVO/evTVz5kydOnWq3vX4/X75fL6gCQAAWCtcw2QXf4f7/X7T7VVVVWnXrl3Kzs4Omp+dna1t27aZvmbw4ME6cuSI1q9fL8Mw9M033+hPf/qT7rjjjibvp6V9td///veKi4vT3XffHTT//vvvV0ZGhpKTk7V//37l5+fr448/VlFRkel6CgsL9cwzz1hZKgAgkrWhYaIWucT3Py0tLejxnDlzVFBQUGe5Y8eOqaamRklJSUHzk5KSVFbPPfgGDx6sFStWaPz48Tp79qzOnTun0aNH69e//nWT67P06C1ZskT333+/Yi+6BsbUqVMD/52ZmamePXuqf//+2r17t/r161dnPfn5+crLyws89vl8dQ4sAAAIr3ANkx0+fFjx8fGB+W63u+HXuYK3ahhGnXm1PvnkEz366KP6xS9+oZEjR6q0tFRPPPGEpk2bpsWLFzepTsvC0JYtW/Tpp59q1apVjS7br18/tW/fXocOHTINQ263u9EDBziW08+VuMT/IgYiWbjCUHx8fFAYqk9iYqKioqLqdIHKy8vrdItqFRYW6oYbbtATTzwhSbrmmmvUqVMnDRkyRL/85S+VkpLS6HYt+xRZvHixsrKy1Ldv30aXPXDggKqrq5tUMC7g9C9BfMfp7wPCEO8BifdBGxETE6OsrCwVFRVp7NixgflFRUW66667TF9z5swZRV/0/z8qKkrSdx2lpmj2u6eiokKff/554HFxcbH27t2rhIQEXX755ZK+G8Z644039OKLL9Z5/RdffKEVK1bo9ttvV2Jioj755BM9/vjjuu6663TDDTc0txwAAGARO35NlpeXpwceeED9+/fXoEGD9Oqrr6qkpETTpk2T9N2pM19//bWWL18uSRo1apSmTp2qRYsWBYbJcnNz9aMf/UipqalN2mazw9DO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\n",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sw1_contacts.residue_contacts.plot();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This shows all contacts of switch 1 with anything else in the system. Here, we automatically zoom in to have query on the `x` axis and the rest on the `y` axis. The boxes are long rectangles instead of squares as in the default selection. The box represents the residue number (in the `resid` numbering system) that is to its left and under it. Let's also zoom out to see the complete symmetric plot instead:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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yFhQUKCCgoIW5zub3NPmzTff1KhRo/T1r389YHr37t2btUWY0U0GAAhCJLrJli5dqhkzZviTmZdeeknvvPOOVqxYoZKSkmbtP/zwQ910002aO3euJCk7O1uPP/64lixZ0u51hvXZZF988YXeeustzZgxo9m8devWKS0tTbfeeqvmz5+v8+fPt7gcr9crj8cTMAAAgPAKVTdZ02O41+s1XV9dXZ3279+v/Pz8gOn5+fnas2eP6XuGDRumU6dOaevWrTIMQ1988YX++Mc/6oEHHmj3doY1GXr11VeVnJysCRMmBEx/9NFH9cYbb2j79u165pln9Kc//alZm68qKSmRw+HwD5mZmeEMu+uimwwAEAGZmZkBx3GzCo8knTlzRg0NDUpPTw+Ynp6erirfczabGDZsmNatW6dJkyYpMTFRTqdTN9xwg37961+3O76wHhlXrVqlRx99VElN7nMzc+ZM/885OTnq16+f8vLydODAAQ0aNKjZcoqLi1VUVOR/7fF4SIgAAAizUHWTVVRUKCUlxT/dbre3/j5b4FoNw2g2zefYsWOaO3eufvrTn+ree+9VZWWlfvSjH2nWrFlauXJlu+IMWzK0a9cuffzxx9qwYUObbQcNGqSEhASdOHHCNBmy2+1t/uLwFZwbBAAIgVAlQykpKQHJUEvS0tIUFxfXrApUXV3drFrkU1JSojvuuEM/+tGPJEn//u//rh49emj48OF67rnnlJGR0eZ6w9ZNtnLlSuXm5mrgwIFttj169Kjq6+vbFTBMXL5sPjSdDwBAFEtMTFRubq5KS0sDppeWlmrYsGGm7/nyyy913XWB6UxcXJykxopSewRdOqitrdUnn3zif11WVqZDhw4pNTVVffv2ldTYjfWHP/xBL7zwQrP3/+Mf/9C6det0//33Ky0tTceOHdO8efP0zW9+U3fccUew4QAAgDCJxNVkRUVF+t73vqe8vDwNHTpUv/3tb1VeXq5Zs2ZJajx15vPPP9fatWslSWPHjtXMmTO1YsUKfzdZYWGhvvWtb8nlcrVrnUEnQ/v27dOoUaMCgpakadOmac2aNZKk9evXyzAMffe73232/sTERP31r3/Vr371K9XW1iozM1MPPPCAFi1a5M/kEKSm3WG+1027yy5dahzzrDIAQDtEIhmaNGmSzp49q2effVaVlZXKycnR1q1blZWVJanxfoZf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\n",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = sw1_contacts.residue_contacts.plot()\n",
    "ax.set_xlim(0, sw1_contacts.residue_contacts.max_size)\n",
    "ax.set_ylim(0, sw1_contacts.residue_contacts.max_size);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Changing `query` and `haystack`\n",
    "\n",
    "What if we wanted to zoom in even more, and only look at the contacts between the switch 1 and cations in the system? We make one of the the query and the other the haystack. Since `switch1` contains more atoms than `cations`, we'll use `switch1` as the `haystack`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "cations = topology.select(\"resname NA or resname MG\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 1.38 s, sys: 0 ns, total: 1.38 s\n",
      "Wall time: 133 ms\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "cations_switch1 = ContactFrequency(trajectory=traj, query=cations, haystack=switch1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGiCAYAAADulWxzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAyvklEQVR4nO3dfXSU9Z3//1dISEIJMxqCkDQhRhHkpsGStDootSA3BougtuLqCahIZS1SQFmbUEXcckJr5SeKRFyDhVPWcChE2QrR7KkJUKSHYOIist5iE3EIBUsmRBhIcv3+cJmvMQmZuWZCnPk8H+dc5zDXXDfvuXIl8+L9uWauKMuyLAEAAESgHt1dAAAAQFch6AAAgIhF0AEAABGLoAMAACIWQQcAAEQsgg4AAIhYBB0AABCxCDoAACBiEXQAAEDEIugAAICIFVDQKSwsVGZmphwOhxwOh1wul7Zv3+57/uTJk5o7d65SU1PVq1cvDR06VIWFhSEvGgAAhJcdO3ZoypQpSklJUVRUlF555ZVO16moqFBWVpbi4+N12WWX6fnnnw94vwEFndTUVC1fvlyVlZWqrKzUuHHjNHXqVB04cECStGDBApWWluqPf/yjDh48qAULFujBBx/Uq6++GnBhAAAgcjQ2NmrkyJFatWqVX8sfOnRIkydP1pgxY1RVVaX8/HzNmzdPmzdvDmi/UcHe1DMxMVFPPvmkZs2apREjRmj69Ol69NFHfc9nZWVp8uTJ+vd///dgdgMAACJEVFSUSkpKNG3atA6XeeSRR7R161YdPHjQN2/OnDl655139NZbb/m9rxi7RTY3N2vTpk1qbGyUy+WSJF133XXaunWr7r33XqWkpKi8vFwffPCBVq5c2eF2vF6vvF6v73FLS4u++OIL9e3bV1FRUXbLAwAgIliWpYaGBqWkpKhHj9BcWnv69GmdOXMm6O1YltXmvTouLk5xcXFBb/utt97SxIkTW82bNGmSioqKdPbsWfXs2dPvIgPyP//zP1bv3r2t6Ohoy+l0Wq+99prvOa/Xa82YMcOSZMXExFixsbHW+vXrz7u9JUuWWJKYmJiYmJiYzjPV1tYG+pbdrlOnTlkJIaopISGhzbwlS5Z0WoMkq6Sk5LzLXHHFFdayZctazfvrX/9qSbI+//xzv19vwB2dIUOGqLq6WidOnNDmzZs1c+ZMVVRUaNiwYXrmmWe0Z88ebd26Venp6dqxY4ceeOABJScna/z48e1uLy8vTwsXLvQ9rq+v18CBA1X797/L4XAEWl74OX3a/rrx8aGro6s1NdlfN8Z249H+foPZ58mT9tcNp59pMMeoO3TXOWhXuNUbDLt/B8Pp9yUIHo9Haenp6tOnT0i2d+bMGZ2UtEBSMH0Xr6T/7+RJ1dbWtnq/DkU355xvdous/7vaJpARn4B/G2JjYzVo0CBJUnZ2tvbu3auVK1fq6aefVn5+vkpKSnTTTTdJkjIzM1VdXa3f//73HQadjlpc5z7ZFfFiY+2vG06/5CYFnWBay+H0Mw23N9NwCw7hVm8w7P4dDKfflxAI9eUccZJCcQS76v16wIABOnLkSKt5R48eVUxMjPr27ev3doIe7LMsS16vV2fPntXZs2fbjB9GR0erpaUl2N0AAIAQigrB1JVcLpfKyspazXvjjTeUnZ3t//U5CrCjk5+fr5ycHKWlpamhoUHFxcUqLy9XaWmpHA6Hrr/+ei1atEi9evVSenq6KioqtH79eq1YsSKQ3QAAgC4WbFgJdN2TJ0/qo48+8j0+dOiQqqurlZiYqIEDByovL0+HDx/W+vXrJX31CatVq1Zp4cKFmj17tt566y0VFRXp5ZdfDmi/AQWduro65ebmyu12y+l0KjMzU6WlpZowYYIkqbi4WHl5ebrrrrv0xRdfKD09XcuWLdOcOXMCKgoAAHStCx10KisrNXbsWN/jc9fnzpw5U3/4wx/kdrtVU1Pjez4jI0Pbtm3TggUL9NxzzyklJUXPPPOMbrvttsDqtKzgvkcn1Dwej5xOp+r/+U8zrtHhYuTOhds1OlyM/O0Ubte8hFu9weBi5PPyeDxyXnyx6uvrQ/K+eO59drGCu0bntKRlUsjq6iph9tsAAABC4UJ3dLoLQQcAAAOZEnS4ezkAAIhYdHQAADCQKR0dgg4AAAYyJegwdAUAACIWHR0AAAxkSkeHoAMAgIFMCToMXQEAgIhFRwcAAAOZ0tEh6AAAYCCCDgAAiFimBB2u0QEAABGLjg4AAAYypaND0AEAwECmBB2GrgAAQMSiowMAgIFM6egQdAAAMJApQYehKwAAELHo6AAAYCBTOjoEHQAADBUuYSUYDF0BAICIRUcHAAADMXQFAAAiFkEHAABELFOCDtfoAACAiEVHBwAAA5nS0SHoAABgIFOCDkNXAAAgYtHRAQDAQKZ0dAg6AAAYyJSgw9AVAACIWHR0AAAwkCkdHYIOAAAGMiXoMHQFAAAiFh0dAAAMZEpHh6ADAICBCDoAACBimRJ0uEYHAABELDo6AAAYyJSODkEHAAADmRJ0GLoCAAARK6CgU1hYqMzMTDkcDjkcDrlcLm3fvt33fFRUVLvTk08+GfLCAQCAfVEhmMJBQEEnNTVVy5cvV2VlpSorKzVu3DhNnTpVBw4ckCS53e5W09q1axUVFaXbbrutS4oHAAD2mBJ0ArpGZ8qUKa0eL1u2TIWFhdqzZ4+GDx+uAQMGtHr+1Vdf1dixY3XZZZd1uE2v1yuv1+t77PF4AikJAACgQ7YvRm5ubtamTZvU2Ngol8vV5vm6ujq99tprWrdu3Xm3U1BQoKVLl7Z9ol8/KcpGXjx5MvB1zonphmuz4+Ptr9vUZG+97nid3bHP7tpvd+zzyBH7637jPyh+C+Z3LZjzvrra3nrZ2fb32R2COY/s/m2wu54U3M+0O35nTp+2v67deu3uM5jftfPgYuQO7N+/XwkJCYqLi9OcOXNUUlKiYcOGtVlu3bp16tOnj2699dbzbi8vL0/19fW+qba2NtCSAACADZE+bCXZ6OgMGTJE1dXVOnHihDZv3qyZM2eqoqKiTdhZu3at7rrrLsV3kvLj4uIUFxcXaBkAAACdCjjoxMbGatCgQZKk7Oxs7d27VytXrtSaNWt8y+zcuVPvv/++Nm7cGLpKAQBAyJgydBX0wKhlWa0uJpakoqIiZWVlaeTIkcFuHgAAdAGCTjvy8/OVk5OjtLQ0NTQ0qLi4WOXl5SotLfUt4/F4tGnTJj311FMhLxYAAIQGQacddXV1ys3NldvtltPpVGZmpkpLSzVhwgTfMsXFxbIsS//yL/8S8mIBAAACEVDQKSoq6nSZn//85/r5z39uuyAAAND16OgAAICIZUrQ4aaeAAAgYtHRAQDAQKZ0dAg6AAAYyJSgw9AVAACIWHR0AAAwkCkdHYIOAAAGMiXoMHQFAAAiFh0dAAAMZEpHh6ADAICBTAk6DF0BAGCgqBBMdqxevVoZGRmKj49XVlaWdu7ced7lN2zYoJEjR+o73/mOkpOTdc899+j48eN+74+gAwAALoiNGzdq/vz5Wrx4saqqqjRmzBjl5OSopqam3eV37dqlGTNmaNasWTpw4IA2bdqkvXv36r777vN7nwQdAAAM1B0dnRUrVmjWrFm67777NHToUD399NNKS0tTYWFhu8vv2bNHl156qebNm6eMjAxdd911uv/++1VZWen3Pgk6AAAYKFRBx+PxtJq8Xm+7+ztz5oz27duniRMntpo/ceJE7d69u911Ro8erc8++0zbtm2TZVmqq6vTn/70J910001+v06CDgAAsC0tLU1Op9M3FRQUtLvcsWPH1NzcrP79+7ea379/fx05cqTddUaPHq0NGzZo+vTpio2N1YABA3TRRRfp2Wef9bs+gg4AAAYKVUentrZW9fX1vikvL+/8+41qPehlWVabeee89957mjdvnh577DHt27dPpaWlOnTokObMmeP36+Tj5QAAGChUHy93OBxyOBydLp+UlKTo6Og23ZujR4+26fKcU1BQoGuvvVaLFi2SJGVmZqp3794aM2aMfvOb3yg5ObnT/dLRAQAAXS42NlZZWVkqKytrNb+srEyjR49ud50vv/xSPXq0jirR0dGSvuoE+YOODgAABuqOLwxcuHChcnNzlZ2dLZfLpRdeeEE1NTW+oai8vDwdPnxY69evlyRNmTJFs2fPVmFhoSZNmiS326358+frhz/8oVJSUvzaJ0EHAAADdUfQmT59uo4fP64nnnhCbrdbI0aM0LZt25Seni5Jcrvdrb5T5+6771ZDQ4NWrVqlhx56SBdddJHGjRun3/72t/7Xafnb+7lAPB6PnE6n6mNi5Ojg4qTzOnnS/s5jwiz3NTXZWy/cXme4OX3a/rp2fzYdfGLBLwMG2FsvmNcZH29/3epqe+tlZ9vfZ7ix+7fB7npScD/T7vhb1h2/pzb36fF45ExLU319vV/Xwvi1PadTf5L0nSC286Wkn0ohq6ur8I4HAIChwuV+VcEg6AAAYCBTbupJ0AEAwECmBB0+Xg4AACIWHR0AAAxkSkeHoAMAgIFMCToMXQEAgIhFRwcAAAOZ0tEh6AAAYCBTgg5DVwAAIGLR0QEAwECmdHQIOgAAGMiUoMPQFQAAiFh0dAAAMJApHR2CDgAABiLoAACAiGVK0OEaHQAAELHo6AAAYCBTOjoEHQAADGRK0GHoCgAARCw6OgAAGIiOTjsKCwuVmZkph8Mhh8Mhl8ul7du3t1rm4MGDuvnmm+V0OtWnTx9dc801qqmpCWnRAAAgOFEhmMJBQEEnNTVVy5cvV2VlpSorKzVu3DhNnTpVBw4ckCR9/PHHuu6663TllVeqvLxc77zzjh599FHFx8d3SfEAAADnE9DQ1ZQpU1o9XrZsmQoLC7Vnzx4NHz5cixcv1uTJk/W73/3Ot8xll1123m16vV55vV7fY4/HE0hJAADABlOGrmxfo9Pc3KxNmzapsbFRLpdLLS0teu211/Rv//ZvmjRpkqqqqpSRkaG8vDxNmzatw+0UFBRo6dKlbZ9wuyWHw2554aOpyf66MVxi9a3UHR3MAQPsr2v3PArm/Atm3Usvtb8uzq+7uu/d8bcsmNdq9+92QoK99Vpa7K3XCVOCTsCfutq/f78SEhIUFxenOXPmqKSkRMOGDdPRo0d18uRJLV++XDfeeKPeeOMN3XLLLbr11ltVUVHR4fby8vJUX1/vm2pra4N6QQAAAOcEHKOHDBmi6upqnThxQps3b9bMmTNVUVGhiy66SJI0depULViwQJJ01VVXaffu3Xr++ed1/fXXt7u9uLg4xcXF2X8FAADAlnDpygQj4KATGxurQYMGSZKys7O1d+9erVy5Us8++6xiYmI0bNiwVssPHTpUu3btCk21AAAgJEwZugp6YNSyLHm9XsXGxuoHP/iB3n///VbPf/DBB0pPTw92NwAAIIQIOu3Iz89XTk6O0tLS1NDQoOLiYpWXl6u0tFSStGjRIk2fPl0/+tGPNHbsWJWWluq//uu/VF5e3hW1AwAAnFdAQaeurk65ublyu91yOp3KzMxUaWmpJkyYIEm65ZZb9Pzzz6ugoEDz5s3TkCFDtHnzZl133XVdUjwAALDHlI5OlGVZVncX8XUej0dOp1P1//iHHBf64+Xd8RFHPl6OUOiO8+j0afv7DOajvceO2VsvKcn+PsON3fOBvyn+ucDH1+PxyHnxxaqvrw/J++K599kKSTY/8C5JOinpeilkdXUVbuoJAAAiFvEdAAADmTJ0RdABAMBApgQdhq4AAEDEoqMDAICBTOnoEHQAADCQKUGHoSsAABCx6OgAAGAgUzo6BB0AAAxE0AEAABHLlKDDNToAACBi0dEBAMBApnR0CDoAABjIlKDD0BUAAIhYdHQAADCQKR0dgg4AAAYyJegwdAUAACIWHR0AAAxkSkeHoAMAgIFMCToMXQEAgIhFRwcAAEOFS1cmGAQdAAAMZMrQFUEHAAADmRJ0uEYHAABELDo6AAAYyJSODkEHAAADmRJ0GLoCAAARi44OAAAGMqWjQ9ABAMBApgQdhq4AAEDEoqMDAICB6OgAAICIFRWCyY7Vq1crIyND8fHxysrK0s6dO8+7vNfr1eLFi5Wenq64uDhdfvnlWrt2rd/7o6MDAICBuqOjs3HjRs2fP1+rV6/WtddeqzVr1ignJ0fvvfeeBg4c2O46t99+u+rq6lRUVKRBgwbp6NGjampq8nufBB0AAHBBrFixQrNmzdJ9990nSXr66af1+uuvq7CwUAUFBW2WLy0tVUVFhT755BMlJiZKki699NKA9snQFQAABgrV0JXH42k1eb3edvd35swZ7du3TxMnTmw1f+LEidq9e3e762zdulXZ2dn63e9+p+9+97saPHiwHn74YZ06dcrv10lHBwAAA4Vq6CotLa3V/CVLlujxxx9vs/yxY8fU3Nys/v37t5rfv39/HTlypN19fPLJJ9q1a5fi4+NVUlKiY8eO6YEHHtAXX3zh93U6BB0AAGBbbW2tHA6H73FcXNx5l4+Kah2vLMtqM++clpYWRUVFacOGDXI6nZK+Gv766U9/queee069evXqtD6CDgAABgpVR8fhcLQKOh1JSkpSdHR0m+7N0aNH23R5zklOTtZ3v/tdX8iRpKFDh8qyLH322We64oorOt0v1+gAAGCgC/3x8tjYWGVlZamsrKzV/LKyMo0ePbrdda699lp9/vnnOnnypG/eBx98oB49eig1NdWv/RJ0AADABbFw4UK9+OKLWrt2rQ4ePKgFCxaopqZGc+bMkSTl5eVpxowZvuXvvPNO9e3bV/fcc4/ee+897dixQ4sWLdK9997r17CVxNAVAABG6o7v0Zk+fbqOHz+uJ554Qm63WyNGjNC2bduUnp4uSXK73aqpqfEtn5CQoLKyMj344IPKzs5W3759dfvtt+s3v/mN/3ValmX5u3BhYaEKCwv16aefSpKGDx+uxx57TDk5OZKku+++W+vWrWu1ztVXX609e/b4XZDH45HT6VT9P/7h15hfSMV0Q+4L4EuP2uiOevHt1B3n0enT9vcZH29/3WPH7K2XlGR/n+HG7vnA3xT/XODj6/F45Lz4YtXX14fkffHc++zHkvoEsZ0GSZdLIaurqwR01FNTU7V8+XINGjRIkrRu3TpNnTpVVVVVGj58uCTpxhtv1EsvveRbJzY2NoTlAgAA+C+goDNlypRWj5ctW6bCwkLt2bPHF3Ti4uI0YMCA0FUIAABCjpt6dqK5uVnFxcVqbGyUy+XyzS8vL9cll1yiwYMHa/bs2Tp69Oh5t+P1ett8qyIAAOha3XVTzwst4AHD/fv3y+Vy6fTp00pISFBJSYmGDRsmScrJydHPfvYzpaen69ChQ3r00Uc1btw47du3r8MvECooKNDSpUvbPlFXJ335ZaDlBTcO3x3j08Hs82sftwtIMNdHMIbfObs/F0lKSAhdHZHqs8/srRfM34Zwu5aO39POBfMzjSDhElaCEdDFyNJX96qoqanRiRMntHnzZr344ouqqKjwhZ2vc7vdSk9PV3FxsW699dZ2t+f1elvdF8Pj8SgtLU31774rRx8bl0kF88csmADQHQg6307dEXRMuhi5utreelddZX+f4RZ00LnuCDrfsouRD0kKZmseSRmKsIuRpa8uLj53MXJ2drb27t2rlStXas2aNW2WTU5OVnp6uj788MMOtxcXF9fp10UDAIDQMuUanaD/q2FZVod3Kj1+/Lhqa2uVnJwc7G4AAEAIEXTakZ+fr5ycHKWlpamhoUHFxcUqLy9XaWmpTp48qccff1y33XabkpOT9emnnyo/P19JSUm65ZZbuqp+AACADgUUdOrq6pSbmyu32y2n06nMzEyVlpZqwoQJOnXqlPbv36/169frxIkTSk5O1tixY7Vx40b1sXOtDQAA6DJ0dNpRVFTU4XO9evXS66+/HnRBAACg65kSdLipJwAAiFh87hEAAAOZ0tEh6AAAYCBTgg5DVwAAIGLR0QEAwECmdHQIOgAAGIigAwAAIpYpQYdrdAAAQMSiowMAgIFM6egQdAAAMJApQYehKwAAELHo6AAAYCBTOjoEHQAADGRK0GHoCgAARCw6OgAAGMiUjg5BBwAAA5kSdBi6AgAAEYuODgAABjKlo0PQAQDAQAQdAAAQsaIkRUXZjytRlhW6YroQ1+gAAICIRUcHAAATRUV9NQUjDLo6BB0AAEzUo0dwQceypObm0NXTRRi6AgAAEYuODgAAJjKko0PQAQDARKEIOmGAoSsAABCx6OgAAGAiQzo6BB0AAExkSNBh6AoAAEQsOjoAAJjIkI4OQQcAABMRdAAAQMQyJOhwjQ4AAIhYdHQAADBRVNRXXR27WlpCV0sXIugAAGCiHj2CCzphIvJfIQAAMBYdHQAATGRIR4egAwCAiQwJOpH/CgEAgLHo6AAAYCJDOjoEHQAATGRI0AnoFRYWFiozM1MOh0MOh0Mul0vbt29vd9n7779fUVFRevrpp0NRJwAAQMAC6uikpqZq+fLlGjRokCRp3bp1mjp1qqqqqjR8+HDfcq+88or+9re/KSUlJbTVAgCA0KCj09aUKVM0efJkDR48WIMHD9ayZcuUkJCgPXv2+JY5fPiw5s6dqw0bNqhnz54hLxgAAITAuaATzBQGbF+j09zcrE2bNqmxsVEul0uS1NLSotzcXC1atKhVh+d8vF6vvF6v77HH47FbEgAA8FcYhZVgBBx09u/fL5fLpdOnTyshIUElJSUaNmyYJOm3v/2tYmJiNG/ePL+3V1BQoKVLl7Z9Ij7+qylQdtYJV3ZfawzXoHephIQLv8/u+Jl21+/aVVdd+H2a8jvT1GR/3WCOkd39BrPP7viZ2n2dwfxcEHjQGTJkiKqrq3XixAlt3rxZM2fOVEVFhU6dOqWVK1fq7bffVlQAt33Py8vTwoULfY89Ho/S0tICLQsAAAQi2Jt6WlboaulCUZYVXKXjx4/X5ZdfrqFDh2rhwoXq8bWD1tzcrB49eigtLU2ffvqpX9vzeDxyOp2q/+gjOfr0CbygpKTA1wlX3fG/IACRy6SOTnew+To9Ho+c/fqpvr5eDocj6DJ877NXXCFHdLT97TQ3y/nhhyGrq6sEfZZYliWv16vc3FyNHz++1XOTJk1Sbm6u7rnnnmB3AwAAELCAgk5+fr5ycnKUlpamhoYGFRcXq7y8XKWlperbt6/69u3bavmePXtqwIABGjJkSEiLBgAAQQr2YuQwGboKKOjU1dUpNzdXbrdbTqdTmZmZKi0t1YQJE7qqPgAA0BUIOm0VFRUFtHF/r8sBAADoCpH/AXoAANBWN31h4OrVq5WRkaH4+HhlZWVp586dfq3317/+VTExMboqwK+YIOgAAGCibgg6Gzdu1Pz587V48WJVVVVpzJgxysnJUU1NzXnXq6+v14wZM3TDDTcE/jIDXgMAAOD/eDyeVtPX73bwTStWrNCsWbN03333aejQoXr66aeVlpamwsLC8+7j/vvv15133um7E0MgCDoAAJgoRB2dtLQ0OZ1O31RQUNDu7s6cOaN9+/Zp4sSJreZPnDhRu3fv7rDMl156SR9//LGWLFli62WG2bctAQCAkAjRp65qa2tbfWFgXFxcu4sfO3ZMzc3N6t+/f6v5/fv315EjR9pd58MPP9SvfvUr7dy5UzE2vyCSoAMAgIlCFHQcDkdA34z8zdtEWZbV7q2jmpubdeedd2rp0qUaPHiw7TIJOgAAoMslJSUpOjq6Tffm6NGjbbo8ktTQ0KDKykpVVVVp7ty5kqSWlhZZlqWYmBi98cYbGjduXKf7JegAAGCiYG/q2dIS0OKxsbHKyspSWVmZbrnlFt/8srIyTZ06tc3yDodD+/fvbzVv9erV+stf/qI//elPysjI8Gu/BB0AAEwU7NCVjXUXLlyo3NxcZWdny+Vy6YUXXlBNTY3mzJkjScrLy9Phw4e1fv169ejRQyNGjGi1/iWXXKL4+Pg288+HoAMAAC6I6dOn6/jx43riiSfkdrs1YsQIbdu2Tenp6ZIkt9vd6XfqBCrKsr5dN6vw3T7+o4/k6NMn8A0kJYW+qG+rpiZ769m8ch1AhLP7N0UK7u+KKX/LbL5Oj8cjZ79+qq+vD+ii3/Nuz+lU/TXXyBHEMfQ0Ncm5Z0/I6uoqYXaWAACAkOiGoavuEB5VAgAA2EBHBwAAExnS0SHoAABgIkOCTnhUCQAAYAMdHQAATGRIR4egAwCAiQg6AAAgYhkSdMKjSgAAABvo6AAAYKJgb+oZFRW6WroQQQcAABMxdAUAABDe6OgAAGAiQzo6BB0AAExkSNAJjyoBAABsoKMDAICJDOnoEHQAADCRIUEnPKoEAACwgY4OAAAmMqSjQ9ABAMBEBB0AABCxDAk64VElAACADXR0AAAwETf1BAAAEYuhKwAAgPBGRwcAABMZ0tEh6AAAYCJDgk54VAkAAGADHR0AAExkSEeHoAMAgIkMCTrhUSUAAIANAQWdwsJCZWZmyuFwyOFwyOVyafv27b7nH3/8cV155ZXq3bu3Lr74Yo0fP15/+9vfQl40AAAI0rmOTjBTGAioytTUVC1fvlyVlZWqrKzUuHHjNHXqVB04cECSNHjwYK1atUr79+/Xrl27dOmll2rixIn6xz/+0SXFAwAAmwwJOlGWZVnBbCAxMVFPPvmkZs2a1eY5j8cjp9Op//7v/9YNN9zg1/bOrVP/0Udy9OkTeEFJSYGvE66amuytF8OlWQDaYfdvihTc3xVT/pbZfJ0ej0fOfv1UX18vh8MRdBm+99mf/1yO2Fj72zlzRs4XXghZXV3F9lnS3NysTZs2qbGxUS6Xq83zZ86c0QsvvCCn06mRI0d2uB2v1yuv1+t77PF47JYEAADQSsBBZ//+/XK5XDp9+rQSEhJUUlKiYcOG+Z7/85//rDvuuENffvmlkpOTVVZWpqTzdFkKCgq0dOnStk/07Std6IRoyv8qABN1V7cinITb6wy3n6ndeoN5nedjyE09A36FQ4YMUXV1tfbs2aN//dd/1cyZM/Xee+/5nh87dqyqq6u1e/du3Xjjjbr99tt19OjRDreXl5en+vp631RbW2vvlQAAAP8Zco1OwFXGxsZq0KBBys7OVkFBgUaOHKmVK1f6nu/du7cGDRqka665RkVFRYqJiVFRUVGH24uLi/N9iuvcBAAAEApB9+4sy2p1jU2gzwMAgG5gyBcGBhR08vPzlZOTo7S0NDU0NKi4uFjl5eUqLS1VY2Ojli1bpptvvlnJyck6fvy4Vq9erc8++0w/+9nPuqp+AABgB0Gnrbq6OuXm5srtdsvpdCozM1OlpaWaMGGCTp8+rf/93//VunXrdOzYMfXt21c/+MEPtHPnTg0fPryr6gcAAOhQQEHnfNfaxMfHa8uWLUEXBAAALgA6OgAAIGIZEnTCo0oAAAAb6OgAAGAiQzo6BB0AAExE0AEAABHLkKATHlUCAADYQEcHAAATRUUFd2POMLmpJ0EHAAATcfdyAACA8EZHBwAAExlyMTJBBwAAExkSdMKjSgAAABvo6AAAYCJDOjoEHQAATGRI0AmPKgEAAGygowMAgIkM6egQdAAAMBFBBwAARCxDgk54VAkAAGADHR0AAExkSEeHoAMAgIm4qScAAEBorV69WhkZGYqPj1dWVpZ27tzZ4bJbtmzRhAkT1K9fPzkcDrlcLr3++usB7Y+gAwCAic4NXQUzBWjjxo2aP3++Fi9erKqqKo0ZM0Y5OTmqqalpd/kdO3ZowoQJ2rZtm/bt26exY8dqypQpqqqq8nufUZZlWQFX2oU8Ho+cTqfq//lPORyOC7vzpiZ768V00whguNULdCe7vy8SvzNdLZifjV3d8TM9fdrWah6PR87kZNXX14fkfdH3PrtihRy9etnfzqlTci5cqNra2lZ1xcXFKS4urt11rr76ao0aNUqFhYW+eUOHDtW0adNUUFDg136HDx+u6dOn67HHHvNreTo6AADAtrS0NDmdTt/UUWA5c+aM9u3bp4kTJ7aaP3HiRO3evduvfbW0tKihoUGJiYl+18d/UwAAMFGIPnXVXkenPceOHVNzc7P69+/fan7//v115MgRv3b51FNPqbGxUbfffrvfZRJ0AAAwUYiCjsPhCGhILeobn9ayLKvNvPa8/PLLevzxx/Xqq6/qkksu8Xt/BB0AANDlkpKSFB0d3aZ7c/To0TZdnm/auHGjZs2apU2bNmn8+PEB7ZdrdAAAMNEF/tRVbGyssrKyVFZW1mp+WVmZRo8e3eF6L7/8su6++27953/+p2666aaAXyYdHQAATNQN34y8cOFC5ebmKjs7Wy6XSy+88IJqamo0Z84cSVJeXp4OHz6s9evXS/oq5MyYMUMrV67UNddc4+sG9erVS06n0699EnQAADBRNwSd6dOn6/jx43riiSfkdrs1YsQIbdu2Tenp6ZIkt9vd6jt11qxZo6amJv3iF7/QL37xC9/8mTNn6g9/+INf+yToAACAC+aBBx7QAw880O5z3wwv5eXlQe+PoAMAgIm4qScAAIhY3NQTAAAgvNHRAQDARAxdAQCAiGVI0AmPKgEAAGygowMAgIkM6egQdAAAMJEhQSc8qgQAALCBjg4AACaio9NWYWGhMjMz5XA45HA45HK5tH37dknS2bNn9cgjj+h73/ueevfurZSUFM2YMUOff/55lxQOAACCcIHvXt5dAqoyNTVVy5cvV2VlpSorKzVu3DhNnTpVBw4c0Jdffqm3335bjz76qN5++21t2bJFH3zwgW6++eauqh0AANhlSNAJaOhqypQprR4vW7ZMhYWF2rNnj2bNmqWysrJWzz/77LP64Q9/qJqaGg0cOLDdbXq9Xnm9Xt9jj8cTSEkAAAAdsn2NTnNzszZt2qTGxka5XK52l6mvr1dUVJQuuuiiDrdTUFCgpUuX2i0jtGLC7JKlcKvXFE1N9tflZwr4L9x+X+Lj7a135kxo6ziHa3Tat3//fiUkJCguLk5z5sxRSUmJhg0b1ma506dP61e/+pXuvPNOORyODreXl5en+vp631RbWxtoSQAAIFDnbuppdwqTm3oGHIeHDBmi6upqnThxQps3b9bMmTNVUVHRKuycPXtWd9xxh1paWrR69erzbi8uLk5xcXGBVw4AANCJgINObGysBg0aJEnKzs7W3r17tXLlSq1Zs0bSVyHn9ttv16FDh/SXv/zlvN0cAADQTQwZugp6gNOyLN/FxOdCzocffqg333xTffv2DbpAAADQBQg6beXn5ysnJ0dpaWlqaGhQcXGxysvLVVpaqqamJv30pz/V22+/rT//+c9qbm7WkSNHJEmJiYmKjY3tkhcAAADQkYCCTl1dnXJzc+V2u+V0OpWZmanS0lJNmDBBn376qbZu3SpJuuqqq1qt9+abb+rHP/5xqGoGAADBoqPTVlFRUYfPXXrppbIsK+iCAADABWBI0AmPKgEAAGwIs29bAgAAIWFIR4egAwCAiQg6AAAgYhkSdMKjSgAAABvo6AAAYCJDOjoEHQAATHTupp7BrB8GwiOOAQAA2EBHBwAAEzF0BQAAIpYhQSc8qgQAALCBjg4AACYypKND0AEAwESGBJ3wqBIAAMAGOjoAAJjIkI4OQQcAABMRdAAAQMQyJOiER5UAAAA20NEBAMBEhnR0CDoAAJiIm3oCAACENzo6AACYiKErAAAQsQwJOuFRJQAAgA10dAAAMJEhHR2CDgAAJjIk6IRHlQAAADbQ0QEAwESGdHQIOgAAmIigAwAAIpYhQSc8qgQAALCBjg4AACYypKND0AEAwETc1BMAACC80dEBAMBEDF0BAICIZUjQCY8qAQAAbKCjAwCAiQzp6BB0AAAwkSFBJzyqBAAAsIGODgAAJjKko0PQAQDARIYEnYCqLCwsVGZmphwOhxwOh1wul7Zv3+57fsuWLZo0aZKSkpIUFRWl6urqUNcLAABC4VzQCWayYfXq1crIyFB8fLyysrK0c+fO8y5fUVGhrKwsxcfH67LLLtPzzz8f2MsMZOHU1FQtX75clZWVqqys1Lhx4zR16lQdOHBAktTY2Khrr71Wy5cvD6gIAAAQ+TZu3Kj58+dr8eLFqqqq0pgxY5STk6Oampp2lz906JAmT56sMWPGqKqqSvn5+Zo3b542b97s9z6jLMuygik6MTFRTz75pGbNmuWb9+mnnyojI0NVVVW66qqrzru+1+uV1+v1Pa6vr9fAgQNV+/e/y+FwBFMa0D2amuyvG8Nocpfh5/LtZfdnY8jPxePxKC09XSdOnJDT6QzJ9pxOZ9Dvs+fqqq2tbbWduLg4xcXFtbvO1VdfrVGjRqmwsNA3b+jQoZo2bZoKCgraLP/II49o69atOnjwoG/enDlz9M477+itt97yr1DLpqamJuvll1+2YmNjrQMHDrR67tChQ5Ykq6qqqtPtLFmyxJLExMTExMTEdJ6ptrbW7lt2K6dOnbIGDBgQkpoSEhLazFuyZEm7+/V6vVZ0dLS1ZcuWVvPnzZtn/ehHP2p3nTFjxljz5s1rNW/Lli1WTEyMdebMGb9eb8BxeP/+/XK5XDp9+rQSEhJUUlKiYcOGBboZn7y8PC1cuND3uKWlRV988YX69u2rqDC4M6rH41FaWlqbRIv/h2PkH45T5zhGneMYdS7cjpFlWWpoaFBKSkpIthcfH69Dhw7pzJkzQW/Lsqw279UddXOOHTum5uZm9e/fv9X8/v3768iRI+2uc+TIkXaXb2pq0rFjx5ScnNxpjQEHnSFDhqi6ulonTpzQ5s2bNXPmTFVUVNgOO+21uC666CJb2+pO5y7QRsc4Rv7hOHWOY9Q5jlHnwukYhWLI6uvi4+MVHx8f0m3665vBqL2w1Nny7c3vSMBBJzY2VoMGDZIkZWdna+/evVq5cqXWrFkT6KYAAIAhkpKSFB0d3aZ7c/To0TZdm3MGDBjQ7vIxMTHq27evX/sN+kPwlmW1upgYAADgm2JjY5WVlaWysrJW88vKyjR69Oh213G5XG2Wf+ONN5Sdna2ePXv6td+AOjr5+fnKyclRWlqaGhoaVFxcrPLycpWWlkqSvvjiC9XU1Ojzzz+XJL3//vuSvkpkAwYMCGRXYSMuLk5LlizpcEwSHCN/cZw6xzHqHMeocxyj7rNw4ULl5uYqOztbLpdLL7zwgmpqajRnzhxJX123e/jwYa1fv17SV5+wWrVqlRYuXKjZs2frrbfeUlFRkV5++WX/d+rXJcv/595777XS09Ot2NhYq1+/ftYNN9xgvfHGG77nX3rppXavyu7oCmwAAGCW5557zpclRo0aZVVUVPiemzlzpnX99de3Wr68vNz6/ve/b8XGxlqXXnqpVVhYGND+gv4eHQAAgG+r8LhRBQAAgA0EHQAAELEIOgAAIGIRdAAAQMQi6HRgx44dmjJlilJSUhQVFaVXXnml1fNRUVHtTk8++aRvGa/XqwcffFBJSUnq3bu3br75Zn322WcX+JV0nVAcox//+Mdtnr/jjjsu8CvpOp0do5MnT2ru3LlKTU1Vr169NHTo0FY3u5M4j/w5RqafR3V1dbr77ruVkpKi73znO7rxxhv14YcftlrG9PPIn2MU6eeRqQg6HWhsbNTIkSO1atWqdp93u92tprVr1yoqKkq33Xabb5n58+erpKRExcXF2rVrl06ePKmf/OQnam5uvlAvo0uF4hhJ0uzZs1stF0nfst3ZMVqwYIFKS0v1xz/+UQcPHtSCBQv04IMP6tVXX/UtY/p55M8xksw9jyzL0rRp0/TJJ5/o1VdfVVVVldLT0zV+/Hg1Njb6ljP5PPL3GEmRfR4ZK9jPw5tAklVSUnLeZaZOnWqNGzfO9/jEiRNWz549reLiYt+8w4cPWz169LBKS0u7qtRuY+cYWZZlXX/99dYvf/nLrivsW6S9YzR8+HDriSeeaDVv1KhR1q9//WvLsjiPLKvzY2RZZp9H77//viXJevfdd33zmpqarMTEROs//uM/LMviPPLnGFmWWeeRSejohEBdXZ1ee+01zZo1yzdv3759Onv2rCZOnOibl5KSohEjRmj37t3dUWa3au8YnbNhwwYlJSVp+PDhevjhh9XQ0NANFXaP6667Tlu3btXhw4dlWZbefPNNffDBB5o0aZIkziOp82N0jqnn0blb8Hz9Bo3R0dGKjY3Vrl27JHEe+XOMzjH1PIpkAd/UE22tW7dOffr00a233uqbd+TIEcXGxuriiy9utez5bkcfydo7RpJ01113KSMjQwMGDNC7776rvLw8vfPOO23ubRKpnnnmGc2ePVupqamKiYlRjx499OKLL+q6666TxHkkdX6MJLPPoyuvvFLp6enKy8vTmjVr1Lt3b61YsUJHjhyR2+2WxHnkzzGSzD6PIhlBJwTWrl2ru+66y69b3lud3I4+UnV0jGbPnu3794gRI3TFFVcoOztbb7/9tkaNGnWhy7zgnnnmGe3Zs0dbt25Venq6duzYoQceeEDJyckaP358h+uZdB75c4xMPo969uypzZs3a9asWUpMTFR0dLTGjx+vnJycTtc15Tzy9xiZfB5FMoaugrRz5069//77uu+++1rNHzBggM6cOaN//vOfreaf73b0kaqjY9SeUaNGqWfPnm0+DRGJTp06pfz8fK1YsUJTpkxRZmam5s6dq+nTp+v3v/+9JM4jf45Re0w6jyQpKytL1dXVOnHihNxut0pLS3X8+HFlZGRI4jySOj9G7THtPIpUBJ0gFRUVKSsrSyNHjmw1PysrSz179mzV8nS73Xr33Xc7vB19pOroGLXnwIEDOnv2rJKTky9AZd3r7NmzOnv2rHr0aP1rGB0drZaWFkmcR/4co/aYdB59ndPpVL9+/fThhx+qsrJSU6dOlcR59HUdHaP2mHoeRRqGrjpw8uRJffTRR77Hhw4dUnV1tRITEzVw4EBJksfj0aZNm/TUU0+1Wd/pdGrWrFl66KGH1LdvXyUmJurhhx/W9773vfMOSYSTYI/Rxx9/rA0bNmjy5MlKSkrSe++9p4ceekjf//73de21116w19GVOjtG119/vRYtWqRevXopPT1dFRUVWr9+vVasWCGJ88ifY8R5NFCbNm1Sv379NHDgQO3fv1+//OUvNW3aNN/Fx5xHnR8jE84jY3XrZ76+xd58801LUptp5syZvmXWrFlj9erVyzpx4kS72zh16pQ1d+5cKzEx0erVq5f1k5/8xKqpqblAr6DrBXuMampqrB/96EdWYmKiFRsba11++eXWvHnzrOPHj1/AV9G1OjtGbrfbuvvuu62UlBQrPj7eGjJkiPXUU09ZLS0tvm2Yfh51dow4jyxr5cqVVmpqqtWzZ09r4MCB1q9//WvL6/W22obp51Fnx8iE88hUUZZlWRciUAEAAFxoXKMDAAAiFkEHAABELIIOAACIWAQdAAAQsQg6AAAgYhF0AABAxCLoAACAiEXQAQAAEYugAwAAIhZBBwAARCyCDgAAiFj/P+YWgEawjU6hAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cations_switch1.residue_contacts.plot();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we'll plot again, but we'll change the `x` and `y` axes so that we now can see switch 1 along `x` and cations (the query) along `y`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = cations_switch1.residue_contacts.plot()\n",
    "ax.set_xlim(*cations_switch1.haystack_residue_range) \n",
    "ax.set_ylim(*cations_switch1.query_residue_range);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here you can see that the most significant contacts here are between residue 36 and the ion listed as residue 167. Let's see just how frequently that contact is made:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.48514851485148514\n"
     ]
    }
   ],
   "source": [
    "print(cations_switch1.residue_contacts.counter[frozenset([36, 167])])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So about half the time. Now, which residue/ion are these? Remember, these indices start at 0, even though the tradition in science (and the PDB) is to count from 1. Furthermore, the PDB residue numbers for the ions skip the section of the protein that has been removed. But we can easily obtain the relevant residues:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "GLU37\n",
      "MG202\n"
     ]
    }
   ],
   "source": [
    "print(topology.residue(36))\n",
    "print(topology.residue(167))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So this is a contact between the Glu37 and the magnesium ion (which is listed as residue 202 in the PDB)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Changing the cutoff\n",
    "\n",
    "Depending on the atoms you use to select contacts, you might choose different cutoff distances. The default cutoff of 0.45 nm is reasonable for heavy atom contacts. However, if you use all atoms (including hydrogens), you'll probably want a smaller cutoff distance. If you use $\\textrm{C}_\\alpha$ distances, you'll want a larger cutoff distance.\n",
    "\n",
    "The cutoff distance in controlled using the `cutoff` parameter to `ContactFrequency`. The performance of Contact Map Explorer largely depends on how many atoms are within the cutoff distance, so making the cutoff distance larger while keeping the same number of atoms will have a significant effect."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 1.44 s, sys: 49.2 ms, total: 1.49 s\n",
      "Wall time: 1.32 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "large_cutoff = ContactFrequency(trajectory=traj[0], cutoff=1.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 7.87 s, sys: 45.2 ms, total: 7.91 s\n",
      "Wall time: 7.91 s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(<Figure size 640x480 with 2 Axes>, <AxesSubplot:>)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%time\n",
    "large_cutoff.residue_contacts.plot();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The larger cutoff leads to a more dense contact matrix. The performance of plotting depends on how dense the contact matrix is -- for tricks to plot dense matrices more quickly, see the documentation on customizing plotting."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Changing the number of ignored neighbors\n",
    "\n",
    "By default, Contact Map Explorer ignore atoms from 2 residues on either side of the given residue (and in the same `chain`). This is easily changed. However, even when you say to ignore no neighbors, you still ignore the residue's interactions with itself.\n",
    "\n",
    "Note: for non-protein contacts, the `chain` is often poorly defined. In this example, the GTP and the Mg are listed sequentially in residue order, and therefore they are considered \"neighbors\" and their contacts are ignored."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 22.8 s, sys: 40 ms, total: 22.9 s\n",
      "Wall time: 5.14 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "ignore_none = ContactFrequency(trajectory=traj, n_neighbors_ignored=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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4f/Ly8sxZMgQlJWV4c0334y5maRbZWVl+P+BAwdi6NChOOWUU/Dss8+GK3969TwtWbIElZWVKCkpCU/z0rnRk8j5cPM5O3bsGK6//nqcOHECCxcujJo3efLk8P/l5eXo378/hgwZgk8++QRnnnlmqpMaV6LXlpvPjfDMM8/gxhtvRIcOHaKmu/H86N2Xgcz77lAsTxWTFRQUICsrKya3vXfv3picu1tNmzYNr732Gt5//3307t077rLFxcUoKyvDtm3bUpS6xHXu3BkDBw7Etm3bwm+VefE87dixA++99x5uvfXWuMt56dyYOR9FRUVobW3FgQMHdJdxk2PHjuG6665DfX096urqoqJCWs4880y0b9/eE+dLvra8dm6ENWvWYOvWrYbfJSD950fvvpyJ3x3S5qnMUHZ2NioqKmJCqXV1dRg2bFiaUmWOoiiYOnUqXn75Zfztb39Dv379DD+zf/9+7Nq1C8XFxSlIYXJaWlrwxRdfoLi4OBz+jjxPra2tWL16tevP09KlS9GrVy9cdtllcZfz0rkxcz4qKirQvn37qGUaGhqwefNm150zkRHatm0b3nvvPfTo0cPwM1u2bMGxY8c8cb7ka8tL5ybSkiVLUFFRgUGDBhkum67zY3RfzrTvDsWRporbCVu+fLnSvn17ZcmSJcrnn3+uTJ8+XencubOyffv2dCctrp///OdKfn6+smrVKqWhoSH899133ymKoiiHDh1SZs6cqXz44YdKfX298v777ytDhw5VTj75ZCUYDKY59bFmzpyprFq1Svn666+VdevWKWPGjFFyc3PD5+HBBx9U8vPzlZdffln57LPPlBtuuEEpLi525b4IbW1tSp8+fZR77703aroXzs2hQ4eUjRs3Khs3blQAKI899piycePG8BtWZs7HlClTlN69eyvvvfee8sknnygXXHCBMmjQIOX48eOu2Zdjx44pl19+udK7d29l06ZNUd+llpYWRVEU5csvv1RqamqUjz/+WKmvr1fefPNN5dRTT1UGDx6c8n0x2h+z15Zbzo3R/ghNTU1Kp06dlEWLFsV83k3nx+i+rCje+u5Q4jyXGVIURXnqqaeUsrIyJTs7WznzzDOjXk93KwCaf0uXLlUURVG+++47ZfTo0UrPnj2V9u3bK3369FEmTJig7Ny5M70J1zFu3DiluLhYad++vVJSUqJcddVVypYtW8LzT5w4oVRXVytFRUVKTk6Oct555ymfffZZGlNs7J133lEAKFu3bo2a7oVz8/7772teXxMmTFAUxdz5OHLkiDJ16lSle/fuSseOHZUxY8akZR/j7Ut9fb3ud+n9999XFEVRdu7cqZx33nlK9+7dlezsbOWUU05R7rzzTmX//v0p3xej/TF7bbnl3Bjtj/D0008rHTt2VA4ePBjzeTedH6P7sqJ467tDiQsoiqI4FHQiIiIicj1P1RkiIiIishszQ0RERORrzAwRERGRrzEzRERERL7GzBARERH5GjNDRERE5GvMDBEREZGvMTNEREREvsbMEBEREfkaM0NERETka8wMERERka/9/4k2rTcCmiDWAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ignore_none.residue_contacts.plot();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Refresher: The default parameters\n",
    "\n",
    "\n",
    "\n",
    "* *Which atoms are involved in the contact?* The default value is non-hydrogen, non-water atoms.\n",
    "* *What is the cutoff distance?* The default value is 0.45 nm.\n",
    "* *How many neighboring residues are ignored?* The default value is to ignore 2 residues on either side (i±2)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}