Last data update: 2014.03.03

R: B score normalization
BscoreR Documentation

B score normalization

Description

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.

Usage

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

Arguments

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 subtracted to the raw intensity values.

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.

Details

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 summarizeChannels. 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 save.model=TRUE, the models residuals (r_{ijp}'s), row and column offsets and overall offsets are stored in the slots residuals, rowcol.effects and overall.effects of the cellHTS object x.

Value

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.

Author(s)

Ligia Braz ligia@ebi.ac.uk

References

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.

See Also

medpolish, plotSpatialEffects, normalizePlates, summarizeChannels

Examples

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

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(cellHTS)
Loading required package: grid
Warning message:
Package 'cellHTS' is deprecated and will be removed from Bioconductor
  version 3.4. Please consider using 'cellHTS2' which offers better
  functionality for working with multiple screens and with
  multi-channel screens. 
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/cellHTS/Bscore.Rd_%03d_medium.png", width=480, height=480)
> ### Name: Bscore
> ### Title: B score normalization
> ### Aliases: Bscore
> ### Keywords: manip
> 
> ### ** Examples
> 
>     data(KcViabSmall)
>     x <- KcViabSmall
>     x <- Bscore(x, save.model = TRUE)
>     ## identical result, but calling Bscore function from "normalizePlates"
>     xopt <- normalizePlates(x, normalizationMethod="Bscore", save.model = TRUE)
>     all(x$xnorm==xopt$xnorm, na.rm=TRUE)
[1] TRUE
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>