backgroundCorrect           package:limma           R Documentation

_C_o_r_r_e_c_t _I_n_t_e_n_s_i_t_i_e_s _f_o_r _B_a_c_k_g_r_o_u_n_d

_D_e_s_c_r_i_p_t_i_o_n:

     Background correct microarray expression intensities.

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

      RG: an 'RGList' object or a numeric matrix.

  method: character string specifying correction method.  Possible
          values are '"none"', '"subtract"', '"half"', '"minimum"',
          '"movingmin"', '"edwards"' or '"normexp"'. If 'RG' is a
          matrix, possible values are restricted to '"none"' or
          '"normexp"'.

  offset: numeric value to add to intensities

 printer: a list containing printer layout information, see
          'PrintLayout-class'. Ignored if 'RG' is a matrix.

normexp.method: character string specifying parameter estimation
          strategy used by normexp, ignored for other methods. Possible
          values are '"saddle"', '"mle"' or '"rma"'.

 verbose: logical. If 'TRUE', progress messages are sent to standard
          output

_D_e_t_a_i_l_s:

     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),
     '"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.

_V_a_l_u_e:

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

_A_u_t_h_o_r(_s):

     Gordon Smyth

_R_e_f_e_r_e_n_c_e_s:

     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. <URL:
     http://bioinformatics.oxfordjournals.org/cgi/content/abstract/btm412>

     Silver, J., Ritchie, M. E., and Smyth, G. K. (2009). Microarray
     background correction: maximum likelihood estimation for the
     normal-exponential convolution model. _Biostatistics_. <URL:
     http://biostatistics.oxfordjournals.org/cgi/content/abstract/kxn042>

_S_e_e _A_l_s_o:

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

_E_x_a_m_p_l_e_s:

     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)

