Luc Moulinier HomePage > Tcl/Tk packages Documentation > tclcluspack

NAME
tclcluspack — Create a clustering
SYNOPSIS
DESCRIPTION
-dt datatype
-cm method
-nbc method
-neighb number
-dim dimension
-dt1, -dt2
-wc
-standardization
-standardized_data
NOTES
EXAMPLES

NAME

tclcluspack — Create a new clustering

SYNOPSIS

tclcluspack datalist ?options?

DESCRIPTION

This command creates a new clustering out of datalist, returning a list of n clusters, each cluster being a list containing the index of the elements constituting the cluster.in sorted order.

The data may be of two types: a list of protein sequences, or a list of points in an n-dimensional space (for example : {{x00 x01 x02 x03 x04} {x10 x11 x12 x13 x14} ... {xn0 xn1 xn2 xn3 xn4}}). Be aware that data should be the first parameter after the tclcluspack command.

Below are described the parameters allowed :

-dt
Specify the type of data. Should be one of alignment or coordinates.

-cm method
Specify the method to be used to create the clustering. Several methods are available :
kmeans
the standard k-means method
mm
mixture model
hierar
???
bionj
????

-nbc method
Specify the method to be used to determine the number of clusters in the current clustering. Several methods are available.
dpc
dpc stands for density of points clustering. See N. Wicker publication for details.
secator
Only applies on hierar clustering. See N. Wicker publication for details.
aic
???
bic
???
number
The clustering will output number clusters exactly

-neighb number
Used to estimate the density when using DPC. Default to dimension+1.

-dim dimension
Used for dimension reduction when dealing with sequences alignments and using DPC. Default equals to 2.

-dt1, -dt2
???

-wc
In each cluster, outputs each point with its coordinates.

-standardization
????

-standardized_data
????

NOTES

EXAMPLES

Sorting a list using ASCII sorting:

% lsort {a10 B2 b1 a1 a2}
B2 a1 a10 a2 b1

Sorting a list using Dictionary sorting:

% lsort -dictionary {a10 B2 b1 a1 a2}
a1 a2 a10 b1 B2

Sorting lists of integers:

% lsort -integer {5 3 1 2 11 4}
1 2 3 4 5 11
% lsort -integer {1 2 0x5 7 0 4 -1}
-1 0 1 2 4 0x5 7

Sorting lists of floating-point numbers:

% lsort -real {5 3 1 2 11 4}
1 2 3 4 5 11
% lsort -real {.5 0.07e1 0.4 6e-1}
0.4 .5 6e-1 0.07e1

Sorting using indices:

% # Note the space character before the c
% lsort {{a 5} { c 3} {b 4} {e 1} {d 2}}
{ c 3} {a 5} {b 4} {d 2} {e 1}
% lsort -index 0 {{a 5} { c 3} {b 4} {e 1} {d 2}}
{a 5} {b 4} { c 3} {d 2} {e 1}
% lsort -index 1 {{a 5} { c 3} {b 4} {e 1} {d 2}}
{e 1} {d 2} { c 3} {b 4} {a 5}

Sorting a dictionary:

% set d [dict create c d a b h i f g c e]
c e a b h i f g
% lsort -stride 2 $d
a b c e f g h i

Sorting using striding and multiple indices:

% # Note the first index value is relative to the group
% lsort -stride 3 -index {0 1} \
     {{Bob Smith} 25 Audi {Jane Doe} 40 Ford}
{{Jane Doe} 40 Ford {Bob Smith} 25 Audi}

Stripping duplicate values using sorting:

% lsort -unique {a b c a b c a b c}
a b c

More complex sorting using a comparison function:

% proc compare {a b} {
    set a0 [lindex $a 0]
    set b0 [lindex $b 0]
    if {$a0 < $b0} {
        return -1
    } elseif {$a0 > $b0} {
        return 1
    }
    return [string compare [lindex $a 1] [lindex $b 1]]
}
% lsort -command compare \
        {{3 apple} {0x2 carrot} {1 dingo} {2 banana}}
{1 dingo} {2 banana} {0x2 carrot} {3 apple}
Copyright © 2012 L. Moulinier & N. Wicker <luc.dot.moulinier(at)igbmc.fr>. All rights reserved.