{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# MinHash signatures are fun!" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy\n", "import scipy\n", "import pylab\n", "import scipy.cluster.hierarchy as sch" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def load_matrix_and_labels(basefile):\n", " D = numpy.load(open(basefile, 'rb'))\n", " labeltext = [ x.strip() for x in open(basefile + '.labels.txt') ]\n", " return (D, labeltext)\n", "\n", "def plot_composite_matrix(D, labeltext, show_labels=True, show_indices=True):\n", " if show_labels:\n", " show_indices=True\n", " D = numpy.array(D, copy=True)\n", "\n", " fig = pylab.figure(figsize=(11,8))\n", " ax1 = fig.add_axes([0.09,0.1,0.2,0.6])\n", "\n", " # plot denderogram\n", " Y = sch.linkage(D, method='single') # centroid \n", " \n", " dendrolabels = labeltext\n", " if not show_labels:\n", " dendrolabels = [ str(i) for i in range(len(labeltext)) ]\n", " \n", " Z1 = sch.dendrogram(Y, orientation='right', labels=dendrolabels,\n", " no_labels=not show_indices)\n", " ax1.set_xticks([])\n", "\n", " xstart = 0.45\n", " width = 0.45\n", " if not show_labels:\n", " xstart = 0.315\n", " scale_xstart = xstart + width + 0.01\n", "\n", " # plot matrix\n", " axmatrix = fig.add_axes([xstart,0.1, width,0.6])\n", "\n", " # (this reorders D by the clustering in Z1)\n", " idx1 = Z1['leaves']\n", " D = D[idx1, :]\n", " D = D[:, idx1]\n", "\n", " # show matrix\n", " im = axmatrix.matshow(D, aspect='auto', origin='lower', cmap=pylab.cm.YlGnBu, vmin=0, vmax=1)\n", " axmatrix.set_xticks([])\n", " axmatrix.set_yticks([])\n", "\n", " # Plot colorbar. \n", " axcolor = fig.add_axes([scale_xstart,0.1,0.02,0.6])\n", " pylab.colorbar(im, cax=axcolor)\n", " \n", " # print labels, if not shown\n", " if not show_labels:\n", " for i, label in enumerate(labeltext):\n", " print('%d\\t%s' % (i, label))\n", "\n", " return fig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Error trimming helps\n", "\n", "Conclusion: removing low-abundance k-mers from raw reads yields better clusters." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# running sourmash subcommand: compare\n", "loading SRR2060939_1.fastq.gz.sig\n", "loading SRR2060939_1.fastq.gz.trimnoV.fq.gz.sig\n", "loading SRR2060939_2.fastq.gz.sig\n", "loading SRR2060939_2.fastq.gz.trimnoV.fq.gz.sig\n", "loading SRR2241509_1.fastq.gz.sig\n", "loading SRR2241509_1.fastq.gz.trimnoV.fq.gz.sig\n", "loading SRR2255622_1.fastq.gz.sig\n", "loading SRR2255622_1.fastq.gz.trimnoV.fq.gz.sig\n", "min similarity in matrix: 0.0120000001043\n", "saving labels to: trim.npy.labels.txt\n", "saving distance matrix to: trim.npy\n", "success\n" ] } ], "source": [ "!sourmash compare SRR2*.sig -o trim.npy > /dev/null && echo success || echo fail" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nzMys7tITRQe+xgjlzczMzMzMzMpI2l/SU5JmShpdoXyopOslTZV0v6SdOjumg2QzMzMzMzOru95+\nBJRSwQXAZ0iPTT1S0nvKqn0XeCQidgOOAf67s346SDYzMzMzM7O6q8PCXXsAsyLi+YhYAUwEDi6r\nsxNwJ0BEzADeKWmLWv10kGxmZmZmZmZ119uZZKAFmF14/WLeVzQVODSdX3sAI4DhtfrphbvMzMzM\nzMxsQHl9yTO8vuSZ3jjUucD5kh4GHgMeAdpqNXCQbGZmZmZmZnXXnUdAbTR4WzYavG3H69fm3lGp\n2kukzHDJ8LyvQ0QsBo5f2Qc9C9SMvh0km5mZmZmZWd3VmFvcUw8C20oaCcwBjgCOXOWc0hBgaUSs\nkPQV4K6IWFLroA6SzczMzMzMrP66kUnuiohok/QN4HbSeluXRMR0SV9NxTEO2BG4XFI78ATwpc6O\n6yDZzMzMzMzMGlJETAZ2KNt3UeHn+8vLO+Mg2czMzMzMzOquO3OS+5ODZDMzMzMzM6s7Sf3dhS5x\nkGxmZmYN7c1Y1t9dWKu1t7/Z313otjosDlR3b7S90d9d6LYGiXc6jNh+Qn93odtemnVUf3ehWzZ7\ny8T+7kKvcJBsZmb9pvwfWM3NsGBB//TFzMzM6qtRvsBykGxmZv0mYtXXjZaVMDMzs67znGQzMzMz\nMzOzkgb5NrwxQnkzMzMzMzOzPuBMspmZmZmZmdVfg6RoHSSbmZmZmZlZ/TXIcGsHyWZmZmZmZlZ/\nDRIkN0jC28zMzMzMzKz+nEk2MzMzMzOz+muQFK2DZDMzMzMzM6u7aJDh1g6SzczMzMzMrP4aI0Zu\nlIS3mZmZmZmZWf05k2xmZmZmZmb119QYqWQHyWZmZmZmZlZ/npNsZmZmZmZmljVGjOw5yWZmZmZm\nZmYlDpLNBgBJh0h6QdIiSbv1d3/MzMzMzHpdk3q+9WU3+/RsNuBJ2kfSvZIWSpov6W5Ju0s6RtKb\nOYhbKGmqpEMK7UZKas/liyQ9K+msQvkGkn4t6TlJr0l6WNL+hfIPS7pd0quS5kq6RtLbK/RvfUnT\nJb1Qtv9sSdMkrZD0/bKyfSW15X4tzn9+saxvl+Z+vSzpm2XtD5T0WG53j6Qdu3Afd5Y0WdIrkto6\nqw/8BDgxIjaNiKldqF/tvO2S3t3T9mZmZmZmdSP1fOtDDpKtg6TBwG+B84FmoAUYCyzPVe7LQdxQ\n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\nstEWO7LRFjt2vG6ddVOlai8BxTWKhrP6QrR7Az8CiIi/SnqWNAX0/6qdu/G+ZjMbIPKQ6dKw40WF\nn7/Teet+VStPtwNpGEoradG1w0qPojIzMzMzWyO9Pyf5QWBbSSPz+j9HkJ7CUzQd+CSApC2B7UlT\nLatyJtmshyLis/3dh56IiEE1yi4mzdswMzMzM+tdvTxEPyLaJH0DuJ2UAL4kIqZL+moqjnHAvwPj\nJU3NPfh2RNR8xoaDZDMzMzMzM2tIeaHaHcr2XVT4eT5wYHeO6SDZzMzMzMzM6q9BVntzkGxmZmZm\nZmb15yDZzMzMzMzMLGuQZaMbpJtmZmZmZmZm9edMspmZmZmZmdWfh1ubmZmZmZmZZY0RIztINjMz\nMzMzs/qLpsaIkj0n2czMzMzMzCxzJtnMzMzMzMzqz3OSzczMzMzMzLLGiJEdJJuZmZmZmVkf8Jxk\nMzMzMzMzs8biTLKZmZk1tDlL5/V3F9ZqLZu09HcXuu3N9qX93YVuO/B3zf3dhW6bdtov+7sL3fLC\nzCP7uwvd1sSg/u5C72qQOcnOJJuZ2YAirb4NG9bfvTIzM7M1pjXY+pAzyWZmNqBErL6vQb54NjMz\ns1o8J9nMzMzMzMyssTiTbGZmZmZmZvXXIJlkB8lmZmZmZmZWd9EYMbKDZDMzMzMzM+sDDZJJ9pxk\nMzMzMzMzs8yZZDMzMzMzM6u/BnlchYNkMzMzMzMzqz8PtzYzMzMzMzNrLM4km5mZmZmZWf01SIrW\nQbKZmZmZmZnVn+ckm5mZmZmZmWWek2xmZmZmZmZWP5L2l/SUpJmSRlco/5akRyQ9LOkxSW9KGlrr\nmA6SzczMzMzMrO5C6vFWiaQm4ALgM8DOwJGS3rPKOSN+GhHvj4gPAGcAf46IhbX66SDZzMzMzMzM\n6q9pDbbK9gBmRcTzEbECmAgcXKMHRwITutJNM+tnkg6R9IKkRZJ26+/+mJmZmZn1uib1fKusBZhd\neP1i3rcaSRsB+wPXddrNbl6WreUk7SPpXkkLJc2XdLek3SUdk8fvL8plUyUdUmg3UlJ7Ll8k6VlJ\nZxXKN5D0a0nPSXotzwnYv+zc+0maLmmJpDskjSgr/4CkuyQtljRH0kll579T0t8lPSlpv7K2Z0p6\nPvf9aklvLZT9uBCgzpb0M0mDCuUH5vkLiyTdI2nHLtzHoyX9X77WF/I5av19+wlwYkRsGhFTOzt+\n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\nmZmZmVnTeU6ymZmZmZmZWeYg2czMzMzMzCzr3SZBsuckm5mZmZmZmWXOJJuZmZmZmVnTebi1mZmZ\nmZmZWdYuj4BykGxmZmZmZmZN1y6ZZM9JNjMzMzMzM8ucSTYzMzMzM7Om693TFWiQg2QzMzMzMzNr\nOg+3NjMzMzMzM2szDQXJks6SdFxnDizpZElju1IpSXtKmtiVfa35JO0r6QVJCyRt09P1aYUV6c+t\nJulKSfMk3d3TdTEzMzMzK+ml6PKrpfWsV0DSOsBXgIvy+xGSXqy3X0T8KCKO6kqlIuJmYEtJH61R\nrx0k/UnSfElzJN0ladu87VBJ7+Qgbr6khyTtW9h3qKQlefsCSc9JOq2wfVVJl0h6XtKrkv4mabfC\n9k9L+p2kVyTNkvQrSetVqOMqkqZJeqHs8zMlPSxpkaTvl20bIWlxrtfC/P+vlNXt0lyvGZK+Xbb/\nXpIeyfvdLWmLeu0taZikqZL+KWlxvfLAT4CvR0T/iHiogfLVzrtE0oe6un93aEV/7ipJX5T0XIXP\ne+d+t0eFbTsDOwLrRcQOLaimmZmZmVlDeqvrr1ZqJJN8GDAlIt7K7wXUDOUldcec7InA0VWO3w+4\nCfgZMAgYAowB3ioUuycHcQOB84FrJA0qbA9gQET0Bw4ARkvaPW/rA7wA7BgRA4DTgEmSNsrbB5Fu\nGgzNr9eAyypU9URgVoXPnwJOAG6ucu0v57r3y/8fX9g2BtgE2BD4LHCipM/ndtkMuAo4ChiYj3+j\npHrf8yLgV8CoOuVKhgL/aLBsLSvDg9Ja1Z+74jfAAEk7lX2+O7AEmFphnw8CzxX+vJqZmZmZrRR6\nqeuvltazgTK7A3cCSFodmAIMLmQ515N0uqTJksZLmg8cmj8bn/crZW4Py8N050j6mqRP5izvXEm/\nKDvvHcB/VKnTh4GIiEmRvBURt0XEo1XKjwf6koLLIpEO9FfgMWBYfv9GRJwZES/m97cAzwHb5vdT\nI+LaiHgtIv4FnAf8W4cDSxsDXwJ+VF6ZiBgfEbeSguvOOgQ4MyIWRMTjwFjSjQyAzwN3RcS9EbEE\nOId0A2FErQNGxJMRcRl1At+cxV5I6jcPS3oqfz5a0tO5Pzwq6QuFfTaRdEfO6M+WNCF/fiep/R/O\n+x2YPz8hZ8hfknR4rWyzpE/kLP+rkiZJmijpzLztxkIfXZiz84eU7d+S/qw0suEuST/J255Rx5EJ\n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\nvqc/kBZn67DQlqSTJd2Sz7sI2I90E2IeaSXxm1j2GLCDSPOW55V/f0orcI/Mx2lVf661/0hSf5pB\nGnlwWkT8saz8FaQMc4cMrqSN87VVrHekZ46fT1qh/nHgd2X7nyrphlz2bdLc5/8i9dsDgFvo2Kb/\nBswvtOmBda7TzMzMzAxoypzkIXScHvgSy4+MRNIXJE0jJYCPK9++XPllcVuNQtIPgNkR8fO6hbuB\n0oq8B0fEQa04n628JC0BNo2IZxsoex9wQb2hwO9lSqu9LwI+GBEvNFD+AeB/I6LhId6SopG/V8w6\nS0rDtitvExHRLSM8rL1IigVv316/4Mqkzf6OXHfTS3q6Cp32zOMj6xdayayz2gY9XYV3vXeWvFm/\n0Epmtd7ttaBH717Dqv57LCkmP1txoHBFj933MI/dt+yhPpN/fvVyx84jH3eNiKPy+4OB4RFRMRCW\ntANpUdvNa527TyMVjIhTGynXXXL26+ZWntPaT55j/gRpyMTBpMeVTe3RSrU5SSNYNgrhMGBz4Nae\nrJOZmZmZvfcM225rhm239dL3k39eMWfzMmm0ZckGLL+471IRcXee+rp2RLxSrVwjw63tXSAPmS4N\nkV1Q+Pmk+nv3qFq32zcnPSd6HmnRtf1Lj6Kymmq16RakqQvzSM9c3i8i6s7bMDMzMzOrpwmrW98P\nbCppaF5T6SDSk42WkrRJ4edPANQKkKHBTLK1v4jYo6fr0BUR0bvGtotJ87utQXmV9lpteiFwYetq\nZGZmZmbvFd39vOOIWCzpGNK6O71IQ6mnSTo6bY6xwP6SDgHeBl4HvljvuA6SzczMzMzMrOm6O0gG\nyIv/bl722UWFn38M/Lgzx/RwazMzMzMzM7PMmWQzMzMzMzNrumZkkpvBQbKZmZmZmZk1XW8HyWZm\nZmZmZmZJr+qrVK9UPCfZzMzMzMzMLHMm2czMzMzMzJquXTK0DpLNzMzMzMys6bxwl5mZmZmZmVnW\nLgt3tUvG28zMzMzMzKzpnEk2MzMzMzOzpmuX1a0dJJuZmZmZmVnTtcucZA+3NjMzMzMzM8ucSTYz\nM7O2ts3X5/Z0FTpl5q3X9nQVOmX200f0dBU6bVG80dNV6LSXX3+5p6vwrrf+6uv2dBU6bUm809NV\n6Fbtkkl2kGxmZmZmZmZN1y7DmB0km5mZmZmZWdOpTTLJ7RLMm5mZmZmZmTWdM8lmZmZmZmbWdG2S\n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\nMzMzM8vaJEZ2kGxmZmZmZmbN1y5zfdulnmZmZmZmZmZN50yymZmZmZmZNZ3nJJuZrcz+eDo6o6cr\nYZ0xaFBP18BWVjNvvbanq9Ap6++6f09XoXPa5bfagiVL2uNZrEUR7dfObdg1rMe1R6dxkGxm703/\nPoa444yeroWZmZnZe4baJEj2nGQzMzMzMzOzzJlkMzMzMzMzazqpPXK07VFLMzMzMzMza3NagVeV\nI0q7SXpc0pOSRlfYvrmkeyT9S9LxjdTSmWQzMzMzMzNruu6ek6yUmj4P2AWYAdwv6YaIeLxQ7BXg\nWOALjR7XmWQzMzMzMzNrR8OBpyJiekQsAiYC+xQLRMSciPgr8E6jB3WQbGZmZmZmZi3Q7cOthwAv\nFt6/lD9bIR5ubWZmZmZmZk3XmYW77rrzIe6+86Em1qY6B8lmZmZmZma2UtlxxDbsOGKbpe/P/sFV\nlYq9DGxUeL9B/myFeLi1mZmZmZmZtUC3D7e+H9hU0lBJqwIHATfWqUBdziSbmZmZmZlZ03X36tYR\nsVjSMcDvSAngcRExTdLRaXOMlfQB4AGgH7BE0jeBLSPitWrHdZBsZmZmZmZmTdfdQTJAREwFNi/7\n7KLCz7OADTtzTA+3NjMzMzMzM8ucSTYzMzMzM7MWaI8crYNkMzMzMzMzazqp+4dbN0NDobyksyQd\n15kDSzpZ0tiuVErSnpImdmVfaz5J+0p6QdICSdvU36P9rUh/bjVJV0qaJ+nunq6LmZmZmdky3b66\ndVPUDZIlrQN8Bbgovx8h6cV6+0XEjyLiqK5UKiJuBraU9NEa9dpB0p8kzZc0R9JdkrbN2w6V9E4O\n4uZLekjSvoV9h0pakrcvkPScpNMK21eVdImk5yW9KulvknYrO/8ukqZJek3S7ZI2Ktv+CUl3Sloo\naaakY8vO/wdJr0v6h6RdyvY9RdL0XPdrJK1Z2HZOIUB9UdJPJfUubN9L0iN5+92StqjX3pKGSZoq\n6Z+SFtcrD/wE+HpE9I+ILj/hO38HH+rq/t2hFf25qyR9UdJzFT7vLWmWpD0qbNsZ2BFYLyJ2aEE1\nzczMzMzeVRrJJB8GTImIt/J7AVFrh2LQtgImAkdXOX4/4CbgZ8AgYAgwBnirUOyeHMQNBM4HrpE0\nqLA9gAER0R84ABgtafe8rQ/wArBjRAwATgMmlQJhSWsD1wKnAGsBfwV+Vajf2sBvgQty/TYlLUte\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "D_filename = 'trim.npy'\n", "\n", "D, labeltext = load_matrix_and_labels(D_filename)\n", "\n", "# relabel the trimmed ones as 'trim' - they're the ones with trim in the filename ;)\n", "for i in range(len(labeltext)):\n", " if i % 2:\n", " labeltext[i] = '(trim) '+ labeltext[i]\n", "_ = plot_composite_matrix(D, labeltext)\n", "pylab.savefig('sourmash-trimming.png')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['SRR2060939_1.fastq.gz', '(trim) SRR2060939_1.fastq.gz.trimnoV.fq.gz', 'SRR2060939_2.fastq.gz', '(trim) SRR2060939_2.fastq.gz.trimnoV.fq.gz', 'SRR2241509_1.fastq.gz', '(trim) SRR2241509_1.fastq.gz.trimnoV.fq.gz', 'SRR2255622_1.fastq.gz', '(trim) SRR2255622_1.fastq.gz.trimnoV.fq.gz']\n" ] } ], "source": [ "print(labeltext)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparing 200+ echinoderm data sets\n", "\n", "Conclusion: echinoderm data sets cluster almost entirely by species, with little to no cross-species similarity." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# running sourmash subcommand: compare\n", "loading urchin/abyssicola-SRR3217899.sig\n", "loading urchin/agassizii-SRR1695485.sig\n", "loading urchin/amurensis-SRR1139201.sig\n", "loading urchin/amurensis-SRR1141046.sig\n", "loading urchin/amurensis-SRR1642063.sig\n", "loading urchin/angulata-SRR3217897.sig\n", "loading urchin/annulatus-SRR1695480.sig\n", "loading urchin/annulatus-SRR1695481.sig\n", "loading urchin/bispinosus-SRR3217921.sig\n", "loading urchin/brevispina-SRR2845428.sig\n", "loading urchin/briareus-SRR1139189.sig\n", "loading urchin/californicus-SRR1139198.sig\n", "loading urchin/californicus-SRR1695477.sig\n", "loading urchin/chloroticus-SRR1014618.sig\n", "loading urchin/chloroticus-SRR1014619.sig\n", "loading urchin/chloroticus-SRR1014624.sig\n", "loading urchin/chloroticus-SRR1014627.sig\n", "loading urchin/chloroticus-SRR1014631.sig\n", "loading urchin/chloroticus-SRR1014633.sig\n", "loading urchin/chloroticus-SRR1205884.sig\n", "loading urchin/chloroticus-SRR1205886.sig\n", "loading urchin/chloroticus-SRR1205888.sig\n", "loading urchin/chloroticus-SRR1205890.sig\n", "loading urchin/chloroticus-SRR1205894.sig\n", "loading urchin/chloroticus-SRR1205895.sig\n", "loading urchin/clarki-SRR1695478.sig\n", "loading urchin/clathrata-SRR1139195.sig\n", "loading urchin/echinata-SRR1138707.sig\n", "loading urchin/erythrogramma-SRR1211015.sig\n", "loading urchin/erythrogramma-SRR1211262.sig\n", "loading urchin/erythrogramma-SRR1211268.sig\n", "loading urchin/erythrogramma-SRR1211283.sig\n", "loading urchin/erythrogramma-SRR1211414.sig\n", "loading urchin/erythrogramma-SRR1211420.sig\n", "loading urchin/erythrogramma-SRR1211439.sig\n", "loading urchin/erythrogramma-SRR1211445.sig\n", "loading urchin/erythrogramma-SRR1211507.sig\n", "loading urchin/erythrogramma-SRR1212571.sig\n", "loading urchin/erythrogramma-SRR1212573.sig\n", "loading urchin/erythrogramma-SRR1212574.sig\n", "loading urchin/erythrogramma-SRR1212919.sig\n", "loading urchin/erythrogramma-SRR1212920.sig\n", "loading urchin/excentricus-SRR2844623.sig\n", "loading urchin/eximia-SRR3217906.sig\n", "loading urchin/filiformis-SRR1523743.sig\n", "loading urchin/filiformis-SRR1533125.sig\n", "loading urchin/filiformis-SRR789489.sig\n", "loading urchin/filiformis-SRR794568.sig\n", "loading urchin/filiformis-SRR794587.sig\n", "loading urchin/forbesi-SRR1138708.sig\n", "loading urchin/glacialis-SRR1139196.sig\n", "loading urchin/granularis-SRR1139199.sig\n", "loading urchin/helianthoides-SRR1708165.sig\n", "loading urchin/helianthoides-SRR1708168.sig\n", "loading urchin/helianthoides-SRR1708189.sig\n", "loading urchin/helianthoides-SRR1708266.sig\n", "loading urchin/helianthoides-SRR1708282.sig\n", "loading urchin/helianthoides-SRR1708289.sig\n", "loading urchin/helianthoides-SRR1708296.sig\n", "loading urchin/heros-SRR3217908.sig\n", "loading urchin/intermedius-SRR1061354.sig\n", "loading urchin/intermedius-SRR1061355.sig\n", "loading urchin/intermedius-SRR1061356.sig\n", "loading urchin/japonica-SRR1138706.sig\n", "loading urchin/japonicus-ERR1193930.sig\n", "loading urchin/japonicus-ERR1193931.sig\n", "loading urchin/japonicus-ERR1193932.sig\n", "loading urchin/japonicus-SRR1139215.sig\n", "loading urchin/japonicus-SRR1185973.sig\n", "loading urchin/japonicus-SRR1216681.sig\n", "loading urchin/japonicus-SRR2089767.sig\n", "loading urchin/japonicus-SRR2128002.sig\n", "loading urchin/japonicus-SRR2442873.sig\n", "loading urchin/japonicus-SRR2442874.sig\n", "loading urchin/japonicus-SRR2442875.sig\n", "loading urchin/japonicus-SRR414926.sig\n", "loading urchin/japonicus-SRR414927.sig\n", "loading urchin/japonicus-SRR414928.sig\n", "loading urchin/japonicus-SRR414929.sig\n", "loading urchin/japonicus-SRR414930.sig\n", "loading urchin/laudata-SRR3217920.sig\n", "loading urchin/leucospilota-DRR023762.sig\n", "loading urchin/leucospilota-DRR023763.sig\n", "loading urchin/lividus-SRR1664663.sig\n", "loading urchin/lividus-SRR1735496.sig\n", "loading urchin/lividus-SRR1735497.sig\n", "loading urchin/lividus-SRR1735498.sig\n", "loading urchin/lividus-SRR1735499.sig\n", "loading urchin/lividus-SRR1735500.sig\n", "loading urchin/lividus-SRR1735501.sig\n", "loading urchin/longicauda-SRR1325046.sig\n", "loading urchin/longicauda-SRR1325047.sig\n", "loading urchin/longicauda-SRR1325048.sig\n", "loading urchin/longicauda-SRR1325049.sig\n", "loading urchin/longicauda-SRR1325050.sig\n", "loading urchin/longicauda-SRR1325051.sig\n", "loading urchin/longicauda-SRR1325052.sig\n", "loading urchin/loveni-SRR3217902.sig\n", "loading urchin/lymani-SRR3217922.sig\n", "loading urchin/miniata-SRR1138705.sig\n", "loading urchin/miniata-SRR2454338.sig\n", "loading urchin/miniata-SRR573675.sig\n", "loading urchin/miniata-SRR573705.sig\n", "loading urchin/miniata-SRR573706.sig\n", "loading urchin/miniata-SRR573707.sig\n", "loading urchin/miniata-SRR573708.sig\n", "loading urchin/miniata-SRR573709.sig\n", "loading urchin/miniata-SRR573710.sig\n", "loading urchin/ochraceus-SRR1139197.sig\n", "loading urchin/parma-SRR1139193.sig\n", "loading urchin/parvimensis-SRR496203.sig\n", "loading urchin/parvimensis-SRR496204.sig\n", "loading urchin/pectinifera-DRR023760.sig\n", "loading urchin/pectinifera-DRR023761.sig\n", "loading urchin/pectinifera-SRR1139200.sig\n", "loading urchin/pectinifera-SRR1141045.sig\n", "loading urchin/planci-SRR1197243.sig\n", "loading urchin/purpuratus-SRR1012313.sig\n", "loading urchin/purpuratus-SRR1012339.sig\n", "loading urchin/purpuratus-SRR1012340.sig\n", "loading urchin/purpuratus-SRR1012342.sig\n", "loading urchin/purpuratus-SRR1012401.sig\n", "loading urchin/purpuratus-SRR1012403.sig\n", "loading urchin/purpuratus-SRR1041572.sig\n", "loading urchin/purpuratus-SRR1041798.sig\n", "loading urchin/purpuratus-SRR1041901.sig\n", "loading urchin/purpuratus-SRR1042009.sig\n", "loading urchin/purpuratus-SRR1042830.sig\n", "loading urchin/purpuratus-SRR1042834.sig\n", "loading urchin/purpuratus-SRR1042838.sig\n", "loading urchin/purpuratus-SRR1042899.sig\n", "loading urchin/purpuratus-SRR1043060.sig\n", "loading urchin/purpuratus-SRR1043069.sig\n", "loading urchin/purpuratus-SRR1139792.sig\n", "loading urchin/purpuratus-SRR1765910.sig\n", "loading urchin/purpuratus-SRR1765938.sig\n", "loading urchin/purpuratus-SRR1765978.sig\n", "loading urchin/purpuratus-SRR1765979.sig\n", "loading urchin/purpuratus-SRR1765980.sig\n", "loading urchin/purpuratus-SRR1765981.sig\n", "loading urchin/purpuratus-SRR1765982.sig\n", "loading urchin/purpuratus-SRR1765983.sig\n", "loading urchin/purpuratus-SRR1765984.sig\n", "loading urchin/purpuratus-SRR1765986.sig\n", "loading urchin/purpuratus-SRR1765988.sig\n", "loading urchin/purpuratus-SRR1765991.sig\n", "loading urchin/purpuratus-SRR3017856.sig\n", "loading urchin/purpuratus-SRR3017857.sig\n", "loading urchin/purpuratus-SRR531843.sig\n", "loading urchin/purpuratus-SRR531853.sig\n", "loading urchin/purpuratus-SRR531860.sig\n", "loading urchin/purpuratus-SRR531949.sig\n", "loading urchin/purpuratus-SRR531950.sig\n", "loading urchin/purpuratus-SRR531951.sig\n", "loading urchin/purpuratus-SRR531952.sig\n", "loading urchin/purpuratus-SRR531953.sig\n", "loading urchin/purpuratus-SRR531954.sig\n", "loading urchin/purpuratus-SRR531955.sig\n", "loading urchin/purpuratus-SRR531956.sig\n", "loading urchin/purpuratus-SRR531957.sig\n", "loading urchin/purpuratus-SRR531958.sig\n", "loading urchin/purpuratus-SRR531964.sig\n", "loading urchin/purpuratus-SRR531996.sig\n", "loading urchin/purpuratus-SRR532046.sig\n", "loading urchin/purpuratus-SRR532055.sig\n", "loading urchin/purpuratus-SRR532074.sig\n", "loading urchin/purpuratus-SRR532121.sig\n", "loading urchin/purpuratus-SRR532143.sig\n", "loading urchin/purpuratus-SRR532151.sig\n", "loading urchin/purpuratus-SRR533746.sig\n", "loading urchin/resiliens-SRR3217919.sig\n", "loading urchin/rotundus-DRR023764.sig\n", "loading urchin/rubens-SRR1139190.sig\n", "loading urchin/rubens-SRR1685733.sig\n", "loading urchin/rubens-SRR3087891.sig\n", "loading urchin/schayeri-SRR3217901.sig\n", "loading urchin/serratissima-SRR3097584.sig\n", "loading urchin/sp.-SRR1139191.sig\n", "loading urchin/sp.-SRR1139194.sig\n", "loading urchin/sp.-SRR1695483.sig\n", "loading urchin/spinulosus-SRR1139455.sig\n", "loading urchin/tenuis-SRR3217898.sig\n", "loading urchin/tribuloides-SRR1138704.sig\n", "loading urchin/variegatus-SRR1139214.sig\n", "loading urchin/variegatus-SRR1660831.sig\n", "loading urchin/variegatus-SRR1660833.sig\n", "loading urchin/variegatus-SRR1661075.sig\n", "loading urchin/variegatus-SRR1661077.sig\n", "loading urchin/variegatus-SRR1661079.sig\n", "loading urchin/variegatus-SRR1661081.sig\n", "loading urchin/variegatus-SRR1661090.sig\n", "loading urchin/variegatus-SRR1661111.sig\n", "loading urchin/variegatus-SRR1661112.sig\n", "loading urchin/variegatus-SRR1661113.sig\n", "loading urchin/variegatus-SRR1661363.sig\n", "loading urchin/variegatus-SRR1661395.sig\n", "loading urchin/variegatus-SRR1661397.sig\n", "loading urchin/variegatus-SRR1661399.sig\n", "loading urchin/variegatus-SRR1661401.sig\n", "loading urchin/variegatus-SRR1661406.sig\n", "loading urchin/variegatus-SRR1661409.sig\n", "loading urchin/wendtii-SRR2845427.sig\n", "loading urchin/wilsoni-SRR3217896.sig\n", "min similarity in matrix: 0.0\n", "saving labels to: urchin.npy.labels.txt\n", "saving distance matrix to: urchin.npy\n", "success\n" ] } ], "source": [ "!sourmash compare urchin/*.sig -o urchin.npy > /dev/null && echo success || echo fail" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%%capture\n", "D_filename = 'urchin.npy'\n", "\n", "D, labeltext = load_matrix_and_labels(D_filename)\n", "fig = plot_composite_matrix(D, labeltext, show_labels=False, show_indices=False)\n", "pylab.savefig('sourmash-urchin.png')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nIAiCIBTk/wHhr6HQaSGoOgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparing bat stars\n", "\n", "Conclusion: Patiria asterina and Patiria pectinifera group together, agreeing with [recent reclassifications](https://en.wikipedia.org/wiki/Bat_star#Classification) (ht Dan Rokhsar)." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# running sourmash subcommand: compare\n", "loading urchin/miniata-SRR1138705.sig\n", "loading urchin/miniata-SRR2454338.sig\n", "loading urchin/miniata-SRR573675.sig\n", "loading urchin/miniata-SRR573705.sig\n", "loading urchin/miniata-SRR573706.sig\n", "loading urchin/miniata-SRR573707.sig\n", "loading urchin/miniata-SRR573708.sig\n", "loading urchin/miniata-SRR573709.sig\n", "loading urchin/miniata-SRR573710.sig\n", "loading urchin/pectinifera-DRR023760.sig\n", "loading urchin/pectinifera-DRR023761.sig\n", "loading urchin/pectinifera-SRR1139200.sig\n", "loading urchin/pectinifera-SRR1141045.sig\n", "min similarity in matrix: 0.0719999969006\n", "saving labels to: patiria.npy.labels.txt\n", "saving distance matrix to: patiria.npy\n", "success\n" ] } ], "source": [ "!sourmash compare urchin/miniata*.sig urchin/pectinifera*.sig -o patiria.npy > /dev/null \\\n", " && echo success || echo fail\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nEXB8TfwQsJekZtsN1/saNRo2XvmtmIqvabMoRmbWSJoLfHlM/BCwX83zAWAzsEpSv6SLy7CIiIiI\niJb1qf2rjkeAA8rNrPqBU4Dv1SaQ9Cs1j48C1KyTAp3Znnj7wKKHdT7FwvBhipu7syb+aeAW4HlJ\nw5LmtVi2Wym/zbZPZLyiUdrFwExgJfADit3Nal0JfKrcEWwxxbkz9wLPAMsoppQtJyIiIiJiAvrk\ntq+xbG8FzqNYA/4z4FbbT0r6bM1Ou5+U9FNJP6b4Dvz747VRDZZCRJdrsswlYkKkX079auVPShK2\nM1GsB0ny8rUT/Q2oPQO7vauSekapwpnCb23eUFldALP7Gy23nHyr3l5XWV0A7//AzZXVddffn1ZZ\nXQB77FrdZ/xufdV+n9i9wtPw3t5aXV1VfjAeuc8nmn4WS/Lx9zzUdvn3ffyYSj7rO7FGJSIiIiIi\nOmgii+k7JR2ViIiIiIgeM10WqjeTjkpERERERI+pt9ZkuumGzlRERERERPSYjKhERERERPSYrFGJ\niIiIiIhppxumVaWjEhERERHRY7phRKUbOlMREREREdFjMqISERGTZt3man6iW/n2pkrq6YRdVO1v\niO/aZW1ldb3/A7dUVhfAkz/7g8rq2uoKTw4EtoxUV9ebm6r96X1mhYdZbhqp7t76p9nwgLpg1690\nVCIiIiIiekw3TP1KRyUiIiIiosdMswGeurqhjRERERER0WMyohIRERER0WO64WT6dFQiIiIiInpM\n1qhERERERMS00w3rP7qhjRERERER0WO6tqMi6UJJ1zaJXyBpjaQpH9iS9A1JX5rstBERERERU6FP\n7V9VqXTql6QXgH2ALcA64B7gXNvrx8l3HHCT7QWjYbYvb5bH9nJg9o62uRW2PzcVaSUtBW60fV1b\nDYuIiIiIqKMbFtNXPaJi4CTbs4HDgSOAi1rIpzJvSyTt0l7zIiIiIiJ2ft0wotKJqV8CsP0asAT4\nIICkMyU9UU7Xek7SOWX4TOBuYL6kt8r4eZIukXRjmWahpBFJZ0t6EXigJqyvWfl1GyidIelhSV+X\ntFrSs5I+UpbxkqQVkk6vSX+9pEvLx8dJWi7p85KGJL0i6cwGaedIukvS65JWlY/nl3FfBY4Bri7b\nfFUZvrhsw5uSHpF09OS8LRERERER00fH1qhIWgCcCDxaBg0BJ5ajLWcBV0g6rJwWtgh41faA7dm2\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "D_filename = 'patiria.npy'\n", "\n", "D, labeltext = load_matrix_and_labels(D_filename)\n", "fig = plot_composite_matrix(D, labeltext)\n", "pylab.savefig('sourmash-patiria.png')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }