Bscore: B score normalization

Description Usage Arguments Details Value Author(s) References See Also Examples

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

1
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

1
2
3
4
5
6
    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)

cellHTS documentation built on Oct. 5, 2016, 4:40 a.m.

Related to Bscore in cellHTS...