diff --git a/nbs/99_manuscript/coefs_comp/20_00-gtex_whole_blood-UTY_KDM6A.ipynb b/nbs/99_manuscript/coefs_comp/20_00-gtex_whole_blood-UTY_KDM6A.ipynb new file mode 100644 index 00000000..befeccf5 --- /dev/null +++ b/nbs/99_manuscript/coefs_comp/20_00-gtex_whole_blood-UTY_KDM6A.ipynb @@ -0,0 +1,4634 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "b9c35e72-e087-4511-9899-5da25f3ff7ba", + "metadata": { + "papermill": { + "duration": 0.013796, + "end_time": "2023-11-20T08:55:56.439073", + "exception": false, + "start_time": "2023-11-20T08:55:56.425277", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Description" + ] + }, + { + "cell_type": "markdown", + "id": "2422b873-5148-44ef-9884-0dd0fa8e69fa", + "metadata": { + "papermill": { + "duration": 0.013051, + "end_time": "2023-11-20T08:55:56.465902", + "exception": false, + "start_time": "2023-11-20T08:55:56.452851", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "This notebooks analyzes more closely the pattern between gene pair *UTY* / *KDM6A*. The analyses are focused on the Reviewer 2's comment:\n", + "\n", + "```\n", + "In Figure 4, while there is a visible difference between the correlation of male samples, the CCC values are still quite close. For example, this can be observed in Brain Cerebellum and Small Intestine Terminal Ileum. Please address this.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "5d4ae4df-624d-4951-917c-880462cfb658", + "metadata": { + "papermill": { + "duration": 0.012554, + "end_time": "2023-11-20T08:55:56.490793", + "exception": false, + "start_time": "2023-11-20T08:55:56.478239", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Modules" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "2dcd0e52-236a-44cd-9cd9-71cca1232338", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:56.512994Z", + "iopub.status.busy": "2023-11-20T08:55:56.512464Z", + "iopub.status.idle": "2023-11-20T08:55:57.280770Z", + "shell.execute_reply": "2023-11-20T08:55:57.280425Z" + }, + "papermill": { + "duration": 0.778767, + "end_time": "2023-11-20T08:55:57.282390", + "exception": false, + "start_time": "2023-11-20T08:55:56.503623", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "from scipy.stats import pearsonr, spearmanr\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import numpy as np\n", + "\n", + "from ccc import conf\n", + "from ccc.coef import ccc" + ] + }, + { + "cell_type": "markdown", + "id": "e9ef3211-8d35-4b4b-be45-2de384b6fdee", + "metadata": { + "papermill": { + "duration": 0.010558, + "end_time": "2023-11-20T08:55:57.300232", + "exception": false, + "start_time": "2023-11-20T08:55:57.289674", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Settings" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3e9781c8-faf2-41ec-a5c3-ab84dec6a7fa", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.313597Z", + "iopub.status.busy": "2023-11-20T08:55:57.313511Z", + "iopub.status.idle": "2023-11-20T08:55:57.315760Z", + "shell.execute_reply": "2023-11-20T08:55:57.315469Z" + }, + "papermill": { + "duration": 0.009823, + "end_time": "2023-11-20T08:55:57.316518", + "exception": false, + "start_time": "2023-11-20T08:55:57.306695", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# this gene pair was originally found with ccc on whole blood\n", + "# interesting: https://clincancerres.aacrjournals.org/content/26/21/5567.figures-only\n", + "gene0_id, gene1_id = \"ENSG00000147050.14\", \"ENSG00000183878.15\"\n", + "gene0_symbol, gene1_symbol = \"KDM6A\", \"UTY\"" + ] + }, + { + "cell_type": "markdown", + "id": "649a237d-595e-4bd7-a607-7c1773b36cb5", + "metadata": { + "papermill": { + "duration": 0.026613, + "end_time": "2023-11-20T08:55:57.349663", + "exception": false, + "start_time": "2023-11-20T08:55:57.323050", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Paths" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "1ea8a834-34dd-480f-b85f-5706aa4db334", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.363287Z", + "iopub.status.busy": "2023-11-20T08:55:57.363162Z", + "iopub.status.idle": "2023-11-20T08:55:57.365443Z", + "shell.execute_reply": "2023-11-20T08:55:57.365163Z" + }, + "papermill": { + "duration": 0.009932, + "end_time": "2023-11-20T08:55:57.366200", + "exception": false, + "start_time": "2023-11-20T08:55:57.356268", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "TISSUE_DIR = conf.GTEX[\"DATA_DIR\"] / \"data_by_tissue\"\n", + "assert TISSUE_DIR.exists()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f869a719-5302-4c5b-b496-0878617ea3d3", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.379862Z", + "iopub.status.busy": "2023-11-20T08:55:57.379650Z", + "iopub.status.idle": "2023-11-20T08:55:57.383787Z", + "shell.execute_reply": "2023-11-20T08:55:57.383383Z" + }, + "papermill": { + "duration": 0.011846, + "end_time": "2023-11-20T08:55:57.384630", + "exception": false, + "start_time": "2023-11-20T08:55:57.372784", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "PosixPath('/opt/manuscript/content/images/coefs_comp/kdm6a_vs_uty')" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "OUTPUT_FIGURE_DIR = (\n", + " conf.MANUSCRIPT[\"FIGURES_DIR\"]\n", + " / \"coefs_comp\"\n", + " / f\"{gene0_symbol.lower()}_vs_{gene1_symbol.lower()}\"\n", + ")\n", + "OUTPUT_FIGURE_DIR.mkdir(parents=True, exist_ok=True)\n", + "display(OUTPUT_FIGURE_DIR)" + ] + }, + { + "cell_type": "markdown", + "id": "35453032-07b1-4e68-9f65-f8ec0d0ebcd1", + "metadata": { + "papermill": { + "duration": 0.006516, + "end_time": "2023-11-20T08:55:57.397804", + "exception": false, + "start_time": "2023-11-20T08:55:57.391288", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Data" + ] + }, + { + "cell_type": "markdown", + "id": "76b3390f-360a-45e8-b38d-f14f92823125", + "metadata": { + "papermill": { + "duration": 0.006556, + "end_time": "2023-11-20T08:55:57.410974", + "exception": false, + "start_time": "2023-11-20T08:55:57.404418", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## GTEx metadata" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e2dffcd4-3280-4f2e-8e5b-1797c6333894", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.425110Z", + "iopub.status.busy": "2023-11-20T08:55:57.424812Z", + "iopub.status.idle": "2023-11-20T08:55:57.460560Z", + "shell.execute_reply": "2023-11-20T08:55:57.460088Z" + }, + "papermill": { + "duration": 0.043947, + "end_time": "2023-11-20T08:55:57.461533", + "exception": false, + "start_time": "2023-11-20T08:55:57.417586", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "gtex_metadata = pd.read_pickle(conf.GTEX[\"DATA_DIR\"] / \"gtex_v8-sample_metadata.pkl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f762c76d-31b6-46e3-9660-3352112c9326", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.475718Z", + "iopub.status.busy": "2023-11-20T08:55:57.475409Z", + "iopub.status.idle": "2023-11-20T08:55:57.479139Z", + "shell.execute_reply": "2023-11-20T08:55:57.478744Z" + }, + "papermill": { + "duration": 0.011791, + "end_time": "2023-11-20T08:55:57.479973", + "exception": false, + "start_time": "2023-11-20T08:55:57.468182", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(22951, 66)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gtex_metadata.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "870baa0e-4f5b-44c7-b32d-f3763f74a2b7", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.494199Z", + "iopub.status.busy": "2023-11-20T08:55:57.493904Z", + "iopub.status.idle": "2023-11-20T08:55:57.515276Z", + "shell.execute_reply": "2023-11-20T08:55:57.514837Z" + }, + "papermill": { + "duration": 0.029424, + "end_time": "2023-11-20T08:55:57.516109", + "exception": false, + "start_time": "2023-11-20T08:55:57.486685", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SUBJIDSEXAGEDTHHRDYSMATSSCRSMCENTERSMPTHNTSSMRINSMTSSMTSD...SME1ANTISMSPLTRDSMBSMMRTSME1SNSESME1PCTSSMRRNARTSME1MPRTSMNUM5CDSMDPMPRTSME2PCTS
SAMPID
GTEX-1117F-0003-SM-58Q7GGTEX-1117FFemale60-694.0NaNB1NaNNaNBloodWhole Blood...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
GTEX-1117F-0003-SM-5DWSBGTEX-1117FFemale60-694.0NaNB1NaNNaNBloodWhole Blood...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
GTEX-1117F-0003-SM-6WBT7GTEX-1117FFemale60-694.0NaNB1NaNNaNBloodWhole Blood...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
GTEX-1117F-0011-R10a-SM-AHZ7FGTEX-1117FFemale60-694.0NaNB1, A1NaNNaNBrainBrain - Frontal Cortex (BA9)...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
GTEX-1117F-0011-R10b-SM-CYKQ8GTEX-1117FFemale60-694.0NaNB1, A1NaN7.2BrainBrain - Frontal Cortex (BA9)...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", + "

5 rows × 66 columns

\n", + "
" + ], + "text/plain": [ + " SUBJID SEX AGE DTHHRDY SMATSSCR \\\n", + "SAMPID \n", + "GTEX-1117F-0003-SM-58Q7G GTEX-1117F Female 60-69 4.0 NaN \n", + "GTEX-1117F-0003-SM-5DWSB GTEX-1117F Female 60-69 4.0 NaN \n", + "GTEX-1117F-0003-SM-6WBT7 GTEX-1117F Female 60-69 4.0 NaN \n", + "GTEX-1117F-0011-R10a-SM-AHZ7F GTEX-1117F Female 60-69 4.0 NaN \n", + "GTEX-1117F-0011-R10b-SM-CYKQ8 GTEX-1117F Female 60-69 4.0 NaN \n", + "\n", + " SMCENTER SMPTHNTS SMRIN SMTS \\\n", + "SAMPID \n", + "GTEX-1117F-0003-SM-58Q7G B1 NaN NaN Blood \n", + "GTEX-1117F-0003-SM-5DWSB B1 NaN NaN Blood \n", + "GTEX-1117F-0003-SM-6WBT7 B1 NaN NaN Blood \n", + "GTEX-1117F-0011-R10a-SM-AHZ7F B1, A1 NaN NaN Brain \n", + "GTEX-1117F-0011-R10b-SM-CYKQ8 B1, A1 NaN 7.2 Brain \n", + "\n", + " SMTSD ... SME1ANTI \\\n", + "SAMPID ... \n", + "GTEX-1117F-0003-SM-58Q7G Whole Blood ... NaN \n", + "GTEX-1117F-0003-SM-5DWSB Whole Blood ... NaN \n", + "GTEX-1117F-0003-SM-6WBT7 Whole Blood ... NaN \n", + "GTEX-1117F-0011-R10a-SM-AHZ7F Brain - Frontal Cortex (BA9) ... NaN \n", + "GTEX-1117F-0011-R10b-SM-CYKQ8 Brain - Frontal Cortex (BA9) ... NaN \n", + "\n", + " SMSPLTRD SMBSMMRT SME1SNSE SME1PCTS SMRRNART \\\n", + "SAMPID \n", + "GTEX-1117F-0003-SM-58Q7G NaN NaN NaN NaN NaN \n", + "GTEX-1117F-0003-SM-5DWSB NaN NaN NaN NaN NaN \n", + "GTEX-1117F-0003-SM-6WBT7 NaN NaN NaN NaN NaN \n", + "GTEX-1117F-0011-R10a-SM-AHZ7F NaN NaN NaN NaN NaN \n", + "GTEX-1117F-0011-R10b-SM-CYKQ8 NaN NaN NaN NaN NaN \n", + "\n", + " SME1MPRT SMNUM5CD SMDPMPRT SME2PCTS \n", + "SAMPID \n", + "GTEX-1117F-0003-SM-58Q7G NaN NaN NaN NaN \n", + "GTEX-1117F-0003-SM-5DWSB NaN NaN NaN NaN \n", + "GTEX-1117F-0003-SM-6WBT7 NaN NaN NaN NaN \n", + "GTEX-1117F-0011-R10a-SM-AHZ7F NaN NaN NaN NaN \n", + "GTEX-1117F-0011-R10b-SM-CYKQ8 NaN NaN NaN NaN \n", + "\n", + "[5 rows x 66 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gtex_metadata.head()" + ] + }, + { + "cell_type": "markdown", + "id": "85a68693-1bae-4473-bd18-086caf5820eb", + "metadata": { + "papermill": { + "duration": 0.006772, + "end_time": "2023-11-20T08:55:57.529828", + "exception": false, + "start_time": "2023-11-20T08:55:57.523056", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Gene Ensembl ID -> Symbol mapping" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3cf14b08-658d-46bc-9581-c9afd70be177", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.544600Z", + "iopub.status.busy": "2023-11-20T08:55:57.544199Z", + "iopub.status.idle": "2023-11-20T08:55:57.562921Z", + "shell.execute_reply": "2023-11-20T08:55:57.562384Z" + }, + "papermill": { + "duration": 0.027167, + "end_time": "2023-11-20T08:55:57.563910", + "exception": false, + "start_time": "2023-11-20T08:55:57.536743", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "gene_map = pd.read_pickle(conf.GTEX[\"DATA_DIR\"] / \"gtex_gene_id_symbol_mappings.pkl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a2564d82-f685-4bc4-8ab9-5c09988830ae", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.579072Z", + "iopub.status.busy": "2023-11-20T08:55:57.578653Z", + "iopub.status.idle": "2023-11-20T08:55:57.634878Z", + "shell.execute_reply": "2023-11-20T08:55:57.634425Z" + }, + "papermill": { + "duration": 0.064994, + "end_time": "2023-11-20T08:55:57.635818", + "exception": false, + "start_time": "2023-11-20T08:55:57.570824", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "gene_map = gene_map.set_index(\"gene_ens_id\")[\"gene_symbol\"].to_dict()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ced72294-1843-427e-8dc0-3f57572fd9fd", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.650500Z", + "iopub.status.busy": "2023-11-20T08:55:57.650207Z", + "iopub.status.idle": "2023-11-20T08:55:57.652491Z", + "shell.execute_reply": "2023-11-20T08:55:57.652119Z" + }, + "papermill": { + "duration": 0.010461, + "end_time": "2023-11-20T08:55:57.653268", + "exception": false, + "start_time": "2023-11-20T08:55:57.642807", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "assert gene_map[\"ENSG00000145309.5\"] == \"CABS1\"" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "e7d49359-73b7-4e13-b404-24bbcce77172", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.667993Z", + "iopub.status.busy": "2023-11-20T08:55:57.667737Z", + "iopub.status.idle": "2023-11-20T08:55:57.670315Z", + "shell.execute_reply": "2023-11-20T08:55:57.669870Z" + }, + "papermill": { + "duration": 0.010763, + "end_time": "2023-11-20T08:55:57.671152", + "exception": false, + "start_time": "2023-11-20T08:55:57.660389", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "assert gene_map[gene0_id] == gene0_symbol\n", + "assert gene_map[gene1_id] == gene1_symbol" + ] + }, + { + "cell_type": "markdown", + "id": "80037782-e5d0-4bf3-a7bf-ee6cb22e064e", + "metadata": { + "papermill": { + "duration": 0.006923, + "end_time": "2023-11-20T08:55:57.685112", + "exception": false, + "start_time": "2023-11-20T08:55:57.678189", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Get male/females sample IDs" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "5122cc00-b5da-4327-a0e3-d0d4829b1986", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.700015Z", + "iopub.status.busy": "2023-11-20T08:55:57.699725Z", + "iopub.status.idle": "2023-11-20T08:55:57.707873Z", + "shell.execute_reply": "2023-11-20T08:55:57.707403Z" + }, + "papermill": { + "duration": 0.016514, + "end_time": "2023-11-20T08:55:57.708660", + "exception": false, + "start_time": "2023-11-20T08:55:57.692146", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "count 22951\n", + "unique 2\n", + "top Male\n", + "freq 15046\n", + "Name: SEX, dtype: object" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gtex_metadata[\"SEX\"].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "a31f26d7-91dc-468d-81b1-f6e563d7b88d", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.723690Z", + "iopub.status.busy": "2023-11-20T08:55:57.723392Z", + "iopub.status.idle": "2023-11-20T08:55:57.734583Z", + "shell.execute_reply": "2023-11-20T08:55:57.734034Z" + }, + "papermill": { + "duration": 0.019757, + "end_time": "2023-11-20T08:55:57.735493", + "exception": false, + "start_time": "2023-11-20T08:55:57.715736", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "male_samples = gtex_metadata[gtex_metadata[\"SEX\"] == \"Male\"].index.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "275350ae-f69f-4351-9a3e-0363a423487c", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.750681Z", + "iopub.status.busy": "2023-11-20T08:55:57.750313Z", + "iopub.status.idle": "2023-11-20T08:55:57.754061Z", + "shell.execute_reply": "2023-11-20T08:55:57.753594Z" + }, + "papermill": { + "duration": 0.012315, + "end_time": "2023-11-20T08:55:57.754893", + "exception": false, + "start_time": "2023-11-20T08:55:57.742578", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "15046" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(male_samples)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "7f9ddb05-4328-4a98-921d-16c3bdff1c67", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.769965Z", + "iopub.status.busy": "2023-11-20T08:55:57.769676Z", + "iopub.status.idle": "2023-11-20T08:55:57.773333Z", + "shell.execute_reply": "2023-11-20T08:55:57.772871Z" + }, + "papermill": { + "duration": 0.012109, + "end_time": "2023-11-20T08:55:57.774177", + "exception": false, + "start_time": "2023-11-20T08:55:57.762068", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['GTEX-111CU-0003-SM-58Q95',\n", + " 'GTEX-111CU-0003-SM-5DWTR',\n", + " 'GTEX-111CU-0003-SM-6WBUD',\n", + " 'GTEX-111CU-0126-SM-5GZWZ',\n", + " 'GTEX-111CU-0226-SM-5GZXC']" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "male_samples[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "dede5dad-0df7-40a1-8ea5-eab06fc3b9af", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.789526Z", + "iopub.status.busy": "2023-11-20T08:55:57.789169Z", + "iopub.status.idle": "2023-11-20T08:55:57.797293Z", + "shell.execute_reply": "2023-11-20T08:55:57.796743Z" + }, + "papermill": { + "duration": 0.016816, + "end_time": "2023-11-20T08:55:57.798240", + "exception": false, + "start_time": "2023-11-20T08:55:57.781424", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "female_samples = gtex_metadata[gtex_metadata[\"SEX\"] == \"Female\"].index.tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "57609f27-8bb6-4377-827b-ae9d55537be1", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.813663Z", + "iopub.status.busy": "2023-11-20T08:55:57.813372Z", + "iopub.status.idle": "2023-11-20T08:55:57.817067Z", + "shell.execute_reply": "2023-11-20T08:55:57.816608Z" + }, + "papermill": { + "duration": 0.012367, + "end_time": "2023-11-20T08:55:57.817919", + "exception": false, + "start_time": "2023-11-20T08:55:57.805552", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "7905" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(female_samples)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "e8fea00b-9119-440b-b33a-fadbc2131210", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.833423Z", + "iopub.status.busy": "2023-11-20T08:55:57.833136Z", + "iopub.status.idle": "2023-11-20T08:55:57.836776Z", + "shell.execute_reply": "2023-11-20T08:55:57.836311Z" + }, + "papermill": { + "duration": 0.012323, + "end_time": "2023-11-20T08:55:57.837601", + "exception": false, + "start_time": "2023-11-20T08:55:57.825278", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['GTEX-1117F-0003-SM-58Q7G',\n", + " 'GTEX-1117F-0003-SM-5DWSB',\n", + " 'GTEX-1117F-0003-SM-6WBT7',\n", + " 'GTEX-1117F-0011-R10a-SM-AHZ7F',\n", + " 'GTEX-1117F-0011-R10b-SM-CYKQ8']" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "female_samples[:5]" + ] + }, + { + "cell_type": "markdown", + "id": "e5e52d3d-2d87-488a-ab48-d105b85fe46b", + "metadata": { + "papermill": { + "duration": 0.007277, + "end_time": "2023-11-20T08:55:57.852283", + "exception": false, + "start_time": "2023-11-20T08:55:57.845006", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Brain cerebellum" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "137ce1ba-751a-4758-91dc-2ad1e2fb57d6", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.868126Z", + "iopub.status.busy": "2023-11-20T08:55:57.867764Z", + "iopub.status.idle": "2023-11-20T08:55:57.971907Z", + "shell.execute_reply": "2023-11-20T08:55:57.971473Z" + }, + "papermill": { + "duration": 0.11334, + "end_time": "2023-11-20T08:55:57.973180", + "exception": false, + "start_time": "2023-11-20T08:55:57.859840", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "brain_cerebellum = (\n", + " pd.read_pickle(TISSUE_DIR / \"gtex_v8_data_brain_cerebellum.pkl\")\n", + " .loc[[gene0_id, gene1_id]]\n", + " .T.rename_axis(\"sample_id\")\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "6e2eb857-c33c-4a65-a401-db3ced529623", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:57.989734Z", + "iopub.status.busy": "2023-11-20T08:55:57.989634Z", + "iopub.status.idle": "2023-11-20T08:55:57.992488Z", + "shell.execute_reply": "2023-11-20T08:55:57.992134Z" + }, + "papermill": { + "duration": 0.011606, + "end_time": "2023-11-20T08:55:57.993202", + "exception": false, + "start_time": "2023-11-20T08:55:57.981596", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(241, 2)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "brain_cerebellum.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "61a489c4-de22-46ec-b795-8199d68123ae", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.008703Z", + "iopub.status.busy": "2023-11-20T08:55:58.008476Z", + "iopub.status.idle": "2023-11-20T08:55:58.012908Z", + "shell.execute_reply": "2023-11-20T08:55:58.012553Z" + }, + "papermill": { + "duration": 0.012911, + "end_time": "2023-11-20T08:55:58.013590", + "exception": false, + "start_time": "2023-11-20T08:55:58.000679", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gene_ens_idENSG00000147050.14ENSG00000183878.15
sample_id
GTEX-111FC-3326-SM-5GZYV9.2686.988
GTEX-1128S-2826-SM-5N9DI12.9300.000
GTEX-117XS-3126-SM-5GIDP10.8407.389
GTEX-1192X-3226-SM-5987D10.7805.132
GTEX-11DXW-1026-SM-5H11K10.0607.823
\n", + "
" + ], + "text/plain": [ + "gene_ens_id ENSG00000147050.14 ENSG00000183878.15\n", + "sample_id \n", + "GTEX-111FC-3326-SM-5GZYV 9.268 6.988\n", + "GTEX-1128S-2826-SM-5N9DI 12.930 0.000\n", + "GTEX-117XS-3126-SM-5GIDP 10.840 7.389\n", + "GTEX-1192X-3226-SM-5987D 10.780 5.132\n", + "GTEX-11DXW-1026-SM-5H11K 10.060 7.823" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "brain_cerebellum.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "23a5e80d-afbf-4780-b84d-ba4553421f8b", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.029435Z", + "iopub.status.busy": "2023-11-20T08:55:58.029164Z", + "iopub.status.idle": "2023-11-20T08:55:58.034801Z", + "shell.execute_reply": "2023-11-20T08:55:58.034365Z" + }, + "papermill": { + "duration": 0.014433, + "end_time": "2023-11-20T08:55:58.035617", + "exception": false, + "start_time": "2023-11-20T08:55:58.021184", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "brain_cerebellum_males = brain_cerebellum.loc[\n", + " brain_cerebellum.index.intersection(male_samples)\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "38730891-f083-4c34-8530-30f511003abc", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.051552Z", + "iopub.status.busy": "2023-11-20T08:55:58.051264Z", + "iopub.status.idle": "2023-11-20T08:55:58.054819Z", + "shell.execute_reply": "2023-11-20T08:55:58.054358Z" + }, + "papermill": { + "duration": 0.012427, + "end_time": "2023-11-20T08:55:58.055626", + "exception": false, + "start_time": "2023-11-20T08:55:58.043199", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(174, 2)" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "brain_cerebellum_males.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "2081927d-7970-4805-891c-c8bc76a2351f", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.071750Z", + "iopub.status.busy": "2023-11-20T08:55:58.071458Z", + "iopub.status.idle": "2023-11-20T08:55:58.076640Z", + "shell.execute_reply": "2023-11-20T08:55:58.076155Z" + }, + "papermill": { + "duration": 0.014105, + "end_time": "2023-11-20T08:55:58.077423", + "exception": false, + "start_time": "2023-11-20T08:55:58.063318", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "brain_cerebellum_females = brain_cerebellum.loc[\n", + " brain_cerebellum.index.intersection(female_samples)\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "23e75a4b-0c77-470d-9a7b-4d07909be735", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.097064Z", + "iopub.status.busy": "2023-11-20T08:55:58.096854Z", + "iopub.status.idle": "2023-11-20T08:55:58.105749Z", + "shell.execute_reply": "2023-11-20T08:55:58.105289Z" + }, + "papermill": { + "duration": 0.021495, + "end_time": "2023-11-20T08:55:58.106610", + "exception": false, + "start_time": "2023-11-20T08:55:58.085115", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(67, 2)" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "brain_cerebellum_females.shape" + ] + }, + { + "cell_type": "markdown", + "id": "47ed8fc3-e037-405a-bd25-010665c91132", + "metadata": { + "papermill": { + "duration": 0.007803, + "end_time": "2023-11-20T08:55:58.122565", + "exception": false, + "start_time": "2023-11-20T08:55:58.114762", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Small intestine (terminal ileum)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "695487c0-35c7-4a5e-b91c-4e8ee47b0295", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.139576Z", + "iopub.status.busy": "2023-11-20T08:55:58.139132Z", + "iopub.status.idle": "2023-11-20T08:55:58.230646Z", + "shell.execute_reply": "2023-11-20T08:55:58.230353Z" + }, + "papermill": { + "duration": 0.100976, + "end_time": "2023-11-20T08:55:58.231502", + "exception": false, + "start_time": "2023-11-20T08:55:58.130526", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "small_intestine = (\n", + " pd.read_pickle(TISSUE_DIR / \"gtex_v8_data_small_intestine_terminal_ileum.pkl\")\n", + " .loc[[gene0_id, gene1_id]]\n", + " .T.rename_axis(\"sample_id\")\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "a84a00a6-b51f-4a79-b056-0f515f526c95", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.247529Z", + "iopub.status.busy": "2023-11-20T08:55:58.247442Z", + "iopub.status.idle": "2023-11-20T08:55:58.250183Z", + "shell.execute_reply": "2023-11-20T08:55:58.249901Z" + }, + "papermill": { + "duration": 0.011604, + "end_time": "2023-11-20T08:55:58.250884", + "exception": false, + "start_time": "2023-11-20T08:55:58.239280", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(187, 2)" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_intestine.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "d9ef287c-3f2a-46da-99a8-2b6688379fc8", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.267183Z", + "iopub.status.busy": "2023-11-20T08:55:58.267093Z", + "iopub.status.idle": "2023-11-20T08:55:58.271467Z", + "shell.execute_reply": "2023-11-20T08:55:58.271146Z" + }, + "papermill": { + "duration": 0.013258, + "end_time": "2023-11-20T08:55:58.272186", + "exception": false, + "start_time": "2023-11-20T08:55:58.258928", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gene_ens_idENSG00000147050.14ENSG00000183878.15
sample_id
GTEX-111CU-1326-SM-5NQ8L7.5864.0370
GTEX-111YS-1426-SM-5GID813.5003.3700
GTEX-1122O-1326-SM-5H11F21.6800.0309
GTEX-117YX-0326-SM-5GICL8.9645.2350
GTEX-1192X-2526-SM-5986810.0106.3990
\n", + "
" + ], + "text/plain": [ + "gene_ens_id ENSG00000147050.14 ENSG00000183878.15\n", + "sample_id \n", + "GTEX-111CU-1326-SM-5NQ8L 7.586 4.0370\n", + "GTEX-111YS-1426-SM-5GID8 13.500 3.3700\n", + "GTEX-1122O-1326-SM-5H11F 21.680 0.0309\n", + "GTEX-117YX-0326-SM-5GICL 8.964 5.2350\n", + "GTEX-1192X-2526-SM-59868 10.010 6.3990" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_intestine.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "e485ed5e-6d56-4432-8fcb-dd2956dbe605", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.288638Z", + "iopub.status.busy": "2023-11-20T08:55:58.288544Z", + "iopub.status.idle": "2023-11-20T08:55:58.293896Z", + "shell.execute_reply": "2023-11-20T08:55:58.293520Z" + }, + "papermill": { + "duration": 0.014431, + "end_time": "2023-11-20T08:55:58.294649", + "exception": false, + "start_time": "2023-11-20T08:55:58.280218", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "small_intestine_males = small_intestine.loc[\n", + " small_intestine.index.intersection(male_samples)\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "558a0a54-558a-4af6-baec-4dd1189909cc", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.311601Z", + "iopub.status.busy": "2023-11-20T08:55:58.311263Z", + "iopub.status.idle": "2023-11-20T08:55:58.314724Z", + "shell.execute_reply": "2023-11-20T08:55:58.314331Z" + }, + "papermill": { + "duration": 0.01288, + "end_time": "2023-11-20T08:55:58.315541", + "exception": false, + "start_time": "2023-11-20T08:55:58.302661", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(120, 2)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_intestine_males.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "5094eb5e-7d8d-408f-9e7e-3f73fa8e91ed", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.332677Z", + "iopub.status.busy": "2023-11-20T08:55:58.332302Z", + "iopub.status.idle": "2023-11-20T08:55:58.337054Z", + "shell.execute_reply": "2023-11-20T08:55:58.336655Z" + }, + "papermill": { + "duration": 0.01416, + "end_time": "2023-11-20T08:55:58.337830", + "exception": false, + "start_time": "2023-11-20T08:55:58.323670", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "small_intestine_females = small_intestine.loc[\n", + " small_intestine.index.intersection(female_samples)\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "81168021-bd56-45f8-9acc-0d6e5a1c7ba5", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.354948Z", + "iopub.status.busy": "2023-11-20T08:55:58.354661Z", + "iopub.status.idle": "2023-11-20T08:55:58.358062Z", + "shell.execute_reply": "2023-11-20T08:55:58.357659Z" + }, + "papermill": { + "duration": 0.012847, + "end_time": "2023-11-20T08:55:58.358878", + "exception": false, + "start_time": "2023-11-20T08:55:58.346031", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(67, 2)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_intestine_females.shape" + ] + }, + { + "cell_type": "markdown", + "id": "67e48d49-8a28-45b1-b8bd-0fd85db559b6", + "metadata": { + "papermill": { + "duration": 0.008076, + "end_time": "2023-11-20T08:55:58.375169", + "exception": false, + "start_time": "2023-11-20T08:55:58.367093", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Compute correlation" + ] + }, + { + "cell_type": "markdown", + "id": "cfabd8a6-ac3b-4ba0-963e-689236871151", + "metadata": { + "papermill": { + "duration": 0.008133, + "end_time": "2023-11-20T08:55:58.391481", + "exception": false, + "start_time": "2023-11-20T08:55:58.383348", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Brain cerebellum" + ] + }, + { + "cell_type": "markdown", + "id": "44e81899-ebee-4625-ba7f-7ce82dc25eca", + "metadata": { + "papermill": { + "duration": 0.008075, + "end_time": "2023-11-20T08:55:58.407755", + "exception": false, + "start_time": "2023-11-20T08:55:58.399680", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "### CCC" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "0adc0cb7-6a22-49be-aafc-894aebb42dde", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:58.424934Z", + "iopub.status.busy": "2023-11-20T08:55:58.424612Z", + "iopub.status.idle": "2023-11-20T08:55:59.027926Z", + "shell.execute_reply": "2023-11-20T08:55:59.027542Z" + }, + "papermill": { + "duration": 0.613147, + "end_time": "2023-11-20T08:55:59.029090", + "exception": false, + "start_time": "2023-11-20T08:55:58.415943", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.3674627535203262, 0.000999000999000999)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ccc(brain_cerebellum_males, pvalue_n_perms=1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "2d8d145a-f9bd-42eb-89ae-beee42621083", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:59.049822Z", + "iopub.status.busy": "2023-11-20T08:55:59.049738Z", + "iopub.status.idle": "2023-11-20T08:55:59.386803Z", + "shell.execute_reply": "2023-11-20T08:55:59.386444Z" + }, + "papermill": { + "duration": 0.349521, + "end_time": "2023-11-20T08:55:59.388102", + "exception": false, + "start_time": "2023-11-20T08:55:59.038581", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.10427807486631016, 0.015984015984015984)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ccc(brain_cerebellum_females, pvalue_n_perms=1000)" + ] + }, + { + "cell_type": "markdown", + "id": "439a1bce-e610-47b8-aa63-d49c5402c727", + "metadata": { + "papermill": { + "duration": 0.015606, + "end_time": "2023-11-20T08:55:59.419596", + "exception": false, + "start_time": "2023-11-20T08:55:59.403990", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "### Pearson" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "d7ef4ad5-afbe-4365-9d90-3fecd0f382cc", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:59.453572Z", + "iopub.status.busy": "2023-11-20T08:55:59.453491Z", + "iopub.status.idle": "2023-11-20T08:55:59.456801Z", + "shell.execute_reply": "2023-11-20T08:55:59.456505Z" + }, + "papermill": { + "duration": 0.022649, + "end_time": "2023-11-20T08:55:59.458058", + "exception": false, + "start_time": "2023-11-20T08:55:59.435409", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.8570928082720543, 2.0135444417639445e-51)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pearsonr(brain_cerebellum_males.iloc[:, 0], brain_cerebellum_males.iloc[:, 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "4b4bb182-418b-4ef6-997d-0a7569a794c4", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:59.483075Z", + "iopub.status.busy": "2023-11-20T08:55:59.482995Z", + "iopub.status.idle": "2023-11-20T08:55:59.486455Z", + "shell.execute_reply": "2023-11-20T08:55:59.486022Z" + }, + "papermill": { + "duration": 0.01374, + "end_time": "2023-11-20T08:55:59.487298", + "exception": false, + "start_time": "2023-11-20T08:55:59.473558", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.21500691975584293, 0.08058770847518525)" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pearsonr(brain_cerebellum_females.iloc[:, 0], brain_cerebellum_females.iloc[:, 1])" + ] + }, + { + "cell_type": "markdown", + "id": "105fd413-62ed-4fcf-baf6-35adfd5de8c6", + "metadata": { + "papermill": { + "duration": 0.008299, + "end_time": "2023-11-20T08:55:59.504020", + "exception": false, + "start_time": "2023-11-20T08:55:59.495721", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "### Spearman" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "e5712802-eb2c-4779-987f-ccd4817c6070", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:59.521582Z", + "iopub.status.busy": "2023-11-20T08:55:59.521432Z", + "iopub.status.idle": "2023-11-20T08:55:59.526539Z", + "shell.execute_reply": "2023-11-20T08:55:59.526078Z" + }, + "papermill": { + "duration": 0.014912, + "end_time": "2023-11-20T08:55:59.527335", + "exception": false, + "start_time": "2023-11-20T08:55:59.512423", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "SpearmanrResult(correlation=0.7909406514931421, pvalue=1.5562774794999233e-38)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "spearmanr(brain_cerebellum_males.iloc[:, 0], brain_cerebellum_males.iloc[:, 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "290b1ebf-91cc-4032-a0d8-fa147d39aaeb", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:59.545195Z", + "iopub.status.busy": "2023-11-20T08:55:59.544867Z", + "iopub.status.idle": "2023-11-20T08:55:59.549626Z", + "shell.execute_reply": "2023-11-20T08:55:59.549230Z" + }, + "papermill": { + "duration": 0.014564, + "end_time": "2023-11-20T08:55:59.550412", + "exception": false, + "start_time": "2023-11-20T08:55:59.535848", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "SpearmanrResult(correlation=0.2225445085313031, pvalue=0.07028065513936946)" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "spearmanr(brain_cerebellum_females.iloc[:, 0], brain_cerebellum_females.iloc[:, 1])" + ] + }, + { + "cell_type": "markdown", + "id": "a1d1d5c7-dbc0-440a-8eec-31aa252868e6", + "metadata": { + "papermill": { + "duration": 0.008566, + "end_time": "2023-11-20T08:55:59.567627", + "exception": false, + "start_time": "2023-11-20T08:55:59.559061", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Small intestine (terminal ileum)" + ] + }, + { + "cell_type": "markdown", + "id": "6fc2d04e-39fb-4d55-919b-3f2f830386a0", + "metadata": { + "papermill": { + "duration": 0.008572, + "end_time": "2023-11-20T08:55:59.584887", + "exception": false, + "start_time": "2023-11-20T08:55:59.576315", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "### CCC" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "ebe913d2-d02e-4515-9742-a9303f527395", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:55:59.603192Z", + "iopub.status.busy": "2023-11-20T08:55:59.602834Z", + "iopub.status.idle": "2023-11-20T08:56:00.192183Z", + "shell.execute_reply": "2023-11-20T08:56:00.191803Z" + }, + "papermill": { + "duration": 0.599662, + "end_time": "2023-11-20T08:56:00.193244", + "exception": false, + "start_time": "2023-11-20T08:55:59.593582", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.13137865911237015, 0.000999000999000999)" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ccc(small_intestine_males, pvalue_n_perms=1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "f173bde0-9cf2-47fa-af40-739845d16247", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:00.214571Z", + "iopub.status.busy": "2023-11-20T08:56:00.214489Z", + "iopub.status.idle": "2023-11-20T08:56:00.557902Z", + "shell.execute_reply": "2023-11-20T08:56:00.557502Z" + }, + "papermill": { + "duration": 0.355935, + "end_time": "2023-11-20T08:56:00.559121", + "exception": false, + "start_time": "2023-11-20T08:56:00.203186", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.04191990815775257, 0.35264735264735264)" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ccc(small_intestine_females, pvalue_n_perms=1000)" + ] + }, + { + "cell_type": "markdown", + "id": "867e5576-5224-46fe-ab7a-0366b8019b7b", + "metadata": { + "papermill": { + "duration": 0.016368, + "end_time": "2023-11-20T08:56:00.592088", + "exception": false, + "start_time": "2023-11-20T08:56:00.575720", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "### Pearson" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "75f54397-bfb4-467d-b329-fb159d87ba77", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:00.625863Z", + "iopub.status.busy": "2023-11-20T08:56:00.625776Z", + "iopub.status.idle": "2023-11-20T08:56:00.629256Z", + "shell.execute_reply": "2023-11-20T08:56:00.628844Z" + }, + "papermill": { + "duration": 0.021756, + "end_time": "2023-11-20T08:56:00.630532", + "exception": false, + "start_time": "2023-11-20T08:56:00.608776", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.5401927091270222, 1.918887071018949e-10)" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pearsonr(small_intestine_males.iloc[:, 0], small_intestine_males.iloc[:, 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "181af358-ac4a-400e-bc46-5213cf866c50", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:00.658608Z", + "iopub.status.busy": "2023-11-20T08:56:00.658303Z", + "iopub.status.idle": "2023-11-20T08:56:00.662418Z", + "shell.execute_reply": "2023-11-20T08:56:00.662026Z" + }, + "papermill": { + "duration": 0.015931, + "end_time": "2023-11-20T08:56:00.663236", + "exception": false, + "start_time": "2023-11-20T08:56:00.647305", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(-0.12377555020943821, 0.3183161563369864)" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pearsonr(small_intestine_females.iloc[:, 0], small_intestine_females.iloc[:, 1])" + ] + }, + { + "cell_type": "markdown", + "id": "f21bd584-c23b-4026-8caa-fcec19f7752e", + "metadata": { + "papermill": { + "duration": 0.008623, + "end_time": "2023-11-20T08:56:00.680667", + "exception": false, + "start_time": "2023-11-20T08:56:00.672044", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "### Spearman" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "f3eef972-8259-4a03-8b1e-24cb05cf7c57", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:00.699282Z", + "iopub.status.busy": "2023-11-20T08:56:00.698900Z", + "iopub.status.idle": "2023-11-20T08:56:00.703998Z", + "shell.execute_reply": "2023-11-20T08:56:00.703548Z" + }, + "papermill": { + "duration": 0.015248, + "end_time": "2023-11-20T08:56:00.704802", + "exception": false, + "start_time": "2023-11-20T08:56:00.689554", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "SpearmanrResult(correlation=0.46555777415724725, pvalue=8.417733469299811e-08)" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "spearmanr(small_intestine_males.iloc[:, 0], small_intestine_males.iloc[:, 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "9dfdbf5a-fca2-4a80-a8af-fe5fa3887c66", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:00.723658Z", + "iopub.status.busy": "2023-11-20T08:56:00.723226Z", + "iopub.status.idle": "2023-11-20T08:56:00.727952Z", + "shell.execute_reply": "2023-11-20T08:56:00.727552Z" + }, + "papermill": { + "duration": 0.014948, + "end_time": "2023-11-20T08:56:00.728742", + "exception": false, + "start_time": "2023-11-20T08:56:00.713794", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "SpearmanrResult(correlation=0.1041356321278035, pvalue=0.40167737622824995)" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "spearmanr(small_intestine_females.iloc[:, 0], small_intestine_females.iloc[:, 1])" + ] + }, + { + "cell_type": "markdown", + "id": "ecd455af-8f12-484d-9338-140f69aedb75", + "metadata": { + "papermill": { + "duration": 0.008966, + "end_time": "2023-11-20T08:56:00.746800", + "exception": false, + "start_time": "2023-11-20T08:56:00.737834", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Compute correlation on all tissues, males only" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "8b86aa69-c53b-4906-b8fd-fa97b9f90462", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:00.765779Z", + "iopub.status.busy": "2023-11-20T08:56:00.765437Z", + "iopub.status.idle": "2023-11-20T08:56:05.764878Z", + "shell.execute_reply": "2023-11-20T08:56:05.764531Z" + }, + "papermill": { + "duration": 5.01057, + "end_time": "2023-11-20T08:56:05.766475", + "exception": false, + "start_time": "2023-11-20T08:56:00.755905", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "res_all_males = pd.DataFrame(\n", + " {\n", + " f.stem.split(\"_data_\")[1]: {\n", + " \"ccc\": ccc(data[gene0_id], data[gene1_id]),\n", + " \"pearson\": pearsonr(data[gene0_id], data[gene1_id])[0],\n", + " \"spearman\": spearmanr(data[gene0_id], data[gene1_id])[0],\n", + " }\n", + " for f in TISSUE_DIR.glob(\"*.pkl\")\n", + " if (\n", + " data := pd.read_pickle(f)\n", + " .T[[gene0_id, gene1_id]]\n", + " .reindex(male_samples)\n", + " .dropna()\n", + " )\n", + " is not None\n", + " and data.shape[0] > 10\n", + " }\n", + ").T.abs()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "93b8e40d-a049-4272-81b0-6c4f45fa1df6", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:05.801558Z", + "iopub.status.busy": "2023-11-20T08:56:05.801475Z", + "iopub.status.idle": "2023-11-20T08:56:05.804294Z", + "shell.execute_reply": "2023-11-20T08:56:05.804009Z" + }, + "papermill": { + "duration": 0.021576, + "end_time": "2023-11-20T08:56:05.805494", + "exception": false, + "start_time": "2023-11-20T08:56:05.783918", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(47, 3)" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_all_males.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "52c86cee-59b3-41a7-ac71-8a000d9c472f", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:05.840469Z", + "iopub.status.busy": "2023-11-20T08:56:05.840392Z", + "iopub.status.idle": "2023-11-20T08:56:05.844909Z", + "shell.execute_reply": "2023-11-20T08:56:05.844558Z" + }, + "papermill": { + "duration": 0.023309, + "end_time": "2023-11-20T08:56:05.846180", + "exception": false, + "start_time": "2023-11-20T08:56:05.822871", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cccpearsonspearman
colon_transverse0.2374850.7047030.691430
brain_amygdala0.5407820.8803060.914251
artery_coronary0.4104580.8610730.801901
artery_aorta0.4281660.8149620.810471
adrenal_gland0.2614430.6579660.682019
\n", + "
" + ], + "text/plain": [ + " ccc pearson spearman\n", + "colon_transverse 0.237485 0.704703 0.691430\n", + "brain_amygdala 0.540782 0.880306 0.914251\n", + "artery_coronary 0.410458 0.861073 0.801901\n", + "artery_aorta 0.428166 0.814962 0.810471\n", + "adrenal_gland 0.261443 0.657966 0.682019" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_all_males.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "58840394-da1e-499d-b3a3-4c2292a57fbe", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:05.873387Z", + "iopub.status.busy": "2023-11-20T08:56:05.873052Z", + "iopub.status.idle": "2023-11-20T08:56:05.884369Z", + "shell.execute_reply": "2023-11-20T08:56:05.883923Z" + }, + "papermill": { + "duration": 0.022072, + "end_time": "2023-11-20T08:56:05.885172", + "exception": false, + "start_time": "2023-11-20T08:56:05.863100", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cccpearsonspearman
small_intestine_terminal_ileum0.1313790.5401930.465558
stomach0.1866050.5460080.631823
liver0.1892740.6198300.618370
muscle_skeletal0.2054500.6485360.658019
testis0.2067040.6926610.690990
pituitary0.2175990.6298300.643730
colon_transverse0.2374850.7047030.691430
thyroid0.2552400.6759180.697297
adrenal_gland0.2614430.6579660.682019
colon_sigmoid0.3019710.7840190.769884
nerve_tibial0.3237450.8199430.772638
artery_tibial0.3366750.7820140.776460
prostate0.3475970.8040460.799923
cells_ebvtransformed_lymphocytes0.3628830.8752650.827843
brain_cerebellum0.3674630.8570930.790941
adipose_subcutaneous0.3805010.8269600.807961
lung0.3831480.7776880.767171
skin_sun_exposed_lower_leg0.3977420.8068170.799174
esophagus_mucosa0.4033100.8435000.850711
esophagus_muscularis0.4066280.8593940.849154
brain_cerebellar_hemisphere0.4100690.8819020.862051
artery_coronary0.4104580.8610730.801901
esophagus_gastroesophageal_junction0.4194010.8497060.843063
minor_salivary_gland0.4202460.8052880.804937
brain_anterior_cingulate_cortex_ba240.4261460.8352510.874480
adipose_visceral_omentum0.4274600.8775320.863902
artery_aorta0.4281660.8149620.810471
brain_frontal_cortex_ba90.4320360.8541440.876284
cells_cultured_fibroblasts0.4346820.7724100.791284
brain_cortex0.4438140.8848410.889380
pancreas0.4613640.8968960.871488
heart_atrial_appendage0.4877680.8350580.833513
spleen0.5069820.8078280.858734
skin_not_sun_exposed_suprapubic0.5280960.8557960.859677
brain_caudate_basal_ganglia0.5364270.8622350.894522
brain_amygdala0.5407820.8803060.914251
brain_putamen_basal_ganglia0.5500230.9153800.929241
brain_hippocampus0.5997050.8999030.916020
brain_nucleus_accumbens_basal_ganglia0.6065690.9205630.941653
brain_hypothalamus0.6093380.9286250.946419
whole_blood0.6145610.9113540.929595
bladder0.6230770.9476060.898901
heart_left_ventricle0.6322310.9244070.923212
brain_substantia_nigra0.6395690.9041600.922021
kidney_cortex0.6642560.9335450.927273
brain_spinal_cord_cervical_c10.7079890.9244380.923254
breast_mammary_tissue0.7194900.9130810.937118
\n", + "
" + ], + "text/plain": [ + " ccc pearson spearman\n", + "small_intestine_terminal_ileum 0.131379 0.540193 0.465558\n", + "stomach 0.186605 0.546008 0.631823\n", + "liver 0.189274 0.619830 0.618370\n", + "muscle_skeletal 0.205450 0.648536 0.658019\n", + "testis 0.206704 0.692661 0.690990\n", + "pituitary 0.217599 0.629830 0.643730\n", + "colon_transverse 0.237485 0.704703 0.691430\n", + "thyroid 0.255240 0.675918 0.697297\n", + "adrenal_gland 0.261443 0.657966 0.682019\n", + "colon_sigmoid 0.301971 0.784019 0.769884\n", + "nerve_tibial 0.323745 0.819943 0.772638\n", + "artery_tibial 0.336675 0.782014 0.776460\n", + "prostate 0.347597 0.804046 0.799923\n", + "cells_ebvtransformed_lymphocytes 0.362883 0.875265 0.827843\n", + "brain_cerebellum 0.367463 0.857093 0.790941\n", + "adipose_subcutaneous 0.380501 0.826960 0.807961\n", + "lung 0.383148 0.777688 0.767171\n", + "skin_sun_exposed_lower_leg 0.397742 0.806817 0.799174\n", + "esophagus_mucosa 0.403310 0.843500 0.850711\n", + "esophagus_muscularis 0.406628 0.859394 0.849154\n", + "brain_cerebellar_hemisphere 0.410069 0.881902 0.862051\n", + "artery_coronary 0.410458 0.861073 0.801901\n", + "esophagus_gastroesophageal_junction 0.419401 0.849706 0.843063\n", + "minor_salivary_gland 0.420246 0.805288 0.804937\n", + "brain_anterior_cingulate_cortex_ba24 0.426146 0.835251 0.874480\n", + "adipose_visceral_omentum 0.427460 0.877532 0.863902\n", + "artery_aorta 0.428166 0.814962 0.810471\n", + "brain_frontal_cortex_ba9 0.432036 0.854144 0.876284\n", + "cells_cultured_fibroblasts 0.434682 0.772410 0.791284\n", + "brain_cortex 0.443814 0.884841 0.889380\n", + "pancreas 0.461364 0.896896 0.871488\n", + "heart_atrial_appendage 0.487768 0.835058 0.833513\n", + "spleen 0.506982 0.807828 0.858734\n", + "skin_not_sun_exposed_suprapubic 0.528096 0.855796 0.859677\n", + "brain_caudate_basal_ganglia 0.536427 0.862235 0.894522\n", + "brain_amygdala 0.540782 0.880306 0.914251\n", + "brain_putamen_basal_ganglia 0.550023 0.915380 0.929241\n", + "brain_hippocampus 0.599705 0.899903 0.916020\n", + "brain_nucleus_accumbens_basal_ganglia 0.606569 0.920563 0.941653\n", + "brain_hypothalamus 0.609338 0.928625 0.946419\n", + "whole_blood 0.614561 0.911354 0.929595\n", + "bladder 0.623077 0.947606 0.898901\n", + "heart_left_ventricle 0.632231 0.924407 0.923212\n", + "brain_substantia_nigra 0.639569 0.904160 0.922021\n", + "kidney_cortex 0.664256 0.933545 0.927273\n", + "brain_spinal_cord_cervical_c1 0.707989 0.924438 0.923254\n", + "breast_mammary_tissue 0.719490 0.913081 0.937118" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_all_males.sort_values(\"ccc\")" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "21684890-5dc8-4ad4-a7bc-693caccb386e", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:05.904956Z", + "iopub.status.busy": "2023-11-20T08:56:05.904807Z", + "iopub.status.idle": "2023-11-20T08:56:05.915624Z", + "shell.execute_reply": "2023-11-20T08:56:05.915230Z" + }, + "papermill": { + "duration": 0.021518, + "end_time": "2023-11-20T08:56:05.916408", + "exception": false, + "start_time": "2023-11-20T08:56:05.894890", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cccpearsonspearman
small_intestine_terminal_ileum0.1313790.5401930.465558
stomach0.1866050.5460080.631823
liver0.1892740.6198300.618370
pituitary0.2175990.6298300.643730
muscle_skeletal0.2054500.6485360.658019
adrenal_gland0.2614430.6579660.682019
thyroid0.2552400.6759180.697297
testis0.2067040.6926610.690990
colon_transverse0.2374850.7047030.691430
cells_cultured_fibroblasts0.4346820.7724100.791284
lung0.3831480.7776880.767171
artery_tibial0.3366750.7820140.776460
colon_sigmoid0.3019710.7840190.769884
prostate0.3475970.8040460.799923
minor_salivary_gland0.4202460.8052880.804937
skin_sun_exposed_lower_leg0.3977420.8068170.799174
spleen0.5069820.8078280.858734
artery_aorta0.4281660.8149620.810471
nerve_tibial0.3237450.8199430.772638
adipose_subcutaneous0.3805010.8269600.807961
heart_atrial_appendage0.4877680.8350580.833513
brain_anterior_cingulate_cortex_ba240.4261460.8352510.874480
esophagus_mucosa0.4033100.8435000.850711
esophagus_gastroesophageal_junction0.4194010.8497060.843063
brain_frontal_cortex_ba90.4320360.8541440.876284
skin_not_sun_exposed_suprapubic0.5280960.8557960.859677
brain_cerebellum0.3674630.8570930.790941
esophagus_muscularis0.4066280.8593940.849154
artery_coronary0.4104580.8610730.801901
brain_caudate_basal_ganglia0.5364270.8622350.894522
cells_ebvtransformed_lymphocytes0.3628830.8752650.827843
adipose_visceral_omentum0.4274600.8775320.863902
brain_amygdala0.5407820.8803060.914251
brain_cerebellar_hemisphere0.4100690.8819020.862051
brain_cortex0.4438140.8848410.889380
pancreas0.4613640.8968960.871488
brain_hippocampus0.5997050.8999030.916020
brain_substantia_nigra0.6395690.9041600.922021
whole_blood0.6145610.9113540.929595
breast_mammary_tissue0.7194900.9130810.937118
brain_putamen_basal_ganglia0.5500230.9153800.929241
brain_nucleus_accumbens_basal_ganglia0.6065690.9205630.941653
heart_left_ventricle0.6322310.9244070.923212
brain_spinal_cord_cervical_c10.7079890.9244380.923254
brain_hypothalamus0.6093380.9286250.946419
kidney_cortex0.6642560.9335450.927273
bladder0.6230770.9476060.898901
\n", + "
" + ], + "text/plain": [ + " ccc pearson spearman\n", + "small_intestine_terminal_ileum 0.131379 0.540193 0.465558\n", + "stomach 0.186605 0.546008 0.631823\n", + "liver 0.189274 0.619830 0.618370\n", + "pituitary 0.217599 0.629830 0.643730\n", + "muscle_skeletal 0.205450 0.648536 0.658019\n", + "adrenal_gland 0.261443 0.657966 0.682019\n", + "thyroid 0.255240 0.675918 0.697297\n", + "testis 0.206704 0.692661 0.690990\n", + "colon_transverse 0.237485 0.704703 0.691430\n", + "cells_cultured_fibroblasts 0.434682 0.772410 0.791284\n", + "lung 0.383148 0.777688 0.767171\n", + "artery_tibial 0.336675 0.782014 0.776460\n", + "colon_sigmoid 0.301971 0.784019 0.769884\n", + "prostate 0.347597 0.804046 0.799923\n", + "minor_salivary_gland 0.420246 0.805288 0.804937\n", + "skin_sun_exposed_lower_leg 0.397742 0.806817 0.799174\n", + "spleen 0.506982 0.807828 0.858734\n", + "artery_aorta 0.428166 0.814962 0.810471\n", + "nerve_tibial 0.323745 0.819943 0.772638\n", + "adipose_subcutaneous 0.380501 0.826960 0.807961\n", + "heart_atrial_appendage 0.487768 0.835058 0.833513\n", + "brain_anterior_cingulate_cortex_ba24 0.426146 0.835251 0.874480\n", + "esophagus_mucosa 0.403310 0.843500 0.850711\n", + "esophagus_gastroesophageal_junction 0.419401 0.849706 0.843063\n", + "brain_frontal_cortex_ba9 0.432036 0.854144 0.876284\n", + "skin_not_sun_exposed_suprapubic 0.528096 0.855796 0.859677\n", + "brain_cerebellum 0.367463 0.857093 0.790941\n", + "esophagus_muscularis 0.406628 0.859394 0.849154\n", + "artery_coronary 0.410458 0.861073 0.801901\n", + "brain_caudate_basal_ganglia 0.536427 0.862235 0.894522\n", + "cells_ebvtransformed_lymphocytes 0.362883 0.875265 0.827843\n", + "adipose_visceral_omentum 0.427460 0.877532 0.863902\n", + "brain_amygdala 0.540782 0.880306 0.914251\n", + "brain_cerebellar_hemisphere 0.410069 0.881902 0.862051\n", + "brain_cortex 0.443814 0.884841 0.889380\n", + "pancreas 0.461364 0.896896 0.871488\n", + "brain_hippocampus 0.599705 0.899903 0.916020\n", + "brain_substantia_nigra 0.639569 0.904160 0.922021\n", + "whole_blood 0.614561 0.911354 0.929595\n", + "breast_mammary_tissue 0.719490 0.913081 0.937118\n", + "brain_putamen_basal_ganglia 0.550023 0.915380 0.929241\n", + "brain_nucleus_accumbens_basal_ganglia 0.606569 0.920563 0.941653\n", + "heart_left_ventricle 0.632231 0.924407 0.923212\n", + "brain_spinal_cord_cervical_c1 0.707989 0.924438 0.923254\n", + "brain_hypothalamus 0.609338 0.928625 0.946419\n", + "kidney_cortex 0.664256 0.933545 0.927273\n", + "bladder 0.623077 0.947606 0.898901" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_all_males.sort_values(\"pearson\")" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "65fda98a-ebcb-421b-a286-3a89dd369b38", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:05.936868Z", + "iopub.status.busy": "2023-11-20T08:56:05.936719Z", + "iopub.status.idle": "2023-11-20T08:56:05.947502Z", + "shell.execute_reply": "2023-11-20T08:56:05.947098Z" + }, + "papermill": { + "duration": 0.021826, + "end_time": "2023-11-20T08:56:05.948275", + "exception": false, + "start_time": "2023-11-20T08:56:05.926449", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cccpearsonspearman
small_intestine_terminal_ileum0.1313790.5401930.465558
liver0.1892740.6198300.618370
stomach0.1866050.5460080.631823
pituitary0.2175990.6298300.643730
muscle_skeletal0.2054500.6485360.658019
adrenal_gland0.2614430.6579660.682019
testis0.2067040.6926610.690990
colon_transverse0.2374850.7047030.691430
thyroid0.2552400.6759180.697297
lung0.3831480.7776880.767171
colon_sigmoid0.3019710.7840190.769884
nerve_tibial0.3237450.8199430.772638
artery_tibial0.3366750.7820140.776460
brain_cerebellum0.3674630.8570930.790941
cells_cultured_fibroblasts0.4346820.7724100.791284
skin_sun_exposed_lower_leg0.3977420.8068170.799174
prostate0.3475970.8040460.799923
artery_coronary0.4104580.8610730.801901
minor_salivary_gland0.4202460.8052880.804937
adipose_subcutaneous0.3805010.8269600.807961
artery_aorta0.4281660.8149620.810471
cells_ebvtransformed_lymphocytes0.3628830.8752650.827843
heart_atrial_appendage0.4877680.8350580.833513
esophagus_gastroesophageal_junction0.4194010.8497060.843063
esophagus_muscularis0.4066280.8593940.849154
esophagus_mucosa0.4033100.8435000.850711
spleen0.5069820.8078280.858734
skin_not_sun_exposed_suprapubic0.5280960.8557960.859677
brain_cerebellar_hemisphere0.4100690.8819020.862051
adipose_visceral_omentum0.4274600.8775320.863902
pancreas0.4613640.8968960.871488
brain_anterior_cingulate_cortex_ba240.4261460.8352510.874480
brain_frontal_cortex_ba90.4320360.8541440.876284
brain_cortex0.4438140.8848410.889380
brain_caudate_basal_ganglia0.5364270.8622350.894522
bladder0.6230770.9476060.898901
brain_amygdala0.5407820.8803060.914251
brain_hippocampus0.5997050.8999030.916020
brain_substantia_nigra0.6395690.9041600.922021
heart_left_ventricle0.6322310.9244070.923212
brain_spinal_cord_cervical_c10.7079890.9244380.923254
kidney_cortex0.6642560.9335450.927273
brain_putamen_basal_ganglia0.5500230.9153800.929241
whole_blood0.6145610.9113540.929595
breast_mammary_tissue0.7194900.9130810.937118
brain_nucleus_accumbens_basal_ganglia0.6065690.9205630.941653
brain_hypothalamus0.6093380.9286250.946419
\n", + "
" + ], + "text/plain": [ + " ccc pearson spearman\n", + "small_intestine_terminal_ileum 0.131379 0.540193 0.465558\n", + "liver 0.189274 0.619830 0.618370\n", + "stomach 0.186605 0.546008 0.631823\n", + "pituitary 0.217599 0.629830 0.643730\n", + "muscle_skeletal 0.205450 0.648536 0.658019\n", + "adrenal_gland 0.261443 0.657966 0.682019\n", + "testis 0.206704 0.692661 0.690990\n", + "colon_transverse 0.237485 0.704703 0.691430\n", + "thyroid 0.255240 0.675918 0.697297\n", + "lung 0.383148 0.777688 0.767171\n", + "colon_sigmoid 0.301971 0.784019 0.769884\n", + "nerve_tibial 0.323745 0.819943 0.772638\n", + "artery_tibial 0.336675 0.782014 0.776460\n", + "brain_cerebellum 0.367463 0.857093 0.790941\n", + "cells_cultured_fibroblasts 0.434682 0.772410 0.791284\n", + "skin_sun_exposed_lower_leg 0.397742 0.806817 0.799174\n", + "prostate 0.347597 0.804046 0.799923\n", + "artery_coronary 0.410458 0.861073 0.801901\n", + "minor_salivary_gland 0.420246 0.805288 0.804937\n", + "adipose_subcutaneous 0.380501 0.826960 0.807961\n", + "artery_aorta 0.428166 0.814962 0.810471\n", + "cells_ebvtransformed_lymphocytes 0.362883 0.875265 0.827843\n", + "heart_atrial_appendage 0.487768 0.835058 0.833513\n", + "esophagus_gastroesophageal_junction 0.419401 0.849706 0.843063\n", + "esophagus_muscularis 0.406628 0.859394 0.849154\n", + "esophagus_mucosa 0.403310 0.843500 0.850711\n", + "spleen 0.506982 0.807828 0.858734\n", + "skin_not_sun_exposed_suprapubic 0.528096 0.855796 0.859677\n", + "brain_cerebellar_hemisphere 0.410069 0.881902 0.862051\n", + "adipose_visceral_omentum 0.427460 0.877532 0.863902\n", + "pancreas 0.461364 0.896896 0.871488\n", + "brain_anterior_cingulate_cortex_ba24 0.426146 0.835251 0.874480\n", + "brain_frontal_cortex_ba9 0.432036 0.854144 0.876284\n", + "brain_cortex 0.443814 0.884841 0.889380\n", + "brain_caudate_basal_ganglia 0.536427 0.862235 0.894522\n", + "bladder 0.623077 0.947606 0.898901\n", + "brain_amygdala 0.540782 0.880306 0.914251\n", + "brain_hippocampus 0.599705 0.899903 0.916020\n", + "brain_substantia_nigra 0.639569 0.904160 0.922021\n", + "heart_left_ventricle 0.632231 0.924407 0.923212\n", + "brain_spinal_cord_cervical_c1 0.707989 0.924438 0.923254\n", + "kidney_cortex 0.664256 0.933545 0.927273\n", + "brain_putamen_basal_ganglia 0.550023 0.915380 0.929241\n", + "whole_blood 0.614561 0.911354 0.929595\n", + "breast_mammary_tissue 0.719490 0.913081 0.937118\n", + "brain_nucleus_accumbens_basal_ganglia 0.606569 0.920563 0.941653\n", + "brain_hypothalamus 0.609338 0.928625 0.946419" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_all_males.sort_values(\"spearman\")" + ] + }, + { + "cell_type": "markdown", + "id": "cccf7fd4-329c-49e0-b6a7-3f449d78a73c", + "metadata": { + "papermill": { + "duration": 0.010108, + "end_time": "2023-11-20T08:56:05.968664", + "exception": false, + "start_time": "2023-11-20T08:56:05.958556", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Plot of male samples" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "37979e0a-5a5d-40d7-8071-1ecc54a11c06", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:05.989605Z", + "iopub.status.busy": "2023-11-20T08:56:05.989454Z", + "iopub.status.idle": "2023-11-20T08:56:05.993475Z", + "shell.execute_reply": "2023-11-20T08:56:05.993079Z" + }, + "papermill": { + "duration": 0.015537, + "end_time": "2023-11-20T08:56:05.994253", + "exception": false, + "start_time": "2023-11-20T08:56:05.978716", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def get_tissue_file(name):\n", + " \"\"\"\n", + " Given a part of a tissue name, it returns a file path to the\n", + " expression data for that tissue in GTEx. It fails if more than\n", + " one files are found.\n", + "\n", + " Args:\n", + " name: a string with the tissue name (or a part of it).\n", + "\n", + " Returns:\n", + " A Path object pointing to the gene expression file for the\n", + " given tissue.\n", + " \"\"\"\n", + " tissue_files = []\n", + " for f in TISSUE_DIR.glob(\"*.pkl\"):\n", + " if name in f.name:\n", + " tissue_files.append(f)\n", + "\n", + " assert len(tissue_files) == 1\n", + " return tissue_files[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "08d2da77-49d4-471b-9e6c-c1d27fc5b13b", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:06.015399Z", + "iopub.status.busy": "2023-11-20T08:56:06.015248Z", + "iopub.status.idle": "2023-11-20T08:56:06.018280Z", + "shell.execute_reply": "2023-11-20T08:56:06.017885Z" + }, + "papermill": { + "duration": 0.014842, + "end_time": "2023-11-20T08:56:06.019182", + "exception": false, + "start_time": "2023-11-20T08:56:06.004340", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# testing\n", + "_tmp = get_tissue_file(\"whole_blood\")\n", + "assert _tmp.exists()" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "0d04139a-2fd5-4f09-81c7-8f7b6b87d478", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:06.040472Z", + "iopub.status.busy": "2023-11-20T08:56:06.040325Z", + "iopub.status.idle": "2023-11-20T08:56:06.043073Z", + "shell.execute_reply": "2023-11-20T08:56:06.042681Z" + }, + "papermill": { + "duration": 0.014423, + "end_time": "2023-11-20T08:56:06.043873", + "exception": false, + "start_time": "2023-11-20T08:56:06.029450", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def simplify_tissue_name(tissue_name):\n", + " return f\"{tissue_name[0].upper()}{tissue_name[1:].replace('_', ' ')}\"" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "5e0026f0-e25f-4058-bba8-810887f523f5", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:06.065222Z", + "iopub.status.busy": "2023-11-20T08:56:06.064825Z", + "iopub.status.idle": "2023-11-20T08:56:06.067504Z", + "shell.execute_reply": "2023-11-20T08:56:06.067101Z" + }, + "papermill": { + "duration": 0.014174, + "end_time": "2023-11-20T08:56:06.068318", + "exception": false, + "start_time": "2023-11-20T08:56:06.054144", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "assert simplify_tissue_name(\"whole_blood\") == \"Whole blood\"\n", + "assert simplify_tissue_name(\"uterus\") == \"Uterus\"" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "30becd4a-14ad-467d-b462-54429c61008a", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:06.089570Z", + "iopub.status.busy": "2023-11-20T08:56:06.089169Z", + "iopub.status.idle": "2023-11-20T08:56:06.099591Z", + "shell.execute_reply": "2023-11-20T08:56:06.099184Z" + }, + "papermill": { + "duration": 0.021749, + "end_time": "2023-11-20T08:56:06.100320", + "exception": false, + "start_time": "2023-11-20T08:56:06.078571", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def plot_gene_pair(\n", + " tissue_name,\n", + " gene0,\n", + " gene1,\n", + " hue=None,\n", + " kind=\"hex\",\n", + " ylim=None,\n", + " bins=\"log\",\n", + " samples=None,\n", + " filename_suffix=\"\",\n", + "):\n", + " \"\"\"\n", + " It plots (joint plot) a gene pair from the given tissue. It saves the plot\n", + " for the manuscript.\n", + " \"\"\"\n", + " # merge gene expression with metadata\n", + " tissue_file = get_tissue_file(tissue_name)\n", + " if samples is not None:\n", + " tissue_data = (\n", + " pd.read_pickle(tissue_file).T[[gene0, gene1]].reindex(samples).dropna()\n", + " )\n", + " else:\n", + " tissue_data = pd.read_pickle(tissue_file).T[[gene0, gene1]]\n", + "\n", + " tissue_data = pd.merge(\n", + " tissue_data,\n", + " gtex_metadata,\n", + " how=\"inner\",\n", + " left_index=True,\n", + " right_index=True,\n", + " validate=\"one_to_one\",\n", + " )\n", + "\n", + " # get gene symbols\n", + " gene0_symbol, gene1_symbol = gene_map[gene0], gene_map[gene1]\n", + " display((gene0_symbol, gene1_symbol))\n", + "\n", + " # compute correlations for this gene pair\n", + " _clustermatch = ccc(tissue_data[gene0], tissue_data[gene1])\n", + " _pearson = pearsonr(tissue_data[gene0], tissue_data[gene1])[0]\n", + " _spearman = spearmanr(tissue_data[gene0], tissue_data[gene1])[0]\n", + "\n", + " _title = f\"{simplify_tissue_name(tissue_name)}\\n$c={_clustermatch:.2f}$ $p={_pearson:.2f}$ $s={_spearman:.2f}$\"\n", + "\n", + " other_args = {\n", + " \"kind\": kind, # if hue is None else \"scatter\",\n", + " \"rasterized\": True,\n", + " }\n", + " if hue is None:\n", + " other_args[\"hue_order\"] = None\n", + " else:\n", + " other_args[\"hue_order\"] = [\"Male\", \"Female\"]\n", + "\n", + " with sns.plotting_context(\"paper\", font_scale=1.5):\n", + " p = sns.jointplot(\n", + " data=tissue_data,\n", + " x=gene0,\n", + " y=gene1,\n", + " hue=hue,\n", + " **other_args,\n", + " # ylim=(0, 500),\n", + " )\n", + "\n", + " # if samples is not None:\n", + " # p.ax_joint.legend_.remove()\n", + "\n", + " if ylim is not None:\n", + " p.ax_joint.set_ylim(ylim)\n", + "\n", + " gene_x_id = p.ax_joint.get_xlabel()\n", + " gene_x_symbol = gene_map[gene_x_id]\n", + " p.ax_joint.set_xlabel(f\"{gene_x_symbol}\", fontstyle=\"italic\")\n", + "\n", + " gene_y_id = p.ax_joint.get_ylabel()\n", + " gene_y_symbol = gene_map[gene_y_id]\n", + " p.ax_joint.set_ylabel(f\"{gene_y_symbol}\", fontstyle=\"italic\")\n", + "\n", + " p.fig.suptitle(_title)\n", + "\n", + " # save\n", + " output_file = (\n", + " OUTPUT_FIGURE_DIR\n", + " / f\"gtex_{tissue_name}-{gene_x_symbol}_vs_{gene_y_symbol}{filename_suffix}.svg\"\n", + " )\n", + " display(output_file)\n", + "\n", + " plt.savefig(\n", + " output_file,\n", + " bbox_inches=\"tight\",\n", + " dpi=300,\n", + " facecolor=\"white\",\n", + " )\n", + "\n", + " return tissue_data" + ] + }, + { + "cell_type": "markdown", + "id": "a1203a1b-9192-43ee-8715-476aa7048ce6", + "metadata": { + "papermill": { + "duration": 0.010275, + "end_time": "2023-11-20T08:56:06.120691", + "exception": false, + "start_time": "2023-11-20T08:56:06.110416", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Brain cerebellum (males)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "ad7a21de-2d8e-423e-8044-38d6f3b43808", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:06.141871Z", + "iopub.status.busy": "2023-11-20T08:56:06.141469Z", + "iopub.status.idle": "2023-11-20T08:56:06.815437Z", + "shell.execute_reply": "2023-11-20T08:56:06.815120Z" + }, + "papermill": { + "duration": 0.686272, + "end_time": "2023-11-20T08:56:06.817129", + "exception": false, + "start_time": "2023-11-20T08:56:06.130857", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "('KDM6A', 'UTY')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "PosixPath('/opt/manuscript/content/images/coefs_comp/kdm6a_vs_uty/gtex_brain_cerebellum-KDM6A_vs_UTY-all.svg')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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lfSCI4SnkOAkutzO3DLeW57BBeMO8eBSOw2OCeLkIdFc9doKquvafgZHCNFzSHASXare7uCOD9dz+eQkvC0d9/EbkxjKmMQQbnhnNXaH1NYK0dNJcBJd6uUlaaRG+pEc7tfh+54xIJIIfyv3fLJBeh4QooeT4CS6TEZhJR+v3sfpI/p02mucPiKWospanvx+R6e9hhCi80lwEl1Ca809n2zggnEJeJk772OnlOKyiUksTyvk7WV7O+11hBCdS4KT6BLfbMzCYjYxKCaw01/LZFJcO70v76/I4JsNWZ3+ekKIjifBqRepr6/nwQcfJDk5GR8fHwYOHMizzz7b7vsz5eXlzJs3j9mzZxMTE4NSirlz57aZfu/evVx88cWER0Qwe3QSP/1jLl999G4HHc3BeVtM3DKzH08t2sHSnS37qnM3R/PeHM77smrVKm699VaGDx9OQEAA0dHRzJw5k++//76Dj6hrHe1n+0i3/+GHH1BKoZRi586dHXEowkmCUy9y3XXXce+993LCCSfw7LPPMnz4cG666SYefPDBdm2fn5/P/fffz6pVqxg7duxB02ZmZjJhwgS++uorhs48h1P/cBdR0TE8/JebeH/+8x1xOIfk623hlpn9uPfzTazLKO6S1zxSR/PeHM778u9//5u3336byZMn85///Ic777yT3NxcTjjhBJ577rmOOpwud7Sf7SPZvra2lhtuuAE/v45v3COQkXB7i7Vr12pA33bbbU2Wn3vuudpqter9+/cfch/V1dV63759Wmut6+rqNNBkNNXGbrjhBq2U0u99uVCf8tRivWRHnl66M19PPe4kbfP109+s2K6X7szvkumzNfv0zMd+0luzSlvNa3c72vfmcN6XX3/9VVdVVTVZVllZqfv3769DQkJ0XV3dkR9INzna83ek2z/yyCM6MjJS33rrrRrQO3bsOLoDMXT3NdFtJik5dZO0tDSuvfZakpKSsFqtxMXFceGFF5Kdnd0pr9cwOuott9zSZPktt9xCTU0Nn3766SH3YbVa6dOnfS3tFi9eTN++fflfhi8XjU/A5By47uQz51BVWcHihV8f3gE08o+/3sLxI5JYs3wpN192NsePSGLWuP48cMf1lJeVtkgfEeDDtTP6csM7q9mTX3HEr9tZjva9OZz3ZfLkya4e5BvYbDZOO+00ioqKjurzl5ubyx133MHA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ExPDgw8+iLe3N1988QWXXnopv/76KxaLu7b9Em2Rd0wI0W2mT5/OhRdeyNixY4mIiGDnzp3cfffdBAcHc+yxx7rS2e12srNbPmsfHh6OxWLhhRdeYOHChaxcudJV3Td//nyGDh3KI488wr333ttlxyQ6hgQnIUS3mTVrFm+//Tb33nsvpaWlREZGMm3aNObPn094eLgr3Z49e4iJiWmx/YoVKwgKCuL222/nkUceYciQIa51MTExPP/881x00UWccsopjB07tkuOSXQMGc+pFx+/6L3S0tJITk7u7mz0Soc49zKek5M7NiUXQgjRy0lwEkII4XYkOAkhhHA7EpyEEEK4HQlOQggh3I4EJyGEEG5HgpMQQgi3I8FJCCGE25HgJIToFV577TWSkpK6OxuinSQ4CSHc2owZM1BK8e677zZZvm/fPsxms2tYDeFZJDgJIdxenz59ePPNpoNjv/3228TGxnZTjkRnk+AkhHB755xzDosXL24yjMbbb7/NRRdd5JpfunQpM2bMIDg4mIiICC688ELy8/MPut+nn36alJQUfH19GTduHIsXL+60YxCHR4KTEMLthYSEcOKJJ/Lee+8BsG7dOnJycjjhhBNcacrLy7n++utZuXIl33zzDZmZmVx//fVt7vPVV1/lmWee4bnnnmPjxo1cdtllnHLKKWRkZHT68YhDk+AkhDgi6QWVLN6eR3pBZZe83iWXXMJbb70FwFtvvcUFF1zQZBDBE088kTlz5pCamsrYsWN5/PHH+eSTT7Db7a3u76GHHuKZZ57hpJNOIiUlhZtuuonJkyfz9ttvd8nxiIOT8ZyEEIftxZ938dzPu6h3aCwmxXXT+3LN9L6d+pqnnXYaV199NVu2bOHdd9/lk08+oaKiwrV+//793HXXXSxZsoS8vDwcDgf19fVkZ2fTp0+fJvsqLy8nLS2Nc845p0mDipqaGmnR5yYkOAkhDkt6QSXP/byLoso617Lnft7FyUNjSAjz7bTX9fb25txzz+Waa67B39+fcePG8dNPP7nWz507l7q6Ol566SX69OlDeno6J510EnV1dS321RDU3n//fQYOHNhkXWBgYKcdg2g/CU5CiMOyp6CCekfTge7qHZq9hRWdGpzAqNqbPn06DzzwQIt1S5cu5b333mPmzJkArFmzps39REZGEh0dTUZGBqeddlqn5VccOQlO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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "_tissue_data = plot_gene_pair(\n", + " \"brain_cerebellum\",\n", + " gene0_id,\n", + " gene1_id,\n", + " hue=\"SEX\",\n", + " kind=\"scatter\",\n", + " samples=None,\n", + " filename_suffix=\"-all\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "f009b03f-b276-42ac-8f76-5377aac04b82", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:06.858869Z", + "iopub.status.busy": "2023-11-20T08:56:06.858782Z", + "iopub.status.idle": "2023-11-20T08:56:07.380845Z", + "shell.execute_reply": "2023-11-20T08:56:07.380537Z" + }, + "papermill": { + "duration": 0.544177, + "end_time": "2023-11-20T08:56:07.382358", + "exception": false, + "start_time": "2023-11-20T08:56:06.838181", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "('KDM6A', 'UTY')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "PosixPath('/opt/manuscript/content/images/coefs_comp/kdm6a_vs_uty/gtex_brain_cerebellum-KDM6A_vs_UTY-males.svg')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "_tissue_data = plot_gene_pair(\n", + " \"brain_cerebellum\",\n", + " gene0_id,\n", + " gene1_id,\n", + " hue=\"SEX\",\n", + " kind=\"scatter\",\n", + " samples=male_samples,\n", + " filename_suffix=\"-males\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "a3e88e70-6c2b-4a41-95f8-3e7d3214c307", + "metadata": { + "papermill": { + "duration": 0.021029, + "end_time": "2023-11-20T08:56:07.424778", + "exception": false, + "start_time": "2023-11-20T08:56:07.403749", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Smalle intestine (males)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "4b35981a-a86c-4bca-afc2-d426d899f38e", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:07.466017Z", + "iopub.status.busy": "2023-11-20T08:56:07.465857Z", + "iopub.status.idle": "2023-11-20T08:56:07.951425Z", + "shell.execute_reply": "2023-11-20T08:56:07.951103Z" + }, + "papermill": { + "duration": 0.507235, + "end_time": "2023-11-20T08:56:07.953195", + "exception": false, + "start_time": "2023-11-20T08:56:07.445960", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "('KDM6A', 'UTY')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "PosixPath('/opt/manuscript/content/images/coefs_comp/kdm6a_vs_uty/gtex_small_intestine_terminal_ileum-KDM6A_vs_UTY-all.svg')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZsAAAGmCAYAAACqfCmLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAB1G0lEQVR4nO3dd3hUVfrA8e+ZyaT33huhN+lVQKzYERti713XsmvbFde6rmXF9aeuqKjYe1csFEFBmoD0kARIQkjvbTJzf3/cScikQIBMyeT9PM88ydy55b137sw759xzz1GapiGEEEI4ksHVAQghhPB8kmyEEEI4nCQbIYQQDifJRgghhMNJshFCCOFwkmyEEEI4nCQbD6CUWqKUWtJmmqaUmnsky/Y0SqkcpdQCV8fhzpRSC5RSOU7YzjTbuTetC/PanaOHs6zoeSTZHAal1ACl1FtKqUylVL1SqkgptUYp9axSKs7V8TmbUsqglJqrlDrbCds6pyvJ09mceQyE6Mm8XB1AT6GUGg8sBsqB14EsIAoYBlwDfA7sc1V8R+Gko1jWADwIvAF81i3RdO4cYA4wt4PX+gNWB2+/M848BkfjGtzvx6Uf0OTqIIRzSLLpur8DFmCMpmm5rV9QSgUCRpdEdZQ0TWt0dQxHS9O0BlfH4AhKKX9N02q7Y12appm7Yz3dSdO0elfHIJzH3X7puLM+QGbbRAOgaVq1pmkVzc+VUpfb6p5PUUr9UymVq5SqUUp9r5RKts1zk1Jqp606brVSamTrdSqlUpRSzyulNiulqm2PZUqpk7tzpw5yvWehUmqqUmqVUqpOKbVbKXVLq3lSgeYvsMtsy2it16WU8lJK/U0ptcW2n8W29Sa22V66UuodpVSeUqpBKZWvlPpaKTW8OUb0Ug2ttqPZYmh3zUYplWp7/RGl1Cyl1Cbb9ncopc7v5Dhco5RaZ9vXcqXU50qpQYc4dt15DBbYlk1SSr2nlCoDNrd5LVYp9bZSqkwpVaqUekkp5aOU8lNKzVNK7VdK1SqlPlFKRXSw/pw203KUUsuVUkOVUj/bli2wHTfVZt7LbOdvvlKqUSm1x7bNoIMdo0Mcv65eV4xSSr2glNpr23aOUupxpZRPV9Z3iH0foZRaatv3vUqpm22vp9rOgUrbe/YvpZR8Xx4FKdl0XTYwXSl1rKZpv3RxmUeBBuBJIB64E/hcKfUOcCnwIuAP/A34VCmV0eoX6BjgRPTquSwgBLgY+EYpdYKmaYu7ab86Mwz4EHgFvYpoNjBPKbVF07SfgCLgMttrvwD/sy23H8D2ZfUhcCqwAHgOSABuBqYopUZomlailDIBi4BA9OOxF4gBpgADgQ3ox9EETAQuaRVj0SH24RTgCuAl9OrPa4F3lVJ/aJq2o3kmpdR/gFuA94D56Mf6JuBXpdRoTdMyO1l/txyDNuv8FtgK3Af4tHnta2C77bWpwHXo51c6+g/HfwJDgOuBeuCigx8eAOKA74H3gQ+A04D70c/3V1vNdyuQaduHMmCkbftDgeO6sJ0jYkuaK4Eg9OO7BxgF3G3b9ulHsfp44BtgIfq+XwY8r5SqBf5he+1vwNnAX4FdHHiPxeHSNE0eXXigf/mZAQ1YB/wH/dd2dAfzXm6bbzXg1Wr6v23Tc4CAVtNvsk0/o9U0/w7W64P+RfRdm+lLgCVtpmnA3C7sV2fLWoCRrab5AoXAB62mednmXdDBes+3vXZ6m+kj0OvpH7E9H26b77xDxLlQP107fC2ndQxAqm2d1UBiq+lx2JJ/q2njbPPe3GadiUAlsPAQcR31MbBNW2Cb96UO1tP82rNtpq9Gv1b1cZvpH9rWH9pmHTkdHDcNOLvN9A3A722mBXQQ12W25ce3mjbNNm1aF849u3O0o2WB/wNKgaQ2y95qm/eEQ53zh9j3s1pNiwDqbMf0llbTTUA+sPZQ+ySPg7zfrg6gGx8Ot3r1au2CCy7QQkNDNduJqnl5eWm33HKL1tjY2DLf66+/rgHayy+/bLf8p59+qgHafffdZzd9/fr1GqA988wzHW63rq5OKy4u1oqKirTrr79eCw8Pt3t96tSp2tSpU+2mAdqDDz54yH3qbNkJEya0m/fMM8/URo4c2fLcbDZrgHbZZZe1m3fmzJlaYmKiVlRU1O7Rt29fbfz48ZqmaVp2drYGaFdeeaVWVVXVaZxz5szRbMmmnZSUFLsYmtc5e/bsdvMOGzZMO+ecc1qe/+Uvf9G8vb213NzcdnFOnz5di42N7TSm7joGmqZpl112mQZoGzZsaLee5te2b99uN/22227TAG3RokV205999lkN0NatW2e3jpSUFLv5UlJStLi4uHbbu/XWW9udY80sFotWXl6uFRUVaVlZWRqgzZs3r+X1xYsXa4C2ePHiDpdvre052nZZq9WqhYeHaxdccEG747dlyxYN0O65555O13ck+z58+HDNYDBodXV1dtPPOussLTg4+JD71HYX5XHgIdVoh2H06NG89957aJrG9u3b+emnn3j22Wd5/vnniYyM5B//+Ifd/CkpKXbPQ0NDAUhOTu5wemlpacs0s9nMww8/zJtvvsnu3bvt5m9Tne4QbWMHCAsLY+PGjV1aftu2beTm5hIVFdXh6xaLBYDU1FTuvPNOnn76ad5++20mTpzISSedxJw5c0hKSjryHaDzfWh9nLdt20ZjYyOJiYnt5gUwGI68mr6rx6C1tLS0Ttd3NOdTV9cJ7Y8RwO+//87999/P8uXLqa+3v65fVlZ2yO0ciaKiIkpLS3n//fd5//33O5ynsLDwiNff0b6HhoYSHR2Nr69vu+mVlZVYLBaMxh7ZFsjlJNkcAaUUAwYMYMCAAVx44YX06dOHN954o12y6eyk7Gy6ph0YW+j222/nxRdf5IYbbmDy5MmEh4djNBp5/fXXeeedd7pvZzrRlRg7UlhVz8791VTUNhIRl8QZNz2IpoGPl4GIQB+Swv1IjQggODCgZZmnnnqKq6++mi+//JIff/yRuXPn8vDDD/PJJ59w8slH3h6iK/tgtVrx9/fn888/P+LtdMZqtZKens7LL7/c4et+fn5dmtbsaM6nw11nazk5ORx33HGkpqby5JNPkpqaip+fHxaLhVNOOQWr1TGtzpvXO3PmTG688cYO54mPjz/kejpK6nD4xxO6dkxFxyTZHKWIiAj69OnD5s2bu3W977zzDpdeeikvvPCC3fRXX321kyWcr7mEtbe0lpveXsf2gipC/EzEh/kSEJVAyZa1jBk/GS+TiXqzhbKaRtaX1/HRn9UMivcnMLmc4UmhAC3J++6772bv3r2MGDGChx56qCXZOKo0l5GRwffff8/QoUOJiYk57OUPFldGRgbLli1j2rRpeHn13I/a559/Tm1tLV9//TWpqakt07dv3+7Q7UZFRREcHEx9fT0nnHDCIecPCwvrsJSVlZXliPDEYZKmfF30448/dvgLKSsri61btzJw4MBu3Z7RaGz3i3H79u189tln3bqdI7W7pIb7P9uMwcub3fuKmJQRyUNnDeauk/tz0dgULpo9m4baGjZ+8xZDE0IYkxrOSYNjuWJSGv88czD9QzQe/2Yrl7y4mL0lVXbrTkpKIioqyq4qJzAwEOj+KpvZs2cDtCuVNisqOniDN6PRiK+vb4dxzZ49m6qqKp588sl2r2maRnFx8RFE7HzNv/Tbno9PPPGEw7d7/vnn8/3337N8+fJ2r9fX11NVdeDc6du3L4sX2zfSXLVqFb/99ptD4xRd03N/bjnZ7bffTnl5OWeddRZDhgzBy8uLHTt28MYbb9DY2MgjjzzSrdubOXMmr776Kv7+/owaNYqsrCxefPFFBg4cyPr167t1W4fDqmn87aONbM6vYMbQOIYeM5Ltm3/nt89eJzM2nrCISEZPmMJJZ57Lsh++5eVnHmXT+t8ZNf5YfHx92Ze7h2U/fMOJZ8zittv+xlvvfUhG2rnMOONsTpgwAi8vL7766iu2bdvGP//5z5btjhkzhpdeeombb76ZGTNm4OXlxRlnnEFAQMBBoj20SZMmcccdd/DMM8+wZcsWzjjjDEJDQ9m9ezfffvstw4YNY8GCBQddx5gxY/jxxx956qmnSExMJDo6munTp3PRRRfx2Wefcf/99/Prr78yffp0/Pz8yM7O5rPPPuOiiy5i7ty5RxW/M5xyyin4+vpy6qmnct1112E0Gvnyyy8pKWnbarv7PfHEEyxbtozp06dz+eWXM2LECOrr69m+fTsffvghH3/8MdOmTQPghhtu4IorruD000/n9NNPJycnh1deeYWhQ4dSUVFx8A0Jh5Nk00VPP/00n3zyCUuXLuWdd96hurqa6OhopkyZwp133smECRO6dXvPPvssvr6+fPLJJ7zxxhsMGDCAl19+ma1bt7ok2WiaRnZxDUVVDcSF+nLWMfEopbj7n0/x1IN3M/+5J6mvq2XE2ImMnjAFpRQPz5vPp2+/zlcfvc3/nn0co9FAdGwCYycfx/Gnng3A8ZPGknPSDH78cRHffvIuvt4m+vXrx/z587nyyitbtn/JJZewdu1aPvroI9599109nuzso042oL+3o0eP5oUXXuDhhx/GarUSHx/P5MmTue666w65/IsvvsiNN97Igw8+SG1tLVOnTmX69OkopXj//fd58cUXee2113jggQcwGo0kJSVx0kkncf75Hd5f6nYyMjL46quvuO+++3jggQfw9/fntNNO45133iE6Otqh246IiGDVqlU89thjfPrpp7zxxhsEBQWRnp7OrbfeyrBhw1rmveyyy9i9ezcvv/wyP/74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yHvXTGBgnPsMzNWTBAYGEhsb2/IICwujqKiIOXPmEBoaSmRkJBdffDGlpaUty0ybNo177rmHyy+/nICAAPr378+qVatYv349o0aNIigoiDlz5lBfX9+yzOOPP86AAQPw9/enb9++zJs376BxHSoGceQk2QhxmBLD/BmRHEZcqJ+rQ+lepdmQ+ZP+1wXOPfdcjEYjv/zyC0uWLKGsrIzLLrvMbp6XXnqJ8ePHs379eoYNG8bll1/O3Xffzbx581i0aBE//PADr776asv8Pj4+zJ8/n82bN/PYY49x//3388033xxVDOIIaZrmEQ99V4TofbKyso5+Jcuf07QnUjXtsUT97/Lnjn6dnZg6dapmMpm0gICAlsdDDz2kxcfHa01NTS3z5eXlaYC2b9++luXOOuusltdXrlypAdpnn33WMu3666/Xzj///E63fdNNN2lXXHGFXSwPPvigpmmatnTp0kPG0JGDHP8uf3dd+frvna6/h+l0P6XpsxC9XWk2LH8W6lpVFy1/FgaeAeFHP05OR66//npuvfXWlufff/89BQUFHY7YmZWVRWysfm1s8ODBLdObh3seNGiQ3bTt27e3PP/222957LHH2LFjBzU1NTQ2NnY6auemTZu6FIMjqF7QzkSSjRC9XWkWWJvsp1mboCzbYckmPDycjIyMlucff/wxAwYM4PPPP283b0JCQsv/rUf0bG4Z2Haa1WoF9EHNzj77bO69916effZZQkJCePrpp9m2bVuHMVVXV3cpBnFkJNkI0duFp4OhzVeBwQvCHJNoOjJ8+HBycnJaLsx3h7Vr1xIUFGR3H012dufXoxwRgzhAGggI0duFp8Hkv4BfOPgE63+P/YvDSjUdOemkkxg8eDDnnHMOy5cvJysri0WLFnH99dcf8Tr79OlDaWkpb7zxBpmZmTz22GP89ttvTo1BHCAlGyEETLpVv0ZTlq2XaJyYaAAMBgPfffcdd999NzNnzqS6upqUlBRmzpx5xOscMWIEjz76KHfffTf19fWcd9553HjjjaxcudJpMYgDlOYh3Y0qpTRP2RchDkd2djZpac5NDuKAgxz/Ll32V0ppVy34nfmXjenewFyj032WajQhhBAOJ8lGCCFczvPbPkuyEUII4XCSbIQQQjicJBshhBAOJ8lGiB7OYDBgNptdHUavZDabMRjka7Qr5CgJ0cNFRUWR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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "_tissue_data = plot_gene_pair(\n", + " \"small_intestine_terminal_ileum\",\n", + " gene0_id,\n", + " gene1_id,\n", + " hue=\"SEX\",\n", + " kind=\"scatter\",\n", + " samples=None,\n", + " filename_suffix=\"-all\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "193939bb-4af0-4995-af74-ab3d0ccd86b5", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:07.998867Z", + "iopub.status.busy": "2023-11-20T08:56:07.998697Z", + "iopub.status.idle": "2023-11-20T08:56:08.457065Z", + "shell.execute_reply": "2023-11-20T08:56:08.456756Z" + }, + "papermill": { + "duration": 0.481924, + "end_time": "2023-11-20T08:56:08.458042", + "exception": false, + "start_time": "2023-11-20T08:56:07.976118", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "('KDM6A', 'UTY')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "PosixPath('/opt/manuscript/content/images/coefs_comp/kdm6a_vs_uty/gtex_small_intestine_terminal_ileum-KDM6A_vs_UTY-males.svg')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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NkIIIRxOko0QQgiH607D1WjS2UEI4ULsGpGgm313tXrNUrIRQgjhcJJshBBCOJwkGyGEEA4nyUYIIYTDSbIRQgjhcN2mN1pbNE0jJyeH6upqmWSti2iaho+PD9HR0XLPhRDdZ2y0troPFhcXU1tbS1RUlHzxdRFN08jNzcVgMBASEuLscIRwBun63ECPqEYrKSkhMjJSEk0XUkoRGRlJSUmJs0MRQriAHpFsAHS6HnOpLkPuuRDiGPk2EEII4XCSbIQQQjicJBshhBAOJ8mmi1VXV/P3v/+dpKQkfHx8CAsLY/z48SxZssS2zeLFi1FKtfgqKCgA4KqrriIxMZGKiopGx7/tttvo06cPxcXFXXpdQoiO25td5uwQHE6STRdbtGgRK1as4KmnnmLv3r38+OOP3Hzzzc16bcXHx3P06NFmr7CwMACWLFmCpmncfvvttn2+++47XnrpJZYtWybdjYVwIy+sOejsEByuRzzU6Uo+/fRTHn/8cc4//3zbspEjRzbbTq/XEx0d3epxAgICePvtt5k2bRrnnHMOU6dOZeHChfz1r3/l1FNPdUToQggHMZmdHYHjScmmi/Xq1YtvvvmGoqKiEz7W5MmTuffee7nuuuu48sorCQ8P54knnuiEKIUQXavbPNTZKkk2Xez1119n165dREREMGLECK6//no+++wzmj5BnJKSgr+/f6NXSyWgxYsX4+fnx7fffsvKlSsxGAxddSlCiE7SfQYQaJ1Uo3WxKVOmcPjwYTZv3sxvv/3GunXruOiii5gzZw6ff/65bZSDPn36sGbNmkb7enl5NTveN998w5EjRzAYDKxfv54RI0Z0yXUIITpPD8g1kmycwcPDg8mTJzN58mTuvPNOVq5cyfz581m3bh3Tp08HwNPTk8TExDaPk5eXxzXXXMNdd91F3759ueeeezjttNMYMGBAV1yGEKKTmHtA0UaSjQsYPHgwYEkex+Paa6+lV69ePPbYY3h5efHFF18wf/58fvnlFzw85E8rhLvoAblGkk1Xmz59Opdffjnjxo0jIiKC5ORk7r//foKDgznllFNs25lMJnJycprtHx4ejoeHB0uXLuX7779n69attuq1t956i2HDhvHEE0/w0EMPddk1CSFOjJRsRKebM2cO77zzDg899BBlZWVERkYybdo03nrrLcLDw23bpaWl0atXr2b7b9myhaCgIO68806eeOIJhg4dalvXq1cvXnnlFa644grOPPNMxo0b1yXXJIQQ7ekR89mkpqbSr1+/Lo5IgNx70aPZPZ/N5a/+xrvXTXJ0PF2hZ89nI4QQrqwnVKNJshFCCCczmSXZCCGEcDBJNkIIIRzOKMlGCCGEo0nJRgghhMNJshFCCOFwdT1gjgFJNkII4WT1Rkk2wk0tW7aM+Ph4Z4chhLBDvUmq0UQXmzFjBkop3nvvvUbLMzMz0ev1tikIhBDdR71UowlniI2N5e2332607J133iEmJsZJEQkhHEnabDqRUuoBpdTvSqlKpVSmUmqJUsq/yTYTlVJblVI1Sqm9Sqk5XRWfK7noootYt25doykH3nnnHa644grb+19//ZUZM2YQHBxMREQEl19+OQUFBW0ed8mSJSQkJODr68v48eNZt26dw65BCGG/Ommz6VSTgX8DY4ArgNnAi8dWKqXCgP8Bv1i3eRv4RCmV1IUxuoSQkBBmz57NqlWrANi5cye5ubmcdtpptm0qKiq46aab2Lp1K//73//IysripptuavWYb775Ji+++CIvv/wyu3fv5i9/+QtnnnkmR44ccfj1CCHaVivJpvNomnaWpmnvapp2QNO0dcDfgfMabDIPKAP+qmnaXk3T/glsBm7oqhjbklFYxbqD+WQUVnXJ+a688kpWrlwJwMqVK7nssssaTYg2e/Zs5s6dS2JiIuPGjePZZ5/lk08+wWQytXi8xx9/nBdffJHTTz+dhIQEbr31ViZPnsw777zTJdcjhOjZnDmfTThQ0uD9BOCnJvMErAFmdWVQLXn158O8/PNhjGYND51i0fT+XD+9v0PPefbZZ3Pttdeyb98+3nvvPT755BMqKytt67Ozs7n33nvZsGED+fn5mM1mjEYjOTk5xMbGNjpWRUUFqampXHTRRY06GNTW1kqPNSFEl3BKslFKBQF3AW82WBwJ7Giyab51edP9FwMPOyq+hjIKq3j558MUV9Xblr3882HOGNaLvmG+Djuvl5cXF198Mddffz3+/v6MHz+etWvX2tYvXLiQ+vp6XnvtNWJjY8nIyOD000+nvr6+2bGOJanVq1czaNCgRusCAwMddg1CiMa68rvL1XR5bzSllAH4CEgBnmy4yt5jaJq2WNM01fDV2XEek1ZY2WyQPKNZI72ospU9Os+VV17Jhg0bmDdvXrN1v/76K3feeSennnoqgwYNorCwsNXjREZGEh0dzZEjR0hMTGz0ioxslsuFEA7Sld9drqZLSzZKKQ9gFRAAnKppmrHB6lyal2IigDycKD7MDw9d48+Dh04RF+rn8HNPmzaN/Px8goKCmq3r378/y5YtY9CgQSQnJ/P444+3ehylFPfffz8PPPAAPj4+TJ06leLiYr777jumTJnC9OnTHXkZQgjRpV2fdcAKIBGYo2laRZNNNgMzmiybCWxyfHSt6xvmy6Lp/Qnx9STA24MQX09umpHo0Cq0hsLDw/H09Gy2/PXXX+fQoUMMGzaMBx98kH/84x9tHufWW2/lySef5F//+heDBw/mnHPOYdu2bfLsjhCiSyiti6YjVUq9DpxpfeU0WJWvaZrJ2vX5EJaEtBQ4F3gEGK5p2iE7jq+1di2pqan069fvhOLPKKwivaiSuFC/Lks03UFn3Hsh3JRdVWRKKS3ub1+S9uRZjo6nK7R6zV1ZjXaN9b9NOwH0A9I0TStUSp0JvAQswtKmc6E9iaYr9A3zlSQjhBAd1GXJxp6GME3TNgJjuyAcIYQQXUjGRhNCCOFwkmyEEMIFdPfZOiXZCCGEC+ju0wxIshFCCBfQ9OHx7kaSjRBCuABjNy/ZOHMgTiFED5NaUEFBRR29Q3zoFeTj7HBcSndvs5FkI4ToEptTC7lm2VbKa40MjPLnpXljSYz0b3/HHsLURQ/YO4tUo4lWzZgxg8WLFzs7DNFNvLw2hfJay3CIB3IrWHcw38kRuZZunmsk2biaGTNmoJRq9DrjjDOcHZYQJ6zJeLaoHjPesX26e7KRajQXdOedd3LXXXfZ3hsMBidGI0TnuHFGf7amF1FabWRYTCDTB0Q4OySX0t2Tr5RsXJC/vz/R0dG2V0hICPn5+cybN4/g4GDCw8O58sorKSoqsu0zY8YM7r33XhYuXIifnx8DBw5k06ZN7Nixg7FjxxIQEMC8efOoqamx7fPPf/6TQYMG4evrS1JSEkuWLGkzrvZiEKIt4+ND+eKWk/nkpsm8uXA8CRHSXtNQN881kmzsVpQKyWss/3WCiy++GL1ez/r161m7di3FxcUsWLCg0TavvPIKkyZNYseOHYwYMYKFCxdy9913s2TJEr777ju+//573njjDdv2BoOB119/nT179vDEE0/wwAMP8PXXX59QDEK0pW+YH6P7hhAZ6O3sUFyOrmk9Y3ejaVq3eFkupWUpKSmtrrPLhhc07cl4TXuit+W/G144seO1Yfr06Zqnp6fm5+dnez3yyCNaTEyMZjQabdtlZWVpgHb06FHbfuedd55t/caNGzVA+/TTT23LbrzxRm3u3Lmtnvvmm2/WrrrqqkaxPPzww5qmadrPP//cbgwtOeF7L4T7svu7K+5vX2pFFbVOC7QTtXqd0mbTnqJU2PAcVDeoLtrwHAw+B0IdM0/LjTfeyG233WZ7/+2335KTk9PijJ0pKSlER0cDMHToUNvyY9M9DxkypNGyAwcO2N7/73//44knnuDgwYNUVlZSV1fX6qydu3btsisGIUTH6PXdu2QjyaY9RSlgNjZeZjZCcarDkk1oaCiJiYm29x999BGDBg3is88+a7ZtbGys7f8bzuiprK2NTZeZzZanlFNTUzn//PO57777eO655wgKCuKZZ55h//79LcZUUVFhVwxCiI5pOv18dyPJpj2hCaBrcpt0HhDSdbNPjhw5krS0NFvDfGfYtm0bAQEBjZ6jSU1tvT3KETEIIf7kqe/eTejd++o6Q2g/OPkO8AkFQ6Dlv1PvcFippiWzZ89m6NChXHjhhWzYsIGUlBS+++47brzxxg4fs3///hQVFbF8+XKSk5N54okn+O2337o0BiHEn6RkI2DKbZY2muJUS4mmCxMNgE6n45tvvuHuu+/mggsuoKKigri4OC644IIOH3P06NH84x//4O6776ampoZLLrmEm266iY0bN3ZZDEKIP6lu/qCN0rrJY6tKKa21a0lNTaVfv65NEMJC7r3owezKHkopLe5vX5L25FmOjqcrtHrNUo0mhBDC4STZCCGEcDhJNkIIIRxOko0QQgiHk2QjhBDC4XpMsjn25LzoOnLPhRDH9IhkExwcTF5eHt2lm7c70DSNvLw8goODnR2KEMIF9IiHOoODg8nJySE1NbXbPzjlKjRNw8fHR5KNEALoIclGKUWvXr2cHYYQQvRYPaIaTQghhHNJshFCCOFwkmyEEEI4nCQbIYQQDifJRgghhMNJshFCCOFwkmyEEEI4nCQbIYQQDifJRgghhMNJshFCCOFwkmyEEMIFdPeBgiXZCCGEC6isMzk7BIeSZCOEEC6guLLO2SE4lCQbIYRwMj+DnkJJNkIIIRwp2MeL/PJaZ4fhUJJshBDCyYJ9Pcktq3Z2GA4lyUYIIZws1NeLzGJJNkIIIRwoPMAgyUYIIYRjRfgbOFJU5ewwHEqSjRBCOJm3p44qec6m8yilLlRKrVFKlSqltCbrZiiltCav37syPiGEcBZvTx3lNfXODsNhurpk4wv8CDzZxja9GrxO7YqghBDC2XoF+XA4v9LZYTiMR1eeTNO0lWApxbSxTU5XxSOEEK4iOsibgzlljOoT7OxQHMLl2myUUmlKqQyl1CqlVF9nxyOEEF2hT4gve4+WOzsMh3GlZHMUuAY4D1gARAI/KaV8nBqVEA5QXFXHL8kFbE4tpKabNwwL+/QN9WVvdpmzw3AYl0k2mqYd0DTtTU3Tdmqa9hOWpBMKnN10W6XU4qadCbo8YCE6qLiqjke/2MO81zcxd+lGXt+QQq1REk5P0NZ3V6CPJ4WVtd12qgGXSTZNaZpWDiQD8S2sW6xpmmr46vIAheigvdmlfLIj2/b+6e8OdvtnLIRFe99d4f4Gskq658OdLptsrNVnCUC6s2MRojN56vWN3nvoFB56+b0kIC7Mlz8yS50dhkN09XM2oUqpUUCi9f0o68tLKXW9UupcpVR/pdRYYDVQAXzdlTEK4WgjYoP4v9kDAEuiefqSkcSF+jk5KuEK+oX7sS292NlhOESXdn0GzgXeavB+h/W//QBP4FmgN1AK/AKcqmlaRZdGKISDeXvpuWFaAmcOjcZDr4gL80MpKdkI6B/hz/d7Dzs7DIfo6udslgHLWln9kvUlRLdn8NCTGBXg7DCEiwnw9qSsxojRZMZD77KtHB3Sva5GCCHcXJ8QHw7kdr/nbSTZCCGEC+kX7se2tO7XbiPJRgghXEhSVACb04qcHUank2QjhBAupE+ILwdypBpNCCGEA+l1Cl+DnoKKWmeH0qkk2QghhIvpH+7PjowSZ4fRqbr6ORsheiyzWSOloAKjWaNfmB8GT337O3WSrWlFbEwtJMjbk1MHRxETLOPburKECH+2pRdx2pAoZ4fSaSTZCNEFzGaND7Yd4b6Pd2HW4P9OG8D1UxPw9nJ8wtmVWcr8NzZTXW8Z7HN7RjFPXjiiS5OdOD79I/xY9muas8PoVFKNJkQXSCmosCUagGe/P8ju7K4ZAyu1oMKWaAC+3pVDcVVdl5xbdEywrxeFFXWYzd1nBGhJNkJ0AZMZmn5vmLroi6RXkA+6BqPhjIsPIcDbs0vOLTouKtBAWmH3mSZako0QXSA+3Je7Zg+0vZ83sS9DYgLJKqnm3U3pvLUhlf1HHTNx1rj4EJbOH8dpQ6JYODmexecOxc8gNeiuLi7Mj93daDI11V0m6lFKad3lWoTz7Mos4ePtWWjABaNjGdmJ88HX1pvYnV2G0WxmSK9AAO5Y/Ts/7MsDoFeQN+9dN4n4cBkBupuwa3RVpZT2zLf7Oal/eKPlvx8poaCilr+fPcQhwTlIq9csP2+EsMosquK6t7eRU1oDwNe7svnwxin0DfPtlOMbPPWMjQuxvU/OK7clGoCjpTWkFFRKshEAxIf5svZAXvsbugmpRhPCKr+i1pZoAPLK68grr2ljj+NXZzSRV1ZDVZ2RIB8vYoO9bes89YoIf69OPZ9wX8G+Xt3qwU5JNkJYRQd6Exf25/MnvYN9iA7ybmOP45NXVsPiz/dyytNruXb5Voqr6vjvvLHMGhTJuLgQXrlyLMN7B3fa+YT7C/T2pLCbJBypRhPCqlewD6/MG8t3e3Mxa3D60Ch6h3ROFRrAj/vzeHdzBgC/Hi7kzQ2pPHnRCF5fOB6zWUOnkwnURGOxIT4czK3gJH+Ds0M5YZJshGhgcEwQg2OCHHLs0ur6Ru/Ti/7s1iqJRrQkOtCbQ7nlnNQ/zNmhnDCpRhOii4yPD8XXOmKAUjBvYpyTIxKurldw95lITUo2QrRhT3Ypm1KK8PHSM2NgBL2COj6m2Ji4EN6/4SSS8yqICvRmQr/QToxUdEcxQd78sC/X2WF0Ckk2QrQiOa+CBW9upqDCMrTLuSNiePLi4fh6dfyfzbDYIIbFOqaaTnQ/QT6eFJR3jw4CUo0mRCtS8itsiQbg8z+yG70XwtGUUuh0ijqj2dmhnDBJNkK0ItzfgL5Bw31ihD8B3lIZILpWZICBzOIqZ4dxwiTZCNGK0X2DeemK0YzpG8zsIVE8f9koQnzloUvRtSL8DaQXun+ykZ9pQrRCKcUZw3oxe0i0dE0WThPubyCtwP1Hf5aSjRDtkEQjnCky0EBqN5hqQEo2QnQDmUVVFFfXERvki14PZdVGQv088TPIvDXuLjLAmw3JBc4O44RJshHCzW1OLeTaFVspqzby11mJ/Lg/j11ZZcweEs3fzx7cqUPuiK4X5ufF0dLOHRDWGaQaTQg3ZjZrPP3dQcqqjYT5ebE/p4I/MsvQNPh2Tw5r9nWfIep7Kp1OYTJruPt8XZJshHBjGlBvsjyD4eOlp6zJ+GtVdUYnRCU6W5C3p9s/4yXJRgg3ptcp7pg1AG9PHdkl1UzsF4qHtUNDgMGDkxLcfwBHARGBBo64+bM20mYjRBvqjGa2pRdRVFnHoOhA+kf6d/hYpdX1ZBVX4W/woG9Y583GOW1ABJ/dfDLFVXXEh/kyfUAEOWU1xIf7MSg6sNPOI5wn3M+LjMIqxvQNaX9jF9VuslFKPaJp2sNdEYwQrubj7Znc+/EuAKICDay4ZiIDowKO+zh5ZTU89Pkevtmdg5+XnqXzx3JyUkSnxTkw+s+Yok9gsFDhmsIDDKS5efdne6rRblJKvaKUkocNRI9SUWvkpbXJtve5ZbXsSC/u0LF+PVzAN7tzAKisM/HQ53ukPUXYLTLAm1Q3f7DTnmQzFTgD+FApJWN1iB7DS6+I9G88LbSfoWM1z6Ym4yjWGc2YzW33Lvojs4T7Pv6Dez7cyfaMjiU50T1EBRo4UuTebTbtJhtN0/YDU4ABwLdKKakEFj2Cl4eev58zmP7hfnjoFAsnx3FyUsca3Mf3C2VMn2AAPHSKB84cjL936w9cZpVUcf3b23hv8xHe35rJ1cu2uP0vW9Fxvl4elNe4d0nYrp9pmqZlKaWmAZ8DPyul5muattuxoQnhfKP6hPDRTZOpqjMR5u+FwUPfoeP0DfXlv1eOJbWggkBvT4bEtP2braC8jpwGD/KVVNWTX15Dv/DO61gg3Itep6ipN+Ht2bHPoLMdT51ACfAW8CqwUylVAewAtgJbNE1b3fnhCeF8wb5eBHfCQ/jRQd5EB3m3v6F128RIf5LzKgDoE+JDjDT892iRgQYyi6tJPIEekc5kT280D2AhcA/QG/gv8AUwGhgLXADcAUiyEaKTRAV68995Y1izLxeTWePUwVH0DpVhZ3qycH8DGUWV3TfZAGlAGPAG8ISmadnW5d8f20Ap5b6dv4VwUQOiAhjQgW7WonsK9zeQXuC+nQTsSTbfAIs1TctsbQNN06SrjOj2NqUUsv5QAUE+npw+NKpTH8wUoj1Rgd6kuHEnEXuSzVXA/Y4ORAhXtiuzlAVvbaam3tKHeWt6Ec9dOgpfLxmEQ3SNqAADPx9w34FV7XnORh7mFD1eemGlLdEArNmXR0lVfRt7CNG5Qvy8yClz36kG5GeZEHaIDfFheGwgY+NCqaozMaZPEBtTCvHQ6ZjYL5QoO3uZCdFROqXQNMu0Eu44e6y9yaY/4L7lNyFO0Oi+IZwxrBdPfXuAif1CScmvYKt16JpTB0Xy9CUjCPEztLjv9vRiDuSUExlo4OTEcAztPCdRbzKzLa2Ikup6BkYHyrM1wibY15O88lq7u9C7EnuTzQalVCV/PlezDdiqadpBh0UmhAsxmzW+2X0UgPhwP1ZvOWJbt2Z/HmkFVS0mm23pxVzx2kZqjZYquCcuGMYVE+PaPNeH2zK5zzr4Z58QH966aoLbdncVnSsq0Jv0wkq3TDb2zmdzKfAYcBQ4F1gJ7FNKlSilflJK/dtRAQphr7TCSj7ansmXf2RTVNm5E03pdIrR1uHdFeCl//Ofjpdeh593y7/bdh4psSUagHc3ZWBsOlBaA+U19SxZc8j2/khxNds7OPin6H7C/Q1uO2yRvSWbdZqmfXjsjVIqCBiH5aHOccCFWB76FMIpMouruPHtbezPKQfgsvF9eOicIZ3aW+zak/uhobH/aDkPnTOEF3+0JIXHzx/W6vMwoX6Nx64dEB2Ah77133ieekVokznn/QzuOTyJ6HxRgQYO51c4O4wO6dC/RE3TSoE11pcQTncwt9yWaABWbTnC9dMSSIjovOqnvmF+PHbecExmDb1Occ6IGACCfFsfUHPGwAhuOzWRD7dmMiw2iEXT+7d5Dm9PDx47bxi3rdrB0dIa5k/qy+TE8E67BuHeogN92JrmniVde5JNPmBydCBCnIggby+UAs06an+wr6fDnoHRW3sCtZVkjgn29eL/ThvIdVMT8PHUt1mqOWZMXAif3zKFqjoTEf6GdjsUiJ4jIsBAVkm1s8PoEHvabCKAw0qpNUqpJ5VSFyml+nbkZEqpC63HKVVKNZvMQyk1USm1VSlVo5Taq5Sa05HziJ5nVN9gnrp4BJEBBvpH+PHKlWNdqhE1wNvTrkRzTKifgd4hvpJoRCN6ncKkaZjamQvJFdnz0+8MYDwwAfgLlrYZTSmVBbyDZby08jb2b8gX+BH4AXii4QqlVBjwP+Bt63nOAz5RSg3XNO1Q0wMJ0ZBep7h4bB9OGxyNXq/w7+AkZ22prTexZn8uOzJK6B/hz+lDownxk/kERdeK8LdMpBbvZl3i2/0XqWnad8B3x94rpWKxJJ7ZwHXA+UqpSdZ2nPaOtdJ6jBktrJ4HlAF/1TRNA46VbG4A7mr3SoTAvqqtjvrpQB43vbPD9r6yzsg1Jyc47HxCtCQm2JtDeRVul2zsL9dbaZqWpWnaJ5qmLQKGAvXA3Z0QywTgJ2uiOWYNMLETji3ECUvOa9zldN3BfCdFInqymCAf9ma3+9ve5Rx3smlI07Rc4BHg/E6IJZLmoxTkW5c3opRarJTSGr464fxCtCk+vPF8Mif179gU0aLn6ozvrr6hfuw5WuaI8ByqMyq29wNtPxJtH7sH+9E0bTGwuNHOknCEg80cFMlzl47kt8OFDI0J4uwRvZwWyy/JBXz1x1HC/L04f1QM/SNl3ht30BnfXb2CvElzwwc77Zmp89/AZizD06S1sEk/LG0tJyqX5qWYCGRMNuEifL08uGB0by4Y3dupcfyRWcLVy7bYRibYml7Ma/PH4d/KKAaie9HpFJ56HRW1Rod0hHEUeyK9BEsDvaaUKgS2WF+7sPQue4jOebhzM5bppRuaCWzqhGML0W1kFlc3GgJnY0ohJdV1kmx6kLgwP3ZnlTIpwX2qcttts9E0rR8QDswBngdqgWuAD4DlQClwrz0nU0qFKqVGAYnW96OsLy8s3aiDlFLPK6UGK6X+hqVzwNLjvSgh7HG0tJrUggpq693rmeW4UF98Gjx/M2NABME+0gW7J4kP83W7MfPs+imkaVoRlu7PDbtAhwGemqblHMf5zgXeavD+WD/SfpqmpSmlzgReAhYBKcCF8oyNaMuRoio2HMrHpGlMSYywezj+X5ML+HB7JjX1JuLDfFk0I5EAb8d1m+5MQ2ODWHbVeNYeyCfY15MzhkZLqaaHSYoM4POdWc4O47h0+BOqaVphB/ZZBixrY/1GLIN7CtGuwopa7v5wJxtTigAYFhPI6wvGER3k0+Z+BZU1rE8u4Ls9ueh0EBcax7b0YmYMbNbx0WVNTAhjohtVoYjOFRVoIL2oCk3TUMo9JlI7oa7PQjhTVkm1LdEA7M4uI6Ooqt390vKrWPrzYSpqjZRVG3ljQyp1xtaH/RfC1Sil6BXozeF89+mVJslGuK1gH08CDB74eOqJDfbB36An2Lf9tguzptFwaKk6k5lAN6lCE+KYAVEB/Ha4wNlh2E2SjXBJpdV1HC2tbrPE0TfMj1fmj+Xisb1JjPTnntMH0TfEt9Xtj0mK9Oe0wVG29+eNimFobGCnxC1EVxkSE8j6Q+6TbKRVUbic348Uc+f7O8ksrmbh5HhumtGfoFZKLD8fzOftjem2/48K8ub0odFtHj/Ez8ATFw7jovRYdEoxLj7UbToHCHFMbLAPyfkVtvmVXJ2UbIRLqTWaWPz5Xg7nV1JrNLN0XQq/JLfcF8Vk1vglufEvuyN2tNkARAR4c8awXsweGt1sNk0h3IFSinjr8zbuQJKNcCl1RjO5ZTWNlpXXGlvcVq9TzBn2ZylGKUiK6ryZOYVwdUNjAvlhX66zw7CLJBvhUgK8Pbn5lETb++hAA6P7Bre6/bxJffn3xcO5Y1YSbywYz5T+nT+Fcn55Lcl55ZRV13f6sYU4ESN6B7P2gHuMPi5tNsLlXDKuN/FhvpRU1TOoVyCJka2XVkJ8Dcwd16GJY+2yO6uUm9/dRnphNdOSwnn8/GH0DXOveURE9+Vv8ECvU+SW1RAV6Doz07ZEko1wOQYPPScnRRzXPiazRml1Hb5eerw9Pcgqrmb9oXzqTGYm9w9vM2G15fX1qaQXWuZ8L68xsj65gIHltQyPDZIpm4VLGNUnmG935/CXyfHODqVNkmyE2yupquPVdSms2nKEAVH+3DdnEM9+f5CfD1o6D/SP9GfFVeOJtaNbdFOl1XUAjOkbTIifFw98shuAe04fyLVTE/DykJpo4Vzj4kJ4e2O6yycb+Zci3N66g/n8d+1hiirr2JhSxAtrDpFZXG1bfzivgtQOzv+xcEo8Bg8dSVEBrNn352wX//72ABlF7vP0tui+wvwNVNUZyS+vdXYobZJkI9xeSZOG+/TCavqE/jk+mpdeR6ifoUPHnj4gko8XTebkxMbjkOl1Cp2bjEklur9xcaF8vjPb2WG0SZKNcHuj+gQT0GASqaunxHPbzCQm9AtleGwQr8wfw5CY9kcIyCyqYmNKIYfzKhotHxobxKzBUdxxWhIAOgX/unC43SNMO0t5TT1r9uXyxc5sMgrte/5IuKdJ/cP4ZEems8Nok9K07jGbslJK6y7XIo7fnqxS9h0tJzzAiwFR/lTVmYgK8MbHS4+Hvv3fVPtzyrh+xVYyiqoJMHjwxsJxTOjXuDRTW28irbAKD50iIcLPpUfbrTOaWbLmIP/56TAAg6IDeHX+WOlJ17Xs+oAopbRnvt3PSSfYbf/FHw9x/5mDGRYbdELHOUGtXrOUbES3MDQ2iIvH9SbA24Pz/vMLs55dx32f7KKwss6u/dceyCejyNrrrNbI8l/Tm21j8NQzMDqA/pH+KKXYf7SM1Vsy+HZPDhU1LT946ix55TW8/HOK7f3+nHL2HS13YkTC0aYPiGD5b2nODqNV0htNdBv1JjP/+GofQ2OD6B3iS53RzObUQs4ZGdvi9rVGE78dLuRoaQ2hvp74GzyosI5W4NlOaehATjnz3thEYYUlmd1+ahK3nZrkMmNUeXvoCfXzJL/8z2QrE6x1b8Nig/hoeybFlXWEuOAQTFKyEd2GWdMI9rUMqLlyYzrvbz3C/R/vZl92WYvbf73rKAvf2sJ9H+/iwU/3cN3UfgBEBnixcEpcm+fak11qSzQAy35No9jOUlRXCA8w8OLlY+gd4oO/wYO/nzWYcXEhzg5LOJBOKWYMiOCtX1KdHUqL5KeO6DYMHnr+clI8163YaltWXmvkcH4Fg1voIPDB1j8bVOtMZvQ6xRe3TCHU34vY4LafyQlpMgp1XJgvvl6u9ZDnpIQwvrz1ZOqMZsL9DehcpNQlHOfkpAge/WIv101LcLmRzKVkI7qVsX2DGRbzZwOpTkFkK8N4DIgKaPQ+MtCb4b2D2000ACclhPH3swcTHejN2LgQ/nH+MHwNrvfbLdjXi8hAb4cmmpp6I2azdM5xBZ56HacMiuDltYedHUoz0htNdJimaezOKqO8pp7+Ef5EBbnG2Ez7j5bx2voUskuq+cvkeE4fEt3il21KfgXPfn+QbenFnDOyFzdM60+Y//E9j1NWXYfBU4/Bw7VKNV2htt7EB9uO8OaGNPqF+3HX7IEtliB7sC7tjXaMyazx6Jd7eOuqCcQG+7S/Q+dq9Zol2YgO+3JnNrev/h2TWWNMn2CWXD6a3qHHPySMMxlNZqrqjFTWmjBpGjFBPlLdZKefDuRx1VtbbO8nJYSy7KoJeMuYccc4JdkA7MoqZXNqIa8vGN9px7STdH0Wnau0uo7Hv9qHyVp9sv1ICZvTipwc1fHT6xQ/HyxgxtNrmfHUWt7bkoHR1PpU1OJPhU2GRzmYW0FVnWt1Ae+phscGYTRrfOlCowpIshEdole6ZoNQttdd2BUdzq/gjtW/U2s0YzRrPPDJbvYcbbn3mmhscExgo5EbrpjQh2Af1+ty21PNmxDH8z8cIqe0pv2Nu4D7fTsIl+Dv7cE/LhiGn7UH1jkjejEpIdTJUR2/OmuSaai2zuSkaNzL0Jgg3r1uIo+fP5QXLx/NddP6SxWkC/H39uDyCX249b3t1LtAaV3abMQJOVJUSUWtid4hPg7pallZW8+6gwXkldcwuFcQE/p1bkKrqjPyr2/220YMOHtELx47f1izrs1CdIDT2mwa+uqPbFDw+PnDHXL8JqSDgHBPb/2SyiNf7AXAU69455qJTEgIa2ev41NeU8/2jGJMJo1RfUII9ZdEIzqFSyQbTdN4dX0K05LCufrkBIeco4FWr9n1HgwQwspoMvP+1iO29/Umjd3ZZZ2ebAK8PZk+ILJTj9ma4spafjqQT1FlHaP6BjMuzv2qHoV7UUpxzZR+PPv9QcL8DJw3uuXhmxxNko1wWR56HVMSwxgeG0yd0czXu47iZ3DfbrWaprF0XQqvWAfI9PbUser6SYzqI8PICMfy0Ou47dQknvn+AF4eOuYM79X1MXT5GYWwU1l1PeU1Rt7fmom/wYP7zxpEdRtda39JLmD1liME+XhwxcQ4BvdyrQcMS6vr+Xh7lu19Tb2ZAznlkmxEl/D21HPHrAE898NBTGaNs0fGdOn5pTeacFmb04pYvcUyfllFrZGXfjpMYCtda/dml3L1si18vjObtzdmcPuqHRRWuNY0uX5eHgxvMtdIVCtD6QjhCL5eHtwxawCvrk9h1eaMLj23lGyEy6qtb9wFuarWyKDoAPLLa/h8ZzZ7ssuYlhTB6UOjOFpaQ63xz+6dB3MrKKmqP+7hZxzJ00PHvXMGEernxaG8Cq6Y0JeT+ndu+5MQ7fH18uDO0wby37XJ5JbVctupiV0yEaAkG+GyRvUJYUyfYLYfKQHg7jMGMig6kJfWJvPMdwcB+Hh7Fi/PG0NSlD/Bvp6UVNUDlqFTwlywV1lSVABPXTISs1mTZ1KE03h56Lh1ZhIrfkvjng//4IkLhzv8oWxJNsJlxYb48J95YziQU4afwZNRfYLR6RQbDhU02i6tsJI5w3ux/KoJrDuUj4+nnlmDIwl24WdlJNEIZ9PrFAsnx/PNnhzmv7GZpVeOJcjXcdMSSLIRLi0m2IeYJiPXzhwcyabUP8dhS4z0B2Bkn2BG9gnuyvDsUltvorCyDj+DniAZzkW4EKUUc4b1IiqwmLmv/sZLV4yx/XvqbJJsRJdJya/gs9+zKaio5czhvZiS2LGH2OaO7UOwjydpBZWM6hPMtAERnRxp58krq+GZ7w/w0bYsBkYH8O+LRzA0Jqj9HYXoQmP6hhDhb2DRym3cO2cQpw6O6vRzyAgCoktU1Bp59efD5JbXcii3nD3ZZbx/w0kOLYmkF1ZyILecYB9PxvQNwcMJA4V+sPUId3/4h+396UOjWDp/XJfHIZzCJUYQOB7lNfW88vNhpg+I7GjHAZliQDjXjvRiVmxMZ/WWI3jodZycFE5mcZVtfW5ZDct/TeOJr/by4/5c29QFHXU4r4IFb27m+hXbmLt0I5/syGp/pxac6A+YiprGzwXllNac8LUJ4SgB3p7832kDSc4vZ9HK7Z06ZYRUo4kOOzbvS3slhnqTmWd/OGjrKbY5tYh5E/vSN9TPts2r61J4Y0MqAJkl1RwtqSE2xIfx8SH4GRo3WqYXVnIgp5wgH0/GxIW02ItmW0YxaYV/JrPnfzjEGUOjCfCxrwFU0zTW7Mtj6boUwvy8uGVmIsNiW6/+qjeZ+XZPDp/9nk1ipB+Xje9LXJgf4/uFEuLnSXFlPUrBtVMT0EvnAOHC9DrFFRPiWH8on0uXbuSV+WM7ZcZPSTaiQ9Yfyuff3xxAKfjb6YOYktR6FYCmac1+IfUN9WV4b8uXd1WdkR/25QIwZ1g0B3Mr+HpXDgB/nZXEzack2hJKSn4F1yzfQmqBJZE8edFwLhvft9k5fTwbJ6AQX89m8++0ZWdmCTeu3GabfuBQbjkfLDqJUL+Wn9v57XAht7y7A4Dv90J2SQ3Pzh3FsNggVl13Esl55UQEGBgrY6EJNzE1KYKoQG/+8sYmnpk7ilEnWOUt1WjiuCXnVXD9im3syirlj8xSrn97K6kFFa1u7+Wh567ZA/HUW37RJ0b6M6tBA6SvlwfTkiyN/IE+niTn/Xms//yYTF7ZnyMBbE8vtiUagOe/P0RpdV2zc56cGM6Vk+JQCqICDTxy3lAMxzFdcV5ZbaN5bg4XVFJWU9/q9lklVY3eb0oporLWsv3A6ADOGhHDhH5hUqoRbmVAVAC3nzqAv334B//bdfSEjiUlG3HcSqvqqG7wdH9lnclWRdaa04ZE88lNUyiurCMhwo/YEN9G6xfN6E9siA80aSMJ9vXE0KBE4uPV+CMb4ufZYjVaiJ+BB88czPXTEvD11BMecHwjCfSP8CfC34v8CksimzMsmnD/1oeWSYzwx0OnbAlqzvBoh8zvI0RXiwgwcM8ZA3nxx2QKK2q58qT4Dh1Hkk0Ps/ZAHhsOFeDtqWPGgEjGWScjq6gxsjW9iDqjmZF9gtscs6tvmG+jJ/vHx4XQO6T9Ot222jxign24cXp/aupMKKV49vuDBPt68vyloxsliimJYSyYHMeK39KJCjDw2HnD8G2SgCpq68kuqcHPy4O+ob5NT2WX/pH+LL96Ar8dLsTHS8+MgZH4G1r/5zK+XxjLr57AtvRiwv29mDU4qkuGABGiKxwbU+3ln5Opqjdx/bT+x30M6frcg2xNK+Kqt7ZQXmtpP5kQH8K/Lx5JdKA3z35/gFfXWxropw0I5+mLRxLZRsLJKKxkfXIBOuDkpAj6dPBLvSUms0Z+eQ1eHroW20hq603kltfi66UnvMnYZ4UVtTzx9T4+2p6Fv8GDpfPHHtfzPNkl1RSU1xIV5N1qwq0zmqg1mjtUcqmuM1JSXU+wj2ezUtrxyimtYX9OGb5eekb2Ccbg4b7TL3RTbtf1uT1Gs5n//nSY2UOjuGpKv5Y2kcnThKVx/ViiAdicVszurFLSCyttiQZg3cECDuSUt5ls+ob5MS/Mr9X1J0KvU0QHtV5SMnjqWy2x/JZSyEfWYfwrao088OkuvrzlZPztSAy7skq54e2tZJfU0D/Sn/9eMZqB0Y2nKdidVcrjX+0lo7CKa6f2Y9qACMxmiAvzbbVNaH9OGYdyKwj28WT5b+msO5jPtAERPHjWYOLDO3YPj5ZU89dVv7MpzTKSwiPnDmX+pDgZBkc4lIdOx6IZ/Xnu+4NEB3of17w40kGgB+kd4otXg/aNQdEBHMot56s/jjZqFwHw8Wr5izO9sJJfkgsaNeLbK6+shsziKluX6Y4qqqxl6c+HueK1jbyyNrnRVAJ1xsbHrqo1NWrob8uHW4+QXVIDWJ7T+X5vXuNj1Rn5+6e72ZhSRHZpDY9+uY+3f0tn9vPreGltcovPJOzKLGHu0t+4Y/XvfLXrKD/sy6XOZOaHfbl8dQINrjszS2yJBuCJr/eRV17T4eMJYS9PvY5bZiby7PcHOZxv//eAJJsepLCyjgfPGsxpgyO5eEwsV0zoy5Kfkvnij6M8et5QAgweeOl1PHLuUEb0DrbtV1VnZFdmCb8cyufSVzcy7/VNXPDSL2xt8GXXnp8P5jHruZ+Z/tRaXl2fQk2dqf2dWvHN7hz2ZJfRJ9SXrJIa1uz7MymMiw9lhLVLtU7BfWcOtntAzqZJyaQ1TlzV9SZSCyubLLNss2RNMn9kljY75ta0YsqqjRg8dFTUNk5GJzLfjleTKjNfLz0eOvnnLLqGr5cHV5/cj/9b/TtmO3/MSTVaN/ZHZglHS2uIC/Wlf4Q///npEAdzK5gxIAKTWeOhz/cAUGs00S/cjx/unI7JrBHq48naA3mkFlQSF+bL4bxyPtmRzfh+oeSUWn49l9caWbUlg3Hx7T83kltWw63v7qDM+jT9v785wMjewR0eG63eaGZ7RjGZxdUA3HnaANu6vqG+vHLlWA7nVRDg48mINjolNHXx2N58vfsoxZX1xAR7c1qT8aFCfLxYeFI8z685BFh6yjWstapvocTm7235J1ZZZ6J3iA9eeh11JjNeeh0zB3V8/KkJ8aFcPzWBV9en4Oelb9aRQghHiw/zIz7cjw+2HeHSFp51a0qSTTe1/lA+1y7fSq3RjL/BgxVXjycmyIcDORX8dCCfOcOiuWF6AkUVdZwxLJpxcaG2+v6vdx3lpne22471gLV04N2gTSIq0EBCuB+1RhPf781lzb5ckqICOH9UbLNRmmuN5ma/6qtPoGRTXW+2JRqAVVuOsHByvG10gJZGirbH6L4hfHLTFHJLa4gJ9mnW6UGnU1w7NYGB0QGUVNfjoVPc9/EuAC4YHdNsFk6AGQMjuHxCHz7alsWOjBJe/ctYyqrr6Rvqy6i+f04HfTi3nC3pxdTUm5g+IIJ+EW2PvOvv7cGdswdw2YQ+eHvq7b7ezOIqfjtcCMCUxPAO3SchjjlzeC+e+/4gc8f1abf3pSSbbuqj7Zm2mSsrao2sTy7gztkDySmr5XBeBWH+Bq6fmtDiTJabUwsbvd+WUczBvHL6hfuRFOlPQoQfHnodn/1+lPIaExtTCtlh7QadV1bD4nOHNdo/OtCb209N4rkfLCWC8fEhDI1t3PB+PGKCG3dcON7RAdoSH+ZHfBsdH/y9PZg5OBJPnY56k5n+EX7UmzRiQ3xarK6LCPBm8TlDue3UJPy9PFocLmdfdikrN2WQVVxNUlQAj321l39dNIKIgLanjDZ46kloJyk1VFBRy50f7GRTiqX6c0r/MJZcPtqlZjMV7iXQ25Mwfy+S8ypIigpoc1uXSjZKqWXAgiaL79A07fmuj8Z9ZBRWsf5QPpoGU5LC6BfuT1iTLsP+Xp4Miw1i9fWTqKw1Eurn1aj3VG5ZDdkl1UT4G5r1BIsJ8qaixsgH2zI5a3g0kQEG3vo1HYADueUsmBxvSzbrDxVSazQ16obr5aHjumkJjIkLobrOxPDYIHq10dusPVOTwpk/KY6VmyzP2jQdHcBoMjtkhOd6k5nPd2bz8trDxAZ7c+dpA/luby5vbEglOsib5y8dzdi4kGb7GTz1bV7vW7+m8/7WIwCsPZjP1VPiySqpaTfZHK/0gkpbogH45XAhGUVVkmzECekf4c+OIyXulWys3gdub/C+zFmBuIOCilrufP93tqQXAzA0JpA3Fo5n7rg+bEsv4vcjpcwYEM5pQyztA4E+ngQ2+XV9KLecm9/dzsHcCuZP6ktqQSVzx/XhYG45SVH+RAQYONYGGBXozb6cxn+ShlVis4dEtvi8h6+XB1OT2p93xmTW2JhSSGpBBXFhfpyUENYscYT4GXjAOjqAT4NnbeqMlmTw1i+p9Av345aZiQyK7ngJqrbexPf7ctlwqIABUQH0C/fjzvd3ApYhewZFB7J0XQoAR4qquf+TXXy8aDJ+bTz82VR1nZEtTTpa1BhNhPl1/iRrQdbRGI6VeL09dc0+C0IcL3+DByVVzYeMasoVk021pmk5zg7CXWQVV9sSDcCe7DIyCiuZYH2ivaSqnjA/g62huiU/7s/jYG4FEf4G4sP9yCqp4bs9OUQFevPNrhxunZnIvWcMIsDbg1MGRfDzwQJ+O2z5gtQpS4K7cEwscWF+XDGx/YbCtqw9kMe1K7aiaaAUPDt3JNkl1QR6e3Lq4ChbG4O3l75Zm8qm1ELu+mCn7T4UVtTy5sLxHX54ct2hAtvgmgB3zR7QaH1pdeMhegoraqkzmmllrM4W+Xh5cOawaHLLa9HrFJlFVZycGN6pD8kekxgZwNL5Y3nsy72A4qFzBtP/OKrhhGhJRa2RBDueF3PFZHOuUiofOAq8BzylaVrnTarQzQT7ehJg8LA9rOnjqSfU2nYQ5ONl1zTEGtA/wo+J/cJ45ruDBPt4ctmEPqzecoT5J8URF+bLqYOjbCWM80fFEOrnRXZxNZGBBgrKa5iaFM6MAZGEnOAv8g2HCmzDo2ka/LA3l/WHCiirMbI9o5gnLxzR6sOTDQfsBNh7tJzKWlOHk03TwUWr6kyE+nlSVGlJMoOiA+gb6kNGkaWzwq0zkwjuwBzuExJCuWnldirrTEyID2G4A2fynDEwkon9QlEKvD1d8Z+/cDep+ZVcPsH9eqN9DawCsoCxwFNAAHB/w42UUouBh7s6OFcUF+bH6wvG8dS3BzBpGneeNoDEdupOwdLO81tKAQqY1C+U4so6W5VQVZ2Jj7dn8ci5Q7nzg52YzBqLzx3K5RP64qnX4ePlwelDo9s9R73RTK3J3OaYYk01/UUf4utFpbWa7utdOfztjEGtji4wMDoAf4OHrefbxWN7d+jL/5imc7H7eOl4+5qJbEsvJsDgyfQBEcwYGMneo2UEeXsyLj7kuMdDqzeaefrbg7Zr3JxWzC8phVzmoNEZoPlgpqLrdLfvrrKaevIqahkU3f53jkt96jRNe7/B211KKRPwslLqgYYDn2mathhY3HBfpVSPHRhtYkIY799wEhrYNYR9XlkNd6z+nW0Zluq3Kf3DuHBMbKNtiqvq+PlgPvUmy2196LM9jOgdxKg+zRvAW7I7q4R/fLWPI8XV3DAtgbnj+tg1xP+c4dGkF1by44E8Tk4MJ6uk2jaz5di+IW2ORzYsNoh3rp3I9oxignw8mTEw4oQ6CpycGMHSK8ewJb2Y+DA/5gyLJszfwNAGJY9Qf68ODzlzjMnc+PkcGeKv++pu311f/pHN9VMT7PqR5VLJpgXbAT8gHMh3ciwu7XjGxEovrLIlGrD0Srp9VhKDogPYn1MOwLUnJ/D5zuxG+zUdCgZg/9Ey3t2cQWlVPXPH9WFKUjiVtUbu/2S37Yn6v3+2h76hvkwfGNlubL2CfHjkvGHcXWvE11PPmv156HWK2GAfrpwU12rju9FkprrexMg+wYw8wUmejvHy0HH6sF6cPsz+8Z+Ol6eHjttnDeCn/Xl4e+rJLa1mcv8wh51PiM6y/2gZOaU1nD86tv2Ncf1kMwyoAgqcHUh3EuTTuFeSn5eeyAADS+ePZVdmKb5eHozqE0SdyWybqvmC0TEMbFI9V1RZy+2rdnAg19K28c2eHD5eNJnIQAOp+Y2HdSluZ76bpo5VvZ02JMrWk641h/LKeeqbA+zOKuXicX24Zko8QXYOUeNsOzKK+euq323zAz1y7lDiHFiFJkRnyC+v4Z3NGSy/eoLdEwK6VLJRSj0LrAZygTHAs8BSmTugcw2ItvRKeuLrfXjoFA+cNYT4cEv7RMMvujtmDWDGwAjMZo0RfYKafYGXVNXbEg1YRgrIKa0hxM+Tv80ZyJd/HGVjShGhfp4M7tV+nW5H/fenw3y31zKt9JI1h0iM8OPcUc1/bR0pqqKkuo7YIF9C/V0jGe08UtJoIrr3NmdwxYS+eHbSQ6pCdLaiyjpe/DGZZy4ZSexxjEDhUskGGAJ8CQQCGcBS4F9OjaibmjEwkpP6h6FoPqjjMf7ebT8bE+bnxeT+YfxqHf4kyMcDby89F778GzmlNUyID+HFy0aRGBXQbKj+42Uya+zOKqW8tp6BkQEcyq9ge3oJoX6eNPxeNnjoMJqa/zbZnFrE9W9vpaSqnon9QnnqkpFtTqyWWVzFjowSvD11TOwXZtfzKFV1Rjx1uuNKFKFNeu8NiAqQRCNcVl5ZDf/5KZnHzx923NXVLpVsNE07w9kxuKq8shrWHsynosbIuPiQRqMyd9SJTrYV5OvFPy8Yzg/7cqmsNzEtKYKlaw/bBuvcnFbM2SNjGNyrcaLJLK7CrEFssI/dRfBPdmRy94d/oGlw52lJLPkx2dZ54bLxfYgJ8sbX4MHUpHA+3J7JgdxyrpwUR59QX8xmjee+P2CbunpTahHrD+Yzb1Jci+fKLqnm5ne2s9Pa5nTNyf245/SBrXZwMJrMfPZ7Nkt+PES4n4H7zhzE2Dj7eqZNHxDBrTMTeX/rEYbEBHLrzES77ocQXe1ATjkrN6Xz7NyRHfr+calkI1pWW2/iuR8O8t5my5AmgT4evH/9SQzqdWKlhc4QF+7HNVMTbO/Lahq3zTTtVPDFzmzu+mAnRrPGw+cMsXWnbktBeS2PfbnP1ksrs6TGlmgAfjqQx7NzR3E4r8I2kvWvhwuprjfx6HmWcdrqm5R22prjZn9OmS3RALyxIZX5k/raqhqb2pZRzF0f7kTTLJ0vbl/1O1dO6suZw3u12/4S5OvF/502gGun9sPX00NKNcLlaJrGmv15bEkr4u1rJnR4qCn5ZLuBoqo6PtqWZXtfVm3kUAcmL+sKN07vb5uIrU+ID1OT/pxG4HBeBXes/p1ao9kyxcFne9iT1XwOmKb0OtVocjffJhO7TYgPZWK/0GYJZFNKEUaTGZ1OcfusJLw9LccYGOXPyW1Mb9C0x1ugt0ebD0AWV9Y16q58tLSalPxK3tyQysGj5e1en1KKIB8vSTTC5VTWGnn558NU1Bh5/4aTTmhMQynZuAF/gweDYwLYecTyxawURHRSA7emWcYiS86roHeIL5MTw06oem3qgAg+vXkK+eW1xIf50Tfsz3aROpO5WUKoaaE7dVMhfl78++IRLFq5nep6E55K8fylI/nij6P0j/Dn8gl98NDrGBgdgE5hG8ft3FExtudspiZF8PnNJ1NUVUdcqC+92mjYHN0nhMfOG8a/vtmPv8GDZ+aOIDqo9UExB0YHEBvsQ1aJZSSBUwdHsT2jhBBfT25dtYO/nTGQmYM7PneNIzlq0FLh/vZml/Le5gxuP3UA54yKOeHjqe7S0Usp1a07re3NLuU/PyWTVVzNNVP7cdbwGLvbO9qy7mA+Vy3bwtCYQMbGheDloWN8fCjTB0S0W711vKrqjDzz3UFbd+pzRvTi0fOHEuJr32BiR4qqqKoz0TvEGz9D8wZ7s1njl8MF7MosJTrIm5mDIu2epbMpTdPIL6/F00NHiB3HOJhbztoDeWQUVnE4v5LfUgq5eko8KzdmkBDhx+e3TGm1I4YzHCmq4rX1KWxMKeTckTFcOSmuw/dKtMquf6BKKe2Zb/dzUv+OTSbY2WrqTXy4LZOiyjqevXTk8ZZmWr1mSTZuxmTWOiXJHLNkzSFeXnuYi8bEsnJThm35GwvGcar113hpVR17j5bjqVcMjw1q1lBeXFVLemE1/gY9iZFtd3GuqDGyI6MYo6Yxsndws95Y7kzTNDanFrEptZCiynrWHsgjrbCKkb2D+GjRZJcqQfzrf/t4+ecU2/tnLxnJhWN7OzGibsntks3urFLe33qEBZPjmTex73EPv0Qb1yzVaG6mMxMNQGSAgZhgH8prjcyb2Jd6k0ZRZS0Hc8s5dXAUpVV1PPblPj7cngnA3acP5LqpCbbJynJKa3jgk12s2Z+HwUPHy/PGtFll5O/twdQB7U814I6UUkxMCKNPqC/3ffwHaYVVBHp7cP9Zg10q0QDszm48TUROWY2TIhGuoKLGyKqtGRhNGsuvnuCQGVwl2fRwpw2JorzWyJHCKlZstEyINjQm0Db0/J6jZbZEA/DUtwc4fWiUrQSzMaWQNfvzAMtDnQ99vofx/ULbHMOsu4sJ9uGFy0aTXVJDoLcHvR0wXcCJOntEL9YfsgzMoVMwvLfjRpoWrkvTNH49XMj/dh/l9lOTOGdkTEdKM3aRZNPDhfkbOH1oNNOf+sm2bE+DX70eusa/yPU6ha7Rh7Fx1aW5jS7FPUmwr5dLt4GcOzKGYF8vsoqrGBQdyKQEGY+tpzlaWs3KjekkRQbw8U1TCHLwRHqSbAReeoWf159D8wO2ydaGxwby11lJPP/DIfQ6xVMXj6Bfg1GOJ/YL4+TEcDYkF+Cl17H43KE9ulTjLuydJkJ0P/UmM1/tOsrurFIePW9Yi1OZO4J0EBAA/Hwgn1tXbaeq1sRdswdy1ZR4W0eA2noT6YVV6PWKhHC/ZsXsgopa0goqCfD2OOFhaYToRlyug8Deo2Ws3pLB+aNjuW5qQqf3OEV6owl75JVZnsyPCjS4XIO2I9UZzWxIzietoJKEcH+mJIU74h+h6HlcJtkc6wBQbzTzjwuGO2TacSvpjSbaFxnY/MHF6joTPl6u83yII/ywL5eb3tlue//q/LHMliom0Q1omsam1CK+/CPb4R0A2iPJRrQor6yGV9en8P3eXKYlRbBoRgIxwa7Xq6ozrD/UeF6+zalFkmyE2yuuqmPFr2n0Cvbho0WTnd5hRZKNaNE3e3J4fb3lSf+3C9OJDfbmxhndc0TixIjGA2zK5GXCnWmaxi/JBXy3N5cHzxps1wy5XUGSjWhRVnF1o/eHm8y82Z2cPTKGgoo6ftyfx2lDojhjmGuOYyZEe8pq6ln+axrRQd58fNNkl+oZKslGtGhiQiivrk+xjWY8c7Br/DpyhKhAb/42ZxB3zh7QozpGiO5ld1Ypq7ce4Z7TB7pkNbAkm26u3mSmpKqeAG99m8PkNzV9QCQrr5nI4fwK4sP8OKl/+w/9ZRVX8/Xuo+SV1TAtKcLthqWRRCPckcms8cmOTLJLa3j32oktdvRxBdL1uRvLK6vhxR8P8dnv2YzsE8xDZw8hKartgTI7qs5o4m8f7uKT3y3z7njoFKtumMS4uFCHnE8IN+Dwrs+l1fW88vNhpg+I4PZTk9B18tiJHdBqAPJTrhv7cX8eb2/MoKzGyPpDBbxpHdrfEcqqjfx4IM/23mjWSC/ovu08QjhbWmElT327nztmJXHHaQNcIdG0SZJNN1Za3XiK5rRCx335B/p4NJqVU69T9AmVXl1COMKOI8Us/zWN1xeMd5neZu2RNptubFx8CD6eeqrrTSgFV0yMc9i5vDz03HP6QAb3CiS7pJpZQ6IYH981Yy4J0ZP8fDCfLWlFrLp+ktOfnTke0mbTzf2RWUJyXgXRgd5M6BcqjeBCdJ1Ob7P5fm8Oh/MrWDp/HN6eLjmyhwxX01ON6B3MiN7Bzg5DCHGCftiXS1phFa/9Zbxt8kJ34n4RCyFED/Pr4QL255Tx8pVj3DLRgJRshBDCpe0/WsbaA/msun4SBg+XrDqzi3umSCGE6AGKKutYuSmd1/4yDj+De5cNJNkIIYQLMps1Xl13mMfPH0Z0kGuOCnA8JNkIIYQL+nZvDpMSwrpkBs+uIMlGCCFcTH55DZtTi/i/2QOcHUqnkWQjhBAuZvXWTP5+9mC37hDQlCQbIYRwIYfzK9ApmJLoXqOmt0eSjRBCuJAv/8jm7tMHOjuMTifJRgghXERuWQ1Gs9YtR/2QZCOEEC5i3cF8FpzkuAFznUmSjRBCuABN09iZWcJpQ1xvSufOIMlGCCFcQEpBJYN7BbrqaM4nTJKNEEK4gF2ZJZw+tHuWakCSjRBCuIT9OeVMSeweowW0RJKNEEI4mdGsUWM0E+rnPjNvHi9JNkII4WSZxdUkRfo7OwyHkmQjhBBOllFUxfDYIGeH4VCSbIQQwsmOllYzICrA2WE4lCQbIYRwstyyWuLCfJ0dhkNJshFCCBcQE+zj7BAcSpKNEEK4gO76MOcxkmyEEEI4nCQbIYQQDifJRgghhMNJshFCCCfz0nf/r2KXu0Kl1H1KqWylVJVS6lOlVKSzYxJCCEfyM3TvzgHgYslGKXUVcD9wMzAZCAbec2ZMQgjhaD5e3T/ZeDg7gCZuBZ7VNO0TAKXU1cBhpdQwTdN2Ozc0IYRwjO7e7RlcqGSjlDIAI4Efjy3TNC0FSAMmOiksIYRwOGmz6VphWOLJa7I8H2jUbqOUWqyU0hq+uipIIYToqNa+u7w8XOmr2DFc6QqVvRtqmrZY0zTV8OXIwIQQojO09t3lKSWbLlUAmGlSigEiaF7aEUKIbsND1/1/L7tMstE0rRbYCZxybJlSqh8QD2xyUlhCCOFw+h6QbFytN9p/gOeVUjuwdAx4DvhJeqIJIbozSTZdTNO0N5VSUcArQBDwPXC9c6MSQgjH0ilJNl1O07R/Av90dhxCCNFVekCucZ02GyGE6KkuHtvb2SE4nNK07vGIilJK6y7XIoToFuwqr3Sz765Wr1lKNkIIIRxOko0QQgiHk2QjhBDC4STZCCGEcDhJNkIIIRxOko0QQgiHk2QjhBDC4STZCCGEcDhJNkIIIRxOko0QQgiHk2QjhBDC4STZCCGEcDiXm2LgRKieME63EMJdaJqm2ful1O2/vLrNqM/djXUk2G75AZRrc09ybeJESDWaEEIIh5NkI4QQwuEk2QghhHA4STau6xFnB+BAcm3uSa5NdJh0EBBCCOFwUrIRQgjhcJJshBBCOJwkGxeilFqmlNKavP7q7Lg6Qil1oVJqjVKqVCnVrK5WKTVRKbVVKVWjlNqrlJrjjDg7oq1rU0rNaOFv+LuTQj0uSqkHlFK/K6UqlVKZSqklSin/Jtu45d+tvWtz57+bu5Bk43reB3o1eL3q3HA6zBf4EXiy6QqlVBjwP+AXYAzwNvCJUiqpSyPsuFavrYGGf8NTuyKoTjAZ+DeWv8kVwGzgxWMr3fzv1ua1NeCOfze3IB0EXIhSahmApmkLnRtJ51FKzQB+avh0tlLqNuD/gH6a9QOolFoHbNY07S5nxNkRrVxbs2XuSil1CbBU07RQ6/tu8XeDFq9tBt3k7+aqpGTjes5VSuUrpf5QSt2nlOpW49dZTcDyD7vhL501wEQnxdPplFJpSqkMpdQqpVRfZ8fTQeFASYP33env1vTagG7zd3NJkmxcy9dYivgzgWex/Ip81KkROUYkkNdkWb51ubs7ClwDnAcswHJNPymlfJwa1XFSSgUBdwFvNljcLf5urVxbt/i7ubLu+KvZbWma9n6Dt7uUUibgZaXUA1r3qu/stlUVmqYdAA4ce6+U2gpkAGcDHzgrruOhlDIAHwEpNG6Xcvu/W2vX1h3+bq5Oko1r2w74YSny5zs5ls6US/NfwxE0/9Xs9jRNK1dKJQPxzo7FHtZq21VAAHCqpmnGBqvd+u/WzrU14m5/N3cg1WiubRhQBRQ4O5BOthmY0WTZTGBT14fiWNZqmAQg3dmxtEcppQNWAInAHE3TKpps4rZ/Nzuuren2bvN3cxdSsnEhSqlngdVYfkGOwdJus9Qdq9CUUqFAXyz/uFFKjbKu2gu8AyxWSj0PLAXOxdLIfG2XB9oB7VzbQiAH2AMEAw8DFVja41zdq1iSyZmAl1Iq2ro8X9M0E+79d2vz2pRS1+O+fzf3oGmavFzkBXyDpbqsFjgEPAQYnB1XB69lIaC18Iq3rp8EbLNe6z7gTGfH3BnXBtwMJAM1WH40fAwkOjtmO6+rpWuy/c3c+e/W3rW589/NXV7ynI0QQgiHkzYbIYQQDifJRgghhMNJshFCCOFwkmyEEEI4nCQbIYQQDifJRgghhMNJshFCCOFwkmyE21FKfaCU+rnJsulKqaNKqY+VUiObzLhYo5Q6rJR6TSmV0GQ/f6WUybrd7Cbr9EqpndZ1zzRZ108p9ZZSKlspVWsdmv6CFmI1KKX2W48R34m3QQi3IslGuKNxwFYAZfE3LKMvPKNp2oXAKMCMZWyrXsBo4G5gJLBdKTWkwbHGYvl3kGZd39CtQIj1/7ceW6iUmoRlnLBM4BxgIHAdlifqm7rHGls5liGIhOiRZGw04VasUxPHA1uVUsHAcizJ5zRN0zZYNxsHHNQ0LdX6PgfYp5RaA+zHMu7VpQ22LQA+A0Y0OE80sBh43rr9FuvyAOBD4C5N05Y3CC2thVj7ATcAw7FMPDYGyzAoQvQ4UrIR7ma89b9mLFMw+AOjGySaY9tsbbqjpmmlwK9YSjpNt91Bg2QDPAP8DyjDMqPjYevya7GMn5WglDpkrUZbrZTq1UKsS4B/aZpWDOxCSjaiB5NkI9zNOOt/VwCfA7M1TbPNp2Kds2QkLSQbq3rrq+HxtmJJXIOVUp5KqelYqsfuPLZe+3MQwblAHJYRn/+CJflMB5Y1PIlS6jzrNi9bF0myET2aVKMJdzMe+AUIwlJC8QBMDdYPB7xpPdkMxDIVAEqpEKC/ddt91uMMB14CHtU0LVspNQ7LzI7H5kQZA6zTNG3esQMqpV4EHlJKKU3TNOtcKC8AN2l/TtC1C4hSSsVompZ9gvdACLcjJRvhbsYBa4GzgCTgLaWUarLeBPzedEel1HAspZ73G2wLsMWaFHZhKYko4AXrXPWJ/Jm4ggCvBvsfYwJqGpR+HsRS+vlcKWVUShmBNdZ1UroRPZIkG+E2rO0iMcA2TdMysFR1nQv8s8Fm44D9mqZVNtk3DEvV20asJRXrtkcblDR2YGnIv0XTtHosPdUU1s4BWNpv6mjw78aa6C4EvrK+HwD8HzAHS6+4hq9sJNmIHkqq0YQ7OdY5YCuApmnblFJXAJ8opdI0TXvFus0+a28yPRAJnIIlARwFLtQ0zdzgeA2r2/4K3KdpWpH1/TgsMzlmWM9nUkp9BtyhlNqBpaPAPVi6WF9m3ec/wMeapn3TNHil1D4k2YgeSpKNcCfjgDxN044cW6Bp2udKqTuA/yiljgLDsLTlXIxlNskCLFVqDwLvappW1+R4rzc4VjVQ3WR907afG7FM1/05lhLOOmCSpmkpSqm5WBLboFbi34+lJCZEjyMzdQohhHA4abMRQgjhcJJshBBCOJwkGyGEEA4nyUYIIYTDSbIRQgjhcJJshBBCOJwkGyGEEA4nyUYIIYTDSbIRQgjhcP8PXt5KrYYxbSQAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "_tissue_data = plot_gene_pair(\n", + " \"small_intestine_terminal_ileum\",\n", + " gene0_id,\n", + " gene1_id,\n", + " hue=\"SEX\",\n", + " kind=\"scatter\",\n", + " samples=male_samples,\n", + " filename_suffix=\"-males\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "dafb2823-fdd8-40e0-919e-9bab0ead9f4d", + "metadata": { + "papermill": { + "duration": 0.023055, + "end_time": "2023-11-20T08:56:08.504159", + "exception": false, + "start_time": "2023-11-20T08:56:08.481104", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Create final figure" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "57090b29-80c6-4ae5-8d2e-a1f256f8a58c", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:08.545680Z", + "iopub.status.busy": "2023-11-20T08:56:08.545550Z", + "iopub.status.idle": "2023-11-20T08:56:08.557139Z", + "shell.execute_reply": "2023-11-20T08:56:08.556741Z" + }, + "papermill": { + "duration": 0.030886, + "end_time": "2023-11-20T08:56:08.557999", + "exception": false, + "start_time": "2023-11-20T08:56:08.527113", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from svgutils.compose import Figure, SVG, Panel" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "e5a39467-e448-43a9-a9ba-9f947bfff1ed", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:08.582763Z", + "iopub.status.busy": "2023-11-20T08:56:08.582635Z", + "iopub.status.idle": "2023-11-20T08:56:08.592221Z", + "shell.execute_reply": "2023-11-20T08:56:08.591831Z" + }, + "papermill": { + "duration": 0.022872, + "end_time": "2023-11-20T08:56:08.592942", + "exception": false, + "start_time": "2023-11-20T08:56:08.570070", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "Figure(\n", + " \"6.0767480cm\",\n", + " \"8.7045984cm\",\n", + " # Panel(\n", + " # SVG(OUTPUT_FIGURE_DIR / \"gtex_brain_cerebellum-KDM6A_vs_UTY-all.svg\").scale(0.005),\n", + " # SVG(OUTPUT_FIGURE_DIR / \"gtex_small_intestine-KDM6A_vs_UTY-all.svg\").scale(0.005).move(2, 0),\n", + " # ),\n", + " Panel(\n", + " SVG(OUTPUT_FIGURE_DIR / \"gtex_brain_cerebellum-KDM6A_vs_UTY-males.svg\").scale(\n", + " 0.005\n", + " ),\n", + " SVG(\n", + " OUTPUT_FIGURE_DIR\n", + " / \"gtex_small_intestine_terminal_ileum-KDM6A_vs_UTY-males.svg\"\n", + " )\n", + " .scale(0.005)\n", + " .move(2, 0),\n", + " ).move(0, 2.20),\n", + ").save(\n", + " OUTPUT_FIGURE_DIR\n", + " / \"gtex-KDM6A_vs_UTY-brain_cerebellum_and_small_intestine_terminal_ileum-males.svg\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "5f462b54-b10e-4392-9dc8-719f84a9bff3", + "metadata": { + "papermill": { + "duration": 0.012083, + "end_time": "2023-11-20T08:56:08.617210", + "exception": false, + "start_time": "2023-11-20T08:56:08.605127", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Now open the file, reside to fit drawing to page, and add a white rectangle to the background." + ] + }, + { + "cell_type": "markdown", + "id": "84fb982b-1dce-4985-99b2-86c74d1d7f33", + "metadata": { + "papermill": { + "duration": 0.012069, + "end_time": "2023-11-20T08:56:08.641484", + "exception": false, + "start_time": "2023-11-20T08:56:08.629415", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Understand how CCC divides samples" + ] + }, + { + "cell_type": "markdown", + "id": "4d78acde-d32c-4660-bab4-30aa89222298", + "metadata": { + "papermill": { + "duration": 0.01217, + "end_time": "2023-11-20T08:56:08.665891", + "exception": false, + "start_time": "2023-11-20T08:56:08.653721", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Prepare datasets" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "bc5680c7-18d2-45ca-a7d4-3c0cb1d8b8f9", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:08.691974Z", + "iopub.status.busy": "2023-11-20T08:56:08.691490Z", + "iopub.status.idle": "2023-11-20T08:56:08.701524Z", + "shell.execute_reply": "2023-11-20T08:56:08.701168Z" + }, + "papermill": { + "duration": 0.023909, + "end_time": "2023-11-20T08:56:08.702252", + "exception": false, + "start_time": "2023-11-20T08:56:08.678343", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "datasets_df = pd.DataFrame(\n", + " {\n", + " \"dataset\": \"Brain cerebellum (all)\",\n", + " \"x\": brain_cerebellum.iloc[:, 0],\n", + " \"y\": brain_cerebellum.iloc[:, 1],\n", + " }\n", + ")\n", + "\n", + "datasets_df = datasets_df.append(\n", + " pd.DataFrame(\n", + " {\n", + " \"dataset\": \"Small intestine (terminal ileum) (all)\",\n", + " \"x\": small_intestine.iloc[:, 0],\n", + " \"y\": small_intestine.iloc[:, 1],\n", + " }\n", + " ),\n", + " ignore_index=True,\n", + ")\n", + "\n", + "datasets_df = datasets_df.append(\n", + " pd.DataFrame(\n", + " {\n", + " \"dataset\": \"Brain cerebellum (males)\",\n", + " \"x\": brain_cerebellum_males.iloc[:, 0],\n", + " \"y\": brain_cerebellum_males.iloc[:, 1],\n", + " }\n", + " ),\n", + " ignore_index=True,\n", + ")\n", + "\n", + "datasets_df = datasets_df.append(\n", + " pd.DataFrame(\n", + " {\n", + " \"dataset\": \"Small intestine (terminal ileum) (males)\",\n", + " \"x\": small_intestine_males.iloc[:, 0],\n", + " \"y\": small_intestine_males.iloc[:, 1],\n", + " }\n", + " ),\n", + " ignore_index=True,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "603dae3d-0fbe-4fe0-8639-181ba6f13a20", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:08.727410Z", + "iopub.status.busy": "2023-11-20T08:56:08.727248Z", + "iopub.status.idle": "2023-11-20T08:56:08.732824Z", + "shell.execute_reply": "2023-11-20T08:56:08.732470Z" + }, + "papermill": { + "duration": 0.019325, + "end_time": "2023-11-20T08:56:08.733558", + "exception": false, + "start_time": "2023-11-20T08:56:08.714233", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "datasets = {\n", + " idx: df.drop(columns=\"dataset\") for idx, df in datasets_df.groupby(\"dataset\")\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "79a733f1-c41f-41b7-a5d4-3341014176d8", + "metadata": { + "papermill": { + "duration": 0.012121, + "end_time": "2023-11-20T08:56:08.757944", + "exception": false, + "start_time": "2023-11-20T08:56:08.745823", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Plot" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "0109f1d9-22ff-42fd-8bf8-ab84f449cbbd", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:08.783470Z", + "iopub.status.busy": "2023-11-20T08:56:08.783036Z", + "iopub.status.idle": "2023-11-20T08:56:08.790958Z", + "shell.execute_reply": "2023-11-20T08:56:08.790544Z" + }, + "papermill": { + "duration": 0.021517, + "end_time": "2023-11-20T08:56:08.791733", + "exception": false, + "start_time": "2023-11-20T08:56:08.770216", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def get_cm_line_points(x, y, max_parts, parts):\n", + " \"\"\"\n", + " Given two data vectors (x and y) and the max_parts and parts\n", + " returned from calling cm, this function returns two arrays with\n", + " scalars to draw the lines that separates clusters in x and y.\n", + " \"\"\"\n", + " # get the ccc partitions that maximize the coefficient\n", + " x_max_part = parts[0][max_parts[0]]\n", + " x_unique_k = {}\n", + " for k in np.unique(x_max_part):\n", + " data = x[x_max_part == k]\n", + " x_unique_k[k] = data.min(), data.max()\n", + " x_unique_k = sorted(x_unique_k.items(), key=lambda x: x[1][0])\n", + "\n", + " y_max_part = parts[1][max_parts[1]]\n", + " y_unique_k = {}\n", + " for k in np.unique(y_max_part):\n", + " data = y[y_max_part == k]\n", + " y_unique_k[k] = data.min(), data.max()\n", + " y_unique_k = sorted(y_unique_k.items(), key=lambda x: x[1][0])\n", + "\n", + " x_line_points, y_line_points = [], []\n", + "\n", + " for idx in range(len(x_unique_k) - 1):\n", + " k, (k_min, k_max) = x_unique_k[idx]\n", + " nk, (nk_min, nk_max) = x_unique_k[idx + 1]\n", + "\n", + " x_line_points.append((k_max + nk_min) / 2.0)\n", + "\n", + " for idx in range(len(y_unique_k) - 1):\n", + " k, (k_min, k_max) = y_unique_k[idx]\n", + " nk, (nk_min, nk_max) = y_unique_k[idx + 1]\n", + "\n", + " y_line_points.append((k_max + nk_min) / 2.0)\n", + "\n", + " return x_line_points, y_line_points" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "55ecad23-cf11-4ed5-a81d-c7faa16ad8b9", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:08.817173Z", + "iopub.status.busy": "2023-11-20T08:56:08.817019Z", + "iopub.status.idle": "2023-11-20T08:56:09.300155Z", + "shell.execute_reply": "2023-11-20T08:56:09.299832Z" + }, + "papermill": { + "duration": 0.497529, + "end_time": "2023-11-20T08:56:09.301630", + "exception": false, + "start_time": "2023-11-20T08:56:08.804101", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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XcuWLVsoLi5OdFNEpAfMmTOHhx9+OOVrJsdCVVUVL7/8MrNmzUp0UyKSDCXuHg/6/Xe+7w8D1wUsvxpY4pwrjWLfFcBw4P+AXGAPsAw4zzn3SpdaKyIxd+mll3Lvvfdy8803c/rpp5Ofn09aWlqim9VjnHM0NzezYsUKtm3bxh133BGT2+yKSPKbPHky559/Pl/60pc47bTTGD16NOnp6YluVo/av38/69evZ9WqVXzrW99KmTr6SVPiLpmpxNMRQOWaUkJDQwPLli2jvr7+qOuV7tOnDxMnTuS4447rSgKtEncSW4qZPW7fvn289dZbVFVV0dLSkujm9Kj09HQKCwuZOnVqVzpQEtbjkAw90SIiAAwaNIgPf/jDiW6GiEiP69u3L2eccUaimyFRSPiYaBERERGRVKMkWkREREQkSkqiRURERESipCRaRERERCRKSqJFRERERKKkJFpEREREJEpKokVEREREoqQkWkREREQkSkqiRURERESipCRaRERERCRKSqJFRERERKKkJFpEREREJEpKokVEREREoqQkWkREREQkSkqiRURERESipCRa5AhyqOVwopsgIiJyVEhoEm1mx5jZr81ssZk1m5kzs7FB64z1LQ/1NSiC5+hlZt81s41mts/MVprZx+L1mkQSobymiXkLSrnmwWXMW1BKeU1TopskIiJyROud4OcvAq4E3gEWAed3sO6dwL+Clu2O4Dl+DHwT+C6wArgKeMLMLnDOzY+6xSJJprymiSvuXULdngMALC6r48HXK3j8xlMpzM9OcOtERESOTIlOol91zg0FMLPr6DiJLnPOLY1m52Y2BLgFuNM593++xQvMrAi4C1ASLSnvhTVVrQm0X92eA7ywpoqbzi5KUKtERESObAkdzuGci/cAzjlABvBo0PJHgelmNirOzy8SV4daDvNGaW3IxxaX1dKiMdIiIiJxkUoTC+8xs0NmtsvMnjazCRFsMwlods5VBC1f6/s+MbZNFOlZvdN6MatocMjHThs3mLS0VPoXFxERSR2pcIbdD/wB+AJwNnArMA1YYmbHdrJtLlAfYvnOgMdFUtrcycPIy8posywvK4O5k4clqEUiIrGhikOSzBI9JrpTzrlK4MaARa+Z2YvAGuA7wGc72NwAF2Z56A3Mbgd+GH1LRRKjMD+bx288lRfWVLG4rJbTxg1m7uRhmlQo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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "with sns.plotting_context(\"paper\", font_scale=1.8):\n", + " g = sns.FacetGrid(\n", + " data=datasets_df,\n", + " col=\"dataset\",\n", + " col_order=[\n", + " # \"Brain cerebellum (all)\",\n", + " # \"Small intestine (terminal ileum) (all)\",\n", + " \"Brain cerebellum (males)\",\n", + " \"Small intestine (terminal ileum) (males)\",\n", + " ],\n", + " col_wrap=2,\n", + " height=5,\n", + " )\n", + " g.map(sns.scatterplot, \"x\", \"y\", s=50, alpha=1)\n", + " g.set_titles(row_template=\"{row_name}\", col_template=\"{col_name}\")\n", + "\n", + " for ds, ax in g.axes_dict.items():\n", + " df = datasets[ds].to_numpy()\n", + " x, y = df[:, 0], df[:, 1]\n", + "\n", + " # pearson and spearman\n", + " r = pearsonr(x, y)[0]\n", + " rs = spearmanr(x, y)[0]\n", + "\n", + " # ccc\n", + " c, max_parts, parts = ccc(x, y, return_parts=True)\n", + " c = ccc(x, y)\n", + "\n", + " x_line_points, y_line_points = get_cm_line_points(x, y, max_parts, parts)\n", + " for yp in y_line_points:\n", + " ax.hlines(y=yp, xmin=-0.5, xmax=30, color=\"r\", alpha=0.5)\n", + "\n", + " for xp in x_line_points:\n", + " ax.vlines(x=xp, ymin=-0.5, ymax=18, color=\"r\", alpha=0.5)\n", + "\n", + " # add text box for the statistics\n", + " stats = f\"$c$ = {c:.2f}\"\n", + " bbox = dict(boxstyle=\"round\", fc=\"white\", ec=\"black\", alpha=0.75)\n", + " ax.text(\n", + " 0.95,\n", + " 0.90,\n", + " stats,\n", + " fontsize=14,\n", + " bbox=bbox,\n", + " transform=ax.transAxes,\n", + " horizontalalignment=\"right\",\n", + " )\n", + "\n", + " plt.savefig(\n", + " OUTPUT_FIGURE_DIR\n", + " / \"gtex-KDM6A_vs_UTY-brain_cerebellum_and_small_intestine_terminal_ileum-clusters-males.png\",\n", + " # rasterized=True,\n", + " dpi=300,\n", + " bbox_inches=\"tight\",\n", + " facecolor=\"white\",\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "65d1355b-5793-491f-9da6-436f9676accc", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-20T08:56:09.386253Z", + "iopub.status.busy": "2023-11-20T08:56:09.386119Z", + "iopub.status.idle": "2023-11-20T08:56:09.861742Z", + "shell.execute_reply": "2023-11-20T08:56:09.861241Z" + }, + "papermill": { + "duration": 0.537138, + "end_time": "2023-11-20T08:56:09.862842", + "exception": false, + "start_time": "2023-11-20T08:56:09.325704", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsEAAAFRCAYAAACVP3CqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAACMSklEQVR4nO3dd3xb1fn48c/xXon3ijO8EmdvQgaEAIEkQNmri9FAS5u2dARaSkvTln7pF2i/Lb9CKasQoGWXDWFlELLIItuJR+LEsWN5xUOO5/n9cSVFliVZtiXLjp736+VX4qs7zr2Wzn107jnPUVprhBBCCCGECCRB/i6AEEIIIYQQ/U2CYCGEEEIIEXAkCBZCCCGEEAFHgmAhhBBCCBFwJAgWQgghhBABR4JgIYQQQggRcCQIFn6jlHpWKXXY3+XoD5Zz1UqpEC/v97BS6lm73zMtx7nFm8fxJqXUWqXUU73cdoVSSjssW6OUWmP3e4xSqkopdVsfiyoGAMe/r2WZVkqt6M22g43jZ9xPZQhVShUopX7tz3L0Rn9dP2d1k4v1Fljevwt6uu1AoJQapZRqVUot7MW2A67ulyBY2H8o7X/qlVJ7lVL3KaVi/F1GcWZQSl0KzAMe8NUxtNYNwCPACqVUpK+Oc6ZRSo1VSj1vCXZOKaVMSqmtSqn/U0ql+7t8/U0pFWS58V7ZD8e62pOg3o++CyQB/8+6QCmVbbk+U/1WKtHvtNZHgBeAPymllKfbDdS6X4JgYe9p4NuWn18Au4DfAa/46Hi3A3k+2rcYmH4JfKi1LvTxcR4H0oCbfHycM4JSajawA1iI8Xn/IfAX4BCD+3N6seWnN4KA3wJXeq00rl1tOZYzeRh/A79QSgUBdwMvaK1P2r2UjVHmqf4oVw/49fo5sQ6ItPw7WD0KzKBnn60BWfd79dGsGPQ2aa1fsPv9MaVUBHClUipBa13takOlVJTW2tyTg2mtW3tbUH+yfPsN11qf8ndZBhOl1FjgHOCbvj6W1vqEUmo1cBvwT18f7wzwG6AdOEtrfcz+BcuToGC/lKqPtNYt/i5DX2mtm/1chIuBkcC/++uAvbmfuDIArl8nWusOYFDfO7TWW5VShzDq11XdrT+Q635pCRbdKbf8awtYrX1zlFLTlVKPK6UqgEbLawlKqf9VSu1QSp1USjVZHql+w3HHzvoEW/pvrVdKTVJKfaaUMiulypVS93v66EUpFa2U+r1S6oDlsW6FUuojpdQ5DutNUUr919KH6JRSapdS6laHdax9bO9XSt2ilNoLNAM3Wl4PUUr9Qim1z7KPSqXUC0qp4S6Kl6aUetVybU4qpV5USqU4OYdkpdSjSqmjSqkWy3V5QCkV7sk1cNiX0/5mykn/Ycs5aqXUYss1PKaUalRKrVJKjbSss0wpdchyvl8qpaZ7WJRrLP9+7FCOMEsZN9v9LfYqpX7ck8dtTqwCZlrLLdzKAQocA2AwHjHatwB64z2ijH6F/8/yd26w/KxTSi3y5kkp1/2JX1BKnWd5zzUppY4opX5kt04mp+u8m9XpbmJr7Nbx6LOvjG4D/1ZKlSqlmpVSx5VS7ymlpljLiCU4UJ27pGValrnq93+/UuoapdRuy/EPKqWud3EdbldKbbeca61S6i2l1HgPL+M1QD2wyW5/t3D6c/wvuzKvsFvHozpMna7zZ1veA2bgMYfXpimjP6nZsr8f2l2Lt5RSdZbr/7/KaLl23H+vrp8v6iblpE+wm3U9uUe53F835/51y7k0KaW+Ukqdb1nnArvPRbFSylXg+hFwmVIqzIPTHrB1v7QEC3sxSqkky/+HAPMxHim8prWud7L+SqAM+D0Qb1mWDXwDeB14EgjHeNT3olIqVGv9nAflSMd4E7+M8Wj2UuBeoBijy4ZLyugHtBo4y7Lt34EIYC5wHrDest5cjA9kIfAgRiX/NeAZpVSS1vohh11fASQC/wBMwAHLh/RV4BLgWeBvQAbGo+T5SqlpWusqh/28CxwFfgWMB+4AJiilZllbrZRSiRg3nCHAE0AJxqOnu4BJwGXuroGX/BEj2H8QGAb8HHhLKfVvjPfEP4AojG4z/1VK5XrQsn8ucFhrbXJYPhTjmr0KvAhojNanv2G8r37Xy3PYbHfcF3u5j0BRDFyglDpXa/25h9v05T1yFnAR8BZQBMQC3wLeV0ot1Fqv9tJ5uTIZ4/32JPAc8HXgEaXUPq31pxif8Zstr32O8TkEOAG2p0HdfvaVUqEYwUIMxvU4CqRi1K3jgK8wrmMoRh31bbsyOn5OHC0GbsV4/FuL0W/3P0qpnVrrg9aVlFJ/BX4EvAQ8hXGtlwEblFIztdYF3RznXGCbpQXTah3wJ4xH3E9YrhEYXeh6U4cNB97DuKc8D9h3uxgGvI/RD/UVjL/L/7MEy/dZXvsFRreVuzHq9CfonifXz1d1U7d6cY/qiUs4/Rltwfi7vKeUugmjq8M/MK73D4GVSqltWusDDvvYjPE+Ogv4opvjDdy6X2stPwH+AyywvPmc/byG8ejffv0VltfeB5TDa+FAsMMyBXwKHHBY/izGB8N+2WHLvq90WP4VsMWDc/m1ZftlTl5TduXZC2wEQhzWeQOjVTvW8numZX+ngFEO615vee0yh+XTgDbgfodz1cDLDuv+yLL8+3bLHgOqgREO6/7Ysu5Ch+v1rN3v1vLe4vj3cnI9nK17i2XZl/bXBnjIsvwwEG23fJll+dc8+NscAT51sjzY8T1mWf4voA4Ic3cuwBpgjZPtMyxl+6O/P2MD/QcjKGu1XK/twF8xWidTnKzb5/cIEOVkv+HAfox+g27/vpb9rfDgvFxt2w5Mt1sWAVQAr9gtC7Gs+6yT/Xr02QemWNa7rptyvuDsM2p5zdVnvAEYbrc8HcuXErtlZ1vW/aHDPodbPlsvdFOuYKADeNrJawtxqD/sXutpHaaBG12cuwausFuWCDRZyvUju+WhwHGMgN1b169PdZOLa7rAcvwFrralZ/eoLvvz8Nwz7JZfalneCkyxWz7BsvzPTvY9z/La7R6c84Ct+6U7hLD3F4zWmYuAq4CHMb6xr3TxaOJxbXnHWWmtm7XW7WB71JGAUWl9AuQppYZ4UI4yrfWbDsvWYDyy7c71GK0O/3B8wa6skzBaYf8NxCmlkqw/GIF9FDDbYfP3tTEq1t6NwDFgk8M+jmK0bl3opHx/dfj9CYwK6Wtga2G6AaP1qMlhv9ZHSc72621Paq3b7H63ftN/UWvd6GR5rgf7TAZqHBdqrdu1pd+eMh4xx1vO91OMlqTeDsqytsInuV1LoLVeB8zBePqSBdyJEZiVKqUesbRoOur1e0Tb9fdUSkVYWg6HYHzOz+rj6Xhis9Z6u115TmEEHJ7UMeD5Z9/aorlYeT/LztvarvuK1roMOEDnc7gBo6Xvvw7lPIXxJaa7uiQRIyDr8rl1pZd1WBWuB2CXaa3fsv6ijadr+RhBzpN2y1uBLXhWF4EH18+HdVN3enOP6om3tdaldr9bP6NbtNZfWRdqrfdivIedXdOe1K8Dtu6X7hDC3n6t9Sd2v7+plDIB/4vxiOpdh/WLHXdgqQDvxHjMPwajArUXj/FYxx3HYBOMD1BCN9sBjAY+050f3Tkaa/n3EcuPM479dLucq2U/w3H92NLZYKJ8+1+01s3K6BedZVmUjHGeN1h+PCmbLzj+DWot/5a4WO7J38YlpdS3MB6nT6LrdYvvuoVH5Et+D2ittwI3Wj7DeRiByk8xnlZUYnR7stfr94glqP4NxiPZUY5F6Xnpe8xVHTPZw+09+uxrrQ8rpf6M8d7+plJqA0Zw+KLW+mjPityFJ/XkWCAMI2B3xl092Vu9qcOOuKmznZ1nLVChuw5OrgWGKqWCrY0xbnh0n/FR3dSd3tyjeqLTuWutay3tXI6fXTCuqbP63Sv1q7/rfgmCRXc+wgiCz6NrENzkZP3lGP2XXsTo62bCeDx4CcYN1ZM3Z3eVV3e6u4lay7AC132Z9jr87uxcgzBafb7nYh/OtvG0bP/FMjjEiePd7MPTY7ob8e/qb+BquSeDGEw4qdSUUtdhfMn6ACMPaTlG69V0jPdebytb67Eqe7l9QLI8MTmA0e/9JYw+iTfTNQjuy3vkr8D3MZ7YrMd4dN6O0UezyyBaH+jL+xh68NnXWi9XxgQBX8PoQrAC+I1S6mqtdbcj693w5ByCADPGmIbeqMKoP3oSjPSmDnNWV1r19H0Gnv0du71+PqybutOTe5S7e4qrOt4b9XtP6tcBW/dLECy6Y32PePoo7xvAWq31t+wXKqX64xE+GHlNJyqlgty0LFgHgjQ5tHz3VAFGX8o1Do+F3RmL8dgVAGWMlM7k9MASE0ZfqIg+ls1ejeVY8Vpr+0dS2V7av6f2c7qFw943MFraL7P/mymlPH007Yp1+3193E/A0sbgrkKMvoHe9A1gpdZ6mf1CpdRSLx+nL9wFFz367GtjUNEB4CGl1AiMnMy/5XR6KV+1fhcAi4DdWusTPd1Ya92ulDqI824irsrsizrMX3xVN3WnJ/coa53eKchURnpTX05y05P6dcDW/fK4UHTncsu/Ozxcvx2H95VSKhnor5vbKxiPV7/r+IJdv+btGN0S7rTLhmG/XrKHx/oPRr+lu50dy9m+gZ84/P5djC8Y74Jx07GcwyLlkNLNst8ID/tV2ztk+fcC+/JhdFvpT58Do5xcX2vrg30LTCTGIJq+ONvy7/o+7ueMp5RaqJTq0mqklMrGyGKw38uHdFZP5NE/E1N4xPJZPIXzVlCPPvtKqaHKYap0SzcIE50fMTdY1vf24/X/WP51bMW3ltWTuu5zYIZySD2Gpcw4XB8f1WH+4qu6qTs9uUcdxnjaeoHDaj/Gt/m9z8YYSLjVg3UHbN0vLcHC3myllLWPVQxGyp5vYrRgvOByq87+C9xveYz6GcY30e9hDBjxNLjsiz9jDOr7h1LqPIwPQRjGuewA/kdr3aGMXIsfAfuUUk9jPNpMwhjdfQXGSPXu/Bvjpv1HSzqbzzAe62VZlv8b43GWvTyl1DsYj3/GYzwS3k3n1G+/xGhl+kwZOR53YIxezwOuw8i5uMaD8llZ0+w8pZQahzHQ4RqMwRX96b/A/RgpcF50WH4NRnqsNzCCg1s4fZPtrcUYI8Wd9f0Tnf0VYwDOW8AejJvqGIxuEGEYWVe86b/AUmWkudqG8VTi+xjB9jQvH6svvgQWKqWWY/SrrdBaf4bnn/0LMOqi1zCCmjaMwcZjMdJ72R/nDuDvSqkPLOu94zDAsMe01l8opf4C/EwZeYHfwejjOQpYgpHS7JZudvMGxsQDc+j8aH4vRleL7yulGjDGeuzRWu/B+3WYv/iqbnKrJ/corXWdUupF4AeWxo09GH+rc/FtV7BFwLvas8lIBmzdL0GwsLeU0y22bRiV/qPA77Tns/f8L8ZN82aMm0Ex8D8Yb+p/ebOwzmitm5SRNPxeTle2tRjfrNfarbdRKXUWxs39FoxR0CaMxyc/9fBYWil1A8bN+zsYH/J2jID/I5yPdr4M+D+M+dOVZZ2f2FcklkfQZ2PkEr4K41rWY1SCj2DJxekprXWbUupKjJzJv8Z4VPkfjNl0HPs++4zWep9S6guMnKwv2i1/URlZRH6EkR+yDOO9sgGH5OqeUkqlYvRj/2Ffyx0gfo6Rz/s8jEeUMRgpw9ZhpEfa6Gbb3vgpRivr1Rjv7wMYX5bHMbCC4O9j9Gv9HcaXxrUYA289/ex/hfGUZ5FlvTbgIEZQ+YzdcZ7HyKN7LcbnQ2EE1H0KggG01j9XSm3FSFX3G4wW+OMYDQSezKa4CuO8vo5dEKy1blBGXtnfYdwnQi3/3+PtOsxffFE39eDYPblH/QQjnvs2xt/3M+B87O553qSUmonR5cCj+nUg1/3WvKlCCOFzSqnLgDeBPO3DOeSVUr/F6Goyugdf4IQQTihjhrb7MXKln+xufXFmU0r9CyOTykzHNKluthmQdb8EwUKIfqWUWosxRa9P+okrIx/rEeCXWusnu1tfCOGeJaXdfuA5rfUf/F0e4T9KqVEY40wu1Vr3qLV2INb9EgQLIYQQQoiAI9khhBBCCCFEwJEgWAghhBBCBBwJgoUQQgghRMCRFGkeUEp5OgBSCCH8wdPpfnu+Y6n/hBADW6/rP2kJFkIIIYQQAUeCYCGEEEIIEXAkCBZCCCGEEAFHgmAhhBBCCBFwJAgWQgghhBABR4JgIYQQQggRcCQIFkIIIYQQAUeCYCGEEEKIbrS1d/i7CMLLZLIMIYQQQggXikwNfLCnnC8KKpmXm8SSiWlkJ8f4u1jCC5TMBNQ9mTFJCN9raGhg7dq1bN26lbq6OgLtMxcREcH48eO54IILGDZsWE83lxnjhPCBIlMD1z2+karGFtuyxOgwXr1jjlcD4ZaWFjZs2MCGDRuorq6moyOwWp3DwsLIysriggsuYPTo0T3dvNf1nwTBHpCbgBC+VVFRwa9//WsuuOAC5syZQ0JCAkr5LK4bcLTWNDU1sXPnTl5//XVuu+02zjrrrJ7sQoJgIXzg0dUFPLQqv8vyuxblsez8XK8co6mpiXvvvZexY8dy/vnnk5qaSlBQYPVWbW5u5sCBA7z++uvMnz+fK6+8siebSxDsS3ITEMK37r33Xm644QYmT57s76L43cmTJ/nJT37CE088QWhoqKebSRAshJe1tXdw0zNb2FBY1eW1ebmJrLx1FsHBfQ9Wn3rqKZKTk7niiiv6vK/BrrW1lZ/+9Kf86le/6skTsV7Xf4H1VUMIMeCYzWaqq6slALaIjY1l1qxZbN261d9FESKghQQHMS83yelrc3OSvBIAA2zZsoXFixd7ZV+DXWhoKJdeeilr167tl+NJECyE8Kvy8nJGjhzp72IMKKNHj+bo0aP+LoYQAW/JxDQSo8M6LUuMDmPJxDSv7L+jo4OgoCDCw8O9sr8zQX/Wf5IdQgjhV+3t7YSFhXW/YgAJDQ2ltbXV38UQIuBlJ8fw6h1z+GBPORsKK5mb493sEO3t7YSESChmrz/rP2kJFkIIO4899hhZWVlEREQwY8YMPv/8c7frr1u3jssvv5yMjAyUUjz77LNd1qmvr+cnP/kJo0aNIjIykrlz5/Lll1/66AyEEN6UnRzDsvNzWXnrLJadn3vGp0cLpDpQgmAhhLB4+eWXufPOO/nVr37Fjh07mDt3LkuWLKGkpMTlNg0NDUycOJG//e1vREZGOl3ntttuY9WqVTz33HPs3r2biy++mIULF1JaWuqrUxFCeJm3+gAPZAFXB2qt5aebH+MyCSF84eDBg/rhhx92+XplZaW+4447dGpqqg4PD9cTJkzQq1at8klZZs2apW+77bZOy3Jzc/Uvf/lLj7aPjo7W//rXvzotM5vNOjg4WL/55pudlk+fPl3fe++9TvezZs0a/cILL3hecKn/hBiUWlpa9LJly9yuE2h14OHDh/X999/fk2L3un4787/WCCEGrWPHjjFlyhTKysp444032LNnD8uXL2fo0KFO1/+f//kfYmJi3P64erTX0tLCtm3buPjiizstv/jii9mwYUOvz6GtrY329nYiIiI6LY+MjGT9+vW93q8Q4swndaBvSW9sIcSA9b3vfY/Jkyfz3//+1zZ5Rm6u6wT1d9xxB9dff73bfWZkZDhdXllZSXt7O6mpqZ2Wp6am8sknn/Sw5KcNGTKEOXPmcP/99zNx4kTS0tL4z3/+w8aNG92eixBCSB3oW34NgpVSw4G7gZnAVCASyNJaH7Zb51ngZhe7WKW1dptcTyl1GBjl5KWrtNZv9rTMop80N8PGjTBnDniSOqan6/d1u75uK7pVUlLC+++/z5dffunx7HEJCQkkJCT06biOx9Ja93n2uueff57vfOc7DB8+nODgYKZPn87Xv/51tm/f3qf9CtFjA6XeGijlGMCkDvQ9f3eHyAVuAGoBV5mR/wDMcfhZZnntXQ+P876TffRPJmbROy0tsGaN8a8v1u/rdn3dVnRrx44dhISEMGPGDI+36cujwKSkJIKDgykvL++0vKKiokvLSE/l5OSwdu1aGhoaOHr0KFu2bKG1tZWsrKw+7VeIHhso9dZAKccAJnWg7/m7O8Q6rXUqgFLqFqBLq67WuhAotF+mlPom0Aq85OFxTFrrTX0rqhCiP4WGhtLW1kZ9fb3L/m+O+vIoMCwsjBkzZvDxxx9z3XXX2ZZ//PHHXHPNNZ4X3I3o6Giio6Opqalh1apVPPjgg17ZrxDizCN1oO/5NQjWWnf0dBulVChwI/CB1rrS+6USQgwEZ599NvHx8dxxxx3ce++9BAcHs379es466yymTJnidJu+Pgr82c9+xre//W1mzZrFvHnzePzxxzl+/Dh33HGHbZ2///3v/P3vf+fAgQOAkR6ooKAAMGZ/KikpYefOnSQkJNhmwlu1ahUdHR2MHTuWgoIC7rrrLvLy8rj11lt7XVYhxJlN6kDf83d3iN5YAiQBz/dgmyuVUmal1Cml1Eal1KU+KpsQwksSExN55513OHLkCLNnz2b27Nm8/PLLfX4s584NN9zAX//6V+6//36mTp3K+vXref/99xk16vSwgsrKSvLz822/b926lWnTpjFt2jSampr47W9/y7Rp07jvvvts65w8eZIf/vCHjB07lptuuolzzjmHjz76iNDQUJ+dixBicJM60Pf83R2iN76N0Yf4HQ/Xfwf4EigG0oAfA+8opW7UWr/ikxIKIbxi3rx5fPHFF/16zB/84Af84Ac/cPn6ihUrWLFihe33BQsWWPPpunT99dd3+4hSCCEcSR3oW4OqJVgpFQd8DXhFa93syTZa6x9prVdqrT/XWr8KnA9sB/7k4hgrlFLa/sdb5RdCiIFM6j8hRCAZVEEwcB0QTs+6QnSitW4DXgGylFLJTl5fobVW9j+9L64QwhPdtSIEGn9dD6n/hOh/Uv/5z2ALgr8NFGmt+zrFiLVil3eeEH4WHh5OU1OTv4sxoDQ1NREZGenvYgghfCwkJITW1lZ/F2NAMZvNXWaX85VBEwQrpTKBc4AX+rifEOB6jGBasksI4WcZGRkcPnyYjo4eJ4s5Y+3YsYPx48f7uxhCCB9TShEZGUlNTY2/izJg7NixgwkTJvTLsfweBCulrlVKXYsxaxzAEsuymQ6rfgujBddlVwhLH7Zn7X7/ulLqRaXUN5VSC5RSNwKrgWnAXV49ESFEr1hnD3r11Vf9XZQBYe/evRw9epS8vDx/F0UI0Q8uvvhinnzySekWAZSXl/Ppp58yb968fjneQMgO4Xjne8zy73PALXbLvwVs1FoX9GDfxUA68BcgAWgEtgALtdaf9aq0Qgiv+973vsef/vQnli9fzpw5c4iPjycoyO/f0fuN1hqz2cyOHTsoLS3l97//fZ+nKRVCDA6XXHIJFRUVLFu2jHnz5pGWlkZwcLC/i9Wvmpub2b9/P7t27eIXv/gFQ4YM6Zfj+j0I9nTghdZ6bE/3ZZkl7oJeFk0I0U9CQkL49a9/TUVFBVu3bqWiosLfRep34eHhXHfddYwZM0YCYCECiFKKW2+9lWuuuYYtW7ZQWVkZcK3CoaGhnHfeefzoRz/q1y8Afg+ChRDCKiUlhUsuucTfxRBCiH43dOhQFi5c6O9iBJTAed4ohBBCCCGEhQTBQgghhBAi4EgQLIQQQgghAo4EwUIIIYQQIuBIECyEEEIIIQKOBMFCCCGEECLgSBAshBBCCCECjgTBQgghhBAi4EgQLIQQQgghAo4EwUIIIYQQIuBIECyEEEIIIQKOBMFCCCGEECLgSBAshBBCCCECjgTBQgghhBAi4EgQLIQQQgghAo4EwUIMcG3tHf4ughBCCHHG8WsQrJQarpR6RCm1QSllVkpppVSmwzqZluXOfuI8OEaQUupXSqnDSqlTSqmdSqmrfHVOQnhLkamBR1cXcNMzW3h0dQFFpgZ/F0kIIYQ4Y4T4+fi5wA3ANmAtsNjNuvcD7zksq/fgGH8Afg78CtgB3Ai8ppS6RGu9qsclFqIfFJkauO7xjVQ1tgCwobCKZ9YX8+odc8hOjvFz6YQQQojBz99B8DqtdSqAUuoW3AfBhVrrTT3ZuVIqBVgO3K+1/otl8WqlVC7wACBBsBiQPthTbguAraoaW/hgTznLzs/1U6mEEEKIM4dfu0NorX3d2XEREAa84LD8BWCaUmqEj48vRI+1tXfwRUGl09c2FFbSLn2EhRBCiD4bTAPjHlJKtSmlTiql3lRKjfNgmwmAWWtd7LB8r+Xf8d4tohB9FxIcxLzcJKevzc1JIjh4MH1shRBCiIFpMNxNm4F/At8DzgfuAqYCG5VSo7vZNgGocbK82u51IQacJRPTSIwO67QsMTqMJRPT/FQiIYTwHsl6IwYCf/cJ7pbWugy4w27R50qpD4E9wD3Ad9xsrgDtYrnzDZRaAfy25yUVwnuyk2N49Y45fLCnnA2FlczNSWLJxDQZFCd8Suo/4WtFpgY+2FPOtj1HuKO4muTKBrKGDPF3sUSAGvBBsDNa6xKl1Hrg7G5WrcZ5a2+83euO+14BrLBfppRyFkgL4VPZyTEsOz+XO+ZnSxcI0S+k/hO+ZJ/1JrrZzOTCSl5/egvP3XmhfMEXfjGY76yuWnnt7QWiHHMPc7ov8D5vF0oIb5MAWAhxJnCW9abakvVGCH8YlHdXpdRI4Bxgczerfgi0AN90WP4tYKfW+qgPiieEEEIIO5L1RgxEfu8OoZS61vLfmZZ/lyilTMBhrfVWpdSfgQ5gE0b3hTyMvsAtwB8d9qWB57TWtwBorSuUUv8H/EYpZcaYLOMG4ALgUp+emBBCCCGA01lvNhRWdXlNst4If/F7EAy86vD7Y5Z/nwNuwejS8H3gNiAGqAQ+AVZorYs82P+9QAPwUyAVyAeu01p/0OeSCyGEEMIjSyam8cz64k5dIhIk643wI78HwVprl5kaLK8/AzzT231prdsxply+v1cFFEIIIUSf2We92b73CHOrk7hi6SyyZFCc8BO/B8FCCCGECAzWrDft05IJrvwckiQAFv4jnXCEEEII0a+kD7AYCORdKIQAZAYnIYQQgUW6QwgR4KwzOH1RUMm8XJmZTgghRGCQIFiIAGY/gxPAhsIqnllfzKt3zJFAWAgxaLS1dxAiXSxED8k7RogA5mwGpyqZwUkI4QO+6HJVZGrg0dUF3PTMFh5dXUCRqcHrxxBnLmkJFiJAdTeD0x3zs2XwihCiz5x2uYrwzn7lSZboC7nDCRGgrDM4OSMzOAkhvMEaqD60Kp8NhVU8tCqf6x7fSHFl31ts5UmW6Cu5ywkRwJZMTCMxOqzTskSZwUkI4SWuAtWP953o0367e5LVLtluhAekO4QQAcx+BqcNhZXMzZHsEEKIrnoz8MxdoFpS3Uh7ewfBvSyP9UnWhsKqLq/JkyzhKQmChQhw1hmcpA+wEMJRX1IoOgtU46NCuXvxWCqOm3hz53Gq1hWycFZur754L5mYxjPrizu1NMuTLNETEgQLIQCZwUkI0Zk3Bp45Bqp3Lx7Lw6vyOVVdy+01Zp785BD/3G7q1WA2eZIl+kqCYCGEEEJ04W7g2bLzcz3ah32g2tTSRlhwEHFRYZRX936fjvuXJ1mit+QdI4QQQohOvDnwLDs5hiUT04gMDeH17cdYkJfMissnEBF6ukdwXwezSQAsekNagoUQQgjRiTcHnjnrVjEipI3HcpP4f73cpxDeIO84IYQQQnThrRSKzrpVVDe2UN3YQlZSjAxmE34jLcFCCCGE6MIbA8/cdauobGjmB+fnMHb0MBnMJvxCgmAhhBBCOOVs4FlPcga761YxIj6KWZPSYYgEwMI//NodQik1XCn1iFJqg1LKrJTSSqlMh3UuVEq9oJQqVEo1Wf59VCmV7OExDlv26/hzpS/OSQghhDjTBAcHUWRq4NHVBdz0zBYeXV1AkcmzqY+ddatIiA5jdIoEv8K//N0SnAvcAGwD1gKLnaxzBxAD3A8UAaOBFcDFSqmpWutGD47zPvAHh2X5vSyzEEIIEVD6kjPYWbeKSzKjiX9uR38UXQiX/B0Er9NapwIopW7BeRD8A621ye73tUqpA8DnwDXASg+OY9Jab+prYYUQQohA1NecwV26VdTX+6qoQnjMr90htNbdJgV0CICttln+zfBuiYQQQghhz5s5gyUNmhhIBuu78TzLv/s9XP9KS5/jU0qpjUqpS31VMCGEEOJMYh3c5ozk9xWD2aB75yqlhgB/BfYA73iwyTvAj4FFwLeBNuAdpdT1viqjEEIIcSbxVs5gIQYSf/cJ7hGlVAjwHyAdmKe1bu9uG631jxz28V9gE/An4BUnx1gB/NYb5RVCiMFE6j/hijdyBnuDNT1bT9K0CeHKoAmClVJBwHPAhcASrfWe3uxHa92mlHoF+F+lVLJjn2Ot9QqM7BP2x9a9KrQQQgwiUv8Jd5zlDO4vRaYGVudXkDY0gv3l9Ww/UsO8XP8E4uLMMWiCYOBx4HrgKq31mj7uS1n+lcpdCCGE6AF/BMDXPb6R5YvyuO+tvb1K0yaEM4PiWYJS6s/AUuBmrfW7fdxXCEYwXaS1dj7cVYgeauvB6GghhBCe+2BPOfHRYRRUNLhM0yZEb/i9JVgpda3lvzMt/y5RSpmAw1rrrUqpXwA/A54BipRSs+02N2mtC+32pYHntNa3WH7/OnAZxmQZpUAasAyYBlyLEH1U09jCq+sKWXP8lDyaE0IIL7OmZ8tMjGJ/WZ3TdTYUVvqli4YY/PweBAOvOvz+mOXf54BbgCWW379j+bFnXceVYoxBdH8BEoBGYAuwUGv9Wa9LLARQXNnAR1uP8kjbIRrDo+TRnBAiIPR2UFpvtrOmZ3tjeykL8pLZUFjVZR1J0yZ6y+9BsNZadfP6gt7uyzJL3AW9K5kQ7n287wRNrZ0TlPRkBiUhhBhMikwNfLCnnC8KKnv05MvpdhGeH3fJxDSeWV9MbkoMidFhnbpESJo20Rd+D4KFGIza2jvYVFTFZCevyaM5IcSZxjo4raeD0lxt99q3JpLl4bGt6dlW51fwhysnsK+snh0lNX5L0ybOHBIEC9ELIcFBzM5OxOzkNXk0J4Q403ywp9zloDR3T75cbffxvhN818n6rrpMZCfHkJ0cQ3t7B5dMGkZ7e4fUs6LP5B0kRC9dND6VyNDgTsvk0ZwQ4kxjHZzmzIbCStpdZMdxt93m4io6Ok5nKS0yNfDo6gJuemYLj64uoMjU4HQ7a+ArAbDwBmkJFqKXspJiuH7mCNSC0awtO+X00ZzMaiSEGOysg9N6OijN3XZnZyUSVGkM4+ltVwsh+kruzkL0QXx0GN+dn8PKW2ex7PxcW4XtaauGEEIMBksmppEYHdZpmSdPvlxtd9H4VNvv7rpaCOFL0hIshBfYt4RIq4YQ4kxjHZz2wZ5yNhRWejwozdV2WRFGV4juulrIIGPhSxIEC+FlvR1AIoQQA1l2cgzLzs/tcWDqdLv6eqD3XS2E8AZ5dwnhRb0dQCKEEIOFNTDt6XTxrgLa3na1EKKvpCVYCC+wDoCTVg0hxJmut5NmuNLbrhZC9JUEwUL0QU1jC6+uK2TN8VO2m8Glk4zZjWRWIyHEmcZXYx5629VCiL6QIFiIXiqubOCjrUd5pO0QjeFRnW4G0qohhDgT2Y95yEmOISspivYO2Hu8zit1nATAoj9JECxEL3287wRNre2dltkPgPve/Gxp1RBCnDGsYx7io0K5e/FYSmuaGJc+hH1ldfxnSwkl1WaXX/g9yZkuedVFf5MgWAgnuquM29o72FRUxWQnr20orGRkQhT/2VLilf5yQggxEFjHPHxtyjAeXpXP8kV53PfWXrddIzzpP+ztPsZCeEqCYCHseFoZhwQHMTs7EbOTfYxPH8pfPzlEoalBcgQLIQacjg7d69RQl09JZ+XGI8RHh1FQ0eA2HaTb/sMRxvrFlQ1c98Ieyasu/EKeOwhhYa2wH1qVz4bCKh5alc91j290OdvbReNTiQwN7rQsMTqM7OQYCu22kZmPhBADQZGpgSfWFfLfHaU8sa6wVzNZpsdGsvd4HZmJUewvq3O6jjUdpCczwX2874TMFif8RoJgISx6OnVnVlIM188cwZ0LRzMvN5G7FuXx+ysm8OCHB7qsKzmChRD+ZP2S/7dPDnG0xszfPjnk9ku+K9YuEcWVZsalD3W6ztycJDR0mzO9o0OzqahrOkn7dYTwJQmChaD3k1zER4fx3fk5rLx1FsvOz+VwlZkac2uX9TzJEdzTxPNCCOGpnn7Jd2fJxDRqzS3kpsS4nOTCGiw7Y60Pg4IUs7MT3a4jhC/59R2mlBqulHpEKbVBKWVWSmmlVKaT9eKVUk8rpaqUUo1KqY+VUhM9PEaQUupXSqnDSqlTSqmdSqmrvH4yYlDzpMIG14Gq9fXezHxUZGrg0dUF3PTMFh5dXdCrR5RCCOGKt2eytE5uYW5p4w9XTuCHF+TanobZ9+X1pD68aHyqzBYn/MbfA+NygRuAbcBaYLHjCkopBbwNjAKWAbXAPcBqpdRkrXVZN8f4A/Bz4FfADuBG4DWl1CVa61VeOg9xBlgy0fUkF04HzEV03UdPZz7yVeJ5IYSw8sVMltnJMWQnx9DS2s4lk4bR3t7RZT9u68P6esDoViZ51YW/+DsIXqe1TgVQSt2CkyAYuBw4B5ivtf7csu5GoBi4C/iZq50rpVKA5cD9Wuu/WBavVkrlAg8AEgQLG1cVdpCCa/7RNVB97VsTyXKxH09nPnL3iHLZ+bneOjUhRICzfsk/1Xw6p01fWlw9zaTjSX0os8UJf/FrEKy19uQZzOVAiTUAtmx3Uin1DnAFboJgYBEQBrzgsPwF4Bml1Ait9dEeFlucwZxVxo+uLqCqscU2O1JxpZlCUwMf7zvBd93sy5M+wO4eUcoNQQjhLdYv+Z9sKSCxMIo7F45m4azcXrW49uYJlid1mdR3or8NhnfcBGCPk+V7gSylVGQ325q11sVOtgUY74XyiTOQfR/gXUdreeDqSSzIS8bc0s6CvGQeuHoSe0pP0tGhe30MT/shCyGEN2Qnx/Dd+TlcNTWD787P6XWXA28OshPCnwbDXTYBqHGyvBpQQFwvt7W+LoRLIcFBfHvOKB5elc+afBNRYcGsyTfx8Kp8vjMvi6Ag1af992YgnRBC9EVf6i1vD7Lz9JhC+IK/+wR7QgHOmts8+RT3eFul1Argtx6VTASEfcdPsnxRHgUVDewvq2NBXjK5KTEcOlHPqMZmmmoaGTZkSK/23dOBdEL4ktR/oju+GGTnikynLHxtMATB1ThvsY3HCHBre7mt9fVOtNYrgBX2y5RSvX/mLQa10hozGfFR3PfWXtvjv/1lddx7yTjK65v57ICJEzuPsyAkkvHDYnt1DBkUIgYKqf+EJ9xl0vEWyZwj+sNguOPuxejb62g8UKy1bupm2ygnuYetfYH39b144ky242gt+8rqOlX2dy8eywMfHOAfawo5WmPm0dWFfPvpLX3O7ysBsBBiMLA+wbprUZ7T/MDeIP2ORX8YDHfdt4FRSql51gVKqaHA1yyvufMh0AJ802H5t4CdkhlCuNPW3sH+sjp2lNTaluWmxFBQ0SCVsxBi0OlJ39ru1rU+wbLOlunNANgf/Y5FYPJ7dwil1LWW/860/LtEKWUCDmutt2IEuhuBfyul7ub0ZBkaeNhhXxp4Tmt9C4DWukIp9X/Ab5RSZozJMm4ALgAu9eV5iYGprb2DEA9aXK3rZcRF0tLWYev/lpkYxf6yOqfbSFozIcRAZN+3dsGwCK5rbLH1CXS27qaiKkprm8iIi2R2dqLbANcX9V1/9jsWgc3vQTDwqsPvj1n+fQ64RWvdoZS6DPgz8A8gAtgAXKC1LvVg//cCDcBPgVQgH7hOa/2BNwov/MPTYNbK0wEWjustyEsmJjyExOgwqhpbKK40syAvWSpnIcSg4Ni39qt9ZvTOo1xc2UCWw4Dew5UNbD9SQ6Gpkf1ldZxq7SAsOIggBZlJ/dsPtz/6HQvh9yBYa91tlgetdTVwa2/2pbVuB+63/IhByhr09ma0sNsBFhHdr/f80ln87caprC+oZHfpSc4bk8ybO0q9NvOSEEL4irO+tU2t7cZkP1npnZYfq2nigQ8OdKoDE6PD+NuNU/s9CJbMOaI/9CgIVkr9EfiX1rrAR+URopPiygbe33qCLwoq+cGCHO58aafbYLatvaPLm9rt1MQzU23bvberwul6n+6v4EcXjmZOdiIAhaYG/nLDVLbtPsKIwih+eH4Oi+aM6bZy7mnrtRBC9IVj39qc5BjGRkcTvzeMdcVVLG3v6DQx0PqCSqd14PqCSuZkJ/b7ky7JnCN8ractwb8EfqmU2gT8C3hFa+28g6QQfVTT2MJNT2/haFsIuSkxrM43Oa2gV+dXoDIiMRVX8/jzW5kxcZStxcDZAAvr9MeHqxooqxnC0eJqNqwuYEtlq9NybCqu4pqaDIbFR1FkauDrT26mqrGFiUOCuD1Isb6wivkz212eh+S6FEL0B8cv2ta+tfvL6rh78VgKKhooLi4jMymaMfO6Bpa7jp10ut/dpc6X9xcJgIWv9PSdlQ38DkgGngDKlFIvKKUWer1kIuAdqmig2hL0uhuQlh4bwU1Pb2FDYSWbi6p5aFU+1z2+kSJTQ6epieOjQjtNf5w6JJKdx05SXNlA/alWJmY4z/M7Nm0oP3pppy2YtQbixZUNFFc2srOkljd3lHK0urHLttYuFg+tymdDYVWnsgkhhDcUmRp4dHUBNz2zhUdXF3SqX5ZMTOPeS8bx8Kp8nl5fzOaianaU1HD367s6rRcSHMRsy9MuR2dn9X8rsBD9oUfvaq31Ea3177XWY4BzgReAS4BVSqkSpdT9SqnRviioCCxt7R0crT7d57a40sy49KFd1stNiWFfWb0tWLayT1lmnZr47sVjbTeCDYVVvLj5CM2t7YxMiKK4spE52YlOpzDOTYlh25EaPthTTnGl8+B1X1kdO492bS2RXJdCCF/q7ot2dnIMx0+e6lIPVTuphy6bnO60Drxscue+w0KcKXr91U5r/YXW+ntAGnAjsB8jddkBpdQXSqnvKKXCvVROEWBCgoMYkRBl+73Q1EBuSkyXCnrisKFsP1LjdB/WfJLZyTG8/L3ZlNY0dZn04tXtxzDVN1NR18LPXtnJn66exB3nZTMvN5Gl52SxfFEeD354wLa/88akOD3W2LShrDtU0Sl/peS6FEL4WndftNvaO9hU1DWbDXSth/pjEgwhBhJvZIeYhNEqPANQwEEgFngK+J1S6nqt9UYvHEcEmNEpMSSEh9HYZvTj3VxUxe8un0BRZSObi6uYm5PE5VPSefurMr7a13XeE2vKsiJTA3//rICK+mbba9NHxpE2NILJGXG0tmvOHZ3EyMxU/rG2kMsmDyMitIE1+SaeXl/caX9TR8Ta0qVZJVhai031zZ0eGUquSyGEL3X3RfuO+dk9roc8HYwmA33FmaBX72ClVLpS6i6l1B5gC3AL8CZwrtZ6rNZ6IjAfaAQe91JZRYCJjw7jhdtm8cLSWVw0PoWK+maKKhu5atow2yxFIxKiWTQhlQQnj/CsKcs+2FPO7tK6Tt0pbp+fzfJXv+LzQ5WEBis+P1TJw6vyuW7mCNJiw9lZUkuhXX856/5GJETz1M0zuf3cLGbnJDBtZDw/vnA0T60rYvrIuC7nYO2K4apsQgjRW/ZjHhzZB7jO6qGEbuohVwGwu/7HQgw2PU2RdiNwM7AQCAY+B74DvKq1Ntuvq7Ver5R6EPinl8oqAlCHpktatOc2HObNZXMJUoq1B02szTfx4DWTCSr5hN05CUyfcDo7RHNrO8WVDRSaGrjt3CwSo8OIjw7jQFk9yxflUXL4BK2bTrcEl9Y0gY7gT9dM4qtjJ9lRUtMpP2VbewePrynk8qnDGBOlaV7XTpGpkdvmZ/P8piNd0ghJrkshhC95MqmEfT20fe8R5lYnccXSWWRZ6jRPW3Ttc6nnJMewo6SGzw5U8NC1k6VOE4NST7tD/Bs4BvwvRr7gwm7W34MxeE6IXvl434lOlXt8VCjLF+Xx8pfH2F5Sw8SMWK6cnsEjH+3hyiozd8zP4UhrME2t7Ty6uoAvCiqZPjKeB66exBNrC1m+KA80DI0M4b639nKqupbba8ys3HiYiPxa/nDlBDITY7jkkc/JSY5hUsZQLp+SzoiEaMBoeZk8Io5l/95hpEhraefzQ5Xs2V7BDy/I5fjJJtu6VpLrUgjhK55+0c5OjuHyKelkhXdQu7aFbXvKmdQWwvMbjzB5RJxHX84/2FNOh9Y8cPUkCioa2F9Wx9QRcRyvbZIgWAxKPQ2ClwAfaa21JytrrbdgdJcQosc6OnSXAR3WDA+OMxr99ZIc0gri2HSijiFJidz09JYu6yxflMc9b+zmm7NGEm/p12sfrlY1trDveD0tbZqc5BgKTUYL8qysBK6fGUlIcBBt7R1cPiWdZ9YXU1xZS3FlI8WVDSQmxJERF8mVj25wOZDEMQCWPnVCCG/w5Iu2tRX3VHUtt5fV8eRnBUTsrLTVi7aJh1wEs9b+x87q4Dd3lPLK92aTkzLE6bZCDFQ9CoK11qt8VRAhHAUFKWZnJ/JZaSlgpEMrqGhwOhJ6Q2EVmUdqGZ08hI2mRts61okxiivNHKsxc93MDCZmxPLOruNOj7njaA2gmZOTwKSMoSzISyH/RD03PbOF6aPiGZc2hPK6U6xcOosvdhSTWBjFTXMyGZmZyoMfHqDG3GrMRHd+rsvzkskzhBC+4O5JkzWLhOMX/4KKBtuXfnd1V0hwEJdNTndZB3+49wTLJAgWg4w0Q4kB7aLxqbYBHe4mzDhYUUdEaBAbCqsprTV3mRhjQV4yE4YNJSc5ho/2nWCak0FsABPSY5k/JpmosBAuGp/KH97dxz/WFLKhsIq/f1bAfW/tJSoshJue3kJuSgwhQcagunve2E2N2Zhxzl36M5k8QwjR39xlkThQXkdmkpGO0lXd1WZZdt6YZJd1sL/SPrZJqknRBxIEiwFtRHwUby6by//7+jTy0mKYPire6XpjUoZSa25lb1ktM0bF2x7Zrck3ERUWzJp8E795cy9pQyPZebSGheNSnWZtuHBcCt9/YTufHahge0mt0xaPgooG4qLC2F16klpza5cJNNylP5PJM4QQ/c1dFokJw2I5XGmMa3esuxwzQTS3dbAgL9npfvo77aNkqRDe4I08wUJ4XXFlAzUlNVTsP8Gees32IzXMy03igrxk/rO5pMtI6OzkaErNLYxJGcqw2Ei2Halh+aI82+CNBXnJtu4Uf7hiIstf+cqWHWJEYRTfmZfFxbNz2V9WR1VjC9NGxrls8bC2nOw6Vst1Q8PJSoohbXgSxZVmas0tLtMOeZLTUwbOCSF8wZpF4lTz6UROidFhzMlOJCspmqfWFXWqu+wzQYDR9/eZ9cWsXDqrS670xOgwFk1I7bdzcVU2mdhD9JQEwWLAKTI1cPPTW3gsOIg/vrefo20hxEeF8rUpw/hgTzm/v2IChyoa+PJwNWPThpKbEsNf39rOTaHBjEqNIThIkZc2hPve2ttlcNz/XjuZ/WV1FFY2cs8bu5mbEsb1I+OpiQrhgQ8OMHVEHA9cPYlXth5l+sh4pwnmx6YNZU2+iZsnJTOjOJ6LJqSw2dTKkklpbvv3yuQZQgh/sWaRWLXpECmFUfz0otHk5gzjkU8PcaTKzMqlszrVXZuKqpg2Mo7iSrMtZ3pVYwtr8k28uWwub39VxobCSs7OSmT6yDge+jDf4ywTfeXuiZq78RhCOJK7rhhwPthTTlxUGNWNLVRbKjpr94ZHPitg2b93sO6giTvm55CZEMW7u45z+ZQM5uYmERSkeHXbMfZZWnTtVTW2sPtYLUeqGm3LrpqWwUd7y/m/jw+xobCKx9YU8vCqfK6fOcLpNM2Jltnhas0tnJWZwBvbS3libZGtz/BNT29x+1hOJs8QQvhLdnIMw2IjmDw8llpzG0+sK2LayHiWL8rrlImnoKKekmqzbTzFA1dPIj4qFDCeWg2LjWTZ+bk8dM1k1h408a2nt7Bq34l+GeMg09ELb5KWYF9pboaWlu7XE520tXewbc8RRkdpamvqiYo38k+WHD7Bqepa28jm/ENm7jh0nN9+bTx/WZLFFzuOYKqso/RoBW11Hew3VRPdbO6y/z35x1g8IY0Pms1kJ8dwrKSCsKZTRLU02dY51Wym5PAJvjpWyy/PyeBwZSMHTtQxOSOOGaPiOdXazHu3TOaDTQW0Odn2ky0FfHd+jtPzy46A1741kY/3nWBzcRVnZyVy0fhUsiI01Nd79VqKfhAWBuHh/i6FEB5pa+8gPDSYz/ZX8K/wYhrDo2xPyf5w5QTa2zs4Um3mhn9u6vIU7e7FY42nZ3ZPrf678zjbjtR0OoavW2TliZrwJgmCfWXjRlizxt+lGHRCgDuKqzl0tIoppoPcUtPEiNI4Wjdqbq/pGtQGF64ieWoGV7e20FFVQP3zTxHdHkRWUjSTS2q6rD/9RDxpeyP48YEK0mMj0M3NpB4/AEBrSKhtvRGFUZw7NIKObZrZCVGgFO35moq6Zk5UmylJiOKcEM3J8nzY1nnbxMIoOjZnEBSknJ5jFvBd4LYOTVClgi/7dMmEPy1YYPwIMQiEBAeRf6Ie3dreaXlVYwv7yuq5ZNIwl10NCioamDEq3vbUyp9jHDyZJU8ITwyKIFgptQY4z8XL/9Ra3+FmW1cTe0zTWu/sY9FcmzMHZszw2e7PZMmVDfz6sbVMrfict1LOJSwulnNHJ7Fy4+Eu6/7wglyCFuRCfT1BQOnkJTy65QQrLp/A658esnWnAEiIDiPjwtHc88lBfnLfGCqaWmiqPsmxv/+dZ2d8DXNYpG3dW+dlsbe1jWGxEfxpRxl3L87j3v/upjqkBRKMdTJC2vm/8zp4NuZszGGRZCXFMCoxkmFjkgk6a2S35yntFWeAsLDu1xHCQ76eQKetvYOvjtYy2clrO0pqaGltd5tK7f/dOJVh8UY6NX+2yPpqOnqZwCjwDIogGPgBMNRh2aXAr4F3Pdj+aeAph2UHvVAu18LD5TFpL2UNGcI/f3AeNX/YyH1fn8UJHUZsVAiv5Nd2+eY/aexwGDLEqLzCwzlvWhZPFzTz7/01/OrGWewoqWXv8ZOcnZXI1BFx3PnSDmraQ7lrVTE5yTH84pxhFEdGYA6LpDE8yrbfjJEpPLwqn+WLhnEq8iQbKpo52hYC4ac/MqXNZqpaYXROOl8753QmivKOUIpOKRmlLITwSH9NoBMSHMTs7ES6PlMzAtew0GC3ga01ALbyZ4usN6ejlwmMAtegCIK11vsclyml7gVMwIce7OKY1nqT1wsmfCYrKYa4xGheLatjzfFTzMtJ4h/fms7H+06wr6yOsWlDGZs2hKbWdh5dXcC2PUdYUdXIv744zPNLZ7GxqIrnNx7h0klp3HDWCL44VEn9qVaC1OkuCoWmBh75+BBPTh2GWjiatWWnmDYinvHDhrDveD3LF+Xx4IcHmDEqnl3HTjotp6mhmV8uzuPW1ztPI/rcxiOSrkcI0a3+Tvd10fhUPgoN7rTMPnB1Fdg6yw/sqxbZnvBGACzp1gLXoAiCHSmlkoHFwGNa6zZ/l0d4X3FlAx9tPcojbYc6Dd74/RUTKKpsZE2+idyUGH75+m6qGluYmxJGu4ZRiVHc/95+JmbE8u05owhWiustFVx8VCh3Lx5LkanBFkhPGqKIem89l0xMI314B2lDw3lxcwm7S+tsaYFqzK2cNybZaetIypBwth6pkXQ9Qohe6e90X1lJMVw/cwRqgfHF3zFwzU6OYeXSWby5o9RWT+amxPDjf+/gyZtndgkMvdki6w+Sbi2wDcogGPg6Rtmf93D9Hyml7gHagI3Ab7TWG31VONF3H+87QZOTwRsl1WYmDYtl/uhkGpvbbJXXLfMy+eidch4PLeoUNP/lhim2Ft0acyv3vLGbnOQYvn9eNhGhQUwYGkSHhq8/udmWj/juxWNJHhJOWmy47QYB8NyGw50qy4ToMNJiI/iXTIAhhOgFfw0ui48O47vzc1gaFe10/2vyTXx2wERmUhRr8k08vb4YwG1gOBjrOZnASAzWv+63gf1a660erPsCRp/ihcD3gFRgrVJqng/LJ/qgrb2jU85KgPioUB66djKnWjvYcriaspNNjE6J4c/XT2HGyDh2HT3pNGhed7CS17Yd4+7FY23LC00N/HdnKdNHxpOVFMOhigbbADproPzZARM3njWSZefnkp0cY3vsd9eiPOblJnLXojyeuGkGe0vryEt17K5ukHQ9Qgh33E1n3Nf6o82DfLnO9m8NDAtNDXy6v8L2RAzOvDy8vrz+YnAYdH9hpdRYYCYetgJrrb+ttX5Za/251voFYB5QDvzBxf5XKKW0/Y/XCi88Yh28Ye/uxWP50wcH+NunxqQWj68t4mevfIXu0PzowtHsK3PeZ/dAeR1xUaEUVDSQY/cYb2zaUH700k4KTfUcre46TKTQ1MBLX5Z0qvCtj/1W3jqLZefnMi49lvPGJDN/dJJMgCHOCFL/9T9vT6BTZGrg0dUF3PTMFh5dXdDjiSsCLTCUCYwC22DsDvFtQAMv9mZjrXWdUupd4GYXr68AVtgvkxtB/2pr7+g0eCM3JYbiykan/bb2l9czRmvGp8c63Zd1iuNTre1kJkVRaGqwzfr29PpiPt0fxZxU54MfXFX49svio8OYk5vEK99L4sO9J/w2OEQIb5D6r/95c3CZtwZ5+TLrw0BLQzYQBvcJ/xlUQbBSSgHfBNZorUv6siuMQFoMINY0NbuO1rJ0ShJLJqXRuiCHUxFRbC+pdbrNgfI6IkODuHhCChudjHi2BrtLJqZxor6JpedkkZsSw4MfGhNkbC6u4uuJ0SSEhtHY1nnbnlT4OSlDWJYyRPqQCSF6zFuDy6xTzk8bGUdxpZlCU0OvBnn5IjB0TEN2SWY0Wb3em3cN9sF9ovcGVRAMzAdGAb/r7Q6UUkOBy4DN3iqU6Dv7FowHrp7Ez1/dwWNNbWwsqiIrK5TJw+OcZmcYmzaU6PAQHltdyG8mp9NyXjabKlttI5of/PAAidFhzMlJ4JkvDrP9yEnW5JuYMSqe4kozZ2fFMqQylJU3z2JjRQvHa5sYFhfJ7OzEXlX4UoEKIXqrr32AMxOjWJCXzP6yOhbkJXPbuVk8+OGBLoO8Ojp0t30hvZ2H17GF+qWQNt5ubiG+T3v2Lqm/A89gC4K/DTQBrzm+oJTKBIqB31ke6aGUWg7kAquBExgB9HIgGbiuX0osPGJNU5ObEkNBRQNxUWFUN7aws6SWL04YgXFidFiXx3Pj0obQ2qH5/FAlh6vMhIYofrl4LNtLanl313Gunj6cSRmxtLR1cNjUyG3zs22TWlwwNplzRw+1TVtcY25le0ktkWGD7WMhhAh0JdVm7ntrb6dAMzE6jLsXj6W0tong4CCKTA18sqWQxB2lVK0rZOGs3G6/7HsjMHSWhqy6sYVD1Q3M6vPehei9QXO3V0pFANcCb2qt6z3cLB+4yrJdLFALrAdu0lrv8EU5Rc/Zp6nJTIxif1kdIxMiqaxvNnJ5AK9sPcqfrp7E3uN1fHmkmkkZsZydlUi1uYUH398PQHndKdKHRpKXOoRNRVVEhAbb0vv8+fop/M/Vk/jBi9s73SQ+3NjG602nuOnpLcaMcPgmWfpA6wcnhDizuMp3W2Rq4JzRSRRW1HP9PzdxqrqW22vMPPnJIf653eTzSSHcpSE7WmNmRnsHwU5fFcL3Bs1dWWt9Smsdp7X+hovXD2utlbUV2LLsHa31PK11ktY6VGudrLW+SgLggcV+NHJxpZlx6UM5UtVE0pBw4qJCeeDqSUwfGc+/NhwmNTacW+Zm0tDcxv3v7efnr3xFjbkVMCauiI8OJyhIMSZ1CDtLaik0NZCbEkNF3Sk+2nfCaWtEQUUDsZGdRwdb+9H1VV9HagshRHfcBZr7yupobevgrZ3HXU4K4Uvusk2MiI+SLgjCr+TdJwYEa5oaa9B6sqmFhOgw7ro4j4dX5fP0+mI2FFZxzxt7OGlu5YPd5Z3yVyZEh5GdFM32khpe2XqU2MhQfvu18Sw9J4vFE1JpaG5jf1md02OXnTzFqMTILsv7mhPT2g/uoVX5bCis4qFV+Vz3+EYJhIUQXuUu0ByfPpShkaFsPVLj9PX+yP3rLA1ZQnQYo1MkA4Pwr0HTHUKc2ayjkd/dVcaa/Ar+cv0Uhj6xntKTTV1aL/74/n7+esNUjlSZqag/xfD4KHIiOij800fsOlZLVmgkYcFBTMgYSnhIMA3NrdSdamNc+lCng+vSYyM4UtXUZXlfc2LKdJxCiP7iKq3ZheNS+dMHB5g2Mt5p/dcfuX+dZZu4JDOa+OfkoazwLwmCRb9z1T82OzmGH184mv1ldXyy+RDTa5vY5qL1orGljYr6ZraX1DIrK5GfrdzANSU1bE6t5rPSU5Ypk6fy3MbDTB4ex4VjU0iMDusyuC4hOowcZbQ8238c+poTU6bjFEL4grv60z7QnDYintyUGL7/wjZqzK1cN3MEidFhnGo+PTlQf04KMTIhqnO2iXpPh/YI4TsSBIt+45gn0lneySJTA996ajPpQW2cFaSYOiKOz0o791m7e/FYfvPmXls2ibUHTbZpj62MKZNNnKhr5vG1hby69Sj/+NZ0Hr5uCpuLq9hdepKZo+I5JzWcE4+sZuWPZvH+4Uav5cS0Pp70V8uLEOLM4kn9aZ/W7OWtR/nJyzttrz344QHuXjyWiuMmhhdGcefC0SyclcvIhCi/l1sIf5EgWPQLT2cyWp1fwfJFeZQcPkHppiamj4gncXe1bbvclBiKLAng4XQ2CWcOlNfZZomramxh1d4TFJkayYiPIDMhmnd3ldMyIoppdaeYEB/Fsqx0r7bQ+nLWJSFE4CgyNXDXa7uIjwrlRF0zD63K71R/OrYOB1umnrd/8lVjbuXhVfm8ddMkhk3N4PjENN7ycXDqtt6P8OqhhOgVCYJFv3h3V1m3/WPb2jtIGxrBfW/ttaXx+csbu7jnqhmUVJvZVlLDZZOG8c6u47Z9FFeaWZCXzFf7uh7TOmWy1YHyOiJCg3lh0+nJBg+Gt3FlQrQt8PVmC61MxymE8IbjtU1MHRHXaRKMJ9YWcry2ydbKetnkdM4bk0xGvNGya61/NhVVdZoEaHiEpqapla8/ublXaSE9SfdoXcftuIiZqX24IkJ4hwTBwueO15rZVNS1WwB07h8bEhzEifpmpo2MozzImMO41tzK8td28YvFeZw1KoGK+lNMyoi1dTMoNDVw27lZJDiMPLafMtnKMSgGGJs6lGHHIoxK25snbSHTcQohPOEquCyoqOfOl3Z2mQTj0W9OZ9mL2+nQmrsXj6WgooF3d5UxOzuRyyan24JZZ5MAHapooDqhBcJPL+tu0K6n3dms63x91kj34yKmJUt+YOF3EgQLnyurPcWEYZ0zM+Qkx5CVFMUFY1NswWHBiXoq65sxt7Rz7ugkLjycyqtRoYSFhzIqMYp9x+vZXlLDHefl8Nq2Y7abwoMfHuC3F40h9UgCu3MSmDBmOCMTovijZRINOD27nH1QnJMUzSWT0tj/bj2PP7+VGRNH+aylVgJgIYQz3QWXq/Z2zW9e1djC54dMxEWFcdu5WTy8Kr9TkPzchsOsXDqLm57e0qUrwivfnMDRajMkdC2Lq0G7nnRnc1znRF0zF4xNlnERYkCTINhXmpuhpaX79c5wbe0drN1WxJiEKEaEtNGhNT9ZOIYiUyP5J+porgll/8Fgahtbufv1XbYBbodamkjOL2P5lRm0RUXzwMtf2l6753A5v7k4j6M1ZnYeq2Vs6lAyIzqoqGsktq2ZrXtKmDB3FEunJLHjaA2Th8exaHwqkWHB/OrcDDYXV3F2ViLnjk7izifXc0V+GbtjStlcVM1Ln4axcuksspJiOp2D08d/9fXG31lGOQeusDAID/d3KcQg1V1w6S7LzM6jtczJTqCgoqFLkBwfHeayK8Kn+yuYk+r8i76r4NSTdI+O61if0jmb7t4YF6FdXBUh+o8Ewb6ycSOsWePvUvhdUIdm1I5STA3NPJabREx4CB/9/nXCW9uZDMwcl8ru43WkxkZwTcnpdGihba2MP36A0H8/jZlgrnFIlXZ4LczLTWJ8UyvHappoigtlwpF9ZOx4j89L6oj/Kp4fZiXQ3t5BcGUQ7DS2+y5wW4cmqFKx5ZVqrsgvY8bxAwC0hoQCYDr6KVlZCdQ0tnCoooGj1WZGJEQxOiWGePtuF83Nxt8ZJBAKVAsWGD9CWLRZJp6w/+Ls6ot0d8Gluywz00bEc7KpxenA4MzEKLa7SC+5ubiKrydGkxAaRmPb6eWuBu16ku5Rg9N1HvzwAH+8aiLFleau4yKk8UAMABIE+8qcOTBjhr9L4VfWir9iTQF//6yA95JjOG9MMv8KNbokZCfH0JybREl1I02t7WxOrbZtG9ViTF6hLv0GW6ta2ZxS3WX/u3MSiAgJZk2+iQUZEVxibuVvKefyg+9MIXlkHCTFOO1zFmQp2+PPb2V3TCkAz874GuawSNt+R1w+keuf2GT0m7M8NkwID2PlzXatxNZK/Ec/giFD+ny9xCAUFtb9OiIgFJmMPrmbiqqYPDyWc3KTSBoSzhcFlXy6v6JLVwdPc4m7zDIzKY373trL1BFxXYLk4kozSyalOQ2ez85KZEhlKCtv9iwtpKfpHp2tU2NupbjSLOMixIAlQbCvhIcHbOugYx+3BTOyeS3/JKnJ0ZTrEOZMzaS40kxqUhRfnWznRKNiQV46n5We6rSf1pBQhqUlMiM9vMtrAJmZ6azJN9EYHsXIkSlUtkBpWzAlbSFcmZXutowhwIyJo9hcVE1rSCjmsEgaw41R1dMnjGJ12Slj5LTdwJHGNnj/cCPL7PcdHm4EwBIECxGwnHVreHXrMe5ZMpaosBA2FFZ16ergaXDpLsvMQ9dO5nhtE2/uKO0UJNeaW1gyMY3/bC7pEjxfND6VmjUtfLzvBMVmuPGskUwdEcuIhGiX5+cu3aO1saO7lJDWzg+eZJdwprfbCeGOBMHCq1z1cXvx9rOpaWxhfUElx2tPsSAvmekj49h5tJYNhcVO+45FhgZzVlYCOmYInx2oID4qlOJKM4Wmhk7ZHxKjw8hOjqbUbGy7ubiK9vacblsdlkxM46VPu2aVWDQhlfve2ut0G5ntTQjhyFW3hv3l9STFhJGTHGPLV27fj9bTXOKussxkJ8eQnRzDK9+bzYd7T3QJkp0Fz0GN9byy9SiPtB2iMTyK17aVkhgd5jI9WpGpgdX5Ffz+ignsL69nR0kNc3OSWJCXzOr8ik6t3O/+aB6r8028t7uMuTlJXDopjQ4NT68vIm1oBPvL69l+pIZ5uca0yVkeXFuZbEP4kgTBwqtc3QxM9c38xCHNz5uWND9vbC+1zWZUUNHAgfI6ZielcW5jEqda2tGt7cwfncTm4mouGp/CipzxhAYr/rXhMEvPySI3JYa/vrWd6yzH83TkcXZyDCuXzsJ09FN25yQwfcLp7BAy25sQwhPuujUcKK9j2og426Q90PmLdHZyDG//cB5rD54OHN0Fea6GkuWkDGFZyhCnX9Djo0KZOjyO+ChjzMPagyaaWts7reMqPZpjo0ZOcgyTMoZy8YRUbvznpi6NHb+/YgI15lZ+f/kEclKG2LZfviiP+97a22n9l0LaeLu5hXgX5+Ts+D3JZyyEJyQIFl5hHQzi7GaQmxLDFwWVToPjbYdreOG2s3lvdxnv7jrOOblJ3HZONi99uocFGk42tnLnK1u6PGZ8YeksfnvZeH700k6eXl9MdHMrAAk9nJEtKymGrKwEZnxrJsFxsbblMtubEH0UIBlyQoD5aeF8tc/c5bXJQ1OIaz/FiWOVRDebyUqK4ZvjEwg2N1JoqufT/RVsKqpidnYif7hgJNnJQwDdZdBYcWUDH+87YVv3ovGpnTLYWAU7bHPz01uobmwhKymGUYmRvLfhILdMSqS+rdU27sJq+94jtE9L7hREf7KlkFPVtVg7SpQfMxPVbOb9iI5OywFONZvZc6CUzw9V8tKne1m5dBaf7DvBsOA2Sg6f6Lp+fRNFNdXMcDNAzvH41uN8sqWA787Pcbmd6EeDPEOOBMGiTxwfVf1gQQ77y+qoMRtBaU5yDJdPSWdTUdeBbQAbiiq57ZxMyk82EREazGvbSik05fPQoiz2v19HsYvg+b095Sy/OI+Hrp3MB3vKKTt2giVN6Vx7+9kM70ULgWPricz2JkQfBUiGnI4OzWW1TajdZZ1aWCNDgzm3MYl2DW2W+rHmRAumTc0cyYznkz3lNFmy5JiBj0ODuX7mCGIjQwkKUrb91DS28NHWo53W/ciybny064GZpuJqvllidD2oPtFCZX0zSUPCyTwQQnpVAWx7x5YRB2BudRLBlZ93Oq/EHaXcXtM5uM9OiqZ1o+6yHGBEYRRjgxTFlY2Yjn5KprmF21vbna4f2tZKZE0hHX97BMLDO52zu+MDJBZG0bE5o8s21u2cLRc+Msgz5EgQLHrN2aOqxOgw7r1kHH98f7+te0NJtZnpI+Odp/kZGU94WAhZSTG8tiofMFqOi0yNjAsNIv9E1/Q/ADtKamhtbSc7OYYlE9P4xNzAntKTVO0pZ2FUTJdgtTeDKmS2NyH64AzPkGPfOjtzZjyzv5vIxsIqth+tYUJ6LOMzEzgVHsznhyoZmz6EH7y7n+rGFrInxlCQm8TKkMMAtlbaI1VNnJqQQkXdKUYlRttae19dV8gjbYe6HF8tGO2yNdSa/WbJLen84NNDRo51yyzFGSHt/HOB5tmwmbaMOAnRYVyxdBbYtS4HAVXrCnnyk87HzkqK4aIJKTy5tqjLcW+ak8nnhyoprmxgd04C10wfwROrCzl3dBIrNx7utG5USxNnV3/Bxku/wfuH6zuds7vjA9y5cDRBDufuaWu58LJBniFnUATBSqkFwGonL53UWsd1s20EcD/wTSAOI2Ps3Vrrz91sJjzgqv/v8ZOneOqmmXz3+W221x+4epLTpOmXWLoXXD4lnUMn6tldWkdmYhT5J+pIM7eSlzrUaWaIaSPjCQ0NtgXip6prub3GzJOfHOKf2022PmPeGFQhAbAQvXCGZshpa++gpNrMdS/ssdVnn5WWkfhVFU/fchYnQ45T3drOijVHKTQ1cMXUYQSZlS3bTGpGEl+dbCcsPtbWULC/rI6zp6QwelQcRXtP8D+fl/LP7Sbe/uE81hw/ZctcY29t2SmWRkU7rZ9CgIWzcjlgauyS5aa02UxFs+aur8/graJ621OuLCf14sJZufxzu6lTvV3WEcLCWbms3F3dpT6fPH44Hx010xjewfQJo5g0Np2yT48wMjOViPzaTusnRIeRpIby+69MZGWlMyQ5httez+fJm2fa6mhnx0+MDmPhrFwYcrq8RaYGh79Haaf7gBCuDIog2M4yYLvd722uVrTzNHAJcBdQbNnHR0qps7XWu7xfxMDgbjDI5uIqspKiO1Vc1oFvx2rM7Dxay9i0oYxLG0JMeLAtUK2ob2bJxDSmjoylsLCMGnML2cnRbmYcOh2I2/cZsw7yuHxKuseDKtraOwbdh0EI0X+s9dThykZSYyOcNgB8su8E44fFsrv0JGmx4VwxdRjXzshg+aunbzXFlWYW5CXztSnDukx3/OaOMH5z2Xje2nmcqsYW1h409WiQrv0Tr/PGJPPurjKn53LyVCtXTs3gmvOGuv2S76xb2OVT0kmPjWTl0ll8sKecHSU1nDUqgemj4nlx0xEW5CXz/fOymZkZz4iEaF69Yw6r8yv4w5UT2FdmZJc4OyuRkSFtfLjiNTaHVvNZ6SkSo8NYviiv0wA9T7uleTKjnRDODLb7/j6t9SZPV1ZKTQG+AdyktX7esmwtsBdYAVzti0IGgu5yXK49WNFpWY25lXve2M11MzM4KzOBd74q4+n1xbywdBZ3OmSNSIwO41/X5LExNJi/fnKQ5VdMt2WNOCszgYvGpzJhWGy3yeZHJkR1WzEWVzZgKq7m8ee3MmPiKOn3K4Towr7r18JxKZTWNjldb8fRGkCTkxzN0nMyae/QlNWeYsKwoba6stDUwM8uGs3Oo7VO66fdpSdtKdXe213G7y+f0O0gXccnXosmpJKbMoTZ2Ymd6uj4qFB+tWgCMc+s5Y4Xt3lU59l3CztSbebtr8rITIzivrf2EhcVxq8vHcffVxfw109Pd1uwplyzbp+dHEN7eweXTBpGe3sHL289yr0v7eR2uz7UVY0tFFQ0UHeqxZjp0y5PsrtuaZ5OOiKEM2f6O+NyoAV41bpAa90GvAQsUUqFutpQdG/JxDQSo7vm2V0yMc1lX6yhEWG881UZhaYGclNiWO9i4Num4mpuPGsEN8/N5N1dx8lJjubBaybzk4VjmDDMyOIQEhzE9FHx5CTHsCAvmfio02WZOSqhSyButaGwkvb2DopMDdz09BY2FFayuaiah1blc93jGymypDISQgjo3NJYXGlmXPpQp+vNzUnipwvH8I2zR3GqtYOfvvwV7+8pZ+qIOK6cOowcS7D50d5y9h53Pt7hQHkdmUlRtv3lpAzh1TvmcNeiPOblJnLXorxOT7OsAfpDq/LZUFjFQ6vyueGfm1h/yMSF41LISTr9nOzuxWN55NNDbCmu7nGdd6TazHWPb+S/O0rZXmIE8ErB+oJKtjlM0WxtbLBnDUQ12Fqo46PCWJCXbLsuB8rrmD86xWnQ6iqQtTbIOCMpLUV3Btu742WlVLtSqlIp9bxSKqOb9ScABVprx06le4EIINsnpQwQ1kdVzipnVwFybkqMLV9mZmIUu46ddLrvzcVVDIkI5bvzc1h56yy+cfYoMuI794tra+/gvDHJXDA2mabWdjKTollx+QRykqKZNHyoy0DcWjF+sKfcGDBix1nlLYQIXI4tjdYv8K4aAKxB1wd7yhkeH2mbFKiivpnFE1N57JvTmDEqgVmZCU6PNzZtKIcrzZ1ae62toStvncWy83M7tdy66gqwOt/EfW/t5ZFvTOOuRXlcP3M4pbVNva7zrMfJTIxif5kRwNv/35G1scFRSHAQF45LYcXlE8hMiqaptZ0Feck8cPUkZoyMZ+qIWCd7c89dg4wQ7gyW7hAngT8Da4E6YDpwLzBfKTVda931mbwhAahxsrza7nXRB9bK+fZzsggLDe603L4v19lZiQyLjeCP7++3rVNjbuW8Mcku57cPqjTS3Lj6Jl9SbeYOy+C76GYzk0tqeP3TQzz0nXPYe/xkt1N9yiM0IUR3nHX9so5xKK1tss2gZt+toK29A3NLG4smpPHrN/d06e71p2smMSopyul4hxmj4ghScOW0DLKTYzr183XWB9jdRB1xUaGsyTex7PxcWlrbueXZL52u212dZ38ca5/mDYVVnf7vyF0r7OzsRO54bA3XlNSwOfV0n+Bnbz3L7fTNrkhKS9FbgyII1lrvAHbYLVqrlPoc2Iwx0O33LjZVOJ9kx2USQaXUCuC3vStp4Oku+4J1tqJhcRGMSx/Kbedmdxpg0dzWwXMbDjud3x7n9bWNsxaQ6sYWPt1/gpvmjLINynBVMc7LTeKrfUe77FceoYlAJfWfc45fqGvMrTy8Kp83l83lpxeO7lRf2Ab61jWzh5POu3sVVbO9pIZ7lozl+MlTbC6uYtrIeM7KjCc6NITbzsmksaWDR1cXuM1s425sxti0oazJN3GqtZ075mcTFhrc6zrP/jiFpgbbNPf2/+/JxEJr8k1OW6TXHapk0vA4l9u5IyktRW8MiiDYGa31VqVUPnC2m9WqgYlOlsfbve643xUYg+ZslFKuZqsMCK5y7Lqb0hLgrtd2ER8VSnGlmUJTA4nRYby5bG6nARa7jtbytxunsr2k1nYjGJc2hK+O1pLY1IrznnfuW0D2ldUxLNbIf+muYlwyMY2XPpVHaEJYSf3nnKuWRsdWS08H0B0oryMhOozlr+3if66ayMpbZ3H8ZBNvf1XGFwWVzM42npw99XkRNeZWt5ltXD3xyk2J4en1xVw9PcNW9/WlzrM/jrUlvMjUwJr8ik51eHetsPZ1t7VP8IFGRaGpwStP4SQAFj0xaINgC1ctvVZ7gSuUUuFa62a75eOBU0DXbN/Cxl0rb1t7B5uKqlz0RatgQnosU0fEsb+sjgvHpbB80RieWFfE21+VsWRiWqfgedW+E8wYFc9PLhzNXz45SEZcJCXlDbTvO0HFmgIWzR7doxYQZ60azirG7OQYVi6dhenop+zOSWD6BMkOIYRwzpOWRscBdK66ClhbaQHe213GgjHJXPnohi7dJu5ePJZ73tgNuE75ZQ3Q391VxubiKsamDSU3JYYHPzzQKcAtMjWwOr+Cey8dx9AjCT2u8xy/CFQ3tnDTnFEMi40kODiIc0Yn096e020Qau0TfFXuUFJOrGFtazsL8tK57dwszC1tEsSKfjVog2Cl1ExgDPBvN6u9DfwOuBZ40bJdCHAD8KHWutXX5RysnLXyvrHtGI98Yxpr8k18UVDJ5OGxPHD1JB788IBtmmSA9NgIlv17e5cK/eHrphAc5Lwbw7YjNaw5aOLmOZn84d19pye/+KyAp3ZWetwCktDDltyspBiyshKY8a2ZBMf1fECGECKweNJvFnDbVcDaSgvGl/Y1B01OGxSOVJk5Py+F1flGphtXLaXZyTH8+MLRHK/JYM1BE+/uOs5t52bbAtyj1Y088ukhdpfWUX6sgrtPNJAUHc7lU9I7tWZ3N7Nmd18EPA1gXfUJXrl0lkfbC+EtgyIIVkq9ABRi9AuuA6YB9wBHgL9b1snEmAzjd5ZHemitdyqlXgb+n2XmuMPA94Es4Ov9ehIDnGPl5yxQvW1+Njc9vcVta0VuSgz7yuqdVujrCyoJCYLdpc5HE9efauVAeb3LyS9ctYB8sKec7XuPMLc6iSuWznI681F3pPVBCNEXngygG58+lOxko5UWjIB40YRU7ntrr9N97i6t5bLJ6Vw8IZUHPzzQbd/dYfFRfOPsUdwwcwTBwUG0WVJBvrGjlIr6ZhbkJTN2ejIdBz+gobmNzw9V8o2zo3s0s6YnU9B3t46rPsFr8k22FJhC9IdBEQRjdGv4OvATIAo4jpH797daa2fZH+zdCvzR8hOHMW3yIq31Tt8UdXBxVvmNTIjq0t82NyWGgooGp8FtQUWDLbn7xGFD2X7E+Z/kQHkdmQnRTB8V7/QR4bQR8byz67jTbd21gCw7P5f2ackEV34OMle8EMJLPAn47HU3gM7a73f8sKGd+s66G9z21OeHqTW3cO8l4zg7O8GjMh2pNvPBnnLbpBbW8uwvq+O3540gNSGKptZ2SqrN7D1+kh//eweFlY2A65k1PQmUPVlHMvOIgWRQBMFa6weAB7pZ5zBOsj5orZuAn1l+hB1XA9veXDa3U6WckxzD5VPS2VTUZRwhYAS3SyamEhmWweVT0nn7qzK3/eB+fvFop48IE6JDGZc+tMfpdkBacoUQ3tOTllF73Q2gG5EQ7bQ7QXeD2+KjQkmNjbANnHNXJmu9Hh8dxnljkjvt8+7FY/nz2zu4priazUlGN4RXtx5j+aI829M86Pr0zd0gaMdJOxzXWbl0VqfWXWuLuWTmEQPBoAiChW+4SrJuHbz2xrZj3DY/m4KKBkqqzUwbGec0QJ0xMp5vnT2SFEtGhu4q9LKTp5zeKIIURIeH8OaOUk41mzttKxkbhBD9wZOAzx1PBtA5e6JlXyfaD24DI3j9icP08q7KZK3Xp42M6zSRhfVpnrNuCPZP86zsW2Vd3SvsA2VX67y5o5ShESGd+h5LZh4xUEgQHKA8eST1yDemdeoD/MDVk5y24KbHRbLkkfW2CtnVaOVXth7lyqnDuHh8qssWkcykGF753mw+/bKQxMIo7lw4moWzciVjgxCiX3gS8HnCWq952qXCGjyPTIjir58csg2cc9cVzbFMria1APezu1mnarYPgq2tsp7cKzS4TVm5/UhtpyC4PzLz9LQriwhM8g4JUJ7Mt74mv/OI5Qc/PMBvLhvPD8/PZV5uIkvPyWL5ojwe/PBAl6k3raOVH7pmMuPShxAbGcK83CQq6pt5+6sy21z1zlpKclKG8N35OVw1NYPvzs9x2qdMCCG8rbuAz9k0wK4UmRp4dHUBv3xjF+98dZyj1Y0ebTdh2FBqzafr3Z5MTWxfrztO71xcaWZcuvPM6+PTjamarexbZT25V7hbZ2zaUNYXmjheY+60PCsphllZCTzxrZldpoLuC+t1v+mZLTy6usB2rxHCGQmCA5i7+dad3QxqzK28u+s45XVNRIQGsybfxD1v7LalR3N2kxgWH8X0kfH85s29/P2zAjYUVvHQqnyue3xjt5VTUFDnLt5SuQkhfMmTgM8TRaYGbn9uKwnRYcRGhvGfLSWs3HiEvcdP2tZx9WV+ZEIUby6by12L8piXm8gFY1OYnZ3ocZns6/UHPzzA8kV53H5uFmmx4Zyfl0yCkzr/ymkZXD09g3m5idy1KK9LNwt394ru1slNiWFoRBhrDpqcnoM3+wBbu7I8tCq/R/caEbikO0QA626+dWcjlosrzSyZlMZr20q77M/VTcIbjxf72k9PCCE84WpMQ0/6q36wp5zb5mfz8Kp84qLCyEqK4rMDJt7YXsrKpbNsudbtB7g5G4xn7S5WZGpwOr28szJ1N6mFq24IE4bFuuzH3N29wrrOyqWzeHNHKfvK6mzd4J5aV8Rt87N5d9dxW+o2X/FWVxYROCQIDnDdTSvseDOoNbewZGIa/9lc4lGF7K10OFK5CSH6gycBnztt7R0crmykqaWd5YvyKKhoYH9ZHQvykslNiWHVnnLe211umSb4dAYFxxzs9l/ye1omd/W6uwmC3NXFngz4mzAsllMt7WQnR7O9pIaCigZum5/Ngx8e4LZzfZv6TFKvid6QIDjAuBos4Mm3/0snpXPemGQy4qM8rpB7Or2xqzJ3W7l1uxchhPCMJwGfKyHBQcwfk0yQolOOXuvkQn+4cgJ7y+psg9Dio8M8+pLfmzL5Iq1kd9vFR4fx2rZS4qJC2X7kJE+vL+6XzA/euNeIwCPvigDR2/601or395dPoMbcyl2v7eLR1QUALDs/l5W3zup2UIMn/cnc8VY/PSGE6Ine1i0zR8Wxr6zOaWC793gdHXbdgTMTo1xOMORsnMVAr++yk2N46NrJTB8ZT1psuNM+xr7S13uNCDzSEhwA+tqftsjUwPX/3NSnvJl9ebwI3umnJ4QQ/SF5SAQ7SmqdvrbzaC0RoaefXVnHWZxJLZh9aUnv63H7eq8RgUWC4ADQ1/603uiP29dKUSo3IcRg4e7R/IT0WD49UGH7vafjLPpbX/Lt+iOA91cALgYnCYLPcJ4OFnBV0XW3/VVThzEsPsrj8vSlUpLKTQgxWLh6enXV9Awyk6J4b3dZpy/zA+1Lfm+njh4o5B4hPCFB8BnOXYvEBWNTOFJtdlvROds+JzmGrKQoZoyK50cv7eShayf3a+UolZsQYqBzDGzPzkpk+sg4/vrxQSaPiOP3l08gJ2VIp/UHypd8SUkpAoVEEwHA1WCB2dmJHiUWt24fHxXKA1dPYkFeMuaWdppa2rl2xnBW51cghBCiM2tg+9A1k1l70MS3nt7Cqn0neGhVPtf/c5PTAcr+DoDBfRc4Ic4k0hIcAJw9art8Sjpvf1XmUV/f7OQYXv7ebEprmvjZK185TflzvMbco24RQggRKP678zjbHDJADNQ855JvVwQSeScHiJEJUZ1SmqXHRrqt6BzT8uSmDGHbkRqXKX/+9GG+TE0phBAOugsqHetaf5OUlCKQyLv5DOeYH/hItRnoeUXX1t7BVhe5LHceraWxpU0elQkhAlKbm0C2t0Glu336muTbFYFCukOcwbob3NCT3LvuBtiNTx/KZwdMnGptl0dlQoiA4WkGhZ7UtQMhK8NAzFYhhC8M+CBYKXUt8HVgJpAMlACvAw9ord0+f1dKaRcvTdNa7/RmOQei7vL79rSic1WRZyfH8OTnxVw9PUMCYCFEQOhJBgVP69qBlJVhIGWrEMJXBnwQDCzHCHx/BRwDpgG/BRYopc7VWnf3zOhp4CmHZQe9XsoBprt+aLefk0VYaHCPKjprRf7urjI2F1cxNm0ouSkxPPjhAXlUJoQIKD2dRMiTutYbExN5mwTA4kw2GILgr2mtTXa/r1VKVQLPA+cA67rZ/pjWepPPSjfAWCe9cNd9YdrIeH715m6ykmJsrRGeVnTZyTH8+MLRHK/JYM1BE+/uOs5t52bLozIhRMDoSwYFd32AJSuDEP1rwAfBDgGw1TbLvxn9WZaBzFk/MlfdFzLiIvn7ZwUAfHaggkdunEpGD9ObDYuP4htnj+KGmSOkYhZCBBR3jQy9zaDgi30KIdwb8EGwC+dZ/t3vwbo/UkrdA7QBG4HfaK03+qxkfuCqH9nr35/TqR/atJHxZMRF8uCHB4iPCuXuxWMpqGjgrtd29XoAhlTMQohA1JPBbv7cpxDCtUEXBCulMoDfAx96MLjtBeBd4DgwCvgFRneK87XWX/i0oP3IVT+y93Yb/ciWnZ/L7edk8as3d9tagB+4ehIPr8ofEAMwhBBisPFFBgXJyiBE/xpUQbBSKgZ4C2gBvtPd+lrrb9v9+rlS6m1gD/AH4AIXx1iBMfBuUPC0H1lYaDBZSUZFmpsSQ0FFw4AbgCGE8K/BVv/5my8yKEhWBiH6z6D5hCmlIoC3gSzgYq11WU/3obWuw2gZPtvNOiu01sr+p9eF7geeJmJva+/g8inpJEaHkZkYxf6yOqfbDMQZjIQQ/WOw1X8DhS+CVQmAhfC9QdESrJQKxcgNPBO4UGu9ry+7A1zlDx6UHPuR5STHMCljKFdOTe8yYG7l0lkcKKvjUEWDDMAQQgghRMAa8EGwUioIeBGj+8ISrfWXfdjXUOAyYLOXijcgZCfH8Oayuew7XkdEWDBfHq5h+5EaiivN3PnSTqf9fqeOiOPVrcdkAIYQQgghAtKAD4KBR4HrgD8Cp5RSs+1eO6a1PqaUygSKgd9prVcAKKWWA7nAauAExsC45Rizzl3Xb6XvB/atvROGDSU7OYaNBZWszje57fcrAzCEEEIIEagGQxC8xPLvvZYfe78DVrjYLh+4CrgWiAVqgfXATVrrHV4vpZ84S4+WGB3Gn6+fwhPripxuYx0wJwMwhBBCCBGoBnwQrLXO9GCdwxh9fe2XvQO845tSDRybiqqYNjKO4kozhaYGwGjt3V9Wx8SMWI/6/UoALIQQQohAI9HPIFZQUU9JtRlzSzsL8pJ54OpJxEeFArC+oJJpI+NIjA7rtI30+xVCCCGEGAQtwcK5IlMDN/xzU5duEHcvHss9b+xmbNpQnlhXxD1LxnL85Ck2F1dJv18hhBBCCAsJggcpV7PEFVQ0MGNUPDNGxZEQHcb0UfFcmxxDe3uOdHsQQgghhLCQIHgQcjdL3IHyOv7fjVNJHRoh/X6FEEIIIVyQyGgQ6m6WuGHxURL0CiGEEEK4IZHSILVkYpoMehNCCCGE6CXpDjFIZSfHyGQXQgghhBC9JEHwICaTXQghhBBC9I5ETmcACYCFEEIIIXpGoichhBBCCBFwJAgWQgghhBABR4JgIYQQQggRcCQIFkIIIYQQAUeCYCGEECKAtbV3+LsIQviFpEgTQgghAlCRqYEP9pTzRUEl83Il17wIPBIECyGEEAGmuLKB617YQ1VjCwAbCqt4Zn0xr94xRwJhETCkO4QQQggRYD7ed8IWAFtVNbbwwZ5yP5VIiP4nQbAQQggRQDo6NJuKqpy+tqGwknbpIywCxKAIgpVSI5RSrymlTiql6pRSryulRni4bYRS6mGlVJlSqkkptVEpda6vyyyEEEIMREFBitnZiU5fm5uTJLOQioAx4N/pSqko4DMgD7gZ+DYwBvjM8lp3ngaWAr8BLgPKgI+UUpN9U2LhTb0Ztdzc2t7rfTq+1pPjW9d1to8WuzL19Jwc129ubXe6D1f79cbI775cl97sf6DsS4gz1UXjU0mMDuu0LDE6jCUT0zzavrt61psGwme6rb2j23IMhHK64knZelv+gXze3RkMA+NuB7KA0VrrYgCl1C7gEHAb8IirDZVSU4BvADdprZ+3LFsL7AVWAFf7tORngLb2DkIsrQL2/+9u3Z683tzaTnhocKdlx2vMVB2r5f+e38rCWbmcNyaZjPjT33mc7ctUf4qXPzvEhooWpo+KZ8nENCYMi7WtX1Jt7jISemRoB0EdmiOVDWzcV01pbRMZsZFMGRnHpqIqPt1fwTdmjWBWVgIpQyM7fdhDMB4rlteYWbOvmmM1ZubmJBEeEkT9qVYy4qJYta+cTUXVTB8Vz4VjU/iyuIo1B+2OnxDl8prZj9y+cFwKszIT+OxABUdrzMzKTCA7OYaUIWG0deB0hPeRqkZ2HTvJ2oMVZCXFOB353d3frMjUwKaiKuO6xEUyZcTp6+KN0eTWcyyubOC8MSlMHRHLiIToLut1V077fclIdzGQOb6XPXlve7quR69b/p+VFMOrd8zhgz3lHK5qYP7orp8/6/6s/za3tlNRf4ovi2vYUFTJsNhILpmUTm5KTKf7BOBxOaz/d9zOeqyCikaKKuuJDA1hdnYi2ckx3V5DZ9fB8Vzcsb8nFVTU88GecjYWVjF1RBzn56UwLC6cjPjT16mgop5Ve0/Y6p7Lp6STHhvZpUz252f/u+M9sLv7bnfn0NzaTnCQAuBE3SnWHjTx7q6yTvWi/T7c1Z3ujnW0upGdR0/fY5ydd0/05LPgLUpr3a8H7Cml1KdAiNb6PIfla4E2rfWFbrb9DfBrIFZrfcpu+e+Au4GhWutWD8qgB/p18jb7D8Xs7ESmj4zj+Y1HmDwirktw0V3w4er1vcdP8sGecrYfqWH6qHgum5xOWHAQ7+4qY+e+Em7Z+AYRv7yLdWXNbC+pYXZ2IheOS3EahO09cJT13/8Vj0y9nMZwI1hOjA7j2VvPYt2hSjITo7jvrb2dBoIkRofxxFVjSH3iUbZecyu76zX7y+oYlz6UcWlDiAwNJnFIOFsPVzMmdQjhocFsLKxk17GTnJWZwOykUIb/6x88O/tqLp2Xx2cHKtheUsO0kXEsmpDGrf/6ssvxli/K4543dtt+//0VEzhcZXZ6za57fKNt+weunsRT64q4bX42BRUN7C+rY8KwoVw6KZ2fv/IVhZWNAMRHhfLAVZNIj4/k3a+Os/e4cT65KTE8ta6IJ2+eSXZyjEcB4+HKBrYermF/eX2n66KCFD9/5SvbOfR2NHmRqYHbn9va5ZyunJZh+/LiaWDreL36WrZBSPlsxwFY//mC45fa2dmJrMk3efSlrbd1rLPXFwyL4Lo1rxB/3z0wZIjTbYMUfHqggrShERypMjMqMYoD5fVsO2LUb+PTh7K/rJ6M+EieWlfEfV8bz9DIUNuX/MnDYzknN4nh8ZFkJjkvx7lp4Vz28X8ovvl76CFDbXXr2VkJzMlOJCo8hMqGZjYVVbHr2EnOyU1iZmY8m4qq2VRU5fQaLshL7nJ/sD+X/eX1bD9S4/J629+Tzs5KYMHYFL7jpB7/8/VTSBkSTlRYMMdqmrjzpZ1UNbYQHxXK3YvHUmRqYO/xOluZviioZE2+ibOzEpg/JpnPD5nYVFTN2VkJTB0Zz783HWF02hAWjU/lq2O1fH6wkm/PGcX2klo2FVV1Opf3drv+O+89fpIPdpezvaSGWZkJTB8Vz4ubjjAyMYrs5BieWFvIsvNzOX7ylG2/C/KSuenpLV3OceXSWW7fn3uPn+TNHaXsPW7U2xeOS2VDQSVb3VxfTz4bvWzA6HX9NxiC4HLgda31MofljwFXaa3T3Wz7EjBJaz3BYfn1wMvAWK11vgdl6PlNoLkZWlq6X28AKq5s4Kant1Bt96FIiA7jxxeOZsXbe0mwfECykmJcrtvd649/azp3vLC90/I/XjmRP398kOrGFqJamrhl2zu8de413H7JZFa8vbdLOay/P/eds3h7/UFCH3uUZ2d8DXNYpG2ft8zNpLiykVGJ0azceLjLuf7inGEs+OgVbhs6h9K209/EE6LD+NPVk3lsbQFXTs0gNEjZymaVEdLOI6bPaVu2jO+/dcj2WnZyDPNHJ/Hshq7Hu2lOJp8fqqS4sqHT7yebWmzXDOCJdYX87ZNDtv2dk5tEdnI0j3x6qMu1/MXisfzi9V0ArLh8AjnJ0dz50k6nf7/KhmYWT0xz+zez2lhQyd2v7+qy3h+vmsSDH+bbzuHOhaP57vycLufanSfWFRIfFeb0nFYunWVcHw/K6Xi97PW2bB4LC4PwcN/t33MDLwgexHWgtznWgysun+Dyfe/43u5tHevq9aiWJr6/+30uePQP6JgYp9v+/KIxtHZoHvn0ED++cLTTslqX//jC0RSZGtlVWsuVUzM61c0/v2gMU0bGuS3HlP/9NT95r7DT/h++bgrNre2d6lzHa+bqGjreH+zPxd313l92ku+u3OZxPb6rtJZb52ay7Uit7d7SXZm6ez3BEmAfqTI7Xe/nF43h3jf3OD0Hx/K72vfPX/nKo3O8ZW4maw+evle5ek+1BofSEhLqtJHHk0YILzVgnNFBcAvwoNb61w7L7wfu0lq7vAMppT4CorTW5zgsXwh8DMzVWm/0oAw9vwmsWWP8DEJbiqvZUFjZZfm0kfEcrmykxtzC3JwkZmUluFy3u9dnZSZwqKKBGrPxxk+IDmNUYjQ7SmoACG1rZcbxA2wbNpaJ2Sm24zqWIyE6jLMyEzhYUknq3h1sGzaW1pBQ23FGJESRERdJaU0TR2vMXcpxflYs8Tu38k50ZqftAGaOiickOIjgIIW5pd1WNqvQtlYuazxM7dSZ7DzRZCtfdlI0re3a6fFGJEQREqQotrTc2v9uvWYdHZr/7ii1bZ+dFE1EaDDhocFdymCUM4FCUwNKwfSRcdSfamNzcXWX9aaNjCc0SBESHOT2bwZGN48Nhca3+q7Hi6elvYNdx07azuGqqRkEBXleD3V0aD7Zf8LlOc3NSSIyNIhPD1S4Lad1X/bXy15vytYjCxYYP/438ILgQVwHept9PehY19lzfG87buts3Z6+bq1bhyw4l0YV4nTbeblJnGpttzUgOCurtR7OTIqmua2dppZ24qLCutTVCVGhTBoe57IczJlDfk1Lp3vBhGGxNDS32Y7reM3cXUP7+wPAjFHxRIQG80WB+zpvQ2ElW+zqTU/q8eykGA6eqOdojbnbMtU2thAXHdZtmc8bk0xjcztbjzivw+3Pzf4cHMvvuI1SkJMcw5eHe3aO1nuV/bHs/5abRk5i00hjiNXSc7JYk2+i0GQEznctymPZ+bld9m3v0dUFPLSqa1ukJ9va6XX9Nxj6BAM4q4E9OWnV022VUiuA33pWLDfmzIEZM/q8m/7W1t7B489vZXNC1w/T7JwEIkKCWZNvYndOAlO/MYPHX9zmdF1PXrfuC2BBXjJrWtvZnGqsG9XSBMCzM77G5HEZnda1L8eCvGTyo0JJmtvKsX90bQm+aU4mn1Q2Mjp1CE+vL+pSjvGX5nC4spFnsxd22s5axoVjUzhR38KuY7W2sllFtTQxvPgTSpd8nb11HbbyZSXFcO7oJKctz65agosrG9idk8CMb80kODiIqnWFPGlp2cxKiuHmOaP4YG9ZlzLYX0uAoeNTefur42xOcv73Wzo3m8e/KHL5N7Eev6O9g2ee38rmFOfrjYyP5pWtRwGjtTWoh62tQUDb7jJe2nbU5TlNGhbHk0O6/s3sy2ndl/31stebsvVIWFj36wwiXqv/YNDWgd7mWKc61nX2HN/b7urj3tbB1rpVLb6RrVWtTrdV87P56lgtkaHBLstqrYfXtbWzeEIaz20oITU2rEtdPTkjjrzzclyWY99ZX4OYIZ3uBdWpQzrVuY7XzN01nO1wb7HVJZ+7rkvaOjRPvbitU73prh5fek42nx2oYOrIoSRERfD0+qJuyzRjVDxvHa7ptszWa++s7nU8N+s5TP76dJ7693aX9b71/rCmtZ3NyZ6do+O9ynosx/dUa/DpxqMD5XVkJkXZguANhZXcMT/bZbaRtvYOp19OPNnWWwZDEFwDJDhZHg90/Yt3Vg1MdLGt9fVOtNYrMAbN2Silet4MEh4+UB6T9kgIMGPiKD4rPdXltczMdNbkm2gMj2L6hFGEJcS5XLe718eNHs4He8pt/XcPNCoW5KV3Wrc1JBRzWGSn4zqW40CjYkl2EsND26mOjMAcFtmpT/DIzFT+sX03i+aMJmJfdZdHLh3RMaQmxXbazmrS2BF8dPQks7LiyQqNdHoeCfFDOJkUz4Gyatv2e+o7+GZmKhH5tV2ONzIzlT3bKyA8qsvv0yeMIjjO6Au7cFYu/9xuoqqxhT31HUQlxZGTjdMyZGel89kBo1I8JyKKcWMyXK4Xn5bIjIntLv9m1uOHAFPHj3S63oQxw3lvt/G3S4wOY+GsXBjS8363k8YGsaOmzWVZ4qNCaQzvmrjfvpxW9tfLqi9lC1Req/9g0NaB3uZYpzqr66wc39vu6uO+1MGtIaEMS0tkRnq4023D4mPJDY/i0/0VLstqrYcvGJtOVGIce+oPc/aUrnV1cnK023KMzhnGO0UNne4FE+NjO9W5jtfM3TV0vF/kZA8jPCq0S/1uvUbBcbEEA+Pzhnfan7t6PDs7jUe+LOfs+HiyM2KJ2FfdbZm+NDUadXU3ZY5JjmdMRLRH52Y9h4jE+C7ld9wGYPHEDI/P0f7eZH8sd++5sWlDOwXo3aXbCwkOYl5uEhsKu+as7q9UfQM+RRpGJocJTpaPB/Z5sG2OUsqxJh4PnAK6fjUULJmY5jR1Tm5KDIWmhk5pdFyt293riyakUmv3SKfQ1MC4tCFd1k2wO65jOQBqzS0smZjGc18cZm5uEjfNyWRebiK3n5vFs7eexVPrjD/x797Zy6PfnM7t52YxLzeRpedksXxRHn//tIDhCZEkOCnjBWNT2HWslrioMJdlS4wOY+rw2E7nAvDUuiL+detZtuPdfm4Wj35zOmW1Tbbfly/K48EPD3S5ZmD01Xr1jjnctSiPebmJlNed4vIpw5xeyyunZXD19AzSYsMZER/F/NHJTte7dFI6kWFB3f7NrC6bnO50vdnZiaTFhnPXorw+DTwbkRDNldMyXJZldnaixymcHK9XX8smhDfZf+YKTQ3kpsR4/N7ubR3r7vXI0GDOykpwuW1yTDhZSdHUmltcljU3JYZacwsXjkvl12/u6VI3J0Yb9aY1H7GrcszLSexyL0iOCe9U5zpeM3fX0LEMY1JiiIsK6/Z6OyvfU+uKePSb01l6Tud6/Hfv7LWd3+/e2cvyRXksyEtmxqg4l2VanV/RbZkTLV1BRiVGOV1vXNoQ27k5nkN39+1acwsLx3VNi/fUuiJWLp3Vqe5cuXSW7d7Zm2M5u76ueHo/8pXB0Cf4J8BDGCnSDluWZWKkSFuutf6bm22nAjuAb2mtX7QsCwF2Awe01ld5WIaAGx1tHa25obCSs7Ms2SE2HWHycNfZITYUVjI3x/XIZMfXrSNxd5TUMG3k6ewQH+wpZ/veI3zvy7cYcu/dbKho4bMDFczNOT361/q7dV/FxWWYVjzA2wtv4OzJWbZUP47HPm9MEgfLG9hYXEnqkEgmxSpSnngUtfznfHzUzM6jtZydaYzY3Xm0mvmjU/iioIoxaTGEhRjZIXaXnmTmKCM7RMa/HuO5Oddw2bw8Pt1fwY6jNUwbEc8F41L47/ZjXD41g+M1ZtYXVpKZaKSQGRYbyfGTTbz9VZnLa2avvb3D9o24yNTAB7vL2VDUdTvreiVVDVQ1tvLJ/hPsPFrLzFHxXDA2lfioEEYmxnj0N+vub2dfJm++1xzL4mk5XV2vADLw+gSLTuzfyxeMPZ3ZwJP3dm/rWGevn5fuPDuE/bbWjArpsREcrjSTmRTF/rJ6I/vNiHjGDxvCsZomJmXE8uyGw2Qnx3Dx+FS+LK5i7aFKJmW4zw6xobCSc1KN7BCHb/4eHZbsELtLTzIr08gOERYSxMlTbbbl541OYt7oZNs1c3YNnd0f7M9lX1k9O0pqXF5v+3vSrEwjk8O6gyaO1Zo5JyeJ4fFRPPF5ke0+aM3WsKGwksUT0pg5Kp6yulNsL6m1HceaHWLtQZNtn58fMrG5uJpZlnvNvzcfYXSqXXaIQ5V8e7aRHWJzcVWnc7Eez9k5WLND7Dhaw1mjLNkhNh9hYkYsl0xMIyfF+d/b8R7Sm/ecq3tzTz8bPd3W4oweGBcNfAU0Ykx4AfAHIBqYorVutKyXCRQDv7M80rNu/xJwMXAXcBj4PsakGbO11js9LEPA3gTsPxTdBRe9fb21tZ1QhzzB7bUnCf7r/8HPfw5DhnTZtsu+6uvhz3+m/Sc/7fKo3H79Lv/WnkT95S8E3bWc9igj72NHhyY0NLjT1KHOlgWbG+l46GH0z35mO6b9uTS3tBEeFuL23HsbsHmyXXt7Bx0dmqAg5XJdT4/fH4Glu2MEaGDbExIEDxLd1mU92LZXr5sb4c9/ttWt7rZ1rC9bW9ttg0zt7wvufu+uHNY623E7a11qPaa7a+bJNXU8F3fs63Fn5+dq3+6O4+46Od4Du7vvdncO9n8n+2P2ZB+erteX93Nvy+TEmTswTmvdqJS6APgr8IJl8afAT6wBcDduBf5o+YkDdgKLPA2AA539G7K7N2dvX3cMgJ2t293vni53+q9DpR4c3HVfzpaBMf0odsvsz8UaAPemvN3xZLvg4CBbufuyn56s1xfujiEBsDhTeFqXebKtN1939ppjfdmburq7Yzkew8p6LG/dH1wdxxn7Y/Zk3+6O4+53x3Ps7r7b3Tk4u2Y93Yen6/Xl/dzbMnnTgA+CAbTWJXQzu5ulq0SXbwNa6ybgZ5YfMViEhRmppzwdfd/T9fu6XV+3FUIIfxgo9dZAKYcIaAO+O8RAII8DhRADnHSHEEIEql7Xf/KMUQghhBBCBBwJgoUQQgghRMCRIFgIIYQQQgQcCYKFEEIIIUTAkSBYCCGEEEIEHAmChRBCCCFEwJEgWAghhBBCBBwJgoUQQgghRMCRIFgIIYQQQgQcCYKFEEIIIUTACfF3AQYLpXw2K6kQQvSV1lr7cupkX+1aCCH6qtf1n5I54fuPUsqnNypvkDL23UAvH0gZvWUwlHGgGAzXSsroHVJG75Ay+p50hxBCCCGEEAFHgmAhhBBCCBFwJAgWQgghhBABR4Lg/vU7fxfAA1LGvhvo5QMpo7cMhjIOFIPhWkkZvUPK6B1SRh+TgXFCCCGEECLgSEuwEEIIIYQIOBIE+5hSaoRS6jWl1EmlVJ1S6nWl1Ah/l8tKKbVAKaWd/NT6qTzDlVKPKKU2KKXMlrJkOlkvXin1tFKqSinVqJT6WCk1caCUUSmV6eK6aqVUnI/Ld63lfXbEUr4DSqk/KqViHNbz5zXstoz+vIZ2ZThXKfWJUqpMKdWslDqmlHpZKTXOYT2/XcuBTOq/HpdH6j/vlFHqQO+U8Yyv/2SyDB9SSkUBnwGngJsBDdwPfKaUmqK1NvuzfA6WAdvtfm/zUzlygRuAbcBaYLHjCkopBbwNjMIody1wD7BaKTVZa13m7zLauR94z2FZvY/KZbUcKAF+BRwDpgG/BRYopc7VWncMgGvYbRnt1vXHNbSKB3YD/wQqgOEY12mjUmqi1vrYALiWA5LUf70i9Z93SB3oHWd+/ae1lh8f/QB3YlSmWXbLsizLfuzv8lnKswDj5rTA32WxlCfI7v+3WMqW6bDOFZbl59otiwWqgb8MkDJmWpbf4odrmOxk2bcs5Zk/QK6hJ2X02zXspuxjLOW6cyBcy4H6I/Vfr8oj9Z93yih1oO/KfUbVf9IdwrcuB77QWhdbF1j+/wXGG0c40J2//bpyOVCitf7cbruTwDv0w3X1sIx+o7U2OVm8zfJvhuVff19DT8o4UFVZ/rW2Fvr1Wg5gUv/1kNR/3iF1oE+dUfWfBMG+NQHY42T5XmB8P5elOy8rpdqVUpVKqeeVUgP5Q+juumYppSL7uTzuPKSUarP0iXzTsS9VPzrP8u9+y78D8Ro6ltHK79dQKRWslApVSmUDjwLHgZctLw/EazkQSP3nG4Pp/eb3z64dqQN76Uyu/6RPsG8lADVOlldbXhsITgJ/xujbVQdMB+4F5iulpmutq9xt7CcJQIGT5dWAAuKApv4skBPNGP2oPgJMwDiMvl8blVJnaa0P9VdBLDf03wMfaq13WhYPqGvooowD5hpifD7mWf5fAFygta60/D6gruUAIvWfbwyG99tA+uxKHdh3Z2z9J0Gw7zlLxKz6vRQuaK13ADvsFq1VSn0ObMbo5P57vxTMPcXAv65lwB12iz5XSn2I8Y35HuA7/VEOy0jjt4AWh2MOmGvoqowD5RpaLMWozLOAu4BPlFLztNYlDKBrOQAN6Osi9Z9vDKTPrtSBXnHG1n/SHcK3anDe4hGP8S1pQNJabwXygbP9XRYXXLUkxWN8GGv7tTQeslQY6+mn66qUisAYtZsFXKw7j9IdENewmzJ20d/X0O64+VrrzVrrl4ALgSHA3ZaXB8S1HICk/vONQfl+88dnV+pA7ziT6z8Jgn1rL0Z/GUfjgX39XJaecvXtbiBwd12LtdYD9tEL/XRdlVKhwOvATGCx1trx/eb3a+hBGV1uih/fm1rrWozHf7mWRX6/lgOU1H++MZjfb/12XaUO9I0zrf6TINi33gbmKbtE4pb/z7O8NiAppWZipEHZ7O+yuPA2MEopZe2jhFJqKPA1BvZ1HQmcg4+vq1IqCHgRuAC4XGv9pZPV/HoNPSyjs+365Rp2U4YUIA8otCwalO/HfiD1n28Myvdbf352pQ70nTOt/lOWnG7CB5RS0cBXQCPwG8viPwDRwBStdaO/ymallHoB4828A2NgyDSMvkZ1wAyttbOBLb4u07WW/y7A6Jf3A4xBAYe11lstlcd6jDQyd3M6OfdEjOtaOgDK+GegA9iE8bgoz1LGGOAsrXWRD8v2D4x+ZH8E3nV4+Zg2Epz79Rp6WEa/XUO7cr6A0eqxE+MajQZ+CgyzlOGQv6/lQCX1X6/LJPVf38sndaB3ynjm13+9SS4sPz1KLD0SeAOjUq0D/guM8ne57Mp3D7ALY5R0K3AE+AeQ4scyaRc/z9qtkwD8C6NiMAOfAJMHShkxBix8idEvshUoA54HcvqhbIfdlG/FQLiGnpTRn9fQrpw/BLZYytAEHASepOvkAH59Pw7UH6n/elUmqf/6Xj6pA71TxjO+/pOWYCGEEEIIEXCkT7AQQgghhAg4EgQLIYQQQoiAI0GwEEIIIYQIOBIECyGEEEKIgCNBsBBCCCGECDgSBAshhBBCiIAjQbAQQgghhAg4EgQLIYQQQoiAI0GwEEIIIYQIOBIECyGEEEKIgCNBsBA+ppQKU0rtUEqVK6WSHV57TynVpJQa76/yCSGEr0j9JwYyCYKF8DGtdQvwTSAWeNK6XCn1A+AS4G6t9T4/FU8IIXxG6j8xkCmttb/LIERAUEr9CHgEuB34HNhu+XeJlg+iEOIMJvWfGIgkCBainyilFPA+cC5QBKQDk7XWZX4tmBBC+JjUf2IgkiBYiH6klEoDCoEo4Fqt9et+LpIQQvQLqf/EQCN9goXoX+dh3AAApvizIEII0c+k/hMDirQEC9FPlFLDgV3APozHgd8AztFab/JrwYQQwsek/hMDkQTBQvQDS3+4T4CzMFpAqoCvgHZgqta6wY/FE0IIn5H6TwxU0h1CiP7xM+AC4E6tdbHWug74NpAF/J9fSyaEEL4l9Z8YkKQlWAgfU0pNAr4E3tNaX+Pw2v8A9wBXaK3f9kf5hBDCV6T+EwOZBMFCCCGEECLgSHcIIYQQQggRcCQIFkIIIYQQAUeCYCGEEEIIEXAkCBZCCCGEEAFHgmAhhBBCCBFwJAgWQgghhBABR4JgIYQQQggRcCQIFkIIIYQQAUeCYCGEEEIIEXAkCBZCCCGEEAHn/wMr+uNb4xSNxwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "with sns.plotting_context(\"paper\", font_scale=1.8):\n", + " g = sns.FacetGrid(\n", + " data=datasets_df,\n", + " col=\"dataset\",\n", + " col_order=[\n", + " \"Brain cerebellum (all)\",\n", + " \"Small intestine (terminal ileum) (all)\",\n", + " # \"Brain cerebellum (males)\",\n", + " # \"Small intestine (terminal ileum) (males)\",\n", + " ],\n", + " col_wrap=2,\n", + " height=5,\n", + " )\n", + " g.map(sns.scatterplot, \"x\", \"y\", s=50, alpha=1)\n", + " g.set_titles(row_template=\"{row_name}\", col_template=\"{col_name}\")\n", + "\n", + " for ds, ax in g.axes_dict.items():\n", + " df = datasets[ds].to_numpy()\n", + " x, y = df[:, 0], df[:, 1]\n", + "\n", + " # pearson and spearman\n", + " r = pearsonr(x, y)[0]\n", + " rs = spearmanr(x, y)[0]\n", + "\n", + " # ccc\n", + " c, max_parts, parts = ccc(x, y, return_parts=True)\n", + " c = ccc(x, y)\n", + "\n", + " x_line_points, y_line_points = get_cm_line_points(x, y, max_parts, parts)\n", + " for yp in y_line_points:\n", + " ax.hlines(y=yp, xmin=-0.5, xmax=30, color=\"r\", alpha=0.5)\n", + "\n", + " for xp in x_line_points:\n", + " ax.vlines(x=xp, ymin=-0.5, ymax=18, color=\"r\", alpha=0.5)\n", + "\n", + " # add text box for the statistics\n", + " stats = f\"$c$ = {c:.2f}\"\n", + " bbox = dict(boxstyle=\"round\", fc=\"white\", ec=\"black\", alpha=0.75)\n", + " ax.text(\n", + " 0.95,\n", + " 0.90,\n", + " stats,\n", + " fontsize=14,\n", + " bbox=bbox,\n", + " transform=ax.transAxes,\n", + " horizontalalignment=\"right\",\n", + " )\n", + "\n", + " plt.savefig(\n", + " OUTPUT_FIGURE_DIR\n", + " / \"gtex-KDM6A_vs_UTY-brain_cerebellum_and_small_intestine_terminal_ileum-clusters-all.png\",\n", + " # rasterized=True,\n", + " dpi=300,\n", + " bbox_inches=\"tight\",\n", + " facecolor=\"white\",\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f00d3bab-20b4-489f-bbe8-ef449eda9488", + "metadata": { + "papermill": { + "duration": 0.019825, + "end_time": "2023-11-20T08:56:09.902585", + "exception": false, + "start_time": "2023-11-20T08:56:09.882760", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "all,-execution,-papermill,-trusted", + "notebook_metadata_filter": "-jupytext.text_representation.jupytext_version" + }, + "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.12" + }, + "papermill": { + "default_parameters": {}, + "duration": 14.836242, + "end_time": "2023-11-20T08:56:10.343797", + "environment_variables": {}, + "exception": null, + "input_path": "nbs/99_manuscript/coefs_comp/20_00-gtex_whole_blood-UTY_KDM6A.ipynb", + "output_path": "nbs/99_manuscript/coefs_comp/20_00-gtex_whole_blood-UTY_KDM6A.run.ipynb", + "parameters": {}, + "start_time": "2023-11-20T08:55:55.507555", + "version": "2.3.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/nbs/99_manuscript/coefs_comp/py/20_00-gtex_whole_blood-UTY_KDM6A.py b/nbs/99_manuscript/coefs_comp/py/20_00-gtex_whole_blood-UTY_KDM6A.py new file mode 100644 index 00000000..e9fabb63 --- /dev/null +++ b/nbs/99_manuscript/coefs_comp/py/20_00-gtex_whole_blood-UTY_KDM6A.py @@ -0,0 +1,720 @@ +# --- +# jupyter: +# jupytext: +# cell_metadata_filter: all,-execution,-papermill,-trusted +# notebook_metadata_filter: -jupytext.text_representation.jupytext_version +# text_representation: +# extension: .py +# format_name: percent +# format_version: '1.3' +# kernelspec: +# display_name: Python 3 (ipykernel) +# language: python +# name: python3 +# --- + +# %% [markdown] tags=[] +# # Description + +# %% [markdown] tags=[] +# This notebooks analyzes more closely the pattern between gene pair *UTY* / *KDM6A*. The analyses are focused on the Reviewer 2's comment: +# +# ``` +# In Figure 4, while there is a visible difference between the correlation of male samples, the CCC values are still quite close. For example, this can be observed in Brain Cerebellum and Small Intestine Terminal Ileum. Please address this. +# ``` + +# %% [markdown] tags=[] +# # Modules + +# %% tags=[] +import pandas as pd + +from scipy.stats import pearsonr, spearmanr +import matplotlib.pyplot as plt +import seaborn as sns +import numpy as np + +from ccc import conf +from ccc.coef import ccc + +# %% [markdown] tags=[] +# # Settings + +# %% tags=[] +# this gene pair was originally found with ccc on whole blood +# interesting: https://clincancerres.aacrjournals.org/content/26/21/5567.figures-only +gene0_id, gene1_id = "ENSG00000147050.14", "ENSG00000183878.15" +gene0_symbol, gene1_symbol = "KDM6A", "UTY" + +# %% [markdown] tags=[] +# # Paths + +# %% tags=[] +TISSUE_DIR = conf.GTEX["DATA_DIR"] / "data_by_tissue" +assert TISSUE_DIR.exists() + +# %% tags=[] +OUTPUT_FIGURE_DIR = ( + conf.MANUSCRIPT["FIGURES_DIR"] + / "coefs_comp" + / f"{gene0_symbol.lower()}_vs_{gene1_symbol.lower()}" +) +OUTPUT_FIGURE_DIR.mkdir(parents=True, exist_ok=True) +display(OUTPUT_FIGURE_DIR) + +# %% [markdown] tags=[] +# # Data + +# %% [markdown] tags=[] +# ## GTEx metadata + +# %% tags=[] +gtex_metadata = pd.read_pickle(conf.GTEX["DATA_DIR"] / "gtex_v8-sample_metadata.pkl") + +# %% tags=[] +gtex_metadata.shape + +# %% tags=[] +gtex_metadata.head() + +# %% [markdown] tags=[] +# ## Gene Ensembl ID -> Symbol mapping + +# %% tags=[] +gene_map = pd.read_pickle(conf.GTEX["DATA_DIR"] / "gtex_gene_id_symbol_mappings.pkl") + +# %% tags=[] +gene_map = gene_map.set_index("gene_ens_id")["gene_symbol"].to_dict() + +# %% tags=[] +assert gene_map["ENSG00000145309.5"] == "CABS1" + +# %% tags=[] +assert gene_map[gene0_id] == gene0_symbol +assert gene_map[gene1_id] == gene1_symbol + +# %% [markdown] tags=[] +# ## Get male/females sample IDs + +# %% tags=[] +gtex_metadata["SEX"].describe() + +# %% tags=[] +male_samples = gtex_metadata[gtex_metadata["SEX"] == "Male"].index.tolist() + +# %% tags=[] +len(male_samples) + +# %% tags=[] +male_samples[:5] + +# %% tags=[] +female_samples = gtex_metadata[gtex_metadata["SEX"] == "Female"].index.tolist() + +# %% tags=[] +len(female_samples) + +# %% tags=[] +female_samples[:5] + +# %% [markdown] tags=[] +# # Brain cerebellum + +# %% tags=[] +brain_cerebellum = ( + pd.read_pickle(TISSUE_DIR / "gtex_v8_data_brain_cerebellum.pkl") + .loc[[gene0_id, gene1_id]] + .T.rename_axis("sample_id") +) + +# %% tags=[] +brain_cerebellum.shape + +# %% tags=[] +brain_cerebellum.head() + +# %% tags=[] +brain_cerebellum_males = brain_cerebellum.loc[ + brain_cerebellum.index.intersection(male_samples) +] + +# %% tags=[] +brain_cerebellum_males.shape + +# %% tags=[] +brain_cerebellum_females = brain_cerebellum.loc[ + brain_cerebellum.index.intersection(female_samples) +] + +# %% tags=[] +brain_cerebellum_females.shape + +# %% [markdown] tags=[] +# # Small intestine (terminal ileum) + +# %% tags=[] +small_intestine = ( + pd.read_pickle(TISSUE_DIR / "gtex_v8_data_small_intestine_terminal_ileum.pkl") + .loc[[gene0_id, gene1_id]] + .T.rename_axis("sample_id") +) + +# %% tags=[] +small_intestine.shape + +# %% tags=[] +small_intestine.head() + +# %% tags=[] +small_intestine_males = small_intestine.loc[ + small_intestine.index.intersection(male_samples) +] + +# %% tags=[] +small_intestine_males.shape + +# %% tags=[] +small_intestine_females = small_intestine.loc[ + small_intestine.index.intersection(female_samples) +] + +# %% tags=[] +small_intestine_females.shape + +# %% [markdown] tags=[] +# # Compute correlation + +# %% [markdown] tags=[] +# ## Brain cerebellum + +# %% [markdown] tags=[] +# ### CCC + +# %% tags=[] +ccc(brain_cerebellum_males, pvalue_n_perms=1000) + +# %% tags=[] +ccc(brain_cerebellum_females, pvalue_n_perms=1000) + +# %% [markdown] tags=[] +# ### Pearson + +# %% tags=[] +pearsonr(brain_cerebellum_males.iloc[:, 0], brain_cerebellum_males.iloc[:, 1]) + +# %% tags=[] +pearsonr(brain_cerebellum_females.iloc[:, 0], brain_cerebellum_females.iloc[:, 1]) + +# %% [markdown] tags=[] +# ### Spearman + +# %% tags=[] +spearmanr(brain_cerebellum_males.iloc[:, 0], brain_cerebellum_males.iloc[:, 1]) + +# %% tags=[] +spearmanr(brain_cerebellum_females.iloc[:, 0], brain_cerebellum_females.iloc[:, 1]) + +# %% [markdown] tags=[] +# ## Small intestine (terminal ileum) + +# %% [markdown] tags=[] +# ### CCC + +# %% tags=[] +ccc(small_intestine_males, pvalue_n_perms=1000) + +# %% tags=[] +ccc(small_intestine_females, pvalue_n_perms=1000) + +# %% [markdown] tags=[] +# ### Pearson + +# %% tags=[] +pearsonr(small_intestine_males.iloc[:, 0], small_intestine_males.iloc[:, 1]) + +# %% tags=[] +pearsonr(small_intestine_females.iloc[:, 0], small_intestine_females.iloc[:, 1]) + +# %% [markdown] tags=[] +# ### Spearman + +# %% tags=[] +spearmanr(small_intestine_males.iloc[:, 0], small_intestine_males.iloc[:, 1]) + +# %% tags=[] +spearmanr(small_intestine_females.iloc[:, 0], small_intestine_females.iloc[:, 1]) + +# %% [markdown] tags=[] +# # Compute correlation on all tissues, males only + +# %% tags=[] +res_all_males = pd.DataFrame( + { + f.stem.split("_data_")[1]: { + "ccc": ccc(data[gene0_id], data[gene1_id]), + "pearson": pearsonr(data[gene0_id], data[gene1_id])[0], + "spearman": spearmanr(data[gene0_id], data[gene1_id])[0], + } + for f in TISSUE_DIR.glob("*.pkl") + if ( + data := pd.read_pickle(f) + .T[[gene0_id, gene1_id]] + .reindex(male_samples) + .dropna() + ) + is not None + and data.shape[0] > 10 + } +).T.abs() + +# %% tags=[] +res_all_males.shape + +# %% tags=[] +res_all_males.head() + +# %% tags=[] +res_all_males.sort_values("ccc") + +# %% tags=[] +res_all_males.sort_values("pearson") + +# %% tags=[] +res_all_males.sort_values("spearman") + + +# %% [markdown] tags=[] +# # Plot of male samples + +# %% tags=[] +def get_tissue_file(name): + """ + Given a part of a tissue name, it returns a file path to the + expression data for that tissue in GTEx. It fails if more than + one files are found. + + Args: + name: a string with the tissue name (or a part of it). + + Returns: + A Path object pointing to the gene expression file for the + given tissue. + """ + tissue_files = [] + for f in TISSUE_DIR.glob("*.pkl"): + if name in f.name: + tissue_files.append(f) + + assert len(tissue_files) == 1 + return tissue_files[0] + + +# %% tags=[] +# testing +_tmp = get_tissue_file("whole_blood") +assert _tmp.exists() + + +# %% tags=[] +def simplify_tissue_name(tissue_name): + return f"{tissue_name[0].upper()}{tissue_name[1:].replace('_', ' ')}" + + +# %% tags=[] +assert simplify_tissue_name("whole_blood") == "Whole blood" +assert simplify_tissue_name("uterus") == "Uterus" + + +# %% tags=[] +def plot_gene_pair( + tissue_name, + gene0, + gene1, + hue=None, + kind="hex", + ylim=None, + bins="log", + samples=None, + filename_suffix="", +): + """ + It plots (joint plot) a gene pair from the given tissue. It saves the plot + for the manuscript. + """ + # merge gene expression with metadata + tissue_file = get_tissue_file(tissue_name) + if samples is not None: + tissue_data = ( + pd.read_pickle(tissue_file).T[[gene0, gene1]].reindex(samples).dropna() + ) + else: + tissue_data = pd.read_pickle(tissue_file).T[[gene0, gene1]] + + tissue_data = pd.merge( + tissue_data, + gtex_metadata, + how="inner", + left_index=True, + right_index=True, + validate="one_to_one", + ) + + # get gene symbols + gene0_symbol, gene1_symbol = gene_map[gene0], gene_map[gene1] + display((gene0_symbol, gene1_symbol)) + + # compute correlations for this gene pair + _clustermatch = ccc(tissue_data[gene0], tissue_data[gene1]) + _pearson = pearsonr(tissue_data[gene0], tissue_data[gene1])[0] + _spearman = spearmanr(tissue_data[gene0], tissue_data[gene1])[0] + + _title = f"{simplify_tissue_name(tissue_name)}\n$c={_clustermatch:.2f}$ $p={_pearson:.2f}$ $s={_spearman:.2f}$" + + other_args = { + "kind": kind, # if hue is None else "scatter", + "rasterized": True, + } + if hue is None: + other_args["hue_order"] = None + else: + other_args["hue_order"] = ["Male", "Female"] + + with sns.plotting_context("paper", font_scale=1.5): + p = sns.jointplot( + data=tissue_data, + x=gene0, + y=gene1, + hue=hue, + **other_args, + # ylim=(0, 500), + ) + + # if samples is not None: + # p.ax_joint.legend_.remove() + + if ylim is not None: + p.ax_joint.set_ylim(ylim) + + gene_x_id = p.ax_joint.get_xlabel() + gene_x_symbol = gene_map[gene_x_id] + p.ax_joint.set_xlabel(f"{gene_x_symbol}", fontstyle="italic") + + gene_y_id = p.ax_joint.get_ylabel() + gene_y_symbol = gene_map[gene_y_id] + p.ax_joint.set_ylabel(f"{gene_y_symbol}", fontstyle="italic") + + p.fig.suptitle(_title) + + # save + output_file = ( + OUTPUT_FIGURE_DIR + / f"gtex_{tissue_name}-{gene_x_symbol}_vs_{gene_y_symbol}{filename_suffix}.svg" + ) + display(output_file) + + plt.savefig( + output_file, + bbox_inches="tight", + dpi=300, + facecolor="white", + ) + + return tissue_data + + +# %% [markdown] tags=[] +# ## Brain cerebellum (males) + +# %% tags=[] +_tissue_data = plot_gene_pair( + "brain_cerebellum", + gene0_id, + gene1_id, + hue="SEX", + kind="scatter", + samples=None, + filename_suffix="-all", +) + +# %% tags=[] +_tissue_data = plot_gene_pair( + "brain_cerebellum", + gene0_id, + gene1_id, + hue="SEX", + kind="scatter", + samples=male_samples, + filename_suffix="-males", +) + +# %% [markdown] tags=[] +# ## Smalle intestine (males) + +# %% tags=[] +_tissue_data = plot_gene_pair( + "small_intestine_terminal_ileum", + gene0_id, + gene1_id, + hue="SEX", + kind="scatter", + samples=None, + filename_suffix="-all", +) + +# %% tags=[] +_tissue_data = plot_gene_pair( + "small_intestine_terminal_ileum", + gene0_id, + gene1_id, + hue="SEX", + kind="scatter", + samples=male_samples, + filename_suffix="-males", +) + +# %% [markdown] tags=[] +# # Create final figure + +# %% tags=[] +from svgutils.compose import Figure, SVG, Panel + +# %% tags=[] +Figure( + "6.0767480cm", + "8.7045984cm", + # Panel( + # SVG(OUTPUT_FIGURE_DIR / "gtex_brain_cerebellum-KDM6A_vs_UTY-all.svg").scale(0.005), + # SVG(OUTPUT_FIGURE_DIR / "gtex_small_intestine-KDM6A_vs_UTY-all.svg").scale(0.005).move(2, 0), + # ), + Panel( + SVG(OUTPUT_FIGURE_DIR / "gtex_brain_cerebellum-KDM6A_vs_UTY-males.svg").scale( + 0.005 + ), + SVG( + OUTPUT_FIGURE_DIR + / "gtex_small_intestine_terminal_ileum-KDM6A_vs_UTY-males.svg" + ) + .scale(0.005) + .move(2, 0), + ).move(0, 2.20), +).save( + OUTPUT_FIGURE_DIR + / "gtex-KDM6A_vs_UTY-brain_cerebellum_and_small_intestine_terminal_ileum-males.svg" +) + +# %% [markdown] tags=[] +# Now open the file, reside to fit drawing to page, and add a white rectangle to the background. + +# %% [markdown] tags=[] +# # Understand how CCC divides samples + +# %% [markdown] tags=[] +# ## Prepare datasets + +# %% tags=[] +datasets_df = pd.DataFrame( + { + "dataset": "Brain cerebellum (all)", + "x": brain_cerebellum.iloc[:, 0], + "y": brain_cerebellum.iloc[:, 1], + } +) + +datasets_df = datasets_df.append( + pd.DataFrame( + { + "dataset": "Small intestine (terminal ileum) (all)", + "x": small_intestine.iloc[:, 0], + "y": small_intestine.iloc[:, 1], + } + ), + ignore_index=True, +) + +datasets_df = datasets_df.append( + pd.DataFrame( + { + "dataset": "Brain cerebellum (males)", + "x": brain_cerebellum_males.iloc[:, 0], + "y": brain_cerebellum_males.iloc[:, 1], + } + ), + ignore_index=True, +) + +datasets_df = datasets_df.append( + pd.DataFrame( + { + "dataset": "Small intestine (terminal ileum) (males)", + "x": small_intestine_males.iloc[:, 0], + "y": small_intestine_males.iloc[:, 1], + } + ), + ignore_index=True, +) + +# %% tags=[] +datasets = { + idx: df.drop(columns="dataset") for idx, df in datasets_df.groupby("dataset") +} + + +# %% [markdown] tags=[] +# ## Plot + +# %% tags=[] +def get_cm_line_points(x, y, max_parts, parts): + """ + Given two data vectors (x and y) and the max_parts and parts + returned from calling cm, this function returns two arrays with + scalars to draw the lines that separates clusters in x and y. + """ + # get the ccc partitions that maximize the coefficient + x_max_part = parts[0][max_parts[0]] + x_unique_k = {} + for k in np.unique(x_max_part): + data = x[x_max_part == k] + x_unique_k[k] = data.min(), data.max() + x_unique_k = sorted(x_unique_k.items(), key=lambda x: x[1][0]) + + y_max_part = parts[1][max_parts[1]] + y_unique_k = {} + for k in np.unique(y_max_part): + data = y[y_max_part == k] + y_unique_k[k] = data.min(), data.max() + y_unique_k = sorted(y_unique_k.items(), key=lambda x: x[1][0]) + + x_line_points, y_line_points = [], [] + + for idx in range(len(x_unique_k) - 1): + k, (k_min, k_max) = x_unique_k[idx] + nk, (nk_min, nk_max) = x_unique_k[idx + 1] + + x_line_points.append((k_max + nk_min) / 2.0) + + for idx in range(len(y_unique_k) - 1): + k, (k_min, k_max) = y_unique_k[idx] + nk, (nk_min, nk_max) = y_unique_k[idx + 1] + + y_line_points.append((k_max + nk_min) / 2.0) + + return x_line_points, y_line_points + + +# %% tags=[] +with sns.plotting_context("paper", font_scale=1.8): + g = sns.FacetGrid( + data=datasets_df, + col="dataset", + col_order=[ + # "Brain cerebellum (all)", + # "Small intestine (terminal ileum) (all)", + "Brain cerebellum (males)", + "Small intestine (terminal ileum) (males)", + ], + col_wrap=2, + height=5, + ) + g.map(sns.scatterplot, "x", "y", s=50, alpha=1) + g.set_titles(row_template="{row_name}", col_template="{col_name}") + + for ds, ax in g.axes_dict.items(): + df = datasets[ds].to_numpy() + x, y = df[:, 0], df[:, 1] + + # pearson and spearman + r = pearsonr(x, y)[0] + rs = spearmanr(x, y)[0] + + # ccc + c, max_parts, parts = ccc(x, y, return_parts=True) + c = ccc(x, y) + + x_line_points, y_line_points = get_cm_line_points(x, y, max_parts, parts) + for yp in y_line_points: + ax.hlines(y=yp, xmin=-0.5, xmax=30, color="r", alpha=0.5) + + for xp in x_line_points: + ax.vlines(x=xp, ymin=-0.5, ymax=18, color="r", alpha=0.5) + + # add text box for the statistics + stats = f"$c$ = {c:.2f}" + bbox = dict(boxstyle="round", fc="white", ec="black", alpha=0.75) + ax.text( + 0.95, + 0.90, + stats, + fontsize=14, + bbox=bbox, + transform=ax.transAxes, + horizontalalignment="right", + ) + + plt.savefig( + OUTPUT_FIGURE_DIR + / "gtex-KDM6A_vs_UTY-brain_cerebellum_and_small_intestine_terminal_ileum-clusters-males.png", + # rasterized=True, + dpi=300, + bbox_inches="tight", + facecolor="white", + ) + +# %% tags=[] +with sns.plotting_context("paper", font_scale=1.8): + g = sns.FacetGrid( + data=datasets_df, + col="dataset", + col_order=[ + "Brain cerebellum (all)", + "Small intestine (terminal ileum) (all)", + # "Brain cerebellum (males)", + # "Small intestine (terminal ileum) (males)", + ], + col_wrap=2, + height=5, + ) + g.map(sns.scatterplot, "x", "y", s=50, alpha=1) + g.set_titles(row_template="{row_name}", col_template="{col_name}") + + for ds, ax in g.axes_dict.items(): + df = datasets[ds].to_numpy() + x, y = df[:, 0], df[:, 1] + + # pearson and spearman + r = pearsonr(x, y)[0] + rs = spearmanr(x, y)[0] + + # ccc + c, max_parts, parts = ccc(x, y, return_parts=True) + c = ccc(x, y) + + x_line_points, y_line_points = get_cm_line_points(x, y, max_parts, parts) + for yp in y_line_points: + ax.hlines(y=yp, xmin=-0.5, xmax=30, color="r", alpha=0.5) + + for xp in x_line_points: + ax.vlines(x=xp, ymin=-0.5, ymax=18, color="r", alpha=0.5) + + # add text box for the statistics + stats = f"$c$ = {c:.2f}" + bbox = dict(boxstyle="round", fc="white", ec="black", alpha=0.75) + ax.text( + 0.95, + 0.90, + stats, + fontsize=14, + bbox=bbox, + transform=ax.transAxes, + horizontalalignment="right", + ) + + plt.savefig( + OUTPUT_FIGURE_DIR + / "gtex-KDM6A_vs_UTY-brain_cerebellum_and_small_intestine_terminal_ileum-clusters-all.png", + # rasterized=True, + dpi=300, + bbox_inches="tight", + facecolor="white", + ) + +# %% tags=[]