Summary: We have implemented k-means clustering, hierarchical clustering and self-organizing maps in a single multipurpose open-source library of C routines, callable from other C and C++ programs. Using this library, we have created an improved version of Michael Eisen's well-known Cluster program for Windows, Mac OS X and Linux/Unix. In addition, we generated a Python and a Perl interface to the C Clustering Library, thereby combining the flexibility of a scripting language with the speed of C.
Availability: The C Clustering Library and the corresponding Python C extension module Pycluster were released under the Python License, while the Perl module Algorithm::Cluster was released under the Artistic License. The GUI code Cluster 3.0 for Windows, Macintosh and Linux/Unix, as well as the corresponding command-line program, were released under the same license as the original Cluster code. The complete source code is available at http://bonsai.ims.u-tokyo.ac.jp/mdehoon/software/cluster. Alternatively, Algorithm::Cluster can be downloaded from CPAN, while Pycluster is also available as part of the Biopython distribution.
[1]
J. Mesirov,et al.
Interpreting patterns of gene expression with self-organizing maps: methods and application to hematopoietic differentiation.
,
1999,
Proceedings of the National Academy of Sciences of the United States of America.
[2]
Teuvo Kohonen,et al.
The self-organizing map
,
1990
.
[3]
Teuvo Kohonen,et al.
Self-Organizing Maps
,
2010
.
[4]
William H. Press,et al.
The Art of Scientific Computing Second Edition
,
1998
.
[5]
J. Mesirov,et al.
Molecular classification of cancer: class discovery and class prediction by gene expression monitoring.
,
1999,
Science.
[6]
G. Church,et al.
Systematic determination of genetic network architecture
,
1999,
Nature Genetics.
[7]
D. Botstein,et al.
Cluster analysis and display of genome-wide expression patterns.
,
1998,
Proceedings of the National Academy of Sciences of the United States of America.
[8]
William H. Press,et al.
Numerical recipes in C. The art of scientific computing
,
1987
.
[9]
Konrad Hinsen,et al.
Numerical Python
,
1996
.