changeset 0:42a2825313e9 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/numeric_clustering commit ac9beb7e9c83b0ae811b304eb3085a4b0930f5a0
author bgruening
date Fri, 01 Jan 2016 10:24:53 -0500
parents
children d645cdee08ed
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 tool_dependencies.xml
diffstat 19 files changed, 1189 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/numeric_clustering.xml	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +1,350 @@
+<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">
+            <param name="n_clusters" type="integer" optional="true" value="8" label="Number of clusters"
+                help="default value is 8 (--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[
+    #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[#!/usr/bin/env python
+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 )
+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:
+    data_matrix = data.values[:, $start_column-1:$end_column]
+else:
+    data_matrix = data.values
+prediction = cluster_object.fit_predict( data_matrix )
+data['cluster_label'] = 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" />
+        <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"/>
+                <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 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"/> <!-- 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"/>
+                <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"/>
+                <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="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="n_clusters" value="6" />
+            <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="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="n_clusters" value="5"/>
+            <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="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="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="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="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="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="affinity" value="euclidean"/>
+            <param name="linkage" value="average"/>
+            <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="linkage" value="complete"/>
+            <param name="n_clusters" value="5"/>
+            <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="eigen_solver" value="arpack"/>
+            <param name="n_neighbors" value="12"/>
+            <param name="n_clusters" value="7"/>
+            <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="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="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="batch_size" value="10"/>
+            <param name="n_clusters" value="3"/>
+            <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="3" />
+            <param name="end_column" value="4" />
+            <param name="n_clusters" value="6" />
+            <param name="init" value="random" />
+            <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 10:24:53 2016 -0500
@@ -0,0 +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	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 10:24:53 2016 -0500
@@ -0,0 +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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result03.txt	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +1,49 @@
+0	51	48	-73	cluster_label
+0	58	56	-67	-1
+0	44	64	-76	-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 10:24:53 2016 -0500
@@ -0,0 +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	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	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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result05.txt	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +1,49 @@
+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	56	56	-70	6
+1	-61	86	43	0
+1	-67	93	15	0
+1	-59	94	36	2
+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	-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
+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 10:24:53 2016 -0500
@@ -0,0 +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	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 10:24:53 2016 -0500
@@ -0,0 +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	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 10:24:53 2016 -0500
@@ -0,0 +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	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 10:24:53 2016 -0500
@@ -0,0 +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	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 10:24:53 2016 -0500
@@ -0,0 +1,49 @@
+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
+3	54	-74	4	2
+3	42	-92	31	2
+3	39	-99	-7	6
+3	48	-115	-5	6
+3	39	-96	2	6
+3	31	-109	9	6
+3	33	-96	-8	6
+3	23	-102	4	6
+3	38	-90	21	2
+3	34	-107	1	6
+3	35	-78	18	2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result11.txt	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result12.txt	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +1,49 @@
+0	51	48	-73	cluster_label
+0	58	56	-67	0
+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	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	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	-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
+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	-88	2	-106	0
+2	-88	15	-103	4
+3	54	-74	4	0
+3	42	-92	31	0
+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	6
+3	38	-90	21	0
+3	34	-107	1	1
+3	35	-78	18	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result13.txt	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +1,49 @@
+0	51	48	-73	cluster_label
+0	58	56	-67	0
+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	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
+2	-99	26	-108	5
+2	-81	19	-110	1
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result14.txt	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cluster_result15.txt	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +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	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	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 10:24:53 2016 -0500
@@ -0,0 +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	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
+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
+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	5
+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	5
+3	34	-107	1	1
+3	35	-78	18	5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/numeric_values.tabular	Fri Jan 01 10:24:53 2016 -0500
@@ -0,0 +1,49 @@
+0	51	48	-73
+0	58	56	-67
+0	44	64	-76
+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 10:24:53 2016 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="anaconda" version="2.3.0">
+        <repository changeset_revision="d3f29b11da06" name="package_anaconda_2_3_0" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>