From bd61cdb7eaab864eccecfaa3619d719be9b9701f Mon Sep 17 00:00:00 2001 From: rbpisupati Date: Fri, 23 Apr 2021 12:57:49 +0200 Subject: [PATCH] fine tuning HMM --- snpmatch/core/genotype_cross.py | 53 +++--- tests/genotyping_using_hmm.ipynb | 318 +++++++++++++------------------ 2 files changed, 158 insertions(+), 213 deletions(-) diff --git a/snpmatch/core/genotype_cross.py b/snpmatch/core/genotype_cross.py index cae9d21..a9ac130 100644 --- a/snpmatch/core/genotype_cross.py +++ b/snpmatch/core/genotype_cross.py @@ -96,6 +96,10 @@ def get_segregating_snps_parents(self, parents, father): commonSNPsCHR = np.array(self.g.g_acc.chromosomes) commonSNPsPOS = np.array(self.g.g_acc.positions) log.info("done!") + ## only considering sites where two parents differ --- + # 1. excluding any site which is heterozygous in either parent + # 2. also excluding sites when it is NA in atleast one parent. + ## you do not need a lot of markers to construct the map .. but rather perfect sites segSNPsind = np.where((snpsP1 != snpsP2) & (snpsP1 >= 0) & (snpsP2 >= 0) & (snpsP1 < 2) & (snpsP2 < 2))[0] # segSNPsind = np.where((snpsP1 != snpsP2) )[0] log.info("number of segregating snps between parents: %s", len(segSNPsind)) @@ -127,13 +131,14 @@ def get_parental_obs(input_gt, snpsP1_gt, snpsP2_gt, polarize = None): snpsP1_gt_mask = numpy.ma.masked_less(numpy.ma.masked_greater(snpsP1_gt, 1), 0) snpsP2_gt_mask = numpy.ma.masked_less(numpy.ma.masked_greater(snpsP2_gt, 1), 0) ebPolarised[np.where((np.equal( ebTarGTs, snpsP1_gt_mask )) & (~snpsP2_gt_mask) )[0] ] = 0 ## 00 - ebPolarised[np.where((np.equal( ebTarGTs, snpsP1_gt_mask )) & (snpsP2_gt_mask) )[0] ] = 3 ## 0 ebPolarised[np.where((np.equal( ebTarGTs, snpsP2_gt_mask )) & (~snpsP1_gt_mask) )[0] ] = 2 ## 11 + ### additional observation points + ebPolarised[np.where((np.equal( ebTarGTs, snpsP1_gt_mask )) & (snpsP2_gt_mask) )[0] ] = 3 ## 0 ebPolarised[np.where((np.equal( ebTarGTs, snpsP2_gt_mask )) & (snpsP1_gt_mask) )[0] ] = 4 ## 1 return(ebPolarised) @staticmethod - def init_hmm(num_markers, chromosome_size = 115, recomb_rate = 3.3): + def init_hmm(num_markers, chromosome_size = 115, recomb_rate = 3.3, n_iter = 100): """ Function to initilize a HMM model Input: @@ -143,7 +148,6 @@ def init_hmm(num_markers, chromosome_size = 115, recomb_rate = 3.3): """ from hmmlearn import hmm ### The below transition probability is for a intercross, adapted from R/qtl - log.info("Initialising HMM") states = ('aa', 'ab', 'bb') observations = ('00', '01', '11', '0', '1', 'NA') ## assume A. thaliana genome size of 115 Mb @@ -153,21 +157,25 @@ def init_hmm(num_markers, chromosome_size = 115, recomb_rate = 3.3): ## given a recombination rate of ~3.3 # probability you see a recombinant is 1 / (100 * recomb_rate) prob_of_change = ( chromosome_size / num_markers ) * ( 1 / (100 * recomb_rate) ) - transmission_prob = { - 'aa': {'aa': 1 - prob_of_change, 'ab': prob_of_change/2, 'bb': prob_of_change/2}, - 'ab': {'aa': prob_of_change/2, 'ab': 1 - prob_of_change, 'bb': prob_of_change/2}, - 'bb': {'aa': prob_of_change/2, 'ab': prob_of_change/2, 'bb': 1 - prob_of_change} - } - ## Since I have 6 possible observed states -- I have made an emmission matrix with such a structure. - emission_prob = { - 'aa': {'00': 0.599, '01': 0.1, '11': 0.001, '0': 0.52, '1': 0, 'NA': 0.33}, - 'ab': {'00': 0.4, '01': 0.8, '11': 0.4, '0': 0.48, '1': 0.48, 'NA': 0.34}, - 'bb': {'00': 0.001, '01': 0.1, '11': 0.599, '0': 0, '1': 0.52, 'NA': 0.33} - } - model = hmm.MultinomialHMM(n_components=3) + transmission_prob = [ + [1 - prob_of_change, prob_of_change/2, prob_of_change/2], + [prob_of_change/2, 1 - prob_of_change, prob_of_change/2], + [prob_of_change/2, prob_of_change/2, 1 - prob_of_change] + ] + ## Since there are 6 observed states . we need 3x6 matrix + ## ('00', '01', '11', '0', '1', 'NA') + ## 0, 1, 2, 3, 4, 5 + emission_prob = [ + [0.65, 0.1, 0.01, 0.5, 0.1, 0.33 ], + [0.34, 0.8, 0.34, 0.4, 0.4, 0.34 ], + [0.01, 0.1, 0.65, 0.1, 0.5, 0.33 ] + ] + model = hmm.MultinomialHMM(n_components=3, n_iter = n_iter, algorithm = "viterbi") model.startprob_ = np.array([0.25, 0.5, 0.25]) model.transmat_ = pd.DataFrame(transmission_prob) - model.emissionprob_ = pd.DataFrame(emission_prob).T + model.emissionprob_ = pd.DataFrame(emission_prob) + log.info("initialising HMM with transition prob") + log.info("%s" % pd.DataFrame(transmission_prob) ) return(model) def genotype_cross_hmm(self, input_file): @@ -184,17 +192,17 @@ def genotype_cross_hmm(self, input_file): g_chr_names = genome.chrs[pd.Series(self.commonSNPsCHR, dtype = str).apply(genome.get_chr_ind)] allSNPGenos = pd.DataFrame( - np.ones((0,samples_gt.shape[1]), dtype=int) ) allSNPGenos_raw = pd.DataFrame( - np.ones((0,samples_gt.shape[1]), dtype=int) ) + t_model = self.init_hmm( samples_gt.shape[0] ) for ec, eclen in zip(genome.chrs_ids, genome.chrlen): reqPOSind = np.where(g_chr_names == ec)[0] reqTARind = np.where( input_chr_names == ec )[0] ebAccsInds, ebTarInds = self._get_common_positions_ixs(self.commonSNPsPOS, snpvcf['pos'], reqPOSind, reqTARind) - t_model = self.init_hmm( len(ebAccsInds), eclen / 1000000 ) t_genotypes = pd.DataFrame( - np.ones((len(ebAccsInds),samples_gt.shape[1]), dtype=int), index = ec + ":" + pd.Series(self.commonSNPsPOS[ebAccsInds]).astype(str) ) t_genotypes_raw = pd.DataFrame( - np.ones((len(ebAccsInds),samples_gt.shape[1]), dtype=int), index = ec + ":" + pd.Series(self.commonSNPsPOS[ebAccsInds]).astype(str) ) for sample_ix in range(samples_gt.shape[1]): ebin_gt_polarized = self.get_parental_obs(samples_gt.iloc[ebTarInds,sample_ix].values, self.snpsP1[ebAccsInds], self.snpsP2[ebAccsInds]) t_genotypes_raw.iloc[:, sample_ix] = ebin_gt_polarized - t_genotypes.iloc[:, sample_ix] = t_model.predict(ebin_gt_polarized.reshape((-1, 1))) + t_genotypes.iloc[:, sample_ix] = t_model.decode(ebin_gt_polarized.reshape((-1, 1)), algorithm='viterbi')[1] allSNPGenos = allSNPGenos.append(t_genotypes) allSNPGenos_raw = allSNPGenos_raw.append(t_genotypes_raw) pos_em_cm = pd.Series(allSNPGenos.index, index = allSNPGenos.index).str.replace(":",",").apply(genome.estimated_cM_distance) @@ -278,15 +286,12 @@ def write_output_genotype_cross(outfile_str, output_file ): def uniq_neighbor(a): - sorted_a_count = np.zeros(0, dtype = int) - sorted_a = np.zeros(0, dtype = a.dtype) - for ef_ix in range(0, len(a)): + sorted_a = np.array(a[0], dtype = a.dtype) + sorted_a_count = np.array([1], dtype = int) + for ef_ix in range(1, len(a)): if a[ef_ix] != a[ef_ix-1]: sorted_a = np.append(sorted_a, a[ef_ix]) sorted_a_count = np.append(sorted_a_count, 1) - elif np.sum(sorted_a_count) == 0: - sorted_a = np.append(sorted_a, a[ef_ix]) - sorted_a_count[-1] += 1 elif a[ef_ix] == a[ef_ix-1]: sorted_a_count[-1] += 1 return((sorted_a, sorted_a_count)) diff --git a/tests/genotyping_using_hmm.ipynb b/tests/genotyping_using_hmm.ipynb index 9dd90a7..61b4f88 100644 --- a/tests/genotyping_using_hmm.ipynb +++ b/tests/genotyping_using_hmm.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "sunrise-arctic", + "id": "dense-stone", "metadata": {}, "source": [ "# genotyping using HMM" @@ -11,12 +11,14 @@ { "cell_type": "code", "execution_count": 1, - "id": "collaborative-symphony", + "id": "arctic-salad", "metadata": { "execution": { - "iopub.status.idle": "2021-04-22T12:30:49.292508Z", - "shell.execute_reply": "2021-04-22T12:30:49.291742Z", - "shell.execute_reply.started": "2021-04-22T12:30:47.456956Z" + "iopub.execute_input": "2021-04-23T08:20:30.062027Z", + "iopub.status.busy": "2021-04-23T08:20:30.061830Z", + "iopub.status.idle": "2021-04-23T08:20:31.792277Z", + "shell.execute_reply": "2021-04-23T08:20:31.791617Z", + "shell.execute_reply.started": "2021-04-23T08:20:30.062011Z" } }, "outputs": [], @@ -25,98 +27,92 @@ "import numpy.ma \n", "import pandas as pd\n", "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", "from snpmatch.core import parsers, genomes, genotype_cross, snp_genotype\n", "import logging\n", "log = logging.getLogger(__name__)" ] }, { - "cell_type": "code", - "execution_count": 2, - "id": "surgical-sally", - "metadata": { - "execution": { - "iopub.execute_input": "2021-04-22T12:30:51.031714Z", - "iopub.status.busy": "2021-04-22T12:30:51.031214Z", - "iopub.status.idle": "2021-04-22T12:30:51.037638Z", - "shell.execute_reply": "2021-04-22T12:30:51.037026Z", - "shell.execute_reply.started": "2021-04-22T12:30:51.031671Z" - } - }, - "outputs": [], + "cell_type": "markdown", + "id": "vital-motel", + "metadata": {}, "source": [ - "genome = genomes.Genome(\"athaliana_tair10\")" + "### provide input files" ] }, { "cell_type": "code", - "execution_count": 3, - "id": "sitting-response", + "execution_count": 61, + "id": "auburn-lawsuit", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T12:30:51.577003Z", - "iopub.status.busy": "2021-04-22T12:30:51.576631Z", - "iopub.status.idle": "2021-04-22T12:30:52.704718Z", - "shell.execute_reply": "2021-04-22T12:30:52.703713Z", - "shell.execute_reply.started": "2021-04-22T12:30:51.576973Z" + "iopub.execute_input": "2021-04-23T10:55:48.403317Z", + "iopub.status.busy": "2021-04-23T10:55:48.402938Z", + "iopub.status.idle": "2021-04-23T10:55:48.406979Z", + "shell.execute_reply": "2021-04-23T10:55:48.406444Z", + "shell.execute_reply.started": "2021-04-23T10:55:48.403288Z" } }, "outputs": [], "source": [ - "g = snp_genotype.load_genotype_files( \"/groups/nordborg/projects/field_experiments/007.pilot.sequencing/018.genotyping.by.plate/996.Swedes.220_6.newReSeq.July2020/002.mergeVCF/02_Swedes200_6.newReSeq_2.3M.BIALLELIC.hdf5\" )\n", - "geno_cross = genotype_cross.GenotypeCross(g, \"6046x6191_reSeq\" )" + "db_file = \"/groups/nordborg/projects/field_experiments/007.pilot.sequencing/018.genotyping.by.plate/996.Swedes.220_6.newReSeq.July2020/002.mergeVCF/02_Swedes200_6.newReSeq_2.3M.BIALLELIC.hdf5\"\n", + "input_vcf_file = \"/groups/nordborg/projects/epiclines/005.manu.crosses.2020/004.design_resolved/snps_bcftools/f2_batchthree.maf_filtered.vcf.gz\"\n", + "parents = \"6046x6191_reSeq\"" ] }, { "cell_type": "code", "execution_count": 4, - "id": "residential-nicaragua", + "id": "public-mount", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T12:30:52.706266Z", - "iopub.status.busy": "2021-04-22T12:30:52.705992Z", - "iopub.status.idle": "2021-04-22T12:31:13.122384Z", - "shell.execute_reply": "2021-04-22T12:31:13.121532Z", - "shell.execute_reply.started": "2021-04-22T12:30:52.706239Z" + "iopub.execute_input": "2021-04-23T08:20:35.657009Z", + "iopub.status.busy": "2021-04-23T08:20:35.656621Z", + "iopub.status.idle": "2021-04-23T08:20:47.118837Z", + "shell.execute_reply": "2021-04-23T08:20:47.117668Z", + "shell.execute_reply.started": "2021-04-23T08:20:35.656964Z" } }, "outputs": [], "source": [ - "snpvcf = parsers.import_vcf_file(inFile = \"/groups/nordborg/projects/epiclines/005.manu.crosses.2020/004.design_resolved/snps_bcftools/f2_batchthree.maf_filtered.vcf.gz\" , logDebug = False, samples_to_load = None)\n", + "genome = genomes.Genome(\"athaliana_tair10\")\n", + "g = snp_genotype.load_genotype_files( db_file )\n", + "geno_cross = genotype_cross.GenotypeCross(g, parents )\n", + "\n", + "\n", + "snpvcf = parsers.import_vcf_file(inFile = input_vcf_file , logDebug = False, samples_to_load = None)\n", "samples_ids = pd.Series(snpvcf['samples']) \n", "samples_gt = snpvcf['gt']\n", "samples_gt = pd.DataFrame(samples_gt.astype(str))\n", "input_chr_names = genome.chrs[pd.Series(snpvcf['chr'], dtype = str).apply(genome.get_chr_ind)]\n", - "g_chr_names = genome.chrs[pd.Series(geno_cross.commonSNPsCHR, dtype = str).apply(genome.get_chr_ind)]\n" + "g_chr_names = genome.chrs[pd.Series(geno_cross.commonSNPsCHR, dtype = str).apply(genome.get_chr_ind)]" ] }, { "cell_type": "code", - "execution_count": 169, - "id": "exclusive-harvest", + "execution_count": 20, + "id": "lesbian-squad", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T13:33:58.586298Z", - "iopub.status.busy": "2021-04-22T13:33:58.585977Z", - "iopub.status.idle": "2021-04-22T13:33:58.603057Z", - "shell.execute_reply": "2021-04-22T13:33:58.602382Z", - "shell.execute_reply.started": "2021-04-22T13:33:58.586272Z" + "iopub.execute_input": "2021-04-23T08:26:10.662381Z", + "iopub.status.busy": "2021-04-23T08:26:10.662070Z", + "iopub.status.idle": "2021-04-23T08:26:10.674410Z", + "shell.execute_reply": "2021-04-23T08:26:10.674011Z", + "shell.execute_reply.started": "2021-04-23T08:26:10.662357Z" } }, "outputs": [], "source": [ "def uniq_neighbor(a):\n", - " sorted_a_count = np.zeros(1, dtype = int)\n", - " sorted_a = np.zeros(0, dtype = a.dtype)\n", - " for ef_ix in range(0, len(a)):\n", + " sorted_a = np.array(a[0], dtype = a.dtype)\n", + " sorted_a_count = np.array([1], dtype = int)\n", + " for ef_ix in range(1, len(a)):\n", " if a[ef_ix] != a[ef_ix-1]:\n", " sorted_a = np.append(sorted_a, a[ef_ix])\n", " sorted_a_count = np.append(sorted_a_count, 1)\n", " elif a[ef_ix] == a[ef_ix-1]:\n", " sorted_a_count[-1] += 1\n", - " elif np.sum(sorted_a_count) == 0:\n", - " sorted_a = np.append(sorted_a, a[ef_ix])\n", - " sorted_a_count[-1] += 1\n", " return((sorted_a, sorted_a_count))\n", " \n", "def get_parental_obs(input_gt, snpsP1_gt, snpsP2_gt, polarize = None):\n", @@ -127,23 +123,17 @@ " ## ('00', '01', '11', '0', '1', 'NA') \n", " ## 0, 1, 2, 3, 4, 5\n", " ebPolarised[:] = 5\n", - " ebPolarised[np.where(np.equal( ebTarGTs, np.repeat(2, num_snps) ))[0] ] = 1\n", " snpsP1_gt_mask = numpy.ma.masked_less(numpy.ma.masked_greater(snpsP1_gt, 1), 0)\n", " snpsP2_gt_mask = numpy.ma.masked_less(numpy.ma.masked_greater(snpsP2_gt, 1), 0)\n", " ebPolarised[np.where((np.equal( ebTarGTs, snpsP1_gt_mask )) & (~snpsP2_gt_mask) )[0] ] = 0 ## 00\n", " ebPolarised[np.where((np.equal( ebTarGTs, snpsP1_gt_mask )) & (snpsP2_gt_mask) )[0] ] = 3 ## 0\n", " ebPolarised[np.where((np.equal( ebTarGTs, snpsP2_gt_mask )) & (~snpsP1_gt_mask) )[0] ] = 2 ## 11\n", " ebPolarised[np.where((np.equal( ebTarGTs, snpsP2_gt_mask )) & (snpsP1_gt_mask) )[0] ] = 4 ## 1\n", - "# if polarize == \"p1\":\n", - "# ebPolarised[np.where(np.equal( ebTarGTs, snpsP1_gt_mask ))[0] ] = 0\n", - "# ebPolarised[np.where(np.equal( ebTarGTs, 1 - snpsP1_gt_mask ))[0] ] = 4\n", - "# elif polarize == \"p2\":\n", - "# ebPolarised[np.where(np.equal( ebTarGTs, snpsP2_gt_mask ))[0] ] = 2\n", - "# ebPolarised[np.where(np.equal( ebTarGTs, 1 - snpsP2_gt_mask ))[0] ] = 3\n", - "# else:\n", + " ebPolarised[np.where((np.equal( ebTarGTs, np.repeat(2, num_snps) )) )[0] ] = 1\n", + "# & ( ~snpsP1_gt_mask ) & (~snpsP2_gt_mask)\n", " return(ebPolarised)\n", "\n", - "def init_hmm(num_markers, chromosome_size = 115, recomb_rate = 3.3):\n", + "def init_hmm(num_markers, chromosome_size = 115, recomb_rate = 3.3, n_iter = 100):\n", " \"\"\"\n", " Function to initilize a HMM model \n", " Input: \n", @@ -163,35 +153,36 @@ " ## given a recombination rate of ~3.3 \n", " # probability you see a recombinant is 1 / (100 * recomb_rate)\n", " prob_of_change = ( chromosome_size / num_markers ) * ( 1 / (100 * recomb_rate) )\n", - " transmission_prob = {\n", - " 'aa': {'aa': 1 - prob_of_change, 'ab': prob_of_change/2, 'bb': prob_of_change/2},\n", - " 'ab': {'aa': prob_of_change/2, 'ab': 1 - prob_of_change, 'bb': prob_of_change/2},\n", - " 'bb': {'aa': prob_of_change/2, 'ab': prob_of_change/2, 'bb': 1 - prob_of_change}\n", - " }\n", + " transmission_prob = [\n", + " [1 - prob_of_change, prob_of_change/2, prob_of_change/2],\n", + " [prob_of_change/2, 1 - prob_of_change, prob_of_change/2],\n", + " [prob_of_change/2, prob_of_change/2, 1 - prob_of_change]\n", + " ]\n", " ## Since I have 6 possible observed states -- I have made an emmission matrix with such a structure.\n", - " emission_prob = {\n", - " 'aa': {'00': 0.599, '01': 0.1, '11': 0.001, '0': 0.52, '1': 0, 'NA': 0.33},\n", - " 'ab': {'00': 0.4, '01': 0.8, '11': 0.4, '0': 0.48, '1': 0.48, 'NA': 0.34},\n", - " 'bb': {'00': 0.001, '01': 0.1, '11': 0.599, '0': 0, '1': 0.52, 'NA': 0.33}\n", - " }\n", - " model = hmm.MultinomialHMM(n_components=3) \n", + " # Check Rqtl book page 381. Emission probabilities for intercross given error probability\n", + " emission_prob = [ \n", + " [0.65, 0.1, 0.01, 0.5, 0.1, 0.33 ], \n", + " [0.34, 0.8, 0.34, 0.4, 0.4, 0.34 ],\n", + " [0.01, 0.1, 0.65, 0.1, 0.5, 0.33 ]\n", + " ]\n", + " model = hmm.MultinomialHMM(n_components=3, n_iter = n_iter, algorithm = \"viterbi\") \n", " model.startprob_ = np.array([0.25, 0.5, 0.25])\n", " model.transmat_ = pd.DataFrame(transmission_prob)\n", - " model.emissionprob_ = pd.DataFrame(emission_prob).T\n", + " model.emissionprob_ = pd.DataFrame(emission_prob)\n", " return(model)" ] }, { "cell_type": "code", - "execution_count": 111, - "id": "casual-harmony", + "execution_count": 7, + "id": "mineral-bulgaria", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T13:18:15.422170Z", - "iopub.status.busy": "2021-04-22T13:18:15.421867Z", - "iopub.status.idle": "2021-04-22T13:18:15.426166Z", - "shell.execute_reply": "2021-04-22T13:18:15.425703Z", - "shell.execute_reply.started": "2021-04-22T13:18:15.422145Z" + "iopub.execute_input": "2021-04-23T08:23:23.758108Z", + "iopub.status.busy": "2021-04-23T08:23:23.757782Z", + "iopub.status.idle": "2021-04-23T08:23:23.762769Z", + "shell.execute_reply": "2021-04-23T08:23:23.762006Z", + "shell.execute_reply.started": "2021-04-23T08:23:23.758086Z" } }, "outputs": [ @@ -201,7 +192,7 @@ "(array([7]),)" ] }, - "execution_count": 111, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -212,23 +203,21 @@ }, { "cell_type": "code", - "execution_count": 173, - "id": "studied-parcel", + "execution_count": 58, + "id": "continuous-cleaners", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T13:34:48.572258Z", - "iopub.status.busy": "2021-04-22T13:34:48.571946Z", - "iopub.status.idle": "2021-04-22T13:34:48.602224Z", - "shell.execute_reply": "2021-04-22T13:34:48.601688Z", - "shell.execute_reply.started": "2021-04-22T13:34:48.572233Z" + "iopub.execute_input": "2021-04-23T10:43:49.810855Z", + "iopub.status.busy": "2021-04-23T10:43:49.810202Z", + "iopub.status.idle": "2021-04-23T10:43:49.844925Z", + "shell.execute_reply": "2021-04-23T10:43:49.844390Z", + "shell.execute_reply.started": "2021-04-23T10:43:49.810807Z" } }, "outputs": [], "source": [ - "t_chr_ix = 1\n", - "sample_ix = 1\n", - "# sample_ix \n", - "\n", + "t_chr_ix = 4\n", + "sample_ix = 3\n", "\n", "ec = genome.chrs[t_chr_ix] \n", "eclen = genome.chrlen[t_chr_ix]\n", @@ -237,143 +226,90 @@ "reqTARind = np.where( input_chr_names == ec )[0]\n", "ebAccsInds, ebTarInds = geno_cross._get_common_positions_ixs(geno_cross.commonSNPsPOS, snpvcf['pos'], reqPOSind, reqTARind)\n", "\n", - "t_genotypes_raw = get_parental_obs(samples_gt.iloc[ebTarInds,sample_ix].values, geno_cross.snpsP1[ebAccsInds], geno_cross.snpsP2[ebAccsInds])" - ] - }, - { - "cell_type": "code", - "execution_count": 174, - "id": "foster-sunset", - "metadata": { - "execution": { - "iopub.execute_input": "2021-04-22T13:34:50.153971Z", - "iopub.status.busy": "2021-04-22T13:34:50.153607Z", - "iopub.status.idle": "2021-04-22T13:34:50.162176Z", - "shell.execute_reply": "2021-04-22T13:34:50.161708Z", - "shell.execute_reply.started": "2021-04-22T13:34:50.153946Z" - } - }, - "outputs": [], - "source": [ - "model = init_hmm( len(ebAccsInds), chromosome_size=eclen/1000000 )\n", - "t_genotypes = model.predict(t_genotypes_raw.reshape((-1, 1)))" - ] - }, - { - "cell_type": "code", - "execution_count": 152, - "id": "accredited-upgrade", - "metadata": { - "execution": { - "iopub.execute_input": "2021-04-22T13:31:43.257480Z", - "iopub.status.busy": "2021-04-22T13:31:43.257185Z", - "iopub.status.idle": "2021-04-22T13:31:43.261215Z", - "shell.execute_reply": "2021-04-22T13:31:43.260764Z", - "shell.execute_reply.started": "2021-04-22T13:31:43.257456Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "((2272,), (11562, 561))" - ] - }, - "execution_count": 152, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "t_genotypes_raw.shape, samples_gt.shape" + "t_genotypes_raw = get_parental_obs(samples_gt.iloc[ebTarInds,sample_ix].values, geno_cross.snpsP1[ebAccsInds], geno_cross.snpsP2[ebAccsInds])\n", + "\n", + "model = init_hmm( samples_gt.shape[0] )\n", + "# model = model.fit(t_genotypes_raw.reshape((-1, 1)), )\n", + "t_genotypes = model.decode(t_genotypes_raw.reshape((-1, 1)), algorithm='viterbi')\n", + "# model.predict(t_genotypes_raw.reshape((-1, 1)))\n", + "# np.array_equal(t_genotypes[1], model.predict(t_genotypes_raw.reshape((-1, 1))))" ] }, { "cell_type": "code", - "execution_count": 134, - "id": "cordless-price", + "execution_count": 53, + "id": "existing-looking", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T13:25:45.955016Z", - "iopub.status.busy": "2021-04-22T13:25:45.954625Z", - "iopub.status.idle": "2021-04-22T13:25:45.962438Z", - "shell.execute_reply": "2021-04-22T13:25:45.961989Z", - "shell.execute_reply.started": "2021-04-22T13:25:45.954985Z" + "iopub.execute_input": "2021-04-23T10:06:03.421992Z", + "iopub.status.busy": "2021-04-23T10:06:03.421718Z", + "iopub.status.idle": "2021-04-23T10:06:03.425234Z", + "shell.execute_reply": "2021-04-23T10:06:03.424817Z", + "shell.execute_reply.started": "2021-04-23T10:06:03.421972Z" } }, "outputs": [ { "data": { "text/plain": [ - "(array([2, 1, 2, 1, 2, 1, 2, 1]),\n", - " array([ 680, 165, 43, 150, 14, 1045, 29, 95, 51]))" + "-2054.688554078723" ] }, - "execution_count": 134, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "uniq_neighbor( t_genotypes )" + "t_genotypes[0]" ] }, { "cell_type": "code", - "execution_count": 129, - "id": "surrounded-likelihood", + "execution_count": 55, + "id": "banner-hudson", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T13:22:18.298259Z", - "iopub.status.busy": "2021-04-22T13:22:18.297955Z", - "iopub.status.idle": "2021-04-22T13:22:18.322317Z", - "shell.execute_reply": "2021-04-22T13:22:18.321714Z", - "shell.execute_reply.started": "2021-04-22T13:22:18.298235Z" + "iopub.execute_input": "2021-04-23T10:06:08.606339Z", + "iopub.status.busy": "2021-04-23T10:06:08.606066Z", + "iopub.status.idle": "2021-04-23T10:06:08.612126Z", + "shell.execute_reply": "2021-04-23T10:06:08.611755Z", + "shell.execute_reply.started": "2021-04-23T10:06:08.606318Z" } }, "outputs": [ { "data": { "text/plain": [ - "(array([4, 2, 4, ..., 5, 1, 5]), array([0, 3, 2, ..., 1, 1, 1]))" + "(array([1, 0, 1, 2, 1]), array([689, 964, 456, 165, 53]))" ] }, - "execution_count": 129, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "uniq_neighbor( t_genotypes_raw )" + "uniq_neighbor( t_genotypes[1] )" ] }, { "cell_type": "code", - "execution_count": 175, - "id": "standing-joining", + "execution_count": 59, + "id": "specified-madness", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T13:34:51.856738Z", - "iopub.status.busy": "2021-04-22T13:34:51.856385Z", - "iopub.status.idle": "2021-04-22T13:34:52.526888Z", - "shell.execute_reply": "2021-04-22T13:34:52.526309Z", - "shell.execute_reply.started": "2021-04-22T13:34:51.856696Z" + "iopub.execute_input": "2021-04-23T10:43:51.317482Z", + "iopub.status.busy": "2021-04-23T10:43:51.317210Z", + "iopub.status.idle": "2021-04-23T10:43:51.852899Z", + "shell.execute_reply": "2021-04-23T10:43:51.852478Z", + "shell.execute_reply.started": "2021-04-23T10:43:51.317454Z" } }, "outputs": [ { "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 175, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ8AAAG4CAYAAACaS+oaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd5weRf3A8c9se8r15NIrLXRpoSsqogIKIijgD1BQQREQkKIICii9KR0VxIZgQZAqqID0EggBQujp/XL9nrJtfn/sc5d77va5XNpeIN/365WXknlmdmZ2Zr/Pzs4+UVprhBBCiCQZQ10BIYQQGx8JPkIIIRInwUcIIUTiJPgIIYRInAQfIYQQiZPgI4QQInESfIQQQiROgo8Q65BS6mGl1DfWcZnHKqWeXpdlCjHUJPhsgJRSnb3+hEqpfK//PkoptZ1S6hGlVJNSKvYtYaXUkUqpWUqpLqXU+0qpT6zimJ8qHatTKdWhlHpbKXVcr/Rfl/4uVEodO8h2/E4p5Sulxvb5+28opV5WSrUrpRYopa5QSlmDKG9On77oVEqNVUpNUUr9Uym1XCnVXOqbLQdR3gVKKa/U3g6l1DtKqRuUUmN6fcZRSv29dGytlPrUQGVqrQ/QWv9+VcdOmlLqCaVUoVe/vT3UdRIbNwk+GyCtdXX3H2AecFCvv7sD8IC/At+Ky6+U+ixwOXAcUAPsA3wwiEMvKh2zFvgh8Bul1DaltBnA94BXBtMGpVQVcBjQBhzVJzkLnAY0ArsDnwHOHEy5lPdFtdZ6EVAP3AdsCYwCXgT+Ocjy/qK1rgGGAV8GRgMv9w5AwNPA0cCSQZY5ZFSk0rw+uVe/rTI4C7E+SfD5ENJav621vg2YWeEjFwI/01o/r7UOtdYLtdYLV6N8rbW+F2gBtin93Y1a6/8ChUEWcxjQCvwMKFuG0lrfrLV+Smvtlup1B7D3YOsXU98Xtda3aa2btdYe8AtgS6XU8NUow9NazwSOAJYDZ5T+3tVa/1Jr/TQQrKqc0h3Gt0v//1il1NNKqauUUi1KqdlKqQMGyDtBKfWP0h3cCqXUDX3SY8spHfNipdQzQA7YdLDtFmKoSPD5iFFKmcBUYIRS6r3SstYNSqnMapRhKKW+THRH8foaVuUbwJ3AXcBWSqmdB/jsPlQOpGtiH2CJ1nrF6mbUWgdEd00DLlOuht2Bt4nu8q4AblNKqb4fKp23B4C5wGRgHFHfDbacY4ATiO5051aoy6WlpdpnVrV8KMT6JsHno2cUYANfIbqA7gjsBJw3iLxjlVKtQBNwPnCM1nq1nw0opSYCnwb+rLVeCvyXPnc/vT57HFGwvGqQxd+rlGot/bk3przxwI3AD1a33r0sIlqGWxfmaq1/UwpqvwfGEJ2jvnYDxgJnaa27tNaF0t3WYMv5ndZ6ptbaL9399fVDojuiccCvgfuVUputffOEWDMSfD568qX/vV5rvVhr3QRcAxw4iLyLtNb1WuthWusdtdZ3rTpLrGOAWVrrV0v/fQfwf0opu/eHlFKHAJcBB5TqORiHlOpYr7U+pE95I4BHgZu01neuYd0hukA3r0X+3nqeE2mtc6X/Wx3zuQlEAcZfw3LmD1QJrfULWusOrXWxtCHiGQY3JoRYL1a5w0h8uGitW5RSC4Ch/Lcyvg5MVEp1XzAtYDhwANHGAJRS+wO/Ab6gtV7Tpb0eSqkGosBzn9b64rUoxwAOAv6ztnVaTfOJ+swaIAANZHXPtwb6Lf8JkRS58/kQKu1oSgNO6b/TSqlUr4/cDpyilBpZuiifRvQ8YW2O6ZSOqQC7dMx+40cptSewGdEy0o6lP9sBf6a09KaU2pfobugwrfWLa1OvUnm1wCPAM1rrH61hGbZSamui51Sjie4Wu9NSpbYDOKW2r+sL94vAYuAypVRV6RhrvAmjN6VUvVLq86UyLaXUUUTPxR5ZF+ULsSYk+Hw4TSJaXut+SJ8nehjd7efAS8A7wCxgOrDGdwMlj5aOsxfRM4M80QUMFb171F2XbwD/1Fq/rrVe0v0HuBb4olJqGPAToA54qNd7Jw+vRd2+DOwKHNfnHaCJg8h7hFKqk2hn3n3ACmCX0hbubm+X2juO6IKdJzoH60zpWc5BwOZE2+sXEO28Wxds4CKiXXxNwClEy5fyro8YMkr+JVMhhBBJkzsfIYQQiZPgsxFRSv24z7LUuljyWmeUUhMr1G+wS2hxZT5cobwfr+v6CyEGT5bdhBBCJG59bbWWiCaE2JjJNvZVkGU3IYQQiZPgI4QQInEb1C8cjJswkUULBvyVkNVm2ikCryhlboDlSZkbfpkfhjqurzLHjp/Awvnz1mmZYqX1teFgjQpVSnHEr55dpxX5y3f2kjI30PKkzA2/zA9DHddnmWtxfZRnPqsgy25CCCESJ8FHCCFE4iT4CCGESJwEHyGEEImT4COEECJxEnyEEEIkToKPEEKIxEnwEUIIkTgJPkIIIRInwUcIIUTiJPgIIYRInAQfIYQQiZPgI4QQInESfIQQQiROgo8QQojESfARQgiROAk+QgghEifBRwghROIk+AghhEicBB8hhBCJk+AjhBAicRJ8hBBCJE6CjxBCiMRJ8BFCCJE4CT5CCCESJ8FHCCFE4iT4CCGESJwEHyGEEImT4COEECJxEnyEEEIkToKPEEKIxEnwEUIIkTgJPkIIIRInwUcIIUTiJPgIIYRInAQfIYQQiZPgI4QQInESfIQQQiROgo8QQojESfARQgiROAk+QgghEifBRwghROIk+AghhEicBB8hhBCJk+AjhBAicRJ8hBBCJE6CjxBCiMRJ8BFCCJE4CT5CCCESJ8FHCCFE4iT4CCGESJwEHyGEEIlTWut1X6hS/wIa1yBrI9C0jqvzYSFt3/hsrO2Gj37bm7TW+w91JTZk6yX4rCml1DSt9dShrsdQkLZvfG3fWNsNG3fbRUSW3YQQQiROgo8QQojEbWjB59dDXYEhJG3f+Gys7YaNu+2CDeyZjxBCiI3DhnbnI4QQYiMgwUcIIUTiJPgIIYRInAQfIYQQiZPgI4QQInHrJfjsv//+GpA/8kf+yJ+N9c+gfcSvlxWtl+DT1PRR/skmIYRYdzbW66UsuwkhhEicBB8hhBCJk+AjhBAicRJ8hBBCJE6CjxBCiMRJ8BFCCJE4CT5CCCESt8EEnyDUFPywYnpnZ2fFtK5cnjCMz+v5PkXXi03TWtOZL1Y+Zi5PpX9yolgs4nnx5YZhSK4wcLmV5AtFgiCITfODkILrVy53gLbk3KBiW1zPx/Xiy9VakyvGt7O73EqKfogfxh9zVed7oHILXkhYoS1eEFKsUK7Wmrw3wDG9sPL5dj08P76PwjCkK5erWG5nrlAxreAFBBX6yF9FH3UN0EddA4xd13VxXTc2LZoTlevb2VW5nQXXxw/i6xsEAbl85XE/UB/lCsXK8zsIKXiV+2Gg+nbmixX7yAt0xbEr1o0NIvhMW9DJQb97m31unskfXl6OF6w86fPnz+eggw6irq6Oo446imXLlvWkFYpFLrr214zbZT92/+JRvPz6mz1pWmseePIltjnkJKYc9B3ufOh/ZQP43flL+OIZv2Czw87inJv/RkfXyonR1tHFmZffwvhPHsEBx/+Id+cs6EkLw5Dbf/8HxkyYzOQttuT+Bx8qG8Avz/qAvb/5UzY9+BSu/MN9ZYFv2YoWjjvncsbtczhf+8FFLFy68uUyz/O59vd3M2nfr7HLYd/l2elvlPXRE6/PZfczf8t2J9/C7/77KkGvtsxZsoKvnn8rm//fBZx2/d9p6Vg54XJuwFVPzGe3a6fzld/P4u1lK9O01tz79Ay2/+YlbP/NS7j36RllbZm1sIUvXvkQ2571Fy795ytlQait4HP+o/PZ66aZnHD3ByxoXRn4glDz9zda+Ozt73HInz7g+XldZW2ZvijHV/48m/1ue48/Tm/G73W+l3Z6nHrfHPa8cSZnPziXFV0rj+kGIbdOa2Lf297jyLvmMHPpynOmteY/s5ax9xX/Y+olj/PXaQsIe108FrR7nPXIEg67ax43vrCCLndl/3W6AVc9tZRP3/ou3/7HPGY3r2xLGIbc+dD/mHLQd9jmkJN44MmXys/3jDfY9XOHMWa7vfn51TdS6PWlY3lLG8dfeAMTPnccR5x1BQt6n+8g5LbnF7LLVS/ymRtf5oW5bWV99OKCLr58xwd89rfv8ZfXWsouhAvainz7r+8w9RfTOeeh2bTkVwbFXL7A+VfdxNidP8OeBx/DqzPfLuujf9z/EJt8bA8mbrcbd939z7K2vDl7AZ/93kVsctDJ/OTmv5QFoZa2dk4+71JG77QvBxx9Iu/Pmd/rfIf84d8vs+3xVzP15Ov47/T3ytry3LTp7Ljvlxi7/d5cecOtuL3mxJKmFo758TVM+NyxfOO8X7CkqaUnreh6XPX7e9hk/2+z+1Fn8uIb75SV+9isJex98SPscsFD/Pm52WXn+73Zc/nc4ccxcps9OOWcn9Ha1t6T1pkv8pPfPsAWR13IAT+8ibfmLS3ro6fndnHyA4s45YHFvLggVzFAibUzqH9MTik1B+gAAsDXWk8d6PNTp07V06ZNW2W5SzpcLnlsIc/P66TgR/XIWIqGrMWPPzGCx++8kcsvvxzP8/B9H8dxsG2bCy+8kM223YnTLriCzq4cudIkSadSHLL/pznh61/j/Jvv5PV35/bcgVRlUkweO4orfnAc9z/7On/613O4vk8YatKOTcqxuOiEw/Dz7Zxzza24nk+h6GIYBo5tcdyh+3Pg7ttyyqmnMWfuXLq6ogtqVTbLzjvvxKWXX8FvH3qBh555hXzpIp1NO9RkM1x1+tG8/8FcLvnVHfh+gOv72JaJZZr84LjD2XHrzTj90ptobm3vqW8mneIze+zE6ccfxdX3v8KL7ywiX7rryaZsRtVXcenXP81T02fx6/ufwQ9C/CAkZVvYlslPjtmfkZOm8PP/zqPghRR8jQIcS3HQNsM5aFOLn/zmXt6Zv4xc0e2p75TxI/nZt77EP6Yv4J6XZlP0A7SGtG2ScSx+fviuFKwafvnUErxQ4wYaU4FlKP5vp0b2mlzL5U8upanLJ186p2lLscOYDCfsOpw/Tm/h+fldPec7bSnq0iY/2mcUby7p4taXluGHGj8E2wDLNDhxj1FMHpbmsieX0uWGPXlTluKTk6s5bOtqLv/XW7y+sJ186Vtw1jYZ35Dm51/ajleWBzz0Tid+qAk1OCbYhuL4qQ34Qcg1Ty/HDTTFQKMUOIbi4K3r+HhDB2dd+WvmLFpKV+muMptOsf0Wk7jwu0fwq9/+kXse/ndPwMlm0lRXVXHdJT9hYVuRS279K54f4Ho+lmliWyanHnUwe3ziU/z0X3Noznk9d2Jpy2CvTeo46ROTuH16C68sypXNiWFZix/tM5Ln57Rx+0tL8ENNEIJjKixDcfo+Y8kun8np519OV65AvlBAKUXKcfjKFz/LsYd9gbN/ehFvvvU2XaU776pshi0225RrLv0Zdz/9Bnc98gxFz0drTTrlkHFsLjvla7SvWMqPL7sOz/UouC6mYeA4Nt85+qsccOAX+NHtj7BoRXvPl5NMymbqFuM4+8u784vrb+Zfjz1JvqePMjTU13L9Jefz1uJmrvzdP/D9AM8PcCwLyzI5+7hD2XLyeH5w5a20deZWzomUw+f32pmTv3E4V/3nfV6d17LyfDsmY+uzXHjQVtz/tzv59R/vwvU8giAknUrh2BaXnncmdeM248e33k/B9Sm4HoZSOLbJkfvuwtcP3o8/z8yxtNOnWPpClDIVE+psjp/awLhae5XXtF7UYD842Ovlh1TFflid4DNVaz2o34EYbGfufdMb5NyQIKYKC/70Q3Jv/o9iof+teqZhJFbjJvgxt+KO40DDOAzDKPsmFLUDzGw9jpPC9fvfqhtuJ0FXa+zyihW6dLz9PGEYk88wqN7pCzjZGryYcpXbhQqKsUtbtm0RBmHZnUxPmmXhTPk4lmXFLwHkWjG1H9uWqtGbkt10JwLd/9ybQZGmaQ+C1v2+1SmlcEZuip3O4sUsoVQPH01m2CjiVoNSloEy7dgfdDIVBBosBX7MBwLfQ6HL7np7l2taduw4MQhZvmg+iiiw9DVp4gRqqrLErbZ5fkDO9WPbQq6V9++7Hh369J0ihqHIL3gbW2ncmKXXdOM4nNrG2POSHTmRqp0OIlT9Fx0sA2rqh2OZirjVq2IhD2GAG9MR7uxprHjyDjy3/9KrbRkUW5ahlOq3fKWUIrPpVFI19fFLr13NBB3LY5eY07XDcbbYEx1zfTENResL92JqP3Y+pUdMwKkdHntMx7YIwpAgphNs2yG788GYpkUQc+1qfeJ2aFlAMWZZMTtmU9Ljt42dS7V19ez+ha+hDLNfmiI6N9d9YQw1qf7pFUjwiVTshyFdduuqEHgAgo4VsYEHwPUrr827fgCafoEHQGtQyoi9KAC4A6zrFwsFMOK7KwxDMO3YwBMdN6z4TMWr8PcQLc1oZVRee9Zhxbb4yoy9GEO05o8yYvtQaw2mFRt4ALRhxl+sIfai2K07KS7wlA4cG3gAvLDyLxT6gUZDxbaaphUbeKJydcW2FAp5lGn2CzxQGlthEBt4ADDMiufFwwRd4ZyV6lKh69GlO804xVxnxecirutFfRSTrrVGWXbF8el7bsVnm16oQVd4xhNqQt+tOJ+UaVU8puv5FU+4F0bnOy7wAOhiV2zgAfBDVfH5WqhMwgrPWjVgKEWx4uAVa2KwwUcDjyqlXlZKnbA+KySEEOKjzxrk5/bWWi9SSo0E/q2Uektr/WTvD5SC0gkAEydOXMfVFEKIj47e10vbdhg5dsIQ12jdGTN6NDNeeWmVnxvUM5+yDEpdAHRqra+q9JnBrmHu9MvXYpfd6tMmX8u+wQuPP8wf/vCHsuUh0zQ56fQzmbTFNlx+0+10dJbvpNpnz1056vDDuO7PD/DuvEVlaeNHDeesbx3Jf156k4eff70sLe3YnHjwXgTFPNf/6Z5+27MP3GsH9t1hMy6+7DIWLFhYlrb1Vlvxw4uv4a5Hn+O518p35NRUZTjjyM8xZ8Eibv/Hw2Xr2EopjjpoP7bbYjJX3HoXzW0dZXl33X4rvv3NY7nt368yc97ysrQRdVlOP3BHnp/5Afc8NaMszbZMTjzyYIaPmcCvX1jSb3vxnuNsPjPK5bq7H2fOkuaytMmjh3H60V/ioRkLeGJWef9lHIvTvrQHeZXijukr+i0HHrBlPVMn1HDbtBWsyJcvYWwxPMWRH2vgnjdbeWNp+bbaupTBcTs38M7yPPfObClbcTEUHP6x4UxsSHPby810uuVt2WF0is9NsvjNU3N4b3n5WBhdm+Kcg3dgxlKPZ+aVb7m1DcXBW1YRhJo/vdrS84C5p48aPXZOL+Oq393NgqUrytsycSwnHfIJ7rz7Pv73XPkkq6mu4twfnsHi1hy3/uPR/uf7q19m6h57ccNTC8t2qQFsP6aab+49ib++3srbTeXPboZlTL6xQy3TF3Zy/5vl58wyFF8d10G2fS5X3nx7v+3Fn9pzF766/6e46rpbeG/2nLK0yRPH8+OfXshDz73Gv59/rSwtk3I45dB96Gxr5obb7yzbpQbwlS9/iX0/+zmu+cfTLG0pfxVi6wkjOW63Ufzuzrt5btr0srSG+lrO/eFZvLuwiT8+8FjZErlhKL5+0L5sPnEMV/7uHto6ys/p7jtszbeO/Qa/efI93llSPl9G1aY5YUuPxx5/gn88+GhZmuPYnH7a6VQ3juGGe54k36ctB+2zK0d96XPc93YnTbn+y2+WAVfvP5rh2cF+Xx/8Mx/bcfRhN/xvsB/f4D12weEsW9SzG3LNNxwopaoAQ2vdUfr//wZ+prX+V6U8gw0+D81q4eLHF+L60U4jU8EROwznlL1H45jgFYvMnj2bY489lmnTpvHJT36S22+/nVGjRmFaFoVCkTN/fg1/vvchxo0eyfUXncMndtuZdMqh6Pn86YHH+dktd+H6Pmd+/RBO/toXcWyLoufzxgcL+f41d/DegqUcuNfHuOb7X6M6mwatae/s4pSLrufhJ19kyuTx3HzB6Wy7+SQc28J1Xa685hdcfuXVpFIpLr3o53zjmKNIpVIUXZ8np7/JGdf8kcUrWvm//ffm4pOOJO04BEHAkqZmTrzglzw7fSZTt5vCzReczoQxI7BME9fzOf/633Hb3x+msaGWq87+Lp//+K6kHIei73P/C+9wwZ1P0llwOeHzO/ODQ/bAsQxcL+CDRU2cct3fmDlnMZ/ecQt+ccpXaKjOYpgmeS/kZ/+ey0OzWhhf53DRAZPZYWwVjqlwvYDbH36OK+78NwBnHbkf3zpwL2zbxPVDXpnTxNl3PMe8FZ0cvMtkLjp8N7KOhUbRVgg4/9/zeXZuJ1Ma0/z88+OZ3JDGNhVeoLl1WhN/ntFC1jY4fa8R7LdFbXTMQPPMnE6ufGoZLYWAw7at5+Q9RmCb0XstSzo8zntkPq8vybPzuCw//9wERlTZGAa4vuaaZ5bxwFvtjKiy+NEnR7Hr+GxUrh9y9ysLufyRdykGISfuM5nv7LMpjmnghZo5LR5XP9vE/DaPPcZnOHXPRrJ2NC+6vJBLn1jKE7M7mVRv85NPj2ZKYxrHANfzuOHOB7jqD/fiWBY//e6RHP3FT5OyLQrFIk89P42Tf3QhCxYv5ajDDuKqC88hk04RhpplLW2cdPEtPD39TXbaalNuPu97TBwzAtu2cQPN1Y/N4U/TllCfsfnp/puw35Rh0TkNNI+938E1zyyn0w04cvsGvrNbI7ah8MKQuS1FznlwNrOW5dlzUg2XHDiZ+oyFoQNy+QI/uPBK/nLfI0wcN4abLjmXPXb+GKmUg1t0+c3v7+CCy68hDEPOO/NUTvr2sTiOTdHzefXtOZxyxe3MXrSML31yKledfgxVmRQ61LS2tfO9H1/MI/97lm2nbMavrvgpW242mZTj4PoBv/zH09x0/3Nk0w7nH70fh358O1KWSaHo8p//PcP3z/05y5qa+ebXDuPS884glUrhByGLlq3gxItu5qWZ77L79lO46dwTGTNiGJZpUnBdfnrjHfzh/scYOayeq8/4Jp/e7WOkUw6uH3LvK/O5+P43KHgB3/nUFpz0mSnYpkGxWGTWu+9z/A/OZdY777P/vvtw8xUXUl9XizIMugouZ918Dw889wabjBnOtSd/hY9tPo60beOHmn+928k9s9rxwmijjGkoDt2mhi9MqUGpQccUCT6RtQo+mwL3lP7TAv6stb54oDyrs3ujoxhw3TNLeG5uB7ccugmNWZu0vfJRlNaaQqHA0qVLGTlyJNlstix/Ll+gtb2dhro6HNvCNFfuRil6Hq7r4QchmZRDOuX0pIVhiOsFNLV1MKy2mmza6VfuitZ2GofVkbJtjF6bDfKFAvlcDttxSDlOtMOuJAiizQVtnV3UVmfJplNl5eYLRZY1tzJyWD3plFM2mHOFIh2dOWqrs1iWiW2t/Jbl+QGuH1DwfLIph4yzMi0MNa7vs7y1g8a6ajKp8rbkvYDWvE9D1sY2FKax8phFL9pyqoCUY5OyV5YbhCGeH9LcVaS+KkXWsfqUG9Kc8xietXEshdGrLQU/JO+FpC0Dy1DY5so0P4w2F+TckKqUQdoqP99FX7OiVG7vsQDRC6YdxYDatInVpy2uH+IFAV6gSdsmaXvlWAhLGxraClHe3sfsbktbIaAhY2IbCqNXuYWiS6HoYpomjmORslduuQ2CgKLr0drWTn1tDdlsprzcQpFlLW2MbKgnnbLLznfeC+gqBlSlomNa5so6+UFU30IQkrHL+yjUGtfXNHV5DK+yyNjlO7By+QItbW0Mq6/vPyeKLkW3GL1ikE6RTq0cn0EYjd3mtk4aaqv6jd1cvsDyFc2MbBxOyimfEwXXo6vgknZsbMvEsVYe0/cDXNelvbOT2poaspl0nz5yS3OijkzMfGnrzFFXncW2LaxebfH8ADcIcf2QjGOVn+8wpOi6LGtqZsTwBrKZ8vOSK7i0dOQYXleFbZmYvdriBSF5X3PNMytoyJh8fcd6GjKD3uXWTYJPZO22Wq+uNdk6uLTDpbHKLruY9Ka1rvitIwzDsomwOnnXR9ra5A21LruIJ1XfgWxobRmKPvqone/1Ue7atGUgYajLvgysTrlrk9acD1Znma0vCT6Riv2wxj27ro2qcQZMH2jQDhR4VpV3faStTd6BJu/alLumgWdtyl1fbRmKPvqone/1Ue7atGUgAwWeVZW7NmlrEXjEIGwQP68jhBBi4yLBRwghROLkvlIIIYaQUorHLjh8qKuxzowZPXpQn5PgI4QQQ0hB7wf0Gw1ZdhNCCJE4CT5CCCESJ8FHCCFE4iT4CCGESJwEHyGEEImT4COEECJxEnyEEEIkToKPEEIMob6/1L+xkOAjhBBDKJfLrfpDH0ESfIQQQiROgo8QQojESfARQgiROAk+QgghEifBRwghROIk+AghhEicBB8hhBCJk+AjhBBDSF4yFUIIkTh5yVQIIYRIiAQfIYQQiZPgI4QQInESfIQQQiROgo8QQojESfARQgiROAk+QgghEifBRwghhpC8ZCqEECJx8pKpEEIIkRAJPkIIIRInwUcIIUTiJPgIIYRInAQfIYQQiZPgI4QQInESfIQQYgjJez5CCCESJ+/5CCGEEAmR4COEECJxEnyEEEIkToKPEEKIxEnwEUIIkTgJPkIIIRInwUcIIUTirKGuQCVBqDEUKKX6pWmtgcppbqBJWfFxteCHpEwVm9cPo3ItI75cLwTH7J8GkPdCMnb8MYt+iGmo2HJDrfEHKNcNdMW09q4cVek0ptn/uEGoCTXYMXm11rS1d1BfV1uxLWkrvo9y+QKmYZBKOf2PGQR05YvUVse/NNfa2kZ9fV1sWkdHB5lMBsvqPyRdz8fzfaoy6fhy29ortqWto5OaqiyG0b+PCkUXrTWZdKpf2tr00UDn2w9CCq5Hdab/MQHaci512f59C9CRd8mmLMyYtriBJtSadMy4X9XY9QKNZcTPJz/UKMCsMCc0YMTk684b1wfd9TVVfLmhjsZupbxFP6w4vwe6bkq81ioAACAASURBVPihRg8wJzqKAbXp5C+JWmtGjp2Q+HG7jRk9mhmvvJT4cTe44BNqTVMuoKkrwDJgXK1NlRMNtO7A0umGaCBrKzKW0TPQWvIBj33QyeIOny0bHT4+qaonIBT9kKfmdPHK4gKNVSYHTqlhdLXdU+5by4s8OTeHAvaZnGXLxlRPuU1dPk/P7aK1ELLNiBQ7jc30DOBON+Rf73bw+tIik+ptvrRVDcOzUbcGoeapuTkefq+DjGVw+HZ1bDNi5UVnfpvHf9/vJOeF7Douw85jMz2TscsNmbYoz5JOn/G1FjuPyfS0JVcoctXv7+H6Pz/ApDEjuPHc77L79lv2tOX9ZpfHZ3cRhJqPT8qyzch0zwVi5lvv8p2zfsL019/k2CMO5aJzTqehFBByXsgDb3fwwoI84+ssjtyujjE1UR8FQcDv/vpPfnzZdTiOw3U/+yGH7L9vTx+9MGMW37vwl8xZuJTvH/NlzvrWEWRLwWLxkiWcetY53Hv/g3x2309z4y+uZPKkidF5KRa5+pfXcvEllzFy1EhuveVmPrPvp3v66NFnp3Pq5b+mrTPHuccfzglf+Tx2KUC9+8FsvnfGj3n6uRc5/MsHceXPzmPkiMbovOTyXHTD7dxyxz1M2XQit/z8bHbebmUf/eWB/3DmpTegteaKH53E1w76bE+Amv7aGxx/6tm8+dY7fPebx3DBj35AbU1Nz/m+7612Xl5UYJMGm8O3rWNk9crz/cScLv45q4O0pTh6h3q2H7VyHD0zcw6n3Xw/S1o6OO3Qj3PywXuRsqO8C5u7OPcvL/DYmwv57Hbjuejw3RjTUAVA3vW54dE3uOXfMxnTUMXVR+/J7puP6mnLs/NzXPf8Clxf882dGzhwSk3POGorBLy0ME9zPmByvc0Oo9M9F24v0LzVVGR+m0dNymCH0WlqU2ZPuR+0uLy6pIChFLuMTTOh1u5pixdoOt2AQEPGUmTtlfPQDTRzW12a8yG1KYNNGuyeoBiEmumL87y4ME/GMvjMplVMrF8ZbFfkfN5ucvFCzeR6mwl1ds/YbStE83tBu88Wwxz2mVxFtnRtCLVmWZfPilyIYyrG1Vpk7ZXXjVnLi/z7/U60hn03rWL7Ueme+r61LMePH5rD28tyHLHTCE7fZxw1qeQujRrY94K/Jna8vh674PAhOa7qvotYl6ZOnaqnTZu22vk6igGLOnyCMDohAAqocgxGVpkUgxA/LM9jqOgb3SuLCryxtECoo7ymitJ2Hx9d0B/7ILoY+6WCLQO2bEzxsVFpnp6bo70Y4IUr0+rTJp+YlOX9Zpe5rR5BKV/3t7Vdx6VZ3hXw2JwuwhACTekbIuw2LsPEOpu7Z7XT5UYBE6J6Tqiz+MIWNby2pMDCDq+nPZYBKVPxqU2q6PQ07zQVe9qiSu3cutHhnZkzOPPq28jli+SLLgCZlMN+e+zIeScdy4wWgxW5oKzcGsdg1xGa666/njvuvo9i6Rt/OuVg2zaXnHcG23z8QB54t9RHYXRMy4CpYzOMys3h++ddxMIly+jK5QGoymbYeotNuejsU/jN3f/i0aenraxPOkVVOsUVZ53A+zNf5ZIrr8HzfTzPw7IsbMvi1JO+y9QdP8bJp51OW2sbXaW3vLPZLJ/Ye29+dO5PuPKOB3n5zffJFYpRWjpFY30tV5z+dR579BF+9bs78DyPIAhwHBvbsvnpD09j5LiJ/PCymyi4RfKF7j5KcfB+n+CYL+/POVfezAfzFtKVL0RtyaSZPH4sl531Hf5051+4+58PUigWe+6KUqkUV118PpN2+xwPlfqo9/nec0KWzYfZ/OX1dtqLYdn5nlhn89mJBlfe+ShPvzGHvOuV6mNTk0lx2TcPYFZTgV/95028ICQo3S3YpsGJn92WLUbX8ZO/vURX0SPvBgCkbZNPbj2WEw/YmT+93snsVo9CaWCnLcWwjMmpewzH0zCnxe0Zu0ZpTnxsZArHUrzV5BJqCHulj6uxGVltMn1xgS43LBv3tSmDXcdF86m7jd0U0ZfB5nzAoo6gp8zutNHVJoGGJ2Z3UfDDsvE5psZmrwkZFnX4tBXDsvrYhmLzYQ7vrigyY2mBsHRtMHrmd5ZNGmyWdgY986X7mDUpA9OAR9/rpDnn98xv24DatMnHJ2b4w0tLeXBWFLg1kLIUjmlwzr7jOWT7xop3dYMw6Iy24+jDbvjfmh5nrT12weEsWzR/fRVfsR82mODT6YbMa/WoVJuRVUbsrTTA4x90srwrIIjJHIYat7QE1ZehiF2m6Ja1FZZShDFprYWA9mIYe0y0psvTsW1RwMQ6C1Op2PS6tEHGMmKP+eqr0/ntbb+l6Lr90qqqqjjzpxdjW3ZsuTec+z0Wz3kXNybvzp//CnseejzaMPuldS5fxF0Xn4Lve/3bohRmzXAs28b3g37pYfN8dGdT7DFty8Qv5AiC/vksyyKz/ecwLZsg7N8T3uJ3MNyu2HJTNQ0Y1cPwg/75bMuM6qkUceM+aF6IqTSe17+te37lBHY56Oto1b+PFJqcW/l8P/D3PxH6XmydnLoR2JlqvJiBZJsGodYEMYPXtky22HEPDMOIPe6BU6oZXR0/FhwTUmZ8Pl0au5XsNSFTcXm5KefTXojvh85iwFulL1R9KWDrkamKc2Jeq1sWCHsbXW2x9YhU7LXBDUL+835n7DEB7puxiPaCH9v3aUvxo30ncOROI+Mzr5oEn0jFfhj0hgOllKmUmq6UemDd1KlcEGrW9EtGwdfxQYDojqTS4IuuP5UnmoLYIADR+nGlY/qaim3pvpOpdFRDVT5mV1euch+VLqiVys11tMVerAEMJxMbeAByuS5M245Niy7gKjbwAGjfrXhMt1isUFPw/QCtjNjAA0DoVyzX8wPCCifc8wM0xAYeAK3D2MADYGeqYwMP0O9uvKxMwPfiAw+AMszYix+AVyEPQKijC3Wl85224oMLROO+UlqoB75qVnoOA5StWPTlhZXL7X5uVCnvQHPNNCofMxjgmBAtxVfqezfQtBXix7VYN1Znt9upwKz1VREhhBAbj0EFH6XUeOALwK3rtzpCCCE2BoO98/klcDaVV4RQSp2glJqmlJq2fPny1a6IonsZbPUNsBKAYlWLr5VTB6rOqpYI17QtA2UzDKPiklIYaowKS2dR3spp0TpM/Kk1DIPA9weoVeUaaxW/FXnlYdesk/QA50yt+oSv2THDoGIfrdJa9EGlZI0esG/DtXiWO1DOAefEKtIGLHeA+g5U7qqaWWnJHeK3Y3czVLSkt770vl6GlZaXP+JW2b1KqS8Cy7TWLw/0Oa31r7XWU7XWU0eMGLHaFalOGdSnjX4DTRHttLEMVXEQfmJSloa0Qd+9A5YBE+ttNh1m90uzjWgX3TYjHCyjPIAZKsq7xTAn2nTQJ6+pYLuRKSbX2/R99mobMLrKZOrYNLZRPnEsI3qQuWVjipSl6P26QXc7x1Zb1KcM+r6KYCrYb8+pfPkze5FOOWXXs0zaoTplMdZoxe7Tlu5da+df8FM2mTieqmymrNxsJs0Y3czm9Wa/tjimYsrmm/Od444mk05jmSsDWMpxqM5mOP7QzzFyeD3ZXu/KKKVIpxwO/crh7DZ1Z6r6/GNZVVVZdthhB444/Ktk0umyd3AymQzDhtVz/IF7UFudJe2sfN5kGgbplMMxxxzNVlM271duNpthzx224YB99uj37k42k2bMiOF8+4iDyWbS2PbKrbS2ZZFNpzj+W8cxYdxYsn36KJNOM9pbwqb1Jk6fGO6Y0U6uPSdk+vV99/k+++gv0FCdIeOsPKahFGnH4ovbj2G78Q1knfKtvVnH4mMTh3PgThNJ22b5+bZNGjIW+08yyFiq7LyZKto1mbUNqm0VO46GZUwas2ZsWpWt2GyYjanKx65Rak/BCyvOw1HVFtWO6vdl0FAwusZk6xGpfuV213dYaf7G5d1xTJrhGTN2fhsKqp3460ZNymDvSVlsg7K2drfl5I+PY2yt028DRdoy+PTm9Ry2fWOFlq693tfLuHfQNgar3O2mlLoUOAbwgTRQC/xDa310pTxrutUaopdAF7X7PVtHh2UNRlZZGEoRak2XG1IsPSS0Dah2TEwjetg+c1mBZ+ble1626/0OwcJ2j4fe6aCjGD10/vjEKqaWto12uSH/m9PF3NboIfYm9SvfIQhCzRvLCsxYUujZ9v2JSVWMqCq9a7KiyL2zOij4IYZSHLBFNTuOid6rWd7l87eZbT27+HYbl+HAKTVkbAM30LywIMfrS6NyG7MWn9msimEZC60189o8Xl6cJwyjwDt1XIZxNRZKKV57Zw4nXXIL789fTKg1p/7fQZx+zJdIpxzyXsjTc7t4rzlqy/ham09tUkVNysT3fX79x7/w08uvJQw1I0cM51dX/YxP7rkbAO81u9z1ehudxWhH2BemVLPXhCymoViwaCmnnn85Tzw3DdAcesB+XHrOqTQOq6dQdLnm9r9x7R/uRinFZhPHctP5p7HDVpuhtea+Bx/mxFPPoCuXI+U4XHvVZRz5lUNRSjHrrbc4/rvfY8Zrr6N1yInfOYHzzzuX6upq2jpz/OxXd3HHg4+jlMHUbTbj2h+ewKbjRxOGIX+46++c9ZOL8H2furpabvnFZez/mU8BMO31WXz33CuYt3gpaM3Z3z2G73/jqzi2zdKmZs6+7EYeevxZUPD5T+zOVT8+hdEjhuN5Htf/6rf8/MprQcH4sWP4zbVXsseuOwPwdlORu15vI++HKKU4eMtqdh+f7Tnfd8xo5YMWD601e0zI8uVtasnaBl0Fl6v//iS3PfISSim2njCCX3z3ILaaMBKtNfe/Mpdz//ICRT8g41hcesTuHLDjxKiPFrZwxp+e5b2lbWgNx++7Nad8fnsyjkVHMeDWl1t4fHYXCth+VIpT9mhkVLVFWHrn67WlBbSOthHvNi7LqNJ7Sc05nxlLCxRLc21Ko8PkegdDKXJeyCul98y6x9GOY9LRRgatyXkh+VI+U0FNysQqzcPWQsjs0hZvBUyqt2nMmiilet7FW9blozVsNyrNHhOyOKbCD6N3ixZ3RMescQy2GpEiaxtl7+KFOnrxet9Nq9mkIZrfeS9kYbvfswW8sSoKsIaK5vdjH3Tyzopok8smDQ6f3ayampSJF4T86ZVlXPfUIgBGVttceuBkdh5fs0bXr14Gff/tpFK6fvga76pba+v5JdOBb/sH+wf4FPDAqj63yy676LURhqHuKAa66IWx6V4QatePT8t7gX53RUH7Qf/0IAz1u00F3VEMYvMu6fD00g4vNq3LDfTclqIOw/7lekGoZy7N67wXX+67K4p6SYVyW/K+ntsaX67rh3peq6u9mLaEYagfffYVPW/x8thyl3V6elG7G5u2fEWz/ufD/9Ge179OfhDq15bkK/bR8y/P0DPefDs2bd6ipfqRp1+KbUsul9N333uf7ujoiG3Lf/77mH73vfdiy31r9gL91CszY9Na29r0Pfc/rAuFQr+0IAj0Q48/qxctje+jV954W097bVZs2uIly/R9Dz+qfd/vl+YFoZ6xOK+73Pg+eqepoBe2xff97CXN+okZ78f2UVfB1Q++Mkfniv3PSxiG+vGZC/W8pv79p7XWHzQX9RtL87FpBS/Q89tcHcQcMwxDvbjD1YUKY7epy9PNuf59oHU0Vop+ENuWIAz1ii6/4tid1+pWLLerGOjmnB9bbtEL9LtNhYrlthf8iteGJR1uxfPS1Onq/7zTHHvdWEODvq46jrOujrkhqtju1XrPRyn1KeBMrfUXB/rc2tz5CCHER8Cg73xSqZQuDvDqwYdcxX5Yrd+Q0Fo/ATyxlpURQgixkds4n3QJIYQYUhJ8hBBCJE6CjxBCiMRJ8BFCCJE4CT5CCDGEstn4f3zxo06CjxBCDKFc6d+y2thI8BFCCJE4CT5CCCESJ8FHCCFE4iT4CCGESJwEHyGEEImT4COEECJxEnyEEEIkToKPEEIMIXnJVAghROLkJVMhhBAiIRJ8hBBCJE6CjxBCiMRJ8BFCCJE4CT5CCCESJ8FHCCFE4iT4CCGESJwEHyGEGELykqkQQojEyUumQgghREIk+AghhEicBB8hhBCJk+AjhBAicRJ8hBBCJE6CjxBCiMRJ8BFCCJE4CT5CCDGE5CVTIYQQiZOXTIUQQoiESPARQgiROAk+QgghEifBRwghROIk+AghhEicBB8hhBCJk+AjhBBDSN7zEUIIkTh5z0cIIYRIiAQfIYQQiZPgI4QQInESfIQQQiRugwk+odZorSumr2na2uTd0I45mHQh4MM3J9Ym3/qqr1i/Nojg01EMmNfmoYkfEEGo0aX/7UvrgdPCUnlx5fpB5bzhKsqtVCaAX6pvGJPe/XdxaXqANFjZDzJpxEAGGke615e82DkxwNgdKF8YavxQ4warP3a761Qxjfh5COAFIYGOr68/wHVjoPktkmEN5cGLvmZRh0feiwbCeytcxtZYZB0DQ6lS8IA5rR4L2z0m1duMr7VRCgylCEJNcz7gnRUudWmDLYenMBSYhiLUmiCEpi6fUENjlYltrswXaM2LC/LMa/WYOi7DpsMcTBXVK9SwtNPn/RaXkVUWmw1zMErH1DqaZJ1uiFJQ7ZiYClSpXC/UvLwoz4pcwC5jM4yqtrAM1TOJ2gshbYWA2pRBXcZEEeUNtabLDVnc4ZOyDMbWWJjGyvr6oeaDFg830GzaYJO1DUxDDeHZExuSnsAA5NyQ5nxAxjIYljV75ovWmkBDpxugNdQ4Jqahe8ZuoDXTFxdY1OGz4+g0E+rsnjkB4IfghRrLALv0tVUpRcEPmd3scvWzKxiWMfnBXsNpyJikLKOn3LebXDqKIVs2OtSnTczSnADIeSF5X5OxFNlSwd11ai+GzGn1qLIVmzQ4PXPC9UPaiiG/n95KpxvyjZ3qGVtjkbKMnrn/2tIC81pdth+VZnJD+fxuzkdfeOvTJpPq7Z75LZKj1se36KlTp+pp06at8nOzlheJ++JR5ShGVVl0uCHvrnDLvk2lLcWWwx0cy+CdpiJtxbAnzVCwSb3N2Fqb1nxApxuWlZu1Daodg/ntHtMW5svKbciY7DMpi2ko3m4q0uWtTLMMmDLcoTFr0eWF/b7dpS2FqRSzW1zeXF6kd3Jj1mTPCdFLZM05H79XlUwVHdc2FYs7/LJjKmB4xqAha7G4w2NpZ0Dvo9anDTYvBUUlk2aj54eaMNQ05YKy8amA+rRJdcog54UU+4zdlKmwDMXCdo/Xlhbweo3P+rTBxydmSVkGXmmVoLeiH82FW15q4bn5K99VMRQctGUNx+3cwOIOn3ltXtk8r08bbDsihQa6vLAszVCQNhVKKWa3enT0mt8KGF1jUpcyefidDp6cmyvLu+PoNEftUEdTLuDVJYWyfqhNGew+PoNjKma3eOR6zTVTweR6m+FZc13OpUEX5DiOrm8cFZs2ZvRoZrzy0rqq01Co2A9DGnxmLitWTGvJ+2UTYbBMBeNrrYrfYp6fnyPvx7e5Pm1SnzFj0zKWYpMGu+LdxhOzu6iw4sAWw2yGZeJvMv1QUwzi82mtywJSX9uNTFHlbBArp2KItRcCmvPxA0kBWUdVvLA+PTfXLyh122aEw2bDUrFpM5cVuPTJ5WUX8t7O2LsRq8J8mVxvUZOKn2sdxZDlXUG/YAfgBpo7X2uN/dIKsPv4DNkKc6IuZdBQYR5mLMW2I1PrcjVh0AXZjqMPu+F/sWmPXXA4yxbNX1d1GgoV+2GVVy6lVFop9aJSaoZSaqZS6sJ1WzchhBAbm8E88ykC+2qtO5VSNvC0UuphrfXz67luQgghPqJWeeejI52l/7RLf9brFhFDwehqi2GZ+OplbUW1Y8TezzVkTEZVWThm/1TLgD0nZtm0wY5NmzLcLi3Z9S93eNakLm3GppkK9piQYXR1/1huG9CQjjY79KW1Ju+FFPwwdreOqaAupXoe7vbmmArHlJ1vIhoDvtaxYx6isZIyVcX1jy0bHUZW9R+gpgLHUHQWg37jTGuNbSgO3aaOYTFL1Zs22Eyut6l24udhjWNQobrUpQwm19tYMeO+ylYcvl0t42r7z7XalMEmDTb16fi2bDHMYWKdFXvcurQRO7fF+jOo3W5KKRN4GdgcuFFr/ULMZ04ATgCYOHHioA4+oc5iUXu0G617aEeBJRoFtSmDxqxmYXv0MN4xFTWOUXrIDmnLpMtduVNmq8YUNakoPeMYdLkhLfloZ099xqQmFQWscTU2240KeHpujuZ8wKR6m53HpjGVQikYVWUxp9VjRT6g2jHYeoRDxorKTZkmeV+T80IUUGUbpCxFfdpkdLXNilzAtEV5utyQ8bVW2S4624SiF+04cgNNWzFEl9ruhxrbiNpoKEWqtDNPKUXK1BQDTYer0RrG1ViMqbGQfQYbN62jrc2dbogGbFNFY8zX+GF0wa1NGVilAWgaK3es9daYNRmWMZlUF/Lm8mizTWPWZFJpt1vO0+S9gJq0QcpUuIFmeVeAYxrsODrNtiPTPD2nk0ff7yRjG3xjx3p2GpPGNhV16WgeLmyPNtuMqjYZX2v3XOg10VwINdhG9KWyO2141mRBe7TZxjRgRNYkbSsUFls2ppi1vMCDb3dSDDS7jc+ww+gMporKbMyaLGz3yPuaCbU2u4xNYxnR/B5RZTG31aMpF5CxFZs1OKStZCdT7+ulYcY/+/qoW60NB0qpeuAe4BSt9RuVPjfYDQcQ7bdf3uXTkg9pyBixu7eCMGRFLnpnp2+a1pqGtMnoGqtf3u7tzd2MPmndW6ZNQ/V7MBqEGlMpUpaqWG733/ROi7Z5albkAlRp23ff+i7pCMhV2PSQNhW1qfiHw5aCUTV2z3ZTsfHSWtNeDGI35WitsQzVcyfUd+yGOn6Tiy6N3U5XYwBGzK2AG0SBre/o9QONaWiGZaJt1L3Hffc1xjGju52+5erSXVsUHPrPw5wXkPd1z2sJvdNcP6QpH2IqFTvXJtbZZB0jdn4HpX7qW+46IhsOIhX7YbXe89FatyqlngD2ByoGn9VhKMWoaptqJ6i4C81QCk3/wAPRoBmWNWN3qSgVDSwdE7SUUpgGpOLu7YmCRtpSsRd5pRTElNldVx/d820zLm+lwAPRtu1KEyFtGxJ4BBBd/CvtBlVKYZvx40gpRRh2l9A/TSlil7u6VTqmZSpqUwZOTGaloi9wlhF/kY/qW3keBjp+zJuGQiuFUyGvYyqqU0bFvIaW1xSG0mB2u40o3fGglMoA+wFvreuKdH8DWROryremA2ygXKsqc43bInNBiHVngIUdCTxDazB3PmOA35ee+xjAX7XWD6zfagkhxMZBKcVjFxwemzZm9OiEa5OcVQYfrfVrwE4J1GX9bqETQmx8PgQ3Nwo+7M911sgG83q8uYplN8uIH0cKot0+a7DlWDHw2Az0mm1lNldxO58pbWKIq0+lH2YE8AL9YZhLIgEKKm5VBggG+HWQgbYUG6ryvFBUnocAboVf6gBY1TQKB/iBT3uACg+0XB+EA/eDGFobTPCxDBX9GGGfGaWA2pTJFsNsRlebPZOjO21YtvvHE1f/sqxUtKkg7gGrZdDzg6GryzQUwzJmv+2b0dZsxXYjneinevq0ZUSVyVYjUoypsbDN8jTHVAyvsmSdWgDRuKxPm1TZ/cdDxooe/se922MoqHKM6N2zPhd1Q0Fd2mRCvU1duvw9OgXUZwy2GGYzoS760dve47MuZTCpPnrHpu98irZ8m2Rtg7gdzbYx8LPOKif6Pbe+wdYyotcipjQ61KWMsvpYBoyvs7AHitBiSA3pb7tVEm2BDrCN6Fdu+26vXNoZ/e7bmGoLZx3tzw+1xgu6t4RW3nG2uoLSdu7uSW/0acuC9uhHDifV2z2/6AvRHVenG9JRDKlLm2TtdVcn8dHS/YvooYZqx+i3zdkPo3fLbKP/dmQv0HR5AY6pyFjlc80PNc05P9pRminfURpqTVNXQJcXMrraItNn7LqBJu+HpE1Fqk+5YSndgIq78uJorSn40Y+jZiyj3zzNeyFLOn2qbIPGKnOod4UO+uCpVEoXi5V/5/JDrmI/bJDBRwghPuQk+EQq9sMGs+wmhBBi4yHBRwghROIk+AghxBDKZrNDXYUhIcFHCCGGUC6XW/WHPoIk+AghhEicBB8hhBCJk+AjhBAicRJ8hBBCJE6CjxBCiMRJ8BFCCJE4CT5CCCESJ8FHCCGGkLxkKoQQInHykqkQQgiREAk+QgghEifBRwghROIk+AghhEicBB8hhBCJk+AjhBAicRJ8hBBCJE6CjxBCDCF5yVQIIUTi5CVTIYQQIiESfIQQQiROgo8QQojESfARQgiROAk+QgghEifBRwghROIk+AghhEicBB8hhBhC8pKpEEKIxMlLpkIIIURCJPgIIYRInAQfIYQQiZPgI4QQInESfIQQQiROgo8QQojESfARQoghJO/5CCGESJy85yOEEEIk5EMZfLTWaK3XKG+4FnmTprUmCCvXdaB+CEKNP0DeVR13TfpIa024hn27Nud0KAw0joJwzfthoHz+Gpa7Nn07UN6hKHdVYywI1yyv1ms+X8SasYa6AqtDa02gwQ2iQWIZGttQKKVWmTfUmi43pBhoDAU1joltrjrfUPFDTacb4IdgG1DtmJhGVF+tNV6g8TUowDEpS1ve5TOvzUcD42otRldbGIPoI601bhD1cd9yV8UNQjrdkFBD2lJkbWPQx+xuC93HVAzqnA6FsNRHYamPUhY97dRa01YIaCuEKAXDsiZVtjHo8dldrqE0jql6yg1CzbIun5b/b+/OQizJzvyA/78Ty13yZmZlVXWt6lK3pMaWLM9oKeQZjxFj4UUSBtkMCGGw58HQLzbYYD/IzIP7ZcA2ePAYGYNsCUZmGCGYMdaLl7FlJIsxoy41akmt1tKabnXXvmblcpdYzueHtCKk6AAAIABJREFUE3HzLhFxc417M/P/g6KyMm5EnHPinPhi+c6tnoVngKvLATqN3V03WlUMEoUC8LLt7qY8+ck4tu7fgVH4I2Mtta68+9lubBVJtt3R4z1rfM9qoye9FFuRhW+Ac20frcAM99lPLLqxK287ELT8nePSTywebidILLAUGpxtebvu97R/chRXm9evX9cbN24c6jZHB9Eod5KU0s6Sd7zteLqeoREshWahOppVRTe26CfT5W35gtAICqoCI0CcKt58EmOQDdD8974B3rsWYqXpFe5z8kQzyhNUnljSLEhOritwg7zpF598J080k3UZPbEsgsmT5ihP3MXC424Kqxj2UQEQeMD5to/QLw4Wk8F3bLtQdGPF3e0UOrHddiC4uhKUXkCNXkhM8g0qL9pGA8sogbsQShQoukkIDMYC1GR5qo63b4DElm/XKgrr4ok7Lzzp2bHyCoBmIFhteujFdmpdI248bQ4serFOrXumZbDS8A5yEbTrFRuNhg4Gg/3uZ9GVtsOxuPNxAaTkdnnkM0UdZZBqYeABgETdXdAi2RpYRCW3//nALapnnCpefxBNnTCsAlHqBltZGyUWhYEnX7/K00Fa+JmspKXr2ZITUb5swQ5LaeABgH7irronKVzbe0ZK274sQADARqR4sJ1OHVMF0EsUXsXNz+gFyF5YVQxKCqQAopI2cPZ/vKPp5hsq65sAsB0pNgbTH1AAvVhhJC1sd6vAg+3yvrvesxBI6QUbHdyxfOdTpOwKpWoACjA1sOdt+npzt+tVK7sinWXWKlU3zqbi8dmitftMFQVW1cpgud92mNV3q8zr9Vndj0urYuFB2kgx+8KLDubEBB8iIjo+Zj52E5FnAXwFwCW4C40vqurvHnXBiIhOA1XFhSvPli6/fOkSXn3l5RpLVI/dvPNJAPxTVX1FRJYBfFdE/lhVf3RYhchfeO/30VC+jaJ1q7ams5aXbDNfBhQ/ZqhaNmu7BzHrEU7ZfhVavkxntVJFeSr2eZDnQrPad9a6+1pvxrpVtdl/Pyt/CLu7o7L3Y3ewBCSFavWYqNrvfsbaUT5fzNPpj/pRogL4xEtfK13+jZc+e6T7n5eZj91U9Y6qvpL9vAngdQBXD6sAqXXJBLF1L74nc/xtliXTjdKpuRV53v7tjRjduHhOTMMXNAoyglQVSap43Jvers3m1zzsphgkdmxuQF6+xLrsm8lBlaeDbgyKy5sH2sl65v9u+qYwCUKzbL9ePL1uPqcnteNlHS3Td+/0sDGwY3MZ8rLc3UxwZyuZmiMRp64NvnOz616M26LySunpbZDYwjaqOhHlc5ue9NKp+TL5PnuxHbbhbuV9pajtZ62XZpls6/10qo8l1mUn3itov3yfbz6OEKUWdqL9UqtY76Xoxjq2DACSVLHRt7izEU1t12b7/PYvuugntvC4pKpIbXFbJxVjLbFAN7J7nA+XH5csS25yTFhFlAIb/fIxEVeMiW7J8daKhCGBe19ZlTG51jIITHF4bvqC0Bf0EkWc2mM1B+242FO2m4g8B+DDAP60YNmLAF4EgGvXru1qe/3Ejr3UyzOKQk9gsqu+9V46zGbZilIshQatwH1+c2Bxe9Pl59/eSnG25eH5MwE8s3OVZESw3PDQsorNQTo8GQ6SPHvJzf9Za3lYCl0sXu+luJdlwtzfTrHWMri45MPITtZOXmyXFux+VgUedRN0s+y6jb7FubY3nG/gssp0WFeX8urWHd1uw5NhWqqq+90gzrOiFL0YWG4Y+J7b55tPItzcSIbXue3AoOlLlvFj8ajn6nJ7cwvPnQnw4ctNGBFsRxbfudXD4yxTa7Vp8OFLTbQCg9QqvvVWFz9+6FJAv3Orh7/2ng5eON/IUotdHUQETR9jqdqjqdJRNq8q9HYGeVGGVz64tyM7bL/NgcVq08NK00Cy9bbjrM8kbp5HJzTZiab6qnk0Wy22bv6Ib6rvXq0C3dji9YcRtrM0r06Y4r1rLsU5VcUP7g1wezMBANzajPHcmQBnmh4EwHa8k2n5qDfA5WUfV5bdkNuK7DAtHgCWQ4OrKz5EXND+v7/o4taG2+5b6zHe/0wDyw3X0d58EuGdpzEUwGv3+/iVZ9v44MUmPMmyO6OdtGNvpH+O1jNvj4YvgLo7lsfZPBl3HIBOw6Dpz27b0b4bRa5tO6GBZOPl9kaCzWy7TwcW51recAyPHpdkYkxEqWJz4I73NhQNT7Dc2NnuxsAiLsigEwBLoaCVzbGaTDtveG6KhTs3uH086bmsQs8AK43xOYDuwlgr22KvRs+XxjudGXW7nucjIh0A3wTw26r6R1Wf3e08n25FDuX2IEU/KU5DjVKLfuLSTSc1POCXLjULr3hUFXc249K0TlU3h6EoJbTpC64seyjLa9rsu/IWteZayyD0TOGy/AqtKLPGWosnvek5Crn72wnW+9NzbID8bmgn2I3yDXCu5eHednFDqFXc3koKB/anXujghXONwrrkJ+yy7C5TUk8A2OgniNLi5Q0PaAamsB0EwNlW+XyM/O6rSNV8l81BijefRHjUK+6jqu6uuWjbV5d9NP3i8gYGaPhmeJKf2Chubca4s5kUtsNqw6CXaGH//OVLDXzwYgNWix89N/3yR9qbgxSDpDg1u9MwaAfFD0hS6+5Yyo7pVmTRjYrHxLmWICgZE0nq7lDLUttDT0rTtpdDg0ZQPEdM4B7tBwU56kk2STqomNPW9Pc092zXHwzCUH/jC98sXf6Nlz6L+7ff2e3mFs3B5vmISADgDwH8/qzAc1iq5j8kFqXzfty7DRRWWUQq0yejksl++XZTC5iSB5VlgQdw62nJxY17l1C8TERK2wAANiNbOgci1eLAA7j2Kws8AHBzIy7dbzcur6eIoOpLI6raPi2ZYAi4uiR2f8/eD5Iuu94vvzh62J2ef5OLUkVQcrxjC8Qlk2UUGN7tFNkY2NJ9dmN3st7PvLWywAPMfqVS1b7bUfnCVMtPPgqUBh6gfL4QAAQVk5M9I/BLGsgYKZ0ITEdjZmuLG/FfAvC6qv7O0ReJiIhOut2E+l8D8PcAfEJEvpf9+fQRlwu+kdKrOM+4W+Ai+WOsMoEpf0E++ry5aLtldz2AexRQZtbVaNXiomSJXCc0KLtYa/oyfIc1yRP3qKrMpY5fut2GV95+QHVdqtrBN+XLjaDyjqrKQZ7Qd0raD3DtV1beViCl/cg37mtdylzs+KVlPtfySvtDw6u+66xq+7DimBqpbsOqfVbV0y950Z/vs6z9gOoxcZBvLFm0bzs56WY+dlPVb+OIvu2k7B1A6AkudHwogCe9FJsjX5+x0jA4k72tfNRN8fbTeHiLvto0eM9aUFnYCx0fVoHH3RTb2TMrAXCm6WG5aYbbHf1ak9WGweXl4oQDycp7adlHaoGH3WT4SNAIsNbyhiexya9oyd85AJj63isjQOi75+2xVTzcTofLPQHOtT1cOxMgtcDrDwZ4ZyMerve+syHesxZCAbz1JML37/WHj+euLvu4frWFwAie9FO8fKs3TOhYbhh87GoLZ5oeBonif7yxiZ89iobH5NefW8rep03XJf8OuLwu8VRShgy/USL/csjx4x1UHG/3An+QuISDfNX8xXaVRnYCnHyM6xIOytfrhAYfutTExsDixw8Hw/eLS6HB+8+HaAcGUap4+VYPd7aSYT0+dKmJa6uuf97eTHBnMxmW98KSh2urAURcUstb6/HwuCyHru9ev9rC5sDif/18C3ez7S6FBn/1+SU8uxrAWsW33+7iR/cH2Zd6Ah+90sJHr7bgiXv82x1po9GkjLK+ezEbE6PJMgLgTMvDSmM6WQbZflsj/Tr/UlnA9etO6OFsy0NiFbc3kmHihSfu4iZPItme+B5D96W07sKoG9ksG3Vn2fm2D2Pce6GH3Z0xkX+ZaHOfx1vggtpkG40uZ2w6XHP9YtHpb7HdORmPfpNtal2a5mp2tWlGlqkCtzdjrDa8PX1JqFX3hY7bkcuokontWgUebidYbXpojLxozNsrP/HmHXq0vIPEfZnpapb1JCPrKtyJOchOxjKx3dgqTPbuZHK9XmQRW8XKxHZT69KP334a471nQ/hm54tWrXXvsX78oI8rKy4TK3/unbf/L55EgADvPhOO7TdOLe5vp/jZowF+9dn22HaH5U0V/i7qgonledahX3a8BylWGx6MGf/W6DyDL/Bk199onq/r3tvpMJNpt9/CbLM+5hvBhSzrMV83/0LRu1sx3v+MyzgzY22vuLOR4GLHR+CNt59V4O5mgnYoWGmMf5NynCreXo/wpJ/ily+14I20Q5y6L3P94b0BPnKlhYYvY8dU4ZJ5Gp6MzZ3bTd8dHRNGCo5pxfHuxhae2ZnaMLrdPIvxmbYba6PrWgV6iUUrm2Yw2e+f9lM0fTM1DhUuQKXqLpzKxlq4x+Odt1EebKu+MLXCrj8cNhp65tyF0uXHfJJpaTssxLda72aS6b4noc3Yb9V6+51IepBJpke5z7LlVrU0Xfm4tVGVg05OLVv3qOqSz3Eqy9yctc/9lPe4He+D7LNKPg/L2//E912vxG+1niMRmfl/61R1gP3m3s9ab7/7nMd2D7LPqvTR49ZG+93mQdY9qrqcpOOyiGNiVnn8Bf7/vk4C5hYSEVHtGHyIiKh2DD5ERFQ7Bh8iIqodgw8REdWOwYeIaI7a7fa8izAXDD5ERHPU7XbnXYS5YPAhIqLaMfgQEVHtGHyIiKh2DD5ERFQ7Bh8iIqodgw8REdWOwYeIiGrH4ENENEecZEpERLXjJFMiIqKaMPgQEVHtGHyIiKh2DD5ERFQ7Bh8iIqodgw8REdWOwYeIiGrH4ENENEecZEpERLXjJFMiIqKaMPgQEVHtGHyIiKh2DD5ERFQ7Bh8iIqodgw8REdWOwYeIiGrH4ENENEecZEpERLXjJFMiIqKaMPgQEVHtGHyIiKh2DD5ERFQ7Bh8iIqodgw8REdWOwYeIaI44z4eIiGrHeT5EREQ1YfAhIqLaMfgQEVHtGHyIiKh2DD5ERFQ7f94FKGJVEaUKI0BgBCIytmy9lyK1irW2D9/sLFNVdGOLzYHFmZaHpj8eW/uJxb2tFMuhYK3ljW03sYr7WwkA4GLHhzex3X5iEaXAUmjG9jlLYhVPugk8IzjT8mBkd+uqKnqxYmOQYrXpoRWczusEVUVsFapA4Mmu2w8AotTiSTdFKxAsN8aP9yJKratrYGSs/82iqohThQIIvfHxoqp42k+x3re40PHRnuhHvdji/naC5dBMjYnUKp70UogAaxN9V1XRSyzikjERpRa92KLpm6kyRani3laChic4vzS+XauK2xsJeoni2qqPxsgY1uy80E8sWoFB6I3XJbGK7cgi8ICWb6bqcn87gVU3vifPG4lVpOraby99jPZPVLX6AyJfBvC3ANxX1Q/uZqPXr1/XGzdu7Lkw+SBKRookyDsE0I0tHnVTqAKaLVttGqw2PcSp4mE3QZzuLGsFgrNtF1/vbSV42rfDZYEHXF0J0PIFj3sp7m+77bo6AxeXPKy1PCQW2IxS2JEyNTzBUmgqO2k+6Ef3KQKca/toB1J5IoxTxcPtBFF2QhEADV9wru0j8E7HwFB1J4MoHe+fvpm+IJmUnzS3o5229wxwfsmfuiBZBPnF1mgfMzL7RJifNGM7/vu8jfqJ4tbGeD9abhhcXnZj4u5Wgo2R/hl6gisrPlq+YGOQYr3nliFbfrblodMwiK1iK7Jj5W36gnZgoApsRRbxyELfAJ3QgxHgwXbqxnC2TSPAlRUfnUCwPlC8+SRCarMxLMCVjo8rKz6sAltRimSkroERdEIDEWA7shiM9BUjwHLowTfAk16KexPj+8KSh7MtDzbrY6O9zJPpIL4Pu1650WjoYDA4yL4WWWk77Cb4fBzAFoCvHGXwsaroJ8Vl0exuJ8k65Vj58s+Ubdcq+mn5Z4xgGMwmt7vSMGgGxW0XeoLl0BR20MQq7mzEsCXbvdjx0fCLO/dGP8WTXlpY1tAILq/4C38Ff1CqisHEyXhUVQAaJBZ3N5PiYw3gymqwpzvXoxandip45ATupF5Uz1lt9KS3c+FTtu2iZQJgKevzRX236Qu8fVwAuQsCWzgmkNUlVUzVxwA40zRYa3t73qeq22fZeeNc22C5Ub7dhre3O9CCXexKGIZ65vxFXL50Ca++8vJ+97eoStth5mWgqn4LwONDLU6BskGUiws6EOB+V7VqqtWfKRwM2eeDiv5edfUdZyeFsu2WBR7A3d2VlTX0pbKuJ0lVf/CkvP0GiZa2kTHuYmORpBX1nFXWqjbK7/rKVAUlq8VtqHBtuB+JrR5rsS2uj4V7grEfVqvPG7MeZc86Jx0WBfCJl76GO3fv1rPDBXFozyBE5EURuSEiNx48eHBYm52rBTtPEdEeLeoYHj1fWlty63vCHVrwUdUvqup1Vb3+zDPPHNZmiYhOnNHzpdnv7eQxdzprvUun5REX0UnFMby4Fib4zHq+HZjiW2hB9a21J9WfMeKyX4q2m1Q89HXpv8XLA08gUl7eQVK+bjswpWWNUl3YxwiHrao/pFrefg1fStvIlrxXmKeqd/ezylrVF6r6UdW6LsusuA0Frg33wzeoHBNByfs4AdCN93fQjGT7LdlnryzTY2R9Ojoz5/mIyB8A+HUA50XkJoB/oapfOuyCGBG0fEylWgNA0ze4vCzoJorHJanWUap4NJFq3QwE59oBgOJU6yvLAdrB/lOty156+0bwrtUAT/vpWCqrS7X2KhMOVpoemoHBo5JU65Oe6Qa4k1/Dw75SrRu+wbtWg+JU64l5YYsg8Aw8U55qXVZPEUHTR2mq9dUVH+dKUq0vdXyIAHc3E2wMRseE4GpFqvVay8NySap1PiY0S4keLZNvgDNNH88sAQ+2Ezzq7uzTpVoH6ISC9b7izfUINst6EwEud3xc3Weqdafh4XzbH0u1zvd7sXPkqdY0w8xU6/3Y7zyf3G4mmSZWcbZgkul2bLE1sDiTncRH9WKL+1sJOg2DswWTTO+NTDKd3K6bZKpYCr09TzJ93E3gc5LpvoxOoNzzJNPE4nEvRfsYTDJV1Sw76/Anma5n883KJpne20qw0iifZAq4wDM58fqgk0xDT/DMxCTT1CpubcToJ4p3nwkOdZLpvS2Xgl/TJNNdbyQIQ/2NL3wT33jps7h/+53D2PciKW2HhfyGAyOCpl9cZiM7E0cniQg6oYdOWJwj3QoM3r0WFi7zjeDqSlC63VbgoVW8uJJvBBc6e19RRNAOBe3wdAadnIggLOkLs4S+waXl49F+IgJPsK95JVVtJCJYa/lYaxWv2woMnisZE54RnF8qH2vtwANKunboTQeHnWWCZ1eLV/SM4NqZ4vKICBq+jAWkUb4RrDaLx75nBFcqxnfgSVlV6Igcj5FJRHRCiQi+8dJncfnSpXkXpVYLeedDRHRaCHASH7fNxDsfIiKqHYMPERHVjsGHiIhqx+BDRES1Y/AhIqLaMfgQEVHtGHyIiOao3W7PuwhzweBDRDRH3W533kWYCwYfIiKqHYMPERHVjsGHiIhqx+BDRES1Y/AhIqLaMfgQEVHtGHyIiKh2DD5ERHPESaZERFQ7TjIlIiKqCYMPERHVjsGHiIhqx+BDRES1Y/AhIqLaMfgQEVHtGHyIiKh2DD5ERHPESaZERFQ7TjIlIiKqCYMPERHVjsGHiIhqx+BDRES1Y/AhIqLaMfgQEVHtGHyIiKh2DD5ERHPESaZERFQ7TjIlIiKqCYMPERHVjsGHiIhqx+BDRES1Y/AhIqLaMfgQEVHt/HkXgIjoNFNVXLjyLADg8qVLePWVl+dconow+BARzZEC+MRLXwMAfOOlz863MDXiYzciIqodgw8REdVuIYKPqiJOLVS18jNVy8qW73fZUW/3sPdJB3fc2ne//ciekjFxkLrQ0Ztr8FFVJFbRSxSxBWKrUx1CVZFaxXZskdrpZVYV3dgO151cthVZbA7s1IBz2wW68fQym+1zvZciTt12Rtdz5QZSne7AqVWs9y3eWo+R2ul1Z9XlaT9FLyneZ6rFbUQHk7enO9bVJ8JFkI+b7YK+O6yLna5L3v9uPY3xztN4qg9aVUSp6/fWTvfrOFX8/HGEbuy2M7pdq4qNvkU3Ki5TbBW9xE713cQqtqIUN271sB2lSOx0XarG99O+xeNuWtwOKD+n5OeNxC7+8T6pdpVwICKfBPC7ADwA/0lV/+Vh7HyQDfZcYl0nDzyBB9d5urFFP3Ef6icpWr6gHbiYOUjcAFQAvUQRGEEnNBABklTxsJsiSt26G4MU59s+Gr57wbcdWQzSne22A4Nmtmyzb7HeT6EAng4slkKDcy0PIoBVIEpd2QBAADR8GZ68fvwwwuNeCgC4tRHjfWdDXOj4kKwuvZG6NEfq0ovdIHJFsmj6gvNtH55xZYpG2iq1itATmKwUInIYh+PUyU86SXbhA7h+4wkQeu4zi9S2+Qm1akyM1QWuLoEHqAJbkcWrd/vYjCwA4M31GL90sYnVpoEq8Kibohu7ZRsDi7WWh07DLbu5EeOt9RhWgXc2Elzq+HjhXAgjbhw+6iZI3KoIBxbnlzwExo2XrcgOy9SLUyyFBqFxF2/fu9PDa/cHUAA/ejDAB55p4MNXWvDEnR+2o+LxHaWK2xvJcDw96qe4suxjKWuHKNVsLLkAFxiBb/I2c4HHbTdF6GXbxWId75NuZvAREQ/Avwfw1wHcBPCyiHxdVX900J2PBp5cfqKN0+yqZGJ5L1EM0hQCDDtXLraKR70EaYphYMklFri7lWAlG2ijSxXAdmzxtGeRKIaDKLcdWUSJxVrbgws34+v2E8VPHg7wtG/Hthtb4PWHEaJUsRSaqbr0E8V2lCBJd04Yo8tubsS42PGgBfscpIqGJ/AMB8t+JdadmCaPS6qu/Zv+YrXt1iBFVDImEpsiMAJMnDxTBbZ6KX76aIDHvfGOvRVZ/Mk7XfzFC43CMfG4l+Lt9QgbsWKQjO/17laCzX6KKyv+1HjJA8Nq00yNUc32+9q9Pm5vJsMgCrjzwQ/vD7AdW3zwYgOTYy0f31uRohePbzhOgV+sJ7i26heOidi6dRLVqfNOlLonDmea3tR6dHR289jtYwDeUNU/U9UIwFcBfOZoi5U90ipZZnU68IyaDDyjik42o/ucHEg5RXGwzG0MbOl244p9qk4HnlFV+6SDO07NWzUmFNV1We+XdGy4O5eydQfpdOAZLU80Y6yV2YrsWOAZFaXukXiZycAzWaYys8bwceoLJ8FuHrtdBfDOyL9vAvhLkx8SkRcBvAgA165dO5TCERGdRKPnyyAIh/N7Ll+6NM9i1Wo3wafo2cPURYKqfhHAFwHg+vXrvIggomOlzoesk+fLGzdu1Lj3xbCbx243ATw78u93Abh9KDuvONrePnuCZOsWrS7AWJbO1D49Ke2AtuIxAACcbXmF9TGC4QveIsZMPaYfcuUt32fKrLcDqep/i9iqjYp3UKktf1keeoJ2IIVjyhOXwFC25ZYvMCXjKVGFkeIxI3CPlMtcWfYLx6kA2OynlWMi9MrHd69qrFUcb1vxSJOOxm7ufF4G8IKIPA/gFoDPAfi7h7Hzpm+QWh3LHgMA3wAt34NVYDNKx97DjGa8jGb9AK5zLTd8+G33TPlJLx2+SBUAay2D5YaHVIHNQTr2fLjhCc62PKgCj7sJurEO1/M94HzbR+gJEuvSwkeFnuCDFxpY71v8+OFgmJlmBLi67OO5tRACYCtKx9YNDNAJfUgbeNpPsZElLEhWl3NLPlq+FD5b941rC2bn7J9nBC0Zz4wCdjIYF61tW4GHwHOpyaNjIjSCpdDACBCnimSiLu3A4OPvXsLNjRg/ejBw7z3UXfS8/5kGrq0GiFLFw+1kmOQjAJZCg2dXA7xPgZ89GuBhNx3266XA4M8/08BSINjop1gf6bsiwLm2j3YgiK2b7jB6zdfyBR+63ML7zjXwJ293cT/bryfAxY6Pv3ytjU5oxrJDAbffTsPD+baPjYHFnc1kGDQEwIUlD+fankvImXiP5QnQCg2WMJ7pmi/rhB7Mgh3vk052c+UsIp8G8G/hUq2/rKq/XfX5vd5G5vMAVIHAk6lOEKUWvdiiFRiE3vjNWmpdOqbvAS3fjJ0wrGZzFhRYa3ljWTCqikFiMUjdIPMnLosGicV6z6WFLoXj29VsPoTAlXdynzc3YjztW7z3bDhMgd1NXZJU8biXIPQEq01vap9VbUQHk89x8QTwFzyo5/2vn1i0Aw/BxC1NVV3iVPHTRy4A/bnzDYTeeB/bGlh0Y5dmHfrj/fNpP8Vb6xEudwI8szTePxOreNJL4QlwpjV+IldV9LI5NUuhmcpGu7UR47V7ffyFi01cXQnGlg3HtwFawfT4fpAFrosdf2wM5/Pi8jTryX0m2XZDz10EH8Hx3vUGT/hjt9J22FXw2asT3phERLMw+Dil7bAQX69DRESnC4MPERHVjsGHiIhqx+BDRES1Y/AhIqLaMfgQEVHtGHyIiKh2DD5ERFQ7Bh8iIqrdkXzDgYg8APCLfax6HsDDQy7OccG6nz6ntd7Aya/7Q1X95G4+KCL/fbefPUmOJPjsl4jcUNXr8y7HPLDup6/up7XewOmuOzl87EZERLVj8CEiototWvD54rwLMEes++lzWusNnO66ExbsnQ8REZ0Oi3bnQ0REpwCDDxER1W5hgo+IfFJEfiIib4jI5+ddnsMmIm+JyA9E5HsiciP73VkR+WMR+Vn299rI5/951hY/EZG/Ob+S752IfFlE7ovID0d+t+e6ishHszZ7Q0T+nSzy/22dKan7SyJyKzv238v+W/p82Ymou4g8KyL/R0ReF5HXROQfZ78/Fced9kFV5/4HgAfg5wDeAyAE8CqAD8y7XIdcx7cAnJ/43b8G8Pns588D+FfZzx/I2qAB4PmsbbwP4Dy0AAACn0lEQVR512EPdf04gI8A+OFB6grgOwB+Fe6/4v1vAD4177rts+4vAfhnBZ89MXUHcBnAR7KflwH8NKvfqTju/LP3P4ty5/MxAG+o6p+pagTgqwA+M+cy1eEzAH4v+/n3APztkd9/VVUHqvomgDfg2uhYUNVvAXg88es91VVELgNYUdX/p+6M9JWRdRZWSd3LnJi6q+odVX0l+3kTwOsAruKUHHfau0UJPlcBvDPy75vZ704SBfA/ReS7IvJi9ruLqnoHcIMXwIXs9yexPfZa16vZz5O/P67+kYh8P3sslz96OpF1F5HnAHwYwJ+Cx51KLErwKXqme9JywH9NVT8C4FMA/qGIfLzis6ehPXJldT1JbfAfALwXwIcA3AHwb7Lfn7i6i0gHwB8C+CequlH10YLfHeu6094sSvC5CeDZkX+/C8DtOZXlSKjq7ezv+wD+C9xjtHvZYwZkf9/PPn4S22Ovdb2Z/Tz5+2NHVe+paqqqFsB/xM4j1BNVdxEJ4ALP76vqH2W/PrXHnaotSvB5GcALIvK8iIQAPgfg63Mu06ERkSURWc5/BvA3APwQro6/mX3sNwH81+znrwP4nIg0ROR5AC/AvYQ9zvZU1+wRzaaI/EqW7fT3R9Y5VvKTb+bvwB174ATVPSvnlwC8rqq/M7Lo1B53mmHeGQ/5HwCfhsuQ+TmA35p3eQ65bu+By+x5FcBref0AnAPwvwH8LPv77Mg6v5W1xU9wzLJ9APwB3OOlGO5K9h/sp64ArsOdqH8O4AvIvpFjkf+U1P0/A/gBgO/DnXQvn7S6A/grcI/Hvg/ge9mfT5+W484/e//Dr9chIqLaLcpjNyIiOkUYfIiIqHYMPkREVDsGHyIiqh2DDxER1Y7Bh4iIasfgQ0REtfv/0m1IKXdUcwYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -385,36 +321,40 @@ } ], "source": [ - "sns.jointplot(np.arange(t_genotypes_raw.shape[0]), t_genotypes_raw, kind=\"hex\")" + "p = sns.jointplot(np.arange(t_genotypes_raw.shape[0]), t_genotypes_raw, kind=\"hex\", joint_kws=dict(gridsize=40))\n", + "\n", + "\n", + "p.ax_marg_x.set_title( \"%s in chr %s \" % (samples_ids.values[sample_ix], ec) )\n", + "plt.show()" ] }, { "cell_type": "code", - "execution_count": 176, - "id": "aboriginal-fruit", + "execution_count": 60, + "id": "surrounded-shield", "metadata": { "execution": { - "iopub.execute_input": "2021-04-22T13:34:54.579559Z", - "iopub.status.busy": "2021-04-22T13:34:54.579239Z", - "iopub.status.idle": "2021-04-22T13:34:54.723782Z", - "shell.execute_reply": "2021-04-22T13:34:54.723211Z", - "shell.execute_reply.started": "2021-04-22T13:34:54.579534Z" + "iopub.execute_input": "2021-04-23T10:43:52.636644Z", + "iopub.status.busy": "2021-04-23T10:43:52.636307Z", + "iopub.status.idle": "2021-04-23T10:43:52.746996Z", + "shell.execute_reply": "2021-04-23T10:43:52.746579Z", + "shell.execute_reply.started": "2021-04-23T10:43:52.636619Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 176, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAPl0lEQVR4nO3dbYxcd3XH8e9Ze+0NcWxDdrGdELOBhrYkJDxsTStamqoSJKENILUSacWDBfKbUIHUStCiJjS8oghUqggiFyLjCiVvSItbQVtUtbUqCq0ThcTBCphnN8FeJ5LtOPXT7umLvZts7N2d2fX1zs7x9yOtZuZ//3PvOXO9P929c8cTmYkkqf8N9LoASVI7DHRJKsJAl6QiDHRJKsJAl6QiVvZqw8PDwzk6OtqrzUtSX3rwwQcPZ+bIbMt6Fuijo6Ps2bOnV5uXpL4UET+Za5mnXCSpCANdkoow0CWpCANdkoow0CWpiI5XuUTEVcBOYCMwCWzPzM+eNSeAzwK3AM8C78vMh9ovV1KvnDhxhp8fe4YEIiDz+Vs6jHVavtixiUl46pkJDh47yYa1q7l24xouvWT1krwey1E3ly2eAf44Mx+KiMuAByPiG5n53RlzbgauaX7eCHy+uZVUwIkTZ9h/+AgAKwaCicl87rbT2GKe083YqTOTPH7wWe7Y9RgnTk8yNDjAXbdex9uue+lFG+odAz0znwSebO4fi4h9wJXAzEB/O7Azp/4v3m9FxPqI2NQ8V1Kfe/TJIzz/P23nWbedxhbznG7G4rkwBzhxepI7du1ldHgLW6420DuKiFHgdcC3z1p0JfCzGY8PNGMvCPSI2AZsA9i8efPCKpXUMz8/epIXBuryMB3mMx8fPHqyR9X0XteBHhFrgK8AH87Mo2cvnuUp5+z9zNwObAcYGxtbfv86JM1q49rVyzDOYWhw4AWhPjQ4wIa1F+fROXQZ6BExyFSYfzkzH5hlygHgqhmPXwY8cf7lSVoOXrNp3bI8h37Xrdeecw792o1rlu6FWWa6ucolgC8C+zLzM3NM2wV8MCLuZ+rN0COeP5fqGBpayS8Mr1tWV7lcsmqAN7x8LTu3bvEql0Y3R+hvAt4NPBoRDzdjfwZsBsjMe4CvMXXJ4n6mLlvc2n6pknppaGglo0Pre13GOV750l5XsHx0c5XLfzL7OfKZcxK4va2iJEkL5ydFJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJakIA12SijDQJamIjoEeEfdGxKGI2DvH8nUR8Q8R8Z2IeCwitrZfpiSpk26O0HcAN82z/Hbgu5l5A3Aj8OmIWHX+pUmSFqJjoGfmbuDp+aYAl0VEAGuauWfaKU+S1K02zqHfDfwy8ATwKPChzJycbWJEbIuIPRGxZ3x8vIVNS5KmtRHobwUeBq4AXgvcHRFrZ5uYmdszcywzx0ZGRlrYtCRpWhuBvhV4IKfsB34E/FIL65UkLUAbgf5T4LcBImID8IvAD1tYryRpAVZ2mhAR9zF19cpwRBwA7gQGATLzHuATwI6IeBQI4COZefiCVSxJmlXHQM/M2zosfwJ4S2sVSZIWxU+KSlIRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFWGgS1IRBrokFdEx0CPi3og4FBF755lzY0Q8HBGPRcR/tFuiJKkb3Ryh7wBummthRKwHPgfcmpnXAr/fTmmSpIXoGOiZuRt4ep4pfwA8kJk/beYfaqk2SdICtHEO/VXAiyPi3yPiwYh4z1wTI2JbROyJiD3j4+MtbFqSNK2NQF8JvAF4G/BW4M8j4lWzTczM7Zk5lpljIyMjLWxakjRtZQvrOAAczszjwPGI2A3cAHyvhXVLkrrUxhH6V4HfiIiVEfEi4I3AvhbWK0lagI5H6BFxH3AjMBwRB4A7gUGAzLwnM/dFxD8BjwCTwBcyc85LHCVJF0bHQM/M27qY8yngU61UJElaFD8pKklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklFGOiSVISBLklF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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAPfElEQVR4nO3dbYxc1X3H8e9/7cWmNobALrZ5cNYg0hYjSGBrWqVNXVUKYCpIpFYKrZKAEvkNVInUStBGhZS8SqNEJUKJ5SaW4ygyb6CNGyVto6qtVaWkXSMDNhYEAklcjL2Gtn7Cj/vvi7mbLPbOzszuXY/n7PcjjfbOPefee+7ZOz/dPXNmJzITSVLv6+t2AyRJ9TDQJakQBrokFcJAl6RCGOiSVIj53TrwwMBADg0NdevwktSTtm/ffiAzBycr61qgDw0NMTIy0q3DS1JPioifNCtzyEWSCmGgS1IhDHRJKoSBLkmFMNAlqRAtZ7lExNXAZmAZMAZsyMzHzqgTwGPAWuAocG9mPlN/c9Wpw28fY9+hY/QFjCX0RWN9J8tu173tzmXbAN48fJp9h46zdMkCVi1bzKILF6De0c60xVPAn2TmMxFxEbA9Ir6fmS9MqHMHcF31uBX4avVTXXT47WO8MnqYeX3B6bFkXvXq7WTZ7bq33blsG8CL+47y8NZdHDs5xsL+Ph696wbuvOFyQ72HtAz0zNwL7K2WD0XEbuBKYGKg3w1szsb/4n06Ii6JiOXVtuqSF944AlndghETSjpZdrvubXdu2zYe5gDHTo7x8NadDA2sZvVKA71XdPTBoogYAt4H/PCMoiuBn014vqda945Aj4h1wDqAFStWdNZSdWzfweOA/+9e7RkP84nPG9eQekXbgR4Ri4EngU9n5sEziyfZ5KwkycwNwAaA4eFhk2aWLV3inZXat7C/7x2hvrC/z2uox7QV6BHRTyPMv5WZT01SZQ9w9YTnVwGvz7x5monrly1yDL2HtzvXY+iP3rXqrDH0VcsWo97RziyXAL4O7M7MLzWpthV4ICKeoPFm6P85ft59iy9cyLWDOMulh7c7l2275d1L2Hzfame59LB27tDfD3wUeD4idlTr/hxYAZCZ64Hv0piy+DKNaYv31d9UTcfiCxey+MKF3W6GesS1l3e7BZqJdma5/DuTj5FPrJPA/XU1SpLUOT8pKkmFMNAlqRAGuiQVwkCXpEIY6JJUCANdkgphoEtSIQx0SSqEgS5JhTDQJakQBrokFcJAl6RCGOiSVAgDXZIKYaBLUiEMdEkqhIEuSYUw0CWpEAa6JBXCQJekQhjoklQIA12SCmGgS1IhDHRJKoSBLkmFMNAlqRAGuiQVwkCXpEIY6JJUCANdkgphoEtSIVoGekRsjIj9EbGzSfnFEfH3EfFsROyKiPvqb6YkqZV27tA3AbdPUX4/8EJm3gSsAb4YERfMvGmSpE60DPTM3Aa8NVUV4KKICGBxVfdUPc2TJLWrjjH0x4FfBV4Hngc+lZljk1WMiHURMRIRI6OjozUcWpI0ro5Avw3YAVwBvBd4PCKWTFYxMzdk5nBmDg8ODtZwaEnSuDoC/T7gqWx4GXgV+JUa9itJ6kAdgf5T4HcBImIp8MvAj2vYrySpA/NbVYiILTRmrwxExB7gEaAfIDPXA58DNkXE80AAD2bmgVlrsSRpUi0DPTPvaVH+OvDB2lokSZoWPykqSYUw0CWpEAa6JBXCQJekQhjoklQIA12SCmGgS1IhDHRJKoSBLkmFMNAlqRAGuiQVwkCXpEIY6JJUCANdkgphoEtSIQx0SSqEgS5JhTDQJakQBrokFcJAl6RCGOiSVAgDXZIKYaBLUiEMdEkqhIEuSYUw0CWpEAa6JBXCQJekQhjoklQIA12SCtEy0CNiY0Tsj4idU9RZExE7ImJXRPxbvU2UJLWjnTv0TcDtzQoj4hLgK8BdmbkK+IN6miZJ6kTLQM/MbcBbU1T5Q+CpzPxpVX9/TW2TJHWgjjH09wDvioh/jYjtEfGxZhUjYl1EjETEyOjoaA2HliSNqyPQ5wO3AHcCtwF/ERHvmaxiZm7IzOHMHB4cHKzh0JKkcfNr2Mce4EBmHgGORMQ24CbgpRr2LUlqUx136N8Gfisi5kfELwG3Artr2K8kqQMt79AjYguwBhiIiD3AI0A/QGauz8zdEfEPwHPAGPC1zGw6xVGSNDtaBnpm3tNGnS8AX6ilRZKkafGTopJUCANdkgphoEtSIQx0SSqEgS5JhTDQJakQBrokFcJAl6RCGOiSVAgDXZIKYaBLUiEMdEkqhIEuSYUw0CWpEAa6JBXCQJekQhjoklQIA12SCmGgS1IhDHRJKoSBLkmFMNAlqRAGuiQVwkCXpEIY6JJUCANdkgphoEtSIQx0SSqEgS5JhTDQJakQBrokFaJloEfExojYHxE7W9T7tYg4HRG/X1/zJEntaucOfRNw+1QVImIe8HngH2tokyRpGloGemZuA95qUe2PgSeB/XU0SpLUuRmPoUfElcCHgfVt1F0XESMRMTI6OjrTQ0uSJqjjTdG/Bh7MzNOtKmbmhswczszhwcHBGg4tSRo3v4Z9DANPRATAALA2Ik5l5t/VsG9JUptmHOiZuXJ8OSI2Ad8xzCXp3GsZ6BGxBVgDDETEHuARoB8gM1uOm0uSzo2WgZ6Z97S7s8y8d0atkSRNm58UlaRCGOiSVAgDXZIKYaBLUiEMdEkqhIEuSYUw0CWpEAa6JBXCQJekQhjoklQIA12SCmGgS1IhDHRJKoSBLkmFMNAlqRAGuiQVwkCXpEIY6JJUCANdkgphoEtSIQx0SSqEgS5JhTDQJakQBrokFcJAl6RCGOiSVAgDXZIKYaBLUiEMdEkqhIEuSYVoGegRsTEi9kfEziblfxQRz1WPH0TETfU3U5LUSjt36JuA26cofxX47cy8EfgcsKGGdkmSOjS/VYXM3BYRQ1OU/2DC06eBq2beLElSp+oeQ/8E8L1mhRGxLiJGImJkdHS05kNL0txWW6BHxO/QCPQHm9XJzA2ZOZyZw4ODg3UdWpJEG0Mu7YiIG4GvAXdk5pt17FOS1JkZ36FHxArgKeCjmfnSzJskSZqOlnfoEbEFWAMMRMQe4BGgHyAz1wMPA5cBX4kIgFOZOTxbDZYkTa6dWS73tCj/JPDJ2lokSZoWPykqSYUw0CWpEAa6JBXCQJekQhjoklQIA12SCmGgS1IhDHRJKoSBLkmFMNAlqRAGuiQVwkCXpEIY6JJUCANdkgphoEtSIQx0SSqEgS5JhTDQJakQBrokFcJAl6RCGOiSVAgDXZIKYaBLUiEMdEkqhIEuSYUw0CWpEAa6JBXCQJekQhjoklQIA12SCmGgS1Ih5reqEBEbgd8D9mfmDZOUB/AYsBY4Ctybmc/U3VCAsbFk38EjHD1xir6o1iVTLrcqL3270UOn2XfoOEuXLOD6ZYtYfOHCzjpdc8bYWPLGwSMcP3mq8fw8uH57cbupyt8+AYdPnGb00HGWX7yQG6+4mAsumNfiN9O+loEObAIeBzY3Kb8DuK563Ap8tfpZq7Gx5MX9/8uJE6eZV/XQ6bGccrlVeenbvbD3CA9v3cWxk2Ms7O/j0btuYO0Ng4a6zjI2lrzwxv80Uofz4/rtxe2mKn/r6Cn2HzrBI2e8Jj900xW1hXrLQM/MbRExNEWVu4HNmZnA0xFxSUQsz8y9tbSw8tqbRzh0dAyICWtbLXdSt7ztxsMc4NjJMR7eupOhgdWsXmmg651ee/MIR4/lhDXdv357c7vm5fP6+n4e5vCL1+Q1g4sYHrqUOrRzh97KlcDPJjzfU607K9AjYh2wDmDFihUdHWTfwWMcOHx8+q2cg8YvnInP9x20D3U2X1+z7/RYs9fksdqOUUegxyTrcpJ1ZOYGYAPA8PDwpHWaWbpk4c//fFF7Fvb3veMCWtjfx9IlC7rYIp2vfH3NvmMnTzd5Tdb3F3Mdgb4HuHrC86uA12vY7zsMXbaI46dPOobewXaP3rXqrDH065ctquG3odIMXbaIoydPOIY+i2PoR46P8Zd3rTprDP3GKy6e5m/tbNEY+m5RqTGG/p0ms1zuBB6gMcvlVuDLmbm61T6Hh4dzZGSko8Y6y8VZLpo9znKpZ7upysdnuRw4dJxlFy/gxisu6fgN0YjYnpnDk5W1M21xC7AGGIiIPcAjQD9AZq4HvksjzF+mMW3xvo5a14G+vmD5JYtna/dFWjnY7RaoV/T1BVf4+upp7cxyuadFeQL319YiSdK0+ElRSSqEgS5JhTDQJakQBrokFaKtaYuzcuCIUeAn09x8ADhQY3N6lf1gH4yzH+ZOH7w7Myedv9a1QJ+JiBhpNg9zLrEf7INx9oN9AA65SFIxDHRJKkSvBvqGbjfgPGE/2Afj7Af7oDfH0CVJZ+vVO3RJ0hkMdEkqRM8FekTcHhEvRsTLEfFQt9szmyLitYh4PiJ2RMRIte7SiPh+RPyo+vmuCfX/rOqXFyPitu61fGYiYmNE7I+InRPWdXzeEXFL1X8vR8SXqy807wlN+uCzEfHf1fWwIyLWTigrsQ+ujoh/iYjdEbErIj5VrZ9T10JHMrNnHsA84BXgGuAC4Fng+m63axbP9zVg4Ix1fwU8VC0/BHy+Wr6+6o8FwMqqn+Z1+xymed4fAG4Gds7kvIH/BH6DxrdqfQ+4o9vnNsM++Czwp5PULbUPlgM3V8sXAS9V5zqnroVOHr12h74aeDkzf5yZJ4AnaHxJ9VxyN/CNavkbwIcmrH8iM49n5qs0/j99yy8aOR9l5jbgrTNWd3TeEbEcWJKZ/5GNV/TmCduc95r0QTOl9sHezHymWj4E7KbxfcVz6lroRK8FerMvpC5VAv8UEdurL9gGWJqZe6FxwQOXV+tL75tOz/vKavnM9b3ugYh4rhqSGR9qKL4Pqm9Nex/wQ7wWmuq1QG/7C6kL8f7MvBm4A7g/Ij4wRd251jfjmp13if3xVeBa4L3AXuCL1fqi+yAiFgNPAp/OzINTVZ1kXTH90I5eC/Rz8oXU54vMfL36uR/4WxpDKPuqPyGpfu6vqpfeN52e955q+cz1PSsz92Xm6cwcA/6GXwypFdsHEdFPI8y/lZlPVavn/LXQTK8F+n8B10XEyoi4APgIsLXLbZoVEbEoIi4aXwY+COykcb4fr6p9HPh2tbwV+EhELIiIlcB1NN4IKkVH5139KX4oIn69mtHwsQnb9KTxEKt8mMb1AIX2QdXmrwO7M/NLE4rm/LXQVLffle30QeMLqV+i8Q72Z7rdnlk8z2tovGP/LLBr/FyBy4B/Bn5U/bx0wjafqfrlRXr4XXxgC40hhZM07q4+MZ3zBoZphN4rwONUn4zuhUeTPvgm8DzwHI3wWl54H/wmjaGR54Ad1WPtXLsWOnn40X9JKkSvDblIkpow0CWpEAa6JBXCQJekQhjoklQIA12SCmGgS1Ih/h9Efa/c2YrsUgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -426,7 +366,7 @@ } ], "source": [ - "sns.scatterplot(np.arange(t_genotypes_raw.shape[0]), t_genotypes )" + "sns.scatterplot(np.arange(t_genotypes[1].shape[0]), t_genotypes[1] )" ] } ],