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 expression sets, 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 zScores.

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

thePermScores: 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 exprSets. 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 Chisquare distribution.  This
          is equal to the number of combined experiments minus one.

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

   Chisq: The probability that a Chisquare 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,]

