zScores               package:GeneMeta               R Documentation

_T_o_o_l_s _f_o_r _M_e_t_a-_a_n_a_l_y_s_i_s _o_f _g_e_n_e _e_x_p_r_e_s_s_i_o_n _d_a_t_a.

_D_e_s_c_r_i_p_t_i_o_n:

     A small number of meta-analysis functions for computing zScores
     for FEM and REM and computing FDR.

_U_s_a_g_e:

     zScores(esets, classes, useREM=TRUE, CombineExp=1:length(esets))
     zScorePermuted(esets, classes, useREM=TRUE, CombineExp=1:length(esets))
     zScoreFDR(esets, classes, useREM=TRUE, nperm=1000, CombineExp=1:length(esets))
     multExpFDR(theScores, thePermScores, type="pos")

_A_r_g_u_m_e_n_t_s:

   esets: A 'list' of 'ExpressionSet's, one expression set per
          experiment. All experiments must have the same
          variables(genes).

 classes: A 'list' of class memberships, one per experiment. Each
          'list' can only contain 2 levels.

  useREM: A 'logical' value indicating whether or not to use a REM,
          'TRUE', or a FEM, 'FALSE', for combining the z scores.

theScores: A 'vector' of scores (e.g. t-statistics or z scores)

thePermScores: A 'vector' of permuted scores (e.g. t-statistics or z
          scores)

    type: "pos", "neg" or "two.sided"

   nperm: number of permutations to calculate the FDR

CombineExp: 'vector' of integer- which experiments should be
          combined-default:all experiments

_D_e_t_a_i_l_s:

     The function 'zScores' implements the approach of Choi et al. for
     for a set of 'ExpressionSet's. The function 'zScorePermuted'
     applies 'zScore' to a single permutation of the class labels. The
     function 'zScoreFDR' computes a FDR for each gene, both for each
     single experiment and for the combined experiment. The FDR is
     calculated as described in Choi et al. Up to now ties in the
     zscores are not taken into account in the calculation. The
     function might produce incorrect results in that case. The
     function also computes zScores, both for the combines experiment
     and for each single experiment.

_V_a_l_u_e:

     A 'matrix' with one row for each probe(set) and the  following
     columns:  

zSco_Ex_: For each single experiment the standardized mean difference, 
          'Effect_Ex_', divided by the estimated standard deviation,
          the square root of the 'EffectVar_Ex_' column.

  MUvals: The combined standardized mean difference (using  a FEM or
          REM)

   MUsds: The standard deviation of the 'MUvals'.

    zSco: The z statistic - the 'MUvals' divided by their standard 
          deviations, 'MUsds'.

   Qvals: Cochran's Q statistic for each gene.

      df: The degree of freedom for the Chi-square distribution.  This
          is equal to the number of combined experiments minus one.

Qpvalues: The probability that a Chi-square random variable,  with 'df'
          degrees of freedom) has a higher value than the value from 
          the Q statistic.

   Chisq: The probability that a Chi-square random variate (with 1
          degree  of freedom) has a higher value than the value of
          zSco^2.

Effect_Ex_: The standardized mean difference for each single
          experiment.

EffectVar_Ex_: The variance of the standardized mean difference for 
          each single experiment.

     Note that the three column names that end in an underscore are
     replicated, once for each experiment that is being analyzed.

_A_u_t_h_o_r(_s):

     M. Ruschhaupt

_R_e_f_e_r_e_n_c_e_s:

     Choi et al, Combining multiple microarray studies and modeling
     interstudy variation. Bioinformatics, 2003, i84-i90.

_E_x_a_m_p_l_e_s:

     data(Nevins)

     ##Splitting 
     thestatus  <- Nevins$ER.status
     group1     <- which(thestatus=="pos")
     group2     <- which(thestatus=="neg")
     rrr        <- c(sample(group1, floor(length(group1)/2)),
                     sample(group2,ceiling(length(group2)/2)))
     Split1     <- Nevins[,rrr]
     Split2     <- Nevins[,-rrr]

     #obtain classes
     Split1.ER <- as.numeric(Split1$ER.status) - 1
     Split2.ER <-as.numeric(Split2$ER.status) - 1

     esets     <- list(Split1,Split2)
     classes   <- list(Split1.ER,Split2.ER)
     theScores <- zScores(esets,classes,useREM=FALSE)
     theScores[1:2,]

