Micro Array experiment data transformation
Description
This is the function to transform the Micro Array experiment data based on the given method.
Usage
1 2 3 4 
Arguments
_data 
An object of class 
method 
The smoothing method. 
lolim 
Low shift limit. If this argument is missing, the negative of the minimum element in the pmt data is used. 
uplim 
High shift limit. If this argument is missing, the minimum element in the pmt data is used. lolim and uplim are applicable only if the method is "shift" or "linlogshift". 
f 
The smoother span. This gives the proportion of points in the
plot which influence the smooth at each value. Larger values give
more smoothness. It is equivalent to the "span" parameter in

iter 
The number of robustifying iterations which should be performed. Using smaller values of iter will make lowess run faster. 
degree 
The degree of the polynomials to be used in loess, up to 2. This is used when method is "glowess" or "rlowess". 
cg 
Percentage of genes to be transformed linearly for the green channel. 
cr 
Percentage of genes to be transformed linearly for the red channel. 
n.bin 
Number of bins for calculating the variance after linlogShift. 
draw 
Where to plot the transformation plots. "off" means no plot. "screen" means to display the plots on screen then x11() (in Unix/Windows) or macintosh() (in Mac) will be called inside the function. "dev" means to output the plots to the current device. User can use this option to output the plot to a file. Default option is "screen". 
... 
Ignored at this point. 
Details
The smoothing methods include:
shift – the calculation of offset is based on the minimum sum of absolute deviations (SAD). Each array will have its own offset value. The data after shift cannot be smaller than 1.
glowess – Intensitybased lowess. This method is to smooth the scatter plot of Ratio (R/G) versus Intensity (R*G). The formula in the fitting is ratio ~ intensity.
rlowess – Joint lowess. This method is to smooth the scatter plot of Ratio versus Intensity and grid locations. It is the joint of intensitybased lowess and spatial loess. You have to have the grid location for every spot in order to use this method. The formula in fitting is ratio ~ intesity + row + col.
linlog – Linearlog transformation.
linlogshift – Linearlog shift transformation.
Previously, intensity lowess was called global lowess and joint lowess was called regional lowess. So I use "glowess" and "rlowess" in the method. Although the method names doesn't make too much sense, I will keep them for the reason of backward compatibility.
If you have replicated spots and want to collapse them in
read.madata
by providing avgreps=1 or 2, you will
lose grid information and joint lowess will be unavailable.
Note that this function is only working for twodye array.
Value
The return value is an object of class madata
. Compared with the input object, the following fields
are changed:
Field
data
is the transformed data.Field
TransformMethod
will be the transformation method applied.
Author(s)
Hao Wu
References
Kerr and Churchill(2001), Statistical design and the analysis of gene expression microarrays, Genetical Research, 77:123128.
Kerr, Martin and Churchill(2000), Analysis of variance for gene expression microarray data, Journal of Computational Biology, 7:819837.
Cui, Kerr and Churchill(2002), Data transformations for cDNA Microarray data, submitted, find manuscript in www.jax.org/research/churchill.
See Also
loess
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  # load in data
data(kidney)
# do regional loess on raw data
## Not run:
raw.lowess < transform.madata(kidney.raw, method="rlowess")
graphics.off()
#do shift without displaying the plot
data1.shift < transform.madata(kidney.raw, method="shift", lolim=50,
uplim=50,draw="off")
# do global lowess and output the plots to a postscript file
postscript(file="glowess.ps")
data1.glowess < transform.madata(kidney.raw, method="glowess", draw="dev")
graphics.off()
# do linearlog
data1.linlog < transform.madata(kidney.raw, method="linlog")
graphics.off()
# do linearlog shift
data1.linlogshift < transform.madata(kidney.raw, method="linlogshift",
lolim=50, uplim=50)
graphics.off()
## End(Not run)
