vsnh {vsn} | R Documentation |
A function that transforms a matrix of microarray
intensities.
This function works in conjunction with vsn
.
vsn
and vsnh
have been superseded by vsn2
and
the predict
method for vsn
objects.
The functions vsn
and vsnh
remain in the package for backward compatibility,
but for new projects, please use vsn2
and predict
.
vsnh(y, p, strata)
y |
A numeric matrix containing intensity values from an array experiment. It may contain NA values. |
p |
An array with the transformation parameters. If |
strata |
Integer vector of length nrow(y). See
|
The transformation is:
vsnh(y, p, s)[k, i] = asinh( p[s[k], i, 1] + p[s[k], i, 2] * y[k, i] ) - log(2*p[s[1], 1, 2])
where k=1:nrow(y) counts over the probes, i=1:ncol(y) counts over the samples, p[s[k], i, 1] is the calibration offset for stratum s[k] in sample i, p[s[k], i, 2] is the calibration factor for stratum s[k] in sample i, and s[k] is the stratum of the the k-th probe.
The constant offset - log(2*p[s[1], 1, 2]) is there to make sure that for large y, vsnh(y) for the first stratum on the first chip is approximately the same as log(y). This has no effect on the generalized log-ratios (glog-ratios), which are differences between transformed intensities, but some users are more comfortable with the absolute values that are obtained this way, since they are more comparable to the log scale.
A numeric matrix of the same size as y, with the transformed data.
Wolfgang Huber
Variance stabilization applied to microarray data calibration and to the quantification of differential expression, Wolfgang Huber, Anja von Heydebreck, Holger Sueltmann, Annemarie Poustka, Martin Vingron; Bioinformatics (2002) 18 Suppl.1 S96-S104.
Parameter estimation for the calibration and variance stabilization of microarray data, Wolfgang Huber, Anja von Heydebreck, Holger Sueltmann, Annemarie Poustka, and Martin Vingron; Statistical Applications in Genetics and Molecular Biology (2003) Vol. 2 No. 1, Article 3. http://www.bepress.com/sagmb/vol2/iss1/art3.
data(kidney) y = exprs(kidney) p = array(c(-0.2, -0.1, 0.1, 0.2, 0.0026, 0.0028, 0.0030, 0.0032), dim=c(2,2,2)) strata = sample(1:2, nrow(y), replace=TRUE) res1 = vsnh(exprs(kidney), p, strata) res2 = asinh(p[strata,,1] + p[strata,,2] * y) - log(2*p[strata,1,2]) stopifnot(max(abs(res1 - res2)) < 1e-10)