normalizeBetweenArrays         package:limma         R Documentation

_N_o_r_m_a_l_i_z_e _B_e_t_w_e_e_n _A_r_r_a_y_s

_D_e_s_c_r_i_p_t_i_o_n:

     Normalizes expression intensities so that the intensities or
     log-ratios have similar distributions across a series of arrays.

_U_s_a_g_e:

     normalizeBetweenArrays(object, method, ties=FALSE)

_A_r_g_u_m_e_n_t_s:

  object: an 'matrix' or 'MAList' object containing expression ratios
          for a series of arrays

  method: character string specifying the normalization method to be
          used. Choices are '"none"', '"scale"', '"quantile"' or
          '"Aquantile"'. A partial string sufficient to uniquely
          identify the choice is permitted.

    ties: logical, if 'TRUE' then ties are treated in a careful way
          when 'method="quantile"' or 'method="Aquantile"'

_D_e_t_a_i_l_s:

     'normalizeWithinArrays' normalizes expression values to make
     intensities consistent within each array. 'normalizeBetweenArrays'
     normalizes expression values to achieve consistency between
     arrays.

     The scale normalization method was proposed by Yang et al (2001,
     2002) and is further explained by Smyth and Speed (2003). The idea
     is simply to scale the log-ratios to have the same
     median-abolute-deviation (MAD) across arrays. This idea has also
     been implemented by the 'maNormScale' function in the marrayNorm
     package. The implementation here is slightly different in that the
     MAD scale estimator is replaced with the median-absolute-value and
     the A-values are normalized as well as the M-values.

     Quantile normalization was proposed by Bolstad et al (2003) for
     Affymetrix-style single-channel arrays and by Yang and Thorne
     (2003) for two-color cDNA arrays. 'method="quantile"' ensures that
     the intensities have the same empirical distribution across arrays
     and across channels. 'method="Aquantile"' ensures that the
     A-values (average intensities) have the same empirical
     distribution across arrays leaving the M-values (log-ratios)
     unchanged. These two methods are called "q" and "Aq" respectively
     in Yang and Thorne (2003).

     If 'object' is a 'matrix' then the scale or quantile normlization
     will be applied to the columns. Applying 'method="Aquantile"' when
     'object' is a 'matrix' will produce an error.

_V_a_l_u_e:

     If 'object' is a matrix then 'normalizeBetweenArrays' produces a
     matrix of the same size. Otherwise, 'normalizeBetweenArrays'
     produces an 'MAList' object.

_A_u_t_h_o_r(_s):

     Gordon Smyth

_R_e_f_e_r_e_n_c_e_s:

     Bolstad, B. M., Irizarry R. A., Astrand, M., and Speed, T. P.
     (2003), A comparison of normalization methods for high density
     oligonucleotide array data based on bias and variance.
     _Bioinformatics_ *19*, 185-193.

     Smyth, G. K., and Speed, T. P. (2003). Normalization of cDNA
     microarray data. In: _METHODS: Selecting Candidate Genes from DNA
     Array Screens: Application to Neuroscience_, D. Carter (ed.). To
     appear.

     Yang, Y. H., Dudoit, S., Luu, P., and Speed, T. P. (2001).
     Normalization for cDNA microarray data. In _Microarrays: Optical
     Technologies and Informatics_, M. L. Bittner, Y. Chen, A. N.
     Dorsel, and E. R. Dougherty (eds), Proceedings of SPIE, Volume
     4266, pp. 141-152. 

     Yang, Y. H., Dudoit, S., Luu, P., Lin, D. M., Peng, V., Ngai, J.,
     and Speed, T. P. (2002). Normalization for cDNA microarray data: a
     robust composite method addressing single and multiple slide
     systematic variation. _Nucleic Acids Research_ *30*(4):e15.

     Yang, Y. H., and Thorne, N. P. (2003). Normalization for two-color
     cDNA microarray data. In: D. R. Goldstein (ed.), _Science and
     Statistics: A Festschrift for Terry Speed_, IMS Lecture Notes -
     Monograph Series, Volume 40, pp. 403-418.

_S_e_e _A_l_s_o:

     An overview of LIMMA functions for normalization is given in
     4.Normalization.

     See also 'maNormScale' in the marrayNorm package and 'normalize'
     in the affy package.

_E_x_a_m_p_l_e_s:

     library(sma)
     data(MouseArray)
     MA <- normalizeWithinArrays(mouse.data, mouse.setup)
     plot.scale.box(MA$M)

     #  Between array scale normalization as in Yang et al (2001):
     MA <- normalizeBetweenArrays(MA,method="scale")
     print(MA)
     show(MA)
     plot.scale.box(MA$M)

     #  One can get the same results using the matrix method:
     M <- normalizeBetweenArrays(MA$M,method="scale")
     plot.scale.box(M)

     #  MpAq normalization as in Yang and Thorne (2003):
     MpAq <- normalizeWithinArrays(mouse.data, mouse.setup)
     MpAq <- normalizeBetweenArrays(MpAq, method="Aq")
     plotDensities(MpAq)

