backgroundCorrect {limma} | R Documentation |
Background correct microarray expression intensities.
backgroundCorrect(RG, method="auto", offset=0, printer=RG$printer, normexp.method="saddle", verbose=TRUE) backgroundCorrect.matrix(E, Eb=NULL, method="auto", offset=0, printer=NULL, normexp.method="saddle", verbose=TRUE)
RG |
|
E |
numeric matrix containing foreground intensities. |
Eb |
numeric matrix containing background intensities. |
method |
character string specifying correction method. Possible values are |
offset |
numeric value to add to intensities |
printer |
a list containing printer layout information, see |
normexp.method |
character string specifying parameter estimation strategy used by normexp, ignored for other methods. Possible values are |
verbose |
logical. If |
This function implements the background correction methods reviewed or developed in Ritchie et al (2007) and Silver at al (2009).
Ritchie et al (2007) recommend method="normexp"
whenever RG
contains local background estimates.
Silver et al (2009) shows that either normexp.method="mle"
or normexp.method="saddle"
are excellent options for normexp.
If RG
contains morphological background estimates instead (available from SPOT or GenePix image analysis software), then method="subtract"
performs well.
If method="none"
then no correction is done, i.e., the background intensities are treated as zero.
If method="subtract"
then the background intensities are subtracted from the foreground intensities.
This is the traditional background correction method, but is not necessarily recommended.
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.
The normexp method is available in a number of variants depending on how the model parameters are estimated, and these are selected by normexp.method
.
Here "saddle"
gives the saddle-point approximation to maximum likelihood from Ritchie et al (2007) and improved by Silver et al (2009), "mle"
gives exact maximum likelihood from Silver at al (2009), "rma"
gives the background correction algorithm from the RMA-algorithm for Affymetrix microarray data as implemented in the affy package, and "rma75"
gives the RMA-75 method from McGee and Chen (2006).
In practice "mle"
performs well and is nearly as fast as "saddle"
, but "saddle"
is the default for backward compatibility.
See 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.
A matrix, EListRaw
or RGList
object in which foreground intensities have been background corrected and any components containing background intensities have been removed.
Gordon Smyth
Edwards, D. E. (2003). Non-linear normalization and background correction in one-channel cDNA microarray studies Bioinformatics 19, 825-833.
McGee, M., and Chen, Z. (2006). Parameter estimation for the exponential-normal convolution model for background correction of Affymetrix GeneChip data. Stat Appl Genet Mol Biol, Volume 5, Article 24.
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 23, 2700-2707. http://bioinformatics.oxfordjournals.org/content/23/20/2700
Silver, J., Ritchie, M. E., and Smyth, G. K. (2009). Microarray background correction: maximum likelihood estimation for the normal-exponential convolution model. Biostatistics 10, 352-363. http://biostatistics.oxfordjournals.org/content/10/2/352
An overview of background correction functions is given in 04.Background
.
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)