Last data update: 2014.03.03

R: Functions for single-colour microarray data normalization...
normalize.psplineR Documentation

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

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

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


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)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(TurboNorm)
Loading required package: convert
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

Loading required package: limma

Attaching package: 'limma'

The following object is masked from 'package:BiocGenerics':

    plotMA

Loading required package: marray
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/TurboNorm/normalize.pspline.Rd_%03d_medium.png", width=480, height=480)
> ### Name: normalize.pspline
> ### Title: Functions for single-colour microarray data normalization using
> ###   the P-splines
> ### Aliases: normalize.pspline normalize.AffyBatch.pspline
> ### Keywords: smooth
> 
> ### ** Examples
> 
> 
> library(affydata)
Loading required package: affy
     Package    LibPath                            Item      
[1,] "affydata" "/home/ddbj/local/lib64/R/library" "Dilution"
     Title                        
[1,] "AffyBatch instance Dilution"
> data(Dilution)
> PM <- log2(pm(Dilution[,c(1,3)]))

Warning messages:
1: replacing previous import 'AnnotationDbi::tail' by 'utils::tail' when loading 'hgu95av2cdf' 
2: replacing previous import 'AnnotationDbi::head' by 'utils::head' when loading 'hgu95av2cdf' 
> M <- PM[,1]-PM[,2]
> A <- 0.5*(PM[,1]+PM[,2])
> 
> nPM <- log2(normalize.pspline(pm(Dilution[,c(1,3)])))
Done with 1 vs 2  in iteration  1 
1 0.02815548 
> 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")
Done with 1 vs 2  in iteration  1 
Done with 1 vs 3  in iteration  1 
Done with 1 vs 4  in iteration  1 
Done with 2 vs 3  in iteration  1 
Done with 2 vs 4  in iteration  1 
Done with 3 vs 4  in iteration  1 
1 0.2736182 
> 
> weights <- rep(1, nrow(exprs(Dilution)))
> normw <- normalize.AffyBatch.pspline(Dilution, type="pmonly", weights=weights)
Done with 1 vs 2  in iteration  1 
Done with 1 vs 3  in iteration  1 
Done with 1 vs 4  in iteration  1 
Done with 2 vs 3  in iteration  1 
Done with 2 vs 4  in iteration  1 
Done with 3 vs 4  in iteration  1 
1 0.2736182 
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>