Parallelized partial loess normalization with permutation

Share:

Description

Parallelized partial cyclic loess normalization of arrays with permutation.

Usage

1
2
3
4
5
6
7
8
normalizeAffyBatchLoessIterPara(object,
		percentPerm = 0.75,
		phenoData = new("AnnotatedDataFrame"), cdfname = NULL,
		type=c("separate","pmonly","mmonly","together"), 
		subset = NULL,
		epsilon = 10^-2, maxit = 1, log.it = TRUE, 
		span = 2/3, family.loess ="symmetric",
		cluster, verbose = getOption("verbose")) 

Arguments

object

An object of class AffyBatch OR a character vector with the names of CEL files OR a (partitioned) list of character vectors with CEL file names.

percentPerm

Percent of permutations to do.

phenoData

An AnnotatedDataFrame object.

cdfname

Used to specify the name of an alternative cdf package. If set to NULL, the usual cdf package based on Affymetrix' mappings will be used.

type

A string specifying how the normalization should be applied.

subset

a subset of the data to fit a loess to.

epsilon

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

maxit

maximum number of iterations.

log.it

logical. If TRUE it takes the log2 of mat

span

parameter to be passed the function loess

family.loess

parameter to be passed the function loess. "gaussian" or "symmetric" are acceptable values for this parameter.

cluster

A cluster object obtained from the function makeCluster in the SNOW package. For default .affyParaInternalEnv$cl will be used.

verbose

A logical value. If TRUE it writes out some messages. default: getOption("verbose")

Details

Parallelized partial cyclic loess normalization of arrays with permutation. This is a new kind of normalization based on cyclic loess normalization.

In the partial cyclic loess normalization the loess normalization will be done only at the slaves with the arrays at the slaves. Therefore we only have to do loess normalization for some pairs and have a big saving of time. But this is no enough for good normalization. We have to do some iterations of array permutation between the slaves and again loess normalization at the slaves. If we did about 75 percent of the complete cyclic loess normalization we can achieve same results and save computation time.

For the similar serial function and more details to loess normalization see the function normalize.AffyBatch.loess.

For using this function a computer cluster using the SNOW package has to be started. Starting the cluster with the command makeCluster generates an cluster object in the affyPara environment (.affyParaInternalEnv) and no cluster object in the global environment. The cluster object in the affyPara environment will be used as default cluster object, therefore no more cluster object handling is required. The makeXXXcluster functions from the package SNOW can be used to create an cluster object in the global environment and to use it for the preprocessing functions.

In the loess normalization the arrays will compared by pairs. Therefore at every node minimum two arrays have to be!

Value

An AffyBatch of normalized objects.

Author(s)

Markus Schmidberger schmidb@ibe.med.uni-muenchen.de, Ulrich Mansmann mansmann@ibe.med.uni-muenchen.de

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## Not run: 
library(affyPara)
if (require(affydata)) {
  data(Dilution)

  makeCluster(3)

  AffyBatch <- normalizeAffyBatchLoessIterPara(percentPerm=0.75, Dilution, verbose=TRUE)

  stopCluster()
}

## End(Not run)