2. GDAs_DREBIOP_DREGE_DISNET.ipynb 27.9 KB
Newer Older
Belen Otero Carrasco's avatar
Belen Otero Carrasco committed
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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "fa47a657",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from pandas import DataFrame\n",
    "from scipy import stats\n",
    "from statsmodels.stats.diagnostic import lilliefors\n",
    "from scipy.stats import mannwhitneyu, levene"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3fcc2bd8",
   "metadata": {},
   "source": [
    "# DREBIOP"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "d44f91b2",
   "metadata": {},
   "outputs": [],
   "source": [
    "triples_drebiop = pd.read_excel('./Data/Input/DISNET/triples_drebiop_final_dos.xlsx',engine='openpyxl')\n",
    "triples_drebiop = triples_drebiop.drop(columns=['Unnamed: 0'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b31f3929",
   "metadata": {},
   "outputs": [],
   "source": [
    "gda_drebiop = triples_drebiop[[\"Original Condition CUI\",\"drug_id\"]]\n",
    "gda_drebiop = gda_drebiop.rename(columns={\"Original Condition CUI\": \"disease_id\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "444b7288",
   "metadata": {},
   "outputs": [],
   "source": [
    "dis_gen = pd.read_csv('./Data/Input/DISNET/dis_gen.tsv', sep='\\t')\n",
    "dis_gen = dis_gen.drop([\"Unnamed: 0\"],axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "75eaef34",
   "metadata": {},
   "outputs": [],
   "source": [
    "drug_gen = pd.read_csv('./Data/Input/DISNET/drug_gen.tsv', sep='\\t')\n",
    "drug_gen = drug_gen.drop([\"Unnamed: 0\"],axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "id": "27d6b95d",
   "metadata": {},
   "outputs": [],
   "source": [
    "drug_gen_score= dis_gen.merge(drug_gen,how = \"inner\",on = [\"gene_id\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "id": "94435b63",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drebiop = gda_drebiop.merge(drug_gen_score,how = \"left\",on = [\"disease_id\",\"drug_id\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "id": "7c6b2010",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drebiop[\"score\"]= score_gda_drebiop[\"score\"].fillna(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "id": "1167116d",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drebiop_pru = score_gda_drebiop.drop_duplicates()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "id": "7b840b12",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    53.000000\n",
       "mean      0.181698\n",
       "std       0.199805\n",
       "min       0.000000\n",
       "25%       0.000000\n",
       "50%       0.130000\n",
       "75%       0.300000\n",
       "max       0.700000\n",
       "Name: score, dtype: float64"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "score_gda_drebiop_pru[\"score\"].describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "78292861",
   "metadata": {},
   "source": [
    "# DREGE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "6edf5bc4",
   "metadata": {},
   "outputs": [],
   "source": [
    "triples_drege = pd.read_excel((\"./Data/Input/DISNET/triples_final_drege_repo_csbj.xlsx\"),engine='openpyxl')\n",
    "triples_drege = triples_drege.drop(columns=['Unnamed: 0'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "804e653c",
   "metadata": {},
   "outputs": [],
   "source": [
    "gda_drege_com = triples_drege[[\"New Condition CUI\",\"drug_id\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "9cee9f76",
   "metadata": {},
   "outputs": [],
   "source": [
    "gda_drege_com = gda_drege_com.rename(columns={\"New Condition CUI\":\"disease_id\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "id": "1285af79",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drege_com = gda_drege_com.merge(drug_gen_score,how = \"left\",on = [\"disease_id\",\"drug_id\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "id": "f7e8ff83",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drege_com = score_gda_drege_com.drop_duplicates()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "9e5c3097",
   "metadata": {},
   "outputs": [],
   "source": [
    "gda_drege = triples_drege[[\"disease_id\",\"drug_id\"]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "0a673091",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drege = gda_drege.merge(drug_gen_score,how = \"left\",on = [\"disease_id\",\"drug_id\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "f1c1ceae",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drege_pru = score_gda_drege.drop_duplicates()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "id": "142d6a83",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drege_pru = score_gda_drege_pru.drop(columns=['Drug_repositioning_type'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "id": "f4bafe99",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drege_prueba_flip = pd.concat([score_gda_drege_com,score_gda_drege_pru])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "id": "bace3be9",
   "metadata": {},
   "outputs": [],
   "source": [
    "score_gda_drege_prueba_flip_sindu =score_gda_drege_prueba_flip.drop_duplicates()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "id": "f7565b48",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    1369.000000\n",
       "mean        0.234565\n",
       "std         0.195140\n",
       "min         0.010000\n",
       "25%         0.050000\n",
       "50%         0.200000\n",
       "75%         0.390000\n",
       "max         1.000000\n",
       "Name: score, dtype: float64"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "score_gda_drege_prueba_flip_sindu[\"score\"].describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "13be1256",
   "metadata": {},
   "source": [
    "# DISNET"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "a2355c5c",
   "metadata": {},
   "outputs": [],
   "source": [
    "disnet_score = dis_gen[\"score\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "b4e6d201",
   "metadata": {},
   "outputs": [],
   "source": [
    "disnet_score = pd.DataFrame(disnet_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "17009dcf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    358209.000000\n",
       "mean          0.139935\n",
       "std           0.131801\n",
       "min           0.010000\n",
       "25%           0.050000\n",
       "50%           0.100000\n",
       "75%           0.200000\n",
       "max           1.000000\n",
       "Name: score, dtype: float64"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "disnet_score[\"score\"].describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "92325876",
   "metadata": {},
   "source": [
    "# Normality Test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "5a57d71b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.24966520509112167, 0.0009999999999998899)"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " lilliefors(score_gda_drege_prueba_flip_sindu[\"score\"], dist ='norm')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "f9566f3a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.3455059976805721, 0.0009999999999998899)"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " lilliefors(disnet_score[\"score\"], dist ='norm')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "id": "d1fa697e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.2591877383973494, 0.0009999999999998899)"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " lilliefors(score_gda_drebiop_pru[\"score\"], dist ='norm')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d7f3ec46",
   "metadata": {},
   "source": [
    "# MannWhitney-U Test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "id": "4e148a65",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MannwhitneyuResult(statistic=28577.5, pvalue=0.00843749296316683)"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mannwhitneyu(score_gda_drebiop_pru[\"score\"], score_gda_drege_prueba_flip_sindu[\"score\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "id": "5fc39027",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "MannwhitneyuResult(statistic=9656013.5, pvalue=0.8200156913409707)"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mannwhitneyu(score_gda_drebiop_pru[\"score\"], disnet_score[\"score\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7e17e2ba",
   "metadata": {},
   "source": [
    "# PLOTS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "538b8191",
   "metadata": {},
   "outputs": [],
   "source": [
    "disnet_score[\"Drug_repositioning_type\"] = \"DISNET\"\n",
    "score_gda_drebiop_pru[\"Drug_repositioning_type\"] = \"DREBIOP\"\n",
    "score_gda_drege_prueba_flip_sindu[\"Drug_repositioning_type\"] = \"DREGE\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "c9d89647",
   "metadata": {},
   "outputs": [],
   "source": [
    "type_gdas_all = pd.concat([disnet_score,score_gda_drebiop_pru,score_gda_drege_prueba_flip_sindu])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "id": "66d103e9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+kAAAH5CAYAAAD9dH/NAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAvxUlEQVR4nO3de5zUdb348fewwOyigCgX0RA30bSDFy6P4hLnJAqG2jmaBGqIJvQQMS9gJpcuSibeUtKCNERKkziuZpakrpkXNHsUYlpQ+FAL1EUOnA6LGoPA/P7gx8a6i+7iLPNh9/l8PPbx2PnOd2beA4/9si++n5nJ5PP5fAAAAABF16rYAwAAAADbiHQAAABIhEgHAACARIh0AAAASIRIBwAAgESIdAAAAEiESAcAAIBEtLhIz+fzUV1dHT4eHgAAgNS0uEjfsGFDdOzYMTZs2FDsUQAAAKCWFhfpAAAAkCqRDgAAAIkQ6QAAAJAIkQ4AAACJEOkAAACQCJEOAAAAiRDpAAAAkAiRDgAAAIkQ6QAAAJAIkQ4AAACJEOkAAACQCJEOAAAAiRDpAAAAkAiRDgAAAIkQ6QAAAJAIkQ4AAACJEOkAAACQCJEOAAAAiWhd7AEAoDnJ5/ORy+WKPUbB7fi8stlsZDKZIk/UNJrzcwNgzyDSAaCAcrlcjBw5sthjsIsqKiqitLS02GMA0IJZ7g4AAACJyOTz+Xyxh9idqquro2PHjrF+/fro0KFDsccBoJlprsvdN27cGGPGjImIiLvuuqvZnm223B2AYrPcHQAKKJPJNNuA3a60tLTZP0cAKBbL3QEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAElH0SJ89e3aUl5dHaWlp9OvXL5566qn33f8nP/lJHH300dGuXbvo3r17fPGLX4x169btpmkBAACg6RQ10hcuXBiXXHJJTJ8+PZYuXRpDhgyJESNGxMqVK+vdf/HixTF27NgYN25c/PnPf4577rknfv/738f48eN38+QAAABQeEWN9BtvvDHGjRsX48ePjyOOOCJmzZoVPXr0iDlz5tS7/7PPPhsHH3xwXHTRRVFeXh6f+tSn4rzzzos//OEPu3lyAAAAKLyiRfqmTZtiyZIlMXz48Frbhw8fHs8880y9txk0aFC89tprsWjRosjn8/Hmm29GRUVFnHTSSTt9nFwuF9XV1bW+AAAAIEVFi/S1a9fGli1bolu3brW2d+vWLVavXl3vbQYNGhQ/+clPYvTo0dG2bdvYf//9Y5999olbbrllp48zc+bM6NixY81Xjx49Cvo8AAAAoFCK/sZxmUym1uV8Pl9n23bLli2Liy66KL7xjW/EkiVL4qGHHopXX301JkyYsNP7nzp1aqxfv77ma9WqVQWdHwAAAAqldbEeuHPnzlFSUlLnrPmaNWvqnF3fbubMmTF48OC47LLLIiLiqKOOir322iuGDBkSV111VXTv3r3ObbLZbGSz2cI/AQAAACiwop1Jb9u2bfTr1y8qKytrba+srIxBgwbVe5t33nknWrWqPXJJSUlEbDsDDwAAAHuyoi53nzx5csydOzfmzZsXy5cvj0mTJsXKlStrlq9PnTo1xo4dW7P/Zz/72bjvvvtizpw58corr8TTTz8dF110UXziE5+IAw44oFhPAwAAAAqiaMvdIyJGjx4d69atixkzZkRVVVX07t07Fi1aFD179oyIiKqqqlqfmX7OOefEhg0b4nvf+15ceumlsc8++8TQoUPj2muvLdZTAAAAgILJ5FvYOvHq6uro2LFjrF+/Pjp06FDscQBgj7Bx48YYOXJkRERUVFREaWlpkScCgOap6O/uDgAAAGwj0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgEUWP9NmzZ0d5eXmUlpZGv3794qmnnnrf/XO5XEyfPj169uwZ2Ww2DjnkkJg3b95umhYAAACaTutiPvjChQvjkksuidmzZ8fgwYPj1ltvjREjRsSyZcvioIMOqvc2o0aNijfffDNuv/326NWrV6xZsyY2b968mycHAACAwsvk8/l8sR78k5/8ZPTt2zfmzJlTs+2II46IU045JWbOnFln/4ceeihOP/30eOWVV2Lffffdpcesrq6Ojh07xvr166NDhw67PDuFkc/nI5fLFXuMgtvxeWWz2chkMkWeqGk05+cG1LZx48YYOXJkRERUVFREaWlpkScCgOapaGfSN23aFEuWLIkpU6bU2j58+PB45pln6r3NAw88EP3794/rrrsu7rzzzthrr73iP//zP+Nb3/pWlJWV1XubXC5XKwKrq6sL9yT40HK5XM0vfex5/KIOAACFVbRIX7t2bWzZsiW6detWa3u3bt1i9erV9d7mlVdeicWLF0dpaWn87Gc/i7Vr18bEiRPjf//3f3f6uvSZM2fGlVdeWfD5AQAAoNCK+pr0iKizVDafz+90+ezWrVsjk8nET37yk+jYsWNERNx4440xcuTI+P73v1/v2fSpU6fG5MmTay5XV1dHjx49CvgM+DCy2WxUVFQUe4yC27hxY4wZMyYiIu66665me7Y5m80WewQAAGhWihbpnTt3jpKSkjpnzdesWVPn7Pp23bt3jwMPPLAm0CO2vYY9n8/Ha6+9Foceemid22SzWSGRsEwm02wDdrvS0tJm/xwBAIDCKNpHsLVt2zb69esXlZWVtbZXVlbGoEGD6r3N4MGD44033oi33nqrZtuKFSuiVatW8ZGPfKRJ5wUAAICmVtTPSZ88eXLMnTs35s2bF8uXL49JkybFypUrY8KECRGxban62LFja/Y/88wzY7/99osvfvGLsWzZsnjyySfjsssui3PPPXenbxwHAAAAe4qiviZ99OjRsW7dupgxY0ZUVVVF7969Y9GiRdGzZ8+IiKiqqoqVK1fW7L/33ntHZWVlXHjhhdG/f//Yb7/9YtSoUXHVVVcV6ykAAABAwRT9jeMmTpwYEydOrPe6+fPn19l2+OGH11kiDwAAAM1BUZe7AwAAAP8i0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABLR6Eh/7rnn4sUXX6y5/POf/zxOOeWUmDZtWmzatKmgwwEAAEBL0uhIP++882LFihUREfHKK6/E6aefHu3atYt77rknvvrVrxZ8QAAAAGgpGh3pK1asiGOOOSYiIu65557493//97j77rtj/vz5ce+99xZ6PgAAAGgxGh3p+Xw+tm7dGhERjz76aJx44okREdGjR49Yu3ZtYacDAACAFqTRkd6/f/+46qqr4s4774wnnngiTjrppIiIePXVV6Nbt24FHxAAAABaikZH+qxZs+K5556LL3/5yzF9+vTo1atXRERUVFTEoEGDCj4gAAAAtBStG3uDo446qta7u293/fXXR+vWjb47AAAA4P8ryOekL1u2LKZPnx4HHnhgIe4OAAAAWqRdjvS33nor5s6dGwMHDoyjjjoqfve738WUKVMKORsAAAC0KI1en7548eKYO3du3HvvvVFeXh7Lli2LJ554IgYPHtwU8wEAAECL0eAz6dddd10cfvjhcfrpp0eXLl1i8eLF8cILL0Qmk4lOnTo15YwAAADQIjT4TPq0adPi8ssvjxkzZkRJSUlTzgQAAAAtUoPPpM+YMSPuueeeKC8vj8svvzz+9Kc/NeVcAAAA0OI0ONKnTZsWK1asiDvvvDNWr14dAwYMiKOPPjry+Xz84x//aMoZAQAAoEVo9Lu7/8d//Ef86Ec/iqqqqjj//POjX79+8R//8R8xaNCguPHGG5tiRgAAAGgRdvkj2Nq3bx8TJkyI3/3ud7F06dL4xCc+Eddcc00hZwMAAIAWZZciPZ/Px9q1a2PdunUREXHkkUfGrFmz4vXXXy/ocAAAANCSNCrSV69eHWPHjo1OnTpFt27domvXrtGpU6c499xz480334w2bdo01ZwAAADQ7DX4I9iqq6tj0KBB8dZbb8UXv/jFOPzwwyOfz8eyZctiwYIFsXjx4njuuedi7733bsp5AQAAoNlqcKR/97vfjZKSkvjzn/8cXbp0qXXd1772tRg8eHDcfPPNMW3atIIPCQAAAC1Bg5e7P/jggzFt2rQ6gR4R0bVr15g6dWr84he/KOhwAAAA0JI0ONJXrFgRgwYN2un1gwYNir/+9a8FGQoAAABaogZHenV1deyzzz47vX6fffaJ6urqQswEAAAALVKDIz2fz0erVjvfPZPJRD6fL8hQAAAA0BI1+I3j8vl8HHbYYZHJZHZ6PQAAALDrGhzpd9xxR1POAQAAAC1egyP97LPPbso5AAAAoMVrcKS/14YNG2otcW/VqlXsvffeBRkKAAAAWqIGv3Hc888/HyeddFLN5QMOOCA6depU87XPPvvE73//+yYZEgAAAFqCBp9Jv+WWW+JTn/pUrW133nlnHHjggZHP52PevHlx8803x5133lnwIQEAAKAlaHCkP/3003HOOefU2jZgwID46Ec/GhERZWVlMWrUqIIOBwAAAC1Jg5e7r1q1Kg466KCayzNmzIjOnTvXXO7evXu8+eabhZ0OAAAAWpAGR3o2m43XXnut5vKkSZOiQ4cONZdXrVoV7dq1K+x0AAAA0II0ONL79OkT999//06vv++++6JPnz6FmAkAAABapAa/Jn3ixIlx+umnx8EHHxznn39+tGq1re+3bNkSs2fPjltuuSXuvvvuJhsUAAAAmrsGR/ppp50WkydPjgsvvDCmTZsWH/3oRyOTycTLL78cb731VkyePDlGjhzZlLMCAABAs9bgSI+IuPbaa+PUU0+NBQsWxEsvvRQREUOGDIkzzjgjBgwY0CQDAgAAQEvRqEiP2Paxa4IcAAAACq/BbxwHAAAANC2RDgAAAIkQ6QAAAJAIkQ4AAACJ2KVI37x5czz66KNx6623xoYNGyIi4o033oi33nqroMMBAABAS9Lod3f/+9//Hp/5zGdi5cqVkcvlYtiwYdG+ffu47rrrYuPGjfGDH/ygKeYEAACAZq/RZ9Ivvvji6N+/f/zjH/+IsrKymu2nnnpq/PrXvy7ocAAAANCSNPpM+uLFi+Ppp5+Otm3b1tres2fPeP311ws2GAAAALQ0jT6TvnXr1tiyZUud7a+99lq0b9++IEMBAABAS9ToSB82bFjMmjWr5nImk4m33norvvnNb8aJJ55YyNkAAACgRWn0cvebbropjj322Pj4xz8eGzdujDPPPDNeeuml6Ny5cyxYsKApZgQAAIAWodGRfsABB8Tzzz8fCxYsiOeeey62bt0a48aNiy984Qu13kgOAAAAaJxGR3pERFlZWZx77rlx7rnnFnoeAAAgIfl8PnK5XLHHKLgdn1c2m41MJlPkiZpGc35uzVWjI/3HP/7x+14/duzYXR4GAABISy6Xi5EjRxZ7DHZRRUVFlJaWFnsMGqHRkX7xxRfXuvzuu+/GO++8E23bto127dqJdAAAANhFjY70f/zjH3W2vfTSS3H++efHZZddVpChAACANGSz2aioqCj2GAW3cePGGDNmTERE3HXXXc32bHM2my32CDTSLr0m/b0OPfTQuOaaa2LMmDHxl7/8pRB3CQAAJCCTyTTbgN2utLS02T9H9hyN/pz0nSkpKYk33nijUHcHAAAALU6jz6Q/8MADtS7n8/moqqqK733vezF48OCCDQYAAAAtTaMj/ZRTTql1OZPJRJcuXWLo0KHxne98p1BzAQAAQIvT6OXuW7durfW1ZcuWWL16ddx9993RvXv3Rg8we/bsKC8vj9LS0ujXr1889dRTDbrd008/Ha1bt45jjjmm0Y8JAAAAKSrYa9J3xcKFC+OSSy6J6dOnx9KlS2PIkCExYsSIWLly5fvebv369TF27Ng47rjjdtOkAAAA0PQatNx98uTJDb7DG2+8sVH7jhs3LsaPHx8REbNmzYqHH3445syZEzNnztzp7c4777w488wzo6SkJO6///4GPx4AAACkrEGRvnTp0gbdWSaTafADb9q0KZYsWRJTpkyptX348OHxzDPP7PR2d9xxR7z88stx1113xVVXXfWBj5PL5SKXy9Vcrq6ubvCMAAAAsDs1KNJ/85vfFPyB165dG1u2bIlu3brV2t6tW7dYvXp1vbd56aWXYsqUKfHUU09F69YNe8+7mTNnxpVXXvmh5wUAAICmVtTXpEfUPfuez+frPSO/ZcuWOPPMM+PKK6+Mww47rMH3P3Xq1Fi/fn3N16pVqz70zAAAANAUGv0RbBERv//97+Oee+6JlStXxqZNm2pdd9999zXoPjp37hwlJSV1zpqvWbOmztn1iIgNGzbEH/7wh1i6dGl8+ctfjoht7zSfz+ejdevW8cgjj8TQoUPr3C6bzUY2m23oUwNgN8nn87VejkTaNm7cWO/37Bmy2WyjXpYIQPE0OtJ/+tOfxtixY2P48OFRWVkZw4cPj5deeilWr14dp556aoPvp23bttGvX7+orKysdbvKysr4r//6rzr7d+jQIV588cVa22bPnh2PPfZYVFRURHl5eWOfCgBFlMvlYuTIkcUeg10wZsyYYo9AI1VUVERpaWmxxwCgARod6VdffXXcdNNNccEFF0T79u3ju9/9bpSXl8d5553X6M9Jnzx5cpx11lnRv3//GDhwYNx2222xcuXKmDBhQkRsW6r++uuvx49//ONo1apV9O7du9btu3btGqWlpXW2AwAAwJ6o0ZH+8ssvx0knnRQR25ZOvf3225HJZGLSpEkxdOjQRr1J2+jRo2PdunUxY8aMqKqqit69e8eiRYuiZ8+eERFRVVX1gZ+ZDsCe7ytHHBVtWhX9bVJ4H/l8Pt7Nb42IiDaZVpZO7wHe3bo1blj+QrHHAKCRGh3p++67b2zYsCEiIg488MD405/+FEceeWT83//9X7zzzjuNHmDixIkxceLEeq+bP3/++972iiuuiCuuuKLRjwlAWtq0ahVtW5UUeww+gHd4AYCm1+hIHzJkSFRWVsaRRx4Zo0aNiosvvjgee+yxqKysjOOOO64pZgQAAIAWocGR/vzzz8cxxxwT3/ve92re1XXq1KnRpk2bWLx4cXzuc5+Lr3/96002KAAAADR3DY70vn37Rp8+fWL8+PFx5plnRkREq1at4qtf/Wp89atfbbIBAQAAoKVo8Lv0PP3009G3b9+YMmVKdO/ePcaMGRO/+c1vmnI2AAAAaFEaHOkDBw6MH/7wh7F69eqYM2dOvPbaa3H88cfHIYccEt/+9rfjtddea8o5AQAAoNlr9OfdlJWVxdlnnx2PP/54rFixIs4444y49dZbo7y8PE488cSmmBEAAABahA/1obSHHHJITJkyJaZPnx4dOnSIhx9+uFBzAQAAQIvT6I9g2+6JJ56IefPmxb333hslJSUxatSoGDduXCFnAwAAgBalUZG+atWqmD9/fsyfPz9effXVGDRoUNxyyy0xatSo2GuvvZpqRgAAAGgRGhzpw4YNi9/85jfRpUuXGDt2bJx77rnxsY99rClnAwAAgBalwZFeVlYW9957b5x88slRUlLSlDMBAABAi9TgSH/ggQeacg4AAABo8T7Uu7sDAAAAhSPSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEtG62APQMPl8PnK5XLHHoIE2btxY7/fsGbLZbGQymWKPAQBACyTS9xC5XC5GjhxZ7DHYBWPGjCn2CDRSRUVFlJaWFnsMAABaIMvdAQAAIBHOpO+B2p90SmRa+6tLWT6fj9iyZduFkhJLp/cA+c2bY8OD9xd7DAAAWjiltwfKtG4t0hOXiYho06bYYwAAAHsYy90BAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABJR9EifPXt2lJeXR2lpafTr1y+eeuqpne573333xbBhw6JLly7RoUOHGDhwYDz88MO7cVoAAABoOkWN9IULF8Yll1wS06dPj6VLl8aQIUNixIgRsXLlynr3f/LJJ2PYsGGxaNGiWLJkSRx77LHx2c9+NpYuXbqbJwcAAIDCa13MB7/xxhtj3LhxMX78+IiImDVrVjz88MMxZ86cmDlzZp39Z82aVevy1VdfHT//+c/jF7/4RfTp02d3jAxAgeTz+ZrvN23dUsRJoHna8edqx583mk4+n49cLlfsMWigjRs31vs9e4ZsNhuZTKbYYzSJokX6pk2bYsmSJTFlypRa24cPHx7PPPNMg+5j69atsWHDhth33313uk8ul6t1sKyurt61gQEoqB2Pzd9Z/mIRJ4HmL5fLRVlZWbHHaPZyuVyMHDmy2GOwC8aMGVPsEWikioqKKC0tLfYYTaJoy93Xrl0bW7ZsiW7dutXa3q1bt1i9enWD7uM73/lOvP322zFq1Kid7jNz5szo2LFjzVePHj0+1NwAAADQVIq63D0i6ixRyOfzDVq2sGDBgrjiiivi5z//eXTt2nWn+02dOjUmT55cc7m6ulqoAyQgm83WfH/pEUdG21YlRZwGmp9NW7fUrFLZ8eeN3eOf4w6NaFP092jm/eTzEZv//0tBWmcimunS6Wbl3a1RdvtLxZ6iyRUt0jt37hwlJSV1zpqvWbOmztn191q4cGGMGzcu7rnnnjj++OPfd99sNusfJoAE7fgfsm1blYh0aELN9XWbSWvTSqTvCdoWewCoq2hHjrZt20a/fv2isrKy1vbKysoYNGjQTm+3YMGCOOecc+Luu++Ok046qanHBAAAgN2mqMvdJ0+eHGeddVb0798/Bg4cGLfddlusXLkyJkyYEBHblqq//vrr8eMf/zgitgX62LFj47vf/W4MGDCg5ix8WVlZdOzYsWjPAwAAAAqhqJE+evToWLduXcyYMSOqqqqid+/esWjRoujZs2dERFRVVdX6zPRbb701Nm/eHBdccEFccMEFNdvPPvvsmD9//u4eHwAAAAqq6G8cN3HixJg4cWK91703vB9//PGmHwgAAACKxLtZAAAAQCJEOgAAACRCpAMAAEAiRDoAAAAkQqQDAABAIkQ6AAAAJEKkAwAAQCJEOgAAACRCpAMAAEAiRDoAAAAkQqQDAABAIkQ6AAAAJEKkAwAAQCJEOgAAACRCpAMAAEAiRDoAAAAkQqQDAABAIkQ6AAAAJEKkAwAAQCJEOgAAACRCpAMAAEAiRDoAAAAkQqQDAABAIkQ6AAAAJKJ1sQegYfL5/L++37y5iJNA87Tjz9WOP28AALA7ifQ9RC6Xq/l+w4P3F28QaAFyuVyUlZUVewwAAFogy90BAAAgEc6k7yGy2WzN9+1POiUyrf3VQSHlN2+uWaWy488bAADsTkpvD5HJZP71fevWIh2a0I4/bwAAsDtZ7g4AAACJEOkAAACQCJEOAAAAiRDpAAAAkAiRDgAAAIkQ6QAAAJAIkQ4AAACJEOkAAACQCJEOAAAAiWhd7AEAAKA5yOfz/7rw7tbiDQLN1Q4/V7V+3poZkQ4AAAWQy+Vqvi+7/aUiTgLNXy6Xi7KysmKP0SQsdwcAAIBEOJMOAAAFkM1ma77/57hDI9o4HwYF9e7WmlUqO/68NTciHQAACiCTyfzrQptWIh2aUK2ft2bGkQMAAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARrYs9AAAANDvvbi32BHyQfD5ic37b960zEZlMcefhg7WQnyuRDkDRvbu1ZfyjuyfL5/Pxbn7b31ObTKvI+GU2eX6uiqvs9peKPQKwhxLpABTdDctfKPYIAABJEOkAAFAA2Ww2Kioqij0GDbRx48YYM2ZMRETcddddUVpaWuSJaIxsNlvsEZqMSAegKPwyu2fxy+yerTn/MpuSTCbjZ2MPVVpa6u+OZIh0AIrCL7N7Lr/MAkDT8RFsAAAAkAiRDgAAAIkQ6QAAAJAIkQ4AAACJEOkAAACQCJEOAAAAiRDpAAAAkAiRDgAAAIloXewBAKA5yefzkcvlij1GwW3cuLHe75ubbDYbmUym2GMA0IKJdAAooFwuFyNHjiz2GE1qzJgxxR6hyVRUVERpaWmxxwCgBbPcHQAAABLhTDoAFFA2m42Kiopij1FwOy7jb85LwrPZbLFHAKCFE+kAUECZTKbZLpcuKysr9ggA0OyJdAAAYKe8IeaerTmvfmquRDoAALBT3hBzz+YNMfc8RX/juNmzZ0d5eXmUlpZGv3794qmnnnrf/Z944ono169flJaWxkc/+tH4wQ9+sJsmBQAAgKZV1DPpCxcujEsuuSRmz54dgwcPjltvvTVGjBgRy5Yti4MOOqjO/q+++mqceOKJ8aUvfSnuuuuuePrpp2PixInRpUuXOO2004rwDAAAoHnzhph7Nm+IuefJ5PP5fLEe/JOf/GT07ds35syZU7PtiCOOiFNOOSVmzpxZZ//LL788HnjggVi+fHnNtgkTJsQf//jH+O1vf9ugx6yuro6OHTvG+vXro0OHDh/+SewmGzdurFlm1P6kUyLTunm8UiGfz0ds2VLsMdhVJSXN5h+0/ObNseHB+yPCsjAAAIqnaKW3adOmWLJkSUyZMqXW9uHDh8czzzxT721++9vfxvDhw2ttO+GEE+L222+Pd999N9q0aVPnNrlcrtYbXVRXVxdg+uLaHhIAAAA0L0V7TfratWtjy5Yt0a1bt1rbu3XrFqtXr673NqtXr653/82bN8fatWvrvc3MmTOjY8eONV89evQozBMAAACAAiv6mun3LpXN5/Pvu3y2vv3r277d1KlTY/LkyTWXq6ur98hQbwmvBWLP01xfv+W1WwAAFEvRIr1z585RUlJS56z5mjVr6pwt327//fevd//WrVvHfvvtV+9tstlss/iFO5PJNNvXyJaVlRV7BAAAgCQUbbl727Zto1+/flFZWVlre2VlZQwaNKje2wwcOLDO/o888kj079+/3tejAwAAwJ6kqJ+TPnny5Jg7d27Mmzcvli9fHpMmTYqVK1fGhAkTImLbUvWxY8fW7D9hwoT4+9//HpMnT47ly5fHvHnz4vbbb4+vfOUrxXoKAAAAUDBFfU366NGjY926dTFjxoyoqqqK3r17x6JFi6Jnz54REVFVVRUrV66s2b+8vDwWLVoUkyZNiu9///txwAEHxM033+wz0gEAAGgWivo56cWwp35OOgAAAM1fUZe7AwAAAP8i0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABLRutgD7G75fD4iIqqrq4s8CQAAAC1J+/btI5PJvO8+LS7SN2zYEBERPXr0KPIkAAAAtCTr16+PDh06vO8+mfz2U8stxNatW+ONN95o0P9gwIdRXV0dPXr0iFWrVn3gDyLAnsBxDWhuHNfY3ZxJr0erVq3iIx/5SLHHoAXp0KGDgz7QrDiuAc2N4xop8cZxAAAAkAiRDgAAAIkQ6dBEstlsfPOb34xsNlvsUQAKwnENaG4c10hRi3vjOAAAAEiVM+kAAACQCJEOAAAAiRDpAAAAkAiRDgAAAIkQ6QAAAJAIkU6Lcc4550Qmk4lMJhNt2rSJbt26xbBhw2LevHmxdevWmv0OPvjgmv3Kysri8MMPj+uvvz52/CCEv/3tbzX7vPfr2WefjYiI+fPn19q+9957R79+/eK+++6rNdenP/3puOSSS2pt+/Of/xyjRo2KLl26RDabjUMPPTS+/vWvxzvvvFNrvx1nbdeuXfTu3TtuvfXWAv/JAXua3X28i4jYtGlTXH/99dG3b9/Ya6+9omPHjnH00UfH1772tXjjjTfqnW3Hr8985jO75w8H2OM05pg2a9asmstLly6Nk08+Obp27RqlpaVx8MEHx+jRo2Pt2rUR8a/jW9euXWPDhg21HvOYY46JK664oubypz/96XqPXRMmTKjzO199X48//nhT/hHRzIh0WpTPfOYzUVVVFX/729/iV7/6VRx77LFx8cUXx8knnxybN2+u2W/GjBlRVVUVy5cvj6985Ssxbdq0uO222+rc36OPPhpVVVW1vvr161dzfYcOHWq2L126NE444YQYNWpU/PWvf93pjM8++2x88pOfjE2bNsWDDz4YK1asiKuvvjp+9KMfxbBhw2LTpk219t8+6wsvvBCnnHJKTJgwIRYuXFiAPy1gT7Y7j3e5XC6GDRsWV199dZxzzjnx5JNPxpIlS+K6666LdevWxS233FLvbDt+LViwoGn/QIA9WkOPadutWbMmjj/++OjcuXM8/PDDsXz58pg3b1507969zkmPDRs2xA033PCBM3zpS1+qc+y67rrrYvTo0bW2DRw4sM6+gwYNKtifBc1f62IPALtTNpuN/fffPyIiDjzwwOjbt28MGDAgjjvuuJg/f36MHz8+IiLat29fs9/48eNjzpw58cgjj8R5551X6/7222+/mv3qk8lkaq7ff//946qrroobbrghXnjhhfjYxz5WZ/98Ph/jxo2LI444Iu67775o1Wrb/6P17NkzDjvssOjTp0/cdNNNcfnll9fcZsdZr7rqqvjv//7vuP/++2P06NG7+scENAO783h30003xeLFi+MPf/hD9OnTp2Z7r1694oQTTqh1Zv69swE0REOPads988wzUV1dHXPnzo3WrbclT3l5eQwdOrTOfV944YVx4403xgUXXBBdu3bd6Qzt2rXb6bGrrKys5vu2bdu+777wQZxJp8UbOnRoHH300XWWoUdsi+bHH388li9fHm3atPlQj7Nly5b40Y9+FBERffv2rXef559/PpYtWxaTJ0+uCfTtjj766Dj++OM/8GxTaWlpvPvuux9qVqB5aqrj3YIFC2LYsGG1An1HmUxml+YFeD/vd0zbf//9Y/PmzfGzn/2szn8UvtcZZ5wRvXr1ihkzZjTVqNAoIh0i4vDDD4+//e1vNZcvv/zy2HvvvSObzcaxxx4b+Xw+Lrroojq3GzRoUOy99961vrZs2VJz/fr162u2t23bNs4///y47bbb4pBDDql3jhUrVkRExBFHHFHv9UcccUTNPu+1efPmmD9/frz44otx3HHHNfSpAy1MUxzvVqxYUWd10Kmnnlqz33uXef7yl7+sc1/f+ta3Cv9kgWbvvce07QYMGBDTpk2LM888Mzp37hwjRoyI66+/Pt588806+2Yymbjmmmvitttui5dffnmnjzV79uw6x67tJ2CgkCx3h9h2BmnHMz2XXXZZnHPOOfE///M/MX369Bg6dGi9ryVauHBhnaAuKSmp+b59+/bx3HPPRUTEO++8E48++micd955sd9++8VnP/vZDz1nxLZfsL/2ta9FLpeLtm3bxmWXXVZnmSrAdk11vHvvsWn27Nnx9ttvx8033xxPPvlkreuOPfbYmDNnTq1t++677y4/J6Dlqu93o+2+/e1vx+TJk+Oxxx6LZ599Nn7wgx/E1VdfHU8++WQceeSRtfY94YQT4lOf+lR8/etfj7vvvrve+/vCF74Q06dPr7Xt/ZbHw64S6RARy5cvj/Ly8prLnTt3jl69ekWvXr3i3nvvjV69esWAAQPi+OOPr3W7Hj16RK9evXZ6v61atap1/VFHHRWPPPJIXHvttfVG+mGHHRYREcuWLYtjjjmmzvV/+ctf4tBDD621bfsv2O3atYvu3btbVgq8r6Y43h166KHxl7/8pda27t27R0T98b3XXnu977EToKHee0x7r/322y8+//nPx+c///mYOXNm9OnTJ2644YZ6z4Bfc801MXDgwLjsssvqva+OHTs6drFbWO5Oi/fYY4/Fiy++GKeddlq913fq1CkuvPDC+MpXvvKBr2lqiJKSkvjnP/9Z73XHHHNMHH744XHTTTfV+kiRiIg//vGP8eijj8YZZ5xRa/v2X7APOOAAgQ68r6Y63p1xxhlRWVkZS5cuLdSoAB/og45p79W2bds45JBD4u233673+k984hPxuc99LqZMmVLIMaHRnEmnRcnlcrF69erYsmVLvPnmm/HQQw/FzJkz4+STT46xY8fu9HYXXHBBXHvttXHvvffGyJEja7avW7cuVq9eXWvfffbZJ0pLSyNi2xKs7df/85//jMrKynj44YfjG9/4Rr2Pk8lkYu7cuTF8+PA47bTTYurUqbH//vvH7373u7j00ktj4MCBdT5THaA+u/N4N2nSpHjwwQdj6NChccUVV8SQIUOiU6dOsWLFivjVr35Va1n8jrPtqHXr1tG5c+cCPHOgOWrsMe2Xv/xl/PSnP43TTz89DjvssMjn8/GLX/wiFi1aFHfcccdOH+fb3/52/Nu//VvNO8Lv6J133qlz7Mpms9GpU6cP/wRhByKdFuWhhx6K7t27R+vWraNTp05x9NFHx8033xxnn312nXdT31GXLl3irLPOiiuuuCI+97nP1Wx/73LQiG3vcnz66adHRER1dXXNks9sNhs9e/aMGTNm1PoItfcaPHhwPPvss3HllVfGiSeeGNXV1XHQQQfF2WefHVOnTo1sNrurTx9oQXbn8a60tDR+/etfx6xZs+KOO+6IqVOnxtatW6O8vDxGjBgRkyZNqne2HX3sYx+rs2QeYLvGHtM+/vGPR7t27eLSSy+NVatWRTabjUMPPTTmzp0bZ5111k4f57DDDotzzz03brvttjrX/fCHP4wf/vCHtbadcMIJ8dBDD334Jwg7yOQLsX4XAAAA+NC8Jh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABIh0gEAACARIh0AAAASIdIBAAAgESIdAAAAEiHSAQAAIBEiHQAAABLx/wAA6hMRa3aftgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "my_colors = [\"#4ea8af\",\"#d76b73\", \"#2ecc71\"] \n",
    "sns.set_palette( my_colors ) \n",
    "fig = plt.figure(figsize=(12, 6))\n",
    "sns.boxplot(x=\"Drug_repositioning_type\", y=\"score\", data=type_gdas_all, \n",
    "            width=0.7, order=[\"DREBIOP\", \"DREGE\", \"DISNET\"],\n",
    "            showfliers = False)\n",
    "plt.xlabel(\"\")\n",
    "plt.ylabel(\"Value GDAs\")\n",
    "sns.despine()\n",
    "plt.savefig(\"plot_GDAS.svg\")\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}