ProCAT was designed as a flexible tool to analyze functional protein microarray data. The program was scripted in Perl (version 5.6.1) on top of a Tomcat (version 5.0.30) web server [23] . Each module discussed above was implemented independently and can be included or excluded depending on various experimental designs. To input a dataset, the user has to characterize the data in three aspects: experimental designs, data file formats and normalization parameters. Experimental design contains parameters such as the number of test arrays and negative control arrays for one particular assay. Data file format describes the layout in the uploaded dataset so that ProCAT can recognize and extract the useful information from it. Normalization parameters allow users to try different stringency levels. These three levels supply sufficient information to uniquely characterize an experiment while still allowing ample flexibility for the individual user to customize parameters to suit many different types of experimental designs.