changeset 0:a3fd214e7555 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/numeric_clustering commit bafd56379ff227fb81f8cd61d708ebc39814da54
author bgruening
date Fri, 01 Jan 2016 18:37:54 -0500
parents
children
files Untitled.ipynb foo.tab numeric_clustering.xml test-data/cluster_result01.txt test-data/cluster_result02.txt test-data/cluster_result03.txt test-data/cluster_result04.txt test-data/cluster_result05.txt test-data/cluster_result06.txt test-data/cluster_result07.txt test-data/cluster_result08.txt test-data/cluster_result09.txt test-data/cluster_result10.txt test-data/cluster_result11.txt test-data/cluster_result12.txt test-data/cluster_result13.txt test-data/cluster_result14.txt test-data/cluster_result15.txt test-data/cluster_result16.txt test-data/numeric_values.tabular tool_dependencies.xml
diffstat 21 files changed, 2022 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Untitled.ipynb	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,744 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "KMeans(copy_x=True, init='k-means++', max_iter=300, n_clusters=8, n_init=10,\n",
+       "    n_jobs=1, precompute_distances='auto', random_state=None, tol=0.0001,\n",
+       "    verbose=0)"
+      ]
+     },
+     "execution_count": 29,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import sys\n",
+    "import json\n",
+    "import numpy as np\n",
+    "import sklearn.cluster\n",
+    "import pandas\n",
+    "\n",
+    "data = pandas.read_csv(\"/home/bag/projects/code/galaxytools/tools/numeric_clustering/test-data/numeric_values.tabular\", sep='\\t', header=0, index_col=None, parse_dates=True, encoding=None )\n",
+    "my_class = getattr(sklearn.cluster, \"KMeans\")\n",
+    "cluster_object = my_class()\n",
+    "\n",
+    "params = dict()\n",
+    "cluster_object.set_params(**params)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 32,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1\n",
+      " 2 2 2 2 2 2 2 2 2 2 2] 48 48\n",
+      "    0\n",
+      "0   0\n",
+      "1   0\n",
+      "2   0\n",
+      "3   0\n",
+      "4   0\n",
+      "5   0\n",
+      "6   0\n",
+      "7   0\n",
+      "8   0\n",
+      "9   0\n",
+      "10  0\n",
+      "11  0\n",
+      "12  3\n",
+      "13  3\n",
+      "14  3\n",
+      "15  3\n",
+      "16  3\n",
+      "17  3\n",
+      "18  3\n",
+      "19  3\n",
+      "20  3\n",
+      "21  3\n",
+      "22  3\n",
+      "23  3\n",
+      "24  3\n",
+      "25  1\n",
+      "26  1\n",
+      "27  1\n",
+      "28  1\n",
+      "29  1\n",
+      "30  1\n",
+      "31  1\n",
+      "32  1\n",
+      "33  1\n",
+      "34  1\n",
+      "35  1\n",
+      "36  1\n",
+      "37  2\n",
+      "38  2\n",
+      "39  2\n",
+      "40  2\n",
+      "41  2\n",
+      "42  2\n",
+      "43  2\n",
+      "44  2\n",
+      "45  2\n",
+      "46  2\n",
+      "47  2\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "if  4 >= 4:\n",
+    "    data_matrix = data.values[:, 1-1:1]\n",
+    "    #print data_matrix\n",
+    "else:\n",
+    "    data_matrix = data.values\n",
+    "\n",
+    "prediction = cluster_object.fit_predict( data_matrix )\n",
+    "print prediction, len(prediction), len(data_matrix)\n",
+    "\n",
+    "pred = pandas.DataFrame(prediction)\n",
+    "print pred\n",
+    "\n",
+    "#data[len(data.columns)] = prediction\n",
+    "#data.to_csv(path_or_buf = \"foo.tab\", sep=\"\\t\")\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 34,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>0</th>\n",
+       "      <th>-67</th>\n",
+       "      <th>0</th>\n",
+       "      <th>56</th>\n",
+       "      <th>58</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -76</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  64</td>\n",
+       "      <td>  44</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -73</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  48</td>\n",
+       "      <td>  51</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -49</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  65</td>\n",
+       "      <td>  58</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -49</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  61</td>\n",
+       "      <td>  43</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -79</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  43</td>\n",
+       "      <td>  45</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>5 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -98</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  60</td>\n",
+       "      <td>  42</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>6 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -59</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  55</td>\n",
+       "      <td>  50</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>7 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -56</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  53</td>\n",
+       "      <td>  53</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>8 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -61</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  44</td>\n",
+       "      <td>  45</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>9 </th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -84</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  65</td>\n",
+       "      <td>  43</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>10</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -75</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  52</td>\n",
+       "      <td>  35</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>11</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -70</td>\n",
+       "      <td>  0</td>\n",
+       "      <td>  56</td>\n",
+       "      <td>  56</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>12</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  43</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  86</td>\n",
+       "      <td> -61</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>13</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  15</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  93</td>\n",
+       "      <td> -67</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>14</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  36</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  94</td>\n",
+       "      <td> -59</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>15</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  62</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  92</td>\n",
+       "      <td> -50</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>16</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  70</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  91</td>\n",
+       "      <td> -78</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>17</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  47</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  87</td>\n",
+       "      <td> -35</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>18</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  52</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  91</td>\n",
+       "      <td> -56</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>19</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  46</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  81</td>\n",
+       "      <td> -61</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>20</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  34</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  78</td>\n",
+       "      <td> -83</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>21</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  45</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  87</td>\n",
+       "      <td> -50</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>22</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  50</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  73</td>\n",
+       "      <td> -67</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>23</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  45</td>\n",
+       "      <td>  1</td>\n",
+       "      <td>  97</td>\n",
+       "      <td> -50</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>24</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>  45</td>\n",
+       "      <td>  1</td>\n",
+       "      <td> 111</td>\n",
+       "      <td> -61</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>25</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -92</td>\n",
+       "      <td>  2</td>\n",
+       "      <td>  23</td>\n",
+       "      <td>-109</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>26</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -96</td>\n",
+       "      <td>  2</td>\n",
+       "      <td>  20</td>\n",
+       "      <td> -94</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>27</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td> -88</td>\n",
+       "      <td>  2</td>\n",
+       "      <td>  26</td>\n",
+       "      <td> -85</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>28</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>-114</td>\n",
+       "      <td>  2</td>\n",
+       "      <td>  33</td>\n",
+       "      <td> -90</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>29</th>\n",
+       "      <td>NaN</td>\n",
+       "      <td>-106</td>\n",
+       "      <td>  2</td>\n",
+       "      <td>   9</td>\n",
+       "      <td> -63</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>...</th>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "      <td>...</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>18</th>\n",
+       "      <td>  3</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>19</th>\n",
+       "      <td>  3</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>20</th>\n",
+       "      <td>  3</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>21</th>\n",
+       "      <td>  3</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>22</th>\n",
+       "      <td>  3</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>23</th>\n",
+       "      <td>  3</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>24</th>\n",
+       "      <td>  3</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>25</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>26</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>27</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>28</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>29</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>30</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>31</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>32</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>33</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>34</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>35</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>36</th>\n",
+       "      <td>  1</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>37</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>38</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>39</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>40</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>41</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>42</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>43</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>44</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>45</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>46</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>47</th>\n",
+       "      <td>  2</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "      <td> NaN</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "<p>96 rows × 5 columns</p>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "     0  -67   0   56   58\n",
+       "0  NaN  -76   0   64   44\n",
+       "1  NaN  -73   0   48   51\n",
+       "2  NaN  -49   0   65   58\n",
+       "3  NaN  -49   0   61   43\n",
+       "4  NaN  -79   0   43   45\n",
+       "5  NaN  -98   0   60   42\n",
+       "6  NaN  -59   0   55   50\n",
+       "7  NaN  -56   0   53   53\n",
+       "8  NaN  -61   0   44   45\n",
+       "9  NaN  -84   0   65   43\n",
+       "10 NaN  -75   0   52   35\n",
+       "11 NaN  -70   0   56   56\n",
+       "12 NaN   43   1   86  -61\n",
+       "13 NaN   15   1   93  -67\n",
+       "14 NaN   36   1   94  -59\n",
+       "15 NaN   62   1   92  -50\n",
+       "16 NaN   70   1   91  -78\n",
+       "17 NaN   47   1   87  -35\n",
+       "18 NaN   52   1   91  -56\n",
+       "19 NaN   46   1   81  -61\n",
+       "20 NaN   34   1   78  -83\n",
+       "21 NaN   45   1   87  -50\n",
+       "22 NaN   50   1   73  -67\n",
+       "23 NaN   45   1   97  -50\n",
+       "24 NaN   45   1  111  -61\n",
+       "25 NaN  -92   2   23 -109\n",
+       "26 NaN  -96   2   20  -94\n",
+       "27 NaN  -88   2   26  -85\n",
+       "28 NaN -114   2   33  -90\n",
+       "29 NaN -106   2    9  -63\n",
+       "..  ..  ...  ..  ...  ...\n",
+       "18   3  NaN NaN  NaN  NaN\n",
+       "19   3  NaN NaN  NaN  NaN\n",
+       "20   3  NaN NaN  NaN  NaN\n",
+       "21   3  NaN NaN  NaN  NaN\n",
+       "22   3  NaN NaN  NaN  NaN\n",
+       "23   3  NaN NaN  NaN  NaN\n",
+       "24   3  NaN NaN  NaN  NaN\n",
+       "25   1  NaN NaN  NaN  NaN\n",
+       "26   1  NaN NaN  NaN  NaN\n",
+       "27   1  NaN NaN  NaN  NaN\n",
+       "28   1  NaN NaN  NaN  NaN\n",
+       "29   1  NaN NaN  NaN  NaN\n",
+       "30   1  NaN NaN  NaN  NaN\n",
+       "31   1  NaN NaN  NaN  NaN\n",
+       "32   1  NaN NaN  NaN  NaN\n",
+       "33   1  NaN NaN  NaN  NaN\n",
+       "34   1  NaN NaN  NaN  NaN\n",
+       "35   1  NaN NaN  NaN  NaN\n",
+       "36   1  NaN NaN  NaN  NaN\n",
+       "37   2  NaN NaN  NaN  NaN\n",
+       "38   2  NaN NaN  NaN  NaN\n",
+       "39   2  NaN NaN  NaN  NaN\n",
+       "40   2  NaN NaN  NaN  NaN\n",
+       "41   2  NaN NaN  NaN  NaN\n",
+       "42   2  NaN NaN  NaN  NaN\n",
+       "43   2  NaN NaN  NaN  NaN\n",
+       "44   2  NaN NaN  NaN  NaN\n",
+       "45   2  NaN NaN  NaN  NaN\n",
+       "46   2  NaN NaN  NaN  NaN\n",
+       "47   2  NaN NaN  NaN  NaN\n",
+       "\n",
+       "[96 rows x 5 columns]"
+      ]
+     },
+     "execution_count": 34,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "pandas.concat([data, pred], axis=0)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "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.10"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/foo.tab	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+	0	58	56	-67	4	5	6	7
+0	0	44	64	-76	7	3	2	0
+1	0	51	48	-73	7	3	2	0
+2	0	58	65	-49	3	3	2	0
+3	0	43	61	-49	3	3	2	0
+4	0	45	43	-79	7	3	2	0
+5	0	42	60	-98	0	3	2	0
+6	0	50	55	-59	3	3	2	0
+7	0	53	53	-56	3	3	2	0
+8	0	45	44	-61	3	3	2	0
+9	0	43	65	-84	0	3	2	0
+10	0	35	52	-75	7	3	2	0
+11	0	56	56	-70	7	3	2	0
+12	1	-61	86	43	6	1	0	2
+13	1	-67	93	15	1	1	0	2
+14	1	-59	94	36	6	1	0	2
+15	1	-50	92	62	2	1	0	2
+16	1	-78	91	70	2	1	0	2
+17	1	-35	87	47	6	1	0	2
+18	1	-56	91	52	6	1	0	2
+19	1	-61	81	46	6	1	0	2
+20	1	-83	78	34	6	1	0	2
+21	1	-50	87	45	6	1	0	2
+22	1	-67	73	50	6	1	0	2
+23	1	-50	97	45	6	1	0	2
+24	1	-61	111	45	6	1	0	2
+25	2	-109	23	-92	0	2	1	1
+26	2	-94	20	-96	0	2	1	1
+27	2	-85	26	-88	0	2	1	1
+28	2	-90	33	-114	5	2	1	1
+29	2	-63	9	-106	5	2	1	1
+30	2	-79	9	-93	0	2	1	1
+31	2	-99	26	-108	5	2	1	1
+32	2	-81	19	-110	5	2	1	1
+33	2	-108	21	-108	5	2	1	1
+34	2	-92	27	-106	5	2	1	1
+35	2	-88	2	-106	5	2	1	1
+36	2	-88	15	-103	5	2	1	1
+37	3	54	-74	4	4	0	3	3
+38	3	42	-92	31	1	0	3	3
+39	3	39	-99	-7	4	0	3	3
+40	3	48	-115	-5	4	0	3	3
+41	3	39	-96	2	4	0	3	3
+42	3	31	-109	9	4	0	3	3
+43	3	33	-96	-8	4	0	3	3
+44	3	23	-102	4	4	0	3	3
+45	3	38	-90	21	1	0	3	3
+46	3	34	-107	1	4	0	3	3
+47	3	35	-78	18	1	0	3	3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/numeric_clustering.xml	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,390 @@
+<tool id="numeric_clustering" name="Numeric Clustering" version="@VERSION@">
+    <description></description>
+    <requirements>
+        <requirement type="package" version="2.3.0">anaconda</requirement>
+    </requirements>
+    <stdio>
+        <exit_code level="fatal" range="1:"/>
+    </stdio>
+    <macros>
+        <token name="@VERSION@">0.9</token>
+        <macro name="n_clusters" token_default_value="8">
+            <param name="n_clusters" type="integer" optional="true" value="@DEFAULT_VALUE@" label="Number of clusters"
+                help="default value is @DEFAULT_VALUE@ (--n_clusters)"/>
+        </macro>
+        <macro name="n_init">
+            <param name="n_init" type="integer" optional="true" value="" label="Number of runs with different centroid seeds"/>
+        </macro>
+        <macro name="max_iter">
+            <param name="max_iter" type="integer" optional="true" value="" label="Maximum number of iterations per single run"/>
+        </macro>
+        <macro name="random_state">
+            <param name="random_state" type="integer" optional="true" value="" label="Initialize centers"/>
+        </macro>
+        <macro name="affinity">
+            <param name="affinity" type="text" optional="true" value="" label="Affinity"/>
+        </macro>
+        <macro name="tol">
+            <param name="tol" type="float" optional="true" value="" label="Relative tolerance"/>
+        </macro>
+        <macro name="init">
+            <param name="init" type="select" label="Select initialization method">
+                <option value="k-means++">k-means++</option>
+                <option value="random">random</option>
+            </param>
+        </macro>
+    </macros>
+    <version_command>echo "@VERSION@"</version_command>
+    <command><![CDATA[
+    cat "$cluster_script" >&2
+    &&
+    #import json
+    #set $params = dict()
+    #for $key, $value in $algorithm_options.items():
+        #if not $key.startswith('__') and $key.strip() != 'selected_algorithm' and str($value).strip():
+            #if str($value).strip() == 'false':
+                #set $value = False
+            #elif str($value).strip() == 'true':
+                #set $value = True
+            #else:
+                #try:
+                    #set $val = float($value)
+                    #try:
+                        #set $value = int($value)
+                    #except:
+                        #set $value = float($value)
+                    #end try
+                #except:
+                    #set $value = str($value)
+                #end try
+            #end if
+            $params.update({str($key): $value})
+        #end if
+    #end for
+    #set $json_string = json.dumps( $params )
+
+    python "$cluster_script" '$json_string'
+
+]]>
+    </command>
+    <configfiles>
+        <configfile name="cluster_script">
+<![CDATA[
+import sys
+import json
+import numpy as np
+import sklearn.cluster
+import pandas
+
+data = pandas.read_csv("$infile", sep='\t', header=0, index_col=None, parse_dates=True, encoding=None, tupleize_cols=False )
+my_class = getattr(sklearn.cluster, "$algorithm_options.selected_algorithm")
+cluster_object = my_class()
+
+params = json.loads( sys.argv[1] )
+cluster_object.set_params(**params)
+#if $end_column and $start_column:
+
+if  $end_column >= $start_column:
+    data_matrix = data.values[:, $start_column-1:$end_column]
+else:
+    data_matrix = data.values
+
+#else:
+data_matrix = data.values
+#end if
+prediction = cluster_object.fit_predict( data_matrix )
+prediction_df = pandas.DataFrame(prediction)
+res = pandas.concat([data, prediction_df], axis=1)
+res.to_csv(path_or_buf = "$outfile", sep="\t", index=False)
+]]>
+        </configfile>
+    </configfiles>
+    <inputs>
+        <param name="infile" type="data" format="tabular" label="Data file with numeric values" />
+        <param name="start_column" type="data_column" data_ref="infile" optional="True" label="Clustering column from" />
+        <param name="end_column" type="data_column" data_ref="infile" optional="True" label="to" />
+        <conditional name="algorithm_options">
+            <param name="selected_algorithm" type="select" label="Clustering Algorithm">
+                <option value="KMeans">KMeans</option>
+                <option value="DBSCAN">DBSCAN</option>
+                <option value="Birch">Birch</option>
+                <option value="MeanShift">MeanShift</option>
+                <option value="AffinityPropagation">Affinity Propagation</option>
+                <option value="AgglomerativeClustering">Agglomerative Clustering</option>
+                <option value="SpectralClustering">Spectral Clustering</option>
+                <option value="MiniBatchKMeans">Mini Batch KMeans</option>
+            </param>
+            <when value="KMeans">
+                <expand macro="n_clusters" default_label="8"/>
+                <expand macro="init"/>
+                <expand macro="n_init"/>
+                <expand macro="max_iter"/>
+                <expand macro="tol"/>
+                <param name="precompute_distances" type="text" optional="true" value="" label="Precompute distances"/>
+                <expand macro="random_state"/>
+                <param name="copy_x" type="boolean" optional="true" truevalue="--copy_x" falsevale="" label="Do not modify original data"/>
+            </when>
+            <when value="DBSCAN">
+                <param name="eps" type="float" optional="true" value="0.5" label="Maximum neghborhood distance"/>
+                <param name="min_samples" type="integer" optional="true" value="5" label="Core point minimum population"/>
+                <param name="metric" type="text" optional="true" value="euclidean" label="Metric"/>
+                <param name="algorithm" type="select" optional="true" value="auto" label="Pointwise distance algorithm">
+                    <option value="auto">auto</option>
+                    <option value="ball_tree">ball_tree</option>
+                    <option value="kd_tree">kd_tree</option>
+                    <option value="brute">brute</option>
+                </param>
+                <param name="leaf_size" type="integer" optional="true" value="30" label="Leaf size"/>
+            </when>
+            <when value="Birch">
+                <param name="threshold" type="float" optional="true" value="0.5" label="Subcluster radius threshold"/>
+                <param name="branching_factor" type="integer" optional="true" value="50" label="Maximum number of subclusters per branch"/>
+                <expand macro="n_clusters"  default_label="3" /> <!-- default to 3-->
+                <!--param name="compute_labels" type="boolean" optional="true" truevalue="true" falsevale="false" label="Compute labels for each fit"/-->
+            </when>
+            <when value="AffinityPropagation">
+                <param name="damping" type="float" optional="true" value="0.5" label="Damping factor"/>
+                <expand macro="max_iter"/> <!--default to 200 -->
+                <param name="convergence_iter" type="integer" optional="true" value="15" label="Number of iterations at each convergence step"/>
+                <param name="copy" type="boolean" optional="true" truevalue="true" falsevale="false" label="Make a copy of input data"/> 
+                <!--param name="preference" type="text" optional="true" value="None" label="Array like shape (n_samples,)"/-->
+                <expand macro="affinity"/> <!--default = euclidean-->
+            </when>
+            <when value="MeanShift">
+                <param name="bandwidth" type="float" optional="true" value="" label="RBF kernel bandwidth"/>
+                <!--param name="seeds" type="list" optional="true" value="None" label=""/-->
+                <param name="bin_seeding" type="boolean" optional="true" truevalue="true" falsevale="false" label="Discretize initial kernel locations"/>
+                <param name="min_bin_freq" type="integer" optional="true" value="1" label="Minimum number of seeds per bin"/>
+                <param name="cluster_all" type="boolean" optional="true" truevalue="true" falsevale="false" label="Cluster all"/>
+            </when>
+            <when value="AgglomerativeClustering">
+                <expand macro="n_clusters"  default_label="2" /> <!-- deafault 2-->
+                <expand macro="affinity"/> <!--default = euclidean-->
+                <!--param name="memory" type="callable" optional="true" value="Memory(cachedir=None)" label="Caching path"/-->
+                <!--param name="connectivity" type="list array-like or callable" optional="true" value="None" label="Connectivity matrix"/-->
+                <param name="n_components" type="integer" optional="true" value="" label="Number of connected components"/>
+                <!--param name="compute_full_tree" type="text or boolean" optional="true" value="auto" label=""/-->
+                <param name="linkage" type="select" optional="true" value="ward" label="Linkage">
+                    <option value="ward">ward</option>
+                    <option value="complete">complete</option>
+                    <option value="average">average</option>
+                </param>
+                <!--param name="pooling_func" type="callable" optional="np.mean" value="None" label=""/-->
+            </when>
+            <when value="SpectralClustering">
+                <expand macro="n_clusters" default_label="8" />
+                <param name="eigen_solver" type="select" value="arpack" label="Eigenvalue decomposition strategy">
+                    <option value="arpack">arpack</option>
+                    <option value="lobpcg">lobpcg</option>
+                    <option value="amg">amg</option>
+                </param>
+                <expand macro="random_state"/>
+                <!-- Todo: extend random_state type to int seed, RandomState instance, or None. -->
+                <expand macro="n_init"/> <!-- default to 10-->
+                <param name="gamma" type="float" optional="true" value="1.0" label="Kernel scaling factor"/>
+                <expand macro="affinity"/> <!--default =rbf-->
+                <param name="n_neighbors" type="integer" optional="true" value="10" label="Number of neighbors"/>
+                <!--param name="eigen_tol" type="float" optional="true" value="0.0" label="arpack eigendecomposition stopping threshold"/-->
+                <param name="assign_labels" type="select" optional="true" value="kmeans" label="Assign labels">
+                    <option value="kmeans">kmeans</option>
+                    <option value="discretize">discretize</option>
+                </param>
+                <param name="degree" type="integer" optional="true" value="3" label="Degree of the polynomial (polynomial kernel only)"/>
+                <param name="coef0" type="integer" optional="true" value="1" label="Zero coefficient (polynomial and sigmoid kernels only)"/>
+                <!--param name="kernel_params" type="dict" optional="true" value="None" label=""/-->
+            </when>
+            <when value="MiniBatchKMeans">
+                <expand macro="n_clusters" default_label="8"/>
+                <expand macro="init"/>
+                <expand macro="n_init"/> <!-- default to 3-->
+                <expand macro="max_iter"/> <!--default to 100-->
+                <expand macro="tol"/> <!--default = 0.0-->
+                <expand macro="random_state"/>
+                <param name="batch_size" type="integer" optional="true" value="100" label="Mini batch size"/>
+                <!--param name="compute_labels" type="boolean" optional="true" truevalue="true" falsevale="false" label="Compute labels for all data"/-->
+                <param name="max_no_improvement" type="integer" optional="true" value="10" label="Maximum number of improvement attempts"/>
+                <param name="init_size" type="integer" optional="true" value="" label="Number of random init samples"/>
+                <param name="reassignment_ratio" type="float" optional="true" value="0.01" label="Re-assignment ratio"/>
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data format_source="infile" name="outfile"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="KMeans"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="n_clusters" value="4" />
+            <param name="init" value="k-means++" />
+            <param name="random_state" value="100"/>
+            <output name="outfile" file="cluster_result01.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="KMeans"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="n_clusters" value="4" />
+            <param name="init" value="random" />
+            <param name="random_state" value="100"/>
+            <output name="outfile" file="cluster_result02.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="DBSCAN"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="algorithm" value="kd_tree"/>
+            <param name="leaf_size" value="10"/>
+            <param name="eps" value="1.0"/>
+            <output name="outfile" file="cluster_result03.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="Birch"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="n_clusters" value="4"/>
+            <param name="threshold" value="0.008"/>
+            <output name="outfile" file="cluster_result04.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="Birch"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="branching_factor" value="20"/>
+            <output name="outfile" file="cluster_result05.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="AffinityPropagation"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="affinity" value="euclidean"/>
+            <param name="copy" value="false"/>
+            <output name="outfile" file="cluster_result06.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="AffinityPropagation"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="damping" value="0.8"/>
+            <output name="outfile" file="cluster_result07.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="MeanShift"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="min_bin_freq" value="3"/>
+            <output name="outfile" file="cluster_result08.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="MeanShift"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="cluster_all" value="False"/>
+            <output name="outfile" file="cluster_result09.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="AgglomerativeClustering"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="affinity" value="euclidean"/>
+            <param name="linkage" value="average"/>
+            <param name="n_clusters" value="4"/>
+            <output name="outfile" file="cluster_result10.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="AgglomerativeClustering"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="linkage" value="complete"/>
+            <param name="n_clusters" value="4"/>
+            <output name="outfile" file="cluster_result11.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="SpectralClustering"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="eigen_solver" value="arpack"/>
+            <param name="n_neighbors" value="12"/>
+            <param name="n_clusters" value="4"/>
+            <param name="assign_labels" value="discretize"/>
+            <param name="random_state" value="100"/>
+            <output name="outfile" file="cluster_result12.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="SpectralClustering"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="assign_labels" value="discretize"/>
+            <param name="random_state" value="100"/>
+            <param name="degree" value="2"/>
+            <output name="outfile" file="cluster_result13.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="MiniBatchKMeans"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="tol" value="0.5"/>
+            <param name="random_state" value="100"/>
+            <output name="outfile" file="cluster_result14.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="MiniBatchKMeans"/>
+            <param name="n_init" value="5"/>
+            <param name="start_column" value="2" />
+            <param name="end_column" value="4" />
+            <param name="batch_size" value="10"/>
+            <param name="n_clusters" value="4"/>
+            <param name="random_state" value="100"/>
+            <param name="reassignment_ratio" value="1.0"/>
+            <output name="outfile" file="cluster_result15.txt"/>
+        </test>
+        <test>
+            <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
+            <param name="selected_algorithm" value="KMeans"/>
+            <param name="start_column" value="1" />
+            <param name="end_column" value="1" />
+            <param name="n_clusters" value="4" />
+            <param name="random_state" value="100"/>
+            <output name="outfile" file="cluster_result16.txt"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+**What it does**
+
+This clustering tool offers different clustering algorithms which are provided by
+scikit-learn to find similarities among samples and cluster the samples based on these similarities.
+
+    ]]></help>
+    <citations>
+        <citation type="bibtex">
+            @article{scikit-learn,
+             title={Scikit-learn: Machine Learning in {P}ython},
+             author={Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V.
+                     and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P.
+                     and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and
+                     Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.},
+             journal={Journal of Machine Learning Research},
+             volume={12},
+             pages={2825--2830},
+             year={2011}
+             url = {https://github.com/scikit-learn/scikit-learn}
+            }
+        </citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result01.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	0
+0	51	48	-73	0
+0	58	65	-49	0
+0	43	61	-49	0
+0	45	43	-79	0
+0	42	60	-98	0
+0	50	55	-59	0
+0	53	53	-56	0
+0	45	44	-61	0
+0	43	65	-84	0
+0	35	52	-75	0
+0	56	56	-70	0
+1	-61	86	43	2
+1	-67	93	15	2
+1	-59	94	36	2
+1	-50	92	62	2
+1	-78	91	70	2
+1	-35	87	47	2
+1	-56	91	52	2
+1	-61	81	46	2
+1	-83	78	34	2
+1	-50	87	45	2
+1	-67	73	50	2
+1	-50	97	45	2
+1	-61	111	45	2
+2	-109	23	-92	1
+2	-94	20	-96	1
+2	-85	26	-88	1
+2	-90	33	-114	1
+2	-63	9	-106	1
+2	-79	9	-93	1
+2	-99	26	-108	1
+2	-81	19	-110	1
+2	-108	21	-108	1
+2	-92	27	-106	1
+2	-88	2	-106	1
+2	-88	15	-103	1
+3	54	-74	4	3
+3	42	-92	31	3
+3	39	-99	-7	3
+3	48	-115	-5	3
+3	39	-96	2	3
+3	31	-109	9	3
+3	33	-96	-8	3
+3	23	-102	4	3
+3	38	-90	21	3
+3	34	-107	1	3
+3	35	-78	18	3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result02.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	3
+0	51	48	-73	3
+0	58	65	-49	3
+0	43	61	-49	3
+0	45	43	-79	3
+0	42	60	-98	3
+0	50	55	-59	3
+0	53	53	-56	3
+0	45	44	-61	3
+0	43	65	-84	3
+0	35	52	-75	3
+0	56	56	-70	3
+1	-61	86	43	2
+1	-67	93	15	2
+1	-59	94	36	2
+1	-50	92	62	2
+1	-78	91	70	2
+1	-35	87	47	2
+1	-56	91	52	2
+1	-61	81	46	2
+1	-83	78	34	2
+1	-50	87	45	2
+1	-67	73	50	2
+1	-50	97	45	2
+1	-61	111	45	2
+2	-109	23	-92	0
+2	-94	20	-96	0
+2	-85	26	-88	0
+2	-90	33	-114	0
+2	-63	9	-106	0
+2	-79	9	-93	0
+2	-99	26	-108	0
+2	-81	19	-110	0
+2	-108	21	-108	0
+2	-92	27	-106	0
+2	-88	2	-106	0
+2	-88	15	-103	0
+3	54	-74	4	1
+3	42	-92	31	1
+3	39	-99	-7	1
+3	48	-115	-5	1
+3	39	-96	2	1
+3	31	-109	9	1
+3	33	-96	-8	1
+3	23	-102	4	1
+3	38	-90	21	1
+3	34	-107	1	1
+3	35	-78	18	1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result03.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	-1
+0	51	48	-73	-1
+0	58	65	-49	-1
+0	43	61	-49	-1
+0	45	43	-79	-1
+0	42	60	-98	-1
+0	50	55	-59	-1
+0	53	53	-56	-1
+0	45	44	-61	-1
+0	43	65	-84	-1
+0	35	52	-75	-1
+0	56	56	-70	-1
+1	-61	86	43	-1
+1	-67	93	15	-1
+1	-59	94	36	-1
+1	-50	92	62	-1
+1	-78	91	70	-1
+1	-35	87	47	-1
+1	-56	91	52	-1
+1	-61	81	46	-1
+1	-83	78	34	-1
+1	-50	87	45	-1
+1	-67	73	50	-1
+1	-50	97	45	-1
+1	-61	111	45	-1
+2	-109	23	-92	-1
+2	-94	20	-96	-1
+2	-85	26	-88	-1
+2	-90	33	-114	-1
+2	-63	9	-106	-1
+2	-79	9	-93	-1
+2	-99	26	-108	-1
+2	-81	19	-110	-1
+2	-108	21	-108	-1
+2	-92	27	-106	-1
+2	-88	2	-106	-1
+2	-88	15	-103	-1
+3	54	-74	4	-1
+3	42	-92	31	-1
+3	39	-99	-7	-1
+3	48	-115	-5	-1
+3	39	-96	2	-1
+3	31	-109	9	-1
+3	33	-96	-8	-1
+3	23	-102	4	-1
+3	38	-90	21	-1
+3	34	-107	1	-1
+3	35	-78	18	-1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result04.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	1
+0	51	48	-73	1
+0	58	65	-49	1
+0	43	61	-49	1
+0	45	43	-79	1
+0	42	60	-98	1
+0	50	55	-59	1
+0	53	53	-56	1
+0	45	44	-61	1
+0	43	65	-84	1
+0	35	52	-75	1
+0	56	56	-70	1
+1	-61	86	43	2
+1	-67	93	15	2
+1	-59	94	36	2
+1	-50	92	62	2
+1	-78	91	70	2
+1	-35	87	47	2
+1	-56	91	52	2
+1	-61	81	46	2
+1	-83	78	34	2
+1	-50	87	45	2
+1	-67	73	50	2
+1	-50	97	45	2
+1	-61	111	45	2
+2	-109	23	-92	3
+2	-94	20	-96	3
+2	-85	26	-88	3
+2	-90	33	-114	3
+2	-63	9	-106	3
+2	-79	9	-93	3
+2	-99	26	-108	3
+2	-81	19	-110	3
+2	-108	21	-108	3
+2	-92	27	-106	3
+2	-88	2	-106	3
+2	-88	15	-103	3
+3	54	-74	4	0
+3	42	-92	31	0
+3	39	-99	-7	0
+3	48	-115	-5	0
+3	39	-96	2	0
+3	31	-109	9	0
+3	33	-96	-8	0
+3	23	-102	4	0
+3	38	-90	21	0
+3	34	-107	1	0
+3	35	-78	18	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result05.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	2
+0	51	48	-73	2
+0	58	65	-49	5
+0	43	61	-49	5
+0	45	43	-79	2
+0	42	60	-98	2
+0	50	55	-59	5
+0	53	53	-56	5
+0	45	44	-61	5
+0	43	65	-84	2
+0	35	52	-75	2
+0	56	56	-70	2
+1	-61	86	43	0
+1	-67	93	15	0
+1	-59	94	36	6
+1	-50	92	62	6
+1	-78	91	70	0
+1	-35	87	47	6
+1	-56	91	52	6
+1	-61	81	46	0
+1	-83	78	34	0
+1	-50	87	45	6
+1	-67	73	50	0
+1	-50	97	45	6
+1	-61	111	45	6
+2	-109	23	-92	7
+2	-94	20	-96	3
+2	-85	26	-88	3
+2	-90	33	-114	7
+2	-63	9	-106	3
+2	-79	9	-93	3
+2	-99	26	-108	7
+2	-81	19	-110	3
+2	-108	21	-108	7
+2	-92	27	-106	7
+2	-88	2	-106	3
+2	-88	15	-103	3
+3	54	-74	4	1
+3	42	-92	31	1
+3	39	-99	-7	4
+3	48	-115	-5	4
+3	39	-96	2	4
+3	31	-109	9	4
+3	33	-96	-8	4
+3	23	-102	4	4
+3	38	-90	21	1
+3	34	-107	1	4
+3	35	-78	18	1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result06.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	0
+0	51	48	-73	0
+0	58	65	-49	0
+0	43	61	-49	0
+0	45	43	-79	0
+0	42	60	-98	0
+0	50	55	-59	0
+0	53	53	-56	0
+0	45	44	-61	0
+0	43	65	-84	0
+0	35	52	-75	0
+0	56	56	-70	0
+1	-61	86	43	1
+1	-67	93	15	1
+1	-59	94	36	1
+1	-50	92	62	1
+1	-78	91	70	1
+1	-35	87	47	1
+1	-56	91	52	1
+1	-61	81	46	1
+1	-83	78	34	1
+1	-50	87	45	1
+1	-67	73	50	1
+1	-50	97	45	1
+1	-61	111	45	1
+2	-109	23	-92	2
+2	-94	20	-96	2
+2	-85	26	-88	2
+2	-90	33	-114	2
+2	-63	9	-106	2
+2	-79	9	-93	2
+2	-99	26	-108	2
+2	-81	19	-110	2
+2	-108	21	-108	2
+2	-92	27	-106	2
+2	-88	2	-106	2
+2	-88	15	-103	2
+3	54	-74	4	3
+3	42	-92	31	3
+3	39	-99	-7	3
+3	48	-115	-5	3
+3	39	-96	2	3
+3	31	-109	9	3
+3	33	-96	-8	3
+3	23	-102	4	3
+3	38	-90	21	3
+3	34	-107	1	3
+3	35	-78	18	3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result07.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	0
+0	51	48	-73	0
+0	58	65	-49	0
+0	43	61	-49	0
+0	45	43	-79	0
+0	42	60	-98	0
+0	50	55	-59	0
+0	53	53	-56	0
+0	45	44	-61	0
+0	43	65	-84	0
+0	35	52	-75	0
+0	56	56	-70	0
+1	-61	86	43	1
+1	-67	93	15	1
+1	-59	94	36	1
+1	-50	92	62	1
+1	-78	91	70	1
+1	-35	87	47	1
+1	-56	91	52	1
+1	-61	81	46	1
+1	-83	78	34	1
+1	-50	87	45	1
+1	-67	73	50	1
+1	-50	97	45	1
+1	-61	111	45	1
+2	-109	23	-92	2
+2	-94	20	-96	2
+2	-85	26	-88	2
+2	-90	33	-114	2
+2	-63	9	-106	2
+2	-79	9	-93	2
+2	-99	26	-108	2
+2	-81	19	-110	2
+2	-108	21	-108	2
+2	-92	27	-106	2
+2	-88	2	-106	2
+2	-88	15	-103	2
+3	54	-74	4	3
+3	42	-92	31	3
+3	39	-99	-7	3
+3	48	-115	-5	3
+3	39	-96	2	3
+3	31	-109	9	3
+3	33	-96	-8	3
+3	23	-102	4	3
+3	38	-90	21	3
+3	34	-107	1	3
+3	35	-78	18	3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result08.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	0
+0	51	48	-73	0
+0	58	65	-49	0
+0	43	61	-49	0
+0	45	43	-79	0
+0	42	60	-98	0
+0	50	55	-59	0
+0	53	53	-56	0
+0	45	44	-61	0
+0	43	65	-84	0
+0	35	52	-75	0
+0	56	56	-70	0
+1	-61	86	43	0
+1	-67	93	15	0
+1	-59	94	36	0
+1	-50	92	62	0
+1	-78	91	70	0
+1	-35	87	47	0
+1	-56	91	52	0
+1	-61	81	46	0
+1	-83	78	34	0
+1	-50	87	45	0
+1	-67	73	50	0
+1	-50	97	45	0
+1	-61	111	45	0
+2	-109	23	-92	0
+2	-94	20	-96	0
+2	-85	26	-88	0
+2	-90	33	-114	0
+2	-63	9	-106	0
+2	-79	9	-93	0
+2	-99	26	-108	0
+2	-81	19	-110	0
+2	-108	21	-108	0
+2	-92	27	-106	0
+2	-88	2	-106	0
+2	-88	15	-103	0
+3	54	-74	4	1
+3	42	-92	31	1
+3	39	-99	-7	1
+3	48	-115	-5	1
+3	39	-96	2	1
+3	31	-109	9	1
+3	33	-96	-8	1
+3	23	-102	4	1
+3	38	-90	21	1
+3	34	-107	1	1
+3	35	-78	18	1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result09.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	0
+0	51	48	-73	0
+0	58	65	-49	0
+0	43	61	-49	0
+0	45	43	-79	0
+0	42	60	-98	0
+0	50	55	-59	0
+0	53	53	-56	0
+0	45	44	-61	0
+0	43	65	-84	0
+0	35	52	-75	0
+0	56	56	-70	0
+1	-61	86	43	0
+1	-67	93	15	0
+1	-59	94	36	0
+1	-50	92	62	0
+1	-78	91	70	0
+1	-35	87	47	0
+1	-56	91	52	0
+1	-61	81	46	0
+1	-83	78	34	0
+1	-50	87	45	0
+1	-67	73	50	0
+1	-50	97	45	0
+1	-61	111	45	0
+2	-109	23	-92	0
+2	-94	20	-96	0
+2	-85	26	-88	0
+2	-90	33	-114	0
+2	-63	9	-106	0
+2	-79	9	-93	0
+2	-99	26	-108	0
+2	-81	19	-110	0
+2	-108	21	-108	0
+2	-92	27	-106	0
+2	-88	2	-106	0
+2	-88	15	-103	0
+3	54	-74	4	1
+3	42	-92	31	1
+3	39	-99	-7	1
+3	48	-115	-5	1
+3	39	-96	2	1
+3	31	-109	9	1
+3	33	-96	-8	1
+3	23	-102	4	1
+3	38	-90	21	1
+3	34	-107	1	1
+3	35	-78	18	1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result10.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	3
+0	51	48	-73	3
+0	58	65	-49	3
+0	43	61	-49	3
+0	45	43	-79	3
+0	42	60	-98	3
+0	50	55	-59	3
+0	53	53	-56	3
+0	45	44	-61	3
+0	43	65	-84	3
+0	35	52	-75	3
+0	56	56	-70	3
+1	-61	86	43	0
+1	-67	93	15	0
+1	-59	94	36	0
+1	-50	92	62	0
+1	-78	91	70	0
+1	-35	87	47	0
+1	-56	91	52	0
+1	-61	81	46	0
+1	-83	78	34	0
+1	-50	87	45	0
+1	-67	73	50	0
+1	-50	97	45	0
+1	-61	111	45	0
+2	-109	23	-92	2
+2	-94	20	-96	2
+2	-85	26	-88	2
+2	-90	33	-114	2
+2	-63	9	-106	2
+2	-79	9	-93	2
+2	-99	26	-108	2
+2	-81	19	-110	2
+2	-108	21	-108	2
+2	-92	27	-106	2
+2	-88	2	-106	2
+2	-88	15	-103	2
+3	54	-74	4	1
+3	42	-92	31	1
+3	39	-99	-7	1
+3	48	-115	-5	1
+3	39	-96	2	1
+3	31	-109	9	1
+3	33	-96	-8	1
+3	23	-102	4	1
+3	38	-90	21	1
+3	34	-107	1	1
+3	35	-78	18	1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result11.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	2
+0	51	48	-73	2
+0	58	65	-49	2
+0	43	61	-49	2
+0	45	43	-79	2
+0	42	60	-98	2
+0	50	55	-59	2
+0	53	53	-56	2
+0	45	44	-61	2
+0	43	65	-84	2
+0	35	52	-75	2
+0	56	56	-70	2
+1	-61	86	43	0
+1	-67	93	15	0
+1	-59	94	36	0
+1	-50	92	62	0
+1	-78	91	70	0
+1	-35	87	47	0
+1	-56	91	52	0
+1	-61	81	46	0
+1	-83	78	34	0
+1	-50	87	45	0
+1	-67	73	50	0
+1	-50	97	45	0
+1	-61	111	45	0
+2	-109	23	-92	1
+2	-94	20	-96	1
+2	-85	26	-88	1
+2	-90	33	-114	1
+2	-63	9	-106	1
+2	-79	9	-93	1
+2	-99	26	-108	1
+2	-81	19	-110	1
+2	-108	21	-108	1
+2	-92	27	-106	1
+2	-88	2	-106	1
+2	-88	15	-103	1
+3	54	-74	4	3
+3	42	-92	31	3
+3	39	-99	-7	3
+3	48	-115	-5	3
+3	39	-96	2	3
+3	31	-109	9	3
+3	33	-96	-8	3
+3	23	-102	4	3
+3	38	-90	21	3
+3	34	-107	1	3
+3	35	-78	18	3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result12.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	3
+0	51	48	-73	2
+0	58	65	-49	2
+0	43	61	-49	2
+0	45	43	-79	2
+0	42	60	-98	2
+0	50	55	-59	2
+0	53	53	-56	2
+0	45	44	-61	0
+0	43	65	-84	3
+0	35	52	-75	0
+0	56	56	-70	2
+1	-61	86	43	1
+1	-67	93	15	2
+1	-59	94	36	2
+1	-50	92	62	2
+1	-78	91	70	2
+1	-35	87	47	2
+1	-56	91	52	2
+1	-61	81	46	1
+1	-83	78	34	2
+1	-50	87	45	2
+1	-67	73	50	2
+1	-50	97	45	2
+1	-61	111	45	2
+2	-109	23	-92	0
+2	-94	20	-96	1
+2	-85	26	-88	2
+2	-90	33	-114	1
+2	-63	9	-106	0
+2	-79	9	-93	2
+2	-99	26	-108	1
+2	-81	19	-110	1
+2	-108	21	-108	1
+2	-92	27	-106	1
+2	-88	2	-106	0
+2	-88	15	-103	1
+3	54	-74	4	2
+3	42	-92	31	1
+3	39	-99	-7	1
+3	48	-115	-5	0
+3	39	-96	2	1
+3	31	-109	9	1
+3	33	-96	-8	1
+3	23	-102	4	0
+3	38	-90	21	1
+3	34	-107	1	1
+3	35	-78	18	1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result13.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	6
+0	51	48	-73	2
+0	58	65	-49	7
+0	43	61	-49	7
+0	45	43	-79	2
+0	42	60	-98	7
+0	50	55	-59	6
+0	53	53	-56	6
+0	45	44	-61	0
+0	43	65	-84	6
+0	35	52	-75	0
+0	56	56	-70	2
+1	-61	86	43	3
+1	-67	93	15	7
+1	-59	94	36	7
+1	-50	92	62	7
+1	-78	91	70	7
+1	-35	87	47	7
+1	-56	91	52	7
+1	-61	81	46	3
+1	-83	78	34	7
+1	-50	87	45	7
+1	-67	73	50	7
+1	-50	97	45	7
+1	-61	111	45	7
+2	-109	23	-92	0
+2	-94	20	-96	5
+2	-85	26	-88	7
+2	-90	33	-114	6
+2	-63	9	-106	0
+2	-79	9	-93	7
+2	-99	26	-108	6
+2	-81	19	-110	5
+2	-108	21	-108	6
+2	-92	27	-106	6
+2	-88	2	-106	0
+2	-88	15	-103	5
+3	54	-74	4	7
+3	42	-92	31	4
+3	39	-99	-7	3
+3	48	-115	-5	0
+3	39	-96	2	3
+3	31	-109	9	1
+3	33	-96	-8	3
+3	23	-102	4	0
+3	38	-90	21	4
+3	34	-107	1	1
+3	35	-78	18	4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result14.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	2
+0	51	48	-73	2
+0	58	65	-49	5
+0	43	61	-49	5
+0	45	43	-79	2
+0	42	60	-98	2
+0	50	55	-59	5
+0	53	53	-56	5
+0	45	44	-61	2
+0	43	65	-84	2
+0	35	52	-75	2
+0	56	56	-70	2
+1	-61	86	43	1
+1	-67	93	15	1
+1	-59	94	36	1
+1	-50	92	62	1
+1	-78	91	70	7
+1	-35	87	47	1
+1	-56	91	52	1
+1	-61	81	46	7
+1	-83	78	34	7
+1	-50	87	45	1
+1	-67	73	50	7
+1	-50	97	45	1
+1	-61	111	45	1
+2	-109	23	-92	6
+2	-94	20	-96	6
+2	-85	26	-88	6
+2	-90	33	-114	6
+2	-63	9	-106	3
+2	-79	9	-93	3
+2	-99	26	-108	6
+2	-81	19	-110	6
+2	-108	21	-108	6
+2	-92	27	-106	6
+2	-88	2	-106	3
+2	-88	15	-103	6
+3	54	-74	4	4
+3	42	-92	31	4
+3	39	-99	-7	0
+3	48	-115	-5	0
+3	39	-96	2	0
+3	31	-109	9	0
+3	33	-96	-8	0
+3	23	-102	4	0
+3	38	-90	21	4
+3	34	-107	1	0
+3	35	-78	18	4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result15.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	1
+0	51	48	-73	1
+0	58	65	-49	1
+0	43	61	-49	1
+0	45	43	-79	1
+0	42	60	-98	1
+0	50	55	-59	1
+0	53	53	-56	1
+0	45	44	-61	1
+0	43	65	-84	1
+0	35	52	-75	1
+0	56	56	-70	1
+1	-61	86	43	2
+1	-67	93	15	2
+1	-59	94	36	2
+1	-50	92	62	2
+1	-78	91	70	2
+1	-35	87	47	2
+1	-56	91	52	2
+1	-61	81	46	2
+1	-83	78	34	2
+1	-50	87	45	2
+1	-67	73	50	2
+1	-50	97	45	2
+1	-61	111	45	2
+2	-109	23	-92	3
+2	-94	20	-96	3
+2	-85	26	-88	3
+2	-90	33	-114	3
+2	-63	9	-106	3
+2	-79	9	-93	3
+2	-99	26	-108	3
+2	-81	19	-110	3
+2	-108	21	-108	3
+2	-92	27	-106	3
+2	-88	2	-106	3
+2	-88	15	-103	3
+3	54	-74	4	0
+3	42	-92	31	0
+3	39	-99	-7	0
+3	48	-115	-5	0
+3	39	-96	2	0
+3	31	-109	9	0
+3	33	-96	-8	0
+3	23	-102	4	0
+3	38	-90	21	0
+3	34	-107	1	0
+3	35	-78	18	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result16.txt	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67	0
+0	44	64	-76	0
+0	51	48	-73	0
+0	58	65	-49	0
+0	43	61	-49	0
+0	45	43	-79	0
+0	42	60	-98	0
+0	50	55	-59	0
+0	53	53	-56	0
+0	45	44	-61	0
+0	43	65	-84	0
+0	35	52	-75	0
+0	56	56	-70	0
+1	-61	86	43	2
+1	-67	93	15	2
+1	-59	94	36	2
+1	-50	92	62	2
+1	-78	91	70	2
+1	-35	87	47	2
+1	-56	91	52	2
+1	-61	81	46	2
+1	-83	78	34	2
+1	-50	87	45	2
+1	-67	73	50	2
+1	-50	97	45	2
+1	-61	111	45	2
+2	-109	23	-92	3
+2	-94	20	-96	3
+2	-85	26	-88	3
+2	-90	33	-114	3
+2	-63	9	-106	3
+2	-79	9	-93	3
+2	-99	26	-108	3
+2	-81	19	-110	3
+2	-108	21	-108	3
+2	-92	27	-106	3
+2	-88	2	-106	3
+2	-88	15	-103	3
+3	54	-74	4	1
+3	42	-92	31	1
+3	39	-99	-7	1
+3	48	-115	-5	1
+3	39	-96	2	1
+3	31	-109	9	1
+3	33	-96	-8	1
+3	23	-102	4	1
+3	38	-90	21	1
+3	34	-107	1	1
+3	35	-78	18	1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/numeric_values.tabular	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,49 @@
+0	58	56	-67
+0	44	64	-76
+0	51	48	-73
+0	58	65	-49
+0	43	61	-49
+0	45	43	-79
+0	42	60	-98
+0	50	55	-59
+0	53	53	-56
+0	45	44	-61
+0	43	65	-84
+0	35	52	-75
+0	56	56	-70
+1	-61	86	43
+1	-67	93	15
+1	-59	94	36
+1	-50	92	62
+1	-78	91	70
+1	-35	87	47
+1	-56	91	52
+1	-61	81	46
+1	-83	78	34
+1	-50	87	45
+1	-67	73	50
+1	-50	97	45
+1	-61	111	45
+2	-109	23	-92
+2	-94	20	-96
+2	-85	26	-88
+2	-90	33	-114
+2	-63	9	-106
+2	-79	9	-93
+2	-99	26	-108
+2	-81	19	-110
+2	-108	21	-108
+2	-92	27	-106
+2	-88	2	-106
+2	-88	15	-103
+3	54	-74	4
+3	42	-92	31
+3	39	-99	-7
+3	48	-115	-5
+3	39	-96	2
+3	31	-109	9
+3	33	-96	-8
+3	23	-102	4
+3	38	-90	21
+3	34	-107	1
+3	35	-78	18
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml	Fri Jan 01 18:37:54 2016 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="anaconda" version="2.3.0">
+        <repository changeset_revision="94d978ebbfd4" name="package_anaconda_2_3_0" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>