Cluster Genetic Expression Data

GENE_CLUSTER is a FORTRAN90 program which divides a set of genetic data into clusters.

The data comes from genetic expression experiments.

Each cluster will be defined in terms of a representative data vector, and the clustering minimizes the sum of the squares of the "distances" of each data point to its cluster representative. Here, the "distance" may be either the Euclidean distance or a similarity measure based on angles.

The data to be examined is assumed to be stored in a file.

The file is assumed to contain a number of records, with each record stored on its own line.

Each record, in turn, contains a fixed number of data values that describe a particular gene expression experiment.

Each record will be regarded as a point in N dimensional space.

The program will try to cluster the data, that is, to organize the data by defining a number of cluster centers, which are also points in N dimensional space, and assigning each record to the cluster associated with a particular center.

The method of assigning data aims to minimize the cluster energy, which is taken to be the sum of the squares of the distances of each data point from its cluster center.

In some contexts, it makes sense to use the usual Euclidean sort of distance. In others, it may make more sense to replace each data record by a normalized version, and to assign distance by computing angles between the unit vectors.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


GENE_CLUSTER is available in a FORTRAN90 version.

Related Data and Programs:

ASA136, a FORTRAN90 library which is an implementation of the K-Means algorithm.

CITIES, a FORTRAN90 library which defines various problems associated with a set of "cities" on a map.

KMEANS, a FORTRAN90 library which contains several implementations of the K-Means algorithm.

LAU_NP, a FORTRAN90 library which contains heuristic algorithms for the K-center and K-median problems.

SPAETH, a FORTRAN90 library which can cluster data according to various principles.

SPAETH2, a FORTRAN90 library which can cluster data according to various principles.

Source Code:

Examples and Tests:

Genetic expression data files include:

For data set 1039, there are the following files:

For data set 1650, there are the following files:

List of Routines:

You can go up one level to the FORTRAN90 source codes.

Last revised on 12 November 2006.