# Parallelized partial loess normalization with permutation

### 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 |

`percentPerm` |
Percent of permutations to do. |

`phenoData` |
An AnnotatedDataFrame object. |

`cdfname` |
Used to specify the name of an alternative cdf package. If set to |

`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 |

`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 |

`verbose` |
A logical value. If |

### 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)
``` |