{ "metadata": { "name": "", "signature": "sha256:3c4bbf7288c7b3da61df2fe56a22589fa7435522e1a10aadec2e8f9addfe1bee" }, "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(42)\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "import sys\n", "# import anhima\n", "# dev imports\n", "sys.path.insert(0, '..')\n", "%reload_ext autoreload\n", "%autoreload 1\n", "%aimport anhima.sim\n", "%aimport anhima.util\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", " [0, 0],\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": [ "214" ] } ], "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": [ "502" ] } ], "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, 0, 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, 1, 2],\n", " [3, 3, 3, ..., 3, 3, 3],\n", " [3, 3, 3, ..., 3, 3, 3],\n", " ..., \n", " [1, 1, 1, ..., 1, 1, 7],\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+/AAAHl1JREFUeJzt3Gtu6ziwLlDy4I7SGUzswcTT5PmRWJGoIiXHye46uGsB\nQWyJ4qNEKR82Gl1bawUAALL6n/96AgAAMCOwAgCQmsAKAEBqAisAAKkJrAAApPb/Zidrrf4XAgAA\n/BOttRodP/4X1msppbTNT/v4Onb9OvJRtue+rmlt9fnj+9j6+k1/fd+r449zm2NfbfrjyxyCuS/9\nrvpvH+Vzruux2rbd8rmV8vm/Avvub9TH5892Hp/ttusczimqU9d+P97+XoX13dR4eyz8XPb3ajd+\nX/Pu/LpGy+fHekrXdtVu6Wddx77W6/sw2V/RHJd7supz2VfdvDbXtaAG/TyDPbuZR3R9f+1jjkd9\nDWre/+6fq12NumdrtK7RWLu5jZ69bv3R87jck2ito3042f/ruvf7ZHNPro/x2759NEbZnn/sqX7c\n3X24lt27ZlTTzeduvPV813t3M075GquszpfVuY/t50fbzX1btVu+Rz/9vv0ae33Nro/V+2C5Nmr7\nsR2rb7/ps19ndz9316zr8xGPt34WwzHX/QTzWNe0X1tU/80YX/MP198fm9yrcL5tP7/l2n7caH99\nbM+H9+yjTNe/qfvop9/T0fmuXbSn+p/dfj0ao5trv7e39W37uZX99cN5Rvupq3c07vCeRevr1xLV\nKji2+9u7XsPu/RO0W9enzPlPAgAASE1gBQAgNYEVAIDUBFYAAFITWAEASE1gBQAgNYEVAIDUBFYA\nAFITWAEASE1gBQAgNYEVAIDUBFYAAFITWAEASE1gBQAgNYEVAIDUBFYAAFITWAEASE1gBQAgNYEV\nAIDUBFYAAFITWAEASO1UYG2lbn7KpX3+XrdpZXMs+jw7tvQdtFuf69tG85zOPbimXFowVhsXpNZT\n822llvYRzK3ur9vNqfs8azv76dvt5lJKaR/xGpbPrZRyHd+ro/sTfX/UfLSWqA7tvX3us3au/WjO\n0ff1PWmllvo2r3EppdTb15yCc+tnJarZaN3hWt7jWm1+v7fd2NEzNh2zzZ+hWR1nz/HmmkvbrWd6\nDx/n39upccP9H7yvRnXcnbvP71VUq9HaRm2icaP7EvW3tH3Up877ngqeycj62Qi1c/38J+5BfZ6d\n78k6nXI0dne+3ur8utXxx9+eX9Hvq9+swf8Hlvs2Ol/+j9azff99O2NYh5PvLf/CCgBAagIrAACp\nCawAAKQmsAIAkJrACgBAagIrAACpCawAAKQmsAIAkJrACgBAagIrAACpCawAAKQmsAIAkJrACgBA\nagIrAACpCawAAKQmsAIAkJrACgBAagIrAACpCawAAKQmsAIAkJrACgBAagIrAACpnQqstbTNT7nX\nz99f50oppdbvz+vjmzaTY0vfQbv1ub5tNM/p3INryr0GY9XDepQ2n+9y/BqvL5pP1N+obXtvu/FG\n6+3Hr6WV9j6+X5u2dT+X/vPs/kTfHzWf1W3Xx61+7rO6vyas2zWe82fxgjmta/MRz2u3llvdn7uu\nxuv2Vj/PU2u/7fficv6xB291t4bpfmvBmHX+DEV1jMaaPdvlXnfrmd7Dx/nV+pZz7XsfT+/Tve7W\ntO7ncf1SmvfxMzcco38XXPZz/rG6qlcbrCPYI0+7n+vj8WwM1XE/63fOPzWoWyllOt9d0+Dd9dS1\nR2Nfx+c3tRvN+Ym1vORsDa7jU/Xt58Mv187u6xmvXv9LWpnUM8kcQ2f222X/bv0p/8IKAEBqAisA\nAKkJrAAApCawAgCQmsAKAEBqAisAAKkJrAAApCawAgCQmsAKAEBqAisAAKkJrAAApCawAgCQmsAK\nAEBqAisAAKkJrAAApCawAgCQmsAKAEBqAisAAKkJrAAApCawAgCQmsAKAEBqvx5Y69v2e3tv359L\n/e3hTmvtuM2zat2ubzjWtTv/S3Wo9WQ/l3jx9fbiPK6vXf6MZ2t2dL/Plu5HruNT0X55xWgdR/WK\nrvuLZ+QvPdbw6j7urz96rlqpm5/1ZJZj9+/vv+rJjdu/j3/kenD+sXF+cQP99nPyTN1qGY/9yv08\nde11fGq0z5da/fYDPPi7MdXP4Tpp+vF897trX32RD66f7YF/7k//WK2cud9P7Inl3fP1Liytvfyu\n9i+sAACkJrACAJCawAoAQGoCKwAAqQmsAACkJrACAJCawAoAQGoCKwAAqQmsAACkJrACAJCawAoA\nQGoCKwAAqQmsAACkJrACAJCawAoAQGoCKwAAqQmsAACkJrACAJCawAoAQGoCKwAAqQmsAACk9quB\ntbVS2sf2WL3Vz99vpdTSftzvq2rt+nz/7LSV7xOt1OVnOp9Vu3qruz5Knffz0zrsXI+b1LdSyn2+\nnoen63ww/qPGv+FMzdbz7+/3M35jv408nodTc7jEEznan6X8bI+9UrPTY7ydbxveh+vvzGO6Nw/G\nqJs3QFuOrc/1bfvrz/bf93F0ru9n/T6ezbWf8+bzdTz3WlqptfsdrG8Z51bP1ejxdyNoG9VhdH7U\nfynfe3FUvzPjzdqM6j2t9YljfV9Lrbr698/aaO8M78W9fj8nbbBnunfUYw6j+ozWF30e/QzrMHkW\njq55tn10fvR5th9KKaW08b565n49ntUz74iwj/v42YzaHO2FXRYc/H05ex9K8S+sAAAkJ7ACAJCa\nwAoAQGoCKwAAqQmsAACkJrACAJCawAoAQGoCKwAAqQmsAACkJrACAJCawAoAQGoCKwAAqQmsAACk\nJrACAJCawAoAQGoCKwAAqQmsAACkJrACAJCawAoAQGoCKwAAqQmsAACk9quBtdbxufbxN/0ubd6e\n7PP22Wkt7ftYacvP9Nqu3aiPo35edj1u8kzdz9T5GY8a99ofleW35v/Tfn5zXbWWUu7xRP58Xw20\n989xW9nOq5V6eu3n92OL78N1PK9njPbmbJxlvIPh/mp/n3Fmb/z2/Ib9XX/Q1w/u5U+98jfprP/q\nWS1lvr5Tdb6077+TdXDN+h11+du1/vVz9fTeW633lbnVeub6rsGo1tefz+Osx1z7vwPlXv98D/gX\nVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1\ngRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBI\n7VRgbaVufh7H+t+Pz+vjUduj6/t2Ud/r76WU0j4Gx4O59+dnYx3VY9bHaM7RdZv+235+YdtrN147\nP/6oTkefR+ePxtqMV+P7sKvrug5t0HdQq81cg+t23y/t63NbaribVxusZd1XHdd4tF+itU/34Ndc\nj56po/02eqZn66u3+FwpZbmnR/slEq/n/Pwf81rfp6X9pU3nMHy+rvEz11pZ7vOwxjW+7/2YpZTS\n3lvpje7L9Nx18g5e1aCUz/kP99F1X+fR3NfrDffudbDmybNRb+P30rqf4V4dvSdKDWvd9xnNdTZe\nfZs/d0fP12is2bFZX7NnbfjMrPtYv//u277X10RzKvfx++NofdHn3Z6qcd/9z/qeHNVh/V5f773D\nuazqs37mH332183q0L8zHs/N8P627dib/fXewnH7uoyev9meWr8/hvf0Pq/76PjR3n3wL6wAAKQm\nsAIAkJrACgBAagIrAACpCawAAKQmsAIAkJrACgBAagIrAACpCawAAKQmsAIAkJrACgBAagIrAACp\nCawAAKQmsAIAkJrACgBAagIrAACpCawAAKQmsAIAkJrACgBAagIrAACpCawAAKR2KrDW0kpprdTy\n+bMc634/Pn8fj9seXV9LK+19e7y/dv19enw179E1/fVRu2ic0bqO5hxdt+m/7udXSyv1bT6XWs+P\n3489Or+b92W/9jNjRfd+uI7Htes61NW17XNvPdYc9dv3Md1D9/r1uS413M2rxmsZzv3E/R9dP91/\n9zo+9y9d5s/If+brhrfyVacs9Rqot1+a33VyLqrBqC6zfkbaH++FZ/p/PPDBNT+qddTP6j3cPlbH\nD/5ubLp9j9uOjp/r9BfuQ93X6Ok5/fV+eLgOhv+Ij4eC9R46Wt9P+ly7ls379fNdFvwxjIae7PGn\n6pKUf2EFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNQE\nVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACC1\nU4G1lVpKraWVz5/lWPf78fn7eNz26PpWaqm37fH+2vX36fHVvEfX9NdH7aJxRus6mnN03WxOy/Uf\n87lEP6PxW4v7GX6+fs3lvl/74Vjh3pivY1aHUj/31un2Zb83RnMatXvU7GjvtVJLe2+7Go/mubl2\n1X8t3Q3K5j5/Rv5Sez+oTb+5f7P/+jfrrm/rCfyDe3/ZjnF6v0Vz+6OavNT/C3NaanFpSzfrt03/\nHl7Xrpa21Gh9Tf/98fetv7bWuu+v7O9P3/d6yaN7OZtP32Zz3a3urhmN87mGuD7RdbW05Xnb9Nfa\nUsv+r9ri2v8VmM8tqsNyTRs/D7v2wfpG9YnmFP3ezfdeD+9Xffus03q/jcY9ugejucz2yKl6X7bX\nRYb3N+BfWAEASE1gBQAgNYEVAIDUBFYAAFITWAEASE1gBQAgNYEVAIDUBFYAAFITWAEASE1gBQAg\nNYEVAIDUBFYAAFITWAEASE1gBQAgNYEVAIDUBFYAAFITWAEASE1gBQAgNYEVAIDUBFYAAFITWAEA\nSE1gBQAgtZyBtbXXu3jf9lFLK7Xs+10fe7SJ2kV9jfqLzq+/97+P5nTUdvYzGr/WuJ/h5+tqDm1/\nfjpWcP5oHbM6jPoetn/brqPvZ9T/bl51vo+Wn1vd1Xg0z821g/77vTxytG+zOnMPN79vdbMH23s7\nvE9Hz/+m7a3ujvX9jPbemXGjftvH6nzd16SWVsolHnc29nCt93r6nbg5N3hvzPb30PWH537DpP9W\nvhZ5r8vn9SpLKaVc2qZ9e2/f52t8zfK9BWM9Pl+DY+vfX++C3XyCttG6wvks7duuz6jv2TjR9bs1\ndHN+PG+b6+p3Lfsnbrl2VfNobSPhNTWe87D9YM2z+ka/61tcs9H1u7Z1u99m1y1tLi1cX/9511fb\n77313g/dv45fz+3L2X0rJWtgBQCALwIrAACpCawAAKQmsAIAkJrACgBAagIrAACpCawAAKQmsAIA\nkJrACgBAagIrAACpCawAAKQmsAIAkJrACgBAagIrAACpCawAAKQmsAIAkJrACgBAagIrAACpCawA\nAKQmsAIAkJrACgBAajkDa62vd3H77qOW9nJ/07H+uP+/VN9+cM1Xadv7q+v+N3VrH6sv138y5K9a\n7+VSPvfbY89Fe6+WVkrbt1m3ffTR97X+/hvO7pFW6uZ3dGx9rtS6fK+3fjXfP+u+Ntf3YwTTHLWP\nxlj/Pho36nc0xqaPezzubOxwrYNro+uO5j6rxaHrD8/9hlf7v3fP5O3kmkt56e/bU+PMXMPef6fv\nk57929O/l6Z/41cP9Ot/p87ZjRO9VC7bY5u/Tc+O95NrW9vt3dMG+/bUnryeHOLgb0/OwAoAAF8E\nVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1\ngRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNQEVgAAUhNYAQBITWAFACA1gRUAgNRyBNZL+9PuW6nL\nT3TuTLvNNa1s2o36iI6v24/G6a/bHLuO59KPMRt/+fxxcH4w71Zqqbdza43Of5rXbVSHXd/tRN06\nozmN1jK6r7O5H93/Z8YYzX245rpqM6jPo3aze/Wqegueufft8352vFpaeP2o3VPq7635/5qwnn/8\nTv417Yl5Xn957GdqNGh7dq/+aE/PXM81O3rWfjTG1z17/O2ZT+B7/KN34sbqeY7eQaX8fk1H42zc\nv9qM9s7116YTO3rPtXPv2F/V2ve4B38LcgRWAAAYEFgBAEhNYAUAIDWBFQCA1ARWAABSE1gBAEhN\nYAUAIDWBFQCA1ARWAABSE1gBAEhNYAUAIDWBFQCA1ARWAABSE1gBAEhNYAUAIDWBFQCA1ARWAABS\nE1gBAEhNYAUAIDWBFQCA1ARWAABSE1gBAEjtVGCtpS0/pbXlWP/78Xl9PGq7O3avm+v7dlHf6+9H\nx4+umY21cf1qV8up+Y7mHF1XLidrd+3mX0spbT/m0fj9GkfnR/PefW7zsUZ7Y1a3UR12fdcTdSub\nKW7ndDmu2+i+zuZ+dP+X/XRijGi8oxot3wf1edRudq+i8WbPzNF+KaWUeqtPr2fT/laH456pfz92\nNMbs2Gyvnhl3dm+P1hKO2+Kxd4J3dy3t8350z2+513CuR3v/qM7RPPvv7X1/7nFs9Oz344T1u8Zl\nie7hqL9a2ve7+l7Dd0f4ff03rsX3aDZ+1HY9Vns/fnccPTObWj2+37b7YPSshtdf43Wt79lorf37\n6ejdtDs/qHG0huiehHM5mMPu8yAnrPfDbrxrvLboezT27LrdHPpx3lZzXr2jH/WJ+p/thd5wX9Z9\nrUb8CysAAKkJrAAApCawAgCQmsAKAEBqAisAAKkJrAAApCawAgCQmsAKAEBqAisAAKkJrAAApCaw\nAgCQmsAKAEBqAisAAKkJrAAApCawAgCQmsAKAEBqAisAAKkJrAAApCawAgCQmsAKAEBqAisAAKmd\nCqyt1OWn1Loc638/Pq+PR213xy5tc/3Za0fzLJc2Pvf4/t7Cfvt2G9e43aiP9Vyi9ptx7udr16+r\n1LobN7ofo3sVnm/x8WFfdT7W0f2L5t1a2V3Tnz+1b77212iO5T6uzVFdh3M/qP/n/NvpMaLxZms+\n2m+zOR/ujckzM9svj2fu3Hra6fmfqeGoprPn68w+nT0bo3GHz/L7fj9E9Xns+6WvGo+9E7y7l/bd\nszGa6+N5Cuuxfh4vbXlfRn32z/b6fL3t6/c4NqpDP85sz/aO9tn671MrdfOujt4d/btzN4+DWh8d\ni/qut+N3x5nn4sxzcvTMzO7JaH3R56NnetTusyDH78/NNTWe87B98Awsnyf3/0wdonGj79HYs+tm\nY7dSS/uY3L/6ve6o3rPna52BIrP72/MvrAAApCawAgCQmsAKAEBqAisAAKkJrAAApCawAgCQmsAK\n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\ngg==\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": [ "(502, 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)\n", "ax.set_xticks(np.arange(0, inh_seg.shape[0], 50)); " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAArQAAAHaCAYAAADxKNptAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAF01JREFUeJzt3V+obXtVB/AxrlcpMwgR1PSCPvhgL10pfMisU5BkhNZL\nGVQ+RAT9BaFEH7K3RIh66yUDNTGkUIwesj9u6EVFuDfNP5XgBQ279iCR9KI4ethrnbPvOnutNef6\nN+fY8/OBzd1n7d+ac8wxx5zre+c599ysqgAAgK4emboAAAA4hkALAEBrAi0AAK0JtAAAtCbQAgDQ\n2qNDF2amvw4BAICzq6ocs37kE9ra+VUD1gz5qrr+OsW2Tr//d7Q7nvN93d6L9Xenno9D37+r/ze3\nedw5Gj8Xp/g65Vwde36m7MPUvRvai9P0+Ljzub4eBm9p7PpBnVju15x6EbHjvB55zjv1Yeqvu9qL\niJH3mRu9OIQ/cgAAQGsCLQAArQm0o92buoAZuTd1ATNyb+oCZuLe1AXMyL2pC5iNe1MXMCP3pi5g\nJu5NXcCM3Ju6gBm5d8R7c+j/+vb6PwrbvbYiIw/+0w83tlPrfR69qVnsf+rjubSK6wPdnIVj5+PQ\n9+/q/81tVvU7R6es+VTXbxdTnO9L9njbvu7f8oce/NJuYAuSUffv1w/peENkVnbO16aNecuIc/9H\nYQAAMC8CLQAArQm0AAC0JtACANCaQAsAQGsCLQAArQm0AAC0JtACANCaQAsAQGsCLQAArQm0AAC0\nJtACANCaQAsAQGsCLQAArQm0AAC0JtACANCaQAsAQGtZVcMWZg5bWRWReVRRnE5GRcWO8zHyfO3d\n3jHWE7bw+cm47sNtfT66/8dcnwu8tnf1+6GfHdCfjLo/9qN7e+7zsd7+sdflXK/rqef5tv1vey1i\n2FpaOevn6VROdL1nRFTVqI14QgsAQGsCLQAArQm0AAC0JtACANCaQAsAQGsCLQAArQm0AAC0JtAC\nANCaQAsAQGsCLQAArQm0AAC0JtACANCaQAsAQGsCLQAArQm0AAC0JtACANCaQAsAQGsCLQAArQm0\nAAC0JtACANCaQAsAQGsCLQAArWVVDVuYWRHD1o5Vkdf7OHL7VRGZp10/dptM6+b52nbu1iN/V87r\nKY+n27zvq3dux7O33jii2Lkd7LkcM/CbPRrRs4w66PysP9eOOrfH6H7DG1v/tvXHXh+Xur4ueb5m\nfM/IiKiqUcV5QgsAQGsCLQAArQm0AAC0JtACANCaQAsAQGsCLQAArQm0AAC0JtACANCaQAsAQGsC\nLQAArQm0AAC0JtACANCaQAsAQGsCLQAArQm0AAC0JtACANCaQAsAQGsCLQAArQm0AAC0JtACANCa\nQAsAQGtZVcMWZlbEsLXbVGTkkds4aL+rXWaeZ9v7tltxveDUxz5k3x2M7c85z+c5TF3vqebv3PN2\n1+Z5kW6exGNP6IUHIqN6nLvJbygzvgGPnJk253yoDjfRgfOTEVFVow7GE1oAAFoTaAEAaE2gBQCg\nNYEWAIDWBFoAAFoTaAEAaE2gBQCgNYEWAIDWBFoAAFoTaAEAaE2gBQCgNYEWAIDWBFoAAFoTaAEA\naE2gBQCgNYEWAIDWBFoAAFoTaAEAaE2gBQCgNYEWAIDWBFoAAFrLqhq2MLMihq1dbzLz0LLOvL04\n0Ya2yIF9uoSq0/VtDo49nm792Ky3Iu9fEJ2O45xOfX8Ys7+KnNX1PsT6/tet7i7uSn+73SsPNdX5\nWkp/D5dRVaM65AktAACtCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpACwBAawItAACt\nCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpACwBA\nawItAACtZVUNW5hZEddr12/JPFdZdFQ1v5k4R02d5/8S56jiegcZ9fDrVUftvyIf2u7cjJmPuV0z\nx9Yzt+Ohj26zc4p6T7KNLffbS7l5vzvt/TmjqkZ1xxNaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABa\nE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUAoDWBFgCA\n1gRaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGgtq2rYwsyBK9kn47qTFRlRFZG5+w3rzu9b\n18362Lcd3+rnz+jXbe8fu79j1xxp9PnntDbmbet87ZFRh83kCa/nW2u4owYf6129X57LZr929e+C\n96uTz/a22k81Lyfqzf37Ud1S04I+LzIiqmrUwXpCCwBAawItAACtCbQAALQm0AIA0JpACwBAawIt\nAACtCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpA\nCwBAawItAACtCbQAALQm0AIA0JpACwBAa1lVwxZmVkRFVUTmmas60vqQ5l7nXVSRkTFspm59f4P5\nupQKjXjI3Adk7vWd2zmO/9Ab+qqW9f1o8PU0Yn8Zdfnr9MwfcIP7tZRZ39fvc52PpfR3i4yIqhrV\nAE9oAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYA\ngNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoLatq\n2MLMgSuZ3PpMZfbc/tS2HF9GRcWOY67a25Od27jl/Xv3uXBH92fAOZtkW5vbjZj8etva63PVt62f\nZ9pfxnGfcOc6/Vv3F3l0zZe02Z9L9+vmfiMmv5wOdrP+qXoYcYn5y6iqUUfnCS0AAK0JtAAAtCbQ\nAgDQmkALAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK0J\ntAAAtCbQAgDQmkALAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK0JtAAAtJZVNWxh5sCVR6qK\nyDzpJjNOU3lF3rqtijzpfi5ls9VnaD0bts3Q0Pfuk1GD1g3b4fQDcUiv1jeqdeldr8+I4+ZlDjbr\nP9lsdjWDa4rbnfTe2dWY+TzzLGdEVNWoHXhCCwBAawItAACtCbQAALQm0AIA0JpACwBAawItAACt\nCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpACwBA\nawItAACtCbQAALQm0AIA0JpACwBAa1lVwxZmDlw5HxndKr5bqiIyp67iYetBPkdt5zjmY+s96/HG\nxkZP3ICb1/BD+5rCXIea83C+T2/LDSmjBl3j63vCue89h8io+4c3dS17zaBft3lwz8+oqlEFekIL\nAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK0JtAAAtCbQ\nAgDQmkALAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrWVXDFmYO\nXHmA9ZYzz7WHcc5YT0ZFxZ7t7tj/oPd3UrW/z6t+ZMZDx57xYCpn05e5zfOmzfp21btxfuY+f2Pr\nm/vxMMKQe8mM7Ju9trM59P53ofO1/ow4Wy/H3E/nbvOcXOIc3UyWz/isiaiqUTv3hBYAgNYEWgAA\nWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYA\ngNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWsuqGrYwsyIe\nXlsVkXnqsg5TkZFRUfGgoLyl5tHbXW1i23Hu+/kx+526t3OoYZ9D+795bGOPdW69ua2e9TXB8br2\nctf1UZH3F+y7v+1ac1ec+5oesv1zfZ4cWs+UxtQ3dO0l+7tr/5EP30/mfD7u56uL9S+jqkbtxRNa\nAABaE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUAoDWB\nFgCA1gRaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABay6oatjBz\n4MrTy7jec0Xe+uv7qiJy4zUemFt/ttWznrQ51QodXPoa37W/IbXc/FQ5tO653C/mdn/dkFEPf2Zy\nOqc4/xeeoTnPREZEVY0qzhNaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUAoDWBFgCA\n1gRaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUA\noDWBFgCA1gRaAABay6oatjBz4Mr5ybiuvCInrmSgdadzQL1Vw9ad8r1j6tsjo/ael1Ofv53bO6af\n7DekvyecryHOfn/Ydjwzn7Uh1+aizOV87bg+ZnXORl7H22rv8vl9v/5L3r/OMZMXvv9ukxFRVaOK\n8IQWAIDWBFoAAFoTaAEAaE2gBQCgNYEWAIDWBFoAAFoTaAEAaE2gBQCgNYEWAIDWBFoAAFoTaAEA\naE2gBQCgNYEWAIDWBFoAAFoTaAEAaE2gBQCgNYEWAIDWBFoAAFoTaAEAaE2gBQCgNYEWAIDWBFoA\nAFrLqhq2MPOhlRkVFbn9PQN+znSqInL76Tlsm5EPndf1DMzlfM+tnkPd1utB71u95dTnfi4ueXw3\nr6FzXE+cz23na8j53Lx/nHvedn2Gzt6xF0W3i6pbvTOWEVFVo5rpCS0AAK0JtAAAtCbQAgDQmkAL\nAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK0JtAAAtCbQ\nAgDQmkALAEBrAi0AAK0JtAAAtCbQAgDQmkALAEBrAi0AAK1lVQ1bmDlw5fllXFdSkRNXcnkZdf7j\nXp/pPGw/6/NDT+v5ch7Hqzr4sjmLQ+o58vI/WEU+Y+bm0MtdNcyhvtuc8vxNfYybM8GSZFTVqOnz\nhBYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBo\nTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNayqoYt\nzNy7MmPYtjqpisjc8fPIo457zPuP3Vd3+47/Uv1ZXwi75uJS9s3nJW32f+nzegpz6GHF9YBNXcep\nrI/nLsio+/ejSW4Ec7oBTWR9XWydqzl9YJzB3uPfZ0t/MiKqatRGPaEFAKA1gRYAgNYEWgAAWhNo\nAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYE\nWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNayqoYtzBy48rwyKirywQtV\nEZnbf97BurM5ru5JjnWj3/scVOOB/bj/3kPeNyMZ18c/yRzPoX/HnP9zunRvzrS/SedrYpv3o1vv\nT2eav5Pdr891fVzi3j5jFzmeKe+vA/Z98c/rnbVEVNWojXpCCwBAawItAACtCbQAALQm0AIA0JpA\nCwBAawItAACtCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpACwBAawItAACtCbQAALQm\n0AIA0JpACwBAawItAACtCbQAALQm0AIA0JpACwBAa1lVwxZm3l+Zcf1dRZ6nqvWe8kzbP7N1f06t\nIiOjZtuedX33f12XqXE9h0P6fkhNc+r3Zo+P2tYtvdh8bduaiHn045xO2esl2TUfp+7p2Ov5mHvS\npe5nczXF9fDQZ8ohmePAG1ZGPby/XUPQfEBuPd4JZURU1aiCPKEFAKA1gRYAgNYEWgAAWhNoAQBo\nTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAAWhNoAQBoTaAFAKA1gRYAgNYEWgAA\nWhNoAQBoTaAFAKA1gXakq6kLmJWrqQuYkaupC5iJq6kLmJGrqQuYkaupC5iRq6kLmImrqQuYjaup\nC5iRqyPeK9COdDV1AbNyNXUBM3I1dQEzcTV1ATNyNXUBM3I1dQEzcjV1ATNxNXUBs3E1dQEzcnXE\newVaAABaE2gBAGgtq2rYwsxhCwEA4AhVlWPWDw60AAAwR/7IAQAArQm0AAC0JtACANDa3kCbmT+Z\nmV/IzP/IzLdeoqg5ycynMvPTmflEZn5y9drzM/PvM/PfM/Ojmfk9U9d5apn555n5dGZ+5sZrW487\nM9+2mpEvZObrpqn6PLb04g8y8yuruXgiM19/42d3uRePZebHMvOzmfmvmfnbq9cXNRs7+rC4ucjM\n78jMT2Tmk5n5ucz8w9Xri5qJiJ29WNxcRERk5rNWx/s3q18vbibWbunFUmdiVKYa1Yuq2voVEc+K\niC9GxMsi4tkR8WREvHLXe+7aV0R8KSKev/HauyLi91bfvzUi3jl1nWc47tdGxKsi4jP7jjsivm81\nG89ezcoXI+KRqY/hzL14R0S85Za1d70XL4qIx1ffPy8i/i0iXrm02djRh6XOxXNX/3w0Ij4eET+8\ntJnY04ulzsVbIuL9EfGR1a8XORNberHUmRicqcb2Yt8T2ldHxBer6qmq+mZE/GVEvHHPe+6izb86\n4g0R8Z7V9++JiJ+5bDnnV1X/HBFf33h523G/MSI+UFXfrKqn4nroXn2JOi9hSy8iHp6LiLvfi/+q\nqidX338jIj4fES+Jhc3Gjj5ELHMu/m/17XPi+kHI12NhM7G2pRcRC5uLzHxpRPxURPxZPDj2Rc7E\nll5kLGwmbhiaqUb1Yl+gfUlEfPnGr78SD27aS1ER8Q+Z+anM/NXVay+sqqdX3z8dES+cprSL23bc\n3xvXs7G2lDn5rcz8l8x8943fIllMLzLzZXH95PoTseDZuNGHj69eWtxcZOYjmflkXJ/7j1XVZ2Oh\nM7GlFxHLm4s/jojfjYhv33htkTMRt/eiYnkzETEuU43qxb5A6y+pjXhNVb0qIl4fEb+Rma+9+cO6\nfi6+uD4NOO673pM/jYiXR8TjEfHViPijHWvvXC8y83kR8dcR8TtV9b83f7ak2Vj14a/iug/fiIXO\nRVV9u6oej4iXRsSPZOaPbfx8MTNxSy/uxcLmIjN/OiK+VlVPxO1PIRczEzt6saiZuOHYTLX1Z/sC\n7X9GxGM3fv1YPDMt33lV9dXVP/87Ij4U14+7n87MF0VEZOaLI+Jr01V4UduOe3NOXrp67c6qqq/V\nSlz/NtL6t0HufC8y89lxHWbfV1UfXr28uNm40Ye/WPdhyXMREVFV/xMRfxsRPxALnImbbvTiBxc4\nFz8UEW/IzC9FxAci4scz832xzJm4rRfvXeBMRMToTDWqF/sC7aci4hWZ+bLMfE5E/HxEfOSQg+go\nM5+bmd+9+v67IuJ1EfGZuO7Bm1fL3hwRH759C3fOtuP+SES8KTOfk5kvj4hXRMQnJ6jvYlYX3drP\nxvVcRNzxXmRmRsS7I+JzVfUnN360qNnY1oclzkVmvmD926WZ+Z0R8RMR8UQsbCYitvdi/WG9cufn\noqreXlWPVdXLI+JNEfFPVfVLscCZ2NKLX17ovWJsphrVi0d37byqvpWZvxkRfxfXf7j93VX1+SOO\np5sXRsSHrj+74tGIeH9VfTQzPxURH8zMX4mIpyLi56Yr8Twy8wMR8aMR8YLM/HJE/H5EvDNuOe6q\n+lxmfjAiPhcR34qIX1/9W+edcEsv3hER9zLz8bj+7Y8vRcSvRdz9XkTEayLiFyPi05n5xOq1t8Xy\nZuO2Prw9In5hgXPx4oh4T2Y+EtcPSd5XVf+46suSZiJiey/eu8C5uGl9TEu7T2zKeNCLd2Xm98ey\nZmJUphrbi7w7fQIAYIn8n8IAAGhNoAUAoDWBFgCA1gRaAABaE2gBAGhNoAUAoDWBFgCA1v4fMlnT\nNm8iID4AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Impute inheritance" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# simulate random variant positions\n", "pos = np.asarray(random.sample(range(100000), inh_seg.shape[0]))\n", "pos.sort()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "pos_impute = [0] + random.sample(range(100000), 100) + [200000]\n", "pos_impute = np.array(pos_impute)\n", "pos_impute.sort()\n", "pos_impute" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 15, "text": [ "array([ 0, 371, 1947, 2068, 2799, 3379, 4082, 4288,\n", " 5683, 6629, 6868, 7936, 8330, 8992, 12015, 12978,\n", " 13022, 14293, 14408, 14896, 16011, 16505, 16614, 17038,\n", " 17275, 18964, 19340, 20253, 22838, 22871, 24878, 26896,\n", " 27152, 27801, 28305, 28477, 29038, 30539, 30947, 31186,\n", " 31925, 32853, 34782, 36160, 36342, 36666, 39535, 42437,\n", " 43064, 43713, 46955, 47012, 47453, 47537, 48147, 48566,\n", " 52184, 53492, 54379, 54935, 55176, 58115, 58287, 58756,\n", " 59245, 59600, 60036, 62422, 64139, 66039, 67271, 68347,\n", " 68955, 70804, 70807, 71364, 72641, 74000, 76858, 76983,\n", " 77182, 77812, 78116, 78269, 80623, 80694, 83819, 84109,\n", " 84323, 84518, 85841, 86363, 86646, 86870, 89873, 90476,\n", " 95236, 95321, 97218, 97290, 97735, 200000])" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "inh_imputed = anhima.ped.impute_inheritance_nearest(inh_seg, pos, pos_impute)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "fig, ax = plt.subplots(figsize=(12, 8))\n", "anhima.gt.plot_discrete_calldata(inh_imputed, \n", " colors=inheritance_colors,\n", " states=range(8),\n", " ax=ax); " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Inheritance switches and blocks" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# consider first gamete only\n", "x = inh_seg[:, 0]\n", "fig, ax = plt.subplots(figsize=(14, 1))\n", "anhima.gt.plot_discrete_calldata(x[:, None], \n", " colors=inheritance_colors,\n", " states=range(8),\n", " ax=ax)\n", "ax.set_xticks(np.arange(0, x.size, 50));" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAyMAAABUCAYAAACRHOghAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAACINJREFUeJzt3U2orHUdB/DvT69SZhAiqOkFXbiwTUrhIrNOQZIRWpsy\nqFxEBL2CUKKLbrtEiNq1yUBNDCkUo0X24kAbFeHeNF8qwQsadm0hkbRR/LeY5+jcc8+8nbf/Gc/n\nAw935pln5vnNd35zzvM7z5xzq7UWAACAvXZa7wIAAICDyTACAAB0YRgBAAC6MIwAAABdGEYAAIAu\nDCMAAEAXhxbdsKr8DWAAAGCm1lotuu1SZ0baxJK0k67v+tL2eH87tBxZcLu9qGZyP+P/X2a/Lien\ntllGrfV7Dlt5zbZT6+LP9ciW97ETmezK40553hvXz8pofnb9clvt1+ng5LalrKf25JE3X4udfT1O\n3f9e3m+nH2OzzN5uy273wDK5baxj23vfxjHbzBpmPe7wntu71PZ22bHXZpeWydyW5WNaAABAF4YR\nAACgC8PILlvrXcBKWutdwIpa613AilrrXcCKWutdwIpa613AClrrXcCKWutdwEpa613Ailrbxn1r\n/NnOBTasOmnLSkvLwr+bsn2tJbWH+9tjtaVP2S2npd7czyrFud5nkxmtN2OP57BZPXPvs428ez7X\nRU321o4+7pTcNq6fldEq9fpu263XiVPNe99u5evIsvvfSt/vxPvFe24xu90Dy9j4tWHbx3fbaII3\nj1M2q2HW467CN8ttmJnLPlPJ7v0COwAAwE4xjAAAAF0YRgAAgC4MIwAAQBeGEQAAoAvDCAAA0IVh\nBAAA6MIwAgAAdGEYAQAAujCMAAAAXRhGAACALgwjAABAF4YRAACgC8MIAADQhWEEAADowjACAAB0\nYRgBAAC6MIwAAABdGEYAAIAuDCMAAEAXhhEAAKALwwgAANCFYQQAAOjCMAIAAHRhGAEAALowjAAA\nAF0YRgAAgC4MIwAAQBeGEQAAoAvDCAAA0IVhBAAA6MIwAgAAdGEYAQAAujCMAAAAXRhGAACALgwj\nAABAF4YRAACgC8MIAADQhWEEAADowjACAAB0YRgBAAC6MIwAAABdGEYAAIAuDCMAAEAXhhEAAKAL\nwwgAANCFYWSXjXoXsJJGvQtYUaPeBayoUe8CVtSodwEratS7gBU06l3Aihr1LmAljXoXsKJG27iv\nYWSXjXoXsJJGvQtYUaPeBayoUe8CVtSodwEratS7gBU06l3Aihr1LmAljXoXsKJG27ivYQQAAOjC\nMAIAAHRRrbXFNqxabEMAAODAaq3VotsuPIwAAADsJB/TAgAAujCMAAAAXcwdRqrqk1X1bFX9o6pu\n3ouiVlVVHa+qJ6rqaFU9Nqw7p6p+X1V/r6qHquo9vevsrap+XlUnqurJiXVTc6qqW4b+e7aqrulT\ndX9TcvtBVb049NzRqrp24rYDn1tVHa6qh6vqqar6a1V9e1iv32aYkZt+m6Gq3lFVj1bVsap6uqp+\nOKzXbzPMyE2/zVFVpw/Z/Ga4rtcWsEluem2OZY9xl8qttTZ1SXJ6kueSXJzkjCTHklw26z4HeUny\nfJJzNqy7Pcn3hss3J7mtd529lyRXJ7kiyZPzckryvqHvzhj68Lkkp/V+DvsotyNJbtpkW7mNczg/\nyeXD5bOT/C3JZfpty7npt/nZnTX8eyjJI0k+rN+2nJt+m5/bTUnuSfLgcF2vbS03vTY/s4WPcZfN\nbd6ZkSuTPNdaO95aey3JL5NcP+c+B93Gvx5wXZI7h8t3JvnM3paz/7TW/pzklQ2rp+V0fZJ7W2uv\ntdaOZ9zQV+5FnfvNlNySU3sukVuSpLX2r9baseHyq0meSXJh9NtMM3JL9NtMrbX/DRfPzPgHeq9E\nv801JbdEv01VVRcl+VSSn+WtnPTaHFNyq+i1RSx6jLtUbvOGkQuTvDBx/cW89Q2JU7Ukf6iqx6vq\nq8O681prJ4bLJ5Kc16e0fW9aTu/NuO/W6cFTfauq/lJVd0ycIpXbBlV1ccZnlh6NflvYRG6PDKv0\n2wxVdVpVHcu4rx5urT0V/TbXlNwS/TbLj5N8N8kbE+v02nyb5dai1+ZZ5hh3qdzmDSP+7u9yrmqt\nXZHk2iTfqKqrJ29s43NXMp1jgZxk+JafJrkkyeVJXkryoxnbHtjcqursJL9O8p3W2n8nb9Nv0w25\n/Srj3F6NfpurtfZGa+3yJBcl+UhVfWzD7fptE5vkthb9NlVVfTrJy621o9n8J/p6bRMzctNr8233\nGHfqbfOGkX8mOTxx/XBOnnSY0Fp7afj330nuz/iU1ImqOj9JquqCJC/3q3Bfm5bTxh68aFhHktba\ny22Q8Snn9dOgchtU1RkZDyJ3t9YeGFbrtzkmcvvFem76bXGttf8k+W2SD0S/LWwitw/qt5k+lOS6\nqno+yb1JPl5Vd0evzbNZbnfptfmWPMZdKrd5w8jjSS6tqour6swkn0/y4FaexNtdVZ1VVe8eLr8r\nyTVJnsw4rxuHzW5M8sDmj3DgTcvpwSQ3VNWZVXVJkkuTPNahvn1pePOv+2zGPZfILUlSVZXkjiRP\nt9Z+MnGTfpthWm76bbaqOnf94x1V9c4kn0hyNPptpmm5rR/kDPTbhNbara21w621S5LckORPrbUv\nRa/NNCW3L/vaNtsWjnGXyu3QrJ231l6vqm8m+V3Gv1B2R2vtmW08n7ez85LcP/4enkNJ7mmtPVRV\njye5r6q+kuR4ks/1K3F/qKp7k3w0yblV9UKS7ye5LZvk1Fp7uqruS/J0kteTfH34ycWBs0luR5Ks\nVdXlGZ/+fD7J1xK5TbgqyReTPFFVR4d1t0S/zbNZbrcm+YJ+m+mCJHdW1WkZ/7Dv7tbaH4cM9dt0\n03K7S78tbP35+9q2uMpbud1eVe+PXptmqWPcZXOrg5kpAADQm/+BHQAA6MIwAgAAdGEYAQAAujCM\nAAAAXRhGAACALgwjAABAF4YRAACgC8MIAADQxf8BvsHCkzWc7uwAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "states = anhima.ped.INHERIT_PARENT1, anhima.ped.INHERIT_PARENT2\n", "df_switches = anhima.util.tabulate_state_transitions(x, states, pos)\n", "df_switches.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lidxridxlposrposlvalrval
0 2 3 350 1061 1 2
1 3 4 1061 1231 2 1
2 56 57 12735 12739 1 2
3 72 73 15292 15396 2 1
4 73 74 15396 15525 1 2
\n", "
" ], "output_type": "pyout", "prompt_number": 19, "text": [ " lidx ridx lpos rpos lval rval\n", "0 2 3 350 1061 1 2\n", "1 3 4 1061 1231 2 1\n", "2 56 57 12735 12739 1 2\n", "3 72 73 15292 15396 2 1\n", "4 73 74 15396 15525 1 2" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "df_switches.tail()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lidxridxlposrposlvalrval
19 409 410 82578 82727 2 1
20 429 430 86400 86499 1 2
21 430 431 86499 86563 2 1
22 474 475 94203 94493 1 2
23 475 476 94493 94692 2 1
\n", "
" ], "output_type": "pyout", "prompt_number": 20, "text": [ " lidx ridx lpos rpos lval rval\n", "19 409 410 82578 82727 2 1\n", "20 429 430 86400 86499 1 2\n", "21 430 431 86499 86563 2 1\n", "22 474 475 94203 94493 1 2\n", "23 475 476 94493 94692 2 1" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "df_blocks = anhima.util.tabulate_state_blocks(x, states, pos)\n", "df_blocks.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_min_idxstart_max_idxstop_min_idxstop_max_idxstart_min_posstart_max_posstop_min_posstop_max_posstatesupportsize_minsize_maxlength_minlength_maxis_marginal
0 0 0 2 3 150 150 350 1061 1 3 2 2 200 911 True
1 2 3 3 4 350 1061 1061 1231 2 1 1 1 0 881 False
2 3 4 56 57 1061 1231 12735 12739 1 52 53 53 11504 11678 False
3 56 57 72 73 12735 12739 15292 15396 2 16 16 16 2553 2661 False
4 72 73 73 74 15292 15396 15396 15525 1 1 1 1 0 233 False
\n", "
" ], "output_type": "pyout", "prompt_number": 21, "text": [ " start_min_idx start_max_idx stop_min_idx stop_max_idx start_min_pos \\\n", "0 0 0 2 3 150 \n", "1 2 3 3 4 350 \n", "2 3 4 56 57 1061 \n", "3 56 57 72 73 12735 \n", "4 72 73 73 74 15292 \n", "\n", " start_max_pos stop_min_pos stop_max_pos state support size_min \\\n", "0 150 350 1061 1 3 2 \n", "1 1061 1061 1231 2 1 1 \n", "2 1231 12735 12739 1 52 53 \n", "3 12739 15292 15396 2 16 16 \n", "4 15396 15396 15525 1 1 1 \n", "\n", " size_max length_min length_max is_marginal \n", "0 2 200 911 True \n", "1 1 0 881 False \n", "2 53 11504 11678 False \n", "3 16 2553 2661 False \n", "4 1 0 233 False " ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "df_blocks.tail()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_min_idxstart_max_idxstop_min_idxstop_max_idxstart_min_posstart_max_posstop_min_posstop_max_posstatesupportsize_minsize_maxlength_minlength_maxis_marginal
20 409 410 429 430 82578 82727 86400 86499 1 19 20 20 3673 3921 False
21 429 430 430 431 86400 86499 86499 86563 2 1 1 1 0 163 False
22 430 431 474 475 86499 86563 94203 94493 1 42 44 44 7640 7994 False
23 474 475 475 476 94203 94493 94493 94692 2 1 1 1 0 489 False
24 475 476 501 501 94493 94692 99991 99991 1 26 26 26 5299 5498 True
\n", "
" ], "output_type": "pyout", "prompt_number": 22, "text": [ " start_min_idx start_max_idx stop_min_idx stop_max_idx start_min_pos \\\n", "20 409 410 429 430 82578 \n", "21 429 430 430 431 86400 \n", "22 430 431 474 475 86499 \n", "23 474 475 475 476 94203 \n", "24 475 476 501 501 94493 \n", "\n", " start_max_pos stop_min_pos stop_max_pos state support size_min \\\n", "20 82727 86400 86499 1 19 20 \n", "21 86499 86499 86563 2 1 1 \n", "22 86563 94203 94493 1 42 44 \n", "23 94493 94493 94692 2 1 1 \n", "24 94692 99991 99991 1 26 26 \n", "\n", " size_max length_min length_max is_marginal \n", "20 20 3673 3921 False \n", "21 1 0 163 False \n", "22 44 7640 7994 False \n", "23 1 0 489 False \n", "24 26 5299 5498 True " ] } ], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "df_all_switches = anhima.ped.tabulate_inheritance_switches(inh_seg, pos)\n", "df_all_switches.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lidxridxlposrposlvalrval
00 2 3 350 1061 1 2
1 3 4 1061 1231 2 1
2 56 57 12735 12739 1 2
3 72 73 15292 15396 2 1
4 73 74 15396 15525 1 2
\n", "
" ], "output_type": "pyout", "prompt_number": 23, "text": [ " lidx ridx lpos rpos lval rval\n", "0 0 2 3 350 1061 1 2\n", " 1 3 4 1061 1231 2 1\n", " 2 56 57 12735 12739 1 2\n", " 3 72 73 15292 15396 2 1\n", " 4 73 74 15396 15525 1 2" ] } ], "prompt_number": 23 }, { "cell_type": "code", "collapsed": false, "input": [ "df_switches.equals(df_all_switches.loc[0])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 24, "text": [ "True" ] } ], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "df_all_blocks = anhima.ped.tabulate_inheritance_blocks(inh_seg, pos)\n", "df_all_blocks.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_min_idxstart_max_idxstop_min_idxstop_max_idxstart_min_posstart_max_posstop_min_posstop_max_posstatesupportsize_minsize_maxlength_minlength_maxis_marginal
00 0 0 2 3 150 150 350 1061 1 3 2 2 200 911 True
1 2 3 3 4 350 1061 1061 1231 2 1 1 1 0 881 False
2 3 4 56 57 1061 1231 12735 12739 1 52 53 53 11504 11678 False
3 56 57 72 73 12735 12739 15292 15396 2 16 16 16 2553 2661 False
4 72 73 73 74 15292 15396 15396 15525 1 1 1 1 0 233 False
\n", "
" ], "output_type": "pyout", "prompt_number": 25, "text": [ " start_min_idx start_max_idx stop_min_idx stop_max_idx start_min_pos \\\n", "0 0 0 0 2 3 150 \n", " 1 2 3 3 4 350 \n", " 2 3 4 56 57 1061 \n", " 3 56 57 72 73 12735 \n", " 4 72 73 73 74 15292 \n", "\n", " start_max_pos stop_min_pos stop_max_pos state support size_min \\\n", "0 0 150 350 1061 1 3 2 \n", " 1 1061 1061 1231 2 1 1 \n", " 2 1231 12735 12739 1 52 53 \n", " 3 12739 15292 15396 2 16 16 \n", " 4 15396 15396 15525 1 1 1 \n", "\n", " size_max length_min length_max is_marginal \n", "0 0 2 200 911 True \n", " 1 1 0 881 False \n", " 2 53 11504 11678 False \n", " 3 16 2553 2661 False \n", " 4 1 0 233 False " ] } ], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "df_blocks.equals(df_all_blocks.loc[0])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 26, "text": [ "True" ] } ], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "block_support, block_length_min = anhima.ped.inheritance_block_masks(inh_seg, pos)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "# filter using block support\n", "inh_seg_flt = inh_seg.copy()\n", "inh_seg_flt[block_support < 2] = anhima.ped.INHERIT_MISSING\n", "fig, ax = plt.subplots(figsize=(12, 8))\n", "anhima.gt.plot_discrete_calldata(inh_seg_flt, \n", " colors=inheritance_colors,\n", " states=range(8),\n", " ax=ax)\n", "ax.set_xticks(np.arange(0, inh_seg.shape[0], 50)); " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\naAEAaO3/AKETGo/OJounAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "anhima.util.tabulate_state_blocks(inh_seg_flt[:, 0], states, pos)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_min_idxstart_max_idxstop_min_idxstop_max_idxstart_min_posstart_max_posstop_min_posstop_max_posstatesupportsize_minsize_maxlength_minlength_maxis_marginal
0 0 0 56 57 150 150 12735 12739 1 55 56 56 12585 12589 True
1 56 57 409 410 12735 12739 82578 82727 2 333 353 353 69839 69992 False
2 409 410 501 501 82578 82727 99991 99991 1 86 92 92 17264 17413 True
\n", "
" ], "output_type": "pyout", "prompt_number": 29, "text": [ " start_min_idx start_max_idx stop_min_idx stop_max_idx start_min_pos \\\n", "0 0 0 56 57 150 \n", "1 56 57 409 410 12735 \n", "2 409 410 501 501 82578 \n", "\n", " start_max_pos stop_min_pos stop_max_pos state support size_min \\\n", "0 150 12735 12739 1 55 56 \n", "1 12739 82578 82727 2 333 353 \n", "2 82727 99991 99991 1 86 92 \n", "\n", " size_max length_min length_max is_marginal \n", "0 56 12585 12589 True \n", "1 353 69839 69992 False \n", "2 92 17264 17413 True " ] } ], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "# filter using minimal block length\n", "inh_seg_flt = inh_seg.copy()\n", "inh_seg_flt[block_length_min < 100] = anhima.ped.INHERIT_MISSING\n", "fig, ax = plt.subplots(figsize=(12, 8))\n", "anhima.gt.plot_discrete_calldata(inh_seg_flt, \n", " colors=inheritance_colors,\n", " states=range(8),\n", " ax=ax)\n", "ax.set_xticks(np.arange(0, inh_seg.shape[0], 50)); " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nALT2f7h0F485E2EPAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 30 }, { "cell_type": "code", "collapsed": false, "input": [ "anhima.util.tabulate_state_blocks(inh_seg_flt[:, 0], states, pos)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_min_idxstart_max_idxstop_min_idxstop_max_idxstart_min_posstart_max_posstop_min_posstop_max_posstatesupportsize_minsize_maxlength_minlength_maxis_marginal
0 0 0 56 57 150 150 12735 12739 1 55 56 56 12585 12589 True
1 56 57 406 410 12735 12739 82242 82727 2 331 350 353 69503 69992 False
2 406 410 501 501 82242 82727 99991 99991 1 86 92 95 17264 17749 True
\n", "
" ], "output_type": "pyout", "prompt_number": 31, "text": [ " start_min_idx start_max_idx stop_min_idx stop_max_idx start_min_pos \\\n", "0 0 0 56 57 150 \n", "1 56 57 406 410 12735 \n", "2 406 410 501 501 82242 \n", "\n", " start_max_pos stop_min_pos stop_max_pos state support size_min \\\n", "0 150 12735 12739 1 55 56 \n", "1 12739 82242 82727 2 331 350 \n", "2 82727 99991 99991 1 86 92 \n", "\n", " size_max length_min length_max is_marginal \n", "0 56 12585 12589 True \n", "1 353 69503 69992 False \n", "2 95 17264 17749 True " ] } ], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 32 } ], "metadata": {} } ] }