| MatArray Toolbox | Search  Help Desk |
| normnonlin | Examples See Also |
Syntax
Mnorm = normnonlin(M) Mnorm = normnonlin(M, options)
Description
normnonlin normalizes the data in order to remove
the dependence of the ratios upon the spot intensities.
M is a two columns data matrix, each column
corresponding to a colour and each line to a spot.
options can be used to modify the default behavior
of the script. options(1) can be used to modify
the alpha parameter in loess
(default: .5), and
options(2) the order (default: 1). If
options(3) is present, figures are displayed for
diagnosis. Any value of options below 0
is considered as missing.
Examples
Random intensities and ratios for each spotI=abs(randn(1000,1)); R=exp(randn(1000,1));but (horror!) there is a non-linear dependence on the values measured to the intensities
M=[I.*sqrt(R) (I+I.^2)./sqrt(R)];the matrix
M can be normalized based on the
average intensity
M=M./repmat(mean(M),[1000 1]);but the dependence of the ratios on the intensities remains. The values are then normalized non-linearly, using the default parameters values.
Mnorm=normnonlin(M,[-1 -1 1]);![]()
The first graphic shows the loess fit of the
data. The second graphic shows the original R/G values in black
and the normalized values in red.
The normalized ratios can be compared to the original ratios
mean( (R - M(:,1)./M(:,2)).^2 )
ans =
0.3453
mean( (R - Mnorm(:,1)./Mnorm(:,2)).^2 )
ans =
0.0032
The normalized ratios are much closer to the real ones.
Algorithm
A small value is added to the red and green channel (in order to make all of their values positive), then their logarithms are taken. The green vs red graph is then rotated to obtain an intensity (red+green) vs ratio (red-green) graph.A loess non-linear fit of the ratio to the intensity is made. The value of the ratio predicted from the fit is subtracted from the ratio measured, to obtain the corrected ratio. The values are then rotated back in the original space.
See Also
loess,
normgen