library(WebGestaltR)
library(sigora)
library(tidyverse)
library(org.Hs.eg.db)
library(enrichR)

WebGestaltR package

listOrganism()

\textcolor{blue}{Reference Manual}

WebGestaltR package

load("Figures/webGestaltExample.rda")
colnames(webGestaltExample$webgestaltResults)

FGNet package

\textcolor{blue}{Reference Manual}

HTSanalyzeR package

\textcolor{blue}{Reference Manual}

sigora package

\textcolor{blue}{Reference Manual}

sigora package

##query list
ils <- grep("^IL", idmap[["Symbol"]], value = TRUE)

## using precompiled GPS repository:
sigRes.ilreact <- sigora(queryList = ils,
                         GPSrepo = reaH,
                         level = 3)

## user created GPS repository:
nciH <- makeGPS(pathwayTable = nciTable)
sigRes.ilnci <- sigora(queryList = ils,
                       GPSrepo = nciH,
                       level = 2)

## user defined weighting schemes :
myfunc <- function(a, b) 1 / log(a + b)
sigora(
  queryList = ils,
  GPSrepo = nciH,
  level = 2,
  weighting.method = "myfunc"
)

SetRank package

\textcolor{blue}{Reference Manual}

STRINGdb package

\textcolor{blue}{Reference Manual}

enrichR package

\textcolor{blue}{Reference Manual}

Comparison

\begin{table}[] \resizebox{\columnwidth}{!}{% \begin{tabular}{ccccccc} \hline \textbf{Package} & \textbf{Provider} & \textbf{Maintainance} & \textbf{Offline} & \textbf{ID Mapping} & \textbf{ORA} & \textbf{GSEA} \ \hline WebGestaltR & CRAN & + (09/2019) & -- & + & + & + \ FGNet & Bioc & + & (--) & (--) & -- & + \ HTSanalyzeR & Bioc & -- & (--) & -- & + & + \ sigora & CRAN & + & + & (--) & + & -- \ SetRank & CRAN & -- & (--) & -- & -- & + \ STRINGdb & Bioc & + & -- & (--) & + & + \ enrichR & CRAN & + & -- & + & (+) & + \ \hline \end{tabular}% } \end{table}

Signature Overrepresentation Analysis (sigora)

Pathway gene-pair signatures (GPS)

You can find the article \textcolor{blue}{here}.

Simulation

data(kegH)
a1 <-
  genesFromRandomPathways(
    GPSrepo = kegH,
    np = 3, # From np random pathways
    ng = 50,# Draw nq genes at random
    seed = 13
  )

# canonical ORA method on random geneset
ora_out <- ora(a1[["genes"]], kegH) %>% nrow

# signature ORA method on random geneset
sigora_out <- sigora(
  GPSrepo = kegH,
  queryList = a1[["genes"]],
  level = 4
)[[1]] %>% filter(Bonferroni <= 0.05) %>% nrow
data(kegH)
a1 <-
  genesFromRandomPathways(
    GPSrepo = kegH,
    np = 3, # From np random pathways
    ng = 50,# Draw nq genes at random
    seed = 13
  )

# canonical ORA method on random geneset
ora_out <- nrow(ora(a1[["genes"]], kegH))

# signature ORA method on random geneset
sigora_out <- sigora(
  GPSrepo = kegH,
  queryList = a1[["genes"]],
  level = 4
)[[1]] %>% filter(Bonferroni <= 0.05) %>% nrow

ORA (w/o background) yields r ora_out ($>3$) matches, sigora yields "only" r sigora_out ($\leq 3$) matches, however no false positives.

Simulation

load(file = "Figures/simulation_sigora.Rda")
par(mex=0.8)
boxplot(sim_out, ylab = "# enriched pathways", pch = 20, las = 1)

Comparison of WebGestaltR ORA, sigORA & enrichR (pulldown dataset)

load("Figures/webGestaltExample.rda")

ref <-
  select(
    org.Hs.eg.db,
    columns = c("SYMBOL", "UNIPROT"),
    keys = as.character(webGestaltExample$reference_list$rownames.quant_data.),
    keytype = "UNIPROT",
    multiVals = "first"
  )

targ <-
  select(
    org.Hs.eg.db,
    columns = c("SYMBOL"),
    keys = as.character(webGestaltExample$clusterIDs$colID[webGestaltExample$clusterIDs$clusterID ==
                                                             1]),
    keytype = "UNIPROT",
    multiVals = "first"
  )

colnames(ref) <- c("Uniprot", "Symbol")

## using precompiled GPS repository:
sigRes <- sigora(queryList = targ$SYMBOL,
                         GPSrepo = kegH,
                         level = 3)

webGestaltExample$webgestaltResults[, c("geneset")]
webGestaltExample$webgestaltResults[, c("geneset", "PValue")] ## WebGestaltR
sigRes$summary_results[sigRes$summary_results$pvalues < 0.05, c("pathwy.id", "pvalues")] ## sigora
load("Figures/enrichR.Rda")
out[[1]] %>% filter(Adjusted.P.value <= 0.05) %>% dplyr::select(Term, Adjusted.P.value)

Conclusion



protViz/prora documentation built on Dec. 12, 2021, 12:32 a.m.