changeset 2:1d465f2ebfad draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/numeric_clustering commit adf077b912ddebd97b07b947b855cdd2862ed8ef
author bgruening
date Fri, 01 Jan 2016 12:58:17 -0500
parents d645cdee08ed
children 6bfbaf81b8f4
files 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
diffstat 18 files changed, 572 insertions(+), 534 deletions(-) [+]
line wrap: on
line diff
--- a/numeric_clustering.xml	Fri Jan 01 10:42:52 2016 -0500
+++ b/numeric_clustering.xml	Fri Jan 01 12:58:17 2016 -0500
@@ -8,9 +8,9 @@
     </stdio>
     <macros>
         <token name="@VERSION@">0.9</token>
-        <macro name="n_clusters">
-            <param name="n_clusters" type="integer" optional="true" value="8" label="Number of clusters"
-                help="default value is 8 (--n_clusters)"/>
+        <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"/>
@@ -62,37 +62,46 @@
     #set $json_string = json.dumps( $params )
 
     python "$cluster_script" '$json_string'
+    &&
+    cat "$cluster_script" >&2
+
 ]]>
     </command>
     <configfiles>
         <configfile name="cluster_script">
-<![CDATA[#!/usr/bin/env python
+<![CDATA[
 import sys
 import json
 import numpy as np
 import sklearn.cluster
 import pandas
 
-data = pandas.DataFrame.from_csv("$infile", sep='\t', header=0, index_col=0, parse_dates=True, encoding=None, tupleize_cols=False )
+data = pandas.read_csv("$infile", sep='\t', header=0, index_col=0, 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 >= $start_column:
+#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 )
-data['cluster_label'] = prediction
-data.to_csv(path_or_buf = "$outfile",sep="\t")
+data[len(data.columns)] = prediction
+data.to_csv(path_or_buf = "$outfile", sep="\t")
 ]]>
         </configfile>
     </configfiles>
     <inputs>
-        <param name="infile" type="data" format="tabular" label="Data file with numeric values"/>
-        <param name="start_column" label="Clustering column from" type="data_column" data_ref="infile" optional="True" />
-        <param name="end_column" label="to" type="data_column" data_ref="infile" optional="True" />
+        <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>
@@ -105,7 +114,7 @@
                 <option value="MiniBatchKMeans">Mini Batch KMeans</option>
             </param>
             <when value="KMeans">
-                <expand macro="n_clusters"/>
+                <expand macro="n_clusters" default_label="8"/>
                 <expand macro="init"/>
                 <expand macro="n_init"/>
                 <expand macro="max_iter"/>
@@ -129,7 +138,7 @@
             <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 to 3-->
+                <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">
@@ -148,7 +157,7 @@
                 <param name="cluster_all" type="boolean" optional="true" truevalue="true" falsevale="false" label="Cluster all"/>
             </when>
             <when value="AgglomerativeClustering">
-                <expand macro="n_clusters"/> <!-- deafault 2-->
+                <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"/-->
@@ -162,7 +171,7 @@
                 <!--param name="pooling_func" type="callable" optional="np.mean" value="None" label=""/-->
             </when>
             <when value="SpectralClustering">
-                <expand macro="n_clusters"/>
+                <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>
@@ -184,7 +193,7 @@
                 <!--param name="kernel_params" type="dict" optional="true" value="None" label=""/-->
             </when>
             <when value="MiniBatchKMeans">
-                <expand macro="n_clusters"/>
+                <expand macro="n_clusters" default_label="8"/>
                 <expand macro="init"/>
                 <expand macro="n_init"/> <!-- default to 3-->
                 <expand macro="max_iter"/> <!--default to 100-->
@@ -205,6 +214,8 @@
         <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"/>
@@ -213,7 +224,9 @@
         <test>
             <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
             <param name="selected_algorithm" value="KMeans"/>
-            <param name="n_clusters" value="6" />
+            <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"/>
@@ -221,6 +234,8 @@
         <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"/>
@@ -229,19 +244,25 @@
         <test>
             <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
             <param name="selected_algorithm" value="Birch"/>
-            <param name="n_clusters" value="5"/>
+            <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"/>
@@ -249,24 +270,32 @@
         <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"/>
             <output name="outfile" file="cluster_result10.txt"/>
@@ -274,16 +303,20 @@
         <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="5"/>
+            <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="7"/>
+            <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"/>
@@ -291,6 +324,8 @@
         <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"/>
@@ -299,6 +334,8 @@
         <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"/>
@@ -307,8 +344,10 @@
             <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="3"/>
+            <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"/>
@@ -316,10 +355,9 @@
         <test>
             <param name="infile" value="numeric_values.tabular" ftype="tabular"/>
             <param name="selected_algorithm" value="KMeans"/>
-            <param name="start_column" value="3" />
-            <param name="end_column" value="4" />
-            <param name="n_clusters" value="6" />
-            <param name="init" value="random" />
+            <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>
--- a/test-data/cluster_result01.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result01.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,6 +1,6 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
+0	58	56	-67	3
 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
@@ -24,26 +24,26 @@
 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
+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
--- a/test-data/cluster_result02.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result02.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,49 +1,49 @@
-0	51	48	-73	cluster_label
 0	58	56	-67	3
-0	44	64	-76	2
-0	58	65	-49	3
-0	43	61	-49	3
-0	45	43	-79	2
-0	42	60	-98	2
-0	50	55	-59	3
-0	53	53	-56	3
-0	45	44	-61	3
-0	43	65	-84	2
-0	35	52	-75	2
-0	56	56	-70	3
-1	-61	86	43	4
-1	-67	93	15	4
-1	-59	94	36	4
-1	-50	92	62	4
-1	-78	91	70	4
-1	-35	87	47	4
-1	-56	91	52	4
-1	-61	81	46	4
-1	-83	78	34	4
-1	-50	87	45	4
-1	-67	73	50	4
-1	-50	97	45	4
-1	-61	111	45	4
-2	-109	23	-92	5
-2	-94	20	-96	5
-2	-85	26	-88	5
-2	-90	33	-114	5
-2	-63	9	-106	5
-2	-79	9	-93	5
-2	-99	26	-108	5
-2	-81	19	-110	5
-2	-108	21	-108	5
-2	-92	27	-106	5
-2	-88	2	-106	5
-2	-88	15	-103	5
-3	54	-74	4	0
-3	42	-92	31	0
-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	0
-3	34	-107	1	1
-3	35	-78	18	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	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	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
--- a/test-data/cluster_result03.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result03.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,6 +1,6 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	-1
+0	58	56	-67	3
 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
--- a/test-data/cluster_result04.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result04.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,16 +1,16 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
-0	44	64	-76	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
+0	58	56	-67	3
+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
@@ -24,26 +24,26 @@
 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	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	3
-3	34	-107	1	4
-3	35	-78	18	3
+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
--- a/test-data/cluster_result05.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result05.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,41 +1,41 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	6
-0	44	64	-76	5
-0	58	65	-49	6
-0	43	61	-49	6
-0	45	43	-79	5
-0	42	60	-98	5
-0	50	55	-59	6
-0	53	53	-56	6
-0	45	44	-61	6
-0	43	65	-84	5
-0	35	52	-75	5
+0	58	56	-67	3
+0	44	64	-76	6
+0	51	48	-73	6
+0	58	65	-49	5
+0	43	61	-49	5
+0	45	43	-79	6
+0	42	60	-98	6
+0	50	55	-59	5
+0	53	53	-56	5
+0	45	44	-61	5
+0	43	65	-84	6
+0	35	52	-75	6
 0	56	56	-70	6
-1	-61	86	43	0
-1	-67	93	15	0
-1	-59	94	36	2
+1	-61	86	43	3
+1	-67	93	15	7
+1	-59	94	36	3
 1	-50	92	62	2
-1	-78	91	70	0
-1	-35	87	47	2
-1	-56	91	52	2
-1	-61	81	46	0
-1	-83	78	34	0
-1	-50	87	45	2
-1	-67	73	50	0
-1	-50	97	45	2
+1	-78	91	70	2
+1	-35	87	47	3
+1	-56	91	52	3
+1	-61	81	46	3
+1	-83	78	34	3
+1	-50	87	45	3
+1	-67	73	50	3
+1	-50	97	45	3
 1	-61	111	45	2
-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
+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	4
--- a/test-data/cluster_result06.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result06.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,6 +1,6 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
+0	58	56	-67	3
 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
--- a/test-data/cluster_result07.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result07.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,6 +1,6 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
+0	58	56	-67	3
 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
@@ -24,26 +24,26 @@
 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
+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	2
+3	42	-92	31	2
+3	39	-99	-7	2
+3	48	-115	-5	2
+3	39	-96	2	2
+3	31	-109	9	2
+3	33	-96	-8	2
+3	23	-102	4	2
+3	38	-90	21	2
+3	34	-107	1	2
+3	35	-78	18	2
--- a/test-data/cluster_result08.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result08.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,6 +1,6 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
+0	58	56	-67	3
 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
@@ -11,19 +11,19 @@
 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
+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	0
 2	-94	20	-96	0
 2	-85	26	-88	0
@@ -36,14 +36,14 @@
 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
+3	54	-74	4	2
+3	42	-92	31	2
+3	39	-99	-7	2
+3	48	-115	-5	2
+3	39	-96	2	2
+3	31	-109	9	2
+3	33	-96	-8	2
+3	23	-102	4	2
+3	38	-90	21	2
+3	34	-107	1	2
+3	35	-78	18	2
--- a/test-data/cluster_result09.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result09.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,6 +1,6 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
+0	58	56	-67	3
 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
@@ -11,19 +11,19 @@
 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
+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	0
 2	-94	20	-96	0
 2	-85	26	-88	0
@@ -36,14 +36,14 @@
 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
+3	54	-74	4	2
+3	42	-92	31	2
+3	39	-99	-7	2
+3	48	-115	-5	2
+3	39	-96	2	2
+3	31	-109	9	2
+3	33	-96	-8	2
+3	23	-102	4	2
+3	38	-90	21	2
+3	34	-107	1	2
+3	35	-78	18	2
--- a/test-data/cluster_result10.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result10.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,41 +1,41 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	7
-0	44	64	-76	3
-0	58	65	-49	7
-0	43	61	-49	7
-0	45	43	-79	3
-0	42	60	-98	3
-0	50	55	-59	7
-0	53	53	-56	7
-0	45	44	-61	7
-0	43	65	-84	3
-0	35	52	-75	3
-0	56	56	-70	7
-1	-61	86	43	4
-1	-67	93	15	0
-1	-59	94	36	4
-1	-50	92	62	4
-1	-78	91	70	5
-1	-35	87	47	4
-1	-56	91	52	4
-1	-61	81	46	4
-1	-83	78	34	0
-1	-50	87	45	4
-1	-67	73	50	4
-1	-50	97	45	4
-1	-61	111	45	4
-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
+0	58	56	-67	3
+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	5
+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	4
+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	7
+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	2
 3	42	-92	31	2
 3	39	-99	-7	6
--- a/test-data/cluster_result11.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result11.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,49 +1,49 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
-0	44	64	-76	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	4
-1	-67	93	15	2
-1	-59	94	36	2
-1	-50	92	62	2
-1	-78	91	70	4
-1	-35	87	47	2
-1	-56	91	52	2
-1	-61	81	46	4
-1	-83	78	34	4
-1	-50	87	45	2
-1	-67	73	50	4
-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
+0	58	56	-67	3
+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	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
--- a/test-data/cluster_result12.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result12.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,49 +1,49 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
+0	58	56	-67	3
 0	44	64	-76	3
-0	58	65	-49	0
-0	43	61	-49	6
-0	45	43	-79	2
-0	42	60	-98	6
+0	51	48	-73	0
+0	58	65	-49	3
+0	43	61	-49	3
+0	45	43	-79	0
+0	42	60	-98	3
 0	50	55	-59	3
 0	53	53	-56	3
 0	45	44	-61	0
 0	43	65	-84	3
-0	35	52	-75	2
+0	35	52	-75	0
 0	56	56	-70	0
 1	-61	86	43	1
-1	-67	93	15	6
-1	-59	94	36	6
-1	-50	92	62	6
-1	-78	91	70	0
-1	-35	87	47	0
-1	-56	91	52	6
+1	-67	93	15	3
+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	6
-1	-50	87	45	6
-1	-67	73	50	6
-1	-50	97	45	6
-1	-61	111	45	0
-2	-109	23	-92	0
-2	-94	20	-96	4
-2	-85	26	-88	6
-2	-90	33	-114	4
+1	-83	78	34	3
+1	-50	87	45	1
+1	-67	73	50	3
+1	-50	97	45	1
+1	-61	111	45	3
+2	-109	23	-92	1
+2	-94	20	-96	1
+2	-85	26	-88	1
+2	-90	33	-114	3
 2	-63	9	-106	0
-2	-79	9	-93	6
-2	-99	26	-108	4
-2	-81	19	-110	4
-2	-108	21	-108	4
-2	-92	27	-106	4
+2	-79	9	-93	3
+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	4
-3	54	-74	4	0
+2	-88	15	-103	0
+3	54	-74	4	3
 3	42	-92	31	0
-3	39	-99	-7	1
+3	39	-99	-7	2
 3	48	-115	-5	0
-3	39	-96	2	1
-3	31	-109	9	1
-3	33	-96	-8	1
-3	23	-102	4	6
+3	39	-96	2	0
+3	31	-109	9	0
+3	33	-96	-8	2
+3	23	-102	4	0
 3	38	-90	21	0
-3	34	-107	1	1
+3	34	-107	1	0
 3	35	-78	18	0
--- a/test-data/cluster_result13.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result13.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,49 +1,49 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
+0	58	56	-67	3
 0	44	64	-76	3
-0	58	65	-49	3
-0	43	61	-49	3
-0	45	43	-79	2
-0	42	60	-98	3
-0	50	55	-59	4
-0	53	53	-56	4
-0	45	44	-61	0
+0	51	48	-73	6
+0	58	65	-49	0
+0	43	61	-49	0
+0	45	43	-79	6
+0	42	60	-98	1
+0	50	55	-59	7
+0	53	53	-56	7
+0	45	44	-61	6
 0	43	65	-84	3
-0	35	52	-75	2
-0	56	56	-70	0
-1	-61	86	43	3
-1	-67	93	15	3
-1	-59	94	36	3
-1	-50	92	62	0
-1	-78	91	70	3
-1	-35	87	47	3
-1	-56	91	52	0
-1	-61	81	46	3
-1	-83	78	34	3
-1	-50	87	45	0
-1	-67	73	50	3
-1	-50	97	45	0
-1	-61	111	45	3
-2	-109	23	-92	0
-2	-94	20	-96	1
-2	-85	26	-88	3
-2	-90	33	-114	5
-2	-63	9	-106	0
-2	-79	9	-93	3
+0	35	52	-75	6
+0	56	56	-70	6
+1	-61	86	43	2
+1	-67	93	15	1
+1	-59	94	36	7
+1	-50	92	62	1
+1	-78	91	70	1
+1	-35	87	47	2
+1	-56	91	52	2
+1	-61	81	46	2
+1	-83	78	34	1
+1	-50	87	45	2
+1	-67	73	50	2
+1	-50	97	45	7
+1	-61	111	45	1
+2	-109	23	-92	5
+2	-94	20	-96	5
+2	-85	26	-88	5
+2	-90	33	-114	1
+2	-63	9	-106	7
+2	-79	9	-93	1
 2	-99	26	-108	5
-2	-81	19	-110	1
+2	-81	19	-110	5
 2	-108	21	-108	5
 2	-92	27	-106	5
-2	-88	2	-106	0
-2	-88	15	-103	1
-3	54	-74	4	3
-3	42	-92	31	6
-3	39	-99	-7	1
-3	48	-115	-5	0
-3	39	-96	2	1
-3	31	-109	9	4
-3	33	-96	-8	1
-3	23	-102	4	0
-3	38	-90	21	6
-3	34	-107	1	4
-3	35	-78	18	6
+2	-88	2	-106	7
+2	-88	15	-103	7
+3	54	-74	4	2
+3	42	-92	31	7
+3	39	-99	-7	4
+3	48	-115	-5	7
+3	39	-96	2	7
+3	31	-109	9	7
+3	33	-96	-8	4
+3	23	-102	4	7
+3	38	-90	21	7
+3	34	-107	1	7
+3	35	-78	18	7
--- a/test-data/cluster_result14.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result14.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,49 +1,49 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	4
-0	44	64	-76	1
-0	58	65	-49	4
-0	43	61	-49	4
-0	45	43	-79	1
-0	42	60	-98	1
-0	50	55	-59	4
-0	53	53	-56	4
-0	45	44	-61	4
-0	43	65	-84	1
-0	35	52	-75	1
-0	56	56	-70	1
-1	-61	86	43	5
-1	-67	93	15	2
-1	-59	94	36	5
-1	-50	92	62	5
-1	-78	91	70	5
-1	-35	87	47	5
-1	-56	91	52	5
-1	-61	81	46	5
-1	-83	78	34	2
-1	-50	87	45	5
-1	-67	73	50	5
-1	-50	97	45	5
-1	-61	111	45	5
-2	-109	23	-92	7
-2	-94	20	-96	7
-2	-85	26	-88	7
-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	6
-3	42	-92	31	6
-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	6
-3	34	-107	1	0
-3	35	-78	18	6
+0	58	56	-67	3
+0	44	64	-76	3
+0	51	48	-73	6
+0	58	65	-49	5
+0	43	61	-49	5
+0	45	43	-79	6
+0	42	60	-98	3
+0	50	55	-59	5
+0	53	53	-56	5
+0	45	44	-61	6
+0	43	65	-84	3
+0	35	52	-75	6
+0	56	56	-70	6
+1	-61	86	43	0
+1	-67	93	15	0
+1	-59	94	36	0
+1	-50	92	62	7
+1	-78	91	70	7
+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	4
+3	42	-92	31	4
+3	39	-99	-7	2
+3	48	-115	-5	2
+3	39	-96	2	2
+3	31	-109	9	2
+3	33	-96	-8	2
+3	23	-102	4	2
+3	38	-90	21	4
+3	34	-107	1	2
+3	35	-78	18	4
--- a/test-data/cluster_result15.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result15.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,16 +1,16 @@
-0	51	48	-73	cluster_label
-0	58	56	-67	0
-0	44	64	-76	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
+0	58	56	-67	3
+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
@@ -24,18 +24,18 @@
 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
+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
--- a/test-data/cluster_result16.txt	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/cluster_result16.txt	Fri Jan 01 12:58:17 2016 -0500
@@ -1,49 +1,49 @@
-0	51	48	-73	cluster_label
 0	58	56	-67	3
-0	44	64	-76	3
-0	58	65	-49	4
-0	43	61	-49	4
-0	45	43	-79	3
-0	42	60	-98	0
-0	50	55	-59	4
-0	53	53	-56	4
-0	45	44	-61	4
-0	43	65	-84	3
+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	3
-0	56	56	-70	3
-1	-61	86	43	2
-1	-67	93	15	5
-1	-59	94	36	5
-1	-50	92	62	2
+0	56	56	-70	1
+1	-61	86	43	0
+1	-67	93	15	0
+1	-59	94	36	0
+1	-50	92	62	0
 1	-78	91	70	2
-1	-35	87	47	2
-1	-56	91	52	2
-1	-61	81	46	2
-1	-83	78	34	5
-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	3
-2	-90	33	-114	0
+1	-35	87	47	0
+1	-56	91	52	0
+1	-61	81	46	0
+1	-83	78	34	2
+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	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
+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	5
-3	39	-99	-7	1
+3	42	-92	31	1
+3	39	-99	-7	3
 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	5
-3	34	-107	1	1
-3	35	-78	18	5
+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
--- a/test-data/numeric_values.tabular	Fri Jan 01 10:42:52 2016 -0500
+++ b/test-data/numeric_values.tabular	Fri Jan 01 12:58:17 2016 -0500
@@ -1,6 +1,6 @@
-0	51	48	-73
 0	58	56	-67
 0	44	64	-76
+0	51	48	-73
 0	58	65	-49
 0	43	61	-49
 0	45	43	-79