{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting started\n", "\n", "## Installation\n", "\n", "IsoMut2py can be easily installed with `pip`, Python's own package manager:\n", "\n", "`pip install isomut2py`\n", "\n", "This also installs all python dependencies, *but not samtools*. To install `samtools` on your computer, follow the instructions [here](http://www.htslib.org/download/).\n", "\n", "
\n", "\n", "**Note:** If you only wish to perform postprocessing and plotting steps on a preexisting set of mutations, you can skip the installation of `samtools`.\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic mutation detection on a set of 10 samples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Preparations, downloading an example dataset\n", "\n", "As a first step we import IsoMut2py, which also compiles the C scripts used for mutation detection." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Compiling C scripts...\n", "Done.\n" ] } ], "source": [ "import isomut2py as im2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, we download an example dataset of 10 samples from the DT40 cell line. (The BAM files in this dataset only contain reads that have been aligned to the first chromosome of the reference genome for faster mutation detection.)\n", "\n", "The variable `exampleDataDir` stores the path to the directory where you wish to download the example dataset. Make sure to sets its value appropriately.\n", "\n", "
\n", "\n", "**Note:** Downloading can take a while, if you have the example data already downloaded, skip this step.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "exampleDataDir = 'isomut2py_download_dir/'" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading file from URL \"http://genomics.hu/tools/isomut2py/isomut2py_example_dataset.tar.gz\" to isomut2py_download_dir/isomut2py_example_dataset.tar.gz\n", "File size: 2.1GiB\n", "Downloading might take a while...\n", "Download completed in 0 day(s), 11 hour(s), 38 min(s), 32 sec(s).\n", "----------------------------------------\n", "Extracting downloaded file to isomut2py_download_dir\n", "Extracting completed in 0 day(s), 0 hour(s), 0 min(s), 59 sec(s).\n" ] } ], "source": [ "im2.examples.download_example_data(path=exampleDataDir)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now we load the basic settings for the example dataset into a directory with:\n", "\n", "
\n", "\n", "**Note:** Make sure to set the value of the `exampleResultsDir` to a path where fairly large temporary files can be stored.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "exampleResultsDir='isomut2py_results_dir'" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "param = im2.examples.load_example_mutdet_settings(example_data_path = exampleDataDir,\n", " output_dir = exampleResultsDir)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mutation detection\n", "\n", "Mutation detection can be performed with the commands below." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "File no_ploidy_info does not exist. Using constant default ploidy of 2.\n", "2018-12-05 10:30:57 - Mutation detection with IsoMut2\n", "\n", "\n", "\t2018-12-05 10:30:57 - Running IsoMut2 without local realignment: \n", "\n", "\n", "\t\t2018-12-05 10:30:57 - Preparations for parallelization:\n", "\n", "\t\t\t2018-12-05 10:30:57 - Defining parallel blocks ...\n", "\t\t\t2018-12-05 10:30:57 - Done\n", "\n", "\t\t2018-12-05 10:30:57 - (All output files will be written to isomut2py_results_dir)\n", "\n", "\t\t2018-12-05 10:30:57 - Generating temporary files, total number of blocks to run: 101\n", "\n", "\t\t2018-12-05 10:30:57 - Currently running: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 \n", "\t\t2018-12-05 10:33:00 - Finished this round.\n", "\n", "\t\t2018-12-05 10:33:00 - Finalizing output...\n", "\t\t2018-12-05 10:33:00 - Cleaning up temporary files...\n", "\n", "2018-12-05 10:33:01 - IsoMut2 finished. (0 day(s), 0 hour(s), 2 min(s), 4 sec(s).)\n" ] } ], "source": [ "mutDet = im2.mutationcalling.MutationCaller(**param)\n", "mutDet.run_isomut2_mutdet()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Further optimization\n", "\n", "The results of the mutation detection are stored in files `all_SNVs.isomut2` and `all_indels.isomut2` in `exampleResultsDir`. These are essentially raw, unfiltered results of the mutation detection pipeline that can be refined with the `optimize_results()` command. For this, one has to supply a list of control samples where no unique mutations are expected to be found. (These can be starting clones of a sample group from which other samples are also available or normal samples of tumor-normal sample pairs or the same biological sample sequenced multiple times.) \n", "\n", "In our case, file pairs (`S03.bam`, `S05.bam`) and (`S08.bam`, `S10.bam`) are two independent sequencing results of the same biological sample, thus no unique mutations should be present in any of these.\n", "\n", "Setting these files as control samples and allowing no mutations in these samples filters other mutations as well, based on their score value:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "mutDet.optimize_results(control_samples=['S03.bam', 'S05.bam', 'S08.bam', 'S10.bam'], FPs_per_genome=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interpreting the results, figure generation\n", "\n", "Now the final set of mutations can be further investigated.\n", "\n", "First it is generally a good idea to check the number of (unique) mutations in each investigated sample. Plotting only unique mutations allows us to check that indeed none of these were found in control samples. This can be achieved with the following command:\n", "\n", "
\n", "\n", "**Note:** Calling the magic command `%matplotlib inline` simply ensures that figures are visible in the jupyter notebook environment.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true, "nbsphinx": "hidden" }, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings(\"ignore\")" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAARwCAYAAADpIgeLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzs3Xu8XfOdP/7XiSBykchI4hZEyHEn\n4hZNZKRuRYQmUZO6VU2DoUxRiehFqpQURWmKFBEdrSQo5jutS+s2rkGpxKVaJHQSlaQJiYTk/P7o\nL+fRI4larJXtyPP5eOTh7LXWWZ/3/pz3OtvrrL3WrmtoaGgIAAAA8JG1qHUBAAAA0NwI0wAAAFCQ\nMA0AAAAFCdMAAABQkDANAAAABQnTAAAAUJAwDQAAAAUJ0wAAAFCQMA0AAAAFCdMAAABQkDANAAAA\nBQnTAAAAUJAwDQAAAAUJ0wAAAFCQMA0AAAAFCdMAAABQkDANAAAABQnTAAAAUJAwDQAAAAUJ0wAA\nAFCQMA0AAAAFCdMAAABQkDANACUbPnx4hg0bVusyAIAKCdMAkOTII4/MqFGjllk+adKk9OzZs9C+\nRo4cmdGjR5dV2icya9asfPe7303//v2z7bbbZo899sjRRx+dhx56qHGbI488MvX19bn11lubfO8/\nPvff/OY32WqrrfLGG28sd5whQ4bktNNOq+6JlODRRx9NfX19Zs2aVetSAPgMEKYBoGTt2rXL2muv\nXesykiQnn3xynnnmmXz/+9/Pr3/964wZMyZ77rln5syZ02S7NddcM5dddlkWLVq03P3stddeWWed\ndTJp0qRl1r344ot55plnMnjw4EqeAwB8GgnTAFDA0rdwX3/99enbt2922WWXjBgxIgsWLFhmm6UW\nLFiQ4cOHp2fPntljjz0yZsyYDBs2LMOHD2/cpn///hk7dmyTsT54tnzRokUZPXp09txzz+ywww4Z\nNGhQHnjggRXWOnfu3DzxxBM5/fTT07t372y44YbZfvvt89WvfjUHHnhgk20POOCAvPvuu7nxxhuX\nu6/VV189AwcOzKRJk9LQ0NBk3YQJE9K1a9fsvvvuK6zl5ZdfzvHHH59evXqlZ8+e+dKXvpQXXngh\nSbJkyZJcccUV6devX7bddtsMGDAgd999d+P3Tp8+PfX19Xn22Web7LO+vj7/8z//02SbX//61/nK\nV76SHXbYIQcccEDjGfjp06fnqKOOSpL07t079fX1jfP/+OOP57DDDkvPnj3Tq1evDB48OC+++OIK\nnwsAJMI0ABT2xBNP5KWXXsp1112XSy65JHfddVfGjRu3wu0vuOCCPPTQQ7nsssty3XXXZcqUKXn8\n8ccLjztixIg8/vjjueiii3LHHXfk0EMPzQknnJDnn39+udu3bt06rVu3zr333puFCxd+6L5bt26d\n//iP/8iYMWMyd+7c5W4zePDgvP7663nkkUcaly1atCi/+tWvMmjQoNTV1S33+2bMmJGhQ4emrq4u\n1157bSZNmpShQ4dmyZIlSZJx48Zl7NixOf3003P77bdn7733zsknn5ypU6d+lGlp4pJLLsmRRx6Z\n2267Ldttt12+8Y1v5J133sn666+fyy+/PEly55135sEHH8zIkSPz/vvv58QTT0yvXr1y22235Ze/\n/GWOPvrorLbaaoXHBmDVIkwDQEFt27bNOeeck+7du6dPnz7Zf//98/DDDy9323feeScTJkzIGWec\nkb59+6ZHjx45//zz06JFsZfg1157LXfeeWd+9KMfZZdddknXrl1zxBFHZM8998xNN9203O9p2bJl\nfvCDH+RXv/pVdt5553zpS1/KBRdckN///vfL3f5LX/pSOnTokKuuumq567t3756ddtopEyZMaFx2\nzz33ZO7cufniF7+4wtp//vOfp3Xr1rn00kuz/fbbp1u3bhk4cGC22mqrJMnYsWNz7LHHZsCAAenW\nrVtOOeWU7Lzzzsucqf8ojjnmmPTv3z+bbrppvvGNb2TOnDmZOnVqVltttbRv3z5J0rFjx3Tq1Cnt\n2rXL22+/nblz52avvfbKxhtvnO7du2fAgAHp3r174bEBWLUI0wBQ0Oabb97kzGXnzp3z1ltvLXfb\nadOm5b333mtyE7M2bdqkR48ehcZ87rnn0tDQkAMPPDA9e/Zs/Hffffdl2rRpK/y+/fbbLw888EDG\njBmTvn375qmnnsphhx2WMWPGLLNty5Ytc+qpp+aGG27IjBkzlru/IUOG5K677mo8ez1x4sT07ds3\nXbp0WWENU6ZMyU477ZQ11lhjmXVvv/12Zs6cmV69ejVZvtNOO+Xll19e4T5XpL6+vvHrzp07J8mH\n3nCsQ4cO+eIXv5ivfvWr+drXvpZrr712hTdZA4B/JEwDQP4ecOfNm7fM8rlz56Zt27ZNlrVs2bLJ\n47q6umWuIy5qeft47733Gr9uaGhIXV1dJkyYkFtvvbXx33//93/nvPPO+9B9r7nmmvnc5z6Xk046\nKTfddFMGDx6cH//4x8u92dgXvvCF9OjRI5deeuly97X//vunZcuWuf322/OXv/wlDz30UIYMGfIx\nnvE/t/Rt40vP4v/j/Pzj3Pyjf/zZLP3+pW8nX5Hzzz8/N998c3beeefce++92X///T/0WnQASIRp\nAEiSdOvWLVOmTFkm0E6ZMiXdunX72Pvt2rVrVl999Tz99NONy+bPn5+XXnqpyXYdO3bMm2++2fh4\n4cKF+fOf/9z4eKuttkpDQ0PefPPNbLLJJk3+fdhZ4eXZfPPN8/7776/wzt1nnHFGbr311mVqTP5+\nbfVBBx2UiRMnZtKkSenYsWP+9V//9UPH23rrrfPkk08ud7y2bdumc+fOmTx5cpPlTz75ZONbrTt2\n7JgkTebn41xPvfrqqydZfrjecsst87WvfS033HBDdt1112U+JgwAPqjlP98EAD77hg4dmhtvvDHf\n+973cthhh2WNNdbI/fffnzvvvDNXXnnlx95vmzZtMmjQoPzwhz9Mx44d07lz51xxxRVZvHhxk+12\n3333TJw4Mf3790/Hjh0zZsyYvP/++43ru3XrlgEDBmTEiBE588wzs80222TOnDl57LHH0rVr1+y7\n777LjD179uyccsopGTRoUOrr69OmTZv84Q9/yDXXXJPevXsvc8Z9qV133TV9+/bNjTfeuNwbcQ0e\nPDi/+MUvMn369AwZMmSZM/UfNHTo0Nx000059dRTc/zxx6d9+/Z59tln071792y11Vb56le/mssu\nuyybbrppttlmm/zqV7/KE088kVtuuSVJ0qpVq+y44465+uqrs/HGG2fevHm5+OKL/+ncf9CGG26Y\nurq6/O53v0v//v2z5pprZtasWfnFL36R/v37p0uXLpk2bVpeeOGF/Nu//Vvh/QOwahGmASB/P4M8\nfvz4XHrppTn22GOzcOHCbLbZZrn00kvTr1+/T7TvM888MwsWLMhJJ52UVq1a5YgjjmjyUVpJMmzY\nsLz++us58cQT07p16xx//PGZOXNmk23OP//8jBkzJqNHj86MGTPSvn37bLfddtltt92WO26bNm2y\n4447Zty4cXnttdeyaNGidOnSJQcddFBOOOGED635tNNOy8CBA5cbprfffvv06NEjL7744kf6bOku\n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\nmZk6dWqtS2r27rnnnowbNy7dunXLz3/+83To0KHWJTVrerR85rRcjvly6c/y6dFy6dFy6c/y6dHa\nEKZXQV/72teycOHC/Md//EdGjRqVo446qtYlNXtrrLFGkqRVq1Z5/PHH8/LLL9e4ouZNj5bPnJbL\nMV8u/Vk+PVouPVou/Vk+PVphfc9AAAAgAElEQVQbrpleRc2cOTPTp0/PhhtumC5dutS6nGbv+eef\nz2abbZZp06blv/7rv9KvX7/07du31mU1a3q0fOa0PI758unPcunR8unR8ujPaujRlU+YXgVdfvnl\nee6559KjR4+8+OKL2XrrrfP1r3+91mU1e88880xeffXVbLzxxtlhhx1qXU6zpkfLZ07L55gvj/6s\nhh4tjx4tn/4slx6tDZ8zvQp69NFHM378+MbHX/7yl2tYzWfD2WefndVXXz1bbrllbr311vziF7/I\neeedV+uymi09Wj5zWi7HfLn0Z/n0aLn0aLn0Z/n0aG0I06uQadOmJUk22WST3HHHHdlqq63ywgsv\nZIsttqhxZc3f66+/nmuvvbbx8THHHFO7YpoxPVo+c1oNx3w59Gd19Gg59Gg19Gd59GhtCdOrkCuv\nvLLx64ceeigPPfRQDav5bHj44YeTJB07dsxPf/rTbLXVVnn++eez3nrr1biy5kmPls+clssxXy79\nWT49Wi49Wi79WT49WluumYZP4Mc//vEK15100kkrsRJgZXDM82mnR/k005981gjT5Nxzz83ZZ59d\n6zJghfRo+cwpn2b6k087PcqnnR5dOYRpqIBfYLBqcczzaadH+TTTnzRXwjS59957079//1qXAVm0\naFF++9vfZpNNNslGG22UiRMnplWrVjnkkEOy5ppr1rq8z4xLL700p5xySq3LgEyZMiVbb7113n33\n3dx0003505/+lI022iiHH3541l577VqXB5kzZ05uv/32dOjQIfvuu2+uueaavP322xk6dGi6du1a\n6/Igixcvzt13352nn346c+fOzdprr50ddtghe++9d1q2dHusqgnTq5Cld/v7Rw0NDRk+fHh+/vOf\n16Ci5q+hoSH33XdfWrRokT59+qRFixZJkrvvvjt77713jatrfk488cRsvfXWWbJkSR599NHsvffe\nadu2bR544IFcdtlltS6vWfrXf/3XrL/++mnRokWW/rr/4x//mC222CI33nhjjatrfpb+j0qS/Pa3\nv81LL72Url27Zv/9909dXV2Nq2t+jjrqqIwbNy5nnnlmdtxxx+y+++6ZOnVqbrnlllx99dW1Lq9Z\nGjduXPbaay9BryTHHntsDj300MydOzc33XRTTj755HTo0CGXX355brjhhlqX1+w0NDTkt7/9bZ56\n6qnMnTs36667bvr165ftt9++1qU1W2eccUbq6+vTu3fvtGvXLm+//Xb+93//N88//3x++MMf1rq8\nzzx/rliFDBw4MPvtt98yy6dPn16Daj4bzjjjjGy00UZp2bJlxowZk3PPPTebbbZZxo0bJ0x/DPPm\nzWu8AcmgQYPyla98JUlyxx131LKsZu2ss87Kr3/963zuc5/LwQcfnJYtW+a4447LNddcU+vSmqWT\nTjop48aNy0UXXZS5c+fm85//fJ588sncf//9Of/882tdXrNTV1eXhoaG/PWvf83hhx+eurq6dOvW\nzR94P4Hrr78+jz76aP7617+mb9++2WeffVJfX1/rspqtRYsWZcCAAUmSG2+8Mfvuu2+NK2rezj77\n7GyxxRbZY4898sgjj+Rvf/tb7r///jzyyCP52te+VuvymqXXX389o0ePbrJs6623ztChQ2tU0apF\nmF6F9OjRI2eccUY6duzYZPmpp55ao4qavxkzZjT+1W/IkCEZMWJEvvzlL9e4qubrvffea/z6O9/5\nTuPXS5YsqUU5nwn77rtv9t1339x333355je/mR133DHvv/9+rctq9p566qmMHz8+SbLnnnvmyCOP\nrHFFzdOwYcNyyimnpF27djnyyCPTq1evvPzyy/4Y+QlssMEGueKKK7JgwYLcf//9ufrqq/OnP/0p\nu+++e775zW/WurxmZ/3118/IkSOzZMmS9OjRI9/73vfSvn37rLPOOrUurVl67bXX8v3vfz9J0rt3\n7xx99NG5/vrr85WvfEWY/pg+//nPZ9iwYdl1113Ttm3bvP3223n88cez11571bq0VYK3ea9C3n//\nfddOlOzLX/5yfvrTn6Zt27ZJ/v4X7G9961u5++67M3ny5BpX1/zMnj07HTp0aPJ22ffffz9Tpkzx\nFrCSPPLII3nppZeEv49p5513To8ePfLyyy/nrrvuytprr50lS5Zk8ODBmTRpUq3La5YWLlyYp556\nKm+99VbatWuXbbfddpk/+vLRHXnkkcu8/fj999/PI488kj59+tSoquaroaEhU6dOzXrrrZcOHTrk\nwQcfTENDQ/r06ZPVVlut1uU1O+eee27ee++91NfX57HHHkuPHj1y4oknLrdv+ehmzZqVZ599NvPm\nzUu7du2y3Xbb+T26kgjTqxA3KCjf9OnT0759+7Rr167J8qeffjo77rhjjapqvvRo+cxp9d599928\n8sor2XLLLWtdSrOztD+XXj/Zvn17/fkJPf/883qxRH6Hlu/ZZ5/N9OnT061bt8ZebWhocN+JkrnB\n8MohTK9C3KCgfIsXL85dd92V3//+915kS6BHy2dOy+V/rMt1xhlnpEePHtljjz30Z0n0aLn8Di3X\n0v9vevrppzNv3jz9WQI3GK4tXbsKcYOC8g0fPjz19fU56KCDmrzIDh8+3Ivsx6BHy2dOyzV8+PD0\n6NHDMV8S/Vk+r0vl0qPlWtqfAwYM0J8lcYPh2hKmVyFuUFA+L7Ll0qPlM6flcsyXS3+WT4+WS4+W\nS3+Wzw2Ga0uYXoXsvvvu+cIXvpCXXnop8+bNy80335z6+vocfPDBtS6t2fIiWy49Wj5zWi7HfLn0\nZ/n0aLn0aLn0Z/nOPvvstGrVKkny1ltv5frrr8+SJUsyYsSIGle2anDN9Crk8MMPz89//vO0aNEi\nxx57bAYNGpSOHTvmmmuuydixY2tdXrP03HPPZZ111ml8kb3uuutSX1+fr3/96+nSpUuty2t29Gj5\nzGm5HPPl0p/l06Pl0qPl0p/l+2CPDh48OOuss44eXUla1LoAVp7VV189LVq0yOzZs/Pmm2/mwAMP\nTO/evbNo0aJal9Zsfe9738t6662Xfv36ZdKkSfnKV76Sgw46KGeddVatS2uW9Gj5zGm5HPPl0p/l\n06Pl0qPl0p/l+2CPHnDAAXp0JfI271VI69atM3HixDz99NPZf//9k/z9sycXLlxY48qar+W9yCbJ\nlVdeWePKmic9Wj5zWi7HfLn0Z/n0aLn0aLn0Z/n0aG05M70Kueiii/Luu+9mxx13zLBhw5IkM2fO\nbPya4pb+Arv44ov9AiuBHi2fOS2XY75c+rN8erRcerRc+rN8erS2XDMNn8Dbb7+d2267La1atcrA\ngQPTsmXLvPHGG5k6dWo+//nP17o8oGSOeT7t9CifZvqTzxphGgAAAAryNm8AAAAoSJgGAACAgoRp\nAAAAKEiYBgAAgIKEaQAAAChImAYAAICChGkAAAAoSJgGAACAgoRpAAAAKEiYBgAAgIKEaQAAAChI\nmAYAAICChGkAAAAoSJgGAACAgoRpAAAAKEiYBgAAgIKEaQAAAChImAYAAICChGkAAAAoSJgGAACA\ngoRpAAAAKEiYBgAAgIKEaQAAAChImAYAAICChGkAAAAoSJgGAACAgoRpAAAAKEiYBgAAgIKEaQAA\nAChImAYAAICChGkAqNDw4cMzbNiwWpcBAJRMmAaADzjyyCMzatSoZZZPmjQpPXv2LLSvkSNHZvTo\n0WWV9ol8MNhffvnlqa+vz1lnndVku+nTp6e+vj7PPvts47LHHnssRx99dHbbbbfssMMO2XvvvXPa\naafl7bffXmn1f1wr+nkCwCchTANAhdq1a5e111671mWs0Jprrplbb701f/zjH1e4zR//+Mccd9xx\nqa+vz7hx43LHHXfknHPOSbt27bJo0aKVWC0AfHoI0wDwMS0903v99denb9++2WWXXTJixIgsWLBg\nmW2WWrBgQYYPH56ePXtmjz32yJgxYzJs2LAMHz68cZv+/ftn7NixTcb64NnVRYsWZfTo0dlzzz2z\nww47ZNCgQXnggQcKP4eNN944ffr0yQ9/+MMVbvPggw+mQ4cOOeuss1JfX5+uXbvmc5/7XL773e+m\nY8eOK/y+hoaG/OxnP8u+++6bbbfdNnvuuWcuuuiixvUvvPBCjjnmmGy//fbZddddM3z48MybN69x\n/fLeIn/55ZfnoIMOWmabFf0Mhg8fnsceeyw33nhj6uvrU19fn+nTp+e9997Lueeemz59+mTbbbdN\nv379PnQOAOCDWta6AABozp544ol06tQp1113Xf7yl7/k1FNPzaabbrrC66QvuOCCPPTQQ7nsssvS\npUuX/PjHP87jjz+efffdt9C4I0aMyLRp03LRRRdlvfXWy3333ZcTTjghEyZMyJZbblloX6eddloO\nOeSQPPHEE9l5552XWd+pU6fMmjUrjzzySHbfffePvN+LL744//Vf/5Xhw4dnl112yaxZszJlypQk\nyfz58/PVr34122+/fW6++eb87W9/y7e+9a2cddZZufzyywvV/2E/g5EjR+aVV15Jt27d8o1vfCNJ\n0rFjx1x//fW56667cskll2TDDTfM//3f/+XPf/5zoXEBWLUJ0wDwCbRt2zbnnHNOVltttXTv3j37\n779/Hn744eWG6XfeeScTJkzIeeedl759+yZJzj///PTr16/QmK+99lruvPPO3Hvvvdlggw2SJEcc\ncUT+93//NzfddFO++93vFtpffX19DjnkkIwePTq/+MUvllm///7758EHH8zRRx+df/mXf8n222+f\n3XbbLQMHDlzhmel33nkn1113Xc4666wMHjw4SbLJJps0XnN+xx13ZMGCBbnwwgvTtm3bJMmoUaNy\n1FFH5dVXX80mm2zykev/sJ9Bu3btsvrqq2ettdZKp06dGr/njTfeyKabbpqdd945dXV12WCDDbLT\nTjt95DEBwNu8AeAT2HzzzbPaaqs1Pu7cuXPeeuut5W47bdq0vPfee01uYtamTZv06NGj0JjPPfdc\nGhoacuCBB6Znz56N/+67775MmzbtYz2Pr3/965k6dWp+85vfLLNutdVWy/nnn5/7778/3/zmN7P+\n+utn7Nix+cIXvpCXXnppuft7+eWXs2jRovTu3XuF6+vr6xuDdJL07NkzLVq0+NDrt5enyM9gqUMP\nPTTPP/989ttvv5xzzjn53e9+lyVLlhQaF4BVmzPTAPABbdq0aXLt7lJz585tEv6SpGXLpi+ldXV1\naWho+ETjL28f7733XuPXDQ0Nqaury4QJE5YZv1WrVh9rzPXXXz9HHHFELrroolx11VXL3aZLly45\n5JBDcsghh+TUU0/Nfvvtl7Fjx+YHP/jBxxpzRerq6hr/+8F5eP/995fZ/uP8DLbZZpvcc889efDB\nB/Pwww/nzDPPzJZbbplrr702LVo41wDAP+fVAgA+oFu3bpkyZcoygWzKlCnp1q3bx95v165ds/rq\nq+fpp59uXDZ//vxlzu527Ngxb775ZuPjhQsXNrmed6uttkpDQ0PefPPNbLLJJk3+denS5WPXN2zY\nsMyePTs333zzP922ffv26dSpU+bPn7/c9ZtttlnWWGONPPzww8td371797z44otNPlrrqaeeypIl\nS9K9e/cky85DkkydOvWjPp1Gq6++ehYvXrzM8rZt22b//ffPOeeck6uuuiqPPPJIXn311cL7B2DV\n5Mw0AHzA0KFDc+ONN+Z73/teDjvssKyxxhq5//77c+edd+bKK6/82Ptt06ZNBg0alB/+8Ifp2LFj\nOnfunCuuuGKZoLf77rtn4sSJ6d+/fzp27JgxY8Y0OSPbrVu3DBgwICNGjMiZZ56ZbbbZJnPmzMlj\njz2Wrl27Fr6Z2VLt27fPsGHDcumllzZZftNNN2Xq1KnZZ599svHGG2fhwoW59dZb8+KLL+bf//3f\n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\nAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhI\nmAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACA\nhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAA\nAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgG\nAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISE\naQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABI\nSJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASCiXz+fz\nhS6i0JYuXVroEgAAAKiF+vTps9NxYRoAAAAS8jVvAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkA\nAABISJgGAACAhIRpAAAASEiYBgAAgITqF7oACiefz0c+n4+IiKIiv1fZU+vXr4+//OUvla87dOhQ\nwGr2DtZo+vQ0PT7z6bM+02WNps8aTY/1mQ1rtGYJ0/ugX/ziF7Fw4cJo2rRp5PP5yOVycc899xS6\nrDrtiiuuiPfffz/atm1bOTZjxowCVlS3WaPp09N0+cyny/pMnzWaLms0XdZn+qzRwhCm90FPPfVU\nzJkzp9Bl7FX+9Kc/xb333lvoMvYa1mj69DRdPvPpsj7TZ42myxpNl/WZPmu0MOpNnTp1aqGLoGZ9\n+OGH8Ze//CXq168f69evj/Xr18f+++9f6LLqtE2bNsXLL78cGzdujNLS0igtLfV1pT1gjaZPT9Pl\nM58u6zN91mi6rNF0WZ/ps0YLw5npfdB7770XS5cu9dWaFC1cuDAOPPDA+PTTTyvH+vbtW8CK6jZr\nNH16mi6f+XRZn+mzRtNljabL+kyfNVoYwvQ+aM2aNXHHHXcUuoy9Sv369WPatGmFLmOvYY2mT0/T\n5TOfLuszfdZouqzRdFmf6bNGC0OY3ge1adMm7r777ujSpUvlmN8G7pn99tsvrr322ujcuXPkcrmI\niBgxYkSBq6q7rNH06Wm6fObTZX2mzxpNlzWaLuszfdZoYQjT+6AOHTrEp59+GkuXLq0c82HbMwMH\nDix0CXsVazR9epoun/l0WZ/ps0bTZY2my/pMnzVaGLn89geRAXtky5Yt8fHHH1c+2699+/YFrgjI\nks88tZ01Sm1mfbI3cGZ6HzRv3ry4//77449//GM0b948WrRoEQ8//HChy6rTfvWrX8Wzzz4bf/zj\nH+Pggw+Ohg0bxl133VXosuosazR9epoun/l0WZ/ps0bTZY2my/pMnzVaGEWFLoCaN3v27Lj33nuj\nS5cu8dvf/rbKtRXsnoULF8Y999wTnTp1it/85jfRsmXLQpdUp1mj6dPTdPnMp8v6TJ81mi5rNF3W\nZ/qs0cIQpvdBjRs3jnr16kX9+vVjzZo1sWLFikKXVOc1bNgwIiIaNWoUL774Yrz99tsFrqhus0bT\np6fp8plPl/WZPms0XdZouqzP9FmjhVFv6tSpUwtdBDWrTZs20a5du+jYsWPcdNNNcfrpp8fhhx9e\n6LLqtMMPPzxatGgRPXv2jEceeSS+/e1vR8eOHQtdVp1ljaZPT9PlM58u6zN91mi6rNF0WZ/ps0YL\nww3I9lFr1qyJ0tLSOPDAA6O4uLjQ5ewVli1bFu+++24cfPDB0atXr0KXU+dZo+nT03T5zKfL+kyf\nNZouazRd1mf6rNGaJ0zvg2655ZZ4/fXXo0uXLvHmm2/G4YcfHhdccEGhy6rTLr/88mjQoEF069Yt\n3njjjdi8eXNce+21hS6rzrJG06en6fKZT5f1mT5rNF3WaLqsz/RZo4Xhbt77oD/84Q9x7733Vr7+\n9re/XcBq9g6rV6+OO++8s/L1mDFjClfMXsAaTZ+epstnPl3WZ/qs0XRZo+myPtNnjRaGML0PWbVq\nVUREdOzYMebPnx/du3ePlStXRufOnQtcWd21ePHiiIho1apV/PKXv4zu3bvHG2+8Ee3atStwZXWT\nNZo+PU2Xz3y6rM/0WaPpskbTZX2mzxotLGF6H/KLX/yi8ufnnnsunnvuuQJWs3dYunRpRER06tQp\ntm7dGsuWLYuIiIMOOqiQZdVZ1mj69DRdPvPpsj7TZ42myxpNl/WZPmu0sFwzDQAAAAl5zjQxffr0\nQpew19HTdOln+vQ0XfqZLv1Mn56mSz/TpZ/p09Oa4cw0AAAAJFRv6tSpUwtdBIW1aNGi6NSpU6HL\nqJPy+Xw89dRT8d5770WHDh0il8tFRMTjjz8ehxxySIGrq3u2bNkSjz/+eGzbti0aNWoU//qv/1p5\nE4369d3iIS0/+clP4rjjjit0GXXS+vXrY7/99ouIiCeeeCJ+//vfx5o1a+Kwww6r/PxTfcuXL482\nbdrEpk2b4t57742HH3443nrrrejcuXNln0nmnnvuiVatWsX+++9f6FL2Cp988kk8+OCD8d5778WX\nv/zl+OUvfxlPPPFEdOzYUY93Qz6fjyeeeCIefvjh+N3vfhf/9V//FY0bN/ZM5D1QXl4ev//972PO\nnDnxH//xH/HSSy/FZ599Fl/+8pejqMiXkLPmzPQ+ZPvd/v5aPp+PiRMnxm9+85sCVFT3XXzxxXHQ\nQQdF/fr14/nnn4/p06fHIYccEt/5znfinnvuKXR5dc55550Xhx9+eFRUVMQf/vCH+PrXvx7NmjWL\nZ555Jn76058Wurw66R/+4R/igAMOiKKiotj+1/1///d/R+fOneO+++4rcHV1z/bP9o9//ONYv359\nnHDCCfHyyy9HWVlZzJgxo9Dl1Tnb+zlhwoTo3bt3HHfccbFixYqYO3du3HbbbYUur0464YQTolu3\nbvHRRx/F8ccfHyUlJdG1a9dCl1VnjR07NoYNGxbr16+P+++/P84///xo2bJl3HLLLTF79uxCl1fn\nTJ48OTp37hxdu3aNJUuWxOeffx4tW7aMhg0bxj/90z8Vurw66ZJLLomuXbtG3759o3nz5vHZZ5/F\n888/H2+88Ub8y7/8S6HL2+s51bMPGTp0aAwePHiH8dLS0gJUs3coKyur/Itq5MiRMWnSJM/12wOf\nfvppjB8/PiIihg8fHmeffXZERMyfP7+QZdVpl112Wfzud7+Lr33tazFkyJCoX79+nHPOOXH77bcX\nurQ67ZVXXql8nmf//v1j9OjRBa6obsrlcpHP5+Ojjz6KM888M3K5XHTq1MkvePdA+/bt4+c//3ls\n3Lgxnn766bjtttvij3/8Yxx33HFx6aWXFrq8OmfLli1x2mmnRUTEfffdFyeeeGKBK6rb3nvvvbjm\nmmsiIqJv377x3e9+N+6+++44++yzhendtHr16rjhhhuqjB1++OFx1llnFaiifYswvQ/p0qVLXHLJ\nJdGqVasq4xdeeGGBKqr7Kioq4rPPPotmzZpFcXFxzJo1K6644op4/fXXC11anbR169bKn6+88srK\nnysqKgpRzl7hxBNPjBNPPDGeeuqpuPTSS6N3796xbdu2QpdVZy1fvjzOOuusePvtt2P9+vXRokWL\nqKioiM8//7zQpdVJ48aNix/84AfRvHnzGD16dPTp0yfefvvt+PrXv17o0uq8xo0bx+DBg2Pw4MGx\nbdu2WLJkSaFLqpMOOOCAmDx5clRUVESXLl3i6quvjv333z++9KUvFbq0Oqlr165x5ZVXRteuXeOF\nF16IY489NiLCv0t74IQTTohx48bFMcccE82aNYvPPvssXnzxxRg4cGChS9sn+Jr3PmTbtm2uO01Z\naWlp7L///tG8efMq46+++mr07t27QFXVXevWrYuWLVtWufZ027ZtsXz58ujZs2cBK9t7LFmyJN56\n6y1nUlO0adOmeOedd6Jbt26FLqVO2rx5c7zyyivx8ccfR/PmzaNHjx47/NKX6nvjjTesxRTl8/lY\nsWJFtGvXLlq2bBnPPvts5PP56NevX9SrV6/Q5dVJ//mf/xmlpaXRqVOnyrWaz+fdd2IPrF27Nv7z\nP/8zPv3002jevHkceeSR/h6tIZLVPiSXy8Xvfve7ePXVVyvPqPTq1Su+/vWvC9m76YADDojf//73\n8dprr+3QU5Jr0aJFLFiwYKdrlN1TXl4ejz/++A499cu13fNF/bRGd095eXk8+eST8corr8T69etj\n//33jw0bNvh3aQ907tzZv/UpqqioiFWrVsWjjz5apZ/ORe2e8vLyWL16dbz22mvx7LPPWp8padWq\nVQwYMKDK2KJFi2LQoEEFqmjf4cz0PsQNCtKnp+nSz/TpabouueSS6NKlS3z1q1/VzxToZ/p85tOl\nn+nSz/S5wXBh+RXQPsQNCtKnp+nSz/Tpabr0M136mT49TZd+pks/0+cGw4UlTO9D3KAgfXqaLv1M\nn56mSz/TpZ/p09N06We69DN9bjBcWPWmTp06tdBFUDP222+/OOmkkyLif77+8dBDD0WHDh3iO9/5\nTjRr1qzA1dVNepou/UyfnqZLP9Oln+nT03TpZ7r0M33dunWLNm3aRIMGDeLjjz+OWbNmxXPPPRf/\n/M//rKc1Ic8+4x//8R/z5eXl+Xw+nz/77LPz8+fPzz///PP5sWPHFriyuktP06Wf6dPTdOlnuvQz\nfXqaLv1Ml36m7297+thjj+lpDSoqdJin5jRo0CCKiopi3bp18eGHH8Ypp5wSffv2jS1bthS6tDpL\nT9Oln+nT03TpZ7r0M316mi79TJd+pu9ve/qNb3xDT2uQa6b3IU2aNIk5c+bEq6++WvkVm23btsXm\nzZsLXFndpafp0s/06Wm69DNd+pk+PU2XfqZLP9Onp4Xl0Vj7kM8++yzmzZsXjRo1iqFDh0b9+vXj\n/fffjxUrVsQJJ5xQ6PLqJD1Nl36mT0/TpZ/p0s/06Wm69DNd+pk+PS0sYRoAAAAScs00AAAAJCRM\nAwAAQELCNAAAACQkTAMAAEBCwjQAAAAkJEwDAABAQsI0AAAAJCRMAwAAQELCNAAAACQkTAMAAEBC\nwjQAAAAkJEwDAABAQsI0AAAAJCRMAwAAQELCNAAAACQkTAMAAEBCwjQAAAAkJEwDAABAQsI0AAAA\nJCRMAwAAQELCNAAAACQkTAMAAEBCwjQAAAAkJEwDAABAQsI0AAAAJCRMAwAAQELCNAAAACQkTAMA\nAEBCwjQAAAAkJEwDAABAQsI0AAAAJCRMA0AGJk6cGOPGjSt0GQBARoRpAPhfo0ePjmnTpu0w/vDD\nD8dRRx2V6FiTJ0+OG264Ia3S9sjEiROja9eu0bVr1zjiiCOib9++MXr06Ljvvvti69atVfYdPXp0\n5b5//d9FF11UuU/Xrl3jt7/9bU2/jT02aNCg+PWvf13oMgDYS9QvdAEAsDdq3rx5oUuo4qtf/WrM\nnDkzKioqYu3atbFkyZL46U9/GvPmzYu77rormjRpUrnv6aefHj/84Q+r/PlGjRrVdMkAUKs5Mw0A\nCW3/Cvfdd98dxx9/fHzlK1+JSZMmxcaNG3fYZ7uNGzfGxIkT46ijjoqvfvWrMWvWrBg3blxMnDix\ncp+dnTn927PlW7ZsiRtuuCH69+8fvXr1iuHDh8czzzzzf9bcsGHDaNOmTRQXF0f37t3j7LPPjtmz\nZ8fy5cvj9ttvr7Jv48aNo02bNlX+25NfDmzZsiVuvPHGGDhwYPTo0SNOOOGEuOeeeyq3v/jiizFy\n5Mg48sgj46tf/Wpce+21sWXLli/sQcSO/R09enRMnTo1brzxxjj22GOjb9++cf3110dFRUXl9tWr\nV8fMmTMrz7ZHRHz66adxySWXRN++fePII4+ME044Ie66667dfq8A7DucmQaA3fDSSy9FmzZt4q67\n7ooPPvggLrzwwvjyl7/8hddJX3/99fHcc8/FT3/60yguLo6f/exn8eKLL8aJJ56YaN5JkybFqlWr\n4sc//nG0a9cunnrqqTj33HPjoYceim7duiU6VpcuXaJfv36xYMGCuOCCCxL92SQmTpwYL730Ukye\nPDkOP/zwWL16dfz5z3+OiIiysrL43ve+F0OGDInrrrsu3nvvvbj88sujqKioyi8aquPRRx+N73zn\nO3H//ffHihUr4uKLL44jjjgiTj311Ljlllti6NChMXz48PjWt75V+WduvvnmePPNN+OXv/xl/N3f\n/V2UlpbG2rVrU33/AOydhGkA2A3NmjWLq666KurVqxeHHnponHTSSbF48eKdhunPP/88Hnroobj2\n2mvj+OOPj4iIGTNmxIABAxLN+d5778Vjjz0WixYtivbt20dExKhRo+L555+P+++/P6ZOnZr4fRx2\n2GGxePHiKmMPPPBAzJ07t8rYxRdfHN/+9rcTH/+dd96Jxx57LG677bbo379/RER06NChcvtvfvOb\naNu2bUydOjWKiori0EMPjR/96EcxZcqU+MEPfhCNGzdO9F5+8IMfREREp06d4sEHH4zFixfHqaee\nGi1btox69epF06ZNo02bNpV/ZvXq1XH44YdHz549IyLiwAMPTPweAdg3CdMAsBsOO+ywqFevXuXr\ntm3bxmuvvbbTfVetWhVbt26tchOzpk2bRpcuXRLN+frrr0c+n49TTjmlyviWLVviuOOOS3Ss7fL5\nfORyuSpjJ598cowfP77KWKtWrXbr+MuXL4+ioqIvrO/tt9+OXr16RVHR/7/yrE+fPrF169Z49913\nE51t3/7V7e3atm0bH3/88S7/zLe+9a34wQ9+EK+//np87Wtfi4EDB8YxxxxT7TkB2HcJ0wDwv5o2\nbRqffvrpDuPr16+PZs2aVRmrX7/qP6G5XC7y+fwezb+zY/z13ba3B9+HHnpoh/l39wZhb7/9dpUz\nxRH/c/O0jh077tbx0rQ95P9ffdlud/6fDBgwIBYtWhRPP/10LFmyJMaNGxcnnXRSzJgxYw+rB2Bv\n5wZkAPC/OnXqFMuXL98hgC1fvjw6deq028ft0KFDNGjQIF599dXKsQ0bNsRbb71VZb9WrVrFhx9+\nWPl68+bN8ac//anydffu3SOfz8eHH34YHTt2rPJfcXFx4rrefPPNeOaZZ2Lw4MG78a6qp3v37lFR\nURFLlizZ6fZDDz00XnvttcobhUVELF26NBo0aBAHH3xwROzYl4iIlStXJq6lQYMGUV5evsN4q1at\n4pvf/GZcd911cc0118TcuXOr3AANAHbGmWkA+F9nnXVW3HfffXH11VfHGWecEQ0bNoynn346Hnvs\nsfjFL36x28dt2rRpDB8+PP7lX/4lWrVqFW3bto2f//znOwS74447LubMmRODBg2KVq1axaxZs2Lb\ntm2V2zt16hSnnXZaTJo0KSZMmBBHHHFEfPLJJ/HCCy9Ehw4ddnkzsy1btsSHH34YFRUVsW7duli8\neHHMmjUrjjjiiBg7dmyVfTdu3LhDeG3QoEG0bNmy8vXq1atjxYoVVfbp0KHDDmfwO3XqFCeffHJc\nfvnllTcgKysri9LS0vjmN78ZZ511Vtx9990xderU+O53v1t5c7VRo0ZVXi993HHHxbXXXhsLFy6M\nTp06xb/927/FBx98kPj65gMPPDCWLl0aZWVl0aBBg2jVqlX85Cc/iSOOOCIOO+ywKC8vjwULFkSH\nDh2iYcOGiY4NwL5HmAaA/9WhQ4e499574yc/+UmMHTs2Nm/eHIccckj85Cc/SXyzsL81YcKE2Lhx\nY4wfPz4aNWoUo0aNqvIorYiIcePGxerVq+O8886LJk2axPe///1Ys2ZNlX1mzJgRs2bNihtuuCHK\nyspi//33jyOPPDKOPfbYXc7//PPPR79+/aJevXrRvHnz6NKlS5x//vmVvzT4aw8//HA8/PDDVcb+\n/u//Pv71X/+18vXMmTN3mGPWrFkxcODAHcZnzpwZN998c0yfPj3WrVsX7dq1izFjxkRERHFxcdx2\n220xc+bMGDp0aLRo0SJOPfXUKs+5Hj58eKxcuTIuu+yyiIj49re/HSUlJbFu3bpdvue/dcEFF8SU\nKVPi61//emzZsiVWrlwZDRs2jJtuuilKS0tjv/32i169esWsWbMSHReAfVMuv6cXeAEAu2XcuHHx\npS99Ka677rpClwIAJOSaaQAAAEhImAYAAICEfM0bAAAAEnJmGgAAABISpgEAACAhYRoAAAASEqYB\nAAAgIWEaAAAAEhKmAQAAICFhGgAAABISpgEAACAhYRoAAAASEqYBAAAgIWEaAAAAEhKmAQAAICFh\nGgAAABISpgEAACAhYRoAAAASEqYBAAAgIWEaAAAAEqpf6AJqg6VLlxa6BAAAAGqhPn367HRcmP5f\nX9Sgvd3SpUv32feeFT1Nl36mT0/TpZ/p0s/06Wm69DNd+pk+PU3Xrk68+po3AAAAJCRMAwAAQELC\nNAAAACQkTAMAAEBCwjQAAAAkJEwDAABAQsI0AAAAJLTXP2d6w4YNcdVVV0WDBg3imGOOiSFDhhS6\nJAAAAOq4GjkzvXnz5hgxYkQMGTIkTjnllPjpT3+628eaNGlS9O3bN0499dQdtj399NMxePDgKCkp\niV/96lcREbFgwYIYPHhwTJ8+PRYtWrTb8wIAAMB2NXJmumHDhnH33XdH06ZNY+vWrXHWWWdF//79\no3fv3pX7fPzxx7HffvtFs2bNKsfefffd6NixY5VjnX766TFq1KiYMGFClfHy8vKYNm1a3HnnnVFc\nXBwjRoyIQYMGRVlZWXTt2jUiIurVq5fhu6SuqSiviE/e/iT14254d0Osbb421WO2PLRlFNVzVQYA\nANQWNRKmc7lcNG3aNCIitm3bFtu2bYtcLldlnxdeeCHuv//+uO2226Jhw4bxwAMPxIIFC+L222+v\nst9XvvKVKC0t3WGOZcuWRceOHaNDhw4REXHKKafEwoULo7i4OP785z9H9+7do6KiIqN3SF30yduf\nxB1d78jk2H+IP6R6vLErx0arLq1SPSYAALD7auya6fLy8jj99NPjvffei7POOit69epVZfvJJ58c\npaWlceGFF8ZJJ50Uc+bMiTvuqH7QKSsri3bt2lW+Li4ujmXLlsXo0aPj6quvjieffDIGDhyY2vsB\nAABg31VjYbpevXoxb968WL9+ffzzP/9zvPnmm9GlS5cq+3zve9+Liy66KKZOnRqPP/545dnsPdGk\nSZOYMWPGHh8HAAAAtqvxizBbtGgRxx57bDzzzDM7bHvppZfirbfeipKSkvjZz36W6Ljbv869XVlZ\nWRQXF+9xvQAAAPC3aiRMr127NtavXx8REZs2bYrnn38+DjnkkCr7LF++PK644or4xS9+ETNmzIhP\nPvkkbrrppmrPceSRR8Y777wTq1atii1btsRjjz0WgwYNSvV9AAAAQEQNfc17zZo1MXHixCgvL498\nPh8nnXTSDtcvb9y4MW6++eY4+OCDIyLi+uuvj7lz5+5wrB/+8IfxwgsvxLp166J///5x/vnnx8iR\nI6N+/foxZcqUOOecc6K8vDyGDx8enTt3rom3BwAAwD6mRsJ0t27d4pFHHtnlPn369KnyukGDBnHG\nGWfssN+NN974hccYMGBADBgwYPeKBAAAgGry4FoAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAA\nAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgG\nAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISE\naQAAAEhImAYAp18eaAAAH5dJREFUAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhI\nmAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACA\nhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAA\nAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgG\nAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISE\naQAAAEhImAYAAICEhGkAAABISJgGAACAhIRpAAAASEiYBgAAgISEaQAAAEhImAYAAICEhGkAAABI\nqFph+te//vVOx++8885UiwEAAIC6oFph+uc///lOx2+99dZUiwEAAIC6oP6uNi5evDgiIioqKmLJ\nkiWRz+crt5WWlkbTpk2zrQ4AAABqoV2G6cmTJ0dExObNm+Oyyy6rHM/lctGmTZu4/PLLs60OAAAA\naqFdhulFixZFRMSll14aM2fOrJGCAAAAoLbbZZje7q+DdEVFRZVtRUVuCA4AAMC+pVph+vXXX49p\n06bFypUrY/PmzRERkc/nI5fLxYoVKzItEAAAAGqbaoXpiRMnxsCBA+Paa6+NRo0aZV0TAAAA1GrV\nCtOrV6+Oiy66KHK5XNb1pG7Dhg1x1VVXRYMGDeKYY46JIUOGFLokAAAA6rhqXfBcUlISzz777G5P\n8sEHH8To0aPjG9/4Rpxyyilx99137/axJk2aFH379o1TTz11h21PP/10DB48OEpKSuJXv/pVREQs\nWLAgBg8eHNOnT6+8oRoAAADsiWqdmd68eXOMHz8++vTpE61bt66yrTp3+a5Xr15MnDgxjjjiiPjs\ns89i+PDh8bWvfS0OO+ywyn0+/vjj2G+//aJZs2aVY++++2507NixyrFOP/30GDVqVEyYMKHKeHl5\neUybNi3uvPPOKC4ujhEjRsSgQYOirKwsunbtWlkHAAAA7KlqhenDDjusSvBNqm3bttG2bduIiGjW\nrFkccsghUVZWVuWYL7zwQtx///1x2223RcOGDeOBBx6IBQsWxO23317lWF/5yleitLR0hzmWLVsW\nHTt2jA4dOkRExCmnnBILFy6M4uLi+POf/xzdu3ff4U7kAAAAsDuqFabHjx+f2oSlpaWxYsWK6NWr\nV5Xxk08+OUpLS+PCCy+Mk046KebMmRN33HFHtY9bVlYW7dq1q3xdXFwcy5Yti9GjR8fVV18dTz75\nZAwcODC19wEAAMC+q1phevHixV+4rW/fvtWe7PPPP48LLrggLrvssipf597ue9/7Xlx00UUxderU\nePzxx6Np06bVPvYXadKkScyYMWOPjwMAAADbVStMT548ucrrdevWxdatW6O4uDgWLlxYrYm2bt0a\nF1xwQZx22mlx4okn7nSfl156Kd56660oKSmJn/3sZzFlypRqHTsiKr/OvV1ZWVkUFxdX+88DAABA\ndVUrTP/tXbDLy8vj1ltvrfaZ43w+H5MnT45DDjkkzj777J3us3z58rjiiivil7/8ZRx00EFx8cUX\nx0033RQXXXRRteY48sgj45133olVq1ZFcXFxPPbYY/HjH/+4Wn8WAAAAkqjWo7H+Vr169eL73//+\nDjcH+yJLly6NefPmxZIlS2Lo0KExdOjQeOqpp6rss3Hjxrj55pvj4IMPjqKiorj++uvjwAMP3OFY\nP/zhD+PMM8+MP/3pT9G/f/948MEHIyKifv36MWXKlDjnnHPiG9/4Rpx88snRuXPn3Xl7AAAAsEvV\nOjO9M88991zkcrlq7Xv00UfHypUrd7lPnz59qrxu0KBBnHHGGTvsd+ONN37hMQYMGBADBgyoVk0A\nAACwu6oVpgcMGFAlOG/cuDG2bNkSV155ZWaFAQAAQG1VrTB9ww03VHnduHHj6NSp007vyA0AAAB7\nu2qF6WOOOSYiIioqKuKjjz6K1q1bR1HRbl1uDQAAAHVetRLxZ599Fpdeemn07Nkz+vfvHz179owJ\nEybEp59+mnV9AAAAUOtUK0xPnz49Nm7cGI8++mgsW7YsHn300di4cWNMnz496/oAAACg1qnW17yf\neeaZePzxx6Nx48YREdGpU6eYMWNGlJSUZFocAAAA1EbVOjO93377xdq1a6uMrVu3Lho2bJhJUQAA\n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\n+pg6dWrcdttt8fjjj8f48ePf9c9ramo6GWMWQrn+2Q9tO5T3CO/ahuc2RO/9vfMeIzfl2tGTSaZp\nyTOtcs3z0LZDsebyNSflZ6+JtD/3/LnnR+9av5dIQ57pyfTUKOwy/b/07t07Zs6cmfm/GzNmzEmY\n5r2vqampbP/sr1a9mvx/Lk6WD5/94ehf3z/vMXJRzh09WWSaljzTKuc8/V4qhnLu6Mkgz/RkmtY7\nvTBR2Ptz3ryd+027du2KmpqaHCcCAACgXBR2mT7nnHPixRdfjB07dsTRo0djwYIFcdFFF+U9FgAA\nAGWgELd5f+tb34onn3wy9u7dGxdeeGFcf/31ccUVV8QPfvCDuPbaa6OtrS0uv/zyqKury3tUAAAA\nykAhlumf/exnb3t83LhxMW7cuFM8DQAAAOWusLd5AwAAQF4s0wAAAJCRZRoAAAAyskwDAABARpZp\nAAAAyMgyDQAAABlVlEqlUt5D5K2pqSnvEQAAAHgPGjNmzNset0wDAABARm7zBgAAgIws0wAAAJCR\nZRoAAAAyskwDAABARpZpAAAAyMgyDQAAABlZpgEAACAjyzQAAABkVJn3AOSnVCpFqVSKiIguXbyu\ncqJaWlritdde6/h+yJAhOU7TOehoejJNxzmfnn6mpaPp6Wg6+nly6OipZZkuQ3feeWcsWbIk3ve+\n90WpVIqKioqYPXt23mMV2s033xwvvfRSfOADH+g4NnPmzBwnKjYdTU+maTnn09LP9HQ0LR1NSz/T\n09F8WKbL0PLly2Pu3Ll5j9Gp/Otf/4o5c+bkPUanoaPpyTQt53xa+pmejqalo2npZ3o6mo+ujY2N\njXkPwan18ssvx2uvvRaVlZXR0tISLS0t0a9fv7zHKrTDhw/H008/Ha+//no0NzdHc3Oz25VOgI6m\nJ9O0nPNp6Wd6OpqWjqaln+npaD5cmS5D27dvj6amJrfWJLRkyZI4/fTTY//+/R3HGhoacpyo2HQ0\nPZmm5ZxPSz/T09G0dDQt/UxPR/NhmS5Du3fvjl//+td5j9GpVFZWxq233pr3GJ2GjqYn07Sc82np\nZ3o6mpaOpqWf6eloPizTZWjAgAFx3333RX19fccxrwaemB49esTtt98edXV1UVFRERERn/vc53Ke\nqrh0ND2ZpuWcT0s/09PRtHQ0Lf1MT0fzYZkuQ0OGDIn9+/dHU1NTxzEn24kZP3583iN0KjqankzT\ncs6npZ/p6WhaOpqWfqano/moKL35QWTACTl69Gjs2bOn47P9TjvttJwnAk4m5zzvdTrKe5l+0hm4\nMl2GHn300XjooYdi69atUVVVFX379o158+blPVah3XPPPbFixYrYunVrnHHGGdG9e/f47W9/m/dY\nhaWj6ck0Led8WvqZno6mpaNp6Wd6OpqPLnkPwKl3//33x5w5c6K+vj7+8pe/HPPeCo7PkiVLYvbs\n2TF06NB48MEHo7q6Ou+RCk1H05NpWs75tPQzPR1NS0fT0s/0dDQfluky1KtXr+jatWtUVlbG7t27\nY9OmTXmPVHjdu3ePiIiePXvGU089FVu2bMl5omLT0fRkmpZzPi39TE9H09LRtPQzPR3NR9fGxsbG\nvIfg1BowYEAMHDgwamtr4+c//3lcdtllMXLkyLzHKrSRI0dG375949xzz40//vGPcdVVV0VtbW3e\nYxWWjqYn07Sc82npZ3o6mpaOpqWf6eloPjyArEzt3r07mpub4/TTT4+ampq8x+kU1q9fH9u2bYsz\nzjgjRo0alfc4haej6ck0Led8WvqZno6mpaNp6Wd6OnrqWabL0B133BEbNmyI+vr6+Oc//xkjR46M\nr3/963mPVWjf//73o1u3bjF8+PDYvHlzHDlyJG6//fa8xyosHU1Ppmk559PSz/R0NC0dTUs/09PR\nfHiadxlas2ZNzJkzp+P7q666KsdpOoedO3fGb37zm47vv/SlL+U3TCego+nJNC3nfFr6mZ6OpqWj\naelnejqaD8t0GdmxY0dERNTW1sb8+fNjxIgR8Y9//CPq6upynqy4/va3v0VERP/+/ePuu++OESNG\nxObNm2PgwIE5T1ZMOpqeTNNyzqeln+npaFo6mpZ+pqej+bJMl5E777yz4+uVK1fGypUrc5ymc2hq\naoqIiKFDh8Ybb7wR69evj4iIwYMH5zlWYeloejJNyzmfln6mp6Np6Wha+pmejubLe6YBAAAgI58z\nTcyYMSPvETodmaYlz/RkmpY805JnejJNS55pyTM9mZ4arkwDAABARl0bGxsb8x6CfC1dujSGDh2a\n9xiFVCqVYvny5bF9+/YYMmRIVFRURETE4sWL46yzzsp5uuI5evRoLF68OFpbW6Nnz57xu9/9ruMh\nGpWVHvGQyi9+8YsYO3Zs3mMUUktLS/To0SMiIpYtWxaLFi2K3bt3x4c+9KGO8593b+PGjTFgwIA4\n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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = mutDet.plot_mutation_counts(unique_only=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given that the investigation was confined to the first chromosome, very meaningful conclusions should not be drawn from this example. The number of indels is extremely low, but in the case of SNVs it is apparent that control samples lack unique mutations, while other samples do not.\n", "\n", "\n", "Further plotting options and additional tools for interpreting the results are discussed in [Further analysis, visualization](postprocessing.ipynb).\n", "\n", "An already existing set of mutation caller results can also be analysed with isomut2py. On how to work with external files, see [Importing external mutations](external_mutations.ipynb).\n", "\n", "On how to perform ploidy estimation and use the results for fine-tuning mutation detection, see [Advanced ploidy estimation](PE_advanced.ipynb)." ] } ], "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.5.3" } }, "nbformat": 4, "nbformat_minor": 2 }