Bscore               package:cellHTS2               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 data stored in slot
     'assayData' of a 'cellHTS' object using the B score method
     (without variance adjustment of the residuals). Using this method,
     a two-way median polish is fitted in a per-plate basis to account
     for row and column effects. NOTE: the obtained residuals within
     each plate are _NOT_ further divided by their median absolute
     deviations to standardize for plate-to-plate variability.

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

     Bscore(object, save.model = FALSE)

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

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

save.model: a logical value specifying whether the per-plate models
          should be stored in slots 'rowcol.effects' and
          'overal.effects'. See details.

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

     For convenience, this function should be called indireclty from
     'normalizePlates' function. The normalization is performed in a
     per-plate fashion using the B score method, for each replicate and
     channel.  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 slot 'assayData' - only sample wells are
     considered), 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}).

     _NOTE:_

        *  In the original B score method, a further step is performed:
           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


        *  In 'Bscore' function, this step is not performed, but can be
           done if B score normalization is called using the function
           'normalizePlates'  with arguments 'method="Bscore"' and
           'varianceAdjust="byPlate"'. See the latter function for more
           details. 

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

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

     An object of class 'cellHTS' with B-score normalized data stored
     in slot 'assayData'. 

     Furthermore, if 'save.model=TRUE', the row and column effects and
     the overall effects are stored in slots 'rowcol.effects' and
     'overall.effects' , respectively.  The latter slots are arrays
     with the same dimension as 'Data(object)', except the 
     'overall.effects' slot, which has dimensions 'nr Plates x nr
     Samples x nr Channels'.

     After calling this function, the processing status of the
     'cellHTS' object is updated in the slot 'state' to
     'object@state["normalized"]=TRUE'.

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

     Ligia Bras 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. 

     Boutros, M., Br\'as, L.P. and Huber, W. (2006) Analysis of
     cell-based RNAi screens, _Genome Biology_ *7*, R66.

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

     'medpolish', 'loess', 'locfit.robust', 'plotSpatialEffects',
     'normalizePlates', 'summarizeChannels' 'plateEffects'

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

         data(KcViabSmall)
         x <- KcViabSmall
         xb <- Bscore(x, save.model = TRUE)
         ## Calling Bscore function from "normalizePlates" and adding the per-plate variance adjustment step:
         xopt <- normalizePlates(x, method="Bscore", varianceAdjust="byPlate", save.model = TRUE)
         all(xb@rowcol.effects==xopt@rowcol.effects, na.rm=TRUE)
         all(xb@overall.effects==xopt@overall.effects, na.rm=TRUE)
         ## Access the slots overall.effects and rowcol.effects
         ef1 = plateEffects(xb)
         ef2 = plateEffects(xopt)
         identical(ef1, ef2)

