PathSEA: Performs Pathway Set Enrichment Analysis (PSEA)

Description Usage Arguments Details Value References See Also Examples

View source: R/gep2pep.R

Description

PathSEA is analogous to the Gene Set Enrichment Analysis (GSEA), but for pathways instead of single genes. It can therefore be used to look for conditions under which a given set of pathways is consistently UP- or DOWN-regulated.

Usage

1
2
PathSEA(rp_peps, pathways, bgsets = "all", collections = "all",
  subset = "all", details = TRUE, rankingFun = rankPEPsByCols.SPV)

Arguments

rp_peps

A repository created with createRepository, and containing PEPs created with buildPEPs.

pathways

A database of pathways in the same format as input to createRepository. PSEA will be performed for each database separately.

bgsets

Another list like pathways, representing the statistical background for each database. If set to "all" (the default), all pathways that are in the repository and not in pathways will be used.

collections

A subset of the collection names returned by getCollections. If set to "all" (default), all the collections in rp will be used.

subset

Character vector including PEP names to be considered (all by default, which may take time).

details

If TRUE (default) details will be reported for each condition in pgset.

rankingFun

The function used to rank PEPs column-wise. By default rankPEPsByCols.ES is used, which uses gene set enrichment scores (see details).

Details

For each condition, all pathways are ranked by how much they are dysregulated by it (from the most UP-regulated to the most DOWN-regulatied, according to the corresponding p-values). Then, a Kolmogorov-Smirnov (KS) test is performed to compare the ranks assigned to pathways in pathways against the ranks assigned to pathways in bgsets. A positive (negative) Enrichment Score (ES) of the KS test indicates whether each pathway is UP- (DOWN-) regulated by pgset as compared to bgset. A p-value is associated to the ES.

When PEPs are obtained from drug-induced gene expression profiles, PathSEA can be used together with gene2pathways to perform gene2drug [1] analysis, which predicts which drugs may target a gene of interest (or mimick such effect).

The rankingFun must take in input PEPs like those loaded from the repository and return a matrix of column-wise ranks. Each column must contain ranks from 1 to the number of gene sets minus the number of NAs in the column.

Value

A list of 2, by names "PathSEA" and "details". The "PathSEA" entry is a 2-columns matrix including ESs and p-values for each collection and condition. The "details" entry reports the rank of each pathway in pathways for each condition.

References

[1] Napolitano, F. et al. gene2drug: a computational tool for pathway-based rational drug repositioning. Bioinformatics (2017). https://doi.org/10.1093/bioinformatics/btx800

See Also

getResults, getDetails

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
library(GSEABase)

db <- loadSamplePWS()
repo_path <- file.path(tempdir(), "gep2pepTemp")

rp <- createRepository(repo_path, db)
geps <- loadSampleGEP()
buildPEPs(rp, geps)

pathways <- c("M11607", "M10817", "M16694",         ## from c3_TFT
              "M19723", "M5038", "M13419", "M1094") ## from c4_CGN
w <- sapply(db, setIdentifier) %in% pathways

psea <- PathSEA(rp, db[w])
## [15:35:29] Working on collection: c3_TFT
## [15:35:29] Common pathway sets removed from bgset.
## [15:35:29] Column-ranking collection...
## [15:35:29] Computing enrichments...
## [15:35:29] done.
## [15:35:29] Working on collection: C4_CGN
## [15:35:29] Common pathway sets removed from bgset.
## [15:35:29] Column-ranking collection...
## [15:35:29] Computing enrichments...
## [15:35:29] done.

getResults(psea, "c3_TFT")
##                         ES        PV
## (_)_mk_801       0.7142857 0.1666667
## (_)_atenolol     0.7142857 0.1666667
## (+)_isoprenaline 0.5714286 0.4000000
## (+/_)_catechin   0.5714286 0.4000000
## (+)_chelidonine  0.3333333 0.9333333

unlink(repo_path, TRUE)

gep2pep documentation built on Nov. 8, 2020, 5:59 p.m.