This is ALMA´s propietary clustering algorithm for microarray analysis. The Self-Organising Tree Algorithm (SOTA), is a neural network that grows adopting the topology of a binary tree. The result of the algorithm is a hierarchical cluster obtained with the accuracy and robustness of a neural network. SOTA clustering confers several advantages over classical clustering methods (see article):

  • SOTA is a divisive method. The growing can be stopped at the desired hierarchical level.

  • A criterion to stop the growing of the tree, based on the approximate distribution of probability obtained by randomisation of the original data set, is provided.

  • Obtaining average gene expression patterns is a built-in feature of the algorithm.

  • Since SOTA runtimes are approximately linear with the number of items to be classified, it is especially suitable for dealing with huge amounts of data, making it possible to use the system on small computers.

  • SOTA can be applied to any data providing that they can be coded as a series of numbers and that a computable measure of similarity between data items can be used.

  • SOTA maps Gene Ontology data into the structure of clusters.

You can test the power of the SOTA algorithm on our web-based SOTA server at


JSOTA is an implementation of SOTA that includes a window interface written in Java and the SOTA core written in C++. This makes the program very easy to use (see snapshots) whilst ensuring that the computationally-intensive part runs very fast. It is available for a wide range of platforms. To know more about JSOTA, see the on-line manual

If you are interested in purchasing the full version of JSOTA, mail us at .

You can download a demo version of JSOTA after registering. This demo version of JSOTA is fully functional, but the only gene file that you are allowed to run with it is the yeast_cell_cycle.txt file included here.

In order to run JSOTA, you need to have the Java 2 Runtime Environment (JRE) installed on your system. JSOTA has been tested with version 1.3.0 and upper. You can download this software from or download a version of JSOTA with JRE included.

Now, you can download the full version of JSOTA for free if you are an academic user. Read the following academic user agreement and follow the intructions in it. You have to agree not to use JSOTA for any commercial purpose, and not to tranfer it to any other sites, outside your own research group. After registering, you will receive shortly, a password by e-mail so that you can download the full version of JSOTA from our servers.

Download JSOTA Demo:

If you are an academic user, click here to download the full version of JSOTA.

If you are a commercial user and want to test the demo version of JSOTA, please fill the next form. This version of JSOTA is fully functional, but the only gene file that you are allowed to run with it is the yeast_cell_cycle.txt file included here.

  • Choose operating system:     

  • Do you want to download the Java 2 Runtime Environment (JRE; ~15Mb) with JSOTA? (choose No if you already have jre 1.3.0 or upper installed on your system or if you have a very slow internet connection).

       Yes                 No

  • Instructions for installing:

    • Windows: Download and execute setupDemo.exe

    • Linux and solaris: Download, untar the distribution, and execute the installation script.

      > gunzip jsota-demo-1.0.1-*.tgz

      > tar -xvf jsota-demo-1.0.1-*.tar

      > cd jsota-demo-1.0.1-*

      > ./xinstall-demo

      > cd ..

      > rm -r jsota-demo-1.0.1-*

  • Minimum requirements:

    • Operating systems: JSOTA has been tested in windows 95/98, windows NT, windows Me, windows 2000, all major linux distributions and solaris 8 for sparc.

    • Java: JSOTA needs the JAVA 2 Runtime Environment v. 1.3.0 (jre 1.3.0) installed in order to run. Recommended version is jre 1.3.1_02

    • CPU and memory: JSOTA should run on PCs with ~600 MHz CPU and 128 Mb of RAM (256 Mb recommended).


    Changing SOTA parameters
    Defining your own classes
    Creating your own classes using gene-ontology database
    Clustering process execution
    Visualization parameters
    Gene clusters interactive visualization window
    Node expansion
    Looking for genes
    Cluster detailed view
    Detail of a profile cluster
    Detail and description of genes belonging to a defined class
    Clustering by conditions
    Running several clustering processes


    © 2002 ALMA Bioinformatics, SL. All rights reserved.