{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Using iSet in Python"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this tutorial we show how to use iSet in Pyhton. The tutorial requires sample data at http://www.ebi.ac.uk/~casale/data.zip, which can be obtained running the following commands\n",
"```bash\n",
"wget http://www.ebi.ac.uk/~casale/data.zip\n",
"unzip data.zip\n",
"```\n",
"As we show in this tutorial, iSet can be applied for interaction analysis in two data designs:\n",
"* [complete design](#Complete-design), where all individuals have been phenotyped in each context\n",
"* [stratified design](#Stratified-design), where each individual has been phenotyped in only one of the two contexts"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Complete design"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"iSet is an extension of mtSet that allows to test for polygenic interactions with environment or other contexts. iSet can be applied in designs where all individuals have been phenotyped in each context (complete design) as well as for populations that have been stratified by a context variable (stratified design). We will here see first an application of iSet for analysis of complete designs, and then an application for the analysis of stratified design in the next section."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Setting up"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# activiate inline plotting\n",
"%matplotlib inline\n",
"\n",
"import scipy as sp\n",
"import scipy.linalg\n",
"import limix\n",
"from limix.iSet.iset import fit_iSet\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# base name for bed, bim and fam\n",
"bfile = 'data/chrom22_subsample20_maf0.10'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Split genotypes into regions"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from limix.mtSet.core import plink_reader"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# import genotype positions\n",
"bim = plink_reader.readBIM(bfile,usecols=(0,1,2,3))\n",
"chrom = bim[:, 0].astype(float)\n",
"pos = bim[:, -1].astype(float)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# uses splitter to split the genotypes\n",
"from limix.mtSet.core.splitter import Splitter\n",
"split = Splitter(pos=pos,chrom=chrom)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The method `splitGeno` allows to define the regions that will then considered for the analysis with iSet.\n",
"Information relative to the calculated regions can be cached in an external file by activating the cache option (see below).\n",
"\n",
"| Argument | Default | Datatype | Explanation |\n",
"| ------------- |:-------------:|:--------:| --------|\n",
"| __method__ | 'slidingWindow' | str | Uses a sliding window approach to define regions (a region-based approach will be availabe soon) |\n",
"| __size__ | 5E+04 (50kb) | float | Window size. Pace is set at half the size of the window |\n",
"| __minSnps__ | 1 | int | Windows with number of SNPs lower that this threshold are not considered |\n",
"| __maxSnps__ | sp.inf | int | Windows with number of SNPs higher that this threshold are not considered |\n",
"| __cache__ | False | bool | If true, it activates the caching |\n",
"| __out\\_dir__ | './cache' | str | outdir of the cache file |\n",
"| __fname__ | None | str | Name of the file |\n",
"| __rewrite__ | False | bool | If true and the cache file already exists, the cache file is overwritten |"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1380 windows\n"
]
}
],
"source": [
"split.splitGeno(cache=True, fname='regions.h5', minSnps=4)\n",
"print '%d windows' % split.nWindows"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Apply"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# import phenotype and sample relatedness\n",
"pheno_file = './data/pheno.phe'\n",
"sample_relatedness_file = './data/chrom22.cov'\n",
"sample_relatedness_file = './data/chrom22.cov'\n",
"Y = sp.loadtxt(pheno_file)[:,:2]\n",
"R = sp.loadtxt(sample_relatedness_file)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# load fixed effect covariates (10 PCs + intercept term)\n",
"sp.loadtxt()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# read fam\n",
"bim = plink_reader.readBIM(bfile,usecols=(0,1,2,3))\n",
"fam = plink_reader.readFAM(bfile,usecols=(0,1))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
".. window 0 - (22, 16025000-16075000) - 21 snps\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/casale/anaconda/lib/python2.7/site-packages/limix-0.8.0.dev0-py2.7-macosx-10.6-x86_64.egg/limix/mtSet/core/plink_reader.py:127: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n",
" SNPs = SP.zeros(((SP.ceil(0.25*N)*4),nSNPs),order=order)\n",
"/Users/casale/anaconda/lib/python2.7/site-packages/limix-0.8.0.dev0-py2.7-macosx-10.6-x86_64.egg/limix/mtSet/core/plink_reader.py:142: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future\n",
" bytes = SP.array(bytearray(f.read(nbyte))).reshape((SP.ceil(0.25*N),Sblock),order='F')\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Elapsed: 11.3809649944\n",
".. window 1 - (22, 16050000-16100000) - 23 snps\n",
"Elapsed: 12.6584079266\n",
".. window 2 - (22, 16125000-16175000) - 7 snps\n",
"Elapsed: 16.8145720959\n",
".. window 3 - (22, 16225000-16275000) - 9 snps\n",
"Elapsed: 104.873666048\n",
".. window 4 - (22, 16250000-16300000) - 16 snps\n",
"Elapsed: 20.669064045\n",
".. window 5 - (22, 16275000-16325000) - 12 snps\n",
"Elapsed: 14.1111199856\n",
".. window 6 - (22, 16325000-16375000) - 5 snps\n",
"Elapsed: 12.9142489433\n",
".. window 7 - (22, 16350000-16400000) - 5 snps\n",
"Elapsed: 13.7915680408\n",
".. window 8 - (22, 16475000-16525000) - 8 snps\n",
"Elapsed: 16.0733628273\n",
".. window 9 - (22, 16500000-16550000) - 7 snps\n",
"Elapsed: 19.4930050373\n"
]
}
],
"source": [
"n_wnds = 10 # only 10 windows are considered\n",
"LLR = sp.zeros(n_wnds) # vector with test statistics of the n_wnds regions\n",
"df = pd.DataFrame()\n",
"df0 = pd.DataFrame()\n",
"import time\n",
"\n",
"for wnd_i in range(n_wnds):\n",
" t0 = time.time()\n",
" wnd_pos = split.wnd_pos[wnd_i]\n",
" nSnps = split.nSnps[wnd_i]\n",
" idx_wnd_start = split.idx_wnd_start[wnd_i]\n",
" print '.. window %d - (%d, %d-%d) - %d snps' % (wnd_i, wnd_pos[0], wnd_pos[1], wnd_pos[2], nSnps)\n",
"\n",
" Xr = plink_reader.readBED(bfile, useMAFencoding=True, start = idx_wnd_start, nSNPs = nSnps, bim=bim , fam=fam)['snps']\n",
" xr = sp.dot(sp.rand(Xr.shape[0]), Xr)\n",
" idxs_u = sp.sort(sp.unique(xr, return_index=True)[1])\n",
" Xr = Xr[:,idxs_u]\n",
" Xr-= Xr.mean(0)\n",
" Xr/= Xr.std(0)\n",
" Xr/= sp.sqrt(Xr.shape[1])\n",
"\n",
" _df, _df0 = fit_iSet(Y, F=F, Xr=Xr, n_nulls=10)\n",
" df = df.append(_df)\n",
" df0 = df0.append(_df0)\n",
" print 'Elapsed:', time.time()-t0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The dataframe df contains log likelihood ratio scores for the different models, variance component attributable to persistent rescaling-GxC and heterogeneity-GxC and information about convergence"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"
\n",
" \n",
" \n",
" | \n",
" Heterogeneity-GxC var | \n",
" Persistent Var | \n",
" Rescaling-GxC Var | \n",
" iSet LLR | \n",
" iSet-het LLR | \n",
" mtSet LLR | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0.005392 | \n",
" 0.010507 | \n",
" 7.101712e-03 | \n",
" 5.746295e-01 | \n",
" 2.224021e-01 | \n",
" 1.655404e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.007778 | \n",
" 0.010084 | \n",
" 5.555618e-03 | \n",
" 5.572166e-01 | \n",
" 3.393949e-01 | \n",
" 1.605843e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.000050 | \n",
" 0.000050 | \n",
" 4.840134e-10 | \n",
" 7.581852e-03 | \n",
" -8.268391e-07 | \n",
" -8.269062e-07 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.000050 | \n",
" 0.006019 | \n",
" 1.255343e-02 | \n",
" 2.000499e+00 | \n",
" 4.871453e-09 | \n",
" 2.296836e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.000050 | \n",
" 0.004385 | \n",
" 1.233389e-02 | \n",
" 1.820602e+00 | \n",
" -8.327561e-11 | \n",
" 1.820689e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.000050 | \n",
" 0.000050 | \n",
" 3.900443e-12 | \n",
" 6.427395e-07 | \n",
" -2.638672e-10 | \n",
" -3.454943e-10 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.000050 | \n",
" 0.000935 | \n",
" 2.033645e-04 | \n",
" 1.718735e-02 | \n",
" 1.829665e-08 | \n",
" 1.718657e-02 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.000050 | \n",
" 0.000050 | \n",
" 2.224766e-13 | \n",
" 7.225904e-03 | \n",
" 1.202191e-07 | \n",
" -2.722800e-10 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.000827 | \n",
" 0.003191 | \n",
" 8.814909e-03 | \n",
" 8.597470e-01 | \n",
" 1.172438e-02 | \n",
" 8.970728e-01 | \n",
"
\n",
" \n",
" 0 | \n",
" 0.000050 | \n",
" 0.001833 | \n",
" 8.049454e-03 | \n",
" 5.902992e-01 | \n",
" 1.579309e-08 | \n",
" 5.902869e-01 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Heterogeneity-GxC var Persistent Var Rescaling-GxC Var iSet LLR \\\n",
"0 0.005392 0.010507 7.101712e-03 5.746295e-01 \n",
"0 0.007778 0.010084 5.555618e-03 5.572166e-01 \n",
"0 0.000050 0.000050 4.840134e-10 7.581852e-03 \n",
"0 0.000050 0.006019 1.255343e-02 2.000499e+00 \n",
"0 0.000050 0.004385 1.233389e-02 1.820602e+00 \n",
"0 0.000050 0.000050 3.900443e-12 6.427395e-07 \n",
"0 0.000050 0.000935 2.033645e-04 1.718735e-02 \n",
"0 0.000050 0.000050 2.224766e-13 7.225904e-03 \n",
"0 0.000827 0.003191 8.814909e-03 8.597470e-01 \n",
"0 0.000050 0.001833 8.049454e-03 5.902992e-01 \n",
"\n",
" iSet-het LLR mtSet LLR \n",
"0 2.224021e-01 1.655404e+00 \n",
"0 3.393949e-01 1.605843e+00 \n",
"0 -8.268391e-07 -8.269062e-07 \n",
"0 4.871453e-09 2.296836e+00 \n",
"0 -8.327561e-11 1.820689e+00 \n",
"0 -2.638672e-10 -3.454943e-10 \n",
"0 1.829665e-08 1.718657e-02 \n",
"0 1.202191e-07 -2.722800e-10 \n",
"0 1.172438e-02 8.970728e-01 \n",
"0 1.579309e-08 5.902869e-01 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The dataframe df0 contains log likelihood ratios when data are from the null. These are necessary to iSet to calculate P values."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" iSet LLR0 | \n",
" iSet-het LLR0 | \n",
" mtSet LLR0 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1.555267e-02 | \n",
" -1.114967e-08 | \n",
" 6.763972e-01 | \n",
"
\n",
" \n",
" 1 | \n",
" 5.138475e-03 | \n",
" 1.666820e-08 | \n",
" 9.962754e-02 | \n",
"
\n",
" \n",
" 2 | \n",
" 1.322256e+00 | \n",
" 3.478742e-07 | \n",
" 3.593482e-01 | \n",
"
\n",
" \n",
" 3 | \n",
" 5.303700e-03 | \n",
" 3.838863e-09 | \n",
" -1.591616e-12 | \n",
"
\n",
" \n",
" 4 | \n",
" 2.649577e-02 | \n",
" 1.236790e-07 | \n",
" 4.307782e-01 | \n",
"
\n",
" \n",
" 5 | \n",
" 2.371773e+00 | \n",
" 1.979566e-08 | \n",
" -2.283286e-09 | \n",
"
\n",
" \n",
" 6 | \n",
" 1.140588e-01 | \n",
" 8.015625e-07 | \n",
" -3.249224e-07 | \n",
"
\n",
" \n",
" 7 | \n",
" 7.300552e-05 | \n",
" -1.030742e-09 | \n",
" 5.007758e-03 | \n",
"
\n",
" \n",
" 8 | \n",
" 1.931133e-01 | \n",
" -8.095640e-10 | \n",
" -3.333867e-10 | \n",
"
\n",
" \n",
" 9 | \n",
" 1.024240e-03 | \n",
" 2.546921e-08 | \n",
" 6.409358e-01 | \n",
"
\n",
" \n",
" 0 | \n",
" 1.538946e+00 | \n",
" 6.648315e-08 | \n",
" 4.238569e-03 | \n",
"
\n",
" \n",
" 1 | \n",
" 2.684850e-01 | \n",
" 1.207556e-07 | \n",
" 3.899477e-01 | \n",
"
\n",
" \n",
" 2 | \n",
" 1.982851e-01 | \n",
" 2.740084e-07 | \n",
" 6.468065e-01 | \n",
"
\n",
" \n",
" 3 | \n",
" 5.448258e-02 | \n",
" 2.304423e-07 | \n",
" 2.953999e-01 | \n",
"
\n",
" \n",
" 4 | \n",
" 1.040587e-01 | \n",
" 3.410205e-07 | \n",
" 2.598717e-02 | \n",
"
\n",
" \n",
" 5 | \n",
" 5.039921e-01 | \n",
" 4.222368e-07 | \n",
" 9.883369e-02 | \n",
"
\n",
" \n",
" 6 | \n",
" 1.169442e-01 | \n",
" -1.964736e-09 | \n",
" 4.058230e-01 | \n",
"
\n",
" \n",
" 7 | \n",
" 4.981047e+00 | \n",
" -1.250402e-08 | \n",
" 1.874179e-01 | \n",
"
\n",
" \n",
" 8 | \n",
" 1.376885e-01 | \n",
" 5.323929e-02 | \n",
" 5.414452e-01 | \n",
"
\n",
" \n",
" 9 | \n",
" 1.713601e-02 | \n",
" -9.514019e-08 | \n",
" -2.625995e-09 | \n",
"
\n",
" \n",
" 0 | \n",
" 7.129975e-01 | \n",
" -7.318970e-07 | \n",
" -8.095083e-08 | \n",
"
\n",
" \n",
" 1 | \n",
" 1.773877e-02 | \n",
" 8.319699e-08 | \n",
" 3.107571e-01 | \n",
"
\n",
" \n",
" 2 | \n",
" 5.700531e-07 | \n",
" -1.459642e-08 | \n",
" -1.425803e-09 | \n",
"
\n",
" \n",
" 3 | \n",
" 5.083909e-03 | \n",
" 4.496542e-09 | \n",
" 1.231549e-01 | \n",
"
\n",
" \n",
" 4 | \n",
" 2.108239e-01 | \n",
" 2.066857e-01 | \n",
" -2.949758e-08 | \n",
"
\n",
" \n",
" 5 | \n",
" 2.454567e+00 | \n",
" 8.748543e-09 | \n",
" -1.677336e-09 | \n",
"
\n",
" \n",
" 6 | \n",
" 8.920570e-02 | \n",
" -2.443301e-09 | \n",
" 1.382382e-01 | \n",
"
\n",
" \n",
" 7 | \n",
" 3.982626e-01 | \n",
" 1.240664e-09 | \n",
" 3.098874e-01 | \n",
"
\n",
" \n",
" 8 | \n",
" 6.941323e-01 | \n",
" 3.221816e-07 | \n",
" 6.301227e-02 | \n",
"
\n",
" \n",
" 9 | \n",
" 5.363783e-03 | \n",
" 1.982642e-09 | \n",
" 1.342524e+00 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 0 | \n",
" 6.824015e-03 | \n",
" -2.870593e-12 | \n",
" 1.024917e-01 | \n",
"
\n",
" \n",
" 1 | \n",
" 1.227777e-03 | \n",
" 1.075570e-06 | \n",
" -8.662937e-11 | \n",
"
\n",
" \n",
" 2 | \n",
" 2.025293e-02 | \n",
" 3.847382e-07 | \n",
" 5.108097e-01 | \n",
"
\n",
" \n",
" 3 | \n",
" 8.013020e-01 | \n",
" 8.046220e-08 | \n",
" 3.585721e+00 | \n",
"
\n",
" \n",
" 4 | \n",
" 7.454272e-03 | \n",
" 5.885283e-10 | \n",
" -2.145043e-09 | \n",
"
\n",
" \n",
" 5 | \n",
" 2.169429e-01 | \n",
" 5.314251e-08 | \n",
" 1.388684e-01 | \n",
"
\n",
" \n",
" 6 | \n",
" 6.550467e-03 | \n",
" -4.160765e-08 | \n",
" 6.302979e-01 | \n",
"
\n",
" \n",
" 7 | \n",
" 1.268165e-01 | \n",
" -1.860755e-04 | \n",
" 1.117286e+00 | \n",
"
\n",
" \n",
" 8 | \n",
" 8.665353e-01 | \n",
" 5.419619e-08 | \n",
" -1.076216e-09 | \n",
"
\n",
" \n",
" 9 | \n",
" 1.980706e-03 | \n",
" 8.179478e-08 | \n",
" 7.312406e-01 | \n",
"
\n",
" \n",
" 0 | \n",
" 1.366847e-03 | \n",
" 1.222673e-07 | \n",
" -1.336459e-06 | \n",
"
\n",
" \n",
" 1 | \n",
" 4.231934e-02 | \n",
" 6.916301e-07 | \n",
" -1.545544e-08 | \n",
"
\n",
" \n",
" 2 | \n",
" 6.360202e-01 | \n",
" 6.561397e-07 | \n",
" 2.556833e-01 | \n",
"
\n",
" \n",
" 3 | \n",
" 3.579892e-01 | \n",
" 1.243274e-06 | \n",
" -8.588472e-10 | \n",
"
\n",
" \n",
" 4 | \n",
" 1.162855e-01 | \n",
" -4.903882e-10 | \n",
" 1.918087e-01 | \n",
"
\n",
" \n",
" 5 | \n",
" 2.841780e-01 | \n",
" -2.251682e-08 | \n",
" 3.612482e-02 | \n",
"
\n",
" \n",
" 6 | \n",
" 4.007141e-01 | \n",
" 6.620144e-07 | \n",
" 6.667211e-01 | \n",
"
\n",
" \n",
" 7 | \n",
" 1.253339e+00 | \n",
" 9.091066e-04 | \n",
" -2.502361e-09 | \n",
"
\n",
" \n",
" 8 | \n",
" 3.956992e-03 | \n",
" 8.407589e-07 | \n",
" -5.046115e-08 | \n",
"
\n",
" \n",
" 9 | \n",
" 2.841871e-03 | \n",
" 6.264202e-09 | \n",
" -5.674963e-09 | \n",
"
\n",
" \n",
" 0 | \n",
" 8.987440e-02 | \n",
" -1.561793e-07 | \n",
" -5.309630e-09 | \n",
"
\n",
" \n",
" 1 | \n",
" 1.802102e-06 | \n",
" 1.770561e-07 | \n",
" 5.294796e-02 | \n",
"
\n",
" \n",
" 2 | \n",
" 1.271400e-02 | \n",
" 2.876845e-09 | \n",
" 2.589745e+00 | \n",
"
\n",
" \n",
" 3 | \n",
" 1.451155e-02 | \n",
" -2.205797e-07 | \n",
" 6.947324e-01 | \n",
"
\n",
" \n",
" 4 | \n",
" 1.653160e+00 | \n",
" 7.874888e-09 | \n",
" 2.198925e+00 | \n",
"
\n",
" \n",
" 5 | \n",
" 2.299080e-01 | \n",
" 9.061552e-08 | \n",
" 9.677878e-01 | \n",
"
\n",
" \n",
" 6 | \n",
" 2.180528e-03 | \n",
" 3.503377e-07 | \n",
" 2.677990e-01 | \n",
"
\n",
" \n",
" 7 | \n",
" 6.993240e-03 | \n",
" -9.168471e-08 | \n",
" 3.555292e-02 | \n",
"
\n",
" \n",
" 8 | \n",
" 3.878006e-01 | \n",
" -3.444711e-11 | \n",
" 6.384556e-03 | \n",
"
\n",
" \n",
" 9 | \n",
" 7.838907e-03 | \n",
" 1.011358e-08 | \n",
" -8.930101e-11 | \n",
"
\n",
" \n",
"
\n",
"
100 rows × 3 columns
\n",
"
"
],
"text/plain": [
" iSet LLR0 iSet-het LLR0 mtSet LLR0\n",
"0 1.555267e-02 -1.114967e-08 6.763972e-01\n",
"1 5.138475e-03 1.666820e-08 9.962754e-02\n",
"2 1.322256e+00 3.478742e-07 3.593482e-01\n",
"3 5.303700e-03 3.838863e-09 -1.591616e-12\n",
"4 2.649577e-02 1.236790e-07 4.307782e-01\n",
"5 2.371773e+00 1.979566e-08 -2.283286e-09\n",
"6 1.140588e-01 8.015625e-07 -3.249224e-07\n",
"7 7.300552e-05 -1.030742e-09 5.007758e-03\n",
"8 1.931133e-01 -8.095640e-10 -3.333867e-10\n",
"9 1.024240e-03 2.546921e-08 6.409358e-01\n",
"0 1.538946e+00 6.648315e-08 4.238569e-03\n",
"1 2.684850e-01 1.207556e-07 3.899477e-01\n",
"2 1.982851e-01 2.740084e-07 6.468065e-01\n",
"3 5.448258e-02 2.304423e-07 2.953999e-01\n",
"4 1.040587e-01 3.410205e-07 2.598717e-02\n",
"5 5.039921e-01 4.222368e-07 9.883369e-02\n",
"6 1.169442e-01 -1.964736e-09 4.058230e-01\n",
"7 4.981047e+00 -1.250402e-08 1.874179e-01\n",
"8 1.376885e-01 5.323929e-02 5.414452e-01\n",
"9 1.713601e-02 -9.514019e-08 -2.625995e-09\n",
"0 7.129975e-01 -7.318970e-07 -8.095083e-08\n",
"1 1.773877e-02 8.319699e-08 3.107571e-01\n",
"2 5.700531e-07 -1.459642e-08 -1.425803e-09\n",
"3 5.083909e-03 4.496542e-09 1.231549e-01\n",
"4 2.108239e-01 2.066857e-01 -2.949758e-08\n",
"5 2.454567e+00 8.748543e-09 -1.677336e-09\n",
"6 8.920570e-02 -2.443301e-09 1.382382e-01\n",
"7 3.982626e-01 1.240664e-09 3.098874e-01\n",
"8 6.941323e-01 3.221816e-07 6.301227e-02\n",
"9 5.363783e-03 1.982642e-09 1.342524e+00\n",
".. ... ... ...\n",
"0 6.824015e-03 -2.870593e-12 1.024917e-01\n",
"1 1.227777e-03 1.075570e-06 -8.662937e-11\n",
"2 2.025293e-02 3.847382e-07 5.108097e-01\n",
"3 8.013020e-01 8.046220e-08 3.585721e+00\n",
"4 7.454272e-03 5.885283e-10 -2.145043e-09\n",
"5 2.169429e-01 5.314251e-08 1.388684e-01\n",
"6 6.550467e-03 -4.160765e-08 6.302979e-01\n",
"7 1.268165e-01 -1.860755e-04 1.117286e+00\n",
"8 8.665353e-01 5.419619e-08 -1.076216e-09\n",
"9 1.980706e-03 8.179478e-08 7.312406e-01\n",
"0 1.366847e-03 1.222673e-07 -1.336459e-06\n",
"1 4.231934e-02 6.916301e-07 -1.545544e-08\n",
"2 6.360202e-01 6.561397e-07 2.556833e-01\n",
"3 3.579892e-01 1.243274e-06 -8.588472e-10\n",
"4 1.162855e-01 -4.903882e-10 1.918087e-01\n",
"5 2.841780e-01 -2.251682e-08 3.612482e-02\n",
"6 4.007141e-01 6.620144e-07 6.667211e-01\n",
"7 1.253339e+00 9.091066e-04 -2.502361e-09\n",
"8 3.956992e-03 8.407589e-07 -5.046115e-08\n",
"9 2.841871e-03 6.264202e-09 -5.674963e-09\n",
"0 8.987440e-02 -1.561793e-07 -5.309630e-09\n",
"1 1.802102e-06 1.770561e-07 5.294796e-02\n",
"2 1.271400e-02 2.876845e-09 2.589745e+00\n",
"3 1.451155e-02 -2.205797e-07 6.947324e-01\n",
"4 1.653160e+00 7.874888e-09 2.198925e+00\n",
"5 2.299080e-01 9.061552e-08 9.677878e-01\n",
"6 2.180528e-03 3.503377e-07 2.677990e-01\n",
"7 6.993240e-03 -9.168471e-08 3.555292e-02\n",
"8 3.878006e-01 -3.444711e-11 6.384556e-03\n",
"9 7.838907e-03 1.011358e-08 -8.930101e-11\n",
"\n",
"[100 rows x 3 columns]"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Variance Component Plot"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pylab as pl\n",
"tot_var = df['Persistent Var'].values + df['Rescaling-GxC Var'].values + df['Heterogeneity-GxC var'].values\n",
"nohet_var = df['Persistent Var'].values + df['Rescaling-GxC Var'].values\n",
"pl.fill_between(split.wnd_pos[:n_wnds,1], 0, df['Persistent Var'].values, color='gray')\n",
"pl.fill_between(split.wnd_pos[:n_wnds,1], df['Persistent Var'].values, nohet_var, color='Orange')\n",
"pl.fill_between(split.wnd_pos[:n_wnds,1], nohet_var, tot_var, color='Gold')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### P-values\n",
"\n",
"Empirical P values are obtained from a relatively small number of genome-wide permutations by pooling across all conisdered steps."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from limix.mtSet.core.iset_utils import calc_emp_pv_eff\n",
"#calculate P values for the three tests\n",
"for test in ['mtSet', 'iSet', 'iSet-het']:\n",
" df[test+' pv'] = calc_emp_pv_eff(df[test+' LLR'].values, df0[test+' LLR0'].values)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#makes a manhattan plot\n",
"wnd_start = split.wnd_pos[:n_wnds,1]\n",
"wnd_end = split.wnd_pos[:n_wnds,2]\n",
"import pylab as pl\n",
"pl.plot(wnd_start, -sp.log10(df['mtSet pv'].values), 'o', color='DarkGreen')\n",
"pl.plot(wnd_start, -sp.log10(df['iSet pv'].values), 'o', color='DarkRed')\n",
"pl.plot(wnd_start, -sp.log10(df['iSet-het pv'].values), 'o', color='Gold')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Stratified design\n",
"\n",
"iSet is an extension of mtSet that allows to test for polygenic interactions with environment or other contexts.\n",
"iSet can be applied in designs where all individuals have been phenotyped in each context (complete design) as well as for populations that have been stratified by a context variable (stratified design).\n",
"We will here see application of iSet for analysis of stratified designs."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Setting up"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# activiate inline plotting\n",
"%matplotlib inline\n",
"\n",
"from download_examples import get_1000G_mtSet\n",
"import scipy as sp\n",
"import scipy.linalg\n",
"import limix\n",
"from limix.iSet.iset import fit_iSet\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# loading 1000G genotypes for mtSet demo\n",
"get_1000G_mtSet()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# base name for bed, bim and fam\n",
"bfile = './data/1000g/chrom22_subsample20_maf0.10'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Split genotypes into regions"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from limix.mtSet.core import plink_reader"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# import genotype positions\n",
"bim = plink_reader.readBIM(bfile,usecols=(0,1,2,3))\n",
"chrom = bim[:, 0].astype(float)\n",
"pos = bim[:, -1].astype(float)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# uses splitter to split the genotypes\n",
"from limix.mtSet.core.splitter import Splitter\n",
"split = Splitter(pos=pos,chrom=chrom)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The method `splitGeno` allows to define the regions that will then considered for the analysis with iSet.\n",
"Information relative to the calculated regions can be cached in an external file by activating the cache option (see below).\n",
"\n",
"| Argument | Default | Datatype | Explanation |\n",
"| ------------- |:-------------:|:--------:| --------|\n",
"| __method__ | 'slidingWindow' | str | Uses a sliding window approach to define regions (a region-based approach will be availabe soon) |\n",
"| __size__ | 5E+04 (50kb) | float | Window size. Pace is set at half the size of the window |\n",
"| __minSnps__ | 1 | int | Windows with number of SNPs lower that this threshold are not considered |\n",
"| __maxSnps__ | sp.inf | int | Windows with number of SNPs higher that this threshold are not considered |\n",
"| __cache__ | False | bool | If true, it activates the caching |\n",
"| __out\\_dir__ | './cache' | str | outdir of the cache file |\n",
"| __fname__ | None | str | Name of the file |\n",
"| __rewrite__ | False | bool | If true and the cache file already exists, the cache file is overwritten |"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1380 windows\n"
]
}
],
"source": [
"split.splitGeno(cache=True, fname='regions.h5', minSnps=4)\n",
"print '%d windows' % split.nWindows"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Apply"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(274, 1)\n"
]
}
],
"source": [
"# import phenotype and sample relatedness\n",
"pheno_file = './data/1000g/pheno.phe'\n",
"sample_relatedness_file = './data/1000g/chrom22.cov'\n",
"Y = sp.loadtxt(pheno_file)[:,:1]\n",
"R = sp.loadtxt(sample_relatedness_file)\n",
"print(Y.shape)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# let's suppose the first half of the individuals are phenotyped in context A and\n",
"# the second half on context B\n",
"Ie = sp.arange(R.shape[0])<0.5*R.shape[0]"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# corrects for population structure using the first 10 PCs of the relatedness matrix\n",
"S_R, U_R = scipy.linalg.eigh(R+1e-4*sp.eye(R.shape[0])) # these are needed for the full mtSet model\n",
"F = sp.concatenate([U_R[:,-10:], sp.ones([U_R.shape[0], 1])], 1)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# read fam\n",
"bim = plink_reader.readBIM(bfile,usecols=(0,1,2,3))\n",
"fam = plink_reader.readFAM(bfile,usecols=(0,1))"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
".. window 0 - (22, 16025000-16075000) - 21 snps\n",
"Elapsed: 5.46386289597\n",
".. window 1 - (22, 16050000-16100000) - 23 snps\n",
"Elapsed: 5.34179997444\n",
".. window 2 - (22, 16125000-16175000) - 7 snps\n",
"Elapsed: 4.30499100685\n",
".. window 3 - (22, 16225000-16275000) - 9 snps\n",
"Elapsed: 5.6210091114\n",
".. window 4 - (22, 16250000-16300000) - 16 snps\n",
"Elapsed: 5.8319299221\n",
".. window 5 - (22, 16275000-16325000) - 12 snps\n",
"Elapsed: 5.72252416611\n",
".. window 6 - (22, 16325000-16375000) - 5 snps\n",
"Elapsed: 5.94124102592\n",
".. window 7 - (22, 16350000-16400000) - 5 snps\n",
"Elapsed: 4.80616307259\n",
".. window 8 - (22, 16475000-16525000) - 8 snps\n",
"Elapsed: 4.15918207169\n",
".. window 9 - (22, 16500000-16550000) - 7 snps\n",
"Elapsed: 4.45016479492\n"
]
}
],
"source": [
"n_wnds = 10 # only 10 windows are considered\n",
"LLR = sp.zeros(n_wnds) # vector with test statistics of the n_wnds regions\n",
"df = pd.DataFrame()\n",
"df0 = pd.DataFrame()\n",
"import time\n",
"\n",
"for wnd_i in range(n_wnds):\n",
" t0 = time.time()\n",
" wnd_pos = split.wnd_pos[wnd_i]\n",
" nSnps = split.nSnps[wnd_i]\n",
" idx_wnd_start = split.idx_wnd_start[wnd_i]\n",
" print '.. window %d - (%d, %d-%d) - %d snps' % (wnd_i, wnd_pos[0], wnd_pos[1], wnd_pos[2], nSnps)\n",
"\n",
" Xr = plink_reader.readBED(bfile, useMAFencoding=True, start = idx_wnd_start, nSNPs = nSnps, bim=bim , fam=fam)['snps']\n",
" xr = sp.dot(sp.rand(Xr.shape[0]), Xr)\n",
" idxs_u = sp.sort(sp.unique(xr, return_index=True)[1])\n",
" Xr = Xr[:,idxs_u]\n",
" Xr-= Xr.mean(0)\n",
" Xr/= Xr.std(0)\n",
" Xr/= sp.sqrt(Xr.shape[1])\n",
"\n",
" _df, _df0 = fit_iSet(Y, F=F, Xr=Xr, Ie=Ie, n_nulls=10)\n",
" df = df.append(_df)\n",
" df0 = df0.append(_df0)\n",
" print 'Elapsed:', time.time()-t0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The dataframe df contains log likelihood ratio scores for the different models, variance component attributable to persistent rescaling-GxC and heterogeneity-GxC and information about convergence."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Heterogeneity-GxC var | \n",
" Persistent Var | \n",
" Rescaling-GxC Var | \n",
" iSet LLR | \n",
" iSet-het LLR | \n",
" mtSet LLR | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" -0.025807 | \n",
" 0.059489 | \n",
" 1.620445e-02 | \n",
" 2.536120e-01 | \n",
" 1.431980e-01 | \n",
" 1.253018e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.017351 | \n",
" 0.051698 | \n",
" 8.162345e-03 | \n",
" 1.151319e-01 | \n",
" 9.235339e-02 | \n",
" 1.046717e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.000100 | \n",
" 0.000100 | \n",
" 4.437414e-11 | \n",
" 1.728208e-07 | \n",
" -4.211657e-09 | \n",
" -4.237307e-09 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.017640 | \n",
" 0.002922 | \n",
" 3.255356e-02 | \n",
" 5.018203e-01 | \n",
" 1.145868e-08 | \n",
" 5.018202e-01 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.003076 | \n",
" 0.001255 | \n",
" 4.877466e-03 | \n",
" 2.303760e-02 | \n",
" -1.327507e-09 | \n",
" 2.301929e-02 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.000100 | \n",
" 0.000100 | \n",
" 7.126069e-14 | \n",
" 7.600009e-07 | \n",
" 2.849561e-10 | \n",
" -2.643219e-12 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.013473 | \n",
" 0.013947 | \n",
" 1.353159e-02 | \n",
" 3.469951e-01 | \n",
" -2.905769e-04 | \n",
" 3.541518e-01 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.000100 | \n",
" 0.000100 | \n",
" 1.501852e-07 | \n",
" 4.185099e-07 | \n",
" -6.807419e-07 | \n",
" -6.841037e-07 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.001059 | \n",
" 0.050339 | \n",
" 7.098318e-04 | \n",
" 1.430663e+00 | \n",
" 5.423559e-01 | \n",
" 2.143354e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" -0.014258 | \n",
" 0.025472 | \n",
" 1.755192e-02 | \n",
" 9.496528e-01 | \n",
" 5.507864e-02 | \n",
" 9.827788e-01 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Heterogeneity-GxC var Persistent Var Rescaling-GxC Var iSet LLR \\\n",
"0 -0.025807 0.059489 1.620445e-02 2.536120e-01 \n",
"0 -0.017351 0.051698 8.162345e-03 1.151319e-01 \n",
"0 -0.000100 0.000100 4.437414e-11 1.728208e-07 \n",
"0 -0.017640 0.002922 3.255356e-02 5.018203e-01 \n",
"0 -0.003076 0.001255 4.877466e-03 2.303760e-02 \n",
"0 -0.000100 0.000100 7.126069e-14 7.600009e-07 \n",
"0 -0.013473 0.013947 1.353159e-02 3.469951e-01 \n",
"0 -0.000100 0.000100 1.501852e-07 4.185099e-07 \n",
"0 -0.001059 0.050339 7.098318e-04 1.430663e+00 \n",
"0 -0.014258 0.025472 1.755192e-02 9.496528e-01 \n",
"\n",
" iSet-het LLR mtSet LLR \n",
"0 1.431980e-01 1.253018e+00 \n",
"0 9.235339e-02 1.046717e+00 \n",
"0 -4.211657e-09 -4.237307e-09 \n",
"0 1.145868e-08 5.018202e-01 \n",
"0 -1.327507e-09 2.301929e-02 \n",
"0 2.849561e-10 -2.643219e-12 \n",
"0 -2.905769e-04 3.541518e-01 \n",
"0 -6.807419e-07 -6.841037e-07 \n",
"0 5.423559e-01 2.143354e+00 \n",
"0 5.507864e-02 9.827788e-01 "
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The dataframe df0 contains log likelihood ratios when data are from the null.\n",
"These are necessary to iSet to calculate P values."
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" iSet LLR0 | \n",
" iSet-het LLR0 | \n",
" mtSet LLR0 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 8.701465e-01 | \n",
" 4.699373e-09 | \n",
" 7.641269e-01 | \n",
"
\n",
" \n",
" 1 | \n",
" 1.326539e+00 | \n",
" 1.775959e-08 | \n",
" 7.268617e-01 | \n",
"
\n",
" \n",
" 2 | \n",
" 1.682668e-01 | \n",
" 4.048806e-08 | \n",
" 4.109243e-01 | \n",
"
\n",
" \n",
" 3 | \n",
" 6.993162e-01 | \n",
" 3.979626e-02 | \n",
" 6.094640e-02 | \n",
"
\n",
" \n",
" 4 | \n",
" 4.454416e-01 | \n",
" 9.676313e-09 | \n",
" 1.360218e+00 | \n",
"
\n",
" \n",
" 5 | \n",
" 3.325469e-01 | \n",
" 2.781690e-08 | \n",
" -2.262937e-10 | \n",
"
\n",
" \n",
" 6 | \n",
" 3.882787e-03 | \n",
" 3.794824e-08 | \n",
" -1.680718e-09 | \n",
"
\n",
" \n",
" 7 | \n",
" 1.536725e+00 | \n",
" 4.458499e-08 | \n",
" -1.468123e-09 | \n",
"
\n",
" \n",
" 8 | \n",
" 4.738676e-02 | \n",
" 1.543978e-08 | \n",
" -2.570744e-11 | \n",
"
\n",
" \n",
" 9 | \n",
" 1.615154e+00 | \n",
" 4.746059e-08 | \n",
" 1.436369e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" 2.896440e+00 | \n",
" -3.513286e-07 | \n",
" 7.101769e-01 | \n",
"
\n",
" \n",
" 1 | \n",
" 5.469898e-01 | \n",
" 1.827495e-08 | \n",
" -2.736243e-09 | \n",
"
\n",
" \n",
" 2 | \n",
" 6.700332e-02 | \n",
" 1.055858e-01 | \n",
" -1.757883e-11 | \n",
"
\n",
" \n",
" 3 | \n",
" 9.861550e-02 | \n",
" 3.519875e-08 | \n",
" -1.529388e-07 | \n",
"
\n",
" \n",
" 4 | \n",
" 6.305888e-01 | \n",
" 3.242017e-08 | \n",
" 4.032068e-01 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.184665e+00 | \n",
" -7.830135e-08 | \n",
" 9.479611e-01 | \n",
"
\n",
" \n",
" 6 | \n",
" 7.165629e-01 | \n",
" 1.139197e-02 | \n",
" -9.854688e-09 | \n",
"
\n",
" \n",
" 7 | \n",
" 5.446231e-02 | \n",
" 2.438270e-09 | \n",
" 1.109642e-01 | \n",
"
\n",
" \n",
" 8 | \n",
" 3.084690e-01 | \n",
" 5.544223e-08 | \n",
" -3.404310e-09 | \n",
"
\n",
" \n",
" 9 | \n",
" 8.050786e-02 | \n",
" 1.705288e-09 | \n",
" 1.399125e-02 | \n",
"
\n",
" \n",
" 0 | \n",
" 6.840853e-04 | \n",
" 5.868465e-01 | \n",
" 3.604761e-01 | \n",
"
\n",
" \n",
" 1 | \n",
" 9.845385e-08 | \n",
" 1.434927e-09 | \n",
" 1.186774e-02 | \n",
"
\n",
" \n",
" 2 | \n",
" 1.190925e-03 | \n",
" -2.374596e-07 | \n",
" -5.115908e-13 | \n",
"
\n",
" \n",
" 3 | \n",
" 2.072626e+00 | \n",
" 1.207957e-08 | \n",
" 1.874106e-03 | \n",
"
\n",
" \n",
" 4 | \n",
" 2.848547e-01 | \n",
" -2.602064e-09 | \n",
" 6.681083e-01 | \n",
"
\n",
" \n",
" 5 | \n",
" 5.402823e-01 | \n",
" -2.528708e-09 | \n",
" -6.086225e-10 | \n",
"
\n",
" \n",
" 6 | \n",
" 7.867916e-01 | \n",
" 3.331607e-09 | \n",
" 8.866508e-02 | \n",
"
\n",
" \n",
" 7 | \n",
" 3.144970e-02 | \n",
" 4.968342e-09 | \n",
" -6.268286e-08 | \n",
"
\n",
" \n",
" 8 | \n",
" 9.240636e-06 | \n",
" 6.960661e-09 | \n",
" -3.770140e-11 | \n",
"
\n",
" \n",
" 9 | \n",
" 1.408660e-06 | \n",
" 8.478040e-09 | \n",
" 5.024917e-01 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 0 | \n",
" 3.618376e-01 | \n",
" 1.625580e-10 | \n",
" -9.757457e-10 | \n",
"
\n",
" \n",
" 1 | \n",
" 1.296286e-02 | \n",
" -9.717652e-09 | \n",
" -3.811223e-09 | \n",
"
\n",
" \n",
" 2 | \n",
" 2.637526e-01 | \n",
" -8.319745e-10 | \n",
" 1.760752e-01 | \n",
"
\n",
" \n",
" 3 | \n",
" 5.198513e-01 | \n",
" 3.027425e-08 | \n",
" 8.526513e-14 | \n",
"
\n",
" \n",
" 4 | \n",
" 2.249842e-01 | \n",
" -1.295462e-09 | \n",
" -2.532204e-09 | \n",
"
\n",
" \n",
" 5 | \n",
" 3.049868e-06 | \n",
" -1.456584e-09 | \n",
" 7.744523e-01 | \n",
"
\n",
" \n",
" 6 | \n",
" 1.695221e-01 | \n",
" 8.543087e-08 | \n",
" 2.239574e-03 | \n",
"
\n",
" \n",
" 7 | \n",
" 7.297701e-01 | \n",
" 1.763445e-08 | \n",
" 1.270094e+00 | \n",
"
\n",
" \n",
" 8 | \n",
" 2.980555e-01 | \n",
" 7.361109e-09 | \n",
" 1.076726e-02 | \n",
"
\n",
" \n",
" 9 | \n",
" 6.107584e-01 | \n",
" 1.563791e-09 | \n",
" 5.718380e-01 | \n",
"
\n",
" \n",
" 0 | \n",
" 3.746989e-01 | \n",
" 8.190568e-10 | \n",
" -2.868344e-08 | \n",
"
\n",
" \n",
" 1 | \n",
" 2.557176e-04 | \n",
" -9.237351e-08 | \n",
" -3.477284e-07 | \n",
"
\n",
" \n",
" 2 | \n",
" 9.510620e-01 | \n",
" -7.084111e-11 | \n",
" 8.870894e-02 | \n",
"
\n",
" \n",
" 3 | \n",
" 7.999111e-02 | \n",
" 1.019976e-08 | \n",
" 4.138307e-01 | \n",
"
\n",
" \n",
" 4 | \n",
" 3.914442e-02 | \n",
" 1.043787e-08 | \n",
" -2.800391e-10 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.115584e+00 | \n",
" 1.265378e+00 | \n",
" 2.756960e-04 | \n",
"
\n",
" \n",
" 6 | \n",
" 6.104677e-02 | \n",
" 5.224194e-09 | \n",
" 1.050632e-01 | \n",
"
\n",
" \n",
" 7 | \n",
" 1.526689e+00 | \n",
" 6.251213e-10 | \n",
" 5.871766e-02 | \n",
"
\n",
" \n",
" 8 | \n",
" 4.908732e-05 | \n",
" -6.544099e-11 | \n",
" 1.440395e-01 | \n",
"
\n",
" \n",
" 9 | \n",
" 1.342923e-01 | \n",
" 6.910514e-08 | \n",
" 1.195091e+00 | \n",
"
\n",
" \n",
" 0 | \n",
" 2.524510e-01 | \n",
" 1.705915e+00 | \n",
" 7.643556e-03 | \n",
"
\n",
" \n",
" 1 | \n",
" 2.279359e-01 | \n",
" 2.201907e-08 | \n",
" 1.626311e+00 | \n",
"
\n",
" \n",
" 2 | \n",
" 2.878298e-01 | \n",
" 1.038200e+00 | \n",
" 1.202775e-01 | \n",
"
\n",
" \n",
" 3 | \n",
" 1.121573e-06 | \n",
" 3.969859e-09 | \n",
" 4.472819e-01 | \n",
"
\n",
" \n",
" 4 | \n",
" 1.029227e-01 | \n",
" -6.920686e-10 | \n",
" -2.700062e-13 | \n",
"
\n",
" \n",
" 5 | \n",
" 1.121706e-05 | \n",
" 1.542335e-07 | \n",
" 6.712342e-01 | \n",
"
\n",
" \n",
" 6 | \n",
" 1.083405e-01 | \n",
" 3.995524e-10 | \n",
" 6.778384e-02 | \n",
"
\n",
" \n",
" 7 | \n",
" 7.616543e-01 | \n",
" 1.344246e-08 | \n",
" 7.651055e-01 | \n",
"
\n",
" \n",
" 8 | \n",
" 2.134231e-02 | \n",
" 9.555620e-09 | \n",
" 3.038097e-01 | \n",
"
\n",
" \n",
" 9 | \n",
" 3.509122e-02 | \n",
" 3.415337e-09 | \n",
" 1.191820e+00 | \n",
"
\n",
" \n",
"
\n",
"
100 rows × 3 columns
\n",
"
"
],
"text/plain": [
" iSet LLR0 iSet-het LLR0 mtSet LLR0\n",
"0 8.701465e-01 4.699373e-09 7.641269e-01\n",
"1 1.326539e+00 1.775959e-08 7.268617e-01\n",
"2 1.682668e-01 4.048806e-08 4.109243e-01\n",
"3 6.993162e-01 3.979626e-02 6.094640e-02\n",
"4 4.454416e-01 9.676313e-09 1.360218e+00\n",
"5 3.325469e-01 2.781690e-08 -2.262937e-10\n",
"6 3.882787e-03 3.794824e-08 -1.680718e-09\n",
"7 1.536725e+00 4.458499e-08 -1.468123e-09\n",
"8 4.738676e-02 1.543978e-08 -2.570744e-11\n",
"9 1.615154e+00 4.746059e-08 1.436369e+00\n",
"0 2.896440e+00 -3.513286e-07 7.101769e-01\n",
"1 5.469898e-01 1.827495e-08 -2.736243e-09\n",
"2 6.700332e-02 1.055858e-01 -1.757883e-11\n",
"3 9.861550e-02 3.519875e-08 -1.529388e-07\n",
"4 6.305888e-01 3.242017e-08 4.032068e-01\n",
"5 1.184665e+00 -7.830135e-08 9.479611e-01\n",
"6 7.165629e-01 1.139197e-02 -9.854688e-09\n",
"7 5.446231e-02 2.438270e-09 1.109642e-01\n",
"8 3.084690e-01 5.544223e-08 -3.404310e-09\n",
"9 8.050786e-02 1.705288e-09 1.399125e-02\n",
"0 6.840853e-04 5.868465e-01 3.604761e-01\n",
"1 9.845385e-08 1.434927e-09 1.186774e-02\n",
"2 1.190925e-03 -2.374596e-07 -5.115908e-13\n",
"3 2.072626e+00 1.207957e-08 1.874106e-03\n",
"4 2.848547e-01 -2.602064e-09 6.681083e-01\n",
"5 5.402823e-01 -2.528708e-09 -6.086225e-10\n",
"6 7.867916e-01 3.331607e-09 8.866508e-02\n",
"7 3.144970e-02 4.968342e-09 -6.268286e-08\n",
"8 9.240636e-06 6.960661e-09 -3.770140e-11\n",
"9 1.408660e-06 8.478040e-09 5.024917e-01\n",
".. ... ... ...\n",
"0 3.618376e-01 1.625580e-10 -9.757457e-10\n",
"1 1.296286e-02 -9.717652e-09 -3.811223e-09\n",
"2 2.637526e-01 -8.319745e-10 1.760752e-01\n",
"3 5.198513e-01 3.027425e-08 8.526513e-14\n",
"4 2.249842e-01 -1.295462e-09 -2.532204e-09\n",
"5 3.049868e-06 -1.456584e-09 7.744523e-01\n",
"6 1.695221e-01 8.543087e-08 2.239574e-03\n",
"7 7.297701e-01 1.763445e-08 1.270094e+00\n",
"8 2.980555e-01 7.361109e-09 1.076726e-02\n",
"9 6.107584e-01 1.563791e-09 5.718380e-01\n",
"0 3.746989e-01 8.190568e-10 -2.868344e-08\n",
"1 2.557176e-04 -9.237351e-08 -3.477284e-07\n",
"2 9.510620e-01 -7.084111e-11 8.870894e-02\n",
"3 7.999111e-02 1.019976e-08 4.138307e-01\n",
"4 3.914442e-02 1.043787e-08 -2.800391e-10\n",
"5 1.115584e+00 1.265378e+00 2.756960e-04\n",
"6 6.104677e-02 5.224194e-09 1.050632e-01\n",
"7 1.526689e+00 6.251213e-10 5.871766e-02\n",
"8 4.908732e-05 -6.544099e-11 1.440395e-01\n",
"9 1.342923e-01 6.910514e-08 1.195091e+00\n",
"0 2.524510e-01 1.705915e+00 7.643556e-03\n",
"1 2.279359e-01 2.201907e-08 1.626311e+00\n",
"2 2.878298e-01 1.038200e+00 1.202775e-01\n",
"3 1.121573e-06 3.969859e-09 4.472819e-01\n",
"4 1.029227e-01 -6.920686e-10 -2.700062e-13\n",
"5 1.121706e-05 1.542335e-07 6.712342e-01\n",
"6 1.083405e-01 3.995524e-10 6.778384e-02\n",
"7 7.616543e-01 1.344246e-08 7.651055e-01\n",
"8 2.134231e-02 9.555620e-09 3.038097e-01\n",
"9 3.509122e-02 3.415337e-09 1.191820e+00\n",
"\n",
"[100 rows x 3 columns]"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Variance Component Plot"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhkAAAF2CAYAAADDUIqZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3X2cnHV97//XZ/YuIhBv0EQUCFQEtIAkAuGcnlMqAlXU\nokVxq9WjlCPqqW1af1q11hbbop4DKbQiKFXAm1RE5VZFAZG73IdAgCS7SfYmyWazu9ns/ezO7szn\n98c1GzeTnd2Z2Wvmmpl9Px+PfSRzzfe6rs/OzM585vv9fL+XuTsiIiIiYYtFHYCIiIhUJyUZIiIi\nUhRKMkRERKQolGSIiIhIUSjJEBERkaJQkiEiIiJFoSRDREREikJJhoiIiBSFkgwREREpCiUZIiIi\nUhQFJRlm9ikzazGzuJmtMbNzZ2l/oZltNLNRM2sys49M0+avzWybmY2YWbuZ3WBmDYXEJyIiItHL\nO8kwsyuB64EvA+cAzwIPmdlxWdovAR4AHgHOBm4EbjOzi6e0+TPguvQxTwc+Brwf+Jd84xMREZHy\nYPleIM3M1gBr3f2v0rcN2A3c5O5fn6b914C3u/tZU7atAha6+zvSt/8dON3dpyYe/w84z93/Z/6/\nloiIiEQtr54MM6sDlhH0SgDgQZbyMHBBlt2Wp++f6qGM9k8DyyaHXczsFOAdwIP5xCciIiLlozbP\n9scBNcD+jO37gdOy7LM4S/tjzazB3cfcfVV6uOXJdM9IDXCLu38tWyBm9krgUqAVGM3z9xAREZnP\nFgBLgIfc/UCxTpJvklEUZnYh8AXgGmAd8HrgJjPb5+7/nGW3S4EflCZCERGRqvRB4IfFOni+SUYP\nkAQWZWxfBHRm2aczS/sBdx9L374W+J67fzd9+wUzOxq4FciWZLQCfP/73+eMM87I+ReQuVmxYgUr\nV66MOox5RY956ekxLz095qW1detWPvShD0H6s7RY8koy3H3czDYCFwH3waHCz4uAm7Lsthp4e8a2\nS9LbJx0FTGS0SU0e36evTh0FOOOMM1i6dGk+v4bMwcKFC/V4l5ge89LTY156eswjU9Ryg0KGS24A\nbk8nG+uAFQRJwu0AZnYdcLy7T66FcQvwqfQsk+8QJCRXEBR2TrofWGFmzwJrgVMJejfuy5JgiIiI\nSJnLO8lw97vSRZrXEgx7bAYudffudJPFwAlT2rea2WXASuDTwB7gKnefOuPkKwQ9F18BXgt0E/SU\n/H3ev5GIiIiUhYIKP939ZuDmLPd9dJptjxNMfc12vMkE4yuFxCMiIiLlR9cukbw0NjZGHcK8o8e8\n9PSYl54e8+qU94qf5cLMlgIbN27cqGIhERGRPGzatIlly5YBLHP3TcU6j3oyREREpCiUZIiIiEhR\nKMkQERGRolCSISIiIkWhJENERESKQkmGiIiIFIWSDBERESkKJRkiIiJSFEoyppMchYGirU0iIiIy\nLyjJmE7r52DPMhjeGnUkIiIiFUtJxnSSfcEjs/sLUUciIiJSsZRkzGTs55BKRR2FiIhIRVKSMZOG\nBHSvijoKERGRiqQkYyYO7P9a1FGIiIhUJCUZMzGgZguMD0QdiYiISMVRkjGbGmD3P0YdhYiISMVR\nkjEbBwbujDoKERGRiqMkYzYGNByAgQ1RRyIiIlJRlGTkas8Xo45ARESkoijJyNXEo1ozQ0REJA9K\nMnJhQP0EdN4adSQiIiIVQ0lGrhzoXhl1FCIiIhVDSUauDKhrhkRX1JGIiIhUBCUZ+YgBbX8fdRQi\nIiIVQUlGPhwY/lHUUYiIiFQEJRn5MGDBAPQ9FnUkIiIiZa+gJMPMPmVmLWYWN7M1ZnbuLO0vNLON\nZjZqZk1m9pGM+39jZqlpfu4vJL6icmDvl6OOQkREpOzlnWSY2ZXA9cCXgXOAZ4GHzOy4LO2XAA8A\njwBnAzcCt5nZxVOavQdYPOXn94EkcFe+8RWdAaknITURdSQiIiJlrZCejBXAre5+p7tvA64BRoCP\nZWn/CWCXu3/W3be7+zeAu9PHAcDd+9y9a/IHuAQYTrcrP3Up2KvprCIiIjPJK8kwszpgGUGvBADu\n7sDDwAVZdluevn+qh2ZoD0HCssrd4/nEVzIO9H4j6ihERETKWr49GccRXPx8f8b2/QTDHNNZnKX9\nsWbWkNnYzM4D3gTclmdspWNAXRuMtkcdiYiISNmqjTqAaVwFbHH3jbk0XrFiBQsXLjxsW2NjI42N\njcWI7XcMaP8CvOH7xT2PiIjIHKxatYpVq1Ydtq2/v78k5843yeghKMhclLF9EdCZZZ/OLO0H3H1s\n6kYzOwq4Esh5xauVK1eydOnSXJuHK/6zaM4rIiKSo+m+eG/atIlly5YV/dx5DZe4+ziwEbhocpuZ\nWfr201l2Wz21fdol6e2Z3g/UAz/IJ65IGNAwAj0PRB2JiIhIWSpkdskNwNVm9mEzOx24BTgKuB3A\nzK4zszumtL8FOMXMvmZmp5nZJ4Er0sfJdBVwj7sfLCCu0nNg31eijkJERKQs5V2T4e53pdfEuJZg\n2GMzcKm7d6ebLAZOmNK+1cwuA1YCnwb2AFe5+2EzTszsDcB/A6aun1HeDLD1kByFmgVRRyMiIlJW\nCir8dPebgZuz3PfRabY9TjD1daZjNhHMXKkstQ57vgon/WPUkYiIiJQVXbtkrhw4+O2ooxARESk7\nSjLmyoCGDhjeHnUkIiIiZUVJRlh2fyHqCERERMqKkoywjD0YdQQiIiJlRUlGGAxoGIOuH0UdiYiI\nSNlQkhEWBzqvizoKERGRsqEkIywG1DwLE0NRRyIiIlIWlGSEqQZo/6eooxARESkLSjLC5MDA7VFH\nISIiUhaUZITJgIYeGNwcdSQiIiKRU5JRDFozQ0RERElGUUw8DKlU1FGIiIhESklG2AyoH4f934k6\nEhERkUgpySgGB7qvjzoKERGRSCnJKAYDarZBoifqSERERCKjJKNYaoD2f4g6ChERkcgoySgWB4ZW\nRR2FiIhIZJRkFIsBDX3Q/1TUkYiIiERCSUax7flS1BGIiIhEQklGMRmQehxSE1FHIiIiUnJKMoqt\nLgkdN0UdhYiISMkpySg2Bw78R9RRiIiIlJySjGIzoK4FxvZEHYmIiEhJKckoBQPavhh1FCIiIiWl\nJKNU4j+JOgIREZGSUpJRCgY0DEPvL6KOREREpGSUZJSKAx3XRh2FiIhIySjJKBUDWAvJRNSRiIiI\nlERBSYaZfcrMWswsbmZrzOzcWdpfaGYbzWzUzJrM7CPTtFloZt8ws450u21m9seFxFe2ah32fDXq\nKEREREoi7yTDzK4Erge+DJwDPAs8ZGbHZWm/BHgAeAQ4G7gRuM3MLp7Spg54GDgReC/wBuBqYG++\n8ZU1Bw5+K+ooRERESqK2gH1WALe6+50AZnYNcBnwMeDr07T/BLDL3T+bvr3dzP4gfZxfp7ddBbwM\nWO7uyfS29gJiK28GNOyFkZ1w1O9FHY2IiEhR5dWTke5xWEbQKwGAuztBL8QFWXZbnr5/qocy2r8L\nWA3cbGadZrbFzD5vZtVZM9L+d1FHICIiUnT5fogfB9QA+zO27wcWZ9lncZb2x5pZQ/r2KcD70vG8\nHbgW+FugOlewGnsg6ghERESKrpDhkmKIESQe/zvdM/KMmb0O+AzwlZl2XLFiBQsXLjxsW2NjI42N\njcWKdW4MaBiF7p/Aq/406mhERKTKrVq1ilWrVh22rb+/vyTnzjfJ6AGSwKKM7YuAziz7dGZpP+Du\nY+nb+4BEOsGYtBVYbGa17p71WukrV65k6dKlucafk4lkkloL9ZCHc6DrZiUZIiJSdNN98d60aRPL\nli0r+rnzGi5x93FgI3DR5DYzs/Ttp7Pstnpq+7RL0tsnPQW8PqPNacC+mRKMYukd8tkbzdXE6tnb\niIiIVLBCCitvAK42sw+b2enALcBRwO0AZnadmd0xpf0twClm9jUzO83MPglckT7OpG8CrzCzm8zs\nVDO7DPg8EMk10uP1pxT3BAY0xGFwc3HPIyIiEqG8azLc/a70mhjXEgx7bAYudffudJPFwAlT2rem\nk4aVwKeBPcBV7v7wlDZ7zOzSdJtnCdbHWMn0U2KrgwP7VsIxd8zaVEREpBIVVPjp7jcDN2e576PT\nbHucYOrrTMdcC/y3QuKpWCO/jDoCERGRoqnOdSgqgQH1XZDojToSERGRolCSEaUYsO+mqKMQEREp\nCiUZUXKg/0dRRyEiIlIUSjKiZEBsO6RSUUciIiISOiUZUat16P5h1FGIiIiETklG1BzouS3qKERE\nREKnJKMcTKyNOgIREZHQKcmI2uQF0wY2RB2JiIhIqJRklIPJ1T9FRESqiJKMchH/VdQRiIiIhEpJ\nRjkwoL4HEl1RRyIiIhIaJRnlIgZ0/FvUUYiIiIRGSUa5cGDgJ1FHISIiEholGeXCgFgzpCaijkRE\nRCQUSjLKSa3D/u9FHYWIiEgolGSUEwcOfCfqKEREREKhJKOcGJBaH3UUIiIioVCSUW7qx6B/ddRR\niIiIzJmSjHLjQOeNUUchIiIyZ0oyylH84agjEBERmTMlGeXGgIYDMNYRdSQiIiJzoiSjHBla/VNE\nRCqekoxy5MDAT6OOQkREZE6UZJQjA2p2QTIRdSQiIiIFU5JRrmod9t8edRQiIiIFU5JRrhzovT3q\nKERERAqmJKNcGZDaGHUUIiIiBSsoyTCzT5lZi5nFzWyNmZ07S/sLzWyjmY2aWZOZfSTj/o+YWcrM\nkul/U2Y2UkhsVaU+AX1PRh2FiIhIQfJOMszsSuB64MvAOcCzwENmdlyW9kuAB4BHgLOBG4HbzOzi\njKb9wOIpPyflG1vVcaBTU1lFROadVAqe/+/Qfl3UkcxJIT0ZK4Bb3f1Od98GXAOMAB/L0v4TwC53\n/6y7b3f3bwB3p48zlbt7t7t3pX+6C4it+ow+GnUEIiJSam1/B7VPw+AX4GDlfg7klWSYWR2wjKBX\nAggyA+Bh4IIsuy1P3z/VQ9O0P9rMWs2s3czuMbM35hNbVTKg4SCM7Yk6EhERKZVEDwxdH/Rmx4D2\ny2B8IOqoCpJvT8ZxQA2wP2P7foIhjuksztL+WDNrSN/eTtAT8m7gg+m4njaz4/OMr/oYsPeGqKMQ\nEZFSab4CalPB+78B9aOw9X9EHVVBymJ2ibuvcffvu/tz7v4E8F6gG/h4xKFFz4HBe6KOQkRESqHv\nSbDfBsnFJAPqn4OWz0YVVcFq82zfAySBRRnbFwGdWfbpzNJ+wN3HptvB3SfM7Bng9bMFtGLFChYu\nXHjYtsbGRhobG2fbNasULy1439AZUNsSrP5ZUx91NCIiUkyt74eG3910BzOCL5wj/xf63gEvuzCv\nQ65atYpVq1Ydtq2/v3/OoeYiryTD3cfNbCNwEXAfgJlZ+vZNWXZbDbw9Y9sl6e3TMrMYcCbw4Gwx\nrVy5kqVLl84efB4OJt+KdZ3Eice1E4t5qMcuSA3QeRu89pNRRyIiIsWy++uwYB8QJBfuRszSn0FG\nMPbQ9g44ugtqj875sNN98d60aRPLli0LKfDsChkuuQG42sw+bGanA7cARwG3A5jZdWZ2x5T2twCn\nmNnXzOw0M/skcEX6OKT3+ZKZXWxmJ5vZOcAPgBOB2wr6reaslrueupLB+DGkUjZ782JzoPeOWZuJ\niEiFSo7Awb8P3u/Tfrnpj6cZNolXVH1G3kmGu98FfAa4FngGOAu4dMqU08XACVPatwKXAW8DNhNM\nXb3K3afOOHk58C3gRYLei6OBC9JTZCMRTxzFD5/4IMlUDR51Z4YB/kzEQYiISNE0/xnUjYMFvRhr\nms5nw663kJrI+KJrQN1maPl8JGHmq6DCT3e/2d2XuPtL3P0Cd98w5b6PuvtbM9o/7u7L0u1Pdffv\nZdz/N+5+cvr+4939Xe7+XGG/Uni6+hfx0zV/GoyHRa1+vKLnSouISBZDz0Py3kMJxmhiAY89/0e4\n13DgwCuP/KLrwMhXK2JF6LKYXVLOtu09g8ee/8OowwheVPv/PeooREQkbDsvP/RpbAY/3/QOEhML\nAGje93qO+J57qD7jUpgYKmGg+VOSkYPfvvCHbNtzWvT1GWO/ifb8IiISrn23QcPOQ70Yu7tfx/Pt\nZx66e+Put3BklkG6PmMEtpbBl+AZKMnISYyfrX0vBwZfSTIV0UNmQH0/xNuiOb+IiIQrNQFdnz6s\n2PP+je9ialbRO3Ic4yNZJoIaULcJWr9Y1DDnQklGjhITDfzwiT9jfKIuuh4NAzquj+bcIiISrp1/\nAQ3xKcWey+nuz1xWCrq6Xp19AoIDw/8K/U8VNdRCKcnIQ9/wK7jrqSun77oqBQeG7ovo5CIiEpp4\nG4zdCT612PPCaZtu23da9gkIk/UZrZcE02DLjJKMPLV0ncJDz1wazckNqG2D5Gg05xcRkXDsuBxq\nHOzIYs9Mz+xdCqkZjjVZn/Fi+dVnKMkowLrm83mm5c2kPIIujRpg362lP6+IiISj+2dQu3lKsedr\nDyv2zDScPIaxvrrDajeOYEDdBmj7h9DDnQslGQUxHtzwTvb1vqb09RkOHPzerM1ERKQMpVLQ8dHD\nNt2/8d3MNg6/r+v4GXMMID2k/hXoXzuXCEOlJKNAyVQt//VkIyOJo0qbaBjgz5bufCIiEp7Wz0BD\n/6zFnple7Hjj7AtDHqrPuKhs6jOUZMzB0OgxrHqiEcdKu/R4/QT0/qKEJxQRkTlL9MDwjTkVe2ba\n2nsG5FKOZ0D9MGx966xNS0FJxhx19L6O+9a/u7RLjzuw/xslPKGIiMxZ83uhNpVTsWemoeSxjB2s\nn7kAdJIBtWuh7Z/mFG4YlGSE4LnWN7N6+/LS9maMPV7Ck4mIyJz0PQb2RM7FntPZvf91uX9qOzD0\njzCwPs9Aw6UkIyS/fvZiWrpOLk19hgENgzCys/jnEhGRuWv9wGG1nbkUe2Z6sfONeC49GfC7+oyW\nt0a67IGSjJC41/Djp9/HQPzY0iUaWv1TRKT8tf8LLNifd7FnptaRU7BBZp7KOpUB9UOR1mcoyQjR\naOIofvj4B0mmaoo/dJIChu8v8klERGROJoag7x+DxCDPYs9MB8dfzlhffX47GVC7Okh0IqAkI2Td\nA6/m7tVXFL8QNAbU7imbaUoiIjKN5g9A3UTwYZ9nseeRjNbOE/O/tIUDA1+CgQ0FnrdwSjKKoKnj\ndB7d8kfFP1EN0PHN4p9HRETyN7gZ/MFDwyR7Cij2zLTj4Gn4WJ47GcES5rtKX5+hJKNInnjxf/Li\n7jOKW5/hQN8Pind8EREp3K73HtbrcF8BxZ6Z2uInYv3kNpV1qskJA1svmtP586Uko2iMe9ZdTs/g\ncSSLlWgYwHPBMrUiIlI+Om6FhpY5F3tm6k68ikRfbWGf3gbUPA3tX51zHLlSklFE4xMNrHriz0hM\nNBSvR6MuCb0/L86xRUQkf8kEdP91KMWeR4rR0rUk96ms0xn4AgxtDSmemSnJKLK+4ZfzoyevnGsP\nWXYOdGn1TxGRsrHzY9AwGlKx55Fah0+BIXKfyjrVZH3G3o+HFs9MlGSUQFv3yfxy09uLd4LEk8U7\ntoiI5C7eAuM/OHR9kj09cy/2zNQePwkbmMMBJq9vUgJKMkpk/Y5z2bTrHFIecpeGAQ1DMLw93OOK\niEj+mv8k+GRNv9Xft2HuxZ6Z9o0tZryvpng95CFSklEyxs83XkZH7/HhF4Jq9U8Rkeh13Y3XbZlS\n7Hl+KMWemZwa2vtOxBOhHzp0SjJKKJmq5b+e/ACpVE24B3Zg5MFwjykiIrlLpWDfx4LOhUPFnsVb\nL6lt5GQoZCpriSnJKLHh0WN4tvVskqkQH3oD6jqC5WtFRKT0WlYE61AUqdgzU1v8xKAuo8w/xcs8\nvOq0bsd51MRCTj9jQMd/hHtMERGZXaILRv6jqMWemfaOvZbkgBU2w6SElGREoLt/Ea1dJ4W7doYD\nfavCO56IiOSm6T1Qm/pdsef6P6HYVZlJr6Nj5HX4MGWdaBSUZJjZp8ysxcziZrbGzM6dpf2FZrbR\nzEbNrMnMPjJD2w+YWcrMflpIbJVibdP5xGIhvjIMsOe1+qeISCkdfBSvefrwYs+BV5fk1C3xJXhf\neU8xyTvJMLMrgeuBLwPnAM8CD5nZcVnaLwEeAB4BzgZuBG4zs4uztP2/wOP5xlVptnecxmD86HAP\nWpeCAz8L95giIpJd2wdKVuyZqT1+ErFBL+uprIX0ZKwAbnX3O919G3ANMAJ8LEv7TwC73P2z7r7d\n3b8B3J0+ziFmFgO+D/wD0FJAXBXFvYZ1zeeHu26GA923hnc8ERHJru1aWNA9pdjzsqIWe2baHT+B\n1AgwXrJT5i2vJMPM6oBlBL0SALi7Aw8DF2TZbXn6/qkemqb9l4H97v7dfGKqZJt2LcXDXpxr/Klw\njyciIkcaH4D+r0wp9jye59t/v6QhJLyBrsTisp7Kmm9PxnFADbA/Y/t+YHGWfRZnaX+smTUAmNkf\nAB8F/iLPeCrayNhL2dJ2ZnjTWQ2oH4HhF8I5noiITK/5A1A3MaXY83KiGLdoGTmZ1ICV7TSO2qgD\nMLOjgTuBq939YL77r1ixgoULFx62rbGxkcbGxpAiLK51zefx5pOfDfegHdfDqd8J95giIhIY2ITz\nCyyCYs9MbfGTuGBwdTBcniXHWfVg8DNV/2DRQwPyTzJ6gCSQuU7qIqAzyz6dWdoPuPuYmZ0OnATc\nb2aTD1EMwMwSwGnunrVGY+XKlSxdujS/36KM7Dv4WvYeOJ7XvHxfeLNNhn8RznFERORILe/F6kkX\nezaUtNgzU3v8xOBTeQQ4imkTjcbLgp+pNr0Ay64ofnx5dbC4+ziwEbhocls6MbgIeDrLbquntk+7\nJL0dYBtwJvBmgtknZwP3AY+m/787nxgr0drm5eElGAbUd8J4XzjHExGR39l7MzS0TSn2fGdJiz0z\nxVNH0ZN4ZVCXUYYKGcW5AbjazD6c7oW4hSB/uh3AzK4zszumtL8FOMXMvmZmp5nZJ4Er0sfB3cfc\n/cWpP0AfMOjuW919ovBfrzK8uPuNjIy9JLwDxoB9Wv1TRCRUyQT0/M2hYs+9ERR7Tqdl5GSS/VaW\nU1nzTjLc/S7gM8C1wDPAWcCl7t6dbrIYOGFK+1bgMuBtwGaCqatXuXvmjJN5K5mqZf2Oc8NbATQF\n9P1XOMcSEZHAjv8FDWOHPszvjajYM1Nb/CRq4g5l+JW8oMJPd78ZuDnLfR+dZtvjBFNfcz3+Eceo\ndht3voX/ccYT4RwsBtjWYPXPWJmWHIuIVJKRZnxiFRYLaizXbI+u2DNTe/yk4D8DwMsph7znEH0C\nlYnB+LFs3XMGybB6M+pS0PPjcI4lIjLf7bgcS39ijiUaeOyFt0YbzxSDyWPpHz82SDLKKMEAJRll\nZV3z+dSEVQDqQPe3wjmWiMh81vUjqHvxULHng5veSWKiIeqoDrMrfgqp/vK7KquSjDLS3nMiXf2v\nIhXWi2Ri9extREQku1QKOq4GyqvYM1N7/CRswiFOWSUaSjLKirGmaXk4vV0GNMRhcHMYRxMRmZ9a\n/hIWDJZdsWemtviJmFF2U1mVZJSZLW1nMhZWN5wD+1aGcywRkflmrBOPf/PQlNUoV/aczcHxVzCc\nPKrs6jKUZJSZiWQ9m3YuC28668gvwzmOiMh80/werCYYexhLNPDY8+VT7HkkC65jMmTBCqBlQklG\nGVq/4y2YhTCoZkB9FyR6534sEZH5pPfXULOmrIs9M7XFT8LwoDejTOoylGSUob7hV9C879RwprPG\ngH03zf04IiLzSfufBf867O0uz2LPTO3xk8quLkNJRpla2xTSdFYH+u+a+3FEROaLtn+EBT2QnhF6\n74byLPbM1JV4FWPJBhikbMJVklGmdu0/hd6hl+NzzTMMiG0LpmGJiMjMxgfw/n8+VOy5toyLPY8U\nozV+EqmEBVNZy4CSjLIVY23T8nAOVevQ/cNwjiUiUs2a34fVBZWTY4kGflPWxZ5HaosvCf7TT1nU\nZSjJKGObW85mIlnQ5WUO50DPbXM/jlSXsQ7Y829RRyFSPgbWA7+qqGLPTG3xE4mZl81UViUZZSwx\nsYBnWs4JpwB0Yu3cjyHVI5WCbefC4AoYbY86GpHysOuK4IO5goo9M3WOvYbxVC0MUxZTWZVklLn1\nzefNvQDUgIZRGNgQSkxSBVr+Gho6gtdGz91RRyMSvb3/DgvaK67YM1OKGnaPnoCnLCgAjXjIRElG\nmesZfBUt+5fMfXEurf4pkwY3w+i/B68JBwYejjoikWglR/Gez0wp9jyvgoo9j9Q6siTILcpgKquS\njAqwtmk5sTCms8Z/NfdjSGVLpWDnxcFf/mTemnguyohEorfjw1h9Apgs9rwo4oDmpn30pKAuowym\nsirJqABN+97AwMgxc5vOakB9DyR6wgpLKtHOvzg0/x8I/q3pjDIikWgNb8cnfjyl2POyiiv2zLR3\n9LUkPQYJYDTaWJRkVAD3GGubz8fnmpLGgA4Nmcxb/U9B4rtHjtHWJWF4eyQhiURu5+VYjHSx52t4\nvv3MqCOaswmvo2P0+N8NmURYl6Eko0I8s2spqdQcny4HBlTkNy+lJqDlnYcPk0x1QK8LmYf2/wDq\ntk0p9nwPkY8vhKQ1fjIpj0U+lVVJRoWIJ45iS9uZJOeSaBgQaw4+cGR+af4QLOib/s3GgcHflDoi\nkWilUtD5caA6ij0ztcVPosZSMAREuOCzkowKsm7HedTE5vhqqXXY/71wApLKcPARSP5o5jbjz5cm\nFpFysetT0DAMVEexZ6bdo68j5ekumginsirJqCCdB49nz4HXzm06qwMHvhNaTFLmkglou3zm7lID\nartKFZFI9MY68NFbg/fDKin2zJRILaArsSi4MRBdHEoyKsya7XOczmpAan1o8UiZa/pTaBiafUy2\n1oP1M0Tmg6bLsZrgfbSjSoo9p9MysiSYZdJPZHUZSjIqzNa9ZzA8etTcDlI/Bv2rwwlIylfPfeAP\n5P7mcuAnRQ1HpCz0/gJq1x8q9rynioo9Mx2qy0gAY9HEoCSjwqRStazfcW4w1lYoBzpvDC0mKUPJ\nEdj7gdyJzZ5JAAAgAElEQVTfOx0YfryYEYlEL5WC9g8BQbHnuior9szUHj/xdzf6iaQAVElGBdq4\n8y1zL+KJaynpqrbtXVAfz+8L2vgLRQtHpCy0fwkW9AJBseejVVbsmSmeeikHEq8MbgwQySe+kowK\nNDR6DC/ueWPh01kNaDgAY1rpsSp1/Qhij+aXYBhQ1xt80xOpRuN9+MBXg/8bPLCx8i7jXoiWkZOD\nuoxB1JMhuVvbdP7cprMa0HFDaPFImRgfgM4PF7ZvjcPg2nDjESkXTe/D6oP3zL3dr+GF3ZV3GfdC\nHKrLcII1M0o8lbWgJMPMPmVmLWYWN7M1ZnbuLO0vNLONZjZqZk1m9pGM+99jZuvN7KCZDZnZM2b2\noUJimy/2HDiB/X2vJlXoC8aBgZ+GGZKUg+1/DHWJwuvYDug1IVWofy1YMETsXl0re86mbXRKXUYE\nU1nzTjLM7ErgeuDLwDnAs8BDZnZclvZLgAeAR4CzgRuB28zs4inNDgD/DCwHzgS+C3w3o40cxljT\ntLzwPxMDanYF6yhIddj3n1CzuvD3TgdGngwzIpHy0HLFoU+7dU3nVnWxZ6bBiYX0Txwb3IhgifFC\nejJWALe6+53uvg24BhgBPpal/SeAXe7+WXff7u7fAO5OHwcAd3/c3e9N39/i7jcBzwF/UEB888bz\n7WcyNj6HMcVah/23hxaPRCjRA93XzP04yW1zP4ZIOdlzAyzYA8DoWAOPPv+2iAMqvZaR9HVMRgmm\ns5ZQXkmGmdUBywh6JQBwdwceBi7Istvy9P1TPTRDe8zsIuANwG/ziW++mUjWsXHnWwpfAdSB3tvD\nDEmisv1iqJuY27cUA2r7VPwp1SM5ih/4u0M350uxZ6a2+EnYZNVniaey5tuTcRxQA+zP2L4fWJxl\nn8VZ2h9rZoeebTM71swGzSwB3A/8pbs/mmd88876HW/BrMDCDANSG0ONRyKw50ao3RxON2gN0K+L\npUmVaP4Q1jAOBCt7zpdiz0zt8ZOwyfeHEk9lrS3dqWY1SFCzcTRwEbDSzHa5+4wrBK1YsYKFCxce\ntq2xsZHGxsaiBVpO+kdeTlPHG3j9a5qpKWS58foE9D0JL9PIVEUa64CDfxvuX3LvvfDy6l4/QOaB\n4a2Q/AnUBMWe1byy52x+u2kvv7y7hhpLBhsWQv9gac6d71tTD5AEFmVsXwRkW3ShM0v7AXc/tNBp\nethlV/rmc2b2RuDzwIxJxsqVK1m6dGlu0Veptc3nc9prmwrb2YHOf1OSUam2XwR1yfDeO1PAyNMh\nHUwkQjsvh/rgv/Ot2DPTmWeexZ9evI03Hr2NmKXgVNjUDsuuKP658+o0cfdxYCNBTwMAZmbp29ne\nmVZPbZ92SXr7bLHNv8GzArTsP4UDg6/AC53OOqpRqYrU/i9Qvy3cL2cGJAtMWEXKReedUBe8jkfH\n6udlsWem9viS39VllHAqayEjMzcAV5vZh83sdOAW4CjgdgAzu87M7pjS/hbgFDP7mpmdZmafBK5I\nH4f0Pn9nZm8zs5PN7HQz+1vgQ8D3Cvu15htjbdPyQneFhoMwtifUiKTI4m0w8A/hL6xjQP2gpjZL\n5UpN4J3XHEq+52uxZ6a2+ImH12WUSN5JhrvfBXwGuBZ4BjgLuNTdu9NNFgMnTGnfClwGvA3YTDB1\n9Sp3nzrj5KXAN4DngSeB9wAfdPfv5hvffPVs69mMJ+sK29mAvVr9s6I0/RHUpIozxBwDDv6yCAcW\nKYGdn8AWxAHo6HkNL+yuzsu456sr8WrGUunxozgwUZrzFlRj6u43u/sSd3+Ju1/g7hum3PdRd39r\nRvvH3X1Zuv2p7v69jPu/5O6nuftL3f04d/8Dd7+7sF9pfkpMNPDMrnNIFjKd1YHBe0KPSYqk9QvQ\n0FLcGraDDxTx4CJFMtoOY7cBQbHnz9bP32LPI8VoGznpd1fw7i/VWaVqrN9xXmEzTAyobVEXeSUY\n3g5DXy3u9QdSQHxNEU8gUiTN7z00nWFd07n0zONiz+m0xpf87kZ31mahUpJRRQ4MHsfOzpMLW5yr\nBui8LfSYJGTNFwUXMivml7MY4DuLeAKRIuh5AGqDdX/GVOw5rfb4ScQKXVepQEoyqsy65uXECunN\ncKD3jlmbSYR2/hUs2Fua3t+6EUiOlOBEIiFIpfA9f37ob+N+FXtOa9/YaxhPlXZ5LCUZVaZ536n0\nDx+b/3RWA/yZYoQkYRjcDKM3le4yzTHgwP0lOtk8MtYZXEtDwtX2eWxBHwAdPYtV7JlFihr2jJ5Q\n0qu9K8moMu4x1jafjxfydbd+HA5qzYyyk0rBzkuCv9ZS1bA50PfzEp1sHml6Jwz+LcRboo6keiR6\n8cGvA5PFnu9FxZ7ZtcaX4F66x0dJRhV6puUcUqkCnloH9v976PHIHO3837Cgu7Tvmw6Mri/hCeeB\nsQ6IbQyex+4fRh1N9Wi+AkvPzFyvYs9ZtcVPLGldhpKMKjSaOIrnWs8iWUiiMaqLY5WV/tWQ+M/S\nDZNMigGub9uhavmr9OMKDGZemFoK0v8UWPCeNTZWzyMq9pzV3tHXkfTSffQryahS63acT00sz+v5\nGtDQH6wmKdFLpaD1HaUdJpmqfhTG+yI4cRVKTUBiylo0489FF0sV8ZYrDn2KaWXP3Ex4HfvGji/Z\n+ZRkVKn9fYtp735d/tNZDei4vigxSZ6aPwgNfdENLxtw4N6ITl5ldl8L9RPBY2pAXW+QeEjhdv9f\nbEFwXc59PYt5XsWeOWsZWVKycynJqGJrC5nO6sDQfUWJR/Jw8FFI/le0MTjQ/4toY6gWBzNmBtUA\nB38VVTSVLzmC9/4dEBR7/lTFnnlpi59UsnMpyahi2/acwdDoS/PbyYDaNkiOFiUmyUEyAe1/Uh7v\nmaMbo46g8nXdDQv6D38+Hej9aVQRVb7mD2INwXDw+qa3qNgzT7tHTyBVojovJRlVLOU1rG8+L/8h\nkxpg361FiUly0PQ+qB+KPskwwNojDqIK7PvCkYW7DsSfjiKayjf8AiSD+pag2PPiiAOqPInUAg5O\nvKIk51KSUeU27lqa/5oZDhz83qzNpAh6HgC/L/oEY1JdAhJdUUdRuYZfgLrmI59PLd1eMN/xJ8EX\nIVTsORebB84uyXmUZFS54dFjeGH3m/KbzmqAP1u0mCSL5CjsfX/5JBgQxNLzk6ijqFytn87+fNYn\nghVAJXf7vos1BMnZvp5FKvacgx3Dp5bkPEoy5oF1zeflP521fgJ6HypOQDK9be+C+nh5JRkODPw6\n6igq0/gA+G+yP58GdEdc3FtJUhP4/o8Dk8Wef0p5/bHIdJRkzAN7D7yOfQcX51fo48D+/yhWSJKp\n60cQe7g83zPHdE2bgrR+Bmpn+KNzYOCXJQun4u3839iCcQA2qNizYijJmBeMtU3LieX7ATb226JE\nIxkmhqDzw1FHMT0DbE/UUVSeVApG7px9pdbE5pKEU/FG22Hsu0BQ7Pmwij0rhpKMeeL59jcRTyzI\nfQcDGgZhRMVpRbft0qDAshx7MSAYOhtTopGXfd+AhrGZn1MDaruChERm5E3vhvQVyh/YeJmKPSuI\nkox5IpmqY8OOt+Q3nVWrfxbfvv+EmqfLN8GY1H1X1BFUlu5/ze16M7UOA08WPZyK1n0vVh8Uonf2\nLOL53WdFHJDkQ0nGPLJh51uwfK6+58Dw/UWLZ95L9EL3NVFHMTsHBh6JOorK0fcYNHTmnjge+HEx\no6lsqRS++4OHbv5ExZ4VR0nGPDIw8jK27T099+msBtTugeRIUeOat7ZfDHUTlfGemdAFvXK2e0Xu\nbVPA8BNFC6XitX4OO2oYgPXbl6nYswIpyZhn1jXneXXWGqDjm0WLZ97a++9Qu6kyEgwDavZFHUVl\nGNsDNZtzf15jgDcVM6LKleiBof8HTBZ7XhJxQFIIJRnzTGvXEnoGXonnOmriQN8PihnS/DPWCb15\nfNstB3VJGGmOOory1zLD4lvZ1MdhvK8o4VQyb3ov1Af/18qelUtJxrxjrGlank9z4DlVwIdp+0VQ\nm6yMXoypelT8OaNkAsYLuIKxocLaTH2PYzXBMJJW9qxsSjLmoefaziIxUZ/7DnVJ6P158QKaT9qv\ng/oXKy/BcGDwsaijKG/tXw7+VvJ9bh0Y0N/XVL7rvYceR63sWdmUZMxD4xMNPLPrnNynszrQdXNR\nY5oX4m3Q//e5TW0sR+PPRx1BeRv4RuHP7djGUEOpaO1fxY46AKjYsxooyZin1u84j1gsj3fEhCrg\n56zpIqhNVeaXMgNq90cdRfnavypYvK6Q59aAWEfYEVWmiSHo/TwAY2N1KvasAkoy5qneoVeys/MU\nkrn0ZhjQMATD24seV9Vq/SI07KzMBGNSrcOglsGeVucce6jqUjCwIbRwKpU3NUJ6YWIVe1aHgpIM\nM/uUmbWYWdzM1pjZubO0v9DMNprZqJk1mdlHMu7/CzN73Mx60z+/nu2YMndrmpZTk2tvhlb/LNzw\ndhi6rnKHSabq/WnUEZSfoeegftfcE8gD87z4c+g5jAcA6Ox5tVb2rBJ5JxlmdiVwPfBl4BzgWeAh\nMzsuS/slwAPAI8DZwI3AbWY29Qo3fwj8ELgQWA7sBn5lZq/JNz7J3Y59r6dveGFu01kdGHmw2CFV\np+a3QY1Xdi8GBK+BIV007whtfzn3Y6SAocfmfpwKlmp+56FPpJ+sv4LK/4MRKKwnYwVwq7vf6e7b\ngGuAEeBjWdp/Atjl7p919+3u/g3g7vRxAHD3P3f3W9z9OXdvAv4iHdtFBcQnOYuxNtfprAbUdQRj\nppK7nX8FC/ZUz/vl+ItRR1BexvvAn5j782tAclsYEVWmjm8Re8luADao2LOq5JVkmFkdsIygVwIA\nd3fgYeCCLLstT98/1UMztAd4KVAH9OYTn+Rvc8ubmUjV5NY4BnT8R1HjqSpDz8HoTdUxTALp4s8D\nWjNlqta/CWpV5sqA+sH5uYR/agLvDK7hk0jU8WsVe1aVfHsyjiNYaDqzzHw/sDjLPouztD/WzLJV\n9XwN2MuRyYmEbHT8JTzXenZu1zNxoG9V0WOqCqkU7Hhb8BdWLb0YkC7+XBt1FOUhlYL4D8JLImNA\nz89COljl8B0fw44KHkQVe1af2qgDyGRmfwe8H/hDd0/M1n7FihUsXLjwsG2NjY00NjYWKcLqs675\nfJb93qbZGxpgzwdvrjFNTJrRzo/Dgu6ooyiO3p/Bwpk6IueJjn+D+lnfonLnQN/9sOiDszatGvEW\nbPx7UAP7e17NlnYVexbDli1b2LJly2HbRkdHS3LufJOMHiAJLMrYvgjozLJPZ5b2A+4+NnWjmX0G\n+Cxwkbu/kEtAK1euZOnSpbk0lSy6+hfR1n0iJ7xy9+xrZ9Sl4MC98Kr3lCa4StS/FhK3VV8vBgQf\nhMNPRh1Feej5KjQQ7nM8ui7Eg5W/1LZ3EHtJ8P+7172P6vuDKQ9nnnkmZ555+NLsHR0dfOtb3yr6\nufP6Ouru48BGphRkmpmlbz+dZbfVHFnAeUl6+yFm9lngi8Cl7v5MPnHJ3K1tWp7b4lwOdOuqrFml\nUtDy9upMMCYlt0YdQfR6fw0N3eE+xwZYe4gHLHPdPyP2kqDYdcP2pfQMvirigKQYCunzvgG42sw+\nbGanA7cARwG3A5jZdWZ2x5T2twCnmNnXzOw0M/skcEX6OKT3+RxwLcEMlXYzW5T+eWlBv5Xkbdve\n0xiMH51b4/GnihtMJWv+ECw4WL0JhgG1fSr+3POZ4hy3Pjk/Fr1LpfD2KwEYT9Ty6+cvjTggKZa8\nkwx3vwv4DEFS8AxwFkHvw+QA9GLghCntW4HLgLcBmwmmrl7l7lOLOq8hmE1yN9Ax5edv841PCuNe\nw/rm80j5LJ+OBtSPwHBOo1nzy8FHITkPCmNrgP7Hoo4iOvE2qH2ueIlkT/W/hrzlb7CXjgNw/8Z3\nqdizihVUvefuN7v7End/ibtf4O4bptz3UXd/a0b7x919Wbr9qe7+vYz7T3b3mml+ri3s15JCbNy1\nFJ8tyZik1T8Pl5qAtsurtwcjU+89UUcQndZPF+95dmDwkVmbVbREFxa/EVCx53ygKQJyyMjY0Tzf\n/vu5TWcd/kXxA6okTVfAggIvkFVpUsBIthKsKpcchYkHinyO6r7abWrrOw9NOVCxZ/VTkiGHWdd8\nPjWxWcbbDajvDFY7FOh5AFL3Rh1F6RiQbIo6imi0fSmYYVWsz0UD6vogGeLU2HLS9xixhvWAij3n\nCyUZcpiO3tfS0fsaUrNdnTUG7NPqnyRHYe/7K/PLmFPYQlKHVqes0g/CmQzeUvwVXGNAb3X2FKZ2\nXAbAxESNij3nCSUZcoScprOmgL7/Kkk8ZW37u6E+XnlJRqEJxqQYcPBXIQVTITrvhIah4j/XDvRV\n38qf3vYVYkcHy6bft/7dKvacJ5RkyBFe2P0m4mMLZm4UA2zr/J7K2HUX2K8rM8EYA7YBAxSebBy8\nL7SQKsL+L5fuOjTx1bO3qSQTQ1j/PwCwv+dVKvacR5RkyBGSqVrW7zh39iGTuhT0/Lg0QZWbiSHo\n/POoo8jP5AfkAYIEYxToprAkKQXE59E1TAY2QX1raRJKA2gpwYlKJ7XtPVAf/F/FnvOLkgyZ1oad\nb5n9fcCB7uIvS1uWtv0x1CUq571ycnikFWgnSBIg6MkopLQiBvjOUEKrCO2fLu356sZhbE9pz1ks\nA5uI1QbLIm1sOoeeQV3GfT5RkiHTGowvZNue00nO1psxUWXdurnY912oeaqyEoxRYCvQO839PRQ2\nDFA3PD8uTZ7oBSvx821A1w9LeMLiSW0PLt2eTMb41ZY/jjgaKTUlGZLV2ubzqZmpANSAhjgMbi5Z\nTJFL9EL3x6OOIjeTT10PwfDIWJZ2PQUePwYcKPKaEeWgdUXp3ykdGKiCwtqOW4kdcwCAe9ep2HM+\nUpIhWbV3n0R3/3H4TN9yHdi3slQhRW/7JUFXdrn3YjjBkMguYDcz91RMAH2ztMl2jv6fFxRexUil\nYDSiZb7Hn4vmvGFJJqDrGgC6DhzHlvazIw5IoqAkQ2ZgrGlaPnuzkV8WP5RysPc/oHZjZSQYcYLh\nkVzXS+sh/9/LgXiVX5p8z9ehPoKk0oC67oqevZXa/kFIT1L78dr3U/5/OFIMSjJkRlvaziIxUZ+9\ngQH1XcEwQjUb64Tev446iplN9kR0AdvJr6BzkGA4JZ/ejBjg1TUL4gi915du2mqmGqD/NxGdfI5G\ndhKL3Q3AJhV7zmtKMmRG48l6Nu1aOvN01hiw76aSxRSJ7W+D2mT5fhmbHB7ZCeylsA/G7tmbHKF+\nFMYHCtixAvT+Ahb0RPucH7g7wpMXLvnChQC4w0Mq9pzXlGTIrNY3n4fZDJ9aDvTfVbJ4Sq79q1D/\nQnknGCPAi0D/HI5zoIB9DDhQfatTArDn/4uuFwPSF6J7KsIACtR1FzXHBNNv71l9uYo95zklGTKr\ng8OvYMe+12fvzTAgtq2ix4+zGm2H/i9G+2GTzWRM+wmGR8bneLwkcJD8flcH+quwJmdkJ9RGnFjG\nAG+OMIACpFKw+0oAenpfwXO7Vew53ynJkJysbT5/5uuZ1Dp0V8e8/sNsfyvUFvGqm4VygqRgB9AR\n4nELWQF0dGOIAZSJ1r8sj+e8fhQShc4xLr3Ujk/AS4P//2jNByiPB1GipCRDcrKz8/c4OPSy7NNZ\nHei5rZQhFV/rl6BhZ/m9TzowTDB7JOxyiGGChbty7c0wwNpCDiJiyRFIPlQez7sB3RUyFDnWSSwV\nrAC8qenNKvYUQEmG5CzG2tmms05U0bUsRpph6F/Ka5hkcmnwTqCJuQ+PZJNvAWhdoqK+bc+q9YvB\ndXmKwZl53Zlp2tP/YHFiCVlyy4WH/v/QlrdHF4iUFSUZkrPNrW9mIlk7/Z0GNIzCwIaSxlQ0zRdB\njZfHt1kIPmwmgGZgX5HPdYD8kiujui6UN/Tt4iWXVsBLKvFMMSIJ18FHqDl6OwA/e1rFnvI7SjIk\nZ2PjC9jc+maSqSwvm2pZ/XPnCmjYXV4JxiDB8MhQCc6XIrjGSa4ftA4M/Lp48ZTSvv+EhuGiPfc9\nba+gr/PY3HszDKjtLPuiam++GICDfS9TsaccRkmG5GV983nUxGZ4w4tX+PUWhp6H0X8rj2GSyeGR\nDoICz4kSnjvfFUDHKuDbdi66/qkoz707jPQs4Na1H+e32/4Qy+exrXUYXB9+UCFJ7voidmzwoP3w\n6T+jfLJzKQdKMiQv3QOvprXrpOmnsxpQ31O54/OpFOy4KPiriPp9cnJ4pIlgimqpjaR/cvnANcCq\n4LLkA+uhPvweLHdIDtVw6+PXMOENbO5aSmKgNr/ajAM/CjeosIwPUDP6rwA803S2ij3lCEoyJG9r\nm5Znn84aAzoqdMhk5zWwoCv6BAOCWSMvEsz2iEo+BaD1EzBW4YlG+6dDP6Q7kIA7fvsRBsZflt5q\nbG5+c+69GSlg+PHQYwvDxJaLD32K/GLLO6INRsqSkgzJ2/aONzAwcsz0dzowUIFLIQ+sh0QRC/5y\nMTk8sodgefBkhLFAsDBXPqUA3RX4vE9K9ICtCTXB9PRS7z978nL2DJ942H0P77oYT5Db6y0GpLaF\nF1hYBjZQe1Rwgbx7Vv8J4yr2lGkoyZC8udewrvk8Up5lyCTWDKlSFhDMUSoFuy6NdpjECaakbie4\nwFk5yKcAtNKLP1s+He67YXpi0hPr/4AtPW8+4u7xVAMtbUtyz2nrhmGiFFW/uUtt/e8A9A8cw7Pt\nR/6OIqAkQwq0addSfLokA4JCtf3fK21Ac9H857DgYLTDJP0Es0dGIoxhOvkUgI4/V8xIiic1AWMh\n98IYbH3hdH7T9rasTX659e2595zFgJ6fhBJaGJLtNxBbGFzm9/tP/jnlMcYo5UhJhhQknngpW9rO\nnH46qwMHvlPymArS9xgkI1oOfXJ4ZDewi+iHR6YTJ6gLme3D0IBYsRfwKJI9X4X68VA/JztbX81d\nL1w5Y5vu+CIOds6wiu5UDvTdF0psc5ZMUDPwtwA823yWij1lRgUlGWb2KTNrMbO4ma0xs3NnaX+h\nmW00s1EzazKzj2Tc/0Yzuzt9zJSZhV+BJaFb13z+9NNZDUiV75S7Q1IT0PruaL6EpQsC2UZhl1gv\npVyvZ1KXDFZKrTS9K0OrxXGHoe6j+Pbaq8nlQXts2x/lXgA6Vh4L3Y1vuQzSa/I9+Nxl0QYjZS/v\nJMPMrgSuB74MnAM8CzxkZsdlab8EeAB4BDgbuBG4zcwuntLsKIJSt89R/PUMJST7Dh7P3gPHTz+d\ntX4M+leXPqh8NL0PFgxGk2QcJBgeiUdw7nwdJPdelp4KK/7suQ8W9IbyGnCHiaEavvn4J0hRl9M+\nW7rPYqy/bvbeDANie+cc45yNNFO34GEA7ln9bhV7yqwK6clYAdzq7ne6+zbgGoKR5I9laf8JYJe7\nf9bdt7v7N4C708cBwN03uPvn3P0ugu93UiHWZJvO6kDnjSWPJ2e9v4DUPaU9Z3q2AW1AK/nN3IiS\nE9RmzPZB6MDQb4ofT5g6PhdKL4Y7eML4zmNXMTKRZebVtIxndizNrTejLhksFheh5HPLABgafCnP\ntp8TaSxSGfJKMsysDlhG0CsBgLs78DBwQZbdlqfvn+qhGdpLBXlxzxsZGXvJ9HfGM5/2MpEchd1X\nlLYHw4ExguGRAyU8b1hyLQBNbCl2JOEZaYbabXN+HUxOVf3xE1fQOXJ83vs/vPMiUrlOZ+1Zlffx\nw5LsuIOalw0CcMcTH0bFnpKLfHsyjgNqOHINwv3A4iz7LM7S/lgzU19bhUulalnffN6RQyYGNByA\nsc5I4prR9j+B+pHSvEdOfnD0EiQYoyU4ZzGMEVw/ZaYPQgNqy2X+bQ5a/8/cXwPpx+PRdW9l24E3\nFXSIpNezq/X3Zs8xUkTXU5RKUdPzvwDYsuNN9AwuiiYOqTiaXSJztmHnsunvMMpv9c+uu8F+VboE\nwwmGRtqonOGRbHIpAK1NwVAFTGVNjkDq13N/HRg8t+VMnmz/n3M6zC+3/nFuM3iSL87pPIUaf/4D\nUB/8//5n3x1JDFKZsly3O6seghKwzDR2EZDtK2tnlvYD7j6W5/mPsGLFChYuXHjYtsbGRhobG+d6\naMnR0OixbN1zBqe/bis1U+szHBj4KfC1qEI73MQQ7PvQoTfLonKCXotdBL0A1aCf4Hoqs71rHLgb\njj6rBAHNQevngvVc5mhPy/Hcs/VP53ycA6Ov4kDnK3jla3qz12cYUNcPyQTUlOJFnDbWQV39jwG4\nV8WeFWnLli1s2XL4UOboaGm6VfNKMtx93Mw2AhcB9wGYmaVv35Rlt9XA2zO2XZLePmcrV65k6dKl\nYRxK5mBt8/m86cSMb1kG1Ows/ZtiNtvfHsx6KWYvhhMcv4dgefByuJprWCYLQBeR/TF0YKg8r7Nx\nSCoFQ/8ZJJsFvhbcYbD7GL6z7qrQwvrNtrfyvuNnmZ0TAw7cB6++IrTzzmbimXOofRnERxawWcWe\nFenMM8/kzDPPPGxbR0cH3/rWt4p+7kKGS24ArjazD5vZ6cAtBFNQbwcws+vM7I4p7W8BTjGzr5nZ\naWb2SeCK9HFI71NnZmeb2ZsJ/vRfm779e4X9WlJqu3tOpKv/VaQyP1RrHfbfHkVIh+u8A2JPFj/B\nSAEtBAtsVVOCMSmXC+yOR9Oln7POb0NDfE4JxvhQHTc//gmcmtDCerH79xntr595OqsDfaWbFZXq\nfpDalwV1Nt957KOo2FPylXeSkZ5m+hngWuAZ4CzgUnefXFJoMXDClPatwGXA24DNBFNXr3L3qVMP\njk8fa2N6/88Am4Bv5xufRMVYs/2CI96C3IHe2yOIZ4rxPui6urjncII1L7YRrCtRrRIEV4jN9kFo\nQG1P0FtQrrq+UnACODlV9du/uZqx5FHhxgVsbH7L7NNZ42tCP++0Uilie94JwIu7zlCxpxSkoMJP\nd7EiTh4AABjiSURBVL/Z3Ze4+0vc/QJ33zDlvo+6+1sz2j/u7svS7U919+9l3N/m7jF3r8n4Oew4\nUt62tP8+YxnjtWZAamM0AU3adjHUhbts9CGTH1bdBBc3q5b6i5nMNp211mGwTFd87X8KGvYW9FqY\nnKq66reN9MSLs5T2o7v+iFTCsvdmGGBtRTl3pvFt/wfSs9PveebykpxTqo9ml0hoJpL1bNyx7Mjp\nrPUJ6HsymqD23gy1G4qXYKQI1qqttvqLmfQz+5J5veVzMa/DtK+Yvc0MHlpzCTsOviGkYI6U8jp2\ntLx+5kb1ExBvKVoMAIz3URf7JgD3rn6Xij2lYEoyJFQbdp6L2eGftu5A57+VPphEF/QW6TI4TrDO\n7VaCD935ZqYVQFPAcERJ5UzGOiG2vuCEc+NzS1m757+FG9M0fpHL1Vm7i3tRv/GNQTF9YrSOze0q\nrJfCKcmQUPUNv5zmfaeSzOzNGH209MFsuwhqk+H2Yky++XcRDI/M10XwZ1q11ICJbaWKJHetny74\nHa9114k8uK0060P0jb2Cnn3HZR8ycWCweKvppg4+Rd3Lgp6Sbz+a24XeRLJRkiGhW9u0/LD1MsyA\nhoMwtqd0Qez+OtQ/H36CkQR2AGVwrapIjRP04Ez3QWhA3cHyKv5MTcDYz/LezR0Odi3kjvX/K/yY\nZvDw1rfNXAA6Xrzl22M7/wCA7a2n6jLuMmdKMiR0u/afTO/gyw//JmbA3hKt/jnaDn2fD7dGwoFh\nguGRgRCPW8lmWgG0Buh/rHSxzGb3Pwe1DHkkne4wNlTPN3/7CUr9Vtl04HTi/Qum780woO5AkDiF\nLNH0JTg6+P9PNpZuLQ6pXkoypAhirGlafvimFDCY/zfJgmy/KFjeOoxejMmlwTuBJoJv8BIYJBgu\nypbM9d5bwmBm0XdjXkmnO6QSMW599OP8/+3de3hU5Z3A8e9vkkxCEi4CClFsuSgqlSq6gliVeqPa\n1tp2te1j3Xqv1m3d1nWr+3Rr291e1vax3d5Udrta6WXVVp9WaxGxqIBcBEFECJCQEC5JSELI/Tpz\n3v3jPZNMJplkZjJnLuH3eZ7zJJm855z3vBzO+eW99joF3uVrGG/tvSB6bUYO0LQquScMduF3vgvA\nixs/rp09VVJokKE8sX3/OQSCYRPK+oDcSjv7p5eqHoL88uQFGKHmkZokHG8sqo/yuQN0vJnKnERX\n/xzkN8V8T4SGqv72jZto6priadaG80blkujDWQ1w9Pmknq9nyyIAAr0+tlZFWY9IqThpkKE80RMo\nYFvlgoEdQHOA2l95d9KOMmj9bnKaSQzQBuzC/sWuhhatA6gAzt5U5iS66vibzl7a8FH2H5vtTX5i\nZEwueyujDJc1QOf65J2rbRf+iXZhu2Wr7kI7e6pk0SBDeeatsoWDF0xrfCpq+lHbeyXkmNE9H0PN\nIzVAGXZBMBVdADvDaeRLXIC8Vk/6DcSlvRTyyuK6JzZtX8jbhxd6l6c4RB3O6gNbxZYku+wy9RUH\nZurMniqpNMhQnjnaeiKVR2b2T84lgNnmzckq7oOCA6MPMALY4CLamsJqsGgzgPqAOm/ncxjR/q/E\nfk8YKN83m5V7PuppluLR0j2JupoTh24yyeuxc3+MUk/lfyET7PdPb9bVq1VyaZChPLVx74X4wmsz\n/L1wLMlzZrS9B50/GX0zSQt29EhbEvJ0PGnDLmsfWf4GqL81+f/esQq0gVkdU5BhDBytm8zvttzk\nfb7itGrXVUN3ABWg/unRHdwJ4O+2s6C+tOka7eypkk6DDOWpspq5NHdM6P9LzABHfp68EzgOlF9p\n7+REajFCzSOHsNODa/NIYobqACrYUT6HroKm11OcIWD//XYdlREYA12tBSxbexeZ+Ejc1ziXjuZx\ng2szDNDy8qiO3bXlw/ZQDmzZnxlNRGpsybz/UWpMMcbHW3sXYcIjgK7XkneCinug4EjiAUYvdmhq\nXfKydFxqJPrEXLkOHLwCmtakLj+OA+2/HrF2yxgI9vh4/LW76A1m7l/xm/YsGro2o+edhI9pOg9Q\nMMGOAHr05S+hnT2VFzTIUJ7bVrkAx3FvNQHym6EzCStJtmyG7mWJN5M0Y5tH2kefleNekBgCjctS\nF2jUPAr53cO+N0NDVZe/fjMtXSekJl8JWrv/EoI9vsET3OXWJTyzqtk+B4CD1TO0s6fyjAYZynOd\nPYXsqJrfP5xVgOpHRndQx4GKq+NvJgk1jxwEKrAvR5Ucwy0BPyDQSMHiafXfjyn4/PP66zjY9H7v\n8zNKxuSwp+KMwb/INdAS/1DW7gPL8U2ybYO/2fAPo82eUlFpkKFS4q2yRf3DWQ3Q9sLoDlj+BSho\njD/A6MUubBZtEimVuA6gk+gv975A48PQ7OFEXU1rIL9mxHtj/TsXsb16gXf5SLIVu6MMZz36bHwH\nchzyO24GYOXmpdrZU3lKgwyVErVNJRxsOMXW7AqQWwXBrsQO1rQGAr9LYD/s5FodiZ1WxWCkvi2C\nXRn3wBJo3uBNHg5+dfjfG9hTPpdX9y715vweaeueQG3NtIFNJg7QsTau43Ru/WTf9xsrFicnc0pF\noUGGSplNexfjC91xOUDNsvgP4gSg6uNxzX2AAxwAKt3vlXeGmpgrUl+gcUnyA43uQ5CzLfr9YaDu\nyIk8/fbnknveFBk0nNVHXDOrmu4GxhW/CMCjf9XOnsp7GmSolCk9fCbtXYX2BwPm2G/iP8jez0B+\na2zPRgN0Y5tHGuI/lUqAg51qPK5AY1Pyzl/5T1HvDWOgo3Uc/7PuTrL10VfZeBrtTRHDWf0d0NsU\n0/7O1pkA1B6ZRr129lQpkJ3/01RWcpxcNpcvxDGAgDhvx3eAxhXgxLCSa+gB3AjsxvYTUKkzXAfQ\ncH2BxofsSKHRCvZA79ArvxoDwe4cHlt9N4Ggf/TnSqMNey8aWJshQP3I/TK6a/5Czgl2KNUT627z\nJnNKRdAgQ6XUln3ng3GfkPlA48rYdgx2wcHrR355hUaP7Aeq0OaRdOjEDguOZWhxKNCoWjz6QOPg\ntyEvOOgeCQ1VffL1W2jrnji6c2SA9fsvItgd9ug2QMtfR9wvv/FaAFa/fZl29lQpo0GGSqn2rvHs\nPDjPPvgNmNoYZ//c80lbLTxckBFqHtmNrcVQ6VNP7M39oUBj/0XQsiXxczb9Mmpg89ybn6a6+dTE\nj51BjMlhV+W8gdfaPXytYMe2m20/KGBt+aXeZU6pCBpkqJR7q+zC/urejpdG3qH+OZCVw3bmA2xf\ngFLsOhpqEAMEjY+gGfjf3jG+US/7MsgxdwudeCQC5AVg/+LEAo26Z6CgZch7ZM22S9lZ88H4j5nB\nVpYu7e+XIYCvOmpaE+igcNxyAB5bcTfa2VOlUm66M6COP4eOzqC26SSmT6pDioCOfVA4Z+jEgTao\n/jxEa0YPbx45FiXNccIxgkHw4Qxos+91cmkNTKCx9wSaA5No7p1Ic8BuxsDswgpOLyqjJL8GERuI\n5Mgo25kMdjRPLXAyMNH9bLj3W3igMXMTTDgv9vPVfMPeI2HHNwZ2lZ/F62WXx539TNfeM4Ga6hJK\nTrH/ZuQ50LJ1yDILbHo/eVPgaMNk6lqmpz6z6rimQYZKA2HT3sVct/DPIOAcehjf3P8eOumej4I/\nyvTQBltrUYFtJhnDDLbGARgQABgD7cEimgOTONY7MIAIfd/ljGO4t/uBrpm83ng543wdzC6sYE5h\nOXOLyijKbccxggAiCdZ1dGIXnivEBhsTGD7Y6As0FsGszTD+3JHP0fYe+PcNPKaxIyj+uPWGxPKd\nBV4pXcotM57q/+DoM4OCjO76teRPsUOrlr1xVyqzpxSgQYZKk/cOnM3V564g398DR58AhggyapeD\nb+3gF1LoJVUPHGb0S7xngOFqIVoCEzg2RC1Ec+9EWgLjcZL037jTKWRn29nsbDsbMJzkr2NOYTmn\nF5XzvnFV5IiTeC1HB1AOFGGDjfFEDzZCgUblBbEFGlVfHtDwawy0txbxxLo7GMstwlWNs2hrKqRo\nYgcYkLbXB6XJr7kU/LD2nYu1s6dKCw0yVFoEgnls3ncBF5/1Jr5JQQh2QE5hf4LeJqi7A/IidgxN\nrlWFncEzCyReCzGJLqeA9LShC3U906jrmcaGpg+RKz3MHFdlazmKy5ic14gxYPDhiyfoaAfKgGJs\nsFHM0MFGX6CxEGZvgeIofSp6m8Cs6dvfGAj05PL46rsJBCNvnrFn/Z4PsXTRKhtnB0sH/K793a9S\n5DYzrt5zRcrzphRokKHitGPHDubPn5+UY20pt0EGAsEDj5Az65v9v9y9FPJ6B1WB04ltHulJShaS\nwtZC+PARjKkWosn92hpjLUQyyzxRAeOnvON0yjtOZ2XDNUzMbWJO4T5OKypjdmEF+b4eHONDxIkt\nJGoD9mJrNE7G1nBEBhuCvQcq/g5mb4XiswcfZ//9dpEwbIBhHOGJ1bfR3j1+VNebCWUei41VF3L5\nuX8jN98Bf6sd6p1TgAn2UuT/KQDLXr6TbOjsmS1lruKTUJAhIv8I3A9MB7YDXzHGRB3kLiIfBh4B\nPoCd4Pl7xpinItLcAPw7MBP7+HnQGLMikfwp7yTzQdDcMYmKmlnMLqmEw/8JoSCj+jHI3dz/XAy9\nfOqAalLaPBJ7LcSkIfpCJKcWIhMfvs2BSWxtOZ+tLecjBJlRcNhtWomzA2krdkbWCdhgo5CBwUZf\noHHe4EDDcaDzt5g8+oK7P755PbUtJ4/6+jKxzIdiTA47K87mnLPetS1DDc/BtM/Ts3EO+VOgpWk8\ntc2npDubMcmWMlfxiTvIEJHPYgOGLwJvAV8DVorIXGPMoMmbRWQm8BfgUeBG4ErgVyJSbYxZ5aa5\nCPg98ADwEvB54E8issAYsyuB61JZYt3uS5hdUknO1A770gg0QMO9/c0kBrscexXQnPzzj1QLMWhE\nRl8txASc0MQDxzlDDge73sfBrvcN6EA6q7CCGQWHmeqvJ0ccjAGHKIFHi7tNxAYb4+gPNsIDjTnb\noOgDdp/qn4G/uy8eeW3rZZTWfMDz6800r+y+ygYZAE0v0uOfT/6UgwD84m9fTmPOlEqsJuNrwDJj\nzHIAEbkb+BhwG/DDIdJ/Cagwxnzd/XmPiFzsHmeV+9m9wApjzI/dnx8SkauALwP3JJBHlSUq62b1\nfd9z6Df4mx6xbfGCfcm0Y4dC9sZ/7FAthMCAfgOOETqChTQHJtHYewItQ47ISFdfiOw3sAMp+Ahw\nor+ekoJapufXcEpBNdP8teT5AoCt8fCFmlma3W0SNtgooD/YyOuFfQv6Ag3T8AOkwJ5zR9nZrC1f\nkuIrzQwdPeM5dOhkZsyoxml7DX/nM1AAG3cs1M6eKu3iCjJEJA84H/h+6DNjjBGRV4FoawZfCLwa\n8dlK4CdhPy/G1o5EprkunvypbCSsffdiLvngOvwNt9jq8pAj2OaRKIavhZjo1kJM1FqINHPI5UhP\nCUd6SoAFfZ9OzmukJL+WkvwaSgqqKcmvYVyOnUkteMyHHHPwTcYGG6F3pb8X9p0HU3+OFNh15Q/X\nnMzzWz+d4qvKLK/s+gi3zXgSX1Fd32crd12TxhwpZcVbkzEVOzntkYjPjwBnRNlnepT0E0Qk3xjT\nPUya4WaOKQAoLS0dJkliSktLqa4e5u12HOvq6kp62TxddzpFOev6PwiCqQanTdxaiP5OGI6BLqeA\n1uB4WgITaA8U0xYopi1YTKv7tccZ7q+3TrJtxTQvyjwTVAPvMRmYjO2uBcW5bUzJa2Cq/yhT/PWc\n5K+nKKcTJoKZCpIH0ANlds6Hzs4Cfr/+agLB2qTmLdvKvLo6j3PDul78eeO11LbUpC9DCci2Ms92\nDQ19vRsKPD2RMSbmDSjBDiBcFPH5w8CGKPvsAR6I+OwabEt7vvtzN/DZiDRfAmqGycuN9M/3qJtu\nuummm266xb/dGE8cEO8Wb01GAzY4mBbx+TTsBMJDqY2SvsWtxRguzXB/nqzEdhDdj65WoZRSSsWj\nADuaM8alsBMTV5BhjOkVkbeBK4AXAERE3J9/FmW3Ddiai3BL3c/D00Qe46qINJF5OYodkaKUUkqp\n+K33+gSJzLn7Y+BOEfmCiJwJPI7trvdrABH5gYiEz4HxODBbRB4WkTNE5B7gevc4IT8FrhaR+9w0\n38Z2MP1FAvlTSimlVAaIewirMeZZEZmKnThrGvAO8BFjTL2bZDpwalj6/SLyMexoknuBQ8DtxphX\nw9JsEJEbge+5Wxlwnc6RoZRSSmUvcTtRKqWUUkol1dhdolAppZRSaaVBhlJKKaU8kRFBhohcIiIv\niMhhEXFE5BMx7OMXke+JyH4R6RKRChG5JSLNDSJSKiKdIrJdRHQKPJcXZS4i80TkjyJS6R7zXk8v\nIst4VOZ3iMgaEWl0t1UicoGnF5JFPCrzT4nIZhE5JiJtIrJNRG7y9EKyiFfP87C0n3OP+3zSM5+l\nPLrPb3aPFXS/OiLSEW/eMmWp9yJsB9L/BWK9cf4AnAjcCuzDThTWFzTpomsjSnqZY0cZ7QOeZeC0\n8cryosyXYO/z9dj5Yh4EXhGRecaY7Jry0RtelPlR4LvAbqAHuBZ4UkSOhBZ9PM55UeZA34KbPwLW\nJCGfY4lXZd4MzGXgmtjx8XKmr0Q27IyinxghzdVAIzBpmDRPAy9EfLYBeDTd15hpW7LKPCJ9JXBv\nuq8tUzcvytzdx+c+GG5K9zVm2uZVmbv7vQ18J93XmGlbMsvcvbfXuS/FJ4Hn0319mbgl8R16M9A4\n2vxkRHNJAq4FtgAPiMghEdkjIj8SkfA52Bcz9MJs0RZyU8OLpcxVciVS5kVAHvYBouIXd5mLyBXY\nv/beSFUmx5hYy/xbwBFjzJOpz+KYE2uZF7vNKQdE5E8iMi/eE2VKc0m8ZgOXYKuHP4lduO0x7EpL\nt7tpEll0TUUXS5mr5EqkzB8GDjM4wFaxianMRWQCtpzzgQBwjzFmdcpzOzaMWOYicjG2BuOcNOVx\nrInlPt8D3Aa8C0wE/gVY7zbFxrySXbYGGT5sldCNxpg2ABG5D/iDiNxj+tdEUcmjZZ56cZW5iDwI\nfAZYYozpSXlux4ZYy7wV+8Irxi6J8BMRqTDGaF+B+A1b5tiaueXAncaYY+nL5pgy4n1ujNkIbAzt\nICIbgFLgLmytUkyyNcioAQ6HCsdViu2cMgPbiSWRRddUdLGUuUqumMtcRO4Hvg5cYYzZmdJcji0x\nlbmxjdYV7u/fdauR/xXtkJiIkcq8GHg/8KKIhDog+gBEpAc4wxhTmcL8jgVxP8+NMQER2QacFs+J\nsrVPxpvAySJSGPbZGdjI7JD7c2jRtXDDLrqmhhVLmavkiqnMReTrwDew0/tvS20Wx5xE73MftulE\nxW+kMt8NzAfOxdYenYNdoHO1+/3BlOZ2bIj7PhcRH/bfIb5Ra+nuCev2Yi3C3iznuhf5VffnU93f\n/wB4KiJ9FfAMcBZwKbb96PGwNIuBbuA+t/C+jW1/mpfu682EzaMyzws75mFs/4BzgDnpvt5M2Dwq\n8wfc+/pT2Jq60FaU7uvNhM2jMn8QuBKYBZwJ/LP7rLk13debCZsXZT7EOXR0icdlDnwT+4f5LGAB\n8H9AO3BmXHlLd+G4F7PELZhgxPZE2A21OmKfudjRIm1uYf0QyI9I8/fYKLgT23nlI+m+1kzZvChz\nbJXmUMdcnarryuTNozKvHOJ4QeChdF9vJmwelfl/uA/kdqABO6zy+nRfa6ZsXj3PI9JrkOFxmWNX\nSq9035/VwIvAB+PNmy6QppRSSilPZGufDKWUUkplOA0ylFJKKeUJDTKUUkop5QkNMpRSSinlCQ0y\nlFJKKeUJDTKUUkop5QkNMpRSSinlCQ0ylFJKqQwjIpeIyAsiclhEHBH5RJz7f8vdL+h+DW2tXuV5\nKBpkKKWUUpmnCHgHuAdIZNbMHwHTgRL363RgF/BssjIYi2xdhVUppZQas4wxLwMvA4StPttHRPzA\n94HPAZOAHcCDxpg33P07gI6w9OcA84Avep75MFqToZRSSmWfXwKLgM9gV0f9A7BCROZESX8HsMcY\nsz5F+QM0yFBKKaWyioicCtwC3GCMWW+MqTTG/Bi7hPutQ6TPB24EfpXSjKLNJUoppVS2mQ/kAHsj\nmlL82JWBI30aKAaWpyBvA2iQoZRSSmWXYiAAnIdd4j1c2xDpbwf+Yoyp9zpjkTTIUEoppbLLNmxN\nxjRjzJvDJRSRmcBlwMe9z9ZgGmQopZRSGUZEioDTgFBzyGx3hEijMaZMRH4PLBeR+7FBx0nA5cB2\nY8yKsEPdDlTjjlRJNTEmkeG3SimllPKKiCwBXmPwHBlPGWNuE5Ec4N+ALwCnYPtibAS+ZYzZ6R5D\ngCrg18aYh1KW+TAaZCillFLKEzqEVSmllFKe0CBDKaWUUp7QIEMppZRSntAgQymllFKe0CBDKaWU\nUp7QIEMppZRSntAgQymllFKe0CBDKaWUUp7QIEMppZRSntAgQymllFKe0CBDKaWUUp74f9okyG7O\nS8Q/AAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pylab as pl\n",
"tot_var = df['Persistent Var'].values + df['Rescaling-GxC Var'].values + df['Heterogeneity-GxC var'].values\n",
"nohet_var = df['Persistent Var'].values + df['Rescaling-GxC Var'].values\n",
"pl.fill_between(split.wnd_pos[:n_wnds,1], 0, df['Persistent Var'].values, color='gray')\n",
"pl.fill_between(split.wnd_pos[:n_wnds,1], df['Persistent Var'].values, nohet_var, color='Orange')\n",
"pl.fill_between(split.wnd_pos[:n_wnds,1], nohet_var, tot_var, color='Gold')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### P-values\n",
"\n",
"Empirical P values are obtained from a relatively small number of genome-wide permutations by pooling across all considered steps."
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from limix.mtSet.core.iset_utils import calc_emp_pv_eff\n",
"#calculate P values for the three tests\n",
"for test in ['mtSet', 'iSet', 'iSet-het']:\n",
" df[test+' pv'] = calc_emp_pv_eff(df[test+' LLR'].values, df0[test+' LLR0'].values)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#makes a manhattan plot\n",
"wnd_start = split.wnd_pos[:n_wnds,1]\n",
"wnd_end = split.wnd_pos[:n_wnds,2]\n",
"import pylab as pl\n",
"pl.plot(wnd_start, -sp.log10(df['mtSet pv'].values), 'o', color='DarkGreen')\n",
"pl.plot(wnd_start, -sp.log10(df['iSet pv'].values), 'o', color='DarkRed')\n",
"pl.plot(wnd_start, -sp.log10(df['iSet-het pv'].values), 'o', color='Gold')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Developers\n",
"\n",
"- Francesco Paolo Casale ()\n",
"- Danilo Horta ()\n",
"- Barbara Rakitsch ()\n",
"- Oliver Stegle ()"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda root]",
"language": "python",
"name": "conda-root-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
},
"nav_menu": {},
"toc": {
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": 6,
"toc_cell": false,
"toc_section_display": "block",
"toc_window_display": true
},
"toc_position": {
"height": "1211px",
"left": "0px",
"right": "auto",
"top": "106px",
"width": "215px"
}
},
"nbformat": 4,
"nbformat_minor": 0
}