From a0cc189c1312b3a7e1f3ae4596b137e9a3768374 Mon Sep 17 00:00:00 2001 From: Sara JC Gosline Date: Wed, 11 Feb 2026 09:43:59 -0800 Subject: [PATCH 1/3] test for gh pages --- README.md | 5 +- docs/404.html | 114 ++ docs/LICENSE-text.html | 116 ++ docs/articles/examples.html | 518 ++++++++ .../examples_files/figure-html/figure_2-1.png | Bin 0 -> 40093 bytes .../examples_files/figure-html/figure_3-1.png | Bin 0 -> 23985 bytes .../examples_files/figure-html/figure_3-2.png | Bin 0 -> 22159 bytes docs/articles/index.html | 90 ++ docs/articles/leapR.html | 869 +++++++++++++ .../leapR_files/figure-html/corr_plot-1.png | Bin 0 -> 57942 bytes .../figure-html/fishers_plot-1.png | Bin 0 -> 54834 bytes .../leapR_files/figure-html/ks_plot-1.png | Bin 0 -> 64650 bytes .../leapR_files/figure-html/phos_plot-1.png | Bin 0 -> 56209 bytes .../leapR_files/figure-html/phos_plot-2.png | Bin 0 -> 57091 bytes .../articles/leapR_files/figure-html/zt-1.png | Bin 0 -> 61272 bytes .../pagedtable-1.1/css/pagedtable.css | 142 ++ .../pagedtable-1.1/js/pagedtable.js | 1151 +++++++++++++++++ docs/authors.html | 123 ++ docs/bootstrap-toc.css | 60 + docs/bootstrap-toc.js | 159 +++ docs/docsearch.css | 148 +++ docs/docsearch.js | 85 ++ docs/index.html | 214 +++ docs/link.svg | 12 + docs/pkgdown.css | 384 ++++++ docs/pkgdown.js | 108 ++ docs/pkgdown.yml | 8 + docs/reference/calcTTest.html | 148 +++ docs/reference/cluster_enrichment.html | 166 +++ docs/reference/combine_omics.html | 156 +++ .../correlation_comparison_enrichment.html | 136 ++ docs/reference/correlation_enrichment.html | 119 ++ docs/reference/enrichment_in_abundance.html | 160 +++ docs/reference/enrichment_in_groups.html | 160 +++ .../enrichment_in_relationships.html | 129 ++ docs/reference/get_pathway_information.html | 128 ++ docs/reference/index.html | 155 +++ docs/reference/kinasesubstrates.html | 113 ++ docs/reference/krbpaths.html | 113 ++ docs/reference/leapR-package.html | 97 ++ docs/reference/leapR.html | 340 +++++ docs/reference/longlist.html | 97 ++ docs/reference/ncipid.html | 113 ++ docs/reference/plot_leapr_bar.html | 159 +++ docs/reference/read_gene_sets.html | 134 ++ docs/reference/shortlist.html | 98 ++ vignettes/order-enrichment.Rmd | 126 ++ 47 files changed, 7149 insertions(+), 4 deletions(-) create mode 100644 docs/404.html create mode 100644 docs/LICENSE-text.html create mode 100644 docs/articles/examples.html create mode 100644 docs/articles/examples_files/figure-html/figure_2-1.png create mode 100644 docs/articles/examples_files/figure-html/figure_3-1.png create mode 100644 docs/articles/examples_files/figure-html/figure_3-2.png create mode 100644 docs/articles/index.html create mode 100644 docs/articles/leapR.html create mode 100644 docs/articles/leapR_files/figure-html/corr_plot-1.png create mode 100644 docs/articles/leapR_files/figure-html/fishers_plot-1.png create mode 100644 docs/articles/leapR_files/figure-html/ks_plot-1.png create mode 100644 docs/articles/leapR_files/figure-html/phos_plot-1.png create mode 100644 docs/articles/leapR_files/figure-html/phos_plot-2.png create mode 100644 docs/articles/leapR_files/figure-html/zt-1.png create mode 100644 docs/articles/leapR_files/pagedtable-1.1/css/pagedtable.css create mode 100644 docs/articles/leapR_files/pagedtable-1.1/js/pagedtable.js create mode 100644 docs/authors.html create mode 100644 docs/bootstrap-toc.css create mode 100644 docs/bootstrap-toc.js create mode 100644 docs/docsearch.css create mode 100644 docs/docsearch.js create mode 100644 docs/index.html create mode 100644 docs/link.svg create mode 100644 docs/pkgdown.css create mode 100644 docs/pkgdown.js create mode 100644 docs/pkgdown.yml create mode 100644 docs/reference/calcTTest.html create mode 100644 docs/reference/cluster_enrichment.html create mode 100644 docs/reference/combine_omics.html create mode 100644 docs/reference/correlation_comparison_enrichment.html create mode 100644 docs/reference/correlation_enrichment.html create mode 100644 docs/reference/enrichment_in_abundance.html create mode 100644 docs/reference/enrichment_in_groups.html create mode 100644 docs/reference/enrichment_in_relationships.html create mode 100644 docs/reference/get_pathway_information.html create mode 100644 docs/reference/index.html create mode 100644 docs/reference/kinasesubstrates.html create mode 100644 docs/reference/krbpaths.html create mode 100644 docs/reference/leapR-package.html create mode 100644 docs/reference/leapR.html create mode 100644 docs/reference/longlist.html create mode 100644 docs/reference/ncipid.html create mode 100644 docs/reference/plot_leapr_bar.html create mode 100644 docs/reference/read_gene_sets.html create mode 100644 docs/reference/shortlist.html create mode 100644 vignettes/order-enrichment.Rmd diff --git a/README.md b/README.md index 75b98b4..c2973f6 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,11 @@ Layered Enrichment Analysis of Pathways in R (leapR) a tool that carries out sta ## Install leapR is available through Bioconductor repository here -```{r install} - +``` if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install(version = "3.21") - BiocManager::install('BiocStyle') - BiocManager::install('leapR') ``` diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..52be5b5 --- /dev/null +++ b/docs/404.html @@ -0,0 +1,114 @@ + + + + + + + +Page not found (404) • leapR + + + + + + + + + + + +
+
+ + + + +
+
+ + +Content not found. Please use links in the navbar. + +
+ + + +
+ + + +
+ +
+

+

Site built with pkgdown 2.2.0.

+
+ +
+
+ + + + + + + + diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html new file mode 100644 index 0000000..7599ea4 --- /dev/null +++ b/docs/LICENSE-text.html @@ -0,0 +1,116 @@ + +License • leapR + + +
+
+ + + +
+
+ + +
Copyright 2025 Battelle Memorial Institute
+
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+
+1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+ +
+ + + +
+ + + +
+ +
+

Site built with pkgdown 2.2.0.

+
+ +
+ + + + + + + + diff --git a/docs/articles/examples.html b/docs/articles/examples.html new file mode 100644 index 0000000..54af499 --- /dev/null +++ b/docs/articles/examples.html @@ -0,0 +1,518 @@ + + + + + + + +leapR Paper Examples • leapR + + + + + + + + + + + +
+
+ + + + +
+
+ + + + +
+

Load libraries needed +

+
+# load the core libraries
+library(leapR)
+library(gplots)
+library(rmarkdown)
+# plotting helpers used in this vignette
+library(ggplot2)
+library(dplyr)
+library(tibble)
+library(stringr)
+
+
+

Example data +

+

A sample data set is included that is from the CPTAC study of 169 +ovarian tumors. We include the dataset as a object, containing three +assays (transcriptomics, global proteomics, and phosphoproteomics) to +enable interoperability with other tools, and store example file as +rda on Figshare +as example.

+

This data can be loaded as follows:

+
+url <- "https://api.figshare.com/v2/file/download/56536217"
+pdata <- download.file(url, method = "libcurl", destfile = "protData.rda")
+#  as.matrix()
+load("protData.rda")
+
+p <- file.remove("protData.rda")
+
+url <- "https://api.figshare.com/v2/file/download/56536214"
+tdata <- download.file(url, method = "libcurl", destfile = "transData.rda")
+load("transData.rda")
+p <- file.remove("transData.rda")
+
+url <- "https://api.figshare.com/v2/file/download/56536211"
+phdata <- download.file(url, method = "libcurl", destfile = "phosData.rda")
+load("phosData.rda")
+p <- file.remove("phosData.rda")
+

We also have local data we can load

+
+
+data(shortlist)
+data(longlist)
+data(ncipid)
+data(kinasesubstrates)
+## columns that we want to use for results
+
+cols_to_display <- c("ingroup_n", "outgroup_n", "background_n", 
+                     "pvalue", "BH_pvalue")
+
+
+

Figure 2 +

+

We will compare the ability of transcriptomics, proteomics, and +phosphoproteomics to inform about differences between short and long +surviving patient groups. In addition to other methods, we also employ a +calcTTest function that takes two sets of samples from the +SummarizedExperiment object and computes the t-test between +them. The results are then stored in the rowData of the +same object, so that they can be used for enrichment later on.

+

This spans the multiple enrichment methods in leapR and also includes +multi-omics.

+

The resulting heatmap is presented as Figure 2 in the paper.

+
+# load the single omic and multi-omic pathway databases
+data("krbpaths")
+data("mo_krbpaths")
+
+# comparison enrichment in transcriptional data
+transdata.comp.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_comparison",
+  eset = tset,
+  assay_name = "transcriptomics",
+  primary_columns = shortlist,
+  secondary_columns = longlist
+)
+
+# comparison enrichment in proteomics data
+# this is the same code used above, just repeated here for clarity
+protdata.comp.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_comparison",
+  eset = pset,
+  assay_name = "proteomics",
+  primary_columns = shortlist,
+  secondary_columns = longlist
+)
+
+# comparison enrichment in phosphoproteomics data
+phosphodata.comp.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_comparison",
+  eset = phset,
+  assay_name = "phosphoproteomics",
+  primary_columns = shortlist,
+  secondary_columns = longlist, id_column = "hgnc_id"
+)
+
+
+# set enrichment in transcriptomics data
+# perform the comparison t-test
+tset <- leapR::calcTTest(tset, assay_name = "transcriptomics", 
+                         shortlist, longlist)
+
+
+## now we need to run enrichment in sets with target list, not eset
+transdata.set.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  eset = tset,
+  assay_name = "transcriptomics",
+  enrichment_method = "enrichment_in_sets",
+  primary_columns = "pvalue",
+  greaterthan = FALSE, threshold = 0.05
+)
+
+
+pset <- leapR::calcTTest(pset, assay_name = "proteomics",
+                         shortlist, longlist)
+
+protdata.set.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  eset = pset,
+  assay_name = "proteomics",
+  enrichment_method = "enrichment_in_sets",
+  primary_columns = "pvalue",
+  greaterthan = FALSE, threshold = 0.05
+)
+
+
+phset <- leapR::calcTTest(phset, assay_name = "phosphoproteomics", 
+                          shortlist, longlist)
+
+phosphodata.set.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_in_sets",
+  id_column = "hgnc_id",
+  assay_name = "phosphoproteomics",
+  eset = phset, primary_columns = "pvalue",
+  greaterthan = FALSE, threshold = 0.05
+)
+
+# order enrichment in transcriptomics data
+transdata.order.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_in_order",
+  eset = tset,
+  assay_name = "transcriptomics",
+  primary_columns = "difference"
+)
+
+# order enrichment in proteomics data
+protdata.order.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_in_order",
+  eset = pset,
+  assay_name = "proteomics",
+  primary_columns = "difference"
+)
+
+# order enrichment in phosphoproteomics data
+
+
+phosphodata.order.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_in_order",
+  id_column = "hgnc_id",
+  method = 'ztest', 
+  eset = phset,
+  assay_name = "phosphoproteomics",
+  primary_columns = "difference"
+)
+
+# correlation difference in transcriptomics data
+transdata.corr.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "correlation_comparison",
+  eset = tset,
+  assay_name = "transcriptomics",
+  primary_columns = shortlist,
+  secondary_columns = longlist
+)
+# correlation difference in proteomics data
+protdata.corr.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "correlation_comparison",
+  eset = pset,
+  assay_name = "proteomics",
+  primary_columns = shortlist,
+  secondary_columns = longlist
+)
+# correlation difference in phosphoproteomics data
+phosphodata.corr.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "correlation_comparison",
+  eset = phset,
+  assay_name = "phosphoproteomics",
+  primary_columns = shortlist,
+  secondary_columns = longlist, id_column = "hgnc_id"
+)
+
+# combine the omics data into one with prefix tags
+comboset <- leapR::combine_omics(list(pset, phset, tset), 
+                                 c(NA, "hgnc_id", NA))
+
+# comparison enrichment for combodata
+# when we use expression set, we do not need to use the mo_krbpaths 
+#since the  id mapping column is used
+combodata.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths, # mo_krbpaths,
+  enrichment_method = "enrichment_comparison",
+  eset = comboset,
+  assay_name = "combined",
+  primary_columns = shortlist,
+  secondary_columns = longlist, id_column = "id"
+)
+
+
+# set enrichment in combo data
+# perform the comparison t test
+comboset <- leapR::calcTTest(comboset,
+                             assay_name = "combined", 
+                             shortlist, longlist)
+
+combodata.set.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_in_sets",
+  eset = comboset, primary_columns = "pvalue",
+  assay_name = "combined",
+  id_column = "id",
+  greaterthan = FALSE, threshold = 0.05
+)
+
+# order enrichment in combo data
+combodata.order.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "enrichment_in_order",
+  assay_name = "combined",
+  eset = comboset, primary_columns = "difference",
+  id_column = "id"
+)
+
+# correlation difference in combo data
+combodata.corr.enrichment.svl <- leapR::leapR(
+  geneset = krbpaths,
+  enrichment_method = "correlation_comparison",
+  eset = comboset,
+  assay_name = "combined",
+  primary_columns = shortlist,
+  id_column = "id",
+  secondary_columns = longlist
+)
+
+
+# now take all these results and combine them into one figure
+all_results <- list(
+  transdata.comp.enrichment.svl,
+  protdata.comp.enrichment.svl,
+  phosphodata.comp.enrichment.svl,
+  combodata.enrichment.svl,
+  transdata.set.enrichment.svl,
+  protdata.set.enrichment.svl,
+  phosphodata.set.enrichment.svl,
+  combodata.set.enrichment.svl,
+  transdata.order.enrichment.svl,
+  protdata.order.enrichment.svl,
+  phosphodata.order.enrichment.svl,
+  combodata.order.enrichment.svl,
+  transdata.corr.enrichment.svl,
+  protdata.corr.enrichment.svl,
+  phosphodata.corr.enrichment.svl,
+  combodata.corr.enrichment.svl
+)
+
+pathways_of_interest <- c(
+  "KEGG_APOPTOSIS",
+  "KEGG_CELL_CYCLE",
+  "KEGG_ERBB_SIGNALING_PATHWAY",
+  "KEGG_FOCAL_ADHESION",
+  "KEGG_INSULIN_SIGNALING_PATHWAY",
+  "KEGG_MAPK_SIGNALING_PATHWAY",
+  "KEGG_MISMATCH_REPAIR",
+  "KEGG_MTOR_SIGNALING_PATHWAY",
+  "KEGG_OXIDATIVE_PHOSPHORYLATION",
+  "KEGG_P53_SIGNALING_PATHWAY",
+  "KEGG_PATHWAYS_IN_CANCER",
+  "KEGG_PROTEASOME",
+  "KEGG_RIBOSOME",
+  "KEGG_VEGF_SIGNALING_PATHWAY",
+  "KEGG_WNT_SIGNALING_PATHWAY"
+)
+
+
+results.frame <- data.frame(
+  pathway = pathways_of_interest,
+  td.comp = all_results[[1]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  pd.comp = all_results[[2]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  fd.comp = all_results[[3]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  cd.comp = all_results[[4]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  td.set = all_results[[5]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  pd.set = all_results[[6]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  fd.set = all_results[[7]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  cd.set = all_results[[8]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  td.order = all_results[[9]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  pd.order = all_results[[10]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  fd.order = all_results[[11]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  cd.order = all_results[[12]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  td.corr = all_results[[13]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  pd.corr = all_results[[14]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  fd.corr = all_results[[15]][pathways_of_interest, "BH_pvalue"] < 0.05,
+  cd.corr = all_results[[16]][pathways_of_interest, "BH_pvalue"] < 0.05
+)
+
+results.frame.or <- data.frame(
+  pathway = pathways_of_interest,
+  td.comp = all_results[[1]][pathways_of_interest, "oddsratio"],
+  pd.comp = all_results[[2]][pathways_of_interest, "oddsratio"],
+  fd.comp = all_results[[3]][pathways_of_interest, "oddsratio"],
+  cd.comp = all_results[[4]][pathways_of_interest, "oddsratio"],
+  td.set = log(all_results[[5]][pathways_of_interest, "oddsratio"], 2),
+  pd.set = log(all_results[[6]][pathways_of_interest, "oddsratio"], 2),
+  fd.set = log(all_results[[7]][pathways_of_interest, "oddsratio"], 2),
+  cd.set = log(all_results[[8]][pathways_of_interest, "oddsratio"], 2),
+  td.order = all_results[[9]][pathways_of_interest, "oddsratio"],
+  pd.order = all_results[[10]][pathways_of_interest, "oddsratio"],
+  fd.order = all_results[[11]][pathways_of_interest, "oddsratio"],
+  cd.order = all_results[[12]][pathways_of_interest, "oddsratio"],
+  td.corr = all_results[[13]][pathways_of_interest, "oddsratio"],
+  pd.corr = all_results[[14]][pathways_of_interest, "oddsratio"],
+  fd.corr = all_results[[15]][pathways_of_interest, "oddsratio"],
+  cd.corr = all_results[[16]][pathways_of_interest, "oddsratio"]
+)
+
+rownames(results.frame) <- results.frame[, 1]
+rownames(results.frame.or) <- results.frame.or[, 1]
+results.frame.sig <- results.frame[, 2:17] * results.frame.or[, 2:17]
+
+heatmap.2(as.matrix(results.frame.sig[, c(1:4, 9:16)]), Colv = NA, 
+          trace = "none", breaks = c(-1, -.1, -0.0001, 0, 0.1, 1), 
+          col = c("blue", "lightblue", "grey", "pink", "red"), 
+          dendrogram = "none")
+

+

Figure 3. An application of the KSEA-like approach in leapR as +applied to our example data. In this example we are looking for known +substrate sets of kinases (from Phosphosite Plus) that are enriched in +the short vs long comparison of phosphopeptides.

+
+# this comparison of abundance in substrates between case and control
+#     is lopsided in the sense that phosphorylation levels were previously
+#     reported to be overall higher in the short survivors. Thus the
+#     results are not terribly interesting (all kinases are in the same 
+# direction)
+phosphodata.ksea.comp.svl <- leapR::leapR(
+  geneset = kinasesubstrates,
+  enrichment_method = "enrichment_comparison",
+  eset = phset,
+  assay_name = "phosphoproteomics",
+  primary_columns = shortlist, secondary_columns = longlist
+)
+
+
+# thus for the example we'll look at correlation between known substrates 
+#   in the   case v control conditions
+phosphodata.ksea.corr.svl <- leapR::leapR(
+  geneset = kinasesubstrates,
+  enrichment_method = "correlation_comparison",
+  eset = phset,
+  assay_name = "phosphoproteomics",
+  primary_columns = shortlist,
+  secondary_columns = longlist
+)
+
+# for the example we are using an UNCORRECTED PVALUE
+#     which will allow us to plot more values, but
+#     for real applications it's necessary to use the
+#     CORRECTED PVALUE
+
+# here are all the kinases *significant (*uncorrected) from the analysis
+or <- order(phosphodata.ksea.corr.svl[, "pvalue"])
+ksea_result <- phosphodata.ksea.corr.svl[or, ][1:9, ]
+ksea_cols <- rep("grey", 9)
+ksea_cols[which(ksea_result[, "oddsratio"] > 0)] <- "black"
+
+# plot left panel: correlation significance of top most significant kinases
+barplot(ksea_result[, "oddsratio"],
+  horiz = TRUE, xlim = c(-1, 0.5),
+  names.arg = rownames(ksea_result), las = 1, col = ksea_cols
+)
+

+
+
+# plot right panel: abundance comparison results of the same kinases
+barplot(phosphodata.ksea.comp.svl[rownames(ksea_result), "oddsratio"],
+  horiz = TRUE, names.arg = rownames(ksea_result), las = 1, col = "black"
+)
+

+
+
+ + + +
+ + + +
+ +
+

+

Site built with pkgdown 2.2.0.

+
+ +
+
+ + + + + + + + diff --git a/docs/articles/examples_files/figure-html/figure_2-1.png b/docs/articles/examples_files/figure-html/figure_2-1.png new file mode 100644 index 0000000000000000000000000000000000000000..6b5f620bf0236248540a6ab5f86cc7a5d359e831 GIT binary patch literal 40093 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 ZOJb)3F{R2%Z1C9~U!?uD@AHC_{{^&4&lvy! literal 0 HcmV?d00001 diff --git a/docs/articles/examples_files/figure-html/figure_3-2.png b/docs/articles/examples_files/figure-html/figure_3-2.png new file mode 100644 index 0000000000000000000000000000000000000000..44400ee2863a953bd082cf4f031cf81030938d56 GIT binary patch literal 22159 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 +Articles • leapR + + +
+
+ + + +
+
+ + +
+

All vignettes

+

+ +
leapR Paper Examples
+
+
leapR
+
+
leapR Order Enrichment Tests
+
+
+
+
+ + +
+ +
+

Site built with pkgdown 2.2.0.

+
+ +
+ + + + + + + + diff --git a/docs/articles/leapR.html b/docs/articles/leapR.html new file mode 100644 index 0000000..768bdd2 --- /dev/null +++ b/docs/articles/leapR.html @@ -0,0 +1,869 @@ + + + + + + + +leapR • leapR + + + + + + + + + + + +
+
+ + + + +
+
+
+ + + + +
+

Installation +

+

This is intended to be a short introduction to the leapR +package. First we need to load the required libraries:

+
+# install from bioconductor
+if (!require(BiocManager)) {
+  install.packages('BiocManager')
+  BiocManager::install('leapR')
+}
+
+
+

Load libraries needed +

+
+# load the core libraries
+library(leapR)
+library(gplots)
+library(rmarkdown)
+# plotting helpers used in this vignette
+library(ggplot2)
+library(dplyr)
+library(tibble)
+library(stringr)
+
+
+

Introduction +

+
+

Definitions +

+

Dataset - an expression dataset, contained in the +Bioconductor object, that at the bare minimum has a matrix of components +(rows) measured in the same system under multiple different conditions +(columns)

+

Component - the things being measured, genes, proteins, +methylation site, phosphosite, etc. For functional (currently) the +component must be associated with a gene name. That is, there’s not +currently a way to calculate pathway enrichment using lipids.

+

Pathway - a set of components that works together to +accomplish something or are related to each other in some other way. +This includes classic signaling and metabolic pathways, but also +molecular function and localization categories and other groups of +related components, like genome location, conservation, etc.

+

Condition - a sample where the treatment, environmental +conditions, patient, time point or some combination of those is +varied.

+

The overall idea for functional enrichment is to determine which +pathways are statistically over-represented in one group versus another, +display statistically differential abundance from one group to another, +or are statistically differentially distributed in a ranked list based +on the abundance of one sample. Each of these purposes has a different +underlying statistical test (or family of tests) and the results of each +can be interpreted in somewhat different ways. The purpose of this +vignette is to give the user a very brief introduction on how to use the +package, not to discuss the underlying statistical choices that need to +be made when analyzing such data.

+

There are a number of caveats (probably non-exhaustive) with doing +this kind of analysis.

+
+
+

Important points for consideration +

+
+

Data normalization +

+

One important point is to use data that’s been normalized in a +particular way to do these analyses. Data here has been normalized as a +Z score by row (gene/protein/etc.). So, for each row, calculate +the mean and standard deviation across all the conditions (columns) and +then express as a Z score.

+

Here’s why. All high-throughput technologies (microarray, RNAseq, +MS-assisted proteomics, metabolomics, lipidomics, etc.) suffer from the +same limitation. The detectability of each molecule being detected +(protein, RNA, etc.) is different and, in general, it’s impossible to +accurately determine how detectable each one is. The multi-omic +functional enrichment process lumps together measurements from different +components (proteins, genes, etc.) to summarize a pathway. If the +component measurements aren’t directly comparable (they aren’t) then +this can and will introduce significant systematic errors and won’t +produce the results you’re looking for. Careful consideration must be +given that the results of the analysis reflect the question being asked +and that the normalization method hasn’t obscured the desired +results.

+
+
+

Background +

+

The background of comparison for functional enrichment is always +important, but it mainly impacts the Fisher’s exact tests in the +examples below. The background answers the question: “My functional +group of interest is statistically enriched relative to what?” For +Fisher’s exact tests this is critical. Generally, it is best to compare +enrichment against the components observed in the data (the experiment’s +universe) rather than the universe of all possible components. For +example, a proteomics dataset from plasma may contain a limited set of +proteins compared with all possible human proteins; using the observed +proteins as the background usually yields more meaningful results. Using +all possible proteins will result in substantially different +findings.

+
+
+

Multiple hypothesis correction +

+

When testing the statistical significance of differences in a lot of +pathways it’s necessary to correct for multiple hypotheses. This +essentially accounts for the possibility you might see SOMETHING +significant by chance if you just test enough things- so it moves p +values in a less significant direction. The more things you test, the +greater this move will be. So pathway databases with lots of pathways +are affected more by this correction, making it harder to get a +significant result (which is a good thing actually).

+
+
+

Pathway databases +

+

Two ‘databases’ (organized text files) are included for pathways. The +example is taken from the NCI’s Pathway Interaction Database (PID) and +covers signaling pathways in human - but is no longer being actively +maintained. They can be loaded as follows:

+
+data(ncipid)
+
+
+

Identifiers +

+

The identifiers (gene names, e.g.) for the data input MUST match the +identifiers used in the pathway database. The two included human +databases use the HGNC-approved gene names. Which means your data has to +use the same identifiers.

+
+
+

Example data +

+

A sample data set is included that is from the CPTAC study of 169 +ovarian tumors. We include the dataset as a object, containing three +assays (transcriptomics, global proteomics, and phosphoproteomics) to +enable interoperability with other tools, and store example file as +rda on Figshare +as example.

+

This data can be loaded as follows:

+
+# Inspect the `pset` SummarizedExperiment.
+str(pset)
+#> Formal class 'SummarizedExperiment' [package "SummarizedExperiment"] with 5 slots
+#>   ..@ colData        :Formal class 'DFrame' [package "S4Vectors"] with 6 slots
+#>   .. .. ..@ rownames       : chr [1:174] "TCGA-09-1664" "TCGA-09-2056" "TCGA-13-1404" "TCGA-13-1409" ...
+#>   .. .. ..@ nrows          : int 174
+#>   .. .. ..@ elementType    : chr "ANY"
+#>   .. .. ..@ elementMetadata: NULL
+#>   .. .. ..@ metadata       : list()
+#>   .. .. ..@ listData       : Named list()
+#>   ..@ assays         :Formal class 'SimpleAssays' [package "SummarizedExperiment"] with 1 slot
+#>   .. .. ..@ data:Formal class 'SimpleList' [package "S4Vectors"] with 4 slots
+#>   .. .. .. .. ..@ listData       :List of 1
+#>   .. .. .. .. .. ..$ proteomics: num [1:18632, 1:174] -4.0649 -0.1398 -0.0366 0.768 0.2437 ...
+#>   .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2
+#>   .. .. .. .. .. .. .. ..$ : chr [1:18632] "C9orf152" "ELMO2" "RPS11" "CREB3L1" ...
+#>   .. .. .. .. .. .. .. ..$ : chr [1:174] "TCGA-09-1664" "TCGA-09-2056" "TCGA-13-1404" "TCGA-13-1409" ...
+#>   .. .. .. .. ..@ elementType    : chr "ANY"
+#>   .. .. .. .. ..@ elementMetadata: NULL
+#>   .. .. .. .. ..@ metadata       : list()
+#>   ..@ NAMES          : chr [1:18632] "C9orf152" "ELMO2" "RPS11" "CREB3L1" ...
+#>   ..@ elementMetadata:Formal class 'DFrame' [package "S4Vectors"] with 6 slots
+#>   .. .. ..@ rownames       : NULL
+#>   .. .. ..@ nrows          : int 18632
+#>   .. .. ..@ elementType    : chr "ANY"
+#>   .. .. ..@ elementMetadata: NULL
+#>   .. .. ..@ metadata       : list()
+#>   .. .. ..@ listData       : Named list()
+#>   ..@ metadata       : list()
+dim(SummarizedExperiment::assay(pset, "proteomics"))
+#> [1] 18632   174
+head(rownames(pset))
+#> [1] "C9orf152" "ELMO2"    "RPS11"    "CREB3L1"  "PNMA1"    "MMP2"
+head(colnames(pset))
+#> [1] "TCGA-09-1664" "TCGA-09-2056" "TCGA-13-1404" "TCGA-13-1409" "TCGA-13-1410"
+#> [6] "TCGA-13-1482"
+

We also include some groups of patients to compare stored as R data +objects:

+
+data(shortlist)
+data(longlist)
+
+## columns that we want to use for results
+
+cols_to_display <- c("ingroup_n", "outgroup_n", "background_n", 
+                     "pvalue", "BH_pvalue")
+

The data are now loaded and ready to go through some of the +examples.

+
+
+
+
+

Examples +

+

We include five examples of how to use this tool, depending on the +analysis at hand. ## Comparison of one condition/group versus another +condition/group.

+

There are a number of ways to do this. I generally use a simple +approach which assesses the statistical difference in distributions +between the abundance values from all the members of a pathway in all +the group members from one group with those from the other group using a +t test.

+
+

Caveat +

+

This is a ‘bag of values’ approach and it does not pay attention to +the relationships between values in different groups (i.e. that each +group has measurements for the same component). There are likely issues +that rise because of this and caveats associated with it. However, it +works fairly well.

+
+
+

Description +

+

In this example we are assessing the enrichment of pathways in a +group of short surviving patients versus in a group of long +surviving
+patients. We can also do a single patient-to-patient comparison or +compare a single patient to a group of patients.

+
+
+

Interpretation +

+

Better corrected p-values are more enriched. However, you can get +good p-values when the algorithm only considers a limited number of +components from a pathway. That is, the pathway may have 30 members and +the p-value is coming from values from just 3 members. You can look at +the ingroup_n column from the result matrix to see this +(and screen out if desired).

+

It is VERY important to also consider the effect size. That is, the +difference between the mean of one group and the mean of the other +group. If there are large numbers of components in the pathway being +compared it is relatively easy to get a significant p value with small +effect size. Though this may be a real difference it is often not as +interesting as a smaller group with worse p value and greater effect +size. You can look at the effect size by comparing the +ingroup_mean and outgroup_mean columns.

+
+# in this example we lump a bunch of patients together (the 'short survivors')
+# and compare them to another group (the 'long survivors')
+
+### using enrichment_wrapper function
+protdata.enrichment.svl <- leapR::leapR(
+  geneset = ncipid,
+  enrichment_method = "enrichment_comparison",
+  eset = pset,
+  assay_name = "proteomics",
+  primary_columns = shortlist,
+  secondary_columns = longlist
+)
+
+or <- order(unlist(protdata.enrichment.svl[, "pvalue"]))
+rmarkdown::paged_table(protdata.enrichment.svl[or, cols_to_display])
+
+ +
+
+# another application is to compare just one patient against another
+# (this would be the  equivalent of comparing one time point to another)
+
+### using enrichment_wrapper function
+protdata.enrichment.svl.ovo <- leapR::leapR(
+  geneset = ncipid,
+  enrichment_method = "enrichment_comparison",
+  eset = pset,
+  assay_name = "proteomics",
+  primary_columns = shortlist[1],
+  secondary_columns = longlist[1]
+)
+or <- order(unlist(protdata.enrichment.svl.ovo[, "pvalue"]))
+rmarkdown::paged_table(protdata.enrichment.svl.ovo[or, cols_to_display])
+
+ +
+

When we only compare one sample to another, we get no enriched +pathways.

+
+
+

Fisher’s exact test +

+

For this test I use Fisher’s exact which is a simple comparison of +the overlap of two sets (think of it like a statistical Venn diagram +with two groups). It’s also referred to as a hypergeometric test.

+
+

Caveats +

+

Caveat 1. Fisher’s exact does not consider abundance values +but only lists of components. Generally this requires some separation of +a group of interest using differential expression, module membership +(from a network for example), or some other method.

+

Caveat 2. The choice of background for comparison can make a +big difference on outcome. For example, in a proteomics experiment where +you’re looking at enrichment in a group of highly differentially +expressed proteins, you could choose to use all possible proteins as a +background, or you could use just those proteins that were observed by +proteomics (generally a much more limited set). The second option is +generally the best since the first options will result in (partly to +mostly) functions that are enriched in proteins that are seen in +proteomics. That is, the most abundant proteins, which is generally not +the desired outcome.

+
+
+

Description +

+

In the example below I construct a genelist of interest using a +simple abundance threshold on the data then use a background of all the +genes in the example dataset (which is a limited number). I then do a +simple hierarchical clustering on the data, extract modules, and step +through each module to calculate enrichment for them, outputting the +results into a separate text file.

+
+
+

Interpretation +

+

As with the t test comparison above it is important to look at the +number of pathway members included in the comparison (look at the +in_path column). There is no ‘effect size’ problem with Fisher’s exact +since it’s just a set comparison, but it’s important to note that +significant p values can arise from a pathway being +underrepresented in the genelist, which often times is not the +desired result. The foldx column gives a ratio of in versus not in the +genelist, values > 1 being enriched and <1 being depleted.

+
+# for this example we will construct a list of genes from the expression data
+#     to emulate what you might be inputting
+genelist <- rownames(pset)[which(SummarizedExperiment::assay(pset, 
+                                                    "proteomics")[, 1] > 0.5)]
+
+protdata.enrichment.sets.test <- leapR::leapR(
+  geneset = ncipid,
+  enrichment_method = "enrichment_in_sets",
+  eset = pset,
+  assay_name = "proteomics",
+  targets = genelist
+)
+or <- order(protdata.enrichment.sets.test[, "pvalue"])
+rmarkdown::paged_table(protdata.enrichment.sets.test[or, cols_to_display])
+
+ +
+
+
+
+
+# in this example we construct some modules from the hierarchical clustering
+#   of the   data
+protdata_naf <- SummarizedExperiment::assay(pset, "proteomics")
+
+# hierarchical clustering is not too happy with lots of missing values
+#    so we'll do a zero fill on this to get the modules
+protdata_naf[which(is.na(protdata_naf))] <- 0
+
+# construct the hierarchical clustering using the 'wardD' method, which
+#    seems to give more even sized modules
+protdata_hc <- hclust(dist(protdata_naf), method = "ward.D2")
+
+# arbitrarily we'll chop the clusters into 5 modules
+modules <- cutree(protdata_hc, k = 5)
+
+## sara: created list
+clusters <- lapply(unique(modules), function(x) names(which(modules == x)))
+
+# modules is a named list of values where each value is a module
+#         number and the name is the gene name
+
+# To do enrichment for one module (module 1 in this case) do this
+protdata.enrichment.sets.module_1 <- leapR::leapR(
+  geneset = ncipid,
+  enrichment_method = "enrichment_in_sets",
+  eset = pset,
+  assay_name = "proteomics",
+  targets = names(modules[which(modules == 1)])
+)
+
+# To do enrichment on all modules and return the list of enrichment results
+protdata.enrichment.sets.modules <- do.call(rbind, 
+                                            leapR::cluster_enrichment(
+                                                eset = pset,
+                                                assay_name= 'proteomics',
+                                                geneset = ncipid,
+                                                clusters = clusters, 
+                                                sigfilter = 0.25))
+## nothing is enriched
+rmarkdown::paged_table(protdata.enrichment.sets.modules[, cols_to_display])
+
+ +
+
+
Visualizing Fisher’s exact results +
+
+# Plot the top enriched gene sets from Fisher's exact test
+# Stars indicate significance (None seen here)
+plot_leapr_bar(
+  protdata.enrichment.sets.test,
+  title = "Fisher's Exact Test: Top Enriched Pathways",
+  top_n = 10,
+  star_thresholds = c(0.05, 0.01, 0.001),
+  wrap = 40
+)
+

+
+
+
+
+

The Kolmogorov–Smirnov test (KS) +

+

Similar to the popular GSEA, KS tests whether a group of components +(the pathway) is distributed in a statistically significant manner in a +ranked list of components. That is, if all the members of the pathway +are clustered together at the top of the list (highly abundant, e.g.) or +at the bottom of the list (low abundance, e.g.) this will return good p +values. I should note that GSEA uses a more sophisticated approach than +this and their application has a lot of bells and whistles.

+
+

Description +

+

In the example below I’m simply calculating enrichment for one of the +patients in the list (arbitrarily selected). The ranking value is +relative protein abundance in this case, but can be any continuous +measure or derived value. For example, you could calculate the topology +of all proteins in a network and use the topology measure (degree) as +the measure.

+
+
+

Interpretation +

+

Similar to the other examples be cautious of pathways with good p +values that consider a small number of pathway numbers (in_path column). +The MeanPath column gives a measure that shows how far above or below +the median the mean rank of the pathway is (normalized to -1,1). The +Zscore column is a Zscore calculated on the basis of the mean percentage +rank of the pathway relative to the mean of the entire list divided by +the standard deviation of the pathway rank. The foldx column expresses +the mean percentage rank of the pathway relative to the entire list - +closer to 0 is higher in the list and closer to 1 is closer to the +bottom of the list. Each of these should give consistent results, but +will be somewhat different.

+
+# This is how you calculate enrichment in a ranked list 
+# (for example from topology)
+### using enrichment_wrapper function
+protdata.enrichment.order <- leapR::leapR(
+  geneset = ncipid, "enrichment_in_order",
+  eset = pset,
+  method = 'ks',
+  assay_name = "proteomics",
+  primary_columns = shortlist[1]
+)
+
+
+or <- order(protdata.enrichment.order[, "pvalue"])
+rmarkdown::paged_table(protdata.enrichment.order[or, cols_to_display])
+
+ +
+
+
Visualizing KS test results +
+
+# Plot the ranked enrichment results
+plot_leapr_bar(
+  protdata.enrichment.order,
+  title = "Kolmogorov-Smirnov Test: Ranked Enrichment",
+  top_n = 12,
+  fill_sig = "#2166AC",
+  fill_ns = "#B2DFDB",
+  wrap = 38
+)
+

+
+
+
+

KS alternative: the one-sample Z test +

+

Given that the KS test has not always been the best for +gene set enrichment we also implement the one-sample z test.

+
+# This is how you calculate enrichment in a ranked list 
+# (for example from topology)
+### using enrichment_wrapper function
+protdata.enrichment.order <- leapR::leapR(
+  geneset = ncipid, "enrichment_in_order",
+  eset = pset,
+  method = 'ztest',
+  assay_name = "proteomics",
+  primary_columns = shortlist[1]
+)
+
+
+or <- order(protdata.enrichment.order[, "pvalue"])
+rmarkdown::paged_table(protdata.enrichment.order[or, cols_to_display])
+
+ +
+
+
+plot_leapr_bar(
+  protdata.enrichment.order,
+  title = "Z Test: Ranked Enrichment",
+  top_n = 12,
+  fill_sig = "#2166AC",
+  fill_ns = "#B2DFDB",
+  wrap = 38
+)
+

+
+
+
+

Enrichment in Correlation +

+

The idea here is to use the correlation of pathway members to each +other versus to non-pathway members as a way to assess functional +enrichment. This idea seems sound- pathways that are varying in a +correlated way across a bunch of conditions (say time points or +patients) may be more active and more important than others. However, +more testing and validation is needed to show that this is the case.

+
+

Interpretation +

+

The ingroup_mean gives the mean correlation of the +pathway members to each other and outgroup_mean gives the correlation of +the pathway members to non-pathway members. Background_mean gives the +mean correlation of all non-pathway members. The pvalue and +BH_pvalue are for the pathway members to each other versus +those pathway members to non-pathway components. The +pvalue_background and BH_pvalue_background are +for the pathway member correlation relative to non-pathway member +correlation (which is similar but slightly different than the other +p-values).

+
+### using enrichment_wrapper function
+protdata.enrichment.correlation <- leapR::leapR(
+  geneset = ncipid,
+  enrichment_method = "correlation_enrichment",
+  assay_name = "proteomics",
+  eset = pset
+)
+
+or <- order(protdata.enrichment.correlation[, "pvalue"])
+rmarkdown::paged_table(head(protdata.enrichment.correlation[or, 
+                                                      cols_to_display]))
+
+ +
+
+
+protdata.enrichment.correlation.short <- leapR::leapR(
+  geneset = ncipid,
+  enrichment_method = "correlation_enrichment",
+  assay_name = "proteomics",
+  eset = pset[, shortlist]
+)
+or <- order(protdata.enrichment.correlation.short[, "pvalue"])
+rmarkdown::paged_table(head(protdata.enrichment.correlation.short[or, 
+                                                        cols_to_display]))
+
+ +
+
+
+protdata.enrichment.correlation.long <- leapR::leapR(
+  geneset = ncipid,
+  enrichment_method = "correlation_enrichment",
+  assay_name = "proteomics",
+  eset = pset[, longlist]
+)
+or <- order(protdata.enrichment.correlation.long[, "pvalue"])
+rmarkdown::paged_table(head(protdata.enrichment.correlation.long[or, 
+                                                            cols_to_display]))
+
+ +
+
+
Visualizing correlation enrichment results +
+
+# Compare correlation patterns across conditions
+plot_leapr_bar(
+  protdata.enrichment.correlation.short,
+  title = "Correlation Enrichment: Short Survivors",
+  top_n = 10,
+  fill_sig = "#1B9E77",
+  fill_ns = "#D8F0E8",
+  wrap = 36
+)
+

+
+
+
+
+

Phosphoproteomics data analysis +

+

In this example we will use phosphoproteomics data to assess the +enrichment in known kinase substrates (a proxy for kinase activity)

+
+data("kinasesubstrates")
+
+# for an individual tumor calculate the Kinase-Substrate 
+# Enrichment (similar to KSEA)
+#     This uses the site-specific phosphorylation data to determine 
+# which kinases
+#     might be active by assessing the enrichment of the 
+# phosphorylation of their known substrates
+
+phosphodata.ksea.order <- leapR::leapR(
+  geneset = kinasesubstrates,
+  enrichment_method = "enrichment_in_order",
+  assay_name = "phosphoproteomics",
+  eset = phset,
+  method = 'ztest', 
+  primary_columns = "TCGA-13-1484")
+
+or <- order(phosphodata.ksea.order[, "pvalue"])
+rmarkdown::paged_table(phosphodata.ksea.order[or, cols_to_display])
+
+ +
+
+
+
+# now do the same thing but use a threshold
+phosphodata.sets.order <- leapR::leapR(
+  geneset = kinasesubstrates,
+  enrichment_method = "enrichment_in_sets",
+  eset = phset,
+  assay_name = "phosphoproteomics",
+  threshold = 0.5,
+  primary_columns = "TCGA-13-1484"
+)
+or <- order(phosphodata.sets.order[, "pvalue"])
+rmarkdown::paged_table(phosphodata.sets.order[or, cols_to_display])
+
+ +
+
+
Visualizing kinase substrate enrichment +
+
+plot <- plot_leapr_bar(
+  phosphodata.sets.order,
+  title            = "Kinase Substrate Enrichment (Phosphoproteomics)",
+  top_n            = 15,
+  star_thresholds  = c(0.05, 0.01, 1e-3),
+  wrap             = 36,
+  fill_sig         = "#0F766E",  # dark teal for significant
+  fill_ns          = "#99F6E4",  # light teal for non-significant
+  outline          = "grey30",
+  axis_text_y_size = 7,
+  axis_text_x_size = 8
+)
+
+plot
+

+
+
+# You can also modify the plot further using standard ggplot2 arguments
+plot + ggplot2::labs(
+  y = expression(-log[10]("adjusted p-value")),
+  caption = "* p<0.05, ** p<0.01, *** p<0.001"
+)
+

+

Lastly we print out the session info!

+
+sessionInfo()
+#> R version 4.5.2 (2025-10-31)
+#> Platform: aarch64-apple-darwin20
+#> Running under: macOS Tahoe 26.2
+#> 
+#> Matrix products: default
+#> BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
+#> LAPACK: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.1
+#> 
+#> locale:
+#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
+#> 
+#> time zone: America/Los_Angeles
+#> tzcode source: internal
+#> 
+#> attached base packages:
+#> [1] stats     graphics  grDevices utils     datasets  methods   base     
+#> 
+#> other attached packages:
+#> [1] stringr_1.6.0    tibble_3.3.1     dplyr_1.1.4      ggplot2_4.0.1   
+#> [5] rmarkdown_2.30   gplots_3.3.0     leapR_0.99.7     BiocStyle_2.38.0
+#> 
+#> loaded via a namespace (and not attached):
+#>  [1] SummarizedExperiment_1.40.0 gtable_0.3.6               
+#>  [3] xfun_0.56                   bslib_0.10.0               
+#>  [5] htmlwidgets_1.6.4           caTools_1.18.3             
+#>  [7] Biobase_2.70.0              lattice_0.22-7             
+#>  [9] tzdb_0.5.0                  vctrs_0.7.1                
+#> [11] tools_4.5.2                 bitops_1.0-9               
+#> [13] generics_0.1.4              stats4_4.5.2               
+#> [15] pkgconfig_2.0.3             Matrix_1.7-4               
+#> [17] KernSmooth_2.23-26          RColorBrewer_1.1-3         
+#> [19] S7_0.2.1                    desc_1.4.3                 
+#> [21] S4Vectors_0.48.0            lifecycle_1.0.5            
+#> [23] compiler_4.5.2              farver_2.1.2               
+#> [25] textshaping_1.0.4           Seqinfo_1.0.0              
+#> [27] htmltools_0.5.9             sass_0.4.10                
+#> [29] yaml_2.3.12                 pkgdown_2.2.0              
+#> [31] pillar_1.11.1               jquerylib_0.1.4            
+#> [33] DelayedArray_0.36.0         cachem_1.1.0               
+#> [35] abind_1.4-8                 gtools_3.9.5               
+#> [37] tidyselect_1.2.1            digest_0.6.39              
+#> [39] stringi_1.8.7               bookdown_0.46              
+#> [41] labeling_0.4.3              fastmap_1.2.0              
+#> [43] grid_4.5.2                  cli_3.6.5                  
+#> [45] SparseArray_1.10.8          magrittr_2.0.4             
+#> [47] S4Arrays_1.10.1             readr_2.1.6                
+#> [49] withr_3.0.2                 scales_1.4.0               
+#> [51] XVector_0.50.0              matrixStats_1.5.0          
+#> [53] otel_0.2.0                  ragg_1.5.0                 
+#> [55] hms_1.1.4                   evaluate_1.0.5             
+#> [57] knitr_1.51                  GenomicRanges_1.62.1       
+#> [59] IRanges_2.44.0              rlang_1.1.7                
+#> [61] glue_1.8.0                  BiocManager_1.30.27        
+#> [63] BiocGenerics_0.56.0         rstudioapi_0.18.0          
+#> [65] jsonlite_2.0.0              R6_2.6.1                   
+#> [67] MatrixGenerics_1.22.0       systemfonts_1.3.1          
+#> [69] fs_1.6.6
+
+
+
+
+ + + +
+ + + +
+ +
+

+

Site built with pkgdown 2.2.0.

+
+ +
+
+ + + + + + + + diff --git a/docs/articles/leapR_files/figure-html/corr_plot-1.png b/docs/articles/leapR_files/figure-html/corr_plot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a8850566280e6cf5982e75dbbfe3d2b1155c938f GIT binary patch literal 57942 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 R#SD-yJzf1=);T3K0RVB!h3EhP literal 0 HcmV?d00001 diff --git a/docs/articles/leapR_files/figure-html/fishers_plot-1.png b/docs/articles/leapR_files/figure-html/fishers_plot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b1cc060624216674e640cec2a52e55d17c3a4465 GIT binary patch literal 54834 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 literal 0 HcmV?d00001 diff --git a/docs/articles/leapR_files/figure-html/ks_plot-1.png b/docs/articles/leapR_files/figure-html/ks_plot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c1a2be92a9424631b59c4176f9842ed083b71411 GIT binary patch literal 64650 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 literal 0 HcmV?d00001 diff --git a/docs/articles/leapR_files/figure-html/phos_plot-1.png b/docs/articles/leapR_files/figure-html/phos_plot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..6b60cf4028c2748fec6740b9260e522b528870d8 GIT binary patch literal 56209 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

Q$yFL4`~#0xEt7J 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 literal 0 HcmV?d00001 diff --git a/docs/articles/leapR_files/figure-html/zt-1.png b/docs/articles/leapR_files/figure-html/zt-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ac25009a0412be5ccb679ec720449d1f90bacc12 GIT binary patch literal 61272 zcmeFa2UJzrnl6et>oFjT3RMbWN56Bs@91&*zI(@bj8R>j0`^{etvUbyOaJT#(vqTEHqvjTp`qDA zxqMNUhGvZo4b7?>>(}DHsI9C~$G_Iz6c@dSf8%TBLXI>3wZZhVvN;XS0axs^yL zo-&nwf_11kuUSPorfWq_g|WFoJl;$z#lpgw;^h3}CBxeL;~kk3 z3)$?61_$y7a)vGaiic+s?He~2a;{#!E*hGb`x#Bv{ra9J`oNCdU*BJsVX|5A^ZVB? zE`MM7^IMloPdnE9`i(~i-)#Ez?e0r==ze{B?BQyTU*BHcwSn9Q^7WGCzy89nZOgxy zvi$bj>qE{bbt>YgoaE%>1k>AHTxis+8nq^EeB!$vvL!}WWo_E9p=z>0Bk4xr{XXHP z84t;z(_e-zM0>X7*#{O`jeVn-xXQ6jx0rj_ZZ2{^5N9d;Y}R36tdxU6AUk{CiCcf| zZJus-))<-l{7O?aZ*UbZ`*q`&o*^2V(0p22THA0&*Fu@0^!qn#3=638s;Yyp@&zJ7 zL(kHwSv+MbZf{?TXWsYd(IW#3V-E(wScyPhy_!e~F-b`u4-bzvo6ap;7==`M0}~hy zB{1>`E}B1$a(^S&^M-S?$3*ARh)OBP_g1`9w|^h6pFV_lX20?nH@a3uM&{{^4y|OA z+#!+2pX8(jyN0A`f{NmQEUd>b8Q=+Yd6tJ

o9z8;f1Jf;*+D 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 0; + + // 4. If isCallable(callback) is false, throw a TypeError exception. + // See: http://es5.github.com/#x9.11 + if (typeof callback !== "function") { + throw new TypeError(callback + ' is not a function'); + } + + // 5. If thisArg was supplied, let T be thisArg; else let + // T be undefined. + if (arguments.length > 1) { + T = thisArg; + } + + // 6. Let k be 0 + k = 0; + + // 7. Repeat, while k < len + while (k < len) { + + var kValue; + + // a. Let Pk be ToString(k). + // This is implicit for LHS operands of the in operator + // b. Let kPresent be the result of calling the HasProperty + // internal method of O with argument Pk. + // This step can be combined with c + // c. If kPresent is true, then + if (k in O) { + + // i. Let kValue be the result of calling the Get internal + // method of O with argument Pk. + kValue = O[k]; + + // ii. Call the Call internal method of callback with T as + // the this value and argument list containing kValue, k, and O. + callback.call(T, kValue, k, O); + } + // d. Increase k by 1. + k++; + } + // 8. return undefined + }; +} + +// Production steps of ECMA-262, Edition 5, 15.4.4.19 +// Reference: http://es5.github.io/#x15.4.4.19 +if (!Array.prototype.map) { + + Array.prototype.map = function(callback, thisArg) { + + var T, A, k; + + if (this == null) { + throw new TypeError(' this is null or not defined'); + } + + // 1. Let O be the result of calling ToObject passing the |this| + // value as the argument. + var O = Object(this); + + // 2. Let lenValue be the result of calling the Get internal + // method of O with the argument "length". + // 3. Let len be ToUint32(lenValue). + var len = O.length >>> 0; + + // 4. If IsCallable(callback) is false, throw a TypeError exception. + // See: http://es5.github.com/#x9.11 + if (typeof callback !== 'function') { + throw new TypeError(callback + ' is not a function'); + } + + // 5. If thisArg was supplied, let T be thisArg; else let T be undefined. + if (arguments.length > 1) { + T = thisArg; + } + + // 6. Let A be a new array created as if by the expression new Array(len) + // where Array is the standard built-in constructor with that name and + // len is the value of len. + A = new Array(len); + + // 7. Let k be 0 + k = 0; + + // 8. Repeat, while k < len + while (k < len) { + + var kValue, mappedValue; + + // a. Let Pk be ToString(k). + // This is implicit for LHS operands of the in operator + // b. Let kPresent be the result of calling the HasProperty internal + // method of O with argument Pk. + // This step can be combined with c + // c. If kPresent is true, then + if (k in O) { + + // i. Let kValue be the result of calling the Get internal + // method of O with argument Pk. + kValue = O[k]; + + // ii. Let mappedValue be the result of calling the Call internal + // method of callback with T as the this value and argument + // list containing kValue, k, and O. + mappedValue = callback.call(T, kValue, k, O); + + // iii. Call the DefineOwnProperty internal method of A with arguments + // Pk, Property Descriptor + // { Value: mappedValue, + // Writable: true, + // Enumerable: true, + // Configurable: true }, + // and false. + + // In browsers that support Object.defineProperty, use the following: + // Object.defineProperty(A, k, { + // value: mappedValue, + // writable: true, + // enumerable: true, + // configurable: true + // }); + + // For best browser support, use the following: + A[k] = mappedValue; + } + // d. Increase k by 1. + k++; + } + + // 9. return A + return A; + }; +} + +var PagedTable = function (pagedTable) { + var me = this; + + var source = function(pagedTable) { + var sourceElems = [].slice.call(pagedTable.children).filter(function(e) { + return e.hasAttribute("data-pagedtable-source"); + }); + + if (sourceElems === null || sourceElems.length !== 1) { + throw("A single data-pagedtable-source was not found"); + } + + return JSON.parse(sourceElems[0].innerHTML); + }(pagedTable); + + var options = function(source) { + var options = typeof(source.options) !== "undefined" && + source.options !== null ? source.options : {}; + + var columns = typeof(options.columns) !== "undefined" ? options.columns : {}; + var rows = typeof(options.rows) !== "undefined" ? options.rows : {}; + + var positiveIntOrNull = function(value) { + return parseInt(value) >= 0 ? parseInt(value) : null; + }; + + return { + pages: positiveIntOrNull(options.pages), + rows: { + min: positiveIntOrNull(rows.min), + max: positiveIntOrNull(rows.max), + total: positiveIntOrNull(rows.total) + }, + columns: { + min: positiveIntOrNull(columns.min), + max: positiveIntOrNull(columns.max), + total: positiveIntOrNull(columns.total) + } + }; + }(source); + + var Measurer = function() { + + // set some default initial values that will get adjusted in runtime + me.measures = { + padding: 12, + character: 8, + height: 15, + defaults: true + }; + + me.calculate = function(measuresCell) { + if (!me.measures.defaults) + return; + + var measuresCellStyle = window.getComputedStyle(measuresCell, null); + + var newPadding = parsePadding(measuresCellStyle.paddingLeft) + + parsePadding(measuresCellStyle.paddingRight); + + var sampleString = "ABCDEFGHIJ0123456789"; + var newCharacter = Math.ceil(measuresCell.clientWidth / sampleString.length); + + if (newPadding <= 0 || newCharacter <= 0) + return; + + me.measures.padding = newPadding; + me.measures.character = newCharacter; + me.measures.height = measuresCell.clientHeight; + me.measures.defaults = false; + }; + + return me; + }; + + var Page = function(data, options) { + var me = this; + + var defaults = { + max: 7, + rows: 10 + }; + + var totalPages = function() { + return Math.ceil(data.length / me.rows); + }; + + me.number = 0; + me.max = options.pages !== null ? options.pages : defaults.max; + me.visible = me.max; + me.rows = options.rows.min !== null ? options.rows.min : defaults.rows; + me.total = totalPages(); + + me.setRows = function(newRows) { + me.rows = newRows; + me.total = totalPages(); + }; + + me.setPageNumber = function(newPageNumber) { + if (newPageNumber < 0) newPageNumber = 0; + if (newPageNumber >= me.total) newPageNumber = me.total - 1; + + me.number = newPageNumber; + }; + + me.setVisiblePages = function(visiblePages) { + me.visible = Math.min(me.max, visiblePages); + me.setPageNumber(me.number); + }; + + me.getVisiblePageRange = function() { + var start = me.number - Math.max(Math.floor((me.visible - 1) / 2), 0); + var end = me.number + Math.floor(me.visible / 2) + 1; + var pageCount = me.total; + + if (start < 0) { + var diffToStart = 0 - start; + start += diffToStart; + end += diffToStart; + } + + if (end > pageCount) { + var diffToEnd = end - pageCount; + start -= diffToEnd; + end -= diffToEnd; + } + + start = start < 0 ? 0 : start; + end = end >= pageCount ? pageCount : end; + + var first = false; + var last = false; + + if (start > 0 && me.visible > 1) { + start = start + 1; + first = true; + } + + if (end < pageCount && me.visible > 2) { + end = end - 1; + last = true; + } + + return { + first: first, + start: start, + end: end, + last: last + }; + }; + + me.getRowStart = function() { + var rowStart = page.number * page.rows; + if (rowStart < 0) + rowStart = 0; + + return rowStart; + }; + + me.getRowEnd = function() { + var rowStart = me.getRowStart(); + return Math.min(rowStart + me.rows, data.length); + }; + + me.getPaddingRows = function() { + var rowStart = me.getRowStart(); + var rowEnd = me.getRowEnd(); + return data.length > me.rows ? me.rows - (rowEnd - rowStart) : 0; + }; + }; + + var Columns = function(data, columns, options) { + var me = this; + + me.defaults = { + min: 5 + }; + + me.number = 0; + me.visible = 0; + me.total = columns.length; + me.subset = []; + me.padding = 0; + me.min = options.columns.min !== null ? options.columns.min : me.defaults.min; + me.max = options.columns.max !== null ? options.columns.max : null; + me.widths = {}; + + var widthsLookAhead = Math.max(100, options.rows.min); + var paddingColChars = 10; + + me.emptyNames = function() { + columns.forEach(function(column) { + if (columns.label !== null && columns.label !== "") + return false; + }); + + return true; + }; + + var parsePadding = function(value) { + return parseInt(value) >= 0 ? parseInt(value) : 0; + }; + + me.calculateWidths = function(measures) { + columns.forEach(function(column) { + var maxChars = Math.max( + column.label.toString().length, + column.type.toString().length + ); + + for (var idxRow = 0; idxRow < Math.min(widthsLookAhead, data.length); idxRow++) { + maxChars = Math.max(maxChars, data[idxRow][column.name.toString()].length); + } + + me.widths[column.name] = { + // width in characters + chars: maxChars, + // width for the inner html columns + inner: maxChars * measures.character, + // width adding outer styles like padding + outer: maxChars * measures.character + measures.padding + }; + }); + }; + + me.getWidth = function() { + var widthOuter = 0; + for (var idxCol = 0; idxCol < me.subset.length; idxCol++) { + var columnName = me.subset[idxCol].name; + widthOuter = widthOuter + me.widths[columnName].outer; + } + + widthOuter = widthOuter + me.padding * paddingColChars * measurer.measures.character; + + if (me.hasMoreLeftColumns()) { + widthOuter = widthOuter + columnNavigationWidthPX + measurer.measures.padding; + } + + if (me.hasMoreRightColumns()) { + widthOuter = widthOuter + columnNavigationWidthPX + measurer.measures.padding; + } + + return widthOuter; + }; + + me.updateSlice = function() { + if (me.number + me.visible >= me.total) + me.number = me.total - me.visible; + + if (me.number < 0) me.number = 0; + + me.subset = columns.slice(me.number, Math.min(me.number + me.visible, me.total)); + + me.subset = me.subset.map(function(column) { + Object.keys(column).forEach(function(colKey) { + column[colKey] = column[colKey] === null ? "" : column[colKey].toString(); + }); + + column.width = null; + return column; + }); + }; + + me.setVisibleColumns = function(columnNumber, newVisibleColumns, paddingCount) { + me.number = columnNumber; + me.visible = newVisibleColumns; + me.padding = paddingCount; + + me.updateSlice(); + }; + + me.incColumnNumber = function(increment) { + me.number = me.number + increment; + }; + + me.setColumnNumber = function(newNumber) { + me.number = newNumber; + }; + + me.setPaddingCount = function(newPadding) { + me.padding = newPadding; + }; + + me.getPaddingCount = function() { + return me.padding; + }; + + me.hasMoreLeftColumns = function() { + return me.number > 0; + }; + + me.hasMoreRightColumns = function() { + return me.number + me.visible < me.total; + }; + + me.updateSlice(0); + return me; + }; + + var data = source.data; + var page = new Page(data, options); + var measurer = new Measurer(data, options); + var columns = new Columns(data, source.columns, options); + + var table = null; + var tableDiv = null; + var header = null; + var footer = null; + var tbody = null; + + // Caches pagedTable.clientWidth, specially for webkit + var cachedPagedTableClientWidth = null; + + var onChangeCallbacks = []; + + var clearSelection = function() { + if(document.selection && document.selection.empty) { + document.selection.empty(); + } else if(window.getSelection) { + var sel = window.getSelection(); + sel.removeAllRanges(); + } + }; + + var columnNavigationWidthPX = 5; + + var renderColumnNavigation = function(increment, backwards) { + var arrow = document.createElement("div"); + arrow.setAttribute("style", + "border-top: " + columnNavigationWidthPX + "px solid transparent;" + + "border-bottom: " + columnNavigationWidthPX + "px solid transparent;" + + "border-" + (backwards ? "right" : "left") + ": " + columnNavigationWidthPX + "px solid;"); + + var header = document.createElement("th"); + header.appendChild(arrow); + header.setAttribute("style", + "cursor: pointer;" + + "vertical-align: middle;" + + "min-width: " + columnNavigationWidthPX + "px;" + + "width: " + columnNavigationWidthPX + "px;"); + + header.onclick = function() { + columns.incColumnNumber(backwards ? -1 : increment); + + me.animateColumns(backwards); + renderFooter(); + + clearSelection(); + triggerOnChange(); + }; + + return header; + }; + + var maxColumnWidth = function(width) { + var padding = 80; + var columnMax = Math.max(cachedPagedTableClientWidth - padding, 0); + + return parseInt(width) > 0 ? + Math.min(columnMax, parseInt(width)) + "px" : + columnMax + "px"; + }; + + var clearHeader = function() { + var thead = pagedTable.querySelectorAll("thead")[0]; + thead.innerHTML = ""; + }; + + var renderHeader = function(clear) { + cachedPagedTableClientWidth = pagedTable.clientWidth; + + var fragment = document.createDocumentFragment(); + + header = document.createElement("tr"); + fragment.appendChild(header); + + if (columns.number > 0) + header.appendChild(renderColumnNavigation(-columns.visible, true)); + + columns.subset = columns.subset.map(function(columnData) { + var column = document.createElement("th"); + column.setAttribute("align", columnData.align); + column.style.textAlign = columnData.align; + + column.style.maxWidth = maxColumnWidth(null); + if (columnData.width) { + column.style.minWidth = + column.style.maxWidth = maxColumnWidth(columnData.width); + } + + var columnName = document.createElement("div"); + columnName.setAttribute("class", "pagedtable-header-name"); + if (columnData.label === "") { + columnName.innerHTML = " "; + } + else { + columnName.appendChild(document.createTextNode(columnData.label)); + } + column.appendChild(columnName); + + var columnType = document.createElement("div"); + columnType.setAttribute("class", "pagedtable-header-type"); + if (columnData.type === "") { + columnType.innerHTML = " "; + } + else { + columnType.appendChild(document.createTextNode("<" + columnData.type + ">")); + } + column.appendChild(columnType); + + header.appendChild(column); + + columnData.element = column; + + return columnData; + }); + + for (var idx = 0; idx < columns.getPaddingCount(); idx++) { + var paddingCol = document.createElement("th"); + paddingCol.setAttribute("class", "pagedtable-padding-col"); + header.appendChild(paddingCol); + } + + if (columns.number + columns.visible < columns.total) + header.appendChild(renderColumnNavigation(columns.visible, false)); + + if (typeof(clear) == "undefined" || clear) clearHeader(); + var thead = pagedTable.querySelectorAll("thead")[0]; + thead.appendChild(fragment); + }; + + me.animateColumns = function(backwards) { + var thead = pagedTable.querySelectorAll("thead")[0]; + + var headerOld = thead.querySelectorAll("tr")[0]; + var tbodyOld = table.querySelectorAll("tbody")[0]; + + me.fitColumns(backwards); + + renderHeader(false); + + header.style.opacity = "0"; + header.style.transform = backwards ? "translateX(-30px)" : "translateX(30px)"; + header.style.transition = "transform 200ms linear, opacity 200ms"; + header.style.transitionDelay = "0"; + + renderBody(false); + + if (headerOld) { + headerOld.style.position = "absolute"; + headerOld.style.transform = "translateX(0px)"; + headerOld.style.opacity = "1"; + headerOld.style.transition = "transform 100ms linear, opacity 100ms"; + headerOld.setAttribute("class", "pagedtable-remove-head"); + if (headerOld.style.transitionEnd) { + headerOld.addEventListener("transitionend", function() { + var headerOldByClass = thead.querySelector(".pagedtable-remove-head"); + if (headerOldByClass) thead.removeChild(headerOldByClass); + }); + } + else { + thead.removeChild(headerOld); + } + } + + if (tbodyOld) table.removeChild(tbodyOld); + + tbody.style.opacity = "0"; + tbody.style.transition = "transform 200ms linear, opacity 200ms"; + tbody.style.transitionDelay = "0ms"; + + // force relayout + window.getComputedStyle(header).opacity; + window.getComputedStyle(tbody).opacity; + + if (headerOld) { + headerOld.style.transform = backwards ? "translateX(20px)" : "translateX(-30px)"; + headerOld.style.opacity = "0"; + } + + header.style.transform = "translateX(0px)"; + header.style.opacity = "1"; + + tbody.style.opacity = "1"; + } + + me.onChange = function(callback) { + onChangeCallbacks.push(callback); + }; + + var triggerOnChange = function() { + onChangeCallbacks.forEach(function(onChange) { + onChange(); + }); + }; + + var clearBody = function() { + if (tbody) { + table.removeChild(tbody); + tbody = null; + } + }; + + var renderBody = function(clear) { + cachedPagedTableClientWidth = pagedTable.clientWidth + + var fragment = document.createDocumentFragment(); + + var pageData = data.slice(page.getRowStart(), page.getRowEnd()); + + pageData.forEach(function(dataRow, idxRow) { + var htmlRow = document.createElement("tr"); + htmlRow.setAttribute("class", (idxRow % 2 !==0) ? "even" : "odd"); + + if (columns.hasMoreLeftColumns()) + htmlRow.appendChild(document.createElement("td")); + + columns.subset.forEach(function(columnData) { + var cellName = columnData.name; + var dataCell = dataRow[cellName]; + var htmlCell = document.createElement("td"); + + if (dataCell === "NA") htmlCell.setAttribute("class", "pagedtable-na-cell"); + if (dataCell === "__NA__") dataCell = "NA"; + + var cellText = document.createTextNode(dataCell); + htmlCell.appendChild(cellText); + if (dataCell.length > 50) { + htmlCell.setAttribute("title", dataCell); + } + htmlCell.setAttribute("align", columnData.align); + htmlCell.style.textAlign = columnData.align; + htmlCell.style.maxWidth = maxColumnWidth(null); + if (columnData.width) { + htmlCell.style.minWidth = htmlCell.style.maxWidth = maxColumnWidth(columnData.width); + } + htmlRow.appendChild(htmlCell); + }); + + for (var idx = 0; idx < columns.getPaddingCount(); idx++) { + var paddingCol = document.createElement("td"); + paddingCol.setAttribute("class", "pagedtable-padding-col"); + htmlRow.appendChild(paddingCol); + } + + if (columns.hasMoreRightColumns()) + htmlRow.appendChild(document.createElement("td")); + + fragment.appendChild(htmlRow); + }); + + for (var idxPadding = 0; idxPadding < page.getPaddingRows(); idxPadding++) { + var paddingRow = document.createElement("tr"); + + var paddingCellRow = document.createElement("td"); + paddingCellRow.innerHTML = " "; + paddingCellRow.setAttribute("colspan", "100%"); + paddingRow.appendChild(paddingCellRow); + + fragment.appendChild(paddingRow); + } + + if (typeof(clear) == "undefined" || clear) clearBody(); + tbody = document.createElement("tbody"); + tbody.appendChild(fragment); + + table.appendChild(tbody); + }; + + var getLabelInfo = function() { + var pageStart = page.getRowStart(); + var pageEnd = page.getRowEnd(); + var totalRows = data.length; + + var totalRowsLabel = options.rows.total ? options.rows.total : totalRows; + var totalRowsLabelFormat = totalRowsLabel.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,'); + + var infoText = (pageStart + 1) + "-" + pageEnd + " of " + totalRowsLabelFormat + " rows"; + if (totalRows < page.rows) { + infoText = totalRowsLabel + " row" + (totalRows != 1 ? "s" : ""); + } + if (columns.total > columns.visible) { + var totalColumnsLabel = options.columns.total ? options.columns.total : columns.total; + + infoText = infoText + " | " + (columns.number + 1) + "-" + + (Math.min(columns.number + columns.visible, columns.total)) + + " of " + totalColumnsLabel + " columns"; + } + + return infoText; + }; + + var clearFooter = function() { + footer = pagedTable.querySelectorAll("div.pagedtable-footer")[0]; + footer.innerHTML = ""; + + return footer; + }; + + var createPageLink = function(idxPage) { + var pageLink = document.createElement("a"); + pageLinkClass = idxPage === page.number ? "pagedtable-index pagedtable-index-current" : "pagedtable-index"; + pageLink.setAttribute("class", pageLinkClass); + pageLink.setAttribute("data-page-index", idxPage); + pageLink.onclick = function() { + page.setPageNumber(parseInt(this.getAttribute("data-page-index"))); + renderBody(); + renderFooter(); + + triggerOnChange(); + }; + + pageLink.appendChild(document.createTextNode(idxPage + 1)); + + return pageLink; + } + + var renderFooter = function() { + footer = clearFooter(); + + var next = document.createElement("a"); + next.appendChild(document.createTextNode("Next")); + next.onclick = function() { + page.setPageNumber(page.number + 1); + renderBody(); + renderFooter(); + + triggerOnChange(); + }; + if (data.length > page.rows) footer.appendChild(next); + + var pageNumbers = document.createElement("div"); + pageNumbers.setAttribute("class", "pagedtable-indexes"); + + var pageRange = page.getVisiblePageRange(); + + if (pageRange.first) { + var pageLink = createPageLink(0); + pageNumbers.appendChild(pageLink); + + var pageSeparator = document.createElement("div"); + pageSeparator.setAttribute("class", "pagedtable-index-separator-left"); + pageSeparator.appendChild(document.createTextNode("...")) + pageNumbers.appendChild(pageSeparator); + } + + for (var idxPage = pageRange.start; idxPage < pageRange.end; idxPage++) { + var pageLink = createPageLink(idxPage); + + pageNumbers.appendChild(pageLink); + } + + if (pageRange.last) { + var pageSeparator = document.createElement("div"); + pageSeparator.setAttribute("class", "pagedtable-index-separator-right"); + pageSeparator.appendChild(document.createTextNode("...")) + pageNumbers.appendChild(pageSeparator); + + var pageLink = createPageLink(page.total - 1); + pageNumbers.appendChild(pageLink); + } + + if (data.length > page.rows) footer.appendChild(pageNumbers); + + var previous = document.createElement("a"); + previous.appendChild(document.createTextNode("Previous")); + previous.onclick = function() { + page.setPageNumber(page.number - 1); + renderBody(); + renderFooter(); + + triggerOnChange(); + }; + if (data.length > page.rows) footer.appendChild(previous); + + var infoLabel = document.createElement("div"); + infoLabel.setAttribute("class", "pagedtable-info"); + infoLabel.setAttribute("title", getLabelInfo()); + infoLabel.appendChild(document.createTextNode(getLabelInfo())); + footer.appendChild(infoLabel); + + var enabledClass = "pagedtable-index-nav"; + var disabledClass = "pagedtable-index-nav pagedtable-index-nav-disabled"; + previous.setAttribute("class", page.number <= 0 ? disabledClass : enabledClass); + next.setAttribute("class", (page.number + 1) * page.rows >= data.length ? disabledClass : enabledClass); + }; + + var measuresCell = null; + + var renderMeasures = function() { + var measuresTable = document.createElement("table"); + measuresTable.style.visibility = "hidden"; + measuresTable.style.position = "absolute"; + measuresTable.style.whiteSpace = "nowrap"; + measuresTable.style.height = "auto"; + measuresTable.style.width = "auto"; + + var measuresRow = document.createElement("tr"); + measuresTable.appendChild(measuresRow); + + measuresCell = document.createElement("td"); + var sampleString = "ABCDEFGHIJ0123456789"; + measuresCell.appendChild(document.createTextNode(sampleString)); + + measuresRow.appendChild(measuresCell); + + tableDiv.appendChild(measuresTable); + } + + me.init = function() { + tableDiv = document.createElement("div"); + pagedTable.appendChild(tableDiv); + var pagedTableClass = data.length > 0 ? + "pagedtable pagedtable-not-empty" : + "pagedtable pagedtable-empty"; + + if (columns.total == 0 || (columns.emptyNames() && data.length == 0)) { + pagedTableClass = pagedTableClass + " pagedtable-empty-columns"; + } + + tableDiv.setAttribute("class", pagedTableClass); + + renderMeasures(); + measurer.calculate(measuresCell); + columns.calculateWidths(measurer.measures); + + table = document.createElement("table"); + table.setAttribute("cellspacing", "0"); + table.setAttribute("class", "table table-condensed"); + tableDiv.appendChild(table); + + table.appendChild(document.createElement("thead")); + + var footerDiv = document.createElement("div"); + footerDiv.setAttribute("class", "pagedtable-footer"); + tableDiv.appendChild(footerDiv); + + // if the host has not yet provided horizontal space, render hidden + if (tableDiv.clientWidth <= 0) { + tableDiv.style.opacity = "0"; + } + + me.render(); + + // retry seizing columns later if the host has not provided space + function retryFit() { + if (tableDiv.clientWidth <= 0) { + setTimeout(retryFit, 100); + } else { + me.render(); + triggerOnChange(); + } + } + if (tableDiv.clientWidth <= 0) { + retryFit(); + } + }; + + var registerWidths = function() { + columns.subset = columns.subset.map(function(column) { + column.width = columns.widths[column.name].inner; + return column; + }); + }; + + var parsePadding = function(value) { + return parseInt(value) >= 0 ? parseInt(value) : 0; + }; + + me.fixedHeight = function() { + return options.rows.max != null; + } + + me.fitRows = function() { + if (me.fixedHeight()) + return; + + measurer.calculate(measuresCell); + + var rows = options.rows.min !== null ? options.rows.min : 0; + var headerHeight = header !== null && header.offsetHeight > 0 ? header.offsetHeight : 0; + var footerHeight = footer !== null && footer.offsetHeight > 0 ? footer.offsetHeight : 0; + + if (pagedTable.offsetHeight > 0) { + var availableHeight = pagedTable.offsetHeight - headerHeight - footerHeight; + rows = Math.floor((availableHeight) / measurer.measures.height); + } + + rows = options.rows.min !== null ? Math.max(options.rows.min, rows) : rows; + + page.setRows(rows); + } + + // The goal of this function is to add as many columns as possible + // starting from left-to-right, when the right most limit is reached + // it tries to add columns from the left as well. + // + // When startBackwards is true columns are added from right-to-left + me.fitColumns = function(startBackwards) { + measurer.calculate(measuresCell); + columns.calculateWidths(measurer.measures); + + if (tableDiv.clientWidth > 0) { + tableDiv.style.opacity = 1; + } + + var visibleColumns = tableDiv.clientWidth <= 0 ? Math.max(columns.min, 1) : 1; + var columnNumber = columns.number; + var paddingCount = 0; + + // track a list of added columns as we build the visible ones to allow us + // to remove columns when they don't fit anymore. + var columnHistory = []; + + var lastTableHeight = 0; + var backwards = startBackwards; + + var tableDivStyle = window.getComputedStyle(tableDiv, null); + var tableDivPadding = parsePadding(tableDivStyle.paddingLeft) + + parsePadding(tableDivStyle.paddingRight); + + var addPaddingCol = false; + var currentWidth = 0; + + while (true) { + columns.setVisibleColumns(columnNumber, visibleColumns, paddingCount); + currentWidth = columns.getWidth(); + + if (tableDiv.clientWidth - tableDivPadding < currentWidth) { + break; + } + + columnHistory.push({ + columnNumber: columnNumber, + visibleColumns: visibleColumns, + paddingCount: paddingCount + }); + + if (columnHistory.length > 100) { + console.error("More than 100 tries to fit columns, aborting"); + break; + } + + if (columns.max !== null && + columns.visible + columns.getPaddingCount() >= columns.max) { + break; + } + + // if we run out of right-columns + if (!backwards && columnNumber + columns.visible >= columns.total) { + // if we started adding right-columns, try adding left-columns + if (!startBackwards && columnNumber > 0) { + backwards = true; + } + else if (columns.min === null || visibleColumns + columns.getPaddingCount() >= columns.min) { + break; + } + else { + paddingCount = paddingCount + 1; + } + } + + // if we run out of left-columns + if (backwards && columnNumber == 0) { + // if we started adding left-columns, try adding right-columns + if (startBackwards && columnNumber + columns.visible < columns.total) { + backwards = false; + } + else if (columns.min === null || visibleColumns + columns.getPaddingCount() >= columns.min) { + break; + } + else { + paddingCount = paddingCount + 1; + } + } + + // when moving backwards try fitting left columns first + if (backwards && columnNumber > 0) { + columnNumber = columnNumber - 1; + } + + if (columnNumber + visibleColumns < columns.total) { + visibleColumns = visibleColumns + 1; + } + } + + var lastRenderableColumn = { + columnNumber: columnNumber, + visibleColumns: visibleColumns, + paddingCount: paddingCount + }; + + if (columnHistory.length > 0) { + lastRenderableColumn = columnHistory[columnHistory.length - 1]; + } + + columns.setVisibleColumns( + lastRenderableColumn.columnNumber, + lastRenderableColumn.visibleColumns, + lastRenderableColumn.paddingCount); + + if (pagedTable.offsetWidth > 0) { + page.setVisiblePages(Math.max(Math.ceil(1.0 * (pagedTable.offsetWidth - 250) / 40), 2)); + } + + registerWidths(); + }; + + me.fit = function(startBackwards) { + me.fitRows(); + me.fitColumns(startBackwards); + } + + me.render = function() { + me.fitColumns(false); + + // render header/footer to measure height accurately + renderHeader(); + renderFooter(); + + me.fitRows(); + renderBody(); + + // re-render footer to match new rows + renderFooter(); + } + + var resizeLastWidth = -1; + var resizeLastHeight = -1; + var resizeNewWidth = -1; + var resizeNewHeight = -1; + var resizePending = false; + + me.resize = function(newWidth, newHeight) { + + function resizeDelayed() { + resizePending = false; + + if ( + (resizeNewWidth !== resizeLastWidth) || + (!me.fixedHeight() && resizeNewHeight !== resizeLastHeight) + ) { + resizeLastWidth = resizeNewWidth; + resizeLastHeight = resizeNewHeight; + + setTimeout(resizeDelayed, 200); + resizePending = true; + } else { + me.render(); + triggerOnChange(); + + resizeLastWidth = -1; + resizeLastHeight = -1; + } + } + + resizeNewWidth = newWidth; + resizeNewHeight = newHeight; + + if (!resizePending) resizeDelayed(); + }; +}; + +var PagedTableDoc; +(function (PagedTableDoc) { + var allPagedTables = []; + + PagedTableDoc.initAll = function() { + allPagedTables = []; + + var pagedTables = [].slice.call(document.querySelectorAll('[data-pagedtable="false"],[data-pagedtable=""]')); + pagedTables.forEach(function(pagedTable, idx) { + pagedTable.setAttribute("data-pagedtable", "true"); + pagedTable.setAttribute("pagedtable-page", 0); + pagedTable.setAttribute("class", "pagedtable-wrapper"); + + var pagedTableInstance = new PagedTable(pagedTable); + pagedTableInstance.init(); + + allPagedTables.push(pagedTableInstance); + }); + }; + + PagedTableDoc.resizeAll = function() { + allPagedTables.forEach(function(pagedTable) { + pagedTable.render(); + }); + }; + + window.addEventListener("resize", PagedTableDoc.resizeAll); + + return PagedTableDoc; +})(PagedTableDoc || (PagedTableDoc = {})); + +window.onload = function() { + PagedTableDoc.initAll(); +}; diff --git a/docs/authors.html b/docs/authors.html new file mode 100644 index 0000000..b06fd3b --- /dev/null +++ b/docs/authors.html @@ -0,0 +1,123 @@ + +Authors and Citation • leapR + + +
+
+ + + +
+
+
+ + + +
  • +

    Sara Gosline. Author, maintainer. +

    +
  • +
  • +

    Jason McDermott. Author. +

    +
  • +
  • +

    Jeremy Jacobson. Author. +

    +
  • +
  • +

    Vincent Danna. Contributor. +

    +
  • +
  • +

    National Institutes of Health. Funder. +

    +
  • +
+
+
+

Citation

+ +
+
+ + +

Gosline S, McDermott J, Jacobson J (2026). +leapR: Layered enrichment analysis of pathways R. +R package version 0.99.7. +

+
@Manual{,
+  title = {leapR: Layered enrichment analysis of pathways R},
+  author = {Sara Gosline and Jason McDermott and Jeremy Jacobson},
+  year = {2026},
+  note = {R package version 0.99.7},
+}
+ +
+ +
+ + + +
+ +
+

Site built with pkgdown 2.2.0.

+
+ +
+ + + + + + + + diff --git a/docs/bootstrap-toc.css b/docs/bootstrap-toc.css new file mode 100644 index 0000000..5a85941 --- /dev/null +++ b/docs/bootstrap-toc.css @@ -0,0 +1,60 @@ +/*! + * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ + +/* modified from https://github.com/twbs/bootstrap/blob/94b4076dd2efba9af71f0b18d4ee4b163aa9e0dd/docs/assets/css/src/docs.css#L548-L601 */ + +/* All levels of nav */ +nav[data-toggle='toc'] .nav > li > a { + display: block; + padding: 4px 20px; + font-size: 13px; + font-weight: 500; + color: #767676; +} +nav[data-toggle='toc'] .nav > li > a:hover, +nav[data-toggle='toc'] .nav > li > a:focus { + padding-left: 19px; + color: #563d7c; + text-decoration: none; + background-color: transparent; + border-left: 1px solid #563d7c; +} +nav[data-toggle='toc'] .nav > .active > a, +nav[data-toggle='toc'] .nav > .active:hover > a, +nav[data-toggle='toc'] .nav > .active:focus > a { + padding-left: 18px; + font-weight: bold; + color: #563d7c; + background-color: transparent; + border-left: 2px solid #563d7c; +} + +/* Nav: second level (shown on .active) */ +nav[data-toggle='toc'] .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + padding-bottom: 10px; +} +nav[data-toggle='toc'] .nav .nav > li > a { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 30px; + font-size: 12px; + font-weight: normal; +} +nav[data-toggle='toc'] .nav .nav > li > a:hover, +nav[data-toggle='toc'] .nav .nav > li > a:focus { + padding-left: 29px; +} +nav[data-toggle='toc'] .nav .nav > .active > a, +nav[data-toggle='toc'] .nav .nav > .active:hover > a, +nav[data-toggle='toc'] .nav .nav > .active:focus > a { + padding-left: 28px; + font-weight: 500; +} + +/* from https://github.com/twbs/bootstrap/blob/e38f066d8c203c3e032da0ff23cd2d6098ee2dd6/docs/assets/css/src/docs.css#L631-L634 */ +nav[data-toggle='toc'] .nav > .active > ul { + display: block; +} diff --git a/docs/bootstrap-toc.js b/docs/bootstrap-toc.js new file mode 100644 index 0000000..1cdd573 --- /dev/null +++ b/docs/bootstrap-toc.js @@ -0,0 +1,159 @@ +/*! + * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ +(function() { + 'use strict'; + + window.Toc = { + helpers: { + // return all matching elements in the set, or their descendants + findOrFilter: function($el, selector) { + // http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/ + // http://stackoverflow.com/a/12731439/358804 + var $descendants = $el.find(selector); + return $el.filter(selector).add($descendants).filter(':not([data-toc-skip])'); + }, + + generateUniqueIdBase: function(el) { + var text = $(el).text(); + var anchor = text.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g, '-'); + return anchor || el.tagName.toLowerCase(); + }, + + generateUniqueId: function(el) { + var anchorBase = this.generateUniqueIdBase(el); + for (var i = 0; ; i++) { + var anchor = anchorBase; + if (i > 0) { + // add suffix + anchor += '-' + i; + } + // check if ID already exists + if (!document.getElementById(anchor)) { + return anchor; + } + } + }, + + generateAnchor: function(el) { + if (el.id) { + return el.id; + } else { + var anchor = this.generateUniqueId(el); + el.id = anchor; + return anchor; + } + }, + + createNavList: function() { + return $(''); + }, + + createChildNavList: function($parent) { + var $childList = this.createNavList(); + $parent.append($childList); + return $childList; + }, + + generateNavEl: function(anchor, text) { + var $a = $(''); + $a.attr('href', '#' + anchor); + $a.text(text); + var $li = $('
  • '); + $li.append($a); + return $li; + }, + + generateNavItem: function(headingEl) { + var anchor = this.generateAnchor(headingEl); + var $heading = $(headingEl); + var text = $heading.data('toc-text') || $heading.text(); + return this.generateNavEl(anchor, text); + }, + + // Find the first heading level (`

    `, then `

    `, etc.) that has more than one element. Defaults to 1 (for `

    `). + getTopLevel: function($scope) { + for (var i = 1; i <= 6; i++) { + var $headings = this.findOrFilter($scope, 'h' + i); + if ($headings.length > 1) { + return i; + } + } + + return 1; + }, + + // returns the elements for the top level, and the next below it + getHeadings: function($scope, topLevel) { + var topSelector = 'h' + topLevel; + + var secondaryLevel = topLevel + 1; + var secondarySelector = 'h' + secondaryLevel; + + return this.findOrFilter($scope, topSelector + ',' + secondarySelector); + }, + + getNavLevel: function(el) { + return parseInt(el.tagName.charAt(1), 10); + }, + + populateNav: function($topContext, topLevel, $headings) { + var $context = $topContext; + var $prevNav; + + var helpers = this; + $headings.each(function(i, el) { + var $newNav = helpers.generateNavItem(el); + var navLevel = helpers.getNavLevel(el); + + // determine the proper $context + if (navLevel === topLevel) { + // use top level + $context = $topContext; + } else if ($prevNav && $context === $topContext) { + // create a new level of the tree and switch to it + $context = helpers.createChildNavList($prevNav); + } // else use the current $context + + $context.append($newNav); + + $prevNav = $newNav; + }); + }, + + parseOps: function(arg) { + var opts; + if (arg.jquery) { + opts = { + $nav: arg + }; + } else { + opts = arg; + } + opts.$scope = opts.$scope || $(document.body); + return opts; + } + }, + + // accepts a jQuery object, or an options object + init: function(opts) { + opts = this.helpers.parseOps(opts); + + // ensure that the data attribute is in place for styling + opts.$nav.attr('data-toggle', 'toc'); + + var $topContext = this.helpers.createChildNavList(opts.$nav); + var topLevel = this.helpers.getTopLevel(opts.$scope); + var $headings = this.helpers.getHeadings(opts.$scope, topLevel); + this.helpers.populateNav($topContext, topLevel, $headings); + } + }; + + $(function() { + $('nav[data-toggle="toc"]').each(function(i, el) { + var $nav = $(el); + Toc.init($nav); + }); + }); +})(); diff --git a/docs/docsearch.css b/docs/docsearch.css new file mode 100644 index 0000000..e5f1fe1 --- /dev/null +++ b/docs/docsearch.css @@ -0,0 +1,148 @@ +/* Docsearch -------------------------------------------------------------- */ +/* + Source: https://github.com/algolia/docsearch/ + License: MIT +*/ + +.algolia-autocomplete { + display: block; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.algolia-autocomplete .ds-dropdown-menu { + width: 100%; + min-width: none; + max-width: none; + padding: .75rem 0; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, .1); + box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175); +} + +@media (min-width:768px) { + .algolia-autocomplete .ds-dropdown-menu { + width: 175% + } +} + +.algolia-autocomplete .ds-dropdown-menu::before { + display: none +} + +.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] { + padding: 0; + background-color: rgb(255,255,255); + border: 0; + max-height: 80vh; +} + +.algolia-autocomplete .ds-dropdown-menu .ds-suggestions { + margin-top: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion { + padding: 0; + overflow: visible +} + +.algolia-autocomplete .algolia-docsearch-suggestion--category-header { + padding: .125rem 1rem; + margin-top: 0; + font-size: 1.3em; + font-weight: 500; + color: #00008B; + border-bottom: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--wrapper { + float: none; + padding-top: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column { + float: none; + width: auto; + padding: 0; + text-align: left +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content { + float: none; + width: auto; + padding: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content::before { + display: none +} + +.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header { + padding-top: .75rem; + margin-top: .75rem; + border-top: 1px solid rgba(0, 0, 0, .1) +} + +.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column { + display: block; + padding: .1rem 1rem; + margin-bottom: 0.1; + font-size: 1.0em; + font-weight: 400 + /* display: none */ +} + +.algolia-autocomplete .algolia-docsearch-suggestion--title { + display: block; + padding: .25rem 1rem; + margin-bottom: 0; + font-size: 0.9em; + font-weight: 400 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--text { + padding: 0 1rem .5rem; + margin-top: -.25rem; + font-size: 0.8em; + font-weight: 400; + line-height: 1.25 +} + +.algolia-autocomplete .algolia-docsearch-footer { + width: 110px; + height: 20px; + z-index: 3; + margin-top: 10.66667px; + float: right; + font-size: 0; + line-height: 0; +} + +.algolia-autocomplete .algolia-docsearch-footer--logo { + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-position: 50%; + background-size: 100%; + overflow: hidden; + text-indent: -9000px; + width: 100%; + height: 100%; + display: block; + transform: translate(-8px); +} + +.algolia-autocomplete .algolia-docsearch-suggestion--highlight { + color: #FF8C00; + background: rgba(232, 189, 54, 0.1) +} + + +.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight { + box-shadow: inset 0 -2px 0 0 rgba(105, 105, 105, .5) +} + +.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content { + background-color: rgba(192, 192, 192, .15) +} diff --git a/docs/docsearch.js b/docs/docsearch.js new file mode 100644 index 0000000..b35504c --- /dev/null +++ b/docs/docsearch.js @@ -0,0 +1,85 @@ +$(function() { + + // register a handler to move the focus to the search bar + // upon pressing shift + "/" (i.e. "?") + $(document).on('keydown', function(e) { + if (e.shiftKey && e.keyCode == 191) { + e.preventDefault(); + $("#search-input").focus(); + } + }); + + $(document).ready(function() { + // do keyword highlighting + /* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */ + var mark = function() { + + var referrer = document.URL ; + var paramKey = "q" ; + + if (referrer.indexOf("?") !== -1) { + var qs = referrer.substr(referrer.indexOf('?') + 1); + var qs_noanchor = qs.split('#')[0]; + var qsa = qs_noanchor.split('&'); + var keyword = ""; + + for (var i = 0; i < qsa.length; i++) { + var currentParam = qsa[i].split('='); + + if (currentParam.length !== 2) { + continue; + } + + if (currentParam[0] == paramKey) { + keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20")); + } + } + + if (keyword !== "") { + $(".contents").unmark({ + done: function() { + $(".contents").mark(keyword); + } + }); + } + } + }; + + mark(); + }); +}); + +/* Search term highlighting ------------------------------*/ + +function matchedWords(hit) { + var words = []; + + var hierarchy = hit._highlightResult.hierarchy; + // loop to fetch from lvl0, lvl1, etc. + for (var idx in hierarchy) { + words = words.concat(hierarchy[idx].matchedWords); + } + + var content = hit._highlightResult.content; + if (content) { + words = words.concat(content.matchedWords); + } + + // return unique words + var words_uniq = [...new Set(words)]; + return words_uniq; +} + +function updateHitURL(hit) { + + var words = matchedWords(hit); + var url = ""; + + if (hit.anchor) { + url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor; + } else { + url = hit.url + '?q=' + escape(words.join(" ")); + } + + return url; +} diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..877fbd4 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,214 @@ + + + + + + + +Layered enrichment analysis of pathways R • leapR + + + + + + + + + + + + +
    +
    + + + + +
    +
    +
    + +

    Layered Enrichment Analysis of Pathways in R (leapR) a tool that carries out statistical enrichment analysis on single- or multi-omics data.

    +
    +

    Install +

    +

    leapR is available through Bioconductor repository here

    +
    if (!require("BiocManager", quietly = TRUE))
    +    install.packages("BiocManager")
    +BiocManager::install(version = "3.21")
    +BiocManager::install('BiocStyle')
    +BiocManager::install('leapR')
    +

    Once you have successfully installed the package you can load the vignette to read examples using the vignette('leapR') command.

    +
    +
    +

    Basic Usage +

    +

    The primary function of the leapR package is the leapR function itself. This function serves a wrapper to run different styles of enrichment functions on the data. The package contains other functions to support pathway information and multi-omics datasets.

    +
    +

    Enrichment calls +

    +

    Here is a list of enrichment arguments that can be called with the leapR command.

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ArgumentDescription
    enrichment_in_setsCalculates enrichment in pathway membership in a list (e.g. highly differential proteins) relative to background using Fisher’s exact test.
    enrichment_in_orderCalculates enrichment of pathways based on a ranked list using the Kolmogorov-Smirnov test
    enrichment_comparisonCompares the distribution of abundances between two sets of conditions for each pathway using a t test
    enrichment_in_pathwaysCompares the distribution of abundances in a pathway with the background distribution of abundances using a t test
    correlation_enrichmentCalculates the enrichment of a pathway based on correlation between pathway members across conditions versus correlation between members not in the pathway
    enrichment_in_relationshipsCalculates the enrichment of a pathway in specified interactions relative to non-pathway members
    +
    +
    +

    Data examples +

    +

    We included examples of including proteomics data and transcriptomics data from 169 high-grade serous ovarian cancer (HGSOC) tumors previously studied and lists of the short- and long- surviving patients from that cohort.

    +
    +
    +

    Gene pathway examples +

    +

    We included two different gene pathways. An NCI pathway database (Pathway Information Database; PID) of signaling pathways and the MSIGDB set of gene collections from various sources.

    +
    +
    +
    +
    + + +
    + + +
    + +
    +

    +

    Site built with pkgdown 2.2.0.

    +
    + +
    +
    + + + + + + + + diff --git a/docs/link.svg b/docs/link.svg new file mode 100644 index 0000000..88ad827 --- /dev/null +++ b/docs/link.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/docs/pkgdown.css b/docs/pkgdown.css new file mode 100644 index 0000000..80ea5b8 --- /dev/null +++ b/docs/pkgdown.css @@ -0,0 +1,384 @@ +/* Sticky footer */ + +/** + * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ + * Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css + * + * .Site -> body > .container + * .Site-content -> body > .container .row + * .footer -> footer + * + * Key idea seems to be to ensure that .container and __all its parents__ + * have height set to 100% + * + */ + +html, body { + height: 100%; +} + +body { + position: relative; +} + +body > .container { + display: flex; + height: 100%; + flex-direction: column; +} + +body > .container .row { + flex: 1 0 auto; +} + +footer { + margin-top: 45px; + padding: 35px 0 36px; + border-top: 1px solid #e5e5e5; + color: #666; + display: flex; + flex-shrink: 0; +} +footer p { + margin-bottom: 0; +} +footer div { + flex: 1; +} +footer .pkgdown { + text-align: right; +} +footer p { + margin-bottom: 0; +} + +img.icon { + float: right; +} + +/* Ensure in-page images don't run outside their container */ +.contents img { + max-width: 100%; + height: auto; +} + +/* Fix bug in bootstrap (only seen in firefox) */ +summary { + display: list-item; +} + +/* Typographic tweaking ---------------------------------*/ + +.contents .page-header { + margin-top: calc(-60px + 1em); +} + +dd { + margin-left: 3em; +} + +/* Section anchors ---------------------------------*/ + +a.anchor { + display: none; + margin-left: 5px; + width: 20px; + height: 20px; + + background-image: url(./link.svg); + background-repeat: no-repeat; + background-size: 20px 20px; + background-position: center center; +} + +h1:hover .anchor, +h2:hover .anchor, +h3:hover .anchor, +h4:hover .anchor, +h5:hover .anchor, +h6:hover .anchor { + display: inline-block; +} + +/* Fixes for fixed navbar --------------------------*/ + +.contents h1, .contents h2, .contents h3, .contents h4 { + padding-top: 60px; + margin-top: -40px; +} + +/* Navbar submenu --------------------------*/ + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu>.dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover>.dropdown-menu { + display: block; +} + +.dropdown-submenu>a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: #cccccc; + margin-top: 5px; + margin-right: -10px; +} + +.dropdown-submenu:hover>a:after { + border-left-color: #ffffff; +} + +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left>.dropdown-menu { + left: -100%; + margin-left: 10px; + border-radius: 6px 0 6px 6px; +} + +/* Sidebar --------------------------*/ + +#pkgdown-sidebar { + margin-top: 30px; + position: -webkit-sticky; + position: sticky; + top: 70px; +} + +#pkgdown-sidebar h2 { + font-size: 1.5em; + margin-top: 1em; +} + +#pkgdown-sidebar h2:first-child { + margin-top: 0; +} + +#pkgdown-sidebar .list-unstyled li { + margin-bottom: 0.5em; +} + +/* bootstrap-toc tweaks ------------------------------------------------------*/ + +/* All levels of nav */ + +nav[data-toggle='toc'] .nav > li > a { + padding: 4px 20px 4px 6px; + font-size: 1.5rem; + font-weight: 400; + color: inherit; +} + +nav[data-toggle='toc'] .nav > li > a:hover, +nav[data-toggle='toc'] .nav > li > a:focus { + padding-left: 5px; + color: inherit; + border-left: 1px solid #878787; +} + +nav[data-toggle='toc'] .nav > .active > a, +nav[data-toggle='toc'] .nav > .active:hover > a, +nav[data-toggle='toc'] .nav > .active:focus > a { + padding-left: 5px; + font-size: 1.5rem; + font-weight: 400; + color: inherit; + border-left: 2px solid #878787; +} + +/* Nav: second level (shown on .active) */ + +nav[data-toggle='toc'] .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + padding-bottom: 10px; +} + +nav[data-toggle='toc'] .nav .nav > li > a { + padding-left: 16px; + font-size: 1.35rem; +} + +nav[data-toggle='toc'] .nav .nav > li > a:hover, +nav[data-toggle='toc'] .nav .nav > li > a:focus { + padding-left: 15px; +} + +nav[data-toggle='toc'] .nav .nav > .active > a, +nav[data-toggle='toc'] .nav .nav > .active:hover > a, +nav[data-toggle='toc'] .nav .nav > .active:focus > a { + padding-left: 15px; + font-weight: 500; + font-size: 1.35rem; +} + +/* orcid ------------------------------------------------------------------- */ + +.orcid { + font-size: 16px; + color: #A6CE39; + /* margins are required by official ORCID trademark and display guidelines */ + margin-left:4px; + margin-right:4px; + vertical-align: middle; +} + +/* Reference index & topics ----------------------------------------------- */ + +.ref-index th {font-weight: normal;} + +.ref-index td {vertical-align: top; min-width: 100px} +.ref-index .icon {width: 40px;} +.ref-index .alias {width: 40%;} +.ref-index-icons .alias {width: calc(40% - 40px);} +.ref-index .title {width: 60%;} + +.ref-arguments th {text-align: right; padding-right: 10px;} +.ref-arguments th, .ref-arguments td {vertical-align: top; min-width: 100px} +.ref-arguments .name {width: 20%;} +.ref-arguments .desc {width: 80%;} + +/* Nice scrolling for wide elements --------------------------------------- */ + +table { + display: block; + overflow: auto; +} + +/* Syntax highlighting ---------------------------------------------------- */ + +pre, code, pre code { + background-color: #f8f8f8; + color: #333; +} +pre, pre code { + white-space: pre-wrap; + word-break: break-all; + overflow-wrap: break-word; +} + +pre { + border: 1px solid #eee; +} + +pre .img, pre .r-plt { + margin: 5px 0; +} + +pre .img img, pre .r-plt img { + background-color: #fff; +} + +code a, pre a { + color: #375f84; +} + +a.sourceLine:hover { + text-decoration: none; +} + +.fl {color: #1514b5;} +.fu {color: #000000;} /* function */ +.ch,.st {color: #036a07;} /* string */ +.kw {color: #264D66;} /* keyword */ +.co {color: #888888;} /* comment */ + +.error {font-weight: bolder;} +.warning {font-weight: bolder;} + +/* Clipboard --------------------------*/ + +.hasCopyButton { + position: relative; +} + +.btn-copy-ex { + position: absolute; + right: 0; + top: 0; + visibility: hidden; +} + +.hasCopyButton:hover button.btn-copy-ex { + visibility: visible; +} + +/* headroom.js ------------------------ */ + +.headroom { + will-change: transform; + transition: transform 200ms linear; +} +.headroom--pinned { + transform: translateY(0%); +} +.headroom--unpinned { + transform: translateY(-100%); +} + +/* mark.js ----------------------------*/ + +mark { + background-color: rgba(255, 255, 51, 0.5); + border-bottom: 2px solid rgba(255, 153, 51, 0.3); + padding: 1px; +} + +/* vertical spacing after htmlwidgets */ +.html-widget { + margin-bottom: 10px; +} + +/* fontawesome ------------------------ */ + +.fab { + font-family: "Font Awesome 5 Brands" !important; +} + +/* don't display links in code chunks when printing */ +/* source: https://stackoverflow.com/a/10781533 */ +@media print { + code a:link:after, code a:visited:after { + content: ""; + } +} + +/* Section anchors --------------------------------- + Added in pandoc 2.11: https://github.com/jgm/pandoc-templates/commit/9904bf71 +*/ + +div.csl-bib-body { } +div.csl-entry { + clear: both; +} +.hanging-indent div.csl-entry { + margin-left:2em; + text-indent:-2em; +} +div.csl-left-margin { + min-width:2em; + float:left; +} +div.csl-right-inline { + margin-left:2em; + padding-left:1em; +} +div.csl-indent { + margin-left: 2em; +} diff --git a/docs/pkgdown.js b/docs/pkgdown.js new file mode 100644 index 0000000..6f0eee4 --- /dev/null +++ b/docs/pkgdown.js @@ -0,0 +1,108 @@ +/* http://gregfranko.com/blog/jquery-best-practices/ */ +(function($) { + $(function() { + + $('.navbar-fixed-top').headroom(); + + $('body').css('padding-top', $('.navbar').height() + 10); + $(window).resize(function(){ + $('body').css('padding-top', $('.navbar').height() + 10); + }); + + $('[data-toggle="tooltip"]').tooltip(); + + var cur_path = paths(location.pathname); + var links = $("#navbar ul li a"); + var max_length = -1; + var pos = -1; + for (var i = 0; i < links.length; i++) { + if (links[i].getAttribute("href") === "#") + continue; + // Ignore external links + if (links[i].host !== location.host) + continue; + + var nav_path = paths(links[i].pathname); + + var length = prefix_length(nav_path, cur_path); + if (length > max_length) { + max_length = length; + pos = i; + } + } + + // Add class to parent
  • , and enclosing
  • if in dropdown + if (pos >= 0) { + var menu_anchor = $(links[pos]); + menu_anchor.parent().addClass("active"); + menu_anchor.closest("li.dropdown").addClass("active"); + } + }); + + function paths(pathname) { + var pieces = pathname.split("/"); + pieces.shift(); // always starts with / + + var end = pieces[pieces.length - 1]; + if (end === "index.html" || end === "") + pieces.pop(); + return(pieces); + } + + // Returns -1 if not found + function prefix_length(needle, haystack) { + if (needle.length > haystack.length) + return(-1); + + // Special case for length-0 haystack, since for loop won't run + if (haystack.length === 0) { + return(needle.length === 0 ? 0 : -1); + } + + for (var i = 0; i < haystack.length; i++) { + if (needle[i] != haystack[i]) + return(i); + } + + return(haystack.length); + } + + /* Clipboard --------------------------*/ + + function changeTooltipMessage(element, msg) { + var tooltipOriginalTitle=element.getAttribute('data-original-title'); + element.setAttribute('data-original-title', msg); + $(element).tooltip('show'); + element.setAttribute('data-original-title', tooltipOriginalTitle); + } + + if(ClipboardJS.isSupported()) { + $(document).ready(function() { + var copyButton = ""; + + $("div.sourceCode").addClass("hasCopyButton"); + + // Insert copy buttons: + $(copyButton).prependTo(".hasCopyButton"); + + // Initialize tooltips: + $('.btn-copy-ex').tooltip({container: 'body'}); + + // Initialize clipboard: + var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', { + text: function(trigger) { + return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + } + }); + + clipboardBtnCopies.on('success', function(e) { + changeTooltipMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }); + + clipboardBtnCopies.on('error', function() { + changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); + }); + }); + } +})(window.jQuery || window.$) diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml new file mode 100644 index 0000000..ce30917 --- /dev/null +++ b/docs/pkgdown.yml @@ -0,0 +1,8 @@ +pandoc: 3.7.0.2 +pkgdown: 2.2.0 +pkgdown_sha: ~ +articles: + examples: examples.html + leapR: leapR.html + order-enrichment: order-enrichment.html +last_built: 2026-02-08T00:00Z diff --git a/docs/reference/calcTTest.html b/docs/reference/calcTTest.html new file mode 100644 index 0000000..5afb30b --- /dev/null +++ b/docs/reference/calcTTest.html @@ -0,0 +1,148 @@ + +calcTTest — calcTTest • leapR + + +
    +
    + + + +
    +
    + + +
    +

    calculates a t-test for two distributions of data on a per-gene basis +append results to ExpressionSet with two extra columns: `pvalue` and +`difference` for each feature

    +
    + +
    +
    calcTTest(eset, assay_name, group1, group2)
    +
    + +
    +

    Arguments

    + + +
    eset
    +

    SummarizedExperiment

    + + +
    assay_name
    +

    name of assay

    + + +
    group1
    +

    List of samples comprising group 1

    + + +
    group2
    +

    List of samples comprising group 2

    + +
    +
    +

    Value

    +

    An Expression set with two columns added to the featureData +slot: pvalue, and estimate

    +
    + +
    +

    Examples

    +
    
    +        library(leapR)
    +        url <- "https://api.figshare.com/v2/file/download/56536214"
    +        tdata <- download.file(url,method='libcurl',destfile='transData.rda')
    +        load('transData.rda')
    +        p <- file.remove("transData.rda")
    +
    +        # read in the pathways
    +        data("ncipid")
    +
    +        # read in the patient groups
    +        data("shortlist")
    +        data("longlist")
    +        calcTTest(tset, 'transcriptomics', shortlist, longlist)
    +#> class: SummarizedExperiment 
    +#> dim: 1999 174 
    +#> metadata(0):
    +#> assays(1): transcriptomics
    +#> rownames(1999): NOC2L ISG15 ... ARL6 MINA
    +#> rowData names(2): pvalue difference
    +#> colnames(174): TCGA-13-1484 TCGA-13-1495 ... TCGA-61-1995 TCGA-61-2008
    +#> colData names(0):
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/cluster_enrichment.html b/docs/reference/cluster_enrichment.html new file mode 100644 index 0000000..abd3cec --- /dev/null +++ b/docs/reference/cluster_enrichment.html @@ -0,0 +1,166 @@ + +cluster_enrichment — cluster_enrichment • leapR + + +
    +
    + + + +
    +
    + + +
    +

    Cluster enrichment Run enrichment (Fisher's exact) on clusters (lists of +identifier groups)

    +
    + +
    +
    cluster_enrichment(eset, assay_name, geneset, clusters, sigfilter = 0.05)
    +
    + +
    +

    Arguments

    + + +
    eset
    +

    is an SummarizedExperiment containing data that is clustered

    + + +
    assay_name
    +

    is the name of the assay

    + + +
    geneset
    +

    is a GeneSet object for pathway annotation

    + + +
    clusters
    +

    is a list of clusters (gene lists) to calculate enrichment +on, generally the result of the `cutree` function

    + + +
    sigfilter
    +

    minimum significance threshold default is .05

    + +
    +
    +

    Value

    +

    data frame with enrichment results

    +
    +
    +

    Details

    +

    This function will calculate enrichment (Fisher's exact test for + membership overlap) on

    +

    a series of lists of genes, such as from a set of clusters. The +results are returned as

    +

    a list of results matrices in the order of the input clusters.

    +
    + +
    +

    Examples

    +
            library(leapR)
    +
    +        # read in the example transcriptomic data
    +        url <- "https://api.figshare.com/v2/file/download/56536214"
    +        tdata <- download.file(url,method='libcurl',destfile='transData.rda')
    +        load('transData.rda')
    +        p <- file.remove("transData.rda")
    +
    +        # read in the pathways
    +        data("ncipid")
    +
    +        # for the example we will limit the number of transcripts considered
    +        #- arbitrarily in this case
    +        transdata <- SummarizedExperiment::assay(tset,'transcriptomics')
    +        transdata[which(is.na(transdata),arr.ind=TRUE)]<-0.0
    +        # perform heirarchical clustering on the  data
    +        transdata.hc <- hclust(dist(transdata), method="ward.D2")
    +
    +        transdata.hc.clusters <- cutree(transdata.hc, k=5)
    +        clust.list <- lapply(seq_len(5), function(x) {
    +           return(names(which(transdata.hc.clusters==x)))})
    +        #calculates enrichment for each of the clusters individually a
    +        #and returns a list of enrichment results
    +        transdata.hc.enrichment <- leapR::cluster_enrichment(eset=tset,
    +                assay_name='transcriptomics',
    +                geneset=ncipid,
    +                clusters=clust.list)
    +
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/combine_omics.html b/docs/reference/combine_omics.html new file mode 100644 index 0000000..064cd5f --- /dev/null +++ b/docs/reference/combine_omics.html @@ -0,0 +1,156 @@ + +combine_omics Combine two or more omics matrices into one multi-omics matrix with 'tagged' ids. — combine_omics • leapR + + +
    +
    + + + +
    +
    + + +
    +

    combine_omics +Combine two or more omics matrices into one multi-omics matrix with +'tagged' ids.

    +
    + +
    +
    combine_omics(omics_list, id_list = rep(NA, length(omics_list)))
    +
    + +
    +

    Arguments

    + + +
    omics_list
    +

    Is a list of SummarizedExperiment each with +one assay

    + + +
    id_list
    +

    List of identifiers to use, in the same order as the +omics_list elements. If an element +is `NA`, then rownames are used.

    + +
    +
    +

    Value

    +

    SummarizedExperiment with an additional assay called + `combined`

    +
    +
    +

    Details

    +

    This combines matrices of different omics types together and +adds prefix tags to the ids.

    +
    + +
    +

    Examples

    +
            library(leapR)
    +        url <- 'https://api.figshare.com/v2/file/download/56536217'
    +
    +        pdata <- download.file(url,method='libcurl',destfile='protData.rda')
    +#> Warning: downloaded length 18732111 != reported length 23253677
    +#> Warning: URL 'https://s3-eu-west-1.amazonaws.com/pfigshare-u-files/56536217/protData.rda?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIYCQYOYV5JSSROOA/20260208/eu-west-1/s3/aws4_request&X-Amz-Date=20260208T000035Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=3d35d9a6edc15872990b7dbabedeef681c1d49bcda05fa883149680acf838771': Timeout of 60 seconds was reached
    +#> Error in download.file(url, method = "libcurl", destfile = "protData.rda"): download from 'https://api.figshare.com/v2/file/download/56536217' failed
    +        load('protData.rda')
    +#> Error in load("protData.rda"): error reading from connection
    +        p <- file.remove("protData.rda")
    +
    +        url <- "https://api.figshare.com/v2/file/download/56536214"
    +        tdata <- download.file(url,method='libcurl',destfile='transData.rda')
    +        load('transData.rda')
    +        p <- file.remove("transData.rda")
    +
    +        url <- 'https://api.figshare.com/v2/file/download/56536211'
    +        phdata<-download.file(url,method='libcurl',destfile = 'phosData.rda')
    +        #phosphodata<-read.csv("phdata",check.names=FALSE,row.names=1)
    +        load('phosData.rda')
    +        p <- file.remove('phosData.rda')# read in the example protein data
    +
    +
    +        # merge the three datasets by rows and add prefix tags for
    +        # different omics types
    +        multi_omics <- combine_omics(list(pset, tset, phset),
    +                    list(NA,NA,'hgnc_id'))
    +#> Error: object 'pset' not found
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/correlation_comparison_enrichment.html b/docs/reference/correlation_comparison_enrichment.html new file mode 100644 index 0000000..3786472 --- /dev/null +++ b/docs/reference/correlation_comparison_enrichment.html @@ -0,0 +1,136 @@ + +correlation_comparison_enrichment — correlation_comparison_enrichment • leapR + + +
    +
    + + + +
    +
    + + +
    +

    # internal function to calculate enrichment in differences in correlation +# between two groups +# access through the leapr wrapper

    +
    + +
    +
    correlation_comparison_enrichment(
    +  geneset,
    +  eset,
    +  assay_name,
    +  set1,
    +  set2,
    +  mapping_column = NA
    +)
    +
    + +
    +

    Arguments

    + + +
    geneset
    +

    pathway to use for enrichment

    + + +
    eset
    +

    SummarizedExperiment with abundance matrix

    + + +
    assay_name
    +

    name of assay

    + + +
    set1
    +

    first set to use

    + + +
    set2
    +

    second set to use

    + + +
    mapping_column
    +

    Column to use for id mapping within rowData

    + +
    +
    +

    Value

    +

    data frame with enrichment results

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/correlation_enrichment.html b/docs/reference/correlation_enrichment.html new file mode 100644 index 0000000..9b35842 --- /dev/null +++ b/docs/reference/correlation_enrichment.html @@ -0,0 +1,119 @@ + +correlation_enrichment — correlation_enrichment • leapR + + +
    +
    + + + +
    +
    + + +
    +

    # calculate enrichment in correlation between pathway members +# access through leapr wrapper

    +
    + +
    +
    correlation_enrichment(geneset, eset, assay_name, mapping_column = NA)
    +
    + +
    +

    Arguments

    + + +
    geneset
    +

    Geneset list

    + + +
    eset
    +

    a SummarizedExperiment object

    + + +
    assay_name
    +

    name of assay

    + + +
    mapping_column
    +

    Column to use to map identifiers, if not rownames

    + +
    +
    +

    Value

    +

    list of enrichment statistic table and correlation matrix

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/enrichment_in_abundance.html b/docs/reference/enrichment_in_abundance.html new file mode 100644 index 0000000..eaf5c29 --- /dev/null +++ b/docs/reference/enrichment_in_abundance.html @@ -0,0 +1,160 @@ + +enrichment_in_abundance — enrichment_in_abundance • leapR + + +
    +
    + + + +
    +
    + + +
    +

    Enrichment in abundance calculates enrichment in pathways by the difference +in abundance of the pathway members.

    +
    + +
    +
    enrichment_in_abundance(
    +  geneset,
    +  eset,
    +  assay_name,
    +  mapping_column = NULL,
    +  abundance_column = NULL,
    +  fdr = 0,
    +  matchset = NULL,
    +  sample_comparison = NULL,
    +  min_p_threshold = NULL,
    +  sample_n = NULL,
    +  silence_try_errors = TRUE
    +)
    +
    + +
    +

    Arguments

    + + +
    geneset
    +

    Gene set to calculate enrichment

    + + +
    eset
    +

    Molecular abundance data in `SummarizedExperiment` format

    + + +
    assay_name
    +

    Name of assay to compare

    + + +
    mapping_column
    +

    Column to use to map identifiers

    + + +
    abundance_column
    +

    Columns to use to quantify abundance

    + + +
    fdr
    +

    number of times to sample for FDR value

    + + +
    matchset
    +

    Name of a set to use for enrichment

    + + +
    sample_comparison
    +

    list of samples to use as comparison. if missing +background (eset) is used

    + + +
    min_p_threshold
    +

    Only include p-values lower than this

    + + +
    sample_n
    +

    size of sample to use

    + + +
    silence_try_errors
    +

    set to true to silence try errors

    + +
    +
    +

    Value

    +

    data frame of enrichment result

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/enrichment_in_groups.html b/docs/reference/enrichment_in_groups.html new file mode 100644 index 0000000..18a646b --- /dev/null +++ b/docs/reference/enrichment_in_groups.html @@ -0,0 +1,160 @@ + +enrichment_in_groups — enrichment_in_groups • leapR + + +
    +
    + + + +
    +
    + + +
    +

    Calculate the enrichment in pathways using Fisher's exact or +Kolmogorov-Smirnov test, using either the abundance column to identify +feature or the targets list. access through leapr wrapper

    +
    + +
    +
    enrichment_in_groups(
    +  geneset,
    +  targets = c(),
    +  background = NULL,
    +  assay_name = NULL,
    +  method = "fishers",
    +  minsize = 5,
    +  mapping_column = NULL,
    +  abundance_column = NULL,
    +  randomize = FALSE,
    +  silence_try_errors = TRUE
    +)
    +
    + +
    +

    Arguments

    + + +
    geneset
    +

    geneset to use for enrichment

    + + +
    targets
    +

    targets to use for enrichment

    + + +
    background
    +

    `SummarizedExperiment` describing background to use

    + + +
    assay_name
    +

    is the name of the assay to use from the background

    + + +
    method
    +

    method to use for statistical test, options are +'fishers', 'ks', 'ztest', or 'chisq'. Remember that KS test assumes normality, so it would be good +to log your data before calling. NOTE: if you do not call `suppressWarnings` then +the KS test will warn you about ties.

    + + +
    minsize
    +

    minimum size of set

    + + +
    mapping_column
    +

    column name of mapping identifiers

    + + +
    abundance_column
    +

    columns mapping abundance, either in the `assay` +matrix or `rowData`

    + + +
    randomize
    +

    true/false whether to randomize

    + + +
    silence_try_errors
    +

    true/false to silence errors

    + +
    +
    +

    Value

    +

    data frame with enrichment results

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/enrichment_in_relationships.html b/docs/reference/enrichment_in_relationships.html new file mode 100644 index 0000000..cdf54ca --- /dev/null +++ b/docs/reference/enrichment_in_relationships.html @@ -0,0 +1,129 @@ + +enrichment_in_relationships — enrichment_in_relationships • leapR + + +
    +
    + + + +
    +
    + + +
    +

    enrichment_in_relationships function description is a general way to +determine if a pathway +is enriched in relationships (interactions, correlation) between its members +# access through leapr wrapper

    +
    + +
    +
    enrichment_in_relationships(
    +  geneset,
    +  relationships,
    +  idmap = NA,
    +  silence_try_errors = TRUE
    +)
    +
    + +
    +

    Arguments

    + + +
    geneset
    +

    List of pathways in gmt format

    + + +
    relationships
    +

    table of relationship information, e.g. correlation

    + + +
    idmap
    +

    list of identifiers to use for mapping, the names of the items +should agree with names of features in matrix

    + + +
    silence_try_errors
    +

    boolean to silence errors

    + +
    +
    +

    Value

    +

    table of enrichment statistics

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/get_pathway_information.html b/docs/reference/get_pathway_information.html new file mode 100644 index 0000000..d3ba365 --- /dev/null +++ b/docs/reference/get_pathway_information.html @@ -0,0 +1,128 @@ + +get_pathway_information — get_pathway_information • leapR + + +
    +
    + + + +
    +
    + + +
    +

    get_pathway_information extracts information about a pathway from a +GeneSet object

    +
    + +
    +
    get_pathway_information(geneset, path, remove.tags = FALSE)
    +
    + +
    +

    Arguments

    + + +
    geneset
    +

    is a GeneSet object for pathway annotation

    + + +
    path
    +

    is the name of the gene set pathway to be return

    + + +
    remove.tags
    +

    boolean indicating whether to remove tags

    + +
    +
    +

    Value

    +

    list of pathway information

    +
    + +
    +

    Examples

    +
    
    +     library(leapR)
    +
    +     # load example gene set
    +     data("ncipid")
    +
    +     tnfpathway = get_pathway_information(ncipid, "tnfpathway")
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/index.html b/docs/reference/index.html new file mode 100644 index 0000000..bbdc585 --- /dev/null +++ b/docs/reference/index.html @@ -0,0 +1,155 @@ + +Package index • leapR + + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    All functions

    +

    +
    +

    calcTTest()

    +

    calcTTest

    +

    cluster_enrichment()

    +

    cluster_enrichment

    +

    combine_omics()

    +

    combine_omics Combine two or more omics matrices into one multi-omics matrix with 'tagged' ids.

    +

    correlation_comparison_enrichment()

    +

    correlation_comparison_enrichment

    +

    correlation_enrichment()

    +

    correlation_enrichment

    +

    enrichment_in_abundance()

    +

    enrichment_in_abundance

    +

    enrichment_in_groups()

    +

    enrichment_in_groups

    +

    enrichment_in_relationships()

    +

    enrichment_in_relationships

    +

    get_pathway_information()

    +

    get_pathway_information

    +

    kinasesubstrates

    +

    Kinase substrate lists

    +

    krbpaths

    +

    KEGG, Reactome, BioCarta Pathways

    +

    leapR()

    +

    leapR

    +

    longlist

    +

    Long list of patient samples

    +

    ncipid

    +

    NCI Gene lists

    +

    plot_leapr_bar()

    +

    Plot leapR pathway bars (single panel)

    +

    read_gene_sets()

    +

    read_gene_sets

    +

    shortlist

    +

    A list of pathways and genes that comprise these pathways from msigdb

    + + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/kinasesubstrates.html b/docs/reference/kinasesubstrates.html new file mode 100644 index 0000000..9f22087 --- /dev/null +++ b/docs/reference/kinasesubstrates.html @@ -0,0 +1,113 @@ + +Kinase substrate lists — kinasesubstrates • leapR + + +
    +
    + + + +
    +
    + + +
    +

    Kinase substrate lists

    +
    + +
    +
    kinasesubstrates
    +
    + +
    +

    Format

    +

    A list with 4 items

    names
    +

    The names of the kinases

    + +
    desc
    +

    Short description of the kinase

    + +
    sizes
    +

    Length of the substrate list

    + +
    matrix
    +

    Substrate list for the kinase

    + + +
    +
    +

    Source

    +

    PhosphositePlus

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/krbpaths.html b/docs/reference/krbpaths.html new file mode 100644 index 0000000..05f0480 --- /dev/null +++ b/docs/reference/krbpaths.html @@ -0,0 +1,113 @@ + +KEGG, Reactome, BioCarta Pathways — krbpaths • leapR + + +
    +
    + + + +
    +
    + + +
    +

    KEGG, Reactome, BioCarta Pathways

    +
    + +
    +
    krbpaths
    +
    + +
    +

    Format

    +

    A list with 4 items

    names
    +

    The names of the pathways

    + +
    desc
    +

    Short description of the pathways

    + +
    sizes
    +

    Number of genes in the signaling pathways

    + +
    matrix
    +

    Matrix containing the genes in the pathways

    + + +
    +
    +

    Source

    +

    https://www.gsea-msigdb.org/gsea/msigdb_license_terms.jsp

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/leapR-package.html b/docs/reference/leapR-package.html new file mode 100644 index 0000000..7a41a1e --- /dev/null +++ b/docs/reference/leapR-package.html @@ -0,0 +1,97 @@ + +leapR: Layered enrichment analysis of pathways R — leapR-package • leapR + + +
    +
    + + + +
    +
    + + +
    +

    leapR is a package that identifies pathways that are enriched across diverse 'omics experiments. It leverages any tabular expression data (proteomics, transcriptomics) using the `SummarizedExperiment` object. It works with any pathway in the .gct file format.

    +
    + + +
    +

    Author

    +

    Maintainer: Sara Gosline sara.gosline@pnnl.gov (ORCID)

    +

    Authors:

    Other contributors:

    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/leapR.html b/docs/reference/leapR.html new file mode 100644 index 0000000..f2ff791 --- /dev/null +++ b/docs/reference/leapR.html @@ -0,0 +1,340 @@ + +leapR — leapR • leapR + + +
    +
    + + + +
    +
    + + +
    +

    leapR is a wrapper function that consolidates multiple enrichment methods.

    +
    + +
    +
    leapR(geneset, enrichment_method, eset, assay_name, ...)
    +
    + +
    +

    Arguments

    + + +
    geneset
    +

    is a list of four vectors, gene names, gene descriptions, gene +sizes and a matrix of genes. It represents .gmt format pathway files.

    + + +
    enrichment_method
    +

    is a character string specifying the method of +enrichment to be performed, one of: "enrichment_comparison", +"enrichment_in_order", "enrichment_in_sets", "enrichment_in_pathway", +"correlation_enrichment".

    + + +
    eset
    +

    is a `SummarizedExperiment` object containing expression data, +with features as rows and n sample/conditions as columns.

    + + +
    assay_name
    +

    is the assay to be analyzed within the `eset`. +Recommended to describe the data type (e.g. transcriptomics, proteomics) +so that it can be integrated in `combine_omics`

    + + +
    ...
    +

    further arguments

    + +
    +
    +

    Value

    +

    data frame with results

    +
    +
    +

    Details

    +

    Further arguments and enrichment method optional argument information:

    id_columnIs a character string, present in the rowData slot, +that is used to specify a column for identifiers to map to enrichment +libraries. +If missing, the rownames of the SummarizedExperiment assay will be used.
    primary_columnsIs a character vector composed of column names from +eset (either in the `assay` or in the `rowData`), +that specifies a set of primary columns to calculate enrichment on. +The meaning of this varies according to the enrichment method used - see +the descriptions for each method below. +This is an optional argument used with 'enrichment_in_order', +'enrichment_in_sets', and 'enrichment_comparison' methods.
    secondary_columns
    Is a character vector of column names for comparison, +pulled from the `assay` of the SummarizedExperiment. This is an +optional argument used with 'enrichment_comparison' methods.
    thresholdIs a numeric value, an optional argument used with +'enrichment_in sets' method which filters out abundance values or p-values +(depending on what `primary_columns` is used) +either above or below it.
    greaterthan
    Is a logical value that defaults to TRUE, it's used with +'enrichment_in_sets' method. +When set to TRUE, genes with `primary_columns` value above the +threshold argument are kept. +When set to FALSE genes with `primary_columns` value below the +threshold argument are kept. +This is an optional argument used with 'enrichment_in_sets' method.
    minsizeIs a numeric value, an optional argument used with +'enrichment_in_sets' and 'enrichment_in_order".
    fdr
    A numerical value which specifies how many times to randomly +sample genes to calculate an empirical false discovery rate, is an optional +argument used with 'enrichment_comparison' method.
    min_p_thresholdIs a numeric value, a lower p-value threshold and is an +optional argument used with 'enrichment_comparison' method.
    sample_n
    Is a way to subsample the number of components considered for +each calculation randomly. This is an optional argument used with +'enrichment_comparison' method.

    Enrichment Methods: +

    +enrichment_comparison +
    +Compares the distribution of abundances between two sets of +conditions for each pathway using a t test. For each pathway in +geneset uses a t test to compare the distribution of abundance +values/numbers in eset primary_columns with those in +eset secondary_columns. Lower p-values for pathways indicate +that the expression of the pathway is significantly different between the +set of conditions in primary_columns and the set of conditions in +secondary_columns. +Optionally, users can specify fdr which will calculate an empirical +p-value by randomizing abundances fdr number of times. If the +min_p_threshold is specified the method will only return pathways +with an adjusted p-value lower than the specified threshold. If +sample_n is specified the method will subsample the +pathway members to the specified number of components. +

    +enrichment_in_order +
    +Calculates enrichment of pathways based on a ranked list using the +Kolmogorov-Smirnov test. For each pathway in geneset uses a +Kolmogorov-Smirnov test for rank order to test if the distribution of ranked +abundance values in the eset primary_columns is significant +relative to a random distribution. Note that currently +primary_columns only accepts a single column for this method. +

    +enrichment_in_sets +
    +Calculates enrichment in pathway membership in a list (e.g. highly +differential proteins) relative to background using Fisher's exact test. For +each pathway in geneset uses a Fisher's exact test over- or under- +representation of a list of components specified. If targets are +specified this must be a vector of identifiers to serve as the target list +for comparison. If eset and primary_columns are specified then +threshold specifies a threshold value for determining the target list +of components to test. Specifying greaterthan to be False +will result in components with values lower than the specified +threshold. If eset is a data frame or matrix, the background +used for calculation will be taken as the rownames of eset +

    +enrichment_in_pathway +
    +Compares the distribution of abundances in a pathway with the background +distribution of abundances using a t test. For each pathway in +geneset calculates the significance of the difference between the +abundances from pathway members versus abundance of non-pathway members in +the set of conditions specified by primary_columns. Optionally, users +can specify fdr which will calculate an empirical p-value by +randomizing abundances fdr number of times. If the +min_p_threshold is specified the method will only return pathways +with an adjusted p-value lower than the specified threshold. If +sample_n is specified the method will subsample the +pathway members to the specified number of components. +

    +correlation_enrichment +
    +Calculates the enrichment of a pathway based on correlation between pathway +members across conditions versus correlation between members not in the +pathway. For each pathway in geneset calculates the pairwise +correlation between all pathway members and non-pathway members +across the specified primary_columns conditions in eset. Note +that for large matrices this can take a long time. A p-value is calculated +based on comparing the correlation within the members of a pathway with the +correlation values between members of the pathway and non-members of the +pathway. +

    +
    + +
    +

    Examples

    +
            library(leapR)
    +
    + # read in the example abundance data
    + # read in the example transcriptomic data
    + tdata <- download.file("https://api.figshare.com/v2/file/download/56536214",
    +      method='libcurl',destfile='transData.rda')
    + load('transData.rda')
    + p <- file.remove("transData.rda")
    +
    + # read in the pathways
    + data("ncipid")
    +
    + # read in the patient groups
    + data("shortlist")
    + data("longlist")
    +
    + # use enrichment_comparison to calculate enrichment in one set of
    + # conditions (shortlist) and another (longlist)
    + short_v_long = leapR(geneset=ncipid, assay_name='transcriptomics',
    +              enrichment_method='enrichment_comparison',
    +              eset=tset, primary_columns=shortlist,
    +               secondary_columns=longlist)
    +
    + # use enrichment_in_sets to calculate the most enriched pathways
    + # from the highest abundance proteins
    + #     from one condition
    + onept_sets = leapR(geneset=ncipid, assay_name='transcriptomics',
    +               enrichment_method='enrichment_in_sets',
    +               eset=tset, primary_columns="TCGA-13-1484", threshold=1.5)
    +
    + # use enrichment_in_order to calculate the most enriched pathways from the
    + # same condition
    + # Note: that this uses the entire set of abundance values and their order -
    + # whereas the previous example uses a hard threshold to get a short list of
    + # most abundant proteins and calculates enrichment based on set overlap.
    + # The results are likely to be similar - but with some notable differences.
    + onept_order = leapR(geneset=ncipid, assay_name='transcriptomics',
    +               enrichment_method='enrichment_in_order',
    +               eset=tset, primary_columns="TCGA-13-1484")
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +#> Warning: p-value will be approximate in the presence of ties
    +
    + # use enrichment_in_pathway to calculate the most enriched pathways in a
    + # set of conditions based on abundance in the pathway members versus
    + # abundance in non-pathway members
    + short_pathways = leapR(geneset=ncipid, assay_name='transcriptomics',
    +               enrichment_method='enrichment_in_pathway',
    +               eset=tset, primary_columns=shortlist)
    +
    + # use correlation_enrichment to calculate the most enriched pathways in
    + # correlation across the shortlist conditions
    + short_correlation_pathways = leapR(geneset=ncipid,
    +                assay_name='transcriptomics',
    +                enrichment_method='correlation_enrichment',
    +                eset=tset, primary_columns=shortlist)
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/longlist.html b/docs/reference/longlist.html new file mode 100644 index 0000000..422310c --- /dev/null +++ b/docs/reference/longlist.html @@ -0,0 +1,97 @@ + +Long list of patient samples — longlist • leapR + + +
    +
    + + + +
    +
    + + +
    +

    Long list of patient samples

    +
    + +
    +
    longlist
    +
    + +
    +

    Format

    +

    An object of class character of length 37.

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/ncipid.html b/docs/reference/ncipid.html new file mode 100644 index 0000000..876449e --- /dev/null +++ b/docs/reference/ncipid.html @@ -0,0 +1,113 @@ + +NCI Gene lists — ncipid • leapR + + +
    +
    + + + +
    +
    + + +
    +

    A list of pathways and the genes that comprise these pathways

    +
    + +
    +
    ncipid
    +
    + +
    +

    Format

    +

    A list with 4 items

    names
    +

    The names of the signaling pathways

    + +
    desc
    +

    Short description of the pathways

    + +
    sizes
    +

    Number of genes in the signaling pathways

    + +
    matrix
    +

    Matrix containing the genes in the pathways

    + + +
    +
    +

    Source

    +

    NCIPID

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/plot_leapr_bar.html b/docs/reference/plot_leapr_bar.html new file mode 100644 index 0000000..36df698 --- /dev/null +++ b/docs/reference/plot_leapr_bar.html @@ -0,0 +1,159 @@ + +Plot leapR pathway bars (single panel) — plot_leapr_bar • leapR + + +
    +
    + + + +
    +
    + + +
    +

    This plotting helper expects leapR generated results to plot. +It will use BH_pvalue if present, otherwise pvalue.

    +
    + +
    +
    plot_leapr_bar(
    +  res_df,
    +  title = NULL,
    +  top_n = 15,
    +  star_thresholds = c(0.05, 0.01, 0.001),
    +  wrap = 42,
    +  max_stars = 5L,
    +  fill_sig = "#2C7BB6",
    +  fill_ns = "#BFD7FF",
    +  outline = NA,
    +  axis_text_y_size = 8,
    +  axis_text_x_size = 9
    +)
    +
    + +
    +

    Arguments

    + + +
    res_df
    +

    A leapR df containing BH_pvalue (or pvalue) and a pathway/term label column.

    + + +
    title
    +

    Plot title.

    + + +
    top_n
    +

    Number of top pathways/genes to display.

    + + +
    star_thresholds
    +

    list of numeric significance thresholds for star annotations.

    + + +
    wrap
    +

    Wrap width for pathway labels (helps formatting).

    + + +
    max_stars
    +

    Maximum number of stars to draw per bar (default 5).

    + + +
    fill_sig
    +

    Fill color for significant bars

    + + +
    fill_ns
    +

    Fill color for non-significant bars.

    + + +
    outline
    +

    Bar border color.

    + + +
    axis_text_y_size
    +

    Font size for y-axis (category) labels.

    + + +
    axis_text_x_size
    +

    Font size for x-axis (numeric) labels.

    + +
    +
    +

    Value

    +

    A ggplot2 object (or NULL if nothing to plot).

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/read_gene_sets.html b/docs/reference/read_gene_sets.html new file mode 100644 index 0000000..c7aba8f --- /dev/null +++ b/docs/reference/read_gene_sets.html @@ -0,0 +1,134 @@ + +read_gene_sets — read_gene_sets • leapR + + +
    +
    + + + +
    +
    + + +
    +

    read_gene_sets is a function to import external pathway +database files in .gmt format

    +
    + +
    +
    read_gene_sets(
    +  gsfile,
    +  gene.labels = NA,
    +  gs.size.threshold.min = 5,
    +  gs.size.threshold.max = 15000
    +)
    +
    + +
    +

    Arguments

    + + +
    gsfile
    +

    is a gene set file, for example a .gmt file +(gene matrix transposed file format)

    + + +
    gene.labels
    +

    defaults to NA

    + + +
    gs.size.threshold.min
    +

    defaults to 5

    + + +
    gs.size.threshold.max
    +

    defaults to 15000

    + +
    +
    +

    Value

    +

    gene set object

    +

    geneset list

    +
    + +
    +

    Examples

    +
    gfile <- system.file('extdata','h.all.v2024.1.Hs.symbols.gmt',
    +          package='leapR')
    +glist <- read_gene_sets(gfile)
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/docs/reference/shortlist.html b/docs/reference/shortlist.html new file mode 100644 index 0000000..3443649 --- /dev/null +++ b/docs/reference/shortlist.html @@ -0,0 +1,98 @@ + +A list of pathways and genes that comprise these pathways from msigdb — shortlist • leapR + + +
    +
    + + + +
    +
    + + +
    +

    A list of pathways and genes that comprise these pathways from msigdb

    +
    + +
    +
    shortlist
    +
    + +
    +

    Format

    +

    a list with 4 items

    +

    Short list of patient samples

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.2.0.

    +
    + +
    + + + + + + + + diff --git a/vignettes/order-enrichment.Rmd b/vignettes/order-enrichment.Rmd new file mode 100644 index 0000000..a3159c9 --- /dev/null +++ b/vignettes/order-enrichment.Rmd @@ -0,0 +1,126 @@ +--- +title: "leapR Order Enrichment Tests" +output: + BiocStyle::html_document: + toc: true + toc_depth: 2 +vignette: | + %\VignetteIndexEntry{leapR} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r knitr, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + cache = FALSE +) +``` + + +# Load libraries needed + +```{r libraries, message=FALSE, warning = FALSE} +# load the core libraries +library(leapR) +library(gplots) +library(rmarkdown) +# plotting helpers used in this vignette +library(ggplot2) +library(dplyr) +library(tibble) +library(stringr) +``` + + +# Load our test proteomics dataset +```{r load data} +url <- "https://api.figshare.com/v2/file/download/56536217" +pdata <- download.file(url, method = "libcurl", destfile = "protData.rda") +# as.matrix() +load("protData.rda") + +p <- file.remove("protData.rda") + +data(shortlist) +data(longlist) + +## columns that we want to use for results + +cols_to_display <- c("ingroup_n", "outgroup_n", "background_n", + "pvalue", "BH_pvalue") +``` + +# Compare enrichment methods +We want to evaluate how various samples compare in enrichmnet + +```{r compare} + +i = 8 + +cor.res <- do.call(rbind,lapply(1:length(shortlist), function (i) { + protdata.enrichment.ks <- leapR::leapR( + geneset = ncipid, "enrichment_in_order", + eset = pset, + minsize = 5, + assay_name = "proteomics", + primary_columns = shortlist[i] + ) + + colnames(protdata.enrichment.ks) <- paste('ks',colnames(protdata.enrichment.ks),sep='.') + + + protdata.enrichment.cs <- leapR::leapR( + geneset = ncipid, "enrichment_in_order", + method = 'chisq', + eset = pset, minsize = 5, + assay_name = "proteomics", + primary_columns = shortlist[i] + ) + colnames(protdata.enrichment.cs) <- paste('chisq',colnames(protdata.enrichment.cs),sep='.') + + protdata.enrichment.zt <- leapR::leapR( + geneset = ncipid, "enrichment_in_order", + eset = pset, minsize = 5, + method = 'ztest', + assay_name = "proteomics", + primary_columns = shortlist[i] + ) + + colnames(protdata.enrichment.zt) <- paste('ztest',colnames(protdata.enrichment.zt),sep='.') + + paths <- rownames(protdata.enrichment.ks) + allvals <- cbind(protdata.enrichment.cs[paths,], + protdata.enrichment.ks[paths,], + protdata.enrichment.zt[paths,]) + + kz <- cor(allvals$ks.BH_pvalue, allvals$ztest.BH_pvalue, use = 'p') + + kc <- cor(allvals$ks.BH_pvalue, allvals$chisq.BH_pvalue, use = 'p') + + cz <- cor(allvals$chisq.BH_pvalue, allvals$ztest.BH_pvalue, use = 'p') + + kz <- cor(allvals$ks.pvalue, allvals$ztest.pvalue, use = 'p') + + kc <- cor(allvals$ks.pvalue, allvals$chisq.pvalue, use = 'p') + + cz <- cor(allvals$chisq.pvalue, allvals$ztest.pvalue, use = 'p') + + return(c(kz = kc, kc=kc, cz = cz)) +})) + +``` + +We can compare the corrected p-values + +```{r compare pvals} +library(ggplot2) + +cor.res |> as.data.frame() |> + tidyr::pivot_longer(c(1:3),names_to='test_comparison',values_to='p cor') |> + ggplot(aes(x=test_comparison, y= `p cor`)) + geom_jitter() + + + +``` \ No newline at end of file From cf251ca76940ff93207e55096d7853fccea99433 Mon Sep 17 00:00:00 2001 From: Sara JC Gosline Date: Wed, 11 Feb 2026 10:45:32 -0800 Subject: [PATCH 2/3] add pkgdown --- .Rbuildignore | 3 + .github/workflows/pkgdown.yaml | 2 +- .gitignore | 1 + _pkgdown.yml | 4 + docs/404.html | 124 +++--- docs/LICENSE-text.html | 99 ++--- docs/articles/examples.html | 123 +++--- docs/articles/index.html | 94 ++--- docs/articles/leapR.html | 122 +++--- docs/authors.html | 116 +++--- docs/bootstrap-toc.css | 60 --- docs/bootstrap-toc.js | 159 -------- docs/docsearch.css | 148 ------- docs/docsearch.js | 85 ---- docs/index.html | 123 +++--- docs/pkgdown.css | 384 ------------------ docs/pkgdown.js | 218 ++++++---- docs/pkgdown.yml | 5 +- docs/reference/calcTTest.html | 121 +++--- docs/reference/cluster_enrichment.html | 124 +++--- docs/reference/combine_omics.html | 130 +++--- .../correlation_comparison_enrichment.html | 117 +++--- docs/reference/correlation_enrichment.html | 116 +++--- docs/reference/enrichment_in_abundance.html | 116 +++--- docs/reference/enrichment_in_groups.html | 117 +++--- .../enrichment_in_relationships.html | 118 +++--- docs/reference/get_pathway_information.html | 120 +++--- docs/reference/index.html | 299 ++++++++------ docs/reference/kinasesubstrates.html | 113 ++---- docs/reference/krbpaths.html | 113 ++---- docs/reference/leapR-package.html | 105 ++--- docs/reference/leapR.html | 121 +++--- docs/reference/longlist.html | 109 ++--- docs/reference/ncipid.html | 113 ++---- docs/reference/plot_leapr_bar.html | 116 +++--- docs/reference/read_gene_sets.html | 120 +++--- docs/reference/shortlist.html | 109 ++--- vignettes/order-enrichment.Rmd | 1 + 38 files changed, 1468 insertions(+), 2800 deletions(-) create mode 100644 _pkgdown.yml delete mode 100644 docs/bootstrap-toc.css delete mode 100644 docs/bootstrap-toc.js delete mode 100644 docs/docsearch.css delete mode 100644 docs/docsearch.js delete mode 100644 docs/pkgdown.css diff --git a/.Rbuildignore b/.Rbuildignore index 9ad5db4..0e5321c 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -5,3 +5,6 @@ ^.*\.gitignore ^LICENSE\.md$ ^.git*$ +^_pkgdown\.yml$ +^docs$ +^pkgdown$ diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index bfc9f4d..cea5906 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -2,7 +2,7 @@ # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: [main, master] + branches: main pull_request: release: types: [published] diff --git a/.gitignore b/.gitignore index a1046bb..4c37638 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ doc Meta inst/doc +docs diff --git a/_pkgdown.yml b/_pkgdown.yml new file mode 100644 index 0000000..69b0979 --- /dev/null +++ b/_pkgdown.yml @@ -0,0 +1,4 @@ +url: https://pnnl-github.io/leapR +template: + bootstrap: 5 + diff --git a/docs/404.html b/docs/404.html index 52be5b5..a4be44e 100644 --- a/docs/404.html +++ b/docs/404.html @@ -4,111 +4,79 @@ - + Page not found (404) • leapR - - - - - - - + + + + + - - - -
    -
    -
    - Content not found. Please use links in the navbar. -
    - - - +
    - -
    - diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 7599ea4..b910367 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -1,59 +1,40 @@ -License • leapR - - -
    -
    +
    +
    +
    -
    -
    Copyright 2025 Battelle Memorial Institute
    @@ -87,26 +68,18 @@ 

    License

    POSSIBILITY OF SUCH DAMAGE.
    -
    +
    - +
    - - -
    - + diff --git a/docs/articles/examples.html b/docs/articles/examples.html index 54af499..0efac56 100644 --- a/docs/articles/examples.html +++ b/docs/articles/examples.html @@ -4,84 +4,64 @@ - + leapR Paper Examples • leapR - - - - - - - + + + + + - + + Skip to contents -
    -
    -
    - @@ -486,33 +466,26 @@

    Figure 2)

    -
    - - - + - - diff --git a/docs/articles/index.html b/docs/articles/index.html index 66ae0b5..b6a94b0 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -1,64 +1,44 @@ -Articles • leapR - - -
    -
    +
    +
    +
    -
    -

    All vignettes

    -

    +
    leapR Paper Examples
    @@ -67,20 +47,18 @@

    All vignettes

    leapR Order Enrichment Tests
    -
    -
    +
    -
    - +
    diff --git a/docs/articles/leapR.html b/docs/articles/leapR.html index 768bdd2..1ef5e6b 100644 --- a/docs/articles/leapR.html +++ b/docs/articles/leapR.html @@ -4,85 +4,64 @@ - + leapR • leapR - - - - - - - + + + + + - + + Skip to contents -
    -
    +
    -
    -
    -
    - - - + -
    - diff --git a/docs/authors.html b/docs/authors.html index b06fd3b..6eead4c 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -1,62 +1,43 @@ -Authors and Citation • leapR - - -
    -
    +
    +
    +
    -
    -
    - +

    Authors and Citation

    +
    +
    +

    Authors

    • Sara Gosline. Author, maintainer. @@ -79,41 +60,36 @@

      Authors and Citation

    -
    -
    -

    Citation

    - -
    -
    +
    +

    Citation

    +

    -

    Gosline S, McDermott J, Jacobson J (2026). +

    Gosline S, McDermott J, Jacobson J (2026). leapR: Layered enrichment analysis of pathways R. R package version 0.99.7.

    -
    @Manual{,
    +      
    @Manual{,
       title = {leapR: Layered enrichment analysis of pathways R},
       author = {Sara Gosline and Jason McDermott and Jeremy Jacobson},
       year = {2026},
       note = {R package version 0.99.7},
     }
    +
    -
    - -
    - +
    -
    - +
    diff --git a/docs/bootstrap-toc.css b/docs/bootstrap-toc.css deleted file mode 100644 index 5a85941..0000000 --- a/docs/bootstrap-toc.css +++ /dev/null @@ -1,60 +0,0 @@ -/*! - * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) - * Copyright 2015 Aidan Feldman - * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ - -/* modified from https://github.com/twbs/bootstrap/blob/94b4076dd2efba9af71f0b18d4ee4b163aa9e0dd/docs/assets/css/src/docs.css#L548-L601 */ - -/* All levels of nav */ -nav[data-toggle='toc'] .nav > li > a { - display: block; - padding: 4px 20px; - font-size: 13px; - font-weight: 500; - color: #767676; -} -nav[data-toggle='toc'] .nav > li > a:hover, -nav[data-toggle='toc'] .nav > li > a:focus { - padding-left: 19px; - color: #563d7c; - text-decoration: none; - background-color: transparent; - border-left: 1px solid #563d7c; -} -nav[data-toggle='toc'] .nav > .active > a, -nav[data-toggle='toc'] .nav > .active:hover > a, -nav[data-toggle='toc'] .nav > .active:focus > a { - padding-left: 18px; - font-weight: bold; - color: #563d7c; - background-color: transparent; - border-left: 2px solid #563d7c; -} - -/* Nav: second level (shown on .active) */ -nav[data-toggle='toc'] .nav .nav { - display: none; /* Hide by default, but at >768px, show it */ - padding-bottom: 10px; -} -nav[data-toggle='toc'] .nav .nav > li > a { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 30px; - font-size: 12px; - font-weight: normal; -} -nav[data-toggle='toc'] .nav .nav > li > a:hover, -nav[data-toggle='toc'] .nav .nav > li > a:focus { - padding-left: 29px; -} -nav[data-toggle='toc'] .nav .nav > .active > a, -nav[data-toggle='toc'] .nav .nav > .active:hover > a, -nav[data-toggle='toc'] .nav .nav > .active:focus > a { - padding-left: 28px; - font-weight: 500; -} - -/* from https://github.com/twbs/bootstrap/blob/e38f066d8c203c3e032da0ff23cd2d6098ee2dd6/docs/assets/css/src/docs.css#L631-L634 */ -nav[data-toggle='toc'] .nav > .active > ul { - display: block; -} diff --git a/docs/bootstrap-toc.js b/docs/bootstrap-toc.js deleted file mode 100644 index 1cdd573..0000000 --- a/docs/bootstrap-toc.js +++ /dev/null @@ -1,159 +0,0 @@ -/*! - * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) - * Copyright 2015 Aidan Feldman - * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ -(function() { - 'use strict'; - - window.Toc = { - helpers: { - // return all matching elements in the set, or their descendants - findOrFilter: function($el, selector) { - // http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/ - // http://stackoverflow.com/a/12731439/358804 - var $descendants = $el.find(selector); - return $el.filter(selector).add($descendants).filter(':not([data-toc-skip])'); - }, - - generateUniqueIdBase: function(el) { - var text = $(el).text(); - var anchor = text.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g, '-'); - return anchor || el.tagName.toLowerCase(); - }, - - generateUniqueId: function(el) { - var anchorBase = this.generateUniqueIdBase(el); - for (var i = 0; ; i++) { - var anchor = anchorBase; - if (i > 0) { - // add suffix - anchor += '-' + i; - } - // check if ID already exists - if (!document.getElementById(anchor)) { - return anchor; - } - } - }, - - generateAnchor: function(el) { - if (el.id) { - return el.id; - } else { - var anchor = this.generateUniqueId(el); - el.id = anchor; - return anchor; - } - }, - - createNavList: function() { - return $(''); - }, - - createChildNavList: function($parent) { - var $childList = this.createNavList(); - $parent.append($childList); - return $childList; - }, - - generateNavEl: function(anchor, text) { - var $a = $(''); - $a.attr('href', '#' + anchor); - $a.text(text); - var $li = $('
  • '); - $li.append($a); - return $li; - }, - - generateNavItem: function(headingEl) { - var anchor = this.generateAnchor(headingEl); - var $heading = $(headingEl); - var text = $heading.data('toc-text') || $heading.text(); - return this.generateNavEl(anchor, text); - }, - - // Find the first heading level (`

    `, then `

    `, etc.) that has more than one element. Defaults to 1 (for `

    `). - getTopLevel: function($scope) { - for (var i = 1; i <= 6; i++) { - var $headings = this.findOrFilter($scope, 'h' + i); - if ($headings.length > 1) { - return i; - } - } - - return 1; - }, - - // returns the elements for the top level, and the next below it - getHeadings: function($scope, topLevel) { - var topSelector = 'h' + topLevel; - - var secondaryLevel = topLevel + 1; - var secondarySelector = 'h' + secondaryLevel; - - return this.findOrFilter($scope, topSelector + ',' + secondarySelector); - }, - - getNavLevel: function(el) { - return parseInt(el.tagName.charAt(1), 10); - }, - - populateNav: function($topContext, topLevel, $headings) { - var $context = $topContext; - var $prevNav; - - var helpers = this; - $headings.each(function(i, el) { - var $newNav = helpers.generateNavItem(el); - var navLevel = helpers.getNavLevel(el); - - // determine the proper $context - if (navLevel === topLevel) { - // use top level - $context = $topContext; - } else if ($prevNav && $context === $topContext) { - // create a new level of the tree and switch to it - $context = helpers.createChildNavList($prevNav); - } // else use the current $context - - $context.append($newNav); - - $prevNav = $newNav; - }); - }, - - parseOps: function(arg) { - var opts; - if (arg.jquery) { - opts = { - $nav: arg - }; - } else { - opts = arg; - } - opts.$scope = opts.$scope || $(document.body); - return opts; - } - }, - - // accepts a jQuery object, or an options object - init: function(opts) { - opts = this.helpers.parseOps(opts); - - // ensure that the data attribute is in place for styling - opts.$nav.attr('data-toggle', 'toc'); - - var $topContext = this.helpers.createChildNavList(opts.$nav); - var topLevel = this.helpers.getTopLevel(opts.$scope); - var $headings = this.helpers.getHeadings(opts.$scope, topLevel); - this.helpers.populateNav($topContext, topLevel, $headings); - } - }; - - $(function() { - $('nav[data-toggle="toc"]').each(function(i, el) { - var $nav = $(el); - Toc.init($nav); - }); - }); -})(); diff --git a/docs/docsearch.css b/docs/docsearch.css deleted file mode 100644 index e5f1fe1..0000000 --- a/docs/docsearch.css +++ /dev/null @@ -1,148 +0,0 @@ -/* Docsearch -------------------------------------------------------------- */ -/* - Source: https://github.com/algolia/docsearch/ - License: MIT -*/ - -.algolia-autocomplete { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1 -} - -.algolia-autocomplete .ds-dropdown-menu { - width: 100%; - min-width: none; - max-width: none; - padding: .75rem 0; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .1); - box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175); -} - -@media (min-width:768px) { - .algolia-autocomplete .ds-dropdown-menu { - width: 175% - } -} - -.algolia-autocomplete .ds-dropdown-menu::before { - display: none -} - -.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] { - padding: 0; - background-color: rgb(255,255,255); - border: 0; - max-height: 80vh; -} - -.algolia-autocomplete .ds-dropdown-menu .ds-suggestions { - margin-top: 0 -} - -.algolia-autocomplete .algolia-docsearch-suggestion { - padding: 0; - overflow: visible -} - -.algolia-autocomplete .algolia-docsearch-suggestion--category-header { - padding: .125rem 1rem; - margin-top: 0; - font-size: 1.3em; - font-weight: 500; - color: #00008B; - border-bottom: 0 -} - -.algolia-autocomplete .algolia-docsearch-suggestion--wrapper { - float: none; - padding-top: 0 -} - -.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column { - float: none; - width: auto; - padding: 0; - text-align: left -} - -.algolia-autocomplete .algolia-docsearch-suggestion--content { - float: none; - width: auto; - padding: 0 -} - -.algolia-autocomplete .algolia-docsearch-suggestion--content::before { - display: none -} - -.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header { - padding-top: .75rem; - margin-top: .75rem; - border-top: 1px solid rgba(0, 0, 0, .1) -} - -.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column { - display: block; - padding: .1rem 1rem; - margin-bottom: 0.1; - font-size: 1.0em; - font-weight: 400 - /* display: none */ -} - -.algolia-autocomplete .algolia-docsearch-suggestion--title { - display: block; - padding: .25rem 1rem; - margin-bottom: 0; - font-size: 0.9em; - font-weight: 400 -} - -.algolia-autocomplete .algolia-docsearch-suggestion--text { - padding: 0 1rem .5rem; - margin-top: -.25rem; - font-size: 0.8em; - font-weight: 400; - line-height: 1.25 -} - -.algolia-autocomplete .algolia-docsearch-footer { - width: 110px; - height: 20px; - z-index: 3; - margin-top: 10.66667px; - float: right; - font-size: 0; - line-height: 0; -} - -.algolia-autocomplete .algolia-docsearch-footer--logo { - background-image: url("data:image/svg+xml;utf8,"); - background-repeat: no-repeat; - background-position: 50%; - background-size: 100%; - overflow: hidden; - text-indent: -9000px; - width: 100%; - height: 100%; - display: block; - transform: translate(-8px); -} - -.algolia-autocomplete .algolia-docsearch-suggestion--highlight { - color: #FF8C00; - background: rgba(232, 189, 54, 0.1) -} - - -.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight { - box-shadow: inset 0 -2px 0 0 rgba(105, 105, 105, .5) -} - -.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content { - background-color: rgba(192, 192, 192, .15) -} diff --git a/docs/docsearch.js b/docs/docsearch.js deleted file mode 100644 index b35504c..0000000 --- a/docs/docsearch.js +++ /dev/null @@ -1,85 +0,0 @@ -$(function() { - - // register a handler to move the focus to the search bar - // upon pressing shift + "/" (i.e. "?") - $(document).on('keydown', function(e) { - if (e.shiftKey && e.keyCode == 191) { - e.preventDefault(); - $("#search-input").focus(); - } - }); - - $(document).ready(function() { - // do keyword highlighting - /* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */ - var mark = function() { - - var referrer = document.URL ; - var paramKey = "q" ; - - if (referrer.indexOf("?") !== -1) { - var qs = referrer.substr(referrer.indexOf('?') + 1); - var qs_noanchor = qs.split('#')[0]; - var qsa = qs_noanchor.split('&'); - var keyword = ""; - - for (var i = 0; i < qsa.length; i++) { - var currentParam = qsa[i].split('='); - - if (currentParam.length !== 2) { - continue; - } - - if (currentParam[0] == paramKey) { - keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20")); - } - } - - if (keyword !== "") { - $(".contents").unmark({ - done: function() { - $(".contents").mark(keyword); - } - }); - } - } - }; - - mark(); - }); -}); - -/* Search term highlighting ------------------------------*/ - -function matchedWords(hit) { - var words = []; - - var hierarchy = hit._highlightResult.hierarchy; - // loop to fetch from lvl0, lvl1, etc. - for (var idx in hierarchy) { - words = words.concat(hierarchy[idx].matchedWords); - } - - var content = hit._highlightResult.content; - if (content) { - words = words.concat(content.matchedWords); - } - - // return unique words - var words_uniq = [...new Set(words)]; - return words_uniq; -} - -function updateHitURL(hit) { - - var words = matchedWords(hit); - var url = ""; - - if (hit.anchor) { - url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor; - } else { - url = hit.url + '?q=' + escape(words.join(" ")); - } - - return url; -} diff --git a/docs/index.html b/docs/index.html index 877fbd4..72b8497 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,79 +4,56 @@ - + Layered enrichment analysis of pathways R • leapR - - - - - - + + + + + + - - - - -
    -
    -
    -
    +
    +
    +
    +

    Layered Enrichment Analysis of Pathways in R (leapR) a tool that carries out statistical enrichment analysis on single- or multi-omics data.

    @@ -148,10 +125,7 @@

    Gene pathway examples

    -
    - - - diff --git a/docs/pkgdown.css b/docs/pkgdown.css deleted file mode 100644 index 80ea5b8..0000000 --- a/docs/pkgdown.css +++ /dev/null @@ -1,384 +0,0 @@ -/* Sticky footer */ - -/** - * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ - * Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css - * - * .Site -> body > .container - * .Site-content -> body > .container .row - * .footer -> footer - * - * Key idea seems to be to ensure that .container and __all its parents__ - * have height set to 100% - * - */ - -html, body { - height: 100%; -} - -body { - position: relative; -} - -body > .container { - display: flex; - height: 100%; - flex-direction: column; -} - -body > .container .row { - flex: 1 0 auto; -} - -footer { - margin-top: 45px; - padding: 35px 0 36px; - border-top: 1px solid #e5e5e5; - color: #666; - display: flex; - flex-shrink: 0; -} -footer p { - margin-bottom: 0; -} -footer div { - flex: 1; -} -footer .pkgdown { - text-align: right; -} -footer p { - margin-bottom: 0; -} - -img.icon { - float: right; -} - -/* Ensure in-page images don't run outside their container */ -.contents img { - max-width: 100%; - height: auto; -} - -/* Fix bug in bootstrap (only seen in firefox) */ -summary { - display: list-item; -} - -/* Typographic tweaking ---------------------------------*/ - -.contents .page-header { - margin-top: calc(-60px + 1em); -} - -dd { - margin-left: 3em; -} - -/* Section anchors ---------------------------------*/ - -a.anchor { - display: none; - margin-left: 5px; - width: 20px; - height: 20px; - - background-image: url(./link.svg); - background-repeat: no-repeat; - background-size: 20px 20px; - background-position: center center; -} - -h1:hover .anchor, -h2:hover .anchor, -h3:hover .anchor, -h4:hover .anchor, -h5:hover .anchor, -h6:hover .anchor { - display: inline-block; -} - -/* Fixes for fixed navbar --------------------------*/ - -.contents h1, .contents h2, .contents h3, .contents h4 { - padding-top: 60px; - margin-top: -40px; -} - -/* Navbar submenu --------------------------*/ - -.dropdown-submenu { - position: relative; -} - -.dropdown-submenu>.dropdown-menu { - top: 0; - left: 100%; - margin-top: -6px; - margin-left: -1px; - border-radius: 0 6px 6px 6px; -} - -.dropdown-submenu:hover>.dropdown-menu { - display: block; -} - -.dropdown-submenu>a:after { - display: block; - content: " "; - float: right; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; - border-width: 5px 0 5px 5px; - border-left-color: #cccccc; - margin-top: 5px; - margin-right: -10px; -} - -.dropdown-submenu:hover>a:after { - border-left-color: #ffffff; -} - -.dropdown-submenu.pull-left { - float: none; -} - -.dropdown-submenu.pull-left>.dropdown-menu { - left: -100%; - margin-left: 10px; - border-radius: 6px 0 6px 6px; -} - -/* Sidebar --------------------------*/ - -#pkgdown-sidebar { - margin-top: 30px; - position: -webkit-sticky; - position: sticky; - top: 70px; -} - -#pkgdown-sidebar h2 { - font-size: 1.5em; - margin-top: 1em; -} - -#pkgdown-sidebar h2:first-child { - margin-top: 0; -} - -#pkgdown-sidebar .list-unstyled li { - margin-bottom: 0.5em; -} - -/* bootstrap-toc tweaks ------------------------------------------------------*/ - -/* All levels of nav */ - -nav[data-toggle='toc'] .nav > li > a { - padding: 4px 20px 4px 6px; - font-size: 1.5rem; - font-weight: 400; - color: inherit; -} - -nav[data-toggle='toc'] .nav > li > a:hover, -nav[data-toggle='toc'] .nav > li > a:focus { - padding-left: 5px; - color: inherit; - border-left: 1px solid #878787; -} - -nav[data-toggle='toc'] .nav > .active > a, -nav[data-toggle='toc'] .nav > .active:hover > a, -nav[data-toggle='toc'] .nav > .active:focus > a { - padding-left: 5px; - font-size: 1.5rem; - font-weight: 400; - color: inherit; - border-left: 2px solid #878787; -} - -/* Nav: second level (shown on .active) */ - -nav[data-toggle='toc'] .nav .nav { - display: none; /* Hide by default, but at >768px, show it */ - padding-bottom: 10px; -} - -nav[data-toggle='toc'] .nav .nav > li > a { - padding-left: 16px; - font-size: 1.35rem; -} - -nav[data-toggle='toc'] .nav .nav > li > a:hover, -nav[data-toggle='toc'] .nav .nav > li > a:focus { - padding-left: 15px; -} - -nav[data-toggle='toc'] .nav .nav > .active > a, -nav[data-toggle='toc'] .nav .nav > .active:hover > a, -nav[data-toggle='toc'] .nav .nav > .active:focus > a { - padding-left: 15px; - font-weight: 500; - font-size: 1.35rem; -} - -/* orcid ------------------------------------------------------------------- */ - -.orcid { - font-size: 16px; - color: #A6CE39; - /* margins are required by official ORCID trademark and display guidelines */ - margin-left:4px; - margin-right:4px; - vertical-align: middle; -} - -/* Reference index & topics ----------------------------------------------- */ - -.ref-index th {font-weight: normal;} - -.ref-index td {vertical-align: top; min-width: 100px} -.ref-index .icon {width: 40px;} -.ref-index .alias {width: 40%;} -.ref-index-icons .alias {width: calc(40% - 40px);} -.ref-index .title {width: 60%;} - -.ref-arguments th {text-align: right; padding-right: 10px;} -.ref-arguments th, .ref-arguments td {vertical-align: top; min-width: 100px} -.ref-arguments .name {width: 20%;} -.ref-arguments .desc {width: 80%;} - -/* Nice scrolling for wide elements --------------------------------------- */ - -table { - display: block; - overflow: auto; -} - -/* Syntax highlighting ---------------------------------------------------- */ - -pre, code, pre code { - background-color: #f8f8f8; - color: #333; -} -pre, pre code { - white-space: pre-wrap; - word-break: break-all; - overflow-wrap: break-word; -} - -pre { - border: 1px solid #eee; -} - -pre .img, pre .r-plt { - margin: 5px 0; -} - -pre .img img, pre .r-plt img { - background-color: #fff; -} - -code a, pre a { - color: #375f84; -} - -a.sourceLine:hover { - text-decoration: none; -} - -.fl {color: #1514b5;} -.fu {color: #000000;} /* function */ -.ch,.st {color: #036a07;} /* string */ -.kw {color: #264D66;} /* keyword */ -.co {color: #888888;} /* comment */ - -.error {font-weight: bolder;} -.warning {font-weight: bolder;} - -/* Clipboard --------------------------*/ - -.hasCopyButton { - position: relative; -} - -.btn-copy-ex { - position: absolute; - right: 0; - top: 0; - visibility: hidden; -} - -.hasCopyButton:hover button.btn-copy-ex { - visibility: visible; -} - -/* headroom.js ------------------------ */ - -.headroom { - will-change: transform; - transition: transform 200ms linear; -} -.headroom--pinned { - transform: translateY(0%); -} -.headroom--unpinned { - transform: translateY(-100%); -} - -/* mark.js ----------------------------*/ - -mark { - background-color: rgba(255, 255, 51, 0.5); - border-bottom: 2px solid rgba(255, 153, 51, 0.3); - padding: 1px; -} - -/* vertical spacing after htmlwidgets */ -.html-widget { - margin-bottom: 10px; -} - -/* fontawesome ------------------------ */ - -.fab { - font-family: "Font Awesome 5 Brands" !important; -} - -/* don't display links in code chunks when printing */ -/* source: https://stackoverflow.com/a/10781533 */ -@media print { - code a:link:after, code a:visited:after { - content: ""; - } -} - -/* Section anchors --------------------------------- - Added in pandoc 2.11: https://github.com/jgm/pandoc-templates/commit/9904bf71 -*/ - -div.csl-bib-body { } -div.csl-entry { - clear: both; -} -.hanging-indent div.csl-entry { - margin-left:2em; - text-indent:-2em; -} -div.csl-left-margin { - min-width:2em; - float:left; -} -div.csl-right-inline { - margin-left:2em; - padding-left:1em; -} -div.csl-indent { - margin-left: 2em; -} diff --git a/docs/pkgdown.js b/docs/pkgdown.js index 6f0eee4..0a5573a 100644 --- a/docs/pkgdown.js +++ b/docs/pkgdown.js @@ -1,108 +1,162 @@ /* http://gregfranko.com/blog/jquery-best-practices/ */ -(function($) { - $(function() { +(function ($) { + $(function () { - $('.navbar-fixed-top').headroom(); + $('nav.navbar').headroom(); - $('body').css('padding-top', $('.navbar').height() + 10); - $(window).resize(function(){ - $('body').css('padding-top', $('.navbar').height() + 10); + Toc.init({ + $nav: $("#toc"), + $scope: $("main h2, main h3, main h4, main h5, main h6") }); - $('[data-toggle="tooltip"]').tooltip(); - - var cur_path = paths(location.pathname); - var links = $("#navbar ul li a"); - var max_length = -1; - var pos = -1; - for (var i = 0; i < links.length; i++) { - if (links[i].getAttribute("href") === "#") - continue; - // Ignore external links - if (links[i].host !== location.host) - continue; - - var nav_path = paths(links[i].pathname); - - var length = prefix_length(nav_path, cur_path); - if (length > max_length) { - max_length = length; - pos = i; - } + if ($('#toc').length) { + $('body').scrollspy({ + target: '#toc', + offset: $("nav.navbar").outerHeight() + 1 + }); } - // Add class to parent
  • , and enclosing
  • if in dropdown - if (pos >= 0) { - var menu_anchor = $(links[pos]); - menu_anchor.parent().addClass("active"); - menu_anchor.closest("li.dropdown").addClass("active"); - } - }); - - function paths(pathname) { - var pieces = pathname.split("/"); - pieces.shift(); // always starts with / + // Activate popovers + $('[data-bs-toggle="popover"]').popover({ + container: 'body', + html: true, + trigger: 'focus', + placement: "top", + sanitize: false, + }); - var end = pieces[pieces.length - 1]; - if (end === "index.html" || end === "") - pieces.pop(); - return(pieces); - } + $('[data-bs-toggle="tooltip"]').tooltip(); - // Returns -1 if not found - function prefix_length(needle, haystack) { - if (needle.length > haystack.length) - return(-1); + /* Clipboard --------------------------*/ - // Special case for length-0 haystack, since for loop won't run - if (haystack.length === 0) { - return(needle.length === 0 ? 0 : -1); + function changeTooltipMessage(element, msg) { + var tooltipOriginalTitle = element.getAttribute('data-bs-original-title'); + element.setAttribute('data-bs-original-title', msg); + $(element).tooltip('show'); + element.setAttribute('data-bs-original-title', tooltipOriginalTitle); } - for (var i = 0; i < haystack.length; i++) { - if (needle[i] != haystack[i]) - return(i); - } + if (ClipboardJS.isSupported()) { + $(document).ready(function () { + var copyButton = ""; - return(haystack.length); - } + $("div.sourceCode").addClass("hasCopyButton"); - /* Clipboard --------------------------*/ + // Insert copy buttons: + $(copyButton).prependTo(".hasCopyButton"); - function changeTooltipMessage(element, msg) { - var tooltipOriginalTitle=element.getAttribute('data-original-title'); - element.setAttribute('data-original-title', msg); - $(element).tooltip('show'); - element.setAttribute('data-original-title', tooltipOriginalTitle); - } + // Initialize tooltips: + $('.btn-copy-ex').tooltip({ container: 'body' }); - if(ClipboardJS.isSupported()) { - $(document).ready(function() { - var copyButton = ""; + // Initialize clipboard: + var clipboard = new ClipboardJS('[data-clipboard-copy]', { + text: function (trigger) { + return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + } + }); - $("div.sourceCode").addClass("hasCopyButton"); + clipboard.on('success', function (e) { + changeTooltipMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }); - // Insert copy buttons: - $(copyButton).prependTo(".hasCopyButton"); + clipboard.on('error', function (e) { + changeTooltipMessage(e.trigger, 'Press Ctrl+C or Command+C to copy'); + }); - // Initialize tooltips: - $('.btn-copy-ex').tooltip({container: 'body'}); + }); + } - // Initialize clipboard: - var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', { - text: function(trigger) { - return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + /* Search marking --------------------------*/ + var url = new URL(window.location.href); + var toMark = url.searchParams.get("q"); + var mark = new Mark("main#main"); + if (toMark) { + mark.mark(toMark, { + accuracy: { + value: "complementary", + limiters: [",", ".", ":", "/"], } }); + } - clipboardBtnCopies.on('success', function(e) { - changeTooltipMessage(e.trigger, 'Copied!'); - e.clearSelection(); - }); + /* Search --------------------------*/ + /* Adapted from https://github.com/rstudio/bookdown/blob/2d692ba4b61f1e466c92e78fd712b0ab08c11d31/inst/resources/bs4_book/bs4_book.js#L25 */ + // Initialise search index on focus + var fuse; + $("#search-input").focus(async function (e) { + if (fuse) { + return; + } - clipboardBtnCopies.on('error', function() { - changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); - }); + $(e.target).addClass("loading"); + var response = await fetch($("#search-input").data("search-index")); + var data = await response.json(); + + var options = { + keys: ["what", "text", "code"], + ignoreLocation: true, + threshold: 0.1, + includeMatches: true, + includeScore: true, + }; + fuse = new Fuse(data, options); + + $(e.target).removeClass("loading"); }); - } + + // Use algolia autocomplete + var options = { + autoselect: true, + debug: true, + hint: false, + minLength: 2, + }; + var q; + async function searchFuse(query, callback) { + await fuse; + + var items; + if (!fuse) { + items = []; + } else { + q = query; + var results = fuse.search(query, { limit: 20 }); + items = results + .filter((x) => x.score <= 0.75) + .map((x) => x.item); + if (items.length === 0) { + items = [{ dir: "Sorry 😿", previous_headings: "", title: "No results found.", what: "No results found.", path: window.location.href }]; + } + } + callback(items); + } + $("#search-input").autocomplete(options, [ + { + name: "content", + source: searchFuse, + templates: { + suggestion: (s) => { + if (s.title == s.what) { + return `${s.dir} >
    ${s.title}
    `; + } else if (s.previous_headings == "") { + return `${s.dir} >
    ${s.title}
    > ${s.what}`; + } else { + return `${s.dir} >
    ${s.title}
    > ${s.previous_headings} > ${s.what}`; + } + }, + }, + }, + ]).on('autocomplete:selected', function (event, s) { + window.location.href = s.path + "?q=" + q + "#" + s.id; + }); + }); })(window.jQuery || window.$) + +document.addEventListener('keydown', function (event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index ce30917..78646a0 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -5,4 +5,7 @@ articles: examples: examples.html leapR: leapR.html order-enrichment: order-enrichment.html -last_built: 2026-02-08T00:00Z +last_built: 2026-02-11T18:27Z +urls: + reference: https://pnnl-github.io/leapR/reference + article: https://pnnl-github.io/leapR/articles diff --git a/docs/reference/calcTTest.html b/docs/reference/calcTTest.html index 5afb30b..6028732 100644 --- a/docs/reference/calcTTest.html +++ b/docs/reference/calcTTest.html @@ -1,77 +1,60 @@ -calcTTest — calcTTest • leapRcalcTTest — calcTTest • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    calculates a t-test for two distributions of data on a per-gene basis append results to ExpressionSet with two extra columns: `pvalue` and `difference` for each feature

    -
    +
    +

    Usage

    calcTTest(eset, assay_name, group1, group2)
    -
    -

    Arguments

    +
    +

    Arguments

    eset
    @@ -90,14 +73,14 @@

    Arguments

    List of samples comprising group 2

    -
    -

    Value

    +
    +

    Value

    An Expression set with two columns added to the featureData slot: pvalue, and estimate

    -
    -

    Examples

    +
    +

    Examples

    
             library(leapR)
             url <- "https://api.figshare.com/v2/file/download/56536214"
    @@ -122,23 +105,19 @@ 

    Examples

    #> colData names(0):
    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/cluster_enrichment.html b/docs/reference/cluster_enrichment.html index abd3cec..2df9b6d 100644 --- a/docs/reference/cluster_enrichment.html +++ b/docs/reference/cluster_enrichment.html @@ -1,75 +1,57 @@ -cluster_enrichment — cluster_enrichment • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    Cluster enrichment Run enrichment (Fisher's exact) on clusters (lists of identifier groups)

    -
    +
    +

    Usage

    cluster_enrichment(eset, assay_name, geneset, clusters, sigfilter = 0.05)
    -
    -

    Arguments

    +
    +

    Arguments

    eset
    @@ -93,12 +75,12 @@

    Arguments

    minimum significance threshold default is .05

    -
    -

    Value

    +
    +

    Value

    data frame with enrichment results

    -
    -

    Details

    +
    +

    Details

    This function will calculate enrichment (Fisher's exact test for membership overlap) on

    a series of lists of genes, such as from a set of clusters. The @@ -106,8 +88,8 @@

    Details

    a list of results matrices in the order of the input clusters.

    -
    -

    Examples

    +
    +

    Examples

            library(leapR)
     
             # read in the example transcriptomic data
    @@ -140,23 +122,19 @@ 

    Examples

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/combine_omics.html b/docs/reference/combine_omics.html index 064cd5f..dd852c2 100644 --- a/docs/reference/combine_omics.html +++ b/docs/reference/combine_omics.html @@ -1,77 +1,60 @@ -combine_omics Combine two or more omics matrices into one multi-omics matrix with 'tagged' ids. — combine_omics • leapRcombine_omics Combine two or more omics matrices into one multi-omics matrix with 'tagged' ids. — combine_omics • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    combine_omics Combine two or more omics matrices into one multi-omics matrix with 'tagged' ids.

    -
    +
    +

    Usage

    combine_omics(omics_list, id_list = rep(NA, length(omics_list)))
    -
    -

    Arguments

    +
    +

    Arguments

    omics_list
    @@ -85,28 +68,24 @@

    Arguments

    is `NA`, then rownames are used.

  • -
    -

    Value

    +
    +

    Value

    SummarizedExperiment with an additional assay called `combined`

    -
    -

    Details

    +
    +

    Details

    This combines matrices of different omics types together and adds prefix tags to the ids.

    -
    -

    Examples

    +
    +

    Examples

            library(leapR)
             url <- 'https://api.figshare.com/v2/file/download/56536217'
     
             pdata <- download.file(url,method='libcurl',destfile='protData.rda')
    -#> Warning: downloaded length 18732111 != reported length 23253677
    -#> Warning: URL 'https://s3-eu-west-1.amazonaws.com/pfigshare-u-files/56536217/protData.rda?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIYCQYOYV5JSSROOA/20260208/eu-west-1/s3/aws4_request&X-Amz-Date=20260208T000035Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=3d35d9a6edc15872990b7dbabedeef681c1d49bcda05fa883149680acf838771': Timeout of 60 seconds was reached
    -#> Error in download.file(url, method = "libcurl", destfile = "protData.rda"): download from 'https://api.figshare.com/v2/file/download/56536217' failed
             load('protData.rda')
    -#> Error in load("protData.rda"): error reading from connection
             p <- file.remove("protData.rda")
     
             url <- "https://api.figshare.com/v2/file/download/56536214"
    @@ -125,28 +104,23 @@ 

    Examples

    # different omics types multi_omics <- combine_omics(list(pset, tset, phset), list(NA,NA,'hgnc_id')) -#> Error: object 'pset' not found
    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/correlation_comparison_enrichment.html b/docs/reference/correlation_comparison_enrichment.html index 3786472..a873852 100644 --- a/docs/reference/correlation_comparison_enrichment.html +++ b/docs/reference/correlation_comparison_enrichment.html @@ -1,72 +1,55 @@ -correlation_comparison_enrichment — correlation_comparison_enrichment • leapRcorrelation_comparison_enrichment — correlation_comparison_enrichment • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    # internal function to calculate enrichment in differences in correlation # between two groups # access through the leapr wrapper

    -
    +
    +

    Usage

    correlation_comparison_enrichment(
       geneset,
       eset,
    @@ -77,8 +60,8 @@ 

    correlation_comparison_enrichment

    )
    -
    -

    Arguments

    +
    +

    Arguments

    geneset
    @@ -105,28 +88,24 @@

    Arguments

    Column to use for id mapping within rowData

    -
    -

    Value

    +
    +

    Value

    data frame with enrichment results

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/correlation_enrichment.html b/docs/reference/correlation_enrichment.html index 9b35842..7d70347 100644 --- a/docs/reference/correlation_enrichment.html +++ b/docs/reference/correlation_enrichment.html @@ -1,75 +1,57 @@ -correlation_enrichment — correlation_enrichment • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    # calculate enrichment in correlation between pathway members # access through leapr wrapper

    -
    +
    +

    Usage

    correlation_enrichment(geneset, eset, assay_name, mapping_column = NA)
    -
    -

    Arguments

    +
    +

    Arguments

    geneset
    @@ -88,28 +70,24 @@

    Arguments

    Column to use to map identifiers, if not rownames

    -
    -

    Value

    +
    +

    Value

    list of enrichment statistic table and correlation matrix

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/enrichment_in_abundance.html b/docs/reference/enrichment_in_abundance.html index eaf5c29..f77a424 100644 --- a/docs/reference/enrichment_in_abundance.html +++ b/docs/reference/enrichment_in_abundance.html @@ -1,70 +1,52 @@ -enrichment_in_abundance — enrichment_in_abundance • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    Enrichment in abundance calculates enrichment in pathways by the difference in abundance of the pathway members.

    -
    +
    +

    Usage

    enrichment_in_abundance(
       geneset,
       eset,
    @@ -80,8 +62,8 @@ 

    enrichment_in_abundance

    )
    -
    -

    Arguments

    +
    +

    Arguments

    geneset
    @@ -129,28 +111,24 @@

    Arguments

    set to true to silence try errors

    -
    -

    Value

    +
    +

    Value

    data frame of enrichment result

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/enrichment_in_groups.html b/docs/reference/enrichment_in_groups.html index 18a646b..1d7ccff 100644 --- a/docs/reference/enrichment_in_groups.html +++ b/docs/reference/enrichment_in_groups.html @@ -1,72 +1,55 @@ -enrichment_in_groups — enrichment_in_groups • leapRenrichment_in_groups — enrichment_in_groups • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    Calculate the enrichment in pathways using Fisher's exact or Kolmogorov-Smirnov test, using either the abundance column to identify feature or the targets list. access through leapr wrapper

    -
    +
    +

    Usage

    enrichment_in_groups(
       geneset,
       targets = c(),
    @@ -81,8 +64,8 @@ 

    enrichment_in_groups

    )
    -
    -

    Arguments

    +
    +

    Arguments

    geneset
    @@ -129,28 +112,24 @@

    Arguments

    true/false to silence errors

    -
    -

    Value

    +
    +

    Value

    data frame with enrichment results

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/enrichment_in_relationships.html b/docs/reference/enrichment_in_relationships.html index cdf54ca..72d95d7 100644 --- a/docs/reference/enrichment_in_relationships.html +++ b/docs/reference/enrichment_in_relationships.html @@ -1,74 +1,58 @@ -enrichment_in_relationships — enrichment_in_relationships • leapRenrichment_in_relationships — enrichment_in_relationships • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    enrichment_in_relationships function description is a general way to determine if a pathway is enriched in relationships (interactions, correlation) between its members # access through leapr wrapper

    -
    +
    +

    Usage

    enrichment_in_relationships(
       geneset,
       relationships,
    @@ -77,8 +61,8 @@ 

    enrichment_in_relationships

    )
    -
    -

    Arguments

    +
    +

    Arguments

    geneset
    @@ -98,28 +82,24 @@

    Arguments

    boolean to silence errors

    -
    -

    Value

    +
    +

    Value

    table of enrichment statistics

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/get_pathway_information.html b/docs/reference/get_pathway_information.html index d3ba365..23fa80f 100644 --- a/docs/reference/get_pathway_information.html +++ b/docs/reference/get_pathway_information.html @@ -1,75 +1,57 @@ -get_pathway_information — get_pathway_information • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    get_pathway_information extracts information about a pathway from a GeneSet object

    -
    +
    +

    Usage

    get_pathway_information(geneset, path, remove.tags = FALSE)
    -
    -

    Arguments

    +
    +

    Arguments

    geneset
    @@ -84,13 +66,13 @@

    Arguments

    boolean indicating whether to remove tags

    -
    -

    Value

    +
    +

    Value

    list of pathway information

    -
    -

    Examples

    +
    +

    Examples

    
          library(leapR)
     
    @@ -102,23 +84,19 @@ 

    Examples

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/index.html b/docs/reference/index.html index bbdc585..1578a2b 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -1,151 +1,182 @@ -Package index • leapR - - -
    -
    +
    +
    +
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    All functions

    -

    -
    -

    calcTTest()

    -

    calcTTest

    -

    cluster_enrichment()

    -

    cluster_enrichment

    -

    combine_omics()

    -

    combine_omics Combine two or more omics matrices into one multi-omics matrix with 'tagged' ids.

    -

    correlation_comparison_enrichment()

    -

    correlation_comparison_enrichment

    -

    correlation_enrichment()

    -

    correlation_enrichment

    -

    enrichment_in_abundance()

    -

    enrichment_in_abundance

    -

    enrichment_in_groups()

    -

    enrichment_in_groups

    -

    enrichment_in_relationships()

    -

    enrichment_in_relationships

    -

    get_pathway_information()

    -

    get_pathway_information

    -

    kinasesubstrates

    -

    Kinase substrate lists

    -

    krbpaths

    -

    KEGG, Reactome, BioCarta Pathways

    -

    leapR()

    -

    leapR

    -

    longlist

    -

    Long list of patient samples

    -

    ncipid

    -

    NCI Gene lists

    -

    plot_leapr_bar()

    -

    Plot leapR pathway bars (single panel)

    -

    read_gene_sets()

    -

    read_gene_sets

    -

    shortlist

    -

    A list of pathways and genes that comprise these pathways from msigdb

    - - -
    +
    +

    All functions

    -
    + + +
    -
    + +
    diff --git a/docs/reference/kinasesubstrates.html b/docs/reference/kinasesubstrates.html index 9f22087..e88b2c8 100644 --- a/docs/reference/kinasesubstrates.html +++ b/docs/reference/kinasesubstrates.html @@ -1,73 +1,54 @@ -Kinase substrate lists — kinasesubstrates • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    Kinase substrate lists

    -
    +
    +

    Usage

    kinasesubstrates
    -
    -

    Format

    +
    +

    Format

    A list with 4 items

    names

    The names of the kinases

    @@ -82,28 +63,24 @@

    Format

    -
    -

    Source

    +
    +

    Source

    PhosphositePlus

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/krbpaths.html b/docs/reference/krbpaths.html index 05f0480..dab0ecd 100644 --- a/docs/reference/krbpaths.html +++ b/docs/reference/krbpaths.html @@ -1,73 +1,54 @@ -KEGG, Reactome, BioCarta Pathways — krbpaths • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    KEGG, Reactome, BioCarta Pathways

    -
    +
    +

    Usage

    krbpaths
    -
    -

    Format

    +
    +

    Format

    A list with 4 items

    names

    The names of the pathways

    @@ -82,28 +63,24 @@

    Format

    -
    -

    Source

    +
    +

    Source

    https://www.gsea-msigdb.org/gsea/msigdb_license_terms.jsp

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/leapR-package.html b/docs/reference/leapR-package.html index 7a41a1e..46b684b 100644 --- a/docs/reference/leapR-package.html +++ b/docs/reference/leapR-package.html @@ -1,93 +1,68 @@ -leapR: Layered enrichment analysis of pathways R — leapR-package • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    leapR is a package that identifies pathways that are enriched across diverse 'omics experiments. It leverages any tabular expression data (proteomics, transcriptomics) using the `SummarizedExperiment` object. It works with any pathway in the .gct file format.

    -
    -

    Author

    +
    +

    Author

    Maintainer: Sara Gosline sara.gosline@pnnl.gov (ORCID)

    Authors:

    Other contributors:

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/leapR.html b/docs/reference/leapR.html index f2ff791..250cc59 100644 --- a/docs/reference/leapR.html +++ b/docs/reference/leapR.html @@ -1,73 +1,54 @@ -leapR — leapR • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    leapR is a wrapper function that consolidates multiple enrichment methods.

    -
    +
    +

    Usage

    leapR(geneset, enrichment_method, eset, assay_name, ...)
    -
    -

    Arguments

    +
    +

    Arguments

    geneset
    @@ -97,12 +78,12 @@

    Arguments

    further arguments

    -
    -

    Value

    +
    +

    Value

    data frame with results

    -
    -

    Details

    +
    +

    Details

    Further arguments and enrichment method optional argument information:

    id_columnIs a character string, present in the rowData slot, that is used to specify a column for identifiers to map to enrichment libraries. @@ -199,8 +180,8 @@

    Details


    -
    -

    Examples

    +
    +

    Examples

            library(leapR)
     
      # read in the example abundance data
    @@ -314,23 +295,19 @@ 

    Examples

    -
    - - + -
    - +
    diff --git a/docs/reference/longlist.html b/docs/reference/longlist.html index 422310c..a6ec82d 100644 --- a/docs/reference/longlist.html +++ b/docs/reference/longlist.html @@ -1,93 +1,70 @@ -Long list of patient samples — longlist • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    Long list of patient samples

    -
    +
    +

    Usage

    longlist
    -
    -

    Format

    +
    +

    Format

    An object of class character of length 37.

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/ncipid.html b/docs/reference/ncipid.html index 876449e..fceb6c8 100644 --- a/docs/reference/ncipid.html +++ b/docs/reference/ncipid.html @@ -1,73 +1,54 @@ -NCI Gene lists — ncipid • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    A list of pathways and the genes that comprise these pathways

    -
    +
    +

    Usage

    ncipid
    -
    -

    Format

    +
    +

    Format

    A list with 4 items

    names

    The names of the signaling pathways

    @@ -82,28 +63,24 @@

    Format

    -
    -

    Source

    +
    +

    Source

    NCIPID

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/plot_leapr_bar.html b/docs/reference/plot_leapr_bar.html index 36df698..e1688a5 100644 --- a/docs/reference/plot_leapr_bar.html +++ b/docs/reference/plot_leapr_bar.html @@ -1,70 +1,52 @@ -Plot leapR pathway bars (single panel) — plot_leapr_bar • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    This plotting helper expects leapR generated results to plot. It will use BH_pvalue if present, otherwise pvalue.

    -
    +
    +

    Usage

    plot_leapr_bar(
       res_df,
       title = NULL,
    @@ -80,8 +62,8 @@ 

    Plot leapR pathway bars (single panel)

    )
    -
    -

    Arguments

    +
    +

    Arguments

    res_df
    @@ -128,28 +110,24 @@

    Arguments

    Font size for x-axis (numeric) labels.

    -
    -

    Value

    +
    +

    Value

    A ggplot2 object (or NULL if nothing to plot).

    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/read_gene_sets.html b/docs/reference/read_gene_sets.html index c7aba8f..b15d70c 100644 --- a/docs/reference/read_gene_sets.html +++ b/docs/reference/read_gene_sets.html @@ -1,70 +1,52 @@ -read_gene_sets — read_gene_sets • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    read_gene_sets is a function to import external pathway database files in .gmt format

    -
    +
    +

    Usage

    read_gene_sets(
       gsfile,
       gene.labels = NA,
    @@ -73,8 +55,8 @@ 

    read_gene_sets

    )
    -
    -

    Arguments

    +
    +

    Arguments

    gsfile
    @@ -94,37 +76,33 @@

    Arguments

    defaults to 15000

    -
    -

    Value

    +
    +

    Value

    gene set object

    geneset list

    -
    -

    Examples

    +
    +

    Examples

    gfile <- system.file('extdata','h.all.v2024.1.Hs.symbols.gmt',
               package='leapR')
     glist <- read_gene_sets(gfile)
     
     
    -
    - -
    +
    -
    - +
    diff --git a/docs/reference/shortlist.html b/docs/reference/shortlist.html index 3443649..aa77ef6 100644 --- a/docs/reference/shortlist.html +++ b/docs/reference/shortlist.html @@ -1,94 +1,71 @@ -A list of pathways and genes that comprise these pathways from msigdb — shortlist • leapR - - -
    -
    +
    +
    +
    -
    - -
    +

    A list of pathways and genes that comprise these pathways from msigdb

    -
    +
    +

    Usage

    shortlist
    -
    -

    Format

    +
    +

    Format

    a list with 4 items

    Short list of patient samples

    -
    - -
    +
    -
    - +
    diff --git a/vignettes/order-enrichment.Rmd b/vignettes/order-enrichment.Rmd index a3159c9..336e161 100644 --- a/vignettes/order-enrichment.Rmd +++ b/vignettes/order-enrichment.Rmd @@ -58,6 +58,7 @@ We want to evaluate how various samples compare in enrichmnet ```{r compare} i = 8 +data("ncipid") cor.res <- do.call(rbind,lapply(1:length(shortlist), function (i) { protdata.enrichment.ks <- leapR::leapR( From 96e17547a870155000e8170ecf065c1c61b89ce3 Mon Sep 17 00:00:00 2001 From: Sara JC Gosline Date: Tue, 10 Mar 2026 15:30:09 -0700 Subject: [PATCH 3/3] removed docs from this branch, then updated --- DESCRIPTION | 2 +- docs/404.html | 82 -- docs/LICENSE-text.html | 89 -- docs/articles/examples.html | 491 ------- .../examples_files/figure-html/figure_2-1.png | Bin 40093 -> 0 bytes .../examples_files/figure-html/figure_3-1.png | Bin 23985 -> 0 bytes .../examples_files/figure-html/figure_3-2.png | Bin 22159 -> 0 bytes docs/articles/index.html | 68 - docs/articles/leapR.html | 841 ------------ .../leapR_files/figure-html/corr_plot-1.png | Bin 57942 -> 0 bytes .../figure-html/fishers_plot-1.png | Bin 54834 -> 0 bytes .../leapR_files/figure-html/ks_plot-1.png | Bin 64650 -> 0 bytes .../leapR_files/figure-html/phos_plot-1.png | Bin 56209 -> 0 bytes .../leapR_files/figure-html/phos_plot-2.png | Bin 57091 -> 0 bytes .../articles/leapR_files/figure-html/zt-1.png | Bin 61272 -> 0 bytes .../pagedtable-1.1/css/pagedtable.css | 142 -- .../pagedtable-1.1/js/pagedtable.js | 1151 ----------------- docs/authors.html | 99 -- docs/index.html | 185 --- docs/link.svg | 12 - docs/pkgdown.js | 162 --- docs/pkgdown.yml | 11 - docs/reference/calcTTest.html | 127 -- docs/reference/cluster_enrichment.html | 144 --- docs/reference/combine_omics.html | 130 -- .../correlation_comparison_enrichment.html | 115 -- docs/reference/correlation_enrichment.html | 97 -- docs/reference/enrichment_in_abundance.html | 138 -- docs/reference/enrichment_in_groups.html | 139 -- .../enrichment_in_relationships.html | 109 -- docs/reference/get_pathway_information.html | 106 -- docs/reference/index.html | 186 --- docs/reference/kinasesubstrates.html | 90 -- docs/reference/krbpaths.html | 90 -- docs/reference/leapR-package.html | 72 -- docs/reference/leapR.html | 317 ----- docs/reference/longlist.html | 74 -- docs/reference/ncipid.html | 90 -- docs/reference/plot_leapr_bar.html | 137 -- docs/reference/read_gene_sets.html | 112 -- docs/reference/shortlist.html | 75 -- 41 files changed, 1 insertion(+), 5682 deletions(-) delete mode 100644 docs/404.html delete mode 100644 docs/LICENSE-text.html delete mode 100644 docs/articles/examples.html delete mode 100644 docs/articles/examples_files/figure-html/figure_2-1.png delete mode 100644 docs/articles/examples_files/figure-html/figure_3-1.png delete mode 100644 docs/articles/examples_files/figure-html/figure_3-2.png delete mode 100644 docs/articles/index.html delete mode 100644 docs/articles/leapR.html delete mode 100644 docs/articles/leapR_files/figure-html/corr_plot-1.png delete mode 100644 docs/articles/leapR_files/figure-html/fishers_plot-1.png delete mode 100644 docs/articles/leapR_files/figure-html/ks_plot-1.png delete mode 100644 docs/articles/leapR_files/figure-html/phos_plot-1.png delete mode 100644 docs/articles/leapR_files/figure-html/phos_plot-2.png delete mode 100644 docs/articles/leapR_files/figure-html/zt-1.png delete mode 100644 docs/articles/leapR_files/pagedtable-1.1/css/pagedtable.css delete mode 100644 docs/articles/leapR_files/pagedtable-1.1/js/pagedtable.js delete mode 100644 docs/authors.html delete mode 100644 docs/index.html delete mode 100644 docs/link.svg delete mode 100644 docs/pkgdown.js delete mode 100644 docs/pkgdown.yml delete mode 100644 docs/reference/calcTTest.html delete mode 100644 docs/reference/cluster_enrichment.html delete mode 100644 docs/reference/combine_omics.html delete mode 100644 docs/reference/correlation_comparison_enrichment.html delete mode 100644 docs/reference/correlation_enrichment.html delete mode 100644 docs/reference/enrichment_in_abundance.html delete mode 100644 docs/reference/enrichment_in_groups.html delete mode 100644 docs/reference/enrichment_in_relationships.html delete mode 100644 docs/reference/get_pathway_information.html delete mode 100644 docs/reference/index.html delete mode 100644 docs/reference/kinasesubstrates.html delete mode 100644 docs/reference/krbpaths.html delete mode 100644 docs/reference/leapR-package.html delete mode 100644 docs/reference/leapR.html delete mode 100644 docs/reference/longlist.html delete mode 100644 docs/reference/ncipid.html delete mode 100644 docs/reference/plot_leapr_bar.html delete mode 100644 docs/reference/read_gene_sets.html delete mode 100644 docs/reference/shortlist.html diff --git a/DESCRIPTION b/DESCRIPTION index 4a6edcd..410a79b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: leapR Title: Layered enrichment analysis of pathways R -Version: 0.99.7 +Version: 0.99.8 Authors@R: c( person("Sara", "Gosline", email = "sara.gosline@pnnl.gov", role = c('aut',"cre"), comment = c(ORCID = "0000-0002-6534-4774")), person("Jason", "McDermott", email = "jason.mcdermott@pnnl.gov", role = "aut"), diff --git a/docs/404.html b/docs/404.html deleted file mode 100644 index a4be44e..0000000 --- a/docs/404.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -Page not found (404) • leapR - - - - - - - - Skip to contents - - -
    -
    -
    - -Content not found. Please use links in the navbar. - -
    -
    - - -
    - - - -
    -
    - - - - - - - diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html deleted file mode 100644 index b910367..0000000 --- a/docs/LICENSE-text.html +++ /dev/null @@ -1,89 +0,0 @@ - -License • leapR - Skip to contents - - -
    -
    -
    - -
    Copyright 2025 Battelle Memorial Institute
    -
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions
    -are met:
    -
    -
    -1. Redistributions of source code must retain the above copyright
    -notice, this list of conditions and the following disclaimer.
    -
    -
    -2. Redistributions in binary form must reproduce the above copyright
    -notice, this list of conditions and the following disclaimer in the
    -documentation and/or other materials provided with the distribution.
    -
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
    -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
    -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
    -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
    -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/articles/examples.html b/docs/articles/examples.html deleted file mode 100644 index 0efac56..0000000 --- a/docs/articles/examples.html +++ /dev/null @@ -1,491 +0,0 @@ - - - - - - - -leapR Paper Examples • leapR - - - - - - - - Skip to contents - - -
    - - - - -
    -
    - - - -
    -

    Load libraries needed -

    -
    -# load the core libraries
    -library(leapR)
    -library(gplots)
    -library(rmarkdown)
    -# plotting helpers used in this vignette
    -library(ggplot2)
    -library(dplyr)
    -library(tibble)
    -library(stringr)
    -
    -
    -

    Example data -

    -

    A sample data set is included that is from the CPTAC study of 169 -ovarian tumors. We include the dataset as a object, containing three -assays (transcriptomics, global proteomics, and phosphoproteomics) to -enable interoperability with other tools, and store example file as -rda on Figshare -as example.

    -

    This data can be loaded as follows:

    -
    -url <- "https://api.figshare.com/v2/file/download/56536217"
    -pdata <- download.file(url, method = "libcurl", destfile = "protData.rda")
    -#  as.matrix()
    -load("protData.rda")
    -
    -p <- file.remove("protData.rda")
    -
    -url <- "https://api.figshare.com/v2/file/download/56536214"
    -tdata <- download.file(url, method = "libcurl", destfile = "transData.rda")
    -load("transData.rda")
    -p <- file.remove("transData.rda")
    -
    -url <- "https://api.figshare.com/v2/file/download/56536211"
    -phdata <- download.file(url, method = "libcurl", destfile = "phosData.rda")
    -load("phosData.rda")
    -p <- file.remove("phosData.rda")
    -

    We also have local data we can load

    -
    -
    -data(shortlist)
    -data(longlist)
    -data(ncipid)
    -data(kinasesubstrates)
    -## columns that we want to use for results
    -
    -cols_to_display <- c("ingroup_n", "outgroup_n", "background_n", 
    -                     "pvalue", "BH_pvalue")
    -
    -
    -

    Figure 2 -

    -

    We will compare the ability of transcriptomics, proteomics, and -phosphoproteomics to inform about differences between short and long -surviving patient groups. In addition to other methods, we also employ a -calcTTest function that takes two sets of samples from the -SummarizedExperiment object and computes the t-test between -them. The results are then stored in the rowData of the -same object, so that they can be used for enrichment later on.

    -

    This spans the multiple enrichment methods in leapR and also includes -multi-omics.

    -

    The resulting heatmap is presented as Figure 2 in the paper.

    -
    -# load the single omic and multi-omic pathway databases
    -data("krbpaths")
    -data("mo_krbpaths")
    -
    -# comparison enrichment in transcriptional data
    -transdata.comp.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_comparison",
    -  eset = tset,
    -  assay_name = "transcriptomics",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist
    -)
    -
    -# comparison enrichment in proteomics data
    -# this is the same code used above, just repeated here for clarity
    -protdata.comp.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_comparison",
    -  eset = pset,
    -  assay_name = "proteomics",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist
    -)
    -
    -# comparison enrichment in phosphoproteomics data
    -phosphodata.comp.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_comparison",
    -  eset = phset,
    -  assay_name = "phosphoproteomics",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist, id_column = "hgnc_id"
    -)
    -
    -
    -# set enrichment in transcriptomics data
    -# perform the comparison t-test
    -tset <- leapR::calcTTest(tset, assay_name = "transcriptomics", 
    -                         shortlist, longlist)
    -
    -
    -## now we need to run enrichment in sets with target list, not eset
    -transdata.set.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  eset = tset,
    -  assay_name = "transcriptomics",
    -  enrichment_method = "enrichment_in_sets",
    -  primary_columns = "pvalue",
    -  greaterthan = FALSE, threshold = 0.05
    -)
    -
    -
    -pset <- leapR::calcTTest(pset, assay_name = "proteomics",
    -                         shortlist, longlist)
    -
    -protdata.set.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  eset = pset,
    -  assay_name = "proteomics",
    -  enrichment_method = "enrichment_in_sets",
    -  primary_columns = "pvalue",
    -  greaterthan = FALSE, threshold = 0.05
    -)
    -
    -
    -phset <- leapR::calcTTest(phset, assay_name = "phosphoproteomics", 
    -                          shortlist, longlist)
    -
    -phosphodata.set.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_in_sets",
    -  id_column = "hgnc_id",
    -  assay_name = "phosphoproteomics",
    -  eset = phset, primary_columns = "pvalue",
    -  greaterthan = FALSE, threshold = 0.05
    -)
    -
    -# order enrichment in transcriptomics data
    -transdata.order.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_in_order",
    -  eset = tset,
    -  assay_name = "transcriptomics",
    -  primary_columns = "difference"
    -)
    -
    -# order enrichment in proteomics data
    -protdata.order.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_in_order",
    -  eset = pset,
    -  assay_name = "proteomics",
    -  primary_columns = "difference"
    -)
    -
    -# order enrichment in phosphoproteomics data
    -
    -
    -phosphodata.order.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_in_order",
    -  id_column = "hgnc_id",
    -  method = 'ztest', 
    -  eset = phset,
    -  assay_name = "phosphoproteomics",
    -  primary_columns = "difference"
    -)
    -
    -# correlation difference in transcriptomics data
    -transdata.corr.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "correlation_comparison",
    -  eset = tset,
    -  assay_name = "transcriptomics",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist
    -)
    -# correlation difference in proteomics data
    -protdata.corr.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "correlation_comparison",
    -  eset = pset,
    -  assay_name = "proteomics",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist
    -)
    -# correlation difference in phosphoproteomics data
    -phosphodata.corr.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "correlation_comparison",
    -  eset = phset,
    -  assay_name = "phosphoproteomics",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist, id_column = "hgnc_id"
    -)
    -
    -# combine the omics data into one with prefix tags
    -comboset <- leapR::combine_omics(list(pset, phset, tset), 
    -                                 c(NA, "hgnc_id", NA))
    -
    -# comparison enrichment for combodata
    -# when we use expression set, we do not need to use the mo_krbpaths 
    -#since the  id mapping column is used
    -combodata.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths, # mo_krbpaths,
    -  enrichment_method = "enrichment_comparison",
    -  eset = comboset,
    -  assay_name = "combined",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist, id_column = "id"
    -)
    -
    -
    -# set enrichment in combo data
    -# perform the comparison t test
    -comboset <- leapR::calcTTest(comboset,
    -                             assay_name = "combined", 
    -                             shortlist, longlist)
    -
    -combodata.set.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_in_sets",
    -  eset = comboset, primary_columns = "pvalue",
    -  assay_name = "combined",
    -  id_column = "id",
    -  greaterthan = FALSE, threshold = 0.05
    -)
    -
    -# order enrichment in combo data
    -combodata.order.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "enrichment_in_order",
    -  assay_name = "combined",
    -  eset = comboset, primary_columns = "difference",
    -  id_column = "id"
    -)
    -
    -# correlation difference in combo data
    -combodata.corr.enrichment.svl <- leapR::leapR(
    -  geneset = krbpaths,
    -  enrichment_method = "correlation_comparison",
    -  eset = comboset,
    -  assay_name = "combined",
    -  primary_columns = shortlist,
    -  id_column = "id",
    -  secondary_columns = longlist
    -)
    -
    -
    -# now take all these results and combine them into one figure
    -all_results <- list(
    -  transdata.comp.enrichment.svl,
    -  protdata.comp.enrichment.svl,
    -  phosphodata.comp.enrichment.svl,
    -  combodata.enrichment.svl,
    -  transdata.set.enrichment.svl,
    -  protdata.set.enrichment.svl,
    -  phosphodata.set.enrichment.svl,
    -  combodata.set.enrichment.svl,
    -  transdata.order.enrichment.svl,
    -  protdata.order.enrichment.svl,
    -  phosphodata.order.enrichment.svl,
    -  combodata.order.enrichment.svl,
    -  transdata.corr.enrichment.svl,
    -  protdata.corr.enrichment.svl,
    -  phosphodata.corr.enrichment.svl,
    -  combodata.corr.enrichment.svl
    -)
    -
    -pathways_of_interest <- c(
    -  "KEGG_APOPTOSIS",
    -  "KEGG_CELL_CYCLE",
    -  "KEGG_ERBB_SIGNALING_PATHWAY",
    -  "KEGG_FOCAL_ADHESION",
    -  "KEGG_INSULIN_SIGNALING_PATHWAY",
    -  "KEGG_MAPK_SIGNALING_PATHWAY",
    -  "KEGG_MISMATCH_REPAIR",
    -  "KEGG_MTOR_SIGNALING_PATHWAY",
    -  "KEGG_OXIDATIVE_PHOSPHORYLATION",
    -  "KEGG_P53_SIGNALING_PATHWAY",
    -  "KEGG_PATHWAYS_IN_CANCER",
    -  "KEGG_PROTEASOME",
    -  "KEGG_RIBOSOME",
    -  "KEGG_VEGF_SIGNALING_PATHWAY",
    -  "KEGG_WNT_SIGNALING_PATHWAY"
    -)
    -
    -
    -results.frame <- data.frame(
    -  pathway = pathways_of_interest,
    -  td.comp = all_results[[1]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  pd.comp = all_results[[2]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  fd.comp = all_results[[3]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  cd.comp = all_results[[4]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  td.set = all_results[[5]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  pd.set = all_results[[6]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  fd.set = all_results[[7]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  cd.set = all_results[[8]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  td.order = all_results[[9]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  pd.order = all_results[[10]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  fd.order = all_results[[11]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  cd.order = all_results[[12]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  td.corr = all_results[[13]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  pd.corr = all_results[[14]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  fd.corr = all_results[[15]][pathways_of_interest, "BH_pvalue"] < 0.05,
    -  cd.corr = all_results[[16]][pathways_of_interest, "BH_pvalue"] < 0.05
    -)
    -
    -results.frame.or <- data.frame(
    -  pathway = pathways_of_interest,
    -  td.comp = all_results[[1]][pathways_of_interest, "oddsratio"],
    -  pd.comp = all_results[[2]][pathways_of_interest, "oddsratio"],
    -  fd.comp = all_results[[3]][pathways_of_interest, "oddsratio"],
    -  cd.comp = all_results[[4]][pathways_of_interest, "oddsratio"],
    -  td.set = log(all_results[[5]][pathways_of_interest, "oddsratio"], 2),
    -  pd.set = log(all_results[[6]][pathways_of_interest, "oddsratio"], 2),
    -  fd.set = log(all_results[[7]][pathways_of_interest, "oddsratio"], 2),
    -  cd.set = log(all_results[[8]][pathways_of_interest, "oddsratio"], 2),
    -  td.order = all_results[[9]][pathways_of_interest, "oddsratio"],
    -  pd.order = all_results[[10]][pathways_of_interest, "oddsratio"],
    -  fd.order = all_results[[11]][pathways_of_interest, "oddsratio"],
    -  cd.order = all_results[[12]][pathways_of_interest, "oddsratio"],
    -  td.corr = all_results[[13]][pathways_of_interest, "oddsratio"],
    -  pd.corr = all_results[[14]][pathways_of_interest, "oddsratio"],
    -  fd.corr = all_results[[15]][pathways_of_interest, "oddsratio"],
    -  cd.corr = all_results[[16]][pathways_of_interest, "oddsratio"]
    -)
    -
    -rownames(results.frame) <- results.frame[, 1]
    -rownames(results.frame.or) <- results.frame.or[, 1]
    -results.frame.sig <- results.frame[, 2:17] * results.frame.or[, 2:17]
    -
    -heatmap.2(as.matrix(results.frame.sig[, c(1:4, 9:16)]), Colv = NA, 
    -          trace = "none", breaks = c(-1, -.1, -0.0001, 0, 0.1, 1), 
    -          col = c("blue", "lightblue", "grey", "pink", "red"), 
    -          dendrogram = "none")
    -

    -

    Figure 3. An application of the KSEA-like approach in leapR as -applied to our example data. In this example we are looking for known -substrate sets of kinases (from Phosphosite Plus) that are enriched in -the short vs long comparison of phosphopeptides.

    -
    -# this comparison of abundance in substrates between case and control
    -#     is lopsided in the sense that phosphorylation levels were previously
    -#     reported to be overall higher in the short survivors. Thus the
    -#     results are not terribly interesting (all kinases are in the same 
    -# direction)
    -phosphodata.ksea.comp.svl <- leapR::leapR(
    -  geneset = kinasesubstrates,
    -  enrichment_method = "enrichment_comparison",
    -  eset = phset,
    -  assay_name = "phosphoproteomics",
    -  primary_columns = shortlist, secondary_columns = longlist
    -)
    -
    -
    -# thus for the example we'll look at correlation between known substrates 
    -#   in the   case v control conditions
    -phosphodata.ksea.corr.svl <- leapR::leapR(
    -  geneset = kinasesubstrates,
    -  enrichment_method = "correlation_comparison",
    -  eset = phset,
    -  assay_name = "phosphoproteomics",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist
    -)
    -
    -# for the example we are using an UNCORRECTED PVALUE
    -#     which will allow us to plot more values, but
    -#     for real applications it's necessary to use the
    -#     CORRECTED PVALUE
    -
    -# here are all the kinases *significant (*uncorrected) from the analysis
    -or <- order(phosphodata.ksea.corr.svl[, "pvalue"])
    -ksea_result <- phosphodata.ksea.corr.svl[or, ][1:9, ]
    -ksea_cols <- rep("grey", 9)
    -ksea_cols[which(ksea_result[, "oddsratio"] > 0)] <- "black"
    -
    -# plot left panel: correlation significance of top most significant kinases
    -barplot(ksea_result[, "oddsratio"],
    -  horiz = TRUE, xlim = c(-1, 0.5),
    -  names.arg = rownames(ksea_result), las = 1, col = ksea_cols
    -)
    -

    -
    -
    -# plot right panel: abundance comparison results of the same kinases
    -barplot(phosphodata.ksea.comp.svl[rownames(ksea_result), "oddsratio"],
    -  horiz = TRUE, names.arg = rownames(ksea_result), las = 1, col = "black"
    -)
    -

    -
    -
    -
    - - - -
    - - - -
    -
    - - - - - - - diff --git a/docs/articles/examples_files/figure-html/figure_2-1.png b/docs/articles/examples_files/figure-html/figure_2-1.png deleted file mode 100644 index 6b5f620bf0236248540a6ab5f86cc7a5d359e831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40093 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 ZOJb)3F{R2%Z1C9~U!?uD@AHC_{{^&4&lvy! diff --git a/docs/articles/examples_files/figure-html/figure_3-2.png b/docs/articles/examples_files/figure-html/figure_3-2.png deleted file mode 100644 index 44400ee2863a953bd082cf4f031cf81030938d56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22159 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 -Articles • leapR - Skip to contents - - -
    -
    -
    - -
    -

    All vignettes

    -
    - -
    leapR Paper Examples
    -
    -
    leapR
    -
    -
    leapR Order Enrichment Tests
    -
    -
    -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/articles/leapR.html b/docs/articles/leapR.html deleted file mode 100644 index 1ef5e6b..0000000 --- a/docs/articles/leapR.html +++ /dev/null @@ -1,841 +0,0 @@ - - - - - - - -leapR • leapR - - - - - - - - Skip to contents - - -
    - - - - -
    -
    - - - -
    -

    Installation -

    -

    This is intended to be a short introduction to the leapR -package. First we need to load the required libraries:

    -
    -# install from bioconductor
    -if (!require(BiocManager)) {
    -  install.packages('BiocManager')
    -  BiocManager::install('leapR')
    -}
    -
    -
    -

    Load libraries needed -

    -
    -# load the core libraries
    -library(leapR)
    -library(gplots)
    -library(rmarkdown)
    -# plotting helpers used in this vignette
    -library(ggplot2)
    -library(dplyr)
    -library(tibble)
    -library(stringr)
    -
    -
    -

    Introduction -

    -
    -

    Definitions -

    -

    Dataset - an expression dataset, contained in the -Bioconductor object, that at the bare minimum has a matrix of components -(rows) measured in the same system under multiple different conditions -(columns)

    -

    Component - the things being measured, genes, proteins, -methylation site, phosphosite, etc. For functional (currently) the -component must be associated with a gene name. That is, there’s not -currently a way to calculate pathway enrichment using lipids.

    -

    Pathway - a set of components that works together to -accomplish something or are related to each other in some other way. -This includes classic signaling and metabolic pathways, but also -molecular function and localization categories and other groups of -related components, like genome location, conservation, etc.

    -

    Condition - a sample where the treatment, environmental -conditions, patient, time point or some combination of those is -varied.

    -

    The overall idea for functional enrichment is to determine which -pathways are statistically over-represented in one group versus another, -display statistically differential abundance from one group to another, -or are statistically differentially distributed in a ranked list based -on the abundance of one sample. Each of these purposes has a different -underlying statistical test (or family of tests) and the results of each -can be interpreted in somewhat different ways. The purpose of this -vignette is to give the user a very brief introduction on how to use the -package, not to discuss the underlying statistical choices that need to -be made when analyzing such data.

    -

    There are a number of caveats (probably non-exhaustive) with doing -this kind of analysis.

    -
    -
    -

    Important points for consideration -

    -
    -

    Data normalization -

    -

    One important point is to use data that’s been normalized in a -particular way to do these analyses. Data here has been normalized as a -Z score by row (gene/protein/etc.). So, for each row, calculate -the mean and standard deviation across all the conditions (columns) and -then express as a Z score.

    -

    Here’s why. All high-throughput technologies (microarray, RNAseq, -MS-assisted proteomics, metabolomics, lipidomics, etc.) suffer from the -same limitation. The detectability of each molecule being detected -(protein, RNA, etc.) is different and, in general, it’s impossible to -accurately determine how detectable each one is. The multi-omic -functional enrichment process lumps together measurements from different -components (proteins, genes, etc.) to summarize a pathway. If the -component measurements aren’t directly comparable (they aren’t) then -this can and will introduce significant systematic errors and won’t -produce the results you’re looking for. Careful consideration must be -given that the results of the analysis reflect the question being asked -and that the normalization method hasn’t obscured the desired -results.

    -
    -
    -

    Background -

    -

    The background of comparison for functional enrichment is always -important, but it mainly impacts the Fisher’s exact tests in the -examples below. The background answers the question: “My functional -group of interest is statistically enriched relative to what?” For -Fisher’s exact tests this is critical. Generally, it is best to compare -enrichment against the components observed in the data (the experiment’s -universe) rather than the universe of all possible components. For -example, a proteomics dataset from plasma may contain a limited set of -proteins compared with all possible human proteins; using the observed -proteins as the background usually yields more meaningful results. Using -all possible proteins will result in substantially different -findings.

    -
    -
    -

    Multiple hypothesis correction -

    -

    When testing the statistical significance of differences in a lot of -pathways it’s necessary to correct for multiple hypotheses. This -essentially accounts for the possibility you might see SOMETHING -significant by chance if you just test enough things- so it moves p -values in a less significant direction. The more things you test, the -greater this move will be. So pathway databases with lots of pathways -are affected more by this correction, making it harder to get a -significant result (which is a good thing actually).

    -
    -
    -

    Pathway databases -

    -

    Two ‘databases’ (organized text files) are included for pathways. The -example is taken from the NCI’s Pathway Interaction Database (PID) and -covers signaling pathways in human - but is no longer being actively -maintained. They can be loaded as follows:

    -
    -data(ncipid)
    -
    -
    -

    Identifiers -

    -

    The identifiers (gene names, e.g.) for the data input MUST match the -identifiers used in the pathway database. The two included human -databases use the HGNC-approved gene names. Which means your data has to -use the same identifiers.

    -
    -
    -

    Example data -

    -

    A sample data set is included that is from the CPTAC study of 169 -ovarian tumors. We include the dataset as a object, containing three -assays (transcriptomics, global proteomics, and phosphoproteomics) to -enable interoperability with other tools, and store example file as -rda on Figshare -as example.

    -

    This data can be loaded as follows:

    -
    -# Inspect the `pset` SummarizedExperiment.
    -str(pset)
    -#> Formal class 'SummarizedExperiment' [package "SummarizedExperiment"] with 5 slots
    -#>   ..@ colData        :Formal class 'DFrame' [package "S4Vectors"] with 6 slots
    -#>   .. .. ..@ rownames       : chr [1:174] "TCGA-09-1664" "TCGA-09-2056" "TCGA-13-1404" "TCGA-13-1409" ...
    -#>   .. .. ..@ nrows          : int 174
    -#>   .. .. ..@ elementType    : chr "ANY"
    -#>   .. .. ..@ elementMetadata: NULL
    -#>   .. .. ..@ metadata       : list()
    -#>   .. .. ..@ listData       : Named list()
    -#>   ..@ assays         :Formal class 'SimpleAssays' [package "SummarizedExperiment"] with 1 slot
    -#>   .. .. ..@ data:Formal class 'SimpleList' [package "S4Vectors"] with 4 slots
    -#>   .. .. .. .. ..@ listData       :List of 1
    -#>   .. .. .. .. .. ..$ proteomics: num [1:18632, 1:174] -4.0649 -0.1398 -0.0366 0.768 0.2437 ...
    -#>   .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2
    -#>   .. .. .. .. .. .. .. ..$ : chr [1:18632] "C9orf152" "ELMO2" "RPS11" "CREB3L1" ...
    -#>   .. .. .. .. .. .. .. ..$ : chr [1:174] "TCGA-09-1664" "TCGA-09-2056" "TCGA-13-1404" "TCGA-13-1409" ...
    -#>   .. .. .. .. ..@ elementType    : chr "ANY"
    -#>   .. .. .. .. ..@ elementMetadata: NULL
    -#>   .. .. .. .. ..@ metadata       : list()
    -#>   ..@ NAMES          : chr [1:18632] "C9orf152" "ELMO2" "RPS11" "CREB3L1" ...
    -#>   ..@ elementMetadata:Formal class 'DFrame' [package "S4Vectors"] with 6 slots
    -#>   .. .. ..@ rownames       : NULL
    -#>   .. .. ..@ nrows          : int 18632
    -#>   .. .. ..@ elementType    : chr "ANY"
    -#>   .. .. ..@ elementMetadata: NULL
    -#>   .. .. ..@ metadata       : list()
    -#>   .. .. ..@ listData       : Named list()
    -#>   ..@ metadata       : list()
    -dim(SummarizedExperiment::assay(pset, "proteomics"))
    -#> [1] 18632   174
    -head(rownames(pset))
    -#> [1] "C9orf152" "ELMO2"    "RPS11"    "CREB3L1"  "PNMA1"    "MMP2"
    -head(colnames(pset))
    -#> [1] "TCGA-09-1664" "TCGA-09-2056" "TCGA-13-1404" "TCGA-13-1409" "TCGA-13-1410"
    -#> [6] "TCGA-13-1482"
    -

    We also include some groups of patients to compare stored as R data -objects:

    -
    -data(shortlist)
    -data(longlist)
    -
    -## columns that we want to use for results
    -
    -cols_to_display <- c("ingroup_n", "outgroup_n", "background_n", 
    -                     "pvalue", "BH_pvalue")
    -

    The data are now loaded and ready to go through some of the -examples.

    -
    -
    -
    -
    -

    Examples -

    -

    We include five examples of how to use this tool, depending on the -analysis at hand. ## Comparison of one condition/group versus another -condition/group.

    -

    There are a number of ways to do this. I generally use a simple -approach which assesses the statistical difference in distributions -between the abundance values from all the members of a pathway in all -the group members from one group with those from the other group using a -t test.

    -
    -

    Caveat -

    -

    This is a ‘bag of values’ approach and it does not pay attention to -the relationships between values in different groups (i.e. that each -group has measurements for the same component). There are likely issues -that rise because of this and caveats associated with it. However, it -works fairly well.

    -
    -
    -

    Description -

    -

    In this example we are assessing the enrichment of pathways in a -group of short surviving patients versus in a group of long -surviving
    -patients. We can also do a single patient-to-patient comparison or -compare a single patient to a group of patients.

    -
    -
    -

    Interpretation -

    -

    Better corrected p-values are more enriched. However, you can get -good p-values when the algorithm only considers a limited number of -components from a pathway. That is, the pathway may have 30 members and -the p-value is coming from values from just 3 members. You can look at -the ingroup_n column from the result matrix to see this -(and screen out if desired).

    -

    It is VERY important to also consider the effect size. That is, the -difference between the mean of one group and the mean of the other -group. If there are large numbers of components in the pathway being -compared it is relatively easy to get a significant p value with small -effect size. Though this may be a real difference it is often not as -interesting as a smaller group with worse p value and greater effect -size. You can look at the effect size by comparing the -ingroup_mean and outgroup_mean columns.

    -
    -# in this example we lump a bunch of patients together (the 'short survivors')
    -# and compare them to another group (the 'long survivors')
    -
    -### using enrichment_wrapper function
    -protdata.enrichment.svl <- leapR::leapR(
    -  geneset = ncipid,
    -  enrichment_method = "enrichment_comparison",
    -  eset = pset,
    -  assay_name = "proteomics",
    -  primary_columns = shortlist,
    -  secondary_columns = longlist
    -)
    -
    -or <- order(unlist(protdata.enrichment.svl[, "pvalue"]))
    -rmarkdown::paged_table(protdata.enrichment.svl[or, cols_to_display])
    -
    - -
    -
    -# another application is to compare just one patient against another
    -# (this would be the  equivalent of comparing one time point to another)
    -
    -### using enrichment_wrapper function
    -protdata.enrichment.svl.ovo <- leapR::leapR(
    -  geneset = ncipid,
    -  enrichment_method = "enrichment_comparison",
    -  eset = pset,
    -  assay_name = "proteomics",
    -  primary_columns = shortlist[1],
    -  secondary_columns = longlist[1]
    -)
    -or <- order(unlist(protdata.enrichment.svl.ovo[, "pvalue"]))
    -rmarkdown::paged_table(protdata.enrichment.svl.ovo[or, cols_to_display])
    -
    - -
    -

    When we only compare one sample to another, we get no enriched -pathways.

    -
    -
    -

    Fisher’s exact test -

    -

    For this test I use Fisher’s exact which is a simple comparison of -the overlap of two sets (think of it like a statistical Venn diagram -with two groups). It’s also referred to as a hypergeometric test.

    -
    -

    Caveats -

    -

    Caveat 1. Fisher’s exact does not consider abundance values -but only lists of components. Generally this requires some separation of -a group of interest using differential expression, module membership -(from a network for example), or some other method.

    -

    Caveat 2. The choice of background for comparison can make a -big difference on outcome. For example, in a proteomics experiment where -you’re looking at enrichment in a group of highly differentially -expressed proteins, you could choose to use all possible proteins as a -background, or you could use just those proteins that were observed by -proteomics (generally a much more limited set). The second option is -generally the best since the first options will result in (partly to -mostly) functions that are enriched in proteins that are seen in -proteomics. That is, the most abundant proteins, which is generally not -the desired outcome.

    -
    -
    -

    Description -

    -

    In the example below I construct a genelist of interest using a -simple abundance threshold on the data then use a background of all the -genes in the example dataset (which is a limited number). I then do a -simple hierarchical clustering on the data, extract modules, and step -through each module to calculate enrichment for them, outputting the -results into a separate text file.

    -
    -
    -

    Interpretation -

    -

    As with the t test comparison above it is important to look at the -number of pathway members included in the comparison (look at the -in_path column). There is no ‘effect size’ problem with Fisher’s exact -since it’s just a set comparison, but it’s important to note that -significant p values can arise from a pathway being -underrepresented in the genelist, which often times is not the -desired result. The foldx column gives a ratio of in versus not in the -genelist, values > 1 being enriched and <1 being depleted.

    -
    -# for this example we will construct a list of genes from the expression data
    -#     to emulate what you might be inputting
    -genelist <- rownames(pset)[which(SummarizedExperiment::assay(pset, 
    -                                                    "proteomics")[, 1] > 0.5)]
    -
    -protdata.enrichment.sets.test <- leapR::leapR(
    -  geneset = ncipid,
    -  enrichment_method = "enrichment_in_sets",
    -  eset = pset,
    -  assay_name = "proteomics",
    -  targets = genelist
    -)
    -or <- order(protdata.enrichment.sets.test[, "pvalue"])
    -rmarkdown::paged_table(protdata.enrichment.sets.test[or, cols_to_display])
    -
    - -
    -
    -
    -
    -
    -# in this example we construct some modules from the hierarchical clustering
    -#   of the   data
    -protdata_naf <- SummarizedExperiment::assay(pset, "proteomics")
    -
    -# hierarchical clustering is not too happy with lots of missing values
    -#    so we'll do a zero fill on this to get the modules
    -protdata_naf[which(is.na(protdata_naf))] <- 0
    -
    -# construct the hierarchical clustering using the 'wardD' method, which
    -#    seems to give more even sized modules
    -protdata_hc <- hclust(dist(protdata_naf), method = "ward.D2")
    -
    -# arbitrarily we'll chop the clusters into 5 modules
    -modules <- cutree(protdata_hc, k = 5)
    -
    -## sara: created list
    -clusters <- lapply(unique(modules), function(x) names(which(modules == x)))
    -
    -# modules is a named list of values where each value is a module
    -#         number and the name is the gene name
    -
    -# To do enrichment for one module (module 1 in this case) do this
    -protdata.enrichment.sets.module_1 <- leapR::leapR(
    -  geneset = ncipid,
    -  enrichment_method = "enrichment_in_sets",
    -  eset = pset,
    -  assay_name = "proteomics",
    -  targets = names(modules[which(modules == 1)])
    -)
    -
    -# To do enrichment on all modules and return the list of enrichment results
    -protdata.enrichment.sets.modules <- do.call(rbind, 
    -                                            leapR::cluster_enrichment(
    -                                                eset = pset,
    -                                                assay_name= 'proteomics',
    -                                                geneset = ncipid,
    -                                                clusters = clusters, 
    -                                                sigfilter = 0.25))
    -## nothing is enriched
    -rmarkdown::paged_table(protdata.enrichment.sets.modules[, cols_to_display])
    -
    - -
    -
    -
    Visualizing Fisher’s exact results -
    -
    -# Plot the top enriched gene sets from Fisher's exact test
    -# Stars indicate significance (None seen here)
    -plot_leapr_bar(
    -  protdata.enrichment.sets.test,
    -  title = "Fisher's Exact Test: Top Enriched Pathways",
    -  top_n = 10,
    -  star_thresholds = c(0.05, 0.01, 0.001),
    -  wrap = 40
    -)
    -

    -
    -
    -
    -
    -

    The Kolmogorov–Smirnov test (KS) -

    -

    Similar to the popular GSEA, KS tests whether a group of components -(the pathway) is distributed in a statistically significant manner in a -ranked list of components. That is, if all the members of the pathway -are clustered together at the top of the list (highly abundant, e.g.) or -at the bottom of the list (low abundance, e.g.) this will return good p -values. I should note that GSEA uses a more sophisticated approach than -this and their application has a lot of bells and whistles.

    -
    -

    Description -

    -

    In the example below I’m simply calculating enrichment for one of the -patients in the list (arbitrarily selected). The ranking value is -relative protein abundance in this case, but can be any continuous -measure or derived value. For example, you could calculate the topology -of all proteins in a network and use the topology measure (degree) as -the measure.

    -
    -
    -

    Interpretation -

    -

    Similar to the other examples be cautious of pathways with good p -values that consider a small number of pathway numbers (in_path column). -The MeanPath column gives a measure that shows how far above or below -the median the mean rank of the pathway is (normalized to -1,1). The -Zscore column is a Zscore calculated on the basis of the mean percentage -rank of the pathway relative to the mean of the entire list divided by -the standard deviation of the pathway rank. The foldx column expresses -the mean percentage rank of the pathway relative to the entire list - -closer to 0 is higher in the list and closer to 1 is closer to the -bottom of the list. Each of these should give consistent results, but -will be somewhat different.

    -
    -# This is how you calculate enrichment in a ranked list 
    -# (for example from topology)
    -### using enrichment_wrapper function
    -protdata.enrichment.order <- leapR::leapR(
    -  geneset = ncipid, "enrichment_in_order",
    -  eset = pset,
    -  method = 'ks',
    -  assay_name = "proteomics",
    -  primary_columns = shortlist[1]
    -)
    -
    -
    -or <- order(protdata.enrichment.order[, "pvalue"])
    -rmarkdown::paged_table(protdata.enrichment.order[or, cols_to_display])
    -
    - -
    -
    -
    Visualizing KS test results -
    -
    -# Plot the ranked enrichment results
    -plot_leapr_bar(
    -  protdata.enrichment.order,
    -  title = "Kolmogorov-Smirnov Test: Ranked Enrichment",
    -  top_n = 12,
    -  fill_sig = "#2166AC",
    -  fill_ns = "#B2DFDB",
    -  wrap = 38
    -)
    -

    -
    -
    -
    -

    KS alternative: the one-sample Z test -

    -

    Given that the KS test has not always been the best for -gene set enrichment we also implement the one-sample z test.

    -
    -# This is how you calculate enrichment in a ranked list 
    -# (for example from topology)
    -### using enrichment_wrapper function
    -protdata.enrichment.order <- leapR::leapR(
    -  geneset = ncipid, "enrichment_in_order",
    -  eset = pset,
    -  method = 'ztest',
    -  assay_name = "proteomics",
    -  primary_columns = shortlist[1]
    -)
    -
    -
    -or <- order(protdata.enrichment.order[, "pvalue"])
    -rmarkdown::paged_table(protdata.enrichment.order[or, cols_to_display])
    -
    - -
    -
    -
    -plot_leapr_bar(
    -  protdata.enrichment.order,
    -  title = "Z Test: Ranked Enrichment",
    -  top_n = 12,
    -  fill_sig = "#2166AC",
    -  fill_ns = "#B2DFDB",
    -  wrap = 38
    -)
    -

    -
    -
    -
    -

    Enrichment in Correlation -

    -

    The idea here is to use the correlation of pathway members to each -other versus to non-pathway members as a way to assess functional -enrichment. This idea seems sound- pathways that are varying in a -correlated way across a bunch of conditions (say time points or -patients) may be more active and more important than others. However, -more testing and validation is needed to show that this is the case.

    -
    -

    Interpretation -

    -

    The ingroup_mean gives the mean correlation of the -pathway members to each other and outgroup_mean gives the correlation of -the pathway members to non-pathway members. Background_mean gives the -mean correlation of all non-pathway members. The pvalue and -BH_pvalue are for the pathway members to each other versus -those pathway members to non-pathway components. The -pvalue_background and BH_pvalue_background are -for the pathway member correlation relative to non-pathway member -correlation (which is similar but slightly different than the other -p-values).

    -
    -### using enrichment_wrapper function
    -protdata.enrichment.correlation <- leapR::leapR(
    -  geneset = ncipid,
    -  enrichment_method = "correlation_enrichment",
    -  assay_name = "proteomics",
    -  eset = pset
    -)
    -
    -or <- order(protdata.enrichment.correlation[, "pvalue"])
    -rmarkdown::paged_table(head(protdata.enrichment.correlation[or, 
    -                                                      cols_to_display]))
    -
    - -
    -
    -
    -protdata.enrichment.correlation.short <- leapR::leapR(
    -  geneset = ncipid,
    -  enrichment_method = "correlation_enrichment",
    -  assay_name = "proteomics",
    -  eset = pset[, shortlist]
    -)
    -or <- order(protdata.enrichment.correlation.short[, "pvalue"])
    -rmarkdown::paged_table(head(protdata.enrichment.correlation.short[or, 
    -                                                        cols_to_display]))
    -
    - -
    -
    -
    -protdata.enrichment.correlation.long <- leapR::leapR(
    -  geneset = ncipid,
    -  enrichment_method = "correlation_enrichment",
    -  assay_name = "proteomics",
    -  eset = pset[, longlist]
    -)
    -or <- order(protdata.enrichment.correlation.long[, "pvalue"])
    -rmarkdown::paged_table(head(protdata.enrichment.correlation.long[or, 
    -                                                            cols_to_display]))
    -
    - -
    -
    -
    Visualizing correlation enrichment results -
    -
    -# Compare correlation patterns across conditions
    -plot_leapr_bar(
    -  protdata.enrichment.correlation.short,
    -  title = "Correlation Enrichment: Short Survivors",
    -  top_n = 10,
    -  fill_sig = "#1B9E77",
    -  fill_ns = "#D8F0E8",
    -  wrap = 36
    -)
    -

    -
    -
    -
    -
    -

    Phosphoproteomics data analysis -

    -

    In this example we will use phosphoproteomics data to assess the -enrichment in known kinase substrates (a proxy for kinase activity)

    -
    -data("kinasesubstrates")
    -
    -# for an individual tumor calculate the Kinase-Substrate 
    -# Enrichment (similar to KSEA)
    -#     This uses the site-specific phosphorylation data to determine 
    -# which kinases
    -#     might be active by assessing the enrichment of the 
    -# phosphorylation of their known substrates
    -
    -phosphodata.ksea.order <- leapR::leapR(
    -  geneset = kinasesubstrates,
    -  enrichment_method = "enrichment_in_order",
    -  assay_name = "phosphoproteomics",
    -  eset = phset,
    -  method = 'ztest', 
    -  primary_columns = "TCGA-13-1484")
    -
    -or <- order(phosphodata.ksea.order[, "pvalue"])
    -rmarkdown::paged_table(phosphodata.ksea.order[or, cols_to_display])
    -
    - -
    -
    -
    -
    -# now do the same thing but use a threshold
    -phosphodata.sets.order <- leapR::leapR(
    -  geneset = kinasesubstrates,
    -  enrichment_method = "enrichment_in_sets",
    -  eset = phset,
    -  assay_name = "phosphoproteomics",
    -  threshold = 0.5,
    -  primary_columns = "TCGA-13-1484"
    -)
    -or <- order(phosphodata.sets.order[, "pvalue"])
    -rmarkdown::paged_table(phosphodata.sets.order[or, cols_to_display])
    -
    - -
    -
    -
    Visualizing kinase substrate enrichment -
    -
    -plot <- plot_leapr_bar(
    -  phosphodata.sets.order,
    -  title            = "Kinase Substrate Enrichment (Phosphoproteomics)",
    -  top_n            = 15,
    -  star_thresholds  = c(0.05, 0.01, 1e-3),
    -  wrap             = 36,
    -  fill_sig         = "#0F766E",  # dark teal for significant
    -  fill_ns          = "#99F6E4",  # light teal for non-significant
    -  outline          = "grey30",
    -  axis_text_y_size = 7,
    -  axis_text_x_size = 8
    -)
    -
    -plot
    -

    -
    -
    -# You can also modify the plot further using standard ggplot2 arguments
    -plot + ggplot2::labs(
    -  y = expression(-log[10]("adjusted p-value")),
    -  caption = "* p<0.05, ** p<0.01, *** p<0.001"
    -)
    -

    -

    Lastly we print out the session info!

    -
    -sessionInfo()
    -#> R version 4.5.2 (2025-10-31)
    -#> Platform: aarch64-apple-darwin20
    -#> Running under: macOS Tahoe 26.2
    -#> 
    -#> Matrix products: default
    -#> BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
    -#> LAPACK: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.1
    -#> 
    -#> locale:
    -#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
    -#> 
    -#> time zone: America/Los_Angeles
    -#> tzcode source: internal
    -#> 
    -#> attached base packages:
    -#> [1] stats     graphics  grDevices utils     datasets  methods   base     
    -#> 
    -#> other attached packages:
    -#> [1] stringr_1.6.0    tibble_3.3.1     dplyr_1.1.4      ggplot2_4.0.1   
    -#> [5] rmarkdown_2.30   gplots_3.3.0     leapR_0.99.7     BiocStyle_2.38.0
    -#> 
    -#> loaded via a namespace (and not attached):
    -#>  [1] SummarizedExperiment_1.40.0 gtable_0.3.6               
    -#>  [3] xfun_0.56                   bslib_0.10.0               
    -#>  [5] htmlwidgets_1.6.4           caTools_1.18.3             
    -#>  [7] Biobase_2.70.0              lattice_0.22-7             
    -#>  [9] tzdb_0.5.0                  vctrs_0.7.1                
    -#> [11] tools_4.5.2                 bitops_1.0-9               
    -#> [13] generics_0.1.4              stats4_4.5.2               
    -#> [15] pkgconfig_2.0.3             Matrix_1.7-4               
    -#> [17] KernSmooth_2.23-26          RColorBrewer_1.1-3         
    -#> [19] S7_0.2.1                    desc_1.4.3                 
    -#> [21] S4Vectors_0.48.0            lifecycle_1.0.5            
    -#> [23] compiler_4.5.2              farver_2.1.2               
    -#> [25] textshaping_1.0.4           Seqinfo_1.0.0              
    -#> [27] htmltools_0.5.9             sass_0.4.10                
    -#> [29] yaml_2.3.12                 pkgdown_2.2.0              
    -#> [31] pillar_1.11.1               jquerylib_0.1.4            
    -#> [33] DelayedArray_0.36.0         cachem_1.1.0               
    -#> [35] abind_1.4-8                 gtools_3.9.5               
    -#> [37] tidyselect_1.2.1            digest_0.6.39              
    -#> [39] stringi_1.8.7               bookdown_0.46              
    -#> [41] labeling_0.4.3              fastmap_1.2.0              
    -#> [43] grid_4.5.2                  cli_3.6.5                  
    -#> [45] SparseArray_1.10.8          magrittr_2.0.4             
    -#> [47] S4Arrays_1.10.1             readr_2.1.6                
    -#> [49] withr_3.0.2                 scales_1.4.0               
    -#> [51] XVector_0.50.0              matrixStats_1.5.0          
    -#> [53] otel_0.2.0                  ragg_1.5.0                 
    -#> [55] hms_1.1.4                   evaluate_1.0.5             
    -#> [57] knitr_1.51                  GenomicRanges_1.62.1       
    -#> [59] IRanges_2.44.0              rlang_1.1.7                
    -#> [61] glue_1.8.0                  BiocManager_1.30.27        
    -#> [63] BiocGenerics_0.56.0         rstudioapi_0.18.0          
    -#> [65] jsonlite_2.0.0              R6_2.6.1                   
    -#> [67] MatrixGenerics_1.22.0       systemfonts_1.3.1          
    -#> [69] fs_1.6.6
    -
    -
    -
    -
    -
    - - - -
    - - - -
    -
    - - - - - - - diff --git a/docs/articles/leapR_files/figure-html/corr_plot-1.png b/docs/articles/leapR_files/figure-html/corr_plot-1.png deleted file mode 100644 index a8850566280e6cf5982e75dbbfe3d2b1155c938f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57942 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 R#SD-yJzf1=);T3K0RVB!h3EhP diff --git a/docs/articles/leapR_files/figure-html/fishers_plot-1.png b/docs/articles/leapR_files/figure-html/fishers_plot-1.png deleted file mode 100644 index b1cc060624216674e640cec2a52e55d17c3a4465..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54834 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 diff --git a/docs/articles/leapR_files/figure-html/ks_plot-1.png b/docs/articles/leapR_files/figure-html/ks_plot-1.png deleted file mode 100644 index c1a2be92a9424631b59c4176f9842ed083b71411..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64650 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 diff --git a/docs/articles/leapR_files/figure-html/phos_plot-1.png b/docs/articles/leapR_files/figure-html/phos_plot-1.png deleted file mode 100644 index 6b60cf4028c2748fec6740b9260e522b528870d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56209 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

    Q$yFL4`~#0xEt7J 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 diff --git a/docs/articles/leapR_files/figure-html/zt-1.png b/docs/articles/leapR_files/figure-html/zt-1.png deleted file mode 100644 index ac25009a0412be5ccb679ec720449d1f90bacc12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61272 zcmeFa2UJzrnl6et>oFjT3RMbWN56Bs@91&*zI(@bj8R>j0`^{etvUbyOaJT#(vqTEHqvjTp`qDA zxqMNUhGvZo4b7?>>(}DHsI9C~$G_Iz6c@dSf8%TBLXI>3wZZhVvN;XS0axs^yL zo-&nwf_11kuUSPorfWq_g|WFoJl;$z#lpgw;^h3}CBxeL;~kk3 z3)$?61_$y7a)vGaiic+s?He~2a;{#!E*hGb`x#Bv{ra9J`oNCdU*BJsVX|5A^ZVB? zE`MM7^IMloPdnE9`i(~i-)#Ez?e0r==ze{B?BQyTU*BHcwSn9Q^7WGCzy89nZOgxy zvi$bj>qE{bbt>YgoaE%>1k>AHTxis+8nq^EeB!$vvL!}WWo_E9p=z>0Bk4xr{XXHP z84t;z(_e-zM0>X7*#{O`jeVn-xXQ6jx0rj_ZZ2{^5N9d;Y}R36tdxU6AUk{CiCcf| zZJus-))<-l{7O?aZ*UbZ`*q`&o*^2V(0p22THA0&*Fu@0^!qn#3=638s;Yyp@&zJ7 zL(kHwSv+MbZf{?TXWsYd(IW#3V-E(wScyPhy_!e~F-b`u4-bzvo6ap;7==`M0}~hy zB{1>`E}B1$a(^S&^M-S?$3*ARh)OBP_g1`9w|^h6pFV_lX20?nH@a3uM&{{^4y|OA z+#!+2pX8(jyN0A`f{NmQEUd>b8Q=+Yd6tJ

    o9z8;f1Jf;*+D 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 0; - - // 4. If isCallable(callback) is false, throw a TypeError exception. - // See: http://es5.github.com/#x9.11 - if (typeof callback !== "function") { - throw new TypeError(callback + ' is not a function'); - } - - // 5. If thisArg was supplied, let T be thisArg; else let - // T be undefined. - if (arguments.length > 1) { - T = thisArg; - } - - // 6. Let k be 0 - k = 0; - - // 7. Repeat, while k < len - while (k < len) { - - var kValue; - - // a. Let Pk be ToString(k). - // This is implicit for LHS operands of the in operator - // b. Let kPresent be the result of calling the HasProperty - // internal method of O with argument Pk. - // This step can be combined with c - // c. If kPresent is true, then - if (k in O) { - - // i. Let kValue be the result of calling the Get internal - // method of O with argument Pk. - kValue = O[k]; - - // ii. Call the Call internal method of callback with T as - // the this value and argument list containing kValue, k, and O. - callback.call(T, kValue, k, O); - } - // d. Increase k by 1. - k++; - } - // 8. return undefined - }; -} - -// Production steps of ECMA-262, Edition 5, 15.4.4.19 -// Reference: http://es5.github.io/#x15.4.4.19 -if (!Array.prototype.map) { - - Array.prototype.map = function(callback, thisArg) { - - var T, A, k; - - if (this == null) { - throw new TypeError(' this is null or not defined'); - } - - // 1. Let O be the result of calling ToObject passing the |this| - // value as the argument. - var O = Object(this); - - // 2. Let lenValue be the result of calling the Get internal - // method of O with the argument "length". - // 3. Let len be ToUint32(lenValue). - var len = O.length >>> 0; - - // 4. If IsCallable(callback) is false, throw a TypeError exception. - // See: http://es5.github.com/#x9.11 - if (typeof callback !== 'function') { - throw new TypeError(callback + ' is not a function'); - } - - // 5. If thisArg was supplied, let T be thisArg; else let T be undefined. - if (arguments.length > 1) { - T = thisArg; - } - - // 6. Let A be a new array created as if by the expression new Array(len) - // where Array is the standard built-in constructor with that name and - // len is the value of len. - A = new Array(len); - - // 7. Let k be 0 - k = 0; - - // 8. Repeat, while k < len - while (k < len) { - - var kValue, mappedValue; - - // a. Let Pk be ToString(k). - // This is implicit for LHS operands of the in operator - // b. Let kPresent be the result of calling the HasProperty internal - // method of O with argument Pk. - // This step can be combined with c - // c. If kPresent is true, then - if (k in O) { - - // i. Let kValue be the result of calling the Get internal - // method of O with argument Pk. - kValue = O[k]; - - // ii. Let mappedValue be the result of calling the Call internal - // method of callback with T as the this value and argument - // list containing kValue, k, and O. - mappedValue = callback.call(T, kValue, k, O); - - // iii. Call the DefineOwnProperty internal method of A with arguments - // Pk, Property Descriptor - // { Value: mappedValue, - // Writable: true, - // Enumerable: true, - // Configurable: true }, - // and false. - - // In browsers that support Object.defineProperty, use the following: - // Object.defineProperty(A, k, { - // value: mappedValue, - // writable: true, - // enumerable: true, - // configurable: true - // }); - - // For best browser support, use the following: - A[k] = mappedValue; - } - // d. Increase k by 1. - k++; - } - - // 9. return A - return A; - }; -} - -var PagedTable = function (pagedTable) { - var me = this; - - var source = function(pagedTable) { - var sourceElems = [].slice.call(pagedTable.children).filter(function(e) { - return e.hasAttribute("data-pagedtable-source"); - }); - - if (sourceElems === null || sourceElems.length !== 1) { - throw("A single data-pagedtable-source was not found"); - } - - return JSON.parse(sourceElems[0].innerHTML); - }(pagedTable); - - var options = function(source) { - var options = typeof(source.options) !== "undefined" && - source.options !== null ? source.options : {}; - - var columns = typeof(options.columns) !== "undefined" ? options.columns : {}; - var rows = typeof(options.rows) !== "undefined" ? options.rows : {}; - - var positiveIntOrNull = function(value) { - return parseInt(value) >= 0 ? parseInt(value) : null; - }; - - return { - pages: positiveIntOrNull(options.pages), - rows: { - min: positiveIntOrNull(rows.min), - max: positiveIntOrNull(rows.max), - total: positiveIntOrNull(rows.total) - }, - columns: { - min: positiveIntOrNull(columns.min), - max: positiveIntOrNull(columns.max), - total: positiveIntOrNull(columns.total) - } - }; - }(source); - - var Measurer = function() { - - // set some default initial values that will get adjusted in runtime - me.measures = { - padding: 12, - character: 8, - height: 15, - defaults: true - }; - - me.calculate = function(measuresCell) { - if (!me.measures.defaults) - return; - - var measuresCellStyle = window.getComputedStyle(measuresCell, null); - - var newPadding = parsePadding(measuresCellStyle.paddingLeft) + - parsePadding(measuresCellStyle.paddingRight); - - var sampleString = "ABCDEFGHIJ0123456789"; - var newCharacter = Math.ceil(measuresCell.clientWidth / sampleString.length); - - if (newPadding <= 0 || newCharacter <= 0) - return; - - me.measures.padding = newPadding; - me.measures.character = newCharacter; - me.measures.height = measuresCell.clientHeight; - me.measures.defaults = false; - }; - - return me; - }; - - var Page = function(data, options) { - var me = this; - - var defaults = { - max: 7, - rows: 10 - }; - - var totalPages = function() { - return Math.ceil(data.length / me.rows); - }; - - me.number = 0; - me.max = options.pages !== null ? options.pages : defaults.max; - me.visible = me.max; - me.rows = options.rows.min !== null ? options.rows.min : defaults.rows; - me.total = totalPages(); - - me.setRows = function(newRows) { - me.rows = newRows; - me.total = totalPages(); - }; - - me.setPageNumber = function(newPageNumber) { - if (newPageNumber < 0) newPageNumber = 0; - if (newPageNumber >= me.total) newPageNumber = me.total - 1; - - me.number = newPageNumber; - }; - - me.setVisiblePages = function(visiblePages) { - me.visible = Math.min(me.max, visiblePages); - me.setPageNumber(me.number); - }; - - me.getVisiblePageRange = function() { - var start = me.number - Math.max(Math.floor((me.visible - 1) / 2), 0); - var end = me.number + Math.floor(me.visible / 2) + 1; - var pageCount = me.total; - - if (start < 0) { - var diffToStart = 0 - start; - start += diffToStart; - end += diffToStart; - } - - if (end > pageCount) { - var diffToEnd = end - pageCount; - start -= diffToEnd; - end -= diffToEnd; - } - - start = start < 0 ? 0 : start; - end = end >= pageCount ? pageCount : end; - - var first = false; - var last = false; - - if (start > 0 && me.visible > 1) { - start = start + 1; - first = true; - } - - if (end < pageCount && me.visible > 2) { - end = end - 1; - last = true; - } - - return { - first: first, - start: start, - end: end, - last: last - }; - }; - - me.getRowStart = function() { - var rowStart = page.number * page.rows; - if (rowStart < 0) - rowStart = 0; - - return rowStart; - }; - - me.getRowEnd = function() { - var rowStart = me.getRowStart(); - return Math.min(rowStart + me.rows, data.length); - }; - - me.getPaddingRows = function() { - var rowStart = me.getRowStart(); - var rowEnd = me.getRowEnd(); - return data.length > me.rows ? me.rows - (rowEnd - rowStart) : 0; - }; - }; - - var Columns = function(data, columns, options) { - var me = this; - - me.defaults = { - min: 5 - }; - - me.number = 0; - me.visible = 0; - me.total = columns.length; - me.subset = []; - me.padding = 0; - me.min = options.columns.min !== null ? options.columns.min : me.defaults.min; - me.max = options.columns.max !== null ? options.columns.max : null; - me.widths = {}; - - var widthsLookAhead = Math.max(100, options.rows.min); - var paddingColChars = 10; - - me.emptyNames = function() { - columns.forEach(function(column) { - if (columns.label !== null && columns.label !== "") - return false; - }); - - return true; - }; - - var parsePadding = function(value) { - return parseInt(value) >= 0 ? parseInt(value) : 0; - }; - - me.calculateWidths = function(measures) { - columns.forEach(function(column) { - var maxChars = Math.max( - column.label.toString().length, - column.type.toString().length - ); - - for (var idxRow = 0; idxRow < Math.min(widthsLookAhead, data.length); idxRow++) { - maxChars = Math.max(maxChars, data[idxRow][column.name.toString()].length); - } - - me.widths[column.name] = { - // width in characters - chars: maxChars, - // width for the inner html columns - inner: maxChars * measures.character, - // width adding outer styles like padding - outer: maxChars * measures.character + measures.padding - }; - }); - }; - - me.getWidth = function() { - var widthOuter = 0; - for (var idxCol = 0; idxCol < me.subset.length; idxCol++) { - var columnName = me.subset[idxCol].name; - widthOuter = widthOuter + me.widths[columnName].outer; - } - - widthOuter = widthOuter + me.padding * paddingColChars * measurer.measures.character; - - if (me.hasMoreLeftColumns()) { - widthOuter = widthOuter + columnNavigationWidthPX + measurer.measures.padding; - } - - if (me.hasMoreRightColumns()) { - widthOuter = widthOuter + columnNavigationWidthPX + measurer.measures.padding; - } - - return widthOuter; - }; - - me.updateSlice = function() { - if (me.number + me.visible >= me.total) - me.number = me.total - me.visible; - - if (me.number < 0) me.number = 0; - - me.subset = columns.slice(me.number, Math.min(me.number + me.visible, me.total)); - - me.subset = me.subset.map(function(column) { - Object.keys(column).forEach(function(colKey) { - column[colKey] = column[colKey] === null ? "" : column[colKey].toString(); - }); - - column.width = null; - return column; - }); - }; - - me.setVisibleColumns = function(columnNumber, newVisibleColumns, paddingCount) { - me.number = columnNumber; - me.visible = newVisibleColumns; - me.padding = paddingCount; - - me.updateSlice(); - }; - - me.incColumnNumber = function(increment) { - me.number = me.number + increment; - }; - - me.setColumnNumber = function(newNumber) { - me.number = newNumber; - }; - - me.setPaddingCount = function(newPadding) { - me.padding = newPadding; - }; - - me.getPaddingCount = function() { - return me.padding; - }; - - me.hasMoreLeftColumns = function() { - return me.number > 0; - }; - - me.hasMoreRightColumns = function() { - return me.number + me.visible < me.total; - }; - - me.updateSlice(0); - return me; - }; - - var data = source.data; - var page = new Page(data, options); - var measurer = new Measurer(data, options); - var columns = new Columns(data, source.columns, options); - - var table = null; - var tableDiv = null; - var header = null; - var footer = null; - var tbody = null; - - // Caches pagedTable.clientWidth, specially for webkit - var cachedPagedTableClientWidth = null; - - var onChangeCallbacks = []; - - var clearSelection = function() { - if(document.selection && document.selection.empty) { - document.selection.empty(); - } else if(window.getSelection) { - var sel = window.getSelection(); - sel.removeAllRanges(); - } - }; - - var columnNavigationWidthPX = 5; - - var renderColumnNavigation = function(increment, backwards) { - var arrow = document.createElement("div"); - arrow.setAttribute("style", - "border-top: " + columnNavigationWidthPX + "px solid transparent;" + - "border-bottom: " + columnNavigationWidthPX + "px solid transparent;" + - "border-" + (backwards ? "right" : "left") + ": " + columnNavigationWidthPX + "px solid;"); - - var header = document.createElement("th"); - header.appendChild(arrow); - header.setAttribute("style", - "cursor: pointer;" + - "vertical-align: middle;" + - "min-width: " + columnNavigationWidthPX + "px;" + - "width: " + columnNavigationWidthPX + "px;"); - - header.onclick = function() { - columns.incColumnNumber(backwards ? -1 : increment); - - me.animateColumns(backwards); - renderFooter(); - - clearSelection(); - triggerOnChange(); - }; - - return header; - }; - - var maxColumnWidth = function(width) { - var padding = 80; - var columnMax = Math.max(cachedPagedTableClientWidth - padding, 0); - - return parseInt(width) > 0 ? - Math.min(columnMax, parseInt(width)) + "px" : - columnMax + "px"; - }; - - var clearHeader = function() { - var thead = pagedTable.querySelectorAll("thead")[0]; - thead.innerHTML = ""; - }; - - var renderHeader = function(clear) { - cachedPagedTableClientWidth = pagedTable.clientWidth; - - var fragment = document.createDocumentFragment(); - - header = document.createElement("tr"); - fragment.appendChild(header); - - if (columns.number > 0) - header.appendChild(renderColumnNavigation(-columns.visible, true)); - - columns.subset = columns.subset.map(function(columnData) { - var column = document.createElement("th"); - column.setAttribute("align", columnData.align); - column.style.textAlign = columnData.align; - - column.style.maxWidth = maxColumnWidth(null); - if (columnData.width) { - column.style.minWidth = - column.style.maxWidth = maxColumnWidth(columnData.width); - } - - var columnName = document.createElement("div"); - columnName.setAttribute("class", "pagedtable-header-name"); - if (columnData.label === "") { - columnName.innerHTML = " "; - } - else { - columnName.appendChild(document.createTextNode(columnData.label)); - } - column.appendChild(columnName); - - var columnType = document.createElement("div"); - columnType.setAttribute("class", "pagedtable-header-type"); - if (columnData.type === "") { - columnType.innerHTML = " "; - } - else { - columnType.appendChild(document.createTextNode("<" + columnData.type + ">")); - } - column.appendChild(columnType); - - header.appendChild(column); - - columnData.element = column; - - return columnData; - }); - - for (var idx = 0; idx < columns.getPaddingCount(); idx++) { - var paddingCol = document.createElement("th"); - paddingCol.setAttribute("class", "pagedtable-padding-col"); - header.appendChild(paddingCol); - } - - if (columns.number + columns.visible < columns.total) - header.appendChild(renderColumnNavigation(columns.visible, false)); - - if (typeof(clear) == "undefined" || clear) clearHeader(); - var thead = pagedTable.querySelectorAll("thead")[0]; - thead.appendChild(fragment); - }; - - me.animateColumns = function(backwards) { - var thead = pagedTable.querySelectorAll("thead")[0]; - - var headerOld = thead.querySelectorAll("tr")[0]; - var tbodyOld = table.querySelectorAll("tbody")[0]; - - me.fitColumns(backwards); - - renderHeader(false); - - header.style.opacity = "0"; - header.style.transform = backwards ? "translateX(-30px)" : "translateX(30px)"; - header.style.transition = "transform 200ms linear, opacity 200ms"; - header.style.transitionDelay = "0"; - - renderBody(false); - - if (headerOld) { - headerOld.style.position = "absolute"; - headerOld.style.transform = "translateX(0px)"; - headerOld.style.opacity = "1"; - headerOld.style.transition = "transform 100ms linear, opacity 100ms"; - headerOld.setAttribute("class", "pagedtable-remove-head"); - if (headerOld.style.transitionEnd) { - headerOld.addEventListener("transitionend", function() { - var headerOldByClass = thead.querySelector(".pagedtable-remove-head"); - if (headerOldByClass) thead.removeChild(headerOldByClass); - }); - } - else { - thead.removeChild(headerOld); - } - } - - if (tbodyOld) table.removeChild(tbodyOld); - - tbody.style.opacity = "0"; - tbody.style.transition = "transform 200ms linear, opacity 200ms"; - tbody.style.transitionDelay = "0ms"; - - // force relayout - window.getComputedStyle(header).opacity; - window.getComputedStyle(tbody).opacity; - - if (headerOld) { - headerOld.style.transform = backwards ? "translateX(20px)" : "translateX(-30px)"; - headerOld.style.opacity = "0"; - } - - header.style.transform = "translateX(0px)"; - header.style.opacity = "1"; - - tbody.style.opacity = "1"; - } - - me.onChange = function(callback) { - onChangeCallbacks.push(callback); - }; - - var triggerOnChange = function() { - onChangeCallbacks.forEach(function(onChange) { - onChange(); - }); - }; - - var clearBody = function() { - if (tbody) { - table.removeChild(tbody); - tbody = null; - } - }; - - var renderBody = function(clear) { - cachedPagedTableClientWidth = pagedTable.clientWidth - - var fragment = document.createDocumentFragment(); - - var pageData = data.slice(page.getRowStart(), page.getRowEnd()); - - pageData.forEach(function(dataRow, idxRow) { - var htmlRow = document.createElement("tr"); - htmlRow.setAttribute("class", (idxRow % 2 !==0) ? "even" : "odd"); - - if (columns.hasMoreLeftColumns()) - htmlRow.appendChild(document.createElement("td")); - - columns.subset.forEach(function(columnData) { - var cellName = columnData.name; - var dataCell = dataRow[cellName]; - var htmlCell = document.createElement("td"); - - if (dataCell === "NA") htmlCell.setAttribute("class", "pagedtable-na-cell"); - if (dataCell === "__NA__") dataCell = "NA"; - - var cellText = document.createTextNode(dataCell); - htmlCell.appendChild(cellText); - if (dataCell.length > 50) { - htmlCell.setAttribute("title", dataCell); - } - htmlCell.setAttribute("align", columnData.align); - htmlCell.style.textAlign = columnData.align; - htmlCell.style.maxWidth = maxColumnWidth(null); - if (columnData.width) { - htmlCell.style.minWidth = htmlCell.style.maxWidth = maxColumnWidth(columnData.width); - } - htmlRow.appendChild(htmlCell); - }); - - for (var idx = 0; idx < columns.getPaddingCount(); idx++) { - var paddingCol = document.createElement("td"); - paddingCol.setAttribute("class", "pagedtable-padding-col"); - htmlRow.appendChild(paddingCol); - } - - if (columns.hasMoreRightColumns()) - htmlRow.appendChild(document.createElement("td")); - - fragment.appendChild(htmlRow); - }); - - for (var idxPadding = 0; idxPadding < page.getPaddingRows(); idxPadding++) { - var paddingRow = document.createElement("tr"); - - var paddingCellRow = document.createElement("td"); - paddingCellRow.innerHTML = " "; - paddingCellRow.setAttribute("colspan", "100%"); - paddingRow.appendChild(paddingCellRow); - - fragment.appendChild(paddingRow); - } - - if (typeof(clear) == "undefined" || clear) clearBody(); - tbody = document.createElement("tbody"); - tbody.appendChild(fragment); - - table.appendChild(tbody); - }; - - var getLabelInfo = function() { - var pageStart = page.getRowStart(); - var pageEnd = page.getRowEnd(); - var totalRows = data.length; - - var totalRowsLabel = options.rows.total ? options.rows.total : totalRows; - var totalRowsLabelFormat = totalRowsLabel.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,'); - - var infoText = (pageStart + 1) + "-" + pageEnd + " of " + totalRowsLabelFormat + " rows"; - if (totalRows < page.rows) { - infoText = totalRowsLabel + " row" + (totalRows != 1 ? "s" : ""); - } - if (columns.total > columns.visible) { - var totalColumnsLabel = options.columns.total ? options.columns.total : columns.total; - - infoText = infoText + " | " + (columns.number + 1) + "-" + - (Math.min(columns.number + columns.visible, columns.total)) + - " of " + totalColumnsLabel + " columns"; - } - - return infoText; - }; - - var clearFooter = function() { - footer = pagedTable.querySelectorAll("div.pagedtable-footer")[0]; - footer.innerHTML = ""; - - return footer; - }; - - var createPageLink = function(idxPage) { - var pageLink = document.createElement("a"); - pageLinkClass = idxPage === page.number ? "pagedtable-index pagedtable-index-current" : "pagedtable-index"; - pageLink.setAttribute("class", pageLinkClass); - pageLink.setAttribute("data-page-index", idxPage); - pageLink.onclick = function() { - page.setPageNumber(parseInt(this.getAttribute("data-page-index"))); - renderBody(); - renderFooter(); - - triggerOnChange(); - }; - - pageLink.appendChild(document.createTextNode(idxPage + 1)); - - return pageLink; - } - - var renderFooter = function() { - footer = clearFooter(); - - var next = document.createElement("a"); - next.appendChild(document.createTextNode("Next")); - next.onclick = function() { - page.setPageNumber(page.number + 1); - renderBody(); - renderFooter(); - - triggerOnChange(); - }; - if (data.length > page.rows) footer.appendChild(next); - - var pageNumbers = document.createElement("div"); - pageNumbers.setAttribute("class", "pagedtable-indexes"); - - var pageRange = page.getVisiblePageRange(); - - if (pageRange.first) { - var pageLink = createPageLink(0); - pageNumbers.appendChild(pageLink); - - var pageSeparator = document.createElement("div"); - pageSeparator.setAttribute("class", "pagedtable-index-separator-left"); - pageSeparator.appendChild(document.createTextNode("...")) - pageNumbers.appendChild(pageSeparator); - } - - for (var idxPage = pageRange.start; idxPage < pageRange.end; idxPage++) { - var pageLink = createPageLink(idxPage); - - pageNumbers.appendChild(pageLink); - } - - if (pageRange.last) { - var pageSeparator = document.createElement("div"); - pageSeparator.setAttribute("class", "pagedtable-index-separator-right"); - pageSeparator.appendChild(document.createTextNode("...")) - pageNumbers.appendChild(pageSeparator); - - var pageLink = createPageLink(page.total - 1); - pageNumbers.appendChild(pageLink); - } - - if (data.length > page.rows) footer.appendChild(pageNumbers); - - var previous = document.createElement("a"); - previous.appendChild(document.createTextNode("Previous")); - previous.onclick = function() { - page.setPageNumber(page.number - 1); - renderBody(); - renderFooter(); - - triggerOnChange(); - }; - if (data.length > page.rows) footer.appendChild(previous); - - var infoLabel = document.createElement("div"); - infoLabel.setAttribute("class", "pagedtable-info"); - infoLabel.setAttribute("title", getLabelInfo()); - infoLabel.appendChild(document.createTextNode(getLabelInfo())); - footer.appendChild(infoLabel); - - var enabledClass = "pagedtable-index-nav"; - var disabledClass = "pagedtable-index-nav pagedtable-index-nav-disabled"; - previous.setAttribute("class", page.number <= 0 ? disabledClass : enabledClass); - next.setAttribute("class", (page.number + 1) * page.rows >= data.length ? disabledClass : enabledClass); - }; - - var measuresCell = null; - - var renderMeasures = function() { - var measuresTable = document.createElement("table"); - measuresTable.style.visibility = "hidden"; - measuresTable.style.position = "absolute"; - measuresTable.style.whiteSpace = "nowrap"; - measuresTable.style.height = "auto"; - measuresTable.style.width = "auto"; - - var measuresRow = document.createElement("tr"); - measuresTable.appendChild(measuresRow); - - measuresCell = document.createElement("td"); - var sampleString = "ABCDEFGHIJ0123456789"; - measuresCell.appendChild(document.createTextNode(sampleString)); - - measuresRow.appendChild(measuresCell); - - tableDiv.appendChild(measuresTable); - } - - me.init = function() { - tableDiv = document.createElement("div"); - pagedTable.appendChild(tableDiv); - var pagedTableClass = data.length > 0 ? - "pagedtable pagedtable-not-empty" : - "pagedtable pagedtable-empty"; - - if (columns.total == 0 || (columns.emptyNames() && data.length == 0)) { - pagedTableClass = pagedTableClass + " pagedtable-empty-columns"; - } - - tableDiv.setAttribute("class", pagedTableClass); - - renderMeasures(); - measurer.calculate(measuresCell); - columns.calculateWidths(measurer.measures); - - table = document.createElement("table"); - table.setAttribute("cellspacing", "0"); - table.setAttribute("class", "table table-condensed"); - tableDiv.appendChild(table); - - table.appendChild(document.createElement("thead")); - - var footerDiv = document.createElement("div"); - footerDiv.setAttribute("class", "pagedtable-footer"); - tableDiv.appendChild(footerDiv); - - // if the host has not yet provided horizontal space, render hidden - if (tableDiv.clientWidth <= 0) { - tableDiv.style.opacity = "0"; - } - - me.render(); - - // retry seizing columns later if the host has not provided space - function retryFit() { - if (tableDiv.clientWidth <= 0) { - setTimeout(retryFit, 100); - } else { - me.render(); - triggerOnChange(); - } - } - if (tableDiv.clientWidth <= 0) { - retryFit(); - } - }; - - var registerWidths = function() { - columns.subset = columns.subset.map(function(column) { - column.width = columns.widths[column.name].inner; - return column; - }); - }; - - var parsePadding = function(value) { - return parseInt(value) >= 0 ? parseInt(value) : 0; - }; - - me.fixedHeight = function() { - return options.rows.max != null; - } - - me.fitRows = function() { - if (me.fixedHeight()) - return; - - measurer.calculate(measuresCell); - - var rows = options.rows.min !== null ? options.rows.min : 0; - var headerHeight = header !== null && header.offsetHeight > 0 ? header.offsetHeight : 0; - var footerHeight = footer !== null && footer.offsetHeight > 0 ? footer.offsetHeight : 0; - - if (pagedTable.offsetHeight > 0) { - var availableHeight = pagedTable.offsetHeight - headerHeight - footerHeight; - rows = Math.floor((availableHeight) / measurer.measures.height); - } - - rows = options.rows.min !== null ? Math.max(options.rows.min, rows) : rows; - - page.setRows(rows); - } - - // The goal of this function is to add as many columns as possible - // starting from left-to-right, when the right most limit is reached - // it tries to add columns from the left as well. - // - // When startBackwards is true columns are added from right-to-left - me.fitColumns = function(startBackwards) { - measurer.calculate(measuresCell); - columns.calculateWidths(measurer.measures); - - if (tableDiv.clientWidth > 0) { - tableDiv.style.opacity = 1; - } - - var visibleColumns = tableDiv.clientWidth <= 0 ? Math.max(columns.min, 1) : 1; - var columnNumber = columns.number; - var paddingCount = 0; - - // track a list of added columns as we build the visible ones to allow us - // to remove columns when they don't fit anymore. - var columnHistory = []; - - var lastTableHeight = 0; - var backwards = startBackwards; - - var tableDivStyle = window.getComputedStyle(tableDiv, null); - var tableDivPadding = parsePadding(tableDivStyle.paddingLeft) + - parsePadding(tableDivStyle.paddingRight); - - var addPaddingCol = false; - var currentWidth = 0; - - while (true) { - columns.setVisibleColumns(columnNumber, visibleColumns, paddingCount); - currentWidth = columns.getWidth(); - - if (tableDiv.clientWidth - tableDivPadding < currentWidth) { - break; - } - - columnHistory.push({ - columnNumber: columnNumber, - visibleColumns: visibleColumns, - paddingCount: paddingCount - }); - - if (columnHistory.length > 100) { - console.error("More than 100 tries to fit columns, aborting"); - break; - } - - if (columns.max !== null && - columns.visible + columns.getPaddingCount() >= columns.max) { - break; - } - - // if we run out of right-columns - if (!backwards && columnNumber + columns.visible >= columns.total) { - // if we started adding right-columns, try adding left-columns - if (!startBackwards && columnNumber > 0) { - backwards = true; - } - else if (columns.min === null || visibleColumns + columns.getPaddingCount() >= columns.min) { - break; - } - else { - paddingCount = paddingCount + 1; - } - } - - // if we run out of left-columns - if (backwards && columnNumber == 0) { - // if we started adding left-columns, try adding right-columns - if (startBackwards && columnNumber + columns.visible < columns.total) { - backwards = false; - } - else if (columns.min === null || visibleColumns + columns.getPaddingCount() >= columns.min) { - break; - } - else { - paddingCount = paddingCount + 1; - } - } - - // when moving backwards try fitting left columns first - if (backwards && columnNumber > 0) { - columnNumber = columnNumber - 1; - } - - if (columnNumber + visibleColumns < columns.total) { - visibleColumns = visibleColumns + 1; - } - } - - var lastRenderableColumn = { - columnNumber: columnNumber, - visibleColumns: visibleColumns, - paddingCount: paddingCount - }; - - if (columnHistory.length > 0) { - lastRenderableColumn = columnHistory[columnHistory.length - 1]; - } - - columns.setVisibleColumns( - lastRenderableColumn.columnNumber, - lastRenderableColumn.visibleColumns, - lastRenderableColumn.paddingCount); - - if (pagedTable.offsetWidth > 0) { - page.setVisiblePages(Math.max(Math.ceil(1.0 * (pagedTable.offsetWidth - 250) / 40), 2)); - } - - registerWidths(); - }; - - me.fit = function(startBackwards) { - me.fitRows(); - me.fitColumns(startBackwards); - } - - me.render = function() { - me.fitColumns(false); - - // render header/footer to measure height accurately - renderHeader(); - renderFooter(); - - me.fitRows(); - renderBody(); - - // re-render footer to match new rows - renderFooter(); - } - - var resizeLastWidth = -1; - var resizeLastHeight = -1; - var resizeNewWidth = -1; - var resizeNewHeight = -1; - var resizePending = false; - - me.resize = function(newWidth, newHeight) { - - function resizeDelayed() { - resizePending = false; - - if ( - (resizeNewWidth !== resizeLastWidth) || - (!me.fixedHeight() && resizeNewHeight !== resizeLastHeight) - ) { - resizeLastWidth = resizeNewWidth; - resizeLastHeight = resizeNewHeight; - - setTimeout(resizeDelayed, 200); - resizePending = true; - } else { - me.render(); - triggerOnChange(); - - resizeLastWidth = -1; - resizeLastHeight = -1; - } - } - - resizeNewWidth = newWidth; - resizeNewHeight = newHeight; - - if (!resizePending) resizeDelayed(); - }; -}; - -var PagedTableDoc; -(function (PagedTableDoc) { - var allPagedTables = []; - - PagedTableDoc.initAll = function() { - allPagedTables = []; - - var pagedTables = [].slice.call(document.querySelectorAll('[data-pagedtable="false"],[data-pagedtable=""]')); - pagedTables.forEach(function(pagedTable, idx) { - pagedTable.setAttribute("data-pagedtable", "true"); - pagedTable.setAttribute("pagedtable-page", 0); - pagedTable.setAttribute("class", "pagedtable-wrapper"); - - var pagedTableInstance = new PagedTable(pagedTable); - pagedTableInstance.init(); - - allPagedTables.push(pagedTableInstance); - }); - }; - - PagedTableDoc.resizeAll = function() { - allPagedTables.forEach(function(pagedTable) { - pagedTable.render(); - }); - }; - - window.addEventListener("resize", PagedTableDoc.resizeAll); - - return PagedTableDoc; -})(PagedTableDoc || (PagedTableDoc = {})); - -window.onload = function() { - PagedTableDoc.initAll(); -}; diff --git a/docs/authors.html b/docs/authors.html deleted file mode 100644 index 6eead4c..0000000 --- a/docs/authors.html +++ /dev/null @@ -1,99 +0,0 @@ - -Authors and Citation • leapR - Skip to contents - - -
    -
    -
    - -
    -

    Authors

    - -
    • -

      Sara Gosline. Author, maintainer. -

      -
    • -
    • -

      Jason McDermott. Author. -

      -
    • -
    • -

      Jeremy Jacobson. Author. -

      -
    • -
    • -

      Vincent Danna. Contributor. -

      -
    • -
    • -

      National Institutes of Health. Funder. -

      -
    • -
    - -
    -

    Citation

    -

    - -

    Gosline S, McDermott J, Jacobson J (2026). -leapR: Layered enrichment analysis of pathways R. -R package version 0.99.7. -

    -
    @Manual{,
    -  title = {leapR: Layered enrichment analysis of pathways R},
    -  author = {Sara Gosline and Jason McDermott and Jeremy Jacobson},
    -  year = {2026},
    -  note = {R package version 0.99.7},
    -}
    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 72b8497..0000000 --- a/docs/index.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - -Layered enrichment analysis of pathways R • leapR - - - - - - - - - - Skip to contents - - -
    -
    -
    - -

    Layered Enrichment Analysis of Pathways in R (leapR) a tool that carries out statistical enrichment analysis on single- or multi-omics data.

    -
    -

    Install -

    -

    leapR is available through Bioconductor repository here

    -
    if (!require("BiocManager", quietly = TRUE))
    -    install.packages("BiocManager")
    -BiocManager::install(version = "3.21")
    -BiocManager::install('BiocStyle')
    -BiocManager::install('leapR')
    -

    Once you have successfully installed the package you can load the vignette to read examples using the vignette('leapR') command.

    -
    -
    -

    Basic Usage -

    -

    The primary function of the leapR package is the leapR function itself. This function serves a wrapper to run different styles of enrichment functions on the data. The package contains other functions to support pathway information and multi-omics datasets.

    -
    -

    Enrichment calls -

    -

    Here is a list of enrichment arguments that can be called with the leapR command.

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ArgumentDescription
    enrichment_in_setsCalculates enrichment in pathway membership in a list (e.g. highly differential proteins) relative to background using Fisher’s exact test.
    enrichment_in_orderCalculates enrichment of pathways based on a ranked list using the Kolmogorov-Smirnov test
    enrichment_comparisonCompares the distribution of abundances between two sets of conditions for each pathway using a t test
    enrichment_in_pathwaysCompares the distribution of abundances in a pathway with the background distribution of abundances using a t test
    correlation_enrichmentCalculates the enrichment of a pathway based on correlation between pathway members across conditions versus correlation between members not in the pathway
    enrichment_in_relationshipsCalculates the enrichment of a pathway in specified interactions relative to non-pathway members
    -
    -
    -

    Data examples -

    -

    We included examples of including proteomics data and transcriptomics data from 169 high-grade serous ovarian cancer (HGSOC) tumors previously studied and lists of the short- and long- surviving patients from that cohort.

    -
    -
    -

    Gene pathway examples -

    -

    We included two different gene pathways. An NCI pathway database (Pathway Information Database; PID) of signaling pathways and the MSIGDB set of gene collections from various sources.

    -
    -
    -
    -
    -
    - - -
    - - - -
    -
    - - - - - - - diff --git a/docs/link.svg b/docs/link.svg deleted file mode 100644 index 88ad827..0000000 --- a/docs/link.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - diff --git a/docs/pkgdown.js b/docs/pkgdown.js deleted file mode 100644 index 0a5573a..0000000 --- a/docs/pkgdown.js +++ /dev/null @@ -1,162 +0,0 @@ -/* http://gregfranko.com/blog/jquery-best-practices/ */ -(function ($) { - $(function () { - - $('nav.navbar').headroom(); - - Toc.init({ - $nav: $("#toc"), - $scope: $("main h2, main h3, main h4, main h5, main h6") - }); - - if ($('#toc').length) { - $('body').scrollspy({ - target: '#toc', - offset: $("nav.navbar").outerHeight() + 1 - }); - } - - // Activate popovers - $('[data-bs-toggle="popover"]').popover({ - container: 'body', - html: true, - trigger: 'focus', - placement: "top", - sanitize: false, - }); - - $('[data-bs-toggle="tooltip"]').tooltip(); - - /* Clipboard --------------------------*/ - - function changeTooltipMessage(element, msg) { - var tooltipOriginalTitle = element.getAttribute('data-bs-original-title'); - element.setAttribute('data-bs-original-title', msg); - $(element).tooltip('show'); - element.setAttribute('data-bs-original-title', tooltipOriginalTitle); - } - - if (ClipboardJS.isSupported()) { - $(document).ready(function () { - var copyButton = ""; - - $("div.sourceCode").addClass("hasCopyButton"); - - // Insert copy buttons: - $(copyButton).prependTo(".hasCopyButton"); - - // Initialize tooltips: - $('.btn-copy-ex').tooltip({ container: 'body' }); - - // Initialize clipboard: - var clipboard = new ClipboardJS('[data-clipboard-copy]', { - text: function (trigger) { - return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); - } - }); - - clipboard.on('success', function (e) { - changeTooltipMessage(e.trigger, 'Copied!'); - e.clearSelection(); - }); - - clipboard.on('error', function (e) { - changeTooltipMessage(e.trigger, 'Press Ctrl+C or Command+C to copy'); - }); - - }); - } - - /* Search marking --------------------------*/ - var url = new URL(window.location.href); - var toMark = url.searchParams.get("q"); - var mark = new Mark("main#main"); - if (toMark) { - mark.mark(toMark, { - accuracy: { - value: "complementary", - limiters: [",", ".", ":", "/"], - } - }); - } - - /* Search --------------------------*/ - /* Adapted from https://github.com/rstudio/bookdown/blob/2d692ba4b61f1e466c92e78fd712b0ab08c11d31/inst/resources/bs4_book/bs4_book.js#L25 */ - // Initialise search index on focus - var fuse; - $("#search-input").focus(async function (e) { - if (fuse) { - return; - } - - $(e.target).addClass("loading"); - var response = await fetch($("#search-input").data("search-index")); - var data = await response.json(); - - var options = { - keys: ["what", "text", "code"], - ignoreLocation: true, - threshold: 0.1, - includeMatches: true, - includeScore: true, - }; - fuse = new Fuse(data, options); - - $(e.target).removeClass("loading"); - }); - - // Use algolia autocomplete - var options = { - autoselect: true, - debug: true, - hint: false, - minLength: 2, - }; - var q; - async function searchFuse(query, callback) { - await fuse; - - var items; - if (!fuse) { - items = []; - } else { - q = query; - var results = fuse.search(query, { limit: 20 }); - items = results - .filter((x) => x.score <= 0.75) - .map((x) => x.item); - if (items.length === 0) { - items = [{ dir: "Sorry 😿", previous_headings: "", title: "No results found.", what: "No results found.", path: window.location.href }]; - } - } - callback(items); - } - $("#search-input").autocomplete(options, [ - { - name: "content", - source: searchFuse, - templates: { - suggestion: (s) => { - if (s.title == s.what) { - return `${s.dir} >
    ${s.title}
    `; - } else if (s.previous_headings == "") { - return `${s.dir} >
    ${s.title}
    > ${s.what}`; - } else { - return `${s.dir} >
    ${s.title}
    > ${s.previous_headings} > ${s.what}`; - } - }, - }, - }, - ]).on('autocomplete:selected', function (event, s) { - window.location.href = s.path + "?q=" + q + "#" + s.id; - }); - }); -})(window.jQuery || window.$) - -document.addEventListener('keydown', function (event) { - // Check if the pressed key is '/' - if (event.key === '/') { - event.preventDefault(); // Prevent any default action associated with the '/' key - document.getElementById('search-input').focus(); // Set focus to the search input - } -}); diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml deleted file mode 100644 index 78646a0..0000000 --- a/docs/pkgdown.yml +++ /dev/null @@ -1,11 +0,0 @@ -pandoc: 3.7.0.2 -pkgdown: 2.2.0 -pkgdown_sha: ~ -articles: - examples: examples.html - leapR: leapR.html - order-enrichment: order-enrichment.html -last_built: 2026-02-11T18:27Z -urls: - reference: https://pnnl-github.io/leapR/reference - article: https://pnnl-github.io/leapR/articles diff --git a/docs/reference/calcTTest.html b/docs/reference/calcTTest.html deleted file mode 100644 index 6028732..0000000 --- a/docs/reference/calcTTest.html +++ /dev/null @@ -1,127 +0,0 @@ - -calcTTest — calcTTest • leapR - Skip to contents - - -
    -
    -
    - -
    -

    calculates a t-test for two distributions of data on a per-gene basis -append results to ExpressionSet with two extra columns: `pvalue` and -`difference` for each feature

    -
    - -
    -

    Usage

    -
    calcTTest(eset, assay_name, group1, group2)
    -
    - -
    -

    Arguments

    - - -
    eset
    -

    SummarizedExperiment

    - - -
    assay_name
    -

    name of assay

    - - -
    group1
    -

    List of samples comprising group 1

    - - -
    group2
    -

    List of samples comprising group 2

    - -
    -
    -

    Value

    -

    An Expression set with two columns added to the featureData -slot: pvalue, and estimate

    -
    - -
    -

    Examples

    -
    
    -        library(leapR)
    -        url <- "https://api.figshare.com/v2/file/download/56536214"
    -        tdata <- download.file(url,method='libcurl',destfile='transData.rda')
    -        load('transData.rda')
    -        p <- file.remove("transData.rda")
    -
    -        # read in the pathways
    -        data("ncipid")
    -
    -        # read in the patient groups
    -        data("shortlist")
    -        data("longlist")
    -        calcTTest(tset, 'transcriptomics', shortlist, longlist)
    -#> class: SummarizedExperiment 
    -#> dim: 1999 174 
    -#> metadata(0):
    -#> assays(1): transcriptomics
    -#> rownames(1999): NOC2L ISG15 ... ARL6 MINA
    -#> rowData names(2): pvalue difference
    -#> colnames(174): TCGA-13-1484 TCGA-13-1495 ... TCGA-61-1995 TCGA-61-2008
    -#> colData names(0):
    -
    -
    -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/cluster_enrichment.html b/docs/reference/cluster_enrichment.html deleted file mode 100644 index 2df9b6d..0000000 --- a/docs/reference/cluster_enrichment.html +++ /dev/null @@ -1,144 +0,0 @@ - -cluster_enrichment — cluster_enrichment • leapR - Skip to contents - - -
    -
    -
    - -
    -

    Cluster enrichment Run enrichment (Fisher's exact) on clusters (lists of -identifier groups)

    -
    - -
    -

    Usage

    -
    cluster_enrichment(eset, assay_name, geneset, clusters, sigfilter = 0.05)
    -
    - -
    -

    Arguments

    - - -
    eset
    -

    is an SummarizedExperiment containing data that is clustered

    - - -
    assay_name
    -

    is the name of the assay

    - - -
    geneset
    -

    is a GeneSet object for pathway annotation

    - - -
    clusters
    -

    is a list of clusters (gene lists) to calculate enrichment -on, generally the result of the `cutree` function

    - - -
    sigfilter
    -

    minimum significance threshold default is .05

    - -
    -
    -

    Value

    -

    data frame with enrichment results

    -
    -
    -

    Details

    -

    This function will calculate enrichment (Fisher's exact test for - membership overlap) on

    -

    a series of lists of genes, such as from a set of clusters. The -results are returned as

    -

    a list of results matrices in the order of the input clusters.

    -
    - -
    -

    Examples

    -
            library(leapR)
    -
    -        # read in the example transcriptomic data
    -        url <- "https://api.figshare.com/v2/file/download/56536214"
    -        tdata <- download.file(url,method='libcurl',destfile='transData.rda')
    -        load('transData.rda')
    -        p <- file.remove("transData.rda")
    -
    -        # read in the pathways
    -        data("ncipid")
    -
    -        # for the example we will limit the number of transcripts considered
    -        #- arbitrarily in this case
    -        transdata <- SummarizedExperiment::assay(tset,'transcriptomics')
    -        transdata[which(is.na(transdata),arr.ind=TRUE)]<-0.0
    -        # perform heirarchical clustering on the  data
    -        transdata.hc <- hclust(dist(transdata), method="ward.D2")
    -
    -        transdata.hc.clusters <- cutree(transdata.hc, k=5)
    -        clust.list <- lapply(seq_len(5), function(x) {
    -           return(names(which(transdata.hc.clusters==x)))})
    -        #calculates enrichment for each of the clusters individually a
    -        #and returns a list of enrichment results
    -        transdata.hc.enrichment <- leapR::cluster_enrichment(eset=tset,
    -                assay_name='transcriptomics',
    -                geneset=ncipid,
    -                clusters=clust.list)
    -
    -
    -
    -
    -
    -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/combine_omics.html b/docs/reference/combine_omics.html deleted file mode 100644 index dd852c2..0000000 --- a/docs/reference/combine_omics.html +++ /dev/null @@ -1,130 +0,0 @@ - -combine_omics Combine two or more omics matrices into one multi-omics matrix with 'tagged' ids. — combine_omics • leapR - Skip to contents - - -
    -
    -
    - -
    -

    combine_omics -Combine two or more omics matrices into one multi-omics matrix with -'tagged' ids.

    -
    - -
    -

    Usage

    -
    combine_omics(omics_list, id_list = rep(NA, length(omics_list)))
    -
    - -
    -

    Arguments

    - - -
    omics_list
    -

    Is a list of SummarizedExperiment each with -one assay

    - - -
    id_list
    -

    List of identifiers to use, in the same order as the -omics_list elements. If an element -is `NA`, then rownames are used.

    - -
    -
    -

    Value

    -

    SummarizedExperiment with an additional assay called - `combined`

    -
    -
    -

    Details

    -

    This combines matrices of different omics types together and -adds prefix tags to the ids.

    -
    - -
    -

    Examples

    -
            library(leapR)
    -        url <- 'https://api.figshare.com/v2/file/download/56536217'
    -
    -        pdata <- download.file(url,method='libcurl',destfile='protData.rda')
    -        load('protData.rda')
    -        p <- file.remove("protData.rda")
    -
    -        url <- "https://api.figshare.com/v2/file/download/56536214"
    -        tdata <- download.file(url,method='libcurl',destfile='transData.rda')
    -        load('transData.rda')
    -        p <- file.remove("transData.rda")
    -
    -        url <- 'https://api.figshare.com/v2/file/download/56536211'
    -        phdata<-download.file(url,method='libcurl',destfile = 'phosData.rda')
    -        #phosphodata<-read.csv("phdata",check.names=FALSE,row.names=1)
    -        load('phosData.rda')
    -        p <- file.remove('phosData.rda')# read in the example protein data
    -
    -
    -        # merge the three datasets by rows and add prefix tags for
    -        # different omics types
    -        multi_omics <- combine_omics(list(pset, tset, phset),
    -                    list(NA,NA,'hgnc_id'))
    -
    -
    -
    -
    -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/correlation_comparison_enrichment.html b/docs/reference/correlation_comparison_enrichment.html deleted file mode 100644 index a873852..0000000 --- a/docs/reference/correlation_comparison_enrichment.html +++ /dev/null @@ -1,115 +0,0 @@ - -correlation_comparison_enrichment — correlation_comparison_enrichment • leapR - Skip to contents - - -
    -
    -
    - -
    -

    # internal function to calculate enrichment in differences in correlation -# between two groups -# access through the leapr wrapper

    -
    - -
    -

    Usage

    -
    correlation_comparison_enrichment(
    -  geneset,
    -  eset,
    -  assay_name,
    -  set1,
    -  set2,
    -  mapping_column = NA
    -)
    -
    - -
    -

    Arguments

    - - -
    geneset
    -

    pathway to use for enrichment

    - - -
    eset
    -

    SummarizedExperiment with abundance matrix

    - - -
    assay_name
    -

    name of assay

    - - -
    set1
    -

    first set to use

    - - -
    set2
    -

    second set to use

    - - -
    mapping_column
    -

    Column to use for id mapping within rowData

    - -
    -
    -

    Value

    -

    data frame with enrichment results

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/correlation_enrichment.html b/docs/reference/correlation_enrichment.html deleted file mode 100644 index 7d70347..0000000 --- a/docs/reference/correlation_enrichment.html +++ /dev/null @@ -1,97 +0,0 @@ - -correlation_enrichment — correlation_enrichment • leapR - Skip to contents - - -
    -
    -
    - -
    -

    # calculate enrichment in correlation between pathway members -# access through leapr wrapper

    -
    - -
    -

    Usage

    -
    correlation_enrichment(geneset, eset, assay_name, mapping_column = NA)
    -
    - -
    -

    Arguments

    - - -
    geneset
    -

    Geneset list

    - - -
    eset
    -

    a SummarizedExperiment object

    - - -
    assay_name
    -

    name of assay

    - - -
    mapping_column
    -

    Column to use to map identifiers, if not rownames

    - -
    -
    -

    Value

    -

    list of enrichment statistic table and correlation matrix

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/enrichment_in_abundance.html b/docs/reference/enrichment_in_abundance.html deleted file mode 100644 index f77a424..0000000 --- a/docs/reference/enrichment_in_abundance.html +++ /dev/null @@ -1,138 +0,0 @@ - -enrichment_in_abundance — enrichment_in_abundance • leapR - Skip to contents - - -
    -
    -
    - -
    -

    Enrichment in abundance calculates enrichment in pathways by the difference -in abundance of the pathway members.

    -
    - -
    -

    Usage

    -
    enrichment_in_abundance(
    -  geneset,
    -  eset,
    -  assay_name,
    -  mapping_column = NULL,
    -  abundance_column = NULL,
    -  fdr = 0,
    -  matchset = NULL,
    -  sample_comparison = NULL,
    -  min_p_threshold = NULL,
    -  sample_n = NULL,
    -  silence_try_errors = TRUE
    -)
    -
    - -
    -

    Arguments

    - - -
    geneset
    -

    Gene set to calculate enrichment

    - - -
    eset
    -

    Molecular abundance data in `SummarizedExperiment` format

    - - -
    assay_name
    -

    Name of assay to compare

    - - -
    mapping_column
    -

    Column to use to map identifiers

    - - -
    abundance_column
    -

    Columns to use to quantify abundance

    - - -
    fdr
    -

    number of times to sample for FDR value

    - - -
    matchset
    -

    Name of a set to use for enrichment

    - - -
    sample_comparison
    -

    list of samples to use as comparison. if missing -background (eset) is used

    - - -
    min_p_threshold
    -

    Only include p-values lower than this

    - - -
    sample_n
    -

    size of sample to use

    - - -
    silence_try_errors
    -

    set to true to silence try errors

    - -
    -
    -

    Value

    -

    data frame of enrichment result

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/enrichment_in_groups.html b/docs/reference/enrichment_in_groups.html deleted file mode 100644 index 1d7ccff..0000000 --- a/docs/reference/enrichment_in_groups.html +++ /dev/null @@ -1,139 +0,0 @@ - -enrichment_in_groups — enrichment_in_groups • leapR - Skip to contents - - -
    -
    -
    - -
    -

    Calculate the enrichment in pathways using Fisher's exact or -Kolmogorov-Smirnov test, using either the abundance column to identify -feature or the targets list. access through leapr wrapper

    -
    - -
    -

    Usage

    -
    enrichment_in_groups(
    -  geneset,
    -  targets = c(),
    -  background = NULL,
    -  assay_name = NULL,
    -  method = "fishers",
    -  minsize = 5,
    -  mapping_column = NULL,
    -  abundance_column = NULL,
    -  randomize = FALSE,
    -  silence_try_errors = TRUE
    -)
    -
    - -
    -

    Arguments

    - - -
    geneset
    -

    geneset to use for enrichment

    - - -
    targets
    -

    targets to use for enrichment

    - - -
    background
    -

    `SummarizedExperiment` describing background to use

    - - -
    assay_name
    -

    is the name of the assay to use from the background

    - - -
    method
    -

    method to use for statistical test, options are -'fishers', 'ks', 'ztest', or 'chisq'. Remember that KS test assumes normality, so it would be good -to log your data before calling. NOTE: if you do not call `suppressWarnings` then -the KS test will warn you about ties.

    - - -
    minsize
    -

    minimum size of set

    - - -
    mapping_column
    -

    column name of mapping identifiers

    - - -
    abundance_column
    -

    columns mapping abundance, either in the `assay` -matrix or `rowData`

    - - -
    randomize
    -

    true/false whether to randomize

    - - -
    silence_try_errors
    -

    true/false to silence errors

    - -
    -
    -

    Value

    -

    data frame with enrichment results

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/enrichment_in_relationships.html b/docs/reference/enrichment_in_relationships.html deleted file mode 100644 index 72d95d7..0000000 --- a/docs/reference/enrichment_in_relationships.html +++ /dev/null @@ -1,109 +0,0 @@ - -enrichment_in_relationships — enrichment_in_relationships • leapR - Skip to contents - - -
    -
    -
    - -
    -

    enrichment_in_relationships function description is a general way to -determine if a pathway -is enriched in relationships (interactions, correlation) between its members -# access through leapr wrapper

    -
    - -
    -

    Usage

    -
    enrichment_in_relationships(
    -  geneset,
    -  relationships,
    -  idmap = NA,
    -  silence_try_errors = TRUE
    -)
    -
    - -
    -

    Arguments

    - - -
    geneset
    -

    List of pathways in gmt format

    - - -
    relationships
    -

    table of relationship information, e.g. correlation

    - - -
    idmap
    -

    list of identifiers to use for mapping, the names of the items -should agree with names of features in matrix

    - - -
    silence_try_errors
    -

    boolean to silence errors

    - -
    -
    -

    Value

    -

    table of enrichment statistics

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/get_pathway_information.html b/docs/reference/get_pathway_information.html deleted file mode 100644 index 23fa80f..0000000 --- a/docs/reference/get_pathway_information.html +++ /dev/null @@ -1,106 +0,0 @@ - -get_pathway_information — get_pathway_information • leapR - Skip to contents - - -
    -
    -
    - -
    -

    get_pathway_information extracts information about a pathway from a -GeneSet object

    -
    - -
    -

    Usage

    -
    get_pathway_information(geneset, path, remove.tags = FALSE)
    -
    - -
    -

    Arguments

    - - -
    geneset
    -

    is a GeneSet object for pathway annotation

    - - -
    path
    -

    is the name of the gene set pathway to be return

    - - -
    remove.tags
    -

    boolean indicating whether to remove tags

    - -
    -
    -

    Value

    -

    list of pathway information

    -
    - -
    -

    Examples

    -
    
    -     library(leapR)
    -
    -     # load example gene set
    -     data("ncipid")
    -
    -     tnfpathway = get_pathway_information(ncipid, "tnfpathway")
    -
    -
    -
    -
    -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/index.html b/docs/reference/index.html deleted file mode 100644 index 1578a2b..0000000 --- a/docs/reference/index.html +++ /dev/null @@ -1,186 +0,0 @@ - -Package index • leapR - Skip to contents - - -
    -
    -
    - -
    -

    All functions

    - - - -
    - - - - -
    - - calcTTest() - -
    -
    calcTTest
    - -
    - - cluster_enrichment() - -
    -
    cluster_enrichment
    - -
    - - combine_omics() - -
    -
    combine_omics Combine two or more omics matrices into one multi-omics matrix with 'tagged' ids.
    - -
    - - correlation_comparison_enrichment() - -
    -
    correlation_comparison_enrichment
    - -
    - - correlation_enrichment() - -
    -
    correlation_enrichment
    - -
    - - enrichment_in_abundance() - -
    -
    enrichment_in_abundance
    - -
    - - enrichment_in_groups() - -
    -
    enrichment_in_groups
    - -
    - - enrichment_in_relationships() - -
    -
    enrichment_in_relationships
    - -
    - - get_pathway_information() - -
    -
    get_pathway_information
    - -
    - - kinasesubstrates - -
    -
    Kinase substrate lists
    - -
    - - krbpaths - -
    -
    KEGG, Reactome, BioCarta Pathways
    - -
    - - leapR() - -
    -
    leapR
    - -
    - - longlist - -
    -
    Long list of patient samples
    - -
    - - ncipid - -
    -
    NCI Gene lists
    - -
    - - plot_leapr_bar() - -
    -
    Plot leapR pathway bars (single panel)
    - -
    - - read_gene_sets() - -
    -
    read_gene_sets
    - -
    - - shortlist - -
    -
    A list of pathways and genes that comprise these pathways from msigdb
    -
    -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/kinasesubstrates.html b/docs/reference/kinasesubstrates.html deleted file mode 100644 index e88b2c8..0000000 --- a/docs/reference/kinasesubstrates.html +++ /dev/null @@ -1,90 +0,0 @@ - -Kinase substrate lists — kinasesubstrates • leapR - Skip to contents - - -
    -
    -
    - -
    -

    Kinase substrate lists

    -
    - -
    -

    Usage

    -
    kinasesubstrates
    -
    - -
    -

    Format

    -

    A list with 4 items

    names
    -

    The names of the kinases

    - -
    desc
    -

    Short description of the kinase

    - -
    sizes
    -

    Length of the substrate list

    - -
    matrix
    -

    Substrate list for the kinase

    - - -
    -
    -

    Source

    -

    PhosphositePlus

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/krbpaths.html b/docs/reference/krbpaths.html deleted file mode 100644 index dab0ecd..0000000 --- a/docs/reference/krbpaths.html +++ /dev/null @@ -1,90 +0,0 @@ - -KEGG, Reactome, BioCarta Pathways — krbpaths • leapR - Skip to contents - - -
    -
    -
    - -
    -

    KEGG, Reactome, BioCarta Pathways

    -
    - -
    -

    Usage

    -
    krbpaths
    -
    - -
    -

    Format

    -

    A list with 4 items

    names
    -

    The names of the pathways

    - -
    desc
    -

    Short description of the pathways

    - -
    sizes
    -

    Number of genes in the signaling pathways

    - -
    matrix
    -

    Matrix containing the genes in the pathways

    - - -
    -
    -

    Source

    -

    https://www.gsea-msigdb.org/gsea/msigdb_license_terms.jsp

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/leapR-package.html b/docs/reference/leapR-package.html deleted file mode 100644 index 46b684b..0000000 --- a/docs/reference/leapR-package.html +++ /dev/null @@ -1,72 +0,0 @@ - -leapR: Layered enrichment analysis of pathways R — leapR-package • leapR - Skip to contents - - -
    -
    -
    - -
    -

    leapR is a package that identifies pathways that are enriched across diverse 'omics experiments. It leverages any tabular expression data (proteomics, transcriptomics) using the `SummarizedExperiment` object. It works with any pathway in the .gct file format.

    -
    - - -
    -

    Author

    -

    Maintainer: Sara Gosline sara.gosline@pnnl.gov (ORCID)

    -

    Authors:

    Other contributors:

    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/leapR.html b/docs/reference/leapR.html deleted file mode 100644 index 250cc59..0000000 --- a/docs/reference/leapR.html +++ /dev/null @@ -1,317 +0,0 @@ - -leapR — leapR • leapR - Skip to contents - - -
    -
    -
    - -
    -

    leapR is a wrapper function that consolidates multiple enrichment methods.

    -
    - -
    -

    Usage

    -
    leapR(geneset, enrichment_method, eset, assay_name, ...)
    -
    - -
    -

    Arguments

    - - -
    geneset
    -

    is a list of four vectors, gene names, gene descriptions, gene -sizes and a matrix of genes. It represents .gmt format pathway files.

    - - -
    enrichment_method
    -

    is a character string specifying the method of -enrichment to be performed, one of: "enrichment_comparison", -"enrichment_in_order", "enrichment_in_sets", "enrichment_in_pathway", -"correlation_enrichment".

    - - -
    eset
    -

    is a `SummarizedExperiment` object containing expression data, -with features as rows and n sample/conditions as columns.

    - - -
    assay_name
    -

    is the assay to be analyzed within the `eset`. -Recommended to describe the data type (e.g. transcriptomics, proteomics) -so that it can be integrated in `combine_omics`

    - - -
    ...
    -

    further arguments

    - -
    -
    -

    Value

    -

    data frame with results

    -
    -
    -

    Details

    -

    Further arguments and enrichment method optional argument information:

    id_columnIs a character string, present in the rowData slot, -that is used to specify a column for identifiers to map to enrichment -libraries. -If missing, the rownames of the SummarizedExperiment assay will be used.
    primary_columnsIs a character vector composed of column names from -eset (either in the `assay` or in the `rowData`), -that specifies a set of primary columns to calculate enrichment on. -The meaning of this varies according to the enrichment method used - see -the descriptions for each method below. -This is an optional argument used with 'enrichment_in_order', -'enrichment_in_sets', and 'enrichment_comparison' methods.
    secondary_columns
    Is a character vector of column names for comparison, -pulled from the `assay` of the SummarizedExperiment. This is an -optional argument used with 'enrichment_comparison' methods.
    thresholdIs a numeric value, an optional argument used with -'enrichment_in sets' method which filters out abundance values or p-values -(depending on what `primary_columns` is used) -either above or below it.
    greaterthan
    Is a logical value that defaults to TRUE, it's used with -'enrichment_in_sets' method. -When set to TRUE, genes with `primary_columns` value above the -threshold argument are kept. -When set to FALSE genes with `primary_columns` value below the -threshold argument are kept. -This is an optional argument used with 'enrichment_in_sets' method.
    minsizeIs a numeric value, an optional argument used with -'enrichment_in_sets' and 'enrichment_in_order".
    fdr
    A numerical value which specifies how many times to randomly -sample genes to calculate an empirical false discovery rate, is an optional -argument used with 'enrichment_comparison' method.
    min_p_thresholdIs a numeric value, a lower p-value threshold and is an -optional argument used with 'enrichment_comparison' method.
    sample_n
    Is a way to subsample the number of components considered for -each calculation randomly. This is an optional argument used with -'enrichment_comparison' method.

    Enrichment Methods: -

    -enrichment_comparison -
    -Compares the distribution of abundances between two sets of -conditions for each pathway using a t test. For each pathway in -geneset uses a t test to compare the distribution of abundance -values/numbers in eset primary_columns with those in -eset secondary_columns. Lower p-values for pathways indicate -that the expression of the pathway is significantly different between the -set of conditions in primary_columns and the set of conditions in -secondary_columns. -Optionally, users can specify fdr which will calculate an empirical -p-value by randomizing abundances fdr number of times. If the -min_p_threshold is specified the method will only return pathways -with an adjusted p-value lower than the specified threshold. If -sample_n is specified the method will subsample the -pathway members to the specified number of components. -

    -enrichment_in_order -
    -Calculates enrichment of pathways based on a ranked list using the -Kolmogorov-Smirnov test. For each pathway in geneset uses a -Kolmogorov-Smirnov test for rank order to test if the distribution of ranked -abundance values in the eset primary_columns is significant -relative to a random distribution. Note that currently -primary_columns only accepts a single column for this method. -

    -enrichment_in_sets -
    -Calculates enrichment in pathway membership in a list (e.g. highly -differential proteins) relative to background using Fisher's exact test. For -each pathway in geneset uses a Fisher's exact test over- or under- -representation of a list of components specified. If targets are -specified this must be a vector of identifiers to serve as the target list -for comparison. If eset and primary_columns are specified then -threshold specifies a threshold value for determining the target list -of components to test. Specifying greaterthan to be False -will result in components with values lower than the specified -threshold. If eset is a data frame or matrix, the background -used for calculation will be taken as the rownames of eset -

    -enrichment_in_pathway -
    -Compares the distribution of abundances in a pathway with the background -distribution of abundances using a t test. For each pathway in -geneset calculates the significance of the difference between the -abundances from pathway members versus abundance of non-pathway members in -the set of conditions specified by primary_columns. Optionally, users -can specify fdr which will calculate an empirical p-value by -randomizing abundances fdr number of times. If the -min_p_threshold is specified the method will only return pathways -with an adjusted p-value lower than the specified threshold. If -sample_n is specified the method will subsample the -pathway members to the specified number of components. -

    -correlation_enrichment -
    -Calculates the enrichment of a pathway based on correlation between pathway -members across conditions versus correlation between members not in the -pathway. For each pathway in geneset calculates the pairwise -correlation between all pathway members and non-pathway members -across the specified primary_columns conditions in eset. Note -that for large matrices this can take a long time. A p-value is calculated -based on comparing the correlation within the members of a pathway with the -correlation values between members of the pathway and non-members of the -pathway. -

    -
    - -
    -

    Examples

    -
            library(leapR)
    -
    - # read in the example abundance data
    - # read in the example transcriptomic data
    - tdata <- download.file("https://api.figshare.com/v2/file/download/56536214",
    -      method='libcurl',destfile='transData.rda')
    - load('transData.rda')
    - p <- file.remove("transData.rda")
    -
    - # read in the pathways
    - data("ncipid")
    -
    - # read in the patient groups
    - data("shortlist")
    - data("longlist")
    -
    - # use enrichment_comparison to calculate enrichment in one set of
    - # conditions (shortlist) and another (longlist)
    - short_v_long = leapR(geneset=ncipid, assay_name='transcriptomics',
    -              enrichment_method='enrichment_comparison',
    -              eset=tset, primary_columns=shortlist,
    -               secondary_columns=longlist)
    -
    - # use enrichment_in_sets to calculate the most enriched pathways
    - # from the highest abundance proteins
    - #     from one condition
    - onept_sets = leapR(geneset=ncipid, assay_name='transcriptomics',
    -               enrichment_method='enrichment_in_sets',
    -               eset=tset, primary_columns="TCGA-13-1484", threshold=1.5)
    -
    - # use enrichment_in_order to calculate the most enriched pathways from the
    - # same condition
    - # Note: that this uses the entire set of abundance values and their order -
    - # whereas the previous example uses a hard threshold to get a short list of
    - # most abundant proteins and calculates enrichment based on set overlap.
    - # The results are likely to be similar - but with some notable differences.
    - onept_order = leapR(geneset=ncipid, assay_name='transcriptomics',
    -               enrichment_method='enrichment_in_order',
    -               eset=tset, primary_columns="TCGA-13-1484")
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -#> Warning: p-value will be approximate in the presence of ties
    -
    - # use enrichment_in_pathway to calculate the most enriched pathways in a
    - # set of conditions based on abundance in the pathway members versus
    - # abundance in non-pathway members
    - short_pathways = leapR(geneset=ncipid, assay_name='transcriptomics',
    -               enrichment_method='enrichment_in_pathway',
    -               eset=tset, primary_columns=shortlist)
    -
    - # use correlation_enrichment to calculate the most enriched pathways in
    - # correlation across the shortlist conditions
    - short_correlation_pathways = leapR(geneset=ncipid,
    -                assay_name='transcriptomics',
    -                enrichment_method='correlation_enrichment',
    -                eset=tset, primary_columns=shortlist)
    -
    -
    -
    -
    -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/longlist.html b/docs/reference/longlist.html deleted file mode 100644 index a6ec82d..0000000 --- a/docs/reference/longlist.html +++ /dev/null @@ -1,74 +0,0 @@ - -Long list of patient samples — longlist • leapR - Skip to contents - - -
    -
    -
    - -
    -

    Long list of patient samples

    -
    - -
    -

    Usage

    -
    longlist
    -
    - -
    -

    Format

    -

    An object of class character of length 37.

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/ncipid.html b/docs/reference/ncipid.html deleted file mode 100644 index fceb6c8..0000000 --- a/docs/reference/ncipid.html +++ /dev/null @@ -1,90 +0,0 @@ - -NCI Gene lists — ncipid • leapR - Skip to contents - - -
    -
    -
    - -
    -

    A list of pathways and the genes that comprise these pathways

    -
    - -
    -

    Usage

    -
    ncipid
    -
    - -
    -

    Format

    -

    A list with 4 items

    names
    -

    The names of the signaling pathways

    - -
    desc
    -

    Short description of the pathways

    - -
    sizes
    -

    Number of genes in the signaling pathways

    - -
    matrix
    -

    Matrix containing the genes in the pathways

    - - -
    -
    -

    Source

    -

    NCIPID

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/plot_leapr_bar.html b/docs/reference/plot_leapr_bar.html deleted file mode 100644 index e1688a5..0000000 --- a/docs/reference/plot_leapr_bar.html +++ /dev/null @@ -1,137 +0,0 @@ - -Plot leapR pathway bars (single panel) — plot_leapr_bar • leapR - Skip to contents - - -
    -
    -
    - -
    -

    This plotting helper expects leapR generated results to plot. -It will use BH_pvalue if present, otherwise pvalue.

    -
    - -
    -

    Usage

    -
    plot_leapr_bar(
    -  res_df,
    -  title = NULL,
    -  top_n = 15,
    -  star_thresholds = c(0.05, 0.01, 0.001),
    -  wrap = 42,
    -  max_stars = 5L,
    -  fill_sig = "#2C7BB6",
    -  fill_ns = "#BFD7FF",
    -  outline = NA,
    -  axis_text_y_size = 8,
    -  axis_text_x_size = 9
    -)
    -
    - -
    -

    Arguments

    - - -
    res_df
    -

    A leapR df containing BH_pvalue (or pvalue) and a pathway/term label column.

    - - -
    title
    -

    Plot title.

    - - -
    top_n
    -

    Number of top pathways/genes to display.

    - - -
    star_thresholds
    -

    list of numeric significance thresholds for star annotations.

    - - -
    wrap
    -

    Wrap width for pathway labels (helps formatting).

    - - -
    max_stars
    -

    Maximum number of stars to draw per bar (default 5).

    - - -
    fill_sig
    -

    Fill color for significant bars

    - - -
    fill_ns
    -

    Fill color for non-significant bars.

    - - -
    outline
    -

    Bar border color.

    - - -
    axis_text_y_size
    -

    Font size for y-axis (category) labels.

    - - -
    axis_text_x_size
    -

    Font size for x-axis (numeric) labels.

    - -
    -
    -

    Value

    -

    A ggplot2 object (or NULL if nothing to plot).

    -
    - -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/read_gene_sets.html b/docs/reference/read_gene_sets.html deleted file mode 100644 index b15d70c..0000000 --- a/docs/reference/read_gene_sets.html +++ /dev/null @@ -1,112 +0,0 @@ - -read_gene_sets — read_gene_sets • leapR - Skip to contents - - -
    -
    -
    - -
    -

    read_gene_sets is a function to import external pathway -database files in .gmt format

    -
    - -
    -

    Usage

    -
    read_gene_sets(
    -  gsfile,
    -  gene.labels = NA,
    -  gs.size.threshold.min = 5,
    -  gs.size.threshold.max = 15000
    -)
    -
    - -
    -

    Arguments

    - - -
    gsfile
    -

    is a gene set file, for example a .gmt file -(gene matrix transposed file format)

    - - -
    gene.labels
    -

    defaults to NA

    - - -
    gs.size.threshold.min
    -

    defaults to 5

    - - -
    gs.size.threshold.max
    -

    defaults to 15000

    - -
    -
    -

    Value

    -

    gene set object

    -

    geneset list

    -
    - -
    -

    Examples

    -
    gfile <- system.file('extdata','h.all.v2024.1.Hs.symbols.gmt',
    -          package='leapR')
    -glist <- read_gene_sets(gfile)
    -
    -
    -
    -
    - - -
    - - - -
    - - - - - - - diff --git a/docs/reference/shortlist.html b/docs/reference/shortlist.html deleted file mode 100644 index aa77ef6..0000000 --- a/docs/reference/shortlist.html +++ /dev/null @@ -1,75 +0,0 @@ - -A list of pathways and genes that comprise these pathways from msigdb — shortlist • leapR - Skip to contents - - -
    -
    -
    - -
    -

    A list of pathways and genes that comprise these pathways from msigdb

    -
    - -
    -

    Usage

    -
    shortlist
    -
    - -
    -

    Format

    -

    a list with 4 items

    -

    Short list of patient samples

    -
    - -
    - - -
    - - - - - - -