spia {SPIA} | R Documentation

## Signaling Pathway Impact Analysis (SPIA) based on over-representation and signaling perturbations accumulation

### Description

This function implements the SPIA algorithm to analyze KEGG signaling pathways.

### Usage

    spia(de=NULL,all=NULL,organism="hsa",data.dir=NULL,pathids=NULL,nB=2000,plots=FALSE,verbose=TRUE,beta=NULL,combine="fisher")

### Arguments

`de` | A named vector containing log2 fold-changes of the differentially expressed genes. The names of this numeric vector are Entrez gene IDs.
`all` | A vector with the Entrez IDs in the reference set. If the data was obtained from a microarray experiment, this set will contain all genes present on the specific array used for the experiment. This vector should contain all names of the `de` argument.
`organism` | A three letter character designating the organism. See a full list at ftp://ftp.genome.jp/pub/kegg/xml/organisms.
`data.dir` | Location of the "organism"SPIA.RData file containing the pathways data generated with makeSPIAdata. If set to NULL will look for this file in the extdata folder of the SPIA library.
`pathids` | A character vector with the names of the pathways to be analyzed. If left NULL all pathways available will be tested.
`nB` | Number of bootstrap iterations used to compute the P PERT value. Should be larger than 100. A recommended value is 2000.
`plots` | If set to TRUE, the function plots the gene perturbation accumulation vs log2 fold change for every gene on each pathway. The null distribution of the total net accumulations from which PPERT is computed, is plotted as well. The figures are sent to the SPIAPerturbationPlots.pdf file in the current directory.
`verbose` | If set to TRUE, displays the number of pathways already analyzed.
`beta` | Weights to be assigned to each type of gene/protein relation type. It should be a named numeric vector of length 23, whose names must be: `c("activation","compound","binding/association","expression","inhibition","activation_phosphorylation","phosphorylation", "indirect","inhibition_phosphorylation","dephosphorylation_inhibition","dissociation","dephosphorylation","activation_dephosphorylation", "state","activation_indirect","inhibition_ubiquination","ubiquination","expression_indirect","indirect_inhibition","repression", "binding/association_phosphorylation","dissociation_phosphorylation","indirect_phosphorylation")` If set to null, beta will be by default chosen as: c(1,0,0,1,-1,1,0,0,-1,-1,0,0,1,0,1,-1,0,1,-1,-1,0,0,0).
`combine` | Method used to combine the two types of p-values. If set to `"fisher"` it will use Fisher's method. If set to `"norminv"` it will use the normal inversion method.

### Details

See cited documents for more details.

### Value

A data frame containing the ranked pathways and various statistics: `pSize` is the number of genes on the pathway; `NDE` is the number of DE genes per pathway; `tA` is the observed total preturbation accumulation in the pathway; `pNDE` is the probability to observe at least `NDE` genes on the pathway using a hypergeometric model; `pPERT` is the probability to observe a total accumulation more extreme than `tA` only by chance; `pG` is the p-value obtained by combining `pNDE` and `pPERT`; `pGFdr` and `pGFWER` are the False Discovery Rate and respectively Bonferroni adjusted global p-values; and the `Status` gives the direction in which the pathway is perturbed (activated or inhibited). `KEGGLINK` gives a web link to the KEGG website that displays the pathway image with the differentially expressed genes highlighted in red.

### Author(s)

Adi Laurentiu Tarca <atarca@med.wayne.edu>, Purvesh Khatri, Sorin Draghici

### References

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

Purvesh Khatri, Sorin Draghici, Adi L. Tarca, Sonia S. Hassan, Roberto Romero. A system biology approach for the steady-state analysis of gene signaling networks. Progress in Pattern Recognition, Image Analysis and Applications, Lecture Notes in Computer Science. 4756:32-41, November 2007.

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

`plotP`

### Examples

    # Example using a colorectal cancer dataset obtained using Affymetrix geneChip technology (GEE GSE4107).
    # Suppose that proper preprocessing was performed and a two group moderated t-test was applied. The topTable
    # result from limma package for this data set is called "top".
    #The following lines will annotate each probeset to an entrez ID identifier, will keep the most significant probeset for each
    #gene ID and retain those with FDR<0.05 as differentially expressed.
    #You can run these lines if hgu133plus2.db package is available

    #data(colorectalcancer)
    #x <- hgu133plus2ENTREZID
    #top$ENTREZ<-unlist(as.list(x[top$ID]))
    #top<-top[!is.na(top$ENTREZ),]
    #top<-top[!duplicated(top$ENTREZ),]
    #tg1<-top[top$adj.P.Val<0.1,]
    #DE_Colorectal=tg1$logFC
    #names(DE_Colorectal)<-as.vector(tg1$ENTREZ)
    #ALL_Colorectal=top$ENTREZ

    data(colorectalcancer)

    # pathway analysis using SPIA; # use nB=2000 or higher for more accurate results
    #uses older version of KEGG signalimng pathways graphs
    res<-spia(de=DE_Colorectal, all=ALL_Colorectal, organism="hsa",beta=NULL,nB=2000,plots=FALSE, verbose=TRUE,combine="fisher")
    res
    # Create the evidence plot
    plotP(res)

    #now combine pNDE and pPERT using the normal inversion method without running spia function again
    res$pG=combfunc(res$pNDE,res$pPERT,combine="norminv")
    res$pGFdr=p.adjust(res$pG,"fdr")
    res$pGFWER=p.adjust(res$pG,"bonferroni")
    plotP(res,threshold=0.05)
    #highlight the colorectal cancer pathway in green
    points(I(-log(pPERT))~I(-log(pNDE)),data=res[res$ID=="05210",],col="green",pch=19,cex=1.5)

    #run SPIA using pathways data generated from (up-to-date) xml files that you can obtain from
    #KEGG ftp or by downloading  them from each pathway's web page:
    # e.g. go to http://www.genome.jp/kegg/pathway/hsa/hsa04010.html  and click on DOwnload KGML
    #to get the xml file for pathway 4010

    makeSPIAdata(kgml.path=system.file("extdata/keggxml/hsa",package="SPIA"),organism="hsa",out.path="./")

    res<-spia(de=DE_Colorectal, all=ALL_Colorectal, organism="hsa",data.dir="./")
    res

[Package SPIA version 2.36.0 Index]