Skip to content

Instantly share code, notes, and snippets.

@mgalardini
Created June 11, 2015 16:34
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 mgalardini/6a227baeb955bf97d92d to your computer and use it in GitHub Desktop.
Save mgalardini/6a227baeb955bf97d92d to your computer and use it in GitHub Desktop.
Roary plots
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Roary pangenome plots\n",
"============="
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h6><a href=\"javascript:toggle()\" target=\"_self\">Toggle source code</a></h6>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Plotting imports\n",
"%matplotlib inline\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"sns.set_style('white')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Other imports\n",
"import os\n",
"import pandas as pd\n",
"import numpy as np\n",
"from Bio import Phylo"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"parSNP tree\n",
"-------------\n",
"\n",
"Any other valid newick file is fine, if the tip labels is the same as in the gene_presence_absence matrix from roary."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"t = Phylo.read('parsnp.tree', 'newick')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Max distance to create better plots\n",
"mdist = max([t.distance(t.root, x) for x in t.get_terminals()])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Roary\n",
"------"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Load roary\n",
"roary = pd.read_table('gene_presence_absence.csv',\n",
" sep=',',\n",
" low_memory=False)\n",
"# Set index (group name)\n",
"roary.set_index('Gene', inplace=True)\n",
"# Drop the other info columns\n",
"roary.drop(list(roary.columns[:10]), axis=1, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Transform it in a presence/absence matrix (1/0)\n",
"roary.replace('.{2,100}', 1, regex=True, inplace=True)\n",
"roary.replace(np.nan, 0, regex=True, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Sort the matrix by the sum of strains presence\n",
"idx = roary.sum(axis=1).order(ascending=False).index\n",
"roary_sorted = roary.ix[idx]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"AElFTkSuQmCC\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0179b9bc10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Pangenome frequency plot\n",
"plt.figure(figsize=(7, 5))\n",
"\n",
"plt.hist(roary.sum(axis=1), roary.shape[1],\n",
" histtype=\"stepfilled\", alpha=.7)\n",
"\n",
"plt.xlabel('Number of genomes')\n",
"plt.ylabel('Number of genes')\n",
"\n",
"sns.despine(left=True,\n",
" bottom=True)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Sort the matrix according to tip labels in the tree\n",
"roary_sorted = roary_sorted[[x.name for x in t.get_terminals()]]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"ufdaa/97tW2GtfZjJP24pP9dZR8Xkl4j6dmS7matfX+VE+srkl6k8g+CR1hrP1flHwzvJ+ndkr7a\n",
"Ofd6a+1XSPoS59yjrbU/Kel/SLpD0oNUfhfj5znn3mOtvVPT70t+t6SvdM69SeWk/lXW2uc65963\n",
"disBAG4V6X3vO6v7zQ+kCat/Dj9N5X3xK5LduUnb56lcuQzfZ/+fVH5PcE/l9/W+XpKcc++y1r5O\n",
"5b3sFUmZlyW9RNK9Jf1XSfuSXuyce6G19pMlPUvSfVRO4J/onPuL6l75WEnvkvSpKl/B9Xjn3Jus\n",
"tfdR+d3GByrvy09xzv1kpq57kn5C0kMk/Z2kb3XO/XoS15855y5Fz//UOXd3a+0HSfopSf9M5X38\n",
"F1Te/18i6V7W2t9yzj1ySfyPU/m3w+9ba79f0s9I+iiVK+y/KenrnXPvtNb+rKRvkfStmfYHgAuD\n",
"leHz4QtU3qwkSdbaj5X06ZKemaT7fyX9K2vtbdVLvR5dbUt9r6TnOuc+WuVLqh8p6Y0qb8S/5Jx7\n",
"oso/IDqSXu+ce4S19pKkn5T0Nc45q/K/9D9SE+/jJX2RpI+QdHsV070k/XtJD6/+O/9UlX8UyDn3\n",
"xyr/OHhE4xYBANzKZu57zrnXL0j7vSrvT1cz+55urf1Da+2xtfZx1bYHSXpLlObPJd3PWntv59yv\n",
"O+f+RpKstQ+S9HDl76M/IumVzrkPl/RKSf9Ckq/udS+X9B3OuQdK+g+SfjE67jGSnlPdR39T5cu+\n",
"JekZkt5Xbe+qXFn96Ey5PyTpDc65j5D05ZJ+rnqZc6xuhfhJkn6ruvd/jKQPUfl33ndIulJNhO8l\n",
"6WUL4n+0pH/rnHuyyn88vKNaRX+QpPdICjH/iqQvrIkDAC4MJsNbVv1X997OuT+snhtJz5V0p3Pu\n",
"riT58yTdTdJ1SX8t6c3OuVdo3l9Lery19qGS3uWc+yLn3HtVToDj/6LfXdUfI9WK7QOcc1eqfb8r\n",
"6cNrwv7Pzrl3VvH9kaQPVnmT9JL+jbX2A51zL3POPT06ZqhyNRkA0GLpfW9J2o9V+RafH9X8KvDP\n",
"S3q2c+7jJH2zpJ+x1n6EpHtI+qeQyDn3TyrvT+9f5Xk3a+2fSfp9ST/inHtzpuhPkfRz1fG/Kim8\n",
"h/lTJf2lc+5V1b6fl/SR1toPrva/yTn3+9Xj31c5IZWkz1G5Sivn3EjlZPILMuU+Jir3DyR9aHX/\n",
"buKvJX1WtfL7Pufclznn3q7ZdvtUSdcWxP+nzrm3RPndYa19tKS7O+e+Mfqnxe9JeoC19gENYwOA\n",
"c4nJ8PbdT7PvC/4aSX/knBtG28KN7Okq/zN+H0n3lXQfa+23ZPL8dpUfGPKLkt5afUhJzl3JS7O/\n",
"wVr7emvtH6t8mVbu5Wde0t/Geah8H/P7JH2GpE+W5Ky1v129XDv4m6quAIB2S+97WdE/h3u5D4p0\n",
"zn2nc+63q8e/K+nVkj5T0t9Lui3K5zaV97O/q9Le5Zz7SEkfKulfW2v/bab4+0q6ET1/W5XHvSV9\n",
"hLX2zeFH0j9K2qvSvSs65i6V/8AO+f1idMznS7pXptw9Se+M6vj3mTR1nqly1fe5kt5urf2+TJr7\n",
"LIl/Umfn3IurPJ8i6a+ttc8Oq9TVP8NviPs6gAuO9wxvXzrh/FxJn2it/VfV89slHVtrv1jly5ee\n",
"VN2E3mOtfbnKG+oz4gyqm+d3Sfoua+0nSnqltfY3FgVhrf0kle/henj1ydWPlvT8VSpS/Rf7i6qX\n",
"XH+7ypXsT1klDwDALW/RhzPFPljSx0l6ibVWKt8H+wHW2j9Q+d5b65z7oyj93SW9V9Ifq3x7UPBA\n",
"Sf9/9WnSXyLp5c65v3XOjay1Py/ps1Ter2J/q9nJ6v1V/jP4r1S+KuvhabDW2o9fUJe3qfx8jTct\n",
"qfNI5X3/rVWelyVdi/bfpdmFjPuGB9XfBk+T9DRr7QMlvcJa+7tJ/ivF75x7vqTnVyvAv6zyg7j+\n",
"nyV1AIALg5Xh7fsble/dlSQ55x7rnPtA59z9nXP3l/SXKieor5bkVH64hay1d5P0L1W+THmGtfZl\n",
"1tqHVE/fqPI/1V7lHwn3qYnjflUsf1l9WMmXq3pJWSL7R4y19mOstb9orb17tUr8e5Li/+SH/AEA\n",
"7TZz3wuiTzA2kuSce6tz7t7R/fALJL3GOffPVd6ffsdae1Ad+7GSPknSb6hcHf2M6j3BUvkS6hdV\n",
"j79K0jdVx7yfypcl/0EmxmOVn40ha+3nSAovBx5Kun9U7odba3+qQZ1/VdLXVcdcstY+s3orU+pl\n",
"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\n",
"5e8bx0fy3k/S3Tg+msQzHha6/Y6+9g776nR7Gg0KGTOte8g/PPdeM8+NMRoPi0naXLuGtJ1ub626\n",
"ei91uv1J2riM0aCoYpw+jveNh0dVnYxuv6M/aYeTEx/VqXy8e9CT9167B72Zvg913D3oVWmmfTAe\n",
"FpP6l2ml3YNeFK+qfikf7x32J89DP8XtEPqh0+1N+i+OMdemof063Z6uXykm++NmDfHE/Rpin81X\n",
"0WMz8zuUE7dxPPbi/g+/4z4Px48Gxdy2kFccX1z2InEZ4bH3fm5cxeWGNHVjMvRTHGOTa0acvuxz\n",
"n2yb/d0kn3Cex9t2D+bbVZofT0E5Hqb5xeK80zYJxy2KP77uSGUf5MbqdP98O6bHLJKLMy4njKPc\n",
"uKiLKU6Tyzs8T9smFY+xcN3JlZOez3X51o3PXGzhXEzzTtMua+c4zfR6NTte4/aty7OunDiv+NpV\n",
"J1f+ovSh/69fybf/oljSa0R4Huo7GhQz7Z2mS7fH1+e68kN+adlxmvh8D/mm4m2562+uXjnhHpIT\n",
"6rbo+Lpymp7fi/I4jfLvgcV5MRkGAAAAALQOk2EAAAAAQOswGQYAAAAAtA6TYQAAAABA62zqq5Vw\n",
"8+1v+Guq9iVd22B+AAAAAHBuMRm+gLz3l/m+5lvTsn5t+n3eAAAAABZjMnxBbXpSxOR6+6o+YIUe\n",
"AAAAuAmYDAPnyzVWfwEAAICzxwdoAQAAAABah8kwAAAAAKB1mAwDGcaYqzf7R+X7hXHGvPcrpdk7\n",
"7J+6zE3kEXjvJz8hb2Pm0xljZKod3vsqnan2lfu91+QnzaNBM03yGw0KjQaFJGk8PMrE3LR280I9\n",
"Q7zTsqf5hsch7c6OqeqoSXyxTrc38zzsT8eG974qd9re3nuNBsVc+4bfuTzK39P2CvVJYwh9EfZ3\n",
"uj11uvmxE9cp139pHePj4tjr4llWZjgm9EvYN23LaQzTcVdf/7SMOP60XeM2nT9uvr1CWXE8dWMy\n",
"tE98XFrvOnH6XJ1zzxflE5cdto2H+VgW5ZvuC+0X522Mqe3fOI+0D3OxxmXEcu247JhcPMv6I97f\n",
"pO/idkhDCM+X5dNkbMfXgLQP6mJqEncoc9EYaJJfXPf0ejXd7ifpFnVX3fUnmLbD8jSxJvXY2Vnt\n",
"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\n",
"hhhj2KweQowxpJTC+rEJs/ky3Nwvt+Wu7xbb8ll+PZu/9tE+txvXYePIbRwyB4fMb0ppZ376yv35\n",
"0Wzfz+aL3vKz+WKv3TxHf38+bM/9/fk6rvJ1FmPc1strM1aesxzrzf1y21Zey9L6sdl5v1k12343\n",
"q2av79l8sTMPuXxKaVu2bPP6bhGu7xbbNc1l2vskv891u86/7r3dseQ48pjbMecys/liW7Zdrmxj\n",
"KN5yjGUsXXtkaO/kvsprtL02ee5n88XOWqaUwmy+3FmDss9cNp/Lx7vmsnxf3gtynRzXc7/794ea\n",
"fL85RS3eQ++rQ20/3wPra1WLv2tM5V7KyrUda7NqtnM+my+q+7A8NmaftdsYUyeX6St7zNhqdcvX\n",
"Q+ubr+laHMfut0PWtFReF33ncx9XV8PXxNVV/XzfHj3kmqh/vz7tmjr1Ov/sJMMAAABMjmQYAACA\n",
"yZEMAwAAMDnfLh0AfDUxxl9v3UdK6ftb9wEAAF/ZKU+Gb19+6L89Uyzw6bkmAADgczjqyXBK6ft7\n",
"PP2CT+q3J7cAAPCxHf3fpPMP+5JiAAAAPhu/QAsAAIDJkQwDAAAwOX6bNJzutvi4wG0I4fcFYwEA\n",
"AEbwZBhO8PLZeckvAAB8MpJhOFFK6Xv+ChLjT2WzehhdNsZYPZ5S2r6+uV8eVLfWVo6pbDe/TimF\n",
"lFL459/l9ljuM6UQru8WYf3YbMte3y22bVzfLcL13eKlj2Yb02y+2OlraIxdZvPFTjxjbVbN3jrU\n",
"+osxhqEw8piurl7nO89H1xqsH5uwfnyej9rcPz09v57NX8dVvi7bLuf+78+Hl5jrQW9Wzfb1zf0y\n",
"bFZNSOn5eG6na23aY3ndA697Ir/++/NhO8bcb67/9+fDdixlm89r0mzb6Jq72XwRZvNFiDFu17+M\n",
"oxzDbP68N8tyZb0yvrJsjHG7Prlcu432HHXFe3W121/uM//btn5sBvd+jHGnv/Zc5H7Wj83Omj/v\n",
"t/29Wc5Dea4dRjvm8n37XJ7H3F7XeA9VjnNI2Wc53r59M9bVVdy59mrG3MNq+yYfK++lY+uUc93e\n",
"s6VD1iOPY0ydvH/bZcfMRZe+72V5jEPf7/K8HLLGxxoTS1+5sd+7u7TvBUNxHOvU+qX2/qj9LNJX\n",
"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\n",
"5vnJY+5qM89frd/Nqgnrx2bveLvOzf2yWr99rLZWtfd5nOWa1Or07cty3+a5ynNRzmMuU5uLco7z\n",
"sfVjszeuzaoJs/mic67b7Q1dT+1xl7GV8nVX29dlbKXZfLHT7hgxxr12+vop4+jrq31NlNfZbL6o\n",
"7r/NqgmbVVNtL8YY/v582Lmmu/Z333hq11bf8VLt/lEr0263by3K+2tpaE36+mzrirmv3lDcp8Qz\n",
"ts6YNakZW29MnENt1c4fG3et/th7YpdD6xxSfjZf9I61PHd9t18uH5vNF9XzXXX7yp7DKe1LhgEA\n",
"AJicb5cO4CuJMf4aUy6l9P1tIwEAAKCPJ8Nn8pII3146DgAAAIZ5Mnxevz31BQAA+Pg8GQYAAGBy\n",
"JMMAAABMjmQYAACAyZEMAwAAMDmSYQAAACZHMgwAAMDkSIYBCpvVw/b1zf1y73yM8aD2cvmy3fVj\n",
"sz2WUgoppZ06f38+l00pbcvmMjHG7euyzXZss/lr7O32y7IppbBZPWxj6ZJS2mk/x1W+rs1Xu6/2\n",
"sT8/mnB9t6iOpyzfDq29DuU8ts+1329WTbi5X27bnM0Xe32WY+mbl90YuvuMMYab+2WIMe7MXU1t\n",
"j+UYn9vY3Qe5zma1uyZ5Xrva7Dtetr1ZNSHGuI2hnK9ae2Uctfae37/GOZsvRl9X7bmbzRfhn3+X\n",
"IaW0E1ee5/Vj07t+fWtR2xc5zhhjb8y53bKN/DrXy+///Gi2x27ul2Gz2l27rpj6+i/ntD2Ocgxt\n",
"f37szkftmr+6ej2W28tfs/liZ75ra3voXiz7Hnu8dHO/HNwH7b7Xj01vPGPG0HedjNEVbnntt8c0\n",
"FHefY+rV7vm1NWnPRft67arXrhNC2LkXdRlqq3Z+zF4q9cVfzmXf/bxU+/7Ypb3uY9Yu31PyfbFL\n",
"ea52L8/H1o9N9XxX3b6y53BK+5JhAAAAJkcyDAAAwOR8u3QAH9htjPHXIeVDCL+HCg21mVL6fkCf\n",
"AAAAHMGT4YqXhHQwsT3USyJ8e+52AQAAOIwnwx0OfUJ7wFPk357+AgAAXJYnwwAAAEyOZBgAAIDJ\n",
"kQwDAAAwOZJhAAAAJkcyDAAAwORIhgEAAJgcyTDAi83qIdzcL7fvU0ohxhg2q4edY7V6XXL5st1/\n",
"/l3uHSvN5s/HY4zhn3+XYbN6CH9/PuzFFONuDGVs5etYFqy4uV/uxVIbU9lmWT6/zufb/ZXH87nX\n",
"YyFsVk1IKe21U8afj7XHOJsvBsdZW7N8fLNqwvqx2WsjpbDTdrZZNTvvc/nZfLFzrh1vSmn71bXu\n",
"fXHnGMuhxBj3xt811lqbfcq5zP3kqkNN1MZXtrcfc3975RyW+yelFP78eF6/3E5uO5ct16cv1jK+\n",
"3F9tX7S1283l8r9lG+Xr2XwR1o9NmM0X4erqdUx5LOVeyn3kOmN09Tu093IsbbP5ouP63S2f46/1\n",
"nds5Rtf8D93bypjGlD2k3TH9ntJH+15Tq9tu4xxxH6I2xloM7XIxxuqxPn37akwMQ+cPnbtD4++r\n",
"2zZ0nz5mnfN+GroW2vf+rvOHtNPV1jmd0r5kGAAAgMn5dukAvpjbGOOvvvMhhN/5TYzxV0rp+1sH\n",
"BQAAwC5Phs/kJan9PVQue0mab98qHgAAALp5MnxGQ095K0+NRyfPAAAAnI8nwwAAAEyOZBgAAIDJ\n",
"kQwDAAAwOZJhAAAAJkcyDAAAwORIhgEAAJgcyTAAAACTIxkGeHFzvwwppZ1jKaVwc78crDekbPfp\n",
"Ke0dq5VNKYWnp3r/7WMxDobQaf3Y7MUy1F5ZvmscQ/Ve+4q97aSUtmX2z43uems2f527GONO27vj\n",
"2q/btdYphc4Ya2XHKNsrX8/mz/v0+au7Tm2NxsbYllIIm9X+PqlZPzaDbZ3D89q1xxzCbL4Y3Wft\n",
"eG4vxlhta0y77bbar/N+yfVzP2Xf7T4O2WPPbe+veTve2vgOmb9av33v8/q0+zjkHnKoY/f8pfu9\n",
"VNyH2F/f+jrWxnLK+MZcm13OtddOjb/v2KFtj5mLz7CfLkUy/P5uY4y/Qgi3lw4EAABgqiTD7yil\n",
"9D2E8PvScQAAAEydZPidpZS+F0lxfkoMAADAO5IMAwAAMDmSYQAAACZHMgwAAMDkSIYBAACYHMkw\n",
"AAAAkyMZBgAAYHIkwwAAAEyOZBj40mKMo8umlA463nc+97tZPYzuf2z7KaXOmNrjHer/78+HcMAU\n",
"nV2O95B1OlXf/A3X3W9rrLwWm1VzVN+H9nnMnPbVGdvee65lzZFLW9RPxesTgxnd5/v00957tX7X\n",
"j/v7s13v2DXerJqQ0vuNl6/rkntoNl+8aflDvcdcXN/Vx1AbW+1nljFtXt8t9tobmrta27v38OHJ\n",
"kQxf1n+7dAAAAABTJBm+kJTS9xDC/790HAAAAFMkGb6820sHAAAAMDWSYQAAACZHMgwAAMDkSIYB\n",
"AACYHMkwAAAAkyMZBgAAYHIkwwAAAEyOZBgAAIDJkQwDAAAwOZLhy/r98gW8kZTSRfu9uV+OrhNj\n",
"PFu/2VD/s/kyzObjYzy3HO97r9M55vpQeS0O2ROnOGZOu+psVs2p4Xwal9gb72XM3quVaR879np9\n",
"r73/lc3mi4PrvNf99T2vnWPvSeeIcf14WN/rx+ZN16Cci7fqp2u+a3PRnuOuOW+3uVk1e+0NzXWt\n",
"7fLYmPWWDAMAADA5kmEAAAAm59ulA5i420sHAAAAMEWeDAMAADA5kmEAAAAmRzIMAADA5EiGAQAA\n",
"mBy/QOuy/I1hAACAC/BkGAAAgMmRDAMAADA5kmEAAAAmRzIM8IZSSh+6/5TSxWP8zGKMo8vmef6M\n",
"033IOPm4xuy9Wplz7dnPuPc/GnP47JL3pEP7futY32Muuvo4pe923Rhj9dhbkwwDAAAwOX6b9AWl\n",
"lL5fOgYAAIAp8mQYAACAyZEMAwAAMDmSYQAAACZHMgwAAMDkSIYBAACYHMkwAAAAkyMZBgAAYHIk\n",
"wwAAAEyOZBj48jarh71jMcbOc+X5sf7+rLfTpdb+ZtV0xjObL3uP5dft+jHGsH5stu/z65TSXizl\n",
"nLT7K9utzV2OfTZfVOOvKWOoxd4uG2PclpnNFy/vm50y+Vw71vL8358P2/Zy2bKddmw3969zUZaL\n",
"MYaUUkgp7dWPMYbru+cY21+vY2m26zGbL7bHazHM5otwfbcIm1UT/v58CDf3y+3appS248h1Yow7\n",
"e7JrP1/fLbbt5zkt5bHncd7cL8P6sdk5nuuUcXTJMZfzlV9f3+3OQTlnOZYcb1kmj/l5Dz5/RzIO\n",
"tAAAASNJREFUleNo75Nynspro3a+rFcbW9/59prU6m1WTZjNF2H92HSuUVl2SNln2V57n/ft+9o1\n",
"VdvfY2MplWs0tr0x+2qsrnZqa1Q7dk7HjmnMPmj30Te/Q3G89TyMjaPPITF29VMeP9d+Kx3yM0XZ\n",
"/6HzP9TPW4ztGB8ljhAkwwAAAEzQtzO1cxtj/HVqIyml76eHAgAAAP1OfjL8ksD+Pj0UAAAAeB9n\n",
"eTLsiS4AAACfic8MAwAAMDmSYQAAACZHMgwAAMDkSIYBAACYHMkwAAAAkyMZBgAAYHLO8qeVgA/j\n",
"/4UQ/vPSQQAAwAfwf/tOxpTSewUCAAAAH4L/Jg0AAMDkSIYBAACYHMkwAAAAkyMZBgAAYHIkwwAA\n",
"AEyOZBgAAIDJ+S9QrnEV1i61vQAAAABJRU5ErkJggg==\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7f017bff06d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# PLot presence/absence matrix against the tree\n",
"with sns.axes_style('whitegrid'):\n",
" fig = plt.figure(figsize=(17, 10))\n",
"\n",
" ax1=plt.subplot2grid((1,40), (0, 10), colspan=30)\n",
" a=ax1.imshow(roary_sorted.T, cmap=plt.cm.Blues,\n",
" vmin=0, vmax=1,\n",
" aspect='auto',\n",
" interpolation='none',\n",
" )\n",
" ax1.set_yticks([])\n",
" ax1.set_xticks([])\n",
" ax1.axis('off')\n",
"\n",
" ax = fig.add_subplot(1,2,1)\n",
" ax=plt.subplot2grid((1,40), (0, 0), colspan=10, axisbg='white')\n",
"\n",
" fig.subplots_adjust(wspace=0, hspace=0)\n",
"\n",
" ax1.set_title('Roary matrix\\n(%d gene clusters)'%roary.shape[0])\n",
"\n",
" Phylo.draw(t, axes=ax, \n",
" show_confidence=False,\n",
" label_func=lambda x: None,\n",
" xticks=([],), yticks=([],),\n",
" ylabel=('',), xlabel=('',),\n",
" xlim=(-0.01,mdist+0.01),\n",
" axis=('off',),\n",
" title=('parSNP tree\\n(%d strains)'%roary.shape[1],), \n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"QQdgIUAYhquDIJgeBMGbwCBie+s0NCsMw9La/78WeCMIAogdNdGywfvODMNwOUAQBIuJTYoGAY8G\n",
"QfAC8FIYhssavOZa4Ge15er7XLqNfAuBzjt4nYiIxJEmP5IK6h8bQRiGpxK7lXQg8M423r8SIAiC\n",
"HGK3ts6vneKM2cb7Vje8UDtJ6g+sBN4JaptTPQcTmxKNCILgnCAIGp7nVedUtn87TEREPFH5kVSw\n",
"GOgEsSMigiC4MgzDr8MwvIbvJjk1QHaD1xUD1WEYrgiCoDOxW1s5fD8XBMH1ta97jNhtr33rv0MY\n",
"hrPDMPx/xJ5D6gu8uZ2P1T0Mw8UNrnUCFuwgg4iIxJFue0kqGAf0rp2wLCZ2rtaFQAXwRO37DAc+\n",
"A35O7ZQoDMNVQRB8FATBWGAKcDtwD3Av302SGi53NGA+MDQIglJgNXDXtkKFYbgCuL72fK8tBEHQ\n",
"ElizjZf1I/ZAtoiIeKKl7pISgiC4CxgThuFA31l2VRAEvYGbwzA8w3cWEZEo020vSRV/A35duxor\n",
"5dTuB/QP4Le+s4iIRJ0mPyIiIhIpmvyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo\n",
"/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8\n",
"iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyI\n",
"iIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiI\n",
"iEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiI\n",
"SKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhI\n",
"pKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEik\n",
"qPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo/IiIiEikqPyIiIhIpKj8iIiISKSo\n",
"/IiIiEik/H+Z7d6juNrEQQAAAABJRU5ErkJggg==\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7f017b665bd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot the pangenome pie chart\n",
"plt.figure(figsize=(10, 10))\n",
"\n",
"core = roary[roary.sum(axis=1) == roary.shape[1]].shape[0]\n",
"softcore = roary[(roary.sum(axis=1) < roary.shape[1]) &\n",
" (roary.sum(axis=1) >= roary.shape[1]*0.95)].shape[0]\n",
"shell = roary[(roary.sum(axis=1) < roary.shape[1]*0.95) &\n",
" (roary.sum(axis=1) >= roary.shape[1]*0.15)].shape[0]\n",
"cloud = roary[roary.sum(axis=1) < roary.shape[1]*0.15].shape[0]\n",
"\n",
"total = roary.shape[0]\n",
"\n",
"def my_autopct(pct):\n",
" val=int(pct*total/100.0)\n",
" return '{v:d}'.format(v=val)\n",
"\n",
"a=plt.pie([core, softcore, shell, cloud],\n",
" labels=['core\\n(%d strains)'%roary.shape[1],\n",
" 'soft-core\\n(%d <= strains < %d)'%(roary.shape[1]*.95,\n",
" roary.shape[1]),\n",
" 'shell\\n(%d <= strains < %d)'%(roary.shape[1]*.15,\n",
" roary.shape[1]*.95),\n",
" 'cloud\\n(strains < %d)'%(roary.shape[1]*.15)],\n",
" explode=[0.1, 0.05, 0.02, 0], radius=0.9,\n",
" colors=[(0, 0, 1, float(x)/total) for x in (core, softcore, shell, cloud)],\n",
" autopct=my_autopct)"
]
}
],
"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.8"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
#!/usr/bin/env python
# Copyright (C) <2015> EMBL-European Bioinformatics Institute
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# Neither the institution name nor the name roary_plots
# can be used to endorse or promote products derived from
# this software without prior written permission.
# For written permission, please contact <marco@ebi.ac.uk>.
# Products derived from this software may not be called roary_plots
# nor may roary_plots appear in their names without prior written
# permission of the developers. You should have received a copy
# of the GNU General Public License along with this program.
# If not, see <http://www.gnu.org/licenses/>.
__author__ = "Marco Galardini"
__version__ = '0.1.0'
def get_options():
import argparse
# create the top-level parser
description = "Create plots from roary outputs"
parser = argparse.ArgumentParser(description = description,
prog = 'roary_plots.py')
parser.add_argument('tree', action='store',
help='Tree Newick file')
parser.add_argument('roary', action='store',
help='Roary gene presence/absence table')
parser.add_argument('--version', action='version',
version='%(prog)s '+__version__)
return parser.parse_args()
if __name__ == "__main__":
options = get_options()
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('white')
import os
import pandas as pd
import numpy as np
from Bio import Phylo
t = Phylo.read(options.tree, 'newick')
# Max distance to create better plots
mdist = max([t.distance(t.root, x) for x in t.get_terminals()])
# Load roary
roary = pd.read_table(options.roary,
sep=',',
low_memory=False)
# Set index (group name)
roary.set_index('Gene', inplace=True)
# Drop the other info columns
roary.drop(list(roary.columns[:10]), axis=1, inplace=True)
# Transform it in a presence/absence matrix (1/0)
roary.replace('.{2,100}', 1, regex=True, inplace=True)
roary.replace(np.nan, 0, regex=True, inplace=True)
# Sort the matrix by the sum of strains presence
idx = roary.sum(axis=1).order(ascending=False).index
roary_sorted = roary.ix[idx]
# Pangenome frequency plot
plt.figure(figsize=(7, 5))
plt.hist(roary.sum(axis=1), roary.shape[1],
histtype="stepfilled", alpha=.7)
plt.xlabel('Number of genomes')
plt.ylabel('Number of genes')
sns.despine(left=True,
bottom=True)
plt.savefig('pangenome_frequency.png')
plt.clf()
# Sort the matrix according to tip labels in the tree
roary_sorted = roary_sorted[[x.name for x in t.get_terminals()]]
# Plot presence/absence matrix against the tree
with sns.axes_style('whitegrid'):
fig = plt.figure(figsize=(17, 10))
ax1=plt.subplot2grid((1,40), (0, 10), colspan=30)
a=ax1.matshow(roary_sorted.T, cmap=plt.cm.Blues,
vmin=0, vmax=1,
aspect='auto',
interpolation='none',
)
ax1.set_yticks([])
ax1.set_xticks([])
ax1.axis('off')
ax = fig.add_subplot(1,2,1)
ax=plt.subplot2grid((1,40), (0, 0), colspan=10, axisbg='white')
fig.subplots_adjust(wspace=0, hspace=0)
ax1.set_title('Roary matrix\n(%d gene clusters)'%roary.shape[0])
Phylo.draw(t, axes=ax,
show_confidence=False,
label_func=lambda x: None,
xticks=([],), yticks=([],),
ylabel=('',), xlabel=('',),
xlim=(-0.01,mdist+0.01),
axis=('off',),
title=('parSNP tree\n(%d strains)'%roary.shape[1],),
do_show=False,
)
plt.savefig('pangenome_matrix.png')
plt.clf()
# Plot the pangenome pie chart
plt.figure(figsize=(10, 10))
core = roary[roary.sum(axis=1) == roary.shape[1]].shape[0]
softcore = roary[(roary.sum(axis=1) < roary.shape[1]) &
(roary.sum(axis=1) >= roary.shape[1]*0.95)].shape[0]
shell = roary[(roary.sum(axis=1) < roary.shape[1]*0.95) &
(roary.sum(axis=1) >= roary.shape[1]*0.15)].shape[0]
cloud = roary[roary.sum(axis=1) < roary.shape[1]*0.15].shape[0]
total = roary.shape[0]
def my_autopct(pct):
val=int(pct*total/100.0)
return '{v:d}'.format(v=val)
a=plt.pie([core, softcore, shell, cloud],
labels=['core\n(%d strains)'%roary.shape[1],
'soft-core\n(%d <= strains < %d)'%(roary.shape[1]*.95,
roary.shape[1]),
'shell\n(%d <= strains < %d)'%(roary.shape[1]*.15,
roary.shape[1]*.95),
'cloud\n(strains < %d)'%(roary.shape[1]*.15)],
explode=[0.1, 0.05, 0.02, 0], radius=0.9,
colors=[(0, 0, 1, float(x)/total) for x in (core, softcore, shell, cloud)],
autopct=my_autopct)
plt.savefig('pangenome_pie.png')
plt.clf()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment