{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#ipcluster start -n 4\n", "# on correct directory" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from __future__ import print_function\n", "import os\n", "import pickle\n", "import time\n", "\n", "import numpy as np\n", "\n", "from IPython.parallel import Client" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "f = open('max_chro_pos.pickle')\n", "max_chro_pos = pickle.load(f)\n", "f.close()\n", "\n", "window_size = 2000000\n", "\n", "def get_blocks():\n", " for chro, max_pos in max_chro_pos.items():\n", " num_bin = (max_pos + 1) // window_size\n", " for my_bin in range(num_bin):\n", " start_pos = my_bin * window_size + 1\n", " end_pos = start_pos + window_size\n", " yield chro, start_pos, end_pos" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cl = Client()\n", "all_engines = cl[:]\n", "all_engines.execute('import os')\n", "#all_engines.execute('import pickle')\n", "all_engines.execute('import numpy as np')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def compute_MAFs():\n", " for chrom, start_pos, end_pos in my_blocks:\n", " os.system('plink --bfile tsi --freq --out tsi-%d-%d --chr %d --from-bp %d --to-bp %d' %\n", " (chrom, start_pos, chrom, start_pos, end_pos))\n", " os.remove('tsi-%d-%d.log' % (chrom, start_pos))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def parse_MAFs(pos):\n", " chrom, start_pos, end_pos = pos\n", " mafs = []\n", " try:\n", " f = open('tsi-%d-%d.frq' % (chrom, start_pos))\n", " f.readline()\n", " for cnt, l in enumerate(f):\n", " toks = [tok for tok in l.rstrip().split(' ') if tok != '']\n", " maf = float(toks[-2])\n", " mafs.append(maf)\n", " f.close()\n", " except:\n", " # might be empty if there are no SNPs\n", " pass\n", " return mafs" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "@all_engines.parallel(block=True)\n", "def compute_means_with_pos(pos):\n", " block_mafs = parse_MAFs(pos)\n", " nobs = len(block_mafs)\n", " if nobs > 0:\n", " return np.mean(block_mafs), nobs\n", " else:\n", " return 0.0, 0\n", "\n", "@all_engines.parallel(block=True)\n", "def compute_means_with_mafs(block_mafs):\n", " nobs = len(block_mafs)\n", " if nobs > 0:\n", " return np.mean(block_mafs), nobs\n", " else:\n", " return 0.0, 0" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[None, None, None, None]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_engines.scatter('my_blocks', list(get_blocks()))\n", "all_engines.apply_sync(compute_MAFs)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 loops, best of 3: 1.27 s per loop\n" ] } ], "source": [ "#need compute means with poses!\n", "all_engines.push({'parse_MAFs': parse_MAFs})\n", "%timeit compute_means_with_pos.map(get_blocks())" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 loops, best of 3: 1.74 s per loop\n" ] } ], "source": [ "def compute_with_blocks():\n", " block_mafs = all_engines.map_sync(parse_MAFs, get_blocks())\n", " block_means = compute_means_with_mafs.map(block_mafs)\n", " return block_means\n", " #bring data to the main application\n", "%timeit compute_with_blocks()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1222126 0.23159641651\n" ] } ], "source": [ "block_means = compute_means_with_pos.map(get_blocks())\n", "sum_maf = 0.0\n", "cnt_maf = 0\n", "for block_maf, block_cnt in block_means:\n", " sum_maf += block_maf * block_cnt \n", " cnt_maf += block_cnt\n", "print(cnt_maf, sum_maf / cnt_maf)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 0\n", "4 2\n", "Done\n" ] } ], "source": [ "#blocks are already scattered\n", "async = all_engines.apply_async(compute_MAFs)\n", "import time\n", "#print(async.metadata)\n", "while not async.ready():\n", " print(len(async), async.progress)\n", " time.sleep(5)\n", "print('Done')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load balancer" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "load_balancer = cl.load_balanced_view()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "41 3\n", "Done\n" ] } ], "source": [ "async = load_balancer.map(parse_MAFs,\n", " [pos for pos in get_blocks() if pos[0] == 1],\n", " block=False, chunksize=3, ordered=True)\n", "while not async.ready():\n", " print(len(async), async.progress)\n", " time.sleep(1)\n", "print('Done')" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [], "source": [ "result = async.get()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/tra/anaconda3/envs/book2/lib/python2.7/site-packages/numpy/core/_methods.py:59: RuntimeWarning: Mean of empty slice.\n", " warnings.warn(\"Mean of empty slice.\", RuntimeWarning)\n", "/home/tra/anaconda3/envs/book2/lib/python2.7/site-packages/numpy/core/_methods.py:71: RuntimeWarning: invalid value encountered in double_scalars\n", " ret = ret.dtype.type(ret / rcount)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6UAAAIwCAYAAAB+/c0CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3WeYbFWZ9vH/TZKcUcmIShDBhBgQRWUUzDoGzIAK5lFx\nTKOviqJjGhMqYs4RDJgTwYAJA4KgIJIlSU5KuN8PazWnTtFVXXlXdd+/6zrX6a6999pPdVdV72ev\ntZ4l20REREREREQ0YYWmA4iIiIiIiIilK0lpRERERERENCZJaURERERERDQmSWlEREREREQ0Jklp\nRERERERENCZJaURERERERDQmSWlELHqSzpD04Amd65OS3jSJczVF0haSrpSk+v3Rkp7VdFzRPEm7\nSTpliONvkrT1KGPq49zPk3SBpCskrTfG8+wj6afjaj8iYhYlKY2IuaTtX5I2aHv89/UicYumYhsR\n13+3IGldSZ+qF6MXSHp92/atJB0l6WpJJ7cmtx0uLjuea1bV18eD5r63fZbttbxsoeuBnnP92d4k\naYW2x2cqsZf0cEk/k3SppH9I+oikNVu230rSxyVdXre/tO34u0o6vr7GfivpLm3bX1qPu1zSxySt\n0rJtfUlfk3RV/T09ue3YB0s6pbb9k/b3sqS3Sbq4/vvfYX8Wtn9qe7th25k0SSsD7wIebHtt25c2\nHVMUkg6rr+EbJT2z6XgiYjySlEYElITidODmC1pJOwKrscgSrHm8G1gV2BLYBXi6pH1atn8BOB5Y\nH/gf4KuSNpx0kAuRtNIYmzegMbY/3/mm8nXX4ee8NnAQsDGwPbAp8I6W7W8Abg9sATwQeIWkh9b2\nVgG+AXwaWBf4FPCNmiRR93sl8CDKa3Rr4I0tbX8AuA64NfBU4EOS7lSP3RA4nPK6XQ/4LfClludy\nAPBoYKf675H1saXotpTPgZP7PVDV6EMab9sz5A/A84HfMaWfCxExvCSlETHns8AzWr5/JuVC+eYL\notrj805JZ0o6X9KHJK1at60r6VuSLpR0iaQjJW3acuzRkg6qPUpXSPp+e89sy75DtSXp6TXGiyW9\nZoHn/QjgHbavs30m8DFgv9rONsDdgNfb/pftI4ATgP+UtB1wKHAflaGsl7S0uX6N/wpJv1SH4Ygt\nPYXPkXSupPMkHdiyXZJeJem0+ly+pDqssOXY/SSdCfyoPv4cSX+u5z5J0t3q45tIOrz+TE+X9KKW\n87xB0pdVeoyvkHSipHvUbZ+hJFNH1uf5cnXo4Wxpb78awyWSvtfeO9cPSYfU8879u15tvdkt+95X\n0m8kXSbp15LuUx9/kqTftO37UknfqF93e13vLukcSa+Q9A/K62M5tr9g+wf1NXQZ8BFg15ZdngG8\nyfbltk8BDgP2qdt2B1a0/V7b19t+P+U998C6/ZnAR22fXNs+aO5YSWsAjwNeZ/sa2z+nJLhPr8c+\nDjjR9uG2/01Jju9SX9dzbb/T9nm2zwPe2RJX+8/2U5JeVr/etP7+n1+/v72kf7b8vM5uOe4MSQdK\n+mP9vXxR0q1atv93fd2fI2m/tnOuI+nT9TV7hqT/kW4eMn6mpLvXr59a49m+fv8sSV+rX++i0vt8\nef3dvmue57YNy5LRyyTNvZfmfT3VbUdLerOknwNXA7ebp93NJR1R479Y0vvbtr+jvkdOl7Rnt7Z7\niOVNkn5e3yPflLShpM/V5/1rSVu27N+trX0k/a1+Dpwu6Sn1cUl6bf09XFBfD2vXbXOfB/tIOkvS\nPyU9V9I9JZ2gMoKg/bn3/Blh+4O2f0K5+RIRi1SS0oiY80tgbUnbSVoReBIlUW31v8AdgLvU/zcF\n/l/dtgLlgn2L+u9a4JC2459Muei9NbAK8PIOsQzclkov0QcpvUabABsAm3V/6sv1Aq4A3Ll+vQNw\nuu2rW7b/EdihJhcHAMfVoazrt7S1NyUBWA84DTh4gfPvTvl5PgR4pZYNEX4x8Cjg/pReuEspPWOt\n7g9sB+wp6QnA64Gn2167HvtPleTxSOD3lJ/Jg4GXSHpISzuPpPQKrwN8k/rztv104CzgEfV5vrPb\nE5H0aODVwGOBDYGf1na7HjbP96rnf2E971rAbvVn8PV5zrs+8G3gPZRe7f8Dvq2SxB8JbCvpDi2H\nPAX4XP262+sa4DaU3+UWlN/5Qh4AnFjjWo/yu/tjy/YTKK8t6v8ntB3/x5btd5rn2NvUdrcBbrB9\nWodjd2g91vY1lNdjt7Z3YH5HU16nc8/vdMprb+77YzscZ+AJwEMpidtOLEuq9wQOBPaoz2WPtmPf\nD6xVj3sAJbnft0M8f6v/z31/dP36vcC7ba9D6WX+8i0CtP/Ksue9ju09Fng9zXka8GxgTcp75Gb1\nM/RbwN8pPdybsvz74F7AKZTPp7dzy5sdrW1f3UMsT6rHbErplT+utrk+JeF+fY2r4/NSucnxXmDP\n+vlxH0ovJZSf+zMpP/Ota1ztn8m7UN4/e9d2XkPp4d8BeKKk+9cYBvmMiIhFLklpRLT6DOXC7z+A\nPwPnzm2oPRTPAV5m+zLbVwFvpVyAYPsS21+rvUVXAW9h2UUilIvTT9g+zfZ1lIvDu84XxJBtPR44\n0vbPau/Q64Cbujzn71ESwTVr0rIfZdgylAuvy9v2v5JyoQzzD2k1cITt39q+kZL4zPs8W7zR9rW2\nTwQ+wbJh1M8FXlt7sq6nDNt8vJbvoXxDPfY6ykXs22wfD2D7b7bPAu4JbGj7zbZvsP134KPU3131\nU9vfq/NEP0tJ0AbxXOCttv9i+ybKa+SukjbvcszFtTflUkmX1ue/3DA9SRtRktEX2v7jPG08HPiL\n7c/Zvsn2FykX/Y+qydg3artIuiOwLfDNhV7X1U2U3vLr68+5I0n/QXkPzSW1c3NLW19HV7DsNTTf\na6zb9ivq/2vVbVewvNbX53zbF2p7TeZ3LHC/+vPajZJIzfUGPwA4psNxAO+zfX6dp3kky94PTwQ+\nbvvP9Xd0cw94y42xV9u+uo5ieBfLeoGPYdlnwv0ov7O57+/fEs+/gTtK2rD2Jv+qQ4zt7+WOr6e6\n3cAnaw/2TbZvaDt+F8rNiP+u789/2f5Fy/YzbX+svt8+DWws6dbztU25WbVQLJ+w/XfbVwDfBf5q\n+yf1M+grlBEfCz0vU17rO0pazfYFtv9cj3sq8C7bZ9SbdK8G9m77LHqT7X/b/iHldfh52xfXXvif\nsuz3PshnREQscklKI2KOKUnpU5ln6C6wEbA6cHxL8vBdyp1uJK0u6cN1eNfllIvCdepF7JzzW76+\nlg4XwEO2tQlwzs1Pqlzs/rPL834xZVjYqcDXgM+zLBm/ijJfsNU63PJCv90FHWLr5OyWr8+iPAco\nPSxfa/l5/xm4gdJzN9+xm1F6jNptCWzSlvi9mtLLPF/M1wCrqsPw3AVsCby35TxzP/tNuxyzge31\n5v5Rfgetw8ZXBr4KfNb2LXq6qk1o660CzmTZz/LzLEv2nwJ8rSaYXV/X1UX1BkdXku5NuQnxny29\nl1fV/1tfR+tQLtrntre/xtbtsn2d+v+VHY5tfX1e2WF7t7avYh62/0bpsbsrJSn9FnCeytDX1iRw\nPu3v1TXq1xtzy9f+nA2BlSm/w9btc6+jY4HdJN0WWJGSeO1ah6muY3uuh+9ZlF7Yk+tQ1Yd3ibPV\nQq8n2mJvtzkl8ex0Q+zmn0n9jILlPyda2+4lltb373XAhW3ft34+zttWjeNJlKTxPJUpCNvWfTbm\nlr+LlVj+s6j9c6/T5+AgnxERscglKY2Im9VetdOBvYAj2jZfTLmwuFNLArFuHeYFZRjeNsAudajc\nA2gZhtmnYdo6j3JBCJQElzJEbl62L7X9NNsb296RcoE715tyErC1WiqpUnoQT5o7vMfns5At2r6e\nS4rPogylW6/l3+q2/9H6FFq+PpsyfK7dWcDf29pZ2/Yjenwe/TzPs4D92861hu1f9tFGu/cDl9l+\nbZd9zqVc7LbakmU/yx8BG6lUtt2bkqTCwq9r6OH5q8zd/Qawj+2jbj6w9A7+g+V7y+9CHd5LeS3t\n1Nbcjix7jZ00z7EX1Hb/CqzUNiz5Lm3H3tzjXYdn3n6Btk+ks2MoQ3FXrr1fx1CG4q7HsmGe/fgH\nt3ztz7kYuB7Yqm37OQA16b8GeBFwjO0rKYne/pReOeb2s/0U2xsBb6MUKluNhS30eoLur4uzgS1q\nj+8gWtvuJZZOx7br2pbL3OiHUAo/nUKZHw3lc3WrlmO2oNwga008ezWOz4iImHFJSiOi3bOAB9m+\ntvXBesf/I8B76lDKuYInc/MS16Rc3F9e5y3NV4ym1wR1mLYOBx4haVeVyqYH0eWzTtLWkjaQtKKk\nvShDOd8MN881+wPwekmrSnocZb7p4fXw84HNak9ev8+x1WslrSZpB8pF/lyF1EOBt8wVAZG0kaRH\ndWgDypDcl0u6u4o71GN/DVypUqxntfpc7yxp5x5jvoCSzPTiUOA1WlYBdp0617Ufrb2kB1B64p62\nwDHfAbaR9GRJK0l6EmWu7bcAXIY/f4VSzGc94If18YVe1wsHK92ZMgz8hba/M88un6b8jtdVKcbz\nbOCTddvRwI2SXqxScOnFlCGUP2k59lmStq9zCF9HGeJNHUZ5BHBQHV1wP8rc4M/UY78G3FnS41QK\nN70e+EN9Xc+1/TKVIlibAi9riWs+xwAvZNn80aPr9z+tw1B7Nff7/TKwT31uq9PyPq/DTr8MHFyH\n1m8JvJTl57nPxTPXS3t02/dIetrc75UyVHluiOpCur6e2p7HfH5FSbr/t/5uVpV03x7OO1/b/cbS\nLa7vdmpL0q0lPbrevLie0jN+Yz3uC8BLVYoarUmZUvHFLj3B3Z5TX58Rklaur98VgFXqz3KpVySO\nWHSSlEbEcmyfbvt3rQ+1fP1KSqGUX9ZhtT+k9GhCKZyxGqWH4xeUi5/2C1W3fd3pQnbgtmyfBLyA\n0hN2HnAJ3YfZ3YNS4OUKSkGip9huXRZib2Dn2s7BlKGZc8PNfkLpbTpf0txwufme10IX7MdQfq4/\nolQC/lF9/L2UokM/kHQFpXjJLp3atf3VGuPn6/M5AlivXjg+gtIrdjpwEaUC7Not7XSL+a2UpOpS\n1QqsnZ6T7a9TeqS+WF8jf6IUuelkvnZa49mbUujmPC2rwPuqec57SX2OB1JeNy+nFGdqrYr8eUqR\np6+0XUx3e113fK4tXkbpjf94S4x/atn+esqw6jOBoyjzfn9Q4/438BjKPNRL6/+PmZujaPv7lPmb\nRwFn1HZab9I8n/JeuZCSsD137vVr+2LgPymviUsor+Ob58ra/jBljuefKO+BI20f1uV5Hku5YTSX\nlP68nru9yFG3n1fre/V7lPf6Tyi9vj9uO/ZFlMTodErv5+eoCXl1TFs87d9Dee2dKOlKyvJPe9v+\nV5fYqLH18nrq+Dzr6+uRlJELZ1E+g57Y/jPo0tYwsXRsv352dWprBUrify5lSO1uwPPq8R+n3Ow4\nlvL7mOul7hT/fOZi6Pcz4of1fPemfG5dU2OLiEVEC93cVKmO9x7KkLaP2n5b2/bdKUOWTq8PHW77\nzaMPNSJicZG0FeWzc6U+exwiIiIiFo2ui63XuRCHUMq0nwv8RtI323oRoMzn6DakLCIiIiIiIuIW\nFhq+uwtwWi0Bfj3wReDR8+yXsf0REYMZVbGkiIiIiJm0UFK6KcvPxTqHW5bsNnBfSX+U9J25iesR\nEdFdveG3YobuRkRExFLWdfguvd3B/x2wue1rauXKr7N8gYiIiIiIiIiIeS2UlJ5Ly3p/9etzWneo\na4PNff1dSR+UtH5bVTgkZYhaRERERETEIma776mdCyWlvwXuWCtEngc8CXhy6w6SbgNcaNuSdqFU\n9L2kvaFBA4yYJpLeYPsNTccRMay8lmOxyGs5FoO8jmOxGLQjsmtSavsGSS8Evk9ZEuZjtk+ui5nP\nrXH2eOB5km6grB21d8cGIyIiIiIiIlos1FOK7e9SFq5vfezDLV9/APjA6EOLiIiIiIiIxW6h6rsR\nsbyjmw4gYkSObjqAiBE5uukAIkbg6KYDiGiS7MnUH5LkzCmNiIiIiIhYnAbN+dJTGhEREREREY1J\nUhoRERERERGNSVIaERERERERjUlSGhEREREREY1JUhoRERERERGNSVIaERERERERjUlSGhERERER\nEY1JUhoRERERERGNSVIaERERERERjUlSGhEREREREY1JUhoRERERERGNSVIaERERERERjUlSGhER\nEREREY1JUhoRERERERGNSVIaERERERERjUlSGhEREREREY1JUhoRERERERGNSVIaERERERERjUlS\nGhEREREREY1JUhoRERERERGNSVIaERERERERjUlSGhEREREREY1JUhoRERERERGNSVIaEWMnSU3H\nEBERi5+kVVu+XlvSmyTlejdiyuVNGhFjVS8Gzq4XB1s0HU9ERCxOkrYHftByI/Rq4CHAfs1FFRG9\nSFIaEeO2DfBvYFXgiNyxjoiIcbB9MvAo267f3wgcABwsac1Gg4uIrnJxGBHjdlfg17YvBO5p+6am\nA4qIiMXJ9mVt3/8B2MX2VQ2FFBE9UL2ZNP4TSbadeWURS5CkVW1f13QcERHRnaSdgAfZfk/TsSxE\n0kq2b2g6johYZtCcb1H2lEraRtIrmo4jIookpBER068mpD8GXidp5abj6cHrJL266SAiYniLMikF\nHgrcsekgInol6XmStm06joiIWNJOAnYFNrZ9/agbl7SxpNVH2OTuwO9G2F5ENGSxJqW7A0c1HURE\nN5IeIule9dt/ACO/AJhWkt4gadOm44iIiGVs32j7r7b/Pcp2JT1Q0j2BQ4Cnj6jNlYHtgJ/3edyX\nJG0zihgiYnQWa1L6AeAHAJI2aTiWiFuQtDbwcWAVANtft316s1GNnqQNJd1qnk23Bp4z6XgiImIZ\nSetP6FRrAasDhwIvGMXa1bUnd9MBChi9FVh0f28jZt2iLnQk6bbAd4CdU/Ezpomk/wPWtv3spmMZ\nJ0kHAWfb/kjb43em3DjachxDxCIiojtJKwK/Bfayff6EzrkC8GngxbYvmcQ5I2KyBs35FnVSWs8r\nT+pJRvRI0mbANUv5j7KkXYHjcsMoJk3SVsBLbL+k4VCiD5J2AA61vVvTsSwWklbpNFS33ti37Qsm\nHFb0qI66uhxYJTd4Y1qk+m4HSUhjGtk+Z76EVMUaTcQ0abZ/noQ0GvIA4DZNBxF9+wvwyNYHJK0g\n6Y2S1mkoppm2wNzRfYEHTyqWGMhuwN+SkMZisOiT0ogZ8xTgE00HEYORdC9Jm4+wvTvX4iAxWvcE\n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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "fig = plt.figure(figsize=(16, 9))\n", "ax = fig.add_subplot(111)\n", "xs = [x * window_size for x in range(len(result))]\n", "ax.plot(xs, [np.mean(vals) for vals in result])\n", "ax.plot(xs, [(lambda x : np.percentile(x, 90) if len(x) > 0 else None)(vals) for vals in result], 'k-.')\n", "ax.set_xlabel('Chromosome position')\n", "ax.set_xlabel('Heterozygosity')\n", "ax.set_title('Mean and 90th percentile Hz over %d windows for chromosome 1' % window_size)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "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.9" } }, "nbformat": 4, "nbformat_minor": 0 }