Visual Basic macro analysis (Gpr_analysis.bas) The ‘Gpr_analysis.bas’ macro module contains five subroutines, which should be implemented in the following order: 1. ‘formatgpr’: This subroutine can be used to retrieve the marker names and median signal intensity in each channel (with subtracted background) from the GenePix results (GPR) file and allows the data to be saved as a new XLS file. 2. ‘control’: This subroutine will automatically call up the 'twoarray' or 'multiwell' subroutine, depending on the slide type (standard aldehyde or 16-well MPX) inputted. Both the 'twoarray' and 'multiwell' subroutine conduct the same method of data analysis. The signal intensity ratio is calculated according to the dye configuration inputted by the user, screening out markers that show a total signal of less than 75 units or were flagged for exclusion during gridding. Markers that failed to show bimodal ratio distributions are labeled as "x" and are excluded from analysis, although the raw data is still included on the sheet. Signal intensity ratios are also calculated for the controls and a normalization factor is calculated from the average, excepting outliers with ratios < 0.3 or > 3.3. The marker ratios are then divided by the normalization factor. In the case where there are duplicate arrays for a single hybridization, the ratios from the two replicates are averaged together, and markers with high standard deviation (>0.6) are screened. The macro then exports the marker name and normalized ratio to a new sheet. 3. ‘datainput’: The subroutine automatically averages all marker replicates and the resulting data fields can be used as input for the Python script.