{ "cells": [ { "cell_type": "markdown", "id": "cab21492-5603-46e2-aa43-ca6ae8e5cb10", "metadata": {}, "source": [ "# Adding a custom model to use with CREME" ] }, { "cell_type": "markdown", "id": "9a310a06-61c9-41d3-b848-6fed8d363f40", "metadata": {}, "source": [ "This notebook illustrates how to add a new model and use it with CREME. We will use the pytorch version of Enformer from lucidrains as an example but the principles apply to any model. The main requirement is to define a method called `predict` with an input of shape [N, L, A] or [L, A] where N is the batch size, L is the sequence length and A is the number of channels. In our example the torch version of Enformer takes [N, L, A] shaped inputs (instead of the standard for pytorch - [N, A, L]). We will add load the model according to the lucidrains tutorial here https://github.com/lucidrains/enformer-pytorch and simply add the definition of the model `predict` method. Note, we could also define this in a separate scrip, similar to the definition of borzoi." ] }, { "cell_type": "code", "execution_count": 1, "id": "6ab656b6-3701-414a-92ae-f8a52541c974", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "pip install enformer-pytorch --quiet" ] }, { "cell_type": "code", "execution_count": 99, "id": "34fab6fd-7ee6-4012-8a6e-228c4975ab8c", "metadata": {}, "outputs": [], "source": [ "import torch\n", "from enformer_pytorch import Enformer\n", "from enformer_pytorch import from_pretrained\n", "\n", "import numpy as np\n", "from creme import creme\n", "from creme import utils" ] }, { "cell_type": "markdown", "id": "ccab7584-0811-446c-84de-69b14d383eee", "metadata": {}, "source": [ "Define the custom prediction function" ] }, { "cell_type": "code", "execution_count": 121, "id": "8ba3ce5b-f7d4-4230-8b72-8a336ee1ab98", "metadata": {}, "outputs": [], "source": [ "def make_a_prediction(self, x):\n", " # check to make sure shape is correct\n", " if len(x.shape) == 2:\n", " x = x[np.newaxis]\n", "\n", " x_torch = torch.from_numpy(x)\n", " preds = self(x_torch)[self.head].detach().numpy()\n", "\n", " if self.bin_index:\n", " preds = preds[:, self.bin_index, :]\n", " if self.track_index:\n", " preds = preds[..., self.track_index]\n", "\n", " \n", " return preds\n" ] }, { "cell_type": "markdown", "id": "186b98a7-b4cb-47a0-bef1-d5a0d31337a9", "metadata": {}, "source": [ "Load the model" ] }, { "cell_type": "code", "execution_count": 154, "id": "519cb9bb-879c-495f-88b1-de8a6c3b274f", "metadata": {}, "outputs": [], "source": [ "setattr(Enformer, \"predict\", make_a_prediction)\n", "model = from_pretrained('EleutherAI/enformer-official-rough')\n", " " ] }, { "cell_type": "markdown", "id": "0d5e7fb8-05af-43b7-a4c0-868acc0cc534", "metadata": {}, "source": [ "Add the additional methods and attributes" ] }, { "cell_type": "code", "execution_count": 167, "id": "70a91368-65b8-4018-9914-5a70a5b3d21a", "metadata": {}, "outputs": [], "source": [ "model.seq_length = 196608\n", "model.head = 'human'\n", "model.track_index = 5111\n", "model.bin_index = None\n", "# Enformer.predict = make_a_prediction" ] }, { "cell_type": "markdown", "id": "a1a9215a-7e2f-4711-ad88-7de3cb21724b", "metadata": {}, "source": [ "Load a sequence.\n", "Note, this is an example sequence with a silencing context" ] }, { "cell_type": "code", "execution_count": 131, "id": "529a955b-e667-44d7-9f72-58fe78f7c48f", "metadata": {}, "outputs": [], "source": [ "fasta_path = f'../../../data/GRCh38.primary_assembly.genome.fa'\n", "seq_parser = utils.SequenceParser(fasta_path)\n", "\n", "gene = 'NFKBIZ_chr3_101849513_+'\n", "\n", "gene_name, chrom, start, strand = gene.split('_')\n", "wt_seq = seq_parser.extract_seq_centered(chrom, int(start), '-', model.seq_length)\n" ] }, { "cell_type": "markdown", "id": "c2e65af0-f09f-4bb9-97c7-c5344a1f23b0", "metadata": {}, "source": [ "Make a prediction and run context dependence test as an example" ] }, { "cell_type": "code", "execution_count": 171, "id": "5b905bc8-1391-4fc8-bdd2-b4ae507be125", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 13min 7s, sys: 39.5 s, total: 13min 47s\n", "Wall time: 1min 5s\n" ] } ], "source": [ "%%time\n", "half_window_size = 5000 // 2\n", "tss_tile_pos = [model.seq_length // 2 - half_window_size, model.seq_length // 2 + half_window_size]\n", "wt_pred, mut_pred = creme.context_dependence_test(model, wt_seq, tss_tile_pos, 10, False)" ] }, { "cell_type": "code", "execution_count": 176, "id": "35434569-878b-4fbc-97dc-ca5cd90a5a90", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 176, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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HVq0aJEqKirU0NCgSy+9VDt37kzYpre3VytWrFBtba3Ky8u1fPlytbTwhxQAAACQLe3BgaDE6lGSLvW+ekkMvQUAAACguKQUlGzYsEErVqzQa6+9pnXr1ikSiei8885TIBCwt7nxxhv1f//3f1q7dq02bNigAwcO6HOf+1zaKw4AAAAgucFDb6ULQ28BAAAAKEauVDZ+/vnnE14//PDDamho0NatW3XmmWeqq6tL//M//6NHH31UZ599tiTpoYce0vHHH6/XXntNp5122hH7DIfDCofD9mu/3z+W8wAAAADwN1ZQUuutTet+44feMk1ThmGkdf8AAAAAkAvjmqOkq6tLklRTM3Cn2tatWxWJRHTuuefa28yZM0fTpk3Txo0bk+7jjjvuUFVVlf2YOnXqeKoEAAAATHjxc5SkU523ToZhqDfaq56+nrTuGwAAAAByZcxBSSwW0w033KDPfOYzOuGEEyRJzc3NKikpUXV1dcK2jY2Nam5uTrqfm2++WV1dXfZj3759Y60SAAAAMOHFzJgOhw5LSv/QW26nW5NKJ0linhIAAAAAxSOlobfirVixQm+//bZefvnlcVXA4/HI4/GMax8AAAAABnT1dilmxuQwHKoqrVIoGErr/ht8DeoIdag10Kpjao5J674BAAAAIBfGFJRcf/31evbZZ/Xiiy/q6KOPtpc3NTWpr69PnZ2dCb1KWlpa1NTUNO7KAgAAABieNT/JpLJJchgOuVwuXXnllZIklyu1r//Jyjb4GvTeoffoUQIAAACgaKT0l5Jpmlq5cqWeeuop/fnPf9bMmTMT1p9yyilyu91av369li9fLknauXOn9u7dqyVLlqSv1gAAAACSGjw/icfj0cMPPzymfSUra03oTlACAAAAoFikFJSsWLFCjz76qH7729+qoqLCnnekqqpKZWVlqqqq0jXXXKObbrpJNTU1qqys1MqVK7VkyRKddtppGTkBAAAAAJ9oDw4EJemen8RCUAIAAACg2KQUlPz85z+XJC1dujRh+UMPPaSrrrpKknT33XfL4XBo+fLlCofDOv/88/Wzn/0sLZUFAAAAMDxr6C0rKDFNU8FgUJLk9XplGMao95WsbHxQYppmSvsDAAAAgHyU8tBbIyktLdXq1au1evXqMVcKAAAAwNhYQUmtd2DorWAwqPLycklST0+PfD7fqPeVrGydt06G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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABlMAAADKCAYAAAAxbrbIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIJUlEQVR4nO3de5hcZ33g+e85p6rvd7W6Wy237vJFNpZtBLIcGwP2YBuvFxbvQ0y8CeFhMcliJuBJsuEZEgOZGWYYdmBNHJhnniGEnTAEyINDgHjHMWscJ8YYg8E32ZYsS2pJfb9U9b2qztk/qrrUrbvsvujy/TxPqeqc877nvO+p0ttV53fe9w2SJEmQJEmSJEmSJEnSMYXLXQBJkiRJkiRJkqQzmcEUSZIkSZIkSZKkEzCYIkmSJEmSJEmSdAIGUyRJkiRJkiRJkk7AYIokSZIkSZIkSdIJGEyRJEmSJEmSJEk6AYMpkiRJkiRJkiRJJ2AwRZIkSZIkSZIk6QQMpkiSJEmSJEmSJJ2AwRRJkiRJkiRJkqQTOO1gyqOPPsptt91GZ2cnQRDwwAMPzNv+27/92wRBMO9x8803z0szNDTEnXfeSUNDA01NTXzwgx9kbGzsdVVEkiRJkiRJkiRpMZx2MGV8fJytW7dy//33HzfNzTffzKFDh8qP//7f//u87XfeeSfPPfccDz30EN///vd59NFHueuuu06/9JIkSZIkSZIkSYssdboZbrnlFm655ZYTpqmsrKSjo+OY21544QUefPBBnnzySbZt2wbAl770Jd75znfy+c9/ns7OzpOWIUkSstks9fX1BEFwulWQJEmSJEmSJEk6ZYsyZ8ojjzxCW1sbF110Eb/7u7/L4OBgedvjjz9OU1NTOZACcOONNxKGIU888cQx9zc9PU0mkyk/Dhw4QGNjI9lsdjGKL0mSJEmSJEmSVLbgwZSbb76Zr3/96zz88MP8h//wH/jxj3/MLbfcQqFQAKCnp4e2trZ5eVKpFC0tLfT09Bxzn5/97GdpbGwsP7q6uha62JIkSZIkSZIkScd02sN8ncwdd9xRfv2GN7yByy+/nI0bN/LII49www03vKZ9fuITn+Cee+4pL2cyGQMqkiRJkiRJkiRpSSzKMF9zbdiwgdbWVnbt2gVAR0cHfX1989Lk83mGhoaOO89KZWUlDQ0N8x6SJEmSJEmSJElLYdGDKd3d3QwODrJq1SoAduzYwcjICE899VQ5zY9+9CPiOGb79u2LXRxJkiRJkiRJkqTTctrDfI2NjZV7mQDs2bOHp59+mpaWFlpaWvj0pz/N7bffTkdHB7t37+YP//AP2bRpEzfddBMAl1xyCTfffDMf+tCH+MpXvkIul+Puu+/mjjvuoLOzc+FqJkmSJEmSJEmStACCJEmS08nwyCOP8La3ve2o9e9///v58pe/zLvf/W5+8YtfMDIyQmdnJ+94xzv40z/9U9rb28tph4aGuPvuu/m7v/s7wjDk9ttv57777qOuru6UypDJZGhsbGR0dNQhvyRJkiRJkiRJ0qI67WDKmcBgiiRJkrRwxsfHyzc2jY2NUVtbuyR5JUmSJOlssehzpkiSJEmSJEmSJJ3NDKZIkiRJkiRJkiSdgMEUSZIkSZIkSZKkEzCYIkmSJEmSJEmSdAIGUyRJkiRJkiRJkk7AYIokSZIkSZIkSdIJpJa7AJIkSZKWV5IkXH/99eXXS5VXkiRJks4WQXIW/uLJZDI0NjYyOjpKQ0PDchdHkiRJkiRJkiSdwxzmS5IkSZIkSZIk6QQc5kuSJEk6z+XzeX7wgx8AcOutt5JKnfrPhNeTV5IkSZLOFg7zJUmSJJ3n+vr6aG9vB6C3t5e2trYlyStJkiRJZwuH+ZIkSZK0IM7C+7QkSZIk6ZQYTJEkSZL0mk1kM+XX4yPDy1gSSZIkSVo8BlMkSZIkvWY9L+0sv54ayy5jSSRJkiRp8RhMkSRJkvSaFPJ5Du5+sbycyY4tY2kkSZIkafEYTJEkSZL0mvS+sov9cVRePmgwRZIkSdI5ymCKJEmSpNdk//PP8FJVfXl5YHJyGUsjSZIkSYsntdwFkCRJkrS8ampq2LZtW/n1qcj093FgYJDe+jZWXnIphdwMmThZzGJKkiRJ0rIxmCJJkiSd5+rq6njyySdPK8/+55/hxepGGttX8RvffIDeV15mPG/PFEmSJEnnJof5kiRJknRactNTdO9+mZeqG6htbmFrU3Gor9G4uE2SJEmSzjUGUyRJkqTzXD6f57HHHuOxxx4jn8+fNP3BF3fySlRFobqGluoqql96loGdL5BJAiaz2SUosSRJkiQtLYf5kiRJks5zQ0NDXHfddQD09vbS1tZ23LRJktD9wjPsrGmktrmFS8nz3n9xIwD/y1e/wXhmlIbWlUtSbkmSJElaKvZMkSRJknTKBrv3sW98iv7KGuobm3hjw+EJ65MA+jNjy1g6SZIkSVocBlMkSZIknbLu559lZ3UjtY3NbG2soy4VzdveM+YwX5IkSZLOPQZTJEmSJJ2SyWyG7v172V1VR21zC7/WXHdUmr6JyWUomSRJkiQtLoMpkiRJkk5J987neLmynlRtPWsa6lhbVXFUmoHJqWUomSRJkiQtLoMpkiRJkk4qLhTo3vl8cYiv5hauaaojCIKj0g3O5EmSZBlKKEmSJEmLx2CKJEmSpJPqfWUXewswXlVDU2MDV5Ymnk+SeE6qhAwBuWl7p0iSJEk6t6SWuwCSJEmSlldVVRWXXXZZ+fWx7H/+GV6obqS2uZk3NdZRGRbvy8rn97J5cyu5JCRVmyYbpZnMZKioql6y8kuSJEnSYjOYIkmSJJ3nGhoaeOaZZ467PTPQT3f/APtb19HRVBzia1Y+/zR/+727mIwjvthdzeRERDabobGtfSmKLkmSJElLwmG+JEmSJJ1Q9/PP8GJ1A1UNDVzUUEtbZRqAycl9TEzuA6AqKFCZKgDQM5pZtrJKkiRJ0mKwZ4okSZJ0novjmBdffBGAiy66iDA8fM9VbnqK7l0v8lJTF/XN83ulDA49RhzH7N2bJY5naKidZIwK+sbHl7wOkiRJkrSYDKZIkiRJ57mBgQG2bNkCQG9vL21tbeVtB1/aye6omkJ1LW319VxaV5wLZWZmkLHs8wwPT3DrO+8H4P/8u8uARvomJpe8DpIkSZK0mBzmS5IkSdIxJUlC9/PPsLOmkdrmFq5uricMAgCGhv+ZhITamk3l9A1RFoCByellKa8kSZIkLRaDKZIkSZKOaehAN/vHJ+mvrKG+sYntjbUAFAoTjI4+BUBDMCeYUsgAMYO5PEmSLEeRJUmSJGlRGEyRJEmSdEz7n3+GF6obqW1sYmtjHfWpCIDh4SeI4xxVlavY88sXyunD8SEI82SImJmcWK5iS5IkSdKCM5giSZIk6ShTY2N073uV3VX11DavYEdp4vk4zjE88pNioqqLeeTRX5Tz9L20hzAFY1GKyWx2OYotSZIkSYvCYIokSZKko3S/8Cy7KutJ1dbRVV/H+uoKADKZX5LPjxFF9Tz2q6d46B9/Vs7Tv6eXKJ0wE4YMjY4sU8klSZIkaeGddjDl0Ucf5bbbbqOzs5MgCHjggQfmbU+ShD/5kz9h1apVVFdXc+ONN/Lyyy/PSzM0NMSdd95JQ0MDTU1NfPCDH2RsbOx1VUSSJEnSwogLBfbvfK44xFdzC9c01xEEAUmSMDT0TwDsy9cw+NRBfvryznK+Q90ZalIzAPRl/X4vSZIk6dxx2sGU8fFxtm7dyv3333/M7Z/73Oe47777+MpXvsITTzxBbW0tN910E1NTU+U0d955J8899xwPPfQQ3//+93n00Ue56667XnstJEmSJL1mVVVVbNy4kY0bN1JVVUXfnt3szcN4VQ1NjY1c1VADwPj4S0zP9DGen+anPT08+sNfzNvPwd5JGsPiXCk9Y+NLXg9JkiRJWiyp081wyy23cMsttxxzW5IkfPGLX+STn/wk73rXuwD4+te/Tnt7Ow888AB33HEHL7zwAg8++CBPPvkk27ZtA+BLX/oS73znO/n85z9PZ2fn66iOJEmSpNPV0NDArl27yssvPvIQL9Q0UtvUzJsa66gMi/dgDQ09RiEu8KuxKWpfCfgfT/4UgA9fvZ3//JMnONg3QWMwCrTTPzF1rENJkiRJ0llpQedM2bNnDz09Pdx4443ldY2NjWzfvp3HH38cgMcff5ympqZyIAXgxhtvJAxDnnjiiWPud3p6mkwmM+8hSZIkaeFlBwfo7utnf2Udtc3N5Ynnp6YOMj7xCvuz3RzMN7DzBy8yPjPN5pZWbvtfbgfgYN8EVVMDQIHB6ellrIUkSZIkLawFDab09PQA0N7ePm99e3t7eVtPTw9tbW3ztqdSKVpaWsppjvTZz36WxsbG8qOrq2shiy1JkiSd1+I4pq+vj76+PvY9+0t2VjdQ1dDARQ11tFemgWKvlOGpYfbOQNVQwA8fKd4s9RvX7KC/uYnKdJpCnDC+bz+EBYZm8iRxvJzVkiRJkqQFs6DBlMXyiU98gtHR0fJj//79y10kSZIk6ZwxMDBAe3s77e3tPPf0z3mpuoHappZyr5RcboSBkafYl9nLcNhJ8Mgg+4YHaKysZstbr+cDd93FdC4HwMgr3RDkyYQppicmlrNakiRJkrRgFjSY0tHRAUBvb++89b29veVtHR0d9PX1zduez+cZGhoqpzlSZWUlDQ0N8x6SJEmSFt6rYSX5qlraGuq5rK4agKGhf+LV0VfIBnW0V67nu3/7CAB3XHklU42N8/IPvNpLmIaxKMVEZmSJSy9JkiRJi2NBgynr16+no6ODhx9+uLwuk8nwxBNPsGPHDgB27NjByMgITz31VDnNj370I+I4Zvv27QtZHEmSJEmn6eXqeuqam9neVEcYBBQKU+w8+H0yM1nGUl2sezrPP73yIlEQctNt/xNBZeW8/D37h4lSMYUgoD+TXaZaSJIkSdLCSp1uhrGxMXbt2lVe3rNnD08//TQtLS2sWbOGj33sY/ybf/Nv2Lx5M+vXr+eP//iP6ezs5N3vfjcAl1xyCTfffDMf+tCH+MpXvkIul+Puu+/mjjvuoLOzc8EqJkmSJOn0DVbUsLGpmatLQ3zt6fkfHMi+Si6o5tp17+WL/+pfAXDLhZcQrlsLhcK8/PsPjrM5nGCQOnqyWS5a8hpIkiRJ0sI77WDKz372M972treVl++55x4A3v/+9/O1r32NP/zDP2R8fJy77rqLkZERrr32Wh588EGqqqrKef7qr/6Ku+++mxtuuIEwDLn99tu57777FqA6kiRJkl6PqoYGtjbW0ZCKmMlP8ou93yBOEuqbttN5IOY7P/0JAO+64W0EdXU0BcG8/PsOjVFbGGaQNvrHJ5ejCpIkSZK04E47mPLWt76VJEmOuz0IAj7zmc/wmc985rhpWlpa+MY3vnG6h5YkSZK0CKbGxsqv6xqbuabUK+WRXV9nOjdCGNZw08W/w7//7d9lppDnyo4LaNt2FUEQsH79+nLeABifzBP0H4KaTfQ7Ab0kSZKkc8SCzpkiSZIk6ezTv/fV8uvOujrWV1ewe2Q33X3/A4AtXe8hPQ3/5fs/AOA9O3ZAczP19fWsXLmynLe1sQmA7N69EBYYnM4tWR0kSZIkaTEZTJEkSZLOc1Njo9S2rKBmZRs7WpuYKkzx/770l1Qk47TWdPCGrvfwV//pP9E/lmVVXSNb3n49QRSxadMmKisrWb16NW1tbbS3NAMw+upBCPIM5fPEceEkR5ckSZKkM5/BFEmSJOk8dyifcNt//X/48N//f1y/ppMfvvJDUtMvURVVctkF7yIMq7nvq18H4PYrtxG1t1FdXU1nZydNTU10d3fzxBNP0NW5CoChfX0EYZ5smJ43hJgkSZIkna0MpkiSJEnnsTgu8PJUcTiuK1saeHnoOV4a+Cm18SjrGzfQtuItPPLA3/Cr/XupSqXZ8S+uJ6yqYuPGjYTh4Z8T9fX1rF7dCUBv9whBlDAephjLjC5LvSRJkiRpIRlMkSRJks5jEyMjDIUpgjCkvSbFD/f8kKbCIVbVrqK95U1UVKzgC5/7vwC49ZKt1KxfT0VFBV1dXfP2U19fz5r1GwA4cChDOsyRBNCXyS55nSRJkiRpoRlMkSRJks5jY0ODdI9N8t/fdTM3daxiuO8gHdEkq+o6WNFyHbt3vsj3n3gCgLdft4OwoYH169eTSqUA6OvrIwgCKisraW/vAKB3cJKKyb7i66zDfEmSJEk6+xlMkSRJks5jvUODTEVRebk5GWJ941pqqtdSXd3Fff/m0yRJwjVrL6TjijeQSqVYt25dOf3UWK78ekVHF/U1NQDk9r0KFOibmFiimkiSJEnS4jGYIkmSJJ3H9g6PkI8L5eVL6iqpjCppabmOTCbDV//muwDcvP1NpFauZN26dVRUVJTT9+3LlF+nohpWtawAYHzvfgjz9E9MLVFNJEmSJGnxGEyRJEmSzmP7suNMx9Pl5ZaKWioqVlBXdzFf/bMvMTY1xYbmNi7afhVROs369evLaZMkoe/Vw8GUIF/BqrZWADJ7D0GQZ3DmcM8VSZIkSTpbGUyRJEmSzlO56Sl6czGFOT1TAFqaryWOE770pT8D4NY3vpnKCy5g9erVVFdXl9ON9k0yNZEvL8fTEZ2rivOmDHX3Q1BgJF8gLszfvyRJkiSdbQymSJIkSeepsaFBhlIVFIK4vC6KamhsvILvf+/veKWnh8bKarbteCNhdTWbNm2al79nz+i85cJkSNeatQD0HRgmCPJkozST2QySJEmSdDYzmCJJkiSdp0YHBxiKUsSppLyusfGNhGEFX/zsvwXglsvfRP3G9axatYq6urpyukIupm9vdt7+AlKs33gRAId6MiTJDJNhRCYzP+giSZIkSWcbgymSJEnSeWrv0DAzSYF0dUJDUwUtLTW0rbyaX/7ylzzy5M+IgpDrrt5G1NzMxo0b5+Xt35+lkI+pa6hh5cqVNDe2kE6l6eraTCqKmMnFzPQfAKB3NHusw0uSJEnSWcNgiiRJknSe2pfJkovzdDTN8M3/93/lmWf+ktbWC/ji5z4HwPUXXkb7heuLwZLm5nl5e14p9ja58PIu+vr6eOKh56mrbaCispGOlhYAcntfBQr0jI0tZbUkSZIkacEZTJEkSZLOQ0mScGB8knycpyU9TE2qhpqadfT19fGNb30LgLe96c2kV68+aq6UqbEcI70TAHRsaASgrrkSgCCfpqO1FYDJfd0Q5umbmFyqakmSJEnSojCYIkmSJJ2HJrMZBoIU+SRPa9RPTaqGqqpOvvzlLzOTz7OlYw0XX7qJphUraC0FR2b17BklAZrba6iqSwNQ11IFQDyRorO9DYDM/h4I8gxMTi1p3SRJkiRpoRlMkSRJks5DY0ODDEQpknRMevgQb956H9XVq7n///6/AXjHm64mtaaLTZs2EQRBOV+SJOUhvjo2NNLX10cQBDSsqGY0M0RIBZ2rLwBgqLsfgjyDM7mlr6AkSZIkLSCDKZIkSdJ5qHdwkCwJUUWBlmimvL5/eJiVdY286fItNHR00NHRMS/faP8kk2M5olTIyq568oW4vC1VFxGFadauKw4L1ndwCMgxUoB8zoCKJEmSpLOXwRRJkiTpPLRnaIR8nKc+NUZDunLetndcdTVVF7SxceNGwnD+T4bZXilta+qJ0iHPHRwtb5tKFXuwrF97CQCZzBTT2RGyUZrJbGYxqyNJkiRJi8pgiiRJknQe2j82Tj7J05IapjpdVV5fEaV465VXUrd+AxdccMG8PIVcTP/eLFAc4itJEh7fPVTeng2KvVTq6tpoqa8DYOzAAXJhwFDGYIokSZKks5fBFEmSJOk8U8jnODSdIx/nWRENUh3VlLf92kWX0bR6BRs2biSKonn5+ruz5PMx1bVpGtuqeeFQloGx6fL2wdKQX0mugo4VxUnrJ/fvAwr0jBpMkSRJknT2MpgiSZIknWfGh4eLk89HeZrCEUYGDs97ct3WbdRsXMfatWuPytf7SjEg0rGhkSAIePTl/nnbD03PQAJBIc2qtpUATO4/AGGevvHxRayRJEmSJC2u1HIXQJIkSdLSGh7oZyAMCVMJ7dEkjz5yuNfIBResZP0ll5JOp+flmRrPMdxTDIi0b2hg7+A4ewcniMKgnCYHFCoCKpNqOjo6Acju74EgT//E5OJXTJIkSZIWiT1TJEmSpPPMvuFhcnGBqvQ0K9Ihv/z5fgDSUYrq1StZv379UXl6XhklAZraaqiuq+DHLxV7pVyxtoXGxkaqa+sJooipdEAUpum6oLiPoQP9QJ7+yemj9ilJkiRJZwuDKZIkSdJ5Zu9olnySpzkcoiqs4le/3AXAn/72XVz+1rdTVVU1L32SJPTuKfZeWbWxkd7MFC8cyhIE8M5tFzIyMsL3fvoyNfVNjJQmoV+35hIAhnpHKMxMMDSTW8IaSpIkSdLCMpgiSZIknUeSJKF7bJx8nGNFaohDr04yNjlNdUUl6zauYeOmTUflyQxMMpGdIUqFrOyq59FSr5QtqxpYWV8JQFdLcRL7/nwegNYVa6mqSBPHCWM9BxhNAnIz9k6RJEmSdHYymCJJkiSdR2YmJ+iJgSBHYzTKC78cBWDz6jV0reuitrb2qDw9u4tp2tbUM5Yr8PT+EQCuv3BlOU1XSzUA/XFMvhATJtV0rGgBIHvgINkoxWQmgyRJkiSdjQymSJIkSeeR7OAAfWFEWBGzMjXJL396AIBf7XmZa+/83+jr65uXvpCP6dubBaBjQyOP7RogTmBDay1dLTX09fURhiF1VRVU5bMkqYDpACpSVXSsaC8es/sQcRDTN2owRZIkSdLZyWCKJEmSdB45NDDIRJAQpWPaozxPPbWnvC1JkqPS9+/Pks/HVNWmSTelefLVIQCuv2jlvHxJkrC6qdg7ZTIFlalqOto7AJjYfwDCPL3Z7GJWTZIkSZIWjcEUSZIk6Tzy6sgI+ThPY2qUyYE8vcNjhEFw3PS9rxR7k3RsaOSne4aZzsesaqxic1vdUWlngykjQUIUpulctQaAbHcPBHl6x8YXoUaSJEmStPgMpkiSJEnnkf3Z4uTzLdEQO381DMDatlXHTDs1nmO4pxgAaV1bxz/vHgDgus2tBMcIwKxuLgZTegs5SGDN6gsBGD7QTxLP0D8xueD1kSRJkqSlYDBFkiRJOk/EcYHuySmSYIbGaJTnf9YLwMZVFxwzfe+eDAnQ1FbDswPjjE0XaK5Js/WCpmOmb6uvoiIKmEgFTOUKrG7fTBAETE9OMzXUz8D0zCLVTJIkSZIWl8EUSZIk6TwxMTJCbxAQpmJWpCZ5+qni5PMXdnUdlTZJEnpeGQWgfV0Dj+3qB+Daza2E4bGHBQvDgAuaa0hSARNxTG1tM23NDQBkDnQzNJM75rwskiRJknSmM5giSZIknSeGBwcYCkKiipi68Sy7u4vDfF26cf1RaTMDk0xkZ4hSIX3pmKHxHDUVEW9c23zCY3S1VEMQMJGCinQ1HSuKE9VnDhxklJD89PTCV0ySJEmSFpnBFEmSJOk88erQMLmkQFVqikPPDwKwesVKNl64npqaGmpqakilUgD0lCaeX9lVxz/uLqa9ZuMKKlPRvH2mUql5ede01AIwnMRUpqppay3Ox5Lt7mEiChjLjC5JXSVJkiRpIaWWuwCSJEmSlsbekdHi5PPhEC8+VZwv5aIL1rL5umsZHx8vpysUYvpeLQZTZppSHOyZoiIK2LFxxVH7bGlpmZc3PZUDYDApABWsal8NQLb7EEmQp2c0Q3Nb+2JVUZIkSZIWhT1TJEmSpPPEvrFxknCGpijDMz8vBlMuXrOWtnUb5qUb2D9GPh9TVZvmpwNZALata6Gm4uT3YtVXpWmuSZOvihifzrO6YxNQ7JlCkKMnm13gWkmSJEnS4lvwYMqnPvUpgiCY97j44ovL26empvjIRz7CihUrqKur4/bbb6e3t3ehiyFJkiRpjtz0FAdyM0Rhntr8CC/sGgJg64WbqK2tnZe2Z3dxKK50WxWvDEwQBnDtptZTPtaalhriioDxXIF1XcXfAmMDw+QnMvSNTyxQjSRJkiRp6SxKz5RLL72UQ4cOlR+PPfZYedvHP/5x/u7v/o5vf/vb/PjHP+bgwYO85z3vWYxiSJIkSSrJDg7QH6YI0zGTuw+RL8Q019Vz6aUXMTg4SCqVIpVK0b33EMM9xWG7duZmANh6QRPNtRXH3O/AwEA578DAAABdLTUQBIxHsLJ1NfW1VcUyHOymf2JqCWorSZIkSQtrUeZMSaVSdHR0HLV+dHSU//pf/yvf+MY3ePvb3w7AX/zFX3DJJZfwk5/8hKuvvnoxiiNJkiSd9w4ODjJBQipdoOfpAwBcdME6Oq64gjiOKRQKAPS+OkoCpBsreH5oDIDrLjx+r5S5eeM4Boo9UwCGkgKd6Ro6VqwgO36AzIFuBjdNL1YVJUmSJGnRLErPlJdffpnOzk42bNjAnXfeyb59+wB46qmnyOVy3HjjjeW0F198MWvWrOHxxx9fjKJIkiRJAvYMj1JIcjSGI+z8eQ8AF69ZQ9umTfPS9e0tTjx/IIpJEriovY5VjdWndaxVjVWkwoCJVABU0L6iOOF85sAhhnJ5kiR5/RWSJEmSpCW04MGU7du387WvfY0HH3yQL3/5y+zZs4frrruObDZLT08PFRUVNDU1zcvT3t5OT0/Pcfc5PT1NJpOZ95AkSZJ06vZmsiTBNPXJCM88X5wv5fLNm6irq5uXbnIsR4GEZycmAXjLhStP+1ipKKSzqZpCVcjkTEB7axcAme4eMmHCzOTk66yNJEmSJC2tBR/m65Zbbim/vvzyy9m+fTtr167lW9/6FtXVp3dH26zPfvazfPrTn16oIkqSJEnnlSRJ2DuWJUwXyO/fx8RUnuqKSq66/FKCIDgq/XBFQD6ArpZq1rfWHmOPJ7empYZ9A+OMDeZZ3bEWgOyBXqbC4vC/bTU1r6tOkiRJkrSUFmWYr7mampq48MIL2bVrFx0dHczMzDAyMjIvTW9v7zHnWJn1iU98gtHR0fJj//79i1xqSZIk6dwxmc3QC4RRgZHn9gKwefUaOq/celTaQpLwYr44r8lbNq88ZrDlVHS1VEMYMB4mrOu6GIDswV7i/BQ9mdHXVhFJkiRJWiaLHkwZGxtj9+7drFq1ije+8Y2k02kefvjh8vYXX3yRffv2sWPHjuPuo7KykoaGhnkPSZIkSadmaHCA4TAiSscc/HnxxqSLu9bSftHFR6UdyeUZrwhYWVfBpZ2v/Xv37CT0w8R0dm4iFYUUZnKM9x+kNzv2mvcrSZIkScthwYf5+v3f/31uu+021q5dy8GDB7n33nuJooj3ve99NDY28sEPfpB77rmHlpYWGhoa+OhHP8qOHTu4+uqrF7ookiRJkoBXB4coJDlqwgleeK4fgMs2rae+vh6AMAxJpysgSegOYggC3nLhqfVKCcOQysrK8utZjdVpGqpSTFeGhPk6Olqb6e4dJHtgP32XOGeKJEmSpLPLggdTuru7ed/73sfg4CArV67k2muv5Sc/+QkrVxYnrvzCF75AGIbcfvvtTE9Pc9NNN/Hnf/7nC10MSZIkSSWvDo8SB9NEfXsZGJ4mCiOuvvLycrCkvqaR//EXv6Q/O83TTdBQleKKrqZT2ndraytTU1NHrQ+CgK6WGl4cnGJmJEV768pSMOUg/ZNHp5ckSZKkM9mCB1O++c1vnnB7VVUV999/P/fff/9CH1qSJEnSMezOjhBGebLPvgTAho5O1r7xqvL2nj0ZkgQOFvLEFRVcs6mVVPT6RwTuaqnhuapRJnIF2ls6gZ1kDhxiYGb6de9bkiRJkpbSos+ZIkmSJGn5FPI5DkxNE0UxQ8+8CsBFXWtpu2QLAEmS0LN7lJGJGYaqAipTIdvXtyzIsde01EAUkCWms20dAJkDPQznpkmSZEGOIUmSJElLwWCKJEmSdA4bGxqiP0oRpgrsffYgAJdtWE9jYyMAmYEpDnb38N7/Yxv/9neu5pLmhKp0dMr7HxgYoKqqiqqqKgYGBuZtW91UTRjARAouWLW5eLzuHrJhwtSYk9BLkiRJOnsYTJEkSZLOYfsHBpgOChTGRjlwIAvAjiuvKM+X0vPKKGNTOfKFHIV8jm1rm09r/3EcMz09zfT0NHEcz9tWkQpZ1VhFviqio/MiAKZHs4xlRhnKZhagdpIkSZK0NAymSJIkSeewPUPDJME0ky88B8DqFSu5cPs2AAqFmL69GfrHDs9hUl+VXtDjd7XUUKgKiapW0NJYC0DmwF4OjRhMkSRJknT2MJgiSZIkncNeHhksTj7/THHy+Yu61tJ22WUADHaPMTWVZziXW7TjzwZTpnIpOlauACBzsJu+cYf5kiRJknT2MJgiSZIknaOSJGHv2BhhWKDvuX0AXLp+PU1NTQAc2j1Kf3aGqfqF7Y0y15qWGpJUyHgS0tHaDkD2wCH6xicX7ZiSJEmStNAMpkiSJEnnqJnJSfqSBAqTdO/uB+Cayy8nDEOmJ3IMHRqnLzvFTMPiBVNW1FZQUxGRqwzpaOkCIHPwEP2TE4t2TEmSJElaaAZTJEmSpHPU4EA/o1HIyK5XKRRimuvqufzXdgDQuydDZjLHeDogXRMtWhmCIGBNaaivttZNAGS7exiaNpgiSZIk6exhMEWSJEk6R+3uHyAJp8k+W5ov5YJ1dFx1BUmScOiVUfoy08w0pdna1UwURURRRBie3k+EMAxPmnc2mNLacTEAYz399E+OkcTx66ugJEmSJC2R1HIXQJIkSdLieGmonzDMM/LcywBsWb+OpuZmsoNTjA5NMTw5w0xXHf/iqs3k8/nXdIzW1taT5u1qqaZQFVFZfwGVlWmmp3P09PYwOZalpqHxNR1XkiRJkpaSPVMkSZKkc9QrmRFCcvTs3A/A9ssuJQxDel4ZpT87zXRDijUra+lorFrUclzQXENSEZALquhsawJg5EA3faOji3pcSZIkSVooBlMkSZKkc1AcFzg4NcPY/n1MT85QXVHBjre+hUIhpvfVDP1j08w0pnnz+pZFL0tVOqKtoYq4uoKO1pUAZA4epCcztujHliRJkqSFYDBFkiRJOgeNDw8zlAoYfn43AJtXr6Fz2zYGu8cYHJ1mkoR0UwWXX9DI0NAQtbW11NbWMjQ0dFrHOdW8Xc01FKoi2ltWAaVgypjBFEmSJElnB4MpkiRJ0jlo38AAuSjP0POvALBl3TqaW1fQ88oofdkpZprSXLWumXQUks/nmZiYYGJi4rTnTjnVvGtXlCahb1kHQPbAIfrHx19z/SRJkiRpKRlMkSRJks5BL/T3QJBj6PldALxpyxZyUwV69mUZmcgVh/hat/hDfM3qaqkhXxXS0HIxAJkDPfRmTq8XjCRJkiQtl9RyF0CSJEnSwnt5eICZgV7GhzJEUci1b3sbvXsy9GenyVVHrF1dR1vD4k48P1dbfSXp2hTVbRcRBAH5iSn29XQv2fElSZIk6fWwZ4okSZJ0Dto3Ps7IzmKvlA0dq1h/zdUc2j1KX3aamaYUb16/YknLEwQBXStqCRpaaG1tAGB/9wHiQmFJyyFJkiRJr4XBFEmSJOkck5ueYoACQy8UJ5+/eM160lE9B3vGmIljUq1VXNbZsOTl6mquplBdQcfK4vBi/b29jGUzS14OSZIkSTpdBlMkSZKkc8zAwADjqYDB0uTz2y6+mL692WKvlPoUb9zQQipa+p8Ca0qT0HeuWAlA5uBBekYMpkiSJEk68xlMkSRJks4xz/ceJD8+TGb/IQDecv317Ht5hNHJHDNNad50jInngyAgCILXdLxTzdvVXEOhKmJl82oAMgcP0WvPFEmSJElnASeglyRJks4xL/T3MLrzZQBWr2yhY8t2nvxJlkIqYM26BlbWV85L39bWRhzHr+lYp5O3tjJF84oqMi0XApA9cIhDwyOv6biSJEmStJTsmSJJkiSdY17NjpQnn794zVomRioYGJthpinN9g1LO/H8kbpaa2lcdQUAE/1D7DnwyrKWR5IkSZJOhcEUSZIk6RySJAl9uSkGXygGKa7ceAmv7hllphCTbqtky6qln3h+rq7mGtLta6iprwbgpd27lrU8kiRJknQqDKZIkiRJ55DxzCiDcZ6h3XsBuOqKX6M/O02hOuKqC1uPOfH80NAQTU1NNDU1MTQ0dFrHO928a1bUENdU0tZenLdl36FDp3U8SZIkSVoOBlMkSZKkc8hLPQcYfuUVknyB5oYaGlZdxchkjummFG9ef+whvvL5PKOjo4yOjpLP50/reKebt6OhiqA2YlVrsSx9PX0U8rnTOqYkSZIkLTWDKZIkSdI55Nne/Yy+UJx8/uJ1XQxmUhDAmo1NtNRWLHPpIAoDOjpq6WxpA2Cop4eR0cwyl0qSJEmSTsxgiiRJknQO2TU8wOCLxXlItqy5hIGxHDP1KbZvbl3mkh22ZmUdbc1rAMgePMTB4ZHlLZAkSZIknYTBFEmSJOkccnBylMGdxcnnN3a9mVyckG6v4pJlnnh+rq6WGhpWXQ5A9mAve/btW+YSSZIkSdKJGUyRJEmSzhGFfI59e7vJT0xRVZWmvnMrSSrgyktXEoXBchevrKulhoq1VxGlIuKZHM88/9RyF0mSJEmSTshgiiRJknSO2N97iN6XXgVg89pOxpIGZprSx514frk0Vqepb2uipaMFgJ27dy9ziSRJkiTpxAymSJIkSeeIpw/sZqg0X8pFXRsJgpCuTU00nwETzx9pdWc9K9uL87js7+1d5tJIkiRJ0omllrsAkiRJkhbGiwMHGXjhZQDWdVxJoTpi+5a2k+Zra2sjSZLXdMzXmndNex0drSt4Hujt7X9Nx5YkSZKkpWLPFEmSJOkc8eKuF5kaGiWMQpq7riHVVsnFHfXLXaxjWtNSw6oV7QAMHupjZmpqmUskSZIkScdnMEWSJEk6ByRJwu7n9wDQtbaDsGYlV25tJzyDJp6fa1VTFW1tGwDIHOyhp6dvmUskSZIkScdnMEWSJEk6B2SzI3Tv2gfAhWu6yDdW8uZNraeUd2RkhLa2Ntra2hgZGTmt477WvOko5ILL3wbA9GiGn/3sn0/ruJIkSZK0lAymSJIkSeeAn+9/iYGXivOlXNR5MRdsbKKxJn1KeWdmZujv76e/v5+ZmZnTOu7rybvxki3UrmgE4MmnnzqtvJIkSZK0lAymSDqjxPE0hcLkchdDkqSzzpNPP0Fm/yEA2rqu5+orOpa5RCe3trOBFauKvWd2vXqA7kefYSbj9wBJkiRJZ57UchdA0vktSRKmpw8xPv4yY+MvMzm5jyQpUFW5itrazdTWbqK6eg1heGp31kqStJySJIEkKT6XlmdfkyQkFLeTUH4dxwm5eIbp/DQzhRlSUYpUuoJUlCadqiguBymC4MRznzz1k2LPjhWrW6ne9AYuPEMnnp9r7YpaWtta2Mdu/r8nnuRDfJlfW3MRb1rVxobNa7lg22VUtzYsdzElSZIkaXmDKffffz//8T/+R3p6eti6dStf+tKXePOb37ycRZK0BPL5LOPju0qPl8kXxo9KMzV9iKnpQwwOPUoYpKmuWUttzSZqazdRWdlx0gtKkiQttCRJmJmcZHp8jKnxsfLzaHaE/uwog2OjDI+PMVXIQRKTJDHEMQkFkri4nCQFkjgPSYEkLr5OkgJBkhAkCWESkwQBCcW/c0kQQAhxGEIYQBgRhiGUHkEYlJYDdu7uBmD9hi4uv3LVGTvx/FxNNWm2rF3Dz3mSwV27eHDXLh4Eala2serCLVy69mKu3bCZ6y6/kIvf/EYa1/gdQJIkSdLyWLZgyl//9V9zzz338JWvfIXt27fzxS9+kZtuuokXX3yRtra25SqWpEUQx3kmJ/cyPv4y4+MvMzXdM297GFZQU7OB2tpN1NVuJgwrGR/fXQy2TOyaF3yhH1JRLbW1xcBKTc0m0mnvWJUkFcWFAvmZaQqFUgAjjku9Q2KSODnOcmldKX1cKDAyPkZPZoj+7Aj92RF6BwboHxgmOz7B6MQk2ckpxiemGJ+YZHJ8gpmxseIjO0ZhehqCkCDg2M8EEAaloEBAEJaeg9K68nM4f5ng2MthcZ9DrxbnS7mwaz1XX3p2fJ8OgoAb/9ePckHrGL944RDP7uzj4Ct9TPT3sbu/j93/9AjfA2raVnLB5ou5bO1m3nb5pdz2zpvp2nIRYRQtdxUkSZIknSeCpDzuwNLavn07b3rTm/izP/szAOI4pquri49+9KP80R/90QnzZjIZGhsbGRkepra2lriQJ84XiAt5CnNf5/PEhQJxPk+hUDicLi4QhCFRFBFGKcIoIowigigqrwtKz1EUQRQRRSmCKCxuCwJmT1p51AYOn8Yjz+iRy6XfwERBQBgEpeXXf4ddkhRLESdQICFOIJ59ThIKFCfJCYAwCIqvy89Q+mlPGBTTLOVdf3OHwpj7fOS6OEkoJJBPYgoJFJKEfBzPXxcn5ElK24r1TgUBURhQEUakwqD4CEJSYUg6CkkFAWFQTJeac25OpcyUzi9JQkzx/CcxxMQkSencBkHx/IZAkhAGpZNMMV3xM3V4yI+Ew0OCFN+jEAIICAhnL8KcQhmXS5IkzMz0Mzb2MmPjuxgbe4XJ6UlmZmJmZvJMTxcIghaiqJMgbIekqbR+msnpKZIkobKiksrKStIVaaJwkjjuoxD3ECc9pFIJ6XRERUWKioqI2toO6mo3UVu7kZqatYRh5VHlKb2AOCZIkuL/yyQpP4IkIYlL5zwMDt/xG8x/fSpn/Fhvy6m+U3PTnanv76wj/3wEQTBn3eHnY62bfX14F8kR22f3f2RejrG/uRcVy61c6X0Ij1h/7PN6rDZn7vKRxzxctuJyHMfz6zt7oTZJKMQFKBSKd6gXCsSlO9MhIQhSRGFIGKYgTBNEIVEYQZgiDKPi//+o9H/+OJ+HOI6L7U8SQwKFOC62/YWEuFCgULo7Pk6KZSjki2VNV1aRSqVIhSlSqZAoCIt/k2Y/90to9hwns6/L6yieL0rtLBAXiuWPma13UqpfQhzHxIXieY/j0t/+pHhhPE7io447ry2dW+cjLlYfXl3qKcCc5HPyBRz+m57MyRPM2V6sT/GzU3zL5rb5Qek/xZx1CSQcPgeFQqFUzxyFuEAhLpDk88RxTCEpEMf54nsfFyjExfVxPs9MvkAhn6dATD6XJ1/Iky/EFOI8hUJcXI5L+y/ExElMvhRoOFy/hIAEkmL9AhLCJCAJY8IYEgKCIDl8Lkp/78LZ71xhSBgGpKKo+LcxKn7+U1FEGBYfqXRIGEREqeK0fqPDIwwODzGcyZAdm2RscpLJqWkmpnNMTs8wPZNnaibHTC5ffMzkyOXy5GZyFPKFY3zYjrXq6JVJkpAbn2A6m2UmO85MdmzeuTiTBWHIf/wP/4l/9fu/d1r5+vr6aG9vB6C3t/e0bm56PXkBHn2pn7//1QGqZ4aozfcQje1m30tP8svd+3lhZy89r/Qedf5r21eyZvNmLtuwjv/5bW/l3e+6ncmZGUZGhhgcGmR4eIDRzAijo6OMTYyRHZtgfHKSielpJqenmZrJM53LM53LkcsXSKUiqtIpqtIVVFZG1FZVUVtVSV1tLQ21NTQ0NtHc2MyK1lZWtLbR2tJGQ20DFVVVBOHyTEM597uiJOn8EidJ+dpPISn+6omCgGgZrudI0vlkWYIpMzMz1NTU8J3vfId3v/vd5fXvf//7GRkZ4W//9m/npZ+enmZ6erq8nMlk6OrqIqxIH/cPxMn/bhx9cWT+6rnbT7zj4MgLMCfcPvflMdYfcVHmWPlmJeWLLsXt85bnJTziwuBJth97HydeccyP0UnzHJ3l6JXJnH+PUb9j7ORUPtDzTudx37/kiPfgiDfheO/lUfs8hQLN28cp1OA4F/WPzLngX6CC8j8nFefzFHJ54lyOpLD4F6DCVIownSJMRSdvAGYvWh4/wUmyn8J7dLIkJ9nHKTXMJyvHAjTvJ63rUhwDTuGELMF7dgrvykkPszz3Lxxf6c74YE7gMAiLwadgzrbZwEIQlpaTORf/mQ0eQTGYxLx6zpsr4sj15Tyl17PB81J6SoGVefNLHLl8xPHOCcdqw861Op6lKqoqqK6rora+mrraSupqq2ioqaahqpqGmhrqqhqoqWkila4iKN5iQZwUKN7eUgAKkJSG/SKmdPsLSVIgJiEJikFBgmKQkKS4D5h9nZQCi0lp3zHleVgoBhLb2jp434e/xmUbTm/y+eUMpkznC/zz7kEGx2YYncwxOlF8zs/MUJPrIxp5if07/4lnd7/CSy8fonf3oaOCK1FVJXE+T3KsINoiCKKIqCJdfKRSpXaS4nMYlIKrc3odzfZEKgVc5z6SUjA4Kd3YkcSlIHEcl5eZTRMf7kVFXHzn57bXs+15MNuel7aF5W2U04TLFATS63Oivwbl30wLfLTXskcv40rznfKlt7k37xZXzHl9rOXj7OaoPRSXg7nb/X4p6RzVv3vfou17WYb5GhgYoFAolH90zWpvb2fnzp1Hpf/sZz/Lpz/96aPWxzO5RSujpMUTpisI02nCVLoUBCm+jtIVhKk0BBDnc8T5fPE5V3qdy5XXJ4X8vH0W0+aPc0RJxxSXekAsQcBTp+FM+GE7G7SfvUDM4YvAh5ME5SB7+SJyKc9svtng2mxQrNzbptyDK5kfWIvn1z1MRaQq0qQqK0hVpElXpKmoSJOuSFFRkaYinaIyXXyuSqepSBV7FlSl0qSjqHSjwuEbT+Y8lcy9s/9wH5UwCKivrKGxtoWa+lbqG1dRu2I1VfUrqaiuo7KikurqCioq01RWpqisjKisSFFVGVFVGRGmQuJSD9l86TlOEnKFw8v5uNiLdiaOiWPIFWJycUK+EFM+JRzRWyuef95me3AB5SHKOlrquHT9/O/Yp6Ktre3UL/QsYF6AylTE2y6aH4BJkoSpXFwMrkz+GqOT/xujkzmGR0YZ2PNznnniBzzz8m527e6mb/cBClPTR+03iEKidJpURYoonSJVfkTl53Q6RSqKyOcL5PIFcrkc+Zk8uZniTSG5mTyFmRz5mRzxnEBNUiiQnyyQn5x6zfWWJEmSdHZZ1gnoT9UnPvEJ7rnnnvLybM+U/+vzf0pdbU3pR3tx2zH6hRy9w+Tw2vIQUnPj+slRL4740Vq6M7C4YTZB+WJBAgRJ6Uft7OvZoWDm3XV7+Mjx7IAZyeHjzSaZvd+wdPMvEaWhNZgdciMgLN1hECQJUenCQXldcORZCA7vEyAIyz/ak9KIJvHcspTujJi9pyGcHfakdDNbGBbvb4iS5PCFliCkPDhKVOpmOqcUURjO6+UQzh/ciCAspZ+9/hEERKW6h5TmX6VchPk9Q5LkqB4mzB4qOTxkTPH9KN3dx2wXWSjEAXGQkE+K56FAQhQns9eRSkeKDxc/oTisSQJhUBwuavZekqA0FEo8e96DgCQpnp/ZS5cxkCSlbYSlc12sexLMKX/pgklx6KC572d8xF3apXRH3Lsyd5iZuRvm7io44vXsJajDfWaKn6kkKd3REiTzcgXlz2pAOmygMl1FOpUmnU5RkUqTTqdJl4Yumns+y9PsltYlc/+PUvwMzhUQUIhjcvkcuXxxaJdcPkculyNXGJ9f6tLku0npmLNbisM+xaWhOUrv2Oz5PuJ6UBADydw7XWffnFLauPSuld+zUl2CkKR88TGZu6FYjig4XOmysJz2GJ/iuSeh+D7M++iXBy2as7s5d53Ordq8Nz4sfS5ndz33EzN7rmb3PP89h+Ipnru7cvt2xPX5+e3e0edk7idp9t+gXJqA495AO9smBbP/98vTNpcfAbPD6yXz34/Z9qL0AQznlSIov5/FYZtKPTaCcE6auXMhhCRhSBgVe3IQzl7IDYvneDZ/mC6mKTeypcmoSYiDQulvBpDMuaM9LpQvMscUJ6oudhiZHVYqKp3D4pCGIVFxyC5Kk1OXy10czitOEvKFGfK56eLFw/w0+XyefH6GfD4mV8gVhwjLzxSHgIrzFPIF8nGBfKFQbHvD0rBgpfNRHM6pdA7DgKjU+IdhWP5bFIbFckbFsSUJSB3OEwTFIc+C4lBQQek5DAKIwtK5DomigCCIiMKomLZ0XAiLQ3SGEQHFbeWJuaOo3BaUP2Ozf2fLw2pR+n6QQHlIsKD0//vw3+LZpSAoJSu/jxzeX2lnc48Yz8ld+nTNjug19z/HvAvSs/+/4yQuv4dhlCrWKQhL70FU/KwFQWnY0lTpMxgVz2NY/NYQRVGx51753EblnkZRFBJFqfJn/XATMPv5mlORI1uZuY31vHZj/sbDnY/iUj1L6wvlSADMviYmjovbKhuqqaqoKA7rmI6IUgFRdLjnlM5dQRBQXRFRXRHR0Vg1Z0s7XHMh3HkHSZIwMZ3nVz9/gp3P/JyGhgYa6ptpaG6ltqGZyppa0hVVpFOVpMuBk+LQclEEqTmfpdlgVT5OyOUKxbYvXyCXKzAzk2cmN83M5DjjoyNkhwcYyQwyOjrE6GiGyZkJkkJCIYkplHqUxElMUii+zpeG90sKpe1zeqLECYeHwys9UlFUHHY2ikiFacJUSEUQEaWi4rbS96lo9gaUXJ6ZOE8+VxzyuBDH5ArFIfxyhVyxDKVhEHNxgTiGQpwnHxcIA3unnG1mv2+Xv/UlR7fJwewQcCfdW+k36LG2zLaxx/qZXFqaTTPnFy5zv4lJC+t4n6vT+bwd69O+EGlPzckGjS4OoZrM/52cHL7WE5bKFM5bTg7/fgiC4rWcIJhzvSE4fE2ntP3w+tlfSv6flc5K5etPi/x/+KhRgl7f7o5V2qOrMPea0cmLtJSWJZjS2tpKFEX09vbOW9/b20tHx9FDElRWFudOONL//qF/SUODE09LkiRJ55sgCKitSrPjmmvZcc21r3tfQRRQEUFF2kntJUmSJB1tWW5Fqqio4I1vfCMPP/xweV0cxzz88MPs2LFjOYokSZIkSZIkSZJ0TMs2zNc999zD+9//frZt28ab3/xmvvjFLzI+Ps4HPvCB5SqSJEmSJEmSJEnSUZYtmPLrv/7r9Pf38yd/8if09PRwxRVX8OCDDx41Kb0kSZIkSZIkSdJyCpJkOadseW1GR0dpampi//79zpkiSZIkSZIkSZIAqK+vJzh6ZvvXbdl6prweg4ODAHR1dS1zSSRJkiRJkiRJ0pmir6+PlStXLvh+z8pgSktLCwD79u2jsbFxmUsjSa9fJpOhq6vLHneSzhm2a5LONbZrks41tmuSzjWz7VpFRcWi7P+sDKaEYQhAY2Ojjb2kc0pDQ4PtmqRziu2apHON7Zqkc43tmqRzzWIM8QUQLspeJUmSJEmSJEmSzhEGUyRJkiRJkiRJkk7grAymVFZWcu+991JZWbncRZGkBWG7JulcY7sm6VxjuybpXGO7Julcs9jtWpAkSbIoe5YkSZIkSZIkSToHnJU9UyRJkiRJkiRJkpaKwRRJkiRJkiRJkqQTMJgiSZIkSZIkSZJ0AgZTJEmSJEmSJEmSTuCMDab8+3//7wmCgI997GPldVNTU3zkIx9hxYoV1NXVcfvtt9Pb2zsv3759+7j11lupqamhra2NP/iDPyCfzy9x6SXpaEe2a0NDQ3z0ox/loosuorq6mjVr1vAv/+W/ZHR0dF4+2zVJZ6pjfV+blSQJt9xyC0EQ8MADD8zbZrsm6Ux1vHbt8ccf5+1vfzu1tbU0NDTwlre8hcnJyfL2oaEh7rzzThoaGmhqauKDH/wgY2NjS1x6STrasdq1np4efvM3f5OOjg5qa2u56qqr+Ju/+Zt5+WzXJJ0pPvWpTxEEwbzHxRdfXN6+lDGD1OuuzSJ48skn+c//+T9z+eWXz1v/8Y9/nB/84Ad8+9vfprGxkbvvvpv3vOc9/NM//RMAhUKBW2+9lY6ODv75n/+ZQ4cO8Vu/9Vuk02n+3b/7d8tRFUkCjt2uHTx4kIMHD/L5z3+eLVu2sHfvXn7nd36HgwcP8p3vfAewXZN05jre97VZX/ziFwmC4Kj1tmuSzlTHa9cef/xxbr75Zj7xiU/wpS99iVQqxS9/+UvC8PC9iXfeeSeHDh3ioYceIpfL8YEPfIC77rqLb3zjG0tdDUkqO1679lu/9VuMjIzwve99j9bWVr7xjW/w3ve+l5/97GdceeWVgO2apDPLpZdeyj/8wz+Ul1Opw2GNJY0ZJGeYbDabbN68OXnooYeS66+/Pvm93/u9JEmSZGRkJEmn08m3v/3tctoXXnghAZLHH388SZIk+eEPf5iEYZj09PSU03z5y19OGhoakunp6SWthyTNOl67dizf+ta3koqKiiSXyyVJYrsm6cx0snbtF7/4RbJ69erk0KFDCZB897vfLW+zXZN0JjpRu7Z9+/bkk5/85HHzPv/88wmQPPnkk+V1f//3f58EQZAcOHBgMYstScd1onattrY2+frXvz4vfUtLS/Jf/st/SZLEdk3SmeXee+9Ntm7desxtSx0zOOOG+frIRz7Crbfeyo033jhv/VNPPUUul5u3/uKLL2bNmjU8/vjjQPGOoTe84Q20t7eX09x0001kMhmee+65pamAJB3heO3asYyOjtLQ0FCOsNuuSToTnahdm5iY4Dd+4ze4//776ejoOGq77ZqkM9Hx2rW+vj6eeOIJ2trauOaaa2hvb+f666/nscceK6d5/PHHaWpqYtu2beV1N954I2EY8sQTTyxZHSRprhN9X7vmmmv467/+a4aGhojjmG9+85tMTU3x1re+FbBdk3Tmefnll+ns7GTDhg3ceeed7Nu3D1j6mMEZNczXN7/5TX7+85/z5JNPHrWtp6eHiooKmpqa5q1vb2+np6ennGbuSZndPrtNkpbaidq1Iw0MDPCnf/qn3HXXXeV1tmuSzjQna9c+/vGPc8011/Cud73rmNtt1ySdaU7Urr3yyitAcazuz3/+81xxxRV8/etf54YbbuDZZ59l8+bN9PT00NbWNi9fKpWipaXFdk3SsjjZ97Vvfetb/Pqv/zorVqwglUpRU1PDd7/7XTZt2gRguybpjLJ9+3a+9rWvcdFFF3Ho0CE+/elPc9111/Hss88ueczgjAmm7N+/n9/7vd/joYceoqqqarmLI0mv2+m0a5lMhltvvZUtW7bwqU99amkKKEmn6WTt2ve+9z1+9KMf8Ytf/GIZSidJp+9k7VocxwB8+MMf5gMf+AAAV155JQ8//DBf/epX+exnP7uk5ZWkkzmV36F//Md/zMjICP/wD/9Aa2srDzzwAO9973v5x3/8R97whjcscYkl6cRuueWW8uvLL7+c7du3s3btWr71rW9RXV29pGU5Y4b5euqpp+jr6+Oqq64ilUqRSqX48Y9/zH333UcqlaK9vZ2ZmRlGRkbm5evt7S0PIdHR0UFvb+9R22e3SdJSOlm7VigUAMhms9x8883U19fz3e9+l3Q6Xd6H7ZqkM8nJ2rWHHnqI3bt309TUVN4OcPvtt5eHjbBdk3QmOZXfoQBbtmyZl++SSy4pDy/R0dFBX1/fvO35fJ6hoSHbNUlL7mTt2u7du/mzP/szvvrVr3LDDTewdetW7r33XrZt28b9998P2K5JOrM1NTVx4YUXsmvXLjo6OpY0ZnDGBFNuuOEGnnnmGZ5++unyY9u2bdx5553l1+l0mocffric58UXX2Tfvn3s2LEDgB07dvDMM8/Ma/AfeughGhoajvryK0mL7WTtWhRFZDIZ3vGOd1BRUcH3vve9o+4csl2TdCY5Wbv2r//1v+ZXv/rVvO0AX/jCF/iLv/gLwHZN0pnlZO3ahg0b6Ozs5MUXX5yX76WXXmLt2rVAsV0bGRnhqaeeKm//0Y9+RBzHbN++fUnrI0kna9cmJiYACMP5lwSjKCr3xrNdk3QmGxsbY/fu3axatYo3vvGNSxozOGOG+aqvr+eyyy6bt662tpYVK1aU13/wgx/knnvuoaWlhYaGBj760Y+yY8cOrr76agDe8Y53sGXLFn7zN3+Tz33uc/T09PDJT36Sj3zkI1RWVi55nSSd307Wrs0GUiYmJvhv/+2/kclkyGQyAKxcuZIoimzXJJ1RTuX72rHu7FmzZg3r168H/L4m6cxyKu3aH/zBH3DvvfeydetWrrjiCv7yL/+SnTt38p3vfAco9lK5+eab+dCHPsRXvvIVcrkcd999N3fccQednZ1LXidJ57eTtWu5XI5Nmzbx4Q9/mM9//vOsWLGCBx54gIceeojvf//7gO2apDPL7//+73Pbbbexdu1aDh48yL333ksURbzvfe+jsbFxSWMGZ0ww5VR84QtfIAxDbr/9dqanp7npppv48z//8/L2KIr4/ve/z+/+7u+yY8cOamtref/7389nPvOZZSy1JB3bz3/+c5544gmA8kR/s/bs2cO6dets1ySdc2zXJJ1tPvaxjzE1NcXHP/5xhoaG2Lp1Kw899BAbN24sp/mrv/or7r77bm644Ybyb9b77rtvGUstSceWTqf54Q9/yB/90R9x2223MTY2xqZNm/jLv/xL3vnOd5bT2a5JOlN0d3fzvve9j8HBQVauXMm1117LT37yE1auXAksbcwgSJIkWbCaSZIkSZIkSZIknWPOmDlTJEmSJEmSJEmSzkQGUyRJkiRJkiRJkk7AYIokSZIkSZIkSdIJGEyRJEmSJEmSJEk6AYMpkiRJkiRJkiRJJ2AwRZIkSZIkSZIk6QQMpkiSJEmSJEmSJJ2AwRRJkiRJkiRJkqQTMJgiSZIkSZIkSZJ0AgZTJEmSJEmSJEmSTsBgiiRJkiRJkiRJ0gkYTJEkSZIkSZIkSTqB/x//J9IEZ39r3gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bins = [447, 448]\n", "utils.plot_track(wt_pred, color='green', zoom=[400, 500], marks=bins)\n", "ax=utils.plot_track(mut_pred, zoom=[400, 500], marks=bins)\n", "utils.plot_track([mut_pred.mean(axis=0)], alpha=1, color='k', zoom=[400, 500], marks=bins, ax=ax)" ] }, { "cell_type": "code", "execution_count": null, "id": "ccfc5f03-3e07-4aed-9175-98a1398ea092", "metadata": {}, "outputs": [], "source": [] } ], "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.16" } }, "nbformat": 4, "nbformat_minor": 5 }