Skip to content

Instantly share code, notes, and snippets.

@alexlenail
Last active June 3, 2019 21:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexlenail/1d4e8b722613e53e7b338b70159e6ade to your computer and use it in GitHub Desktop.
Save alexlenail/1d4e8b722613e53e7b338b70159e6ade to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Summary Statistics about the PsychENCODE Gene Regulatory Netowrk"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 0. Load GRN and reference Genome"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Transcription_Factor</th>\n",
" <th>Target_Gene</th>\n",
" <th>Enhancer_Region</th>\n",
" <th>Edge_Weight</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>BARHL2</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154869072-154870071</td>\n",
" <td>0.284806</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>BARHL2</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154868096-154869095</td>\n",
" <td>0.284806</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>MNT</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154716711-154717710</td>\n",
" <td>0.312268</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>MNT</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154701180-154702179</td>\n",
" <td>0.312268</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>MNT</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154819188-154820187</td>\n",
" <td>0.312268</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Transcription_Factor Target_Gene Enhancer_Region Edge_Weight\n",
"0 BARHL2 SHC1 chr1:154869072-154870071 0.284806\n",
"1 BARHL2 SHC1 chr1:154868096-154869095 0.284806\n",
"2 MNT SHC1 chr1:154716711-154717710 0.312268\n",
"3 MNT SHC1 chr1:154701180-154702179 0.312268\n",
"4 MNT SHC1 chr1:154819188-154820187 0.312268"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grn = pd.read_csv('./raw/GRN/PsychENCODE/INT-14_ElasticNet_Filtered_Cutoff_0.1_GRN_2.csv')\n",
"grn.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The psychencode GRN gives the site of regulatory elements (\"Enhancer_Region\") for enhancers, but for promoters, simply lists \"Promoter\". We will probably need to go back and add actual genomic coordinates for the promoters of each gene in this GRN. For the time being, remove all TF -> Promoter -> Target Gene edges, since they make the following analysis impossible"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"grn = grn[grn.Enhancer_Region != 'Promoter']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The psychencode GRN chunks the genome into 1kb bins. All Regulatory regions are 1kb. \n",
"\n",
"### TODO: check that they never overlap (group by chr, sort by a, make sure a's are spaced out properly)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"grn['chr'], grn['a'], grn['b'] = zip(*grn.Enhancer_Region.str.split('\\:|\\-'))\n",
"grn['a'] = pd.to_numeric(grn['a'])\n",
"grn['b'] = pd.to_numeric(grn['b'])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Transcription_Factor</th>\n",
" <th>Target_Gene</th>\n",
" <th>Enhancer_Region</th>\n",
" <th>Edge_Weight</th>\n",
" <th>chr</th>\n",
" <th>a</th>\n",
" <th>b</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>BARHL2</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154869072-154870071</td>\n",
" <td>0.284806</td>\n",
" <td>chr1</td>\n",
" <td>154869072</td>\n",
" <td>154870071</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>BARHL2</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154868096-154869095</td>\n",
" <td>0.284806</td>\n",
" <td>chr1</td>\n",
" <td>154868096</td>\n",
" <td>154869095</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>MNT</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154716711-154717710</td>\n",
" <td>0.312268</td>\n",
" <td>chr1</td>\n",
" <td>154716711</td>\n",
" <td>154717710</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>MNT</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154701180-154702179</td>\n",
" <td>0.312268</td>\n",
" <td>chr1</td>\n",
" <td>154701180</td>\n",
" <td>154702179</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>MNT</td>\n",
" <td>SHC1</td>\n",
" <td>chr1:154819188-154820187</td>\n",
" <td>0.312268</td>\n",
" <td>chr1</td>\n",
" <td>154819188</td>\n",
" <td>154820187</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Transcription_Factor Target_Gene Enhancer_Region Edge_Weight \\\n",
"0 BARHL2 SHC1 chr1:154869072-154870071 0.284806 \n",
"1 BARHL2 SHC1 chr1:154868096-154869095 0.284806 \n",
"2 MNT SHC1 chr1:154716711-154717710 0.312268 \n",
"3 MNT SHC1 chr1:154701180-154702179 0.312268 \n",
"4 MNT SHC1 chr1:154819188-154820187 0.312268 \n",
"\n",
" chr a b \n",
"0 chr1 154869072 154870071 \n",
"1 chr1 154868096 154869095 \n",
"2 chr1 154716711 154717710 \n",
"3 chr1 154701180 154702179 \n",
"4 chr1 154819188 154820187 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grn.head()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"RR_TFs = grn.groupby(['Target_Gene', 'Enhancer_Region']).size().to_frame().reset_index()\n",
"\n",
"unique_RRs_per_Target_Gene = RR_TFs.groupby('Target_Gene')['Enhancer_Region'].size()\n",
"\n",
"TG_TFs = grn.groupby('Target_Gene')['Transcription_Factor'].value_counts().to_frame().rename(columns={'Transcription_Factor': 'count'}).reset_index()\n",
"\n",
"unique_TFs_per_Target_Gene = TG_TFs.groupby('Target_Gene')['Transcription_Factor'].size()\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>name</th>\n",
" <th>chrom</th>\n",
" <th>strand</th>\n",
" <th>txStart</th>\n",
" <th>txEnd</th>\n",
" <th>cdsStart</th>\n",
" <th>cdsEnd</th>\n",
" <th>exonCount</th>\n",
" <th>exonStarts</th>\n",
" <th>exonEnds</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>DDX11L1</td>\n",
" <td>chr1</td>\n",
" <td>1</td>\n",
" <td>11873</td>\n",
" <td>14409</td>\n",
" <td>14409</td>\n",
" <td>14409</td>\n",
" <td>3</td>\n",
" <td>11873,12612,13220,</td>\n",
" <td>12227,12721,14409,</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>WASH7P</td>\n",
" <td>chr1</td>\n",
" <td>-1</td>\n",
" <td>14361</td>\n",
" <td>29370</td>\n",
" <td>29370</td>\n",
" <td>29370</td>\n",
" <td>11</td>\n",
" <td>14361,14969,15795,16606,16857,17232,17605,1791...</td>\n",
" <td>14829,15038,15947,16765,17055,17368,17742,1806...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>MIR6859-1</td>\n",
" <td>chr1</td>\n",
" <td>-1</td>\n",
" <td>17368</td>\n",
" <td>17436</td>\n",
" <td>17436</td>\n",
" <td>17436</td>\n",
" <td>1</td>\n",
" <td>17368,</td>\n",
" <td>17436,</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>MIR1302-2</td>\n",
" <td>chr1</td>\n",
" <td>1</td>\n",
" <td>30365</td>\n",
" <td>30503</td>\n",
" <td>30503</td>\n",
" <td>30503</td>\n",
" <td>1</td>\n",
" <td>30365,</td>\n",
" <td>30503,</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>FAM138A</td>\n",
" <td>chr1</td>\n",
" <td>-1</td>\n",
" <td>34610</td>\n",
" <td>36081</td>\n",
" <td>36081</td>\n",
" <td>36081</td>\n",
" <td>3</td>\n",
" <td>34610,35276,35720,</td>\n",
" <td>35174,35481,36081,</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" name chrom strand txStart txEnd cdsStart cdsEnd exonCount \\\n",
"0 DDX11L1 chr1 1 11873 14409 14409 14409 3 \n",
"1 WASH7P chr1 -1 14361 29370 29370 29370 11 \n",
"2 MIR6859-1 chr1 -1 17368 17436 17436 17436 1 \n",
"3 MIR1302-2 chr1 1 30365 30503 30503 30503 1 \n",
"4 FAM138A chr1 -1 34610 36081 36081 36081 3 \n",
"\n",
" exonStarts \\\n",
"0 11873,12612,13220, \n",
"1 14361,14969,15795,16606,16857,17232,17605,1791... \n",
"2 17368, \n",
"3 30365, \n",
"4 34610,35276,35720, \n",
"\n",
" exonEnds \n",
"0 12227,12721,14409, \n",
"1 14829,15038,15947,16765,17055,17368,17742,1806... \n",
"2 17436, \n",
"3 30503, \n",
"4 35174,35481,36081, "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"refseq = pd.read_csv('./processed/refseq.tsv', sep='\\t')\n",
"refseq.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# I. Min, max, mean, median stats for each of the links"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Num TFs per RR (per gene)"
]
},
{
"cell_type": "code",
"execution_count": 136,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"min: 1 max: 438 mean: 7.735816181866382 median: 5.0\n"
]
},
{
"data": {
"image/png": "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+7du3Rpbt26den706NHG/AG0rJ4tIyc9Hx3qzykJAAAAkOseTePj49HZ2Tm1LK5QKER3d3eMjY3Fv//7v8d1110Xq1evjlKpFJdddtlp79+0aVNMTExM/cybN6/ZfwIAAAAA/6dlNz4ql8tRLpfzjgEAAABAnXKdaOrq6orDhw/HsWPHIiKiVqvF2NhYdHd35xkLAAAAgAuQ60TTkiVLYsWKFbF9+/YYGBiIHTt2RKlUimXLlp3XebIsiyzLolqtNigp08WpezYBAAAAzdOUomlwcDBGRkbihRdeiDVr1sT8+fPj0KFDERExPDwcAwMDcffdd8eCBQti27Zt533+Xy6zK5VKqaMzw9hcHAAAAC5cU4qm4eHhMx5bvnx57N69uxkxAAAAAGigXPdoAgAAAKB91F00PfTQQ43M8bZkWRbr16+3RxMAAABAjuoumj772c/G8uXL44tf/GK88sorjcx03srlclQqlSgWi3lHAQAAAJix6i6avvOd78S//uu/xrPPPhu9vb3xJ3/yJ/Hcc881MhsAAAAA08h5bQb+gQ98IO6///7Yu3dv3HTTTXHffffF9ddfH1u3bo3LL7+8URnhbTv1bnIAAABAeue1Gfijjz4aN998c9x6663xp3/6p/HCCy/E4OBg/NEf/VGj8gEAAAAwTdQ90fS+970v3vWud8XGjRvj1ltvjdmzZ0dExLp16+If/uEfGhawHlmWRZZlNgOnoU6dihod6s8pCQAAALSmuoum7du3x8qVK3/lsW9961vJAl2Icrkc5XI5SqVSrjkAAAAAZrK6l849/fTT8fOf/3zq+ZEjR+L+++9vSCgAAAAApp+6i6Z77703LrnkkqnnixYtinvvvbchoQAAAACYfuoummq12mmvHT9+PGkYAAAAAKavuoumzs7OqFQqU8//7d/+LTo7OxsSCgAAAIDpp+7NwO+55564+eab49Of/nRERMydOze++c1vNizY+XDXOQAAAID81V00/eZv/mY899xzsX///oiIWL58ecyePbthwc6Hu84BAAAA5K/uoikiolAoxMKFC+PYsWPx/PPPR0REd3d3Q4IBAAAAML3UXTQ98MADsXHjxrjoooti1qy3tnYqFAoxOTnZsHAAAAAATB91F02f+9zn4qmnnorly5c3Mg9MSz1bRqYejw7155gEAAAA8lP3Xefe9a53KZkA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\n",
"text/plain": [
"<Figure size 1440x640 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(18, 8), dpi=80, facecolor='w', edgecolor='k')\n",
"df = grn.groupby(['Target_Gene', 'Enhancer_Region'])['Transcription_Factor'].count()\n",
"df.plot.hist(bins=300, logy=True)\n",
"print('min:', df.min(), 'max:', df.max(), 'mean:', df.mean(), 'median:', df.median())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Num TFs per RR"
]
},
{
"cell_type": "code",
"execution_count": 137,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"min: 1 max: 1241 mean: 57.09462505848492 median: 33.0\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x164a50c88>"
]
},
"execution_count": 137,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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97txxhlnHHb/1atXx+rVq4cuf1CZBbSuQ5fP2WsJAABg/Gu4aDp48GAzcxzl+uuvj+uvv35MnxMAAACA0RvRV7k98cQT8Z3vfCciIt54443YuXPncT35rFmzYufOnbF///6IiMjzPPr7+6Ozs/O4HhcAAACAsddw0fTP//zP8Sd/8idxyy23RETEnj174otf/OJxPfmMGTNiwYIFsWHDhoiI2LhxY1QqlZgzZ85xPS4AAAAAY6/houmOO+6In/3sZzFt2rSIiDjzzDNj9+7dDd23p6cnKpVKDA4OxtKlSw8rktatWxfr1q2L7u7u6O3tjfXr14/wT4jIsiyuvfbaqNfrI74vAAAAAGk0vEfTiSeeGOVy+fA7dzR293Xr1h3z2Lx58+Kxxx5rNMYHqlarUa1WbQYOberQTcMBAABoXQ1PNJ122mnxwgsvRKlUioiIb33rW/ZSAgAAAGBIwxNNt99+e3zhC1+I5557LmbNmhXTpk2Le+65p5nZAAAAABhHGi6a5syZE48//ng8//zzked5zJs3LyZPntzMbAAAAACMIw0XTf39/RER8dGPfjQiIl555ZWICMvngKawLxMAAMD403DRtHDhwiiVSpHnebzzzjvx9ttvxymnnBK7du1qZr6GZFkWWZb51jkAAACAAjVcNO3evfuwy3fffXc89dRTyQONhm+dAwAAACheKc/zfLR3Pv/882PLli0p8xyXSqUSg4ODRcdIwrIhaExf77IPvP7I/4aOdTsAAACGN5K+peGJpjfffHPo9wMHDsTjjz9+2HUA44USCgAAoDkaLpqmT58+tEfT5MmTY+7cufEP//APzcwGAAAAwDjScNF08ODBZuYAAAAAYJybVHQAAAAAANpDwxNNkyZNilKpdNT1eZ5HqVSKAwcOJA02ElmWRZZlUa/XC8sAAAAAMNE1XDR97Wtfi3q9HjfccENERHzjG9+IcrkcX/nKV5oWrlHVajWq1WpUKpWiowAAAABMWA0XTd///vfjiSeeGLp86623xsKFC+Pmm29uSjAAAAAAxpeGi6a33nordu3aFTNmzIiIiF27dsVbb73VtGAAKXWt2VR0BAAAgLbXcNH01a9+NebPnx9/+Id/GBER9957b9xyyy3NygUAAADAONNw0dTT0xMXXnhhPPTQQxERsXr16vj93//9pgUDAAAAYHxpuGiKiDjl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\n",
"text/plain": [
"<Figure size 1440x640 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(18, 8), dpi=80, facecolor='w', edgecolor='k')\n",
"df = grn.groupby(['Enhancer_Region'])['Transcription_Factor'].count()\n",
"print('min:', df.min(), 'max:', df.max(), 'mean:', df.mean(), 'median:', df.median())\n",
"df.plot.hist(bins=300, logy=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Num RRs per target Gene"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"min: 1 max: 384 mean: 39.10735481932237 median: 24.0\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x172d199e8>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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GTPi/vvvb2Y2AMYZO5OKxo1/3cxCAwCA5mi4aJo/f3489thj8cILL0Se57FgwYKYOnVqM7MBAAAA0EIaLpqGhoYiIuK9731vRES8/PLLERGWzwE0yGwkAACg3TVcNC1dujRKpVLkeR5vv/12vPXWWzFr1qzYu3dvM/MBAAAA0CIaLppee+21I76+77774r/+67+SBwIAAACgNTV817nxPvGJT8S2bZaBAAAAAPCOhmc0vf7666OfHzp0KB577LEjHitSlmWRZVnU6/WiowAdyB3NAAAA3tFw0TRz5szRPZqmTp0aF110UfzN3/xNM7M1rFqtRrVajUqlUnQUAAAAgI7VcNF0+PDhZuYASMod3gAAACbeKe/RBAAAAABjNTyjacqUKVEqlY56PM/zKJVKcejQoaTBAAAAAGgtDRdNn/vc56Jer8cNN9wQERFf/vKXo1wux4033ti0cAAAAAC0joaLpq9//evxxBNPjH596623xtKlS+Ozn/1sU4IBAAAA0FoaLpreeOON2Lt3b8yZMyciIvbu3RtvvPFG04IBFG2ybCg+WXIAAACcSMNF05/8yZ/EokWL4td+7dciIuLb3/523HLLLc3KBQAAAECLabho6uvri0svvTQefPDBiIjYsGFD/MIv/ELTggF0sk6fxXS85z/Yv3oCkwAAACej4aIpImLWrFmxcOHCuPLKK+PgwYPxk5/8JN7znvc0KxsAAAAALWRKo9947733xvLly+P666+PiIgdO3bENddc07RgAAAAALSWhmc03X777fHkk0/GVVddFRERixYtih/96EdNCwZAOpNxKd7YTCezHO5Uf+5kz92M8wMAQLtreEbT1KlTY9asWUc8ZtkcAAAAAD/T8Iym6dOnx6uvvhqlUikiIv7t3/4tzjnnnKYFA2hVk3H2EAAAwERouGjq7++Pj3/847F79+647LLL4qWXXopt2/zPFAAAAADvaLhoWrZsWTz44IPxve99L/I8jxUrVsTMmTObmQ0AAACAFtJQ0XTo0KFYuHBhPPfcc/Hxj3+82ZkAOAU2sm4t/l4AALSjhjYDnzp1asyePTveeuutZucBAAAAoEU1vHRu/vz5cemll0a1Wo1p06aNPr5+/fqmBAMAAACgtTRcNB0+fDgWL14cO3fuHH3sZ3egAwAAAIATFk3r1q2Lu+++OzZv3hzf/OY34+qr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6FTHGg+uI9i8eXOUSqX4xje+ERFNvI7IKdyHP/zhfPPmzXme53mWZfkv/dIvFRuICXf++efnTz311FGPGxud4z//8z/z4eHho8bC8caA8dG+jjUejvVekefGQzur1+v5tm3b8sOHD+d5nudf+MIX8pUrV+Z5nufXX399/ud//ud5nuf5D37wg/z9739//pOf/OSEx2hdxxsPK1euzL/+9a+/688ZD+3tf/7nf0Y/v++++/KLL744z3PXEZ3qWOPBdURne+mll/IPfehD+fLly0f/rWjWdYSiqWCvvvpqPn369PynP/1pnud5fvjw4fy8887Ld+7cWXAyJtK7vekbG51p7Fg43hgwPjpDo0WT8dBZHn/88fz888/P8zzP3/ve9+Z79uwZPbZs2bL8gQceOOEx2sfY8XC8osl46BybN2/OFy1a5DqCPM//fzzkueuITnbo0KH8ox/9aL59+/Yj/q1o1nWEpXMFGx4ejrlz50ZXV1dERJRKpeju7o6hoaGCkzHRPvWpT8XChQvjM5/5TLz22mvGBscdA8ZH5xr/XhHh35JOc+edd8bVV18d+/bti5/+9Kfxcz/3c6PHenp6Ymho6LjHaC8/Gw8/s3Hjxli4cGH81m/9VuzevTsiwnjoEJ/61Kdi3rx58Wd/9mdxzz33uI7ocOPHw9jHXUd0nk2bNsWll14aS5cuHX2smdcRiiaYBB566KH44Q9/GE8++WSce+658elPf7roSMAk5L2C2267LXbt2hW333570VGYBMaPh3vuuSeef/75+OEPfxiXX355/Pqv/3rBCZlI//AP/xDDw8Nx6623xs0331x0HAr2buPBdURnevbZZ2Pr1q3xp3/6pxP2OxVNBZs3b17s2bMnDh48GBEReZ7H0NBQdHd3F5yMifSzv/cZZ5wRN954Yzz88MPGBscdA8ZHZ3q394oI/5Z0is9//vNx3333xbe+9a04++yzY9asWdHV1RWvvPLK6PcMDg5Gd3f3cY/RHsaPh4h33gsi3pmN8Id/+Iexe/fu2Ldvn/HQYT796U/Hgw8+GJVKxXUEo+Nh3759riM61MMPPxyDg4Nx0UUXRU9PT3z/+9+PdevWRa1Wa9p1hKKpYHPmzIklS5bEli1bIiJi69atUalUYv78+QUnY6L87//+b+zfv3/0669+9atxySWXGBscdwwYH53nWO8VEf4t6QSbNm2Kr371q/HAAw/EzJkzRx+vVqvx5S9/OSIiHn/88Xj55Zdj5cqVJzxGa3u38XDw4MF49dVXR79n69atcd5558WsWbMiwnhoZ/v3748f//jHo19/4xvfiFmzZrmO6FDHGg9nnXWW64gOdcMNN8SePXticHAwBgcHY/ny5XH33XfHDTfc0LTriFKe53lzng6NeuGFF2Lt2rWxb9++mDFjRmzevDkWLlxYdCwmyO7du2PNmjVx6NChyPM8Lrjggrjzzjujp6fH2OggfX19sW3btnjllVdi1qxZMX369Ni1a9dxx4Dx0b7ebTz867/+6zHfKyKMh3Y2MjIS8+bNiwsuuCCmT58eERFnnnlmPPbYY/Hqq6/G7/zO78RLL70U73nPe+KLX/xifPjDH46IOO4xWtexxsO///u/x8qVK+PAgQMxZcqUOPfcc2PTpk2xaNGiiDAe2tmPfvSjqFarUa/XY8qUKTF79uz4/Oc/H4sXL3Yd0YGONR5mzJjhOoKIiLjyyivjxhtvjGuuuaZp1xGKJgAAAACSsHQOAAAAgCQUTQAAAAAkoWgCAAAAIAlFEwAAAABJKJoAAAAASELRBAAAAEASiiYAAAAAklA0AQAAAJCEogkAAACAJP4PT3mtvuZt3dEAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 1440x640 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(18, 8), dpi=80, facecolor='w', edgecolor='k')\n",
"df = unique_RRs_per_Target_Gene\n",
"print('min:', df.min(), 'max:', df.max(), 'mean:', df.mean(), 'median:', df.median())\n",
"df.plot.hist(bins=300, logy=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# II. Min, Max, mean, median genomic span of RRs per target Gene, and num other genes within that span\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### length of the entire regulatory region\n",
"\n",
"### Note: logx/logy histograms are difficult to reason about. Inspect carefully..."
]
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"min: 1000 max: 92461592 mean: 675255.9217188791 median: 556600.0\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x163f45cf8>"
]
},
"execution_count": 139,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x640 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(18, 8), dpi=80, facecolor='w', edgecolor='k')\n",
"df = grn.groupby(['Target_Gene'])['a'].agg(np.ptp) + 1000\n",
"print('min:', df.min(), 'max:', df.max(), 'mean:', df.mean(), 'median:', df.median())\n",
"df.plot.hist(bins=4000, logx=True, logy=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Enhancer landscape for typical genes (distance from gene)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x168c85f28>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB+cAAAKLCAYAAAAkZoqrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAk6AAAJOgBgmMFHAAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XnY1WWB//HPYV/VQERMCdNwS0pKRTERXMjLqXFLMEdFTVyoph8tWhmXS7Zg02S5Nk7uC+ZCprYpWpoLU+jIIuZgbLKIoOybcH5/eHnyke08D8+X52Cv13Vxzf09z33f3/vr/Pnue06pXC6XAwAAAAAAAAAUpllTHwAAAAAAAAAA3u/EeQAAAAAAAAAomDgPAAAAAAAAAAUT5wEAAAAAAACgYOI8AAAAAAAAABRMnAcAAAAAAACAgonzAAAAAAAAAFAwcR4AAAAAAAAACibOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcR5AAAAAAAAACiYOA8AAAAAAAAABRPnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAUDBxHgAAAAAAAAAKJs4DAAAAAAAAQMFaNPUBqF077rhj3nzzzbRs2TLdu3dv6uMAAAAAAAAANJrp06dn9erV2W677TJnzpzC71cql8vlwu/CVqlNmzZZuXJlUx8DAAAAAAAAoDCtW7fOihUrCr+PN+fZoJYtW2blypVp3bp1dtttt6Y+DgAAAAAAAECjmTJlSlauXJmWLVtukfuJ82xQ9+7dM2nSpOy2226ZOHFiUx8HAAAAAAAAoNHss88+mTRp0hb7ie9mW+QuAAAAAAAAAPBPTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcT5Bnj66adz/vnnp3fv3unUqVNatmyZbbbZJh/5yEdy0kkn5Y477sjKlSur3q9cLuf+++/PiSeemN122y1t27ZNly5d8slPfjKXXHJJpk+fXuDTAAAAAAAAAFC0UrlcLjf1IbYW8+fPz1lnnZVf/epXm5y722675eabb07fvn03Om/WrFk59dRTM2bMmA3O6dChQ372s59lyJAh9T3yZtlnn30yadKk7L333pk4ceIWvTcAAAAAAABAkbZ0D21R+B3eJ5YvX54jjjgizz//fOWzLl26ZL/99svOO++cefPmZeLEiXnllVeSJFOmTMlRRx2VMWPG5MADD1zvnosWLcrAgQMzYcKEymcHHHBA9tlnnyxcuDBjxozJm2++mSVLluSMM85Is2bNctpppxX7oAAAAAAAAAA0OnG+Sj/84Q8rYb5UKuWyyy7L8OHD07Zt28qccrmcUaNG5dxzz83ChQuzbNmynH322XnhhRfWu+cXv/jFSpjv1KlTfvnLX2bAgAGVvy9dujTnnHNObr/99iTJ2WefnYMPPji77757UY8JAAAAAAAAQAH85nyVbrrppsr4y1/+cr797W/XCfPJ29F+8ODBueGGGyqfjR8/PuPHj19nvwkTJlSie5LccccddcJ8krRv3z633HJLDj744CTJqlWrMmLEiMZ4HAAAAAAAAAC2IHG+CosWLcq0adMq1yeffPJG5x977LFp165d5fpvf/vbOnOuvfbarF27Nkly5JFHZuDAgevdq1mzZhk5cmTl+u67787rr79er/MDAAAAAAAA0LTE+SosWbKkzvUHPvCBjc5v0aJFttlmm8r1OxH+HeVyOQ888EDl+owzztjofn379q18lf2aNWvqrAUAAAAAAACg9onzVejSpUvatGlTuZ44ceJG58+bNy+vvfZa5fpjH/tYnb+//PLLmTlzZuX6sMMO2+QZ+vfvXxmPGTNmk/MBAAAAAAAAqB3ifBVatmyZo48+unL93e9+N8uWLdvg/AsuuKDytvzhhx+enj171vn7iy++WBnvuOOO6dat2ybP0Lt37/WuBwAAAAAAAKD2ifNV+t73vpcOHTokScaNG5devXrl5ptvzv/93/9lxYoVmTFjRh566KF86lOfyo033pgk2XvvvSvjd3vppZcq4w996ENV3b979+6V8eTJkzfnUQAAAAAAAADYwlo09QG2FnvuuWf+/Oc/5zOf+UymT5+eKVOmZMiQIeudu9122+XUU0/N5Zdfno4dO67z9/nz51fGXbt2rer+O+64Y2W8bNmyrFy5Mq1bt67fQyS5+uqrc80111Q1d8qUKfXeHwAAAAAAAIB1ifP10KtXr/ztb3/LDTfckAsuuCBLly5d77yBAwfm5JNPXm+YT5IlS5ZUxm3btq3q3u+dt2TJkgbF+Xnz5mXSpEn1XgcAAAAAAABAw4nz9fD666/nG9/4Rm677basXr06O+64Yw4++OBsv/32efPNN/Pss89m2rRpGTVqVEaNGpWhQ4fmmmuuSfPmzevss2LFisq4VatWVd37vSF++fLlDXqGLl26ZO+9965q7pQpU7Jy5coG3QcAAAAAAACAfxDnq/Tyyy9nwIABmTlzZlq3bp2rrroq55xzTlq0+Md/wnK5nLvuuivnnntuFi1alJ///Odp3rz5Ol8j36ZNm8p41apVVd3/vZG82jfu32vYsGEZNmxYVXP32Wcfb9kDAAAAAAAANIJmTX2ArcFbb72V448/PjNnzkySXHfddRk2bFidMJ8kpVIpJ598cu65557KZ9dee23Gjh1bZ16HDh0q42rfgH/vvHfvAQAAAAAAAEBtE+ercO+992bChAlJkj322COnn376RucfeeSROeKIIyrXN954Y52/d+7cuTKeO3duVWeYM2dOZdyuXbsG/d48AAAAAAAAAE1DnK/Cb3/728q4f//+KZVKm1wzYMCAyvgvf/lLnb/tsccelfG0adOqOsP06dMr4z333LOqNQAAAAAAAADUBnG+Cq+++mpl/O633jdm++23r4wXLlxY52977bVXZTxnzpw6b8VvyLhx49a7HgAAAAAAAIDa12LTU2jbtm1lvGDBgqrWzJ8/vzLebrvt6vztIx/5SHbeeefKb9g//vjjGTx48Eb3++Mf/1gZv/utfP459bjwoc3eY+oPjmmEkwAAAAAAAADV8OZ8Fbp3714ZP/bYY1WtGTNmTGW8++671/lbqVTKZz/72cr1TTfdtNG9nn766fztb39LkjRv3jyf+cxnqjoDAAAAAAAAALVBnK/CEUccURlPnjw5t95660bnjxkzJn/4wx8q1wMHDlxnzrnnnptmzd7+z/+73/2uzvx3W7t2bb7xjW9Urj/3uc+lS5cu9To/AAAAAAAAAE1LnK/CMccck549e1auhw4dmuuuuy5r1qypM69cLufuu+/O8ccfX/lsl112We9X1u+777455ZRTKtcnn3xyHn/88Tpzli5dmiFDhuTJJ59MkrRq1SqXXXZZYzwSAAAAAAAAAFuQ35yvQosWLXLLLbdkwIABWbZsWVasWJHzzjsvl156aQ4++OBsv/32WbhwYZ555plMnTq1sq5169a544470rp16/Xue9VVV2XcuHGZOHFi5s+fn/79++fAAw/M3nvvnUWLFmXMmDF54403KvN//vOfr/MV+QAAAAAAAADUPnG+SgceeGAee+yxnHrqqZXff589e3buvffe9c7fddddc+utt6Zv374b3HObbbbJ73//+5x66qmV36h/9tln8+yzz9aZ16FDh/z0pz/N6aef3khPAwAAAAAAAMCWJM7XwwEHHJCJEyfmgQceyOjRo/OXv/wls2bNypIlS9K+fft07do1n/jEJ/LZz342J554Ylq2bLnJPXfaaac88sgjuf/++3P77bdn3LhxmT17djp06JDu3bvnM5/5TM4666x07959CzwhAAAAAAAAAEUQ5+upRYsWOf744+v8rvzmKpVKjb4nAAAAAAAAALWjWVMfAAAAAAAAAADe78R5AAAAAAAAACiYOA8AAAAAAAAABRPnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAUDBxHgAAAAAAAAAKJs4DAAAAAAAAQMHEeQAAAAAAAAAomDgPAAAAAAAAAAUT5wEAAAAAAACgYOI8AAAAAAAAABRMnAcAAAAAAACAgonzAAAAAAAAAFAwcR4AAAAAAAAACibOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcR5AAAAAAAAACiYOA8AAAAAAAAABRPnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAULAWTX0AoGn0uPChzd5j6g+OaYSTAAAAAAAAwPufN+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcR5AAAAAAAAACiYOA8AAAAAAAAABRPnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAUDBxHgAAAAAAAAAKJs4DAAAAAAAAQMHEeQAAAAAAAAAomDgPAAAAAAAAAAUT5wEAAAAAAACgYOI8AAAAAAAAABRMnAcAAAAAAACAgonzAAAAAAAAAFAwcR4AAAAAAAAACibOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcR5AAAAAAAAACiYOA8AAAAAAAAABRPnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAUDBxHgAAAAAAAAAKJs4DAAAAAAAAQMHEeQAAAAAAAAAomDgPAAAAAAAAAAUT5wEAAAAAAACgYOI8AAAAAAAAABRMnAcAAAAAAACAgonzAAAAAAAAAFAwcR4AAAAAAAAACibOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcR5AAAAAAAAACiYOA8AAAAAAAAABRPnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAUDBxHgAAAAAAAAAKJs4DAAAAAAAAQMHEeQAAAAAAAAAomDgPAAAAAAAAAAUT5wEAAAAAAACgYOI8AAAAAAAAABRMnAcAAAAAAACAgonzAAAAAAAAAFAwcR4AAAAAAAAACibOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDi/GYYN25cLrzwwnzyk59Mt27d0rp16+y0007p3bt3zjzzzNx6662ZM2dOVXs9+uijOe2009KzZ8+0b98+nTp1Sq9evfL1r389kydPLvhJAAAAAAAAAChSi6Y+wNbotddey/Dhw3P77bev87fZs2dn9uzZee6553LjjTdm2LBhueqqqza416JFizJ06NCMGjWqzufLli3LG2+8kfHjx+fKK6/MJZdckm9+85uN/iwAAAAAAAAAFE+cr6fp06fnsMMOy9///vfKZ3vssUf23XffdO7cOcuWLcuUKVPy/PPPZ9myZRvda/Xq1TnuuOMyZsyYymcf/ehH07t376xYsSJPPPFEZs+endWrV+db3/pWVq9enREjRhT2bAAAAAAAAAAUQ5yvh4ULF6Z///6VMN+/f//85Cc/Sa9evdaZu2rVqowZMyaLFy/e4H6XXXZZJcy3adMmN954YwYPHlxnj4suuihXXHFFkuTiiy9Ov3790q9fv8Z8LAAAAAAAAAAKJs7Xw9e+9rW88sorSZJBgwbl9ttvT/Pmzdc7t1WrVvn0pz+9wb1ee+21/PjHP65c/+QnP6kT5t/ZY+TIkZk+fXpGjRqVcrmcb37zm3nqqaca4WkAAAAAAAAA2FKaNfUBthbPP/98brjhhiTJLrvskv/6r//aYJivxs0335ylS5cmSXr27JmhQ4ducO7IkSPTrNnb/696+umn89xzzzX4vgAAAAAAAABseeJ8la677rrKeNiwYenYseNm7Td69OjKeMiQISmVShuc27179wwYMKByff/992/WvQEAAAAAAADYssT5KqxZsyZ33nln5fqEE07YrP1WrFiRZ555pnJ92GGHbXJN//79K+N3fqceAAAAAAAAgK2DOF+FCRMmZNGiRUmSbbfdNrvttlveeuut3HjjjTn88MOz4447pnXr1vngBz+Yo48+Otdee21Wrly5wf1eeumlrF27NklSKpWy3377bfIMvXv3roxffPHFzXwiAAAAAAAAALakFk19gK3B//zP/1TGu+yyS2bOnJkTTzwxY8eOrTNv1qxZmTVrVn7729/mBz/4Qe65557sv//+6+z30ksvVcY77LBD2rRps8kzdO/evTJesGBB5s2bly5dujTkcQAAAAAAAADYwsT5KsyYMaPO9dFHH52JEycmSfbcc8/sv//+ad68eV544YWMGzcuSTJ9+vQcdthh+dOf/pRPfOITddbPnz+/Mu7atWtVZ9hxxx3rXC9YsKBBcf7qq6/ONddcU9XcKVOm1Ht/AAAAAAAAANYlzlfhzTffrIwnTJiQJGnXrl1uuummfO5zn6sz97HHHstJJ52U119/PcuWLcugQYMyadKktGrVqjJnyZIllXHbtm2rOsN75717j/qYN29eJk2a1KC1AAAAAAAAADSMOF+FpUuXrvPZbbfdluOOO26dz/v3758HHngghxxySNauXZspU6bk9ttvzxlnnFGZs2LFisr43dF+Y1q3bl3nevny5dUev44uXbpk7733rmrulClTsnLlygbdBwAAAAAAAIB/EOer8N7fhD/ooIPWG+bf/ffjjz8+99xzT5Jk1KhRdeL8u/dbtWpVVWd4bySv9o379xo2bFiGDRtW1dx99tnHW/YAAAAAAAAAjaBZUx9ga9ChQ4c61xsL8+ub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p2vXrunRo0fTHhAAAAAAAAAA6qEm4/y7devWLd26dWvqYwAAAAAAAABAg9XU19oDAAAAAAAAwPuRON9Ihg8fnlKpVPlX36/ef/TRR3PaaaelZ8+ead++fTp16pRevXrl61//eiZPnlzMoQEAAAAAAADYImr+a+23BmPHjs2VV17ZoLWLFi3K0KFDM2rUqDqfL1u2LG+88UbGjx+fK6+8Mpdcckm++c1vNsZxAQAAAAAAANjCaiLO77333o2yT6lUysSJExtlr2qtXr06X/jCF7J27doGrT3uuOMyZsyYymcf/ehH07t376xYsSJPPPFEZs+endWrV+db3/pWVq9enREjRjTm8QEAAAAAAADYAmoizk+ePDmlUqlea8rlcmVcKpVSLpfrvUdj+OEPf5jx48cnST7/+c/njjvuqHrtZZddVgnzbdq0yY033pjBgwdX/r5q1apcdNFFueKKK5IkF198cfr165d+/fo14hMAAAAAAAAAULSa+c35crlcr39JKjH+3aF+S5o8eXK++93vJklOOeWUHHnkkVWvfe211/LjH/+4cv2Tn/ykTphPklatWmXkyJEZNGhQkref01fbAwAAAAAAAGx9auLN+RdffLGqeWvXrs3ChQszfvz43H333Xn00UfTpk2b/OxnP8shhxxS8CnrKpfL+cIXvpCVK1fmAx/4QH784x/n4Ycfrnr9zTffnKVLlyZJevbsmaFDh25w7siRI/PLX/4ya9euzdNPP53nnnsu++2332Y/AwBAkvS48KHNWj/1B8c00kkAAAAAAN6/aiLO77HHHvWa36dPn5x99tm57777csopp2TYsGG5//77c/TRRxd0wnVde+21+fOf/5wkueKKK7LDDjvUa/3o0aMr4yFDhmz0K/m7d++eAQMG5JFHHkmS3H///eI8AAAAAAAAwFakZr7WviGOP/74XHXVVVm1alVOO+20zJo1a4vcd8aMGbnwwguTJJ/61Kdy5pln1mv9ihUr8swzz1SuDzvssE2u6d+/f2X8zu/UAwAAAAAAALB12KrjfJKceeaZ2XnnnbNgwYJcf/31W+Se559/fhYvXpxWrVrl+uuv3+hb7+vz0ksvZe3atUmSUqlU1VvwvXv3royr/RkAAAAAAAAAAGrDVh/nS6VS+vbtm3K5nF/96leF3++uu+7Kgw8+mCS54IILstdee9V7j5de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lZWVcfvtt8fIkSOje/fu0aJFi+jSpUsMHjw4brjhhnjzzTeLXSKfcNu3b48lS5bErbfeGv/6r/8aRx55ZDRv3jwymUxkMpk47rjjGr323LlzY+zYsdG7d+9o3bp1dOjQIQ477LC47LLL4sUXX2zUmsuWLYvLLrssDjvssOjQoUO0bt06evfuHePGjYu5c+c2as0333wzbrjhhhg8eHB06dIlWrRoEd27d4+RI0fG7bffHlu3bm3wmmn1fhqvKcWzcuXK+PnPfx7nnHNO9O/fP/bZZ59o1qxZ9n294IIL4tFHH23U2osWLYqJEydG3759o23bttG2bdvo27dvTJw4MRYtWtSoNcvLy2PKlClxxBFHROfOnaNly5bRq1evOOOMM+Kee+6JJEkavObmzZtjxowZMWzYsDjwwAOjrKwsDjzwwBg+fHjMnDkzNm/e3OA1kySJe+65J84444zo1atXtGzZMjp37hxHHnlkTJ06NcrLyxu8ZkQ6rynF8eabb8Z9990X//7v/x6nnHJKHHroodn+a9WqVXTt2jVOPPHEmDZtWrz++usNXt/xz/GPxrn00kuz34NmMpno0aNHg+brPb1H7W677bac/srn6ytf+Ure6+s//Uf+Fi9eHJMnT44jjzwyunTpEmVlZXHAAQfEgAEDYsKECXH77bfH2rVr81pL7+k9ajZ//vwGH/eqf9122231Pob+03+wSxIgFcuWLUs+97nPJRFR69e+++6bzJkzp9il8gl1zz33JK1atarzMzp06NAGr/v2228nZ511Vp3rNmvWLPn+97/foHWvvfbapFmzZnWuO3r06OSdd97Je80//vGPSefOnetcc8CAAcny5cvzXjON3k/rNaU4Fi9enAwcOLDO97P613HHHZesWrUqr7UrKiqSiy66KMlkMrWul8lkkksuuSSprKzMu+Zf/OIXSevWreusc8SIEcmaNWvyXnPBggXJpz71qTrX7NmzZ7Jw4cK813z99deT4cOH17lmmzZtklmzZuW9ZlqvKcVz0kkn5d1/ZWVlyZQpU5Lt27fXu67jn+Mfjff0008nTZo0yXlvu3fvntdcvaf3qN+sWbPyPvbt+Dr//PPrXVf/6T/yt27duuTss8/Oq/8mTZpU51p6T+9Rt0ceeaTBx73qX3/6059qXVv/6T8oBOE8pODVV19NDjjggOzBI5PJJEOHDk0mTJiQnHzyyUnLli1zDixz584tdsl8AuXzHzQNDecrKyt3CsY++9nPJmPHjk3OPPPMpEuXLjn3TZ06Na91r7zyypx5Xbp0Sc4888xk7NixyaGHHppz3wknnJBs3bq13jX//Oc/J02bNs3Oa9WqVXLyyScnEyZMSIYOHZoTxB144IHJ66+/Xu+aafR+Wq8pxXPnnXfu1Gu9e/dORo0alXzta19LzjzzzOTAAw/Muf+AAw5IVqxYUe/aY8eOzZnXs2fPZMyYMcmYMWOSnj175tw3YcKEvOq99dZbc+a1b98+GTVqVHLeeeclRx11VM59hx12WPLuu+/Wu+Zzzz2XtGnTJqcfTjzxxOT8889PTjjhhJzebNu2bbJ06dJ613z77beTz372szn1DBw4MDnvvPOSUaNGJe3bt8+5b/bs2Xk9/zReU4qrejjfqVOn5JhjjknOOeec5MILL0zGjh2bDB48OOczGBHJ2LFj61zT8c/xj8arrKxM+vXrt9OxMZ9wXu/pPfJT/We/z3zmM8mkSZPq/fqv//qvOtfUf/qP/K1atWqnX0zu06dPcsYZZyQXXHBBcu655yaDBw/OnkBRVziv9/Qe9XvppZfyOtbt+Pr0pz+dfX/322+/Wj/f+k//QaEI5yEFxxxzTM5/Kj333HM5969fvz45/vjjs2M6dOiQvPXWW0Wqlk+qHf9Bs99++yVf/OIXk6lTpyYPPPBAcvHFF2c/mw0N56t/M9miRYvkzjvvzLm/oqIiueyyy3K+iZs/f36daz788MM534RddtllSUVFRc6YO+64I2nRokXe36i9+eabOUHd8ccfn6xfvz5nzHPPPZd069YtO2b48OH1Pv80ej+N15Ti2hHOH3zwwcn06dOT1157bacx27dvT2699dacq1scffTRSVVVVa3rVg/RmzRpkvzoRz/KOdt3+/btyY9+9KOcMxPrC6hffPHFnN/cPvvss5PNmzfnjJk7d26yzz77ZMecd955da5ZWVmZ9OrVKzu+f//+ySuvvJIz5pVXXkn69++fHdO7d+96f/g899xzc3rroz8Ebt68OedMlebNmycvv/xynWum8ZpSfNdff30yc+bMOt//tWvXJqNHj845/vzud7+rdbzjn+Mfjffd7343+z6OGTMm57NUH72n98hP9XB+3LhxBVlT/+k/8rNp06acX+odNmxY8re//a3GsRUVFcmf/vSn5K677qp1Pb2n9yisbdu2Jfvvv3/2/b300ktrHav/9B8UinAeCmzOnDk5//G/ZMmSGsdt3rw555vzb3/727u5Uj7p1qxZU+Olsq+++urs57Ih4fy6detyLns9c+bMWsdWv1TRoEGD6ly3+pm5X/7yl2sdN2PGjOy4vffee6dvOqur/k1dr169kvfee6/GcX/7299ygsk///nPta6ZRu+n9ZpSXPPnz09mzZqVbNu2rd6xd999d84PaQ8++GCN47Zs2ZIcdNBB2XGTJ0+udc0rrrgi54epj/7QV92XvvSl7NghQ4bUemnvBx54IDtur732Sl544YVa17z55puzY/fZZ59aL4W/evXqnND/lltuqXXNpUuX5gTktb1O27dvTwYPHpwdN3r06FrXTOs1Zc9RVVWV8xv8I0aMqHGc45/jH423bNmypKysLIn48BfAqgeI9YXzek/vkb9Ch/P6T/+Rv6985SvZ9+uss87K6+fA2ug9vUfhVf9cRUStvzyj//QfFJJwHgps5MiR2QPFV7/61TrH/vrXv86O7dChQ16XpIG0NTacv+6667LzevfuXecZvqtWrcoJ0hYvXlzjuGeeeSY7pkmTJkl5eXmta1ZVVeVchuqHP/xhjeMqKytzfnu0vss1Vv9B+pRTTql1XBq9n8Zryp6n+t+n/8Y3vlHjmLvuuis7pl27drX+4JUkSfLee+8lbdu2zY6/++67axy3du3anM/Uk08+WWedI0aMyI696KKLah3Xt2/f7Ljvfe97da557bXXZscedthhtY6bOHFidtwXvvCFOtd84oknsmP32muvWn+gTeM1Zc9z++23Z9/Xjh071jjG8c/xj8apqqpKhgwZkkR8+Mta69ata1A4r/f0HvkrdDiv//Qf+Xn22Wez79NBBx3UoL8VXRO9p/covDPPPDP7nh5++OG1jtN/+g8KqUkABbN58+aYO3dudv+8886rc/zpp58ebdq0iYiIjRs3xmOPPZZqfZCme++9N7s9fvz4yGQytY7t1q1bDB8+PLt/zz331LvmiBEj4qCDDqp1zUwmE+PGjat3zfnz58emTZsiImLvvfeO008/vdY1Iz58Ljs89NBD8d577+00Jq3eT+M1Zc8zZMiQ7PbKlStrHFP9s3LWWWdFq1atal2vVatWceaZZ2b3a/us3H///VFVVRUR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\n",
"text/plain": [
"<Figure size 2400x720 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10, 3), dpi=240, facecolor='w', edgecolor='k')\n",
"\n",
"gene = grn[grn.Target_Gene == 'CLDN5']\n",
"(gene.a - gene.a.min()).plot.hist(bins=100)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x168b11748>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB+cAAAKLCAYAAAAkZoqrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAk6AAAJOgBgmMFHAAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xm0lXWhPvBnIzOCiCLoT4lM0SQncqAwNSEn7KbmFYkyuioOWJpWWimJpt60VVmK2kWLtBTTRFOaFC0p0ygVgsxED6kIEoMIyHTYvz9c7CIczjnsl72xz2ets3zfd3+HZy//fPi+u1Qul8sBAAAAAAAAAArTqtYBAAAAAAAAAODtTjkPAAAAAAAAAAVTzgMAAAAAAABAwZTzAAAAAAAAAFAw5TwAAAAAAAAAFEw5DwAAAAAAAAAFU84DAAAAAAAAQMGU8wAAAAAAAABQMOU8AAAAAAAAABRMOQ8AAAAAAAAABVPOAwAAAAAAAEDBlPMAAAAAAAAAUDDlPAAAAAAAAAAUTDkPAAAAAAAAAAVTzgMAAAAAAABAwZTzAAAAAAAAAFAw5TwAAAAAAAAAFEw5DwAAAAAAAAAFU84DAAAAAAAAQMGU8wAAAAAAAABQMOU8AAAAAAAAABRMOQ8AAAAAAAAABVPOAwAAAAAAAEDBlPMAAAAAAAAAUDDlPAAAAAAAAAAUrHWtA1C/evbsmUWLFqVNmzbp1atXreMAAAAAAAAAVM3f//73rFq1Kl27ds2cOXMK369ULpfLhe/CJql9+/ZZsWJFrWMAAAAAAAAAFKZdu3ZZvnx54fs4Oc8batOmTVasWJF27drlXe96V63jAAAAAAAAAFTNzJkzs2LFirRp02aj7Kec5w316tUrM2bMyLve9a5Mnz691nEAAAAAAAAAqqZv376ZMWPGRvuJ71YbZRcAAAAAAAAA+A+mnAcAAAAAAACAginnAQAAAAAAAKBgynkAAAAAAAAAKJhyHgAAAAAAAAAKppwHAAAAAAAAgIIp5wEAAAAAAACgYMp5AAAAAAAAACiYch4AAAAAAAAACqacBwAAAAAAAICCKecBAAAAAAAAoGDKeQAAAAAAAAAomHIeAAAAAAAAAAqmnAcAAAAAAACAginnAQAAAAAAAKBgynkAAAAAAAAAKJhyHgAAAAAAAAAKppwHAAAAAAAAgIIp5wEAAAAAAACgYMp5AAAAAAAAACiYch4AAAAAAAAACqacBwAAAAAAAICCKecBAAAAAAAAoGCtax0AAAAAAACATVvv8+/d4DUa/ndwFZIA1C8n5wEAAAAAAACgYMp5AAAAAAAAACiYch4AAAAAAAAACqacBwAAAAAAAICCKecBAAAAAAAAoGDKeQAAAAAAAAAomHIeAAAAAAAAAAqmnAcAAAAAAACAginnAQAAAAAAAKBgynkAAAAAAAAAKJhyHgAAAAAAAAAKppwHAAAAAAAAgIIp5wEAAAAAAACgYMp5AAAAAAAAACiYch4AAAAAAAAACqacBwAAAAAAAICCKecBAAAAAAAAoGDKeQAAAAAAAAAomHIeAAAAAAAAAAqmnAcAAAAAAACAginnAQAAAAAAAKBgynkAAAAAAAAAKJhyvhkaGxszderU3HDDDTn99NOzzz77pG3btimVSimVSjn44IOrttfdd99dWXftX0NDQ9XWBwAAAAAAAGDjaV3rAJuKCRMmZNiwYVm2bFnhey1evDhnnHFG4fsAAAAAAAAAsHE4Od9EixYt2ijFfJJ84QtfyAsvvLBR9gIAAAAAAACgeMr5ZurRo0eOOuqojB49OhMnTsxZZ51V1fUfeuihfPe7302SfOxjH6vq2gAAAAAAAADUhtfaN9Hhhx+eWbNmpVevXus8f+SRR6q2x/Lly3PyySenXC5np512yoUXXpgf/ehHVVsfAAAAAAAAgNpQzjdRz549C9/j4osvzlNPPZUkufbaa9O+ffvC9wQAAAAAAACgeF5rXyeeeOKJXHnllUmSj3/84xk0aFCNEwEAAAAAAABQLcr5OtDY2JiTTz45q1evTrdu3fKNb3yj1pEAAAAAAAAAqCLlfB345je/mSlTpiRJrrzyynTv3r3GiQAAAAAAAACoJuV8jT3zzDP5yle+kiQ58MAD86lPfarGiQAAAAAAAACotta1DvCfbsSIEVm2bFnatm2b66+/PqVSqdD9rrnmmowZM6ZJY2fOnFloFgAAAAAAAID/FMr5Grrxxhtz//33J0nOP//87LrrroXvOW/evMyYMaPwfQAAAAAAAAD4J+V8jcydOzef+9znkiR9+vTJl770pY2yb/fu3bPbbrs1aezMmTOzYsWKghMBAAAAAAAAvP0p52vkzDPPzMKFC5Mk119/fdq1a7dR9h05cmRGjhzZpLF9+/Z1yh4AAAAAAACgClrVOsB/orvuuiu33357kmT48OE5+OCDaxsIAAAAAAAAgEIp5zeyZcuW5YwzzkiSbL311vn6179e40QAAAAAAAAAFM1r7Teyl156KbNnz06SlEqlDB48+A3H/vvvvR9zzDGV198PHjw4F154YXFBAQAAAAAAAKga5XwNzZs3L/PmzWvy+Mcff7xyveuuuxYRCQAAAAAAAIACeK09AAAAAAAAABTMyfmNrHfv3imXy00a29DQkHe+852V+2effTa9e/cuKBkAAAAAAAAARXFyHgAAAAAAAAAKppwHAAAAAAAAgIJ5rX0zHHnkkZk9e/Y6z+bMmVO5njJlSvbaa6/15k2cODHbbbdd4fkAAAAAAAAAqE/K+WaYMWNGZs2a9YafL126NE888cR6z1euXFlkLAAAAAAAAADqnNfaAwAAAAAAAEDBnJxvhoaGho26X+/evVMulzfqngAAAAAAAABUn5PzAAAAAAAAAFAw5TwAAAAAAAAAFEw5DwAAAAAAAAAFU84DAAAAAAAAQMGU8wAAAAAAAABQMOU8AAAAAAAAABRMOQ8AAAAAAAAABVPOAwAAAAAAAEDBlPMAAAAAAAAAUDDlPAAAAAAAAAAUTDkPAAAAAAAAAAVTzgMAAAAAAABAwZTzAAAAAAAAAFAw5TwAAAAAAAAAFEw5DwAAAAAAAAAFU84DAAAAAAAAQMGU8wAAAAAAAABQMOU8AAAAAAAAABRMOQ8AAAAAAAAABVPOAwAAAAAAAEDBWtc6AAAAAAAAAMAb6X3+vRu8RsP/Dq5CEtgwTs4DAAAAAAAAQMGU8wAAAAAAAABQMOU8AAAAAAAAABRMOQ8AAAAAAAAABVPOAwAAAAAAAEDBlPMAAAAAAAAAUDDlPAAAAAAAAAAUTDkPAAAAAAAAAAVTzgMAAAAAAABAwZTzAAAAAAAAAFAw5TwAAAAAAAAAFEw5DwAAAAAAAAAFU84DAAAAAAAAQMGU8wAAAAAAAABQMOU8AAAAAAAAABRMOQ8AAAAAAAAABVPOAwAAAAAAAEDBlPMAAAAAAAAAUDDlPAAAAAAAAAAUTDkPAAAAAAAAAAVTzgMAAAAAAABAwZTzAAAAAAAAAFCw1rUOsClpbGzM9OnT84c//CFTpkzJH/7wh0ydOjWrVq1Kkhx00EF58MEHm7zewoULc9999+WBBx7I448/nqeffjqLFi1K+/bt07179+y777758Ic/nOOPPz5t2rQp6FsBAAAAAAAAUDTlfBNNmDAhw4YNy7JlyzZ4rSVLlmTo0KH55S9/mZUrV673+apVq/LKK6/kmWeeyfjx43PBBRdk3LhxOfDAAzd4bwAAAAAAAAA2PuV8Ey1atKgqxXzyWjl/zz33rPOsR48e2WeffdKzZ8+sWrUqjz/+eKZOnZokaWhoyMCBA3PnnXfmqKOOqkoGAAAAAAAAADYe5Xwz9ejRI/vuu2/l7xe/+EWuuuqqFq215ZZb5sQTT8ynPvWp7Lnnnut9Pnny5Jx44ol59tlns3r16gwbNixPPfVUevTosaFfAwAAAAAAAICNSDnfRIcffnhmzZqVXr16rfP8kUceafZabdu2zahRo3LuueemS5cubzjugAMOyKRJk7Lnnntm8eLFWbx4cb71rW/l8ssvb/aeAAAAAAAAANROq1oH2FT07NlzvWK+pbp165bRo0e/aTG/Vu/evXPaaadV7u+9996qZAAAAAAAAABg41HObwIGDBhQuW5oaKhdEAAAAAAAAABaRDm/CSiVSpXrxsbGGiYBAAAAAAAAoCWU85uAadOmVa532GGHGiYBAAAAAAAAoCWU83VuzZo1uemmmyr3gwYNqmEaAAAAAAAAAFqida0D8ObGjBmTJ598MknSqlWrnH766Ru03jXXXJMxY8Y0aezMmTM3aC8AAAAAAAAAXqOcr2PTp0/PF7/4xcr9SSedlL59+27QmvPmzcuMGTM2NBoAAAAAAAAAzaCcr1OLFi3K0UcfnSVLliRJdt5553zjG9/Y4HW7d++e3XbbrUljZ86cmRUrVmzwngAAAAAAAAD/6ZTzdWj58uX5yEc+kqeffjpJ0qVLl9x+++3ZfPPNN3jtkSNHZuTIkU0a27dvX6fsAQAAAAAAAKqgVa0DsK7Vq1dnyJAh+c1vfpMkad++fe6+++7sscceNU4GAAAAAAAAQEsp5+vImjVrMnz48Nx9991JktatW+fHP/5xDjrooBonAwAAAAAAAGBDKOfryGmnnZYf/vCHSZJWrVrlBz/4QY466qgapwIAAAAAAABgQynn68RnP/vZ/N///V/l/vrrr8/QoUNrmAgAAAAAAACAalHO14Evf/nL+da3vlW5/+Y3v5mTTz65hokAAAAAAAAAqCblfI1deumlueyyyyr3F198cc4+++waJgIAAAAAAACg2pTzNXTVVVflggsuqNx/4QtfyIUXXljDRAAAAAAAAAAUQTlfIzfeeGM++9nPVu5HjhyZr33tazVMBAAAAAAAAEBRWtc6wKbkyCOPzOzZs9d5NmfOnMr1lClTstdee603b+LEidluu+0q99OmTcspp5yScrmcJOnUqVPK5XLOPPPMJuU466yzsvPOO7fkKwAAAAAAAABQA8r5ZpgxY0ZmzZr1hp8vXbo0TzzxxHrPV65cuc79/Pnzs2bNmnXmjRkzpsk5jjvuOOU8AAAAAAAAwCbEa+0BAAAAAAAAoGBOzjdDQ0NDVdY5+OCDK6+0BwAAAAAAAODtz8l5AAAAAAAAACiYch4AAAAAAAAACqacBwAAAAAAAICCKecBAAAAAAAAoGDKeQAAAAAAAAAomHIeAAAAAAAAAAqmnAcAAAAAAACAginnAQAAAAAAAKBgynkAAAAAAAAAKJhyHgAAAAAAAAAKppwHAAAAAAAAgIIp5wEAAAAAAACgYMp5AAAAAAAAACiYch4AAAAAAAAACqacBwAAAAAAAICCKecBAAAAAAAAoGDKeQAAAAAAAAAomHIeAAAAAAAAAAqmnAcAAAAAAACAginnAQAAAAAAAKBgrWsdAKDWep9/7wav0fC/g6uQBAAAAAAAgLcrJ+cBAAAAAAAAoGDKeQAAAAAAAAAomHIeAAAAAAAAAAqmnAcAAAAAAACAginnAQAAAAAAAKBgynkAAAAAAAAAKJhyHgAAAAAAAAAKppwHAAAAAAAAgIIp5wEAAAAAAACgYMp5AAAAAAAAACiYch4AAAAAAAAACqacBwAAAAAAAICCKecBAAAAAAAAoGDKeQAAAAAAAAAomHIeAAAAAAAAAAqmnAcAAAAAAACAginnAQAAAAAAAKBgynkAAAAAAAAAKJhyHgAAAAAAAAAKppwHAAAAAAAAgIIp5wEAAAAAAACgYMp5AAAAAAAAACiYcr4ZGhsbM3Xq1Nxwww05/fTTs88++6Rt27YplUoplUo5+OCDW7z2/fffnxNPPDF9+vRJp06d0q1bt+yxxx75/Oc/nyeffLJ6XwIAAAAAAACAja51rQNsKiZMmJBhw4Zl2bJlVV138eLFGTFiRMaPH7/O82XLlmXhwoWZNm1arrrqqowePTpf/OIXq7o3AAAAAAAAABuHcr6JFi1aVPViftWqVTnmmGMyadKkyrP3vOc96devX5YvX56HHnooL774YlatWpUvfelLWbVqVUaNGlXVDAAAAAAAAAAUry5eaz927NgsXbq01jGapEePHjnqqKMyevToTJw4MWeddVaL17rkkksqxXz79u1zyy23ZNq0aRk3blzGjx+fhoaGfP7zn6+Mv+iii/LrX/96g78DAAAAAAAAABtXXZTzI0aMyLbbbptTTjklv//972sd53UdfvjhmTVrVubMmZOf/vSnGTVqVI444oh07dq1Reu99NJL+cY3vlG5/9a3vpUTTjhhnTFt27bNFVdckSFDhiRJyuWyV9sDAAAAAAAAbILqopxPkqVLl+bGG2/MgAEDsvvuu+eqq67KggULah2romfPnunVq1fV1hs3blzlbQF9+vTJiBEj3nDsFVdckVatXvtf9fDDD+exxx6rWg4AAAAAAAAAilcX5fy+++6bcrlc+ZsxY0bOOeec/L//9/8ydOjQ3HfffbWOWHUTJkyoXA8fPjylUukNx/bq1SuHHHJI5f7OO+8sNBsAAAAAAAAA1VUX5fwjjzySadOm5ayzzsrWW29dKelXrFiR2267LYcddlh23HHHXHrppXnhhRdqHXeDLV++fJ3X9x988MFvOeeDH/xg5Xrt79QDAAAAAAAAsGmoi3I+Sfr27ZtvfvObeeGFFzJ+/PgcdthhadWqVaWonzVrVkaNGpXevXtn8ODBmTBhQhobG2sdu0X++te/Zs2aNUmSUqmUvffe+y3n9OvXr3L9l7/8pbBsAAAAAAAAAFRf3ZTza7Vp0yb//d//nZ/97GdpaGjIRRddlN69e1dK+sbGxvz85z/PRz/60Wy//fY5//zz87e//a3WsZvlr3/9a+V6m222Sfv27d9yzr/+3v2CBQsyb968QrIBAAAAAAAAUH11V87/q+233z6jRo3KM888k1/96lcZMmRI2rVrVynq586dmyuvvDK77rprDjrooNx8881Zvnx5rWO/pfnz51eue/To0aQ5PXv2XOd+wYIFVc0EAAAAAAAAQHFa1zpAUw0cODADBw7MwoULc/PNN+fGG2/ME088kXK5nCSZPHlyJk+enM985jMZNmxYTj311LznPe+pcerXt2TJksp1hw4dmjTn38f96xrNcc0112TMmDFNGjtz5swW7QEAAAAAAADAujaZcn6tLbfcMp/+9Kez//7756yzzsojjzySUqmUJCmXy1m0aFHGjBmTMWPGZODAgbnsssuyzz771Dj1uv71dH/btm2bNKddu3br3L/66qst2nvevHmZMWNGi+YCAAAAAAAA0DKbVDm/YMGC3HTTTbnhhhsyffr0JEmpVKqcnt9uu+0ye/bsyv3999+f973vfbngggvyla98pWa5/92//sb8ypUrmzRnxYoV69w39cT9v+vevXt22223Jo2dOXPmevsCAAAAAAAA0HybRDn/y1/+MjfccEPuvvvuSpm9toDv1KlThgwZkhEjRmS//fbLU089lbFjx+Z73/te5s+fn8bGxlx88cXZddddM2TIkFp+jYrNN9+8ct3UE/D/Pu5f12iOkSNHZuTIkU0a27dvX6fsAQAAAAAAAKqgVa0DvJFZs2bloosuSu/evXPEEUfk9ttvz4oVK1Iul1Mul7P33nvn2muvzezZszN27Njst99+SZI+ffrkiiuuSENDQ84444wkrxX53/nOd2r5ddax1VZbVa7nzp3bpDlz5sxZ575bt25VzQQAAAAAAABAcerq5PzKlStz55135oYbbsikSZMqp+PX/nfzzTfP0KFDM2LEiLz3ve9907U6deqUq6++OpMnT87UqVMzderUwvM31S677FK5fumll7J8+fJ1XnX/ev7+979Xrrt165bu3bsXlg8AAAAAAACA6qqLcv6JJ57IjTfemB/+8IdZuHBhkn8W8kmyzz77ZMSIERk6dGg6derUrLX79++fqVOnZunSpVXNvCF22WWXtGrVKmvWrEm5XM7jjz+e/v37v+mcP/3pT5Xrd7/73UVHBAAAAAAAAKCK6qKc33vvvVMqldYp5Lt06ZKPfexjGTFiRPbaa68Wr92hQ4dqRKyq9u3bp3///vnd736XJHnwwQffspz/9a9/Xbk+5JBDCs0HAAAAAAAAQHXVRTmf/POk/P77758RI0ZkyJAh6dix4wavO2jQoLd8ZXwtHH300ZVy/vvf/37OP//8Nxz73HPP5f77719nLgAAAAAAAACbjroo57t27Zphw4ZlxIgR2X333au69uDBgzN48OCqrlkNn/zkJzN69OgsXbo0f/3rXzN27NicfPLJrzv2vPPOS2NjY5Lkfe97X/r167cxowIAAAAAAACwgeqinJ89e3Zdnm4v0jbbbJNz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7c8+++x85CMfyWOPPZZyuVz5eyM9evRI//798/zzz+f222/Piy++uBHTAgAAAAAAAEDT1E05f/HFF+fb3/52pZA/6KCDMnr06Bx44IFvOm/48OFJkjVr1mTixIkbISkAAAAAAAAANE9dlPPPPPNMLr300iRJly5dMnHixDzwwAO58MILs/vuu7/p3IEDB6Zjx45JkgcffLDoqAAAAAAAAADQbHVRzl9//fVZtWpVSqVSrrvuuhx++OFNntu6devsscceKZfL+fOf/1xgSgAAAAAAAABomboo5++7774kSe/evXPCCSc0e37v3r2TJM9XZjEwAAAgAElEQVQ991w1Y21UDz/8cM4444z069cv3bp1S5s2bdKlS5fsvPPOOf744/OjH/0oK1asqHVMAAAAAAAAAFqgda0DJMmsWbNSKpXyvve9r0Xzt9hiiyTJK6+8Us1YG8X8+fNz0kkn5a677lrvs1deeSWvvPJKnn766fz4xz/OqFGjMm7cuAwYMKAGSQEAAAAAAABoqboo59eW6p07d27R/FdffTVJ0r59+6pl2hheffXVDBo0KI8//njlWffu3bP33ntn++23z7x58zJ9+vQ888wzSZKZM2fm0EMPzaRJk7L//vvXKjYAAAAAAAAAzVQX5fxWW22VuXPnZv78+S2av7a83nrrrasZq3Bf+9rXKsV8qVTKJZdcknPOOScdOnSojCmXyxk/fnxOO+20vPzyy1m2bFlOOeWUTJ06tVaxAQAAAAAAAGimuvjN+R133DHlcjmPPvpos+cuXLgwjz76aEqlUvbYY48C0hXn+9//fuX6M5/5TL785S+vU8wnr5X2J5xwQsaOHVt5Nm3atEybNm1jxQQAAAAAAABgA9VFOX/ooYcmSZ577rlMnDixWXOvvPLKrFy5MknyoQ99qOrZirJ48eLMmjWrcj906NA3HX/00UenY8eOlfunnnqqsGwAAAAAAAAAVFddlPOf/OQn07Zt2yTJ6aefnueff75J82699dZcccUVKZVK2WKLLfKJT3yiyJhVtWTJknXut9xyyzcd37p163Tp0qVyv2bNmkJyAQAAAAAAAFB9dVHOv+Md78jZZ5+dcrmc559/Pvvuu2/Gjh2bV155Zb2xjY2N+d3vfpePf/zjGTZsWKWkHjVqVDp37ryxo7dY9+7d0759+8r99OnT33T8vHnz8tJLL1Xu99xzz8KyAQAAAAAAAFBddVHOJ8lll12WwYMHp1wu56WXXsqpp56aLbfcMt/73vcqY7bddtt07NgxH/jAB3LLLbekXC4nSU444YScffbZtYreIm3atMkRRxxRuf/qV7+aZcuWveH48847r/IPEQYOHJg+ffoUnhEAAAAAAACA6qibcr5Vq1aZMGFCPve5z6VUKqVcLmfNmjV59dVXUyqVkiRz587NqlWrUi6XUy6X06pVq5x33nm5+eaba5y+ZS677LJsvvnmSZI//elP2WOPPTJu3Lg8/fTTWb58eZ577rnce++9+cAHPlD5Rwq77bbbOv9gAQAAAAAAAID6VzflfJJsttlmueKKKzJjxoyceuqp6dWrV6WIX3tKPkm22WabfOpTn8qf//znXH755ZXyflOz66675re//W169eqVJJk5c2aGDx+enXfeOR06dEivXr1y1FFHZfLkyenatWs+/elP5/e//3122GGHGicHAAAAAAAAoDla1zrA6+nTp0+uvfbaJMmLL76Y2bNn5+WXX06nTp3So0eP9O7du7YBq2iPPfbIU089lbFjx+a8887L0qVLX3fcYYcdlqFDh6Zz584btN8111yTMWPGNGnszJkzN2gvAAAAAAAAAF5Tl+X8v9p2222z7bbb1jpGYf7xj3/kC1/4Qm6++easWrUqPXv2zPvf//5svfXWWbRoUR555JHMmjUr48ePz/jx4zNixIiMGTMmm222WYv2mzdvXmbMmFHlbwEAAAAAAAC8ld7n37vBazT87+AqJKEW6r6cfzv729/+lkMOOSTPP/982rVrl6uvvjqnnnpqWrf+5/+WcrmcW2+9NaeddloWL16c7373u9lss82afPr933Xv3j277bZbk8bOnDkzK1asaNE+AAAAAAAAAPyTcr5GVq9enWOPPTbPP/98kuS6667L8OHD1xtXKpUydOjQbL311jn00EOTJNdee22GDx+e/fbbr9n7jhw5MiNHjmzS2L59+zplDwAAAAAAAFAFrWod4D/VHXfckT//+c9Jkl122SWf/OQn33T8hz70oQwaNKhy/73vfa/QfAAAAAAAAABUT12cnG/qa9bfSqlUyvTp06uyVtF+/vOfV64/+MEPplQqveWcQw45JPfdd1+SZMqUKYVlAwAAAAAAAKC66qKcf/LJJ5tUTv+rcrlcuS6VSimXy81eo5ZeeOGFyvVWW23VpDlbb7115frll1+ueiYAAAAAAAAAilEX5XyybtneVGtL+ZbMrbUOHTpUrhcsWNCkOfPnz69cd+3ateqZAAAAAAAAAChGXZTzf/nLX5o0bs2aNXn55Zczbdq03Hbbbbn//vvTvn37fOc738kBBxxQcMrq6tWrV+X6gQceaNKcSZMmVa532mmnqmcCAAAAAAAAoBh1Uc7vsssuzRrfv3//nHLKKfnJT36SYcOGZeTIkbnzzjtzxBFHFJSw+gYNGpSrr746yWuv9b/pppvyiU984g3HT5o0Kb/61a8q94cddljhGQEAAAAAAACojla1DrAhjj322Fx99dVZuXJlTjzxxMyePbvWkZps8ODB6dOnT+V+xIgRue6669LY2LjOuHK5nNtuuy3HHnts5dkOO+yQE044YaNlBQAAAAAAAGDDbNLlfJL8z//8T7bffvssWLAg119/fa3jNFnr1q3zgx/8IB07dkySLF++PKeffnp22GGHHHfccTnttNMydOjQ7LjjjhkyZEhefvnlJEm7du3yox/9KO3atatlfAAAAAAAAACaYZMv50ulUgYMGJByuZy77rqr1nGaZf/9988DDzywzgn6F198MXfccUeuv/763HrrrWloaKh89s53vjP3339/DjjggBqkBQAAAAAAAKCl6uI35zfUFltskSSZNWtWjZM033777Zfp06fn7rvvzoQJEzJlypTMnj07S5YsSadOndKjR4+8973vzX/913/luOOOS5s2bWodGQAAAAAAAIBmeluU82tPl69ataq2QVqodevWOfbYY9f5XXkAAAAAAAAA3j42+dfa/+1vf8uDDz6YUqmU7bffvtZxAAAAAAAAAGA9m3Q5/9BDD+WII47IypUrkySHHnpojRMBAAAAAAAAwPrq4rX2Z5xxRpPHrl69OvPnz8/jjz9eeZ19krRv3z7nnntuAekAAAAAAAAAYMPURTl/3XXXpVQqNXteuVxO8loxf+utt+Yd73hHtaMBAAAAAAAAwAarm9fal8vlZv916NAhw4YNy9SpU/PhD3+41l8BAAAAAAAAAF5XXZycv/baa5s8tk2bNunSpUt69+6d3XffPe3atSswGQAAAAAAAABsuLoo50899dRaRwAAAAAAAACAwtTNa+0BAAAAAAAA4O1KOQ8AAAAAAAAABVPOAwAAAAAAAEDBlPMAAAAAAAAAULDWtQ6QJEceeWThe5RKpdx7772F7wMAAAAAAAAA/64uyvmf//znKZVKha1fLpcLXR8AAAAAAAAA3kxdlPPJawX6WmuL9H999u+aMgYA+P/s3Xl0VfW5P/7nMIVZpqgogoJFRcHWgQooAqK1OKw61YJacLhthdZWvVa6+q1Da6tVrt5BRWy9QK3DtdaxcLkqiKCIqKigILUpNCBTAKeACdP5/eHP00SSkISzc47weq2VtfbOefbnPNmsdZ6E99n7AAAAAAAA+SAvwvn//d//jYiIhQsXxv/7f/8vNm/eHAUFBTFs2LDo169fdO3aNVq1ahUbN26M5cuXx8svvxxTp06NsrKyKCgoiF/96lfRu3fvHP8UAAAAAAAAAFC1vAjnv/GNb8QzzzwT119/fWzZsiUuvPDCuP3226NTp07VHrN+/fq4+uqr4w9/+ENcf/318fjjj8cpp5zSgF0DAAAAAAAAQO00ynUDERGrV6+OCy64IMrKymL06NHxhz/8ocZgPiKiY8eOMWnSpPjhD38Yn376aVxwwQWxatWqBuoYAAAAAAAAAGovL8L5e++9N9avXx/t2rWLcePG1enY2267Ldq3bx8bNmyICRMmJNQhAAAAAAAAANRfXoTzTzzxRKRSqRg8eHAUFBTU6diCgoIYPHhwpNPpeOqppxLqEAAAAAAAAADqLy/C+eLi4oj47Fb19fH5cZ+vAwAAAAAAAAD5JC/C+bKysoiof7i+fPnySusAAAAAAAAAQD7Ji3B+//33j3Q6HS+88EKsXbu2TseuWbMmnn/++UilUrH//vsn1CEAAAAAAAAA1F9ehPOnnHJKRESUl5fHd7/73di8eXOtjtuyZUuMGjUqysvLK60DAAAAAAAAAPkkL8L5H/7wh9GsWbOIiHj22Wejf//+8cILL9R4zKxZs2LAgAHxzDPPREREs2bN4oc//GHivQIAAAAAAABAXTXJdQMREYccckjccsstcdVVV0UqlYo33ngjhgwZEl26dInjjjsuunbtGi1btoxNmzZFcXFxvPLKK5nPmU+n0xER8Zvf/CYOOeSQXP4YAAAAAAAAAFClvAjnIyJ+8pOfRKNGjeKnP/1p5rb2K1asiEcffbTK+s9D+aZNm8Ytt9wSV155ZYP1CgAAAAAAAAB1kRe3tf/cFVdcEfPnz4+zzjormjRpEul0utqvJk2axNlnnx2vv/66YB4AAAAAAACAvJY3V85/rlevXvHnP/851q1bF7Nnz4433ngjSkpKorS0NFq3bh2FhYXxta99LY4//vgoLCzMdbsAAAAAAAAAsFN5F85/rlOnTnHWWWfFWWedletWAAAAAAAAAGCX5NVt7QEAAAAAAABgdyScBwAAAAAAAICE5eVt7bds2RLTp0+PF198MZYvXx4ffPBBbNu2LaZMmbJD7fbt2yMiolEj7zMAAAAAAAAAID/lXTh/5513xs033xyrV6/OfC+dTkcqldqhdu3atXHggQdGeXl59O/fP2bPnt2QrQIAAAAAAABAreTN5eZbt26Ns88+O3784x/H6tWrI51OZ76qs/fee8dFF10U6XQ65syZE0uXLm3AjgEAAAAAAACgdvImnL/iiiviiSeeiHQ6HU2bNo2RI0fG5MmT47TTTqvxuAsvvDCzXdVt7wEAAAAAAAAg1/IinH/rrbdiwoQJkUqlonPnzvHqq6/GxIkT46KLLooDDzywxmOPP/74aNu2bUREzJo1qwG6BQAAAAAAAIC6yYtw/r777svcvn7y5MnRu3fvWh+bSqXiyCOPjHQ6HYsXL06qRQAAAAAAAACot7wI559//vmIiDjssMNi6NChdT7+gAMOiIiI999/P6t9AQAAAAAAAEA25EU4v2LFikilUnH00UfX6/g2bdpERERpaWk22wIAAAAAAACArMiLcL6srCwiIlq0aFGv4z8P5Vu1apW1ngAAAAAAAAAgW/IinO/UqVNERKxZs6Zex//1r3+NiIjCwsKs9QQAAAAAAAAA2ZIX4fwhhxwS6XQ65s6dG9u3b6/TsStXroz58+dHKpWKY445JqEOAQAAAAAAAKD+8iKcP/XUUyMiYu3atfHggw/W6djrr78+tm3bFhERp5xyStZ7AwAAAAAAAIBdlRfh/KhRo6JNmzYREfHjH/84FixYUKvjbr311rjvvvsilUrFvvvuGyNGjEiyzQYxf/78GDt2bBxzzDHRuXPnKCgoiP322y+OOuqouOSSS+L++++P1atX57pNAAAAAAAAAOqgSa4biPjsM+dvuOGGuPrqq+PDDz+Mfv36xZVXXhnDhw+PrVu3Zuo2b94cq1atipdeeinGjx8fc+bMyTw2bty4aNasWS7az4q1a9fGVVddFQ888MAOj61atSpWrVoVb7zxRkycODHGjBkTd955Zw66BAAAAAAAAKA+8iKcj4i48sor469//WtMmDAhysrK4uabb46bb74583g6nY4WLVpUOiadTkdExDXXXBPDhw9v0H6zqbi4OAYNGhRLly7NfO+QQw6J3r17R8eOHWPTpk1RVFQUb775ZmzatCmHnQIAAAAAAABQH3kTzkdEjB8/Pnr37h1jx46N0tLSiIhIpVKRSqUi4p9h/Odat24dt912W3z/+99v8F6z5aOPPorBgwdngvnBgwfHv//7v0efPn12qN28eXPMmDEjPvnkk4ZuEwAAAAAAAIBdkFfhfETE6NGjY8SIEXHvvffG1KlTY968eVFWVpZ5vHHjxnHUUUfF6aefHmPGjIkOHTrksNtd96//+q/x97//PSIizj///HjggQeicePGVdY2a9YsTj311IZsDwAAAAAAAIAsyLtwPiKiXbt28dOf/jR++tOfRjqdjg0bNsRHH30UrVq1ik6dOlUbXn/ZvPnmm/H73/8+IiIOOOCA+N3vfrfb/GwAAAAAAAAA/FNehvMVpVKp6NixY3Ts2DHXrWTdPffck9keM2ZMtGnTJofdAAAAAAAAAJCUvAjn99tvv4iIaNu2bSxcuDCaNm2a446St23btnjooYcy++ecc04OuwEAAAAAAAAgSY1y3UBExJo1a2LNmjVx2GGH7RHBfETE22+/HR9//HFEROy1117Ro0eP2Lp1a0ycODFOOumk2HfffaOgoCD233//+OY3vxnjx4+P8vLyHHcNAAAAAAAAQH3kxZXzhYWFUVJSEvvss0+uW2kwr776amb7gAMOiBUrVsS5554b8+bNq1S3cuXKWLlyZUybNi1uueWWePTRR+PYY49t6HYBAAAAAAAA2AV5Ec537do1SkpKYv369blupcEsX7680v43v/nNeOeddyIi4tBDD41jjz02GjduHAsWLIj58+dHRERxcXEMGjQoZs2aFUcffXSD9wwAAAAAAABA/eRFOH/GGWfEa6+9FrNnz47t27dHo0Z5cbf9RH344YeZ7bfffjsiIlq2bBmTJk2K8847r1Lt888/H9/+9rdj3bp1sWnTpjj//PNj0aJF0axZszo/71133RV33313rWqLiorqvD4AAAAAAAAAO8qLcP6SSy6J22+/PUpKSuKOO+6Iq6++OtctJW7jxo07fO+Pf/xjnHXWWTt8f/Dg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1Knfm266Kd20adMa1x0+fHj6448/rvWaTz/9dLqwsLDGNY866qj0kiVLar2meQjs7h5//PF0y5Yta3ydO/HEE+u8rvmR/fmR1DkFSFK258zSpUvr/HdPjx49ar2+OWPOAF8e8+fPT/ft27fW82DQoEHpf/zjH7Vau7y8PH3FFVekU6lUteulUqn0T37yk/TmzZtr3fPvf//7dKtWrWrsc+jQoelVq1bVes05c+akDzrooBrX7N69e3ru3Lm1XvP9999PDxkypMY1W7dunZ44cWKt10zqnNLwUul0Pd5CAtRoxYoV8fWvfz1WrlwZERGpVCoGDhwYPXr0iJKSknjuuefi008/jYiIpk2bxrRp02LIkCG5bBlgjzdp0qS4+OKLIyLi0EMPjZNOOmmnx/Tv3z9GjBhR7eNbtmyJU089NWbMmJH53hFHHBFHHXVUlJWVxezZs2PVqlWZx2688ca47rrrdvq81113XfzqV7/K7Hfu3DlOOOGEaN68ebz++uvxzjvvZB475ZRTYsqUKdGkSZMa13zmmWfitNNOi61bt0ZERMuWLeOkk06KwsLCKCoqilmzZmXeedylS5d45ZVXYr/99qtxTfMQ2BNUnB/VOfHEE2PmzJm1XtP8yP78SOqcAiQt23Nm2bJlcdBBB0VERJs2beK73/3uTo8pLCyM66+/fqd15ow5A3y5PPzwwzF8+PBK3+vZs2ccccQR0alTp/jwww9jzpw5sWLFiszj++23X8yePTu6d+9e49ojR46MP/zhD5n97t27x3HHHRcREXPnzo2///3vmccuueSSuO+++3ba73//93/HpZdemtlv165dDBkyJPbaa694++23K1013qdPn3jppZeidevWNa751ltvxfHHH5+5Mr5p06YxZMiQ6NKlSyxfvjxmzJiRmUFt27aNl156KY444oga1/z4449jwIAB8fbbb2e+17dv3zj88MPjo48+ihkzZsSHH36YeWzy5Mm1msdJnFNyJKdvDYDd1AknnJB5p1K3bt3Sb775ZqXHS0pK0ieddFKmpkOHDukPPvggR90CkE5XvnJ+5MiRWVnzF7/4RWbN5s2bpx966KFKj5eXl6evueaaSu9unTlzZo1rPvfcc5XeEXvNNdeky8vLK9U8+OCD6ebNm2dqbrzxxhrXXLduXbpdu3aZ+pNOOildUlJSqebNN99Md+3aNVMzZMiQnf785iGwJ/h8fuyzzz7p008/PX3jjTemp06dmv7xj39crysa02nzI4n5kcQ5BWgI2Z4zFa+c79atW9b6NGfMGeDL56GHHkpHRPrggw9O33LLLekVK1bsULNt27b0fffdV+kuLscdd1x6+/bt1a573333ZWobNWqUvuOOO9Lbtm2rtOYdd9yRbtSoUaZu8uTJNfb67rvvVrozywUXXJAuLS2tVDN9+vR0+/btMzUXX3xxjWtu3rw53aNHj0z9kUcemV66dGmlmqVLl6aPPPLITE3Pnj3TW7ZsqXHdiy66qNIMmT59eqXHS0tL0xdccEGmplmzZun33nuvxjWTOKfkjnAesmzKlCmVXlQXLFhQZV1paWm6e/fumdqf/exnDdwpABVlO5xfs2ZNpdts3XPPPdXWVrz1Yb9+/Wpc99hjj83Ufuc736m2bvz48Zm6Nm3a7PCfWBVV/E+iHj16pDdu3Fhl3VtvvVXpD6H/+7//q3ZN8xDYU6xatarKWztef/319QpNzI/sz4+kzilAQ8j2nEkqnDdnzBngy2fmzJnpiRMnprdu3brT2scee6zSm7CmTZtWZV1ZWVn6gAMOyNSNHTu22jWvvfbaSjPpi2/qqui8887L1A4YMKBSMF3R1KlTM3WNGzdOL1q0qNo177rrrkxt+/btq70V/sqVKyuF/hMmTKh2zYULF1YKyKs7T9u2bUv3798/Uzd8+PBq10zqnJI7wnnIsmHDhmVe/P7lX/6lxto//vGPld5BtbN3XAGQnGyH87feemuld9XW9I7if/zjH5V+cZ8/f36VdfPmzav0Ltni4uJq19y+fXv6K1/5Sqb+9ttvr7Ju8+bNla5GeeCBB2r8uS677LJM7ZlnnlltnXkI7OnqG5qYH9mfH0mcU4Bcy6dw3pwxZ4A9Q8XPp//Rj35UZc0jjzySqdlrr72qfWNVOp1Ob9y4Md22bdtM/WOPPVZl3erVqyu9dr700ks19jl06NBM7RVXXFFtXa9evTJ1v/71r2tc86abbsrU9unTp9q60aNHZ+pOPvnkGtd88cUXK72RoLo3rCVxTsmtRgFkTWlpaUyfPj2zv7PPBDvnnHMyn3myYcOGmDVrVqL9AdBwnnjiicz2qFGjIpVKVVvbtWvXSp9h+Pjjj+90zaFDh8YBBxxQ7ZqpVCpGjhy50zVnzpyZ+ZyrNm3axDnnnFPtmhGf/Syfe+aZZ2Ljxo071JiHAPVnfmR/fiRxTgH4J3PGnAH2DAMGDMhsL1u2rMqaiq+J559/frRs2bLa9Vq2bBnf/va3M/vVvSY+9dRTsX379oiI6NmzZ/Tv37/GPivOhIr9VPS3v/0tFi1aVOUxO1tzwYIFlT7f/XPpdDqeeuqpzP7O5syAAQPi4IMPjoiIbdu2VTq2oiTOKbklnIcsmjNnTpSXl0dERKtWreLYY4+tsb558+bRr1+/zP6MGTMS7Q+AhlFWVhZz587N7A8aNGinxwwePDizXd08eP755+u9ZsUZVd2a/fr1i4KCghrX7Nu3b+aPgLKysnj55Zd3qDEPAerH/Mj+/EjqnALwT+aMOQPsGSq++Wjbtm1V1uzKTEji75ni4uL429/+tkNNxefq2bNn7LfffjWuuf/++8dXvvKVGnt97733YsWKFfXuNYmf35zJT8J5yKLFixdntnv37h1NmjTZ6TFHHXVUlccDkDsffvhh/OlPf4obbrghrrzyyrj++utjwoQJsWDBgkin0zs9fsmSJZl39KZSqfja176202NqMw8qfr9ifXUqPu+2bdvir3/96y6v2bRp0+jdu3eNvZqHAPVjfmR/fiR1TgF2B1u3bo1nn302br755rj66qvj5z//edxxxx0xe/bsKgPz6pgz5gywZ1i4cGFmu6q7pHz00UexatWqzH5tXr8r1rz//vvx8ccf71BT15mw3377xT777FPl8fVd84t1O1tz3333jc6dO+/ymkmdU3Jr57+BALW2ZMmSzHa3bt1qdUzXrl0z2++++27WewKg7p588sl48sknq3zsK1/5Slx77bVxySWXVHu7worzYO+9947mzZvv9DkrzoMNGzZESUlJFBYWZr63du3azG0dI2o3Z1q0aBGFhYVRUlISEZ/NmYr/YfXFXusyu1555ZXMml9kHgLUj/mR/fmRxDkF2F28//77ccopp1T5WPv27WP06NExduzYzK3dq2LOmDPAnqG4uLjSVdhDhw7doabia2JE5de76nyxZsmSJTvc2aS+r99r1qyJiM9ev88444ysrPm5XMyZL9bXZs3P19jZ3WJoWK6chyxav359ZrviO7Nqsu+++2a2N2zYkPWeAMiu9957Ly677LI488wzq/wcw4hdnwcRO86EimvWd92q5kwSs8s8BKgf8yP/1qxuXYDd3QcffBC//vWv45hjjqnyyvbPmTPmDLBnuOqqqzK3su/atesOYXdE5dfEtm3bRosWLXa6bsuWLaNNmzaZ/S++Jn766afx6aefZvbz5fU7iTU3bdq0w51rkjin5J5wHrKotLQ0s12bF8kv1lU8HoCG17Vr17j66qtj6tSpsXz58igrK4uNGzfGkiVL4u67745DDz00U/uXv/wlRowYkbmFYUW7Og++uEZV+9maM0nMLvMQoH7Mj/xbs7p1Ab7M2rRpE6NGjYqHH344lixZEqWlpVFeXh7Lly+PP/3pT5WuhlyyZEmceuqpmavcv8icMWeA3d/kyZPjz3/+c2b/5ptvjoKCgh3q6vOa+MXaPfnvmarWTeKcknvCeciisrKyzHazZs1qdUzFIVbxHWAANKxvfetbsXTp0hg3blx885vfjC5dukRBQUG0bNkyevbsGZdffnm89dZbcfHFF2eOeeqpp+LBBx/cYa1dnQcRO86EimvWd92q5kwSs8s8BKgf8yP/1qxuXYAvq86dO8fKlStj4sSJcf7550fPnj2jVatW0axZs+jSpUuce+658eyzz8aECRMyH+O1dOnS+NnPflbleuaMOQPs3l577bX4wQ9+kNkfPnx4jBgxosra+rwmRtT8WrsnzZmq1k3inJJ7wnnIooqfK7V58+ZaHVPxNiV1eecTANnVrl27aNSo5l+NmjVrFr///e/jhBNOyHzvt7/97Q51uzoPInacCV/87MJszZkkZpd5CFA/5kf+rVndugBfVgUFBTV+hvznvve971UK5CdNmpT57N6KzBlzBth9LV26NM4444xMQNynT5+45557qq2vz2tiRM2vtXvSnKlq3STOKbknnIcsqvjHTW3fjVSxrjZ/HAGQW40aNYrrr78+s//222/HihUrKtXs6jz44hpV7WdrziQxu8xDgPoxP/JvzerWBdgT/OxnP8v8h/62bdvi2Wef3aHGnDFngN3TqlWr4uSTT47Vq1dHRET37t1j2rRp0bZt22qPqc9r4hdr9+S/Z6paN4lzSu4J5yGLOnbsmNmu6t3EVfl8uEVEdOjQIes9AZB9AwcOjKZNm2b2Fy9eXOnxXZ0HETvOhIpr1nfdquZMErPLPASoH/Mj/9asbl2APUHr1q3/v/buNqbKMgzg+HWUoxAIyEsNIeRFECyb2FAwSATJcklWzslKGaOt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\n",
"text/plain": [
"<Figure size 2400x720 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10, 3), dpi=240, facecolor='w', edgecolor='k')\n",
"\n",
"gene = grn[grn.Target_Gene == 'ABCD1']\n",
"(gene.a - gene.a.min()).plot.hist(bins=100)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x16d71ea58>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB+cAAAKLCAYAAAAkZoqrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAk6AAAJOgBgmMFHAAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3We0VfWd//HPQfAiiKCIiAWxjDWgkqAo/lUsYFnJKBY0xBJdYiHJuExmNBlDrCmalYmJfUjsBWMhJhpTRBONhTFqQNDEoDRpChY6eDn/By5OJFjuvZzNOejrtRbLvff9/fb+Xnn4Zp9TKpfL5QAAAAAAAAAAhWlV6wEAAAAAAAAA4JNOnAcAAAAAAACAgonzAAAAAAAAAFAwcR4AAAAAAAAACibOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcR5AAAAAAAAACiYOA8AAAAAAAAABRPnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAUDBxHgAAAAAAAAAKJs4DAAAAAAAAQMHEeQAAAAAAAAAomDgPAAAAAAAAAAUT5wEAAAAAAACgYOI8AAAAAAAAABSsda0HoH5tuummeeutt9KmTZt079691uMAAAAAAAAAVM2UKVOybNmydOrUKTNnziz8eaVyuVwu/Cmsldq2bZslS5bUegwAAAAAAACAwjQ0NGTx4sWFP8eb83yoNm3aZMmSJWloaMi2225b63EAAAAAAAAAqmbixIlZsmRJ2rRps0aeJ87zobp3754JEyZk2223zfjx42s9DgAAAAAAAEDV7LLLLpkwYcIa+4rvVmvkKQAAAAAAAADwKSbOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcR5AAAAAAAAACiYON8MjY2NGTt2bH72s5/lzDPPzOc+97msu+66KZVKKZVK2X///Vt874cffjgnnnhitt9++7Rv3z4bbbRRevXqlf/8z//MSy+9VL1fAgAAAAAAAIA1rnWtB1hbjBo1KkOGDMnChQuret933nknQ4cOzciRI1e6vnDhwrz55psZN25crrjiilx44YX55je/WdVnAwAAAAAAALBmiPNN9NZbb1U9zC9btixHHnlkRo8eXbn2mc98Jr17987ixYvz2GOPZcaMGVm2bFm+9a1vZdmyZRk+fHhVZwAAAAAAAACgeOJ8M3Xt2jV9+vSp/Pntb3+bK664okX3uvjiiythvm3btrnhhhty3HHHVX6+dOnSnH/++bn88suTJBdccEH222+/7Lfffqv/iwAAAAAAAACwxojzTXTIIYdk8uTJ6d69+0rXn3766Rbdb/bs2fnRj35UOf/xj3+8UphPknXXXTeXXXZZpkyZkpEjR6ZcLueb3/xmnnjiiRY9EwAAAAAAAIDaaFXrAdYWm2666SphfnXcdNNNWbBgQZJk++23z9ChQz907WWXXZZWrd77q3ryySfz3HPPVW0OAAAAAAAAAIonztfIqFGjKscnn3xySqXSh67t3r17DjjggMr5fffdV+hsAAAAAAAAAFSXOF8DixcvzlNPPVU533///T92T//+/SvHK76nHgAAAAAAAIC1gzhfA3/729+yfPnyJEmpVMruu+/+sXt69+5dOX7xxRcLmw0AAAAAAACA6hPna+Bvf/tb5XiTTTZJ27ZtP3bP+7/vfu7cuXn99dcLmQ0AAAAAAACA6hPna2DOnDmV465duzZpz6abbrrS+dy5c6s6EwAAAAAAAADFaV3rAT6N5s+fXzleb731mrTnX9e9/x7NcdVVV+Xqq69u0tqJEye26BkAAAAAAAAArEycr4HFixdXjtddd90m7WloaFjpfNGiRS169uuvv54JEya0aC8AAADQdD3Oe2C17zHp+4dXYRIAAADqgThfA+//jvmlS5c2ac+SJUtWOm/qG/f/qkuXLtl5552btHbixImrPBcAAAAAAACA5hPna2D99devHDf1Dfh/Xff+ezTHsGHDMmzYsCat3WWXXbxlDwAAAAAAAFAFrWo9wKdR586dK8ezZs1q0p6ZM2eudL7RRhtVdSYAAAAAAAAAiiPO18AOO+xQOZ49e/ZK30H/YaZMmVI53mijjdKlS5dCZgMAAAAAAACg+sT5Gthhhx3SqtV7/+vL5XKef/75j93z7LPPVo532mmnwmYDAAAAAAAAoPrE+Rpo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lWMAAAAAAAAA1g6taz3Ap9mOO+6YP//5z/n85z+fKVOmZOLEiTn55JM/cG2nTp1ywgkn5NJLL02HDh1a/MyrrroqV199dZPWTpw4scXPAQAAAAAAAOCfxPka69WrV/7+979nxIgROffcc7NgwYIPXDdw4MAcf/zxqxXmk/e+u37ChAmrdQ9WT4/zHljte0z6/uFVmAQAAAAAAABYU8T5GnvjjTfyX//1X7n11luzbNmybLrpptl7772z8cYb56233srTTz+dyZMnZ+TIkRk5cmSGDh2aq6++Ouuss06LntelS5fsvPPOTVo7ceLELFmypEXPAQAAAAAAAOCfxPkaevnll3PAAQdk2rRpaWhoyJVXXpnTTz89rVv/86+lXC7nzjvvzBlnnJF33nkn119/fdZZZ50mfzT9vxo2bFiGDRvWpLW77LKLt+wBAAAAAAAAqqBVrQf4tHr33XczaNCgTJs2LUly7bXXZtiwYSuF+SQplUo5/vjjc/fdd1euXXPNNRkzZswanRcAAAAAAACAlhPna+See+7JCy+8kCTZYYcdctJJJ33k+oMPPjgHHXRQ5fyGG24odD4AAAAAAAAAqkecr5GHHnqocty/f/+USqWP3XPAAQdUjp955plC5gIAAAAAAACg+sT5Gnnttdcqx507d27Sno033rhy/Pbbb1d9JgAAAAAAAACKIc7XyHrrrVc5njt3bpP2zJkzp3LcqVOnqs8EAAAAAAAAQDHE+Rrp3r175fiRRx5p0p7Ro0dXjrfbbruqzwQAAAAAAABAMcT5GjnooIMqxy+99FJuueWWj1w/evTo/P73v6+cDxw4sLDZAAAAAAAAAKgucb5GDj/88Gy//faV86FDh+baa69NY2PjSuvK5XLuuuuuDBo0qHJtyy23zHHHHbfGZgUAAAAAAABg9bSu9QCfVq1bt87NN9+cAw44IAsXLszixYtz5pln5qKLLsree++djTfeOG+//XaeeuqpTJo0qbKvoaEht99+exoaGmo3PAAAAAAAAADNIs7X0J577plHHnkkJ5xwQv7+978nSWbMmJF77rnnA9dvvfXWueWWW9KvX781OSYAAAAAAAAAq0mcr7E99tgj48ePz/33359Ro0blmWeeyfTp0zN//vy0b98+Xbt2zWc/+9l84QtfyNFHH502bdrUemQAAAAAAAAAmkmcrwOtW7fOoEGDVvpeeQAAAAAAAAA+OVrVegAAAAAAAAAA+KQT5wEAAAAAAACgYOI8AAAAAAAAABRMnAcAAAAAAACAgonzAAAAAAAAAFAwcR4AAAAAAAAACibOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQMHEeAAAAAAAAAAomzgMAAAAAAABAwcR5AAAAAAAAACiYOA8AAAAAAAAABRPnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAUDBxHgAAAAAAAAAKJs4DAAAAAAAAQMHEeQAAAAAAAAAomDgPAAAAAAAAAAUT5wEAAAAAAACgYOI8AAAAAAAAABRMnAcAAAAAAACAgonzAAAAAAAAAFAwcR4AAAAAAAAACibOAwAAAAAAAEDBxHkAAAAAAAAAKJg4DwAAAAAAAAAFE+cBAAAAAAAAoGDiPAAAAAAAAAAUTJwHAAAAAAAAgIKJ8wAAAAAAAABQsNa1HgAAAACg3vQ474FajwAAAMAnjDfnAQAAAAAAAKBg4jwAAAAAAAAAFEycBwAAAAAAAICCifMAAAAAAAAAUDBxHgAAAAAAAAAKJs4DAAAAAAAAQMHEeQAAAAAAAAAomDgPAAAAAAAAAAWrizg/YsSILFiwoNZjAAAAAAAAAEAh6iLODx06NN26dctpp52Wp556qtbjAAAAAAAAAEBV1UWcT5IFCxbk5z//efr165eePXvmiiuuyNy5c2s9FgAAAAAAAACstrqI83369Em5XK78mTBhQs4555xsvvnmOf744/OHP/yh1iMCAAAAAAAAQIvVRZx/+umnM27cuPzHf/xHNt5440qkX7JkSe66664MHDgw22yzTS699NK89tprtR4XAAAAAAAAAJqlLuJ8kuyyyy75n//5n7z22msZOXJkBg4cmFatWlVC/eTJkzN8+PD06NEjhx9+eEaNGpXGxsZajw0AAAAAAAAAH6tu4vwKbdq0yTHHHJPf/OY3mTRpUi644IL06NGjEukbGxvz0EMP5aijjsoWW2yR8847Ly+//HKtxwYAAAAAAACAD1V3cf79tthiiwwfPjyvvPJKfv/732fw4MFpaGiohPpZs2bl8ssvz4477pj99tsvt956axYvXlzrsQEAAAAAAABgJXUd59/vwAMPzB133JHp06fniiuuyK677poklVD/+OOP56STTspmm22Wr371q3nhhRdqPDEAAAAAAAAAvGetifMrbLjhhvnqV7+a6667LnvuuWeSpFQqJXkv1L/11lu5+uqrs+uuu2bAgAF55plnajkuAAAAAAAAAKxdcX7u3Lm54oor0qtXr+y1114ZM2ZMSqVS5e35zTbbLMk/36Z/+OGHs9dee+XCCy+s8eQAAAAAAAAAfJqtFXH+d7/7XQYPHpzNN98855xzTsaPH18J8O3atcspp5ySp556KtOmTctLL72Ub3zjG+ncuXPK5XIaGxtz0UUXZeTIkbX+NQAAAAAAAAD4lKrbOD958uRccMEF6dGjRw499NDcfffdWbJkSSXK77777rnmmmsyffr0jBgxInvssUeSZPvtt89ll12WSZMm5ayzzkry3pv0P/3pT2v56wAAAAAAAADwKda61gO839KlS3PfffflZz/7WUaPHp1yuZwklf+uv/76Of744zN06NB89rOf/ch7tW/fPldeeWUef/zxjB07NmPHji18fgAAAAAAAAD4IHUR5//617/m5z//eW677ba8+eabSf4Z5JPkc5/7XIYOHZrjjz8+7du3b9a9+/btm7Fjx2bBggVVnRkAAAAAAAAAmqou4vzuu++eUqm0UpDfYIMN8sUvfjFDhw7Nbrvt1uJ7r7feetUYEQAAAAAAAABarC7ifPLPN+X33HPPDB06NIMHD067du1W+74HHXRQ2rZtu9r3AQAAAAAAAICWqos436lTpwwZMiRDhw5Nz549q3rvww8/PIcffnhV7wkAAAAAAAAAzVEXcX769OnebgcAAAAAAADgE6tVrQdIIswDAAAAAAAA8IlWF3EeAAAAAAAAAD7J6iLOL126NAcccED23nvvnHnmmc3ae8YZZ2TvvffOwIED09jYWNCEAAAAAAAAANBydRHnf/nLX+bRRx/N008/nX322adZe/v165ennnoqf/jDH/LrX/+6oAkBAAAAAAAAoOXqIs7/5je/SfLed88feeSRzdo7aNCgynfWi/MAAAAAAAAA1KO6iPN/+ctfUiqVsvvuu6ddu3bN2tu+ffv07t075XI5f/nLXwqaEAAAAAAAAABari7i/KRJk5Ik2223XYv2r9i34j4AAAAAAAAAUE/qIs4vWrQoSbLeeuu1aP+Kj7WfP39+1WYCAAAAAAAAgGqpizjfqVOnJMnrr7/eov1vvPFGkqRDhw5VmwkAAAAAAAAAqqUu4vxmm22WcrmcJ598skX7n3jiiZRKpXTr1q3KkwEAAAAAAADA6quLOL/vvvsmSWbOnJl77723WXvvueeezJw5M0myzz77VH02AAAAAAAAAFhddRHnjz766MrxV77ylUyaNKlJ+1599dV85StfqZwfddRR1R4NAAAAAAAAAFZbXcT5fffdN/vtt1/K5XJmzpyZPn365JZbbsm77777gevffffd3HLLLdljjz0ya9aslEql7L333jn44IPX8OTV9+yzz+a8887L5z73uXTr1i0NDQ3ZbLPN0rt375xyyim55ZZbKp8UAAAAAAAAAMDaoXWtB1jhpptuSp8+ffLGG29kzpw5Ofnkk3POOeekX79+2WabbbL++utn/vz5efXVV/P4449n7ty5KZfLSZLOnTvn5ptvrvFvsHpmz56dc845J7fddtsqP5sxY0ZmzJiR5557LjfccEOGDRuWK6+8sgZTAgAAAAAAANASdRPnu3fvnt/+9rc58sgjM3ny5CTJnDlz8qtf/WqVtSuifJJstdVWueeee7L11luvsVmrbcqUKdl///3z6quvVq7tsMMO6dmzZzp37pyFCxdm4sSJef7557Nw4cIaTgoAAAAAAABAS9RNnE+S3XbbLc8991wuueSSXH/99Zk/f/5KIf79OnTokKFDh+Zb3/pWNtxwwzU8afW8/fbb6d+/fyXM9+/fPz/+8Y/Tq1evVdYuXbo0o0ePzrx589b0mAAAAAAAAACshrqK80nSqVOn/PCHP8xFF12Uxx9/PE899VRmzZqVefPmpUOHDunatWv69u2bffbZJ+3atav1uKvtG9/4Rl555ZUkyeDBg3PbbbdlnXXW+cC16667bg455JA1OR4AAAAAAAAAVVB3cX6Fdu3aZcCAARkwYECtRynM888/nxEjRiRJttxyy/zv//7vh4Z5AAAAAAAAANZerWo9wKfZtddeWzkeNmxYOnToUMNpAAAAAAAAACiKOF8jjY2NueOOOyrnRx11VA2nAQAAAAAAAKBI4nyNvPDCC3nnnXeSJB07dsy2226bd999NzfccEMOPPDAbLrppmloaMjmm2+eQw89NNdcc02WLFlS46kBAAAAAAAAaIm6/M75cePGZcyYMZk0aVLeeeedLFu2rEn7SqVSrrrqqoKnq47/+7//qxxvueWWmTZtWo4++uiMGTNmpXXTp0/P9OnT89BDD+X73/9+7r777vTp02dNjwsAAAAAAADAaqirOP/rX/865513Xl588cUW32NtifNTp05d6fzQQw/N+PHjkyQ77rhj+vTpk3XWWSdjx47Ns88+mySZMmVK9t9///zpT3/KZz/72TU+MwAAAAAAAAAtUzdx/nvf+17OP//8JEm5XG7RPUqlUjVHKtRbb71VOX7hhReSJO3atcuNN96YY445ZqW1jzzySI499ti88cYbWbhwYQYPHpwJEyZk3XXXbfZzr7rqqlx99dVNWjtx4sRm3x8AAAAAAACAVdVFnB8zZkzOP//8SpRvaGjIwIEDs/vuu6dz585p06ZNjSesvgULFqxy7dZbb82RRx65yvX+/fvn/vvvzz777JPly5dn4sSJue222/LlL3+52c99/fXXM2HChBbNDAAArP16nPfAat9j0vcPr8Ik9cH/j0+mavy9AgAAQLXVRZz/yU9+knK5nFKplH79+uXOO+/MZpttVuuxCtW2bduVzvfaa68PDPPv//mgQYNy9913J0lGjhzZojjfpUuX7Lzzzk1aO3HixCxZsqTZzwAAAAAAAABgZXUR5x977LEkSYcOHTJq1KhstNFGNZ6oeOuvv/5K5x8V5t+/ZkWcf+KJJ1r03GHDhmXYsGFNWrvLLrt4yx4AAAAAAACgClrVeoAkmT17dkqlUg488MBPRZhPks6dO6903pS32XfaaafK8bx58zJv3ryqzwUAAAAAAABA9dVFnN9ggw2SJJtsskmNJ1lzdtxxx5XO//VN+g/SoUOHlc7FeQAAAAAAAIC1Q13E+e222y5JMmvWrBpPsuZ85jOfWel8/vz5H7vnX2N8x44dqzoTAAAAAAAAAMWoizg/ePDglMvl/OlPf8rSpUtrPc4asfXWW2frrbeunDflu91ffPHFyvFGG22U9u3bFzIbAAAAAAAAANVVF3H+1FNPzXbbbZc333wz3/3ud2s9zhozaNCgyvGoUaM+dv371+y7776FzAQAAAAAAABA9dVFnG/fvn3uueeedOnSJRdffHEuvfTSNDY21nqswp155plp06ZNkuSJJ57I/fff/6Frx4wZk3vvvbdyfvLJJxc9HgAAAAAAAABV0rrWAyTJXXfdlST5+te/nuHDh2f48OG59tprc8QRR6Rnz57p2LFjSqVSk+517LHHFjlqVW277bY566yzcsUVVyRJvvjFL+bmm29e6Y36JPnjH/+YY445pvIPFvr27ZsvfOELa3xeAAAAAAAAAFqmLuL8cccdt1J8L5fLee2113L11Vc36z6lUmmtivNJ8oMf/CDPPvtsHnvssSxYsCBHHXVUdtppp/Tp0yfrrLNOxo4dm7/85S+V9d26dctdd93V5H+sAAAAAAAAAEDt1UWcT94L8k259knT0NCQX/3qVznzzDNzxx13JElefPHFvPjii6us3XPPPfMGLifgAAAgAElEQVSLX/wiW2655ZoeEwAAAAAAAIDVUBdxfvDgwbUeoaY6duyY22+/PWeccUZuvvnmPP7443nttdfS2NiYrl27pm/fvjn22GNzxBFHeGMeAAAAAAAAYC1UF3F+xRvjn3b77rtv9t1331qPAQAAAAAAAECVtar1AAAAAAAAAADwSSfOAwAAAAAAAEDBxHkAAAAAAAAAKFhdfOf8B3nppZfy+OOPZ+rUqXnzzTfT2NiYq666qtZjAQAAAAAAAECz1V2c//Wvf50LLrggzz33XOVauVxOqVRaJc7PmjUrffv2TWNjY/r165c77rhjTY8LAAAAAAAAAB+rrj7W/uyzz86///u/57nnnku5XK78+TBdu3ZN3759M23atNx9992ZMWPGGpwWAAAAAAAAAJqmbuL8RRddlJ/85CeVIL/ffvvlwgsvzL777vuR+04++eQkyfLly/Pggw+ugUkBAAAAAAAAoHnqIs6/8sorufTSS5MkG2ywQR588ME88sgj+fa3v52ePXt+5N4DDzww7dq1S5I8+uijRY8KAAAAAAAAAM1WF3H+uuuuy7Jly1IqlXLttdfmkEMOafLe1q1bp1evXimXy3nhhRcKnBIAAAAAAAAAWqYu4vwf/vCHJEmPHj1y3HHHNXt/jx49kiRTp06t5lgAAAAAAAAAUBV1EecnT56cUqmUvfbaq0X7O3bsmCSZN29eNccCAAAAAAAAgKqoizi/Iqp36NChRfsXLVqUJGnbtm3VZgIAAAAAAACAaqmLON+5c+ckyZw5c1q0/5VXXkmSbLzxxlWbCQAAAAAAAACqpS7i/DbbbJNyuZwxY8Y0e++bb76ZMWPGpFQqpVevXgVMBwAAAAAAAACrpy7i/IABA5IkU6dOzYMPPtisvZdffnmWLl2aJDn44IOrPhsAAAAAAAAArK66iPMnnXRS1l133STJmWeemWnTpjVp35133pnLLrsspVIpHTt2zAknnFDkmAAAAAAAAADQInUR57faaqucffbZKZfLmTZtWvr06ZMRI0Zk3rx5q6xtbGzME088kS996UsZMmRIli9fniQZPnx4OnTosKZHBwAAAAAAAICP1brWA6zw3e9+N+PHj88DDzyQ2bNn5/TTT88ZZ5yRtm3bVtZ069Ytc+fOzbvvvpskKZfLSZLjjjsuZ599dk3mBgAAAAAAAICPUxdvzidJq1atMmrUqHzjG99IqVRKuVzO8uXLs2jRopRKpSTJrFmzsmzZspTL5ZTL5bRq1Srnnntubr311hpPDwAAAAAAAAAfrm7ifJKss846ueyyyzJhwoScfvrp6d69eyXEr3hLPkk22WSTfPnLX84LL7yQ733ve5V4DwAAAAAAAAD1qG4+1v79tt9++1xzzTVJkhkzZmT69Ol5++230759+3Tt2jU9evSo7YAAAAAAAAAA0Ax1Geffr1u3bunWrVutxwAAAAAAAACAFqurj7UHAAAAAAAAgE8icR4AAAAAAAAACibOAwAAAAAAAEDB6uI753feeeeq3KdUKmX8+PFVuRcAAAAAAAAAVEtdxPmXXnoppVKpWXvK5XLluFQqpVwuN/seAAAAAAAAALAm1EWcT1aO7U21Isq3ZC8AAAAAAAAArCl1EedffPHFJq1bvnx53n777YwbNy533XVXHn744bRt2zY//elPs88++xQ8JQAAAAAAAAC0TF3E+R122KFZ6/v27ZvTTjst9957b4YMGZJhw4blvvvuy6GHHlrQhAAAAAAAAADQcq1qPcDqGDRoUK688sosXbo0J554YqZPn17rkQAAAAAAAABgFWt1nE+SU045JVtssUXmzp2b6667rtbjAAAAAAAAAMAq1vo4XyqV0q9fv5TL5fzyl7+s9TgAAAAAAAAAsIq1Ps4nSceOHZMkkydPrvEkAAAAAAAAALCqT0ScnzRpUpJk2bJltR0EAAAAAAAAAD7AWh/nX3755Tz66KMplUrZYostaj0OAAAAAAAAAKxirY7zjz32WA499NAsXbo0STJgwIAaTwQAAAAAAAAAq2pd6wGS5Kyzzmry2nfffTdz5szJ888/X/k4+yRp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2FUNIpwfPXp0tGvXLiIifvjDH8acOXNqddydd94ZDz30UBQUFMQBBxwQI0eOzLLN3e7qq6+OgoKC9OeQQw7Jd0sAAAAAAAAA1EODCOc7d+4ct956ayRJEp988kn069cv/t//+38xb9682LJlS1q3adOm+OCDD+KRRx6JgQMHxg033JA+dtddd0WLFi3y0X4mXnnllbjnnnvy3QYAAAAAAAAAOdAs3w1sc9VVV8X7778f48aNi9LS0rj99tvj9ttvTx9PkiRatWpV6ZgkSSIi4tprr40RI0bs1n6ztHnz5rjsssti69at+W4FAAAAAAAAgBxoEJ+c3+aBBx6Ie++9N9q0aRNJkqTh+7bbum/73baftm3bxgMPPBB33HFHnjvPrZ///Ocxd+7ciIg97lb9AAAAAAAAAHujBhXOR0SMGTMmli5dGnfccUecdtppUVhYWCmob9q0aZx88skxduzYWLJkSVx++eV57ji33nvvvbjtttsiIuKiiy6K4cOH57kjAAAAAAAAAHZVg7mtfUUdOnSIH//4x/HjH/84kiSJjz76KD799NNo06ZNdO7cOZo2bZrvFjORJElcdtllUVZWFvvuu2/88pe/jGeeeSbfbQEAAAAAAACwixpkOF9RQUFBdOrUKTp16pTvVjL3wAMPxMyZMyMi4he/+EXst99+ee4IAAAAAAAAgFxoEOH8gQceGBER7du3j7lz50bz5s3z3NHut2zZsrj++usjImLgwIFx6aWX5rkjAAAAAAAAAHKlQYTzq1evjoiIL3/5y3tlMB8RMWbMmPj888+jRYsWMW7cuCgoKMh3SwAAAAAAAADkSJN8NxARUVRUFBER+++/f547yY/HHnssnn766YiIuO666+LII4/Mc0cAAAAAAAAA5FKDCOe7desWERHr1q3Lcye737p16+LKK6+MiIhevXrFjTfemOeOAAAAAAAAAMi1BnFb+7PPPjtee+21mDFjRmzdujWaNGkQ7xnYLa666qooLi6OiIgHH3wwCgsLM32+++67L+6///5a1S5atCjTXgAAAAAAAAD2Fg0inL/00kvjl7/8ZRQXF8fdd98d11xzTb5b2i2effbZePjhhyMiYtSoUTF48ODMn7O4uDjefffdzJ8HAAAA2HWHXD9pl9dYcsdZOegEAACAXdUgwvmDDjoofvWrX8XIkSPj+uuvj6ZNm8aP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ysoq1TzyyCNJy5Yt05qxY8fWuObatWuTDh06pPVDhw5NiouLK9W89dZbSbdu3dKaIUOG7PTP7/oDZGHbvN5///2Tr33ta8nYsWOTZ555JvnhD39Yr09YJol5ncW8zuKcAnumXM/1ip+c7969e876NNfNdaB2Hn300SQiksMOOyy54447kuXLl+9QU15enjz00EOV7pxyyimnJFu3bq123YceeiitbdKkSXL33Xcn5eXllda8++67kyZNmqR1EydOrLHX9957r9LdUC666KKkpKSkUs3UqVOTfffdN6255JJLalxz06ZNSc+ePdP64447Llm8eHGlmsWLFyfHHXdcWtOrV69k8+bNNa578cUXV5rbU6dOrfR4SUlJctFFF6U1LVq0SBYuXFjjmlmcU6DxEc5Djk2aNKnSBXnOnDlV1pWUlCQ9evRIa2+44Ybd3ClAfuU6nF+9enWlW6I9+OCD1dZWvDVkv379alz35JNPTmu/+c1vVlv3wAMPpHXt2rXb4X/yVVTxf6L17NkzWb9+fZV1b7/9dqW/tP71r3+tdk3XHyArK1eurPK2l7fccku9QhzzOvfzOqtzCuyZcj3XswrnzXVzHaid6dOnJ+PHj0+2bNmy09onnnii0hufJk+eXGVdaWlpcvDBB6d1119/fbVrXnfddZWuA9u/kaqir3/962ntgAEDKgXTFT3zzDNpXdOmTZN333232jXvu+++tHbfffet9lb4K1asqBT6jxs3rto1586dWykgr+48lZeXJ/3790/rRowYUe2aWZ1ToPERzkOOnXnmmemF81//9V9rrP2f//mfSu++29m79QD2JLkO5++8885K74Cu6d3fH3zwQaW/ZL3xxhtV1r3yyiuV3tG8dOnSatfcunVrcvjhh6f1v/zlL6us27RpU6VP6/zv//5vjX+uyy67LK0955xzqq1z/QF2t/qGOOZ17ud1FucU2Ps0pHDeXDfXgexU/H76f/u3f6uy5vHHH09r9tlnn2rfzJQkSbJ+/fqkffv2af0TTzxRZd2qVasqzauZM2fW2OewYcPS2iuvvLLauj59+qR1P/3pT2tc87bbbktrjz322GrrxowZk9YNHz68xjVffPHFSm8kqO5NYlmcU6BxahJAzpSUlMTUqVPT/Z19h9sFF1yQfl/ORx99FC+88EKm/QHsyf70pz+l26NHj46CgoJqa7t161bpOx6ffPLJna45bNiwOPjgg6tds6CgIEaNGrXTNadPn55+J1m7du3iggsuqHbNiC/+LNs8++yzsX79+h1qXH+AxsS8zv28zuKcAuSTuW6uA9kZMGBAur1kyZIqayrOoW984xvRunXratdr3bp1/Mu//Eu6X90c+vOf/xxbt26NiIhevXpF//79a+yz4hyu2E9Ff//73+Pdd9+t8pidrTlnzpxK3+++TZIk8ec//znd39lsHzBgQBx22GEREVFeXl7p2IqyOKdA4ySchxyaNWtWlJWVRUREmzZt4uSTT66xvmXLltGvX790f9q0aZn2B7CnKi0tjdmzZ6f7gwYN2ukxgwcPTrerm79/+9vf6r1mxWtCdWv269cvCgsLa1yzb9++6V/YSktL46WXXtqhxvUHaCzM69zP66zOKUA+mevmOpCdim/4KS8vr7JmV+ZwFq/Zly5dGn//+993qKn4XL169YoDDzywxjUPOuigOPzww2vsdeHChbF8+fJ695rFn99shz2LcB5yaP78+en2McccE82aNdvpMSeccEKVxwPsTT755JP4/e9/H7feemtcddVVccstt8S4ceNizpw5kSTJTo9fsGBB+u7rgoKCOP7443d6TG3mb8XfV6yvTsXnLS8vj/fff3+X12zevHkcc8wxNfbq+gM0FuZ17ud1VucUoD62bNkSzz33XNx+++1xzTXXxI033hh33313zJgxo8rAvDrmurkOZGfu3LnpdlV3Jvn0009j5cqV6X5tZmbFmg8//DA+++yzHWrqOocPPPDA2H///as8vr5rbl+3szUPOOCA6NKlyy6vmdU5BRqnnb9iBGptwYIF6Xb37t1rdUy3bt3S7ffeey/nPQE0Bk899VQ89dRTVT52+OGHx3XXXReXXnpptbdzrDh/99tvv2jZsuVOn7Pi/P3oo4+iuLg4ioqK0t+tWbMmve1lRO3meqtWraKoqCiKi4sj4ou5XvF/6G3fa12uFS+//HK65vZcf4DGwrzO/bzO4pwC1NeHH34YX/nKV6p8bN99940xY8bE9ddfn97avSrmurkOZGfp0qWVPoU9bNiwHWoqzqGIyjOmOtvXLFiwYIe7idR3Zq5evToivpiZZ599dk7W3CYfs337+tqsuW2Nnd2hBWgcfHIecmjdunXpdsV39dXkgAMOSLc/+uijnPcE0NgtXLgwLrvssjjnnHOq/J7HiF2fvxE7zuCKa9Z33armehbXCtcfoLEwrxvemtWtC5BrH3/8cfz0pz+Nk046qcpPtm9jrpvrQHauvvrq9Fb23bp12yHsjqg8h9q3bx+tWrXa6bqtW7eOdu3apfvbz6GNGzfGxo0b0/2GMjOzWHPDhg073C0mi3MKNF7CecihkpKSdLs2F9jt6yoeD7A36NatW1xzzTXxzDPPxLJly6K0tDTWr18fCxYsiPvvvz969+6d1j799NMxcuTI9BaPFe3q/N1+jar2czXXs7hWuP4AjYV53fDWrG5dgLpo165djB49Oh577LFYsGBBlJSURFlZWSxbtix+//vfV/pk5oIFC+KMM85IP+W+PXPdXAeyMXHixPjjH/+Y7t9+++1RWFi4Q1195tD2tXvza/aq1s3inAKNl3Aecqi0tDTdbtGiRa2OqfgCqOK7BwH2dOeee24sXrw47rrrrvinf/qn6Nq1axQWFkbr1q2jV69e8f3vfz/efvvtuOSSS9Jj/vznP8cjjzyyw1q7On8jdpzBFdes77pVzfUsrhWuP0BjYV43vDWrWxegtrp06RIrVqyI8ePHxze+8Y3o1atXtGnTJlq0aBFdu3aNCy+8MJ577rkYN25c+jVVixcvjhtuuKHK9cx1cx3Ivddeey2+973vpfsjRoyIkSNHVllbnzkUUfN825tme1XrZnFOgcZLOA85VPF7wDZt2lSrYyre4qYu75oDaOw6dOgQTZrU/FKkRYsW8Zvf/CYGDhyY/u7nP//5DnW7On8jdpzB23+3Y67mehbXCtcfoLEwrxvemtWtC1BbhYWFNX6H/Dbf/e53KwXyEyZMSL9HuCJz3VwHcmvx4sVx9tlnpwHxscceGw8++GC19fWZQxE1z7e9abZXtW4W5xRovITzkEMV/zJa23eyVayrzV9mAfY2TZo0iVtuuSXdf+edd2L58uWVanZ1/m6/RlX7uZrrWVwrXH+AxsK8bnhrVrcuQBZuuOGGNFwoLy+P5557bocac91cB3Jn5cqVMXz48Fi1alVERPTo0SMmT54c7du3r/aY+syh7Wv35tfsVa2bxTkFGi/hPORQp06d0u2q3v1dlW0vjCIiOnbsmPOeAPYEp512WjRv3jzdnz9/fqXHd3X+Ruw4gyuuWd91q5rrWVwrXH+AxsK8bnhrVrcuQBbatm0bX/7yl9P97V/XR5jr5jqQK+vWrYvhw4fHokWLIuKLryGZMmVKdOnSpcbjKs6hzz77bIdb0ldlw4YN8fnnn6f728+hVq1aVfrkd0OZmVms2bp16x1uc5/FOQUaL+E85NARRxyRbn/wwQe1Ombp0qXpdu/evXPeE8CeoHnz5tG5c+d0f+3atZUerzh/16xZU6u/5FScvx07doyioqJKj++3337RoUOHdL82c720tDSKi4vT/armehbXCtcfoLEwr7NdM1fnFCBLFUOh7V/XR5jr5jqQC5999ll89atfjXnz5kVEROfOnWPKlClx6KGH7vTYinMoonbzreIcqmqN7X/XWOZwFmvWdt3anFOgcRLOQw4deeSR6fbcuXNjy5YtOz3mjTfeqPJ4ACpbv359ut2mTZtKjx1xxBHp99cnSRJvvfXWTterzfyt+Ps333yzTms2bdo0evXqtctrbtmyJebOnVtjr64/QGNhXud+Xmd1TgGyUtPr+m3MdXMdqL/169fHmWeeGa+//npEROyzzz4xefLk6NOnT62O32effSq9kaquc/iggw6q8rb5dZ3DK1asqPTJ9Z3N4dqsuX2vO1tz1apVO9ydpD5rZnVOgcZJOA851L9///SWNevXr4/XXnutxvqysrKYPXt2uj9kyJBM+wNorP7xj3/EZ599lu4feOCBlR5v2bJlnHLKKen+9OnTd7rm888/n25XN38HDx5c7zUrXhOqW/Oll16KTZs21bjmq6++Ghs2bIiIL/6c/fr126HG9QdoLMzr3M/rrM4pQFYqBhLbv67fxlw314H6KS0tjXPOOSdmzpwZEV/cYn3SpElx4okn1mmdXZnDWbxm79atWxx22GE1rrlgwYJYuXJljWuuWLEiFi5cWGOvhx9+eHTt2rXevWbx5zfbYc8inIccatu2bQwdOjTdnzBhQo31TzzxRPq9MR07dozTTjsty/YAGq3f/va36fY+++wTX/rSl3aoOffcc9Ptnc3fZcuWxdSpU6s8tro1p0yZEsuXL69x3YrPW92agwYNin322ScivrjN3BNPPFHrNYcPH17lp4tcf4DGxLzO/bzO4pwCZGHKlCmxbNmydH/QoEFV1pnr5jpQd5s3b44LLrggpk2bFhERhYWF8dRTT8WAAQPqvFbFWfK73/0uNm7cWG3txo0b4/HHH6/y2IrOOeec9M4gCxYsqPRmpapUnH///M//XGXN4YcfXumOABMnTqxxzYqPH3PMMdGjR48dagoKCuKcc86pso+qvPTSS/H+++9HxBd3bzn77LOrrMvinAKNVALk1NNPP51ERBIRSWFhYfLOO+9UWbd+/frksMMOS2uvv/763dwpQP58/vnnta6dOXNm0rJly3ReXn755VXWrV69OmnTpk1a9+tf/7raNUeMGJHW9evXr8bnP/nkk9Paiy66qNq6cePGpXXt2rVLiouLq63993//97T28MMPTzZs2FBl3dy5c5MWLVqktZMnT652TdcfYHe75ZZb0lly+umn1/o48zr38zqrcwrsXeoz18vKypKysrJa1a5Zsybp2bNn+hxHHnlkUl5eXm29uW6uA7W3ZcuW5MILL0znQbNmzZKnnnqq3uuVlpYmXbt2Tde78cYbq6294YYb0rru3bvXeF2o2OPAgQOTrVu3Vln317/+Na1r2rRpMm/evGrXvPfee9PaTp06JatWraqybuXKlUnHjh3T2gcffLDaNefMmZM0adIkrX322WerrCsvL09OPfXUtO6b3/xmtWtmdU6Bxkc4DxkYOHBgevE85JBDkrfffrvS42vXrk2GDx+e1nTs2DH5+OOP89QtwO43fvz45OSTT04mTpyYfPLJJ1XWbNy4MbnnnnuSVq1apfOyQ4cOyYoVK6pd96abbkprW7Vqlfzud7+r9PimTZuS6667Lq2JiGT69Ok19jplypRK9dddd12yadOmSjW/+93vKvU5duzYGtdcu3Zt0qFDh7R++PDhydq1ayvVvP3228khhxyS1gwePLjGNZPE9QfYveobzieJeZ3FvM7inAJ7l/rM9cWLFyddu3ZNfv7znydLliypsmbr1q3J008/nXTv3j1dv6CgIJk0aVKNa5vr5jpQO1u3bk1GjRqVzoImTZokjz766C6v+9BDD1Va85577qn0pqry8vLknnvuqRRiT5w4scY158+fnzRv3jytv/jii5OSkpJKNdOmTUs6deqU1lxyySU1rrlp06ZKb/46/vjjd7gmLVmyJDn++OPTml69eiWbN2+ucd2LL764Uuj/t7/9rdLjJSUllWpatGiRLFy4sMY1szinQONTkCRJEkBOLV++PPr27Zt+x01BQUGcfvrp0bNnzyguLo4pU6ak31vWrFmzmDx5cqXboAHs6SZMmBCXXHJJRHwxB3v3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\n",
"text/plain": [
"<Figure size 2400x720 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10, 3), dpi=240, facecolor='w', edgecolor='k')\n",
"\n",
"gene = grn[grn.Target_Gene == 'TGFB1']\n",
"(gene.a - gene.a.min()).plot.hist(bins=100)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# III. Verify all RRs are in cis with their target gene, or if not, the prevalence of trans links and max number of distinct chromosomes seen for a single target"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"chrs = grn.groupby('Target_Gene')['chr'].agg(np.unique).to_frame()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>chr</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Target_Gene</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>CKS1B</th>\n",
" <td>[chr1, chr5]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>LSP1</th>\n",
" <td>[chr11, chr13]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" chr\n",
"Target_Gene \n",
"CKS1B [chr1, chr5]\n",
"LSP1 [chr11, chr13]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"chrs[~chrs.chr.isin(['chr1', 'chr2', 'chr3', 'chr4', 'chr5', 'chr6', 'chr7', 'chr8', 'chr9', 'chr10', \n",
" 'chr11', 'chr12', 'chr13', 'chr14', 'chr15', 'chr16', 'chr17', 'chr18', 'chr19', 'chr20', \n",
" 'chr21', 'chr22', 'chrX', 'chrY'])]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"chr\n",
"chr1 1688\n",
"chr5 48\n",
"Name: Target_Gene, dtype: int64"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grn[grn.Target_Gene == 'CKS1B'].groupby('chr')['Target_Gene'].count()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"chr\n",
"chr11 366\n",
"chr13 651\n",
"Name: Target_Gene, dtype: int64"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grn[grn.Target_Gene == 'LSP1'].groupby('chr')['Target_Gene'].count()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# IV. Number of isoforms per gene"
]
},
{
"cell_type": "code",
"execution_count": 140,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"min: 1 max: 102 mean: 2.6052547146269296 median: 1.0\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1611330f0>"
]
},
"execution_count": 140,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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34XnAQAAAAAAAAAAAAAAACYacVxJbrzxxvq6r69vWGd6e3vr66lTp474TAAAAAAAAAAAAAAAAABZiONKctttt9XXBw4cGNaZgwcP1tczZ84c8ZkAAAAAAAAAAAAAAAAAshDHleT222+vr3/88cc4f/78v575/vvvhzwPAAAAAAAAAAAAAAAAMNGI40oyb968aGpqioiIkydPxq5duy65v1arxXfffVf/vGDBglGdDwAAAAAAAAAAAAAAAGAsE8eVZMqUKbFw4cL653Xr1l1y/+effx7Hjx+PiIipU6fG/PnzR3M8AAAAAAAAAAAAAAAAgDFNHFei5557rr5et25d7N27d8h9p06dildffbX++dlnn42GhoZRnw8AAAAAAAAAAAAAAABgrBLHleihhx6K++67LyIiarVaPPzww7Fnz55Be44cORJLliyJX375JSL+89a4V1555ZrPCgAAAAAAAAAAAAAAADCWeP3YZVi8eHEcOnRo0He9vb319a5du2LOnDkXndu8eXPcfPPNQ97zk08+iXvuuScOHz4cPT09MWfOnLj//vujs7Mz+vv7Y+vWrXHq1KmIiGhoaIgNGzZES0vLCP4rAAAAAAAAAAAAAAAAgHzEcZehq6srDhw48I+/nzx5Mn744YeLvj979uw/nrnlllti+/btsXTp0ti9e3cURRE7duyIHTt2DNo3bdq0WLt2bSxcuPCK5wcAAAAAAAAAAAAAAAAYL8RxY8DMmTNj586d8emnn8b69etj79690dfXFy0tLXHrrbfGo48+GitWrIjW1tayRx1SpVIpewQAAAAAAAAAAAAAAABgghHHXYaenp5Ru3djY2MsX748li9fPmrPAAAAAAAAAAAAAAAAABgvrit7APIrimLIq1qtlj0aAAAAAAAAAAAAAAAAME6J4wAAAAAAAAAAAAAAAABIRxwHAAAAAAAAAAAAAAAAQDriOAAAAAAAAAAAAAAAAADSEccBAAAAAAAAAAAAAAAAkI44DgAAAAAAAAAAAAAAAIB0xHEAAAAAAAAAAAAAAAAApCOOAwAAAAAAAAAAAAAAACAdcRwAAAAAAAAAAAAAAAAA6YjjAAAAAAAAAAAAAAAAAEhHHAcAAAAAAAAAAAAAAABAOuI4AAAAAAAAAAAAAAAAANIRxwEAAAAAAAAAAAAAAACQjjgOAAAAAAAAAAAAAAAA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778/Bx54YObMmZPx48eXuVIAAAAAAAAAAAAAAACA7Scc14ysWbMmTz75ZJLk6quv3uz+du3a5dJLL02SPPLII7uyNAAAAAAAAAAAAAAAAICdSjiukTZs2JAZM2bk/vvvzzXXXJNjjjkmbdu2TUVFRSoqKjJs2LDtnru6ujoTJkzIiBEj0qdPn1RWVqZXr14ZMmRI7rzzzixbtmyL41977bWsW7cuSXLiiSfW22fo0KFJkpdeeikbN27c7loBAAAAAAAAAAAAAAAAyql1uQsoksceeyyjRo3K2rVrd/rcs2bNysiRI/P666/XuX3x4sVZvHhxXnjhhdxxxx0ZP358RowYUe8c7777bpKkbdu22X///evt07dv3yTJunXrMm/evBx44IE7cS8AAAAAAAAAAAAAAAAAdg1XjmuElStXNkkwbuHChRk+fHgpGFdRUZGhQ4fm8ssvzxlnnJH27dsnSZYsWZIzzzwzU6dOrXeeFStWJEn22muvVFRU1Nuna9eupfaHH364M3cDAAAAAAAAAAAAAAAAYJdx5bjt0KNHjxx77LGln1//+tf50Y9+tN3zXXjhhVm0aFGSpE+fPnn88cczaNCg0v3Lli3LBRdckClTpmT9+vU599xzM3v27HTp0qXOPJ988kmSTVeOa0hlZWWp3RRBPwAAAAAAAAAAAAAAAIBdQTiuEf72b/828+bNS+/evevc/tJLL233nE899VSee+65JJtCbf/93/+dAQMG1OnTrVu3PP744xk4cGDee++9rFixIrfffntuvfXWOv0+u8JcdXV1g4+3bt26UrtDhw7bXTcAAAAAAAAAAAAAAABAObUqdwFF0rNnz82CcTvqnnvuKbUvueSSzYJxn9lzzz3zne98p7Q9bty4fPrpp3X67LXXXkmSDz/8MDU1NfXOs2LFis36AwAAAAAAAAAAAAAAABSNcFwZrV69OlOmTCltX3bZZVvsf84556Rjx45JNoXcnn322Tr3H3rooUk2XTlu/vz59c4xe/bsJEllZWX69Omz3bUDAAAAAAAAAAAAAAAAlJNwXBlNnz49VVVVSTZdGe7YY4/dYv/KysoMHjy4tD116tQ69x911FGprKxMks2Cc5955plnkiTHHXdcWrXy6wcAAAAAAAAAAAAAAACKSTqqjN5+++1Se8CAAWnduvVWxxx99NH1jk82BexGjBiR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n13afvrpp3Pqqadu1q+qqiqHHHJIFixYkCQZO3Zsvv/979c759ixY3Pbbbcl2fSlBu+++26dgy0AAM3RrFmzcuSRR6aqqiqjRo3KKaeckssuuyzJpjXR3LlzGxy7ZMmSHHTQQVmzZk2S5L777svo0aPr7XvBBRdk0qRJSZLBgwdn+vTpO3dHAADK7Morr8xPf/rTJMn555+fhx56aKvHuBpinQUA8P8OOOCAzJs3L0nyjW98I3fddVeDff/rv/4r5557bml7xowZm52r9eabb2bQoEHZuHFjkoY/Z9y4cWNOOOGE0vpq5MiRjfpSKQCAclm8eHGqq6vTu3fvOrd/+9vfzs0335wkGTp0aKZNm7ZN8zXVsarjjjsuL7/8cmncxIkT6+1333335ZprrkmSdOrUKe+99166deu2TbUDW9aq3AUAxXDPPfeU2pdcckm9wbgk2XPPPfOd73yntD1u3Lh8+umnTV4fAMDuZOjQobn00ku36aShs846K8cdd1xp+8knn6y33xNPPFEKxn3hC1/Iv/zLvzQ450033ZTOnTsnSebNm9fgnAAAzUVNTU2uuOKKVFVVZa+99sq//uu/Nmr8gw8+WPoQrF+/frnqqqsa7Hv77beXrtz7wgsv5LXXXtv+wgEAdjOvv/56KRi3//775yc/+cl2B+MS6ywAgM98/PHHpWBcsimgtiVnnnlmOnToUNp+9913N+tz7733loJxX/7yl+sNxiVJq1atcvvtt5e2H3300SxbtqxR9QMAlEPPnj03C8btiKY4VvXyyy+XgnGfX3d93ujRo3PIIYckSVatWpUJEyZs134AmxOOA7Zq9erVmTJlSmn7s2/cbsg555yTjh07JklWrFiRZ599tknrAwAouuOPP77UbuiKJo899lipff7559f5MOzzOnTokPPOO6+0PXny5B0vEgBgN3bvvffm+eefT5Lccccd2WeffRo1vvZa69JLL01FRUWDfXv37p2TTz65tG2tBQA0J/fdd1+pfe2116ZTp047NJ91FgDAJqtXr66zvddee22xf+vWrUtfhpmkFIL7TE1NTZ544onS9tbO5zr++ONz8MEHJ0k2bNhQZywAQEvRFMeqas95yimnZP/9929wzoqKilxyySVbnRNoPOE4YKumT5+eqqqqJJuuDHfsscdusX9lZWUGDx5c2p46dWqT1gcAUHS1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yb59+2bQoEFJksWLF2fVqlXFvUmTJuWpp55qzdQBAI4Zs2bNyqRJk5I0nKb7ySefNNl+165d+dWvfpUFCxYU184///wMGDAg27dvzxtvvFGsiyXJfffdl+nTp7fJ3AEAjqQdO3Zk+PDhefPNN4tr/fv3z8CBA3PCCSdkxYoVWbZsWXGvuro6S5YsSc+ePQ84njgLAKDBkiVLMnTo0GJ/VdIQSw0ePDhdu3bN5s2bs3jx4pJ1rKqqqtTU1OSSSy454JhbtmzJ4MGDs3LlyuLahRdemPPOOy9btmzJggUL8tVXXxX3Zs2alQkTJhz+hwMAaCMjR47M2rVrS66tW7cu69evT5J07NgxZ5111n795s2blzPOOGO/6221VjVt2rQ8+OCDRf2MM87IpZdemg4dOmTZsmX54IMPinvDhw/PvHnzUllZ2ey4QMtIjgNa5aOPPsr48ePz/vvvH7RNt27dMnPmzIwaNeoHnBkAwNHj3nvvLTnlrbWa+m/azp0789vf/jaPPfbYQdtVVFTk1ltvze9///u0b9/+kOcBAFDOWpsclySbN2/OlClT9vtCZGPt27fPvffem3vuuedwTRUA4KizefPm3HTTTSVfyD6QCy+8MH/9618PmhjXeDxxFgBAsnTp0txwww35+OOPm23bp0+fzJ49OxdffHGT7dauXZsbbrihZIP3vjp16pQZM2YU62UAAOWid+/e+fTTT1vd73//+1969+59wHttsVZVX1+fhx56KPfff/9+p8Y1du211+aPf/xjTjnllBaNC7SM5Dig1Xbu3Jlnn302zzzzTFauXJn169enc+fO+elPf5px48Zl0qRJjnkFAI5rbZkct9fSpUvz1FNPZeHChVmzZk2S5Mwzz8zll1+eyZMnZ+DAgYf8+wAAx4JDSY7bq6amJn/+85+zaNGi1NbWpn379unZs2dGjBiRyZMnp3///m00awCAo8sbb7yRv/zlL3nrrbeyZs2a7NmzJz169MigQYNyzTXXZOzYsamoqGjxeOIsAIBk9+7deemll/Liiy/m3Xffzdq1a/P111+nY8eO6dGjRy644IKMGTMmV111VYs/hFlfX5+//e1vefrpp7N8+fLU1tamU6dO6dWrV6688spMnjw5vXr1auMnAwA4/NoiOW6vtlir+vDDD/Pkk0/mlVdeyeeff55du3aluro6F110USZMmJBhw4a1ekygeZLjAAAAAAAAAAAAAAAAACg77Y70BAAAAAAAAAAAAAAAAACgtSTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHYkxwEAAAAAAAAAAAAAAABQdiTHAQAAAAAAAAAAAAAAAFB2JMcBAAAAAAAAAAAAAAAAUHb+D74tFQy0pcmHAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 4320x1920 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(18, 8), dpi=240, facecolor='w', edgecolor='k')\n",
"df = refseq.groupby('name').size()\n",
"print('min:', df.min(), 'max:', df.max(), 'mean:', df.mean(), 'median:', df.median())\n",
"df.plot.hist(bins=100, logy=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## V. Number of TFs and RRs for gene containing the largest number of RRs"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"AACS has 384 regulatory regions associated with 70 unique TFs comprising altogether 8756 TF-RR links\n"
]
}
],
"source": [
"\n",
"print(unique_RRs_per_Target_Gene.idxmax(), 'has', unique_RRs_per_Target_Gene.max(), 'regulatory regions associated with', unique_TFs_per_Target_Gene['AACS'], 'unique TFs comprising altogether', RR_TFs[RR_TFs.Target_Gene == 'AACS'][0].sum(), 'TF-RR links') \n"
]
},
{
"cell_type": "code",
"execution_count": 129,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"NCOR2 has 12052 TF-RR links distributed across 298 regulatory regions and 85 unique TFs\n"
]
}
],
"source": [
"print(RR_TFs.groupby('Target_Gene')[0].sum().idxmax(), 'has', RR_TFs.groupby('Target_Gene')[0].sum().max(), 'TF-RR links distributed across', unique_RRs_per_Target_Gene['NCOR2'], 'regulatory regions and', unique_TFs_per_Target_Gene['NCOR2'], 'unique TFs')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# VI. Number of TFs and RRs for gene containing the largest number of distinct TFs\n"
]
},
{
"cell_type": "code",
"execution_count": 131,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MBP has 198 unique TFs which bind across 66 unique RRs for 8326 TF-RR links\n"
]
}
],
"source": [
"print(unique_TFs_per_Target_Gene.idxmax(), 'has', unique_TFs_per_Target_Gene.max(), 'unique TFs which bind across', unique_RRs_per_Target_Gene['MBP'], 'unique RRs for', RR_TFs[RR_TFs.Target_Gene == 'MBP'][0].sum(), 'TF-RR links')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"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.7.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment