vsnh                   package:vsn                   R Documentation

_A _f_u_n_c_t_i_o_n _t_h_a_t _t_r_a_n_s_f_o_r_m_s _a _m_a_t_r_i_x _o_f _m_i_c_r_o_a_r_r_a_y _i_n_t_e_n_s_i_t_i_e_s.

_D_e_s_c_r_i_p_t_i_o_n:

     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'.

_U_s_a_g_e:

     vsnh(y, p, strata)

_A_r_g_u_m_e_n_t_s:

       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' is
          specified, it must be a 3d array, dim(p)[1] must be greater
          than or equal to the maximum of 'strata', dim(p)[2] must be
          ncol(y), and dim(p)[3] must be 2. If 'strata' is missing,
          then the first dimension may be omitted. NA values are not
          allowed. See Details.

  strata: Integer vector of length nrow(y). See  'vsn' for details.

_D_e_t_a_i_l_s:

     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.

_V_a_l_u_e:

     A numeric matrix of the same size as y, with the transformed data.

_A_u_t_h_o_r(_s):

     Wolfgang Huber <URL: http://www.ebi.ac.uk/huber>

_R_e_f_e_r_e_n_c_e_s:

     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.

_S_e_e _A_l_s_o:

     'vsn'

_E_x_a_m_p_l_e_s:

     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)

