From 66d7e1a89ae43ce8db0d3c0327dc6495eff87401 Mon Sep 17 00:00:00 2001 From: Maria Solovey <43003020+SoloveyMaria@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:44:13 +0100 Subject: [PATCH] Delete src/method_comparison/compare_algorithms/compare_results directory delete trash --- .../compare_raw-checkpoint.ipynb | 2401 ----------------- .../compare_res-rev-checkpoint.ipynb | 750 ----- .../barplot_raw_interactions.jpeg | Bin 25912 -> 0 bytes .../compare_results/compare_raw.ipynb | 955 ------- .../compare_results/compare_res-rev.ipynb | 750 ----- .../compare_results/density_CellPhoneDB.jpeg | Bin 11378 -> 0 bytes .../compare_results/density_NicheNet.jpeg | Bin 10470 -> 0 bytes .../density_community_raw.jpeg | Bin 10638 -> 0 bytes .../density_failed_interactions.jpeg | Bin 10155 -> 0 bytes .../compare_results/density_good_quality.jpeg | Bin 11546 -> 0 bytes .../compare_results/density_significant.jpeg | Bin 10029 -> 0 bytes .../compare_results/density_strict.jpeg | Bin 10580 -> 0 bytes .../compare_results/try2norm.ipynb | 1398 ---------- .../venn_failed_interactions.jpeg | Bin 7113 -> 0 bytes .../compare_results/venn_good_quality.jpeg | Bin 8454 -> 0 bytes .../venn_raw_interactions.jpeg | Bin 6692 -> 0 bytes .../compare_results/venn_significant.jpeg | Bin 6582 -> 0 bytes .../compare_results/venn_strict.jpeg | Bin 5282 -> 0 bytes 18 files changed, 6254 deletions(-) delete mode 100644 src/method_comparison/compare_algorithms/compare_results/.ipynb_checkpoints/compare_raw-checkpoint.ipynb delete mode 100644 src/method_comparison/compare_algorithms/compare_results/.ipynb_checkpoints/compare_res-rev-checkpoint.ipynb delete mode 100644 src/method_comparison/compare_algorithms/compare_results/barplot_raw_interactions.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/compare_raw.ipynb delete mode 100644 src/method_comparison/compare_algorithms/compare_results/compare_res-rev.ipynb delete mode 100644 src/method_comparison/compare_algorithms/compare_results/density_CellPhoneDB.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/density_NicheNet.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/density_community_raw.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/density_failed_interactions.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/density_good_quality.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/density_significant.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/density_strict.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/try2norm.ipynb delete mode 100644 src/method_comparison/compare_algorithms/compare_results/venn_failed_interactions.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/venn_good_quality.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/venn_raw_interactions.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/venn_significant.jpeg delete mode 100644 src/method_comparison/compare_algorithms/compare_results/venn_strict.jpeg diff --git a/src/method_comparison/compare_algorithms/compare_results/.ipynb_checkpoints/compare_raw-checkpoint.ipynb b/src/method_comparison/compare_algorithms/compare_results/.ipynb_checkpoints/compare_raw-checkpoint.ipynb deleted file mode 100644 index a50e269..0000000 --- a/src/method_comparison/compare_algorithms/compare_results/.ipynb_checkpoints/compare_raw-checkpoint.ipynb +++ /dev/null @@ -1,2401 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "0f981bc1", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from matplotlib_venn import venn2, venn2_circles, venn2_unweighted\n", - "from matplotlib_venn import venn3, venn3_circles\n", - "import matplotlib.pyplot as plt\n", - "import seaborn as sns" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "4b92d78e", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_15828/4118805249.py:2: DtypeWarning: Columns (22,26,27,28,29,30,32,33,34,35,36,37,38,41,42,43,44,47,48,50,55,57,58,61,65,67,68,70) have mixed types. Specify dtype option on import or set low_memory=False.\n", - " cell_anno = pd.read_csv(\"../../../results/data_preprocessing/Lasry/preprocessed/anno_cells_corr.txt\", delimiter=\"\\t\")\n" - ] - } - ], - "source": [ - "#read in cell annotation file to split case/control samples\n", - "cell_anno = pd.read_csv(\"../../../results/data_preprocessing/Lasry/preprocessed/anno_cells_corr.txt\", delimiter=\"\\t\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "e24442ba", - "metadata": {}, - "outputs": [], - "source": [ - "# Create a list of column names in the dataframe that contain the string \"healthy\"\n", - "control = cell_anno[cell_anno[\"health_status\"]==\"healthy\"].sample_ID.unique()\n", - "\n", - "# Create a list of column names in the dataframe that contain the string \"AML\"\n", - "case = cell_anno[cell_anno[\"health_status\"]==\"AML\"].sample_ID.unique()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "0e39d0b1", - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the CellPhoneDB results CSV file and set the interaction column as the index.\n", - "# Any missing values (NaNs) in the dataframe are filled with zeros.\n", - "# These missing values are due to merged samples.\n", - "\n", - "cpdb = pd.read_csv('../../../results/method_comparison/compare_results/CPDB/CPDB_results.csv', index_col=None)\n", - "cpdb = cpdb.fillna(0)\n", - "cpdb.set_index(\"interaction_ID\", inplace=True)\n", - "cpdb_anno = pd.read_csv('../../../results/method_comparison/compare_results/CPDB/CPDB_anno_interaction.csv', index_col=None)\n", - "cpdb_anno.drop(\"Unnamed: 0\", axis=1, inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "3312b761", - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the NicheNet results CSV file and set the interaction column as the index.\n", - "# Any missing values (NaNs) in the dataframe are filled with zeros.\n", - "# These missing values are due to merged samples.\n", - "nnet = pd.read_csv(\"../../../results/method_comparison/compare_results/NicheNet/NicheNet_results.csv\")\n", - "nnet_anno = pd.read_csv(\"../../../results/method_comparison/compare_results/NicheNet/NicheNet_anno_interaction.csv\")\n", - "nnet = nnet.fillna(0)\n", - "nnet.set_index(\"interaction_ID\", inplace=True)\n", - "nnet_anno.drop(\"Unnamed: 0\", axis=1, inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9e152ce4", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "97dc48fd", - "metadata": {}, - "outputs": [], - "source": [ - "community = pd.read_csv(\"../../../results/method_comparison/compare_results/community/community_results.csv\")\n", - "community.rename(columns={\"Unnamed: 0\": \"interaction_ID\"}, inplace=True)\n", - "community.set_index(\"interaction_ID\", inplace=True)\n", - "community_anno = pd.read_csv(\"../../../results/method_comparison/compare_results/community/community_anno_interactions.csv\")\n", - "community_anno.drop(\"Unnamed: 0\", axis=1, inplace=True)\n", - "\n", - "community_anno_lower_threshold = pd.read_csv(\"../../../results/method_comparison/compare_results/community/community_anno_interactions_lower_threshold.csv\")\n", - "community_anno_lower_threshold.drop(\"Unnamed: 0\", axis=1, inplace=True)\n", - "\n", - "# community_zero = pd.read_csv(\"../../../results/method_comparison/compare_results/community/community_results_0.csv\")\n", - "# # community_zero.drop(\"Unnamed: 0\", axis=1, inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "9de43a80", - "metadata": {}, - "outputs": [], - "source": [ - "good_quality = community_anno[community_anno[\"passed_QC_filter\"]==True]\n", - "community_good_quality = community[community.index.isin(good_quality[\"interaction_ID\"])]" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "179eb05d", - "metadata": {}, - "outputs": [], - "source": [ - "significant = community_anno[community_anno[\"sign\"]==True]\n", - "community_significant=community[community.index.isin(significant[\"interaction_ID\"])]" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "705a6d73", - "metadata": {}, - "outputs": [], - "source": [ - "significant_lower_threshold = community_anno_lower_threshold[community_anno_lower_threshold[\"sign\"]==True]\n", - "community_significant_lower_threshold=community[community.index.isin(significant_lower_threshold[\"interaction_ID\"])]" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "5a2c2033", - "metadata": {}, - "outputs": [], - "source": [ - "def index_to_list(df):\n", - " return df.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "17958f87", - "metadata": {}, - "outputs": [], - "source": [ - "# below functions gets the number of non zero interactions in case/control. \n", - "# the input is weight matrix and anno_interactions\n", - "def get_nr_samples(df, anno_df):\n", - " mask_healthy = df.loc[:, control] != 0\n", - " row_sums_healthy = np.sum(mask_healthy, axis=1)\n", - " anno_df['nr_nonZero_controls'] = row_sums_healthy.values\n", - " \n", - " mask_case = df.loc[:, case] != 0\n", - " row_sums_case = np.sum(mask_case, axis=1)\n", - " anno_df['nr_nonZero_case'] = row_sums_case.values\n", - " return anno_df" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "33dfea55", - "metadata": {}, - "outputs": [], - "source": [ - "def plot_density(df_anno,title):\n", - " # plot scatter plot\n", - " sns.scatterplot(x=df_anno['nr_nonZero_controls'], y=df_anno['nr_nonZero_case'], s=20, alpha=0.5)\n", - "\n", - " # add 2D density plot\n", - " sns.kdeplot(x=df_anno['nr_nonZero_controls'], y=df_anno['nr_nonZero_case'], \n", - " cmap=\"Blues\", shade=True, alpha=0.7)\n", - "\n", - " # set labels\n", - " plt.xlabel('number of control samples')\n", - " plt.ylabel('number of case samples')\n", - " plt.title(title)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "4b7ee06b", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOkAAAD9CAYAAABZcFBuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA1r0lEQVR4nO29d3wc1bn//352V7urlWRJtmTZlrvlhgvGYNNMDcVASIEAlxabkgtJfkAaJF/iJIQSIAVCLuQmNyRAMCTGoQQCxA7FdNxwww25y5Zlq1vS9t3z++OMYC1UVvKW2dW8Xy+9tDtzZuaZ2fOZ057zHFFKYWFhYV5s6TbAwsKieyyRWliYHEukFhYmxxKphYXJsURqYWFyLJFaWJgcS6RxIiJXisjSdNtxJIjIRhE5Pd129AURaRWRsem2Ix2INU7aN0REAeOVUtvSbUsyEJFdwPVKqdfScO1lwEKl1KOpvrYZsUpSkyEijnTbcKSIxspbiUIplZQ/YATwHFAL1AMPG9ttwAJgN3AQ+CtQaOwbDSjgGqAKaARuBGYB64Gm9vMY6ecD7wEPGvt2ACcZ26uM88+LSb8MXTrEHv9uzHdlXK/SuPYjfFbb+DQt8LaRtg1oBS4DPgYujDlXDlAHzOjhObXf83XAHuBtY/tioAZoNq43xdg+xrhXm/H9UeBgzPkWAt/p4lq7gLOMz3cAzxjPvwXYCBxn7HsSiAI+4/5uM7afALxvXH8dcHqHZ3uP8Xv4gArjd9xsnH8HcEMHe74MrAUOAduBucY5IoDfuPbDMb9NhfG50LC7Fp2PFsQ8j/nAu8Cvjd9wJ3Beh998h2HTTuDKZGkgYVpKkkDtxo/4IJAHuIE5xr5rgW3AWCAfLeQnO2TYPxjHnGP8WC8Ag4FytPBOi3ngYSMz2IG7jYz+COAyjm8B8nsh0n8BRcBIIxPM7SZtRcz324BFHTLgBuPzv4Af9SDSvxrPKjfmORUY9/FbYG3MMXuAY43PW41MNzlm3zFxitQPnG88u3uBDztLa3wvR79sz0e/aM82vpfGPNs9wBTAgX5JXQCMAwQ4DfACM430s9EvoLON85UDkzr7nToR6V+BfxrPZzTwCXBdzO8UAr5h3Nc3gWrDhjz0C2GikXYoxsvPzH/JEumJRgZ3dLLvdeBbMd8nGg/VEZNhy2P21wOXxXx/FqOkMH6Qyph904zjyzocP6MXIp0T8/0ZDHF1kTZWpMPQL4QBxvd/YJRAPTyr9nse202aIiNNofH9SeB7wBC0SH+JrgEcVsrGIdLXYvYdBfi6EekPMV6mMduWYNRUjGd7Zw/3+gJwi/H5j8CDXaQ77HeKfd5o4QWAo2L23QAsi/mdtsXs8xjHDkGLtAm4GONlmAl/yWo3jAB2K6XCnewbhq6itLMbLdCymG0HYj77Ovme301alFLdpe+JmpjP3niPVUpVo6t6F4tIEXAe8FQvrlvV/kFE7CJyn4hsF5FDaMEAlBj/3wJOB05FV4WXoUuq04B3lFLROK/Z8V7d3bSJRwGXiEhT+x8wB10afe4ejPs4T0Q+FJEGI/35MfcwAl3F7S0lgJPP56HymO+f3pdSymt8zFdKtaGbJjcC+0XkZRGZ1AcbUkqyRFoFjOziB69G/+DtjERXWQ90kjbRtKHfrO0MSfD5nwCuAi4BPlBK7evFsbHd7Fegq8tnodtfo43tYvx/CzgFLdS30G2wk9EifatvpndrD+jf9EmlVFHMX55S6r7OjhERF7rW82t0zaYIeCXmHqrQVeF4rh1LHbrm1TEPxfWslVJLlFJno18uW4A/xXNcOkmWSFcA+4H7RCRPRNwicrKx72/Ad0VkjIjkA79At+U6K3UTzVrgIhHxiEgFurOmrxxAt6tjeQGYCdyCbjf1lQJ0la4e/VL5RexOpVQluoZwFbqj6ZBhz8UkTqQd728hcKGInGuU9G4ROV1EhndxvBPdnq4FwiJyHrqPoJ0/A9eIyBdExCYi5TGlWmfPFgClVATdDLlHRApEZBS66r+wpxsSkTIR+ZKI5KGfbyu6k8rUJEWkxoO8EN2G2APsRVczAP6CblO9je5d8wM3JcOOTngQCKIzwRP0rjrakTuAJ4yq36UASikfuvQYg+4QA0BEXhWR23tx7r+iq3D7gE3Ah52keQuoV0rtifkuwJpe3kdX3AssMO7vB0qpKnTpfjtaeFXArXSRh5RSLcDNaEE1omsHL8bsX4Hu8HsQ3YH0Fp+Vjg8BXxORRhH5XSenvwldK9qBrkU8jc5XPWEDvo+uzTWgax7fiuO4tGI5MyQYEfkpMEEpdVW6bbHIDjJ+4NxMiMhAdBX66nTbYpE9WF4hCUJEvoGuAr6qlHo73fZYZA9WddfCwuRYJamFhcmxRGphYXIskVpYmBxLpBYWJscSqYWFybFEamFhciyRWliYHEukFhYmp9+JNBui/ln0L/q9x1G2R/2zyHz6XUlqYZFpxCVSERkhIs+JSK2I1IvIw8ZE3QUisltEDorIX0Wk0Eg/WkSUiFwjIlXGvMAbRWSWiKw35ig+HHP++SLynog8aOzbISInGdurjPPPi0m/TESu73D8uzHflXG9SuPaj4iIdEwrIu2O8OuM4MuXicjHInJhzLlyRKRORGb07RFbWBwZPYpUROzoaHe70WE8yoG/owM+zQfO4LPIfw93OPx4YDx6wvdvgR+jQ4JMAS4VkdM6pF0PDEJP4v07OpRnBToCwcNGJId4+aJx/NHApcC5HRMopU41Ph6tlMpXSi1CT7iOnQt6PrBfKbW2F9e2sEgY8ZSks9HBw25VSrUppfxKqXeBK4EHlFI7lFKtwP8D/qtDXKO7jPRL0TPp/6aUOmjE/nkHOCYm7U6l1GNGVIdF6EBVdyqlAsbxQbRg4+U+pVSTEbngTWBGnMctBM4XkQHG96vRkSQsLNJCPCLtKvKfFfXPwiIFxBOZ4dPIfx2E2l3Uv66CUyWKVET9ux79fHob9c/CIqHEU5J2FfnPivpnYZECeixJlVIRo7fzd+jIfwrdsfMddJX3bfSSEEtIbdS/WWiBrUdXR8/q47nuQEf9ywX+Wyn1jFLKJyLPApcTE/UvLYg40c/X1eHPjY7mrmL+IuiYtGF0G74VaEUpf+oNt0gU/d6ZoStSHvVP10aKjb+Bxv8i9JoqR0oILdgW4/8hdFjOWlJT87E4AiyRdoIR9W8NcHVSgorpZQFL0cNZ5eilExIhxt4SRcefPYiulRxAB9q2MBGWSDtgRP37LXpJhRsTeOIidIdaOXqJA2fCzp1YfOie+p3APuJfV8YiSVgiTSa6CjvB+BvQQ2ozEuQzwe61qsbpwRJpotHOHGPRwhyWZmsSSRi9uttGDh+/tkgylkgThUgJMBW9Dkw62peppBa9svl2qzqcfCyRHikiZegx1RHpNiUN+NALSm1CL1ZlkQQskfYVkWFocWZTlbavRIHNwGprTDbxWCLtLSLlwHEc7qNsoQmhvcE2WJ1MicMSabzohWdPQrc5LbqnDVgFfIKVwY4YS6Q9oR0PpgLHkv0dQommAXgfPbPIoo9YIu0OkSHAHLSbnkXf2Qgst6rAfcMSaWeI5KCrthPTbUoWcQh40xpj7T2WSDui/XbPQju3WyQWhZ61tAodgcMiDiyRxiIyGV2C2tNtSpbTCLyOUg3pNiQTsEQK7dXbU4Fx6TalHxEG3kCpXek2xOxYItXV27OBwnSb0k9ZiVJr0m2EmenfIhUZgW5/ZtzQyttQfDVc06pfLupsePvv8MZCGP5DuDIAroFQvwT+PAb8LWA/Fa6ugpEK7HPgg3/CvwGawX42XF4JEwWi18ILv4Y1X4dTX4HTbaCc4H8QFl6iQ+kkmm3AW1Y7tXP6r0hFJgKnkKFR/JdD4SYovAb27AbXDFjwf/D7m+GaH8Di70Pl9XBSFZQsgRdvgtnL4OgN8KcacE6AO56D35wF9XPhwijYlsI/QyBbIG8atO4E9xjwA9wO0xfB6dt1GJ1kcBBYilLeJJ0/Y8nIDHrE6Gj0p5HB9388NF+jY04xCgKDYf8nUFQPZd+BSoCvw+ZV2r8YARUApxds9ZBjh0i5ETr1PTj5cXgVIAfUNB1ihXaBArTquErJZDDwVWNyvEUMGZtJ+4zI8eiA31nDazCoGkZcATtLoXqBjtrP/8CxLYYjxj3wkQuCg+BXM+C+L8PSyeCthFyA/4Ivl8GPp8B/r4aC9nNfCacXwd2PwcUP6VUFkkkecCEixUm+TkbRv0QqMgcjA2cLVeC6Em68EZ4ZA/6H4YlFcHoZ/LgN3Dbdi8pjMFogehBuWwG3vwhnL4ESP9hboXg2bDsA9xwFO66DS9rP/xQsa4IF8+G5n+glN5JNLlqog1JwrYyg/4hUl6BHpduMRNIC9tPgxlNh+a904DS+CjU74KEDcM+NsKJYT9DmbzD7ZPi4ACLHQMsY2P5vGHUUtDogeK+evcJNsLpKBzo/jAdg5ab4l+o4UtzABVaJqukfIhWZTpaVoBHgFPh6OexfDK+1b19jVFVDID+FCy6AtwCGQMNymBQBqsG5C8YcBzV2YBKsf0CHe2EhTBqiVyfgX7qdCMAdMK1Yd+6kinah9vuhsezv3dUR7s9MtxmJ5iGo+A7cWgL7RLvb8U14fisMXqJXumMmfLQUnrejq8VzYV6NMUn9NHj/OVgK8AYMnAfX+sGTBy2PwxOnQ8McuGwzTLZDJBfafgV/uzQ5QzDd0Qr8E6XaUnxd05DdIhUZDsylv9QYspda4MX+Oo6avZlXZDBwDtl8j/2HUrTbZr8kOzOwXtflHOJbNc4iMxhv9C30O7JPpCKCboN6ekpqkXEcb7hy9iuyT6R69fDydBthkRQE+EJ/80rKLpGKDEXHIrLIXpzAWUbsqX5B9tyoiBv4Avpta5HdDKQfvYyzR6RWO7S/cbSxtMfnEJFWEem4envHNKNFRIleu8fUZIdI9bSz4ek2wyI1DIBfeOCB3TC3vdorIteLyDIApVS+UmpHsq4fI/CXO2xfKCJ3xHmOXSIS1+r0pn+L9IiICzg+3Wb0lgADImHyomHcKownGsGN/pxLBJcSouTQKjm0SQ5t4sBr0//bbA4C2fFyPQKiYLsJLn4RPgFWpMmME0TkZKXUe8m8SOaLVE87c6fbiM7wUhpqY3ikhRGqlRHRNobafJTZ/AzMieK008eAZzaCUTd1oTyqIwXsUQXskQJ22fPZm9NfBDwXlv4bzq2EN8eL7IzdJyIKGK+U2iZ6zPxu4GvoCJAb0OFy2rlSRO5CN5UeVErdY5zDBtwGfMM47nXgRnV48LRfGuc+ozMbReSLxv7R6IWtblRKrReRJ9GTGF4SkQhwp1Lql13da2aLVHsVTUq3GQBR7KqBowJ1zIg0MNl2iLE5YfJySEJolihOm5dhLi/DqOW4w/a5aAwVsyVUykdSymqHh9qMCw0TD7Nh11bY+m04dyns7Sbpr4Ep6CiQNehaV+xyjXPQ8ZUnACtE5Dml1GbgZuAr6OAAteiIFI8Al8cc+whws4icpZR6LWY7IjIT+AtwIXrJjauAF0VkolLqahE5Bbi+43Gdkbki1U4Lc0hjb24LI4L7OD1UxwxbM2Ncipy0l+gBinNqODGnhhOBdtFuDpfykSpjpdNNQ+b+5h34Gbw4D25bB69PA9eGDvuN0vBa4ASl1D5j8/vGvvZkP1d62cZ1IrIOPVtqM3AD8P8ppfYa6e8A9ojI1TGX8AP3oEvLjmL7BvBHpdRy4/sTInI7cALGzKR4yeQfbDLQae9eMvFSGqrinOA+Ts3xMsyJHrczLVq0J+XUcBIbiKoB7PSP4DU1nDecOXgzOr7wf0H1L2DDzTB3KuzsKFJ0/nAD27s5TU3MZy+Qb3weBTwvIrGlboTPr6b3J+BWEbmww/ZRwDwRuSlmm5M+LJWZmSLV3ebH9ZguQQQoCu/hrOA+zrC1MtJNBkYX1NjkEOPcGxnHJq6LDmSjbyRLGMr7bhuRjBxfvhde/CosOAv8BTr8Six16NJuHLCul6euAq7trFNIREa3f1ZKhUTk58Bd6DVvYo+/p72N2wlxTz/L1E6GyaSgs6iJ8YHl/Nz7H56wb2WexxBoVqBw2Oo5OncNt+Uu4e/RtXzH66U0lG67essFUHs0rHoDzhwA+UagcwCUUlF0u/ABERkmInYROVH0iEBP/AG4R0RGAYhIqYh8uYu0T6IDtc2N2fYn4EYROV40eSJygYi0x486AHQ7lttO5olUxE6SoyzUcLzvbX7rf5cHXLXM9IAtI0uZeIngtu/lC543+JNjBT/xHmJUMBHnjQrK6yHcOIhA7RD8dWUEGkoItAwgGHCRsLmhv4F/hcFl0/m5Y974AbpHdyV6Kcb7iS/fPwS8CCwVkRbgQ7oY6lN6nuvPiFl9Tym1Ct0ufRi9rMY2YH7MYfcCC0SkSUR+0J0hmTfpW+QodIdRQoliV3s4x7edix0+ykzdzkwFA9nom8iTMoiNcdUe2vIINQwmVD8YmgZh9+XhiDi6H2Kyh4h42gjlNxMtaoAhVeTktR1xUyIMPIVSgSM8j2nILJHq3rr/4rPGfULYy+m+TVznCFKUoW3N5DGAHf6jeJQSNnxOrK0FBHdXEKoeSU7Ak5gONLeXYOl+QsN3Yh9U2+cmzXKU6m0b1LRkmkgnosetEkIzY4LruCV6iHFZ09ZMFqV85J3GwzluqXXsqcC/cwK2tgHJDZjtaSEwdguRETtw26O9apq1AH8nozJ312SaSC8lAeuGBhgQ2ch/B6o5JTfb25uJQqHU7sFbvaHxz0XHjVieb5Noyp6bI0h4dCWB8R+T2wuxLkGp3Uk1LEVkjkhFyoCuetfiQiFqG1/zbeNSVwR3Ro8RppL9Rft9G4dvtPtcPieA29EanFG2LFqaV53SGojTT2jKasLle3TU/R7Yi1KvJN2oFJBJIj0FPfTSJ3yUhFeyIGxVbeMnIpHo6rGr/QeKDnQ6BbAsb5d35tA33Q5bKKWjBAMP4jv2XZyuQI++z4tQqjklRiWRzBCpHna5mj569+zjFN96bnZapWf8+HJ84Q8mfBBpc7d12+502duCx5f/m0J3fUp7xJ1+Qse9Q3RgXbft4o9R6v2UGZUkMkWk49BRF3pFGFd0Ld/113CyNRm8F9QW1PpXjVvlCNvDcXmkCZHolNIP/WOKN6b2OUdRk9bjq9jc5WR/P/BkpncgZYpIzwN6FSWuifGBVdwufkr6/Zhnb9hWts27uXxzLtL7iQu6+vuG22ELp7T6O2I7bUev+JxLYDv/QqnqVNqTaMwvUhEPcCW9mO2ylzO867jZrXBknkdVGlkzeo1376C9R1Qa5jpagseXv0qBqymlL8fhO2ibsbxToWZ8lTcTMvEYeiHQrVzetpbveSyB9o7Nwza3HalAAXzhAufbey5yVB0an9IVu/eOJW/tCXR2zdGptCMZZEJGjiuGrkLUGr7nreSKrqo9Fl2wZ9Ae77ah2xL23KLKYVtbc4ZnW8P01Ap1DJ6tU+m4sFN+VwHLMgVzi1TPzO1x/l0YV/QD7vXv4wyrg6iXNHoaA+tHrU/KsNTmuhM8W+uOTelqaJVT8dSW4e+weXQqbUg05hapXh+z27ZNgAGRd3go1MCUeAa4LWII2UORFRUrbEpU0vLBJw3H5m2qPT51QhVk9Rwc/ly9wrnBmJRdPwmYXaTdVnVDeCLv8ZtwG+VJ9SHNVlaOWxkM5gSTPqlge+PReesOnJIyoYadOFacephIi43g6RmJ2SMzdCnSMO7oe/w67GWIJdA+UFNY46svqE9Z7WNP8+S8SNThnTn0zc81ST7cS9nDK/jv9u9tIUpOGM6Ls4ax9fG1XBVV5IgQuXIaT8+tYNe/tzF64XquBh3e4KyxvHTNDNYCfOMlbvaGKFQK+0gXm1cFeMatkw0G9qTmbhOLeYdgdIiU+XRS2kfIib7Hr4KWi1/feWPKG4GevImSwZD8nd5Zw/7TZd9BMIJc8Sy//Olp3Pu75Vx95hheu2IaG5/awNTXdnDuY1/mN40+nJ4cwi4H0a11FN7+Bj95+iJuczmIHmjFXZaPP6rg2y9zw5faWPlIlI+Aj9ATsTMOM1d3B9OJfVHsajl3BSyB9p19xfv86RAoQE3rGM/G2hO67PV9fjOT853UTi+jAaAtqJ3pW4Pk5uXQBFCcS9Dl0GE5vaHDa4Nl+brTKBDGHgXHwRLaQ8IMTvzdpAYzV3eLO25QiFrJT30NTLF6cY+AzeWb0/py3tE43TPAVe8dMaDyc7/jB3uZNXWwjkh/7TEsevBDblm6g6+hkJ+cxv3t6V6tZMyT65nnDTHwy5P4S7toAa5/kVvqfYwuL+DjK05hffAlos4gpam5u8Rj5pL0cyL9mBu9OuaQRV+pGljlbZ9ylk7W1ZzqbvQNPizESVsQ+55mpn9lEqsBXtjCaedV8MziS/jRORU889By5rWnPW88O5++mDtuO5lfvLmT8w4FPitwHv0SDz3xFW6NKHKeq+SoHZPwAy5EClN2gwkkY0S6j1N8uznfclQ4AhRKbR221RS1J4XdtnzfeXZ/2PNpL+w/NjF1YC57KgbSAlDZwInzZ7AG4LpjWN3g+/x450kjqHHYCHy49/BOxgEuwlNLWbeqmhm7K3BFBQWZWZpmhEjbGBpaxy1pf/tnOgcLD/rNUIq2E4q6HO9XfTESjjqiACuqmX30EFa273c7aH5hCxMAnt3MpHwnBwHW7GdQIKzz7voDDDwUYMiEQdTXeXFtraMQIBDGtqmOqWV57A+5cFSPwkcConqkA1O8VT+HHtNyg/Ym+pC7VBSXNRf0CNlXvM90XfltoSLXyupzvJMGvVK0v4XJC05hYfu+y6fy5OJNXPbsZmx2IfT16TwJ8MFeKn71PufZhAgQ/eIEnh5dROu2BgrufodvRxUOpbCVD2DLTbN5G2DvGBi+K7EB7FKFOYdgRIYBXwRYwU+8B5lttUMTwJLpS0KpcF7oCxMGrm6bWLI6ac0ZW5jIuc9SY4+ol3tObS7MWt0dALCdr1oCTRDNuc0p8S7qK5UNx+Q2+wclJCh3Z0Qd2A8Oy8zlQcwqUk8r5cEtfN0aC00QtQNqwz2nSh8Km23V/rNVVNmSVrU7UB5XADPTYVaRulfzo6g1JzRx1BXUpduEHvGGBrg21R6ftOltLYXkZKIPrylFsIrbHS2MzriHaWaaPc0ZUdXb2TTFk6xqb1sBDhK8+kEqMJ1IRfB8yDlxTfS2iA+FUmZujx6OTT6qOVMpJQmv9oadOOpLk78aX6IxnUiBE+0o04zlZQNhezjacyrz0Bosdm1vnO5Lxrk/mWbSYcduMJVIRRgGjHOT2mhz2U7IHjLhOFv3bK0/1hUIuxO2PGI7rQN6DKhtOkwjBtEhJOcAOOJfBNkiDsK2zCpJAaLKYd9SN7tjGJQjJuiyStIjoQLDbStC4tsj/ZmwPZyRz7Pq0Phcfzg3oUNHymaVpH3CKEWPaf+eca99k5OJ1V3QTvhb6mZnzWLAfcUsRf8YYpyfe7cUpUVPxFuSPrf5uXmNvsZpDpujZd6MeT9v3/76jtfPqDpUdYYg0YG5AzdcOPHCZwGWbFsyd3/r/jlAdNrgaX8/dtixmwCeWv/U90PRUKFNbCGA88ef/9sST0lL+/k+qPpg5oaDG244ddSpv5hUMqnb5Qn3HhqfO6lkZdjt8CYqr2ZcGWAWkR4T+yWK1ShNJI6oI67g4hUDK9532V1vfrj3w2vat62rWTfxQNuBGZdPvfxOl8MVrvPWFQDsaNwx9EDbgVmXT738jlpvbeFrO1777owhM35it9kVwAnDT/hzZwJsCbS4djTuONOT49kZj00Km21z3Wz/MUOWJSSvunyfRmrIGNJeZIkwEhgUuy2SfrOyijx/XlztsOll0yvznfmHRfX7pP6T0yaXTH7V5XCFAdpLxMr6yqPL8spWuhyu8PABw+tddlftlrotPYbOfHPXm1+eMGjCEkHiFsu+QxVuXygvIW1Ttw9Tu0d2hhlK0pkdN4RInv9mf8QT9PT5d/aFfWX7W/eP37h+41cECc8cOnPx5NLJu31hX3GJp2RHezqXw9V4KHCoqP378r3L563Yt0INzhv80bnjzn1ZRNhat3WEP+wfOKt81oZP6j85J14b2kvTmUPfPOL8mnfIKkl7hQjldBIgqhlnxrUbzIxN2cQZcvYpcyqlbKFIyHPltCvvmzl05j8+3PvhDV1NbxTRvfJfGPuFP8+bMe/Or0766i8bfY0V7+5594Soisqq6lWXnjzi5MV9saO6ZZw7FHEe0bipRIlOWk/Cx16TTbrrlUd3trEh8zy3TE++P79PmdNpdzaOLhq9RkSYXDp5l4hEG3wN+bmO3Ma2YNun0TMC4UBxgbOgGWBI/pAmgAJXQaB8QPmKel/9mNZgq9sf9g9bun3p9x9b89gvvCHv2Per3v/2lroto+KxQ2Gz7Tk08Yh6eguaCHrarJI0bkTIpYvg1/W4repugiluK+6TSIfkD1m7r2XfJIBdTbsGR1XUMTB3YGvFwIp1B9oOzAqEA469h/YO8of9gyeVTNoZjoZtDb6GfIBQJGSvaa2ZXugq3DfANcB33czrvn/NMdfcfs0x19zuyfHsOGnESY/01Lsby57miUeUX0sOEAFaekxoMtLZJh1HF0sa1uHu9QK2Ft1T3FbcYwZfvHHx9S3BlgnhaDj/L2v+cv+44nEvnjzy5Pde3PrivCfWPvEzEQnPHDrzMRFh3MBx+ysbKlf97eO/3QFEp5VNe9pus6u2YFvOy5+8fItC2ZVStiJ30eZTR536TiLuoTU40N0aLAzmO5v75NtdcoAASmVcSZq28CkifIUuAhbP4oDvp6zMyAm6ZiVsC0eXHL1ERW3RjPO4iWVM0Ya2qYM/6HWYFYkQnfsPqu0R9Uoy7EomaanuilBANxHFD5Kb0RnJjDiiDtuQpiEZ772zr6WiT6VoYRMBe5RDibYnFaSrTVrR3c695OdELIeGhDP24NiMf/kFI7k5B9uG99rxvnQ/UdDLVGQa6RLpuO52RrBJHbkZ13YwO8Vtxa7cQG7Sgn2lil1NR/VqiE6iREdX4sISaXyIMBAY2FO63RRknGdIJjCqblTGP9da73BXbyI3lO3F7/LjAJqTaFbSSEdJOjaeRNsotKq7SWBU7SiXKMloZ5GoctibAiVx1wgmbsABRIDW5FmVPNIh0qHxJNpGUbodLbISZ8RpL2sqS/hk6lRT2zY8rhpBaTXegkM4gWZMGQm+Z1IqBBFsxLloTiVFGRI4K/OYtmea0xa1ZZx7XCx13vKe824UNXX1pwGxG5NrUfJIdWk1iDgdKJpwOepwZ3wnhxlxh92OCfsnZPRwTJO/1NlTuThsD7681k9Fuj/pRiWJVIu0rDeJ11GS8Z0cZqWipiI335efsUKNqBx7c6CkS/vdXoLTVx7mBL43BWYlBVOLdCWDLffAJCGIzNo+SySauZ1ItW3DO62y2yJEj38THOFP8/chlMpIRwYwuUhXM9hlOTUkj/xAvvOofUdlbCdSrbe805f49BX4jc6idvalyKSkkDIHexHy6GWIfz8OWxUF/tG0ZNXctWqqc+/m7q830jgM4CqueiKX3ODjPH5VlGiOIJErufLpuczd1Uab/cf8+KpaakcB6mIuXnQRF30C8A2+cbMXb6FC2YcytPJe7n3aiVNtYMPAB3lwfpCgR6Fs53P+c1dy5ced2TL24FhPfX69t6a4JuNWr2sOlH6uc3HEdtqG76Kjb2/GVnUhtSVpr0rRdj6iNKN7ITvjfu6/bCITN/6Nv/3sUR698xiO2f80T188l7kvLWThXXOZ++IiFl0M8L/87ykAT/HUnXdy52+f5/lLwoQF4G7u/r+neOquhSy8w4u34HEePxbgMR47fypTVy9k4d3f5Jt/+if/vKI7e47bcVzu0MahSVsoKVmEo05HMOL6NH8MaMQ/bSUdXzZhoCq1liWWVIq0Ry+jzniNEVk1FHOAA+797J9wEze9C5BHXmQYw3wAbbTlArTSmptHXhNADTVDJzJxC8A4xrU4cXpf47VRAGXo8c4AAXuUqF1iZv758LkBmmnOzSW3W08bQeS4Hcd5hjUMyzihtgaLwgC5rQSPX4bDpj43/XEvSmV0B2Qq55MW9OWgKgqc1XgCw/C6Em1QOtjIxhI37pbv8t359dQPL6V09wIWLLqWaxc9yIO3LGXp1wD5CT+5H2A4w/duYMPRAQIrN7GpuIGGUdVUFwO7AK7n+lvqqR9dTvnH85i3GuAGbnjpTu685RIuOTNM2PktvvVgPLYdu/NYD+CtHlidMVXflkBxZFTggP+k18jJCXUa+HpXqm1KNKksSfskUoA3iM+7JBMIE7Y30TRyLnPfWsjCu3PICT7EQ3Nf4IXTzuO8Zxaz+EfncM4zD/HQPIBv8s33Cihouo7rfvxH/nhZCSXb7dg/7ZF9lEcfeoInbo0QyXme5ycBPM/zs6Yy9YPFLP7h9Vz/P3/hL9e2V5F74tidx3rK68szpkR17R0SmrMEZxcCjQJxR34wKxkh0v8w0pUtsXjHMKbRjbvxPM7bCXAyJ6+uoWZkJZUnzmf+GoDruG51Aw2jAVy4ovdz/zMLWXjXH/jD74MEPeMYdzD2nAMYEJ7K1HWrWDUDYD3r51zIhasALuCCHVGiObvZHXen3cxdMz0V+yvaUCZ+5gpVsb+i7egNJ+fYu46mvhelMnYsuJ2UiNRYRqLPVagG3I5tFGXsUEEs4xl/yIOn8UM+LANYw5rJgxi03427+QVemADwLM9Oyif/IEAjjc566p0Ai1g02YYtMoc5++uoc21layFAgIBtE5umllG2HyCPvIZlLJsE8D7vD4kQyRnDmF7F9plcPTnvlC2nBM04tc0RcYRnb5sdmFw9Oc9HaXd5eEPKjEoiKQmfIoIHuOpIznE2e7w3sz5j2krd8QZvDH+Mx74eJeoooKB2AQue+IiPhi1m8WVRojY79tDVXP302Zy9Zy1rB93HfbcIojx4mm7hliemM71hG9sKfs7Pb4oSdSiUrZzyLXdz9zMuXNF3eXfoozx6dYiQSxAu5MJnL+OyTX2xNSKR6JbyLb6dg3fmKlFpnfRgi9qio2pH+SdVT3I7og4bgIvG0Nl8vbPOxXqUejbFJiaFVIl0EHDxkZzDTlQtZGkkn7AZAnr3O9qcbaF1o9aF6wfUpz72lEINbxjum7x3stMddh/2+wuh6AVc1NnLYxlKfZIiC5NKqjL8Ef+wEWzyCqMDl7LNEmkayAvm5ZxUeVJOk6cpsHPwzsj+ov2uiD2S3HAsClXWXOafUjXFkRfM67QWpcixKUQJKrZjzAtsS6ptKSRVJWkFcOaRnsdDKPIk/xEnUWuuaZqJSlTVFNb4d5Xuor6g3o10Hp61L3j8nsDQpqHhkXUjnfmB/B7Hyc/lskgO3tgXxgqUWpsoe9JNqkqlhPyAXnLsyyj3nkNVVrRNMxmbssmwpmG5w5qGEXAEIlWDqgJ1BXXS6m61+5y+nN6INiecEy5uKw6WHiqlrKksJy+Y5wLiHhcP41E5eD/7Cpt7dzfmJlUiTVhx/XfG53yBKmVPkPAtjhxX2GWvOFDhqTigg0BGJBJtdbeGvC5v1Of0Ka/TG7UpG86wU5xhZ/t/W04kR5xhp90Vdjk4grwYJSc2f23NhmGXWDKufVeLJ2cFQ7wnknkO4f0Fu7LbCn2FzkJfYUquF8XRLlJFlgy7xJKqtl1CG77/xxRniMydB2mRWKJ8ukjyzkyeN9oVGdkBU0eu41VG+dJth4VpUOhogCvSbUgyyMiSFOCvTMptxZE1Pr0WfceBX4D12ViKQoaWpAABHLaFTDSdy5pF6rER8gJr0m1HssjYkhTgFUbn1uDJqp48i94Twbky0+eMdkeqRJqUdV0UIg8wg2yZIWPRe7ZR6M1X+3ak245kkiqRJi28/2YGuv7DSKsTqR8SQqK/4pisLUHbyXiRAvyRKW4rkHb/YxHjfdXkZ10MrI6kRKRKEQaSNh80hN12H8cqK/xn/2ELRb5FTMgjifnKLKSydzeppelWil0vMtaq9vYDWnGE72JWe1zdtrQakwJSKdJeRQboC48xObeSwqx/s/ZnoqDu49jwIVzts14ydiGmeMmakhR0b+8dzM5pwmmtEp6lvMBY7zpKY4OlN6TNmBSRVSIFOITLfgezo5Zvb/ZRSaH/cSZ3nFhRnxZjUkhWVXfb2U6R6xGmW9XeLOIg7uACTshRSOwUxaBSmbl6d29IpUhrU3gtXmeE5xVGZX2nQn+gFUf4R5wkXnI6hmvJ+vYopFCkStFGCktTgD8w1bOK0owJ9GzxeYLYogs4IVKLp7MwKlnfHoXUO9indLVlhcjdzMrdwEBraCYDieie3MB2iroKpWKJNAnUpPh6RLDJTzjB/QlFllAziCio/2WabyVl3UWazPpOI+gHIgUt1Ns5wbWDAVZnUgYQAfU7jvYtYVR3IXLCpLifI12kVKRK0USa3LgCOGw/5CTnLgosoZqYCKjfcIz/dUb0FMNqr1Jkvd8upGfSd1pKU9Arh/+Ak51WG9WchJDovRznf4fyeIKp70m6QSahX4kUdIn6Y050v0XmLZibzQSxRe9idnA5Q+Jd7cASaRJJ+9LoCpFfM9OzmHGWUE1AI67Q95gTXnO4u1931ClFv/ntUi5SpWjEJF3nf2Wy5/dM9YYtF8K0UUmh/1ucZtvNAGfPqT8l4xcG7g3pCkRmmnAXrzLacxsnhxpxWU75KeY/DG/7PnNcrTh7u/BTv6nqQvpEuj1N1+2USopcN3K6bQ0l/aYKlU5CSPQPTPH+jhl5HXxx48GrVP8YemknJauqdXph4atAaVou3g0Xs817NVtyrbVmkkMV+YF7OVaqKOhN9TaWDUrxQUKNMjnpFOlRwJy0XLwHxtMU+CGrpQxfXzOSRQcioP7JWO/jTPb0ofSM5e9KkZVBsLsinSJ1Aldh0kWj7ETVFXzivYjtuQ7Suwx9pnMQd/A+jlOVXfvgxssepfh3QozKINImUgARzgQq0mZAHAylLXQrH0XG0xzv8ICFQQiJvsxo31+ZlBvCnogX3atKpX8IL9WkW6RlwJfTZkAvOJfd3mvY7MwjbMqS32wsp8z3B6bm1JGbqOfVrBSLEnSujCKtIgUQ4QKgPK1GxImLcPRStvm+xE63m0hvhw36BXvI9/+Oo2UrxUdate3I+0rxcYLPmRGYQaRDgC+l1Yhe4iEUuZKt/rnsyXUStdqrQA2ewNNMiLzJ8GQs7hwCnlKKfhkAPe0iBRDhi8CwdNvRWwYQiMxji/809rldRPtlybqdAf6nmKh6mPd5pGxSineTeH5TYxaRDgUuTLcdfcVNOHoeu/0XsMvRH4ZtoqDWUeJ7ion2JFRrO7kci5RKbegdM2EKkULmlqYdOZpa/8Vsj06nLuscIppwht5gePBfjHZ2EXMoGfQ754WOmEmkGV2adqSIQPgLVAVPZ59tNC0ZO3zjxx5ZyeDAfxhp68UslUQRRDsv9OuJ+qYRKYAIFwJD021HohmIP3wa+4InsV8qaHaZ3TniALnBdZSEPmSI7SNK3RFs6aoRrFCKtWm6tmkwm0hLgK+QPsf/pOMiHD2KxuAMaiNTabCN5pAr3T3ErTjCWykOLadMLWeIswG3GcaCDwGL+0uIlO4wlUgBRJgNzEi3HalCUGoszcHp1EfG0cxQ2mxl+OwFBB22BLdpo6AacId2UxDZRqHaSrFUUpTThMsMouzIEqX617zRrjCjSO3A14DCdNuSTnKIRIfRFh5JS6QEvyogSAEhlU/IlkdI5REWJxGJIESwqTBCBCGMTQWw04Bb1eGWg3ikFretllxbA25HGquuvaFf+uh2helECpnp4GCRMMLAP/rbTJfuMGXbTylqgE3ptsMiLbxvCfRwTClSg+WkaLlEC9OwQym2pNsIs2FakSpFCPqvK1g/pBV4O91GmBHTihRAKfZgVXv7A1Hg9f7qQN8TphapwftAdbqNsEgqq5XiQLqNMCumF6lSRIHXSPHaphYpoxosr6LuML1IAQzfzSXoeYUW2YMXeEMpzDcOaCIyQqQAStEAvAHWD5olBIBX+tNyEX3FlM4M3SHCMcCs5F6lzgHTboWwA6J2mLUa/v0S/HU4/OgqCOeALQI/fxpu2AX3TIbfXQQRO9gj8L1/wA+36nP9eST8cD6EnTBlA7y9COzAsoEwbz74PKBs8K3n4Of9JTxIGHjZaofGR8aJFFIRZTACVLtgRABa7DDxVliwCH79Jfj6a3DHRvjZVHjsXNjzG3h8BEw8BCc2w9+HwfW3QOsP9bmG/j997I07YMLNcPXr+vjZV8HEKnjyLVg8FK67CQ7dnrx7Mg1RtF9uv4v611cyprrbgWUkdT0QO1qgAG12XUK2P6omI0xIYy4UNenP86u0QAEuqdYlbaMDlhdCwA3f3qHPecEH8Moxn12n1ZifeTAXCpqTdz+mYpkl0N5hxtkPPaIUURGWAucAI5NzFb/AyAXQWAqnLIMbd0LpIph/C/z5a6AEXrz/88fdNhOGVkFxGDYUQWHTZ/vGNMKrRfrz/7wEF9wC+WfqqvAjDybnPkzFe0qxLd1GZBqZWpK2D80sJWklqlvBwbtg0w9h+2hdjX3gNLjhGWj5EXzjGbhu3uHHPDMU/nwR/H6hYWUn5xVj469nwekf6Grxb/4HbrsWQpkwQ6WvrFaKjek2IhPJWJHCYUJN4lKK430w5RNYPAVWnQj3r9Hbf70a9o3+LN07RXDDt+DOx+A8Y9Wv6U3QXPRZmp3FUGRUa9+YAzev0p+/vUNXkT/OT959pA0FfKAUq9NtSKaS0SKFT4X6OiTSMXtdPlQabc+DObBhMkyugfxmeGCC3v7LSVB8UH+uzIWLboLrnoObY5Z1PL4ZXAH4/RjdGfXyiXDeWr2vqAEWTtKfnx2iRTo92xw2wsB/lGJDug3JZDKyd7crEhfV4aly+O41emhECRy/Cl5+GR6qgF9cBlEb5ITgrqfhuj3wxfNhyXmfiRZgyW/hmBZ4dBT8aL4W4VEb4Z2/6U6kxUPhu1dDwKUDMNz8LCzIJj9lH7oX92CPKS26JatECiDCeOAUMrRTLEtoQi+ulG01g7SQdSIFEKEYOBsoSrMp/ZFqYKk1oyVxZKVIAUTIAU4FxqXbln7EFuBdo5/AIkFkrUjbEWEqcAJZ0ElmYgLA20qxM92GZCNZL1IAEQYDZwHZOMSRbvahvYja0m1IttIvRAoggguYDUwiy9ZoSRMhdIR5y0EhyfQbkbYjQikwByhNty0ZzF509dYKFJcC+p1IAUQQdIk6C8jYxZTSQCuwSik+Sbch/Yl+KdJ2RHCjhWpVgbvHD6xBL+bb79dmSTX9WqTtGFXg48mC9VETTBBYj14j1ApdkyYskcZgrOo2HRhL/x6yiQAbgbX9fW1QM2CJtBNEyAemoavBqVrR2gz4gUpgvTWkYh4skXaDCE7gKGAq4EmzOclCocc6twC7LG8h82GJNA5EsAGj0C6GI8kO5/1WYCuw1RpKMTeWSHuJCA5gNDAGGE5mVYfb0KXmNmCfFe82M7BEegQYCx4PQ5eyw4EB6bXocwSA/Wjng2qlaEqvORZ9wRJpAjHasCVob6ZS43MqhesFGtDTxfYBdVZpmflYIk0yhs9wifGXB+Qaf+6Y//E6Uih0xINW9No4LcAhoBFotOZwZieWSNOM4aLoQgs2Bx08OtLZn9Xz2j+xRGphYXL6s1eNhUVGYInUwsLkWCK1sDA5lkgtLEyOJVILC5NjidTCwuRYIrWwMDmWSJOIiFwhIqtEpFVE9ovIqyIyR0TuEJGQsb1JRN4XkRONY+aLSMTY1yoiO0XkMRGZEHPe0SKiYtIcEJHfi0gmOftbxIkl0iQhIt8Dfgv8AihDT3H7PfBlI8kipVQ+2sf3XeA5EWl3D/zA2FeIjhfsA1aLyNQOlyky0k0DTgS+nbw7skgXlkiTgIgUAncC31ZKPaeUalNKhZRSLymlbo1Nq5QKAU8AQ4BBHfZFlFLblVLfAt4C7ujsekqpg8B/0BPULbIMS6TJ4US04/zzPSUUERcwH9irlKrrJulz6NXiOjvHMOBc4MNeW2pheiyRJodBQJ1SKtxNmktFpAmoAo4FvtLDOauBgR221Rnn2Iee0P2PvhhrYW4skSaHeqBERLoLs/KMUqpIKTVYKXWmUqqn5erL0XNFYylRShWh4y+9B/y7zxZbmBZLpMnhA3Tkva8k8JxfBd7pbIdSygc8DpwoIiUJvKaFCciGgFqmQynVLCI/BR4RkTCwFL3A0VnAGegICj0iInZ0r/D3gNPRbd3O0rmAq4EadClukUVYIk0SSqkHROQAsAB4Ch1FYTVwD3BOD4efKCKt6IgNdcAyYJZSanOHdE3GqE0YWAd8SVkThLMOa9K3hYXJsdqkFhYmxxKphYXJsURqYWFyLJFaWJgcS6QWFibHEqmFhcmxRGphYXIskVpYmBxLpBYWJuf/B/GylBqrBtqHAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(index_to_list(community)), set(index_to_list(nnet)), set(index_to_list(cpdb))], (\"community\", 'NicheNet', 'CPDB'))\n", - "plt.title(\"community: raw interactions\")\n", - "plt.savefig('venn_raw_interactions.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "e751e032", - "metadata": {}, - "outputs": [], - "source": [ - "community_anno_raw = get_nr_samples(community, community_anno)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "d5ffbfe5", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plot_density(community_anno_raw, \"community: raw interactions\")\n", - "plt.savefig('density_community_raw.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "5d09f2dc", - "metadata": {}, - "outputs": [], - "source": [ - "nnet_anno = get_nr_samples(nnet, nnet_anno)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "54e791ab", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plot_density(nnet_anno, \"NicheNet\")\n", - "plt.savefig('density_NicheNet.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "5efbca5f", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_anno = get_nr_samples(cpdb, cpdb_anno)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "553318cf", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEWCAYAAABsY4yMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABh0klEQVR4nO29fbxkWVnf+32q6pxT56W7h5lu6IahpwFHiJIIpoUoqKhoJBJEwr0qvgTUDCiChrxpzPUFb3JjUIREDYwgQgR8A7ziJQ6SOAJhAGcGBJQhY8OMDDM43TM93X36vNSpqnX/2HtVrb1qrb3X3rV3VZ3T6/f59KdPvf9OnarvfvaznvU8opQiKioqKurgqTVvA1FRUVFRzSgCPioqKuqAKgI+Kioq6oAqAj4qKirqgCoCPioqKuqAKgI+Kioq6oAqAj7qwEhETomIEpFOevlmEfmhgMc9Q0Tuad5hVNRsFQEftZASkReIyK0isiki94nIfxeRp0/xfC8UkUH6fBdF5OMi8uw6PU/paVNEPicibxKRLzXuow9a+j5/KyK/JiJL8/QetT8UAR+1cBKRVwCvAf4D8AjgJPBrwLdP+dS3KKU2gKuANwK/KyJXT/mc00p7OgI8E9gGbhORJ1r3uyq9398Fvhp46WxtRu1HRcBHLZRE5AjwSuClSql3KqUuK6X2lFLvVkr9KxFpichPiMgZEXlAREpDWik1BH4DWAUea7z2vxCR+9MzhheZnkTkLSJyVkTuFpF/JyKt9LYXisgHReQXReR8GoU/y3rsG9Pn/IKI/N8i0nZ4GiilziilfgT4M+BnPd7vB/4E+LIyv3PUlakI+KhF01cDXeBdnttfDjwX+HrgkcB54FfLvECao/8hYBO4M736OEkU/SjgB4FfFZGHpbf9l/S2x6av+/3Ai4ynfCrwGeAo8J+AN4qIpLe9GegDXwI8GfiW9LXz9E7gaz3eHwn8Q+DDAb9q1BWuCPioRdM1wDmlVN9z+4uBn1JK3aOU2iWJdJ+vF1YL9A9E5CHgi8B3A9+hlLqQ3rYHvDI9W3gPCfwfn0bb3wn8pFLqklLqLuCXgO8znvdupdSvK6UGJEA/ATxCRB4BPAv48fRM5H7gl4HvKvB5L2CflZxLvX8BuAz8fsDvG3WFK+RLERU1Sz0AHBWRjgfy1wHvEpGhcd2AJFdfpA8rpXwLtQ9Yr7cFbJBE5cvA3cZtd5NE+lpf1D8opbbS4H2DBNJLwH3jgJ4W8PkCn48CHrSuO6qU6ovIKkkK64+Bryl4nqgrXDGCj1o03QLskKRhXPo88Cyl1FXGv65S6gsN+TlHEt1fZ1x3kiSSLtLngV0SOGuvh5VSX17wuO8APuC6QSm1Dfwm8NUicjTAQ9QVrAj4qIVSmjL5aZIc+HNFZE1ElkTkWSLyn4DXAf9eRK4DEJFjIjJtdU2enwHwu+lrHkpf9xXAbwU89j7gvcAvicjhdIH4cSLy9fZ9RaQtIo8Rkf8CPAP4OddzisgKSXroiyRnO1FRXkXARy2clFKvJoHovwPOkkTCPwr8AfBa4A+B94rIJZLFxqc2bOllJHnvzwIfBN5GUoUTou8nSfH8FcmC8O+T5Oi1vlpENoGLwM3AYeCrlFKftJ7nofR+f0uyEP0cFYc5RBVI4mckKioq6mAqRvBRUVFRB1QR8FFRUVEHVBHwUVFRUQdUEfBRUVFRB1QLtdHp6NGj6tSpU/O2ERUVFbVvdNttt51TSh1z3bZQgD916hS33nrrvG1ERUVF7RuJyN2+22KKJioqKuqAKgI+Kioq6oBqoVI0UVFRUQdZO3vFG0u7S1J4n1BFwEdFRUU1oBCYFz1uWthHwEdFRUXVoKpAL3rOaSAfAR8VFRVVUUVQ7w2GubdrLbf9y6HTQD4CPioqKqqEfFB3wbwVwOWhGj82D/RVFAEfFRUVVSAX1G2gtwR2S6ZpVpZkdBAYNtDYNwI+KioqyqEQqO/1s/fZ7Q+RnKh9bak9+rk/VOzuKVbS9EtLkuevM4qPgI+KiooyVAR2E+o20EWg188eBNZXxlDf2hsACeg7LaHfRNhuKAI+Kioqikmw+6BuXr/bH9ByhOzLneS6Xl9xeXcwun59pc3eQLG1NxhF8zqK97E+VtFERUVFVZQP7K5IfWcvC/TenrtKZqc3/vnwWoLZXvp8S21hbzB+7hUD4HGRNSoqKqoGFYHdBfWd3jBTGdNdygfyzt6Qi1v9EeQv7w4yKRutJqJ3iICPioq6wmSC3ZWG0WDX6RcT6i2BS7v90WMu7bpf49jGMpAcAHaMKF+naICJ/LsdvdfRsiACPioq6opQaMRug92G+uryZARuars34OxmbwR5lzTMde69CbhDBHxUVNQBVxmwm9H65V441P2vnbyWzr/vDRRrS236Q//Camw2FhUVFVWgKmD3Ret3PrDpfZ3rr9mYuO7YxvII7t30OZY7SZRuw92M3uuEO0TAR0VFHUC58uy+VExvb+gEuw31Q93JKP7SziBzebs3SF/fDffldmtmcIcGAS8ijwd+x7jqscBPK6Ve09RrRkVFXdkqitp7g+FEjj0P7C6oa/ngfmglwaoJd6VgpdNiqdNszt1WY4BXSn0GeBKAiLSBLwDvaur1ovaXzl3Y4nduv4e7z21z3dFVXvTUa1lbW5u3rQn95X33cfMdl0Y+n/eEQ5w4cWLetiZ0+333ccsV7jMkau/1h850jA32ofQ5v9nnnvMDVpfbHN/o0F1ZGd2u4a7TMy64D5Wiu9QewXwp3fw0K7jD7FI03wScUUp5h8NGXVn6ndvv4VU33Zm57qXf8KVzcuPXzXdcsnxez0sXEJy3XME+y0XtgwmwwzjHriP2ux7Y4cz9l41nXedUCvg8uA8VrK2Ewb1JsGvNCvDfBbzddYOI3ADcAHDy5MkZ2Ymat+4+t517eVEUfdarun3m1bSbUbuGOxTDHcbQNi8XRe0a7jols9xujcAOs4c7zGDotogsA88Bfs91u1LqRqXUaaXU6WPHjjVtJ2pBdN3R1dzLi6Los17V6dOXktnrK3qDMdy3dgfs9AZ0l1pOuB/qtidy7WZZ5GOPbXD1ehK9X3/NBtu9wUTU3l1u011usdxpJQupnVYmap8H3GE2EfyzgNuVUn87g9eK2id60VOvBcjk4BdRz3vCIeD6TM54EXUl+QxJycAY7i1JdpSe3UwaxISUPh7f6LC6dIShUrREeMLDugxbS95ce0jUDrOFO4Ao1Wy7ShH5beAmpdSbiu57+vRpdeuttzbqJyoqav+qDNx1SsYFd5hMzdhVMTCO2LV86ZiVzvwWUkXkNqXUaddtjUbwIrIGfDPw4iZfJyoq6uCrDNyXO8JOL9sMzN6Nev01G9z5wGYG7OamJTsVA2QWUXU6BvxgD/k9fFr4XjRKqS3gmiZfIyoq6uCrDNwBLm6Na9vPbva8rQbsXaj24moo2KF4cHZZmY+JQ7ejoqIOpELhvtQWen0movdjG8u5kM+DulnPDpNNwszrmpR+D8qCPgI+KipqYeWDu24I1mkJvUEC98u7g9EkJZdskGuZfWNgMlrXi6cwBrtrN6pP9hzXIsWZrFFRUQdeeXDfDUh57OwNM1G8fZv5s71BCagEdhfM9cHI5XnFisiHavwcrtfZ2VOlovgI+KioqIWTL2dtTlPqtIStvQFLbWOEXl+x3BEOr3W4uNXPgNxU10rX6GZgkAVrEdhtoJtj/mx1WpNgtqGvga9BP200HwEfFRW1UHLBvTcYZiJhFyzXV9pc3h2Meq/bEDdlRurghnpyv+xtRUDXu2dd8mSIRsO3+0M1GsDdEv8YvzKKgI+KiloY+eDu09pSOxPFu+adApkh11p5UDdvz4O6CfSdvYTgLR/hLenxfVt7A9aW2nRaMjHGb1pFwEdFRc1dvpSMvajqkoZ8nvQUJVN5UDdfG9xQN4G+tat/zrUB4BzArSFfpFhFExUVta80Ddy1XHA0ga5/LgN1czHXhvpOL+vN7itvy1zk1TX6h9c6Gcg3oQj4qKiouShv808ZuPvSGuaCpZavdt0VredB/dLOHi3LXN7cVt0q4djGMt2llnfx1/RZR7uDCPioqKiZalqwryyJt/pES1e+aPmqUfLAPjH5yYB6qyXOsX6mzF2yq8ttbx2+Xh/QB6o60/AR8FFRUTNRCNghLGq3gQ6TYAytV/cN4YZJqN9zabJ/vW+sn4a/Cfqzm71RuqZn5PX1GoFOIdXVrCwCPioqqlHVCXaXQiJ112uaYN/tj9MwZrTugroG+uvfd2Z03Yuf+biJ1znUbU90qLR3zer6+ybgDhHwUVEHWnlwnUVv8qIFVNgfYD/UbWeArnV0PYnG9W0u0JvScO8ut0dw195dqZlp/0YR8FFRB0yhnQvLbnuvw8M8wQ7ZUX46FWOC/fOXtmmnxlxQ10C3dXR9mXOXe5nrzOh9uzcYRe+6gZnpv6mZrRHwUVEHQFXa0TahqmA3F01d+XWtsh0czag9BOztlkyA3Qf1PJnzW/Xiqgn3WQ3kbnrgx1XAG4AnAgr4AaXULU2+ZlTUlaRpwF5n9F4F7CbUdeuBvJ2cZeDuS8foqhg7FWODvSzUzejdhvtwqDiyujRzuEPzEfxrgT9WSj0/Hb691vDrNaadnT6/c/vn+dy5yzzm6Drf85RH0+ks3gnQ7ffdxy13XMrMvDxx4sS8bU0o+pxeJlQv7u7w4Gaf7d6Q1eUWJzY6rKx0vY+dJdxNsF/Y3UUN2gyGioe2djm+0aGb+vTBvQrYwR+1X+71Mzl2F9gv7O5yfrPPdm/A6nI7fT9XnK+p4f7iZz6uEO4rnXZmbmvTo/0aI5SIHAa+DnghgFKqB/TyHrPI+p3bP88v3vSZzHX/9GseMyc3ft1yxyVeddOdxjXX89IFAZKp6LO6XEB9cLPPmbOXjWvWOeXmUW0QKbsDdXdPoQZtPvq5B4xrE5/mTlNT00TtvcHQmY4xF0/f9sG7Rj+bUft55/s5+Ya64H7toVW2ewMOrXRGQ0PM2a1NR+2mmhxF8ljgLPAmEfmYiLxBRNbtO4nIDSJyq4jcevbs2QbtTKfPnbuce3lRdPe57dzLi6Los5p8UN3uDXMva80T7gCff3Arc/1VayujEkET7uZGpbJw3+0P6Q2G7OwZcN+djNo13I+uL0+kZOxNSa5NSj64AwbcW6MRf7OGOzSboukAXwm8TCn1ERF5LfATwP9l3kkpdSNwI8Dp06cXY6XIocccXc+9vCi67uhq7uVFUfRZTkW59tXlVu5lqAck0+TaOy1hLfX15Y88AkC7JbVE7bpvjC/XDuSmZGzZbQfMyzbYL+0MRmAfDhWHuvNLydhqEvD3APcopT6SXv59EsDvS33PUx4NkMnBL6Ke94RDwPWZnPEiKvoMV8hC6omNDrCeycFrzStqt9UfKh55ZJVrNroMhopLuz1W24LG0DQVMvryGO6DEdzNlgKhC6nj93OcgzcXUl/w9FOZqF3n2u2oHZpfSM2TKJX/4RGRHwPeBFwiqYh5MvATSqn3Fj65yAeAH1JKfUZEfhZYV0r9K9/9T58+rW699dYS9qOiDrb2S5VM1Zp2KA9283VNuNspGaAS3G2ZYHelY3TUrkf+rXTa3nQM1A93EblNKXXadVtIBP8DSqnXisg/BI4BLyIBfiHggZcBb00raD6bPjYqKqpB1Q2QooPMrDYsaVWFu1Yo3F1gd6VjIInal9I8O7ijdphd5K4VAnjt6B8Bb1JK/YVI2MgSpdTHAeeRJSoqql41AY/QPjKhqgp1+zVNuPf6Q1oiQXAvkr0b9QVPPwUwAXYzHdNdaudWyGjNGu4QBvjbROS9wGOAnxSRQ0D5v2xUVFTtahIaIemhkOi9TJfHPPngDrDTG9BdanFpN7sg6oK7DXFbZhoGcIJ9eWkMdnMRNe/3q5pua7rZ2A8CTwI+q5TaEpFriKmWqKiZaB5RH0zf+qAK1PXvmjeX1U7L6AVVGA/VyFNeMzANdV+OHSbBDv50TF2apmdQCOAV8GXAs4FXAuuAf4tcVFTUvlYZuPs6C5SBnQmvULhDMgt1uSPs9HBG75DA2peisVv5ggX1tJZdL55OC/a8lFbRc1SFfAjgf40kJfONJIC/BLwD+KrSrxYVFbWwKhu1TxOxumBVBu46NXNxq093ye3j+ms2uPOBTSfIzfuYm5iy+fUE7HoXqg12yB/9Z8uXzhqq7OPqPBMIAfxTlVJfKSIfA1BKnU+rYqKiog6IZtGNMi8CDYF7pyX0BrDUFnp9RtG7KV23rmVOUzLvY/58aGVch29H67oqBrIDu5fbrWQNwAF0c1h3iOwdvL3B0An5KlF8COD3RKRNkqpBRI4RF1mjog6E5g12nwe7vr7TErb2Biy1hcu77oj82MYyZzd73tmnWjpKBzKROjARrdvwdflzwVw3OfNpbSk5CPWHavT4laWkEmjWM1n/M/Au4OEi8u+B5wP/rj4LUVFRs1bTYA+NNEMj9629LLSXO2befjhK0+h5p9nXyMajPqjb0botM8ViQt0Fc72j1tT6SgL1vYEa/T4m6M3XcUXxjeTglVJvFZHbgG8iqYl/rlLq06VfKSoqaq5ahGhdqyhqN/vXaBi6ovfDax0ubvUnIJ7xZKRsdPoFCIK6KRPqZmrGBXO9AGzK9L6+0h6Bfm2pTacl7O6pTBqoDnkBLyJXGxfvB95u3qaUerA+G1FRUU1pUaJ1yAc75MNdywbn4bUsxnr97GvYUDcj4zJQ15G6Ls8E2NodeBdP7fUB7bXXV1zeHYwg71JdC615EfxtJHl3l31F0g44KipqATWrEX7TROzgz2UnC5jJzybcIQG4hrwNc2ACnD6omy2JtQct7cUFdd0SQT9G7571SaeNdvaGXNzqjyBvSrdM9qn2Onil1OJNs4iKWkCFwHRWG5b2O9h9UbvW+kqby7uDESB1XhsYQX1voFhbamfy2mbqw66E0T5g7EVfb7Ye1ve53MsC3a69N7XdG3B2s8exjWW6S63cVJLpzVTTO1kRkecBTyeJ3D+glPqDyq8YFXUAVBak0+xGDH3+Ik2z0cZU3Xl2GINdl0HmyQV1Lf17mBGxa3iIWeJoejF3yJrpF7OvPIyhrvvdaNllmavLbW9Vj/auD0RVumoWqRDwIvJrwJcwzsG/RES+WSn10tpcREVZcsFhXtv2tWYVHYeqCtRd+eIyi3ohf4MyYB9tXLLAbi+mmlDX0oD0Res+YBaB3R7xB0yM+tMyd8le2hmMgO+qv9fRe6+vRmmkol2x037mQyL4rweeqNLG8SLyZuCTU71qVJSlEFg1HQXnve60mkVvdq286UrTaNp6dl8Viq6OMTMf5kKqna82wQ7Zea51gt0F9bzOlPo2c+esHb3rip5ZwB3CAP8Z4CRwd3r50cAnpn7lqCgWLyrW2m++qkI9NHqvugsVxvXs9vU22O3qGMiHuz2ouwjsppcyYC/TbtilYxvLSa1+Cndddw/N940PAfw1wKdF5KPp5a8CbhGRPwRQSj2nFidRV4wWFZ7QjLd5zUINVVHO1+e/Kth1H5k8sCe3ZxdSfXD39Zh3edFVMb3+MBjsegqUS3Z3yks7g1F6RkfvO3vD8cHH2FQ1i6EgIYD/6apPLiJ3kTQnGwB931ipqCtD08Kz6fTMIsK9SbAPVT7cp+0dY14HY7CDH+rj+47hboPdXkCF4nSMBvtufxAEdhvqrilQdl95V2rG7EhZBPcmPt8hO1n/DEBEDpv3L7HR6RuUUueq2Vsc3XHfffyPOy5lhi+fOHFi3rYmdPt993HLAvq0gXBxd4cHN/uZIdErK/4u1POqQCnr01TTcDfBfmF3l/Ob/cyQ6JWVFe9zV4X7tDtQt/u9jM/jGx263azPPLhD+ag9O4x7PNYvL2LvD4fs9AYjn4c6KvN+nrvcy0TvGu66O6Xud2N2pJzHEO6QKpobgJ8HtkmajAlX4Ean/3HHJV51053GNdfz0gUAp61bFsynD1IPbvY5c/aycc06pzw8aurDHxKxl/FpahrPVaL285t9ztxv+5w0GlKKVwXudtSuq2LsHPu9DznezxTwZr7dhPtyu+WEe2jUnpnXmkbtrpF+5kDuux647Pi7Jz59kfu1h1Yz3Sk13LtL7bnAHcJSNP8K+PKKUbgC3isiCni9UupG+w7pAeQGgJMnT1Z4idno7nPbuZcXRYvkMw+g271h7mWtecIdwn2aahLuvnSMXa3hqr2uCvdpo3YzHePzaUft9mal0AoZM2qfyLWnUXsR3H0+Ndh15G5H7eBOyZgj/WY9hDsE8GeArYrP/zSl1L0i8nDgT0TkDqXU+807pNC/EeD06dMLu/p23dHV3MuLokXwGQLP1eVW7uV5bwrSKvJpqgmwQzHcE19t7+WmovaycHf5PHHV6gjuy53W1FG7vs4c52e2E9ApGbMy5vXvOzORYzd9Pupha6OFXhvuOmpflJSMrRDA/yTwIRH5CLCrr1RKvbzogUqpe9P/7xeRdwFPAd6f/6jF1POecAi4PpPbXkTN22coPE9sdID1TG5ba1HgDvk+Tc0T7mD6HOfgfXlqW3XBXW9U8sEd4Hjq83B3mVYLup0Wy0ZHR7tnjI7aXf5D4A4J3F1RO/grZE5sdGi3DzEYKtot4SXfeB3dlZXcqH15qbUQUbupEMC/HvifJJubggd9iMg60FJKXUp//haSkX/7UidOnFjInLut/eJzZaU7kcteJLBruXyaamohFRJYhVbIrKysjHLE04Ld58v044P76HU9Ne2tzjKPvGo5vc/YW5l0jPYCk/n2Xn84gnt3qcXZzV4mGi+qaR/n14XVpXYmYt9LSyC308VXDXYdta908nPtMPvd2CGA7yulXlHhuR8BvEuSDmwd4G1KqT+u8DxR+0RVIXollj9CWOReRk2CHSYbcrkGcYwe4+jyCJOdHu3eMUVgt/3YcAeccLd7xmi9+JmP4/XvOzORX4cE6nbErtMxh7pLEzNbZ1XbXkYhgP/TdCH03WRTNLllkkqpzwJfMZ29qP2ishDdr90V6/Id4iskerd3olYFu89THty17Og9r2+MmWPXCgW77Wd3T2UWUyELd1u+6N21WUnLBXaA7rI7HePyP88eSiGAf0H6/08a111xZZJR9WiWH/Y64T7LXjJFKgN1qKdBGLjhnie702PZpmB5fnb31GgItwl3U3ltfE2ZQIdsft1MxUACdj2Quygdo1Xl7z2zVgWxL3xUiLpLslAdIBetQRiU95TXJyakpey0Pdth8izCBXffVCLIQl3/r4FYtNnKlGtBVef+e/0k57/Tw5l3hwTavjSNvt2Euq6KMXPsZcE+jfTfZBbdJBGRJwJfBoy28Cml3jLVK0cdOM27nS8sJtihvK9poFHnMA6tXc99dUdHWzbU83afFslXLQNJxc5yR7i41R8N3gZG1USmXC18XVCH7GBuMxUDzYLd1rSgD9nJ+jPAM0gA/x7gWcAHgQj4qIXQokIdFm/CklaVDVV5qZm+43TDN0WpjPLgbva2MXVsY5mzm70JyDs3f3mgrqN1cyh3GbCXXSRv6mAREsE/n2Sx9GNKqReJyCOANzTiJiqqhCLY6wM7FNfcuyBuypwpWia3HuLHhruZmnFJz0G1F1t1617Tp27j64rW8zZZubyaKtMETj++btCHAH5bKTUUkX7acOx+4gJr1By0qIumpmYB9ireQ0syfVDS8N7d8w+HrpqCyfPj6kxp7pQ1tbM3zKRpgFFfGPM+upVA4jlb5qhVtE7gmpTlS2PlSb+XLUleqzcYznZkH3CriFwF/DpwG7AJfDT3EVFRNWlRa9htHVSw27LhXrWip8ww7pA2CIfXOlzc6juHWnetXHzRzlnf72JDfc9R6x+SmjEnUZkHTA35OhVSRfMj6Y+vE5E/Bg4rpeJEpwOkUDjt19p1U4tU7hiqJtIwMN04vzLRuum/DNj19Tp1btbbu1Izh9cSnLk2WYVA3RWt2++X6U1vsMrc37MuYA4t0QcrXWGUd1Y0rUIWWZ8GfFwpdRl4OvCVIvJapdTdjTiKmokWcapS055muUmpDs0K7K7UQh5wQnPrZcAO2YjYjtohv8eNDXXfjlktMwXjut3ny4S67jFvyrcmoL3b06k6LSlc25jmcxuSovmvwFeIyFcA/xp4I0kFzddXftWomWsRgQ7lfJlfurJ5yiZ7xpjynaI36bds/3gb6HZ1jA84swD7qEJmMAl2mASor4e83W4YyqVgzGjdB3XdhtjUzuQGWiA5u+j1FZd3B86dvlB/egbCe9EoEfl24LVKqTeKyD+t30pUE9qvYPeB0lyMgno3/LhUxaf9pS+zeNYE2IuAHqKyLYerpGK07EEh4Ae7GREXjfYLidZdYNdQ39odZP62a2nraFeljim9LrDckYkzDdOjy9ssNjpdEpGfBL4X+DoRaQNLU71qVKNaVKhDuQZbPg7p60PAWfULUodP8/aQ6GyaDUpNQF2rDNynAXtdw7hDZrbar22fReyk6SFzzJ/ZVx7gUtqZy66118C3QZ8nV/6/jpRiCOC/k6QfzQ8qpb4oIieBV039ylG1a1EXJ5tc9Ku7bjgkKoZyXuuCe1mwa6hv7Q1w7PEBJnei2umZIrhXAbtvEDeUG8YNlB4QYr++Brs53s+EOsBl81SC/B43+jbXpqpeX43SSPpgZKeNtGbZi+aLwKuNy39D3MW6UFrUxclZVHPkqck8dlk11eVR+7LBbkLd7vaoZfeQMQEJYZF7HWDXUL+41c/ksHVVjK28YdxFvu3RfnYaxhetm1C3e9q4WiBMvG5/vDYA4/fa5bXOSq+gXjRRi6lFrb2GevqcaLkqOoqi4rr6sUC417p9lgG7WXViLlCGqgrcXSoLdhvqeqPSzt6Qi1v9DOTNCBjcQ0J8nn2+bLDrodyAt5e82Xb40s6AOx/YzEDejN539oajOnxdqjnLUX4R8PtQIWDP23DRZJOkqmD35YhdFR2haYNpfMJkm1wtl9c6fVYBe1G0bsuM3uuAe17aA7Jg1219dffHoOevCHeXL7OXjR2x20O5tXy95A9125l2wxruuiXCyNcc4A7h3SRXgZNKqc+UfYF0UfZW4AtKqWeXfXzUWGXB7mJmaClWk82rQsAOzcC9Kthn5bPsHFQb7K4t/HZZXtX0hk922kNfZw7igGy/9jyw66oTXVqofwc7317k2ZeO8Q3ktsFeNN4PkgheR+8uuK+ttOcGdwjb6PSPgV8EloHHiMiTgFcqpZ4T+Bo/BnwaOFzV5CLo9vvu45Y7LmWGWZ+Y4ezT0HK9/nDIvQ9tZ4YvrzhmdeapDrgXAfPy3i7nN/ts9YasLbc4vtGhuzLqRj0BHmge7vP0WfQe2vC0wX5he49ef8hwCBd3eonP7spEWV6V9IZPoZ0eTbDvDvbS93PA2nJ75HP8PkzCfbnTmpgEFRK1F6ZjrBy7OZT7wu4udz2wM/oeJX/37HBeV+R+aKUzkZaZ5zi/kAj+Z4GnADcDKKU+LiKnQp5cRK4Fvg3490CVua4Lo1vuuMSrbrrTuOb6mQy3LhO1twTufWibM/dfNm5d59TKSqVNKlW95QFTR8LnN/ucOWv7TH7yRZXg9l8X2E2vTfj0eS0btcNkxN7rD7nt7vOjx1+19jBaaVpDqwm4Ozcp9cd13xe3+unvnTz3Fy843s8U8D64295C4G5H7eYw7pCo/fxm3/k9AvdIPxg3NjNbDs97CHfoRqcLYjddCNNrSHa/HvLdIZ33egPAyZMnq7zGTHT3ue3cy00oFO4moOzyrKvXVoIn5zQJdzvFsdUbTly2dx3C7KJ2n9c8n01H7aFwX+4IZ+5PPo9/50RyojwcFteJV2npW9TC1/Rkwx1gy/p8bvUGE2Dv9ZWzd0yeZ58vDXe9SckEO5CJ2k3Z3yN92TWEGxiN9dMpmaIBIbPq6xQC+E+JyAuAtohcD7wc+FDRg0Tk2cD9SqnbROQZvvsppW4EbgQ4ffp082UhFXXd0dXcy3WrCtxh/MH9u9ceAaDVklqjdp+3UGBq6V2AAF/+yCOsp9HPtNFwnkefT+11lj7LRO3ABNxHr5nC48RVqxxZSzbW/PX9mzzu2Dp7g/FGmzJ14j5NC3eANaPc8PHHD7G+PI5686L2pU75lExerh38cDfvo3X1+soE3GEyap93SsZWCOBfBvwUsAu8HbgJ+PmAxz0NeI6I/COSUX+HReS3lFLfW9XsPPW8JxwCrs/k4JtS1SqZoYJrr1rl6EaX4VBxcafHNV0hb+NxE1E7FA9oPr7R4ZqNaxgMFe2WsNoesLLUGf0eMJuoXXst63OaA1AVuPuqYzQUu50Wl3f7bPcGfNWpq1lJ4eJKxzQFd7OeHdwLqcc3OhxZfRgDpWiLcGStQ6uVAj0navf5DYE7lIO79gnrrHTatETodiQTtZszWxctajclSoUHzWlFzLpS6mKpF0ki+H9ZVEVz+vRpdeutt5Z56gOnqs23tEK/tE2PeMuDpisVA7Mpf3RZcnm1K2OaPLOoErm7ZJY++vLseb59sv25+rObO1BdgDf7tJs5dqgGdpcvM98OeOEOCeB9cDdz7JCN2G2wL0KuXURuU0qddt0WUkXzNuAlwIBk4McREXm1Uiq2K6hZsxjMXOfQiKoj3lxQh+nADtV9gn+mqFYoIMtE7T5v9sEmD+72btQ68uy2P3M9xTd8w5Rr+IbZq91OxZjeQj27Djo9B9y7Sy0u7brbC9ggN2WWPtoRu2sY95JxgJt31G4qJEXzZUqpiyLyPSRDt/8NCeiDAa+Uupm0CifKrf3WbqAImkUDDKYFpqlp5oxCWO9zqO6zzIK066xnb6BGkLeBDtlovSzYu0sStKZiewsdvgFZqCf3rw5225t50DGrd4o2UeW1F7AXTwEv2GF+FTIhCgH8kogsAc8FfkUptSciC7sYuh+1iE3CQjxV6c1SJ9hherj7VJfPKqWkptaW2mztDSbSL0AG6hAOSbNBWFm4u9YDxhH5ZDtcyB++UfYswwd3cwj3xa3+CO52K1+f7KoZE+w6FbOfwK4VAvjXA3cBfwG8X0SuA0rl4KP8agrus+6Bnqcy+d86wA7V4F63z7JnP741C7Pjo06/aIX0O3d5nvbAo2XW2dvDLMzhG7avoqHWRd60L50ucqWKINlVenaz5+zuaMsVrQPBYIfFgjuEdZP8z8B/Nq66W0S+oTlLV47qhvssphaFgrMJqEO9HqHc0Oh5nVXkLfiGpmFC/IXuYfDJ3HE6uq7EUOs8FVXx6OjdJV9fdntAt959apc7At4c++ixAQfPUM28m6SIfBvw5STljlqvrM3FFaY6wV7Hh6HsOLqQHjez2lhlqirYZ3FWUXWhFyYXe6umj6r04fGtCfhkj8mD6cozTX92lVFe10wNb7M7pS2dfkl+Hm+uckXrRb7r/E7v7KnZ9YMXkdcBa8A3AG8Ang98tJZXvwJV1wdhHmAH9zg6rbpLNOtormarDGRmmS5qclG6zIGnqMGaPSBEy7ceoL1X7WCa17LB3NFrRu96gddVyWOuEfigDuFgb0p1QT4kgv8apdTfE5FPKKV+TkR+CXjn1K98hakOsM8L6uAHe5kPf52RsM+XT7MGex2DQqY9yyh7RlE2JTNt6ihPeekinXfXWl9pT0AeximX0XNaLRCagHqZ9alZHDhCAK+brmyJyCOBB4DHNGfp4GhRoA71DI/WKvvlravUsciXT3U3WtuvYJ+mJbKpqou8IcrrxQP+jV8a8vZ1MJlS8kG9rPcy3xlbQ5U8vmnIhwD+j0TkKpK699sBRZKqiXJoP6VgqoCz7kh4mhmou3sqOLUxi1p7rabBXjVa196qDuTOawYHzYBd+zOjdl/e3a7gcXXP1N6nXew1vUJxtZH52vpxs4B8SBWN7jvzDhH5I6CrlLrQmKN9qP1UDTMNjOqKhMtC3ffl6bQkc5sP9k3WsWu5Uh0u+TxWPRCFRut5UDfhWZRjLwv20KHcLp9lp1X5WjXo/83SzCLfPo8un9prkfpDlQlKNORdmuUi60uBtyqlHlJK7YrImoj8iFLq12pxsI/VRA17E/XreWkD+4NaFBFPA/c6YGRL3+abqtTU7lPtFcL9+qpkmih11P58kbBdFq7hubU3mIB8lalP8wZ7HX14ypxV5JXZ6/ez0xLvZ6AphaRo/plS6lf1BaXUeRH5Z8AVCfj9suu0TDRsAknfboO+6HM5zfBoyA6O0J58MAJ/pKlV1W/oe1k1zWGrbIO1EGCa76XrfSwzkLvqSL9pfZadLesD+zSdM22P5vXaoy/vb/pzHTSh+egdwgDfEhFRadvJtKOke+fAAdYi9oopMzBCqwhEriijapfHsv5CYZT3panit2qUCXgPQkUHoLI+y76Xo+lKBizH05/Gz2EDyVQd81pdXp1ToIy/9+XdQcajz2eds2V976U5OBzIjCLUHs3qHf0ea79LbXHuG6hjQTpEIYC/CfjdtB5ekXSW/ONGXS2QmgY7NDMDNa86Ig+OPtU5qWjayM3+0pgHpDq360Nx+kD7MeU6AFU9aJb5W9tnGhpGJixNGPX6KtNewPWemsCcBuy+AxBkI2EXNMHfBmHa8YNFBx57cLjp7eJWP9NUTd9m1trb76l5ZjyLVgchgP83JCP1fhgQ4L1cAVU0VYduQDO14T5PZWEEyRdKQ9WVb7V3Tob+PmUHRyf/u7/gtlxfbu0Xwr7cVfPCZQ9CvgNQmegypJ2AC+w+GIWqjnmtPp8+r3ltBpLbs+9FHXAv+lzqgSFa5uDwnbR/WXepNep9b4PelF3FM4vUjFZIFc0QeF3678Br2tLCMmso09RdT5tzdZ06+qJMn0KjTF8e0z4d933JXR0Ky365fW1xbU8usJfNXU8L9zyPIWC3h2/kwceM3uscxg3uv7udtw49ANlnGXoEYZVce957qcFuToPScrUf7i612NkbOt9n7TXkPW2qSVlQL5oqEpEu8H5gJX2d31dK/UxTrzetyoC9ap2zqaq113XDSKssiEKAWQSjosgtuc9k9FYFRNO+l668sFZI6gDqH5UHk2C/uNUfRZharijTlUZoMtVhvoeu6U+2P9NnXQehKmDP6ylvyhxoYrZHDplQ1WQHysYATzLD9RuVUptpP/kPish/V0p9uMHXLK1QsPeHQ+59aJvt3oDV5TYnNjqsrKxk7hsavU8L9zwYbe31OL/ZH/k8vtGh212ZeC79ZUl+t/JfmLL+IAuj7X6YT6g/yizyaoL9wvYevf6Q4RAu7vQyPptIHdj+wJPassD+4GaPvb5ioBSbO3sZn3ajLe27LIiKvOYdhDTYL+zscn6T0UzWlY6wttJxNgOzYVn1fXW9l+biaa8/nAD77mCP85t9tnoD1nI+n6Zv/b6GvqezaC3sBbyI/Del1PeJyI8ppV5b9onTqpvN9OJS+q9EAqN5ldn9d+9D25y5/7Jxj3VOGYBvchOQL59pj08DOH++z5mzlk/jg2l+WWC6qM32B5MwsnPsOnq796F8ny4INQ1OV8Te6w+57e7zEz5Nf9AM3H2tcc33Ukfse33F7X8z6VMDyIwwk8e2GomIfQd00+vlXp/PfPESAI87ts7xVva1fAcgc8NSWbjb76W5eKq9wThi/+KF/M8nGB0rl9veyF17nddQkLwI/u+nwz1+QETeQrLAOpJS6sGiJ09LKm8DvgT4VaXURxz3uYFkEZeTJ0+WsD6dyjZisgcGjIbwGk/TxHb4okjTTsX4fIIbQtBcJAzj6A2yp+Z5Puv8gpfxapcTLneEM/dvZ55juzdw+rM9NpHmMCNhyA63/uzZTUxt9QYZuLtG5rny2NNG7b4DuvZ634Vt7ruwM3qeje7SyGPyO2YPQNonVD8A6ffSdfDZ6Q2c4/22rM+nedmM2nVDM+3X1edmnhOf8gD/OpJyyMeSQNp0pdLrc6WUGgBPSnvZvEtEnqiU+pR1nxuBGwFOnz7deIRftbWrPbR3dbk9s6gd8oFU5NO3hbuJPt15X/IinzaE6kgf5Hn1wd30a/r8OycOs5ZeLjqzKFtWGJprd8EdGPkCePzxQ6wvJ19tE+55s1DN60J8QvEiqsur9vn444fSxw04vNb1HoC06ojae4P8qN3UmvX51JfNqN3nN68r5awnPnkBryc5ich/VUr98DQvopR6SERuBr4V+FTB3RvTNH27T2x0gHW2ewMeffU63Y40NtbNByPwd9PTOm74XF1uc+JIMqMlbwt3E7DMg7vL5/HDiU/XaS7UG7Wbfs330dVy9vhGh6vWHsZwCK0WHFqCtnXwaeLMIhSYps8jqw8b5baPdKHV8acOTL/TRO1l/u47e0MefmiFI6vLPLi1O/q7N3EAcr2XoXCH8edT5+AffmhlAu6+A5HL67xG+YWUSf6wiHwF8LXpVe9XSn2i6HEicgzYS+G+CjwT+IWp3E6h0A1LvgqZpeUVTl6d5OCa7KQ4DdwBut0VHrU03mict4W7ro0rZeGufT6yM/apIWSf5jZxIAL38OjR44xostVZZg13OqYpj3lwN5VZmGwv8YhD2TRH8jh/6qCM32n+7q7qmIcZY/RcYNc+5wF3SD6f5hoGZEf6dZfawSP95jmnNaTZ2MtJcuTvTK96q4jcqJT6LwUPPQG8Oc3Dt4DfVUr90VRuK6rMbtSh8nd5m1WLXBeQtPLgHtJ0qe7yR1/KKHTjign2OlIdRV7BD3ezp7iv9awL7NN4NFNwoe+lr649JM0xur3mtYuQg7rPYx0+iw6UdnlmHtzzZrV20+KERUzHuBRSJvlDwFOVUpcBROQXgFuAXMCnUf6Tp3Y4pcrAfbndojcYzmVakSs95JuHqb/89kYlszKmCthD/YWuB4wea5UTmtGwCfaqG1dCvUK2Na5LIUMi6ly7gDHctXzrAc7nCgDmLNYuQvxB/plQnQcg38YqrZ29Ye68VleO3fS16GDXCgG8AOY7NMCqqDlIKvsFqGNwtG9B1dbaUputvcFEpA5ZqEMzYDe9uYCkVTRdx46Gy4A99AzD59XlV8t1wKz6npbxmHdmkYyZk8xlUyGpoybOgiD7Puq/uWvXsX1At31OMyrP59GuMPPNbDWvs72b81pDUjGwWHCHMMC/CfiIiLwrvfxc4I2NOdonagLsUDwX09erG8qNTysCu8tfmTx22ek6odCcFu7aj0+uQRFNHyx90u+hebC0zzDygFkV7LbX0Fmtrla5Po/T9Gkv8ug6S7MPlJCFet5CL+w/sGuFLLK+Oq2AeTpJ5P4ipdTHmjZWhxZh0lIZuGvlfZGmHXRcBuzan+sLXpTq8KU4XNN1ivyGgF17hXwg5XXR9FUZhXiE5g+W5oESJj2FRsJlzjC0itKF+rKtaQ7oUD2lWeXsQusggF0rqFWBUup2knms+0p5H+Qyz1FFZTdSmeoPx6ftrgkwdrdHrbrBDvmwzPty2ztlte8yfquC3efXJdcBs+zBEqpNgLI95q2vwHTvqfn3L3tG6TtQ2ulCl0cz/QblpmxVSXNp2QcfXzfSqmcXiw52rSZ70exbNTE2D4rBDsmHa3dvMp9uqsyp7TQRO+SD0rUWoFUlajM1S7DP4izI9BkKTLuffNNnF6ZX069Prr+5q8FaaLSuVeVMyPblOvjY97EP7iFnlXWkZqs+XxUdeMAXfcDreIOrfHnyVDSYGaYHu6vtsQ+UrnSMK9UxDTSLVDfYXWdB00aW0/qsa33F9DsN2EMHSU/r0VSVucJlUnG+9RWtqmCvminQj5tLu+C0hv0mpdQzG3n1GaqJN3AasJtf+qJB12XBXia14RtD5xvKDO70ga81bohnn/K8mn5DtMhg93k1/TadiivjN28dqIxHU2XPfEMPQkVey6SMQv1W0c6emv3AD6XUQES2ROSIUupC7a++T1U2ysgbdN0fKnb3lBPydYHdjtbtAdej3X4BveTzhoTUWRnh85p3EIL8M4u6YVnmLChEeWAP9dn0QSjvQJnnswoofSnNIrjXVYhQxuuiKiRFswN8UkT+BBj1z1RKvbwxVwuoql9yLd+H0TXkGsqnNcpMVbIHCfuGMvsGMrtaDVfxHOLVvq3sMO4qHqc5CwL/qEStMgehJtcCtNcQ1Qn2qme+eb7rWLMq61XLZoBP06QoqyoE8P9f+u+K1DRf8hDZM1ChPlCCe8CBPUg4b9AxuHd31jmtCPJnd8LkjsRef/IAVMcsVCg+WMJ0ByFbZfPBUFwhFrpwbq+vhBx8oPzCKTSXNnL5C/FYh1etoq/7UCWPmzXkQ+rg35w2CzuplPrMDDwthMoOuAb3PFRbeXXYMP2uQwifDm/PnNzpZfuc2BPiIevfBGdVsPvmtUL+QajXV86+MbbqmoUKYQehsjIP8NNWGRVB3fXZtNdW6joDKvLq8wzlzjDqWFsp69P0qlW0ptaScvOa61JIs7F/DPwisAw8RkSeBLxSKfWchr3NRWVSHfZtrgEcpkKGXE8DIN84Mi0b6JBtuuQbHmx7t6FUtiGUz6s9yd5uj2sffJLfb+zLHkNY19lF2YOQLd8ByPz7N53eCllfcQ1ih3Jzek3NqtR11mcWIWtqtq8izXPo9s8CTwFuBlBKfVxEHtOImzmqDNjz0gfmlzwvssxb+AtRHix3+2NQhkyGN2/LmzGpa4fLwt21pVx7Nc8s7LmYeni09uwC/eg9cKRmtEeY7iBkX2+fCYV2zvSlj+o4u6jy+YSwzyiUA+c0FVyQTRsVlTs2cWYxzQEopHhilgoBfF8pdUEkY3T/LSd7VBXsRTlsnUKoO33g8qav02Df6Q0zp5DdpRZnNxNaXtrNPt8xoy+3S3ort70xJATu2pfrPaxyEPIdgLTqmC9q+vWdCdlnFvpABP5WvrMcyG37tVvljq/Pvn9VD0Blqo18qSNfWa6G/TRpo6pgDy0htv25lBfANbnZKQTwnxKRFwBtEbkeeDnwocYczVD2H7rsFycvcrPz13kpDgiHpelNX6dTGxrsLZmEuj0iT+vsZm8EeRueLrjrL3ye37z2rdqrHa3nnVnkyewlUgWceWC31y20X/vMYnS71XZWv4da08K96PNpL0QXtRo2VfUAFNLXBorB7ksd1Zk2qusAZHt1rV2EelyEnawvA34K2AXeDtwE/HyTpppWWbCHQj3znA64u6JgCIOl6U0DyAX2S7tJVJkHdS178DVkO+z5wOnzGwJ28+xCA/LsZm/izELLPMPwHYBg7CkUnFXAbnoukmttoM6zC/N67dWO1O12uD5Nc3ZRZrHXXugNWZQ211WgXHBUBPeQBfSQtQtbrrLnefWzCami2QJ+Kh30oZRSl0KeWEQeDbwFOA4MgRuVUq+dxuy0yvsjlx0gbMv8Aukvd9FgZgiDkC/H7gI7FIPdlBm92wOaTc958ztDDkI6YjfPLjTUfX7NA5CGu+sAVAbuebA0wW6OdoNisLtSR3pcXlW4Vwk8XJ5di+f2AbKO1JHpzQX2srCcpuS1ygAb8/oyPsG9N2SekbtWSBXNVwG/ARxKL18AfkApdVvBQ/vAv1BK3S4ih4DbRORPlFJ/Na3pKvJF7a5oE5IvjxkRPbjZY6+vuO/CNmvLbY5vdOhaMxuTx03CfbndmhhqUSXFoQFkwtIG+4WdHf723DbbvSGryy1ObHRY6XYnXmO7N8jAvbvcTntmt5ye9XUun+CHpZmKMcHeHwx54PKu16ftD5jwGHoAKnpfYTJi3+klfi/s7HJ+sz8avqz/7qZcBx/7fQz1GOLV9KsPRJs7w4nPJ0tjn6FwLzuIO88vTE5/urCzy/nz/fGwdcf7CcVnFZAPzrJgn9YnLB7cISxF80bgR5RSHwAQkaeTDAH5e3kPUkrdB9yX/nxJRD4NPAqYOeB9cA+JinREdO7SLmfOXjaeZZ3j7SVg/OXxwR2mj9rHKY4sLCEbAZ/f7E/4PGXwXUfFxzaWC6fEh8A9D5Z2asP0e9e5ba9PV+Tu8lh0ALK9wuT6RZ5f8L2f4y96Edyh2ag97/NpD40OCT5CPPo8+6J2MxLu7YGIsLaSfGe+uNnPvJ8w3XoAVBs7afs8v9lvxOes2wyHAP6ShjuAUuqDIhKUptESkVMk81k/4rjtBpKh3pw8ebLM0xaqStQOk6e73aUWW1a+eqM7hrtrin3ZD2do1A5J1O5Lb2z3ht7LZeCeN9G+DNx96RiXT9Mf5MMdpntfTa8mKO1UjP133/IcfMwzC9NP3vtYxmteutD3+fQdfKoGHyF+wT+z9fLugGH2z545mNvArHux19W22TdbdnWpw05/7C3EZ97fel79472AF5GvTH/8qIi8nmSBVQHfSVoTHyIR2QDeAfy4UuqifbtS6kbgRoDTp0+7/0IVVAbuRV8egLUUMo8/fih97IDDa13vqK8qKZmqUbup1eXWxGXzw3lopcPOXjJYfG2lXVvUrr3asPT5NX1+6cMPsZ5GSq6Dj55mb/qpKyWTB3cY/93Ny3VH7UVefZ9P06/9+WyLjPz5PEK9KZmi6VTrK23OXtpBRPjr+zcBeNyx9Yke+K5RiXVH7donuHPt23vZM7cQn7AYUbupvAj+l6zLP2P8HARiEVkigftblVLvLOmtsqaFu5ZZd/3wQyscWV3mwa3dJCd3eBLuri+Ofb3LF2RTB3n5a8hfRD2x0QHW2e4NecThLivph/dQClAN9qFKIk57oHDVqN2Euw1Kl98TGx0Odx/GYKhot4SHr7WgnT34aLCbfkLG0uWdimu/UAx3IMlls85Wb8CJI6uspK9vR+2h72NZryFwh/Hnc6AUvcGAIzkHH+1RaxZw1zq+0eGLm30eeaTLox62Nno/zWg4ZEBM2clPZeCufSbfo0Fln4sw9ckLeKXUN0zzxJLsjHoj8Gml1Kunea4yKoJ70ZdH6/Bax7lz8mFG2Z7ri1M2114mzQHFFTIr3S6PaGUjdq2qqY4ykXBRtcnobKK1xOpyNmKfxmOeV/03t//eRXAH6HZXRmstpj/XwaeOqD3082kv7l+Vfi7tdOHo5ynTMaZnV6oDiuf0QvJ+Pmpp/B2qmo7RagLuIT6LDuKLAHcIq6K5Cvh+4JR5/4B2wU8Dvo+k1fDH0+v+rVLqPVWMhigkctcy/7i+2nZ78RSKSx/L7PAMhbtWmbr2MmCvWtseCne73t7MsRfl2SE8jVAG7lo+zyZAzVRMHtjLpDpC4K7lCj4mni8Q7EXpjqK+LD64a/mg6Zrd6gJ7SDpGq+pA7jp8wmKDXStkkfU9wIeBT5LUswdJKfVBYGa/bQjczS9Q5r6jU1nJXDalvzR7AzX6w4aeTtqeYJyScaUOXHB3yQXOkGgYiiOQKmkOl+xWCCbUdSomz6PWtHAfPU9BJKxlQt23gKo9ls1h50WXMNmf3/kc1mfUDDxMj2XSHaFw13L1ZCmagwru+bJlwJ7n1begWtanPdqvaF7rooFdKwTwXaXUKxp3MoXy4K7laxCkt5Jf3h1kyshg8kPgSsVMWyGhy7P0lzkP7q6dp3Y0XAc0y8BdK+9gZEPUTHPUkR8OOZi7YJkXCfsWz2G6yVV5n037YLS+0s58Lm2ZUDcDD9PjtHls07OWD5p5/ViqDA0vO1nJ9d7C5He/ik/YX2DXCgH8fxORfwb8EUm7AgCUUg825qqEfH9sX8M3c+K6/WUyvyxa9h81ZPK6qZC6ZnNDld5gY8vVFMyV4pgGmr6t264DkSsSNndO2uoa6SVXmiPUo8tvmfI35/NYAPVF61VSMUV+i1rjuprV2Z/Tsh6r9GsPid5tuUbnhQRF00DTZas/9L/PVcf7LTrYtUIA3wNeRdKPRr8bCnhsU6ZCVXVGogl5+3rwfzC16gA7lKvm0HKlYGA6aIb0DglZkPblrUevb1ScTFvRURbuedGwnd6wfZQ9qJfxGyJXOqFK4FHHsGst/R0x2+Pacg24dnnP8xfq1z7LMD3s7imnP5fP/R6x2woB/CuAL1FKnWvaTJOyP5AumPsGSFepjIDwjpRFcM8DpwuaoQekomZLZu8QH9xNX+Pfb7L22vZRR6vcshUSdjScFwnDdKWEtl8TknlDo325YbtRHYT/nesceK1fF8iAs+rQ+FBghgRzvpOKvJ7sIVCH/Qd2rRDA/yWw1bSRJuX6QLpuh/Bow1YR2O1pRUWtZ5PHTIK911feaL3sxirIb7bk61LofE5PpZHtsWo0nOe5TPmbr0pCa5r8ep5fyAe79mLLXuwrE3hUAbvpvSgLUxXqed5cqnqm7pONgLp8LqJCAD8APi4if0o2B19UJtmoiv7o+o9ofkh9Q3mnXTCDLNRdgyLs/udQHLGbZZp5lRxlyh1dfu0OemV6irvA7oqIq0bDRWAP7VLo24Vo92GZJg3j8gvTjaOD8Lww5AMpFOxQDHdTZb4/ZYE5LdxdmZm6PS6yQgD/B+m/fSP9B+wNhs4/sOu+ZeQCuwn1qiPzwN28CtwVMWXB7jsImWcXIdH66Lmt5lV1gT0E6sn90tcIAHtRiV4ZfyGeoTzYXVCH6VMITYC9SahDebAvt1vePHzo3/UggV0rpB/8m2dhpKyKNmXAdF9Yl1xdKO0e7Vu7A++4PMiOzHPViIO7xwmE1zb7onXfQcg3C9VWUc/7aXPsvoOReVuZnuIuuJvepgW7/T67NtQ1OUAaqqdh4GCA3VSVv+NBhLqpkJ2sn8PRe0YpNfcqmlkoL1rXka8J9ZZke7T7uz4OMuPytPIaWEFYMzDTq+k3e2YxuXEltJY9pC1ylTLSvPUAKDc82rfbGOoF+zRQB38qpsjftPl1WJw0DNSfZy/SQQe7VkiK5rTxcxf4P4Crm7FTTiE78Ko+Pg/s9kSlSzt7tIxvS8hEpdXltrPveV53Qpj88hdF62b6xYR6S8qdXWjZcG9qWtH49cwDizt9ZA84rzosItSv7RncqSOXQoZH5/mbpiIGykFdK/RvuuhgbwLqIf4XtZskAEqpB6yrXiMiHwR+uhlL5TXNG1g0n9UXrV/YHkO91RJWl9vc+cBm7mtdf82Gx0N+PxYX3H1RpO8gBJMHIt/cVvvswt64NA3ci9Yv7Goju33zTm9yB6o54LypEXRQUHFUcqFXq8p8Ua0yu09tsJu/R1EZYZ4vn7ci7VewV/G9s6cWrx+8ltEXHqBFEtEfaszRjBQKdl+07oP6oa47er+0kw3r7LYDRXB3eXVFvnlnF9pzkeyzCwgbxm36dvm1PbuGXPvWA0Lmi2rVAffQMwy7b4xOHflSRlpVh0dD+Wjdt6lKp5L07b4qs3mUO7oWTMsenOuC6qzTR3UqJEVj9oXvA3cB/2cjbmakHU8UZoN9pzeuB76cfnNbLeGeS9ujx/iAHiK7OVgR3F1f2N5g6FwLMP1qqPvOMHxnFhCWOvLl24sgWaXaSF9vQx7KH3hcCgG7ay3ATB3ZKSMt1+a6Mtvhy4C9zLpApyUT+0PqbCdQdsEXJs84iqrhTEWwjxWSovmGWRiZhfJms7rAbka/JtRhDPbXv+/MxOu8+JmPy/Who2MzNRMSufvAnrcWUHSGcWlnwJ0PbGYgrwdelxmZZyqk/w5MLvRqeJsj/nw9eEbPaQ2Qdnmr2rDM/l1CN36ZKSOYfjBzyPb8umruoT64l1nwhWrrA7bqgHvdYF/oHLyIrAD/hMl+8K9szlb9ckXtZg7YTG2YaRhXtG5D/ej6GELnLvd4/fvOZCBvpmc03HW/9hC4h4LdlTYqe4bhOvhAPtxdC755YNdnGvZCr6viyFVpBO6UURW4h3pO3oPxeoBZSurqSjl6zikGM5dpJeDbJWt21MzbKTvNWoBLdS76hkbv04L0IETstkJSNP8vcAG4DWMn635RGbDrVIwL7CbUTaAXScP9+ms2poK7CZy6wa6jd5c/KIZ7XhdK7RncYPeVkfq0szesZRZqWbDbUA9ZE6gK92nAbs870GsEewPF1t7ACfk64V53NU+TFTxaTYJ93uWYIYC/Vin1rWWfWER+A3g2cL9S6omlndUgH9ztdIwJSxOUVcGuo3cf3IfKP/BayzfUeqc3GNXaTwv2ojMLe9i1q5wvb+KTvTZgg73MhKrk+fLXA0JnoeYtUueBvWgXsunNBfeQ4SBlB1m4wB6yCQzCF3rnAfYiT2W8+dR0xD5vuEMY4D8kIn9XKfXJks/9m8CvAG8p7WpKTZuOsVMxR9eXubC7y10PXGa7N2B1uc2JjQ4rKyuZ1z13uTc13O22txPpGGMTlSt9dGF3l/Ob/ZHP4xsdupbPPH8QDnfw56zNoeEusF/Y2eFvz22z3RuyutxK3s9ud/Q82pNdqml6M98/3RIhBOyug5H2DFmw94dDzl3aZas3YE2/n92VjCd7tKP5t7V73dRVpmmDvT8c8rcXdrJ/99Rn3o5eaA7uLrDbn0/X96jIUxlvZfyauri7w4Ob/eznc6Vb+LhpvdWtEMA/HXhhuqN1l2QMn1JK/b28Byml3i8ip6a3WE5lonadjvFF7WbEfn6zz5mzl41XWudU+sE8dzkJ8Wy4X3tole3egOFQcWR1aQQnF9xdrXptSGq4235Nnd/sc+Z+t0/TG1Q7s/DVU08uoGYHhtupGOf7mX5/TLhXWQuwVSUdo73fdW7b4XPF2VaijsVel++iqH2pLXzh/I7TZ5Nwr9JuuOjzWeQp1JtPoVH7g87ve9hrLArcIQzwz2rSgIjcANwAcPLkycrPE1Ihk8lfp7DMi9pN2ekCfdmEuwnPaw+tJs+bgtOVb4cs3O2oXac2XGA3PYf4hMmofbs3mIjalzstlIKVzmTkXhXu2nvW19B5uQzcQ1Iyrqg9b7asPVFry3o/N7pL3p5B9ti80JRRGd/gbots/92PrC4700RQz+Doqr3k8z6f0zZVK1KZlIzv85mnRQK7VkiZ5N1NGlBK3QjcCHD69OlKSbG8lExvYKZkBpXgDpOA2lhdcqZkNNhDonaYHIvnyrXr1/dF7Xk+V5fbEwceV9RelJIxv6x5oAyBe3Jd9gv8iMPdTHnmzt5wqqgd/CkZ1/hB39CVtdTD448ne/vaIpne/EUzW+uO2rXsPLt+j7/skUcSny2p1GStSbibPs3LoS0kmo7aTdmfT/uyrUWEO4RF8AutIribwNTtBVywzIM7wImNDrAOIrRbwkpbMlG7joo12IuidnBHwOZOzrJwBzie+tzuDbh6fYVumpvOy7XrqH253ZqAgC0blHYEbNaya+957+f68hLtlvDwtRa0O5nB4fqgY55RlF1IdeXbfROqXIuoDz+0wpHVZQZK0RsMOFLQDK5oITWvSiYE7naVjNaJI12uXl9hMFRs9fZY78jMcu2m/6JF1BPG5/PRV6+PPp+LtpA69jnOwdftbRba14AvA/fuUotLu264a/ngnqRhhI3uUiZiv7QzmEh3aLBrcOaB3Y6AdUrGjn5D4Q7QXVnhGtWB9eSyKx2TeGxlwK79ucofbeDYKRkb7lo+uG/3BtBa4hGHlzKpGBPsrnSMVkhtu+k5dLasa1h4q9XiEVcV9+Yv8ldU2x4auWvZrQ82VpbYSHPE/eH4cxxyNlEX3EO0srLCyeVxMrspsE+rlZVuYc590eEODQJeRN4OPAM4KiL3AD+jlHpjXc9fFu5nN3sZ4LhgqfPpLulo3ZfHtsFug1OrKCXj8urza8u1gGqfVfgWUe0Wv2Xh7pKdbzVlpmK0r+T5qqVjfJ59Q7hdg8Mnnk9/ngoi9tFzTrkj1Wa5C+6uOnaoNgGqznmokF8CaZ8RNlnXrtVUGeR+ALtWY4BXSn13U89dBu5ApiWuT3ntBUyw6xy7D+yQD3bTsyslY9eHF3WotKGuvU1G7JNnFb6cbNmFSZhMb+jyRnsnqo6S7VRMyEEnTz64a4XWhpuRevI7TubYoRzYoRg2VbfpV+kn31SDMHMh3pXiC/k7LnIfmf0Edq19l6IpgjskHQmXOzKqiHBtqrm0Mwju/Gjmr+0cexHYoXgDEGTz7SGeTG8whjqQAbsJ0FCwQxjctfI2ANkN1WBcFeN67yBsQ5CpPLj7ctY2yE2FDA23r9eq0tbXB/f+UE1E8XbfmLrmtbpUBpKuz1Do32+RwbnI3kK0rwDv+sDpz3+nJZlFP1dOWOv6aza484FNLzT1fTQwXYunRakY8IPdlZIBN9w1wHUkb3d+NNMgNtjzomLzetOjKyWjX8IFd598UE8en7yu+d5NO5Q7rzWuHb3bXR61NNTtcscQf9MO4rCly2d9QNdqurSwrMr87RYZnovsrYz2DeBdde5mlGlGajp6N6V3zmm5WuSasLShDrCcHjBCcuzaY+I9C3Yo34vF7vao5UrD2Ls8Q8AO/qg9b2Ey+f0mQWUPDTd92VUxWlX7tYcuTNqyFyrz6sV9/qYZdg35qRnfII6mywrhYPdn8WlRfU2jfQH4vOEcMI7el9qSmdW5szeku9Ti2MYyZzd7uYt+WiYwwQ9NCAd7ZqpSmoop22QL8qP1ojy27b1oUpEZtbt6nmv5FifzhoZDdbCb3qtWnJgyoW72jIH8/P+0YA8pKdSa5QLlQVmYLGrapu9z0LUvAO9S3pej11ccXuskOxPT6LKorziMo+Dk52zEmVfuCJNQh3G/c7uHTBmoQxjYXeWOoTl2+zZwt8nNkxmtT5PDzn2NClF7UdVJ2Zmt02zf1wopKTwoVSfzhOiVAPAiLTzgy3zo9gZJm9bLuwN6fZVuNJIM6LXM0rzkcjbi9EEdwqJ1c2YrjKGeVxWTlzaqGrEn0XgY2E2oJ+9FNbDnzWs1/YaorqEWWlXKCaEesIO/JHKeVScHacBFVFYLD/hQrS212dobjCAPZEBvywQkZPPCWr5F02kHcbuqd1wLvmUmKyW/E6PrTbDbUDeHXNtQd81DNWX3PQc32M0uilW27TcN9llCHfwtc6sc+BaxlDBCfTG17wFvNuvSp+N6cXC54//CuL5MvkUtuxrGntfqmwAF1We2uuDuW0C1Ze/kTDyPoW7OQjVLNbV81Uf2qDyY7KBo9z43vRbJNcLNBfWtvQG+5RQ7JdNEnXjZaF3LBfZZV53EaP3K0r4FvLmpwi4pC/nS+GCu5RqTB+O8ujn/9N7LO5nHvu2DdxW+ft7GKhfcQ2a2uiJd86Bkrw3ox4QMsjBlw73MxCLn8+WkkDI1+AbUXRuX7MXUusfRVdmu7zrRKPv+LOIougj2/aF9CXidgjBPb4uAbec47ct2t0Q7DaOHg0CSfvn8pW3axoNsqOdNf7LntromK5k7PUPgrn3DZAoJslC/3Mu2FrjkGcRo70B19T6fBu6+Pu3mbRrqoTtRteqCe1ODo2eRX49gj9qXgIfJkj9f90PfY8zHapmpGDMN40rBtFuSgXqZOa1H15cn+t5UGb5hejZ/F3vOLExCvey4PFMuuIfuPg1d8DVr7wF6jnY35oYl7QfclTF1gr0q1CGs9cIiljlChPt+1MIDPqSetWy5HbijRz3Ozwa7Ga1XhbopE+46ererZUJntpq/y86ee21Aq2x5ppYZvdtwr2vItfavzzjyau+T28fPYaZmpoV7E7NFtUKCkFn2PC+jCPf9qYUHPBS3Wi0r35xWH9inidZ9MnvJm9OfIJtzN0Fqb8M3G6uZg611zX1eJY8tV4kmTA66Lgv3ELDrSh7dQwgYNTHTlTyuDVWmyqSKyoA9L1p3tUUo2n1a987TpsEOEe77WfsC8FplIy6X7FF+u/3x4mke2OuAOoyj91C4a/n62rg2U7mgnlfNY5domusA2hMkVUmhcC8Cuxmtm10pNdDNhd+dvSEXt/oTw61hHL1XhXuZgdEwCXWzXLM/VOzuKS/k64R71RLNsme7Ee77W/sK8C6F5lDzBnDPAuwwhvsLnn4KmJzbaqZlTLjbnRHN2bJ5YK9Souma+gSMulEWwT0U7GZfHhfUi1RlwHWZ3uxQvv6+05KJ5mBQveWBS1V3yrYk8dEbDA9El8eoMDUKeBH5VuC1QBt4g1LqPzb5elouuLvSMWae+p4U7k2AHarDHXDOPa0L7HoqFbjh7prVWqa3TR7YIRzqZvQ+DdzLzBMtu7GqSbiXBXvV/vJaEe4HQ01OdGoDvwp8M3AP8Oci8odKqb9q6jXB3y/el47RNexFOfYLu7uc3+yPulKe2OiwslIw0ytVVbhrsNt59jywX9jd5a4HdkY+j2906Hp8usozp4G7C+wwOdgEYHewx/nNPlu9AWvaZ3fSp725qircq4L98t5u6nPI2nIrfT+7E89Rd829qZBSzf5wyL0PbRd+Pmc5dMOl2++7j1vuuMTd57a57ugqz3vCIU6cONHY61XVfvFZpCYj+KcAf62U+iyAiPw28O1AY4C34e6L2i/3+s7KmLyo/fxmnzNnLxvXrHMqAPAuuOs2xHbrARfczXSMWRXjm9V6frPPWz/wN6PL3/O1J50+7dGDUFye6WteVmasn47Yv3jB8X5agDfXAHr9pLWEDfeQ8swq6Rgdsbv/7tnnaQruoTX4LYF7H9rmzP3uz2fo3oRZRO233HGJV910p3HN9bx0AcG5X3wWqUnAPwr4vHH5HuCp9p1E5AbgBoCTJ09WeqG8qN2Va6+SjrHrwotaD9tgHwwV1x1ZYzhUHOouZSJkH9ghm46xq2JcqZh3fPieXJ+umbLZYSbjYdxmz3YboiFRu/avJ2uZ2rJ8mZc12M2NVdPManUptOXwVm/ovVy2DULdUTuM/fs+n4sEd4C7z23nXl4U7RefRWoS8K5PzMSnVil1I3AjwOnTp0vXfBWlZFy5dgiL2k3ZNeR5NeW+qD00JWPCEdwpGV+e3dxd+w8ef03GZ17UXldKJmReK8Ca9f7py3bU7uq/U9TnpmpKxjnkernlvDzvlIxt1f48Pvrq9YWDO8B1R1dzLy+K9ovPIjUJ+HuARxuXrwXurfMFguGeRr9V4Q5wYqMDrGdynLZCo3ZdbmiqDrgDvOQbr+OLxlrB8Y1Oqag9L/UxTUrG1vH0/dQ5+IcfWploh1Alaq8T7lmfSQ7+kUdWS7VBbmIh1WVVfz6vXluh1RK6HVkosGs97wmHgOszue1F1H7xWSRRqpmNEiLSAf438E3AF4A/B16glPpL32NOnz6tbr311qDn9+Xb9eYfE+4ajoe6bV7/vjNAM+WP/aHi+7/uMYARtXeXgASiOhINgbs9qzUE7rbMRVS9sGuCXfeVX+m0g0boubpUamDq1gLmRqWiChlzAdUF9jKj/UKrZGw4mgO689REV0pTZTpU5jUwy/NTxVfU4ktEblNKnXbd1lgEr5Tqi8iPAjeRlEn+Rh7cQ5VXAjlruJstB3zpmDywQxjctULgbkLdTMX4hoaHDr0uA/cimWDXC816ERWqgT153uLIvYxcUId6wV5FVYeDQIT7laZG6+CVUu8B3lPX8/lSMvpypuKkQbiHgH15qTWROzaBkWmDa6VltEJ7x9g7Uf2pmMkRfyEj9FwN2cw5uD65hnHD5EDuacFeJN8UJS1X/Tq4oe7zU9aTqTK7UqssKEME+5WqfbOTNQTudp24vV1/WrjnpWJ0OmY5TUusdLKLlVr2Vnc9KHy5I6Nqk7ObvQm4X3/NRuG4Px2t1wV2cMPRPDj55BvGrf+3Z95OC/YiSPrgXqbNdBMRe2wSFtWk9gXgXV8COy2T7JLMLkpC9YlKWq5oHSbB3l0eg13DygcPE5A6tWHnrPUiqam8ma2u2a3TgN2UmZox89V29G5G5S5NM4x7lqAKzWcvKjwX1VfU7LUvAG/KzAWPo8vsLklfauPc5V5QFG9C3YzWM1UxVo7dFYWaU6dc0tG7rWMby5zd7I2gbf4+rvp7F9R9nqD6CD1TegauhrzZm92UCfS9gZp47TrAHhIFa2gXLVD6fJT1NA8tqq+o+WnhAe9KzWR6oRtDo7tLLe90ohc/83G8/n1nJgZtuGRG6pCtQFlfTt4ynWO3Swu1zKlTvgjY1OG1TiaK19OUTNDr683ctoZ68rNyljuansqqqMDEHpPnUhNQLyNz5+1BW6BcRE9Ri6OFBrwL7nb0DuP8tUuXdgajNE3eHFR7odKEuhmtA8FlhRryRUoqSHSZX/b+OjrXMkf5QRbq2pPpKyRvHJoHNnvSd1rirAoC96LlklVhM480TJUDXNOeQgbauB4TFRWihQW860Ovd06aFRyuFIeWXpi04e2SBjpkoQ7ZaN0Ge9WqBq31lTaXdwf0+sroTZM8tyun7VucND35fFUBg51msgecu2TXied5quqrSc3aj+9gu2jvS9T+08ICvqp0/lorb2FSSy+W6qoTIFMNM00e21Z/qEbRr15oXe60MguWehbpcmfyNcz0S4inaSDhSjNB8dSipitPXM81bTXKosB0UXxEHQwtJOB9wzp86vXVKIcN/vy1loY5jGGkd3XqSB3qi9Y1IM3o10xxbO0NstUlBthdrxlyoKkLFHbnyJD7+tQkvMpCPoI06krQQgLeJddi395ATaQ4zD4odv7ahHlyObnCTr9AuRw2+PPYdhSso19zoTgPjHa/kzKeQtXUYHP93LNShHZUVFb7BvB2FKxTHHuD8Rb3Xn+YyWVnHz+GOTARpcN06Y48SJqQhyzo7d/Rdd1+q8VeRE9RUVei9gXgXVHw7l5SU23OK3XlrGFyMVJrHqkOyE93zGviTkizrqLHRkVFLZb2BeChONVRBEa7TC/vMU2mOvJeN+95Z6UI66iog6N9A3iYTHWAG9x5j3ep7ooOmK7HSIRsVFRUHVpIwBfls+t6jSblen79O0WAR0VFzUILCXioJxJ2Pd88tQgeoqKirhwtLOC1ym6pjxCNioqKSrTwgDcV4R0VFRUVrsZmslaRiJwF7p63jwIdBc7N20SAos96FX3Wq+izPl2nlDrmumGhAL8fJCK3+gbcLpKiz3oVfdar6HM2qqckJSoqKipq4RQBHxUVFXVAFQFfXjfO20Cgos96FX3Wq+hzBoo5+KioqKgDqhjBR0VFRR1QRcBHRUVFHVBFwAdKRL5VRD4jIn8tIj8xbz8+ichviMj9IvKpeXvxSUQeLSJ/KiKfFpG/FJEfm7cnn0SkKyIfFZG/SL3+3Lw9+SQibRH5mIj80by95ElE7hKRT4rIx0Xk1nn78UlErhKR3xeRO9LP6lfP21NZxRx8gESkDfxv4JuBe4A/B75bKfVXczXmkIh8HbAJvEUp9cR5+3FJRE4AJ5RSt4vIIeA24LkL+n4KsK6U2hSRJeCDwI8ppT48Z2sTEpFXAKeBw0qpZ8/bj08ichdwWim10BuIROTNwAeUUm8QkWVgTSn10JxtlVKM4MP0FOCvlVKfVUr1gN8Gvn3OnpxSSr0feHDePvKklLpPKXV7+vMl4NPAo+bryi2VaDO9uJT+W7ioSESuBb4NeMO8vRwEichh4OuANwIopXr7De4QAR+qRwGfNy7fw4ICab9JRE4BTwY+MmcrXqWpj48D9wN/opRaRK+vAf41UDwdff5SwHtF5DYRuWHeZjx6LHAWeFOa9nqDiKzP21RZRcCHydXlbOGiuP0mEdkA3gH8uFLq4rz9+KSUGiilngRcCzxFRBYq9SUizwbuV0rdNm8vgXqaUuorgWcBL03TioumDvCVwH9VSj0ZuAws7NqbTxHwYboHeLRx+Vrg3jl5ORBK89nvAN6qlHrnvP2EKD1Fvxn41vk6mdDTgOekue3fBr5RRH5rvpb8Ukrdm/5/P/AukhToouke4B7jbO33SYC/rxQBH6Y/B64Xkcekiy3fBfzhnD3tW6ULl28EPq2UevW8/eRJRI6JyFXpz6vAM4E75mrKklLqJ5VS1yqlTpF8Nv+nUup752zLKRFZTxfWSVMe3wIsXMWXUuqLwOdF5PHpVd8ELFwRQJH2VT/4eUkp1ReRHwVuAtrAbyil/nLOtpwSkbcDzwCOisg9wM8opd44X1cTehrwfcAn09w2wL9VSr1nfpa8OgG8Oa2kagG/q5Ra6DLEBdcjgHclx3g6wNuUUn88X0tevQx4axrUfRZ40Zz9lFYsk4yKioo6oIopmqioqKgDqgj4qKioqAOqCPioqKioA6oI+KioqKgDqgj4qKioqAOqCPiouUhEbhaRxocZi8jL006Ab23o+Z8hIl9T4XG/KSLPb8JTCQ8vFJFfmaeHqGYV6+Cj9p1EpKOU6gfe/UeAZymlPteQnWeQdO/8kH1DSZ9RUbUrRvBRXonIqTT6/fW0F/p7092cmQhcRI6m2+R1VPgHIvJuEfmciPyoiLwibdj0YRG52niJ7xWRD4nIp0TkKenj19Oe9n+ePubbjef9PRF5N/Beh9dXpM/zKRH58fS615E0jfpDEfnn1v3bIvKLaV/yT4jIy9Lrvyl93U+mPlbS6+8SkZ8TkdvT256QNkp7CfDP097mX5tG5q8WkT8FfkFEnpT+3p8QkXeJyMMK3vOXi8hfpff/7fS6p6Tv08fS/x9f5r1O/1avsd9r63WPicg70vf9z0Xkaen1X5/+bh9Pn/dQnv+oBZNSKv6L/5z/gFNAH3hSevl3ge9Nf76ZpKc3wFHgrvTnFwJ/DRwCjgEXgJekt/0ySWMx/fhfT3/+OuBT6c//wXiNq0j68K+nz3sPcLXD598HPpnebwP4S+DJ6W13AUcdj/lhkl44nfTy1UCXpGvol6bXvcXwexfwsvTnHwHekP78s8C/NJ73N4E/Atrp5U8AX5/+/ErgNcb9nu/wdS+won//9P/Dhs9nAu+o6b1+IfAr6c9vA56e/nySpI0EwLtJmoORvredeX8u47/wfzGCjyrS55RSH09/vo0E+kX6U6XUJaXUWRLovDu9/pPW498Oox72h9OeL98C/ETawuBmEuieTO//J0opV6/7pwPvUkpdVknv9ncCX1vg8ZnA61SaQkmf9/Ekv+//Tu/zZhIgaummaEXvw+8ppQYicoQE0n/meT6XPkGyPf57SQ6uAEeA35NkStcvA19u3H+a99rUM4FfSd/3P0zvcwj4X8CrReTl6e8SU077SBHwUUXaNX4eMF636TP+/HRzHjM0Lg/JrvvYfTIUSWvmf6KUelL676RS6tPp7Zc9Hl3tnIskjtcveh79e5jvg0s+nyH6NuBXSc5KbhORDvDzJCB/IvCPyb7f07zXplrAVxvv+6PSA8d/BH4IWAU+LCJPmOJ3i5qxIuCjquouEggBVK0G+U4AEXk6cEEpdYGkodvLJO1GJSJPDnie9wPPFZE1SToUfgfwgYLHvBd4SQpQ0nz1HcApEfmS9D7fB/yZ5/Fal0hSJBNKf5/zIqLPJnKfT0RawKOVUn9KMrzjKpK0yBHgC+ndXljgxyfXe23qvcCPGl6elP7/OKXUJ5VSvwDcCkTA7yNFwEdV1S8CPywiHyLJwVfR+fTxrwN+ML3u50nG4n0iTUn8fNGTqGT8328CHyWZDPUGpdTHCh72BuBv0tf5C+AFSqkdko6BvycinySJgl9X8DzvBr5DL7I6bv+nwKtE5BPAk0jy8D61gd9KX/tjwC+rpAf9fwL+HxH5X+l9qsj1Xpt6OXA6Xdz9K5LFY4AfTxdm/wLYBv57xdePmoNiN8moqAMuEbmZZCH41nl7iZqtYgQfFRUVdUAVI/ioqKioA6oYwUdFRUUdUEXAR0VFRR1QRcBHRUVFHVBFwEdFRUUdUEXAR0VFRR1Q/f+jOWY//2xBSQAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plot_density(cpdb_anno, \"CellPhoneDB\")\n", - "plt.savefig('density_CellPhoneDB.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "11850fb7", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#good quality interactions from community\n", - "\n", - "venn3([set(index_to_list(community_good_quality)), set(index_to_list(nnet)), set(index_to_list(cpdb))], (\"community\", 'NicheNet', 'CPDB'))\n", - "plt.title(\"community: good quality interactions\")\n", - "plt.savefig('venn_good_quality.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "98db762a", - "metadata": {}, - "outputs": [], - "source": [ - "community_good_anno = community_anno_raw[community_anno_raw.interaction_ID.isin(index_to_list(community_good_quality))]" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "89a74a7a", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plot_density(community_good_anno, \"community: good quality interactions\")\n", - "plt.savefig('density_good_quality.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "a8a1bbce", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#significant interactions from community\n", - "# fig = plt.figure(figsize=(12, 12))\n", - "out=venn3([set(index_to_list(community_significant)), set(index_to_list(nnet)), set(index_to_list(cpdb))], (\"community\", 'NicheNet', 'CPDB'))\n", - "for x in out.subset_labels:\n", - " if x:\n", - " x.set_text(\"\")\n", - "\n", - "plt.title(\"community: differential interactions\")\n", - "plt.savefig('venn_significant.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "896f36b7", - "metadata": {}, - "outputs": [], - "source": [ - "community_significant = community_anno_raw[community_anno_raw.interaction_ID.isin(index_to_list(community_significant))]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6d12e9fb", - "metadata": {}, - "outputs": [], - "source": [ - "plot_density(community_significant, \"community: differential interactions\")\n", - "plt.savefig('density_significant.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "4ce22c5f", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#significant interactions with lower thresholds\n", - "\n", - "venn2([set(index_to_list(community_significant_lower_threshold)), set(index_to_list(community_significant))], (\"lower_sign\", 'significant'))\n", - "plt.savefig('venn_strict.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "5cd68607", - "metadata": {}, - "outputs": [], - "source": [ - "community_strict = community_anno_raw[community_anno_raw.interaction_ID.isin(index_to_list(community_significant_lower_threshold))]" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "60b809c2", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plot_density(community_strict, \"community: differential interactions(strict)\")\n", - "plt.savefig('density_strict.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "af1b855a", - "metadata": {}, - "outputs": [], - "source": [ - "good_q=set(index_to_list(community_good_quality))\n", - "nnet_edges=set(index_to_list(nnet))" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "fb4f8086", - "metadata": {}, - "outputs": [], - "source": [ - "dif=nnet_edges.difference(good_q)" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "02ac4f55", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "16072" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(set(index_to_list(nnet)).difference(set(index_to_list(community_good_quality))))" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "e562aa4d", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "dif_anno=community_anno[community_anno.interaction_ID.isin(dif)]" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "0268bc54", - "metadata": {}, - "outputs": [], - "source": [ - "failed_log10_cumw=dif_anno[dif_anno[\"passed_log10_cum_weight_filter\"]==False]" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "73a322fc", - "metadata": {}, - "outputs": [], - "source": [ - "failed_frac_samples=dif_anno[dif_anno[\"passed_frac_samples_filter\"]==False]" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "14efc6af", - "metadata": {}, - "outputs": [], - "source": [ - "failed_log10_cond=dif_anno[dif_anno[\"passed_log10_meanexpr_per_condition_filter\"]==False]" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "718cc244", - "metadata": {}, - "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", - "
interaction_IDligand_gene_namereceptor_gene_namesending_cell_typereceiving_cell_typemean_e_s_l_controlmean_e_s_l_casemean_e_r_r_controlmean_e_r_r_caselog2FC_rho_s...passed_log10_meanexpr_case_filterpassed_log10_meanexpr_per_condition_filterpassed_QC_filterp.valuep.adjpassed_FDR_thresholdpassed_log2FC_thresholdsignnr_nonZero_controlsnr_nonZero_case
5Mono:ADAM9_Mono:ITGA6ADAM9ITGA6MonoMono0.4656970.6352040.0000000.078039-0.454699...TrueTrueFalseNaNNaNNaNTrueNaN01
6Mono:ADAM9_Mono:ITGAVADAM9ITGAVMonoMono0.4656970.6352040.0000000.077872-0.454699...TrueTrueFalseNaNNaNNaNTrueNaN01
10Mono:ANXA1_Mono:FPR2ANXA1FPR2MonoMono1.1966291.2618990.2530940.000000-0.454699...FalseTrueFalseNaNNaNNaNTrueNaN20
33Mono:ICAM2_Mono:ITGB2ICAM2ITGB2MonoMono0.3953140.4437921.0443431.055974-0.454699...TrueTrueFalseNaNNaNNaNTrueNaN34
39Mono:JAG1_Mono:NOTCH2JAG1NOTCH2MonoMono0.0000000.0924780.8055270.633454-0.454699...TrueTrueFalseNaNNaNNaNTrueNaN01
\n", - "

5 rows × 35 columns

\n", - "
" - ], - "text/plain": [ - " interaction_ID ligand_gene_name receptor_gene_name \\\n", - "5 Mono:ADAM9_Mono:ITGA6 ADAM9 ITGA6 \n", - "6 Mono:ADAM9_Mono:ITGAV ADAM9 ITGAV \n", - "10 Mono:ANXA1_Mono:FPR2 ANXA1 FPR2 \n", - "33 Mono:ICAM2_Mono:ITGB2 ICAM2 ITGB2 \n", - "39 Mono:JAG1_Mono:NOTCH2 JAG1 NOTCH2 \n", - "\n", - " sending_cell_type receiving_cell_type mean_e_s_l_control mean_e_s_l_case \\\n", - "5 Mono Mono 0.465697 0.635204 \n", - "6 Mono Mono 0.465697 0.635204 \n", - "10 Mono Mono 1.196629 1.261899 \n", - "33 Mono Mono 0.395314 0.443792 \n", - "39 Mono Mono 0.000000 0.092478 \n", - "\n", - " mean_e_r_r_control mean_e_r_r_case log2FC_rho_s ... \\\n", - "5 0.000000 0.078039 -0.454699 ... \n", - "6 0.000000 0.077872 -0.454699 ... \n", - "10 0.253094 0.000000 -0.454699 ... \n", - "33 1.044343 1.055974 -0.454699 ... \n", - "39 0.805527 0.633454 -0.454699 ... \n", - "\n", - " passed_log10_meanexpr_case_filter \\\n", - "5 True \n", - "6 True \n", - "10 False \n", - "33 True \n", - "39 True \n", - "\n", - " passed_log10_meanexpr_per_condition_filter passed_QC_filter p.value \\\n", - "5 True False NaN \n", - "6 True False NaN \n", - "10 True False NaN \n", - "33 True False NaN \n", - "39 True False NaN \n", - "\n", - " p.adj passed_FDR_threshold passed_log2FC_threshold sign \\\n", - "5 NaN NaN True NaN \n", - "6 NaN NaN True NaN \n", - "10 NaN NaN True NaN \n", - "33 NaN NaN True NaN \n", - "39 NaN NaN True NaN \n", - "\n", - " nr_nonZero_controls nr_nonZero_case \n", - "5 0 1 \n", - "6 0 1 \n", - "10 2 0 \n", - "33 3 4 \n", - "39 0 1 \n", - "\n", - "[5 rows x 35 columns]" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "failed_frac_samples.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "94aff464", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(failed_log10_cumw[\"interaction_ID\"]), set(failed_frac_samples[\"interaction_ID\"]), set(failed_log10_cond[\"interaction_ID\"])], (\"failed_log10_cumw\", 'failed_frac_samples', 'failed_log10_cond'))\n", - "plt.savefig('venn_failed_interactions.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "6d3295cf", - "metadata": {}, - "outputs": [], - "source": [ - "failed_frac_samples.reset_index(inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "ae880e40", - "metadata": {}, - "outputs": [], - "source": [ - "nnet_frac = nnet[nnet.index.isin(failed_frac_samples[\"interaction_ID\"])]" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "017242f4", - "metadata": {}, - "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", - "
Unnamed: 0AML-0024AML-0160AML-0693AML-1371AML-2123AML-3133AML-4340healthy-1healthy-2healthy-3healthy-4healthy-4003healthy-5
interaction_ID
Mono:ACKR3_Mono:CXCR410.0702040.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.000000
Mono:ADAM10_Mono:CADM120.1921460.00.0000000.1921460.00.1921460.0000000.00.00.0000000.00.0000000.000000
Mono:ADAM17_Mono:RHBDF270.4830270.00.4830270.4830270.00.0000000.4830270.00.00.4830270.00.4830270.000000
Mono:ADM_Mono:ACKR390.2747730.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.000000
Mono:ANG_Mono:PLXNB2120.1013680.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.000000
.............................................
Ery:LRPAP1_Ery:SORL1238830.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.02.1284400.000000
Ery:ERFE_DC:LRP1238840.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0499890.000000
Ery:RYK_DC:FZD2238850.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.1325350.000000
HSPC:VCAN_Ery:SELPLG238860.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.789367
HSPC:VCAN_DC:SELPLG238870.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.789367
\n", - "

15773 rows × 14 columns

\n", - "
" - ], - "text/plain": [ - " Unnamed: 0 AML-0024 AML-0160 AML-0693 AML-1371 \\\n", - "interaction_ID \n", - "Mono:ACKR3_Mono:CXCR4 1 0.070204 0.0 0.000000 0.000000 \n", - "Mono:ADAM10_Mono:CADM1 2 0.192146 0.0 0.000000 0.192146 \n", - "Mono:ADAM17_Mono:RHBDF2 7 0.483027 0.0 0.483027 0.483027 \n", - "Mono:ADM_Mono:ACKR3 9 0.274773 0.0 0.000000 0.000000 \n", - "Mono:ANG_Mono:PLXNB2 12 0.101368 0.0 0.000000 0.000000 \n", - "... ... ... ... ... ... \n", - "Ery:LRPAP1_Ery:SORL1 23883 0.000000 0.0 0.000000 0.000000 \n", - "Ery:ERFE_DC:LRP1 23884 0.000000 0.0 0.000000 0.000000 \n", - "Ery:RYK_DC:FZD2 23885 0.000000 0.0 0.000000 0.000000 \n", - "HSPC:VCAN_Ery:SELPLG 23886 0.000000 0.0 0.000000 0.000000 \n", - "HSPC:VCAN_DC:SELPLG 23887 0.000000 0.0 0.000000 0.000000 \n", - "\n", - " AML-2123 AML-3133 AML-4340 healthy-1 healthy-2 \\\n", - "interaction_ID \n", - "Mono:ACKR3_Mono:CXCR4 0.0 0.000000 0.000000 0.0 0.0 \n", - "Mono:ADAM10_Mono:CADM1 0.0 0.192146 0.000000 0.0 0.0 \n", - "Mono:ADAM17_Mono:RHBDF2 0.0 0.000000 0.483027 0.0 0.0 \n", - "Mono:ADM_Mono:ACKR3 0.0 0.000000 0.000000 0.0 0.0 \n", - "Mono:ANG_Mono:PLXNB2 0.0 0.000000 0.000000 0.0 0.0 \n", - "... ... ... ... ... ... \n", - "Ery:LRPAP1_Ery:SORL1 0.0 0.000000 0.000000 0.0 0.0 \n", - "Ery:ERFE_DC:LRP1 0.0 0.000000 0.000000 0.0 0.0 \n", - "Ery:RYK_DC:FZD2 0.0 0.000000 0.000000 0.0 0.0 \n", - "HSPC:VCAN_Ery:SELPLG 0.0 0.000000 0.000000 0.0 0.0 \n", - "HSPC:VCAN_DC:SELPLG 0.0 0.000000 0.000000 0.0 0.0 \n", - "\n", - " healthy-3 healthy-4 healthy-4003 healthy-5 \n", - "interaction_ID \n", - "Mono:ACKR3_Mono:CXCR4 0.000000 0.0 0.000000 0.000000 \n", - "Mono:ADAM10_Mono:CADM1 0.000000 0.0 0.000000 0.000000 \n", - "Mono:ADAM17_Mono:RHBDF2 0.483027 0.0 0.483027 0.000000 \n", - "Mono:ADM_Mono:ACKR3 0.000000 0.0 0.000000 0.000000 \n", - "Mono:ANG_Mono:PLXNB2 0.000000 0.0 0.000000 0.000000 \n", - "... ... ... ... ... \n", - "Ery:LRPAP1_Ery:SORL1 0.000000 0.0 2.128440 0.000000 \n", - "Ery:ERFE_DC:LRP1 0.000000 0.0 0.049989 0.000000 \n", - "Ery:RYK_DC:FZD2 0.000000 0.0 0.132535 0.000000 \n", - "HSPC:VCAN_Ery:SELPLG 0.000000 0.0 0.000000 0.789367 \n", - "HSPC:VCAN_DC:SELPLG 0.000000 0.0 0.000000 0.789367 \n", - "\n", - "[15773 rows x 14 columns]" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "nnet_frac" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "4fc8df46", - "metadata": {}, - "outputs": [], - "source": [ - "dif_anno_nnet=nnet_anno[nnet_anno.interaction_ID.isin(nnet_frac.index)]" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "69c3d530", - "metadata": {}, - "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", - "
Unnamed: 0AML-0024AML-0160AML-0693AML-1371AML-2123AML-3133AML-4340healthy-1healthy-2healthy-3healthy-4healthy-4003healthy-5
interaction_ID
Mono:ACKR3_Mono:CXCR410.0702040.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.000000
Mono:ADAM10_Mono:CADM120.1921460.00.0000000.1921460.00.1921460.0000000.00.00.0000000.00.0000000.000000
Mono:ADAM17_Mono:RHBDF270.4830270.00.4830270.4830270.00.0000000.4830270.00.00.4830270.00.4830270.000000
Mono:ADM_Mono:ACKR390.2747730.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.000000
Mono:ANG_Mono:PLXNB2120.1013680.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.000000
.............................................
Ery:LRPAP1_Ery:SORL1238830.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.02.1284400.000000
Ery:ERFE_DC:LRP1238840.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0499890.000000
Ery:RYK_DC:FZD2238850.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.1325350.000000
HSPC:VCAN_Ery:SELPLG238860.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.789367
HSPC:VCAN_DC:SELPLG238870.0000000.00.0000000.0000000.00.0000000.0000000.00.00.0000000.00.0000000.789367
\n", - "

15773 rows × 14 columns

\n", - "
" - ], - "text/plain": [ - " Unnamed: 0 AML-0024 AML-0160 AML-0693 AML-1371 \\\n", - "interaction_ID \n", - "Mono:ACKR3_Mono:CXCR4 1 0.070204 0.0 0.000000 0.000000 \n", - "Mono:ADAM10_Mono:CADM1 2 0.192146 0.0 0.000000 0.192146 \n", - "Mono:ADAM17_Mono:RHBDF2 7 0.483027 0.0 0.483027 0.483027 \n", - "Mono:ADM_Mono:ACKR3 9 0.274773 0.0 0.000000 0.000000 \n", - "Mono:ANG_Mono:PLXNB2 12 0.101368 0.0 0.000000 0.000000 \n", - "... ... ... ... ... ... \n", - "Ery:LRPAP1_Ery:SORL1 23883 0.000000 0.0 0.000000 0.000000 \n", - "Ery:ERFE_DC:LRP1 23884 0.000000 0.0 0.000000 0.000000 \n", - "Ery:RYK_DC:FZD2 23885 0.000000 0.0 0.000000 0.000000 \n", - "HSPC:VCAN_Ery:SELPLG 23886 0.000000 0.0 0.000000 0.000000 \n", - "HSPC:VCAN_DC:SELPLG 23887 0.000000 0.0 0.000000 0.000000 \n", - "\n", - " AML-2123 AML-3133 AML-4340 healthy-1 healthy-2 \\\n", - "interaction_ID \n", - "Mono:ACKR3_Mono:CXCR4 0.0 0.000000 0.000000 0.0 0.0 \n", - "Mono:ADAM10_Mono:CADM1 0.0 0.192146 0.000000 0.0 0.0 \n", - "Mono:ADAM17_Mono:RHBDF2 0.0 0.000000 0.483027 0.0 0.0 \n", - "Mono:ADM_Mono:ACKR3 0.0 0.000000 0.000000 0.0 0.0 \n", - "Mono:ANG_Mono:PLXNB2 0.0 0.000000 0.000000 0.0 0.0 \n", - "... ... ... ... ... ... \n", - "Ery:LRPAP1_Ery:SORL1 0.0 0.000000 0.000000 0.0 0.0 \n", - "Ery:ERFE_DC:LRP1 0.0 0.000000 0.000000 0.0 0.0 \n", - "Ery:RYK_DC:FZD2 0.0 0.000000 0.000000 0.0 0.0 \n", - "HSPC:VCAN_Ery:SELPLG 0.0 0.000000 0.000000 0.0 0.0 \n", - "HSPC:VCAN_DC:SELPLG 0.0 0.000000 0.000000 0.0 0.0 \n", - "\n", - " healthy-3 healthy-4 healthy-4003 healthy-5 \n", - "interaction_ID \n", - "Mono:ACKR3_Mono:CXCR4 0.000000 0.0 0.000000 0.000000 \n", - "Mono:ADAM10_Mono:CADM1 0.000000 0.0 0.000000 0.000000 \n", - "Mono:ADAM17_Mono:RHBDF2 0.483027 0.0 0.483027 0.000000 \n", - "Mono:ADM_Mono:ACKR3 0.000000 0.0 0.000000 0.000000 \n", - "Mono:ANG_Mono:PLXNB2 0.000000 0.0 0.000000 0.000000 \n", - "... ... ... ... ... \n", - "Ery:LRPAP1_Ery:SORL1 0.000000 0.0 2.128440 0.000000 \n", - "Ery:ERFE_DC:LRP1 0.000000 0.0 0.049989 0.000000 \n", - "Ery:RYK_DC:FZD2 0.000000 0.0 0.132535 0.000000 \n", - "HSPC:VCAN_Ery:SELPLG 0.000000 0.0 0.000000 0.789367 \n", - "HSPC:VCAN_DC:SELPLG 0.000000 0.0 0.000000 0.789367 \n", - "\n", - "[15773 rows x 14 columns]" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "nnet_frac" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "b594fa24", - "metadata": {}, - "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", - "
interaction_IDsender_cell_typesender_genereceiver_cell_typereceiver_genesender_pvalreceiver_pvalsender_logfcreceiver_logfcnr_nonZero_controlsnr_nonZero_case
0Mono:ACKR3_Mono:CXCR4MonoACKR3MonoCXCR40.00.00.2595830.33125301
1Mono:ADAM10_Mono:CADM1MonoADAM10MonoCADM1NaNNaNNaNNaN03
6Mono:ADAM17_Mono:RHBDF2MonoADAM17MonoRHBDF2NaNNaNNaNNaN24
8Mono:ADM_Mono:ACKR3MonoADMMonoACKR30.00.00.4564720.25958301
11Mono:ANG_Mono:PLXNB2MonoANGMonoPLXNB2NaNNaNNaNNaN01
....................................
23882Ery:LRPAP1_Ery:SORL1EryLRPAP1ErySORL1NaNNaNNaNNaN10
23883Ery:ERFE_DC:LRP1EryERFEDCLRP1NaNNaNNaNNaN10
23884Ery:RYK_DC:FZD2EryRYKDCFZD2NaNNaNNaNNaN10
23885HSPC:VCAN_Ery:SELPLGHSPCVCANErySELPLGNaNNaNNaNNaN10
23886HSPC:VCAN_DC:SELPLGHSPCVCANDCSELPLGNaNNaNNaNNaN10
\n", - "

15773 rows × 11 columns

\n", - "
" - ], - "text/plain": [ - " interaction_ID sender_cell_type sender_gene \\\n", - "0 Mono:ACKR3_Mono:CXCR4 Mono ACKR3 \n", - "1 Mono:ADAM10_Mono:CADM1 Mono ADAM10 \n", - "6 Mono:ADAM17_Mono:RHBDF2 Mono ADAM17 \n", - "8 Mono:ADM_Mono:ACKR3 Mono ADM \n", - "11 Mono:ANG_Mono:PLXNB2 Mono ANG \n", - "... ... ... ... \n", - "23882 Ery:LRPAP1_Ery:SORL1 Ery LRPAP1 \n", - "23883 Ery:ERFE_DC:LRP1 Ery ERFE \n", - "23884 Ery:RYK_DC:FZD2 Ery RYK \n", - "23885 HSPC:VCAN_Ery:SELPLG HSPC VCAN \n", - "23886 HSPC:VCAN_DC:SELPLG HSPC VCAN \n", - "\n", - " receiver_cell_type receiver_gene sender_pval receiver_pval \\\n", - "0 Mono CXCR4 0.0 0.0 \n", - "1 Mono CADM1 NaN NaN \n", - "6 Mono RHBDF2 NaN NaN \n", - "8 Mono ACKR3 0.0 0.0 \n", - "11 Mono PLXNB2 NaN NaN \n", - "... ... ... ... ... \n", - "23882 Ery SORL1 NaN NaN \n", - "23883 DC LRP1 NaN NaN \n", - "23884 DC FZD2 NaN NaN \n", - "23885 Ery SELPLG NaN NaN \n", - "23886 DC SELPLG NaN NaN \n", - "\n", - " sender_logfc receiver_logfc nr_nonZero_controls nr_nonZero_case \n", - "0 0.259583 0.331253 0 1 \n", - "1 NaN NaN 0 3 \n", - "6 NaN NaN 2 4 \n", - "8 0.456472 0.259583 0 1 \n", - "11 NaN NaN 0 1 \n", - "... ... ... ... ... \n", - "23882 NaN NaN 1 0 \n", - "23883 NaN NaN 1 0 \n", - "23884 NaN NaN 1 0 \n", - "23885 NaN NaN 1 0 \n", - "23886 NaN NaN 1 0 \n", - "\n", - "[15773 rows x 11 columns]" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dif_anno_nnet" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "0629d061", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_15828/3536078387.py:6: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " anno_df['nr_nonZero_controls'] = row_sums_healthy.values\n", - "/tmp/ipykernel_15828/3536078387.py:10: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " anno_df['nr_nonZero_case'] = row_sums_case.values\n" - ] - } - ], - "source": [ - "failed_frac_samples=get_nr_samples(nnet_frac, dif_anno_nnet)" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "e58800fd", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_15828/134099781.py:1: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " failed_frac_samples[\"tuple\"]=list(zip(failed_frac_samples.nr_nonZero_controls, failed_frac_samples.nr_nonZero_case))\n" - ] - } - ], - "source": [ - "failed_frac_samples[\"tuple\"]=list(zip(failed_frac_samples.nr_nonZero_controls, failed_frac_samples.nr_nonZero_case))" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "b773b095", - "metadata": {}, - "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", - "
interaction_IDsender_cell_typesender_genereceiver_cell_typereceiver_genesender_pvalreceiver_pvalsender_logfcreceiver_logfcnr_nonZero_controlsnr_nonZero_casetuple
\n", - "
" - ], - "text/plain": [ - "Empty DataFrame\n", - "Columns: [interaction_ID, sender_cell_type, sender_gene, receiver_cell_type, receiver_gene, sender_pval, receiver_pval, sender_logfc, receiver_logfc, nr_nonZero_controls, nr_nonZero_case, tuple]\n", - "Index: []" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "failed_frac_samples[failed_frac_samples[\"tuple\"]==(0,0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "aef7f13c", - "metadata": {}, - "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", - "
AML-0024AML-0160AML-0693AML-1371AML-2123AML-3133AML-4340healthy-1healthy-2healthy-3healthy-4healthy-4003healthy-5
interaction_ID
Mono:ADAM9_Mono:ITGA60.0000000.0000000.00.0000000.00.0000000.0069870.00.00.0000000.0000000.0000000.0
Mono:ADAM9_Mono:ITGAV0.0000000.0000000.00.0000000.00.0000000.0069870.00.00.0000000.0000000.0000000.0
Mono:ANXA1_Mono:FPR20.0000000.0000000.00.0000000.00.0000000.0000000.00.00.0308740.0863220.0000000.0
Mono:ICAM2_Mono:ITGB20.6190650.1142570.00.0097880.00.0085590.0000000.00.00.0245320.0377140.0709510.0
Mono:JAG1_Mono:NOTCH20.0000000.0000000.00.0000000.00.0000000.0042820.00.00.0000000.0000000.0000000.0
..........................................
DC:VEGFB_DC:NRP10.0000000.0000000.00.0000000.00.0000000.0273480.00.00.0000000.0911270.0000000.0
DC:YBX1_DC:NOTCH10.0000000.0000000.00.2466090.00.0000000.0367130.00.00.0000000.0689640.0000000.0
DC:ZYX_DC:ENG0.0000000.0000000.00.0000000.00.0000000.0000000.00.00.0000000.0475190.0000000.0
DC:INHBA_DC:ACTR20.0000000.0000000.00.0000000.00.0000000.0000000.00.00.0000000.0000000.0000000.0
DC:MAML2_DC:NOTCH20.0000000.0000000.00.0000000.00.0000000.0000000.00.00.0287640.0000000.0000000.0
\n", - "

15773 rows × 13 columns

\n", - "
" - ], - "text/plain": [ - " AML-0024 AML-0160 AML-0693 AML-1371 AML-2123 \\\n", - "interaction_ID \n", - "Mono:ADAM9_Mono:ITGA6 0.000000 0.000000 0.0 0.000000 0.0 \n", - "Mono:ADAM9_Mono:ITGAV 0.000000 0.000000 0.0 0.000000 0.0 \n", - "Mono:ANXA1_Mono:FPR2 0.000000 0.000000 0.0 0.000000 0.0 \n", - "Mono:ICAM2_Mono:ITGB2 0.619065 0.114257 0.0 0.009788 0.0 \n", - "Mono:JAG1_Mono:NOTCH2 0.000000 0.000000 0.0 0.000000 0.0 \n", - "... ... ... ... ... ... \n", - "DC:VEGFB_DC:NRP1 0.000000 0.000000 0.0 0.000000 0.0 \n", - "DC:YBX1_DC:NOTCH1 0.000000 0.000000 0.0 0.246609 0.0 \n", - "DC:ZYX_DC:ENG 0.000000 0.000000 0.0 0.000000 0.0 \n", - "DC:INHBA_DC:ACTR2 0.000000 0.000000 0.0 0.000000 0.0 \n", - "DC:MAML2_DC:NOTCH2 0.000000 0.000000 0.0 0.000000 0.0 \n", - "\n", - " AML-3133 AML-4340 healthy-1 healthy-2 healthy-3 \\\n", - "interaction_ID \n", - "Mono:ADAM9_Mono:ITGA6 0.000000 0.006987 0.0 0.0 0.000000 \n", - "Mono:ADAM9_Mono:ITGAV 0.000000 0.006987 0.0 0.0 0.000000 \n", - "Mono:ANXA1_Mono:FPR2 0.000000 0.000000 0.0 0.0 0.030874 \n", - "Mono:ICAM2_Mono:ITGB2 0.008559 0.000000 0.0 0.0 0.024532 \n", - "Mono:JAG1_Mono:NOTCH2 0.000000 0.004282 0.0 0.0 0.000000 \n", - "... ... ... ... ... ... \n", - "DC:VEGFB_DC:NRP1 0.000000 0.027348 0.0 0.0 0.000000 \n", - "DC:YBX1_DC:NOTCH1 0.000000 0.036713 0.0 0.0 0.000000 \n", - "DC:ZYX_DC:ENG 0.000000 0.000000 0.0 0.0 0.000000 \n", - "DC:INHBA_DC:ACTR2 0.000000 0.000000 0.0 0.0 0.000000 \n", - "DC:MAML2_DC:NOTCH2 0.000000 0.000000 0.0 0.0 0.028764 \n", - "\n", - " healthy-4 healthy-4003 healthy-5 \n", - "interaction_ID \n", - "Mono:ADAM9_Mono:ITGA6 0.000000 0.000000 0.0 \n", - "Mono:ADAM9_Mono:ITGAV 0.000000 0.000000 0.0 \n", - "Mono:ANXA1_Mono:FPR2 0.086322 0.000000 0.0 \n", - "Mono:ICAM2_Mono:ITGB2 0.037714 0.070951 0.0 \n", - "Mono:JAG1_Mono:NOTCH2 0.000000 0.000000 0.0 \n", - "... ... ... ... \n", - "DC:VEGFB_DC:NRP1 0.091127 0.000000 0.0 \n", - "DC:YBX1_DC:NOTCH1 0.068964 0.000000 0.0 \n", - "DC:ZYX_DC:ENG 0.047519 0.000000 0.0 \n", - "DC:INHBA_DC:ACTR2 0.000000 0.000000 0.0 \n", - "DC:MAML2_DC:NOTCH2 0.000000 0.000000 0.0 \n", - "\n", - "[15773 rows x 13 columns]" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "community[community.index.isin(failed_frac_samples.interaction_ID)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b0a4d739", - "metadata": {}, - "outputs": [], - "source": [ - "plot_density(failed_frac_samples,\"failed fraction\")\n", - "plt.savefig('density_failed_interactions.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a6a1d8e4", - "metadata": {}, - "outputs": [], - "source": [ - "# def plot_scatter2(df):\n", - " \n", - " \n", - "# df[\"tuple\"]=list(zip(df.nr_nonZero_controls, df.nr_nonZero_case))\n", - "# df_group=df.groupby('tuple').sum()\n", - " \n", - " \n", - "# x_max = max(df_group['nr_nonZero_controls'])+250\n", - "# y_max = max(df_group['nr_nonZero_case'])+250\n", - "\n", - "# plt.scatter(x=df_group['nr_nonZero_controls'], y=df_group['nr_nonZero_case'])\n", - "# plt.plot([0, x_max], [0, y_max], color='red')\n", - "\n", - "# plt.xlabel('nr_nonZero_controls')\n", - "# plt.ylabel('nr_nonZero_cases')\n", - " \n", - " \n", - " \n", - "\n", - "# # plt.plot([0,4.5], [0,4.5], color='red')\n", - "# plt.xlim(0,x_max)\n", - "# plt.ylim(0,y_max)\n", - " \n", - "# # plt.xscale(\"log\")\n", - "# # plt.yscale(\"log\")\n", - "\n", - "# # Add diagonal line\n", - "# # log_min_val = min(min(np.log10(nnet_anno_group['nr_nonZero_controls'])), min(np.log10(nnet_anno_group['nr_nonZero_case'])))\n", - "# # log_max_val = max(max(np.log10(nnet_anno_group['nr_nonZero_controls'])), max(np.log10(nnet_anno_group['nr_nonZero_case'])))\n", - "\n", - "# # transformed_min_val = 10**log_min_val\n", - "# # transformed_max_val = 10**log_max_val\n", - "\n", - "# # plt.plot([transformed_min_val, transformed_max_val], [transformed_min_val, transformed_max_val], 'r--')\n", - "\n", - "\n", - "# plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "76979eb8", - "metadata": {}, - "outputs": [], - "source": [ - "# plot_scatter2(failed_frac_samples)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "77e40c0e", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "02202b1d", - "metadata": {}, - "outputs": [], - "source": [ - "# Each column contains a list of two values: the number of interactions in the case group and the control group\n", - "\n", - "\n", - "plotdata = pd.DataFrame({\n", - "\n", - " \"community\":[len(index_to_list(community))],\n", - "\n", - " \"NicheNet\":[len(index_to_list(nnet))],\n", - "\n", - " \"CPDB\":[len(index_to_list(cpdb))]},\n", - "\n", - " index=[\"# of total interactions\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a9eab14d", - "metadata": {}, - "outputs": [], - "source": [ - "plotdata" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b78faffe", - "metadata": {}, - "outputs": [], - "source": [ - "plotdata.plot(kind=\"bar\",figsize=(15, 8))\n", - "\n", - "plt.title(\"comparing raw results\")\n", - "\n", - "plt.xlabel(\"tools\")\n", - "\n", - "plt.ylabel(\"# of interactions\")\n", - "plt.savefig('barplot_raw_interactions.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c2299833", - "metadata": {}, - "outputs": [], - "source": [ - "# Each column contains a list of two values: the number of interactions in the case group and the control group\n", - "\n", - "\n", - "plotcommunity = pd.DataFrame({\n", - "\n", - " \"community_raw\":[len(index_to_list(community))],\n", - "\n", - " \"community_good_quality\":[len(index_to_list(community_good_quality))],\n", - "\n", - " \"community_significant\":[len(index_to_list(community_significant))],\n", - " \"community_significant_lower\":[len(index_to_list(community_significant_lower_threshold))]},\n", - " \n", - "\n", - " index=[\"# of total interactions\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8710b53a", - "metadata": {}, - "outputs": [], - "source": [ - "plotcommunity" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1dc17fcd", - "metadata": {}, - "outputs": [], - "source": [ - "# plotcommunity.plot(kind=\"bar\",figsize=(15, 8))\n", - "\n", - "# plt.title(\"comparing raw results\")\n", - "\n", - "# plt.xlabel(\"tools\")\n", - "\n", - "# plt.ylabel(\"# of interactions\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "440250c5", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3a23c57d", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1c95f676", - "metadata": {}, - "outputs": [], - "source": [ - "# failed_frac_samples[\"tuple\"]=list(zip(failed_frac_samples.nr_nonZero_controls, failed_frac_samples.nr_nonZero_case))\n", - "# df_group=failed_frac_samples.groupby('tuple').sum()\n", - "\n", - " \n", - "# x_max = max(df_group['nr_nonZero_controls'])+250\n", - "# y_max = max(df_group['nr_nonZero_case'])+250\n", - "\n", - "# plt.scatter(x=df_group['nr_nonZero_controls'], y=df_group['nr_nonZero_case'])\n", - "\n", - "# # loop through each point in the plot and add annotations\n", - "# for i, row in df_group.iterrows():\n", - "# x = row['nr_nonZero_controls']\n", - "# y = row['nr_nonZero_case']\n", - "# label = f\"({i[0]}, {i[1]})\"\n", - "# plt.annotate(label, (x, y))\n", - " \n", - "# # add the diagonal line\n", - "# plt.plot([0, x_max], [0, y_max], color='red')\n", - "\n", - "# # set the x-axis and y-axis limits\n", - "# plt.xlim(0, x_max)\n", - "# plt.ylim(0, y_max)\n", - "\n", - "# # add x-axis and y-axis labels\n", - "# plt.xlabel('nr_nonZero_controls')\n", - "# plt.ylabel('nr_nonZero_cases')\n", - "\n", - "\n", - "\n", - "# plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "65569006", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/src/method_comparison/compare_algorithms/compare_results/.ipynb_checkpoints/compare_res-rev-checkpoint.ipynb b/src/method_comparison/compare_algorithms/compare_results/.ipynb_checkpoints/compare_res-rev-checkpoint.ipynb deleted file mode 100644 index 965117c..0000000 --- a/src/method_comparison/compare_algorithms/compare_results/.ipynb_checkpoints/compare_res-rev-checkpoint.ipynb +++ /dev/null @@ -1,750 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "0f981bc1", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from matplotlib_venn import venn2, venn2_circles, venn2_unweighted\n", - "from matplotlib_venn import venn3, venn3_circles\n", - "import matplotlib.pyplot as plt\n", - "import seaborn as sns" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ce1111d1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'/home/mami/Maria/results/community-paper/src/method_comparison/compare_results'" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pwd" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "0e39d0b1", - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the CellPhoneDB results CSV file and set the interaction column as the index.\n", - "# Any missing values (NaNs) in the dataframe are filled with zeros.\n", - "# These missing values are due to merged samples.\n", - "\n", - "cpdb = pd.read_csv('../../../results/method_comparison/compare_results/CPDB/CPDB_results.csv', index_col=None)\n", - "cpdb = cpdb.fillna(0)\n", - "cpdb.set_index(\"interaction\", inplace=True)\n", - "\n", - "cpdb = pd.read_csv ('CPDB/CPDB_results.csv', index_col=None)\n", - "cpdb = cpdb.fillna(0)\n", - "cpdb.set_index(\"interaction\", inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "3312b761", - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the NicheNet results CSV file and set the interaction column as the index.\n", - "# Any missing values (NaNs) in the dataframe are filled with zeros.\n", - "# These missing values are due to merged samples.\n", - "nnet = pd.read_csv(\"NicheNet/NicheNet_results.csv\")\n", - "nnet = nnet.fillna(0)\n", - "nnet.set_index(\"interaction\", inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "97dc48fd", - "metadata": {}, - "outputs": [], - "source": [ - "community = pd.read_csv(\"community/community_results.csv\")\n", - "community.rename(columns={\"Unnamed: 0\": \"interaction\"}, inplace=True)\n", - "community.set_index(\"interaction\", inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "98674eed", - "metadata": {}, - "outputs": [], - "source": [ - "# Create a list of column names in the dataframe that contain the string \"healthy\"\n", - "healthy = [col for col in community.columns if 'healthy' in col]\n", - "\n", - "# Create a list of column names in the dataframe that contain the string \"AML\"\n", - "AML = [col for col in community.columns if 'AML' in col]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "56c7ba4b", - "metadata": {}, - "outputs": [], - "source": [ - "# drop the raw if all the values are zero\n", - "def drop_zeros(df):\n", - " return df.loc[~(df==0).all(axis=1)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e40aaa19", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "47884fba", - "metadata": {}, - "outputs": [], - "source": [ - "# Create two new dataframes by separating the `community` dataframe into case and control groups based on column names.\n", - "# `community_control` contains only the columns from `community` that contain the string \"healthy\",\n", - "# while `community_case` contains only the columns from `community` that contain the string \"AML\".\n", - "\n", - "community_control=community[healthy]\n", - "community_control=drop_zeros(community_control)\n", - "community_case=community[AML]\n", - "community_case=drop_zeros(community_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "4173123a", - "metadata": {}, - "outputs": [], - "source": [ - "# same step for NicheNet\n", - "nnet_control=nnet[healthy]\n", - "nnet_control=drop_zeros(nnet_control)\n", - "nnet_case=nnet[AML]\n", - "nnet_case=drop_zeros(nnet_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "eb6857cc", - "metadata": {}, - "outputs": [], - "source": [ - "# same step for CellPhoneDB\n", - "cpdb_control=cpdb[healthy]\n", - "cpdb_control=drop_zeros(cpdb_control)\n", - "cpdb_case=cpdb[AML]\n", - "cpdb_case=drop_zeros(cpdb_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "e2d97e67", - "metadata": {}, - "outputs": [], - "source": [ - "# get the list of interaction in the control group for CellPhoneDB\n", - "cpdb_control_interactions = cpdb_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "3a219742", - "metadata": {}, - "outputs": [], - "source": [ - "# get the list of interaction in the control group for NicheNet\n", - "nnet_control_interactions = nnet_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "cdf4de49", - "metadata": {}, - "outputs": [], - "source": [ - "community_control_interactions = community_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "d134efd7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plot the interactions in the control samples\n", - "venn3([set(community_control_interactions),set(nnet_control_interactions), set(cpdb_control_interactions)], (\"community\",'NicheNet', 'CPDB'))" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "id": "f3b54d2d", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_interactions = cpdb_case.index.values.tolist()\n", - "nnet_case_interactions = nnet_case.index.values.tolist()\n", - "community_case_interactions = community_case.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "id": "0c2a5f3f", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plot the interactions in the case samples\n", - "\n", - "venn3([set(community_case_interactions),set(nnet_case_interactions), set(cpdb_case_interactions)], (\"community\",'NicheNet', 'CPDB'))\n", - "plt.savefig('compare_case_interactions.png')" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "id": "75005ec9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(community_case_interactions),set(nnet_case_interactions), set(cpdb_case_interactions)], (\"community\",'NicheNet', 'CPDB'))" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "1048619e", - "metadata": {}, - "outputs": [], - "source": [ - "# just wanna get a quick glance at interactions that are in CPDB but not in community\n", - "not_in_commu=list(set(cpdb_case_interactions) - set(community_case_interactions))" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "68505527", - "metadata": { - "scrolled": true - }, - "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", - "
AML-0024AML-0160AML-0693AML-1371AML-2123AML-3133AML-4340
interaction
B:GNAS_B:ADRB20.4380.00.3690.4880.0000.0000.518
B:GNAS_Ery:ADRB20.4460.00.0000.0000.5240.0000.000
DC:GNAS_B:ADRB20.5220.00.4980.5170.0000.0000.605
DC:GNAS_Ery:ADRB20.5290.00.0000.0000.0000.0000.000
Ery:GNAS_B:ADRB20.3600.00.3160.3240.0000.0000.000
........................
Gran:COL4A5_NK:DDR20.0000.00.0000.0070.0000.0000.000
HSPC:COL4A5_NK:DDR20.0000.00.0000.0240.0000.0000.035
Gran:COL4A5_NK:CD470.0000.00.0000.2590.0000.0000.000
Mono:COL4A5_NK:CD470.0000.00.0000.0000.0000.1060.000
T:COL4A5_NK:CD470.0000.00.0000.0000.0000.1030.000
\n", - "

87205 rows × 7 columns

\n", - "
" - ], - "text/plain": [ - " AML-0024 AML-0160 AML-0693 AML-1371 AML-2123 \\\n", - "interaction \n", - "B:GNAS_B:ADRB2 0.438 0.0 0.369 0.488 0.000 \n", - "B:GNAS_Ery:ADRB2 0.446 0.0 0.000 0.000 0.524 \n", - "DC:GNAS_B:ADRB2 0.522 0.0 0.498 0.517 0.000 \n", - "DC:GNAS_Ery:ADRB2 0.529 0.0 0.000 0.000 0.000 \n", - "Ery:GNAS_B:ADRB2 0.360 0.0 0.316 0.324 0.000 \n", - "... ... ... ... ... ... \n", - "Gran:COL4A5_NK:DDR2 0.000 0.0 0.000 0.007 0.000 \n", - "HSPC:COL4A5_NK:DDR2 0.000 0.0 0.000 0.024 0.000 \n", - "Gran:COL4A5_NK:CD47 0.000 0.0 0.000 0.259 0.000 \n", - "Mono:COL4A5_NK:CD47 0.000 0.0 0.000 0.000 0.000 \n", - "T:COL4A5_NK:CD47 0.000 0.0 0.000 0.000 0.000 \n", - "\n", - " AML-3133 AML-4340 \n", - "interaction \n", - "B:GNAS_B:ADRB2 0.000 0.518 \n", - "B:GNAS_Ery:ADRB2 0.000 0.000 \n", - "DC:GNAS_B:ADRB2 0.000 0.605 \n", - "DC:GNAS_Ery:ADRB2 0.000 0.000 \n", - "Ery:GNAS_B:ADRB2 0.000 0.000 \n", - "... ... ... \n", - "Gran:COL4A5_NK:DDR2 0.000 0.000 \n", - "HSPC:COL4A5_NK:DDR2 0.000 0.035 \n", - "Gran:COL4A5_NK:CD47 0.000 0.000 \n", - "Mono:COL4A5_NK:CD47 0.106 0.000 \n", - "T:COL4A5_NK:CD47 0.103 0.000 \n", - "\n", - "[87205 rows x 7 columns]" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cpdb_case[cpdb_case.index.isin(not_in_commu)]" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "33a5c85e", - "metadata": {}, - "outputs": [], - "source": [ - "# Below function \n", - "# Standardizes the values in the dataframe by subtracting the mean and dividing by the standard deviation.\n", - "# Calculates the mean value of each row and adds it as a new column to the dataframe.\n", - "# Calculates the overall mean value of the mean column.\n", - "# Returns a new dataframe that includes only rows with mean values greater than the overall mean value.\n", - "\n", - "def drop_low(df):\n", - " # Standardize the values in the dataframe by subtracting the mean and dividing by the standard deviation\n", - " df = (df - df.mean()) / df.std()\n", - " \n", - " # Calculate the mean value of each row and add it as a new column to the dataframe\n", - " df['mean'] = df.mean(axis=1)\n", - " \n", - " # Calculate the overall mean value of the mean column\n", - " mean_value = df['mean'].mean()\n", - " \n", - " # Return a new dataframe that includes only rows with mean values greater than the overall mean value\n", - " return df[df['mean'] > mean_value]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "46be7509", - "metadata": {}, - "outputs": [], - "source": [ - "# apply the function above\n", - "cpdb_case_norm=drop_low(cpdb_case)\n", - "nnet_case_norm=drop_low(nnet_case)\n", - "community_case_norm=drop_low(community_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "id": "51f5688b", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_interactions = cpdb_case_norm.index.values.tolist()\n", - "nnet_case_interactions = nnet_case_norm.index.values.tolist()\n", - "community_case_interactions = community_case_norm.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "id": "d2e0a75e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(community_case_interactions),set(nnet_case_interactions), set(cpdb_case_interactions)], (\"community\",'NicheNet', 'CPDB'))\n", - "plt.savefig('compare_case_interactions_norm.png')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "cc36754d", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_norm=cpdb_case_norm.drop(\"mean\", axis=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "82ced0b8", - "metadata": {}, - "outputs": [], - "source": [ - "# Each column contains a list of two values: the number of interactions in the case group and the control group\n", - "\n", - "\n", - "plotdata = pd.DataFrame({\n", - "\n", - " \"community\":[len(community_case),len(community_control)],\n", - "\n", - " \"NicheNet\":[len(nnet_case),len(nnet_control)],\n", - "\n", - " \"CPDB\":[len(cpdb_case),len(cpdb_control)]},\n", - "\n", - " index=[\"case\", \"control\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "2e52eaf4", - "metadata": {}, - "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", - "
communityNicheNetCPDB
case16381882798100
control14386603198602
\n", - "
" - ], - "text/plain": [ - " community NicheNet CPDB\n", - "case 16381 8827 98100\n", - "control 14386 6031 98602" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "plotdata" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "e0482a3e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, '# of interactions')" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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9D6Xf+UFAF4oI44AAAD0MuIIAACMPye+ZCUf79Hl7lJV+au/+qtFTyM99dRT8/jjj+fEE0/MF7/4xayzzjo55JBDltr3iiuuyKmnnprvfOc7Iy5p9uzZufTSS3P77bdnypQpeeCBBzJr1qzccccdy+zzyCOP5Otf/3r+4i/+YsTnWRmMOAIAACSZMmVKvvGNb+SBBx54zrajjjpqmaFxRUyaNClf/epXR7z/I488kjPOOGOl17E8giMAAECSyZMn58gjj8xpp532nG0nnnhiTj311CTJ3Llz84Y3vCE777xzdtttt9x2221JkscffzwHHnhgXvGKV+Tggw/OwlcfzpkzJ3vttVd23333vOlNb8q999676LjHHXdcTjvttCxYsOA55zzllFPyB3/wB9lpp53yyU9+Mkly/PHH57bbbssuu+ySD33oQyv9O1gWwREAAKBz9NFH57zzzsujjy57auvBBx+co48+Otdff31+9KMfZZNNNkmSXHvttfnsZz+bm2++Obfffnv+7d/+LU8//XSOOeaYXHTRRZkzZ04OP/zwnHDCCYuOtcUWW+Q1r3lNzj333MXOcckll+TWW2/N1Vdfneuuuy5z5szJlVdemZNPPjlbb711rrvuupxyyimj8yUshXscAQAAOuutt14OOeSQnH766Vl77bWfs/2xxx7LPffck7e97W1JkqlTpy7a9spXvjLTp09Pkuyyyy654447sv766+fGG2/MH/3RHyVJnnnmmUVBc6GPfexj+eM//uO85S1vWdR2ySWX5JJLLsmuu+6aZGg089Zbb80WW2yxci94hARHAACAYY477rjstttuOeyww56zbeH006WZMmXKouVJkyZlwYIFaa1l5syZueqqq5bZ7+Uvf3l22WWXXHjhhYud56Mf/Wje+973LrZv34NzRpOpqgAAAMNsuOGGeec735mvfOUrz9m23nrrZfr06fnWt76VJHnqqafym9/8ZpnH2nbbbTN//vxFwfHpp5/OTTfd9Jz9TjjhhEX3UCbJm970pnz1q1/N448/niS55557cv/992fdddfNY489tiKX94IYcQQAAMafEbw+YzR98IMfzN/93d8tddu5556b9773vfnEJz6RNddcM//wD/+wzOOstdZaueiii3Lsscfm0UcfzYIFC3Lcccdl5syZi+03c+bM7LbbbvnpT3+aJHnjG9+YW265Ja961auSJC9+8Yvzta99LVtvvXX23HPP7LDDDtlvv/3G7D7H6htqXZ3MmjWrXXPNNYMuA1hJdjx7x0GXMO7ccOgNgy4BYLXh99DS9f0uuuWWW7LddtuNYTWrt6V931U1p7U2a2n7m6oKAABAL8ERAACAXoIjAAAAvQRHAAAAegmOAAAA9BIcAQAA6OU9jgAAwLizsl9pMtLXUv3qV7/Kcccdl5/85CeZMmVKZsyYkc9+9rPZeeeds+222+Z3v/tdXvva1+aMM87IXXfdle222y6veMUr8uSTT2bdddfN0UcfnUMPPTRJctZZZ+VDH/pQNttsszz99NPZbrvtcs4552SdddZZqdc2Fow4AgAAJGmt5W1ve1v23nvv3Hbbbbn55pvzt3/7t7nvvvuy9dZb57rrrsvPfvaz3HzzzfnWt76VJNl6661z7bXX5pZbbsn555+f0047LWeeeeaiY77rXe/Kddddl5tuuilrrbVWLrjgggFd3YoRHAEAAJJ8//vfz5prrpmjjjpqUdsuu+ySzTfffNH65MmT8+pXvzpz5859Tv+tttoqn/nMZ3L66ac/Z9uCBQvyxBNPZIMNNhid4keZ4AgAAJDkxhtvzO677967z29+85tcdtll2XHHpU+l3W233fLv//7vi9YvuOCC7LLLLtlss83y0EMP5YADDlipNY8VwREAAGA5brvttuyyyy7Zc88985a3vCX77bffUvdrrS22vnCq6q9+9avsuOOOOeWUU8ai3JVOcAQAAEgyc+bMzJkzZ6nbFt7jeO211+bEE09c5jGuvfbabLfdds9pr6occMABufLKK1dWuWNKcAQAAEjy+te/Pk899VS+/OUvL2r7yU9+kjvvvHNE/e+444789V//dY455pilbv/hD3+YrbfeeqXUOta8jgMAABh3Rvr6jJWpqvLNb34zxx13XE4++eRMnTp10es4luW2227Lrrvuuuh1HMccc0wOO+ywRdsvuOCC/PCHP8yzzz6b6dOn56yzzhr9CxkFgiMAAEBn0003zYUXXvic9htvvPE5bTNmzMhvf/vbZR5r9uzZmT179sosb2BMVQUAAKCX4AgAAEAvwREAABgXlnyVBaPjhXzPgiMAADBwU6dOzYMPPig8jrLWWh588MFMnTr1efXzcBwAAGDgpk+fnnnz5mX+/PmDLmXCmzp1aqZP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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plotdata.plot(kind=\"bar\",figsize=(15, 8))\n", - "\n", - "plt.title(\"comparing raw results\")\n", - "\n", - "plt.xlabel(\"tools\")\n", - "\n", - "plt.ylabel(\"# of interactions\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "aa73e6e5", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/src/method_comparison/compare_algorithms/compare_results/barplot_raw_interactions.jpeg b/src/method_comparison/compare_algorithms/compare_results/barplot_raw_interactions.jpeg deleted file mode 100644 index 1101c0331b19f71669e681ccd133a97f588d627b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25912 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 3653\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcasted_key\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3654\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib/python3.10/site-packages/pandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32m~/.local/lib/python3.10/site-packages/pandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", - "\u001b[0;31mKeyError\u001b[0m: 'sign'", - "\nThe above exception was the direct cause of the following exception:\n", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/tmp/ipykernel_8231/2358481098.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msignificant_lower_threshold\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcommunity_anno_lower_threshold\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcommunity_anno_lower_threshold\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"sign\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mcommunity_significant_lower_threshold\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcommunity\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcommunity\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msignificant_lower_threshold\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"interaction_ID\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib/python3.10/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3759\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3760\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3761\u001b[0;31m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3762\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3763\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib/python3.10/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3653\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcasted_key\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3654\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3655\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3656\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3657\u001b[0m \u001b[0;31m# If we have a listlike key, _check_indexing_error will raise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyError\u001b[0m: 'sign'" - ] - } - ], - "source": [ - "significant_lower_threshold = community_anno_lower_threshold[community_anno_lower_threshold[\"sign\"]==True]\n", - "community_significant_lower_threshold=community[community.index.isin(significant_lower_threshold[\"interaction_ID\"])]" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "5a2c2033", - "metadata": {}, - "outputs": [], - "source": [ - "def index_to_list(df):\n", - " return df.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "17958f87", - "metadata": {}, - "outputs": [], - "source": [ - "# below functions gets the number of non zero interactions in case/control. \n", - "# the input is weight matrix and anno_interactions\n", - "def get_nr_samples(df, anno_df):\n", - " mask_healthy = df.loc[:, control] != 0\n", - " row_sums_healthy = np.sum(mask_healthy, axis=1)\n", - " anno_df['nr_nonZero_controls'] = row_sums_healthy.values\n", - " \n", - " mask_case = df.loc[:, case] != 0\n", - " row_sums_case = np.sum(mask_case, axis=1)\n", - " anno_df['nr_nonZero_case'] = row_sums_case.values\n", - " return anno_df" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "33dfea55", - "metadata": {}, - "outputs": [], - "source": [ - "def plot_density(df_anno,title):\n", - " # plot scatter plot\n", - " sns.scatterplot(x=df_anno['nr_nonZero_controls'], y=df_anno['nr_nonZero_case'], s=20, alpha=0.5)\n", - "\n", - " # add 2D density plot\n", - " sns.kdeplot(x=df_anno['nr_nonZero_controls'], y=df_anno['nr_nonZero_case'], \n", - " cmap=\"Blues\", shade=True, alpha=0.7)\n", - "\n", - " # set labels\n", - " plt.xlabel('number of control samples')\n", - " plt.ylabel('number of case samples')\n", - " plt.title(title)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "4b7ee06b", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(index_to_list(community)), set(index_to_list(nnet)), set(index_to_list(cpdb))], (\"community\", 'NicheNet', 'CPDB'))\n", - "plt.title(\"community: raw interactions\")\n", - "plt.savefig('venn_raw_interactions.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "e751e032", - "metadata": {}, - "outputs": [], - "source": [ - "community_anno_raw = get_nr_samples(community, community_anno)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "d5ffbfe5", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_8231/2058819949.py:6: FutureWarning: \n", - "\n", - "`shade` is now deprecated in favor of `fill`; setting `fill=True`.\n", - "This will become an error in seaborn v0.14.0; please update your code.\n", - "\n", - " sns.kdeplot(x=df_anno['nr_nonZero_controls'], y=df_anno['nr_nonZero_case'],\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plot_density(community_anno_raw, \"community: raw interactions\")\n", - "plt.savefig('density_community_raw.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "5d09f2dc", - "metadata": {}, - "outputs": [], - "source": [ - "nnet_anno = get_nr_samples(nnet, nnet_anno)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "54e791ab", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_8231/2058819949.py:6: FutureWarning: \n", - "\n", - "`shade` is now deprecated in favor of `fill`; setting `fill=True`.\n", - "This will become an error in seaborn v0.14.0; please update your code.\n", - "\n", - " sns.kdeplot(x=df_anno['nr_nonZero_controls'], y=df_anno['nr_nonZero_case'],\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plot_density(nnet_anno, \"NicheNet\")\n", - "plt.savefig('density_NicheNet.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "5efbca5f", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_anno = get_nr_samples(cpdb, cpdb_anno)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "553318cf", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_8231/2058819949.py:6: FutureWarning: \n", - "\n", - "`shade` is now deprecated in favor of `fill`; setting `fill=True`.\n", - "This will become an error in seaborn v0.14.0; please update your code.\n", - "\n", - " sns.kdeplot(x=df_anno['nr_nonZero_controls'], y=df_anno['nr_nonZero_case'],\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plot_density(cpdb_anno, \"CellPhoneDB\")\n", - "plt.savefig('density_CellPhoneDB.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "11850fb7", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAARsAAAD3CAYAAAAt3PBsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAAsTAAALEwEAmpwYAAA2sklEQVR4nO2dd3xbZ73/319JluQV27FjJ86ezWhWV5rOtKUDSm+h0JbCbSnrMi7rAmWGuoE2QLmUwgUucFkd/KAtlNKWLgp0zyRNs0cznB3b8baWJT2/P57jRHFsy0PSOZKe9+ully2d9dU5R5/zfb7P83y/opTCYDAY0o3LbgMMBkN+YMTGYDBkBCM2BoMhIxixMRgMGcGIjcFgyAhGbAwGQ0YwYpMBROQDIvKU3XaMBBF5RkQ+audxU3keReRcEdmain1lmmy9n4zYZACl1O+VUpf0vBcRJSIz7LQpG0nleVRKPa+UOmkw64rIMhHZN5zjjBQRmWJ9T0/PZ73PQ7ZgxMZgSDOJQpHPOFJsRGSiiDwoIo0ickREfmJ97hKR5SJSLyINInK3iJRZy3qeAB8Skb0i0iIinxCR00VknYi09uzHWv9GEXlRRH5oLdspImdZn++19v/BhPWPa0ZY672Q8F5Zx9tu7e+nIiK91xWR56xN3hSRThG5VkQ2iMgVCfsqEJEmEVk8iHN1g3U+jojIN0Vkt4i8zVrmE5E7ReSA9bpTRHwJ235MRN4SkWYReVhEahOWXSwiW0SkzTpvMoANhSLyO+ucbxKRmxI9gd4eiLXurdb/FSLyqHWtW6z/J/RznJSdx97einXevmTdK20icp+I+EWkGHgcqLWO0ykitda9+FUR2WGd+/tFZLS1r5578SMisgf4p/X5AyJyyNr/cyIyr9c5/IF1LdtE5AURKQR6vmerdeylfdx7Z4nI69Z2r4vIWQnLnhGRb4u+1ztE5CkRqbKW+UXkXsv+Vmvbmv6u80hxnNiIiBt4FKgHpgDjgT9ai2+0XhcA04AS4Ce9drEEmAlcC9wJfAN4GzAPuEZEzu+17jqgEvh/1nFOB2YA/w78RERKhmD+O63tFwDXAJf2XkEpdZ7170KlVIlS6j7gbut4PbwDOKiUesP68X21r4OJyFzgZ8AHgHFAGfp89fAN4ExgEbAQOANYbm17IfAdy85x6PP9R2tZFfCgtW4VsAM4e4DvXQdMt16XAh8cYN3euIDfApOBSUCQE6/pCQz1PA7SlmuAy4Cp6Gt4o1KqC3g7cMA6TolS6gDwGeBdwPlALdAC/LTX/s4H5nDsPngcfW9WA2uA3yes+9/AqcBZwGjgy0Ac6Pme5daxX048gCVwfwN+jL6P7wD+JiKVCau9H/iQdVwv8CXr8w+i75mJ1rafQJ//9KCUctQLWAo0Ap4+lv0D+FTC+5OAbsCDFiYFjE9YfgS4NuH9n4HPW//fCGxPWDbf2r6m1/aLrP+fAT6asOxG4IWE9wo4J+H9/cBXB1h3RsL7WqADGGW9/xPw5UGcq5uBPyS8LwIiwNus9zuAdyQsvxTYbf3/a+D2hGUl1rmcAtwAvJKwTIB9id+/lx07gcsS3v8HsG+A7/s74NZ+9rUIaEl4f/S8p/I8Ast62bgb+PeE97cDP+9rXeuzzcBFCe/HceK9OG2Aa1durVOGFtwgWjh7r9ezL0/CZ0fPA3A98FqvbV5GC2XP+VuesOxTwBPW/x8GXgIWpOO33PvlOM8GrbL1SqloH8tq0U/gHurRFzfR9Tuc8H+wj/clA6yLUmqg9ZNxKOH/wGC3VfpJ+SLwHhEpRz9Jfz/gRppaYG/CfgJogUxc3vt81fa1TCnVaW07vo/9qsT3yezodcwBEZEiEfmF1XxoRzcbyi0Pd0iM4Dz2MJTrNxn4i9X8aEWLT4zj78Wj50RE3CLyXavZ1Y4WN9CeYxXgRz8chkrva4z1PtHD7e973QM8CfzRambfLiIFw7BhUDhRbPYCk6TvoNoB9EXuYRIQ5XjRSBddaM+hh7Ep3v9d6CbA1cDLSqn9g9jmIHA0vmG18RPd577O14G+llmxiUpgv7XfiQnLJPF9P3YkLp/Ua3mA/s/dF9Ee6hKl1CiONRv6jRElYTjnMRl9pUbYC7xdKVWe8PL3Ol7idu8HrkQ36cvQHgvo79kEhNDN0MEcO5He1xj0+U/6vZVS3UqpFUqpuejm2zvRXm1acKLYvIa+eb8rIsVWEKsnXvAH4L9EZKoVS1kJ3NePF5Rq1gJXWU/iGcBHRrCvw+iYUyIPAacAn0PHHgbDn4ArrAChF7iF43+kfwCWi8gYKw5zM3BvwrIPicgi0UHjlcCrSqnd6BjAPBG5yhL9zzKwuN4PfM0K9k5AxzMSWQu833q6X4aOZfRQivYgW634Q90gvzuk7jwO5jiVYnVGWPwcuE1EJgNY5/jKAfZRCoTR3mMR+nwDoJSKA78B7rCCz24rEOxDhxTinPg9e3gMmCUi7xcRj4hcC8xFxz0HREQuEJH5lhfZjm4GxpNtN1wcJzZKqRhwBTpIuwcdK7jWWvwbtOv3HLAL/TTofWOnix+i4yGH0U/PobjnvbkFuMtywa8BUEoF0TGlqejgLAAi8riIfL2vnSilNqK//x/RAt0JNKBvaoBbgVXoIPh6dFDyVmvbp4FvWsc8iH6qvs9a1oT2DL6L/nHMRDdP+mMF2nXfBTyFvkaJfA59TVvRweyHEpbdCRSin+6vAE8McJze3MIgz+NIUEptQYvzTutYtcCPgIeBp0Skw7J9yQC7uRt9jvYDm6z1E/kS+hq9DjQD3wNcVtP4NuBF69hn9rLtCNoj+SL6Wn0ZeKd1DZMxFv3Aakc3A5/lxGuXMsQKFBkcgIjcDMxSSv170pX73r4E/YOeqZTalUrbhmjHMuBepVSfXdgZOP6IzqMhPTjOs8lXrCbER4BfDnG7K6ymXTG6+3Q9x4KPecdwz6Mh/RixcQAi8jF0wPFxpdRzydbvxZXoIOEBdHPnfSpP3dURnkdDmjHNKIPBkBGMZ2MwGDKCERuDwZARjNgYDIaMYMTGYDBkBCM2BoMhIxixMRgMGcGIjcFgyAhGbAwGQ0YwYmMwGDKCERuDwZARjNgYDA7DSmzeX/6annVOKPHidIzYGAwZRnQlhwZrpn7PZx8VkWcAlE5svjONx+8Rqsd6fX6viNwyyH0creIxWIzYGAz24EYnFbOTJYllX9JN3omNZGnpUkPO8X3gS1Zi9uOQhDpb0n89qR4+ICJ7RNfH+kbCPvqta5XA7egsgH0iIu8UkbVWhsCXRGSB9fk96DzHj1hNvi8P5gvnndgoUwrX4AxWocusfCnJev3Vk+rhHHTC+IuAm0VkjvX5YOpa/Qydv/iE5pDown6/AT6OToT/C+BhEfEppa5Hp+y9wmry3T6I75t/YmMwOIibgc+IyJi+FoqIC13b6XNKqf1KqZhS6iWlVDhhtRVKqaBS6k3gTXQxQtAF576hlNpnrX8L8N5eAeUg2rO5tY/D/wfwC6XUq9Zx70Lntj6zj3UHxaDERvoohyumFK7BMCKUUhvQVRD6rHjK4OpJ9VcTajB1rQB+BdQk3vMJ23+xZ3trHxM5VndsyCQVG+m/HO6N5Fkp3CEc22AYLHXAxzi+qFwPA9WTSsZg6lqhlIqgq2N8m+PLAO0Fbuu1fZFS6g89mw7VoMH00Z+BVrObEuozvSAiK4A7erroRORrwAYR+VDCtt9WSoXQ5S660KViG6z1nwcWo8tHAOxSSv3WWnYfWpi+ZbmAT4lIBC08awf53b6rlGpF1yP6F7qs62DKhNwLfFNERiml2tHlTdNW3sIwPGSFuNB1q3tebuvlsl5x9A81DIRVnYrYZOqAKKXesu73z6KT1Scui4tITz2p69FlhM5Al+RJRk9dqw8qpeqtptpZSqm/9rHuPWjv6jJgu/XZ/6E9o6fRtdyK0GWIn1NKddB3za4BGYzY9FcON2dL4YpITwnXv6BLuNrdRZmXyAopQNfEruj1twgYUplYWSFxtPCEEv72lBw+AjSrOpW2Am1J+Bb6odYXXwK+g64nVYKOy5zgpffBj9CeylOi61w1APcBJ4iNUiomuvzNfQmfrRKdQP4n6NZJEHgBXbMNy6b/EZHb0XXb/zuZQYMRm6PlcHsJzkClcNNdLygTpXA/ij4/qSrhahgAWSGF6PumimOiMpSHSzJc6GJ4hf0sj8sKaUYLT5P1OqLqUl9tVSk1pdf7vejYTM97Sfg/CHzeeiWym14lipVSyxL+jwN3WK/ex+9r2/vRlU0TP3uCfloDlofUl5fUL4MRm8RyuHXoINOp6AqBXxGRx9ElQo+WwrViselkLboU7q/QHtZHGH697x538K2Ezx5CdwvWoMciGFKMrBABqtGe80Sgzx6ZDOJCC10VuisZQMkKOYL+Ye9SdarFJttygqRiY7lYVwA/RvetK3QA9/PoH/pzaFV+ksyWwj0dLRTr0KVwhzR0OoFb0CVcC4H/UErdr5QKisifgetIUQnXYaMD9CXWqxh9zdwJL9DXRKHjFEF0s1H/1U9GR2B5Lz3iMgHw2WtRUoRjAnSarJA2jglPg52GZSOmblQ/SCZLuGpXsBL9pC/jmLiU0L/bP1h6AqUBdIyiCe2JNqKD92nFCuRORvdADrvb1IF0cay++QFVZ35IyTBi0wfWsO43gOvTUllRxIduovW8qhlckzbVdNIjPPrVgFLdqdixrJAiYDYwB+2R5TKdwEZgi6o7bsCdIQEjNr2wIvB3AvcopT6Rwh1Xo8dLTEQHP51IDNiPflrXD8fzkRUyDu3FTCH/RqhH0bG/9Sa+cyJGbNKJSBU6+DwdKLXZmqGi0MMHdgG7UaqzvxWtptIs4GT0/B2Dju28oepUo92GOAUjNqlGz+KdgRaYMnuNSSmNwBZgOwlDIGSFTEcH60fZZZjD2Q+sVnXqUNI1cxwjNqlCZCIwn/SPMbKbCLDt+us5cO90TkH31BiS8xbwiqpTAbsNsQsjNiNBz8qdiZ5pW26vMZmhq4TuN5cQa6rGt6GQ0L1VuDYXOb4L2ylEgNXAhnzsvTJiMxz02JeT0POtUjnK1bFE3cS3LCJYP4NC5To+8LvLR/iuKtTqkmOjYA0D0gy8kG9NKyM2Q0Un2lpC7nfnHqV1NOFV5yKhIrwDrbe+kOCPxuI57B3avKU8ZhvwqqpzzsDLdGLEZrCIVKCzoo2z25RMoUBtWUhgx2yKcDGoOShRiD9eTuiuMfjDrrzr+h4OEeAlVae22W1IujFikwyRAvRcsJPJo3EjXcV0rzqPWEf58JpGHS6iv64m8o+y4ybMGvpnC/CiqlMxuw1JF0ZsBkI3mc6E/PrB7J5JcNNifHH3yMV1p4/Qj8ciO/wmiDwImoC/qzrVYbch6cCITV/oSZkXkPvd2McRF9Sqcwk2jE+tuMZAPVBJ4PdV+RPnGgFh4F+qTu2x25BUY8SmNzrR0IXkmTcT9hF75UK6h9tsGgyb/ARvG4+33XN0trqhf9agBwPmzA/UiE0Peub1YnR8Ju0JeZxEZymRly9CwoXp70Vqc9P9nVpiG4tMN/kg2Af8U9Wlf3Z+JjBiAyDiR3szedVsAmisIbTqPApiGfQ2TLNqSLQDj6g61WW3ISPFiI3IWHSBr7y78eunE1h/GoWD7dZONaZZNWjagUdVXf+TYbOB/BYb3du0jDzq0u5h+1wCWxfaH5dqcdN90yQwAwGT0on2cLK2pyrvfmRHEZmL7nHKu3Owa5YzhAagIkbBnfXIxDCOLLXiIEqAK2SFZO3s+rz7oQEgsgg9GjivAsGgm04bTxlxqtGUUhLH89/1uGcGMVnuBqYE+DdZIVmZuiT/xEbkDHShr7xj3xQC60+nEHGeyBYp3N/Zi2degJzoeUkjRWgPp9xuQ4ZK/sRsdNf2OeicuHnHwQkEV5+N365g8GDphvht44mYGeRJCQIPqzrVZrchgyWfPJtl5KnQNI4ltOZsfE4XGoACcC3fj/fcdvJiJvQIKAQukxWSNdNA8kNsRJaik1zlHYEiuledQ0HvHDROxgOuLx7Ef2qnaVIloQy42MoB7XiywsgRIbIAna4z74i5iL9yIfFYQfaNY3GDfO0ABVNDppcqCbXA2XYbMRhyW2xEpqNnbecla84mFCjN3tnWPoX72/uQ0VFSXm87x5gjK8TxIYLcFRuRMeg4TV6yYzaBwxOcMZZmJJTFKPjOHmK+OHG7bXE4Z8kKcXTy+dwUG5Fi4FLIvuZDKjgyhtDmhc4aSzMSarvxffmAid8kwY2O3zjWk809sdEVDy4hz1JE9BD2EXv9PDzZ0PM0FM7oouh9TeRtGZRBUooeFe9Ick9s4DRgjN1G2MXapYSjXlvqhqed645QuLjLeDhJmCQrZJbdRvRFbomNnsG90G4z7OLgBIKN43LXo3OBfPEgbr+J3yTjTFkhjhsUmTtioxOTLyMP5zsBRD3E152R+zOny2IUfPqQ8W6S4MeBvbC5IzawlDyuN73udELdvtxsPvXm/A6KTHMqKbNkhdTabUQiuSE2IpOB2XabYRdN1YQOTMnd5lNf/NdB3KY7PCnnygpxTI9s9ouNTul5nt1m2EXMRXzt0hy4jkOkIkbBxw+b+VNJKEPn1XYEuXCTngG5M6ZkqLw1l2Cysri5ykXtFJmUFElZ5JR0FNktNrok7kl2m2EXUQ/xnbPzNxWDC+RLB3EVmObUQLjQqVVsJ7vFBpaQp71PANvnEczGSZappCqK910txrtJQq2skLF2G5G9YiMyDphktxl20V1AbPes/PVqErmqGa/xbpKyyG4DsldsHDiOIJNsnU8ok7WenExJHI/xbpIySVZIpZ0GZKfY6NQReTslIeIltme68WoSuaoZr+kKT8oiOw+efWKjJ1qebrcZdrJ1AaG48WqOoySO513Npis8CdPsrMyQfWID08jjkcJRN/G9U41X0xfvbsFnvJsBEWycO5iNYjPPbgPsZP8U49X0R3Ecz1XGu0nGLFkhtpSazi6xEakEauw2w052z8qya5ZhrmzB51bkSX2iYeECFth14Gwir72ajlFEOspNE2ogiuN4zuowPVNJmCkrJOPj07JHbES8wAy7zbCTnbPpttuGbODtrXZb4Hj8wPhMHzR7xAZmQX6kUOiLuKAOTDJezWCYG8Q/KkrMbjsczrRMHzCbxGau3QbYyYHJZmrCYHGDXNxG2G47HM7UTBe3yw6x0ek+y+02w072TMvfOWDD4aL2/PWCB4mPDDelskNsYKrdBthJzEW8pSp7i83ZwcQI3olhU00zCdMzebBsEZspdhtgJw21hJU7a66VY7i81VTSTMKUTDalnH8D67E1pXabYScHJplxI8PhnI7cTwA/QrzAhEwdzPlik8dpJHo4UmN+NMOhLEaBaUolJWO9UtkgNhPtNsBOukrojviN2AyX07pMUyoJ4zJ1IGeLjR7IV223GXZyaIIZyDcSTu0yvXhJKJUVkpHKHM4WG6jF+TamlcaMPXdyk5OCeMXMlUpGRlKGOv2HnNdeDUBHmWlCjQS/wj0pYrzDJBixAWxNY2g3UTfxsN8MThspCwImbpOEjGS9NGLjYNor6EZMzGGkzA/YbYHjqczELHDnio2udJlXJWV701ppss6lgpkh4x0mwYOunplWnCs2ee7VALSNNoHNVFARpcAEiZNSle4D5I3YhECqYflM+HTi52fDtQXw4573LeA5GT5WDrfWwleftuzYCMWT4QsF8OOz4LpU2tYf7eWOvj5ZgxukKmriNkkYne4DOPlmTqnYXA8XjYWDiZ/9CiZ3wXH5WD8DZxdDoBWWXw1Pfx6uAqiA7i/Aw9fBn1Jp10B0lZieqFRRGzH5bZKQ9rzETm7Lpkxpn4fy12H+J+GxX8HFoD2db8N77odfn5NQT+clWPRFeATgO7CmEq6LAbUQ+Ry89R8ZityHfcRMYvPUMbab+JuZPuhKVuIhBCiEGDexknu5gnrOoYBOAE7nL1zAhqPb7GY0d3MLJ/EI1/J3AI5QyB+4gU5qEeAC7uIMdqbY2sIU7+8EnCw2KQsOfxyu/Sb8uZljme5uhAuWwJtLoC1x3XYoXwDNlgFxHwQ3Qcl8rJsjQ0R8xMCITaqojdgUs/kgd1DT696ZwdNHhaQ3j3I1lQniA/AA1zKRjVzJLwjhpgtvGixNe2eMk5tRKcnfshzml0HHR2BPz2cvQ9kLcOrv4F+pOEY6CBeagGYqqenOgiEEf2cRJTRRltDcb6aQFmZxBS8A4CdGZVrK1eSpZ6PnRKVECF+BGeth4Sg4OQYFEfBfALe4IToWbgWIgrccbm2F5aOgdR2MPhdaA+AKQ+HcDHs1AGG//d3e7WE8n36Mm2IKj1K4Z1ayesUyHrnxIW6KxrWXGIpSWlXErp+/k//t2e7Jt5j809f56pUn8X8fOYU1AB97hM82BZg2poi3fnkFP8n0d6nutuHBKsDdfA6AmTzHu3gegB1cwO0spYx63sMDVBGgDR/ruJSPciePcMnRfeylkgI6+CU30sEEyqjnOu6jNOWz2f2yQkTVqbQ95JwpNqQusffT8Bf0i+/DrF/CJds5/mYvgB+3wnKApfDm3bD0P2Hn1+CUabDVjrZM2G+/Z1PiJXrHpdxRVUQ42I37449y02Pb2fC7d/H9nnU++Tc+cXI1a3veR2LIfRt5T00JmxL3dcl0ngp1431+D+dl8CscpSpqQ5P0A9zOJFo5SCn38Hle5hAX8gzVPIoAv+dK/szVfJy7eJArmMfTlPXKnRzDTSeTOJ8/cjq7+DXX8hCXcT0Pp9haQXs3aRsC6dRmlG1VBH4EL3RCcTncej9cfAc82LNsFKy8G655HZaWwPceSOP0/JADmlEugaoiffOHorjjCndiW+RwJ/5DnZz03jnHxOaHr3Dh3DGsKSqgI3FfV89lS7HXvnpOJTEbxGYSrQCMo4Na1rKHKdTSgQeFG8U5PE+rlYWyhams4T2sZCW7uIhtvIM/s4waWvDSwunsAmAuq2lJW46ntDalct6zSeQm2HYTbOv9eTd8tuf/KohuhF/2tX07fD0ddvVFxO+MGEMkhnz4ryzvjDBm3hieeftM66YH/rSZReNK2FJTokVkcyPlW5pY/H9X8IMvPuWsVK4uMnw+O/ASQygnTAdeDjOXU3mUfZQxweqUWMUiSjkAwBeOeYvcyxUUEOI9PAOAnxa2UMNsDrODOYw6fghHCjFik4+EHZLe3OtG3XsV3z7QQeHyf/LJ5+qpPW+y/oGsPcQZSydYcQjgf17jmqvn8mePy36vrA8yKzaHGcWDfBIAhZuJvMoyNvK/fJgOKxVnIUd4N/cm3ddF/IFH+AgP46GQRq7jrjRZnZdik46uvWzDEZ5ND7WlBCeXsfXFPcw7bzIHdrdSciTAlPfO5Wc96zQFmPK7tXzsd2shEqNkXzsnu13Eb1x0rJllFxk/mTNo4st8+4TPP8lvkm7773qc11EWso+FrEyZbTbhVLFx4pMxozhhLs+uFkp8HmK1pQTbQhTsamXuRdN4AuDBzZwycRTrRvmOTQO4/+pjzczPPcGNC6pZ5wShAecGJx1GWkdZO1Vs8n5ouSj7PZv6Nsp+tYYPKXAphZxUyarrF7AeYH0Dp19iCc9guPEhbuqIMDYax3f1A3zvPXO4630nH99jlW5EgbL9rDqatA63EJW+bvXhIzIDuNBuM+xk1dkEDk3K7xQbqeZdsyBmxGYgHld1am+6du5U79L2AW1248r7M5AWHPhkdRRpbVE4VWzyPh2Ay/wsUo7LAXEwh5PWR5xTxcbEbIxnk1JioLpdjr3fnUJeejZ5LzbumHkKp5IOt/GWB0FeejZ5f2MUmuJqKaXVbR5ggyAvPZuMz7J2GkWdRmxSSbPHdDoMgq507tyZYqNUiDz3boo6TeKsVNJUYJqlSQiqOpXWYn7OFBtNXns3hQEjNqnkcIHxFJPQlnyVkWHExqF4I7hdMeP6p4oGjxGbJLSn+wBOFptWuw2wG284v5uSqeRwgaPvdSeQ155Nq90G2I0/aHpQUsVhr2mWJsF4NvlMaatpRqWCLhfRZo9jJx07hbz2bJrtNsBuKhtMnCEV1HtJay9LjpDHno3u/m612ww7qWg0ScRSwbZC4yEmIajqVKqrNZyAc8VGk65cq1lBcRceT8QEiUfKpkLH3+d205iJgzj9Ihyw2wC7KW01YjMS4qDeLDIeYhIy8lB3utjktWcDUHHE9EiNhIYCIgG36YlKghEblAqQgSi5k6lscPg1cjgbC41YJyEKNGXiQNlwI+e1dzO6ES9xM69nuKwuNj16STik6lRGAuhGbBxOQTfu8hb7KklmM90Qf70Eh1Tgcixpyzncm2wQm73keU7icXuMZzMcNhQRCpnsfMkwYnMUPd4mYyfEiYyvN70pw+HvZaYJlYR2VadaM3Uw54uNZrvdBtiJP4inpM00pYZCSIi9VGrKOCchow/xbBGbeiDtIxydzLi9pldlKKwuJhwT49kkIaMP8ewQG6ViwE67zbCTCbtMU2ooPFmeJfe2fTSrOtWQyQNm0wXZZrcBdlLcSUFRJ2G77cgGOlxE1xaZXqgkbMn0AbNn2r1ShxDpAErtNsUuJm8ntnlx+vYfjXviHeHR3YHu0ngk5leRmF91x73ElQuPK4rHFcHj6havOyTF3jZXqbe1wOPqdtwD6+VSwkoottsOBxPDhjho9oiNZitwmt1G2MXk7fi3zicW96Rm+H1LaEz4UOeUaEuw2tUZKfeEY0UekCF5BF53MFrqbemuLt6rxpbsKijxthekwrbhEgf1YAW22pAF7FR1KuNecraJzUZgIeTnzeSJ4RpfT2DvdIqGu4+GrgmhPW0nqcbAxIJo3OuDkTU3IrFCz5FgoedIsJbNTUvwuQPdVUX7u6dWbHBX+Bsz3pRZW0Rwv2/45ydPyHgTCkCUyrLxYiJnAIvsNsMuukro/tc78TCEnpZovCC+q2VeaHfbXE8oWpKxQHNRQVt4Stnm2OTyzf5MNbc+O5nILr8Jpg9Aq6pT99tx4GzzbADWASeTnbaPmOJOCkY3EmyupjDZut0xb2xT05LQvvaZhXHlyfjTPtBd5tvUdCZbj5wan1qxoWvm6DcKPa5o2kRnfSHBXf7k5yXPscWrgWz8wSoVQmQzMN9uU+xixibkter+l8eVS+1oXhDc3rzIF1Ne2wOlMVXgeqt5cXF965zorMo14Snlm/wuiad8DMxvx2RV76oddGNjr272iY3mTWAu5GeekuqD+P1dRELFJzYXjgTGhtYcutAVipY4Lm7RHfd7Njae5dnVOi986rh/UO5vSllMZ7Of0PZCM2I4CetUnbJtJHp2io1SAUS2APPsNsUuZq8junbpMbFRStSmxiWBna3zi0BG7DW0hdoKn9zx5A3B7mAtwGm1p93ldXsjr+5/9QOxeMzn8/iOXD7z8l+X+kpD+9v3Vz62/bEVPo/vMECpt3Tnu+e8+/f97TvQXeZ7fs+71PSKdV1zql4vElEjtveuMSPdQ84TRIcgbCM7xUbzJjCbPPVuJuymaNvJhAOl+ALdJd2v7r8s1hkZnbIm09M7n762prhm4/lTzv9FJBZxB7uD3oe3PvxfC8cufGBBzYLtz+5+9qzn9zx/yTtmvuNhAK/b23jDwhu+PfgjuGRHy6LixsCE0NIJfyvwusPDvo7bfYQ2FhmvJglr0l3LOxnZ28ZVqhNYa7cZdjJvDfHmYE342fr3SmdkdMp+bO3h9sL2cPus8yaf9wKA1+2NlfnLguFYuHp+9fztALMqZ21u7Go8ZeTHqvI/s/u9sc7IqGH9EGKgfjQui+/jzNAObLbbiGz2bECLzUxglM122EL8wFI2bjkrGi3uSOl4lkOdhyo9Lk/Hg5sfvLGru2tCibek/tLpl97n9/gPvrb/tUVLJixZu6Fhw6nd8e7RPdtEYpGqu9+8e7lb3KEFNQseml8z/63BHi8cK/Y+V39VbMn4J0KVRYeGJJp/KydQ7zOjhZOwKlPZ+AYiu58IeoLmS3abYQd7uSiwmq/4F9QvLkClNrlWXMXdwWhw0pwxc569YeENt7rFHXm2/tnLzp549l07W3aef8+b93wjGo/6BYkCVBVVtb1n7nu+esPCG249tfbU+18/8PpHO8IdQxKNmPK6X973Tm9D14RBBzCbPER+U20G8CWhSdWpQQt/OslusQFQag95NiP8MKcH3+QzheCWsmCZt7alNpjK/Y8uHN1S4CpomTtm7i6AaRXTVreH2ydNrZh66Lr51/3o+oXX3zZnzJzXvG5vI4DP44uOLhzdBTC7avYen9vXuL9jf81Qj6twuV4/cElBS2jMoIbS3zGOuEkjkZTX7Dagh+wXG82LkB/JpdqYGlnNV7zgPvojW7Bnga8gWpCy+lLVxdXtXre3ZXfr7hqAfe375hQXFB9sCjSVAsRVXFYfWH35pLJJzwIcCRwpicVjArC3bW9VOBaurimuGVbhs7jyuF/ee7mnI1w+YP6iZ0sJrDdB4WTsVXVqn91G9JB90xX6Q2QGcKHdZqSTEKOjz/FjFaHshLlh+yv2B9dMW5Oy0bPbjmyb8Oq+V29QKI/P7Wu8dMald606sOrMfe37LgCoKqpac/nMy/8iIryy75XFW5u2XikiMSA+p2rOI6ePP31E3axed7D7win3uQrckRN6qTpdRD8yDTH1oAYkBPxJ1amA3Yb0kDtiAyByMTDVbjPSQRy3epafRroY328w+OWZLweaRjXlTAyjsnB/8KyJfztBQG8fR/D5UWZaQhL+rurULruNSCRXmlE9PAO02mxDWtjEhwMDCQ3A4l2Lve6YO2fShx4Jji98q3nBcU/mF0sIGKFJyjanCQ3kmtgo1Q08hZ4DkjO0Mj28m8uTeiz+qN8zf8/8nMrmt6XpDH9bqDICsL+A8A/GmThNEjpwaA9tbokNgFKtaA8nJ4jjVmv4MokB4YGY2DyxqLa51jHt9JGicLneOHRBPCDEvjkRV7epAzUQCviXqlOOLA6QmxdOqV3o6QxZzzbeHwhQO6RBe4t2L/IXhYpyxsNpi4z2LS86q7OxID+Tpg2BN1WdOmS3Ef2Rm2KjeQ3Yb7cRI6GbothOrhxys8Gt3K4lby1xueKunIjfvFY1J7g9+Oli4j7bR8E6mCZgld1GDETuio3uZvsHel5IVvIWV4fi+IbVvVsSLilYWL/Qke70UNg2akJg3egZRcRLPTRfldLBizlECN375Ggxzl2xgZ7SvY8CnXabMlSi+OK7eceIgqETmicUzjg4oytVNmWaQ/6K4LM1i471PLVe7kVJDo3VSAkx4ElVpzrsNiQZuS020DM7/BEgq350O7gqGKNoxIPW5hyYUzyuZVzWBYwP+yuCf5uw1KckITdPrKyA9gvyYqT4EHhG1anDdhsxGHJfbACU6kB7OFnzo6vn8pQl7T5l1ymF5V3lWdMEOVBYGXxk4ln+mMt94v3Z/N78uGcHx2uqTu2w24jBkj8XTqk2tOA4/kfXyMJQX1MShotLueTM7Wd6C8OFjo/h7CuqCjw24Ux/XFx9d/VHJvoIj3f898gA61WdWmu3EUMhf8QGesbg/A2HT9rcy8UpD/QVxArc52w5x+WP+B37Q60vrg48Pv7Mwn6Fpof2C3Nq0OYw2Kbq1Mt2GzFU8ktsAJRqxuFB4wZOTUvdI3/U7zl3y7kuX8TnOMHZWTIu8FTtGYXHxWj6o+OcbE/6NhJ2A8/abcRwyK2JmENBxA9cAoy125REmpkTfonbjxvEdw3XrCygICSIEiR2D/es7Fn2Hb5z8Uu89N7/4X++OIUpnS/z8tif8/MPttAyaSlLH/oaX/t772OECkLR52c/Hw95Q44o5ra9dHzgX+NOGdoE0mkf7qagMd8G+W0DnnN6F3d/5O8TQtefehQ4FzjJbnN6aGRRlD5K4t7GbXdMYcpx3tgGNlTsYMfcQgqbez6rprrr/bz/jy/wwuL+juHv9nvO3Xxu9MXZL4YDvkDGS+T2EAe1uvKkwBuVs4ae1rNrUTflf88nsXlD1anX7TZiJORfMyoRpeIo9SzwCqQ2teZwaWXWoDPP/YyfXfMBPvBnEmyfzvSOS7m03s3As7/9Ub/n/E3nF9jVSxURd+yJ8UvCwxIagODcFFvkWBTwQrYLDeS72PSg1DrgScD2WEYHk/r0Npez/HPXc/037uTOcwHu4q6FJZS0XsAFw87E5ol7XGdvPdtf01qT0SEBrQXF4T9NWRbfV1w9/EGLoVn5cO9GgadUndpktyGpIH+bUb1Rag8iD6Gz/VXZYUIUXzxE1QlNgxWsuH0Oc1p3sKP0Zm7+/EM8dOgf/OPt3+N7PxrpMV3KJWfsOKNo44SNXTtrdqa9SsGWUZO6XqiZX5S0xykZkVo9mjgFBe4cSgh4QtWpBrsNSRVGbBJRqtUSnFOAxZDZZNrtTOsG1wkxlDnMaQXdRJrJzLVv8uasLrqqPsfnvgkQIlRxEzd9YyUrvzOTmcOaCzZv37ziUYFRgXWT1/njrnjKvYaIyxP919jF3fUlY4sJt3t47NM3oWIelHJTOXM1y1Y8gorDv+reRfP2UxGJM3bxs5z95X8CsPnBWWx+8FpU3I3H18mVv/1vopVRCppy8R5uBx5XdarNbkNSSS5eqJGhVBxYhcgeYBlQnqlDh6g8IW50hCPeGDGppjp8hCPeXeyaexmXPVpH3Zd61rmGa1bezu0reweQh8rE5olFFV0VkVdmvkLQF0xZT9W+oqrAM2MXewMev57n5C2Jcukdd1BUFaY76ObRj9/E9sc20LJjHOG2Cq6692ZcHkXLjlIAOg4UsumB93PO139Mzfzmo5931+Si2OxAx2hyJkVID7l2oVKHUg2I/Bnt4SwiA/GtCKUndGnWUz/qB/zgkwAK5Z7N7Fev47qN/e1jO9tHfZ2vfyNK1A+oq7n6bT/hJ3U11AxqIGNJuMS7bNOy+BtT3ggcqjg0onzGHZ7CyPM1C+L7iquP34+4oKhK/5iiITcq7gaB/a+fz5LP/AqXR4tuxXQ9uXDDH85g9Iw3qJnffNzn0dGOCOqniAhaZBxR4ykd5O84m6EgUgGcA4xL52G2c3VgKzc4JmF5fVV9YMPEDb64Kz6kCaFRccXWjJ4VXjd6ev+jgWMR4a8fXk6kcwxj5j3DRbc9yH1X3cHYRX+neftiPP5OTvnYHxl/RgNPf+Ua4jE3wSO1xKN+Jpz5D07/z1eo/mWAikccc75GwAH0hErHDjRNBcazGQxKtQCPIDIROJ00BZC7KXGU8k9umlxU01YTXT11dbC5tDlpknEFalfJuOAL1fN9IY9vYBFwexVX3fttOg4U8s/ln6T+uVpU3IO7IMq771nJG79dzOs/+yDjz/g+Ku6mq2Eyl/7wDiIdXp7+6lcYd9pOxnh2p+q72kQMeF3VqRGVvckWjNgMBaX2AnsRmQqcBlSkcvdRB1aS9Xf7PWdvO9uzp3JPYMPEDb6YO9anl9PiLQk/W7OIhsKKoX2J0togZZO3sufFeRQUtjD9sjUALPrgG2x7+IMA+MpaKCjqpKgyQlFlhJKx22lYPxE9dD9bOYLOF9ycdM0cIR/GKqQeneP4T+jE6ilLWuQh6Nhu3ElHJhVduOFC1XtMToO/PPjY+CWhB6Zc4GsorBjcaOSWXSV0HNCeUqitgNZdcymbcIiKaWvZ84Iezb3loVl4S3S379QL19K+bwbRsItgi5euhqlUzjoIWdntHQZeBf6ST0IDxrMZPjrYtQ2Rt4CZwBygeiS7LHB4BlN/1O85Y8cZnobi5tBfZh7qfmVqrbfJXz70Gk5t9WWs+dWHQLlQSqg8aRULrl9Px4G3eOaWj/DnD7wNtyfMog/fDcDEsw6x+5mN/PXGm0EUYxe+wOTzDiCbHNXsTEIU2AiszcWepsFgAsSpRGQ0MBstPkOec7SHiwPr+Kzz2lIWHRRE/8mEyINM9zbj9zBpf5DFm90U2TShs3ZlkNKXnV6wTgFbgdWqTmVVtshUYzybVKLTV7yEyKvoMsCzgdrBbu6l3XHNgjCu2Cqqw08y2bWWKp9CjonhnvGF7KlVzNodYN72AvyRzE6MLGhweq3v3ehseq022+EIjNikA6ViwFvAW4iMAiYDE9Bd5/2ecx+tjoihBXDHNjE6/AwT5CXG+rpxD+BtibBtahHbpigmHQgyZ4cwuj0zVSs9jU68fxWwF1iTS1MNUoFpRmUSETc6f84E61WZuDiKP/4ED2RccGKg6hkVXsOY2CuM9Wyj3KsYRBKr/ihvizBve5Txh/24VZq+T3eck65yhDhbhNDNpc2qTjk7+GYTTnwy5C7a49lvvV5FpBDdzKoERnsIVfpo8YapSFtzJA6qkcLuXYyKbqGCTYx272RUQRhP6ryR1jIvL57mxReOcdKuLqbv8aa8ieXb180w4mIpRqEH5G0Ddqo6lRNFAdOF8WwcRoWElo0jMHkK7bGxBFQFYSknTBkR1ygiriK63W4ULpS4UOK2JotGkXgYt4rgjgdxqxCeeAcFqoHCeCOF7KPEtY8SzwGK3WE8mfcIqptCTNsXp/awF1/3yB9yZU90MfanaZ+l3g9taIHZnuujflOJ8WwcRiv+xlb8szYzetDbCEoppEdAnBk0bajy02ANvB5zJMSkgzFqGzyUDDNTYNH6TApmCO3B7Af2m2bS8DBi4zyGXBh+RPEVO2is9NNYCauBwmCUCYciVLXA6DY3JYECXIOI8xRtSGfPVxR9HfYBB1SdakrjsfIGIzbOoxld+aHEbkMyQrDQw/apHrZP1e8lrqhoD1PVEqOqWQtQccCLKyG3UMH+MJ7mVMRrougR4G3oHDJtQAvQkK1JxZ2MERuHoRRKhG3oBF75h3IJzeU+msth29SeDxWF4SjFgRjFwTgzG+uZRgDwo4PEfvS9HAPi1ivW628cncah3Xq15fsgu0xjAsQORIRRwPvstsPB/D+lnFv3y9A3ThqnYLBQinZ0QNJwIgeM0GQnRmycy1a7DXAoW+w2wDA8jNg4l104oLSMw2hG5+g1ZCFGbByKUkSBtXbb4TBWKeWMYoKGoWPExtmsB4cnuckcDUpldWa+vMeIjYNRihi6NLABXrPbAMPIMGLjcKyn+bBL7OYI+5QyvXPZjhGb7OAl9KC0fCQMPGe3EYaRY8QmC1CKVvRMonzkGTOuJjcwYpMlKMUbwE677cgwbypFvd1GGFKDEZvs4hkgX2YgHwJet9sIQ+owYpNFWGNvngQCydbNcoLAP5TK2zhVTmLEJstQii7gKfRs5hRwzUVQeQtU1cH8j0KTBz6wDMpvBfkFrE9IdbG1CGZ/EsbcDOO+Bn8cdOWIIRAAHrG+pyGHMGKThShFA9rD6R7Znl4shycvgs23QdMKiLvg66fDxTvgTz+E0iPHr/+Jt8O0vdD4LfjZb+Gr147s+CfQATxsBcQNOYYRmyxFKfYBf0OnrBwBcRccKYCACyJemNQGN+6Ftx05cd194+BiayLkuw9BayWsLh3Z8Y/SihYaM2I6RzFik8VYHs5fYbiewNmtcPlTsOC7UPl9KAzC8k39rz95H/zFSur1iynQXglrK4Z37OM4ghYa03TKYYzYZDlK0QY8hC6MNkS2FsEri2DV16Hhy9qz+dSS/tf/vyegsxCqvwn/eyHU7IWCkQZx30LHaEbooRmcjkkLmgMoRUSEJ4CTgdOAQSYD/8UcqGqChdaguWVvwBvTgVf7Xn9qCNbcpf+PARUr4dzhdsVHgBeVYvswtzdkGcazyRGUQinFeuB+Bj34b1Yz7JoGh7xaPF6dDVMP9r/+9kJos0rFfPQcmLZdC9CQqQceMEKTX5gcxDmKCBOBs4FRA6952RXw2mngisOEvfCvu+FT58Ejl0JgFBR2wJz1sOoe+Ok0WP4hEAU1B+Chu+GkoYz5aQdeUyrvRkIbMGKT04jgBuYBc0kqOmmlAXgT2G2SX+UvRmzyBBEmoEVnMpCponZ70PObBmiaGfIFIzZ5hgjFwGxgKlBBaoUnChxE59/ZY/WUGQyAEZu8RgQvUA2MBWqs/4dS1jaEHvV7AC0wh6zsggbDCRixMRxFBEGX/S20Xj708AirB4oA0GW9AkZYDEPBiI3BYMgIZpyNwWDICEZsDAZDRjBiYzAYMoIRG4PBkBGM2OQZIvJ+EVklIp0iclBEHheRc0TkFhHptj5vFZGXRGSptc2NIhKzlnWKyC4R+a2IzErY7xQRUQnrHBaRn4nIULrSDTmMEZs8QkS+ANwJrESPq5kE/Ay40lrlPqVUCTAGeAF4UER6Bv29bC0rA96GzhO8WkRO7nWYcmu9+cBS4D/T940M2YQRmzxBRMqAbwH/qZR6UCnVpZTqVko9opS6KXFdpVQ3cBd6sF9lr2UxpdQOpdSngGeBW/o6nlKqAfg7eoqEwWDEJo9YCviBvyRbUUR8wI3AXqXUQPlqHgTO7WcftcClmFrlBgsjNvlDJdCklIoOsM41ItKKzvp3KvDuJPs8AIzu9VmTtY/96JHGfxqWtYacw4hN/nAEqBKRgbIz3q+UKldKVSulLlRKJSv5Ox5o7vVZlVKqHCgCXkRXgTAYjNjkES8DYeBdKdznu4Hn+1qglAoCvwPOFJGqFB7TkKWYHMR5glKqTURuBn4qIlF0obtudM/SBQyyyqaIuNG9WF8AlqFjQX2t5wOuR5fR7aMsjCHfMGKTRyilfiAih4DlwO/R6SFWA7cBlyTZfKmIdKLz3zSh646frpTa3Gu9Vqu3PIrOzvdvysz2NWBmfRsMhgxhYjYGgyEjGLExGAwZwYiNwWDICEZsDAZDRjBiYzAYMoIRG4PBkBGM2BgMhoxgxMZgMGQEIzYGgyEj/H88pViHRwq2MgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#good quality interactions from community\n", - "\n", - "venn3([set(index_to_list(community_good_quality)), set(index_to_list(nnet)), set(index_to_list(cpdb))], (\"community\", 'NicheNet', 'CPDB'))\n", - "plt.title(\"community: good quality interactions\")\n", - "plt.savefig('venn_good_quality.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "98db762a", - "metadata": {}, - "outputs": [], - "source": [ - "community_good_anno = community_anno_raw[community_anno_raw.interaction_ID.isin(index_to_list(community_good_quality))]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "89a74a7a", - "metadata": {}, - "outputs": [], - "source": [ - "plot_density(community_good_anno, \"community: good quality interactions\")\n", - "plt.savefig('density_good_quality.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a8a1bbce", - "metadata": {}, - "outputs": [], - "source": [ - "#significant interactions from community\n", - "# fig = plt.figure(figsize=(12, 12))\n", - "out=venn3([set(index_to_list(community_significant)), set(index_to_list(nnet)), set(index_to_list(cpdb))], (\"community\", 'NicheNet', 'CPDB'))\n", - "for x in out.subset_labels:\n", - " if x:\n", - " x.set_text(\"\")\n", - "\n", - "plt.title(\"community: differential interactions\")\n", - "plt.savefig('venn_significant.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "896f36b7", - "metadata": {}, - "outputs": [], - "source": [ - "community_significant = community_anno_raw[community_anno_raw.interaction_ID.isin(index_to_list(community_significant))]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6d12e9fb", - "metadata": {}, - "outputs": [], - "source": [ - "plot_density(community_significant, \"community: differential interactions\")\n", - "plt.savefig('density_significant.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4ce22c5f", - "metadata": {}, - "outputs": [], - "source": [ - "#significant interactions with lower thresholds\n", - "\n", - "venn2([set(index_to_list(community_significant_lower_threshold)), set(index_to_list(community_significant))], (\"lower_sign\", 'significant'))\n", - "plt.savefig('venn_strict.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5cd68607", - "metadata": {}, - "outputs": [], - "source": [ - "community_strict = community_anno_raw[community_anno_raw.interaction_ID.isin(index_to_list(community_significant_lower_threshold))]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "60b809c2", - "metadata": {}, - "outputs": [], - "source": [ - "plot_density(community_strict, \"community: differential interactions(strict)\")\n", - "plt.savefig('density_strict.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "af1b855a", - "metadata": {}, - "outputs": [], - "source": [ - "good_q=set(index_to_list(community_good_quality))\n", - "nnet_edges=set(index_to_list(nnet))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fb4f8086", - "metadata": {}, - "outputs": [], - "source": [ - "dif=nnet_edges.difference(good_q)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "02ac4f55", - "metadata": {}, - "outputs": [], - "source": [ - "len(set(index_to_list(nnet)).difference(set(index_to_list(community_good_quality))))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e562aa4d", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "dif_anno=community_anno[community_anno.interaction_ID.isin(dif)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0268bc54", - "metadata": {}, - "outputs": [], - "source": [ - "failed_log10_cumw=dif_anno[dif_anno[\"passed_log10_cum_weight_filter\"]==False]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "73a322fc", - "metadata": {}, - "outputs": [], - "source": [ - "failed_frac_samples=dif_anno[dif_anno[\"passed_frac_samples_filter\"]==False]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "14efc6af", - "metadata": {}, - "outputs": [], - "source": [ - "failed_log10_cond=dif_anno[dif_anno[\"passed_log10_meanexpr_per_condition_filter\"]==False]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "718cc244", - "metadata": {}, - "outputs": [], - "source": [ - "failed_frac_samples.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "94aff464", - "metadata": {}, - "outputs": [], - "source": [ - "venn3([set(failed_log10_cumw[\"interaction_ID\"]), set(failed_frac_samples[\"interaction_ID\"]), set(failed_log10_cond[\"interaction_ID\"])], (\"failed_log10_cumw\", 'failed_frac_samples', 'failed_log10_cond'))\n", - "plt.savefig('venn_failed_interactions.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6d3295cf", - "metadata": {}, - "outputs": [], - "source": [ - "failed_frac_samples.reset_index(inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ae880e40", - "metadata": {}, - "outputs": [], - "source": [ - "nnet_frac = nnet[nnet.index.isin(failed_frac_samples[\"interaction_ID\"])]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "017242f4", - "metadata": {}, - "outputs": [], - "source": [ - "nnet_frac" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4fc8df46", - "metadata": {}, - "outputs": [], - "source": [ - "dif_anno_nnet=nnet_anno[nnet_anno.interaction_ID.isin(nnet_frac.index)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "69c3d530", - "metadata": {}, - "outputs": [], - "source": [ - "nnet_frac" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b594fa24", - "metadata": {}, - "outputs": [], - "source": [ - "dif_anno_nnet" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0629d061", - "metadata": {}, - "outputs": [], - "source": [ - "failed_frac_samples=get_nr_samples(nnet_frac, dif_anno_nnet)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e58800fd", - "metadata": {}, - "outputs": [], - "source": [ - "failed_frac_samples[\"tuple\"]=list(zip(failed_frac_samples.nr_nonZero_controls, failed_frac_samples.nr_nonZero_case))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b773b095", - "metadata": {}, - "outputs": [], - "source": [ - "failed_frac_samples[failed_frac_samples[\"tuple\"]==(0,0)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "aef7f13c", - "metadata": {}, - "outputs": [], - "source": [ - "community[community.index.isin(failed_frac_samples.interaction_ID)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b0a4d739", - "metadata": {}, - "outputs": [], - "source": [ - "plot_density(failed_frac_samples,\"failed fraction\")\n", - "plt.savefig('density_failed_interactions.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a6a1d8e4", - "metadata": {}, - "outputs": [], - "source": [ - "# def plot_scatter2(df):\n", - " \n", - " \n", - "# df[\"tuple\"]=list(zip(df.nr_nonZero_controls, df.nr_nonZero_case))\n", - "# df_group=df.groupby('tuple').sum()\n", - " \n", - " \n", - "# x_max = max(df_group['nr_nonZero_controls'])+250\n", - "# y_max = max(df_group['nr_nonZero_case'])+250\n", - "\n", - "# plt.scatter(x=df_group['nr_nonZero_controls'], y=df_group['nr_nonZero_case'])\n", - "# plt.plot([0, x_max], [0, y_max], color='red')\n", - "\n", - "# plt.xlabel('nr_nonZero_controls')\n", - "# plt.ylabel('nr_nonZero_cases')\n", - " \n", - " \n", - " \n", - "\n", - "# # plt.plot([0,4.5], [0,4.5], color='red')\n", - "# plt.xlim(0,x_max)\n", - "# plt.ylim(0,y_max)\n", - " \n", - "# # plt.xscale(\"log\")\n", - "# # plt.yscale(\"log\")\n", - "\n", - "# # Add diagonal line\n", - "# # log_min_val = min(min(np.log10(nnet_anno_group['nr_nonZero_controls'])), min(np.log10(nnet_anno_group['nr_nonZero_case'])))\n", - "# # log_max_val = max(max(np.log10(nnet_anno_group['nr_nonZero_controls'])), max(np.log10(nnet_anno_group['nr_nonZero_case'])))\n", - "\n", - "# # transformed_min_val = 10**log_min_val\n", - "# # transformed_max_val = 10**log_max_val\n", - "\n", - "# # plt.plot([transformed_min_val, transformed_max_val], [transformed_min_val, transformed_max_val], 'r--')\n", - "\n", - "\n", - "# plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "76979eb8", - "metadata": {}, - "outputs": [], - "source": [ - "# plot_scatter2(failed_frac_samples)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "77e40c0e", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "02202b1d", - "metadata": {}, - "outputs": [], - "source": [ - "# Each column contains a list of two values: the number of interactions in the case group and the control group\n", - "\n", - "\n", - "plotdata = pd.DataFrame({\n", - "\n", - " \"community\":[len(index_to_list(community))],\n", - "\n", - " \"NicheNet\":[len(index_to_list(nnet))],\n", - "\n", - " \"CPDB\":[len(index_to_list(cpdb))]},\n", - "\n", - " index=[\"# of total interactions\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a9eab14d", - "metadata": {}, - "outputs": [], - "source": [ - "plotdata" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b78faffe", - "metadata": {}, - "outputs": [], - "source": [ - "plotdata.plot(kind=\"bar\",figsize=(15, 8))\n", - "\n", - "plt.title(\"comparing raw results\")\n", - "\n", - "plt.xlabel(\"tools\")\n", - "\n", - "plt.ylabel(\"# of interactions\")\n", - "plt.savefig('barplot_raw_interactions.jpeg', bbox_inches='tight')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c2299833", - "metadata": {}, - "outputs": [], - "source": [ - "# Each column contains a list of two values: the number of interactions in the case group and the control group\n", - "\n", - "\n", - "plotcommunity = pd.DataFrame({\n", - "\n", - " \"community_raw\":[len(index_to_list(community))],\n", - "\n", - " \"community_good_quality\":[len(index_to_list(community_good_quality))],\n", - "\n", - " \"community_significant\":[len(index_to_list(community_significant))],\n", - " \"community_significant_lower\":[len(index_to_list(community_significant_lower_threshold))]},\n", - " \n", - "\n", - " index=[\"# of total interactions\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8710b53a", - "metadata": {}, - "outputs": [], - "source": [ - "plotcommunity" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1dc17fcd", - "metadata": {}, - "outputs": [], - "source": [ - "# plotcommunity.plot(kind=\"bar\",figsize=(15, 8))\n", - "\n", - "# plt.title(\"comparing raw results\")\n", - "\n", - "# plt.xlabel(\"tools\")\n", - "\n", - "# plt.ylabel(\"# of interactions\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "440250c5", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3a23c57d", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1c95f676", - "metadata": {}, - "outputs": [], - "source": [ - "# failed_frac_samples[\"tuple\"]=list(zip(failed_frac_samples.nr_nonZero_controls, failed_frac_samples.nr_nonZero_case))\n", - "# df_group=failed_frac_samples.groupby('tuple').sum()\n", - "\n", - " \n", - "# x_max = max(df_group['nr_nonZero_controls'])+250\n", - "# y_max = max(df_group['nr_nonZero_case'])+250\n", - "\n", - "# plt.scatter(x=df_group['nr_nonZero_controls'], y=df_group['nr_nonZero_case'])\n", - "\n", - "# # loop through each point in the plot and add annotations\n", - "# for i, row in df_group.iterrows():\n", - "# x = row['nr_nonZero_controls']\n", - "# y = row['nr_nonZero_case']\n", - "# label = f\"({i[0]}, {i[1]})\"\n", - "# plt.annotate(label, (x, y))\n", - " \n", - "# # add the diagonal line\n", - "# plt.plot([0, x_max], [0, y_max], color='red')\n", - "\n", - "# # set the x-axis and y-axis limits\n", - "# plt.xlim(0, x_max)\n", - "# plt.ylim(0, y_max)\n", - "\n", - "# # add x-axis and y-axis labels\n", - "# plt.xlabel('nr_nonZero_controls')\n", - "# plt.ylabel('nr_nonZero_cases')\n", - "\n", - "\n", - "\n", - "# plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "65569006", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/src/method_comparison/compare_algorithms/compare_results/compare_res-rev.ipynb b/src/method_comparison/compare_algorithms/compare_results/compare_res-rev.ipynb deleted file mode 100644 index 965117c..0000000 --- a/src/method_comparison/compare_algorithms/compare_results/compare_res-rev.ipynb +++ /dev/null @@ -1,750 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "0f981bc1", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from matplotlib_venn import venn2, venn2_circles, venn2_unweighted\n", - "from matplotlib_venn import venn3, venn3_circles\n", - "import matplotlib.pyplot as plt\n", - "import seaborn as sns" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ce1111d1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'/home/mami/Maria/results/community-paper/src/method_comparison/compare_results'" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pwd" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "0e39d0b1", - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the CellPhoneDB results CSV file and set the interaction column as the index.\n", - "# Any missing values (NaNs) in the dataframe are filled with zeros.\n", - "# These missing values are due to merged samples.\n", - "\n", - "cpdb = pd.read_csv('../../../results/method_comparison/compare_results/CPDB/CPDB_results.csv', index_col=None)\n", - "cpdb = cpdb.fillna(0)\n", - "cpdb.set_index(\"interaction\", inplace=True)\n", - "\n", - "cpdb = pd.read_csv ('CPDB/CPDB_results.csv', index_col=None)\n", - "cpdb = cpdb.fillna(0)\n", - "cpdb.set_index(\"interaction\", inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "3312b761", - "metadata": {}, - "outputs": [], - "source": [ - "# Read in the NicheNet results CSV file and set the interaction column as the index.\n", - "# Any missing values (NaNs) in the dataframe are filled with zeros.\n", - "# These missing values are due to merged samples.\n", - "nnet = pd.read_csv(\"NicheNet/NicheNet_results.csv\")\n", - "nnet = nnet.fillna(0)\n", - "nnet.set_index(\"interaction\", inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "97dc48fd", - "metadata": {}, - "outputs": [], - "source": [ - "community = pd.read_csv(\"community/community_results.csv\")\n", - "community.rename(columns={\"Unnamed: 0\": \"interaction\"}, inplace=True)\n", - "community.set_index(\"interaction\", inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "98674eed", - "metadata": {}, - "outputs": [], - "source": [ - "# Create a list of column names in the dataframe that contain the string \"healthy\"\n", - "healthy = [col for col in community.columns if 'healthy' in col]\n", - "\n", - "# Create a list of column names in the dataframe that contain the string \"AML\"\n", - "AML = [col for col in community.columns if 'AML' in col]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "56c7ba4b", - "metadata": {}, - "outputs": [], - "source": [ - "# drop the raw if all the values are zero\n", - "def drop_zeros(df):\n", - " return df.loc[~(df==0).all(axis=1)]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e40aaa19", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "47884fba", - "metadata": {}, - "outputs": [], - "source": [ - "# Create two new dataframes by separating the `community` dataframe into case and control groups based on column names.\n", - "# `community_control` contains only the columns from `community` that contain the string \"healthy\",\n", - "# while `community_case` contains only the columns from `community` that contain the string \"AML\".\n", - "\n", - "community_control=community[healthy]\n", - "community_control=drop_zeros(community_control)\n", - "community_case=community[AML]\n", - "community_case=drop_zeros(community_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "4173123a", - "metadata": {}, - "outputs": [], - "source": [ - "# same step for NicheNet\n", - "nnet_control=nnet[healthy]\n", - "nnet_control=drop_zeros(nnet_control)\n", - "nnet_case=nnet[AML]\n", - "nnet_case=drop_zeros(nnet_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "eb6857cc", - "metadata": {}, - "outputs": [], - "source": [ - "# same step for CellPhoneDB\n", - "cpdb_control=cpdb[healthy]\n", - "cpdb_control=drop_zeros(cpdb_control)\n", - "cpdb_case=cpdb[AML]\n", - "cpdb_case=drop_zeros(cpdb_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "e2d97e67", - "metadata": {}, - "outputs": [], - "source": [ - "# get the list of interaction in the control group for CellPhoneDB\n", - "cpdb_control_interactions = cpdb_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "3a219742", - "metadata": {}, - "outputs": [], - "source": [ - "# get the list of interaction in the control group for NicheNet\n", - "nnet_control_interactions = nnet_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "cdf4de49", - "metadata": {}, - "outputs": [], - "source": [ - "community_control_interactions = community_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "d134efd7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plot the interactions in the control samples\n", - "venn3([set(community_control_interactions),set(nnet_control_interactions), set(cpdb_control_interactions)], (\"community\",'NicheNet', 'CPDB'))" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "id": "f3b54d2d", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_interactions = cpdb_case.index.values.tolist()\n", - "nnet_case_interactions = nnet_case.index.values.tolist()\n", - "community_case_interactions = community_case.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "id": "0c2a5f3f", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plot the interactions in the case samples\n", - "\n", - "venn3([set(community_case_interactions),set(nnet_case_interactions), set(cpdb_case_interactions)], (\"community\",'NicheNet', 'CPDB'))\n", - "plt.savefig('compare_case_interactions.png')" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "id": "75005ec9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(community_case_interactions),set(nnet_case_interactions), set(cpdb_case_interactions)], (\"community\",'NicheNet', 'CPDB'))" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "id": "1048619e", - "metadata": {}, - "outputs": [], - "source": [ - "# just wanna get a quick glance at interactions that are in CPDB but not in community\n", - "not_in_commu=list(set(cpdb_case_interactions) - set(community_case_interactions))" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "68505527", - "metadata": { - "scrolled": true - }, - "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", - "
AML-0024AML-0160AML-0693AML-1371AML-2123AML-3133AML-4340
interaction
B:GNAS_B:ADRB20.4380.00.3690.4880.0000.0000.518
B:GNAS_Ery:ADRB20.4460.00.0000.0000.5240.0000.000
DC:GNAS_B:ADRB20.5220.00.4980.5170.0000.0000.605
DC:GNAS_Ery:ADRB20.5290.00.0000.0000.0000.0000.000
Ery:GNAS_B:ADRB20.3600.00.3160.3240.0000.0000.000
........................
Gran:COL4A5_NK:DDR20.0000.00.0000.0070.0000.0000.000
HSPC:COL4A5_NK:DDR20.0000.00.0000.0240.0000.0000.035
Gran:COL4A5_NK:CD470.0000.00.0000.2590.0000.0000.000
Mono:COL4A5_NK:CD470.0000.00.0000.0000.0000.1060.000
T:COL4A5_NK:CD470.0000.00.0000.0000.0000.1030.000
\n", - "

87205 rows × 7 columns

\n", - "
" - ], - "text/plain": [ - " AML-0024 AML-0160 AML-0693 AML-1371 AML-2123 \\\n", - "interaction \n", - "B:GNAS_B:ADRB2 0.438 0.0 0.369 0.488 0.000 \n", - "B:GNAS_Ery:ADRB2 0.446 0.0 0.000 0.000 0.524 \n", - "DC:GNAS_B:ADRB2 0.522 0.0 0.498 0.517 0.000 \n", - "DC:GNAS_Ery:ADRB2 0.529 0.0 0.000 0.000 0.000 \n", - "Ery:GNAS_B:ADRB2 0.360 0.0 0.316 0.324 0.000 \n", - "... ... ... ... ... ... \n", - "Gran:COL4A5_NK:DDR2 0.000 0.0 0.000 0.007 0.000 \n", - "HSPC:COL4A5_NK:DDR2 0.000 0.0 0.000 0.024 0.000 \n", - "Gran:COL4A5_NK:CD47 0.000 0.0 0.000 0.259 0.000 \n", - "Mono:COL4A5_NK:CD47 0.000 0.0 0.000 0.000 0.000 \n", - "T:COL4A5_NK:CD47 0.000 0.0 0.000 0.000 0.000 \n", - "\n", - " AML-3133 AML-4340 \n", - "interaction \n", - "B:GNAS_B:ADRB2 0.000 0.518 \n", - "B:GNAS_Ery:ADRB2 0.000 0.000 \n", - "DC:GNAS_B:ADRB2 0.000 0.605 \n", - "DC:GNAS_Ery:ADRB2 0.000 0.000 \n", - "Ery:GNAS_B:ADRB2 0.000 0.000 \n", - "... ... ... \n", - "Gran:COL4A5_NK:DDR2 0.000 0.000 \n", - "HSPC:COL4A5_NK:DDR2 0.000 0.035 \n", - "Gran:COL4A5_NK:CD47 0.000 0.000 \n", - "Mono:COL4A5_NK:CD47 0.106 0.000 \n", - "T:COL4A5_NK:CD47 0.103 0.000 \n", - "\n", - "[87205 rows x 7 columns]" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cpdb_case[cpdb_case.index.isin(not_in_commu)]" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "33a5c85e", - "metadata": {}, - "outputs": [], - "source": [ - "# Below function \n", - "# Standardizes the values in the dataframe by subtracting the mean and dividing by the standard deviation.\n", - "# Calculates the mean value of each row and adds it as a new column to the dataframe.\n", - "# Calculates the overall mean value of the mean column.\n", - "# Returns a new dataframe that includes only rows with mean values greater than the overall mean value.\n", - "\n", - "def drop_low(df):\n", - " # Standardize the values in the dataframe by subtracting the mean and dividing by the standard deviation\n", - " df = (df - df.mean()) / df.std()\n", - " \n", - " # Calculate the mean value of each row and add it as a new column to the dataframe\n", - " df['mean'] = df.mean(axis=1)\n", - " \n", - " # Calculate the overall mean value of the mean column\n", - " mean_value = df['mean'].mean()\n", - " \n", - " # Return a new dataframe that includes only rows with mean values greater than the overall mean value\n", - " return df[df['mean'] > mean_value]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "46be7509", - "metadata": {}, - "outputs": [], - "source": [ - "# apply the function above\n", - "cpdb_case_norm=drop_low(cpdb_case)\n", - "nnet_case_norm=drop_low(nnet_case)\n", - "community_case_norm=drop_low(community_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "id": "51f5688b", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_interactions = cpdb_case_norm.index.values.tolist()\n", - "nnet_case_interactions = nnet_case_norm.index.values.tolist()\n", - "community_case_interactions = community_case_norm.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "id": "d2e0a75e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(community_case_interactions),set(nnet_case_interactions), set(cpdb_case_interactions)], (\"community\",'NicheNet', 'CPDB'))\n", - "plt.savefig('compare_case_interactions_norm.png')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "cc36754d", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_norm=cpdb_case_norm.drop(\"mean\", axis=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "82ced0b8", - "metadata": {}, - "outputs": [], - "source": [ - "# Each column contains a list of two values: the number of interactions in the case group and the control group\n", - "\n", - "\n", - "plotdata = pd.DataFrame({\n", - "\n", - " \"community\":[len(community_case),len(community_control)],\n", - "\n", - " \"NicheNet\":[len(nnet_case),len(nnet_control)],\n", - "\n", - " \"CPDB\":[len(cpdb_case),len(cpdb_control)]},\n", - "\n", - " index=[\"case\", \"control\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "2e52eaf4", - "metadata": {}, - "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", - "
communityNicheNetCPDB
case16381882798100
control14386603198602
\n", - "
" - ], - "text/plain": [ - " community NicheNet CPDB\n", - "case 16381 8827 98100\n", - "control 14386 6031 98602" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "plotdata" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "e0482a3e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, '# of interactions')" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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9D6Xf+UFAF4oI44AAAD0MuIIAACMPye+ZCUf79Hl7lJV+au/+qtFTyM99dRT8/jjj+fEE0/MF7/4xayzzjo55JBDltr3iiuuyKmnnprvfOc7Iy5p9uzZufTSS3P77bdnypQpeeCBBzJr1qzccccdy+zzyCOP5Otf/3r+4i/+YsTnWRmMOAIAACSZMmVKvvGNb+SBBx54zrajjjpqmaFxRUyaNClf/epXR7z/I488kjPOOGOl17E8giMAAECSyZMn58gjj8xpp532nG0nnnhiTj311CTJ3Llz84Y3vCE777xzdtttt9x2221JkscffzwHHnhgXvGKV+Tggw/OwlcfzpkzJ3vttVd23333vOlNb8q999676LjHHXdcTjvttCxYsOA55zzllFPyB3/wB9lpp53yyU9+Mkly/PHH57bbbssuu+ySD33oQyv9O1gWwREAAKBz9NFH57zzzsujjy57auvBBx+co48+Otdff31+9KMfZZNNNkmSXHvttfnsZz+bm2++Obfffnv+7d/+LU8//XSOOeaYXHTRRZkzZ04OP/zwnHDCCYuOtcUWW+Q1r3lNzj333MXOcckll+TWW2/N1Vdfneuuuy5z5szJlVdemZNPPjlbb711rrvuupxyyimj8yUshXscAQAAOuutt14OOeSQnH766Vl77bWfs/2xxx7LPffck7e97W1JkqlTpy7a9spXvjLTp09Pkuyyyy654447sv766+fGG2/MH/3RHyVJnnnmmUVBc6GPfexj+eM//uO85S1vWdR2ySWX5JJLLsmuu+6aZGg089Zbb80WW2yxci94hARHAACAYY477rjstttuOeyww56zbeH006WZMmXKouVJkyZlwYIFaa1l5syZueqqq5bZ7+Uvf3l22WWXXHjhhYud56Mf/Wje+973LrZv34NzRpOpqgAAAMNsuOGGeec735mvfOUrz9m23nrrZfr06fnWt76VJHnqqafym9/8ZpnH2nbbbTN//vxFwfHpp5/OTTfd9Jz9TjjhhEX3UCbJm970pnz1q1/N448/niS55557cv/992fdddfNY489tiKX94IYcQQAAMafEbw+YzR98IMfzN/93d8tddu5556b9773vfnEJz6RNddcM//wD/+wzOOstdZaueiii3Lsscfm0UcfzYIFC3Lcccdl5syZi+03c+bM7LbbbvnpT3+aJHnjG9+YW265Ja961auSJC9+8Yvzta99LVtvvXX23HPP7LDDDtlvv/3G7D7H6htqXZ3MmjWrXXPNNYMuA1hJdjx7x0GXMO7ccOgNgy4BYLXh99DS9f0uuuWWW7LddtuNYTWrt6V931U1p7U2a2n7m6oKAABAL8ERAACAXoIjAAAAvQRHAAAAegmOAAAA9BIcAQAA6OU9jgAAwLizsl9pMtLXUv3qV7/Kcccdl5/85CeZMmVKZsyYkc9+9rPZeeeds+222+Z3v/tdXvva1+aMM87IXXfdle222y6veMUr8uSTT2bdddfN0UcfnUMPPTRJctZZZ+VDH/pQNttsszz99NPZbrvtcs4552SdddZZqdc2Fow4AgAAJGmt5W1ve1v23nvv3Hbbbbn55pvzt3/7t7nvvvuy9dZb57rrrsvPfvaz3HzzzfnWt76VJNl6661z7bXX5pZbbsn555+f0047LWeeeeaiY77rXe/Kddddl5tuuilrrbVWLrjgggFd3YoRHAEAAJJ8//vfz5prrpmjjjpqUdsuu+ySzTfffNH65MmT8+pXvzpz5859Tv+tttoqn/nMZ3L66ac/Z9uCBQvyxBNPZIMNNhid4keZ4AgAAJDkxhtvzO677967z29+85tcdtll2XHHpU+l3W233fLv//7vi9YvuOCC7LLLLtlss83y0EMP5YADDlipNY8VwREAAGA5brvttuyyyy7Zc88985a3vCX77bffUvdrrS22vnCq6q9+9avsuOOOOeWUU8ai3JVOcAQAAEgyc+bMzJkzZ6nbFt7jeO211+bEE09c5jGuvfbabLfdds9pr6occMABufLKK1dWuWNKcAQAAEjy+te/Pk899VS+/OUvL2r7yU9+kjvvvHNE/e+444789V//dY455pilbv/hD3+YrbfeeqXUOta8jgMAABh3Rvr6jJWpqvLNb34zxx13XE4++eRMnTp10es4luW2227Lrrvuuuh1HMccc0wOO+ywRdsvuOCC/PCHP8yzzz6b6dOn56yzzhr9CxkFgiMAAEBn0003zYUXXvic9htvvPE5bTNmzMhvf/vbZR5r9uzZmT179sosb2BMVQUAAKCX4AgAAEAvwREAABgXlnyVBaPjhXzPgiMAADBwU6dOzYMPPig8jrLWWh588MFMnTr1efXzcBwAAGDgpk+fnnnz5mX+/PmDLmXCmzp1aqZP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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plotdata.plot(kind=\"bar\",figsize=(15, 8))\n", - "\n", - "plt.title(\"comparing raw results\")\n", - "\n", - "plt.xlabel(\"tools\")\n", - "\n", - "plt.ylabel(\"# of interactions\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "aa73e6e5", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/src/method_comparison/compare_algorithms/compare_results/density_CellPhoneDB.jpeg b/src/method_comparison/compare_algorithms/compare_results/density_CellPhoneDB.jpeg deleted file mode 100644 index 9cee640d56ed04dc31bccc63ec13457183b0e4e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11378 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 diff --git a/src/method_comparison/compare_algorithms/compare_results/density_failed_interactions.jpeg b/src/method_comparison/compare_algorithms/compare_results/density_failed_interactions.jpeg deleted file mode 100644 index 061cd6096981b97f47a2cadda796c51dcb16e33c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10155 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%0Af5gSh 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 -W=+pYB(GglK zUrkc!%iTLM*4gwp)N2ifqp9NhiTajH)x4eKW$GgdSCb?`ughTM!y7-0(ck0Ee8lnx zcKYXeBE@K<|B@|eim>k2(Xy2LP!uxxcE4Nv0u~?_qMT2MbH9B*G#lT-6L!A>;zLqd z8A!rZV0MRS0(hNy>u7v_b2Qc0?k!H!HyI|b&~HP~yvw}cNBy4Io2>AUYhag1ekqIL z+t5$um-O4+QK8dF3*Tu9N9rq`JZ-JY51Zaz(i;hzx$xjMs+m0Qk0zFg+b;81*^18a zo&*9u@EJ`+S&4L^W~0$`5&8MzAOy7t`o8UO7NTpfkRIsclkQosJo@0nYx6Yj@=*zw z1V(9GE|}7^4kA!5-`c0WJSrQr`>lO-O;K?QE&vS+k%plM&fl zQCryiK=N9l_UD+Z$l21fXFX(mE!zt{Z`k<-NbZ$MV6J?=D{&AhSH((^g-^gSsvhf9 zoE*KY6P9){(tR#=oSPwVL2DuFZx*Og*Rk;Qn&Z<%iBdP1K`Alp^w6@VmIBR5^x9&j z+%asg`%Ft$RNo5;ob)*w&c$~IXw#a)weOd9;}-NROKcJwR~f;=^sBBo@&~P6uzrnU zf`2}9q>5W>%u-BMl5^6m;4KAk{5pG2L>k7@GW9dtgI|8|Ojcbaaoi?oROqS4s#r1d zzUQ9uDJLveWc9;8%+J8Q#GeAp?n=9YuxWAAfT`F|WFGUp|F=YhgUIMjHG;0KMnBVf zdO;xu1YPncbs02CSQxnb_9d#+hq^^?JxUWBGT>>Xhysp`b|Yj0&w- zi;`k;Dj9t4x|Q)VC=QOba*HKZn`vddQ%!!!T@koAop-@CYU|fcg4{S8n>S>!BA$C2 z5z4+6h1@^dQm_WzdrvBYekD!)Tk524p1~&{OUitvjEl=)ZCoF5JLHmzn^rGxx5Mbf zN`F}}Ut(C4eF}CP`*i6K?;At{wQ6^@)Xig{+ya1GN=rOmOFu|mU1cy(?sJS9S0j5X znu;~&@Z9^V=4pY|GlWBN^jz;?3fW=4-7!?18fbhmmU}^{)iut*BF3KCnR~*Yuk5kc zlBbZAn(xHRAu74`d5R?2l&Yy!9cXL7AU7vf~7yv|>2`xIubJoi|E(f^$s*KTK|Hsy;; zD6yn%gW4yNO9k4cM%lg;%!iEX_EFS6_#C#a75&CMx%38BkR(`W9JkKhNvXA&4=vtAxV*+8eErm>7 z@QrYuLE{m%4rewn&07nc_!wT(cTS+{+EJ$othc0^hvNJQL|PbM1vJez2Yj4wcLJ57 ztL^-fKXkp$>Nl_-+1g5b^&35%(h!+qv)j1TSNj6dujzs0H)IoXon?tl*UZ>LB~$&+EsqK z-(FgGKzXR#rO5c}doJRptzT!IB9HqyEM-{lyzd+IB5rx~UsFZ%;4OnUlD= zpBN(nq48PahUit**^@jglb?Si`(Zdppo`h_5_7?GOSMd0sw1nfynd~8W=@=VU;5F3 ztatRMG_bF}{SuX+oSu;!-}K95lJRk!IL4u1Zu3Q{g~Qpy*(EHdy}2s8gyWi~!7Fjs zT+TAG=?7_+4jM#VL#%$f4_@LQim_z7uDmJhqNk-TSfmv1eWJ+^zKhNxH$)U5~kMHa4&v|kDs zs+yvvHr?)w?1;Y!7(U0t&8rsQbPpX9&XmnGFa-C2w>_hYcCHub_?}#<#uV_uVLmzF zFzu;&eB)TIe4vT8P7R(9>Z0?`SMz<6QT%e>MEZnoN%un$7A(%#o4v%8hJeXabhuW> zuM6t!Zbe?gFZjwg^pU&g!{Ley4xW@cS6Gwomc+X1rDSX(`zjlq!;P@0sP-mrBBP(; zVidy+4UPk9QRUW4W3yGW8F-TE#NasMqilGa*yW1rKpx42a>g2eUhDj0E2HV4V}#}f zkt%0n(Fyc}XzkC5WS%jf67K)-O5?tDB6Q%HcKk|fi%LZ*wOY$sOTUU_yzfCuICplv z$-^m?)e`MCzA)EQo=)xV(4y6(j3tsM;MGomg>2B=9rkn|`|-}?Jtzyxe3EGHwB2VF z>pWN)gKL$+Rbb!)>UjLV8j>vuIL8upbC$u{1;rt3IPAIi2y)Q~&jUO5>*vN+9}nDH zjU6|Cr`*4*Drp|hzAH+v2Klg04hk3Ce_4N$L>Ur%s=?lec2M??y_SJp3UfA-urn>! zp^tq+y5dqebsFs{xmKZZq8TcH_v05w({*&BFxK(+6-T|n4D?FZkH9c@|H}aQqJ5w z*HgJ^9{0T9UazqHW6|u-nTY>acH;MIpa_qJ4!Hc)D<$>SP4=h_Aob}r`|^uGdi2H=zBV$y&k4SIu_a-Q}#4 z!oCS5r|kX##6dgwtp|Gns`qienTU3W)B%GdKcrqIMkuw2 zv8ekDo>}(+BS|we@HOx86^}|w#@Y%6JoZSqCZEaVjGAyu!|*&>GuST4O|8E0O=YpU z$c|Pngw8?rB#2My@xR-NF(g7^MoX^{>jf80ZalQyG&8+t7G-U)FbR0HH;VtBU;uJEio^=TPx3sJ`T?@8DPkl|TDkp5`s=Yi?8=+fP> zhTe781(Qfxb>|i8olb!cyHIp>R46pk$!_NV4~!pxZ$yjA7At;jr8Iky z#}E5rN7(l9eRlktNJN#^j6?iMpElP8wMw+u)_7S%3?x=3Fn>r=L0)pE`}@m+8BWaE zJow(3MK=YSDw-ok0)}#(*8FUc(+soQ2Jxk1xI_@!x482Vg|*9(XuBr(KRO5#k0Ie? zEF6+k>_bVn^B+LSNsAf!N}!6IKhV3Q!#7MIw2XL$@S7XG4N1w|HuM4vRNf7@Wg*(r z1KDM{>i+HC?e_>e%I(Jde>XH9?&UT-B!+v~S|;39#++Dy+yV$UmimC-u9FM89NP8ZCPIEXfGQc}BM zxNJdh)6G5Q#t?_{Z!WDr^ld_}i*9Y~8qqLzn&c{Qm}(lI!nfP0|JZsj5U582n4kPT zH}!@^_pwE9n8SWP6S@s3OYGhzI=qySzya?9rfcJVz}CETd@9H45l?Mz_f*nRa-!Rj zjsqyn7<%wVX!j0Gu5J_cYGLAh|@e!)SE&MQV*3M7!`ER6)3Sa0*d38G7P z_6M$UYM$SKp5K1rFy42YQTST}wEIaVCjWYUr%e7HVzn}m_tOu%B?@hczF?#9ZP7(h z*)7Y@RaJw94U980THQG_+fEVZm63arDX)j_d?i@6^C3S$wKx+3Y<~fs@r(9;Pda~g zF}?AdgCGGQ0|_jf-Daqswu&A<*rNN1PKN}Dba)jp9{&kyj_IN`3JyX-#zCI>Syk2D zXW9LtbF2YmW-FIHeVu3dS%r+9myd5q`D5i0<)dWKmX~;c`gBw6O33%3I7c*Btg@k{ z)^`I`3;TcT@qb~a^S1Oc2Je@-Q^_S0$y8PO%=53sO?A8ohJ&nNDbfSb(tLS$j7Y}^ z$=0WdW5MTKHmLSa+hS+i9PvNjM~LHB+nhSbtU(#I3RC!8soN=DJMrMPU3FIWb-o9z zkiZ|8#^0S-Fcf~P>H48P1ZSB%^Zc^AD#G8R}mRIZ?(knDs8x*3@zcr?ed}>S|b>I*s=m4CUmiAaO#^w=nuq1 z-iA<08HnXi%KQtn`KM+1+rqNfj`c3XsZ|YKcs6Y4SmiI#($5twqZaQ%*9O-($WQ%6 zx0WdfD?4MnD=yOpBkJSp@-<0sq?wY)Pan*B=@wqs+Z`DY>4m29=$coQ3fJnCg=fU+ z6c~FsrRK;2x552CTIKUUftX77qAx8eAK6hJ@0q5ubm*T<3ub&E!vehJmJtmh5&jEl zyBG0tPZ_-trx#vi%ORH56DYr={*?O;mZ7sJMpL|R9v9h3Ih~Iee&C9Xc~3( zl_NV1Lyj!5q{s3zGUxF=xhtbzN!lfsY7shmmIxgwlpej8I{rROE8(thhWVpP{OPZH zTsF{52gfa49;*hmR*WB*dl%jtu~t48I>F;T7@*=i9bjUOT;B)4%HJXnCFacKcBi1W41_k1my;r?+d^W8b7 zc-ah&wNFy3C{jGPk|SuqaNdBvF|Cq!71eFl2pe!tGd z%VcgZX%K8A`S$iBozpl(NaII4yt6Z%YcDVPssj34vkF!U~kUKs@f$2A-g2Nf{;JdaRIVcvx~ zoq`5cdnRrj4C|^Rbty1>zdHuixe#A++`CYIdFtVa0xPXtRE$|eKdc)^Y?%voIWBl= zYS#qu_6`SaMs;UNGenqES=r^i;qM11pc_w{hMP^-}#&&#VZeA@qxvs^uGeABabZw2P}6e6GJqd~4+_)!wNf?C@TBW4G>ItqY@I@P&O( zP6cm~Y0K|iR3x72$e=_gIDFKVy^KrVBcfSEdDQ2>y1@$?|7QyP@8-7uC+$GUss96D C7>gPJ diff --git a/src/method_comparison/compare_algorithms/compare_results/density_significant.jpeg b/src/method_comparison/compare_algorithms/compare_results/density_significant.jpeg deleted file mode 100644 index 47ac79054665bf769b8c272665a4aa71db99584b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10029 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 diff --git a/src/method_comparison/compare_algorithms/compare_results/density_strict.jpeg b/src/method_comparison/compare_algorithms/compare_results/density_strict.jpeg deleted file mode 100644 index db594cf1d51f5f15806316c30a00bb962c92e784..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10580 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\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
communityNicheNetCPDB
case163812202098100
control143861480298602
\n", - "" - ], - "text/plain": [ - " community NicheNet CPDB\n", - "case 16381 22020 98100\n", - "control 14386 14802 98602" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "plotdata" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "a29916cd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, '# of interactions')" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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2fwrLwDwfBlxBAAAoJcRRwAAYPw58SWr+HiPrHCXqspf/dVfLX4a6amnnprHHnssJ554Yr74xS9mnXXWySGHHLLMvldccUVOPfXUfOc73xlxSbNnz86ll16a2267LVOmTMn999+fWbNm5fbbb19un4cffjhf//rX8xd/8RcjPs+qYMQRAAAgyZQpU/KNb3wj999//7O2HXXUUcsNjStj0qRJ+epXvzri/R9++OGcccYZq7yOFREcAQAAkkyePDlHHnlkTjvttGdtO/HEE3PqqacmSebNm5c3vOEN2XnnnbPbbrvl1ltvTZI89thjOfDAA/OKV7wiBx98cBa9+nDOnDnZa6+9svvuu+dNb3pT7rnnnsXHPe6443Laaadl4cKFzzrnKaeckj/4gz/ITjvtlE9+8pNJkuOPPz633nprdtlll3zoQx9a5d/B8giOAAAAnaOPPjrnnXdeHnlk+VNbDz744Bx99NG57rrr8qMf/SibbrppkuTaa6/NZz/72dx000257bbb8m//9m956qmncswxx+Siiy7KnDlzcvjhh+eEE05YfKwtt9wyr3nNa3LuuecucY5LLrkkt9xyS66++urMnTs3c+bMyZVXXpmTTz4522yzTebOnZtTTjlldL6EZXCPIwAAQGe99dbLIYccktNPPz1rr732s7Y/+uijufvuu/O2t70tSTJ16tTF2175yldm2rRpSZJddtklt99+e9Zff/3ccMMN+aM/+qMkydNPP704aC7ysY99LH/8x3+ct7zlLYvbLrnkklxyySXZddddkwyNZt5yyy3ZcsstV+0Fj5DgCAAAMMxxxx2X3XbbLYcddtizti2afrosU6ZMWbw8adKkLFy4MK21zJgxI1ddddVy+7385S/PLrvskgsvvHCJ83z0ox/Ne9/73iX27XtwzmgyVRUAAGCYDTfcMO985zvzla985Vnb1ltvvUybNi3f+ta3kiRPPvlkfvOb3yz3WNttt10WLFiwODg+9dRTufHGG5+13wknnLD4HsokedOb3pSvfvWreeyxx5Ikd999d+67776su+66efTRR1fm8p4XI44AAMD4M4LXZ4ymD37wg/m7v/u7ZW4799xz8973vjef+MQnsuaaa+Yf/uEflnuctdZaKxdddFGOPfbYPPLII1m4cGGOO+64zJgxY4n9ZsyYkd122y0//elPkyRvfOMbc/PNN+dVr3pVkuTFL35xvva1r2WbbbbJnnvumR133DH77bffmN3nWH1DrauTWbNmtWuuuWbQZQCryMyzZw66hHHn+kOvH3QJAKsNv4eWre930c0335ztt99+DKtZvS3r+66qOa21Wcva31RVAAAAegmOAAAA9BIcAQAA6CU4AgAA0EtwBAAAoJfgCAAAQC/vcQQAAMadVf1Kk5G+lupXv/pVjjvuuPzkJz/JlClTMn369Hz2s5/NzjvvnO222y6/+93v8trXvjZnnHFG7rzzzmy//fZ5xStekSeeeCLrrrtujj766Bx66KFJkrPOOisf+tCHsvnmm+epp57K9ttvn3POOSfrrLPOKr22sWDEEQAAIElrLW9729uy995759Zbb81NN92Uv/3bv829996bbbbZJnPnzs3Pfvaz3HTTTfnWt76VJNlmm21y7bXX5uabb87555+f0047LWeeeebiY77rXe/K3Llzc+ONN2attdbKBRdcMKCrWzmCIwAAQJLvf//7WXPNNXPUUUctbttll12yxRZbLF6fPHlyXv3qV2fevHnP6r/11lvnM5/5TE4//fRnbVu4cGEef/zxbLDBBqNT/CgTHAEAAJLccMMN2X333Xv3+c1vfpPLLrssM2cueyrtbrvtln//939fvH7BBRdkl112yeabb54HH3wwBxxwwCqteawIjgAAACtw6623Zpdddsmee+6Zt7zlLdlvv/2WuV9rbYn1RVNVf/WrX2XmzJk55ZRTxqLcVU5wBAAASDJjxozMmTNnmdsW3eN47bXX5sQTT1zuMa699tpsv/32z2qvqhxwwAG58sorV1W5Y0pwBAAASPL6178+Tz75ZL785S8vbvvJT36SO+64Y0T9b7/99vz1X/91jjnmmGVu/+EPf5htttlmldQ61ryOAwAAGHdG+vqMVamq8s1vfjPHHXdcTj755EydOnXx6ziW59Zbb82uu+66+HUcxxxzTA477LDF2y+44IL88Ic/zDPPPJNp06blrLPOGv0LGQWCIwAAQGezzTbLhRde+Kz2G2644Vlt06dPz29/+9vlHmv27NmZPXv2qixvYExVBQAAoJfgCAAAQC/BEQAAGBeWfpUFo+P5fM+CIwAAMHBTp07NAw88IDyOstZaHnjggUydOvU59fNwHAAAYOCmTZuW+fPnZ8GCBYMuZcKbOnVqpk2b9pz6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\n", - "text/plain": [ - "

" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plotdata.plot(kind=\"bar\",figsize=(15, 8))\n", - "\n", - "plt.title(\"comparing raw results\")\n", - "\n", - "plt.xlabel(\"tools\")\n", - "\n", - "plt.ylabel(\"# of interactions\")" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "e2d97e67", - "metadata": {}, - "outputs": [], - "source": [ - "# get the list of interaction in the control group for CellPhoneDB\n", - "cpdb_control_interactions = cpdb_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "3a219742", - "metadata": {}, - "outputs": [], - "source": [ - "# get the list of interaction in the control group for NicheNet\n", - "nnet_control_interactions = nnet_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "cdf4de49", - "metadata": {}, - "outputs": [], - "source": [ - "community_control_interactions = community_control.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "d134efd7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plot the interactions in the control samples\n", - "venn3([set(community_control_interactions),set(nnet_control_interactions), set(cpdb_control_interactions)], (\"community\",'NicheNet', 'CPDB'))" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "f3b54d2d", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_interactions = cpdb_case.index.values.tolist()\n", - "nnet_case_interactions = nnet_case.index.values.tolist()\n", - "community_case_interactions = community_case.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "0c2a5f3f", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# plot the interactions in the case samples\n", - "\n", - "venn3([set(community_case_interactions),set(nnet_case_interactions), set(cpdb_case_interactions)], (\"community\",'NicheNet', 'CPDB'))\n", - "plt.savefig('compare_case_interactions.png')" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "ae03442e", - "metadata": {}, - "outputs": [], - "source": [ - "control = dict()\n", - "\n", - "for x in cpdb_control_interactions + nnet_control_interactions + community_control_interactions:\n", - " if x in control:\n", - " control[x] += 1\n", - " else:\n", - " control[x] = 1" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "805e74fc", - "metadata": {}, - "outputs": [], - "source": [ - "case = dict()\n", - "\n", - "for x in cpdb_case_interactions + nnet_case_interactions + community_case_interactions:\n", - " if x in case:\n", - " case[x] += 1\n", - " else:\n", - " case[x] = 1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "98a9356e", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "2958c7f5", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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TK+vptfvtVNnHdBL0pgt2YDyaLiSBgHXA/8ZEfNKym8GvhYR96TPdwGfBXYH3hERH07lpwCTI+I/O9tOU1NTbM6dUNuegnHyYWbbqtraWlpaWujduzcbNmyg/5EfZdkdl1C380ii5VValv+z2iFaz/YkMC69byE7HVO8NPc7EXHm5q4wl+H5EbEc+AMwpc2shcCoks8jgcWdlFfUmBk3tU4R0elU1Lb8N7/5DZMmTeLss8/uch0RwXHHHUefPn3Kqls6TZ8+ncsvv5za2lr69+/fWv7yyy/Tt29fzj77bOrr61vjLJ4/Bthjjz2ora3dZKBkORoaGrqsc8opp7SOyN95550544wzqKmp4eijj6auro7evXszZswYxo0bx7x584gITj75ZMaMGbPJ91u/fj1veMMb2Hnnnbnkkku63B8XXXRR2fs8r6m0PbWdtrR9lTOdeeaZrfvsl7/8JX369GH58uVlLbto0SLGjx/PggULGD9+PH379gXgHe94R+v9KO68806ATS4NLTV06NB2y7tLr169OOSQQzYZIwGw7777EhHU1manqY866igigk996lOMGjWKiOAb3/gGkvj0pz+NJCZPnvyafbBmzRpGjBjBiBEjWL58Oddddx2DBg1i3rx5zJkzh7322osDDjgg9/a0bt06IoJXXnmFtWvXMmDSOxjz2RsZfvr3GfHRyzttX+effz5A62tRamuzIkJkY/VK56mjKVXZwMarIj7eWf2S5UaQHcheIjs5WWzsr6T1PcL2d9Ly05QfcwCjgR92sszU9Po54KdsvBy2vfp3l+zbNwBPA8cBjwNLgSHl/FzKnMaXvK9Lr3um1zPL/P5t9kaFflmARmBQet8H+BPwrjZ13gncSnYu6UDggVRem3bkbkAv4CFgr662uf/++8fmGjPjptdMXWHjL84m5eeff34MHjw4Jk6cGPPnz+9yPaNGjQpJccEFF2xWzPvtt18cdNBBrTH88Y9/jIiI66+/Pmpra2PgwIGbxJjXVFtb2/peUjQ0NAQQ9fX1reU1NTXRv3//+MQnPhEREXvuuWf07ds3rrvuutbvt2jRohg2bFjU1tbGpEmTYvny5Z3uj6lTp8bkyZPL2ud56872VY4pU6bEUUcdFcuXL4/TTz896uvr45Of/GRZy1511VUxcuTImD59eowcOfI1P9/p06fHlClTqtK2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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# # Find common keys (interactions)\n", - "# common_interactions = list(set(case.keys()) & set(control.keys()))\n", - "\n", - "# # Extract values for common interactions\n", - "# case_values = [case[interaction] for interaction in common_interactions]\n", - "# control_values = [control[interaction] for interaction in common_interactions]\n", - "\n", - "# # Create the dot plot\n", - "# plt.scatter(case_values, control_values)\n", - "\n", - "# # Annotate each point with the interaction name\n", - "# for i, interaction in enumerate(common_interactions):\n", - "# plt.annotate(interaction, (case_values[i], control_values[i]))\n", - "\n", - "# # Label axes and add a title\n", - "# plt.xlabel('Case')\n", - "# plt.ylabel('Control')\n", - "# plt.title('Dot Plot: Case vs Control')\n", - "\n", - "# # Display the plot\n", - "# plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a3cb910b", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "1048619e", - "metadata": {}, - "outputs": [], - "source": [ - "# just wanna get a quick glance at interactions that are in CPDB but not in community\n", - "not_in_commu=list(set(cpdb_case_interactions) - set(community_case_interactions))" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "68505527", - "metadata": { - "scrolled": true - }, - "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", - "
AML-0024AML-0160AML-0693AML-1371AML-2123AML-3133AML-4340
interaction
B:GNAS_B:ADRB20.4380.00.3690.4880.0000.0000.518
B:GNAS_Ery:ADRB20.4460.00.0000.0000.5240.0000.000
DC:GNAS_B:ADRB20.5220.00.4980.5170.0000.0000.605
DC:GNAS_Ery:ADRB20.5290.00.0000.0000.0000.0000.000
Ery:GNAS_B:ADRB20.3600.00.3160.3240.0000.0000.000
........................
Gran:COL4A5_NK:DDR20.0000.00.0000.0070.0000.0000.000
HSPC:COL4A5_NK:DDR20.0000.00.0000.0240.0000.0000.035
Gran:COL4A5_NK:CD470.0000.00.0000.2590.0000.0000.000
Mono:COL4A5_NK:CD470.0000.00.0000.0000.0000.1060.000
T:COL4A5_NK:CD470.0000.00.0000.0000.0000.1030.000
\n", - "

87205 rows × 7 columns

\n", - "
" - ], - "text/plain": [ - " AML-0024 AML-0160 AML-0693 AML-1371 AML-2123 \\\n", - "interaction \n", - "B:GNAS_B:ADRB2 0.438 0.0 0.369 0.488 0.000 \n", - "B:GNAS_Ery:ADRB2 0.446 0.0 0.000 0.000 0.524 \n", - "DC:GNAS_B:ADRB2 0.522 0.0 0.498 0.517 0.000 \n", - "DC:GNAS_Ery:ADRB2 0.529 0.0 0.000 0.000 0.000 \n", - "Ery:GNAS_B:ADRB2 0.360 0.0 0.316 0.324 0.000 \n", - "... ... ... ... ... ... \n", - "Gran:COL4A5_NK:DDR2 0.000 0.0 0.000 0.007 0.000 \n", - "HSPC:COL4A5_NK:DDR2 0.000 0.0 0.000 0.024 0.000 \n", - "Gran:COL4A5_NK:CD47 0.000 0.0 0.000 0.259 0.000 \n", - "Mono:COL4A5_NK:CD47 0.000 0.0 0.000 0.000 0.000 \n", - "T:COL4A5_NK:CD47 0.000 0.0 0.000 0.000 0.000 \n", - "\n", - " AML-3133 AML-4340 \n", - "interaction \n", - "B:GNAS_B:ADRB2 0.000 0.518 \n", - "B:GNAS_Ery:ADRB2 0.000 0.000 \n", - "DC:GNAS_B:ADRB2 0.000 0.605 \n", - "DC:GNAS_Ery:ADRB2 0.000 0.000 \n", - "Ery:GNAS_B:ADRB2 0.000 0.000 \n", - "... ... ... \n", - "Gran:COL4A5_NK:DDR2 0.000 0.000 \n", - "HSPC:COL4A5_NK:DDR2 0.000 0.035 \n", - "Gran:COL4A5_NK:CD47 0.000 0.000 \n", - "Mono:COL4A5_NK:CD47 0.106 0.000 \n", - "T:COL4A5_NK:CD47 0.103 0.000 \n", - "\n", - "[87205 rows x 7 columns]" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cpdb_case[cpdb_case.index.isin(not_in_commu)]" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "8ed3efc8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "98100" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(cpdb_case)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d5470e0a", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "33a5c85e", - "metadata": {}, - "outputs": [], - "source": [ - "# Below function \n", - "# Standardizes the values in the dataframe by subtracting the mean and dividing by the standard deviation.\n", - "# Calculates the mean value of each row and adds it as a new column to the dataframe.\n", - "# Calculates the overall mean value of the mean column.\n", - "# Returns a new dataframe that includes only rows with mean values greater than the overall mean value.\n", - "\n", - "def drop_low(df):\n", - " # Standardize the values in the dataframe by subtracting the mean and dividing by the standard deviation\n", - " df = (df - df.mean()) / df.std()\n", - " \n", - " # Calculate the mean value of each row and add it as a new column to the dataframe\n", - " df['mean'] = df.mean(axis=1)\n", - " \n", - " # Calculate the overall mean value of the mean column\n", - " mean_value = df['mean'].mean()\n", - " \n", - " # Return a new dataframe that includes only rows with mean values greater than the overall mean value\n", - " return df[df['mean'] > mean_value]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "46be7509", - "metadata": {}, - "outputs": [], - "source": [ - "# apply the function above\n", - "cpdb_case_norm=drop_low(cpdb_case)\n", - "nnet_case_norm=drop_low(nnet_case)\n", - "community_case_norm=drop_low(community_case)" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "21d8bcfd", - "metadata": {}, - "outputs": [], - "source": [ - "# apply the function above\n", - "cpdb_control_norm=drop_low(cpdb_control)\n", - "nnet_control_norm=drop_low(nnet_control)\n", - "community_control_norm=drop_low(community_control)" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "51f5688b", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_interactions = cpdb_case_norm.index.values.tolist()\n", - "nnet_case_interactions = nnet_case_norm.index.values.tolist()\n", - "community_case_interactions = community_case_norm.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "d4b76ef8", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_control_interactions = cpdb_control_norm.index.values.tolist()\n", - "nnet_control_interactions = nnet_control_norm.index.values.tolist()\n", - "community_control_interactions = community_control_norm.index.values.tolist()" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "d2e0a75e", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(community_case_interactions),set(nnet_case_interactions), set(cpdb_case_interactions)], (\"community\",'NicheNet', 'CPDB'))\n", - "plt.savefig('compare_case_interactions_norm.png')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "87b1aed6", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "venn3([set(community_control_interactions),set(nnet_control_interactions), set(cpdb_control_interactions)], (\"community\",'NicheNet', 'CPDB'))\n", - "plt.savefig('compare_control_interactions_norm.png')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "cc36754d", - "metadata": {}, - "outputs": [], - "source": [ - "cpdb_case_norm=cpdb_case_norm.drop(\"mean\", axis=1)\n", - "cpdb_control_norm=cpdb_control_norm.drop(\"mean\", axis=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "82ced0b8", - "metadata": {}, - "outputs": [], - "source": [ - "# Each column contains a list of two values: the number of interactions in the case group and the control group\n", - "\n", - "\n", - "plotdata = pd.DataFrame({\n", - "\n", - " \"community\":[len(community_case_norm),len(community_control_norm)],\n", - "\n", - " \"NicheNet\":[len(nnet_case_norm),len(nnet_control_norm)],\n", - "\n", - " \"CPDB\":[len(cpdb_case_norm),len(cpdb_control_norm)]},\n", - "\n", - " index=[\"case\", \"control\"])" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "2e52eaf4", - "metadata": {}, - "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", - "
communityNicheNetCPDB
case5467561726354
control4596406826755
\n", - "
" - ], - "text/plain": [ - " community NicheNet CPDB\n", - "case 5467 5617 26354\n", - "control 4596 4068 26755" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "plotdata" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "e0482a3e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, '# of interactions')" - ] - }, - "execution_count": 58, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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3pKh5+veO9hyAOCZMcUUAACAJEYQAQAA6Iz0PqoxbYsttmhTp04ddBkAAAADMWfOnHtba1uOtG/cBcSpU6dm9uzZgy4DAABgIKrq9uXtM8UUAACAJAIiAAAAHQERAACAJOPwGUQAAGBwHn/88SxYsCCPPvrooEsZ8yZPnpwpU6Zk3XXXHXUfAREAAOibBQsWZKONNsrUqVNTVYMuZ8xqreW+++7LggULst122426nymmAABA3zz66KPZfPPNhcMeq6psvvnmz3ikVkAEAAD6Sjjsj2fzexYQAQAASOIZRAAAYICmnvjd1Xq+2z79ptV6vkH68pe/nA022CCHH354zjnnnLz+9a/PVltt1dNrCogAAABroGOOOWbp93POOSc777xzzwOiKaYAAMC4ct555+WlL31pdt111xx22GG5/fbbs+++++alL31p9t133/zyl79MksycOTPvfe978+pXvzrbb799fvjDH+aoo47KjjvumJkzZy4934YbbpiPfvSj2WOPPfLa17421157bfbZZ59sv/32ueyyy5IMBbzjjjtuaZ8DDjggP/jBD5b2P+mkk7Lrrrtmr732yt13350kOfnkk3PaaaflkksuyezZs3PooYdm+vTp+e53v5uDDjpo6bmuuOKKvPWtb10tvxsBEQAAGDduuummnHLKKbnqqqty/fXX5/Of/3yOO+64HH744fnpT3+aQw89NMcff/zS4x944IFcddVVOf3003PggQfmL/7iL3LTTTflhhtuyNy5c5MkjzzySPbZZ5/MmTMnG220UT7xiU/kiiuuyKWXXppPfvKTK63pkUceyV577ZXrr78+r3zlK/PVr371KfsPPvjgzJgxIxdccEHmzp2bN77xjZk3b14WLlyYJDn77LNz5JFHrpbfj4AIAACMG1dddVUOPvjgbLHFFkmSzTbbLLNmzcqf/umfJkkOO+ywXHPNNUuPP/DAA1NV2WWXXfL85z8/u+yyS9ZZZ51MmzYtt912W5JkvfXWy3777Zck2WWXXfKqV70q6667bnbZZZelx6zIeuutlwMOOCBJsscee6y0T1XlsMMOy9e//vU8+OCDmTVrVvbff/9n+JsYmWcQAQCAcaO1ttLXPwzfP2nSpCTJOuuss/T7ku3FixcnSdZdd92lfYYfN/yYiRMn5sknn1zaf/j7CYf3nzBhwtI+K3LkkUfmwAMPzOTJk/O2t70tEyeunmhnBBEAABg39t1331x88cW57777kiT3339/Xv7yl+fCCy9MklxwwQV5xStesdqvO3Xq1MydOzdPPvlkfvWrX+Xaa699Rv032mijLFq0aOn2Vlttla222ip/9Vd/9ZTnIVeVEUQAAGBg+v1aimnTpuWkk07Kq171qkyYMCG77bZbzjjjjBx11FE59dRTs+WWW+bss89e7dfde++9s91222WXXXbJzjvvnN133/0Z9Z85c2aOOeaYrL/++pk1a1bWX3/9HHrooVm4cGF22mmn1VZntdZW28nWBjNmzGizZ88edBkAADAuzZs3LzvuuOOgyxgTjjvuuOy2225517vetdxjRvp9V9Wc1tqMkY43gggAALCW2WOPPfKc5zwnn/nMZ1breQVEAACAtcycOXN6cl4BEQAAnqVdzt1l0CWscW444oZBl8AqsIopAAAASQREAAAAOgIiAAAASTyDCAAADNLJz13N53topYdUVT7wgQ8sXQH0tNNOy8MPP5yTTz45X/7yl7PBBhvk8MMPH7HvD37wg5x22mn5x3/8x1GXNHPmzFxxxRW59dZbM2nSpNx7772ZMWNGbrvttuX2efDBB/ONb3wjf/7nfz7q66wORhABAIBxZdKkSfnWt76Ve++992n7jjnmmOWGw1UxYcKEfO1rXxv18Q8++GDOPPPM1V7HyhhBBNZaVo4bmdXjAGDFJk6cmKOPPjqnn356TjnllKfsO/nkk7PhhhvmQx/6UObPn59jjjkmCxcuzIQJE/J3f/d3SZKHH344Bx98cG688cbsscce+frXv56qypw5c/KBD3wgDz/8cLbYYoucc845ecELXpAkOeGEE3L66afn3e9+99PqOfXUU3PxxRfnsccey0EHHZS//Mu/zIknnphbbrkl06dPz+te97qceuqpvf/FxAgiAAAwDh177LG54IIL8tBDy5+Seuihh+bYY4/N9ddfnx/96EdLw951112Xz33uc7n55ptz66235t/+7d/y+OOP533ve18uueSSzJkzJ0cddVROOumkpefadttt84pXvCLnn3/+U65x+eWX5+c//3muvfbazJ07N3PmzMnVV1+dT3/609lhhx0yd+7cvoXDxAgiAAAwDm288cY5/PDDc8YZZ2T99dd/2v5FixbljjvuyEEHHZQkmTx58tJ9e+65Z6ZMmZIkmT59em677bZssskmufHGG/O6170uSfLEE08sDZRLfPzjH88f/dEf5U1vetPStssvvzyXX355dttttyRDo5M///nPs+22267eGx4lAREAABiXTjjhhOy+++458sgjn7avtbbcfpMmTVr6fcKECVm8eHFaa5k2bVpmzZq13H4vfOELM3369Fx88cVPuc7HPvaxvOc973nKsStawKaXTDEFAADGpc022yxvf/vbc9ZZZz1t38Ybb5wpU6bk29/+dpLksccey29/+9vlnuvFL35xFi5cuDQgPv7447npppuedtxJJ52U0047ben2G97whnzta1/Lww8/nCS54447cs8992SjjTbKokWLVuX2nhUjiAAAwOCM4rUUvfTBD34wX/ziF0fcd/755+c973lPPvnJT2bdddddukjNSNZbb71ccsklOf744/PQQw9l8eLFOeGEEzJt2rSnHDdt2rTsvvvu+fd///ckyetf//rMmzcvL3vZy5IkG264Yb7+9a9nhx12yN57752dd945+++/f9+eQ6wVDZ2ORTNmzGizZ88edBnAamAV05FZxRSgf/xd9HQr+3to3rx52XHHHftUDSP9vqtqTmttxkjHm2IKAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjvcgAgAAA7O6XxUymtc9/frXv84JJ5yQn/zkJ5k0aVKmTp2az33uc9l1113z4he/OP/5n/+ZV77ylTnzzDPzy1/+MjvuuGNe8pKX5NFHH81GG22UY489NkcccUSS5JxzzsmHP/zhbL311nn88cez44475rzzzssGG2ywWu+rX4wgAgAA40ZrLQcddFD22Wef3HLLLbn55pvz13/917n77ruzww47ZO7cufnpT3+am2++Od/+9reTJDvssEOuu+66zJs3LxdeeGFOP/30nH322UvP+Y53vCNz587NTTfdlPXWWy8XXXTRgO5u1QmIAADAuPH9738/6667bo455pilbdOnT88222yzdHvixIl5+ctfnvnz5z+t//bbb5/PfvazOeOMM562b/HixXnkkUey6aab9qb4PhAQAQCAcePGG2/MHnvsscJjfvvb3+bKK6/MLruMPP119913z3/8x38s3b7ooosyffr0bL311rn//vtz4IEHrtaa+0lABAAASHLLLbdk+vTp2XvvvfOmN70p+++//4jHtdaesr1kiumvf/3r7LLLLjn11FP7UW5P9CwgVtU2VfX9qppXVTdV1fu79pOr6o6qmtt93jisz8eqan5V/ayq3jCsfY+quqHbd0ZVVdc+qaou6tp/XFVTe3U/AADA2m/atGmZM2fOiPuWPIN43XXX5eSTT17uOa677rrsuOOOT2uvqhx44IG5+uqrV1e5fdfLEcTFST7YWtsxyV5Jjq2qnbp9p7fWpneff0qSbt8hSaYl2S/JmVU1oTv+S0mOTvKi7rNf1/6uJA+01l6Y5PQkf9PD+wEAANZyr3nNa/LYY4/lq1/96tK2n/zkJ7n99ttH1f+2227Lhz70obzvfe8bcf8111yTHXbYYbXUOgg9e81Fa+2uJHd13xdV1bwkW6+gy5uTXNhaeyzJL6pqfpI9q+q2JBu31mYlSVWdl+QtSb7X9Tm5639Jki9WVbVlx3wBAIA10mheS7E6VVUuvfTSnHDCCfn0pz+dyZMnL33NxfLccsst2W233Za+5uJ973tfjjzyyKX7L7roolxzzTV58sknM2XKlJxzzjm9v5Ee6ct7ELupn7sl+XGSvZMcV1WHJ5mdoVHGBzIUHv/fsG4LurbHu+/Ltqf7+askaa0trqqHkmye5N5lrn90hkYgs+22267OWwMAANYyW221VS6++OKntd94441Pa5s6dWp+97vfLfdcM2fOzMyZM1dneQPV80VqqmrDJH+f5ITW2m8yNF10hyTTMzTC+Jklh47Qva2gfUV9ntrQ2ldaazNaazO23HLLZ3YDAAAA40RPA2JVrZuhcHhBa+1bSdJau7u19kRr7ckkX02yZ3f4giTbDOs+JcmdXfuUEdqf0qeqJiZ5bpL7e3M3AAAAY1svVzGtJGclmdda++yw9hcMO+ygJEvGcS9Lcki3Mul2GVqM5truWcZFVbVXd87Dk3xnWJ8juu8HJ7nK84cAALBm85/s/fFsfs+9fAZx7ySHJbmhquZ2bR9P8idVNT1DU0FvS/KeJGmt3VRVFye5OUMroB7bWnui6/feJOckWT9Di9N8r2s/K8n53YI292doFVQAAGANNXny5Nx3333ZfPPN0729jh5oreW+++7L5MmTn1G/Xq5iek1Gfkbwn1bQ55Qkp4zQPjvJziO0P5rkbatQJgAA0EdTpkzJggULsnDhwkGXMuZNnjw5U6ZMWfmBw/RlFVMAAIAkWXfddbPddtsNugyWo+ermAIAALB2EBABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQERABAABIIiACAADQ6VlArKptqur7VTWvqm6qqvd37ZtV1RVV9fPu56bD+nysquZX1c+q6g3D2veoqhu6fWdUVXXtk6rqoq79x1U1tVf3AwAAMNb1cgRxcZIPttZ2TLJXkmOraqckJya5srX2oiRXdtvp9h2SZFqS/ZKcWVUTunN9KcnRSV7Uffbr2t+V5IHW2guTnJ7kb3p4PwAAAGNazwJia+2u1tq/d98XJZmXZOskb05ybnfYuUne0n1/c5ILW2uPtdZ+kWR+kj2r6gVJNm6tzWqttSTnLdNnybkuSbLvktFFAAAAnpm+PIPYTf3cLcmPkzy/tXZXMhQikzyvO2zrJL8a1m1B17Z1933Z9qf0aa0tTvJQks17chMAAABjXM8DYlVtmOTvk5zQWvvNig4doa2toH1FfZat4eiqml1VsxcuXLiykgEAAMalngbEqlo3Q+Hwgtbat7rmu7tpo+l+3tO1L0iyzbDuU5Lc2bVPGaH9KX2qamKS5ya5f9k6Wmtfaa3NaK3N2HLLLVfHrQEAAIw5vVzFtJKclWRea+2zw3ZdluSI7vsRSb4zrP2QbmXS7TK0GM213TTURVW1V3fOw5fps+RcBye5qntOEQAAgGdoYg/PvXeSw5LcUFVzu7aPJ/l0kour6l1JfpnkbUnS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AHR6FhCr6mtVdU9V3TisbbOquqKqft793HTYvo9V1fyq+llVvWFY+x5VdUO374yqqq59UlVd1LX/uKqm9upeAAAAxoNejiCek2S/ZdpOTHJla+1FSa7stlNVOyU5JMm0rs+ZVTWh6/OlJEcneVH3WXLOdyV5oLX2wiSnJ/mbnt0JAADAONCzgNhauzrJ/cs0vznJud33c5O8ZVj7ha21x1prv0gyP8meVfWCJBu31ma11lqS85bps+RclyTZd8noIgAAAM9cv59BfH5r7a4k6X4+r2vfOsmvhh23oGvbuvu+bPtT+rTWFid5KMnmI120qo6uqtlVNXvhwoWr6VYAAADGljVlkZqRRv7aCtpX1Ofpja19pbU2o7U2Y8stt3yWJQIAAIxt/Q6Id3fTRtP9vKdrX5Bkm2HHTUlyZ9c+ZYT2p/SpqolJnpunT2kFAABglPodEC9LckT3/Ygk3xnWfki3Mul2GVqM5tpuGuqiqtqre77w8GX6LDnXwUmu6p5TBAAA4FmY2KsTV9U3k+yTZIuqWpDkU0k+neTiqnpXkl8meVuStNZuqqqLk9ycZHGSY1trT3Snem+GVkRdP8n3uk+SnJXk/Kqan6GRw0N6dS8AAADjQc8CYmvtT5aza9/lHH9KklNGaJ+dZOcR2h9NFzABAABYdWvKIjUAAAAMmIAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAEgERAACAjoAIAABAkmTioAsARuHk5w66gjXTdtsOugIAgDHF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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plotdata.plot(kind=\"bar\",figsize=(15, 8))\n", - "\n", - "plt.title(\"comparing raw results\")\n", - "\n", - "plt.xlabel(\"tools\")\n", - "\n", - "plt.ylabel(\"# of interactions\")" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "id": "aa73e6e5", - "metadata": {}, - "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", - "
healthy-1healthy-2healthy-3healthy-4healthy-4003healthy-5
interaction
B:GNAS_B:ADRB20.4570.5240.4610.4500.3530.350
B:GNAS_DC:ADRB20.4840.5360.4660.4850.3680.356
B:GNAS_Ery:ADRB20.0000.0000.0000.0000.0000.350
B:GNAS_Gran:ADRB20.4780.5460.4800.4690.3900.365
B:GNAS_HSPC:ADRB20.4580.5210.4620.4450.3690.357
.....................
T:BMP3_Gran:ACVR1B0.0210.0000.0000.0000.0280.000
T:BMP3_HSPC:ACVR1B0.0120.0000.0000.0000.0210.000
T:BMP3_Mono:ACVR1B0.0270.0000.0000.0000.0210.000
T:BMP3_NK:ACVR1B0.0070.0000.0000.0000.0010.000
T:BMP3_T:ACVR1B0.0100.0000.0000.0000.0050.000
\n", - "

98602 rows × 6 columns

\n", - "
" - ], - "text/plain": [ - " healthy-1 healthy-2 healthy-3 healthy-4 healthy-4003 \\\n", - "interaction \n", - "B:GNAS_B:ADRB2 0.457 0.524 0.461 0.450 0.353 \n", - "B:GNAS_DC:ADRB2 0.484 0.536 0.466 0.485 0.368 \n", - "B:GNAS_Ery:ADRB2 0.000 0.000 0.000 0.000 0.000 \n", - "B:GNAS_Gran:ADRB2 0.478 0.546 0.480 0.469 0.390 \n", - "B:GNAS_HSPC:ADRB2 0.458 0.521 0.462 0.445 0.369 \n", - "... ... ... ... ... ... \n", - "T:BMP3_Gran:ACVR1B 0.021 0.000 0.000 0.000 0.028 \n", - "T:BMP3_HSPC:ACVR1B 0.012 0.000 0.000 0.000 0.021 \n", - "T:BMP3_Mono:ACVR1B 0.027 0.000 0.000 0.000 0.021 \n", - "T:BMP3_NK:ACVR1B 0.007 0.000 0.000 0.000 0.001 \n", - "T:BMP3_T:ACVR1B 0.010 0.000 0.000 0.000 0.005 \n", - "\n", - " healthy-5 \n", - "interaction \n", - "B:GNAS_B:ADRB2 0.350 \n", - "B:GNAS_DC:ADRB2 0.356 \n", - "B:GNAS_Ery:ADRB2 0.350 \n", - "B:GNAS_Gran:ADRB2 0.365 \n", - "B:GNAS_HSPC:ADRB2 0.357 \n", - "... ... \n", - "T:BMP3_Gran:ACVR1B 0.000 \n", - "T:BMP3_HSPC:ACVR1B 0.000 \n", - "T:BMP3_Mono:ACVR1B 0.000 \n", - "T:BMP3_NK:ACVR1B 0.000 \n", - "T:BMP3_T:ACVR1B 0.000 \n", - "\n", - "[98602 rows x 6 columns]" - ] - }, - "execution_count": 59, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cpdb_control" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "id": "305e121a", - "metadata": {}, - "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", - "
AML-0024AML-0160AML-0693AML-1371AML-2123AML-3133AML-4340
interaction
B:GNAS_B:ADRB21.624994-0.4025151.6425661.684889-0.428483-0.4849272.173536
B:GNAS_DC:ADRB2-0.4945933.0870171.6960352.097871-0.428483-0.4849272.168403
B:GNAS_Ery:ADRB21.663707-0.402515-0.549688-0.5795502.484065-0.484927-0.485619
B:GNAS_Gran:ADRB21.6540293.1292051.7792102.209236-0.428483-0.484927-0.485619
B:GNAS_HSPC:ADRB2-0.494593-0.4025151.6722712.1164322.4840651.8048842.168403
........................
NK:ITGB1_B:COL4A4-0.494593-0.4025150.7217001.1698220.9666500.303369-0.485619
NK:CD44_B:COL4A4-0.494593-0.4025150.1394761.1419801.3890810.753823-0.485619
T:CXCR6_Mono:CXCL16-0.494593-0.4025150.133534-0.0737640.3663540.8020860.351142
NK:GZMB_HSPC:CHRM3-0.494593-0.4025151.963383-0.5795502.0616352.1320002.076000
HSPC:COL4A5_NK:CD47-0.494593-0.402515-0.5496880.7011570.4941940.2551060.351142
\n", - "

26354 rows × 7 columns

\n", - "
" - ], - "text/plain": [ - " AML-0024 AML-0160 AML-0693 AML-1371 AML-2123 \\\n", - "interaction \n", - "B:GNAS_B:ADRB2 1.624994 -0.402515 1.642566 1.684889 -0.428483 \n", - "B:GNAS_DC:ADRB2 -0.494593 3.087017 1.696035 2.097871 -0.428483 \n", - "B:GNAS_Ery:ADRB2 1.663707 -0.402515 -0.549688 -0.579550 2.484065 \n", - "B:GNAS_Gran:ADRB2 1.654029 3.129205 1.779210 2.209236 -0.428483 \n", - "B:GNAS_HSPC:ADRB2 -0.494593 -0.402515 1.672271 2.116432 2.484065 \n", - "... ... ... ... ... ... \n", - "NK:ITGB1_B:COL4A4 -0.494593 -0.402515 0.721700 1.169822 0.966650 \n", - "NK:CD44_B:COL4A4 -0.494593 -0.402515 0.139476 1.141980 1.389081 \n", - "T:CXCR6_Mono:CXCL16 -0.494593 -0.402515 0.133534 -0.073764 0.366354 \n", - "NK:GZMB_HSPC:CHRM3 -0.494593 -0.402515 1.963383 -0.579550 2.061635 \n", - "HSPC:COL4A5_NK:CD47 -0.494593 -0.402515 -0.549688 0.701157 0.494194 \n", - "\n", - " AML-3133 AML-4340 \n", - "interaction \n", - "B:GNAS_B:ADRB2 -0.484927 2.173536 \n", - "B:GNAS_DC:ADRB2 -0.484927 2.168403 \n", - "B:GNAS_Ery:ADRB2 -0.484927 -0.485619 \n", - "B:GNAS_Gran:ADRB2 -0.484927 -0.485619 \n", - "B:GNAS_HSPC:ADRB2 1.804884 2.168403 \n", - "... ... ... \n", - "NK:ITGB1_B:COL4A4 0.303369 -0.485619 \n", - "NK:CD44_B:COL4A4 0.753823 -0.485619 \n", - "T:CXCR6_Mono:CXCL16 0.802086 0.351142 \n", - "NK:GZMB_HSPC:CHRM3 2.132000 2.076000 \n", - "HSPC:COL4A5_NK:CD47 0.255106 0.351142 \n", - "\n", - "[26354 rows x 7 columns]" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cpdb_case_norm" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c7e07046", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/src/method_comparison/compare_algorithms/compare_results/venn_failed_interactions.jpeg b/src/method_comparison/compare_algorithms/compare_results/venn_failed_interactions.jpeg deleted file mode 100644 index 3b31337e49b86234eed48c8bb52a2462a884ea0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7113 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 NXXF3hPww*Le*qlTs?q=e diff --git a/src/method_comparison/compare_algorithms/compare_results/venn_good_quality.jpeg b/src/method_comparison/compare_algorithms/compare_results/venn_good_quality.jpeg deleted file mode 100644 index 75e7222045a1aed6d158a2c7999cdc973707d398..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8454 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 Mh5!E{gKlU30|okc_y7O^ diff --git a/src/method_comparison/compare_algorithms/compare_results/venn_raw_interactions.jpeg b/src/method_comparison/compare_algorithms/compare_results/venn_raw_interactions.jpeg deleted file mode 100644 index 15aba612e28dc3020435542305f124549c17cbc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6692 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