Skip to content

Instantly share code, notes, and snippets.

@JudoWill
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JudoWill/8791085 to your computer and use it in GitHub Desktop.
Save JudoWill/8791085 to your computer and use it in GitHub Desktop.
{
"metadata": {
"name": "ExampleSeqFigure"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Example Sequence Figure"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is an example implemntation of a visualization of biological sequence data. The goal is to be able to visualize whether patients grouped by other variables (in the same `Glue` dataset) have common differences in their sequence.\n",
"\n",
"I'm assumming that the sequence input will be `pre-aligned`. Implementing call-outs to alignment programs is not difficult but outside the scope of a `Glue` visualization. I'm using DNA sequence here but its trivial to extend to AAs."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the example data there is a G->C transition at position 10 between the two groups."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"example_seqs = ['AAAATTTTGGGGCCCC',\n",
" 'AAAATTTTGGCGCCCC',\n",
" '---ATTTTGGCGCCCC',\n",
" 'AGAATTTTGGCGCCCC',\n",
" 'AGAATTTTGGCGCCCC',\n",
" 'AGAATTTTGGGGCCCC',\n",
" 'AGAATTTTGGGGCCCC',\n",
" 'AAAATTTTGGGGC---']\n",
"pat_groups = np.asarray([0, 1, 1, 1, 1, 0, 0, 0])\n",
"viz_order = '-ACGT'"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"seq_mat = np.array([list(s) for s in example_seqs])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"num_mat = np.searchsorted(np.asarray(list(viz_order)), \n",
" seq_mat.flatten()).reshape(seq_mat.shape)\n",
"num_mat"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"array([[1, 1, 1, 1, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2],\n",
" [1, 1, 1, 1, 4, 4, 4, 4, 3, 3, 2, 3, 2, 2, 2, 2],\n",
" [0, 0, 0, 1, 4, 4, 4, 4, 3, 3, 2, 3, 2, 2, 2, 2],\n",
" [1, 3, 1, 1, 4, 4, 4, 4, 3, 3, 2, 3, 2, 2, 2, 2],\n",
" [1, 3, 1, 1, 4, 4, 4, 4, 3, 3, 2, 3, 2, 2, 2, 2],\n",
" [1, 3, 1, 1, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2],\n",
" [1, 3, 1, 1, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2],\n",
" [1, 1, 1, 1, 4, 4, 4, 4, 3, 3, 3, 3, 2, 0, 0, 0]])"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def bin_cols(indata):\n",
" tdata = []\n",
" for num in range(5):\n",
" tdata.append((indata == num).sum(axis=0))\n",
" return np.concatenate(tdata)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"XX, YY = np.meshgrid(np.arange(num_mat.shape[1]), np.arange(5))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize=(10,5))\n",
"ax.set_yticks([0, 1, 2, 3, 4])\n",
"ax.set_yticklabels(viz_order)\n",
"ax.set_xlim([-0.5, 15.5])\n",
"ax.set_title('All Patient groups')\n",
"sizes = bin_cols(num_mat)\n",
"ax.scatter(XX.flatten(), YY.flatten(), s=100*sizes, alpha=0.5)\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"<matplotlib.collections.PathCollection at 0x3189610>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n1uY5AAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x307e8d0>"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(1,1, figsize=(10,5))\n",
"ax.set_yticks([0, 1, 2, 3, 4])\n",
"ax.set_yticklabels(viz_order)\n",
"ax.set_xlim([-0.5, 15.5])\n",
"ax.set_title('All Patient groups')\n",
"\n",
"for group, color in [(0, 'y'), (1, 'r')]:\n",
" sizes = bin_cols(num_mat[pat_groups==group])\n",
" ax.scatter(XX.flatten(), YY.flatten(), s=100*sizes.flatten(), alpha=0.8, c=color)\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nLG5+GnNWrqF169YhqyUiIoK5i5dR57q+dM/x8Wq2m12HCEkFHpOPc9xcusPH3nMvYuGadaSlpYWs\nltTUVBauyaD4wi5ctsvHBznuQ4akbJfJG9luuuX4SLjmen5cvpqoqKiQ1SIiEkqaVpPj3o4dOxj+\nxOP8OGUy0W43rcKgjmHhxSDTNNjgNomvV5c+d93H/fffH9Al6lW1fv16hg8bytIfviPJ9NE6DJKw\nqMRgo89gs8eiTrMmDHzwkaAWglfFL7/8wuinHmfNokWk2SxaOSAei3IM1nlhmxeatDmN+x8fzpVX\nXlmjtcyaNYtXnhlO5qpVNHIYtLRbRGFR/H+17DQNWnXsyNARIzn33HNrtBYRkao4XG5ROJL/GV6v\nl+XLlzN37lz27NmDzWbj1FNPpWvXrjRs2PCo1uJ2u1m0aBELFy4kPz+f8PBwTj/9dLp27RrQ5orB\nKC8vZ8GCBfz0008UFxcTFRXFGWecQefOnalVq9ZRraW4uJg5c+awdOlSysrKiI2NpWPHjqSnp2uk\nSESOKwpHIiIiIn60IFtERESkihSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KR\niIiIiB+FIxERERE/CkciIiIifhSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KR\niIiIiB+FIxERERE/CkciIiIifhSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KR\niIiIiB+FIxERERE/CkciIiIifhSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KR\niIiIiB+FIxERERE/CkciIiIifhSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KR\niIiIiB+FIxERERE/jmNdgIhITSgvL2fu3LmsWrWKyspKEhISSE9Pp23btthsR/d9YWFhIbNnzyYj\nIwOv10vt2rW5+OKLOfXUU49qHQBlZWVs2LCBnJwcLMsiOTmZU045hVq1ah31WrKyspg9ezbbtm3D\nZrPRrFkzOnfuTJ06dY56LSL+DMuyrJB0ZBiEqCsRkYBNmzaNN0aPZPPq1dS3w8kOCAfyLYN1bguX\n08l5V3bnqWdG0bhx4xqtZcyYMbz/8vNkb87kJIdBUzuEGbDHNFjvMbGio7n4uht4avgIUlNTa6wO\n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\n7C6fyaw8Ly+VQYNzz2P8V9NCFoz2+/zzzxl2x0DSveXcmXDoMFDiNfkqz8sb5QZnXnU1H33yacjX\nNC5YsIDZb7i5AAAgAElEQVQRIwZz2mlFXHJJNKmHmPIrKvIyd24xCxZEcO+9I7j22p4hC0b7DX3k\nEb546zVudZr0SXKQcogdxXe4TMbke/nC6+Dup0cFPaoncjAKRyLyj+ByuXh4yIN8N/5TUipdnBlm\n0cJm4bQZFPksVls2fq2E+IYNuOeJEdx44401Vkt+fj6DB93FTzOn09jycobdoqkdHAbs9cFq02Cp\nG+qc0oLHn3uJSy65pMZqKSoq4sMP32XatM+oW9dDgwZuUlMNDAPy8y22b3eydSt06XI1AwcOol69\nejVWy6pVq3jk3rvZtHQZbcIszrBZpDnAsiDLB8tNG+t8BqddcAGvvfMejRs3rrFa5J9N4UhE/lG8\nXi/Tp0/nxx9/JHPtajyVLmISk2l75tlceeWVtG3b9qjV4nK5mDx5MosWLSJrQwamz0tcah3O/FdH\nrrrqKpo3b35Ua1m5ciXr1q1j166tWJZFamp9WrZsRdu2bUM+gnY4u3bt4ssvv2TJLz+zd0cWhmFQ\np3FT/nVOR3r16kViYuJRq0X+mRSORERERPzoajURERGRKlI4EhEREfGjcCQiIiLiR+FIRERExI/C\nkYiIiIgfhSMRERERPwpHIiIiIn4UjkRERET8KByJiIiI+FE4EhEREfGjcCQiIiLiR+FIRERExI/C\nkYiIiIgfhSMRERERPwpHIiIiIn4UjkRERET8KByJiIiI+FE4EhEREfGjcCQiIiLiR+FIRERExI/C\nkYiIiIgfhSMRERERPwpHIiIiIn4UjkRERET8KByJiIiI+FE4EhEREfGjcCQiIiLiR+FIRERExI/C\nkYiIiIgfhSMRERERPwpHIiIiIn4UjkRERET8KByJiIiI+FE4EhEREfGjcCQiIiLiR+FIRERExI/C\nkYiIiIgfhSMRERERPwpHIiIiIn4UjkRERET8OI51ASIicnQVFxeTk5ODZVkkJyeTlJR0rEs65kzT\nZN26dezYsQO73U6bNm1ITU09JrVYlsWuXbsoLS3F4XBQv359wsPDj0ktPp+PnTt3Ul5eTnh4OPXr\n1ycsLOyY1OL1etmxYwcul4vIyEjq16+P3W6vkWMpHImI/ANkZWXx5YQJ/DhtGvm7d5MWFoYB7PZ6\nCY+Pp2PXrvS86SZOPfXUY13qUWOaJhMmTOCDV18ka8NGwn1eUuwGPmCX1yIiOpp2nTrz2FPDad26\ndY3W4vP5+OWXX/hqzBhW/vorkR4Ptex23JZFjtdLw8aNubRvX3pcfTXx8fE1WovH42Hu3LlMGzuW\ntStXUsuyiLXZqLAs9vh8ND/1VLrddBOXXX45UVFRNVpLRUUF38yaxcxx4/h93TpSbDaibDZKTZN8\noFXbtvTo35+LL74Yp9MZsuMalmVZIenIMAhRVyIiEiIVFRW8/corfPfJJ3Q3TS6PjOQkpxO7YQD/\nN0rh8fBDWRmTbTZaXXIJjz7zDAkJCce48pq1atUqBvS6BueuHdwUYdE53kHdcAPj/86Lx7TYUOZj\nSonJV5UG51x1Ne9+NKZGwsDmzZsZPngwxu+/06OykpYeNxGV5fh8Jjabgc8exu7IaGY7nSwKD+f2\nJ56g53XXYbOFfmXMihUrePq++6iTk0M3t5tmlRU43ZX4TB82mx0zzElWZDTfhYWxOiaGh158kc6d\nO4e8DoB58+bx/JAhtCou5jK3m4aucuweN+b/1eIJC2dLZBRfO51sT0nhyddfp0OHDlXu/3C5ReFI\nROQEtXv3bgb17cup27bxYGws8UeYgqg0Td4rLuabWrV47b//pUWLFkep0qNr3LhxjLjzNu6O8PHv\nlDDsNuOwj892mTyx18tvCSnMWvQrDRs2DFkt3337LS/edx8DKyo4s6wYj8dFTLRFZKQNmw0sCzwe\ni5JS8HptlMYm8EZ4OMlduvDsG2+EdLrt0zFjGP/ss9zjctGirBifr5KYGIuICBs2A0wL3G6L0hKw\ncJATU4vXw8Pp0K8fDz/5ZMjCmmmavPLss/w8diyDXRXULS0CvMTGWjid/7+WSte+82KzOdkUHceb\nERH0euQRbhk4sErHUTgSEfmHKSoq4pYePbhq505uquY0zJySEl6IjOSD6dNDGgSOB9OmTWPIDdfx\nbi34V62qryyxLIvR2R6mxSbzc8ZG4uLigq7lx/nzGT1wIKMqXcQU7CUhEaKi7BiHyGput0lhoYnX\niuKDuFr4unblxf/8JySh5PMJE5j4+OM87arAWZpPYiJERh46TFdWmuTnm5jOeF6IjuGUW29lyOOP\nB10HwOsvvMCq997jkdISHO4iEhNthIcf+mesqNhXiyc6keGRUVz95JP0ufnmIx5H4UhE5B/miQce\nIG7aNB4KcHpsUmEh3552Gh9Onlxji16PtsLCQs5q2ojRjgouTar+omLLsrhnp4eS9EuYPH1mULXk\n5eVxQ6dODM/PJ6loL3Vq23CEHX4Ea18RkJfvpdIbxcj4BLqNHk2v668PqpbMzExuv/xyXiktJaos\nl9p17NiOMJoG+87H3r0+3PY4Ho6N56GxYznvvPOCquXXX39l5I038lJpMU5PEamp9gNTnYdjmha7\nd/twRSVzf3Q0b82YccSRz8PlFl3KLyJyglm2bBm/TZ/OPUEs3O0VH4/zt9+YNmVKCCs7tu65YyAX\nesoDCkaw78V0eKqDdbO/Z/78+UHV8sbo0VxeVERiwV5q1zaqFowADEhKdOAwyrm3spL3nn6aoqKi\noGp5fuhQBlRUEF6SR2rtqgUj2Hc+UlLs2N0lDK6s5LkhQ/B6vQHX4fP5GD1kCPdVVmJ3FZOaUrVg\nBGCzGaSm2gkryWOgy8VzjzwScB2gcCQicsKZ+P773AREBDHdYjMMBoaFMfGdd06IWYHS0lJ+njmT\nexODGwVLdtq4MdzipZEjAu4jPz+fBdOn083rJTrGIiysmr8nA2rVshFTUkDHysqgAuzGjRvZuXIl\nHd0u4uIs7PYqhrT9pRgGteKhUVkJafn5QYXGRYsWkbRnD83KS6lVC4wqhrT97HaD+DiLsyoryMvI\nICMjI+BaqvQbycnJoXfv3jRr1owOHTpwxRVXsGnTpoAPKiIiNaOsrIwl8+ZxaQjWxJwRFYV7xw5+\n//33EFR2bH366ae0MHw0iQp+irBXgoO1v/yCaZoBtZ8zZw7n+Xz4ivKJjQ0swDqdNhwOky5uN9+O\nHx9QHwDfzZzJZW435aXFxMQEdm4io+x4vC4uq6zkm4kTA67lm0mTuMzlwu2pIOow650OJzrGTkVZ\nCVd4PHw7fXrAtRzxt2JZFldffTWdOnVi8+bNLFu2jNGjR7N79+6ADyoiIjVjw4YNNHU4iArBIl3D\nMGgDrF+/PvjCjrGfFy3kbHtoRsDSImzUskyWLl0aUPt1S5dyisuFI8ys/qiRn9gYqF1RRtaWLVRW\nVgbUR8Yvv9Dc4yEqiipPpx28FotG7krWr1oVcB/rVqygscdNTLQFAZZisxlER0FTt5v1ixcHXMsR\nfyvz5s3D6XRy2223Hfja6aefHvSiKxERCb2srCya+Hwh66+Jx8MfmzeHrL9jZceGDJqFcGPnZmEG\ny5cvD6ht1oYN1DMMgt1oOizMwO7zUMfhYMeOHYHVsmUL9QwIcwQXHB1hBkk+L0X5+VRUVFS7vcfj\nYc/u3aSYPsKcgYe0fbVYpGGxbcuWwPs40gPWrl3LGWecUaXOhg8ffuDj9PR00tPTA61LREQC4PF4\nCAvhGqEww8AT4KjE8cTnceOs4uLeqgjDwuVyBdTW43YTBhhGkL8nY99VWk7DCHghtMfrxWZZGEEO\nNBoGYFmE2Wx4PB4iIyOr1d7r9eIwDAysQ25lUJ1aHKb1t3Myf/78Kq+JOmI4qupKcfhzOBIRkaMv\nLi6OwhDunFxoWcSdAPdei6qVSMHO0I2AFZgEfO+12IQESiwL0wwuBVgm2O12CrxeYmNjA+ojLi6O\nsrw84oIcbLRM8NhseKDawQjYt5mlw4HbsBEeZC2mCSWG8bdz8tdBmxEjDr2o/oh/Qa1atQp46FBE\nRI6uk08+mQ0h7G9DeDgtToD7rbXscDa/eUMzcuQzLTZ5LDp16hRQ+xYdOrDVZsPlAoIYPKqoMKlw\nRlIZHk7dunUD6uPk008nyzBwuYI7NxUuyHY4Oalx44BuTGuz2WjarBk77GFUBDYgd4DLZbDdsNHi\ntNMC7uOI4ahTp05UVlbywQcfHPjamjVrWLRoUcAHFRGRmtGoUSMqoqPZGoKpsDKfj99Mk9OCeJE5\nXnTr1o0FbgufGfyU4+JiHxHxcaSlpQXUvv3ZZ7M4MhJnWCTlFYENk1gWlJYarHc6aXfOOdWa5flT\nLRdeyPKICEzTjrsysKvvTNOivBx+Cw+n3YUXBtQHQPuLLmK100lFBfh8gf2e3G4Tr9fGishI2gex\ntKdKY69Tpkxh9uzZNGvWjNatWzNs2LCAU6qIiNQcu91Oj5tvZnJ5edB9zSwu5uwuXUhMTAxBZcdW\np06dMFJS+KEg8E0K9/us1KJrn5sCbn/OOeeQm5DAnpg4SooD66O83EeYM5Jp4eFc079/wLVcdvnl\n/OJwYMYlUFwSWDgqKfERERPPdLudq2+4IeBarrruOr52OIiIrUVJSWChsaTEwohPYqHdzhVXXhlw\nLVUKR3Xr1mXSpEls3ryZtWvXMmPGDJo2bRrwQUVEpOZc17cv30dF8XuAC4YB8rxePrLZuHnQoBBW\ndmzdOewpniuxKPMGFgIAFhV6+cnmZOjQoQH3YbfbuWXIEP7jcOAxwygurl4Q8HosCvJhSVQM1skn\n869//SvgWmJjY7lm4EA+DnPicjkoL6teLZWVJsXFNmaER9D64ouDygaNGjWiw+WXMyU8gpISG5XV\nHMkqL/dRUWFnrMPBlf37Ex/EDvHaIVtE5ASTnJzMvSNH8kRFBcUBXNbvsSyeKi6mx113ceoJsN5o\nv9tvv534tu15KseLGcAVfbtcJo8WWjz8wisBL8be7+prryX8rLP4vlYSJSX2Kgckj9skZ7dJSUIK\nH0ZHM/y114K+991tgwax5aSTWJ2QTF6+QVkVA5LLZbJnj0V2YiozExJ4dOTIoOoAGPLUU3yXmMjO\nxFT27LFwuaoWkMrLfOTlGWQkprCuQQPuHDw4qDoUjkRETkDdunfn7H//m7uKi9nj8VS5XanPxyOF\nhYR36cLt99xTgxUeG5/P/IafE2szdJcHl6/qIxNbyn30y/Fy1g19/7TvX6BsNhvPvvUW85s04buE\nFIpLw9id49s3cnOQ3ObxmOTne8nJsciLT+Hx8Agefv11mjVrFnQt4eHhvDxmDB8nJ7M8MZWCAht7\n9vioqDj4+amsNMnN9bF3L2Ql1mZUVBSjP/qI5OTkoGtJTEzkhTFjGB0dzbbE2uzda5Cb6zvkKJKr\nwmTPHh95+TZWJ6byfmIir4wdG9AVc/4MK0Q3zTnc3W1FROTosyyLMR98wISXX+Yu0+SK2Fich7jM\n32dZLCgt5WWfj3P79uWhJ57A4Tjibi//k3Jzc7m6ayfMDet5qpaNjvGHvsFpuddkfK6Xt1w2rrn7\nHp5/8aWQ1pKXl8djgwZRuWQJd3m9pJQW4/ZUEBEBNpuFZRl4POD12nDEJzLd7uCb+Hgef+MNLghi\n8fPBZGVl8ejtt5O8cSMDvF6iSwoxTTfh4ftqMc19tZimAzM+gYl2B8vr1GHku+/Spk2bkNaydu1a\nHrv9dtpmZ9Pb6yWsKB8ML07n/6+lshJsNicVcQl8bLeT3bw5z733HieddFKVjnG43KJwJCJygtu4\ncSOvjxhB5tKldDZNWtls1A8Lw2YY5Hg8rPd6mW23E3fyyQx68knOPvvsY13yUfHCCy/w8QujSa4o\n47Iwi1YRBilhBl4TtlWarPTAN25IatqUVz/6pMbOi2maTPnyS8a89BLJBQWcVVFBY9MkzjDwAtst\ni42RkSyy27ngyiu5d+hQkmpo7ymPx8OnY8Yw8Z13aF5RQbuyMhoC0UAl8IdlsS46mmV2O91uvJE7\nBg8mOjq6RmopLy/nvTfeYMa4cbTzeGhdVkYjm41woPz/alkVHc3GyEh63XYb/QcOxOl0Vrl/hSMR\nEWHbtm0s+PFH1i9ZQva2bWBZJNWtyylnnUXH886jVatWx7rEo840TcaPH8+sGdPYsmo5FSUlGIZB\nYlo9Tj2rIwMHDqRt27ZHpRafz8cvv/zCyiVL2LB0KSUFBYQ5nTQ69VRannkmnTp1OmpXDrrdbhYs\nWMDqpUvZtGIF5SUlhEdG0uT002ndoQOdOnWqsVD0V2VlZcybN4+1y5axZc0aXOXlRMbE0LxdO04/\n80wuvPDCfZtIVpPCkYiIiIifw+UWLcgWERER8aNwJCIiIuJH4UhERETEj8KRiIiIiB+FIxERERE/\nCkciIiIifhSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KRiIiIiB+FIxERERE/\nCkciIiIifhSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KRiIiIiB+FIxERERE/\nCkciIiIifhSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KRiIiIiB+FIxERERE/\nCkciIiIifhSORERERPwoHImIiIj4UTgSERER8aNwJCIiIuJH4UhERETEj8KRiIiIiB+FIxERERE/\nCkciIiIifhSORERERPwoHImIiIj4OW7CkWVZmKZ5rMs47hxP58Xr9R43tYiIiNQUx7E6sGVZLF26\nlJkzJ7NmzRKysrLw+XxERUVy8smncNZZF3HVVT2pV6/esSrxmKisrOSHH35gzpzprFu3it2792BZ\nkJiYQMuWp3HeeZfRrVs3YmNja7yWPXv28OyoUfz67Qxyd+VQUekGICoynNQG9bnoql48/PDDxMXF\n1XgtIiIiR4thWZYVko4Mg6p2tXr1akaMGILb/QennuqiON+DVe7D67ZwRNoIr+XAZg9n+XI7F1xw\nJY888hTx8fGhKPO4ZVkW06ZN5bXXhlOvXjlpaS4K93jAZYJlYUTYiU0Jo7AwnA0bwrjllsH07z8A\nhyP0+dbtdnP37QOZM2kiF4ZZdIuA06LtpIUbWMAfFSYZZSZTKmGxz0bPO+7m+RdfxGY7bgYiRURE\nDutwueWohiPLsnj//Xf4739f5cwzK9mZUUZ2RjndLItGBkQYBqWmxRIbLHHYaJteC6/DSWZmMq+9\n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\nL7+8GMXFhxET046v8g1orzJjjCDiPgWgUgD1AnBMrUBjgBqxI/xxqVwDP794rF//tl3n93z//fcY\nnzT1+vYAABCYSURBVDgEuiuXseI+FXp4df5IkfNNFiypt6K9ZwQOn87nXCMiIvpNcJly9JOLFy/i\ntdcWo6GhFNHRbTA2tkFhFiG0WaH0UELjo4LV6oFz51QYOTINzz//ol3OjLgyURTx6aefIjPzrwgM\nbERYWCsMP7RD2S4CImDVKOAboMHVq+4oL/fA/PmLMX36TKhUv/55aDezWCx47j8W4HD2NgxUCRjr\nDvT1VqG7uwIigO9brTjfbMXHZgXOQ41Zi/4Tr7zyCpR2ePwIERGRM7hcOQKul4Hi4mIcOrQP58//\nAxUVFWhvb4evrw8iIqLwhz8kYcKESejWrZs94v1mWCwWnDx5EidOHEJJyReoqamBKAIBAQHo0ycW\nf/rTKIwePRqenp4Oz6LX67FmzRqc/mQf6r77Hq2tZgAKeHl5IDg8HKPSpmLhwoXw8vr1N+UkIiJy\nJpcsR0RERERy6ay38DoIERERkQTLEREREZEEyxERERGRBMsRERERkQTLEREREZEEyxERERGRBMsR\nERERkQTLEREREZEEyxERERGRBMsRERERkQTLEREREZEEyxERERGRBMsRERERkQTLEREREZEEyxER\nERGRBMsRERERkQTLEREREZEEyxERERGRBMsRERERkQTLEREREZEEyxERERGRBMsRERERkQTLERER\nEZEEyxERERGRBMsRERERkQTLEREREZEEyxERERGRBMsRERERkQTLEREREZEEyxERERGRBMsRERER\nkQTLEREREZEEyxERERGRBMsRERERkQTLEREREZEEyxERERGRBMsRERERkQTLEREREZEEyxERERGR\nBMsRERERkQTLEREREZEEyxERERGRBMsRERERkQTLEREREZEEyxERERGRBMsRERERkYRa7gB6vR4H\nP/4Yp/fvh8loRHBYGMbPmoWhQ4dCpVI5NUtdXR32ffABCo8cQXtbG+7v1Qup6ekYMGAAFAqFU7NU\nVFTgw1278GVeHqyCgIi4OKSlpyMqKsrpWYiIyDkEQUB+fj4++mgHqqvL4enpjaSk8Zg4MRUBAQFO\nzWI2m3H8+HEcOLAL167VwM/PH4888jjGjh0Lb29vp2Zpbm5GTk4Ojhx5HwZDPQIDgzBhwkwkJyfD\n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\nYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x3190f50>"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here its easy to pick out the C->G transition between the two groups."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment