safeplot {safe}R Documentation

SAFE plot

Description

A SAFE plot for a given category displays the empirical distribution function for the ranked local statistics of a given category.

Usage

safeplot(safe)
safeplot(safe , cat.name)
safeplot(c.vec=, local.stats= , p.val=, one.sided=, limits=,
         extreme=, italic =, x.label=)

Arguments

safe Object of class SAFE.
cat.name Name of the category to be plotted. If omitted, the most significant category is plotted.
c.vec Optional logical vector specifying membership to a gene category.
local.stats Optional numeric vector of local statistics. Gene names should be provided as names(local.stats).
p.val Optional numeric value of the category's empirical p-value
one.sided Optional logical value indicating if local statistics are one-sided.
limits Limits of the shaded region in the plot on the unranked scale.
extreme Optional logical value whether only genes in the shaded region should be labeled.
italic Optional logical value whether gene names should be italic.
x.label Character string for the x-axis label.

Details

SAFE-plots are suggested as appropriate for visualizing the differential expression in a given category relative to the complementary set of genes. The empirical cumulative distribution is plotted for the ranked local statistics in the category. Tick marks are drawn along the top of the graph to indicate each gene's positions, and labeled when sufficient space permits. In this manner, genes with the most extreme local statistics can be identified as contributing to a categories significance.

Author(s)

William T. Barry: bill.barry@duke.edu

References

W. T. Barry, A. B. Nobel and F.A. Wright, 2005, Significance Analysis of functional categories in gene expression studies: a structured permutation approach, Bioinformatics {bf 21}(9) 1943–1949.

See also the vignette included with this package.

See Also

{safe.}

Examples

## Simulate a dataset with 1000 genes and 20 arrays in a 2-sample design.
## The top 100 genes will be differentially expressed at varying levels

g.alt <- 100
g.null <- 900
n <- 20

data<-matrix(rnorm(n*(g.alt+g.null)),g.alt+g.null,n)
data[1:g.alt,1:(n/2)] <- data[1:g.alt,1:(n/2)] + 
                         seq(2,2/g.alt,length=g.alt)
dimnames(data) <- list(c(paste("Alt",1:g.alt),
                         paste("Null",1:g.null)),
                       paste("Array",1:n))

## A treatment vector 
trt <- rep(c("Trt","Ctr"),each=n/2)

## 2 alt. categories and 18 null categories of size 50

C.matrix <- kronecker(diag(20),rep(1,50))
dimnames(C.matrix) <- list(dimnames(data)[[1]],
    c(paste("TrueCat",1:2),paste("NullCat",1:18)))
dim(C.matrix)

results <- safe(data,trt,C.matrix,Pi.mat = 100)
results

## SAFE-plot made for the first category
if (interactive()) { 
safeplot(results,"TrueCat 1")
}

[Package safe version 2.2.0 Index]