stepWithinNorm {stepNorm} | R Documentation |
This function conducts cDNA microarray normalization in a stepwise fashion. In a two-color cDNA array setting, within-slide normalization calibrates signals from the two channels to remove non-biological variation introduced by various processing steps.
stepWithinNorm(marraySet, subset=TRUE, wf.loc, criterion = c("BIC", "AIC"), loss.fun = square)
marraySet |
Object of class marrayRaw or class
marrayNorm , containing intensity data for the batch of
arrays to be normalized. |
subset |
A "logical" or "numeric" vector indicating the subset of points used to compute the normalization values. |
wf.loc |
Object of class list , each component is a step for the removal of a
particular systematic varation. Typically each step is also a list
of several candidate models of different complexity, the best model
will be chosen by the criterion specified. For a user
friendly way of constructing such a list, consult the function
makeStepList .If missing, the
default procedure will be used, which we consider appropriate for
most slides. See details for how to specify the list and how it is used. |
criterion |
Character string specifying the criterion used for the selection of the
best normalization procedure in each step. This argument can be
specified using the first letter of each method; if no
specification is made, the default is BIC :
|
loss.fun |
loss function; default set at using residual sum of squares. |
Typical systematic non-biological variations of a two-color cDNA
microarray include the dependence of ratio measurements (M) on
intensity (A), print-tip IDs (PT), plate IDs (PL) and spatial
heterogeneity of the slide (SP). The stepwise normalization procedure
normalizes a slide in a stepwise fashion. In each step one kind of
variation is targeted for correction. Within each step, various
candidate models are assessed for their adequacy with respect to the
observed data. The assessment is made based on a common model
selection criterion, AIC (see calcAIC
) or BIC (see
calcBIC
), and the best model is then chosen for the specified
step.
The argument wf.loc
is a list of steps. Each step is also a
list of models. The user uses the function fitWithin
or
fit2DWithin
to specify a model. Below is a table of how
to do so:
systematic variation | model | function |
intenstiy (A) | median | fitWithin(fun="medfit") |
A | robust linear | fitWithin(fun="rlmfit") |
A | robust nonlinear | fitWithin(fun="loessfit") |
print-tip (PT) | median | fitWithin(z.fun="maPrintTip", fun="medfit") |
PT | robust linear | fitWithin(z.fun="maPrintTip", fun="rlmfit") |
PT | robust nonlinear | fitWithin(z.fun="maPrintTip",fun="loessfit") |
plate (PL) | median | fitWithin(z.fun="maCompPlate", fun="medfit") |
PL | robust linear | fitWithin(z.fun="maComplate", fun="rlmfit") |
PL | robust nonlinear | fitWithin(z.fun="maCompPlate", fun="loessfit") |
spatial (SP) | robust linear | fit2DWithin(fun="rlm2Dfit") |
SP | robust nonlinear(span=0.2) | fit2DWithin(fun="loess2Dfit", span=0.2) |
SP | anova | fit2DWithin(fun="aov2Dfit") |
SP | spatial median (11X11) | fit2DWithin(fun="spatialMedfit", width=11) |
If the wf.loc
is not specified by the user, the default
procedure conducts normalization in four steps: A -> PT -> PL -> SP
and models are as described in the table above. The user can choose
not to follow such a procedure by passing in a different list,
however we advocate normalizing the intensity (A) variation first as
it is usually the source of most variation in most slides. The list
can be easier specified using the function makeStepList
by
inputing models as character strings, see makeStepList
for details.
An object of class "list":
normdata |
an object of class marrayNorm , containing
the normalized intensity data. |
res |
a dataframe of the stepwise normalization result, containing the name of the model chosen for each step, deviance, equivalent number of parameters, AIC/BIC value. |
Yuanyuan Xiao, yxiao@itsa.ucsf.edu,
Jean Yee Hwa Yang, jean@biostat.ucsf.edu
Y. H. Yang, S. Dudoit, P. Luu, and T. P. Speed (2001). Normalization for cDNA microarray data. In M. L. Bittner, Y. Chen, A. N. Dorsel, and E. R. Dougherty (eds), Microarrays: Optical Technologies and Informatics, Vol. 4266 of Proceedings of SPIE.
D. L. Wilson, M. J. Buckley, C. A. Helliwell and I. W. Wilson (2003). New normalization methods for cDNA microarray data. Bioinformatics, Vol. 19, pp. 1325-1332.
seqWithinNorm
, withinNorm
,
fitWithin
, fit2DWithin
,
calcAIC
, calcBIC
.
# Examples use swirl dataset, for description type ? swirl data(swirl) # Apply stepwise normalization for the first slide res.swirl1 <- stepWithinNorm(swirl[,1]) # normalized data norm.swirl <- res.swirl1[[1]] # stepwise procedure step.swirl <- res.swirl1[[2]] # using a stepwise procedure different than the default # corrects intensity (A) and print-tip (PT), this can be # carried out in two ways: # 1) steps <- list( wholeChipA = list(med = fitWithin(fun="medfit"), rlm = fitWithin(fun="rlmfit"), loess = fitWithin(fun="loessfit")), printTipA = list(med = fitWithin(z.fun="maPrintTip", fun="medfit"), rlm = fitWithin(z.fun="maPrintTip", fun="rlmfit"), loess = fitWithin(z.fun="maPrintTip",fun="loessfit"))) #2) steps <- makeStepList(PL=NULL, Spatial2D=NULL) ## Not run: res.swirl <- stepWithinNorm(swirl[,1], wf.loc=steps) ## End(Not run) # using AIC criterion for the first slide ## Not run: res.swirl <- stepWithinNorm(swirl[,1], criterion="A") ## End(Not run)