Functions for single-colour microarray data normalization using the P-splines

Share:

Description

Modified version of normalize.loess and normalize.AffyBatch.pspline from the affy package uses the P-spline smoother in stead of the loess algorithm

Usage

1
2
3
4
normalize.pspline(mat, epsilon = 10^-2, maxit = 1, log.it = TRUE,
    verbose = TRUE, weights = rep(1, nrow(mat)), ...)
normalize.AffyBatch.pspline(abatch,
    type=c("together","pmonly","mmonly","separate"), ...)

Arguments

mat

a matrix with columns containing the values of the chips to normalize.

abatch

an AffyBatch object.

epsilon

a tolerance value (supposed to be a small value - used as a stopping criterion).

maxit

maximum number of iterations.

log.it

logical. If TRUE it takes the log2 of mat

verbose

logical. If TRUE displays current pair of chip being worked on.

weights

For weighted normalization. The default is NULL, so there are no weights used.

type

A string specifying how the normalization should be applied. See details for more.

...

Graphical parameters can be supplied.

Details

This function is a modified version of the function normalize.loess from the affy package. In stead of the loess algorithm the function uses the P-spline algorithm. The type argument should be one of "separate","pmonly","mmonly","together" which indicates whether to normalize only one probe type(PM,MM) or both together or separately.

Value

Normalized AffyBatch

Author(s)

Maarten van Iterson and Chantal van Leeuwen

References

Laurent Gautier, Leslie Cope, Benjamin M. Bolstad and Rafael A. Irizarry (2004). affy -analysis of Affymetrix GeneChip data at the probe level. Bioinformatics, Vol. 20, no. 3, 307-315.

van Iterson M, Duijkers FA, Meijerink JP, Admiraal P, van Ommen GJ, Boer JM, van Noesel MM, Menezes RX (2012). A novel and fast normalization method for high-density arrays. SAGMB, 11(4).

Paul .H.C. Eilers and Brain D. Marx (1996). Flexible smoothing with B-splines and Penalties. Statistical Science, Vol 11, No. 2, 89-121.

See Also

normalize.loess

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
library(affydata)
data(Dilution)
PM <- log2(pm(Dilution[,c(1,3)]))
M <- PM[,1]-PM[,2]
A <- 0.5*(PM[,1]+PM[,2])

nPM <- log2(normalize.pspline(pm(Dilution[,c(1,3)])))
nM <- nPM[,1]-nPM[,2]
nA <- 0.5*(nPM[,1]+nPM[,2])

par(mfcol=c(2,1))
plot(M~A)
plot(nM~nA)

norm <- normalize.AffyBatch.pspline(Dilution, type="pmonly")

weights <- rep(1, nrow(exprs(Dilution)))
normw <- normalize.AffyBatch.pspline(Dilution, type="pmonly", weights=weights)