{ "cells": [ { "cell_type": "markdown", "id": "d9b5d7f8-2b11-44cd-b775-f11334684cf4", "metadata": {}, "source": [ "General instructions:\n", "1. Use shift+enter to run cells.\n", "2. The objective of this notebook is to observe the behaviors (calibration and recall) of different fine-mapping methods and how it changes when the ground truths change." ] }, { "cell_type": "markdown", "id": "45624293-76f0-4960-ab89-05cec712af00", "metadata": {}, "source": [ "# Load packages" ] }, { "cell_type": "code", "execution_count": 1, "id": "2264a34c", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt\n", "import statsmodels.api as sm\n", "import statsmodels.stats.proportion as proportion\n", "from scipy import stats, linalg\n", "import pandas as pd\n", "from susieinf import susie\n", "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "code", "execution_count": 2, "id": "80b956ad", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "R[write to console]: Installing packages into β€˜/home/ran/R/x86_64-pc-linux-gnu-library/4.4’\n", "(as β€˜lib’ is unspecified)\n", "\n" ] } ], "source": [ "import rpy2\n", "import rpy2.robjects.packages as rpackages\n", "from rpy2.robjects.vectors import StrVector\n", "from rpy2.robjects.packages import importr\n", "utils = rpackages.importr('utils')\n", "utils.chooseCRANmirror(ind=1)\n", "from rpy2.robjects import conversion, default_converter\n", "with conversion.localconverter(default_converter):\n", " packnames = ('susieR')\n", " # Load packages\n", " susieR = importr('susieR', suppress_messages=True)" ] }, { "cell_type": "code", "execution_count": 3, "id": "6012d9d0", "metadata": {}, "outputs": [], "source": [ "import rpy2.robjects as ro\n", "from rpy2.robjects import numpy2ri\n", "numpy2ri.activate()\n", "from rpy2.robjects import default_converter\n", "np_cv_rules = default_converter + numpy2ri.converter\n", "from rpy2.robjects.conversion import localconverter\n", "from rpy2.rinterface_lib.callbacks import logger as rpy2_logger\n", "import logging\n", "rpy2_logger.setLevel(logging.ERROR) " ] }, { "cell_type": "markdown", "id": "8cda61f7", "metadata": {}, "source": [ "# Simple simulation, single iteration" ] }, { "cell_type": "markdown", "id": "089a3149", "metadata": {}, "source": [ "## Generate genotype matrix X" ] }, { "cell_type": "markdown", "id": "1fd1ebc7-36e5-4744-920f-120612ee4063", "metadata": {}, "source": [ "This part of the code generates a genotype matrix X.\\\n", "The default properties are:\n", "1. Number of SNPs in X is 100. \n", "2. Pair-wise LD is 0.3\n", "3. The number of individuals is 1000\n", "\n", "Later in the exercise you will be asked to change some of these properties." ] }, { "cell_type": "code", "execution_count": 4, "id": "66a9d050", "metadata": {}, "outputs": [], "source": [ "p = 100 # number of variants in the locus\n", "LD = np.eye(p) # initialize the LD matrix\n", "LD[LD==0] = 0.3 # set all pairwise LD\n", "N = 1000 # number of individuals" ] }, { "cell_type": "code", "execution_count": 5, "id": "d1469e0e", "metadata": {}, "outputs": [], "source": [ "X_mean = np.zeros(p) # set the mean genotypes to be zero for each SNP, we assume X is standardized.\n", "X = np.random.multivariate_normal(X_mean, LD, size = N) # generate X according to the preset LD." ] }, { "cell_type": "code", "execution_count": 6, "id": "f4475308", "metadata": {}, "outputs": [ { "data": { "image/png": "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RYusqanJZs+ebWZmF198sY0dO9YWLlxoZmZXXXWVffSjH7Xvfve7duaZZ9pjjz1mL774ot1///2HfM/MTirKy8ttwYIFmdOLignV4ZGjOjxyVIdHjupQHA7nnXeebdmyxebPn291dXV2yimn2PLlyzvMmOvWrbOSvFVqp59+uj366KN244032g033GDHH3+8PfXUU3byyScf8j1d0ptrbYQQQghx1CBPhRBCCCEKgiYVQgghhCgImlQIIYQQoiBoUiGEEEKIgpDZScXixYtt4sSJNmDAADvttNPs+eef7+0iZZKFCxfahz70IRs6dKiNGjXKzjnnHFu9erV3THNzs+VyORsxYoQNGTLEzj333CDAiTjAbbfdZs45u/rqqzt+pzqMs2HDBvv85z9vI0aMsIEDB9r73/9+e/HFFzv2J0li8+fPt9GjR9vAgQNtxowZ9vrrr/diibNFW1ubzZs3zyZNmmQDBw604447zm6++WYvb4XqUGSeJIM89thjSVlZWbJs2bLk//2//5dceumlSVVVVVJfX9/bRcscM2fOTB566KHklVdeSV5++eXkU5/6VDJ+/Phk165dHcdcfvnlybhx45IVK1YkL774YvLhD384Of3003ux1Nnl+eefTyZOnJh84AMfSK666qqO36sOO2fbtm3JhAkTki984QvJc889l7z55pvJr3/96+SNN97oOOa2225LKisrk6eeeir54x//mPz93/99MmnSpGTPnj29WPLscMsttyQjRoxIfvnLXyZr1qxJnnjiiWTIkCHJ3Xff3XGM6lBknUxOKqZNm5bkcrmO7ba2tmTMmDHJwoULe7FUxcHmzZsTM0ueffbZJEmSpKGhIenfv3/yxBNPdBzzl7/8JTGzZOXKlb1VzEyyc+fO5Pjjj0+efvrp5KMf/WjHpEJ1GOfaa69NPvKRjxx0f3t7e1JbW5vceeedHb9raGhIysvLk5/85Cc9UcTMc+aZZyaXXHKJ97tPf/rTyYUXXpgkiepQFAeZkz/eS9c6Y8aMjt/F0rWKA+zYscPMzIYPH25mZqtWrbK9e/d69XnCCSfY+PHjVZ8gl8vZmWee6dWVmerwUPj5z39uU6dOtc9+9rM2atQoO/XUU+2BBx7o2L9mzRqrq6vz6rCystJOO+001eF+Tj/9dFuxYoW99tprZmb2xz/+0X7729/a3/3d35mZ6lAUB5mLqHk46VrFPtrb2+3qq6+2M844oyMCWl1dnZWVlVlVVZV3bFfT2R7tPPbYY/bSSy/ZCy+8EOxTHcZ58803bcmSJTZ37ly74YYb7IUXXrArr7zSysrKbNasWR31dKRplY9mrrvuOmtsbLQTTjjBSktLra2tzW655Ra78MILzcxUh6IoyNykQhw+uVzOXnnlFfvtb3/b20UpKtavX29XXXWVPf30072WUbDYaW9vt6lTp9qtt95qZmannnqqvfLKK7Z06VKbNWtWL5euOPjpT39qP/7xj+3RRx+1v/mbv7GXX37Zrr76ahszZozqUBQNmZM/DiddqzCbM2eO/fKXv7T/+I//sGOOOabj97W1tdba2moNDQ3e8arPA6xatco2b95sH/zgB61fv37Wr18/e/bZZ+2ee+6xfv36WU1NjeowwujRo+2kk07yfnfiiSfaunXrzMw66knj+uB87Wtfs+uuu87OP/98e//7328XXXSRXXPNNR3JnlSHohjI3KTicNK19mWSJLE5c+bYk08+ab/5zW9s0qRJ3v4pU6ZY//79vfpcvXq1rVu3TvW5n0984hP2pz/9yV5++eWOn6lTp9qFF17Y8f+qw84544wzgqXMr732mk2YMMHMzCZNmmS1tbVeHTY2Ntpzzz2nOtzP7t27veROZmalpaXW3t5uZqpDUST0tlM0jcceeywpLy9PHn744eTPf/5zctlllyVVVVVJXV1dbxctc1xxxRVJZWVl8swzzySbNm3q+Nm9e3fHMZdffnkyfvz45De/+U3y4osvJtOnT0+mT5/ei6XOPvmrP5JEdRjj+eefT/r165fccsstyeuvv578+Mc/TgYNGpT88z//c8cxt912W1JVVZX87Gc/S/7v//2/ydlnn63lkHnMmjUrGTt2bMeS0n/7t39Lqqurk69//esdx6gORdbJ5KQiSZLk3nvvTcaPH5+UlZUl06ZNS37/+9/3dpEyiZml/jz00EMdx+zZsyf58pe/nAwbNiwZNGhQ8g//8A/Jpk2beq/QRQAnFarDOL/4xS+Sk08+OSkvL09OOOGE5P777/f2t7e3J/PmzUtqamqS8vLy5BOf+ESyevXqXipt9mhsbEyuuuqqZPz48cmAAQOSY489NvnGN76RtLS0dByjOhRZR6nPhRBCCFEQMuepEEIIIURxokmFEEIIIQqCJhVCCCGEKAiaVAghhBCiIGhSIYQQQoiCoEmFEEIIIQqCJhVCCCGEKAiaVAghhBCiIGhSIYQQQoiCoEmFEEIIIQqCJhVCCCGEKAiaVAghhBCiIPz/9zQMhR2FQkcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# visualize in-sample LD\n", "X_std = (X-np.mean(X,axis=0))/np.std(X, axis=0)\n", "in_sample_LD = np.cov(X_std.T)\n", "fig, ax = plt.subplots()\n", "im = ax.imshow(in_sample_LD, cmap='Reds', vmin = 0)\n", "ax.set_title(\"LD\")\n", "fig.tight_layout()\n", "cbar = ax.figure.colorbar(im, ax=ax)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "19f4afb5", "metadata": {}, "source": [ "## Draw effect sizes and simulation phenotype y" ] }, { "cell_type": "markdown", "id": "81620fba-a59d-4f9a-a86c-d6441aa56518", "metadata": {}, "source": [ "This part of the code generate effect sizes of the SNPs in this locus, based on the effect sizes, phenotypes aregenerated.\\\n", "The default settings here are:\n", "1. There is 1 causal SNP in this locus\n", "2. The heritability in this region is 0.5\n", "3. There are no infinitesimal effects, meaning that only the causal variant has non-zero effect size\n", "\n", "Later in the exercise you will be asked to change some of these properties." ] }, { "cell_type": "code", "execution_count": 7, "id": "c372545f", "metadata": {}, "outputs": [], "source": [ "L = 1 # number of causal variants\n", "h2g = 0.5 # set region heritability\n", "inf = False\n", "inf_var = 5e-4" ] }, { "cell_type": "code", "execution_count": 8, "id": "98d2f149", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "causal variant index: [33]\n", "effect_sizes=[-0.32090621]\n", "sigma_squared=0.8920723007638944\n" ] } ], "source": [ "causal_config = np.zeros(p) # initialize causal configuration\n", "causal_ind = np.random.choice(np.arange(p), L, replace=False) # randomly choose L variants to be causal.\n", "print(f\"causal variant index: {causal_ind}\")\n", "causal_config[causal_ind] = 1 # update the cuasal configuration\n", "per_snp_h2g = h2g/L # get per-SNP heritability\n", "causal_mean = 0 # mean effect size\n", "sigma_squared=0\n", "while sigma_squared<=0.5 or sigma_squared>0.95:\n", " effect_sizes = np.random.normal(loc = causal_mean, scale = np.sqrt(per_snp_h2g), size = L) # draw effect sizes\n", " beta = causal_config.copy() # initialize beta\n", " if inf:\n", " beta = np.random.normal(loc = 0, scale = np.sqrt(inf_var), size = p)\n", " beta[causal_ind] = effect_sizes # assign beta based on effect sizes\n", " genetic_effect = X.dot(beta) # compute genetic effect X\\beta\n", " sigma_squared = 1 - np.var(genetic_effect) # compute error variance assuming total phenotypic variance is 1\n", "print(f\"effect_sizes={effect_sizes}\")\n", "print(f\"sigma_squared={sigma_squared}\")\n", "epsilon = np.random.normal(loc = 0, scale = np.sqrt(sigma_squared), size = N) # draw error\n", "y = X.dot(beta) + epsilon # compute phenotype vector" ] }, { "cell_type": "markdown", "id": "a289c921", "metadata": {}, "source": [ "## Run GWAS and visualize the result" ] }, { "cell_type": "markdown", "id": "9fe965d0-f10d-4882-970f-4311cac4e848", "metadata": {}, "source": [ "This part of the code runs GWAS analysis on the simulated genotype and phenotype data. The objective is to observe the significance level of the causal SNP as well as the non-causal SNPs." ] }, { "cell_type": "code", "execution_count": 9, "id": "bc82769d", "metadata": {}, "outputs": [], "source": [ "GWAS_results = []\n", "for i in range(p):\n", " X_i = X[:, i]\n", " mod = sm.OLS(y,X_i)\n", " res = mod.fit()\n", " coef = res.params[0]\n", " sd = res.bse[0]\n", " z = coef/sd\n", " chisq = z**2\n", " p_val = stats.chi2.sf(chisq, 1, loc=0, scale=1)\n", " minus_logp = -np.log10(p_val)\n", " GWAS_results.append([coef, sd, z, chisq, p_val, minus_logp])\n", "GWAS_df = pd.DataFrame(columns = ['beta_marginal', 'se_marginal', 'z', 'chisq', 'p_val', '-log10p'],\n", " data = GWAS_results)" ] }, { "cell_type": "code", "execution_count": 10, "id": "8fb0eff1", "metadata": {}, "outputs": [ { "data": { "image/png": "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i8rKSkuHQ0RGYm9vb1ALUi29kyR/f39cu3YNPj4+CAoKwvfff4/Q0FD89NNPDcYONWbq1KnYsWMHfvzxR7i4uCjHGcnlcjg5OUEul+Pll1/GrFmz0KpVK7i6umLatGkICwvTaWY7IiIiIm1sbW2NUqAiouZF7ynAP/74Y9ja2mL69Ok4dOgQRowYAUEQUFlZiVWrVuGNN97Q/eAa+v9u2bIFEyZMAFAzg96bb76Jb775BuXl5Rg2bBjWr1+vcxMapwAnIiIiIiJA99zA4OckXb9+HampqejcuTN69uxpyK5MgkkSEREREREBJnxO0o0bN1Rmi+vYsSM6duwoLkoiIiIiIiIro/dzknx9fREeHo7Nmzfj/v37poiJiIiIiIjIYvROkk6dOoXQ0FC899578PLywqhRo/DDDz+gvLzcFPERERERERGZld5JUq9evbBy5UpkZmbiwIEDcHd3x+TJk+Hh4YGJEyeaIkYiIiIiIiKzMXjiBgA4ffo0Xn75Zfz555+orq42RlxGw4kbiIiIiIgI0D030LslqdZ///tfrFixAg899BBCQ0Mhk8nw6aefit0dERERERGRVdB7drtNmzZhx44dSExMRFBQEGJiYvDjjz9yhjsiIiIiImoW9E6S3n//fYwdOxZr1qxBSEiIKWIiIiIiIiKyGL2TpMzMTEgkEgBAYmIi+vbtC6lUavTAiIiIiIiILEHvMUm1CRIAREVF4ebNm0YNiIiIiIiIyJJET9wAAEaYGI+IiIiIiMiqGJQkERERERERNTcGJUmbNm2Ch4eHsWIhIiIiIiKyOIOSpMceewz37t0zVixEREREREQWp3eSVFVVhbi4OMjlcvj6+sLX1xdyuRzvvPMOKisrTREjERERERGR2eg9Bfi0adOwa9curFixAmFhYQCApKQkLFy4EHfv3sWGDRuMHiQREREREZG5SAQ9p6iTy+X49ttvERUVpbL8559/xtixY5Gfn2/UAA1VUFAAuVyO/Px8uLq6WjocIiIiIiKyEF1zA72720mlUvj6+jZY7ufnBwcHB313R0REREREZFX0TpJiY2OxePFilJeXK5eVl5djyZIliI2NNWpwRERERERE5qb3mKQzZ84gPj4eHTp0QEhICADg7NmzqKiowJAhQzB69Gjltrt27TJepERERERERGagd5Lk5uaG6OholWXe3t5GC4iIiIiIiMiS9E6StmzZYoo4iIiIiIiIrIJBD5MlIiIiIiJqbpgkERERERER1cEkiYiIiIiIqA4mSURERERERHUwSSIiIiIiIqpDr9nt7ty5gy+++AJJSUnIzs4GAHh6euKRRx7BhAkT4O7ubpIgiYiIiIiIzEXnlqSUlBQEBgZizZo1kMvlGDhwIAYOHAi5XI41a9YgKCgIp06dMmWsREREREREJicRBEHQZcOHH34YISEh2LhxIyQSico6QRDw2muv4c8//0RSUpJJAhWroKAAcrkc+fn5cHV1tXQ4RERERERkIbrmBjp3tzt79iy2bt3aIEECAIlEgpkzZ6JXr17ioiUiIiIiIrISOne38/T0xMmTJzWuP3nyJDw8PIwSFBERERERkaXo3JI0e/ZsTJ48GampqRgyZIgyIcrJyUF8fDw2b96MDz/80GSBEhERERERmYPOSdLUqVPRpk0bfPzxx1i/fj2qq6sBALa2tujTpw+2bt2KZ5991mSBEhERERERmYPOEzfUVVlZiTt37gAA2rRpA3t7e6MHZiycuIGIiIiIiAATTNxQl729Pby8vEQHR0REREREZK10nrihMVeuXMHgwYONtTsiIiIiIiKLMFqSVFRUhCNHjhhrd0RERERERBahc3e7NWvWaF1/8+ZNvQ9+9OhRrFy5EqmpqcjKysLu3bsxatQo5XpBELBgwQJs3rwZeXl5GDBgADZs2ICAgAC9j0VERERERKQLnZOkGTNmwMvLCw4ODmrXV1RU6H3w4uJihISEYOLEiRg9enSD9StWrMCaNWvw5Zdfws/PD3FxcRg2bBjS09Ph6Oio9/GIiIiIiIgao3OS1LFjRyxfvlzjNN9paWno06ePXgePiopCVFSU2nWCIGD16tV45513MHLkSADAV199BQ8PD+zZswfPPfecXsciIiIiIiLShc5jkvr06YPU1FSN6yUSCUTMJq7RtWvXkJ2djcjISOUyuVyO/v37IykpSePflZeXo6CgQOWHiIiIiIhIVzq3JL333nsoKSnRuD44OBjXrl0zSlAAkJ2dDQDw8PBQWe7h4aFcp87SpUuxaNEio8VBREREREQPFp1bkoKDg9G3b1+N6+3t7dGxY0ejBGWIefPmIT8/X/lz48YNS4dERERERERNiNGmADc2T09PAEBOTo7K8pycHOU6daRSKVxdXVV+iIiIiIiIdKVzd7tavXr1gkQiabBcIpHA0dERnTt3xoQJExAREWFQYH5+fvD09ER8fDweeughAEBBQQGSk5MxZcoUg/ZNRERERESkid4tScOHD8fVq1fRokULREREICIiAjKZDFeuXEG/fv2QlZWFyMhI/Pjjj43uq6ioCGlpaUhLSwNQM1lDWloaMjMzIZFIMGPGDLz//vvYu3cvzp07hxdffBHt2rVTeZYSERERERGRMendknTnzh28+eabiIuLU1n+/vvv4/r16/jtt9+wYMECLF68WDl1tyanTp1SaXGaNWsWAGD8+PHYunUr5syZg+LiYkyePBl5eXl49NFH8csvv/AZSUREREREZDISQc95u+VyOVJTU9G5c2eV5ZcvX0afPn2Qn5+PCxcuoF+/figsLDRqsGIUFBRALpcjPz+f45OIiIiIiB5guuYGene3c3R0xPHjxxssP378uLKFR6FQsLWHiIiIiIiaJL27202bNg2vvfYaUlNT0a9fPwBASkoK/vWvf+Gf//wnAODXX39VTrZARERERETUlOjd3Q4Atm/fjnXr1uHixYsAgC5dumDatGl4/vnnAQClpaXK2e4sjd3tiIiIiIgI0D03EJUkNSVMkoiIiIiICNA9N9C7u12t1NRUZGRkAAC6deuGXr16id0VERERERGR1dA7ScrNzcVzzz2HhIQEuLm5AQDy8vIQERGBb7/9Fu7u7saO0SjWrVtnFd3/iIiIiIjIMsrKynTaTtTEDYWFhfjrr7/QtWtXAEB6ejrGjx+P6dOn45tvvtF3l2ZRWFiIyspKS4dBREREREQWYrIk6ZdffsGhQ4eUCRIABAcH49NPP8Xjjz+u7+7MxsXFhS1JREREREQPMHt7e5220ztJUigUandub28PhUKh7+7MJjY2lhM3EBERERE9wAoKCjB//vxGt9P7YbKDBw/GG2+8gVu3bimX3bx5EzNnzsSQIUP03R0REREREZFV0TtJWrduHQoKCuDr64tOnTqhU6dO8PPzQ0FBAdauXWuKGImIrIJCIeDGvRJcyC7AjXslUCia9RMUiIiIHlh6d7fz9vbG6dOncejQIVy4cAEA0LVrV0RGRho9OCIia3E5txC/ns/BldtFKKuqhqOdLTq5yzCsuwc6t3WxdHhERERkRHyYLBEZhUIh4GZeKYorqtDCwQ7t3ZxgYyNpFvFczi3ElsT/4F5xBbzkjnB2sENJRRWy8svQqoUDXhrgy0SJiIioCTDqw2TXrFmj84GnT5+u87ZElmJtBfqmztpaWYwZj0Ih4NfzObhXXIGAtjJIJDXniYujPWRSO1zKLcJvf+XAv42M5xAREVEzoVOS9PHHH+u0M4lEwiSJrJ61FeibuoatLE4oqajC+Vv5uJVfavZWFmPHczOvFFduF8FL7qhMkGpJJBJ4yR1xObcIN/NK4d3K2dgvh4iIiCxApyTp2rVrpo6DyCysrUDf1FlbK4sp4imuqEJZVTWcHZzUrndysEVOQRmKK6qM9jqaG7bcElFTwGsV1aX3xA11JSYmom/fvpBKpcaKh8hkrK1A3xxYWyuLrvHcuF8CG4lEpxthCwc7ONrZoqSiCi6ODZ8RV1pRDamdLVo4GHQ5bbbYckuGYKGVzMUar1U8/y3LoLt6VFQU0tLS4O/vb6x4iEzG2gr0zYG1tbLoEs/l3CJsSbyGgtIqnW6E7d2c0MldhvO38iGT2qmcO4IgICu/DD3ay9HeTf0xH2TGaLllIeHBZY2FVmqerLGXCc9/yzMoSWrmE+ORGk25wGJtBfrmwNpaWRqLJyuvFDfulUAiATq5y3S6EdrYSDCsuwdu5ZfiUm5Nku3kYIvSimrl7HaPd/NoMt8DczFGyy0LCQ8uayy0WkJTvueamrHeG2vsZcLz3zqwfwjprKkXWKytQN8cWFsri7Z4FAoFzt8qgL2tDXq2l8PGpuZZ2rrcCDu3dcFLA3yV539OQRmkdrbo0V6Ox7s1jfPf3AxtubVUIaEpFUqbUqz6sMZCqyU0ds9trp+/LoxZHrG2XiY8/62HQaXBTZs2wcPDw1ixkBVrDrUapi7QP4g3LHO0sujzvmqL58rtIlRWKdDLx02ZINXS5UbYua0L/AfJmv1nbKzz2JCWW0sVEppSRVBTilVf1lZo1YWxr/+N3XMHB7XFhazCJvP5m/a5dQ3LI/5tdL9Wm6OXiT6vvyme/82VQUnS888/b6w4yIrpWmDxbdUCWf+7kFhjAdKUBXpLFVisITEzZSuLmPdVUzz+bWQQBKCdm/qbii43QhsbicabkrbPwho+J10Y8zw2pOXWEoUEQyuCzPkZN4dKK22aWtdoY1//G7vnnsnMw5r4S/CSO6Gdm/V//sZsEdOlPPJNciZatnDA1dvFOn0epu5lou/50dTO/+aM/YrMpKkUktTRpcByOvM+Vvx6AXeKKoyaJBj7fTNFgd6UhStt66ypJtkUrSyGvK/q4hEEAasPXTLJjVDbZwGgSXSZMfZ57OXqKLrl1tyFBENbrsz5XXwQuuI0pa7RpkhYtd1zAaCkogq3C8vRy9tN+f5Ya6WlsVvEGiuPONnb4PcLufBp7axx3Gn9ViZDrlWGvn5150dTOv+bO77DZmDIDdSQApS5us2UVlbj75xClFVWI9DDxWi1WqYqeBizQG/KwhWguXANwOpqkrW1sujLGAXB+vEoFIJJboTaboIZ2QUAgGqFYNVdZkx1Hgd5uYhquTV3IcGQlitzz+D3IHTFsbaxjpqYKmHVds8tLKtCYXkVHOwkqFSoTp5l6kpLfZmiRUzbeyMINd+j0spqtHdzUptAamplEnutMuT1azo/dD3/vVwdceNeicUT4eaMSZKJGXIDNSRJMFe3GUEQ8Hd2IaqqBXR2l2ms1dJ2k1BXQLh6p0in901sIii2QF//eIIgmKRwpa1wfTOvBI72ts26JtkUBUFTdLfUdhNs4WCLX9NzAAEY1s2jwUQR1tRlxpRJQt1EUNeWW3MXksW2XFliBr8HoSuOrt9VABoLiaZooTXm9V8bbffcimoFKqoUkNrZwsHWpsHfmqrSUgxjtIjV/+5oe28Ky6pwp6gCLaR2kNrZqqzTpZVJzLVK7OvXdn7ocv538XTBpqNXzVrBZi29HsyJSZIJGTKWR9ckQR1jN/9rK7AUlFYiK78MXm6OcHVSvWDpOoNV/QKCf5sWuFdS0ej7plAAB9PN191MXayujva4U1SOdhoKa2IKV40Vrs/+Nw93CssR6tda9I3Z2i92pioIGru7pbabYFF5Nar/V9NbVF4NVyfVAo2YAoKpmDJJuJhdiFcH+mvs+qPpXDTntOtiW64sMYPfg9IVp7HvKgBsSLgiqourGMa8/jdG2z3X3kaCiioFWssc4OKo+hkbo9LSmAxtEVP33dH23pRXVaOovAp+bVqofW8aa2Vq7FplzNcPaD8/tJ3/XTxd8PuFXKNNXKELa+reb05N+ypq5cSO5dE1SVB3oTNF87+2Asvl20Wws5Ggi4eL2pqi2otAYXllgxo/TYlgyvV7yLxbgl4+blrft4vZhaioVpilu5mmwsyV20W4ca8EbWQO8G7VosHfiSlcaStcSyQStHR2wOWcIuU29TV2Y7ZU90999mnKgqAxu1tquwlWVCsAABIIyv/XEltAMBVd328ne1uV77GuNelZBWU6V5LUPRfNNe262JYrS8zg11S6ohmDpu+qtkrExrq4irk3GPv63xht99zsgjK4u0jhrGafhlZaGpshLWLayg6a3pubeaVwtrdFOzXXo8ZamRq7VgH63/8MvY+pO/+9XB2x6ehVo05c0ZjmPlGMNkySTEjsWB5dkoTLuUW4cb8ENhKJyhfWGN2U1F0INBVYurWTw9HeFo72tmr3VVpRjfIqBfacvqlzItjezQkXsgtxK78MHVo6N3gdjvY2uHGvBO4uUvT2aWny7mbaCjM928uRlV+G8zcL/nfB/P8Xe7GFK22F65rj2gESoLCsEi1bODRYr+3Ca6nun5po2ufQbm1N2ifbWOOntN0Ea2/8AiQNCgG6FhCKK6rM0uqnS8G7ndwRP529pXLjNaQmXddz0RzTrottubLEDH7GaGUzV2WHMT4ndWMLxbbCi+n+7eXqaPTrvy403XN7dnDDM31rWhKMWWlpipYlsS1igOayQ+09R917E+rbCp3cZcjKL4MgCDq3MtV9b4xZuWiMCo365/+NeyUGT1yhz/1an8ocAFbdQ0UMJkkmJHYsT2NJgpODLS7nFmFL4jUUlFapfGEDPGQ61Wxqukg2diHQVKuh6SJwKacIBWWVsLOxURl3oS0RlNrZQia1w+3CchSWVTWoEbtdWI6Simq0kzuZZeCytsKMjY0NurdzxZnMPPx5Mx+d3GU69Z13trcVVbgGADsbCeRODrhXUgHvVs46X3gNaWU0RU2SLmNZrK1Pdn3aboIyqS1sbSSAUPP/unQpIEjtbHG7sBzx6bkmf42NFbxtbSTIKSzHrfwyo9Sk63suGmP8YGM3bDEtV4YUgkzVFac2Vk2v3xQPKDVnVxxDWuHFdP9uI5Pi6p0i+LRqeC/W9fpvYyMR9b5qqyTo2NrZaJWWpvqsxLaIaSs71L3nTBnUSWMroz6tTLXvjaGVi+o+Y2N3GzZ04gp9K5B1rcxJvHIHf97It/pZXPXFJMmExI7laSxJyMorxY17JZBI0KCm4O/cQlRUKbTWbGq6SAZ5Nd7PtXNblwY3F00XgVt5pSgoq4Srkz0CPXRvLXJxtEMbmQOu3y1BeVU1gP//OmoLHs4OtnB3kap93w0duFz/y1xYVqm1MOPl5oQ7RRXwa9MCeSWVOvWd92/TAm7O9sjKL9OrcC0IArILyhHm3wqllQq9Lrxia66N0YVTn9rZuv3Dx4f5Ksed6dsn2xyJUmPJRaBHTQyXbxfrVUCobbk5cC4b90vM0+9cU8G7eztX3C2uQFZ+mdFq0k09Q5vYQru+LVeGtOqYoitOY4lQY9d4MbMtmnt2P0Na4cW0bKZn5SPzbgnaukjVfk6NXf87t3UxKInUVElgzEpLUz4LTEyLmLayQ917zmvhsgbvjabjaWtlMkblorYx0sbsNmzIxBXaeiEZ8qDdy7lF+OZkJgQBVj2LqxhMkkxI7FgebUmCQqHA+VsFsLe1Qc/28gbdCf7OKUR5lQK38soQ6KH7RfLczTz8lp4NVyd79PJ206sgrOmi1LF1C1QpBLU1cNoSQYlEgvZuTsgtKMfNvFI42tuqFDxay6RwtLdFaWU1XNTN7qNh/ITYGtE2MmmjiWcbmRQvDfBrcOHR1Hf+r6wC2NpIYGsj0atwXVvwGtvfBwD0uvDqWnNdv5XR0Bmc9K2drbvPESHtGtQW6tIn25yDk3UZYK5PASErvwwtne0hALhfYr5+57WvRdPzpQxpSa3/OZhyhjZDC+36tlyJHTtljGl+1cWq6fU3do3XZbZFdc+XMffsfmK7uALiWjY7u8tw9XYxLuYUoo1M2uA7oO36X5uwNnY+iq3sUPf5i6m01OX5SoYkevq2iGkrO+hyz2lsLJuxKxd1GSOtrtVLzP1J7MQVgPZeSGIftFtSXpOYSSRASAdx1xVrTpSYJJmYmLE82pKEK7eLUFmlQC8fN5Va29q/a+fmhMx7JZDa2eh1kfR0FfDnf/NhZ9vwSyv2olRYVol1hy+rrS1vrLWotFKBwUFtlYXAugWPyOC2OPhXrt7jJ8TWiGbeK8btwnKUVylUChd1j9ejvRzeLZ1VLnq61EC1kzuqfY2aCtf1C1761HrrUnOtrpXRFONOGqudrbtPfftkW+I5MY21QOhTQOjRXo6eHeTYdfqmyfqda6sRrv9+X8guMKgl1ZxPuLfUg1Yb+/zFzuCnb5dSba9f2zUeaHy2RXVJua6VHcac3U9sF1exLZuuTvbwkjsiK68MBaWVkDs7qN1n/et/Y5+HqSo7xFRaaptIStdeJo0levq0iGkrOwC6VaKoO56YCo3GKnR0HSOtrtVLDG3Xjca6FGrrhST2QbtX7xRDAgH+bWRqj2lNs7iKwSTJDMQ0i2tKEvzbyCAIQDs39V82JwdbSO1s8GSIFy5lF+l8kaxUCHCws0FRWZXaLn5iLko37pVoLAg11lpU21qi6cJrI5HoPX5C241X280s0MMOxeXVKCitxN85RWjnZrwaqPsllXjxEV+NTd+NJUH61Ho3VnOtqZXRFONOdKmd1VRIttbnxGj7LPQpILR3c8LfuYUG9zs3Vo2wLgmNtpp0dYw1Q5u5nlujC02fsdgZ/MR0KdV2zdF2jW9stkVNSbk+lR31iU1oxXZxFduyKZFIEOjpgttF5bh8uwiBHi46d6ls7B5g7EH2tcQkHpomktKll4mhiZ4+ZQfAvLObNnb9M/cY6drXoG+XwsZ6IYl90G4LqR0EAWghbfhZWNssrmIwSTITfZrFtSUJtV1fGrt4dPV0RWSQh84XSQdbGzjY2aC8qlptX24xF6XGCkLaWovq1upoKlzqO35C2423sZtZgIcMmfdK4NOqptbcmN3bSiurEeTpqnYbQ2Zh02cQqbZWRlOMO9G1dlZdIbm5PSdG3WdsaL9zQ2qE9am5b6wmXdtrNnRAsyHPrTHX7F5iZ/AT26VU2zVH2zVe22yL2pJyXSs71HV9NmRcmpgurtomtdA2kQ4AONnbItDDBf5tWuh8/W/s8zDFIPu69Ek8tE0k1VgvE1Mkeqae5t6YlYumHiOtib5dChvrhST2Qbu1vR4Mmebd3BWa+mgapYhmStem3/qD6HW9eOhzkXRxtIOL1A5ZZVWwr3dBFntR0qUgpK21SJf3T5/xE9puvLokNFI7G4zq3R4uUnujdW8zVWFeW+21vl0xTDHuxJDa2QfhOTGG9Ds3pEZYTM292Ae7GvIcJEOeW2Ou2b0MmcFPbJdSbdccbdd4bbMtakvKdans0NT1WdeZWDUVoMR2cdX0AHNNE+nUvo7ePi0x+TH9HjRqjEH2xqplFzuRlLYWSFMleqa65ojRWCy6jpHWdp8XO/ObPl0KtfVCMuRBuwBw9ka+6Gnerb1C03oje0CYczYlbRdJAHB2sIO7ixTZBeWwsZGYtSAk9iag7/gJTTdeXRMaF6m9UWugTFGY16X2uv4g0sa6Yphi3InY2llruoGaith+54bUCBtSc2/MiSIaKyAY8twyc87uZUhLidgupWKv8dpmW9SWlDdW2aGt67MuM7E2VoDSt4urpmtjYxPp1F5T7Oxs9LpXGTrI3pi17GInktLWAmnKRM+cD5M2JBZdxkhru8+bYvp8bRXIhiTsmh60K3aa96ZQockkyQqYazalxgqXPq2dNTapmrsgJJbY1htTJDSWKMzrWntdfxCpLn3ATTHuREztLGBdN1BTEdPvXGyNMGB4zb1Y+l7/xD63TNfZvTTVeutbmDFk7JzY65jYa7y22RYbGwyuqbKjsa7Pjc3EauwClKET6Yi5phgyyN4UtexiJpLS1gJp6kTPnGUHQ2LRNkZa233eFM8frFX/uqqtF5Khn6OYad6bSoUmk6QmSuzFQ5fCZUSXthYvCIklNtmxxi5FYoitvbbkuBN9a2drWdMN1FT07XcutkYYMLzm3lwaSz40tXoaMq2wmMKMId1tDam0MeQar262RV2eL6OusqOxrs/aZmI1RQHKGBPpiGHs5/YYSt+JpADNLZDmSPSs4ZpTS9sEPPre5809E6epE3Z9p3lvKhWaTSJJ+vTTT7Fy5UpkZ2cjJCQEa9euRWhoqKXDsjixF4/GCpfWdFHSlyHJjjV1KRJLbO11U00Sm/K5qit9+p2LrRFuKl0fAPGz7YmdVlhsYcaQRMfQ76PYa7whz5epX9mhS9dnTTOxmqIAZYyJdMQy5nN7jEHfiaQ0tUBaKtGzRvre5039QG1NMZoyYdf3utIUKjStPkn67rvvMGvWLGzcuBH9+/fH6tWrMWzYMFy8eBFt27a1dHhNVnMuXBpSMLeWLkViGVJ73RySxAeJMWuEm0rXB0B8q6fYaYXFFmaMkegY8n0Ue83RJyk3xrOw1M3Eaorrg6VnxTTW+2oqYlsgLZXoWSN9vnOWepSFpRL2plrmtPokadWqVZg0aRJeeuklAMDGjRuxf/9+fPHFF5g7d66FoyNrZUjBvKl+mQHDx1Y19STxQWOsGuGm0vUBEJ98iP1uGFKYMbQQbE0VDPrGos/7bY7rg7XOitmUPmNrT/SaEksm7fwcdWfVSVJFRQVSU1Mxb9485TIbGxtERkYiKSlJ7d+Ul5ejvLxc+XtBQYHJ4yTr9CAWzI3Rbe5BfN+aE0uNOzQnMTd0sd8NQwszhhaCren7qE8s1jYLpbXFUz+2pvgZ17KmRK+psMaknZ9jQ1adJN25cwfV1dXw8PBQWe7h4YELFy6o/ZulS5di0aJF5giPyCqxRoia87jDWmJu6GK+G8YozDSH91sMa7sWWVs8zcmDeo6LZa1JOz9HVRJBEARLB6HJrVu30L59exw/fhxhYWHK5XPmzMGRI0eQnJzc4G/UtSR5e3sjPz8frq7GHYxJZM3EPqCOqLnT97tRf3a7+oUZQ6bqfRBY27XI2uKhB1fdRwuUV9W0SnduK2PSbmIFBQWQy+WN5gZW3ZLUpk0b2NraIicnR2V5Tk4OPD091f6NVCqFVCo1R3hEVo01QkTqmevZdFTD2q5F1hYPPbjYxc26WXWS5ODggD59+iA+Ph6jRo0CACgUCsTHxyM2NtaywRER0QODhRkiMgUm7dbLqpMkAJg1axbGjx+Pvn37IjQ0FKtXr0ZxcbFytrvG1PYm5AQORERkKLldzQ9QhaKiQkuHQ0REeqrNCRobcWT1SdKYMWNw+/ZtvPvuu8jOzsZDDz2EX375pcFkDpoUFtbcxLy9vU0ZJhERERERNRGFhYWQy+Ua11v1xA3GoFAocOvWLbi4uDR4EKC51U4icePGDU4iQTrjeUNi8dwhMXjekBg8b0gsc587giCgsLAQ7dq1g42NjcbtrL4lyVA2Njbo0KGDpcNQ4erqygsI6Y3nDYnFc4fE4HlDYvC8IbHMee5oa0GqpTl9IiIiIiIiegAxSSIiIiIiIqqDSZIZSaVSLFiwgM9xIr3wvCGxeO6QGDxvSAyeNySWtZ47zX7iBiIiIiIiIn2wJYmIiIiIiKgOJklERERERER1MEkiIiIiIiKqg0kSERERERFRHUySzOjTTz+Fr68vHB0d0b9/f5w8edLSIZEVWbp0Kfr16wcXFxe0bdsWo0aNwsWLF1W2KSsrw9SpU9G6dWvIZDJER0cjJyfHQhGTNVq2bBkkEglmzJihXMbzhtS5efMmXnjhBbRu3RpOTk7o0aMHTp06pVwvCALeffddeHl5wcnJCZGRkbh06ZIFIyZrUF1djbi4OPj5+cHJyQmdOnXC4sWLUXceMJ47dPToUYwYMQLt2rWDRCLBnj17VNbrco7cu3cPMTExcHV1hZubG15++WUUFRWZ7TUwSTKT7777DrNmzcKCBQtw+vRphISEYNiwYcjNzbV0aGQljhw5gqlTp+LEiRM4ePAgKisr8fjjj6O4uFi5zcyZM/HTTz9h586dOHLkCG7duoXRo0dbMGqyJikpKdi0aRN69uypspznDdV3//59DBgwAPb29jhw4ADS09Px0UcfoWXLlsptVqxYgTVr1mDjxo1ITk5GixYtMGzYMJSVlVkwcrK05cuXY8OGDVi3bh0yMjKwfPlyrFixAmvXrlVuw3OHiouLERISgk8//VTtel3OkZiYGPz11184ePAg9u3bh6NHj2Ly5MnmegmAQGYRGhoqTJ06Vfl7dXW10K5dO2Hp0qUWjIqsWW5urgBAOHLkiCAIgpCXlyfY29sLO3fuVG6TkZEhABCSkpIsFSZZicLCQiEgIEA4ePCgEB4eLrzxxhuCIPC8IfXefvtt4dFHH9W4XqFQCJ6ensLKlSuVy/Ly8gSpVCp888035giRrNSTTz4pTJw4UWXZ6NGjhZiYGEEQeO5QQwCE3bt3K3/X5RxJT08XAAgpKSnKbQ4cOCBIJBLh5s2bZombLUlmUFFRgdTUVERGRiqX2djYIDIyEklJSRaMjKxZfn4+AKBVq1YAgNTUVFRWVqqcR0FBQfDx8eF5RJg6dSqefPJJlfMD4HlD6u3duxd9+/bFM888g7Zt26JXr17YvHmzcv21a9eQnZ2tct7I5XL079+f580D7pFHHkF8fDz+/vtvAMDZs2dx7NgxREVFAeC5Q43T5RxJSkqCm5sb+vbtq9wmMjISNjY2SE5ONkucdmY5ygPuzp07qK6uhoeHh8pyDw8PXLhwwUJRkTVTKBSYMWMGBgwYgO7duwMAsrOz4eDgADc3N5VtPTw8kJ2dbYEoyVp8++23OH36NFJSUhqs43lD6ly9ehUbNmzArFmz8M9//hMpKSmYPn06HBwcMH78eOW5oe6+xfPmwTZ37lwUFBQgKCgItra2qK6uxpIlSxATEwMAPHeoUbqcI9nZ2Wjbtq3Kejs7O7Rq1cps5xGTJCIrNHXqVJw/fx7Hjh2zdChk5W7cuIE33ngDBw8ehKOjo6XDoSZCoVCgb9+++OCDDwAAvXr1wvnz57Fx40aMHz/ewtGRNfv++++xfft27NixA926dUNaWhpmzJiBdu3a8dyhZoXd7cygTZs2sLW1bTCbVE5ODjw9PS0UFVmr2NhY7Nu3D4cPH0aHDh2Uyz09PVFRUYG8vDyV7XkePdhSU1ORm5uL3r17w87ODnZ2djhy5AjWrFkDOzs7eHh48LyhBry8vBAcHKyyrGvXrsjMzAQA5bnB+xbV99Zbb2Hu3Ll47rnn0KNHD4wbNw4zZ87E0qVLAfDcocbpco54eno2mNysqqoK9+7dM9t5xCTJDBwcHNCnTx/Ex8crlykUCsTHxyMsLMyCkZE1EQQBsbGx2L17N37//Xf4+fmprO/Tpw/s7e1VzqOLFy8iMzOT59EDbMiQITh37hzS0tKUP3379kVMTIzy/zxvqL4BAwY0eMTA33//jY4dOwIA/Pz84OnpqXLeFBQUIDk5mefNA66kpAQ2NqrFR1tbWygUCgA8d6hxupwjYWFhyMvLQ2pqqnKb33//HQqFAv379zdPoGaZHoKEb7/9VpBKpcLWrVuF9PR0YfLkyYKbm5uQnZ1t6dDISkyZMkWQy+VCQkKCkJWVpfwpKSlRbvPaa68JPj4+wu+//y6cOnVKCAsLE8LCwiwYNVmjurPbCQLPG2ro5MmTgp2dnbBkyRLh0qVLwvbt2wVnZ2dh27Ztym2WLVsmuLm5CT/++KPw559/CiNHjhT8/PyE0tJSC0ZOljZ+/Hihffv2wr59+4Rr164Ju3btEtq0aSPMmTNHuQ3PHSosLBTOnDkjnDlzRgAgrFq1Sjhz5oxw/fp1QRB0O0eGDx8u9OrVS0hOThaOHTsmBAQECGPHjjXba2CSZEZr164VfHx8BAcHByE0NFQ4ceKEpUMiKwJA7c+WLVuU25SWlgqvv/660LJlS8HZ2Vl4+umnhaysLMsFTVapfpLE84bU+emnn4Tu3bsLUqlUCAoKEj777DOV9QqFQoiLixM8PDwEqVQqDBkyRLh48aKFoiVrUVBQILzxxhuCj4+P4OjoKPj7+wvz588XysvLldvw3KHDhw+rLdOMHz9eEATdzpG7d+8KY8eOFWQymeDq6iq89NJLQmFhodleg0QQ6jwimYiIiIiI6AHHMUlERERERER1MEkiIiIiIiKqg0kSERERERFRHUySiIiIiIiI6mCSREREREREVAeTJCIiIiIiojqYJBEREREREdXBJImIiIiIiKgOJklERNSk+fr6YvXq1ZYOA4MGDcKMGTMsHQYRERkBkyQiIjLI7du3MWXKFPj4+EAqlcLT0xPDhg1DYmKichtfX19IJBKcOHFC5W9nzJiBQYMGKX9fuHAhJBIJJBIJ7Ozs4Ovri5kzZ6KoqMhcL6dRCQkJkEgkyMvLU1m+a9cuLF682DJBERGRUdlZOgAiImraoqOjUVFRgS+//BL+/v7IyclBfHw87t69q7Kdo6Mj3n77bRw5ckTr/rp164ZDhw6hqqoKiYmJmDhxIkpKSrBp0yZTvgyDtWrVytIhEBGRkbAliYiIRMvLy8Mff/yB5cuXIyIiAh07dkRoaCjmzZuHp556SmXbyZMn48SJE/j555+17tPOzg6enp7o0KEDxowZg5iYGOzdu1fnmDIzMzFy5EjIZDK4urri2WefRU5Ojso2P/30E/r16wdHR0e0adMGTz/9tHLd119/jb59+8LFxQWenp54/vnnkZubCwD4z3/+g4iICABAy5YtIZFIMGHCBAANu9vdv38fL774Ilq2bAlnZ2dERUXh0qVLyvVbt26Fm5sbfv31V3Tt2hUymQzDhw9HVlaWzq+ViIhMg0kSERGJJpPJIJPJsGfPHpSXl2vd1s/PD6+99hrmzZsHhUKh8zGcnJxQUVGh07YKhQIjR47EvXv3cOTIERw8eBBXr17FmDFjlNvs378fTz/9NJ544gmcOXMG8fHxCA0NVa6vrKzE4sWLcfbsWezZswf/+c9/lImQt7c3/v3vfwMALl68iKysLHzyySdqY5kwYQJOnTqFvXv3IikpCYIg4IknnkBlZaVym5KSEnz44Yf4+uuvcfToUWRmZmL27Nk6vzdERGQa7G5HRESi2dnZYevWrZg0aRI2btyI3r17Izw8HM899xx69uzZYPt33nkHW7Zswfbt2zFu3LhG95+amoodO3Zg8ODBOsUTHx+Pc+fO4dq1a/D29gYAfPXVV+jWrRtSUlLQr18/LFmyBM899xwWLVqk/LuQkBDl/ydOnKj8v7+/P9asWYN+/fqhqKgIMplM2a2ubdu2cHNzUxvHpUuXsHfvXiQmJuKRRx4BAGzfvh3e3t7Ys2cPnnnmGQA1CdnGjRvRqVMnAEBsbCzee+89nV4rERGZDluSiIjIINHR0bh16xb27t2L4cOHIyEhAb1798bWrVsbbOvu7o7Zs2fj3Xff1dg6dO7cOchkMjg5OSE0NBRhYWFYt26dTrFkZGTA29tbmSABQHBwMNzc3JCRkQEASEtLw5AhQzTuIzU1FSNGjICPjw9cXFwQHh4OoKYbn64yMjJgZ2eH/v37K5e1bt0aXbp0UcYBAM7OzsoECQC8vLyUXfuIiMhymCQREZHBHB0dMXToUMTFxeH48eOYMGECFixYoHbbWbNmobS0FOvXr1e7vkuXLkhLS0NGRgZKS0uxd+9eeHh4GC1WJycnjeuKi4sxbNgwuLq6Yvv27UhJScHu3bsBQOcuf/qwt7dX+V0ikUAQBKMfh4iI9MMkiYiIjC44OBjFxcVq18lkMsTFxWHJkiUoLCxssN7BwQGdO3eGr68vHBwc9Dpu165dcePGDdy4cUO5LD09HXl5eQgODgYA9OzZE/Hx8Wr//sKFC7h79y6WLVuGxx57DEFBQQ1admpjqq6u1hpHVVUVkpOTlcvu3r2LixcvKuMgIiLrxSSJiIhEu3v3LgYPHoxt27bhzz//xLVr17Bz506sWLECI0eO1Ph3kydPhlwux44dO4waT2RkJHr06IGYmBicPn0aJ0+exIsvvojw8HD07dsXALBgwQJ88803WLBgATIyMnDu3DksX74cAODj4wMHBwesXbsWV69exd69exs8+6hjx46QSCTYt28fbt++rfYZTgEBARg5ciQmTZqEY8eO4ezZs3jhhRfQvn17re8LERFZByZJREQkmkwmQ//+/fHxxx9j4MCB6N69O+Li4jBp0iSt44js7e2xePFilJWVGTUeiUSCH3/8ES1btsTAgQMRGRkJf39/fPfdd8ptBg0ahJ07d2Lv3r146KGHMHjwYJw8eRJAzZiprVu3YufOnQgODsayZcvw4Ycfqhyjffv2WLRoEebOnQsPDw/ExsaqjWXLli3o06cP/u///g9hYWEQBAE///xzgy52RERkfSQCOz8TEREREREpsSWJiIiIiIioDiZJREREREREdTBJIiIiIiIiqoNJEhERERERUR1MkoiIiIiIiOpgkkRERERERFQHkyQiIiIiIqI6mCQRERERERHVwSSJiIiIiIioDiZJREREREREdTBJIiIiIiIiquP/ATThtDmaBYS+AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax = plt.subplots(figsize=(10,2))\n", "plt.scatter(GWAS_df.index, GWAS_df['-log10p'], alpha=0.5)\n", "plt.scatter(causal_ind, GWAS_df.loc[causal_ind, '-log10p'], color = 'red', label = 'causal SNPs')\n", "plt.axhline(y=-np.log10(5e-8), color='grey', linestyle='-', linewidth=2, label = 'GWAS significance threshold')\n", "plt.legend(loc = \"best\")\n", "plt.xlabel('SNP location')\n", "plt.ylabel('-log10 p-value')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "44356f87-1843-4145-8469-9bb0bc09f0e7", "metadata": {}, "source": [ " TODO #1: Change the number of individuals (or sample size) N from 1000 to 2000 and observe the GWAS -log10 p-values change.\\\n", " TODO #2: Change the LD from 0.3 to 0.9 and observe the change in GWAS -log10 p-values." ] }, { "cell_type": "markdown", "id": "ffcbef06", "metadata": {}, "source": [ "## Fine-mapping" ] }, { "cell_type": "markdown", "id": "4dc3f2ff-07c8-46bd-991c-1fe177bf5671", "metadata": {}, "source": [ "This part of the code runs several fine-mapping methods:\n", "1. Approximate Bayes Factor (ABF): assumes single causal variant per locus, PIPs are essentially a monotonic transformation from z-scores.\n", "2. Sum of Single Effects (SuSiE): assumes multiple causal variant per locus.\n", "3. SuSiE-inf: assumes multiple larger effects while accounting for many smaller effects (infinitesimal effects) in the locus." ] }, { "cell_type": "markdown", "id": "be42e5bf", "metadata": {}, "source": [ "### ABF" ] }, { "cell_type": "code", "execution_count": 11, "id": "8a94c7ea", "metadata": {}, "outputs": [], "source": [ "# Define ABF function\n", "def run_abf(beta, stderr, W=0.04):\n", " # beta and stderr are arrays\n", " z = beta/stderr\n", " V = stderr**2\n", " r = W/(W+V)\n", " lbf = (np.log(1-r)+(r*(z**2)))/2\n", " lbf_max = np.max(lbf)\n", " denom = lbf_max + np.log(np.exp((lbf - lbf_max)).sum())\n", " prob = np.exp(lbf - denom)\n", " return lbf, prob" ] }, { "cell_type": "code", "execution_count": 12, "id": "2485f24a", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "abf_df = GWAS_df.copy()\n", "abf_df['lbf_abf'],abf_df['prob_abf'] = run_abf(GWAS_df['beta_marginal'],GWAS_df['se_marginal'])\n", "fig,ax = plt.subplots(figsize=(10,2))\n", "plt.scatter(abf_df.index, abf_df['prob_abf'], alpha=0.5)\n", "plt.scatter(causal_ind, abf_df.loc[causal_ind, 'prob_abf'], color = 'red', label = 'causal SNPs')\n", "plt.legend(loc = \"best\")\n", "plt.xlabel('SNP location')\n", "plt.ylabel('ABF PIP')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "7e70306b", "metadata": {}, "source": [ "### SuSiE" ] }, { "cell_type": "code", "execution_count": 13, "id": "e7068fb0", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1cAAADZCAYAAADMkMrFAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOqxJREFUeJzt3XlcVPX+P/DXLMyCw6YIA4qCigsuuIJkZeoULhVerbQfN9FKH5mWSqXSFc285lK3XMvym6I3vZr3UWabaSRaihuKu+ZCYrKKwrAPzJzfH3ydbyMwDMNs6Ov5eMxDzjmf85n355zPOTNvz5nPEQmCIICIiIiIiIiaROzsAIiIiIiIiO4HTK6IiIiIiIhsgMkVERERERGRDTC5IiIiIiIisgEmV0RERERERDbA5IqIiIiIiMgGmFwRERERERHZAJMrIiIiIiIiG5A6OwBXZDAYkJWVBQ8PD4hEImeHQ0RERERETiIIAoqLixEYGAix2Py1KSZXdcjKykJQUJCzwyAiIiIiIhdx48YNtG3b1mwZJld18PDwAFCzAT09PZ0cDREREREROYtWq0VQUJAxRzCHyVUd7t4K6OnpyeSKiBpkqKrGrR9/RtXNLLi1CYTvCA3Ebjy9EhER3U8s+bmQUwe0OHDgAJ566ikEBgZCJBJh586dDa6TkpKCvn37Qi6Xo1OnTkhKSqpVZu3atQgODoZCoUBkZCSOHj1q++CJiABkb9yC0jZB8IsZgTavvgS/mBEobROE7I1bnB0aEREROZhTk6vS0lKEh4dj7dq1FpXPyMjAqFGjMGTIEKSnp2PmzJl4+eWX8dNPPxnLbN++HfHx8ViwYAFOnDiB8PBwREdHIy8vz17NIKIHVPbGLVC/+AJU+Tkm81X5OVC/+AITLCIiogeMSBAEwdlBADWX2b7++muMHj263jJz5szB999/j7NnzxrnjR8/HoWFhdi9ezcAIDIyEgMGDMCaNWsA1Iz8FxQUhNdeew1z5861KBatVgsvLy8UFRXxtkAiqpOhqhqlbYKgys9BXTcJCABKWgegxc1M3iJIRETUjDUmN2hWn/ipqanQaDQm86KjozFz5kwAgE6nQ1paGhISEozLxWIxNBoNUlNT6623srISlZWVxmmtVmvbwInovnPrx5/hd88Vq78SAfDIz0bejz/D7+nhjguMiIgsptfrUVVV5ewwyMkkEgmkUqlNHsHUrJKrnJwc+Pv7m8zz9/eHVqtFeXk57ty5A71eX2eZixcv1lvvkiVLsHDhQrvETET3p6qbWTYtR0REjlVSUoI///wTLnITFzmZu7s7AgICIJPJmlRPs0qu7CUhIQHx8fHG6bvDLRIR1cetTaBNyxERkePo9Xr8+eefcHd3R+vWrW1yxYKaJ0EQoNPpkJ+fj4yMDISGhjb4oGBzmlVypVarkZubazIvNzcXnp6eUCqVkEgkkEgkdZZRq9X11iuXyyGXy+0SMxHdn3xHaFDcWt3gb658R2jqWEpERM5UVVUFQRDQunVrKJVKZ4dDTqZUKuHm5obr169Dp9NBoVBYXZdTRwtsrKioKCQnJ5vM27t3L6KiogAAMpkM/fr1MyljMBiQnJxsLENEZAtiNylKln0AQIR7byipmRahZNn7HMyCiMiF8YoV3dWUq1Um9dikFiuVlJQgPT0d6enpAGqGWk9PT0dmZiaAmtv1JkyYYCz/yiuv4Nq1a5g9ezYuXryIjz/+GF9++SVmzZplLBMfH4/169dj06ZNuHDhAqZOnYrS0lJMmjTJoW0jovtfwKRY5Gz4N0pam14ZL2kdgJwN/0bApFgnRUZERETO4NT/Uj1+/DiGDBlinL77u6e4uDgkJSUhOzvbmGgBQEhICL7//nvMmjULK1euRNu2bfE///M/iI6ONpYZN24c8vPzMX/+fOTk5KB3797YvXt3rUEuiIhsIWBSLAx/H4e8H39G1c0suLUJhO8IDTx4xYqIiOiB4zLPuXIlfM4VERER0f2roqICGRkZCAkJadLva6g2S55d64rM9YnG5AbN6jdXRERERETUfOXn52Pq1Klo164d5HI51Go1oqOjcfDgQWOZ4OBgiEQiHD582GTdmTNn4rHHHjNOv/POOxCJRBCJRJBKpQgODsasWbNQUlLiqObUwvtWiIiIiIisodcDv/4KZGcDAQHAI48AEomzo3JpY8eOhU6nw6ZNm9ChQwfk5uYiOTkZBQUFJuUUCgXmzJmD/fv3m62ve/fu+Pnnn1FdXY2DBw/ixRdfRFlZGT799FN7NqNevHJFRERERNRYX30FBAcDQ4YA/+//1fwbHFwz304MBgOWL1+OTp06QS6Xo127dli8eLFx+Zw5c9C5c2e4u7ujQ4cOSExMRFVVlXH5xIkTa92ud+/VoP/+97/o2bMnlEolWrVqBY1Gg9LSUgDAsWPH8Pjjj8PX1xdeXl4YPHgwTpw4YXH8hYWF+PXXX7Fs2TIMGTIE7du3R0REBBISEvD000+blJ0yZQoOHz6MH374wWydUqkUarUabdu2xbhx4xAbG4tdu3YBAE6dOoUhQ4bAw8MDnp6e6NevH44fP25xvNZgckVERERE1BhffQU88wzw55+m82/erJlvpwQrISEBS5cuRWJiIs6fP4+tW7eaDNrm4eGBpKQknD9/HitXrsT69evx0UcfWVx/dnY2nn/+ebz44ou4cOECUlJSMGbMGNwdoqG4uBhxcXH47bffcPjwYYSGhmLkyJEoLi62qH6VSgWVSoWdO3eisrLSbNmQkBC88sorSEhIgMFgsLgNSqUSOp0OABAbG4u2bdvi2LFjSEtLw9y5c+Hm5mZxXdbgbYFERERERJbS64EZM4C6xoQTBEAkAmbOBGJibHqLYHFxMVauXIk1a9YgLi4OANCxY0c8/PDDxjLz5s0z/h0cHIw333wT27Ztw+zZsy16j+zsbFRXV2PMmDFo3749AKBnz57G5UOHDjUp/9lnn8Hb2xv79+/Hk08+2WD9UqkUSUlJmDx5MtatW4e+ffti8ODBGD9+PHr16lWr/Lx587Bx40Zs2bIFL7zwQoP1p6WlYevWrcY4MzMz8dZbb6Fr164AgNDQ0AbraCpeuSIiIiIistSvv9a+YvVXggDcuFFTzoYuXLiAyspKDBs2rN4y27dvx6BBg6BWq6FSqTBv3jyTxxo1JDw8HMOGDUPPnj3x7LPPYv369bhz545xeW5uLiZPnozQ0FB4eXnB09MTJSUljXqPsWPHIisrC7t27cLw4cORkpKCvn37IikpqVbZ1q1b480338T8+fONV6PudebMGahUKiiVSkRERCAqKgpr1qwBUPOYp5dffhkajQZLly7F1atXLY7TWkyuiIiIiIgslZ1t23IWUiqVZpenpqYiNjYWI0eOxHfffYeTJ0/iH//4h0lSIhaLce9TmP76myyJRIK9e/fixx9/RFhYGFavXo0uXbogIyMDQM2zaNPT07Fy5UocOnQI6enpaNWqVb2JT30UCgUef/xxJCYm4tChQ5g4cSIWLFhQZ9n4+HiUl5fj448/rnN5ly5dkJ6ejgsXLqC8vBy7du0y3ir5zjvv4Ny5cxg1ahR++eUXhIWF4euvv25UrI3F5IqIiIiIyFIBAbYtZ6HQ0FAolUokJyfXufzQoUNo3749/vGPf6B///4IDQ3F9evXTcq0bt0a2fckfenp6SbTIpEIgwYNwsKFC3Hy5EnIZDJjQnLw4EG8/vrrGDlyJLp37w65XI5bt241uW1hYWHGQTPupVKpkJiYiMWLF9f52y6ZTIZOnTohODgYMpms1vLOnTtj1qxZ2LNnD8aMGYONGzc2OV5zmFwREREREVnqkUeAtm1rfltVF5EICAqqKWdDd4cmnz17NjZv3oyrV6/i8OHD+PzzzwHUJF+ZmZnYtm0brl69ilWrVtW6SjN06FAcP34cmzdvxuXLl7FgwQKcPXvWuPzIkSN47733cPz4cWRmZuKrr75Cfn4+unXrZnyPf//737hw4QKOHDmC2NjYBq+o/VVBQQGGDh2KL774AqdPn0ZGRgZ27NiB5cuXIyYmpt71pkyZAi8vL2zdutXi9yovL8f06dORkpKC69ev4+DBgzh27JixLfbC5IqIiIiIyFISCbByZc3f9yZYd6dXrLDL864SExPxxhtvYP78+ejWrRvGjRuHvLw8AMDTTz+NWbNmYfr06ejduzcOHTqExMREk/Wjo6ORmJiI2bNnY8CAASguLsaECROMyz09PXHgwAGMHDkSnTt3xrx58/Cvf/0LI0aMAAB8/vnnuHPnDvr27YsXXngBr7/+Ovz8/CyOX6VSITIyEh999BEeffRR9OjRA4mJiZg8ebLxd1J1cXNzw6JFi1BRUWHxe0kkEhQUFGDChAno3LkznnvuOYwYMQILFy60uA5riIR7b7wkaLVaeHl5oaioCJ6ens4Oh4iIiIhsqKKiAhkZGQgJCYFCobCukq++qhk18K+DWwQF1SRWY8bYJE5yHHN9ojG5AYdiJyIiIiJqrDFjaoZb//XXmsErAgJqbgW0wxUraj6YXBERERERWUMiAR57zNlRkAvhb66IiIiIiIhsgMkVERERERGRDTC5IiIiIqIHEsd1o7ts1ReYXBERERHRA0Xyv4NO6HQ6J0dCrqKsrAxAzbDvTcEBLYiIiIjogSKVSuHu7o78/Hy4ublBLOb1hgeVIAgoKytDXl4evL29jYm3tZhcEREREdEDRSQSISAgABkZGbh+/bqzwyEX4O3tDbVa3eR6mFwRERER0QNHJpMhNDSUtwYS3NzcmnzF6i4mV0RERET0QBKLxVAoFM4Og+4jvMGUiIiIiIjIBphcERERERER2QCTKyIiIiIiIhtwieRq7dq1CA4OhkKhQGRkJI4ePVpv2cceewwikajWa9SoUcYyEydOrLV8+PDhjmgKERERERE9oJw+oMX27dsRHx+PdevWITIyEitWrEB0dDQuXboEPz+/WuW/+uork1FdCgoKEB4ejmeffdak3PDhw7Fx40bjtFwut18jiIiIiIjogef0K1cffvghJk+ejEmTJiEsLAzr1q2Du7s7NmzYUGf5li1bQq1WG1979+6Fu7t7reRKLpeblPPx8XFEc4iIiIiI6AHl1ORKp9MhLS0NGo3GOE8sFkOj0SA1NdWiOj7//HOMHz8eLVq0MJmfkpICPz8/dOnSBVOnTkVBQUG9dVRWVkKr1Zq8iIiIiIiIGsOpydWtW7eg1+vh7+9vMt/f3x85OTkNrn/06FGcPXsWL7/8ssn84cOHY/PmzUhOTsayZcuwf/9+jBgxAnq9vs56lixZAi8vL+MrKCjI+kYREREREdEDyem/uWqKzz//HD179kRERITJ/PHjxxv/7tmzJ3r16oWOHTsiJSUFw4YNq1VPQkIC4uPjjdNarZYJFhERERERNYpTr1z5+vpCIpEgNzfXZH5ubi7UarXZdUtLS7Ft2za89NJLDb5Phw4d4OvriytXrtS5XC6Xw9PT0+RFRERERETUGE5NrmQyGfr164fk5GTjPIPBgOTkZERFRZldd8eOHaisrMTf//73Bt/nzz//REFBAQICApocMxERERERUV0adVvgH3/8gb1790Kn02Hw4MHo0aNHkwOIj49HXFwc+vfvj4iICKxYsQKlpaWYNGkSAGDChAlo06YNlixZYrLe559/jtGjR6NVq1Ym80tKSrBw4UKMHTsWarUaV69exezZs9GpUydER0c3OV4iIiIiIqK6WJxc7du3D08++STKy8trVpRKsWHDBouuHJkzbtw45OfnY/78+cjJyUHv3r2xe/du4yAXmZmZEItNL7BdunQJv/32G/bs2VOrPolEgtOnT2PTpk0oLCxEYGAgnnjiCSxatIjPuiIiIiIiIrsRCYIgWFLw4Ycfhq+vLz755BMoFArMmzcPX3/9NbKysuwdo8NptVp4eXmhqKiIv78iIiIiInqANSY3sDi58vb2xqFDhxAWFgYAKCsrg6enJ3Jzc2vdmtfcMbkiIiIiIiKgcbmBxQNaaLVa+Pr6Gqfd3d2hVCpRVFRkfaRERERERET3iUYNaPHTTz/By8vLOH13ZL+zZ88a5z399NO2i46IiIiIiKiZsPi2wHsHlaizMpEIer2+yUE5G28LJCIiIiIioHG5gcVXrgwGQ5MDIyIiIiIiul859SHCRERERERE9wuLr1zt2rXLonL8zRURERERET2ILE6uRo8e3WCZ++U3V0RERERERI3F31wRERERERHZQKN/c1VZWYnS0lJ7xEJERERERNRsWZxc5efnY8SIEVCpVPD09MTAgQNx5coVe8ZGRERERETUbFicXM2ZMwfp6el499138cEHH6CwsBCTJ0+2Z2xERERERETNhsW/udq7dy+SkpIQHR0NAHjyySfRrVs3VFZWQi6X2y1AIiIiIiKi5sDiK1dZWVkIDw83ToeGhkIulyM7O9sugRERERERETUnjRrQQiKR1JoWBMGmARERERERETVHFt8WKAgCOnfuDJFIZJxXUlKCPn36QCz+vxzt9u3bto2QiIiIiIioGbA4udq4caM94yAiIiIiImrWLE6u4uLi7BkHERERERFRs9bohwgTERERERFRbUyuiIiIiIiIbIDJFRERERERkQ0wuSIiIiIiIrIBJldEREREREQ2YHFyFRYWZvIMq1dffRW3bt0yTufl5cHd3d220RERERERETUTFidXFy9eRHV1tXH6iy++gFarNU4LgoCKigqrgli7di2Cg4OhUCgQGRmJo0eP1ls2KSkJIpHI5KVQKEzKCIKA+fPnIyAgAEqlEhqNBpcvX7YqNiIiIiIiIktYfVugIAi15olEokbXs337dsTHx2PBggU4ceIEwsPDER0djby8vHrX8fT0RHZ2tvF1/fp1k+XLly/HqlWrsG7dOhw5cgQtWrRAdHS01ckfERERERFRQ5z+m6sPP/wQkydPxqRJkxAWFoZ169bB3d0dGzZsqHcdkUgEtVptfPn7+xuXCYKAFStWYN68eYiJiUGvXr2wefNmZGVlYefOnQ5oERERERERPYgsTq7u3oJ377ym0Ol0SEtLg0aj+b+AxGJoNBqkpqbWu15JSQnat2+PoKAgxMTE4Ny5c8ZlGRkZyMnJManTy8sLkZGR9dZZWVkJrVZr8iIiIiIiImoMqaUFBUHAsGHDIJXWrFJeXo6nnnoKMpkMAEx+j2WpW7duQa/Xm1x5AgB/f39cvHixznW6dOmCDRs2oFevXigqKsIHH3yAhx56COfOnUPbtm2Rk5NjrOPeOu8uu9eSJUuwcOHCRsdPRERERER0l8XJ1YIFC0ymY2JiapUZO3Zs0yNqQFRUFKKioozTDz30ELp164ZPP/0UixYtsqrOhIQExMfHG6e1Wi2CgoKaHCsRERERET04rE6ubMHX1xcSiQS5ubkm83Nzc6FWqy2qw83NDX369MGVK1cAwLhebm4uAgICTOrs3bt3nXXI5XLI5XIrWkBERERERFTDqQNayGQy9OvXD8nJycZ5BoMBycnJJlenzNHr9Thz5owxkQoJCYFarTapU6vV4siRIxbXSURERERE1FgWXbnq27cvkpOT4ePjgz59+pgdyOLEiRONCiA+Ph5xcXHo378/IiIisGLFCpSWlmLSpEkAgAkTJqBNmzZYsmQJAODdd9/FwIED0alTJxQWFuL999/H9evX8fLLLwOoGWRj5syZ+Oc//4nQ0FCEhIQgMTERgYGBGD16dKNiIyIiIiIispRFyVVMTIzxtjlbJyjjxo1Dfn4+5s+fj5ycHPTu3Ru7d+82DkiRmZkJsfj/LrDduXMHkydPRk5ODnx8fNCvXz8cOnQIYWFhxjKzZ89GaWkppkyZgsLCQjz88MPYvXt3rYcNExERERER2YpIqOtpwA84rVYLLy8vFBUVwdPT09nhEBERERGRkzQmN7B4QIu6VFRUYPv27SgtLcXjjz+O0NDQplRHRERERETUbFmcXMXHx6OqqgqrV68GUPMA4IEDB+L8+fNwd3fH7NmzsWfPHjz00EN2C5aIiIiIiMhVWTxa4J49e/D4448bp7ds2YLMzExcvnwZd+7cwbPPPovFixfbJUgiIiIiIiJXZ3FylZmZaTJoxJ49e/DMM8+gffv2EIlEmDFjBk6ePGmXIImIiIiIiFydxcmVWCzGX8e+OHz4MAYOHGic9vb2xp07d2wbHRERERERUTNhcXLVrVs3fPvttwCAc+fOITMzE0OGDDEuv379unH4dCIiIiIiogeNxQNazJ49G+PHj8f333+Pc+fOYeTIkQgJCTEu/+GHHxAREWGXIImIiIiIiFydxVeu/va3v+GHH35Ar169MGvWLGzfvt1kubu7O1599VWbB0hERERERNQc8CHCdeBDhImIiIiICLDzQ4QPHDhgdvmjjz7a2CqJiIiIiIiavUYnV4899liteSKRyPi3Xq9vUkBERERERETNkcW/ubrrzp07Jq+8vDzs3r0bAwYMwJ49e+wRIxERERERkctr9JUrLy+vWvMef/xxyGQyxMfHIy0tzSaBERERERERNSeNvnJVH39/f1y6dMlW1RERERERETUrjb5ydfr0aZNpQRCQnZ2NpUuXonfv3raKi4iIiIiIqFlpdHLVu3dviEQi3DuC+8CBA7FhwwabBUZERERERNScNDq5ysjIMJkWi8Vo3bo1FAqFzYIiIiIiIiJqbhqdXLVv394ecRARERERETVrFg9okZqaiu+++85k3ubNmxESEgI/Pz9MmTIFlZWVNg+QiIiIiIioObA4uXr33Xdx7tw54/SZM2fw0ksvQaPRYO7cufj222+xZMkSuwRJRERERETk6ixOrtLT0zFs2DDj9LZt2xAZGYn169cjPj4eq1atwpdffmmXIImIiIiIiFydxcnVnTt34O/vb5zev38/RowYYZweMGAAbty4YdvoiIiIiIiImgmLkyt/f3/jSIE6nQ4nTpzAwIEDjcuLi4vh5uZm+wiJiIiIiIiaAYuTq5EjR2Lu3Ln49ddfkZCQAHd3dzzyyCPG5adPn0bHjh3tEiQREREREZGrszi5WrRoEaRSKQYPHoz169dj/fr1kMlkxuUbNmzAE088YVUQa9euRXBwMBQKBSIjI3H06NF6y65fvx6PPPIIfHx84OPjA41GU6v8xIkTIRKJTF7Dhw+3KjYiIiIiIiJLWPycK19fXxw4cABFRUVQqVSQSCQmy3fs2AGVStXoALZv3474+HisW7cOkZGRWLFiBaKjo3Hp0iX4+fnVKp+SkoLnn38eDz30EBQKBZYtW4YnnngC586dQ5s2bYzlhg8fjo0bNxqn5XJ5o2MjIiIiIiKylEgQBMGZAURGRmLAgAFYs2YNAMBgMCAoKAivvfYa5s6d2+D6er0ePj4+WLNmDSZMmACg5spVYWEhdu7caVVMWq0WXl5eKCoqgqenp1V1EBERERFR89eY3MDi2wLtQafTIS0tDRqNxjhPLBZDo9EgNTXVojrKyspQVVWFli1bmsxPSUmBn58funTpgqlTp6KgoMCmsRMREREREf2VxbcF2sOtW7eg1+tNhngHakYmvHjxokV1zJkzB4GBgSYJ2vDhwzFmzBiEhITg6tWrePvttzFixAikpqbWup0RACorK1FZWWmc1mq1VraIiIiIiIgeVE5Nrppq6dKl2LZtG1JSUqBQKIzzx48fb/y7Z8+e6NWrFzp27IiUlBSTByHftWTJEixcuNAhMRMRERER0f3JqbcF+vr6QiKRIDc312R+bm4u1Gq12XU/+OADLF26FHv27EGvXr3Mlu3QoQN8fX1x5cqVOpcnJCSgqKjI+OLDkImIiIiIqLGcmlzJZDL069cPycnJxnkGgwHJycmIioqqd73ly5dj0aJF2L17N/r379/g+/z5558oKChAQEBAncvlcjk8PT1NXkRERERERI3h1OQKAOLj47F+/Xps2rQJFy5cwNSpU1FaWopJkyYBACZMmICEhARj+WXLliExMREbNmxAcHAwcnJykJOTg5KSEgBASUkJ3nrrLRw+fBh//PEHkpOTERMTg06dOiE6OtopbSQiIiIiovuf039zNW7cOOTn52P+/PnIyclB7969sXv3buMgF5mZmRCL/y8H/OSTT6DT6fDMM8+Y1LNgwQK88847kEgkOH36NDZt2oTCwkIEBgbiiSeewKJFi/isKyIiIiIishunP+fKFfE5V0REREREBDSj51wRERERERHdL5hcERERERER2QCTKyIiIiIiIhtgckVERERERGQDTK6IiIiIiIhsgMkVERERERGRDTC5IiIiIiIisgEmV0RERERERDbA5IqIiIiIiMgGmFwRERERERHZAJMrIiIiIiIiG2ByRUREREREZANMroiIiIiIiGyAyRUREREREZENMLkiIiIiIiKyASZXRERERERENsDkioiIiIiIyAaYXBEREREREdkAkysiIiIiIiIbYHJFRERERERkA1JnB0BERHS/MhgE3CwsR6muGi1kUrTxVkIsFjk7LCIishMmV0RE9MBwZLJzJa8YP53NxdX8ElRU66GQStCxtQrRPfzRyc/DLu9J9sEkmVwJ+6NrY3L1ALL2oHwQDuYHfdu4Uvvvl23qDOa2nT2WOaMd1mgo2bFl+6/kFWPjwT9wu1SHAC8F3GVKlOmqcTarCFlF5Zg0KLjBBMvR29we+78pbXCV/uiKSbIrnR+bsp9cqR3NhTP6o72ORVc5xm2NyZULs8eXIGu/XNjrS4m9vuhZs+79sm3uh/Zb8uHhan3OkcextdsOgM2X2auP27pfXbtVYjbZ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "beta_rvec = rpy2.rinterface.FloatSexpVector(GWAS_df['beta_marginal'].values)\n", "se_rvec = rpy2.rinterface.FloatSexpVector(GWAS_df['se_marginal'].values)\n", "var_y = np.var(y)\n", "nr,nc = LD.shape\n", "LD_rvec = ro.r.matrix(in_sample_LD, nrow=nr, ncol=nc)\n", "\n", "allowed_causal = L+1\n", "with localconverter(ro.default_converter + np_cv_rules) as cv:\n", " susie_results = susieR.susie_rss(bhat = beta_rvec, \n", " shat = se_rvec, n = N, R = LD_rvec,\n", " var_y = var_y, L = allowed_causal, estimate_residual_variance = True)\n", "susie_df = GWAS_df.copy()\n", "susie_df['prob_susie'] = susie_results['pip']\n", "\n", "fig,ax = plt.subplots(figsize=(10,2))\n", "plt.scatter(susie_df.index, susie_df['prob_susie'], alpha=0.5)\n", "plt.scatter(causal_ind, susie_df.loc[causal_ind, 'prob_susie'], color = 'red', label = 'causal SNPs')\n", "plt.legend(loc = \"best\")\n", "plt.xlabel('SNP position')\n", "plt.ylabel('SuSiE PIP')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "edfe0f98-7d6d-49b9-83d1-718e06f1842a", "metadata": {}, "source": [ "### SuSiE-inf" ] }, { "cell_type": "code", "execution_count": 14, "id": "d528f265", "metadata": {}, "outputs": [ { "data": { "image/png": "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t25dRUVFqaCgQJK0fft23XfffapXr578/f3Vo0cP7dy50+b4s7Oz9cMPP2jGjBnq2bOnmjRpoi5duiguLk4PPfSQVd9Ro0Zpy5Yt+uqrr8oc083NTcHBwWrUqJGGDBmimJgYrV69WpK0e/du9ezZU7Vr15afn586duyoHTt22BxvRVBcAQAAAOXx6afSww9Lx49bX//tt8vXK6nAiouL0/Tp0xUfH68DBw5o6dKlVpu21a5dW4mJiTpw4IBmz56thQsX6q233rJ5/JMnT+rRRx/VE088oYMHD2r9+vUaNGiQrmzRkJeXp+HDh2vjxo3asmWLIiIi1K9fP+Xl5dk0vq+vr3x9fbVq1SoVFhaW2Tc8PFyjR49WXFyczGazzTl4e3urqKhIkhQTE6NGjRpp+/btSklJ0YQJE+Tu7m7zWBXBbYEAAACArYqLpeeek0rbE84wJJNJGjtWGjDArrcI5uXlafbs2Zo3b56GDx8uSbr11lt11113WfpMnDjR8uewsDC98MILWrZsmcaPH2/Td5w8eVKXLl3SoEGD1KRJE0lS69atLe29evWy6v/vf/9bAQEB2rBhgx544IHrju/m5qbExESNHDlSCxYsUIcOHdSjRw8NHTpUbdq0KdF/4sSJWrRokT766CM99thj1x0/JSVFS5cutcSZnp6uF198UbfffrskKSIi4rpj3ChWrgAAAABb/fBDyRWrPzIM6dixy/3s6ODBgyosLFTv3r2v2Wf58uXq3r27goOD5evrq4kTJ1oda3Q9bdu2Ve/evdW6dWs98sgjWrhwoc6ePWtpz8zM1MiRIxURESF/f3/5+fkpPz+/XN8xePBgnThxQqtXr1afPn20fv16dejQQYmJiSX61q9fXy+88IImTZpkWY262t69e+Xr6ytvb2916dJF3bp107x58yRdPubpySefVFRUlKZPn64jR47YHGdFUVwBAAAAtjp50r79bOTt7V1me3JysmJiYtSvXz998cUX2rVrl/7xj39YFSUuLi66+hSmPz6T5erqqnXr1unrr79Wy5YtNXfuXN12221KS0uTdPks2tTUVM2ePVubN29Wamqq6tate83C51q8vLx03333KT4+Xps3b9bjjz+uyZMnl9o3NjZW58+f19tvv11q+2233abU1FQdPHhQ58+f1+rVqy23Sr7yyivav3+/+vfvr2+//VYtW7bUypUryxVreVFcAQAAALYKCbFvPxtFRETI29tbSUlJpbZv3rxZTZo00T/+8Q916tRJEREROnr0qFWf+vXr6+RVRV9qaqrVe5PJpO7du2vKlCnatWuXPDw8LAXJpk2b9Oyzz6pfv35q1aqVPD09dfr06RvOrWXLlpZNM67m6+ur+Ph4TZs2rdRnuzw8PNSsWTOFhYXJw8OjRHvz5s01btw4rV27VoMGDdKiRYtuON6yUFwBAAAAtrr7bqlRo8vPVpXGZJJCQy/3s6MrW5OPHz9eS5Ys0ZEjR7Rlyxa99957ki4XX+np6Vq2bJmOHDmiOXPmlFil6dWrl3bs2KElS5bop59+0uTJk7Vv3z5L+9atW/X6669rx44dSk9P16effqpTp06pRYsWlu/44IMPdPDgQW3dulUxMTHXXVH7ozNnzqhXr1768MMPtWfPHqWlpWnFihWaOXOmBgwYcM3PjRo1Sv7+/lq6dKnN33X+/HmNGTNG69ev19GjR7Vp0yZt377dkktlobgCAAAAbOXqKs2effnPVxdYV97PmlUp513Fx8fr+eef16RJk9SiRQsNGTJEWVlZkqSHHnpI48aN05gxY9SuXTtt3rxZ8fHxVp+Pjo5WfHy8xo8fr86dOysvL0/Dhg2ztPv5+en7779Xv3791Lx5c02cOFH/+te/1LdvX0nSe++9p7Nnz6pDhw567LHH9OyzzyowMNDm+H19fRUZGam33npL99xzj+644w7Fx8dr5MiRluekSuPu7q6pU6fqwoULNn+Xq6urzpw5o2HDhql58+b685//rL59+2rKlCk2j1ERJuPqGy+h3Nxc+fv7KycnR35+fo4OBwAAAHZ04cIFpaWlKTw8XF5eXhUb5NNPL+8a+MfNLUJDLxdWgwbZJU5UnbLmRHlqA7ZiBwAAAMpr0KDL263/8MPlzStCQi7fClgJK1aoPiiuAAAAgIpwdZXuvdfRUcCJ8MwVAAAAANgBxRUAAAAA2AHFFQAAAGok9nXDFfaaCxRXAAAAqFFc/2/TiaKiIgdHAmdx7tw5SZe3fb8RbGgBAACAGsXNzU0+Pj46deqU3N3d5eLCekNNZRiGzp07p6ysLAUEBFgK74qiuAIAAECNYjKZFBISorS0NB09etTR4cAJBAQEKDg4+IbHobgCAABAjePh4aGIiAhuDYTc3d1veMXqCoorAAAA1EguLi7y8vJydBi4idh8g2lBQYGeeuopNWzYUPXr19fQoUN16tSpyowNAAAAAKoNm4ur+Ph4ffDBB3rggQcUExOjb7/9VqNGjarM2AAAAACg2rD5tsCVK1dq0aJFeuSRRyRJjz32mLp27apLly7JzY27CwEAAADUbDavXB0/flzdu3e3vO/YsaPc3d114sSJGw5i/vz5CgsLk5eXlyIjI7Vt27Zr9r333ntlMplKvPr372/p8/jjj5do79Onzw3HCQAAAADXYvOSk9lsLnGolpubm4qLi28ogOXLlys2NlYLFixQZGSkZs2apejoaB0+fFiBgYEl+n/66adWu7qcOXNGbdu2tayoXdGnTx8tWrTI8t7T0/OG4gQAAACAsthcXBmGod69e1vdAnju3Dk9+OCD8vDwsFzbuXNnuQJ48803NXLkSI0YMUKStGDBAn355Zd6//33NWHChBL9b7nlFqv3y5Ytk4+PT4niytPT0y571QMAAACALWwuriZPnlzi2oABA27oy4uKipSSkqK4uDjLNRcXF0VFRSk5OdmmMd577z0NHTpUtWrVsrq+fv16BQYGqk6dOurVq5dee+011a1bt9QxCgsLVVhYaHmfm5tbgWwAAAAA1GQ3VFzdqNOnT6u4uFhBQUFW14OCgnTo0KHrfn7btm3at2+f3nvvPavrffr00aBBgxQeHq4jR47o5ZdfVt++fZWcnFzqAWEJCQmaMmXKjSUDAAAAoEar1tv8vffee2rdurW6dOlidX3o0KGWP7du3Vpt2rTRrbfeqvXr16t3794lxomLi1NsbKzlfW5urkJDQysvcAAAAAA3HZuLq/bt28tkMl23X3meuapXr55cXV2VmZlpdT0zM/O6z0sVFBRo2bJlevXVV6/7PU2bNlW9evX0888/l1pceXp6suEFAAAAgBtic3E1cOBAu3+5h4eHOnbsqKSkJMv4ZrNZSUlJGjNmTJmfXbFihQoLC/XXv/71ut9z/PhxnTlzRiEhIfYIGwAAAABKMBmGYTgygOXLl2v48OF699131aVLF82aNUsff/yxDh06pKCgIA0bNkwNGzZUQkKC1efuvvtuNWzYUMuWLbO6np+frylTpmjw4MEKDg7WkSNHNH78eOXl5Wnv3r02rVDl5ubK399fOTk58vPzs2u+AAAAAKqP8tQG5XrmasuWLfr8889VVFSk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hQsXWtrT0tKUkZFhNW/8/f0VGRnJvKnh7rzzTiUlJenHH3+UJO3evVsbN25U3759JTF3cH22zJHk5GQFBASoU6dOlj5RUVFycXHR1q1bqyxWtyr7JpTL6dOnVVxcrKCgIKvrQUFBOnTokIOigjMzm80aO3asunfvrjvuuEOSlJGRIQ8PDwUEBFj1DQoKUkZGhgOihLNYtmyZdu7cqe3bt5doY96gNL/88oveeecdxcbG6uWXX9b27dv17LPPysPDQ8OHD7fMjdJ+bzFvarYJEyYoNzdXt99+u1xdXVVcXKxp06YpJiZGkpg7uC5b5khGRoYCAwOt2t3c3HTLLbdU6TyiuAJuEk8//bT27dunjRs3OjoUOLljx47pueee07p16+Tl5eXocFBNmM1mderUSa+//rokqX379tq3b58WLFig4cOHOzg6OLOPP/5YH330kZYuXapWrVopNTVVY8eOVYMGDZg7uOlwW6CTqlevnlxdXUvszpWZmang4GAHRQVnNWbMGH3xxRf67rvv1KhRI8v14OBgFRUVKTs726o/86hmS0lJUVZWljp06CA3Nze5ublpw4YNmjNnjtzc3BQUFMS8QQkhISFq2bKl1bUWLVooPT1dkixzg99buNqLL76oCRMmaOjQoWrdurUee+wxjRs3TgkJCZKYO7g+W+ZIcHBwiU3fLl26pN9//71K5xHFlZPy8PBQx44dlZSUZLlmNpuVlJSkbt26OTAyOBPDMDRmzBitXLlS3377rcLDw63aO3bsKHd3d6t5dPjwYaWnpzOParDevXtr7969Sk1Ntbw6deqkmJgYy5+ZN7ha9+7dSxz18OOPP6pJkyaSpPDwcAUHB1vNm9zcXG3dupV5U8OdO3dOLi7W/8np6uoqs9ksibmD67NljnTr1k3Z2dlKSUmx9Pn2229lNpsVGRlZdcFW2dYZKLdly5YZnp6eRmJionHgwAFj1KhRRkBAgJGRkeHo0OAknnrqKcPf399Yv369cfLkScvr3Llzlj6jR482GjdubHz77bfGjh07jG7duhndunVzYNRwRn/cLdAwmDcoadu2bYabm5sxbdo046effjI++ugjw8fHx/jwww8tfaZPn24EBAQYn332mbFnzx5jwIABRnh4uHH+/HkHRg5HGz58uNGwYUPjiy++MNLS0oxPP/3UqFevnjF+/HhLH+YO8vLy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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "eigenvals,V = linalg.eigh(in_sample_LD)\n", "Dsq = N * eigenvals\n", "susieinf_results = susie(GWAS_df['z'], var_y, \n", " N, allowed_causal, V=V, Dsq=Dsq, method='MLE',\n", " tausq_range=(1e-12,1.2),\n", " est_tausq=True, est_sigmasq=True, verbose=False)\n", "susieinf_df = GWAS_df.copy()\n", "susieinf_df['prob_susieinf'] = 1 - (1-susieinf_results['PIP']).prod(axis=1)\n", "\n", "fig,ax = plt.subplots(figsize=(10,2))\n", "plt.scatter(susieinf_df.index, susieinf_df['prob_susieinf'], alpha=0.5)\n", "plt.scatter(causal_ind, susieinf_df.loc[causal_ind, 'prob_susieinf'], color = 'red', label = 'causal SNPs')\n", "plt.legend(loc = \"best\")\n", "plt.xlabel('SNP position')\n", "plt.ylabel('SuSiE-inf PIP')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "f2c932ba-f664-4b95-8bb6-9cd768839035", "metadata": {}, "source": [ " TODO #3: Change the L value at the beginning of the \"Draw effect sizes and simulation phenotype y\" section to 3, and h2g to 0.5. Reset the pairwise LD to 0.3, LD is defined before generating X. Run through the fine-mapping section and observe the results from different fine-mapping methods.\\\n", " TODO #4: Change the inf option to True. Run through the fine-mapping section and observe the results from different fine-mapping methods." ] }, { "cell_type": "markdown", "id": "e7e492c6", "metadata": {}, "source": [ "# Aggregate multiple simulations" ] }, { "cell_type": "markdown", "id": "77d56455-94df-4291-a9f4-3b4fd9fb9cbd", "metadata": {}, "source": [ "We have done single iteration simulations. Due to randomness, it's hard to gauge the performance of these methods if we only have results from a single simulation. In this section, we perform multiple iterations (in this case 100) and aggregate the results, therefore quantify the calibration and recall of the methods." ] }, { "cell_type": "markdown", "id": "7e250a3c", "metadata": {}, "source": [ "## Define functions" ] }, { "cell_type": "code", "execution_count": 15, "id": "8f6b55aa", "metadata": {}, "outputs": [], "source": [ "def sim_geno(p, LD, N):\n", " X_mean = np.zeros(p) # set the mean genotypes to be zero for each SNP, we assume X is standardized.\n", " X = np.random.multivariate_normal(X_mean, LD, size = N) # generate X according to the preset LD.\n", " return X\n", "\n", "def run_abf(beta, stderr, W=0.04):\n", " # beta and stderr are arrays\n", " z = beta/stderr\n", " V = stderr**2\n", " r = W/(W+V)\n", " lbf = (np.log(1-r)+(r*(z**2)))/2\n", " lbf_max = np.max(lbf)\n", " denom = lbf_max + np.log(np.exp((lbf - lbf_max)).sum())\n", " prob = np.exp(lbf - denom)\n", " return lbf, prob\n", "\n", "def run_susie(beta_marginal, se_marginal, LD=None, N=1, var_y=1.0, allowed_causal=10):\n", " beta_rvec = rpy2.rinterface.FloatSexpVector(beta_marginal)\n", " se_rvec = rpy2.rinterface.FloatSexpVector(se_marginal)\n", " nr,nc = LD.shape\n", " LD_rvec = ro.r.matrix(LD, nrow=nr, ncol=nc)\n", " with localconverter(ro.default_converter + np_cv_rules) as cv:\n", " susie_results = susieR.susie_rss(bhat = beta_rvec, \n", " shat = se_rvec, n = N, R = LD_rvec,\n", " var_y = 1.0, L = allowed_causal, estimate_residual_variance = True)\n", " return susie_results['pip']\n", "\n", "def run_susieinf(z, LD=None, V=None, Dsq=None, N=1, var_y=1.0, allowed_causal=10, fit_inf=True):\n", " susieinf_results = susie(z, var_y, \n", " N, allowed_causal, \n", " LD=LD, V=V, Dsq=Dsq, method='MLE',\n", " tausq_range=(1e-12,1.2),\n", " est_tausq=fit_inf, est_sigmasq=True, verbose=False)\n", " return 1 - (1-susieinf_results['PIP']).prod(axis=1)\n", "\n", "def simulate_phenos(p=10, L=1, h2g=0.3, inf=False, inf_var=5e-4):\n", " causal_config = np.zeros(p) \n", " causal_ind = np.random.choice(np.arange(p), L, replace=False)\n", " causal_config[causal_ind] = 1\n", " h2g = h2g\n", " per_snp_h2g = h2g/L\n", " causal_mean = 0\n", " sigma_squared=0\n", " while sigma_squared<=0:\n", " effect_sizes = np.random.normal(loc = causal_mean, \n", " scale = np.sqrt(per_snp_h2g), size = L)\n", " beta = causal_config.copy()\n", " if inf:\n", " beta = np.random.normal(loc=0, scale=np.sqrt(inf_var), size=p)\n", " beta[causal_ind] = effect_sizes\n", " genetic_effect = X.dot(beta)\n", " sigma_squared = 1 - np.var(genetic_effect)\n", " epsilon = np.random.normal(loc = 0, scale = np.sqrt(sigma_squared), size = N)\n", " y = X.dot(beta) + epsilon\n", " return causal_config, beta, y\n", "\n", "def ols_gwas(y, X):\n", " GWAS_results = []\n", " p = X.shape[1]\n", " for i in range(p):\n", " X_i = X[:, i]\n", " mod = sm.OLS(y,X_i)\n", " res = mod.fit()\n", " coef = res.params[0]\n", " sd = res.bse[0]\n", " z = coef/sd\n", " chisq = z**2\n", " p_val = stats.chi2.sf(chisq, 1, loc=0, scale=1)\n", " minus_logp = -np.log10(p_val)\n", " GWAS_results.append([coef, sd, z, chisq, p_val, minus_logp])\n", " GWAS_df = pd.DataFrame(columns = ['beta_marginal', 'se_marginal', 'z', 'chisq', 'p_val', '-log10p'],\n", " data = GWAS_results)\n", " return GWAS_df" ] }, { "cell_type": "markdown", "id": "86dc38d6", "metadata": {}, "source": [ "## Perform simulations" ] }, { "cell_type": "code", "execution_count": 16, "id": "cbf3e902", "metadata": {}, "outputs": [], "source": [ "p=100 # number of variants in the locus\n", "LD = np.eye(p) # initialize the LD matrix\n", "LD[LD==0] = 0.3 # set all pairwise LD\n", "N = 1000 # number of individuals\n", "X = sim_geno(p, LD, N)\n", "X_std = (X-np.mean(X,axis=0))/np.std(X, axis=0)\n", "in_sample_LD = np.cov(X_std.T)\n", "\n", "num_iter = 100 # set the number of iterations in our simulation\n", "L=1\n", "h2g=0.3\n", "allowed_causal=L+1\n", "sim_inf = False" ] }, { "cell_type": "code", "execution_count": 17, "id": "e6ae3542", "metadata": { "scrolled": true }, "outputs": [], "source": [ "sims_list = []\n", "for i in range(num_iter):\n", " # simulate ground truths\n", " config, beta, y = simulate_phenos(p=p, L=L, h2g=h2g, inf=sim_inf)\n", " # run GWAS\n", " sim_df = ols_gwas(y, X)\n", " # run ABF\n", " _, sim_df['abf_prob'] = run_abf(sim_df['beta_marginal'], sim_df['se_marginal'])\n", " # run SuSiE\n", " sim_df['susie_prob'] = run_susie(sim_df['beta_marginal'], sim_df['se_marginal'], \n", " LD=in_sample_LD, N=X.shape[0], var_y=np.var(y), allowed_causal=allowed_causal)\n", "\n", " eigenvals,V = linalg.eigh(in_sample_LD)\n", " Dsq = N * eigenvals\n", " sim_df['susieinf_prob'] = run_susieinf(sim_df['z'], V=V, Dsq=Dsq, N=X.shape[0], var_y=np.var(y), \n", " allowed_causal=allowed_causal, fit_inf=True)\n", " sim_df['beta_true'] = beta\n", " sim_df['causal_config'] = config\n", " sim_df['pheno'] = i\n", " sims_list.append(sim_df)\n", "all_sims = pd.concat(sims_list, axis=0)\n", "all_sims['v'] = [f\"{a[0]}_{a[1]}\" for a in zip(all_sims['pheno'], all_sims.index)]" ] }, { "cell_type": "markdown", "id": "4717e6ed", "metadata": {}, "source": [ "## Visualize calibration and recall" ] }, { "cell_type": "markdown", "id": "a0c29746", "metadata": {}, "source": [ "### Version 1 -- binning" ] }, { "cell_type": "code", "execution_count": 18, "id": "e911b130", "metadata": {}, "outputs": [], "source": [ "methods = ['abf','susie','susieinf']\n", "bins = [0, 0.01, 0.1, 0.5, 0.9, 1] # PIP bins\n", "bin_labels = [f\"({bins[i]},{bins[i+1]}]\" for i in range(len(bins)-1)] # bin labels\n", "calib_dict = dict()\n", "# get calibration for all three methods\n", "for method in methods:\n", " all_sims[f\"{method}_prob_label\"] = pd.cut(all_sims[f\"{method}_prob\"], \n", " bins=bins, labels=bin_labels, include_lowest=True) #assign PIPs to bins\n", " calib_df = all_sims.groupby(f\"{method}_prob_label\", observed=False)['v'].count().to_frame().reset_index() # count the number of SNPs in each bin\n", " calib_df.columns = ['prob_group', 'tot_v']\n", " calib_df['num_causal'] = all_sims.groupby(f\"{method}_prob_label\", observed=False)['causal_config'].apply(np.count_nonzero).values # count the number of true causal SNPs in each bin, a SNP is true causal if causal_config!=0\n", " calib_df['mean_pip'] = all_sims.groupby(f\"{method}_prob_label\", observed=False)[f\"{method}_prob\"].mean().values # compute the mean(PIP) in each bin\n", " calib_df['prop_causal'] = calib_df['num_causal']/calib_df['tot_v']\n", " # compute confidence interval\n", " calib_df['lower'], calib_df['upper'] = proportion.proportion_confint(calib_df['num_causal'], calib_df['tot_v'], \n", " method='binom_test', alpha=0.05)\n", " calib_dict[method] = calib_df\n", "# get recall for all three methods\n", "tot_causal = all_sims[all_sims['causal_config']!=0].shape[0]\n", "perc = [0.1, 1, 5, 10, 25] # top a percent of total SNPs\n", "tot_snps = all_sims.shape[0]\n", "top_n = [int(a*tot_snps/100) for a in perc]\n", "recall_dict = dict()\n", "for method in methods:\n", " recall_df = pd.DataFrame(columns=['perc', 'top_n', 'tot_causal', 'num_causal'], \n", " index=[x for x in range(len(perc))])\n", " recall_df[['perc','top_n','tot_causal']] = np.array([perc, top_n, [tot_causal]*len(perc)]).T\n", " recall_df['num_causal'] = [all_sims.nlargest(n, f'{method}_prob')['causal_config'].apply(lambda x: (x!=0)).sum() for n in top_n]\n", " recall_df['recall'] = recall_df['num_causal']/recall_df['tot_causal']\n", " recall_df['lower'], recall_df['upper'] = proportion.proportion_confint(recall_df['num_causal'], recall_df['tot_causal'], \n", " method='binom_test', alpha=0.05)\n", " recall_dict[method] = recall_df" ] }, { "cell_type": "code", "execution_count": 19, "id": "420aa06d", "metadata": {}, "outputs": [ { "data": { "image/png": "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3ntNSWZ4eLh5/Phxp32HDx82Q0JCTEnmgw8+WGr/ZcuWmZIqfFgsFvO2224zt2zZUmYsO3fudOlYkszhw4d7chgAAOWw2WzmyJEjy3xPjo2NNYcOHWrOmzfPtNvtpR6juG1ycrJL5zw9v0yYMKHE/pycHLNv375lxtSsWTMzNTXVXLZsWbnnSU5OdvQpzYQJE1zOTZLM5s2bu/T6AKA6Ih+cfT5o3rx5ufuHDx9eIo5Tp06ZzZo1MyWZ55xzjllQUODUp6LPSMXnJIehPEyfRMApLCzU+++/L0nq37+/oqOjnfbXrVtXV155paSidcfO5vJou92u2bNn67XXXmORfQCoZiwWi95880199dVX6tOnj4KCnC+wz8zM1Jw5czRgwAB169ZN27dv93pM4eHhmj9/vubMmaNLLrmkxG3q9+zZo5kzZ+rSSy9Vnz59PHbTGAAIZOQD/wgJCdGjjz4qSdq+fbveeust/waEGomiGALOwoULlZmZKank1Mlixdt///13LVu2rNzjTZgwQaZpOj1ycnL0448/6oEHHlB2drZefPFFpaSkKCcnp9xjDR8+vMSxTn+QCADA93r16qUvv/xShw8f1hdffKFJkyapf//+iomJcbRZt26dLrnkEqWnp3s9HsMwdN111+nrr7/WgQMH9Omnn+qRRx5Rr169FB4e7mi3cOFCXXrppcrOzj6r8y1btqzc3GSapnbt2nWWrwoAqj7yge/zQWpqqlq2bClJevzxx5Wfn+/2MZo3b04OQ5koiiHgFC+gX69ePfXp06fUNldddZVq167t1N4d4eHh6tixo/7973/r1VdflSR9++23evLJJysXNADA76Kjo9W3b1+NHz9e8+bNU2ZmpmbMmKE6depIktLT0/XYY4+V2tc0TZfOcXq7M7/1L039+vU1cOBAPf744/rqq6904MABPfvss44FmDdt2qQXX3zRpXMDAFxDPvCdoKAgjR8/XpK0e/duvfnmm36OCDUNRTEElOPHj2vevHmSpMOHDyskJESGYZR4hIWF6dixY5KkuXPn6uTJk5U+56hRo1S3bl1J0owZM876NQAAqobQ0FClpqbqgw8+cGybO3eu07T74m/qc3NzXTrm6fmmVq1abscUGRmp++67z+mDz0cffeT2cQAAriMfeNewYcMcC+E/8cQTLEsDj6IohoDy4YcfKi8vz60+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nn/yySe65557dN999+nnn3/WrbfeqtTUVC1btkySyuxXkW3btunDDz/U//73Py1YsEAbNmzQHXfc4dg/depUPffcc3r22Wf1448/qnfv3howYIC2bi0q7r700kuaN2+ePvzwQ23ZskXvvfeeSwU54HQstA8AAAAA1UjaVz/IGmSVrdDmch9boU1rv9jg8Vg+//xzRUZGqrCwUKdOnZLFYtHLL7+sU6dO6cknn9TixYuVlJQkSWrZsqW+/fZbvf7660pOTtYrr7yimJgYzZ49W8HBwZKkNm3aOI592WWXOZ3rjTfeUO3atbVixQpdddVVLsW3cePGcvdHR0dLKiqehYeH69SpU4qLiyvR7h//+IeuueYal85ZbMKECXruuecc/RISErR582a9/vrrGj58uEvHuPPOOzV48GBJRVdrLViwQG+++ab++c9/6tVXX1V8fLxefvllGYahc889V/v379eDDz6o8ePHKz09XYWFhbrmmmvUvHlzSVLHjh2djv/ZZ59p4MCBkqQGDRpIkmrXru00Bs8++6xGjBjhKFiNHTtWq1ev1rPPPqtLL720zH4VycvL06xZs9SkSRNJ0n/+8x/169dPzz33nOLi4vTss8/qwQcf1PXXXy9Jevrpp7Vs2TK9+OKLeuWVV7Rnzx61bt1aF198sQzDcLxGwB0UxQAAAACgGjl5PEcuzpx0kpuV6/FYLr30Ur322ms6efKkXnjhBQUFBWnw4MHatGmTcnJy1KtXL6f2+fn5Ov/88yUVFawuueQSR0HsTJmZmXr00Ue1fPlyHThwQDabTTk5OdqzZ4/L8bVq1aryL+40Xbt2dav9yZMntX37do0aNUp///vfHdsLCwsVExPj8nGKC4qSFBQUpK5du+qXX36RJP3yyy9KSkpymkZ70UUXKTs7W7///rs6d+6syy+/XB07dlTv3r11xRVXaMiQIapTp44k6cSJE1qxYoXefPPNcmP45ZdfNHr0aKdtF110kaZOnery6yhNs2bNHAWx4tdqt9u1ZcsWRUREaP/+/broootKnPeHH36QVHRjhF69eqlt27bq06ePrrrqKl1xxRVnFRMCD0UxAAAAAKhGwmqFqjJL5odGhHo8llq1ajkKTzNmzFDnzp315ptvqkOHDpKk+fPnOxU+pKJ1yCQpPDy83GMPHz5chw8f1tSpU9W8eXOFhoYqKSlJ+fn5LscXGRlZ7v5hw4Zp2rRpFR6nVq1aTs8tFkuJ6aunL8CfnZ0tSZo+fbq6d+/u1M5qtVZ4Pk+wWq1atGiRvvvuO3311Vf6z3/+o0ceeURr1qxRQkKCvvzyS7Vv317x8fE+icfTLrjgAu3cuVNffvmlFi9erOuuu04pKSkl1q0DykNRDACqCdM8JeV9KTNnjmTbJZl2yRorI/waKfxqGRbXv3UEAADVV/sebWV7+lO3+lisFnW4+FzvBFR8DotFDz/8sMaOHavffvtNoaGh2rNnj5KTk0tt36lTJ7399tsqKCgo9WqxlStX6tVXX9WVV14pqWhR+EOHDrkVk6vTJyUpJCRENptrU1IbNGigjIwMmabpuFLr9HPFxsaqcePG2rFjh2666Sa3Yj7d6tWr9de//lVS0VVmaWlpuvPOOyVJ7dq10//93/85xbBy5UpFRUWpadOmkiTDMHTRRRfpoosu0vjx49W8eXN98sknGjt2rNPUyWLBwcElxqBdu3ZauXKl05TPlStXqn379uX2q8iePXu0f/9+NW7c2PFaLRaL2rZtq+joaDVu3FgrV650+v1ZuXKlunXr5ngeHR2toUOHaujQoRoyZIj69OmjI0eOqG7dum7FAt8xC/fKzJ0t5S2U7MclI1QK7iQj4iYpJEmG4dul7ymKAUA1YOYtk3n8Ack8oaJ7pNiLdhQek5k1Rcp6Voq6X4oY7vKdqAAAQPXU7crzVa9xHR3ef9TlPnabXQPH9PFiVEWuvfZaPfDAA3r99dd1//33695775XdbtfFF1+s48ePa+XKlYqOjtbw4cN155136j//+Y+uv/7/27vz8KbK9I3j90m6UboBpS1gBWSpyFZkqQUVGKuADorLyKAjyLj8VFxB1LqAOGpxQXEUxRVmHEdQx20UUayAG8pYQUQBZRNEUkCgG9AleX9/1EYjLTSlaZuc78cr10VP3pM8b21zN0/Oec+flZ2drfj4eH322WcaMGCA0tLS1KVLFz3//PPq16+fCgsLNXny5MMeXfZ7/pw+2aFDB7377rtat26dWrVqdcjTHIcMGaKdO3fq/vvv13nnnaeFCxfqnXfe8WmyTZs2Tddee63i4+M1fPhwlZaW6osvvtCePXs0ceLEWtU0a9YsdenSRd26ddPDDz+sPXv26K9//ask6aqrrtLMmTN1zTXX6Oqrr9a6des0depUTZw4UQ6HQ59//rlyc3N12mmnKSkpSZ9//rl27typbt26qaKiQu+8845uvPHGg74Hubm5GjRokCIjI9WiRQtNnjxZ559/vvr06aOsrCz997//1auvvqr333//kPsdTlRUlMaNG6cHH3xQhYWFuvbaa3X++ed71yWbPHmypk6dqk6dOik9PV1z5szRypUr9cILL0iSHnroIbVp00Z9+vSRw+HQyy+/rJSUFCUkJNTqe4uGZUyZTMFU6cCrqnw/80sT1UgqXSxT+r7k7CC1eEJWWKcGq4urTwJAE2cOLJTZe4Vkqq605Pntvb/cymSK7pVKHmv4AgEAQINyOp06/8azDj+wanyYQ6lpbdX3tN4BrKpSWFiYrr76at1///3Kzs7WHXfcoZycHHXr1k3Dhw/X22+/rY4dO0qSWrVqpQ8++EDFxcUaPHiw+vbtq6efftp71Nizzz6rPXv26Pjjj9dFF12ka6+9VklJSQGr/bLLLlNaWpr69eun1q1b65NPPqlxbLdu3fT4449r1qxZ6t27t5YvX35Qg+nSSy/VM888ozlz5qhnz54aPHiw5s6d651/bUyfPl3Tp09X79699fHHH+vNN99UYmKiJKldu3ZasGCBli9frt69e+uKK67QJZdcottvv11S5VFUH374oU4//XR17dpVt99+u2bMmKERI0Zo6dKliomJ0fHHH+/zfDNmzNCiRYuUmprqXftt1KhReuSRR/Tggw+qe/fuevLJJzVnzhwNGTLkkPsdTufOnXXOOefo9NNP12mnnaZevXrp8ccf995/7bXXauLEiZo0aZJ69uyphQsX6s0331SXLl0kSbGxsbr//vvVr18/9e/fX5s3b9aCBQvkcNDmaGqMKZfZc+UvDTEjb0PM65ev3Vtlfj5fpmJ9g9VmGX+u4yvpww8/1AMPPKC8vDxt375dr732mkaNGnXIfZYsWaKJEyfqm2++UWpqqm6//XZdfPHFtX7OwsJCxcfHq6CgwKfzDgChzrh/ktl5qqQKqZarh1gt5siKHHTIMU35dZWcAYDg15RfV5tazhw4cECbNm1Sx44dFRUVVevH9Hg8um/so/rgxY8P+SeCM8yh5vHN9ehn96ptp9pfGRCNa/PmzerYsaNWrFih9PT0en/8a6+9VhUVFT5NqIZ055136vXXXz/s6a31qa6/azhypvgxmeJHVbv3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n/uNMZoyZYratGmjZs2aKSsrS99//73PmN27d+vCCy9UXFycEhISdMkll6i4uNhnzKpVq3TSSScpKipKqampuv/++wM9tUM63Lwvvvjig34Ghg8f7jMmGOedk5Oj/v37KzY2VklJSRo1apTWrVvnM6a+fr6XLFmi448/XpGRkercubPmzp0b6OkdUm3mPmTIkIP+v19xxRU+Y4Jx7qEilHJGsk/W2DVnJHtmDTlDzgQzcoacCZbX2ip2zBnJvlkTEjljQtS8efNMRESEee6558w333xjLrvsMpOQkGDy8/Mbu7Q6mTp1qunevbvZvn2797Zz507v/VdccYVJTU01ubm55osvvjAnnHCCGThwoPf+iooK06NHD5OVlWVWrFhhFixYYBITE012dnZjTOeQFixYYG677Tbz6quvGknmtdde87l/+vTpJj4+3rz++uvmq6++Mmeeeabp2LGj2b9/v3fM8OHDTe/evc1nn31mPvroI9O5c2czZswY7/0FBQUmOTnZXHjhhWb16tXmxRdfNM2aNTNPPvlkQ03zIIeb97hx48zw4cN9fgZ2797tMyYY5z1s2DAzZ84cs3r1arNy5Upz+umnm6OPPtoUFxd7x9THz/fGjRtNdHS0mThxovn222/No48+apxOp1m4cGGDzve3ajP3wYMHm8suu8zn/3tBQYH3/mCdeygItZwxxj5ZY9ecMcaeWUPOkDPBipwhZ4LptbaKHXPGGPtmTSjkTMg2xQYMGGAmTJjg/drtdpu2bduanJycRqyq7qZOnWp69+5d7X179+414eHh5uWXX/ZuW7NmjZFkli1bZoypfHFyOBzG5XJ5xzzxxBMmLi7OlJaWBrT2I/H7F1KPx2NSUlLMAw884N22d+9eExkZaV588UVjjDHffvutkWT+97//ece88847xrIss23bNmOMMY8//rhp0aKFz9xvvvlmk5aWFuAZ1U5NAXLWWWfVuE8ozNsYY3bs2GEkmaVLlxpj6u/n+6abbjLdu3f3ea7Ro0ebYcOGBXpKtfb7uRtTGSLXXXddjfuEytyDUajljDH2zBq75owx9s0acoacCRbkDDkTzK+1xtg3Z4yxb9YEY86E5OmTZWVlysvLU1ZWlnebw+FQVlaWli1b1oiVHZnvv/9ebdu21THHHKMLL7xQW7ZskSTl5eWpvLzcZ77HHnusjj76aO98ly1bpp49eyo5Odk7ZtiwYSosLNQ333zTsBM5Aps2bZLL5fKZa3x8vDIyMnzmmpCQoH79+nnHZGVlyeFw6PPPP/eOOfnkkxUREeEdM2zYMK1bt0579uxpoNn4b8mSJUpKSlJaWpquvPJK/fzzz977QmXeBQUFkqSWLVtKqr+f72XLlvk8RtWYpvSa8Pu5V3nhhReUmJioHj16KDs7W/v27fPeFypzDzahmjMSWWP3nJFCP2vIGXImGJAzlciZ4H2tPZRQzxnJvlkTjDkTdsSP0ATt2rVLbrfb55sqScnJyVq7dm0jVXVkMjIyNHfuXKWlpWn79u2aNm2aTjrpJK1evVoul0sRERFKSEjw2Sc5OVkul0uS5HK5qv1+VN0XLKpqrW4uv51rUlKSz/1hYWFq2bKlz5iOHTse9BhV97Vo0SIg9R+J4cOH65xzzlHHjh21YcMG3XrrrRoxYoSWLVsmp9MZEvP2eDy6/vrrNWjQIPXo0cNbV338fNc0prCwUPv371ezZs0CMaVaq27uknTBBReoffv2atu2rVatWqWbb75Z69at06uvviopNOYejEIxZySyRrJ3zkihnzXkDDkTLMiZX5EzlYLptfZQQj1nJPtmTbDmTEg2xULRiBEjvP/u1auXMjIy1L59e7300kv8oWETf/7zn73/7tmzp3r16qVOnTppyZIlOuWUUxqxsvozYcIErV69Wh9//HFjl9Lgapr75Zdf7v13z5491aZNG51yyinasGGDOnXq1NBlIsSRNQj1rCFnyBk0LnIGoZ4zkn2zJlhzJiRPn0xMTJTT6TzoSg75+flKSUlppKrqV0JCgrp27ar169crJSVFZWVl2rt3r8+Y3843JSWl2u9H1X3BoqrWQ/2/TUlJ0Y4dO3zur6io0O7du0Pq+3HMMccoMTFR69evlxT887766qv11ltvafHixTrqqKO82+vr57umMXFxcY3+R1hNc69ORkaGJPn8fw/muQcrO+SMZM+sIWd8hVLWkDPkTDAhZ35FzlQKltdaf4VSzkj2zZpgzpmQbIpFRESob9++ys3N9W7zeDzKzc1VZmZmI1ZWf4qLi7Vhwwa1adNGffv2VXh4uM98161bpy1btnjnm5mZqa+//trnBWbRokWKi4vTcccd1+D111XHjh2VkpLiM9fCwkJ9/vnnPnPdu3ev8vLyvGM++OADeTwe7y9gZmamPvzwQ5WXl3vHLFq0SGlpaY1+uG1t/fjjj/r555/Vpk0bScE7b2OMrr76ar322mv64IMPDjoUur5+vjMzM30eo2pMY74mHG7u1Vm5cqUk+fx/D8a5Bzs75Ixkz6whZ3yFQtaQM+RMMCJnKpEzwfNaW1ehkDOSfbMmJHLmiJfqb6LmzZtnIiMjzdy5c823335rLr/8cpOQkOBzRYNgMmnSJLNkyRKzadMm88knn5isrCyTmJhoduzYYYypvLzr0UcfbT744APzxRdfmMzMTJOZmendv+oyp6eddppZuXKlWbhwoWndunWTu3yxMcYUFRWZFStWmBUrVhhJ5qGHHjIrVqwwP/zwgzGm8hLGCQkJ5o033jCrVq0yZ511VrWXMO7Tp4/5/PPPzccff2y6dOnicxnfvXv3muTkZHPRRReZ1atXm3nz5pno6OhGvYzvoeZdVFRkbrzxRrNs2TKzadMm8/7775vjjz/edOnSxRw4cMD7GME47yuvvNLEx8ebJUuW+Fymd9++fd4x9fHzXXUZ38mTJ5s1a9aYWbNmNfrl4g839/Xr15u77rrLfPHFF2bTpk3mjTfeMMccc4w5+eSTvY8RrHMPBaGWM8bYJ2vsmjPG2DNryBlyJliRM+RMML3WVrFjzhhj36wJhZwJ2aaYMcY8+uij5uijjzYRERFmwIAB5rPPPmvskups9OjRpk2bNiYiIsK0a9fOjB492qxfv957//79+81VV11lWrRoYaKjo83ZZ59ttm/f7vMYmzdvNiNGjDDNmjUziYmJZtKkSaa8vLyhp3JYixcvNpIOuo0bN84YU3kZ4zvuuMMkJyebyMhIc8opp5h169b5PMbPP/9sxowZY2JiYkxcXJwZP368KSoq8hnz1VdfmRNPPNFERkaadu3amenTpzfUFKt1qHnv27fPnHbaaaZ169YmPDzctG/f3lx22WUH/VEUjPOubs6SzJw5c7xj6uvne/HixSY9Pd1ERESYY445xuc5GsPh5r5lyxZz8sknm5YtW5rIyEjTuXNnM3nyZFNQUODzOME491ARSjljjH2yxq45Y4w9s4acIWeCGTlDzgTLa20VO+aMMfbNmlDIGeuXiQAAAAAAAAC2EZJrigEAAAAAAACHQlMMAAAAAAAAtkNTDAAAAAAAALZDUwwAAAAAAAC2Q1MMAAAAAAAAtkNTDAAAAAAAALZDUwwAAAAAAAC2Q1MMAAAAAAAAtkNTDPiNzZs3y7IsrVy5ssYxc+fOVUJCgl+Pe/HFF2vUqFFHVBsAIPiRMwCAQCNrgNqjKYaAsyzrkLc777yz3p9zyJAhsixL8+bN89k+c+ZMdejQ4Ygee/To0fruu++O6DHq25IlS2RZlvbu3VurcVW35ORknXvuudq4caN3TIcOHTRz5kyfr6vGN2/eXMcff7xefvnlAM0EAPxHzgQeOQPA7siawCNr0BhoiiHgtm/f7r3NnDlTcXFxPttuvPHGgDxvVFSUbr/9dpWXl9fr4zZr1kxJSUn1+pgNbd26dfrpp5/08ssv65tvvtHIkSPldrtrHH/XXXdp+/btWrFihfr376/Ro0fr008/bcCKAaBm5EzTQ84ACDVkTdND1qA+0BRDwKWkpHhv8fHxsizL+3VSUpIeeughHXXUUYqMjFR6eroWLlzo3bfq0N958+Zp4MCBioqKUo8ePbR06dLDPu+YMWO0d+9ePf30037XvHHjRg0dOlTR0dHq3bu3li1b5r2vukON7777biUlJSk2NlaXXnqpbrnlFqWnpx/0uA8++KDatGmjVq1aacKECT7hVlpaqhtvvFHt2rVT8+bNlZGRoSVLlnjv/+GHHzRy5Ei1aNFCzZs3V/fu3bVgwQJt3rxZQ4cOlSS1aNFClmXp4osvPuT8kpKS1KZNG5188smaMmWKvv32W61fv77G8bGxsUpJSVHXrl01a9YsNWvWTP/9738P+RwA0FDImV+RMwAQGGTNr8gahBKaYmhUjzzyiGbMmKEHH3xQq1at0rBhw3TmmWfq+++/9xk3efJkTZo0SStWrFBmZqZGjhypn3/++ZCPHRcXp9tuu0133XWXSkpK/Krrtttu04033qiVK1eqa9euGjNmjCoqKqod+8ILL+iee+7Rfffdp7y8PB199NF64oknDhq3ePFibdiwQYsXL9Y//vEPzZ07V3PnzvXef/XVV2vZsmWaN2+eVq1apT/96U8aPny493sxYcIElZaW6sMPP9TXX3+t++67TzExMUpNTdV//vMfSZWflmzfvl2PPPJIrefarFkzSVJZWVmtxoeFhSk8PLzW4wGgMZEzc733kzMAEBhkzVzv/WQNgo4BGtCcOXNMfHy89+u2bduae+65x2dM//79zVVXXWWMMWbTpk1Gkpk+fbr3/vLycnPUUUeZ++67r8bnGTx4sLnuuuvMgQMHTPv27c1dd91ljDHm4YcfNu3bt69xv6rne+aZZ7zbvvnmGyPJrFmzpto5ZGRkmAkTJvg8zqBBg0zv3r29X48bN860b9/eVFRUeLf96U9/MqNHjzbGGPPDDz8Yp9Nptm3b5vM4p5xyisnOzjbGGNOzZ09z5513Vlv34sWLjSSzZ8+eGudW3biffvrJDBw40LRr186UlpYaY4xp3769efjhh737/Pbr0tJSc++99xpJ5q233jrkcwFAYyBnyBkACDSyhqxB6OBIMTSawsJC/fTTTxo0aJDP9kGDBmnNmjU+2zIzM73/DgsLU79+/Q4aU53IyEjdddddevDBB7Vr165a19arVy/vv9u0aSNJ2rFjR7Vj161bpwEDBvhs+/3XktS9e3c5nU6fx616zK+//lput1tdu3ZVTEyM97Z06VJt2LBBknTttdfq7rvv1qBBgzR16lStWrWq1vP5vaOOOkrNmzdX27ZtVVJSov/85z+KiIiocfzNN9+smJgYRUdH67777tP06dN1xhln1Pn5AaAhkDPkDAAEGllD1iC4hTV2AUCg/eUvf9GDDz6ou+++u9ZXaQkPD/f+27IsSZLH4zmiOn77mFWPW/WYxcXFcjqdysvL8wkZSYqJiZEkXXrppRo2bJjefvttvffee8rJydGMGTN0zTXX+F3LRx99pLi4OO+aAYczefJkXXzxxYqJiVFycrL3ewIAIGeqQ84AQP0iaw5G1qA+cKQYGk1cXJzatm2rTz75xGf7J598ouOOO85n22effeb9d0VFhfLy8tStW7daPY/D4VBOTo6eeOIJbd68+Yjr/r20tDT973//89n2+68Pp0+fPnK73dqxY4c6d+7sc0tJSfGOS01N1RVXXKFXX31VkyZN8i64WfWJyKGutvJbHTt2VKdOnWoVHpKUmJjorYXwABAsyJlfkTMAEBhkza/IGgQjjhRDo5o8ebKmTp2qTp06KT09XXPmzNHKlSv1wgsv+IybNWuWunTpom7duunhhx/Wnj179Ne//rXWz3PGGWcoIyNDTz75pJKTk+t1Dtdcc40uu+wy9evXTwMHDtT8+fO1atUqHXPMMbV+jK5du+rCCy/U2LFjNWPGDPXp00c7d+5Ubm6uevXqpTPOOEPXX3+9RowYoa5du2rPnj1avHixN0Tbt28vy7L01ltv6fTTT1ezZs28n8YAgJ2RM5XIGQAIHLKmElmDYERTDI3q2muvVUFBgSZNmqQdO3bouOOO05tvvqkuXbr4jJs+fbqmT5+ulStXqnPnznrzzTeVmJjo13Pdd999GjhwYH2WL0m68MILtXHjRt144406cOCAzj//fF188cVavny5X48zZ84c3X333Zo0aZK2bdumxMREnXDCCfrjH/8oqfITkwkTJujHH39UXFychg8frocffliS1K5dO02bNk233HKLxo8fr7Fjx/pcBQYA7Iqc+RU5AwCBQdb8iqxBsLGMMaaxiwBqsnnzZnXs2FErVqxQenp6Y5dTa6eeeqpSUlL0/PPPN3YpAIBDIGcAAIFG1gBNF0eKAUdo3759mj17toYNGyan06kXX3xR77//vhYtWtTYpQEAQgA5AwAINLIGdkVTDDhClmVpwYIFuueee3TgwAGlpaXpP//5j7Kyshq7NABACCBnAACBRtbArjh9EgAAAAAAALbjaOwCAAAAAAAAgIZGUwwAAAAAAAC2Q1MMAAAAAAAAtkNTDAAAAAAAALZDUwwAAAAAAAC2Q1MMAAAAAAAAtkNTDAAAAAAAALZDUwwAAAAAAAC28/9jzt9BNbD0fwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax = plt.subplots(2,3, figsize=(15,9))\n", "colors = plt.cm.viridis(np.linspace(0, 1, len(bins)-1))\n", "for i,method in enumerate(methods):\n", " df = calib_dict[method]\n", " yerr = pd.concat([df['prop_causal']-df['lower'], df['upper']-df['prop_causal']], axis=1).values.T\n", " ax[0][i].errorbar(df['prob_group'], df['prop_causal'], \n", " yerr=yerr, \n", " fmt='o', capsize=3, color='grey', zorder=1)\n", " ax[0][i].scatter(df['prob_group'], df['prop_causal'], color = colors, s=90, zorder=2, label='Prop causal')\n", " ax[0][i].scatter(df['prob_group'], df['mean_pip'], color = 'black', s=80, linewidth=0.01, \n", " marker = 'P', zorder=3, label='Mean PIP')\n", " ax[0][i].set_title(method.upper(), fontsize=20)\n", "ax[0][2].legend()\n", "for i,method in enumerate(methods):\n", " df = recall_dict[method]\n", " yerr = pd.concat([df['recall']-df['lower'], df['upper']-df['recall']], axis=1).values.T\n", " ax[1][i].errorbar(df['top_n'], df['recall'], \n", " yerr=yerr, \n", " fmt='o', capsize=3, color='grey', zorder=1)\n", " ax[1][i].scatter(df['top_n'], df['recall'], color = colors, s=90, zorder=2, label='Recall=true_pos/tot_pos')\n", " ax[1][i].set_title(method.upper(), fontsize=20)\n", " ax[1][i].set_ylim(0, 1.1)\n", " ax[1][i].set_xlabel('Top N highest PIP')\n", "ax[1][2].legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "1246a40e", "metadata": {}, "source": [ "### Version 2 -- thresholding" ] }, { "cell_type": "code", "execution_count": 20, "id": "1d5e3061", "metadata": {}, "outputs": [], "source": [ "methods = ['abf','susie'] +['susieinf']\n", "sequence = np.arange(0.01, 1.01, 0.01)\n", "calib_dict = dict()\n", "# get calibration for all three methods\n", "for method in methods:\n", " calib_df = pd.DataFrame(columns = ['threshold', 'mean_pip', 'num_causal', 'tot_v', 'prop_causal'])\n", " calib_df['threshold'] = sequence\n", " pips = all_sims[f\"{method}_prob\"].values[:, None]\n", " masks = pips > sequence\n", " filtered_dfs = [all_sims[mask] for mask in masks.T]\n", " calib_df[['mean_pip','num_causal','tot_v']] = [[df[f\"{method}_prob\"].mean(), len(df[df['causal_config']!=0]), len(df)] for df in filtered_dfs]\n", " calib_df['prop_causal'] = calib_df['num_causal'] / calib_df['tot_v']\n", " calib_df['calib'] = calib_df['mean_pip'] - calib_df['prop_causal']\n", " one_sd = [np.sqrt(a[0]*a[1]*(1-a[1]))/a[0] for a in calib_df[['tot_v','prop_causal']].values]\n", " calib_df['lower'] = one_sd\n", " calib_df['upper'] = one_sd\n", " calib_dict[method] = calib_df\n", "\n", "# get recall for all three methods\n", "tot_causal = all_sims[all_sims['causal_config']!=0].shape[0]\n", "recall_dict = dict()\n", "for method in methods:\n", " recall_df = pd.DataFrame(columns=['threshold', 'num_causal', 'tot_causal', 'recall'])\n", " recall_df['threshold'] = sequence\n", " pips = all_sims[f\"{method}_prob\"].values[:, None]\n", " masks = pips > sequence\n", " filtered_dfs = [all_sims[mask] for mask in masks.T]\n", " recall_df[['tot_causal','num_causal']] = [[tot_causal, len(df[df['causal_config']!=0])] for df in filtered_dfs]\n", " recall_df['recall'] = recall_df['num_causal']/recall_df['tot_causal']\n", " one_sd = [np.sqrt(a[0]*a[1]*(1-a[1]))/a[0] for a in recall_df[['tot_causal','recall']].values]\n", " recall_df['lower'] = one_sd\n", " recall_df['upper'] = one_sd\n", " recall_dict[method] = recall_df" ] }, { "cell_type": "code", "execution_count": 21, "id": "1a85f879", "metadata": {}, "outputs": [ { "data": { "image/png": "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/LCjm9Nor7zyChEREf6f77//fkaMGOH/ee7cuf4Egu0lNTWVJ554ol3P2RzSWRONIp0KIYQQQoiOs3v3bhYvXsy///1vsrKy+P3vf9/iOqt3mtrL7bffzpo1a9rlXNU7ipU2btzItdde2y5taIkulWBECCGEEEKIk4nX60VRFA4cOADABRdc0OW3MggJCWnx/mMulwuTydTs42NjY1t0/vYiI2uixTrbqFtna48QQgghWofNZqvzy+FwNLpsRUVFo8o21VlnncWCBQtYsGAB4eHhxMTEcO+991I1n5/T6eT222+nW7duBAcHM3bsWNauXeuPV44EffzxxwwaNAiz2czVV1/NeeedB/iyZFbtrL344osMHDiQoKAgBgwYwLPPPhvQpszMTC677DKioqIIDg5m9OjRbNiwgVdeeYXFixezbds2FEVBURReeeWVOp/byy+/zODBgzGbzSQmJgbsc7xs2TKGDh1KcHAwycnJXH/99ZSXl9dZV10jeosXLyY2NpawsDD+8pe/4HK5avxub7nlFmJiYpg6dWqD5167di1XXXUVJSUl/ud4//33AzWnQWZkZHDBBRcQEhJCWFgYf/jDH8jJyanR5v/+97+kpqYSHh7OpZdeSllZWZ3PszXIyJroOB4XpH3v+37gHGjKPmstObaLaDBbpuxTJ4QQ4iRT32jM9OnTWblypf/nuLg47HZ7rWUnTpwY0EFKTU0lPz+/RrnmJE1/9dVXmTdvHj///DObNm3i2muvpUePHsyfPx+ABQsWsGvXLt58802SkpL44IMPmDZtGr/++it9+/YFwG638+ijj/Liiy8SHR1NYmIiZ511FldddRVZWVn+c/3vf//jvvvuY/ny5YwcOZJffvmF+fPnExwczJw5cygvL2fixIl069aNjz/+mISEBLZs2YKqqsyePZsdO3awatUqvvrqKwDCw8NrfU7/+te/WLhwIY888gi///3vKSkp4ccff/THdTodTz31FD179uTgwYNcf/31/PWvf63RcazPmjVrCAoKYu3ataSnp3PVVVcRHR3N3//+94Df7XXXXdfoc5922mk88cQT3Hfffezduxeo/TWkqqq/o/btt9/i8Xi44YYbmD17dsDr5MCBA3z44Yd8+umnFBUV8Yc//IFHHnkkoI2tTTpr4qQiHRwhhBBCtKXk5GQef/xxFEWhf//+/Prr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evr27ct5553Xqo0TXYTszSWEEEIIIUSra3Jnrbrx48czfvz41miLOBF1to5cZ2tPR+iI30FbJMJoSQINSbAhhBAnBZdH5ZlvfgPghkl9MBmavAJIiA7V5Ffsq6++GpBI5K9//SsRERGcdtppHDp0qFUbJ4QQQgghhBAnqyZ31h5++GEsFgsA69evZ/ny5Tz22GPExMTImrUTmSSsEEIIIYQQol01ubN2+PBh+vTpA8CHH37IxRdfzLXXXsuSJUv4/vvvW72BQggh2ll9m7y3RUwIIU4w69evR6/XM2PGjIDH09PTURTF/2UymejTpw8PPfQQmqb5y91///0B5Sq/vvrqq/Z+KqKDNbmzFhISQkFBAQBffvklU6ZMASAoKIiKiorWbV0tnnnmGVJTUwkKCmLs2LH8/PPP9ZZ/5513GDBgAEFBQQwdOpTPPvssID537twab4Rp06YFlCksLOSKK64gLCyMiIgI5s2bR3l5eas/NyFOVM3do64tYo06duuzPLv12VaLCSGEOLm89NJL3HjjjXz33XccPXq0Rvyrr74iKyuL/fv3s3jxYv7+97/z8ssvB5QZPHgwWVlZAV9nnnlmez0F0Uk0ubM2ZcoUrrnmGq655hr27dvH9OnTAdi5cyepqamt3b4Ab731FgsXLmTRokVs2bKF4cOHM3XqVHJzc2stv27dOi677DLmzZvHL7/8wsyZM5k5cyY7duwIKDdt2rSAN8Ibb7wREL/iiivYuXMnq1ev5tNPP+W7777j2muvbbPnKTqITPUUQgghOiVN03B51GZ9eVUNr9r846uOeDVGeXk5b731Ftdddx0zZszglVdeqVEmOjqahIQEUlJSuOKKK5gwYQJbtmwJKGMwGEhISAj4MpkkIdbJpsnZIJ955hnuueceDh8+zHvvvUd0dDQAmzdv5rLLLmv1Bla1bNky5s+fz1VXXQXAc889x8qVK3n55Ze58847a5R/8sknmTZtGnfccQcADz74IKtXr2b58uU899xz/nJms5mEhIRaz7l7925WrVrFxo0bGT16NABPP/0006dP55///CdJSUk1jnE6nTidTv/PpaWlzX/SQoj2JRlDhRCi03F7NX9Wx6bwqhob0wv9P+t1SpPr8GWRbPxxb7/9NgMGDKB///788Y9/5JZbbuGuu+5CUWqvY9OmTWzevJkrr7yyyW0TJ74m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uJ02ClQjBaZoJiRN8I9gmEwmUF2k73+bcp2R4S433t1f4DbF+hJIcPx9UrVer9eLw+Go85pmNBr9f2b1WFtru/5W/k4r21P5vq/rOhFQr1r3dR18r4HKejXNV9ZZ4aZbRRGebe+g6Q1oYd3w9D8PrcqG3ZVla6vTZrMRpNW8N6irvarn+AfMlfG66jWrgfcGddXpdvr+zibz8VtFu92Opmm11mvyBl4jXE4Pmta4eivvDer6O1e9N3Adu/bU9feoqvLeoDH1ul1ebE4v5ujB6DN/Qtu/lorBcbgcLqINvtfor/m/MiJ2BKpHDXjfV1f1nqP6NaK6qvcRVd/3LS1b9RrRlLJVrxG1qXqNaErZymtEXUwmE0ajscllK68RdTEaj98bNKWsqqq+/49aoazBEHgfYbfb671/r0FrBrfbrT3wwANav379tE8//bQ5VTSZ0+nU9Hq99sEHHwQ8fuWVV2rnn39+rcckJydrjz/+eMBj9913nzZs2DBN0zTtwIEDGqD98ssvAWXOPPNM7aabbtI0TdNeeuklLSIiIiDudrs1vV6vvf/++7We1+FwaCUlJf6vw4cPa0CdX9OnTw843mq11ll24sSJAWVjYmLqLDt69OiAsikpKXWWHTRtkPb4z8u0C1ecoV244gxtwNgBdZbt0aNHQL2nnDKyzrLRMdHanS9foN358gVaua1UmzhxYp1lrVZrQL1Tp/6u3t9b1XovvvjiesuWl5drmqZp5bZSbciE5HrL3vTENK3cVqppmqZdf/319ZZNS0vTNE3TXI5y7ZwL6v6dAdr/PfF7zeXwtWPRokX1lv355581l6Nce+b9S7WZVw6vt+zND0zy17t8+fJ6y3766adaua1Uu/PlC7TpV9f9dwO01//3H//f4u2336637IvPP6c98/6l2jPvX6p9+MG79ZZ98oml/nq/+eabessuefghf73rfvi23rKLFi3y1/vLlp/rLbvw1pv99e7bs7Pestdff72/3rT0g/WWHTspVXvm/Us1l6NcKy8vr7fsxRdf7K+33FZab9new+L9r/Wq1whLnzFa+ITLA76GXXGXtuzLvdqjK7drMx5brMVM+lONMpVf3WZcrT26cru27Mu92rIv92opM66rUSYoxff6GzRokL+td758gRaTFFpne8OiLf62apqmjR49us6yMTEx/jrvfPkC7fQzTq+z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iIiIRCBruBM4ERxYd7ykpCTMmYiIiIiISDgdqAkO1AhHomKtAZSWlgKQlZUV5kxERERERCQSlJaWkpSUdMR9TMaxlHRyXPx+P7t27SIhIQGTyVTv5yspKSErK4vt27eTmJhY7+eTxkX3jxwP3T9yPHT/SG3p3pHj0dD3j2EYlJaWkpmZidl85KfS1LPWAMxmMy1btmzw8yYmJuoHltSa7h85Hrp/5Hjo/pHa0r0jx6Mh75+j9agdoAlGREREREREIpCKNRERERERkQikYq0Rcjgc5OTk4HA4wp2KRCHdP3I8dP/I8dD9I7Wle0eORyTfP5pgREREREREJAKpZ01ERERERCQCqVgTERERERGJQCrWREREREREIpCKNRERERERkQikYi1KTZs2jezsbJxOJ3379mXZsmVH3P/tt9+mU6dOOJ1OunXrxrx58xooU4lEodw/L7/8MgMHDiQlJYWUlBSGDh161PtNGrdQf/4cMGvWLEwmEyNHjqzfBCWihXr/FBUVMX78eDIyMnA4HHTo0EH/hp2gQr13nn76aTp27EhMTAxZWVlMnDiRqqqqBspWIslXX33FeeedR2ZmJiaTiQ8++OCobRYuXMipp56Kw+Ggffv2zJw5s97zPBQVa1Fo9uzZTJo0iZycHFasWEGPHj0YPnw4e/bsOeT+ixcv5uKLL2bs2LGsXLmSkSNHMnLkSNasWdPAmUskCPX+WbhwIRdffDFffPEFS5YsISsri7POOoudO3c2cOYSCUK9fw7YunUrt956KwMHDmygTCUShXr/uN1uhg0bxtatW3nnnXdYv349L7/8Mi1atGjgzCXcQr133nzzTSZPnkxOTg5r165lxowZzJ49m7///e8NnLlEgvLycnr06MG0adOOaf8tW7YwYsQIhgwZwqpVq7j55pu5+uqr+fjjj+s500MwJOr06dPHGD9+fPCzz+czMjMzjalTpx5y/4suusgYMWJEtW19+/Y1/va3v9VrnhKZQr1/fs/r9RoJCQnG66+/Xl8pSgSrzf3j9XqN/v37G6+88opx+eWXG3/6058aIFOJRKHePy+++KLRtm1bw+12N1SKEqFCvXfGjx9vnHHGGdW2TZo0yRgwYEC95imRDzDef//9I+5z++23G127dq22bfTo0cbw4cPrMbNDU89alHG73SxfvpyhQ4cGt5nNZoYOHcqSJUsO2WbJkiXV9gcYPnz4YfeXxqs298/vVVRU4PF4aNKkSX2lKRGqtvfP/fffT2pqKmPHjm2INCVC1eb+mTNnDv369WP8+PGkpaVx8skn8/DDD+Pz+RoqbYkAtbl3+vfvz/Lly4NDJTdv3sy8efM499xzGyRniW6R9N3Z2uBnlONSUFCAz+cjLS2t2va0tDTWrVt3yDZ5eXmH3D8vL6/e8pTIVJv75/fuuOMOMjMza/wQk8avNvfP119/zYwZM1i1alUDZCiRrDb3z+bNm/n888+59NJLmTdvHhs3buT666/H4/GQk5PTEGlLBKjNvXPJJZdQUFDA6aefjmEYeL1err32Wg2DlGNyuO/OJSUlVFZWEhMT02C5qGdNRI7ZI488wqxZs3j//fdxOp3hTkciXGlpKZdddhkvv/wyzZo1C3c6EoX8fj+pqam89NJL9OrVi9GjR3PnnXcyffr0cKcmEW7hwoU8/PDDvPDCC6xYsYL33nuPuXPn8sADD4Q7NZGQqGctyjRr1gyLxUJ+fn617fn5+aSnpx+yTXp6ekj7S+NVm/vngMcff5xHHnmEzz77jO7du9dnmhKhQr1/Nm3axNatWznvvPOC2/x+PwBWq5X169fTrl27+k1aIkZtfv5kZGRgs9mwWCzBbZ07dyYvLw+3243dbq/XnCUy1Obeufvuu7nsssu4+uqrAejWrRvl5eVcc8013HnnnZjN6q+Qwzvcd+fExMQG7VUD9axFHbvdTq9evViwYEFwm9/vZ8GCBfTr1++Qbfr161dtf4BPP/30sPtL41Wb+wfgscce44EHHmD+/Pn07t27IVKVCBTq/dOpUydWr17NqlWrgq/zzz8/OLtWVlZWQ6YvYVabnz8DBgxg48aNwSIfYMOGDWRkZKhQO4HU5t6pqKioUZAdKPoNw6i/ZKVRiKjvzg0+pYkct1mzZhkOh8OYOXOm8fPPPxvXXHONkZycbOTl5RmGYRiXXXaZMXny5OD+33zzjWG1Wo3HH3/cWLt2rZGTk2PYbDZj9erV4boECaNQ759HHnnEsNvtxjvvvGPs3r07+CotLQ3XJUgYhXr//J5mgzyxhXr/5ObmGgkJCcaECROM9evXG//973+N1NRU48EHHwzXJUiYhHrv5OTkGAkJCcZ//vMfY/PmzcYnn3xitGvXzrjooovCdQkSRqWlpcbKlSuNlStXGoDx5JNPGitXrjS2bdtmGIZhTJ482bjsssuC+2/evNmIjY01brvtNmPt2rXGtGnTDIvFYsyfP7/Bc1exFqWee+45o1WrVobdbjf69OljLF26NBgbNGiQcfnll1fb/6233jI6dOhg2O12o2vXrsbcuXMbOGOJJKHcP61btzaAGq+cnJyGT1wiQqg/fw6mYq1u/P7/wddee80AjC1btoQtp2MV6v2zePFio2/fvobD4TDatm1rPPTQQ4bX623grCUShHLveDwe49577zXatWtnOJ1OIysry7j++uuN/fv3N3ziEnZffPHFIb/LHLhnLr/8cmPQoEE12vTs2dOw2+1G27Ztjddee63B8zYMwzAZhvqCRUREDjZz5kyuvPLK4GeLxUJaWhrDhg3joYceCvuizCaTiZycHO69917gt3y3bNlCdnZ2WHMTEZG6owlGREREDuP++++nTZs2VFVVsXTpUmbOnMnXX3/NmjVrNCOqiIjUOxVrIiIih3HOOecEJ9W5+uqradasGY8++ihz5szhoosuCnN2IiLS2Gk2SBERkWM0cOBAILAswQHr1q3jL3/5C02aNMHpdNK7d2/mzJlTo21RURETJ04kOzsbh8NBy5YtGTNmDAUFBQC43W7uueceevXqRVJSEnFxcQwcOJAvvviiYS5OREQijnrWREREjtHWrVsBSElJAeCnn35iwIABtGjRgsmTJxMXF8dbb73FyJEjeffdd7ngggsAKCsrY+DAgaxdu5arrrqKU089lYKCAubMmcOOHTto1qwZJSUlvPLKK1x88cWMGzeO0tJSZsyYwfDhw1m2bBk9e/YM01WLiEi4qFgTERE5jOLiYgoKCqiqquLbb7/lvvvuw+Fw8Mc//hGAm266iVatWvHdd9/hcDgAuP766zn99NO54447gsXa//7v/7JmzRree++94DaAu+66K7jmU0pKClu3bq22fti4cePo1KkTzz33HDNmzGioyxYRkQihYZAiIiKHMXToUJo3b05WVhZ/+ctfiIuLY86cObRs2ZLCwkI+//xzLrroIkpLSykoKKCgoIB9+/YxfPhwfvnlF3bu3AnAu+++S48ePaoVageYTCYgMOPkgULN7/dTWFiI1+uld+/erFixouEuWkREIoZ61kRERA5j2rRpdOjQgeLiYl599VW++uqrYA/axo0bMQyDu+++m7vvvvuQ7ffs2UOLFi3YtGkTo0aNOur5Xn/9dZ544gnWrVuHx+MJbm/Tpk3dXJCIiEQVFWsiIiKH0adPn+BskCNHjuT000/nkksuYf369fj9fgBuvfVWhg8ffsj27du3P+ZzvfHGG1xxxRWMHDmS2267jdTUVCwWC1OnTq02oYmIiJw4VKyJiIgcgwOF05AhQ3j++ee56qqrALDZbAwdOvSIbdu1a8eaNWuOuM8777xD27Ztee+994JDIwFycnKOP3kREYlKemZNRETkGA0ePJg+ffrw9NNPk5iYyODBg/nHP/7B7t27a+y7d+/e4PtRo0bxww8/8P7779fY78AEIxaLpdpngG+//ZYlS5bU9WWIiEiUUM+aiIhICG677TYuvPBCZs6cybRp0zj99NPp1q0b48aNo23btuTn57NkyRJ27NjBDz/8EGzzzjvvcOGFF3LVVVfRq1cvCgsLmTNnDtOnT6dHjx788Y9/DM4WOWLECLZs2cL06dPp0qULZWVlYb5qEREJBxVrIiIiIfjzn/9Mu3btePzxxxk3bhzff/899913HzNnzmTfvn2kpqZyyimncM899wTbxMfHs2jRInJycnj//fd5/fXXSU1N5cwzz6Rly5YAXHHFFeTl5fGPf/yDjz/+mC5duvDGG2/w9ttvs3DhwjBdrYiIhJPJOHi8hYiIiIiIiEQEPbMmIiIiIiISgVSsiYiIiIiIRCAVayIiIiIiIhFIxZqIiIiIiEgEUrEmIiIiIiISgVSsiYiIiIiIRCCts9YA/H4/u3btIiEhAZPJFO50REREREQkTAzDoLS0lMzMTMzmI/edqVhrALt27SIrKyvcaYiIiIiISITYvn07LVu2POI+KtYaQEJCAhD4C0lMTAxzNiIiIiIiEi4lJSVkZWUFa4QjUbHWAA4MfUxMTFSxJiIiIiIix/R4lCYYERERERERiUAq1kRERERERCLQCVesffXVV5x33nlkZmZiMpn44IMPjtpm4cKFnHrqqTgcDtq3b8/MmTPrPU8RERERETmxnXDFWnl5OT169GDatGnHtP+WLVsYMWIEQ4YMYdWqVdx8881cffXVfPzxx/WcqYiIiIiInMhOuAlGzjnnHM4555xj3n/69Om0adOGJ554AoDOnTvz9ddf89RTTzF8+PD6SrNeGYYBHNtDjSIiIiIiEh4nXM9aqJYsWcLQoUOrbRs+fDhLliw5bBuXy0VJSUm1V6T4ad9P/Gfdf9hcvDncqYiIiIiIyBGoWDuKvLw80tLSqm1LS0ujpKSEysrKQ7aZOnUqSUlJwVckLYhd6i6lyFXEusJ14U5FRERERESOQMVaPZgyZQrFxcXB1/bt28OdUlDHlI4A5JbmUuGpCHM2IiIiIiJyOCrWjiI9PZ38/Pxq2/Lz80lMTCQmJuaQbRwOR3AB7EhbCDvFmUJabBqGYbBh/4ZwpyMiIiIiIocRFcXa66+/zty5c4Ofb7/9dpKTk+nfvz/btm2r13P369ePBQsWVNv26aef0q9fv3o9b33q1KQTAOsL1wcnGxERERERkcgSFcXaww8/HOzFWrJkCdOmTeOxxx6jWbNmTJw4MaRjlZWVsWrVKlatWgUEpuZftWoVubm5QGAI45gxY4L7X3vttWzevJnbb7+ddevW8cILL/DWW2+FfN5I0i65HRaThX1V+yioLAh3OiIiIiIicghRMXX/9u3bad++PQAffPABo0aN4pprrmHAgAEMHjw4pGN9//33DBkyJPh50qRJAFx++eXMnDmT3bt3Bws3gDZt2jB37lwmTpzIM888Q8uWLXnllVeidtp+AKfVSXZSNpuKNrGucB3NY5uHOyUREREREfmdqCjW4uPj2bdvH61ateKTTz4JFlhOp/OwMzIezuDBg4849G/mzJmHbLNy5cqQzhPpOjXpxKaiTfxS9Av9M/tjMVvCnZKIiIiIiBwkKoq1YcOGcfXVV3PKKaewYcMGzj33XAB++uknsrOzw5tclMpKyCLWGkuFt4Jtpdtom9Q23CmJiIiIiMhBouKZtWnTptGvXz/27t3Lu+++S9OmTQFYvnw5F198cZizi05mk5kOKR2AwEQjIiIiIiISWaKiZ62kpIRnn30Ws7l6bXnvvfdG1Bpm0aZjk46s2ruKrSVbqfBUEGuLDXdKIiIiIiLyq6joWWvTpg0FBTVnLSwsLKRNmzZhyCh6ub1+nvp0A099uoEEWwrNY5tjGAYbizaGOzURERERETlIVBRrh5sQpKysDKfT2cDZNC6dUgJrrq0rXBfmTERERERE5GARPQzywKyPJpOJe+65h9jY34bp+Xw+vv32W3r27Bmm7BqH9int+WbXNxRUFlBQWUCzmGbhTklERERERIjwYu3AdPmGYbB69WrsdnswZrfb6dGjB7feemu40msUYqwxZCdms7l4MxsKN9CshYo1EREREZFIENHF2hdffAHAlVdeyTPPPENiYmKYM4p++0vLMf/8Hl1iiuAP94LVSccmHdlcvJk1BT/zwpLPMJlMTP/j7cQ5HMF2bq+faV8EnmsbP6Q9dmtUjKAVEREREYlaEV2sHfDaa6+FO4VGY+mWQnJd8exwxWFsKOD0jum0SmhFjDWG4qpSXEYZTlNCuNMUERERETnhRUWxVl5eziOPPMKCBQvYs2cPfr+/Wnzz5s1hyiz69GqVzHpbJfmeGH7cWcIvBVWc2iqF7MR2/FC1ikpfEU6zijURERERkXCLimLt6quv5ssvv+Syyy4jIyMDk8kU7pSiVmqCg4EJeezxxlCc4GBfhY+lm/dhmGPZSwX2yvVkVOaBzw04jno8OPIQSQ2fFBERERGpnago1j766CPmzp3LgAEDwp1K9CvZSVr5WpyOFnQ5NYNtJT4Wbyxgf0Uie0scFFQ1x+9LYt6aPTgcpcFmXp+fDfmlJMbY8PkPvZSCiIiIiIjUnago1lJSUmjSpEm402gUzNuXYvNV0qxiI5Y1s+nQ4Sza9cvmp13F7PuhDeuMpew3fGwpqMBm8wXb+fwGheVuCsvd/PvbbQw8qTkd0uLVyykiIiIiUk+iolh74IEHuOeee3j99derrbUmofN3OJfSJR8S79qDqXgHrPgnlmYn0b3tYJr278vK3S/ip5hebSykJqQF23k8Lpr+8hYbqxIpKh/GvNW7+X6bg9PbNyMj3sJpuS8FdvQ9CNaDFir3uQ8b0xBJEREREZHDi4pi7YknnmDTpk2kpaWRnZ2NzWarFl+xYkWYMos+dmccXbr0AG8VZHSHvWuh4BfYt5GmKSeRbnaz3+zD7MyjW8suwXZuVxWumGLaO0swt0lh1a5y9pS4eG/FTjITbcR77TSxusN4ZSIiIiIijUtUFGsjR44MdwqNj9UJHc+B7AGweSEU/II5fzWDSgv5KtbOL/t+ZlD2YMym6r1dVpNBr+wUTm2Tyrdb9vHjjmK2769kd3EmcWYva5bkYrH+Vkz7vB62729JotVNVqmLlg4nx6K2k5YcrbeuPo4bSTERERERaTyioljLyckJdwqNV1wz6PYXKN6BsW4+aX6D5l4Xru3fsCMui1YdzgWLrUazGLuFwR1TOaVVCovW72b3j1Dut1Jc5cVi+W0/n89Lud9KudvKrO930qVFBf3bNSU51t6AFykiIiIiEn2ioliTBpDUEu/JF7Hmh7dI8RaA38f6zfNptX87ZJ8OTToculmMjbM6pxKzbDuVfivdT83E5vhtyn+Py8WqrbvZ4krAA6zPK+WX/DK6t0yiZ2bs4Z91k1pRr5uIiIhI4xEVxZrP5+Opp57irbfeIjc3F7e7+rNRhYWFYcosClntMGTKIUNxDie3nDSEPd5y3nGY2FyyE1dVEY71H2F3LqZfmgExKYAXvAf9HfjcxJkDr/R4M3b7b11rbpuZVGsFza1VtOrdgmXbS9laUMGq7UX8uL2QuIpkOjiL6/miRURERESiT1QUa/fddx+vvPIKt9xyC3fddRd33nknW7du5YMPPuCee+4Jd3qNTnNLLClNW7E/Po2NjlS67t8FFYWByUgAvgbMvxVkFp+XFiWrAu8XPwMWa42Y12wntWIjF/Q4he1FVXy9sYCdhWWsrUzml6ok9vyYR5vUJFo3jaVpnP2Is0jWOna8bRuBSHq+LpqeSxQREREJh6go1v7973/z8ssvM2LECO69914uvvhi2rVrR/fu3Vm6dCk33nhjuFNsVEwmE51SOrBkz/dssNvo2vda2PoNbP8WDN/RD3AIVr8b84Z5kLeCrLZD+J/ebVm7s5DZP3ko89nYuq+C7UWB3rp4h5WMRCtlrjhSrG6KKjzYfQd9qXZ5KPMFbt1QYsfT1u1ycfKWVwOx3ndiP2ioZ7hiZgyMgfeCNea3CzyeYlUOSwWgiIiIhENUFGt5eXl069YNgPj4eIqLA8Pm/vjHP3L33XeHM7VGq0PKSSzds5zd5bsp8lWR3Gbgr8WaH06fGBhO+Sufq4qdW/cDkNb/ZiwHzfgYiO0j3l1AhtUB5QWw+m1MyVm0b9mP4Uk7KfbZSWnXhN1lXnbur6TM5WVdXhW7y5oDsPrb7VgO6q3z+bzsLmoJwA8hxI6nbaTGNi3dHuyRzEqJ5aC5XUREREQkykVFsdayZUt2795Nq1ataNeuHZ988gmnnnoq3333HY6DehzkOB30PFsc0DKhJdtLt7N+/3r6Nj8FTCYwWQKzQx40Q6TdbnBau+a/fnAcIpYGpEHfv8GuFbDjeyjajmXfFppVbsLuyKB7VhJ2Zwxen5/dxVVsyi/i659dlPps2C1mLAf1SPgwYzX5A8cPIXY8bSMx5jPMlFR5WbOzmDU7izGZoInTTFVFCqm2Srw+PyHNuVkfQ08bOhauc9aCet1ERETkaKKiWLvgggtYsGABffv25YYbbuCvf/0rM2bMIDc3l4kTJ4Y7vUarU5NOgWKtcD19mvXEdLwHtMVAuyHQohds/RpjxwpiPEXEeIowf/cPaNYea5M2ZCW3Jq1tExxJuwHo9Yds7Af11rldVSzPzQ05djxtIzHmNUykdU9nd5mP3MIKCkpd7Clzs7syifWVSWz9ehutmiXQqkksrZrE0jxBv9gQERERiSZRUaw98sgjwfejR4+mVatWLFmyhJNOOonzzjsvjJk1bm2S2mC32CnzlLGtJJd5RT8CMM7nwXbQMEiPz8PLocScidDpXPxp3alcuxynpxiTqxTyVgdegNmZQlLldtyWOCjYEOixO8DtIsYTGHYZUuwY23rMMUQDq8kgu2ksHTIDhVy5y8umvP0sXF9GvicGr99g274Ktu2rAAJr42UmWCmtisdh9pO0txy73RM8ntvtZqc7FiBqY3Vx3ASzB8MwDvOnfgj10FvndlWx/I27AOj11wdr/NJBRERETgxRUaz9Xr9+/ejXr1+402j0rGYrJyWfxE/7fmJ90Ya6P0FsM/bFtsNk+Ek/+UIs5bugcAuU7cFUvpcE9x4ALGv/r8YMk00rNoccC6Wt+buXoPlJkJINya2ByB+iFuew0ik9gfL4AgwD2vZpGex127G/kkq3jw17XOwubwbA1jX5NZ+FK02N6lhdHXfz4tzgs4CtmsRSc1l4ERERkfoXscXanDlzOOecc7DZbMyZM+eI+55//vkNlNWJp2OTjvy07yc2F2/BZ/ixmOquaPH4PMwxB57Z6ZbYAnt6J2gHuMtx7f6ZL9bPJ9bv5bz4dCz233oWvO4qvrUFeotCiR1L2++s5ST4XKRVFMKuVYGXyYRhT+In1zJcZis9d3wHzthgO19VBSs8KwBqxExuN3GuvYH3u1aC3d5gsabFP5Fut3NKc/A1hX3lLnbuK+NH0yaKTQk0S7Rjtf3Ws+j1enBbqwDITHJitdqiLna8x62yuij22Sl3+1i7u4S1u0sASHGaqSpvQrzFg21nCTZbVbCdx+NmU1UCwGFjdpOPzm5fjY7e2jhar9uR4o0hFnH5eN2w6InA+4G3VJt8qV5i4ThnNF2jiEgjE7HF2siRI8nLyyM1NZWRI0cedj+TyYTPV7vp5OXo0mLTSHIkUVhZyP6MrjSLaVbzH0arHdoM/O39McbsFjNZyTHB978F4jCad2JtbGDSknO6/w+O2IRg2FtRyvK1c0OOHUvb79bOxWL4GdDlAuyVe2H/FigvwFSWT7YrMAupZdMCOKjIsXhcdKzcd8iY4XGxx7UKgE6/fBy2mAVIBZI9LvZZP6cF8AdXLPbEDoHew5RsyrHx4LqvAfhTj78Rd9CfTXlFaVTEjv+4izAbJv7YbTR7K0zkFlawt9TFntJKvnJ5ARN/WJeP7aA/c4/HxVcVgSc6Dx+zsnXRZjKbJNKqSSytm8aSZPcGf1nR3efBzm8FwMG/yAgldjxtoyUWafmUu108uPVbAO7q6yLuoJ9z9RELxzmj6horSnlw9mWB2Oh/1fx/vI5jRyzyI2y9SC0zIhKdIrZY8/v9h3xfF6ZNm8b//u//kpeXR48ePXjuuefo06fPYfd/+umnefHFF8nNzaVZs2b85S9/YerUqTidjf85EpPJRKcmnVi8czEFlQWBYq2R85nMGE3aQmyPwAZXKb7dP7Prl0+xGgb+Zh3goB45v7uKPba4wPsIjh2I77PGkORzgacK9q4PvACrxUmnigJcZgvm3MXg+K2H0OyqoE1V4Fm/SI7V1XFbl66kkyMWUsHVxM/2giK8ljWUGTF0TDawxMcH27lcVn6wFwHQrnkcjoO+rLlcVlbZi3D7AwXc3lIXe0tdLN+2H7/Pzebik0iwlbCn1EVrZzxm83FP4yMiIiKNSMQWawd4PB7OPvtspk+fzkknnXTcx5s9ezaTJk1i+vTp9O3bl6effprhw4ezfv16UlNTa+z/5ptvMnnyZF599VX69+/Phg0buOKKKzCZTDz55JPHnU806JDSgSW7llDqLsXldTXIOQ/b63YcsVq3dSRgzTiZssxWAFi6/gkcccGwxVVO0bYPIyLmqyhl9Q9vAfCnTufB73qdfBWlrPrhLUyGwR96XPxr7+FWKN6JqaqYFu7SwHFzl9ToPWxbVRTxsfo4rgNo5XHRx7QeTPCHsvewWzKhSZtAj6Q9he/XBJ51PLtr8xq/kT8Qu7J/FvuqzOTuqyC3sILCUhflngTKPQm8vXw3CbHFwZk7m8ZotIBINDhij6y7nD07bv/1/b+wWxOOKXY8bWt9zlpOeFQvw4dFpJqIL9ZsNhs//vhjnR3vySefZNy4cVx55ZUATJ8+nblz5/Lqq68yefLkGvsvXryYAQMGcMkllwCQnZ3NxRdfzLfffnvYc7hcLlyu34qakpKSOss/HBLsCbSIb8Hy/OVsKdnCVzu+wmr+7dbx+r1sLdkKcNiY3WwnrzyPFgktMNfhc29SO4bJhJGQCWkdIft08Lrx5q1l28bPsRh+/Bk9wfHbrJh+VyU7fvks8D6CY/V5zp2/fEaCzx1Yb7BiX+C143tsXg+9S3dRZrFj2fhZtXYWVyWdKgoASMj9guaOGDpZwUg12OcsI8b6LZXeWDqWpGOUWvDkwyZgg9dD/J5Y7FYX23/5geyTeuKM/a03T0RERE4MEV+sAcF11Q6ewr823G43y5cvZ8qUKcFtZrOZoUOHsmTJkkO26d+/P2+88QbLli2jT58+bN68mXnz5nHZZZcd9jxTp07lvvvuO65cI03HlI4AlLpL+Xnfz1jMlmDM5/extyIwqcWRYh9s/IAYWwwt4lvQMr4l6XHpGNmnYzKZ9Fu1OnK0nsXDstoxmrRlY0wTAHztzqzWK+erKGX99zMjPlaf51z3a2x4n+uwu/cHZi7dvxVK8kjyuUjyuTDn/VCtt87scQV7Kw+OmYBEj4vO7AArDGzSFbfPTFGlh5JKD0UVLlzeQvDCvm/fYf/y/8OSmEFsWjtiU1uB3wANmRSROhJJz3pCwz97WNuYx1XOy/OuBmDcua9gO2iky5FiQP1NziONTlQUa16vl1dffZXPPvuMXr16ERdX/YY/1uGIBQUF+Hw+0tLSqm1PS0tj3bp1h2xzySWXUFBQwOmnn45hGHi9Xq699lr+/ve/H/Y8U6ZMYdKkScHPJSUlZGVlHVOOkap9cnuyE7Px+D38v/T/V6Mgy6/IBzhkLK8ij0pvJU6rE7fPzZbiLWwp3oLP72PNvjXEWmP5eOvH1dt5XPziKQLg422fYjnoC3BtY/V13AMxh8nCtpJcWjVph92iH56Nli0GklKheeAXGJ7CHazdvAiH4WVAq/41ZgrdvOkLgKPGEpyxHPgKUFpezrIFG/B77LSOawZVRfiKd1FavIvitV66FLgpsdpZ/cm/sNp+Nxumx0NmQWCduN/HG0MsnPmYTT4Kvn0LW0pC8JchFncV3csDP/8sa/+v2nOi9RELxzkj8Rq7ledTZrFjKt0FzpPArBEbItI4RUWxtmbNGk499VQANmyovt6XyVS/v11euHAhDz/8MC+88AJ9+/Zl48aN3HTTTTzwwAPcfffdh2zjcDhwOOpgju4IYjKZaP7r7Iy90nphs/z2Rcbj87Biz4qjxsZ0GUORq4gdZTvYUbqDnaU7cfvcwQLu90VeUWI6AFvKttdJ7LiO63VT5AsMbd1SshXLQb/JOjj20baPse5ykB6bTsuElqTbm2IYRr3fp8eqPp4FjKRYfR73sJxJ7HIEyix/q37VeuT8FaVscaaEHDNXlLIn4UXAoOcFN+H3eNizbR0lu3+hYvcGLIZBiseFb88GjN+tM+f3eWnqDtyPv483hli489nxy2p2W6zEO6wkxdiItRk0c1dgMoF538YaPavNPYGlQuoqVl/HjaTYsbRN9VSQ6qnA+sN/ICYRklsFniN1NgfDCAxXFqlnbp+f7UWVwfe2Y4xB7Wc8dfv8LN8cmIG6V38/9oN+PDb4EiTSIKKiWPviiy/q5DjNmjXDYrGQn59fbXt+fj7p6emHbHP33Xdz2WWXcfXVga7sbt26UV5ezjXXXMOdd96JWb/NO2Zmk5m0uDTS4tLoldaLCk8Fxe5i3D43f2j5B6wHfTny+rwUVhUC1FnsuI7rrqJw68JArMVArL9bn23f1oVU+D0k2hMp91exu3w3u8t34/O6+cFdgNNk4YNNc2r0yK11B87XELFwnLOxXKPLXUUugWdP52z5EMdBf/8NFosB2iZQldmFjzxLsXnhlNZND7nO3EqfF6gZbwyxcObj81tp2SQej+/XQsALfrefXGtbrGYvi8p8WC3u39r5fPxiC0xMVFex+jpuJMWOpe0maxYJRhWr8zZiNfmB74HA7NGe0kJcJivTPrilxi/kykoDS7DUJmYzTLw/5wEyrCnE48RkMuH1eWi1x48XC4s+/whXUluqHM3BZMLlrmJTUaAH/t2Vu3HY9wePeaTY0eL1GbOaPfy4s4ROmQ6SY20R84tGkRNZVBRrdcVut9OrVy8WLFgQXLvN7/ezYMECJkyYcMg2FRUVNQoyiyXwQ9wwjHrNt7GzmW0kOZIA6NK0S40euW92fVOnseM+bvuzArHU7oeNXdL1Miq8Fewo3cH2su1sL9mOLzmLciCvqgCL+3dfAJIyoYFiR23rdVPm9wRiFfk1eg+jIVaf5zxQSxVU7sHiOf6Y2+Oi0hQoDvIr8rF7HMccK7d5wAa+JvGHLFaLdge+2P4+3hhi4c3HTfPWTTFMVoorPBRXeigsr2KX1Q7YMfnMmI3f/r3w+83kmgNDX+sqVl/HjaTYsbTdZokD4ihxtsWJG6e3BIe3BJuvnHKzD/BRWJmH6aB/vw2/H68p0ENam5jXBGvK1/GT2YzTsNKcGJr67MT4qrAbZhJ2LSYpfxles5NiZyZV1lRMHgvlJid5xS4OHs3r8bio8AYe6fh97Gjx+o4t+qWQpVvLSXBaad00juaxBl6/FavZizROR+ytq2VPntSdqCnWvv/+e9566y1yc3Nxu6v/Bu6999475uNMmjSJyy+/nN69e9OnTx+efvppysvLg7NDjhkzhhYtWjB16lQAzjvvPJ588klOOeWU4DDIu+++m/POOy9YtIkcLMmRRJIjia7NuuLyuihyFeH2uRmePbxGT16JO9B70hCxo7Z1V1Ky9atArPUwrPaYqItFWj5HilVWlrNpzacADMsaSkxM3HHH6uu4kRSLtHwqKsp55r8/4PXbGH3yH3EeNBtolauS2V8Fnoeuq1h9HTeSYiG17XZetZirsoT5X07FgsFZ3a7AflCPtdtdxbzvXwWoVcxt8tG23WD2+0rwGX6KgH0+D2uMjcT6DU5N82L37sfk9wFb8fl9tI1dj9dkJq5yCxbXb98Z7H4fnWLXANSIHS1+vDGnYaKHp5gscxOammMxm0x4TG7amD/B67dxUgmUu3/9hfRm2OfzclK+F4vJy6p3n8By0L8bPp+X9nmBIu5wMRMGW+c9S/OkWJJj7NitZqzuKvqXbMfAhGXDR5DeGVKywVF9wiipqaEng6mtoxZyGl55zKKiWJs1axZjxoxh+PDhfPLJJ5x11lls2LCB/Px8LrjggpCONXr0aPbu3cs999xDXl4ePXv2ZP78+cFJR3Jzc6v1pN11112YTCbuuusudu7cSfPmzTnvvPN46KGH6vQapXEym8zE2eKIs8XRJqlNjR65lF+fWWqI2DG1bT80EGvSISpjYcnHVU6KJdAL0yYxu8ZsYIeNOcvpnBzoWe6Q0rZarNxWSjyBf7iyE7Orz0x2hNjxtI2WWKTlU24rpZnVD7gY2LpTjVnkvrQHemvqKlZfx42k2PEed+GyQIHS9+RhNWKf/vTPWsdsWLm0zzgczhh2l+9mR+kONu3byKpd31BsAl9mO3xWG7hKobIIb3kB7v0eTICfckz8Vjj58YGl6tf31WNHix9vrArY4N3OJv8uHGYrLSxxpOPAbikhxWyiexM/Foud0qpA7/G+skrijSowgMqi6s+Q+rzE+H/tcTtCrKhwLyXFVkxAnMNKnA0sHjM2sxvznp9h/6ZAm7hmkNIGU0xzLIYfn5b6EYmOYu3hhx/mqaeeYvz48SQkJPDMM8/Qpk0b/va3v5GRkRHy8SZMmHDYYY8LFy6s9tlqtZKTk0NOTk5tUhcREZFGxGq2kpWQRVZCFt2TT+bH79/Gbfj5U5vza/TIPj/nBmJ8Hv7Y+2ZiHL/NBlvpquDVTwLfK34fO1r8eGIzPrmHKpOfrHbDKfAU4fJ52Ays97pZmhiP2TCxPt6OzWqHhMAvKDzeWL72luM3LJzavim2g57n9Hg9rDAFisPDxfyYaZeZQKUHKt0+IDAkf7szCys+PtybR6y/DJu3AhOBx0v8hsH+sgIMTDw863JMBy1VYvgNissCSwI1dOyp964k1m7HaTdjNZvw+Xx4XZsB+OfHf6s24upAzGzApwsm0caRQktbPE3MgecdbR43g4u3AmBb8izYfutZOpZYhdmGeeuiQK9kUhZY6ucrfX311tXLRCmNVFQUa5s2bWLEiBFA4Lmz8vJyTCYTEydO5Iwzzmh0a5pFIpvFxvU9r6/TmEijYLVDm4G/va+DmN3hJOuUs4LvRSRyWTATg5nU2NTqPXKmUuwmO16rndTm3Wr01nmtgcLu97GjxY8n5rPGYwOGdbiImJg49lTsYXvpdjbv24jb9BmGGTy2GEwHPbPpMVlwWQP9g474eOy/m5nTY/MDHCHmJz21CXabA7fX/2tvXQVV+834DRv77GnsN7fAbHh/ffawFLunCL8JwMBneDEd9MyiYfgxTIGirqFjZS435R4vlIPNbMJuAY/fgsXkw+3zYDloLgOf34vfAD+wzVXEDk8ZAHFmKy2t8aRix20YWA2o8lThN/zBtm6vG8NvYMGEz+vGx2/Fo8/rxuyHeL8Htn+Lb/cqDLMVklrii00l1uuhwmzD7a6qNgrE7a4CP5jxg88dGIYYPKgby4HzHybmR5PNhEtUFGspKSmUlgYWlm3RogVr1qyhW7duFBUVUVFREebsRERERKKL2WQmPS6d9Lh0uiR2YsWyWXgNP6NPuojYmPjgfhWVZWxf8zlAncYe370Uj9/G+NOvqhYLxEt5+cObMGNw1ZkPEeM8qMeyqpxXPrkToEFjHr+NQd1vpaASCsrcYAQmZtmx+xMA0jLOwnZwketxsa3sE/wmP460npRTRJm/AL/PD55AMbfd3h6ArGIPFnP1Qm+7oz12XyzfVfYh2ZFW7bhLvW6a+Usp29ucJt492H0VwB78Pi/t9gYm2Pn5rYcw/24Jkm57qzDhZ+v/PULThFiSYmw4beZfe+u2AWBb8ly1pTJsHheDi7dhYMK6+i1I6xRYJiP+0LOoh1Nj7XWLimLtD3/4A59++indunXjwgsv5KabbuLzzz/n008/5cwzzwx3elJL9dFbd7SevHCcU6QuHa3X7UjxxhCLuHwsdnYk9gq+r/dYOM4ZTdcotWbGhB0LifZE4g6a6MPqM2P/9dm3Oo2ZLNgtflomNanZs2i3Y7OZABMtUrNr9BBabIGer4aMWfDxh64nExebQJXHx479FazftY+lm7/E7XOAPaP6eoEmF1UkggHJzlNobnPgN3yU+woo8eVR5NqJhy1gAp/ZEegd+5UfCx6TFY/VzU+eZTQ1tyHD0Q2nOQGP4aLUFEOpJYZfmgzCZrUT4y0iqWoH8WVb8fALNnyH+BsOMDBTVOGhxFUOgMNqJs5uosrrxGb2UOX1B55v/JXb68fnD/w9uvZtwyjeDXyBYXXgikmjeWUV+62NoyiKVFFRrD3//PNUVQXGRN95553YbDYWL17MqFGjuOuuu8KcnYiIiIicKJw2C+1TE8iIh69X/oTfMHHNwJtqFHn78lYC/C7WMRh/+O2FGMAdZ91IbOxBPY8VZTz07pUUUknP1slYreWYTd/SqUlnOid0Osxx/x/lFaU88tYiTFg5d9RdNfL577tjqfLGkDXgJvIqYHdRFT6/gcfjYpHhBB+s9o/EZhzUQ+h3schnIhY3+WUn09S7hyTXLiz+Ivy+naTvh3SqWPXuE8RldCS5xUmkterI0UZNRsuslpEgKoq1Jk2aBN+bzWYmT54cxmxEjl1D9+RFWs+irlHX39ivMc7h4F+j7m6wWDjOGVXXGJvA1Cs/aLDYEXtkLWaykmOC7481djxt6yMmR2c2GdgsZmwH/dnZLGbMvz7r9vvYgW2WXwuaGJud2IN65QybG6fJTCZxjGr/Z1YXrWFbyTbW71/L2oI1FJrKicPGPtceKk2/PQ5U4SqjyhxYL3Sfdz+Vbs9vMW8ZlWYv2EvJTPPS3hmP22cnv6SKLXvKYWMxXp8Ti82G1f5bj7VhMjDMUI6dwuSulNpOBcNPnHsvcaVb2LtvB838ZVBZROW25VRuW87uJSb8sU1pst9EhQN8RTvAXX2oq6mqnERvFeXqHT+qqCjWhg4dyl//+lf+/Oc/k5iYGO50RERERETqXVNnE0a0HcGusl0s2bWE7cW57DNVsY8qPtzy32qTurg9LnJNgTkeQor5XViSV2AB4lLb0K5Je1omtKRlQkvw+Mnf+QMA406/9aDeug6UV3TnwdnvkOd30rfvJVTszaVyzyb8ZXuhJI8WlZVQCT/Ne4nkWCdJsTaSYmzE2i1YPW7+X9nuX5+Fmw1pv661lxD6LO+NXVQUa127dmXKlClcf/31jBgxgr/+9a+ce+652Gy2ozcWERERqQdH7JF1xHH9Bf8JOXY8bWt9zlrOTlsvz3rKIWXGZ/Lnk/7MT/lr+G7Nh/jwk2hPxHHQAu4uUxX2X2eyrE3Mi0GFt4L1+9ezfv96AOLMseyhAicWtpRsJdb92+QrFVXllOIGM1Q1iyG+5anEcyoVZcXs2raODct+Idbjp6k5jiqPnbxioNjAbvUTb7ey35dIrOGmaPcWbHt3AOC3Oih3pJJc6sdltrLjlx+rLXxf5aokptyM2wqG/7cZNBuzqCjWnnnmGZ566ik+++wz3nzzTcaMGYPFYuEvf/kLl156KYMGDQp3iiIiIiIi9cZkMtEmMZtWBEaZjT7pohrPpf2y4sNax/wYnNv6HPZ597OjbAcFFQXsd+1n/69r6X22/bMavXW7TGWHjtld/JhSCgY4urakVdyp4M5gV5ELt9ePx+PiK7+PeKrY5+5J08o9JFXtxOIvw+/LJ6vUDbgp+PbtGrNati8ODP384Z3HiM3oQGLGSaS27oS5kXbiREWxBoFn1c466yzOOusspk+fzocffshDDz3EjBkz8PkOP+uNiIiIiBxeJD3rCQ3/7GFtYzZ7HKktHwu+P9YYUH8zqR4HMyZaxLegQ2wnACq9lWzcu4Ef18zDhY/02PTqPXLuKmKMQClxuJgHP4apkt2e72kS04Rz2vTF5s/gl92FLN9Qhh8TphY9Kbc7KTf8xLj2Yi/ezL6irVgNP6bkllh/t9h6yf7NxPk84C6nasdqqnasZs934Hcm06zQRPEh/rijWdQUawfk5eUxa9Ys3njjDX788Uf69OkT7pRERERERBqVGGsMbZPakkag+jmvzR9r9Mj9sGz2EWN+DPqk9eHn4rUUVhUyf+tHZMRl0COtG22TfgHgz6ekH9S2NeUVHVm4903AzJg//q3GcT+c/TX47QzofxkVBTuoyN+Er2Q3lBeQUVVJU7elfv9gGlhUFGslJSW8++67vPnmmyxcuJC2bdty6aWXMnv2bNq1axfu9ERERETkBGO3mpk4rEPIMaj9jKd2q5l+7ZoG31eLNfR6kcfAjIkezbpzamYvVu5ZyY97f2R3+W62FW1lJ6U4sLJ8zwpinLHBNpVVFRRQCXD4mBl2xJQRc1ImppMy8VdVsnvberaV/ECy14LP6w0510gVFcVaWloaKSkpjB49mqlTp9K7d+9wpyQiIiIiIsfAaXXSL7Mf3Zp147u87/gx/wfKTB7K8LBi74oaz8LtMwWKtVBirpgqch0udtlNuN1VDXRl9S8qirU5c+Zw5plnYjZr7Q8RERERkbpyxN66WvbkHU68PZ4hrYbQIaE9q9fMw49BlyadcTp+6z2rclXwozEPIKRYRVU56wCvycDl+m39uWgXFcXasGHDwp2CiIiIiIjUgWRHMs0JFFoDMgbUeC7tC6aHHCstL+Y9kwkMg4qqsoa4jAYRFcWaiIiIiMiJrqFn7qyto/a61cOslmaTGQwz4KPKVV4nx4wEGlcoIiIiIiJRz4QJgEq3hkGKiIiIiEgjVl+9dfUyqyWB2ScBXK7GMwxSPWsiIiIiIhL1TL+WNlXuxjMMMmJ71p599tlj3vfGG2+sx0xERERERCSS2R1OYhJTcVXtxWd4wp1OnYnYYu2pp546pv1MJpOKNRERERGRE5zZHChtXB6ts1bvtmzZEu4URERERESkjtXXrJadmnZmo7ccr7fxFGt6Zk1ERERERKKe3RYDgMtbGeZM6k7E9qz93o4dO5gzZw65ubm43e5qsSeffDJMWYmIiIiISCRw/FqsuRtRz1pUFGsLFizg/PPPp23btqxbt46TTz6ZrVu3YhgGp556arjTExERERGRMHPaYgHweF1hzqTuRMUwyClTpnDrrbeyevVqnE4n7777Ltu3b2fQoEFceOGF4U5PRERERETCzGkPFGtuX+PpWYuKYm3t2rWMGTMGAKvVSmVlJfHx8dx///08+uijYc5ORERERETCzaGetfCIi4sLPqeWkZHBpk2bgrGCgoJwpSUiIiIiIhHC6YwDwONXsdagTjvtNL7++msAzj33XG655RYeeughrrrqKk477bSQjzdt2jSys7NxOp307duXZcuWHXH/oqIixo8fT0ZGBg6Hgw4dOjBv3rxaXYuIiIiIiNS9WEc8AF6/+yh7Ro+omGDkySefpKysDID77ruPsrIyZs+ezUknnRTyTJCzZ89m0qRJTJ8+nb59+/L0008zfPhw1q9fT2pqao393W43w4YNIzU1lXfeeYcWLVqwbds2kpOT6+LSRERERESkDsT8Wqx5fCrWGlTbtm2D7+Pi4pg+fXqtj/Xkk08ybtw4rrzySgCmT5/O3LlzefXVV5k8eXKN/V999VUKCwtZvHgxNpsNgOzs7FqfX0RERERE6l58TAIAPsOLz+vFYo2KUueIomIY5Pbt29mxY0fw87Jly7j55pt56aWXQjqO2+1m+fLlDB06NLjNbDYzdOhQlixZcsg2c+bMoV+/fowfP560tDROPvlkHn74YXw+32HP43K5KCkpqfYSEREREZH6E+sMFGte/LhdjWNh7Kgo1i655BK++OILAPLy8hg6dCjLli3jzjvv5P777z/m4xQUFODz+UhLS6u2PS0tjby8vEO22bx5M++88w4+n4958+Zx991388QTT/Dggw8e9jxTp04lKSkp+MrKyjrmHEVEREREJHROewyYTPhNUFFVHu506kRUFGtr1qyhT58+ALz11lt069aNxYsX8+9//5uZM2fW67n9fj+pqam89NJL9OrVi9GjR3PnnXcecSjmlClTKC4uDr62b99erzmKiIiIiJzobGYbJnNg6GNFZeMY2RYVAzk9Hg8OhwOAzz77jPPPPx+ATp06sXv37mM+TrNmzbBYLOTn51fbnp+fT3p6+iHbZGRkYLPZsFgswW2dO3cmLy8Pt9uN3W6v0cbhcATzFRERERGR+mcymbCa7Xh8HirdZeFOp05ERc9a165dmT59OosWLeLTTz/l7LPPBmDXrl00bdr0mI9jt9vp1asXCxYsCG7z+/0sWLCAfv36HbLNgAED2LhxI36/P7htw4YNZGRkHLJQExERERGR8LCZA9/PqzQMsuE8+uij/OMf/2Dw4MFcfPHF9OjRAwhM/nFgeOSxmjRpEi+//DKvv/46a9eu5brrrqO8vDw4O+SYMWOYMmVKcP/rrruO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P//8s3HNNdcYycnJRl5enmEYhnHZZZcZkydPDu7/zTffGFar1Xj88ceNtWvXGjk5OYbNZjNWr14drkuQMAn13nnkkUcMu91uvPPOO8bu3buDr9LS0nBdgoRBqPfN72k2yBNTqPdNbm6ukZCQYEyYMMFYv3698d///tdITU01HnzwwXBdgoRJqPdOTk6OkZCQYPznP/8xNm/ebHzyySdGu3btjIsuuihclyBhUFpaaqxcudJYuXKlARhPPvmksXLlSmPbtm2GYRjG5MmTjcsuuyy4/+bNm43Y2FjjtttuM9auXWtMmzbNsFgsxvz588N1CYekYi1KPffcc0arVq0Mu91u9OnTx1i6dGkwNmjQIOPyyy+vtv9bb71ldOjQwbDb7UbXrl2NuXPnNnDGEilCuXdat25tADVeOTk5DZ+4hFWoP3MOpmLtxBXqfbN48WKjb9++hsPhMNq2bWs89NBDhtfrbeCsJRKEcu94PB7j3nvvNdq1a2c4nU4jKyvLuP766439+/c3fOISNl988cUhv7McuFcuv/xyY9CgQTXa9OzZ07Db7Ubbtm2N1157rcHzPhqTYah/WEREREREJNLomTUREREREZEIpGJNREREREQkAqlYExERERERiUAq1kRERERERCKQijUREREREZEIpGJNREREREQkAqlYExERERERiUAq1kRERERERCKQijUREZFa2Lp1KyaTiVWrVjXoeRcuXIjJZKKoqOi4jmMymfjggw8OGw/X9YmIyG9UrImISFS74oorMJlMmEwm7HY77du35/7778fr9QI1i5sDnw+80tLSGDVqFJs3bz7iOUaOHNkAVyMiIvIbFWsiIhL1zj77bHbv3s0vv/zCLbfcwr333sv//u//HrHN+vXr2bVrF2+//TY//fQT5513Hj6fr17z9Pl8+P3+ej2HiIg0HirWREQk6jkcDtLT02ndujXXXXcdQ4cOZc6cOUdsk5qaSkZGBn/4wx+45557+Pnnn9m4cWON/e69915ef/11/u///i/YG7dw4cJgfPPmzQwZMoTY2Fh69OjBkiVLgrGZM2eSnJzMnDlz6NKlCw6Hg9zcXFwuF7feeistWrQgLi6Ovn37Vjvmtm3bOO+880hJSSEuLo6uXbsyb968anktX76c3r17E0j9nZ8AAAT/SURBVBsbS//+/Vm/fn21+Isvvki7du2w2+107NiRf/3rX0f881i2bBmnnHIKTqeT3r17s3LlyiPuLyIi9U/FmoiINDoxMTG43e6Q9gcO2ebWW2/loosuCvbe7d69m/79+wfjd955J7feeiurVq2iQ4cOXHzxxcEhmAAVFRU8+uijvPLKK/z000+kpqYyYcIElixZwqxZs/jxxx+58MILOfvss/nll18AGD9+PC6Xi6+++orVq1fz6KOPEh8fXy2vO++8kyeeeILvv/8eq9XKVVddFYy9//773HTTTdxyyy2sWbOGv/3tb1x55ZV88cUXh7z+srIy/vjHP9KlSxeWL1/Ovffey6233nrMf34iIlI/rOFOQEREpK4YhsGCBQv4+OOPueGGG46pze7du3n88cdp0aIFHTt2rBGPj48nJiYGl8tFenp6jfitt97KiBEjALjvvvvo2rUrGzdupFOnTgB4PB5eeOEFevToAUBubi6vvfYaubm5ZGZmBo8xf/58XnvtNR5++GFyc3MZNWoU3bp1A6Bt27Y1zvvQQw8xaNAgACZPnsyIESOoqqrC6XTy+OOPc8UVV3D99dcDMGnSJJYuXcrjjz/OkCFDahzrzTffxO/3M2PGDJxOJ127dmXHjh1cd911x/RnKCIi9UM9ayIiEvX++9//Eh8fj9Pp5JxzzmH06NHce++9R2zTsmVL4uLiyMzMpLy8nHfffRe73R7yubt37x58n5GRAcCePXuC2+x2e7V9Vq9ejc/no0OHDsTHxwdfX375JZs2bQLgxhtv5MEHH2TAgAHk5OTw448/hnTetWvXMmDAgGr7DxgwgLVr1x7yGtauXUv37t1xOp3Bbf369Tu2PwAREak36lkTEZGoN2TIEF588UXsdjuZmZlYrUf/523RokUkJiaSmppKQkJCrc9ts9mC700mE0C1SURiYmKC2yEw5NBisbB8+XIsFku1Yx0Y6nj11VczfPhw5s6dyyeffMLUqVN54oknqvUWHu28IiIS/dSzJiIiUS8uLo727dvTqlWrYyrUANq0aUO7du2OqVCz2+11NlPkKaecgs/nY8+ePbRv377a6+BhlllZWVx77bW899573HLLLbz88svHfI7OnTvzzTffVNv2zTff0KVLl8Pu/+OPP1JVVRXctnTp0hCvTERE6pqKNRERkaPIzs7mxx9/ZP369RQUFODxeGp9rA4dOnDppZcyZswY3nvvPbZs2cKyZcuYOnUqc+fOBeDmm2/m448/ZsuWLaxYsYIvvviCzp07H/M5brvtNmbOnMmLL77IL7/8wpNPPsl777132ElDLrnkEkwmE+PGjePnn39m3rx5PP7447W+RhERqRsq1kRERI5i3LhxdOzYkd69e9O8efMavVaheu211xgzZgy33HILHTt2ZOTIkXz33Xe0atUKCKzHNn78eDp37szZZ59Nhw4deOGFF475+CNHjuSZZ57h8ccfp2vXrvzjH//gtddeY/DgwYfcPz4+ng8//JDVq1dzyimncOedd/Loo48e1zWKiMjxMxmGYYQ7CREREREREalOPWsiIiIiIiIRSMWaiIiIiIhIBFKxJiIiIiIiEoFUrImIiIiIiEQgFWsiIiIiIiIRSMWaiIiIiIhIBFKxJiIiIiIiEoFUrImIiIiIiEQgFWsiIiIiIiIRSMWaiIiIiIhIBFKxJiIiIiIiEoH+P+FYDkHmtoOKAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(2, 1, figsize = (10, 6))\n", "for i,method in enumerate(methods):\n", " calib_df = calib_dict[method]\n", " recall_df = recall_dict[method]\n", " ax[0].errorbar(calib_df['threshold'], calib_df['calib'], yerr = calib_df[['lower','upper']].values.T, \n", " label=method.upper(), alpha=0.5)\n", " ax[1].errorbar(recall_df['threshold'], recall_df['recall'], yerr = recall_df[['lower','upper']].values.T,\n", " label=method.upper(), alpha=0.5)\n", "ax[0].axhline(y=0, color='black', linestyle='--', label = 'perfect calibration')\n", "ax[0].set_ylabel('mean PIP - % true causal')\n", "ax[0].set_title('Calibration')\n", "ax[0].legend()\n", "ax[1].set_xlabel('PIP threshold')\n", "ax[1].set_ylabel('% captured causal variants')\n", "ax[1].set_title('Recall')\n", "ax[1].legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "1b8ac10e", "metadata": {}, "source": [ "### Version 3 -- precision recall curve" ] }, { "cell_type": "code", "execution_count": 22, "id": "922ddb28", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(5,5))\n", "for method in methods:\n", " calib_df = calib_dict[method]\n", " recall_df = recall_dict[method]\n", " plt.scatter(calib_df['prop_causal'], recall_df['recall'], alpha=0.5, label=method.upper())\n", "plt.xlabel('Precision')\n", "plt.ylabel('Recall')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "8e8d05d7-69d6-4d91-aa8c-00a9511a511e", "metadata": {}, "source": [ " TODO #5: Change the L value 3, and h2g to 0.5. Keep the LD as 0.3. Observe the calibration and recall of ABF, SuSiE and SuSiE-inf.\\\n", " TODO #6: Change the sim_inf and fit_inf to True, keep L=3, h2g=0.5 and LD=0.3. Observe the calibration and recall of ABF, SuSiE and SuSiE-inf.\\\n", " TODO #7: Change the SuSiE and SuSiE-inf fit to use LD instead of in_sample_LD. Observe the calibration and recall of ABF, SuSiE and SuSiE-inf." ] }, { "cell_type": "code", "execution_count": null, "id": "871b2824-599d-40b5-a04d-dd31f0ff6e9e", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.5" } }, "nbformat": 4, "nbformat_minor": 5 }