1. Home
  2. MACALCULATE procedure


Corrects and transforms two-colour microarray differential expressions (D.B. Baird).


PRINT = string token What to print (summary); default summ
BMETHOD = string token How to correct for spot foreground for background values (subtract, smooth, none); default subtracts REDBACKGROUND and GREENBACKGROUND if set
TRANSFORMATION = string token Type of transformation to apply to the red/green ratios (log, glog); default log
MINIMUM = scalar Minimum value per channel; if RSDBACKGROUND and GSDBACKGROUND are supplied, this is the multiplier of these per spot, default 0
PERSPOTMINIMUM = string token Use a single minimum value per spot rather than per slide (yes, no); default no
CONSTANTVALUE = scalar Constant to add to red and green foreground values; default 0
DF = scalar Degrees of freedom to use for loess smoothing of background; default 20


RFOREGROUND = variates or pointers Red foreground values per spot
GFOREGROUND = variates or pointers Green foreground values per spot
RBACKGROUND = variates or pointers Red background values per spot
GBACKGROUND = variates or pointers Green background values per spot
RSDBACKGROUND = variates or pointers Standard deviation of red background
GSDBACKGROUND = variates or pointers Standard deviation of green background
SLIDES = factors or texts Defines the slide to which each spot belongs for smoothing, or per slide minima
ROWS = factors Defines the row position of each spot for background smoothing
COLUMNS = factors Defines the column position of each spot for background smoothing
LOGRATIOS = variates or pointers Saves the differential expression per spot
INTENSITIES = variates or pointers Saves the intensity of each spot
RCORRECTED = variates or pointers Saves the corrected red values per spot
GCORRECTED = variates or pointers Saves the corrected green values per spot


MACALCULATE calculates log-ratios from a two channel microarray. There are options for background correction and to set the channels to a minimum value to avoid large variation when the values in either channels get close to zero. The ratios are logged as the variation usually increases with the size of the mean. However, although the variation may be more uniform with the logged ratios, it may still show considerable heterogeneity with different levels of intensity.

The RFOREGROUND and GFOREGROUND parameters supply the values of the red/Cy5 and green/Cy3 foreground for each spot. (Cy5 and Cy3 are the technical names for the red and green fluorescent dyes.) These may be single variates. The SLIDES parameter then supplies a factor indicating the slide from which each spot was read. Alternatively, they may be pointers, containing a variate for each slide. The SLIDES parameter can then be omitted, or it can supply a text giving a label for each slide. The RBACKGROUND, GBACKGROUND, RSDBACKGROUND and GSDBACKGROUND parameters must be in the same format as the RFOREGROUND parameter.

The BMETHOD option controls the method to use for background correction, with settings:

    none no corrections;
    subtract subtract the red and green backgrounds, which must then be supplied by the RBACKGROUND and GBACKGROUND parameters;
    smooth perform a two-dimensional loess smoothing of the background values, and uses these for the correction: the ROWS and COLUMNS parameters must then supply factors to define the row and column positions of each spot.

If BMETHOD is unset, the red and green backgrounds are subtracted if available. The DF option specifies the number of degrees of freedom for the smoothing; if this is unset, the default is to use the square root of the number of spots observer per slide. Note that smoothing can be time consuming for large slides.

Log-ratios are undefined where spots may have foreground levels that are below their background levels, as you cannot take the log of a negative number. If this happens for both red and green, then there is no valid information on the level of differential expression and the log-ratio must be set to a missing value. However, there may be some useful information when one channel is above background and the other below and, if these log-ratios too are set to missing values, probes with a high level of differential expression may be missed. Some image analysis packages set a very large constant log-ratio for this, but this can bias the results as no differentiation is made between cases where the other colour is just above background, and other where the other colour is significantly above background.

You can set the MINIMUM option to a positive value to apply minimum values to the colours (for the default value of zero, no minimum values are applied). In the simplest situation, any red or green value less than MINIMUM is set to MINIMUM. For the alternatives, you need to supply variates giving the standard deviations of the red and green backgrounds around each spot, using the RSDBACKGROUND and GSDBACKGROUND parameters. Then, if option PERSPOTMINIMUM=yes, the background standard deviation for each colour is multiplied by MINIMUM, so that the minimum value depends on the quality of the background around each spot. With the default, PERSPOTMINIMUM=no, MINIMUM is multiplied by the background standard deviation for each colour, averaged within each slide.

The CONSTANTVALUE option can be used to reduce variability at the low end of the intensity range, as often the ratios become unstable as the foreground gets close to the background level. Adding a constant to both red and green will stabilize the log-ratios at low intensities, but with a potential loss of sensitivity for detecting differential expression. CONSTANTVALUE would normally be a positive value, although a negative value could be used if it were thought that the image analysis package was underestimating the background values. By default CONSTANTVALUE=0.

The LOGRATIOS parameter can save the calculated log-ratio or generalized log-ratio transformation (as requested by the TRANSFORMATION option) of the red and green values for each spot. The INTENSITIES parameter can save the intensity of each spot:

Intensity = (Log(Red) + Log(Green)) / (2 × Log(2))

The RCORRECTED and GCORRECTED parameters save the corrected red and green values (i.e. after the application of any background corrections, minimum values and constants) for each spot. If they have already been defined, the data structures supplied by LOGRATIOS, INTENSITIES, RCORRECTED and GCORRECTED must have the same type as that specified by the RFOREGROUND parameter (i.e. variates if RFOREGROUND is a variate, and pointers if RFOREGROUND is a pointer).



See also


Commands for: Microarray data.


CAPTION       'MACALCULATE example'; STYLE=meta
IF check
  SPLOAD      '%GENDIR%/Data/Microarrays/Data13-6-9.gwb'
  CAPTION     'MACALCULATE: no background correction'; STYLE=minor
              RFOREGROUND=F1_Mean; GFOREGROUND=F2_Mean; SLIDES=Slide;\ 
              LOGRATIO=logRatio; INTENSITIES=Intensity
  CAPTION     'MACALCULATE with background correction'; STYLE=minor
  MACALCULATE [PRINT=summary; TRANSFORM=log; BMETHOD=subtract;\ 
              MINIMUM=0.5; PERSPOTMIN=No]\ 
              RFOREGROUND=F1_Mean; GFOREGROUND=F2_Mean; SLIDES=Slide;\ 
              RBACKGROUND=B1_Median; GBACKGROUND=B2_Median;\
              LOGRATIO=logRatio; INTENSITIES=Intensity;\
  CAPTION     'Microarray example datasets have not been installed.'
Updated on March 7, 2019

Was this article helpful?