Last data update: 2014.03.03
R: Output Significant Genes
Output Significant Genes
Description
Identify differentially expressed genes using
rank product method
Usage
topGene(x,cutoff=NULL,method="pfp",num.gene=NULL,logged=TRUE,logbase=2,gene.names=NULL)
Arguments
x
the value returned by the
function RP, RP.advance or
Rsum.advance
cutoff
threshold in pfp used to select genes
method
If cutoff is provided, the method needs to be
selected to identify genes."pfp" uses percentage of
false prediction, which is the default setting.
"pval" used p-value which is less
stringent than pfp
num.gene
number of candidate genes of interests,
if cutoff is provided, this will be ignored
logged
if "TRUE", data has bee logged, otherwise set it
to "FALSE"
logbase
base used when taking log, used to restore the
fold change.The default value is 2, this will be
ignored if logged=FALSE
gene.names
if "NULL", no gene name will be
attached to the output table
Value
Two tables of identified genes with
gene.index: index of gene in the original data set
RP/Rsum: Computed rank product/sum for each gene
FC:(class1/class2): Expression Fold change of class 1/ class 2.
pfp: estimated pfp for each gene if the gene is used as cutoff point
P.value: estimated p-value for each gene
Table 1 list genes that are up-regulated under class 2, Table 1 ist
genes that are down-regulated under class 2,
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
plotRP
RP
RPadvance
RSadvance
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,
#identify genes
RP.out <- RP(golub[,subset],golub.cl[subset],rand=123)
#get two lists of differentially expressed genes
#by setting FDR (false discivery rate) =0.05
table=topGene(RP.out,cutoff=0.05,method="pfp",logged=TRUE,logbase=2,
gene.names=golub.gnames[,3])
table$Table1
table$Table2
#using pvalue<0.05
topGene(RP.out,cutoff=0.05,method="pval",logged=TRUE,logbase=2,
gene.names=golub.gnames[,3])
#by selecting top 10 genes
topGene(RP.out,num.gene=10,gene.names=golub.gnames[,3])
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/topGene.Rd_%03d_medium.png", width=480, height=480)
> ### Name: topGene
> ### Title: Output Significant Genes
> ### Aliases: topGene
> ### 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,
>
> #identify genes
> 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 ..
>
> #get two lists of differentially expressed genes
> #by setting FDR (false discivery rate) =0.05
>
> table=topGene(RP.out,cutoff=0.05,method="pfp",logged=TRUE,logbase=2,
+ gene.names=golub.gnames[,3])
Table1: Genes called significant under class1 < class2
Table2: Genes called significant under class1 > class2
> table$Table1
gene.index RP/Rsum FC:(class1/class2) pfp P.value
HG3494-HT3688_at 436 7.3165 0.2369 0.0200 0e+00
HG2724-HT2820_at 418 7.9323 0.2689 0.0100 0e+00
D87116_at 346 8.2189 0.2605 0.0067 0e+00
HG987-HT987_at 475 8.5880 0.3031 0.0100 1e-04
D88422_at 378 10.2910 0.2684 0.0120 1e-04
> table$Table2
gene.index RP/Rsum FC:(class1/class2) pfp P.value
AFFX-HUMRGE/M10098_3_at 6 8.1213 4.3141 0.0100 0e+00
AFFX-HUMRGE/M10098_5_at 4 9.2133 4.0339 0.0100 0e+00
AFFX-HUMRGE/M10098_M_at 5 9.8437 3.8488 0.0067 0e+00
D88270_at 377 12.7578 3.5353 0.0200 2e-04
AFFX-M27830_5_at 14 14.3431 3.2518 0.0200 2e-04
>
> #using pvalue<0.05
> topGene(RP.out,cutoff=0.05,method="pval",logged=TRUE,logbase=2,
+ gene.names=golub.gnames[,3])
Table1: Genes called significant under class1 < class2
Table2: Genes called significant under class1 > class2
$Table1
gene.index RP/Rsum FC:(class1/class2) pfp P.value
HG3494-HT3688_at 436 7.3165 0.2369 0.0200 0.0000
HG2724-HT2820_at 418 7.9323 0.2689 0.0100 0.0000
D87116_at 346 8.2189 0.2605 0.0067 0.0000
HG987-HT987_at 475 8.5880 0.3031 0.0100 0.0001
D88422_at 378 10.2910 0.2684 0.0120 0.0001
D87433_at 350 22.2528 0.3543 0.1550 0.0019
D26579_at 141 25.2467 0.3970 0.1886 0.0026
D26308_at 140 32.0381 0.5013 0.3512 0.0056
J03909_at 496 35.9833 0.4730 0.4400 0.0079
D89052_at 381 36.2952 0.4630 0.4030 0.0081
AFFX-HUMTFRR/M11507_3_at 13 37.0859 0.5117 0.3936 0.0087
HG3286-HT3463_at 431 40.5498 0.5563 0.4775 0.0115
AFFX-HUMTFRR/M11507_M_at 12 40.7818 0.5309 0.4485 0.0117
D49817_at 215 41.3887 0.5280 0.4393 0.0123
D10495_at 68 41.7633 0.4748 0.4207 0.0126
HG620-HT620_at 470 42.8890 0.5305 0.4250 0.0136
D29643_at 155 44.0282 0.5360 0.4271 0.0145
D83735_at 303 44.1820 0.6354 0.4100 0.0148
D00726_at 62 44.8851 0.5530 0.4058 0.0154
D43636_at 198 46.7786 0.5724 0.4275 0.0171
D50915_at 229 47.9356 0.6938 0.4457 0.0187
D30755_at 160 49.3573 0.5308 0.4618 0.0203
D14874_at 108 49.8597 0.5693 0.4522 0.0208
D50663_at 219 51.8963 0.5953 0.4883 0.0234
D26129_at 139 52.6567 0.5489 0.4892 0.0245
J03040_at 483 55.4157 0.6112 0.5469 0.0284
D00761_at 64 56.4930 0.6040 0.5567 0.0301
AF010193_at 52 58.0885 0.6096 0.5768 0.0323
HG2810-HT2921_at 420 59.9292 0.6070 0.6069 0.0352
D13639_at 85 60.9586 0.8286 0.6140 0.0368
D14811_at 105 61.4964 0.6003 0.6061 0.0376
D16469_at 115 61.6077 0.6106 0.5894 0.0377
J04027_at 498 62.7902 0.5894 0.5991 0.0395
HG2788-HT2896_at 419 64.1737 0.5948 0.6162 0.0419
D67029_at 266 64.2627 0.6410 0.6011 0.0421
D10202_at 67 65.1456 0.5783 0.6083 0.0438
D87937_at 374 66.0403 0.6749 0.6141 0.0454
D13641_at 87 66.8993 0.6277 0.6189 0.0470
HG4662-HT5075_at 466 67.0424 0.5835 0.6064 0.0473
D50840_at 222 68.4732 0.6578 0.6240 0.0499
$Table2
gene.index RP/Rsum FC:(class1/class2) pfp P.value
AFFX-HUMRGE/M10098_3_at 6 8.1213 4.3141 0.0100 0.0000
AFFX-HUMRGE/M10098_5_at 4 9.2133 4.0339 0.0100 0.0000
AFFX-HUMRGE/M10098_M_at 5 9.8437 3.8488 0.0067 0.0000
D88270_at 377 12.7578 3.5353 0.0200 0.0002
AFFX-M27830_5_at 14 14.3431 3.2518 0.0200 0.0002
D50918_at 232 23.9021 2.4853 0.1050 0.0013
D11086_at 74 26.8974 2.3623 0.1329 0.0019
HG1078-HT1078_at 389 31.8953 2.2554 0.2200 0.0035
D83776_at 304 35.0233 2.1143 0.2722 0.0049
D86967_at 329 35.8569 2.1269 0.2690 0.0054
HG4036-HT4306_at 451 38.2383 2.1038 0.3027 0.0067
D87076_at 344 38.3284 2.0678 0.2775 0.0067
D86479_at 323 38.9372 2.0832 0.2746 0.0071
D30742_at 159 39.6655 2.0609 0.2707 0.0076
D86983_at 337 41.5344 1.9518 0.2953 0.0089
D83780_at 306 45.0103 1.9869 0.3662 0.0117
D42053_at 193 45.0889 1.9259 0.3459 0.0118
AFFX-HSAC07/X00351_3_st 17 47.0776 1.9811 0.3839 0.0138
D87465_at 369 48.1772 1.8293 0.3963 0.0151
D86970_at 330 52.8865 1.8973 0.5055 0.0202
J03600_at 491 54.3202 1.6096 0.5129 0.0215
D63486_at 248 56.5033 1.8911 0.5523 0.0243
D38524_at 182 56.5562 1.8116 0.5300 0.0244
HG1612-HT1612_at 394 56.6243 1.8526 0.5088 0.0244
D80005_at 285 58.1699 1.6182 0.5276 0.0264
D78012_at 267 61.4194 1.7997 0.6019 0.0313
D63880_at 259 63.1282 1.7530 0.6219 0.0336
HG3039-HT3200_at 425 63.2380 1.7237 0.6021 0.0337
D87078_at 345 66.1767 1.6936 0.6710 0.0389
D87438_at 354 67.6645 1.7374 0.6907 0.0414
D43948_at 202 68.8017 1.7289 0.6994 0.0434
AF003743_at 44 69.1536 1.4669 0.6875 0.0440
HG4068-HT4338_at 452 69.3503 1.5081 0.6703 0.0442
D83032_at 297 69.4787 1.7436 0.6535 0.0444
D29642_at 154 69.7398 1.6527 0.6406 0.0448
D50930_at 237 70.1365 1.7148 0.6308 0.0454
HG2825-HT2949_at 421 71.8410 1.6282 0.6568 0.0486
>
> #by selecting top 10 genes
>
> topGene(RP.out,num.gene=10,gene.names=golub.gnames[,3])
Table1: Genes called significant under class1 < class2
Table2: Genes called significant under class1 > class2
$Table1
gene.index RP/Rsum FC:(class1/class2) pfp P.value
HG3494-HT3688_at 436 7.3165 0.2369 0.0200 0.0000
HG2724-HT2820_at 418 7.9323 0.2689 0.0100 0.0000
D87116_at 346 8.2189 0.2605 0.0067 0.0000
HG987-HT987_at 475 8.5880 0.3031 0.0100 0.0001
D88422_at 378 10.2910 0.2684 0.0120 0.0001
D87433_at 350 22.2528 0.3543 0.1550 0.0019
D26579_at 141 25.2467 0.3970 0.1886 0.0026
D26308_at 140 32.0381 0.5013 0.3512 0.0056
J03909_at 496 35.9833 0.4730 0.4400 0.0079
D89052_at 381 36.2952 0.4630 0.4030 0.0081
$Table2
gene.index RP/Rsum FC:(class1/class2) pfp P.value
AFFX-HUMRGE/M10098_3_at 6 8.1213 4.3141 0.0100 0.0000
AFFX-HUMRGE/M10098_5_at 4 9.2133 4.0339 0.0100 0.0000
AFFX-HUMRGE/M10098_M_at 5 9.8437 3.8488 0.0067 0.0000
D88270_at 377 12.7578 3.5353 0.0200 0.0002
AFFX-M27830_5_at 14 14.3431 3.2518 0.0200 0.0002
D50918_at 232 23.9021 2.4853 0.1050 0.0013
D11086_at 74 26.8974 2.3623 0.1329 0.0019
HG1078-HT1078_at 389 31.8953 2.2554 0.2200 0.0035
D83776_at 304 35.0233 2.1143 0.2722 0.0049
D86967_at 329 35.8569 2.1269 0.2690 0.0054
>
>
>
>
>
>
> dev.off()
null device
1
>