stepWithinNorm {stepNorm}R Documentation

Stepwise within-slide normalization function


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"), = 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:
the AIC criterion is used
the BIC criterion is used. 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("maPrintTip", fun="medfit")
PT robust linear fitWithin("maPrintTip", fun="rlmfit")
PT robust nonlinear fitWithin("maPrintTip",fun="loessfit")
plate (PL) median fitWithin("maCompPlate", fun="medfit")
PL robust linear fitWithin("maComplate", fun="rlmfit")
PL robust nonlinear fitWithin("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,,
Jean Yee Hwa Yang,


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.

See Also

seqWithinNorm, withinNorm, fitWithin, fit2DWithin, calcAIC, calcBIC.


# Examples use swirl dataset, for description type ? 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("maPrintTip", fun="medfit"),
                             rlm = fitWithin("maPrintTip", fun="rlmfit"),
                             loess = fitWithin("maPrintTip",fun="loessfit")))
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)

[Package stepNorm version 1.0.2 Index]