Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/perPlateScaling.R
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, on a per-plate
basis, to account for row and column effects.
1 |
object |
a |
save.model |
a logical value specifying whether the per-plate models should be stored in slots |
This function is usually not called directly by the user,
but from within the
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, as presented by Malo et al., 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), resulting in:
r_{ijp}/MAD_p
The intention of such a further adjustment is to compensate
for plate-to-plate variability in dynamic range.
In the Bscore
function, this step is not automatically
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
.
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
.
Ligia Bras
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.
medpolish
,
loess
,
locfit.robust
,
plotSpatialEffects
,
normalizePlates
,
summarizeChannels
plateEffects
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | data("KcViabSmall")
xb <- Bscore(KcViabSmall, save.model = TRUE)
## Calling Bscore function from "normalizePlates" and adding the per-plate variance adjustment step:
xopt <- normalizePlates(KcViabSmall, method="Bscore", varianceAdjust="byPlate", save.model = TRUE)
## Access the slots overall.effects and rowcol.effects
ef1 = plateEffects(xb)
ef2 = plateEffects(xopt)
## double-check
stopifnot(
all(xb@rowcol.effects==xopt@rowcol.effects, na.rm=TRUE),
all(xb@overall.effects==xopt@overall.effects, na.rm=TRUE),
identical(ef1, ef2)
)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.