{ "metadata": { "name": "", "signature": "sha256:6f69c130842edd69693b0d952c6ebf3cbfe94d169fc88d4231b8899a191db19e" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "``anhima.ped`` - Pedigrees" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "np.random.seed(1)\n", "import scipy.stats\n", "import itertools\n", "import random\n", "random.seed(1)\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "import sys\n", "import anhima\n", "# dev imports\n", "# sys.path.insert(0, '../src')\n", "# %reload_ext autoreload\n", "# %autoreload 1\n", "# %aimport anhima.sim\n", "# %aimport anhima.gt\n", "# %aimport anhima.ped" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# simulate parent diplotype\n", "n_variants = 1000\n", "p_alt = .5\n", "parent_diplotype_truth = scipy.stats.bernoulli.rvs(p_alt, size=1000*2).reshape(1000, 2)\n", "\n", "# introduce some missingness\n", "p_missing = .03\n", "n_missing = scipy.stats.binom(p=p_missing, n=n_variants).rvs()\n", "loc_missing = random.sample(range(n_variants), n_missing)\n", "parent_diplotype = parent_diplotype_truth.copy()\n", "parent_diplotype[loc_missing] = (-1, -1)\n", "\n", "parent_diplotype" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 2, "text": [ "array([[ 0, 1],\n", " [ 0, 0],\n", " [-1, -1],\n", " ..., \n", " [ 1, 0],\n", " [ 0, 1],\n", " [ 0, 1]])" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "anhima.gt.count_called(parent_diplotype)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 3, "text": [ "969" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "anhima.gt.count_hom_ref(parent_diplotype)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 4, "text": [ "218" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "anhima.gt.count_het(parent_diplotype)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 5, "text": [ "498" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "anhima.gt.count_hom_alt(parent_diplotype)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 6, "text": [ "253" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "# simulate gamete haplotypes\n", "n_gametes = 20\n", "gamete_haplotypes = np.empty((n_variants, n_gametes), dtype='i1')\n", "n_crossovers = scipy.stats.poisson.rvs(.8, size=n_gametes)\n", "p_mendel_error = .03\n", "\n", "for i in range(n_gametes):\n", " \n", " # randomly choose which parent to start with\n", " parent = scipy.stats.bernoulli(.5).rvs()\n", " h = parent_diplotype_truth[:, parent].copy()\n", " \n", " # simulate crossovers\n", " loc_switches = sorted(np.random.randint(0, n_variants, size=n_crossovers[i]))\n", " for l in loc_switches:\n", " parent = 0 if parent == 1 else 1\n", " h[l:] = parent_diplotype_truth[l:, parent]\n", " \n", " # simulate errors\n", " n_me = scipy.stats.binom(p=p_mendel_error, n=n_variants).rvs()\n", " loc_me = random.sample(range(n_variants), n_me)\n", " h[loc_me] = scipy.stats.bernoulli.rvs(.5, size=n_me)\n", " \n", " # simulate missingness\n", " n_missing = scipy.stats.binom(p=p_missing, n=n_variants).rvs()\n", " loc_missing = random.sample(range(n_variants), n_missing)\n", " h[loc_missing] = -1\n", " \n", " gamete_haplotypes[:, i] = h\n", " \n", "gamete_haplotypes" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 7, "text": [ "array([[0, 0, 0, ..., 1, 1, 1],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " ..., \n", " [1, 1, 1, ..., 1, 1, 1],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0]], dtype=int8)" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Diploid inheritance" ] }, { "cell_type": "code", "collapsed": false, "input": [ "inh = anhima.ped.diploid_inheritance(parent_diplotype, gamete_haplotypes)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "inh" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 9, "text": [ "array([[1, 1, 1, ..., 2, 2, 2],\n", " [3, 3, 3, ..., 3, 3, 3],\n", " [6, 6, 6, ..., 6, 6, 6],\n", " ..., \n", " [1, 1, 1, ..., 1, 1, 1],\n", " [1, 1, 1, ..., 1, 1, 1],\n", " [1, 1, 1, ..., 1, 1, 1]], dtype=uint8)" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "inheritance_colors = ['red', # parent 1\n", " 'blue', # parent 2\n", " 'green', # parents both ref\n", " 'orange', # parents both alt\n", " 'black', # non-parental\n", " 'yellow', # parents missing\n", " 'white'] # missing" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(figsize=(12, 8))\n", "anhima.gt.plot_discrete_calldata(inh, \n", " colors=inheritance_colors,\n", " states=range(1, 8),\n", " ax=ax); " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAqwAAAHMCAYAAAAQ3vr3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHpFJREFUeJzt2Otx4zCUJlBgE9lQZuKQg5EUjBXHTigTCfaHRZrEi5St\n7r67c06VSzKJN0D6K6cEAAAAAAAAAAAAAAAAAAAA/L8hT+/+71TSf/+lkQAA8D/Zf6WU/rN3439N\nq/13SqWklFJJJX19plRS+Xx+v6X978v35fpXpVTKdzun6j/vba8v93bXnmXq6+sYbvv6u3Y37W/H\nvI67KlfXWddkM4fdvdKux3Z+62enr6a927P2Zl51u6Of0bjq9dte291P471q+q/WfLvn9VjKZ1rn\n3ptHd29u6Xv8nf3qrVt3zPUcq3PWPWudczQ7Y7Mze1i/rrvZp2lbnT1pzttgXs21bZ+bNV/Owzqu\nlPpt9MazrPXm82tP2zE2Z2gp11uz5+/1eRuu/9JvdU52e7K0WT9zdftpWaP9/eb5rNoopXpXdt4v\nzVpU7576HVLPeR3bdq9uae176aV5v6TO/c99uVI276XeT31u677SZl1Te22t2yv72a+zjKuUshvH\nru+y34v1/rZOSu0a9u5tykzXYrNm9ZrWc6v34mts32OcrVl9bbv33fu98s/+mmd06Wd75pd1+0zN\nfm2f1e36poP51+dluJbb9endr8o1Z6q09ZozcdTHwdnurnd9pqo1/34nds5jr//q/nSfS6fPQR/N\nfo7GUc+tel/uzke1xr1z+RzSf6SBeWAFAIB/TGAFACA0gRUAgNAEVgAAQhNYAQAITWAFACA0gRUA\ngNAEVgAAQhNYAQAITWAFACA0gRUAgNAEVgAAQhNYAQAITWAFACA0gRUAgNAEVgAAQhNYAQAITWAF\nACA0gRUAgNAEVgAAQhNYAQAI7VRgLSmvn9vvo3vb6+m2b2dX7zZvu9duupT22qjs5tqszqz+0ues\nn24buS0zWrujMc2U0s6xN99Svn7So78W9fh6YxjtVa/80f3enOuy3Tr5eJxHY579Pr1e2nqzsZeU\n17Mzmlevfl03pbT7voxluEaD/qbz3TxXa7mlz85Z7o1/1u/hOZ6dsdIpX+Z9He33rt/b+Ez2rh29\nT476LSmn9Dhez9nz1qt7Zp1TSinlZ5newnbG023ifqKfP603/pznY3v0703rXPrr9LK86eO2v1Wu\n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\nck/O3dwyGkcp322klNa/GaP5NNeuZfg3usd/WAEACE1gBQAgNIEVAIDQBFYAAEITWAEACE1gBQAg\nNIEVAIDQBFYAAEITWAEACE1gBQAgNIEVAIDQBFYAAEITWAEACE1gBQAgNIEVAIDQBFYAAEITWAEA\nCE1gBQAgNIEVAIDQBFYAAEITWAEACO1UYM2ppJyfn6ms1+rP5fv2etPOifq7uqV02x61v1Wu33Vz\nKimVeZ1Ru+myv7Zrc9DGsmZn5n40pqOy2/52vw/m1p1n2dzP833ptXXU19mzMVvX6Txum/KXzfUy\nPp+zMY/GtSt3z18/23XPr7U/6uNtLp22Hrm91nO23ES+P9voPHt/TTWPcj03lrfuwwtyKl8PYb1m\nvb1c6tyrvTqzd+X7HO8bO7fvTb2/IR+fp/Ivz1pKp9fvR25/rumI1mfwnWu6besvnpWSNv0uz2fn\nOa3fT6feQ7PnvV67yXukW/6Vss9xnHrH3l5/h/gPKwAAoQmsAACEJrACABCawAoAQGgCKwAAoQms\nAACEJrACABCawAoAQGgCKwAAoQmsAACEJrACABCawAoAQGgCKwAAoQmsAACEJrACABCawAoAQGgC\nKwAAoQmsAACEJrACABCawAoAQGgCKwAAoZ0KrCXl3c9yrf5cvm+v99oZ1i+dujl32x61v5Xv1bjz\ncZ1eu+mxuXYpw7XYjm025l690RjOlJ39jPpv2sv9+6Nx19+P+jp7NmbrejSP9ftjcz2Py76yb83P\ntRyOvaSc0qUM1zGllMq1dNt/1XY8O49BW2VQ/hW3zrXOMza9/gs5/WwO+X5uLD/Zh9Xl5+tbn93V\nspfv2Lte+81A3tTPnzAZ+2h/h89IXX9zrpbv26dzVH72Jl7LlX4bdTvfg+5cG4xnOsZ77o6n18bR\n2LrjrMYwm9eov95c6nFO12FZ28t4jZu55PmYe/2PxjCrN1uHpr3n+T2zv6P2e+u3lnnkw7VOKa3r\nODs3R3Oo12n3DN7aeR290/2HFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUA\nIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gB\nAAhNYAUAIDSBFQCA0ARWAABC+2eBNafy/cvl+T3nl+qWazkoua+z67M3js7vjUde21rKbuts7/Wu\nn+mrrre7duvPa/TT6380lt79Zp6Xdu5n+urNaTaPes5HYztat6P9OFq35ueep3XX74/cX8el7j0P\n+3hFvueUymt1XnY7+P0XZvs1e25H9Yb7fZu307tXX5vt02zfR+3uxvnRPjM5lXVvcyop5/64j56z\ns2u8XsvzsY7W49Wz+06zvrfPbG37t6Sk3Hzfzq6pm3JKtzRYibxrI+V+G2sf17K/n3NKqTR1euPp\njvHyfeZ3Y3r202tjNLZtG6OyvTWqy4/6a+ZS+ms6XIdlbR/f5fJHap75Zk9LO5fRus7GkNL+Fdzd\n/4P1SCl19yt/7Mfb7XtwVmdj6N1f7z3G53g0tzXLdZSUu8/gbG1r/sMKAEBoAisAAKEJrAAAhCaw\nAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBoAisAAKEJ\nrAAAhCawAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBo/yywlpS/f3nkccFJ3Xw/Vy+n8lL7\nKaVUrt918sfL1aeG47mdqHymzFN5fdrHDvZqu25njeqsZ+T2cpP/xO5Mj8r8YH1qOZX1DG3PUs77\n+3WZumxdLpXq90s11ttkUL88bMvabT/ra3X5Xpmym1Vuy1fjPOpj1u++j9KMu/d7r91d+c/B3HI7\nv6Zup+/ZXGftNO1dSirX0m1zvCZ/30/7Pvu3ZOhWtfeDvznLONa6a5u/GNsjd5/ber7veC+dUr9T\nZvLv9iR/fD1Ph38/ftnP292en5t3Vfn8JyNpHGahV7Pci+fOf1gBAAhNYAUAIDSBFQCA0ARWAABC\nE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA\n0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAgtZGDNqby1vZLy+tO7V5dLKaV831z/nLfX\na6Pur1e+Hk8ppdter+yov5JyKuXret5UWa7VY+mOb1B2dG3bVr63a7P+fmnnt9Yp5/Zp1vf6/VKm\nY579fnT9cO1G/S17ch/XP1qDWX/r99v4fK5n+2Mw31z9/hiPoZFfKHtWOXgPHN3v2D7X73XQ7u1Z\n6uOF99uL83vpvXl5ce0e+S1rV67Pfs/M7fJC2bOWNm/va3KxXf/Z89uMZaNcv99d0zG+siazdp7W\nvf3pWi99bOqve731yjvlN+NJnb/bvfH8Qv7oXXzj+2Xb1vas/KCP4bvh9lo79Zp+3/jZ2r76TgkZ\nWAEAYCGwAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBo\nAisAAKEJrAAAhCawAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQ\n2qnAmlPZ/SzX6s/l+/Z6r50z9Xt999oZtT8be33/qN2jfnptzMZcf65l7rnbXq/sqL+cSsq503ae\nr/VufIOyo2vTtrZr8WjnV4+v19/Zvtfvj3zqfOZUUrl2xnm0vp0yqXz9DPc2j/ey3rejczhdo9vm\nfumft/I5OKelWv+Pdq2G57qUbtlendGc0qXa27y511uDzprOnr9ljE2/kz66/W7bL/29bH6/ff1e\nJmNo+sj73+v+R3Vn7a6fz2ekaed2/J6Yrce2zvJs7crd825uvTmtdR9t2fqc7cZTn5/Nmdq+G5Z5\n9tZl9E4ZPpeX/n731qNpY/OeWu/f22vbz/V6Hp+1uuz2zE3H82y3p3cmdv3cnmuxfSbvuTlPdb3R\ne2H7DIye6XoO9Z43bVZ/X5t6t2q+l3659Xx/7scw+j6cf+nvbW9u2+e1+34ZzKtuf/S8j575Zu4f\n/f0YnZt6PkfzHJVZ+A8rAAChCawAAIQmsAIAEJrACgBAaAIrAAChCawAAIQmsAIAEJrACgBAaAIr\nAAChCawAAIQmsAIAEJrACgBAaAIrAAChCawAAIQmsAIAEJrACgBAaAIrAAChCawAAIQmsAIAEJrA\nCgBAaAIrAAChnQqspaRUUl5/Ukrdz+X79vqunZP163Z6bR+136s/qnPU7lE/3fGWzvWyLz/qq9f2\nrOzspzfm2TqllHZjH+1Z/X22jq+cjdk52LV1O96H9fNShmPK9/E8uutb2vGXlFPKXz+j/RrO61ra\nPg7OYb0GwzXK/WetN6+U0jr+kvLXuD7btRrubc7dsvXcZ3NKj16d0qxXPf7e3LtnI4+f/6N3w3Dd\n8nifu3N/tGsxO3N1G0fPyOw5O3qOU0q7MzV6Hmbrsa2T71/P3mgOo/mudet619Kcs9HarvceB8/T\npTR1Zs9U006nz9F6bP+O9tZztKf1tdlYe2Nc1nI7hqP51qZnplqL3fVb/9yd6W+2lrNy3Wfs+d7o\nzWWtd6vm+xjva28Mo+/D+efBOtZzK9Xv9Z53csVsTHWfh8/mNv99dtbjWoZzqOcznefsOX3yH1YA\nAEITWAEACE1gBQAgNIEVAIDQBFYAAEITWAEACE1gBQAgNIEVAIDQBFYAAEITWAEACE1gBQAgNIEV\nAIDQBFYAAEITWAEACE1gBQAgNIEVAIDQBFYAAEITWAEACE1gBQAgNIEVAIDQBFYAAEI7F1hz/sPD\nGLiUwyL5o3+9XI/r/lHVmuVUjtfx9sO+yutzzWlS5437XVKnrTPjPdr728Ecth6D+fxg3V5amxPt\n5/uJ9m4vXj9rMr5T4zrh9+1Uz9HJ9T99Nt7mhf5+cu5eNHov/nH13EbP3uJ2vumXz9KZde6M7ydn\np/l70+s75/fv/avt/au/5f/Y6bNzInN0Vfvwm/zR1D3asz+9pwftv+tvxRn+wwoAQGgCKwAAoQms\nAACEJrACABCawAoAQGgCKwAAoQmsAACEJrACABCawAoAQGgCKwAAoQmsAACEJrACABCawAoAQGgC\nKwAAoQmsAACEJrACABCawAoAQGgCKwAAoQmsAACEJrACABCawAoAQGgCKwAAof3dwFpKcymnsn5u\nv6eUUnrk9fp6rSpbPlP3er7n77bK18+2jbr/uv5MPaZeG7226vJNX7fnZynDOt2x5Lbf2ZqN1mG0\nF71x199nfTX382Ae27LPvV/WJaeyftZ97dr46K9bd4zVOEZzWc9O6e9rr27T/rNuufbPxWzv1nNR\nle/NfzSW7lrl470ard103gdr33N0xuq1ODPWM8/20TPRu9bfp7y7ny7jua/n4tLv+2hNz8yxfPbb\nrT/PnKPZmjTrkV97v2yf6aN63bGVzviWNnPVxq1p/vR8D8d43+9//U5e7+X+Wtd9za7tO++8TP+G\ny/HfyVUp4/KdTHDY1p/02K9nuZ7sr9qH5Ty8Yukr3/P3eo3m+8r6b8c1Okd/cF2Xv8nv4D+sAACE\nJrACABCawAoAQGgCKwAAoQmsAACEJrACABCawAoAQGgCKwAAoQmsAACEJrACABCawAoAQGgCKwAA\noQmsAACEJrACABCawAoAQGgCKwAAoQmsAACEJrACABCawAoAQGgCKwAAoQmsAACE9rPAeik/6y3n\n5lJJef3cft/e396ry27HUpdb28pfP8u9/NH2P6q/a+taUv5ox1Q2y7G9N2q7meet6ijv69XjrOc3\n+xn131un0V70xl1/P+pru/azNW5cyvf63NrbpTqK5fN809s2cxqf6WU7cm77O6q7nM+1jfsLcw9o\nOtd/6Gtc7xtbuf6yrceJfT5T5g9rnsXbe9vfvmv/hM6flOEcSu/hfaO/+Wxs3/Kzayl9n+X6/qiN\nUX/bOumRu2V7/eecduV3/eV93d5cdj/Vfo/m0oztNq/TjHkpc8/dcYzmPNqTut/u5/Zvw+P7j01O\nJaVL1f/z3TFqfzamen226zo7U932y2C9F5ey/k3OqXSfzdna1vyHFQCA0ARWAABCE1gBAAhNYAUA\nIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gB\nAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0F4OrDmVlB7563P5/fm5fN9er+v26o3u\nba/3rqWUUnrk/vVO/eVe+XzevEza7c39nlP5bMeU86ZMp7+juadbu07199G46v6a/i8l5Y+2/9E6\nHX3v1W/aK2397dqP5lJ6lzf7253//Pax22vFX+7vYPzlOj5vXZcXy7+gpN8u5r/2vvHn+x9Yi9v7\nm/yt5lm8vbf99V0bwGhPl3Nff+6ulbS+yWb1Rz/1/WWdu31Nri3vi7rt0bXtvKfjSSmlSxm+A+o6\nzTircY3qjubX+z5by9G4dn1s35W3eZ1Ru6OxbNtu1rSk4b2j9djJm/uP/lhH7ff2edTnqGyvraaN\nfDCHx/e53Z77rdk+1PyHFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSB\nFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhN\nYAUAIDSBFQCA0ARWAABCezmwlpT7n+X5/VLW33t1h/U797bXl2v5Y1+2137+aK916zxyt68za1BS\nXuc4Gu+o7d486/bX750+RmOp+y7lOcfPdm51e/X4Zvsym1tKKaXc1l/Pw6UM926pNzoHvWujOU3P\n17UM53B0vXdGeveO9r9cvxYk3/vtD8/hY3yGmjWfnLcz53S9Vo73/pXzsmv7uQ5n3wezfl+dV1Pv\nWrr3Rv3OzkL391tqzv9yFo/m1pvf8i5c65V2j0dz7bXbXZNBG7P1mK1bb03O1uuNbTbHM+ev118t\nf6SU8rn6Z5XeH8i6zLUtk+/vHUdOmz4eP2/79Lgux/N+m+18bn+w7do7z8qbz91vzN4tR951bv2H\nFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhN\nYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0ARWAABCE1gBAAhNYAUAIDSBFQCA0M4H1lLm\n93P++nzk/e/fDXwX/fhhHyml8nlY5FSZt2jmWN3ezjmV9ff6c1ovt9fqsjmVlPPm++Zar/9ee/X4\nRt9H92dz3Y3lkftzKaVpqzfeUT9H5Xft3vNwzEfX6/ujuodrcs+H9WeO1ujovB3NdddX7qzjZdzX\ndO2rZ39Zh7XPMm6nnv+sr2YepZ1XU++eu/d6/dbfe/fLtdPncv6X9btvnofbeG69+ZXP9l1R703P\nUubMs5ZTSeU6f2/U43pp3W7jc9eUHfQ3G0+vje56dNrMH2m3zrMx9tZguI+ltOe+aiel/dkYnbPR\n87vds1Gd2d43zjyXlxN7kvOwv9F7ZXa2pu+I7bvm1p/WyOy8vFT3RKYJ5d3jvXzv6Tv4DysAAKEJ\nrAAAhCawAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBo\nAisAAKEJrAAAhCawAgAQmsAKAEBoAisAAKEJrAAAhCawAgAQmsAKAEBoAisAAKHlg/v/J6X0H39h\nHAAA/M/2Xyml//zXgwAAAAAAAAAAAAAAAAAAAAB+4/8CCjQuTI+HUH0AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "inh_seg = inh[anhima.gt.is_het(parent_diplotype), :]\n", "inh_seg.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 12, "text": [ "(498, 20)" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(figsize=(12, 8))\n", "anhima.gt.plot_discrete_calldata(inh_seg, \n", " colors=inheritance_colors,\n", " states=range(8),\n", " ax=ax); " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAqsAAAHMCAYAAADyAuGOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEFNJREFUeJzt2Ft26joahVGpRvXrVNdPy/56SAiXALLxhWUy50OydwAj\nS7L5Bq0BAAAAAAAAAAAAAAAAAAAAWfrzh/+p1v7dZyQAAPxl/7bW/nf7x0GstmqtWn0/rbdaf1iB\nqvVJ51rfT+mjWVzp/daw53u19jVHt/Oz1rzNGsfO573UvXlLcBrXo3vCFvP87rmYul/fcW2dBtW/\n79P31uP3i9rTk+kX9/zDeMdNZa53b+QJTvvn9vp+53445H7kywvXZb/6dfafVQYEAAAbEKsAAMQS\nqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsA\nAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxOqDx6vmHrGqtT467OnNq9VgCL19\njWD0vCMYnstptifO38uv2dOM/fAW6fN3MpjH3up8saafy1qOsnaJ0q/LkVfX/ujnfSBTPt9baz9r\n8vJnffKansY2d79+wr1ttC4PHu9Xv858swoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoA\nQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAs\nsQoAQCyxCgBALLEKAEAssQoAQKw+eLxaq99//P5TH716BXu+11RVy8Yzev3S43+qqtZa763f2ZMs\nt8e1tubePuJ1UsNb7qMXXp9sb3X/WC8s4sNjLbHR4jwa6+me8PA8Ej9Ipjry2N/pnfMWsGZzr+uf\n57957P3q15lvVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEA\niCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIjV\nB49XVbU+etavF128wYPXVt1/7PTaue859T3q+5R7qzuv2Naa57anav0t8zXVlms6Z80e7emlzz2y\nTz7PGt4+D2ajG1Rv9XyuPmyTnO5Dh94fH7Ymmzvqh/teZuynfvXrzDerAADEEqsAAMQSqwAAxBKr\nAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAA\nxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxOqDx6u1+v3H7z/10auD1OBUe6vhc0avP5LL\nNazWDzX+V/bf6ByPNgef5oj3lFvv3ENV52u5tcz7UcIan+aJ5VLvmY/WOPnaOLL1r+v+8+OSb1YB\nAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCI\nJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCI1QePV2u1y0Deob5P\nrY9m4cFrn71u9PhaqvXWD75Gz9Zhr3lMcm9NjzoPRx33PY/OZcl95JUx7PVef1Xanl30OfX9EX/0\nzwj2s9c9pur8Jtf7s//8uOSbVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABi\niVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolV\nAABiiVUAAGKJVQAAYvXB41Xnn6310dNb661aDQ/7Yaomzc1bjr3l2EL19rVfF+3De/P2B+dyNd/3\nkN4Xrstf8cpeW2t/pu3z0XjWHO/NsWZ9nqXNW7Bf87r23IWsxdt7aDAPT8c3dw5XmvN+9evMN6sA\nAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADE\nEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADEEqsAAMQSqwAAxBKrAADE6oPHq7XaZSC/3rha\n64PRVeutD8ZX3w+PjnUko7mZMndH8Unn8kwNL8WDG12IB7hQe6tN1+nX8bfc/Ee9sJLGnTSWAzp9\ndm9+7zvAOu02FwfQr36d+WYVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhi\nFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUA\ngFhiFQCAWH3weNXWIzi9Qx8NZZneqtXF6d7+nz+mavM9t5qtxrrTtfeK3r7GNucaPfQ1/b3Gk8/7\nhT0xe36C98faTvO+tdtlq9Z/vfdfmPY1bmkp83RvDVmi//y45JtVAABiiVUAAGKJVQAAYolVAABi\niVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolV\nAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABi9cHjVau9UbUavt26r+/t+ehPJ9dfH9bj\nY7c+fH94ZNJeX7qBt7wAXnS6Zt41tKqo6biSPLZbl/t36b1/ip99M/F95j6flXzKhb3neRzpwn9k\nxjn0q19nvlkFACCWWAUAIJZYBQAgllgFACCWWAUAIJZYBQAgllgFACCWWAUAIJZYBQAgllgFACCW\nWAUAIJZYBQAgllgFACCWWAUAIJZYBQAgllgFACCWWAUAIJZYBQAgllgFACCWWAUAIJZYBQAgVh88\nXrXLMC7erY+G9Fxvu474bU4Ls3C6dlHf2+yIa3PksS/xaH/V8JbxNVc/z1vhmoajuNr7O7424fhz\nPB3L1veMNY6/9AN4zuv/2D20X/06880qAACxxCoAALHEKgAAscQqAACxxCoAALHEKgAAscQqAACx\nxCoAALHEKgAAscQqAACxxCoAALHEKgAAscQqAACxxCoAALHEKgAAscQqAACxxCoAALHEKgAAscQq\nAACxxCoAALHEKgAAsfrg8apdhtFab9VqOJw/7LQS/WuOeqvzn/uTeat6/vgDP8efsiY3Y/uT5s7z\ni+tCe7zfdpjTNe9Tw2O9cD6zrtt3mXJeB7mn7Pq5tfX+nnP8NcZykDVe1Rvu+6vfE6as24Lz7Fe/\nznyzCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAs\nsQoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQCyxCgBArD54\nvFqrXQaSpFpvfXDeU57Dey1do7p4ab+5UtLXv+r3mOe+vrVlx3g2jrWO39rXWrTWXl6Prc91DVOO\nveaeTNrfr8zrmvvriKpaa/31NVx7/VfdmxteZ3NNHctf34/z9J8fl3yzCgBALLEKAEAssQoAQCyx\nCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoA\nQCyxCgBALLEKAEAssQoAQCyxCgBALLEKAEAssQoAQKw+eLyqqrU+etrVK+Y9/6iqzv++Pd9Hc3B6\nzZ7zs9J69PY19hpumQP7K3sX9rTkuvqka3LCufRW695j3/GZc/nen7J2W5uzTnuv6c7v169+nflm\nFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUA\ngFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFh98HjVLsP4DL19\nzVYNp3WgqrX+2jF6q+XvP8eCsba2cLwL33uRd773jcVrvvK57L4HJ3p5XKe74NrrHbSHFks6l6qf\noUxd793u3WvM01b7cetjf4o993rSdfVttWvl4fEvf535ZhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCA\nWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhi\nFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFh98HjVkqNXtdav36K3RUe8+xatnd/m8v933j7C\nvXGljvVIqvXh/nq2X54da3TsKes3ZXxHUd+3jsTzeefYHu2no0vdu+++b+45LzX8uH6zRx9src1f\npHcv7F52Ps/e6vk+2mo8M47br36d+WYVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBY\nYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIVAIBYYhUAgFhiFQCAWGIV\nAIBYYhUAgFhiFQCAWH3weNUuwwh1Ovvev/7dR9O1k6SxtNZ6e7xLqvWnj7d2Pc3vkjCGRGFbjQ1M\nuUZnHc+eYQP1nStr7tW1Tb2WLsPqU66V9a77/vPjkm9WAQCIJVYBAIglVgEAiCVWAQCIJVYBAIgl\nVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYBAIglVgEAiCVWAQCIJVYB\nAIglVgEAiCVWAQCIJVYBAIglVgEAiNUHj1fdfdG9v/IJqvWr9a1qrY92yQvPPZrbeXnpGAean/q+\nNbjWrx1pDfmt7nzk9Va//3765Hu22DbDn3G6D97bP4s+JLfYQ1P27otur5W7187i97j8deabVQAA\nYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJ\nVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYvXB41VTjnJ6\nVu/3/380VfuM/dk8jebw5vHevv5fwyVd0cJ56q32He/eVpif1nZe05FH53SUa/7T92ziOqxxP517\nXlvNw16fDRuL38ef6kP2zyQvnmu/+nXmm1UAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUA\nAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABi\niVUAAGKJVQAAYolVAABi9cHjVeefrfXR01+w5bF30lu9ewhvNXUJq/U/P1f3pM1L0niqtr01LD3+\n3Lmq71vuHvN7Oba11zRpjxzNUT7ytr725r5vXeRKb3X1/7l6q591WHqSv8byrolby5s3aL/6deab\nVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUA\nAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGKJVQAAYolVAABiiVUAAGL9d/D4v721f1rv\n241gy2Pv5hPO4XVTl7Bf/OQsbV6SxrP17WHp8efOVb/zr630Bz/XPjbzHOUj713jfPS+/eZ/y4bX\nVzy/m7EcZYEfef/4/333AAAAAAAAAAAAAAAAAAAAAIAp/g8gI3uK8WJgdwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 } ], "metadata": {} } ] }