Last data update: 2014.03.03

R: Function to use SPIA method on microarray or RNA-Seq data
SPIAR Documentation

Function to use SPIA method on microarray or RNA-Seq data

Description

The function runs SPIA method on microarray or RNA-Seq data. The implementatio includes the identification of differentially expressed genes and transformation of pathways' topologies to an appropriate form. The SPIA method combines two independent p-values. One p-value comes from overrepresentation analysis and the other is so called pertubation factor.

Usage

SPIA(x, group, pathways, type, preparePaths=TRUE, norm.method=NULL, test.method=NULL, p.th=0.05, logFC.th=2, nperm=1000, combine="fisher", 
 both.directions=TRUE, maxNodes=150, minEdges=0, commonTh=2, filterSPIA=FALSE, convertTo="none", convertBy=NULL)

Arguments

x

An ExpressionSet object or a gene expression data matrix or count matrix, rows refer to genes, columns to samples

group

Name or number of the phenoData column or a character vector or factor that contains required class assigments

pathways

A list of pathways in a form from graphite package or created by preparePathways()

type

Type of the data, "MA" for microarray, "RNASeq" for RNA-Seq, DEtable data.frame from differential expression analysis, or DEGlist a list of: log fold-changes of differentially expressed genes and names of the all genes analyses

preparePaths

Logical, by default the pathways are transformed with preparePathways(). Use FALSE, if you have done this transformation separately

norm.method

Character, the method to normalize RNAseq data. If NULL then TMM-normalization is performed. Possible values are: "TMM", "DESeq2", "rLog", "none". Ignored for type: "MA","DEtable", "DElist"

test.method

Character, the method for differentiall expression analysis of RNAseq data. If NULL then "voomlimma" is used. Possible values are: "DESeq2", "voomlimma", "vstlimma", "edgeR". Ignored for type: "MA","DEtable", "DElist"

p.th

Numeric, threshold for p-values of tests for differential expression of genes. Use 1 if you don't want any threshold to be applied

logFC.th

Numeric, threshold for log fold-change of a gene to identify the gene as differentially expressed. Use negative if you don't want any threshold to be applied

nperm

Numeric, number of permutations

combine

Character, the method to combine p-values. Defaults to "fisher" for Fisher's method. The other possible value is "norminv" for the normal inversion method.

both.directions, maxNodes, minEdges, commonTh, filterSPIA, convertTo, convertBy

Arguments for the preparePathways()

Value

A list:

res

A matrix with columns as descibed below: pSize - Pathway size, number of genes, NDE - Number of differentially expressed genes, pNDE - P-value of the overrepresentation part of the method, tA - The observed total preturbation accumulation in the pathway, pPERT - P-value of the pertubation part of the method, p - Combined p-value (overrepresentation and pertubation), pFdr - False discovery rate adjusted p, pFWER - FWER adjusted p, Status - If a pathway was identified as Acivated or Inhibited

topo.sig

A list of accumulated pertubation factors and log fold-changes for genes in individual pathways

degtest

A numeric vector of gene-level differential expression statistics of all genes in the dataset

Author(s)

Ivana Ihnatova

References

Tarca AL, Draghici S, Khatri P, Hassan SS, Mittal P, Kim JS, Kim CJ, Kusanovic JP, Romero R. A novel signaling pathway impact analysis. Bioinformatics. 2009 Jan 1;25(1):75-82.

Adi L. Tarca, Sorin Draghici, Purvesh Khatri, et. al, A Signaling Pathway Impact Analysis for Microarray Experiments, 2008, Bioinformatics, 2009, 25(1):75-82.

Draghici, S., Khatri, P., Tarca, A.L., Amin, K., Done, A., Voichita, C., Georgescu, C., Romero, R.: A systems biology approach for pathway level analysis. Genome Research, 17, 2007.

See Also

preparePathways

Examples


if (require(DEGraph)) {
  data("Loi2008_DEGraphVignette")
 pathways<-pathways("hsapiens","biocarta")[1:10]
  SPIA(exprLoi2008, classLoi2008,pathways, type="MA", logFC.th=-1)
}
## Not run: 
if (require(gageData)) {

 data(hnrnp.cnts)
  hnrnp.cnts<-hnrnp.cnts[rowSums(hnrnp.cnts)>0,]
 group<-c(rep("sample",4), rep("control",4))
 
  pathways<-pathways("hsapiens","biocarta")[1:10]
 SPIA( hnrnp.cnts, group, pathways, type="RNASeq",  logFC.th=-1, IDs="entrez", test="vstlimma")
 }

## End(Not run)

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(ToPASeq)
Loading required package: graphite
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Loading required package: gRbase
Loading required package: graph
Loading required package: locfit
locfit 1.5-9.1 	 2013-03-22
Loading required package: Rgraphviz
Loading required package: grid
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/ToPASeq/SPIA.Rd_%03d_medium.png", width=480, height=480)
> ### Name: SPIA
> ### Title: Function to use SPIA method on microarray or RNA-Seq data
> ### Aliases: SPIA
> ### Keywords: htest
> 
> ### ** Examples
> 
> 
> if (require(DEGraph)) {
+   data("Loi2008_DEGraphVignette")
+  pathways<-pathways("hsapiens","biocarta")[1:10]
+   SPIA(exprLoi2008, classLoi2008,pathways, type="MA", logFC.th=-1)
+ }
Loading required package: DEGraph
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called 'DEGraph'
> ## Not run: 
> ##D if (require(gageData)) {
> ##D 
> ##D  data(hnrnp.cnts)
> ##D   hnrnp.cnts<-hnrnp.cnts[rowSums(hnrnp.cnts)>0,]
> ##D  group<-c(rep("sample",4), rep("control",4))
> ##D  
> ##D   pathways<-pathways("hsapiens","biocarta")[1:10]
> ##D  SPIA( hnrnp.cnts, group, pathways, type="RNASeq",  logFC.th=-1, IDs="entrez", test="vstlimma")
> ##D  }
> ## End(Not run)
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>