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 :
% 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}