Bscore                package:cellHTS                R Documentation

_B _s_c_o_r_e _n_o_r_m_a_l_i_z_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     Correction of plate and spatial effects of the data 'xraw' of a
     'cellHTS' object using the B score method. Using this method, a
     two-way median polish is fitted in a per-plate basis to account
     for row and column effects. Optionally, the obtained residuals
     within each plate can be further divided by their median absolute
     deviations to standardize for plate-to-plate variability.
     Optionally, a transformation to _z_-scores can be performed.

_U_s_a_g_e:

     Bscore(x, what="xraw", adjustPlateMedian = TRUE, model.log = FALSE, scale = TRUE, save.model = FALSE)

_A_r_g_u_m_e_n_t_s:

       x: a 'cellHTS' object that has already been configured. See
          details.

    what: a character indicating the slot of 'x' to consider: '"xraw"'
          (default) or '"xnorm"'.

adjustPlateMedian: a logical value indicating whether the estimated
          average of each plate should also be substracted to the raw
          intensity values.

model.log: a logical value. If 'TRUE', the per-plate models will be
          applied after 'log2' transformation. However, the outputs of
          this function will be given in the original scale.

   scale: a logical value indicating if the per-plate model residuals
          should be further scaled by their variance. See details.

save.model: a logical value specifying whether the per-plate models
          should be saved, and given as output. See details.

_D_e_t_a_i_l_s:

     The normalization is performed in a per-plate fashion using the B
     score method.  This function can be called direclty, or
     indirectly, using 'normalizePlates' or  'normalizeChannels'.  In
     the B score method, the residual r_{ijp} of the measurement for
     row _i_ and column _j_ on the _p_-th plate is obtained by fitting
     a two-way median polish, in order to account for both row and
     column effects within the plate:


 r_{ijp} = y_{ijp} - yest_{ijp} = y_{ijp} - (mu_p + R_{ip} + C_{jp})


     y_{ijp} is the measurement value in row _i_ and column _j_ of
     plate _p_ (taken from 'x$xraw'), and  yest_{ijp} is the
     corresponding fitted value.  This is defined as the sum between
     the estimated average of the plate (mu_p), the estimated
     systematic offset for row _i_  (R_{ip}), and the systematic offset
     for column _j_ (C_{jp}).

     If 'scale=TRUE', for each plate _p_, each of the obtained residual
     values r_{ijp}'s are divided by the median absolute deviation of
     the residuals in plate _p_ (MAD_p), giving the B score value:


                     Bscore_{ijp} = r_{ijp}/MAD_p


     If 'adjustPlateMedian' is set to 'FALSE', the estimated overall
     plate average  (mu_p) is not removed from the intensity values
     y_{ijp}'s.

     If 'model.log=TRUE', the model is fitted on 'log2' scale, but the
     output results (normalized values, overall effect, residuals and
     rowcol.effects) are given in the original scale.

     If 'save.model=TRUE', the models residuals, row and column offsets
     and overall offsets are stored in the slots 'residuals',
     'rowcol.effects' and 'overall.effects' of the 'cellHTS' object
     'x'.

_V_a_l_u_e:

     An object of class 'cellHTS', which is a copy of the argument 'x',
     plus an additional slot 'xnorm' containing the normalized data.
     This is an array of the same dimensions as 'xraw'. Furthermore, if
     'save.model=TRUE', the slots 'residuals', 'rowcol.effects', and
     'overall.effects' (only if 'adjustPlateMedian' was also set to
     'TRUE') are added to 'x'. The latter slots are arrays with the
     same dimension as 'x$xraw', except the  'overall.effects',  which
     have dimensions '1 x nr Plates x nr Replicates x nr Channels'.

     Moreover, the processing status of the 'cellHTS' object is updated
     in the slot 'state' to 'x$state["normalized"]=TRUE'.

_A_u_t_h_o_r(_s):

     Ligia Braz ligia@ebi.ac.uk

_R_e_f_e_r_e_n_c_e_s:

     Brideau, C., Gunter, B., Pikounis, B. and Liaw, A. (2003) Improved
     statistical methods for hit selection in high-throughput
     screening, _J. Biomol. Screen_ *8*, 634-647.

     Malo, N., Hanley, J.A., Cerquozzi, S., Pelletier, J. and Nadon, R.
     (2006) Statistical practice in high-throughput screening data
     analysis, _Nature Biotechn_ *24*(2), 167-175.

_S_e_e _A_l_s_o:

     'medpolish', 'plotSpatialEffects', 'normalizePlates',
     'normalizeChannels'

_E_x_a_m_p_l_e_s:

         data(KcViabSmall)
         x <- KcViabSmall
         x <- Bscore(x, save.model = TRUE)
         ## identical result, but calling Bscore function from "normalizePlates"
         xopt <- normalizePlates(x, normalizationMethod="Bscore", BscoreArgs = list(save.model = TRUE))
         all(x$xnorm==xopt$xnorm, na.rm=TRUE)

