Microarray technology allows gene expression profiling at a global level by measuring mRNA abundance. ARMADA (Automated Robust MicroArray Data Analysis) is a MATLAB implemented program with a graphical user interface (GUI) which performs all steps of typical microarray data analysis; starting from importing raw data from several image analysis software outputs as well as text tab delimited files or already processed data that need to undergo statistical testing, ARMADA continues with processes including noise filtering, spot background correction, data normalization, statistical selection of differentially expressed genes based on parametric or non parametric statistics, cluster or classification analysis based on several widely used clustering methods (Hierarchical, k-means, Fuzzy C-means) or statistical learning algorithms for classification (Discriminant Analysis, k-Nearest Neighbors, Support Vector Machines) and annotation steps, resulting in detailed lists of differentially expressed genes and formed clusters. Along with the user friendly interface, ARMADA offers a variety of visualization options (MA plots, boxplots, array images, clustering heatmaps etc), a module which allows multiple analyses to be performed in batch mode under a specific analysis workflow and an annotation tool. The optimal number of clusters in any of the supported clustering algorithms can be estimated using the Gap statistic and Principal Component Analysis ability is also provided. Emphasis is given to the output data format which is fully customizable and contains a substantial amount of useful information such as detailed normalized and unnormalized expression values for each gene on each slide replicate along with several statistics concerning expression values for each experimental condition. The ARMADA output files can be easily imported in a spreadsheet like software such as MS Excel or in a database for further processing and storage and the analysis results can be saved as .mat files for further possible processing with MATLAB’s built-in algorithms.
Depending on the user’s programming experience and analysis preferences, ARMADA can be used to perform analyses step by step through the GUI of the system or as an automated analysis pipeline (by using the batch programming module). For the most experienced user, ARMADA can also be invoked directly from MATLAB’s command window, as the main routines that perform the analysis behind the GUI are designed to run also individually in command line mode with specific arguments (the user should see help inside .m files to perform command line analysis). ARMADA is a completely open source MATLAB based platform and the user may alter, adjust or extend each of the main functions or create new routines according to specific needs. It should be noted that ARMADA can be used in command line mode only if MATLAB is present on the computer where ARMADA is installed. Otherwise, the program is distributed as a stand alone application with MATLAB Component Runtime (MCR) and MATLAB is not required on the installation machine.