microarray technology for profiling genes according to their expression levels has became a popular tool in modern biological research .
it finds applications in a wide range of tasks , such as tissue classification , detection of metabolic networks and drug discovery .
the amount of available data is increasing by the day and microarray data analysis has become a fundamental task , in order to extract knowledge from the data in an effective and timely manner . from this point of view , clustering plays an important role in the unsupervised analysis of microarray data , and many efforts have been exerted by researchers in the design of accurate ad hoc clustering algorithms . due to the heterogeneity of microarray data
, none of the currently available clustering algorithms has shown consistently better accuracy than the others ; thus , biologists may have to try many different clustering softwares and compare outcomes in order to establish which algorithm is the best candidate for their specific task .
this exploratory activity can be a burden , unless an integrated tool is adopted that : ( i ) allows running several methods simultaneously with a variety of parameters ; ( ii ) offers a uniform visual interface for inspecting the raw data and the clustered results and ( iii ) gives the possibility of downloading the results for further offline analysis and investigations . inspecting the available free web tools for microarray gene - expression data analysis
, we found out that there are : 
 comprehensive systems that offer a full suite of tools from storing raw data , filtering and preprocessing , data clustering and classification , to linking with annotation ontologies ( e.g. gene ontology ) ( 1 ) , some of them placing less emphasis on offering many clustering methods ( 26);systems devoted to microarray analysis for specific tasks [ metabolic network inference ( 7 ) , biclustering in ( 8) , interspecies analysis ( 9 ) , transcription factor - binding sites detection ( 10)];systems that , though devoted to the analysis of microarray data , do not offer true clustering analysis [ e.g. array pipe ( 11 ) , expressyourself ( 12 ) , race ( 13 ) ] . 
 
comprehensive systems that offer a full suite of tools from storing raw data , filtering and preprocessing , data clustering and classification , to linking with annotation ontologies ( e.g. gene ontology ) ( 1 ) , some of them placing less emphasis on offering many clustering methods ( 26 ) ; systems devoted to microarray analysis for specific tasks [ metabolic network inference ( 7 ) , biclustering in ( 8) , interspecies analysis ( 9 ) , transcription factor - binding sites detection ( 10 ) ] ; systems that , though devoted to the analysis of microarray data , do not offer true clustering analysis [ e.g. array pipe ( 11 ) , expressyourself ( 12 ) , race ( 13 ) ] .
a common characteristic of these tools is that they usually are quite rich in functionalities but also complex , requiring the user to climb a steep learning curve before they can be mastered
. they can be inadequate if the main interest is performing comparisons among several clustering results , with less emphasis on pre- or post - processing operation . for these reasons
, we developed amic@all microarray clustering @ once ( pronounced [ a : meeka : ] ) , a web application aiming at providing users with a common user - friendly interface to a wide range of microarray gene - expression data clustering algorithms .
amic@ is really simple and intuitive to use , and allows to : 
 load and cluster data from microarray gene - expression experiments ( in standard ascii tab or space delimited form);get a hint on the number of clusters for the given dataset;run several algorithms ( and different configurations of them ) on the same data set;visualize the raw data matrix and all the resulting clusterings online , by means of heatmaps;visualize the expression level of each heatmap cell;view , for each cluster in the resulting clustering , its homogeneity value ( 14 ) , and the average homogeneity of the whole clustering;download the outcome of the clustering activities as a standard clustered data files ( cdt ) , for further , offline investigation and , receive via email the clustering results by means of a clustering wizard , that allows to simultaneously execute all the algorithms on the given data set . 
 
load and cluster data from microarray gene - expression experiments ( in standard ascii tab or space delimited form ) ; get a hint on the number of clusters for the given dataset ; run several algorithms ( and different configurations of them ) on the same data set ; visualize the raw data matrix and all the resulting clusterings online , by means of heatmaps ; visualize the expression level of each heatmap cell ; view , for each cluster in the resulting clustering , its homogeneity value ( 14 ) , and the average homogeneity of the whole clustering ; download the outcome of the clustering activities as a standard clustered data files ( cdt ) , for further , offline investigation and , receive via email the clustering results by means of a clustering wizard , that allows to simultaneously execute all the algorithms on the given data set .
there are also several ( free of charge or for payment ) software suites that can be downloaded , installed and executed on the client end to perform microarray analysis . among the free of charge ones
, we may cite tm4 ( mev ) ( 15 ) , a downloadable application for microarray analysis that offers a wide range of options for data filtering , data normalization , clustering , classification and miscellaneous statistical analysis .
mev v4.1 has the capability of storing and loading micro - array data on the local host , as well as the partial results of the analysis , for later reuse and provides several visualization tools for data inspection .
the web server currently supports five clustering algorithms : k - means ( 16 ) , som ( self organizing maps ) ( 16 ) , hac ( hierarchical agglomerative clustering ) ( 16 ) , fpf - sb ( furthest - point - first stability - based ) ( 17 ) and k - boost ( 18 ) . while k - means , som and hac are standard algorithms , well - known and broadly used in bioinformatics , fpf - sb and k - boost are two novel algorithms for microarray data clustering proposed by our group .
fpf - sb and k - boost have an appreciable property : they automatically suggest to the user a reasonable number of clusters , computed with a variant of the stability - based technique proposed in ( 19 ) .
each of the supported algorithms can be run with six different distance metrics : euclidean distance , pearson correlation coefficient , city - block distance , cosine similarity , spearman 's ; rank correlation , and kendall 's ; similarity .
furthermore , each algorithm admits a certain number of customizable parameters that can be set , as specified in details in web application description section .
amic@ is based on the ajax technology ( asynchronous javascript and xml ) , providing the user with an interface resembling the one of a classical stand - alone application , but working inside a web browser .
the advantage of this technology is to overcome the inherent limitations of standard web pages , for example , by avoiding to reload the entire page for each server request .
furthermore , amic@ architecture allows multiple , parallel operations , making it possible , for instance , inspecting a clustering result , while another clustering algorithm is running .
all the algorithms have been implemented in python , using , for k - means , som and hac some of the pycluster ( http://bonsai.ims.u-tokyo.ac.jp/~mdehoon/software/cluster/software.htm ) and biopython libraries [ see the biopython project http://biopython.org ( 16 ) ] .
the first steps required to use amic@ are : file uploading ( i ) and data filtering ( ii ) ; then access is granted to the main clustering page ( iii ) . in amic@ 's upload page
( phase i ) , it is possible to upload an ascii file up to 10 mb in size containing microarray gene expression data ( space or tab delimited ) .
amic@ also accepts zipped data files ( the compression ratio for gene - expression data in this format is roughly about 2 , thus data sets up to 20 mb can be managed by amic@ ) . for the purpose of offering a quick demo ,
it is worth nothing that amic@ , differently from the majority of online available tools , does not require the user to specify a file format beforehand , or to declare the columns as header or data .
in fact , amic@ tries to interpret the uploaded file and automatically distinguish label columns , columns containing data and comment columns . if the upload phase is successful , amic@ returns a page asking for confirmation of the guess made ; in the same page , it is possible to do a rough form of feature selection , by filtering out some of the experiments ( phase ii ) . during data uploading ,
the system detects missing data , if any , and reports this fact to the user .
we implemented three standard methods , broadly used in practice : ( i ) set the missing values to zero , ( ii ) set the missing values to the row average value and ( iii ) k - nearest - neighbor [ http://helix-web.stanford.edu/pubs/impute/ ; ( 20 ) ] , both weighted and unweighted , with a user - selected value of k varying form 1 to 12 .
after the upload and filtering phases , amic@ is ready for clustering ( phase iii ) .
the main page is a tabbed page , where each tab corresponds to the parameter setting page of a clustering algorithm ( figure 1 ) .
the raw matrix data is visualized , and in the meanwhile amic@ automatically starts determining the number of clusters to suggest ( this is a feature of k - boost and fpf - sb algorithms ) for the given data set .
the suggested number of clusters ( k ) can be accepted or not for running the chosen algorithms . 

( 1 ) choose the metric ; ( 2 ) accept the number of clusters proposed or set another value ; ( 3 ) run the selected algorithm and visualize the computed clustering ; for each cluster and the whole clustering it is possible to : ( 3a ) view its heatmap representation , plus the number of probes it contains and its homogeneity value ; ( 3b ) zoom the image representing the heatmap , in and out ; ( 3c ) enable / disable the column reordering ; ( 3d ) visualize the expression level of each cell by passing the mouse over the cell ; ( 4 ) download the result as a file ; ( 5 ) visualize ( and zoom ) the raw matrix . cluster visualization .
( 1 ) choose the metric ; ( 2 ) accept the number of clusters proposed or set another value ; ( 3 ) run the selected algorithm and visualize the computed clustering ; for each cluster and the whole clustering it is possible to : ( 3a ) view its heatmap representation , plus the number of probes it contains and its homogeneity value ; ( 3b ) zoom the image representing the heatmap , in and out ; ( 3c ) enable / disable the column reordering ; ( 3d ) visualize the expression level of each cell by passing the mouse over the cell ; ( 4 ) download the result as a file ; ( 5 ) visualize ( and zoom ) the raw matrix . here ,
for each supported algorithm , we report a short description of its parameters : 
 k - boost does not require any compulsory parameter .
it is a heuristic for the k - center problem conjugated with a variant of the stability - based technique for determining the number of clusters for the given data set . nevertheless , the user has the possibility to provide a different number of clusters with respect to the one proposed by k-boost.fpf-sb does not require any ( compulsory ) parameter . as for k - boost , the user can accept the number of clusters proposed by the algorithm , or chose another value.k - means requires the number of clusters and the number of iterations .
the initial centroids are randomly selected among all the input points.som requires the size of the grid of the som and the number of epoques for learning .
input data are also used for training and each node is initialized to a small random value.hac can be run without a specific number of clusters ( thus obtaining the whole hierarchy ) or with a specified number of clusters ( thus obtaining a partition ) .
it is also possible to select the aggregation criterion to use among four standard linkage methods : single , complete , average , centroid . 
 
k - boost does not require any compulsory parameter . it is a heuristic for the k - center problem conjugated with a variant of the stability - based technique for determining the number of clusters for the given data set . nevertheless , the user has the possibility to provide a different number of clusters with respect to the one proposed by k - boost .
as for k - boost , the user can accept the number of clusters proposed by the algorithm , or chose another value .
som requires the size of the grid of the som and the number of epoques for learning .
input data are also used for training and each node is initialized to a small random value .
hac can be run without a specific number of clusters ( thus obtaining the whole hierarchy ) or with a specified number of clusters ( thus obtaining a partition ) .
it is also possible to select the aggregation criterion to use among four standard linkage methods : single , complete , average , centroid .
when the chosen clustering algorithm has finished to run , amic@ returns information about the whole clustering ( running time and average homogeneity ) , and about each cluster ( size and homogeneity ) , prompting an interface to visualize and download the result ( see visualization and download section for details ) .
the visualization of the results is by means of heatmaps , since they are considered as one of the most effective visualization formats ( 21 ) . when the clustering has been completed , it is possible to visualize , upon user request ( figure 1 , 3a ) , either the single clusters , or the whole clustering , as heatmaps . in the latter case ,
the clusters have been sorted in decreasing homogeneity order and each cluster is highlighted by assigning different colors to the header data . by default ,
the heatmap columns ( samples ) are reordered according to the dendogram obtained by clustering the columns with hac , thus pulling together samples with similar behavior across the genes , and the column dendogram is showed .
the user can also visualize the heatmap without sample reordering ( figure 1 , 3c ) .
it is possible to visualize the expression level of each cell ( figure 1 , 3d ) . in order to make the visualization of large data sets more comfortable
, it is also provided with a zooming function ( both for raw matrix and for clustering result ) ( figure 1 , 3b ) , and the clustering image is showed in a new window , on user request .  
the clustering results can be downloaded as a tab delimited data file , known as clustered data file ( cdt ) , useful for further offline investigation and analysis . in case of hac algorithm , if it has been executed without specifying the number of clusters , the resulting file will contain a representation of the gene dendogram .
amic@ also provides the clustering wizard , in which the parameters for all supported algorithms can be set simultaneously , and an email address provided .
this feature is very useful when clustering requires a long time to be performed because the data file is large or the chosen algorithm is slow , or when the user wants to get all the results at once .
here , for each supported algorithm , we report a short description of its parameters : 
 k - boost does not require any compulsory parameter . it is a heuristic for the k - center problem conjugated with a variant of the stability - based technique for determining the number of clusters for the given data set . nevertheless , the user has the possibility to provide a different number of clusters with respect to the one proposed by k-boost.fpf-sb does not require any ( compulsory ) parameter . as for k - boost , the user can accept the number of clusters proposed by the algorithm , or chose another value.k - means requires the number of clusters and the number of iterations .
the initial centroids are randomly selected among all the input points.som requires the size of the grid of the som and the number of epoques for learning .
input data are also used for training and each node is initialized to a small random value.hac can be run without a specific number of clusters ( thus obtaining the whole hierarchy ) or with a specified number of clusters ( thus obtaining a partition ) .
it is also possible to select the aggregation criterion to use among four standard linkage methods : single , complete , average , centroid . 
 
k - boost does not require any compulsory parameter . it is a heuristic for the k - center problem conjugated with a variant of the stability - based technique for determining the number of clusters for the given data set . nevertheless , the user has the possibility to provide a different number of clusters with respect to the one proposed by k - boost .
as for k - boost , the user can accept the number of clusters proposed by the algorithm , or chose another value .
som requires the size of the grid of the som and the number of epoques for learning .
input data are also used for training and each node is initialized to a small random value .
hac can be run without a specific number of clusters ( thus obtaining the whole hierarchy ) or with a specified number of clusters ( thus obtaining a partition ) .
it is also possible to select the aggregation criterion to use among four standard linkage methods : single , complete , average , centroid .
when the chosen clustering algorithm has finished to run , amic@ returns information about the whole clustering ( running time and average homogeneity ) , and about each cluster ( size and homogeneity ) , prompting an interface to visualize and download the result ( see visualization and download section for details ) .
the visualization of the results is by means of heatmaps , since they are considered as one of the most effective visualization formats ( 21 ) . when the clustering has been completed , it is possible to visualize , upon user request ( figure 1 , 3a ) , either the single clusters , or the whole clustering , as heatmaps . in the latter case ,
the clusters have been sorted in decreasing homogeneity order and each cluster is highlighted by assigning different colors to the header data . by default ,
the heatmap columns ( samples ) are reordered according to the dendogram obtained by clustering the columns with hac , thus pulling together samples with similar behavior across the genes , and the column dendogram is showed .
the user can also visualize the heatmap without sample reordering ( figure 1 , 3c ) .
it is possible to visualize the expression level of each cell ( figure 1 , 3d ) . in order to make the visualization of large data sets more comfortable
, it is also provided with a zooming function ( both for raw matrix and for clustering result ) ( figure 1 , 3b ) , and the clustering image is showed in a new window , on user request .  
the clustering results can be downloaded as a tab delimited data file , known as clustered data file ( cdt ) , useful for further offline investigation and analysis . in case of hac algorithm , if it has been executed without specifying the number of clusters , the resulting file will contain a representation of the gene dendogram .
amic@ also provides the clustering wizard , in which the parameters for all supported algorithms can be set simultaneously , and an email address provided .
this feature is very useful when clustering requires a long time to be performed because the data file is large or the chosen algorithm is slow , or when the user wants to get all the results at once .
the amic@ web service provides a simple and uniform interface to several ( currently five ) clustering algorithms for gene - expression data from microarray experiments .
it is a highly interactive tool , supporting automatic file format detection , intuitive visual inspection , hints on setting critical clustering parameters and output quality measurements .
large data sets can be processed efficiently by selecting algorithms ( such as fpf - sb and k - boost ) , specifically designed for this purpose .
furthermore , amic@ gives the possibility to run a clustering wizard to obtain via email all the clusterings at once .
we plan to expand in time amic@ , with new clustering algorithms , new visualization features , and new formats for data uploading .
 the amic@ web server offers a light - weight multi - method clustering engine for microarray gene - expression data . 
 amic@ is a highly interactive tool that stresses user - friendliness and robustness by adopting ajax technology , thus allowing an effective interleaved execution of different clustering algorithms and inspection of results . among the salient features amic@ offers 
 , there are : ( i ) automatic file format detection , ( ii ) suggestions on the number of clusters using a variant of the stability - based method of tibshirani et al . 
 ( iii ) intuitive visual inspection of the data via heatmaps and ( iv ) measurements of the clustering quality using cluster homogeneity . 
 large data sets can be processed efficiently by selecting algorithms ( such as fpf - sb and k - boost ) , specifically designed for this purpose . in case of very large data sets 
 , the user can opt for a batch - mode use of the system by means of the clustering wizard that runs all algorithms at once and delivers the results via email . 
 amic@ is freely available and open to all users with no login requirement at the following url http://bioalgo.iit.cnr.it/amica . 
INTRODUCTION
METHODS
WEB APPLICATION DESCRIPTION
Clustering algorithms
Visualization and download
Clustering wizard
CONCLUSIONS