{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Predictions for IFN T cell responses in healthy individuals infected with Mtb in a South African cohort. \n",
    "\n",
    "The authors used eleven representative Mtb antigens and a large panel of previously defined Mtb epitopes. 50– 75% of the total response in a cohort of 63 individuals. As expected, responses were highly heterogeneous, with responses to a total of 125 epitopes detected\n",
    "\n",
    "Reference:\n",
    "\n",
    "Lindestam Arlehamn, C.S. et al., 2016. A Quantitative Analysis of Complexity of Human Pathogen-Specific CD4 T Cell Responses in Healthy M. tuberculosis Infected South Africans. PLOS Pathogens, 12(7), p.e1005760. Available at: http://dx.plos.org/10.1371/journal.ppat.1005760."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os, math\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "pd.set_option('display.width', 120)\n",
    "pd.set_option('max_colwidth', 90)\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import epitopepredict as ep\n",
    "from epitopepredict import sequtils, analysis, base, tepitope, plotting, utilities\n",
    "from IPython.display import display, HTML\n",
    "import seaborn as sns\n",
    "from importlib import reload\n",
    "sns.set_style(\"ticks\", {'axes.facecolor': 'white', 'axes.grid': False,\n",
    "                        'legend.frameon':True, 'legend.fontsize':12})\n",
    "sns.set_context(\"notebook\", font_scale=1.4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## get exp dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "75"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#sette mtb epitopes\n",
    "sette = pd.read_csv('sette_SA_MTB_epitopes.csv')\n",
    "sette.name.unique()\n",
    "len(sette)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "proteins = sorted(sette.name.unique())\n",
    "mtb = sequtils.genbank_to_dataframe(base.mtb_genome,cds=True)\n",
    "mtb = mtb[mtb.locus_tag.isin(sette.name)]\n",
    "\n",
    "df = pd.merge(sette, mtb[['locus_tag','translation']],left_on='name',right_on='locus_tag')\n",
    "df['start'] = df.apply( lambda x: x.translation.find(x.sequence), 1 )\n",
    "df['end'] = df.start+df.sequence.str.len()\n",
    "#for i,r in df[df.start==-1].iterrows():\n",
    "#    print (r.locus_tag, r.sequence, r.translation)\n",
    "df=df.drop('translation',1)\n",
    "df=df[df.start>=0]\n",
    "prots = df.name.unique()\n",
    "exp = df\n",
    "print (df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "donoralleles = pd.read_csv('sa_mtb_donor_alleles.csv')\n",
    "donoralleles = donoralleles.set_index('Donor ID')\n",
    "donoralleles = donoralleles.apply(lambda x: 'HLA-'+x)\n",
    "#print donoralleles\n",
    "\n",
    "x = donoralleles.apply(lambda x : x.value_counts())\n",
    "x = x.sum(1).sort_values(ascending=False)\n",
    "x = x[x>=2]\n",
    "drballeles = x[x.index.str.contains('DRB')]\n",
    "drballeles = list(drballeles.index)\n",
    "#print drballeles\n",
    "dqalleles = x[x.index.str.contains('DQ')]\n",
    "dqalleles = list(dqalleles.index)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## run predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "predictions done for 29 sequences in 27 alleles\n",
      "results saved to /home/damien/gitprojects/epitopepredict/examples/mtbsa_tepitope\n",
      "took 447.051 seconds\n",
      "predictions done for 29 sequences in 27 alleles\n",
      "results saved to /home/damien/gitprojects/epitopepredict/examples/mtbsa_netmhciipan\n"
     ]
    }
   ],
   "source": [
    "Pt=ep.get_predictor('tepitope')\n",
    "Pt.predict_sequences(mtb, alleles=drballeles,path='mtbsa_tepitope', length=15, overwrite=False, threads=10)\n",
    "Pt.load(path='mtbsa_tepitope')\n",
    "Pn=ep.get_predictor('netmhciipan')\n",
    "Pn.predict_sequences(mtb, alleles=drballeles,path='mtbsa_netmhciipan', length=15, overwrite=False, threads=10)\n",
    "Pn.load(path='mtbsa_netmhciipan')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9299.0\n",
      "9299\n",
      "27\n",
      "['HLA-DRB3*0202' 'HLA-DRB4*0101' 'HLA-DRB3*0101' 'HLA-DRB4*0103'\n",
      " 'HLA-DRB1*0401' 'HLA-DRB1*0301' 'HLA-DRB5*0101' 'HLA-DRB1*0701'\n",
      " 'HLA-DRB3*0301' 'HLA-DRB1*1301' 'HLA-DRB1*1503' 'HLA-DRB1*0302'\n",
      " 'HLA-DRB1*1101' 'HLA-DRB1*1201' 'HLA-DRB1*0101' 'HLA-DRB1*0404'\n",
      " 'HLA-DRB1*0405' 'HLA-DRB1*1501' 'HLA-DRB1*1502' 'HLA-DRB1*1202'\n",
      " 'HLA-DRB1*1303' 'HLA-DRB1*1404' 'HLA-DRB1*1302' 'HLA-DRB1*0102'\n",
      " 'HLA-DRB5*0102' 'HLA-DRB1*1114' 'HLA-DRB1*1102']\n"
     ]
    }
   ],
   "source": [
    "print (len(Pn.data)/27)\n",
    "print (Pn.data.allele.value_counts()[0])\n",
    "print (len(Pn.data.allele.unique()))\n",
    "print (Pn.data.allele.unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "print (proteins)\n",
    "ax = plotting.plot_tracks([Pn,Pt],name='Rv1196',\n",
    "                     n=5, cutoff=10, kind='tracks',                   \n",
    "                     legend=True, cutoff_method='rank',            \n",
    "                     figsize=(14,10))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## overlap of top ranking binders"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAARMAAACvCAYAAADe1joCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAoo0lEQVR4nO2deXxU1fn/3zOTmck2kxCykIUkbBMCJGxhiQRQdllk+QIWFKwLVgulIv4ErdZafWlrrWKp1hUpUipSFovKKouAQBBS1iBLCAlJSCAhe2aSmbm/P8aMhISsd5aQ83698grcuXPOc3PvfOac53nOcxSSJEkIBAJBC1G62gCBQHBnIMREIBDIghATgUAgC0JMBAKBLAgxEQgEsiDERCAQyIIQE4FAIAtCTAQCgSwIMREIBLIgxEQgEMiCEBOBQCALQkwEAoEsCDERCASyIMREIBDIghATgUAgC0JMBAKBLAgxEQgEsiDERCAQyIIQE4FAIAserjZAIHA0FquFYlMxpZWlmK1mLJIFi9VS52+lQomP2gdfja/9R61Su/oSWgVCTAR3FMWmYq6VXeN6+XUKKgooMhVRYipBovl10zUqTQ1xCfQOJFwXjk6rk9Hy1o9CVKcXtGaMZiOXblwivTCdvLI8TBaT0/rWa/WE68IJ14cTrgtH66F1Wt/uiBATQaujWkDSbqSRXZLdolGHXChQ0N67PRH6CCL0EYTpwlxtktMRYnInIUlgsdh+JAm0WlAoXG2VLLijgNSHTqMjNiiWmPYxeKm9XG2OUxBi0hqwWqGoCAoK4MYN2+/CQqiq+lk8LBbbebfi6QleXuDtDTqd7UevB39/CAhwe7EpNBZyLOcYFwsuur2A1IVSoSTaP5q44DhCfENcbY5DEWLijpSUQHo65OXZxKOwsG6haClaLYSGQlgYhIdDu3by99FMioxFHM052mpFpC46+Hagd0hvovyjXG2KQxBi4i4UFNgE5NIlyM93jQ1eXjZhCQuDqCjbaMbJFJuKOZp9lAsFF+4YEbkVf09/EiMS6ejX0dWmyIoQE1dy7ZpNPC5dsk1j3Aml0iYoPXvaxMXBFJuKOZZzjPP55+9YEbmVzu06c1fHu/BWO1+0HYEQE2djtUJaGpw4Adevu9qaxuHvD7GxEBMDGo2sTVslKyk5KaRcTcEqOWAq5+aolWoGhA+gZ1BPFG7uv2oIISbOwmKB1FSbiJSWutqa5uHhAV26QK9e0L59i5srNhWz69Iu8sryZDCudRPoHcjQyKEE+QS52pRmI8TE0VitNhFJSYHycldbIw8KhW2UMnCgLVrUDM5eP8v3md9jtpplNq71okBBbFAsA8MHolHJOwJ0BkJMHEl6Onz/fesdiTSERgMJCdCjh83H0giMZiN70/dyueiyg41rvei1esZ2GUs7L/eJrjUGISaOwGSCAwfgwgVXW+Ic2rWDu+6yhZfrIaMog73pe6kwVzjJsNaLRqVhZKeRrSriI8REbtLTYf/+O2dK0xQ6dYLERPD1rfVSclYy/7v6P+fb1IpRoCCxYyK9gnu52pRGIcRELtraaOR2aLVw9922sDK2aM13l7/jXP4519rViokNjGVI5BCUCvcuPyTERA4yMuC779rmaOR2xMdjTujHjkvfklmc6WprWj3hunBGdR7l1iuThZi0lJMn4eBBV1vhdlg9lFw2+LLPqxQjbS9/xBH4af24t9u96LV6V5tSJ0JMWsKhQ7a8EUENLGoleR09qFRUYvbwIMVXQQFVrjbrjkCv1TM5ZrJbrkQWYtIcrFbYs0f4R+rAqlKQG62mkkr7MUmp4JROQ7bCeYWL7mSCvIOYFDMJD6V7FUp0b4+OO1JVBVu2CCGpAwm4HqmtISQACqtEr5JKwiT3ne+3Jq6VX2Nn2k63W34gxKQplJfD5s2QleVqS9ySG5FeVCiNdb4mBEVeMooy2Hd5n6vNqIEQk8ZSWQlffdV6Fuc5meIwb0rU9SejCUGRlx/zf+SH7B9cbYYdISaNwWqFHTtsRYoEtSgP9OSGV+PC4kJQ5OVYzjFSr6W62gxAiEnjOHBATG1uQ5W3mut+TXOsKqwSPUuq0IudVmRhf8Z+sopd/3wKMWmIkydtq34FtZAUkN9B0axiRkqrlf5lCtRS667h4Q5ISOxJ30OlpbLhkx2IEJP6yMiw5ZII6qQo3BuTovkPsKaqioRKMd2Rg7KqMvZn7HepDUJMbkdBAXz7rW3LCEEtTHoNxdqWLx/QVxjpZbkzyha6mgsFF0i7keay/oWY1IXZDNu323JKBLWwKhXkB8lXqTW8pJwIqXlFlgQ12Z+xH6O57vC8oxFiUhfJyVBc7Gor3JaicC+qZE6P715ahUY8ji3GaDZy6Iprpubi7t3K1atw+rSrrXBbqrw8KNHIvzpaZbEQVyX8J3JwLv8cOSU5Tu9XiMnNWCywd6/wk9RDYYjaYRtRBJZVEEzrq33qjuzL2Of0dHshJjdz4oT77V/jRpj8tJSrHFtysUe5eCjloNBYyPn8807tU9y3akpLbRXkBbflRnvHj9i0lZXEiuiOLBzPPY4ziwIIManm0CFbFEdQJ2WBXi3KKWkK4WUVeKNySl93MoXGQqfuAiDEBGx7+6a5Lj7fGij2szitL4VVIqZK+E7kwJlFvIWYgC1lXnBbjP61a5Q4mqByoxidyEBeWR7ZJdlO6UuISXm5KHTUAMXtnL9+RiFJxJhFqFgOjl897pR+hJicPm0rMSCoE7Onx20LHjmaoHKjSGSTgcziTPLL8x3eT9u+U2YznDnjaivcmtJA1/kuFFYr3SwizV4Ojuc6fnTStsXk3Dnb5lmCOpGAUq1r/z4hRtcuq79TuHTjksM3iW+7YiJJwvHaACY/LRacF8WpC3WVWWTFyoBFsnCl+IpD+2i7YpKTI7JdG6BC7x7RlAizqMgmBxlFGQ5tv+2KSYZj/7B3AuUa95hiBFSYUIjlUi1GiImjEGJSL5W+asy4R0awymIhVBSgbjHlVeVcK7vmsPbbppiUlopK8w1Q4ad2tQk1CDe3zUdVbhyZXt8275AYlTRIhda1jtdb8TO5x5SrtXO5UIiJvAgxqRdJAZVOWtTXWFQWCzpJOGJbSn5FPmWVZQ5pu+2JicUC2c5Zq9BaqfLVNGv7CkcThHtNvVorjgoRtz0xyckRpQYawOTjHiHhWwkQt00WCo2FDmm37YlJvuPXKLR23HUrG99KoSZyUGRyTH5V2xMTkajWIJUe7uV8rUZbJSrYy0GRUYiJPIgtLOpFAqqcXLukKQQIv0mLKTYVO6ScY9sTEzEyqReLRumGrtef8bK2vUdWbiyShdLKUtnbbVt3xmKBMseExe4ULJ7uHX71cmela0U4wm/i3k+O3Dh4imO2WlmdksK6kyfJKioi0MeHkV278pu77sJXY1v5+utNm/j24sVa731rwgQmdO8OQFZxMW/s3UtyZiZWSaJfeDhLhg8nul07h9oPYFE37/vlm/0n2Lj7GFfziwhup2fisN5MHt4XpdJWpe2l9zdx8ETt637ukQnck9C90f14Ss6v+lbNiV0nOLrlKMV5xegCdfQZ1Ye+4/qiUNS2afM7m1F5qBg/f/xt27NarKx5aQ0qDxWz/jDLkabXoshYRIQ+QtY225aYOHiK89a+faw6dozHBw5kQEQEaQUF/O377/lfdjb/njULpULB2WvXmNazJ/fHx9d4b9RPQlFRVcXD69ZhkSReHDECrYcHf/v+e+Z88QWb587F38vLoddgUTf9w/r1/hO8s2YHk+/uy13xXTh5IYv3/7Obyioz948ZCEDalWuMGdyTCUNrXnd4UNMEUmuxuuSpTdmWwq5Vuxg0eRCRPSPJPp/Nnn/twVRhInFaov08ySqxZ/Uezh0+R+yQ2HrbPLjhILlpuYQZwhxtfi3EyKSllJQ4rOmKqipWHTvGIwkJLBwyBIDEqCjaeXmx6OuvOZyZSc/gYLKKixkSFUWfsLofoOQrV7hcWMjK6dNJjIoCoFNAAPd++ik7LlxgRlycw64BwNKMFJOt35+kV5dw5s8cAUDf7lFcySvgyz0p3D9mIKXlRnILiukfG0Vsp5Z9cDQW55fYlKwSyf9NJnZILEkzkwCI7BlJ4dVCUral2MXkWsY1dq3cxdW0q3ho6v9o5VzI4chXR/Dx93G4/XXhiCzYtuUzqZJ3s+2bKTYamREXxziDocbxzgEBAOSVlpJ6zbZiMzY4+LbtmH5KqPPR/pzs4e9pK11YWOHY3fQALM34eqmsNOPtWbOAkd7Hi5IyW+3Yi1ds190l4vbX3VjUFheErRUw/bnpdiGpRqlSYjH/bM+Wf2zBarUy+4+z8dbffiOxKlMVW97bQsKEBNqFOn7qWhcWSf6/Y9samTjwQQzR6Xhp1Khax3f+VPneEBjI4cxMlAoFq1JS2Hn+PEVGI/GhoSwZPpzeoaEADI2OpnNAAH/57jteGzMGT7Wa13bvxlutZnS3bg6zv5rmuCSmjujHsjU72Hn4DInxXUi9lMOOQ6cZOagHABev5KFUKNi0J4UDx89TUmake3Qo86YNJ7ZTqMxXID8KhYL2Ee0BkCQJY5mR80fOc2b/GfqN62c/794n7yUoMqjB9vb+ay8eWg8SpyXyn9f/4zC768MR+xC3LTFxchX6lOxsPjxyhHs6dyY2OJh/HjuGVZJQAG9PnMiNigo+SE5m7hdfsHbWLLoHB+OlVvPa2LE8sXEjoz75BACNSsV7U6Y4xQHbHEYO7MGpC1m88c8t9mP9Y6Ps056LV65h/Smv4XePTKSorILPtyXz7LIvWPb/ZjVpxKJw8abyV85e4YtXvgAgODqYhPEJ9tcaIySXjl/i1N5TPPDKA6g8XLdswWKV/4u1bU1znCgmhzMzeWz9eiL0el4fNw6AxwYM4J8zZvCHUaMY2LEjYw0GVk6fjpdazXuHDtnfN/eLL4gJCuL9KVP4aNo0hnXqxG++/JLDmZkOt7s5H9WX3t/EdynneGzKUN58aibzZ47gfEYuf/zwv1itEjNHD+CN385g4axRxBs6MrSvgT8vnI6nVs2/thxqUl8KF2fB+If4M/PFmYz/9XgqKypZ/cJqyooa53+oKK1g2wfbSJya2CjhcSRiZNJS6gjhOYINp07x+5076da+PR9Nm0a7nyIwXdu3p2v79jXO1Xt60i8sjLM/+VM+OHyYIB8fPpo2Da2H7fYkRUfzi3//m9d27+bLuXMdbH3TPqynL2bxw5l0Fv5iFBOH9QYg3tCR0EA/XnhvIwdPXGBIn25Ehda8bl9vT3p0DiPtSlMrfymabKOc6AJ06AJ0AHTo2oEVT6/g5O6TDJ4yuMH37vxkJ7oAHf0n9Mda7Uj+6VKsFisKpaLOMLMjcEQ/bUtMlI4fiL1z4ADvHTpEUnQ0f5s0CR/Nz47J/6amEuTjQ2JkZI33mMxmu+BkFRfTMyTELiQASoWC/mFhrEpJcbj9Cpr2kOUV2HJ3enapGaWJ62rLYbick4+x0kyAnw99Y2ped2WVGT/fpoW6XSEjpnITF49dJNwQjl+wn/14uw7t0HhpKMlvXJTw3OFzALzz0Du1Xnt7ztvMfGEmHXt0lMfoBlAp5J9iCTGRkQ+Tk3nv0CGm9ezJK2PG4HFLf58dO0ZpZSWbH3rI/lpuSQnHsrOZ07cvYIv+nLp6FZPZbBcUSZJIyckhws8Ph9PET2vHDrZo1ckLWXQK/3nofjrNVjMmNNCPDbuPUV5RyYcvPIRKZbvu64UlnE7LZsrdfZtmnpO+uW9GoVCw7YNtxI2IY9TDPzvZs85lUVlRSXBU43w+D7z6QK1jOz7egSRJjJk3hoDQANlsbgilQv7PQtsSEw/HXW76jRu8c+AAnQMCmBkfz6mrV2u8Hunvz4LERH61cSMLvvyS2X36UGg08u7Bg+i1Wh4dMACAXw8ezOzPP2fehg081K8fHkol60+dIiU7m7cnTnSY/dWorE37sHbtGEJS3258tHEvFaZKukeHcjnnOp99fZAuEUEk9TXg46XlxX9s5OUPv2TSsD4UlxlZ/c1BfL20zBg9oEn9WZRKcPJePhovDQkTEjiy+QiePp5E9owkPyufgxsOEhwdTM9hPRvVTofOHeps22qx1vmaI1Ep5R+ZKCRHLB90Vy5cgF27HNL0R8nJvLlv321ff3X0aGbEx7MvPZ13Dx7k3PXreCiVJEVF8cywYYTp9fZzj+fk8M6BA6RkZ6NWqYgJDGR+YiKDb5keOYLiMG9ueJU36T1VZgtrthxiZ/IZCorKCGqn467eXXlwfKI9/+SHM+ms/uYg6dnXUSmV9O8RxWNThhEcoG+g9ZqUeXqy39P5ex9LVon/7fwfx3cepyi3CE9fT7oN7MaQGUPQetcuAPPRwo8IjwmvN50eYO0ra7FarE5Pp49pH8Pw6OGyttm2xCQvDzZtcrUVbk1ZkCfX9a7ZqLwxFPh4cUTt+OS9O52B4QPp06GPrG22rdCwvmnfgm0RVZV7f7cY29YT6zD8tPL739rWrfH0BK2b1iR0E1Qm96yyVo3RdYuG7yj8PIWYtBwxOqkXdxeTcrFPqCzotfJ/DoSYCGqgtEp4uHGQr0ghikq3FF+NLx5K+e9x2xMTZ+RqtHI0VvcUE4tKRamb7H/cmnGEvwTaopj4+7vaArdHY3LPx6JUq2n4JEGDOMJfAm1RTMLDXW2B26OpcE+/SaF77g3W6hAjE7nw8oLAQFdb4dZoSxxXRKol5CvdU+RaGyG+IQ5pt+2JCYATMklbM0qzFbWb7U8jKRXku9lm6q0Rb7U3wT4tr3hXF21TTDo6Z2Vma0Zrdi8nbLlGi/Orv955RPo57ou0bYpJcLAtgU1wW7xL3CufI1cjstXkQIiJ3CgUECHvniF3Gp43jCjd5fFQwGWlydVWtHpUCpXse+XcjJs8LS5ATHXqRSGBl8U9lh4Ue3pSKSY5LSZMF+aQZLVq2q6YREWB2r2cjO6Gl5vspJojbpMsRPlHObT9tismGg3ExLjaCrfGq8DY5DKOciMplVwRUxxZcKS/BNqymADExTmtyHRrRGmR8LK41lFd6KXF7OKK9HcCQd5B+Gp8HdpH2xYTnQ6io11thVujK3Str+KCWqzFkYP4kPiGT2ohbVtMwDY6EdwWz0KTyxLYSjy1FOCe2bitCb1WT+d2nR3ejxCTDh1seSeC26Irc00C2yX3CCa1euJD4p2yH48QE4B4xw8BWzM+eUZUOHeVXZlWS45COF5bipeHFzHtnRNoEGIC0KmTqHNSD0qrhK/JucOEC03bm0twG3oF93LIthZ1IcQEbBGdu+5ytRVujf6q80YnxV6eXEWMSlqKWqmmZ3Dj9vSRAyEm1XTsKCI79aA0W/Erc3xxIkmp5IRGOF3lIDYoFo3KeQWlhJjcTGKiQ3f9a+345lY4PLKT4etJmULULWkpHkoPp4SDb0aIyc3odJCQ4Gor3BaFBP4OLHdm1Gr4UdG03QQFddM/tD/eam+n9inE5Fbi4kSouB688414Sg5wxirglCdIIiG5xQR4BRAX4vz8KSEmt6JQwN13g0oUHL0d7XKtsq/ZyfXxFpXUZGJY1DCUCud/tIWY1IW/v81/IqgTTVkV/uXyxW7LPbUcV4npjRz0DOrpsLKMDSHE5Hb06AG9ernaCrdFn1OOp9TyRYBmDw+OeFaJ6Y0M+Hv6MyhikMv6F2JSH4mJoohSPbTPqmpRNTZJqeC4rxKjKHzUYpQKJfdE3+PQ4kcN2uCynlsDCgWMHAkBAa62xC3xMFkIKG5+HsMFnSfXEX4SOejboS9BPkEutUGISUNoNDB2rG2/HUEtfK4Z8TU3/W+T6+tNmqLCARa1PaL8ougX2s/VZggxaRQ6HYwZIyI8tyEgowJPa+P9J9d8vfmfh3C4ykGwTzAjO490yqrghhBi0lhCQmxTHiEotVBIEJRZiZqGpzzXfL05JoREFvy0fozrOs6lfpKbEWLSFKKjYcIE0IpCG7eiNFsJzrLWuxhQCIl8eKu9Gd9tPJ4e7rP/kxCTptKhA9x3H/g6tp5ma8TDaCY4T1VnQpsQEvlQK9WM6zoOnVbnalNqIMSkObRrB5MniyhPHWhKKgnO19QQlCydEBK5UCqUjO4ymkDvQFebUguFJEmi9HdzqayEbdsgJ8fVlrgdRj8tucFmzurUXFYYXW3OHYECBfd0uoeuAV1dbUqdiJFJS9BoYPx4MBhcbYnb4anwwifmbnLFBlqyoFFpuLfbvW4rJCBGJvKRng779kGFyJ2ga1cYNgw8PCgyFvHN+W8oqSxxtVWtFr1Wz7iu4/D39He1KfUixEROjEY4cAAuXnS1Ja5Bo4HBg6F79xqHy6vK+eb8NxRUFLjIsNZLqG8oo7uMdquoze0QYuIILl2yjVKMbcRXoFDYtlodOBA8637oKy2VHMg4wPmC8042rvUS0z6GoVFDXVJOoDkIMXEURiPs3w9paa62xLGEhMCQIRDYuOhC2o009l3eh8kiCkbfDgUKBkUMcnrZxZYixMTR5OTAkSNw9aqrLZEXb28YNAi6dWvyW8sqy9iTvoeskiwHGNa68dX4MjRyKB39Wt9qdSEmzuLKFfjhB8jLc7UlLUOrtdV66dMH1C0L1ZzMPUlyVjIWSRSQViqU9AruRUJYgtukxzcVISbO5upVOH4cLl92tSVNIzjYJiJdusi6PqmgooBdl3a1aedsiE8IQ6OGEuDVupMghZi4isJCOHvW5qwtcdOwqYeHLczbo0ejfSLNwWK1cCrvFMdzj2M0txGnNaBVaRkUMYjugd0bPrkVIMTEHbh+3SYqly7ZRMaVqFQ2p2p0tC0ZT+O8TZyqLFWcvnaaE7kn7nhRMbQ3MDhicKsI+TYWISbuRmGhTVTS0yE/H6wOLmmoVNqmMGFhtp+QEJeXWaiyVHEq7xQnck/cUVEfBQq6BHQhPiTeLdfWtBQhJu6M1QpFRVBQADdu2H4XFNimRc25bWq1rdCTXm+rwB8WZlsF7aa7GFZaKjmVd4qTuSdbtah4KD3oHtiduOA4t1vpKydCTFojZjMUF9sWGlosdf9Iki3y4uVl+/H2vm1CmbtTaankQsEF0m6kkVOSg0TreGQDvALoEdSDrgFdnbrnr6sQYiJoVVRUVXCp8JLbCotOoyNCH0FMYIzL9q9xFUJMBK0WdxAWrUpLmC6McH04EfoI9Fq9021wF4SYCO4ITGYT18qvca3smv13WVWZ7P1oVVrae7cnQh9BuC6cQO9Atyjm7A4IMRHcsVRaKikyFlFoLKTIVESJqQSLZMFitWCRLJitZqyStcZvpUKJr8a3xo+P2sf+b7VKFGi5HUJMBAKBLLSOtc0CgcDtcamYmEwmVqxYIXu7S5cuJSYmhtTUVNna3LBhAzExMaxcudJ+bMSIESQkJMjWh0DQmnFpttKDDz7IpUuXeOSRR1xpRqOIjY1lwYIF9OnTx35s7ty5VFaKvXIFAnCxmOTn57uy+yYRGxtLbGxsjWO//OUvXWOMQOCGCJ+JQCCQhUaJSbUP4saNG/zxj38kKSmJuLg4Jk+ezJdfflnjXEmSWLt2LdOmTaN3794kJCQwb948jh8/bj/nypUrxMTEkJWVRUlJCTExMcyZMweA5cuXExMTw8WLF3nzzTcZNmwYvXv3ZsaMGRw5cgSANWvWMHbsWHr37s2kSZPYunVrnXaXlJTw6quvkpSURHx8PFOnTuWbb76pdZ7FYmHlypVMnjyZPn36MGzYMJ5++mnS09Pt5zTGZ1J9zt69e3n//fcZPnw4ffr04f/+7//q7LeqqorPPvuM+++/n/79+9OrVy+GDx/O888/T25ubo1zR4wYwaxZs7h48SJPPvkkCQkJ9O3bl4cffpgTJ07c5s4JmsqJEyfYv3+/w/upfs537txpP2axWFi9ejXl5a1zw7ImTXMeffRRCgoKGDt2LJWVlWzevJlnn30WnU7HiBEjAHj++efZsGEDXbp0YebMmZhMJrZu3coDDzzAsmXLGDVqFHq9ngULFvDPf/4Tk8nE448/Tnh4eI2+Fi9eTEFBAePGjSM/P5+vv/6axx9/nMmTJ7N582bGjx+PSqVi06ZNLFq0iMjISHr06FGjjaeeegqtVsv48eMpKytj8+bNLFq0CK1Wy8iRIwGb+M2fP5/du3fTuXNnpk+fTnFxMd988w0HDhxg3bp1REZGNumP+s4773D+/HkmTpyIRqNh+/btLFq0iLy8vBpTo8WLF7Nt2zb69u3LzJkzqaqq4tChQ6xfv56jR4/y9ddf43HTIry8vDxmz55NeHg4M2bMIDMzkx07dpCSksKOHTsICgpqkp2CmuzZs4cnn3ySJUuWkJSU5NC+Bg4cyIIFC+jUqZP92OLFi9myZQv33XefQ/t2GFIjWLJkiWQwGKSpU6dKpaWl9uN79uyRDAaD9Nhjj0mSJElbt26VDAaD9Nvf/laqrKy0n5eTkyMNGTJEGjhwYI3333PPPVL//v1r9PW3v/1NMhgM0vDhw6WCggL78RdffFEyGAxSr169pLS0NPvx9evXSwaDQXrjjTcatHfHjh2SwWCQnnjiCfuxjRs3SgaDQVq4cKFkMplqnbtkyZIa/Xz66ae3tb/6nO7du0s//PCD/Xh2drY0ZMgQKT4+Xrp69aokSZKUkpIiGQwG6amnnqpx/RaLRfrFL34hGQwG6ejRozX6MhgM0u9//3vJarXaj//5z3+WDAaD9OGHH0qCllHXPXYmDz74oGQwGKSioiKX9N9SmuQzmTt3Lj4+Pvb/JyUloVKpyMjIAGDdunWAbXSivqk+aIcOHZg7dy6FhYV8++23jepr6tSptGvXzv7//v37AzBy5Mgaat67d28AsrJqFye+1d7hw4ejVCq5cuWK/djmzZvtNmtuKgQ0atQo5s+fT2JiYqPsvZnx48fb7QUIDQ3lkUcewWg02oe1HTp04E9/+hNPPfVUjfcqlUoGDBgAQFFRUa22f/WrX9VI3x4+fDgAmZmZTbZTIJCTJk1zoqOja/xfpVLh5eVFVVUVAKdOnUKtVrN27dpa7632P6SmpjZqGHdrX9Wi0LFjzardWq0WoM4Q7a1tqNVqfHx8KCv7ec1GamoqYWFhhISE1Hr/woULG7SzLgYNGlTrWHy8bduCs2fPAjYxmTp1KmazmTNnzpCenk5GRgapqakcPHgQsM2hb0aj0RAWFlbjmE5nq49RfQ8EzWPp0qVs3LgRgNdff53XX3+dVatWMWjQIFJTU3n33Xc5cuQI5eXlREdHM336dObMmYNS+fP38Zw5c0hLS2P9+vW88sorHDx4EI1GQ2JiIk899RRRUVH2c5cvX87f//533n33XUaNGkVMTIz9tQEDBhAeHs6uXbsA27O9YsUK/vvf/5KRkYGPjw/9+vXj17/+NXFxcfb3HT58mLlz5/KHP/wBpVLJJ598wtWrV4mMjGT27NnMnj271nU39toaQ5PEpPqDezM3f0uWlJRgNpv5+9//fts26vq2rYubRxQ3o2lCGcG67K3Lns6dOze6zcZQlzAF/lRDteSmeq/r1q1j+fLldmerTqcjLi4Og8FgdzbfTH1/f0msimgRo0aNori4mG+//ZakpCT69OlDeHg4+/fv58knn8TDw4MxY8YQGBjIgQMHeO2110hJSWHZsmU12jGZTMyZMwdJkrj//vu5fPkyW7Zs4eDBg3z++ee1vuCqWbBgARs3biQrK4t58+bZnxeTycTDDz/M0aNHMRgMzJo1i+vXr7Nz50727dtn90PezLp160hNTWXs2LEMGzaMXbt28fLLL3Pp0iV+97vf2c9r6rU1hKx5Jt7e3nh7e7N37145m3Uo3t7elJaW1vlaeXk53t7eTW6zoo79houLiwHsU7etW7fywgsvYDAYePHFF+nRo4fdCf3Xv/61TjEROI6bxWTo0KH88pe/xGg0MnPmTHx8fFi3bp19VPzMM8+wdOlSNm3axMiRI5k0aZK9nZKSEiIjI1m9erX92Vm3bh0vvPACb7zxBu+9916d/f/mN78hOTmZrKwsHn/8cfR6WymDjz/+mKNHjzJt2jReeeUVu0P+9OnTzJ49m+eee47Bgwfj6+trb+v06dP89a9/ZeLEiYBthP3AAw/w2WefMWXKFHr27InRaOTZZ59t0rU1hKx5Jt27dyc3N5e8OvaG+f7773nrrbfcLoxpMBjIycmp0+bZs2eTlJRUa7rREHVd47Fjx4CffTzVvprly5czevToGtGsiz/tVSxGG65l165d5Ofn88gjj9SYXisUChYvXgzY0gFu5emnn67xJTRjxgwMBgN79+6tMTJtDBs3bsTLy4vf/e53NSJ7PXv2ZPbs2RQXF7N9+/Ya7+nbt69dSAB79FSSJL766qsWXVt9yDoymTp1KsnJybz88su8/fbb9ilJQUEBL730EhkZGdx7773289Vqtcvn+vfddx8//PADb7zxBn/605/sN2zv3r2kpqYyceJEVE0ssPzFF18wdepUuv20211mZiaffPIJ/v7+9pB09ZQlOzu7xtB327Zt7N69GxB+EFdz8uRJAM6cOcPy5ctrve7p6Vlr/ZdCoWDgwIG1zo2Li+PcuXOcP3+efv36Nar/0tJSMjMz6devX42RRzX9+/dnxYoVdj9cNfX57H788cdmX1tDyC4me/bsYdu2bUyaNImkpCSsVivbt2/n+vXrPP744zVS0kNDQ0lPT2fRokX069fPnrjmTKZPn8727dvZvHkz586dY/DgweTn57N161aCg4NZunRps9qdOXMm48aNw8PDg+3bt1NaWsqbb75pd5hOnjyZr7/+mgULFjBhwgT0ej2nT5/m0KFDBAQEkJ+fT6Grt71o41SPIrZs2XLbc251/Ldr165Ov151DlBTRibVgYLqZ+ZWgoNtZSGNRmOdx2/mVp9dc66tIWQVE4VCwbJly1izZg0bNmzgP//5D1qtls6dO/P8888zYcKEGuc/88wzPP/88+zYsYPU1FSXiIlKpeIf//gHn376KZs2bWLNmjX4+Pgwbtw4nn766WYlgj3xxBOUlJSwfv16ysvLiY+PZ/78+faQL9hCusuWLeOjjz7iq6++QqvVEhERwdKlSxkxYgSjR4/mu+++q9MDL3AO1VOVlStXNjpF4NYPdjW3+swaQ3UQ4tZs6Fvb9Pf3b9CGavGo7r8519Ygrk1zubNwddKToGVs2LChxv2rvp8ffPBBrXNLS0ulV199VVq7dq39WHXS2fnz52udf99990m9e/eWKioqJEn6OTlzx44dtd5/c9LaiBEjpPj4eCk/P79Wm2+99ZZkMBikL7/8UpIkSTp06JA9AfNWqpMwly9f3qxrawxioZ9A8BPV/rLq4f3o0aPR6XR8/PHHdqd4NW+//TarVq3i/Pnztdr5y1/+UmOK8Pnnn3P27FkmTJiAZz3bjVQnet783qlTp2I0Gnnttdcwm83246dPn2b16tXo9Xr7UpZqdu7cyeHDh+3/Lygo4J133kGtVttzvJp7bfXhnrsvCQQuIDQ0FLAtJC0uLmbKlCm89tprLFq0iGnTpjFq1ChCQkI4duwYKSkpdOvWjfnz59dq5+jRo0ydOpUhQ4aQnp7O3r17iYqKskdJGup/yZIl9OvXj/nz5zNv3jz279/P5s2b+fHHH+0+vR07dgC2D/6tzlkvLy8effRRxo4di5+fHzt37iQ3N5fnnnvOvs5Mp9M169rqQ4xMBIKfSEhI4KGHHqKsrIzPPvuMEydOMGbMGNasWcOQIUPYv38/q1ev5saNG8ybN4/Vq1fX8lcArFixgrCwMNauXUtqaiqzZ8/m888/JyAgoN7+n3jiCfr27UtycjKrVq2ivLwcrVbLypUrWbhwIVVVVfz73//m0KFDjBgxgrVr19ZKWAOYMmUKixcvJiUlhQ0bNhAaGsq7775bq/5Oc66tPkRBaYFAJubMmUNycjJHjhyxJ505k+p0+rlz59bIdHUWYmQiEAhkQYiJQCCQBSEmAoFAFoTPRCAQyIIYmQgEAlkQYiIQCGRBiIlAIJAFISYCgUAWhJgIBAJZEGIiEAhk4f8DEbLjxbP1jY4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "bn = Pn.get_binders(cutoff=5,cutoff_method='rank',limit=20)#, name='Rv3875')\n",
    "bt = Pt.get_binders(cutoff=5,cutoff_method='rank',limit=20)#, name='Rv3875')\n",
    "ax = utilities.venndiagram([bn.peptide,bt.peptide], ['netmhciipan','tepitope'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## overlap of promiscuous binders"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pbn = Pn.promiscuous_binders(n=5, cutoff=10, cutoff_method='rank')\n",
    "pbt = Pt.promiscuous_binders(n=5, cutoff=10, cutoff_method='rank')\n",
    "ax = utilities.venndiagram([pbn.peptide,pbt.peptide], ['netmhciipan','tepitope'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## find percentage coverage at given cutoff levels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import difflib\n",
    "\n",
    "def get_hits(P,n,m,cutoffs):\n",
    "\n",
    "    res = []\n",
    "    print (cutoffs)\n",
    "    for c in cutoffs:\n",
    "        rb = P.promiscuous_binders(cutoff_method=m,cutoff=c,n=n,limit=30)\n",
    "        #print (len(rbn),len(rbt),len(rboth))\n",
    "        df=exp#[exp.name==name].copy()\n",
    "        def find_matches(x, p):\n",
    "            return len(difflib.get_close_matches(x.sequence, p, n=10, cutoff=.6))\n",
    "\n",
    "        df.loc[:,'hits'] = df.apply(lambda x: find_matches(x, rb.peptide),1)        \n",
    "        f = len(df[df.hits>0])/len(df)*100\n",
    "        #print (df[:10])\n",
    "        res.append({'cutoff':c,'binders':len(rb),m:f})\n",
    "    res = pd.DataFrame(res)\n",
    "    return res\n",
    "\n",
    "print (len(proteins))\n",
    "n=5\n",
    "res = get_hits(Pn,n,'rank',cuts['rank'])\n",
    "ax=res.plot(x='binders',y=['rank'],lw=2)\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "range(2, 40, 3)\n",
      "range(50, 1000, 100)\n",
      "[0.99 0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.9  0.89 0.88 0.87]\n",
      "range(2, 40, 3)\n",
      "[5.  4.6 4.2 3.8 3.4 3.  2.6 2.2 1.8 1.4 1.  0.6 0.2]\n",
      "[0.99 0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.9  0.89 0.88 0.87]\n"
     ]
    },
    {
     "data": {
      "image/png": "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+Ofz1KtXL1xcXPj000+ZNWsWM2bM4JFHHmHo0KF37TSJiMj9UduttvuP1HZLYaVEW+QOSpQogY2NDZcuXbpl2aVLl3jooYfue59/bJQB04Qfd2swS5QogZOTEytWrLjt8ooVK5r2++cJRO7WMLq6umJjY8OVK1fylGdlZbF161YCAgJu2cbFxQUbGxu6devGs88+e8tyR0dHILdRPHny5C3L76Whhr/3Pd3NzUb6r76fEiVKULduXUaNGnXX/dyOjY0NoaGhhIaGkpiYyLZt21i0aBFDhw4lMDDwlo6aiIjkP7XdarvvtJ/bUdstBUm3jovcQfHixalZsybffPMN2dnZpvJr167xv//9j7p16973Pn/44Yc8n7/99ltsbGwICQm54zZBQUGkpaWRlZWFv7+/6d+5c+eYO3cuqampVK5cmXLlyvHNN9/k2fa///3vHffr4uKCr68vW7ZswTAMU3lkZCR9+/bl7NmzpivLN7m6uuLn58fJkyfzxFK9enXmz5/Pzz//DECDBg24cOECe/bsMW17+fLle55Q5ccff8zz+csvv8TT05MqVarc0/Z/dq/fT1BQEKdOnaJy5cp56vfdd9+xYsWKPLcq/lloaKhpAhcPDw/atm3L66+/TlZWFvHx8X8rbhERuT9qu9V2q+2WwkIj2iJ3MXToUHr37k3v3r3p1q0bmZmZLFy4kLS0NMLCwkzrHTx4EEdHR6pWrXrX/e3du5dhw4bx3HPPcfjwYebOnUunTp14+OGH77hN06ZNqV+/PgMGDOCNN96gatWqHDp0iNmzZxMQEED58uUBePPNNxk+fDhvv/02rVu35tdff2X16tV3jWfgwIG88cYbDBo0iBdffJHExERmzpxJSEgItWrVMt1it2PHDh577DFq1arFm2++yWuvvcaQIUN47rnnAPj444+Jioqia9euADz33HMsW7aMAQMG8Oabb+Lq6sq8efPydAru5pNPPsHV1ZWaNWvy5Zdf8vPPPzN16tRbOg/3ysbG5p6+n1deeYXPP/+cHj160KdPHzw8PNiyZQvLly9n4MCBeZ6H+7O6deuydOlSPDw8qFevHgkJCURERFClShV8fX3/VtwiInL/1Har7VbbLYWBEm2Ru2jYsCFLlixh7ty5vPnmmzg4OFCvXj2mTJmCj4+Pab2wsDAqVKjA8uXL77q/rl27kpiYSFhYGB4eHrz++uv07dv3rtvY2tqycOFC5syZw4cffsjly5fx9PQkNDQ0T4fh2WefxcbGhvnz57Nx40Z8fHyYMGGC6Z2Vt9O8eXMWLFhARESEKaZWrVoxePBgbGxscHNzo0ePHqxdu5Yff/yRbdu20bhxYz766CPef/99Bg8ejL29Pb6+vixatIiGDRsCubehLVu2jHfffZdJkyZhZ2fHSy+9RIUKFW65tex2Jk6cyNKlS5kzZw4VK1bk3//+921vd7sf9/L9lC1bltWrV/Pee+8xYcIE0tLSeOSRRxg3bhxdunS56/6HDBmCk5MTn3/+OfPnz8fFxYWQkBCGDRuWZxIdEREpWGq71Xar7ZbCwMa418tUIvKP+Pj48PrrrzNkyBBLhyIiIiL3QG23iPxdekZbREREREREJB8p0RYRERERERHJR7p1XERERERERCQfaURbREREREREJB8p0RYRERERERHJR0q0RURERERERPKREm0RERERERGRfKREW0RERERERCQfKdEWERERERERyUf/B02OWpRDgycHAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1008x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cuts = {'rank':range(2,40,3),'global':np.arange(.99,.86,-.01),'score':range(50,1000,100)}\n",
    "\n",
    "fig,axs=plt.subplots(1,2,figsize=(14,5),facecolor='white')\n",
    "axs=axs.flat\n",
    "i=0\n",
    "['rank','global','score']\n",
    "for P in [Pn,Pt]:    \n",
    "    res1 = get_hits(P,5,'rank',cuts['rank'])\n",
    "    if P.name=='tepitope':\n",
    "        scuts = np.arange(5,0,-.4)\n",
    "    else:\n",
    "        scuts=cuts['score']    \n",
    "    res2 = get_hits(P,5,'score',scuts)\n",
    "    res3 = get_hits(P,5,'global',cuts['global'])\n",
    "    \n",
    "    res1.plot(x='binders',y='rank',lw=2,ax=axs[i])\n",
    "    res2.plot(x='binders',y='score',lw=2,ax=axs[i])\n",
    "    res3.plot(x='binders',y='global',lw=2,ax=axs[i])    \n",
    "    axs[i].set_xlabel('no. predicted binders')\n",
    "    axs[i].set_ylabel('% coverage')    \n",
    "    i+=1\n",
    "\n",
    "axs[0].set_title('(a) netMHCIIpan',fontsize=20)\n",
    "axs[1].set_title('(b) Tepitope',fontsize=20)\n",
    "plt.tight_layout()\n",
    "fig.savefig('mtb_sette_hits.png',dpi=300)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "p=Pn.promiscuous_binders(cutoff_method='score',cutoff=500,n=5)\n",
    "p.name.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "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.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}