backgroundCorrect {limma} | R Documentation

## Correct Intensities for Background

### Description

Background correct microarray expression intensities.

### Usage

    backgroundCorrect(RG, method="subtract", offset=0, printer=RG$printer, verbose=TRUE)

### Arguments

`RG` | an `RGList` object, an unclassed list containing the same components as an `RGList`, or a numeric matrix.
`method` | character string specifying correction method. Possible values are `"none"`, `"subtract"`, `"half"`, `"minimum"`, `"movingmin"`, `"edwards"`, `"normexp"` or `"rma"`. If `RG` is a matrix, possible values are restricted to `"none"`, `"normexp"` or `"rma"`.
`offset` | numeric value to add to intensities
`printer` | a list containing printer layout information, see `PrintLayout-class`
`verbose` | logical, should progress be reported to standard output

### Details

If `method="none"` then the corrected intensities are equal to the foreground intensities, i.e., the background intensities are treated as zero. If `method="subtract"` then this function simply subtracts the background intensities from the foreground intensities which is the usual background correction method. If `method="movingmin"` then the background estimates are replaced with the minimums of the backgrounds of the spot and its eight neighbors, i.e., the background is replaced by a moving minimum of 3x3 grids of spots.

The remaining methods are all designed to produce positive corrected intensities. If `method="half"` then any intensity which is less than 0.5 after background subtraction is reset to be equal to 0.5. If `method="minimum"` then any intensity which is zero or negative after background subtraction is set equal to half the minimum of the positive corrected intensities for that array. If `method="edwards"` a log-linear interpolation method is used to adjust lower intensities as in Edwards (2003). If `method="normexp"` a convolution of normal and exponential distributions is fitted to the foreground intensities using the background intensities as a covariate, and the expected signal given the observed foreground becomes the corrected intensity. This results in a smooth monotonic transformation of the background subtracted intensities such that all the corrected intensities are positive. See Ritchie et al (2007) and `normexp.fit` for more details.

The `offset` can be used to add a constant to the intensities before log-transforming, so that the log-ratios are shrunk towards zero at the lower intensities. This may eliminate or reverse the usual 'fanning' of log-ratios at low intensities associated with local background subtraction.

Background correction (background subtraction) is also performed by the `normalizeWithinArrays` method for `RGList` objects, so it is not necessary to call `backgroundCorrect` directly unless one wants to use a method other than simple subtraction. Calling `backgroundCorrect` before `normalizeWithinArrays` will over-ride the default background correction.

### Value

An `RGList` object in which components `R` and `G` are background corrected and components `Rb` and `Gb` are removed.

### Author(s)

Gordon Smyth

### References

Edwards, D. E. (2003). Non-linear normalization and background correction in one-channel cDNA microarray studies Bioinformatics 19, 825-833.

Ritchie, M. E., Silver, J., Oshlack, A., Silver, J., Holmes, M., Diyagama, D., Holloway, A., and Smyth, G. K. (2007). A comparison of background correction methods for two-colour microarrays. Bioinformatics http://bioinformatics.oxfordjournals.org/cgi/content/abstract/btm412

Yang, Y. H., Buckley, M. J., Dudoit, S., and Speed, T. P. (2002). Comparison of methods for image analysis on cDNA microarray data. Journal of Computational and Graphical Statistics 11, 108-136.

Yang, Y. H., Buckley, M. J., and Speed, T. P. (2001). Analysis of microarray images. Briefings in Bioinformatics 2, 341-349.

### See Also

An overview of background correction functions is given in `04.Background`.

### Examples

    RG <- new("RGList", list(R=c(1,2,3,4),G=c(1,2,3,4),Rb=c(2,2,2,2),Gb=c(2,2,2,2)))
    backgroundCorrect(RG)
    backgroundCorrect(RG, method="half")
    backgroundCorrect(RG, method="minimum")
    backgroundCorrect(RG, offset=5)

[Package limma version 2.12.0 Index]