Last data update: 2014.03.03

R: Rank Product Analysis of Microarray
RPR Documentation

Rank Product Analysis of Microarray

Description

Perform rank product method to identify differentially expressed genes. It is possible to do either a one-class or two-class analysis.

Usage

    RP(data,cl,num.perm=100,logged=TRUE,
       na.rm=FALSE,gene.names=NULL,plot=FALSE, rand=NULL, huge=FALSE)

Arguments

data

the data set that should be analyzed. Every row of this data set must correspond to a gene.

cl

a vector containing the class labels of the samples. In the two class unpaired case, the label of a sample is either 0 (e.g., control group) or 1 (e.g., case group). For one class data, the label for each sample should be 1.

num.perm

number of permutations used in the calculation of the null density. Default is 'num.perm=100'.

logged

if "TRUE", data has bee logged, otherwise set it to "FALSE"

na.rm

if 'FALSE' (default), the NA value will not be used in computing rank. If 'TRUE', the missing values will be replaced by the gene-wise mean of the non-missing values. Gene with all values missing will be assigned "NA"

gene.names

if "NULL", no gene name will be assigned to the estimated percentage of false positive predictions (pfp).

plot

If "TRUE", plot the estimated pfp verse the rank of each gene.

rand

if specified, the random number generator will be put in a reproducible state using the rand value as seed.

huge

If "TRUE", use an alternative method for computation. Using considerably less memory, this allows the Rank Product to be calculated for larger input data (see details). However, the result will not contain the Orirank value.

For input with n rows, m=m1+m2 columns for two classes, and k permutations, memory requirements are 2n with huge=TRUE instead of n*k+n*m1*m2.

Value

A result of identifying differentially expressed genes between two classes. The identification consists of two parts, the identification of up-regulated and down-regulated genes in class 2 compared to class 1, respectively.

pfp

estimated percentage of false positive predictions (pfp) up to the position of each gene under two identificaiton each

pval

estimated pvalue for each gene being up- and down-regulated

RPs

Original rank-product of each genes for two dentificaiton each

RPrank

rank of the rank product of each genes

Orirank

original rank in each comparison, which is used to construct rank product. Not present if huge=TRUE is used.

AveFC

fold change of average expression under class 1 over that under class 2. log-fold change if data is in log scaled, original fold change if data is unlogged.

Note

Percentage of false prediction (pfp), in theory, is equivalent of false discovery rate (FDR), and it is possible to be large than 1.

The function looks for up- and down- regulated genes in two seperate steps, thus two pfps and pvalues are computed and used to identify gene that belong to each group.

This function is suitable to deal with data from a single origin, e.g. single experiment. If the data has different origin, e.g. generated at different laboratories, please refer RP.advance.

Author(s)

Fangxin Hong fhong@salk.edu

References

Breitling, R., Armengaud, P., Amtmann, A., and Herzyk, P.(2004) Rank Products:A simple, yet powerful, new method to detect differentially regulated genes in replicated microarray experiments, FEBS Letter, 57383-92

See Also

topGene RPadvance plotRP

Examples

     
      # Load the data of Golub et al. (1999). data(golub) 
      # contains a 3051x38 gene expression
      # matrix called golub, a vector of length called golub.cl 
      # that consists of the 38 class labels,
      # and a matrix called golub.gnames whose third column 
      # contains the gene names.
      data(golub)

 
      #use a subset of data as example, apply the rank 
      #product method
      subset <- c(1:4,28:30)
      #Setting rand=123, to make the results reproducible,

      RP.out <- RP(golub[,subset],golub.cl[subset],rand=123) 
      
      # class 2: label =1, class 1: label = 0
      #pfp for identifying genes that are up-regulated in class 2 
      #pfp for identifying genes that are down-regulated in class 2 
      head(RP.out$pfp)
  

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(RankProd)
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/RankProd/RP.Rd_%03d_medium.png", width=480, height=480)
> ### Name: RP
> ### Title: Rank Product Analysis of Microarray
> ### Aliases: RP
> ### Keywords: htest
> 
> ### ** Examples
>      
>       # Load the data of Golub et al. (1999). data(golub) 
>       # contains a 3051x38 gene expression
>       # matrix called golub, a vector of length called golub.cl 
>       # that consists of the 38 class labels,
>       # and a matrix called golub.gnames whose third column 
>       # contains the gene names.
>       data(golub)
> 
>  
>       #use a subset of data as example, apply the rank 
>       #product method
>       subset <- c(1:4,28:30)
>       #Setting rand=123, to make the results reproducible,
> 
>       RP.out <- RP(golub[,subset],golub.cl[subset],rand=123) 
Rank Product analysis for two-class case 
 
Starting 100 permutations... 
Computing pfp .. 
Outputing the results .. 
>       
>       # class 2: label =1, class 1: label = 0
>       #pfp for identifying genes that are up-regulated in class 2 
>       #pfp for identifying genes that are down-regulated in class 2 
>       head(RP.out$pfp)
  class1 < class2 class1 > class 2
1        1.007990      1.111147959
2        1.073962      1.051125828
3        1.071897      0.992755906
4        1.031353      0.010000000
5        1.077310      0.006666667
6        1.030667      0.010000000
>   
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>