Skip to content

Commit

Permalink
Final changes
Browse files Browse the repository at this point in the history
  • Loading branch information
willgryan committed Nov 8, 2023
1 parent 3d9024e commit b94f0dd
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 39 deletions.
Binary file modified joss/figures/overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions joss/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -515,5 +515,19 @@ @article{RN68
type = {Journal Article}
}

@article{9tips,
doi = {10.1371/journal.pcbi.1010348},
author = {Chicco, Davide AND Agapito, Giuseppe},
journal = {PLOS Computational Biology},
publisher = {Public Library of Science},
title = {Nine quick tips for pathway enrichment analysis},
year = {2022},
month = {08},
volume = {18},
url = {https://doi.org/10.1371/journal.pcbi.1010348},
pages = {1-15},
abstract = {Pathway enrichment analysis (PEA) is a computational biology method that identifies biological functions that are overrepresented in a group of genes more than would be expected by chance and ranks these functions by relevance. The relative abundance of genes pertinent to specific pathways is measured through statistical methods, and associated functional pathways are retrieved from online bioinformatics databases. In the last decade, along with the spread of the internet, higher availability of computational resources made PEA software tools easy to access and to use for bioinformatics practitioners worldwide. Although it became easier to use these tools, it also became easier to make mistakes that could generate inflated or misleading results, especially for beginners and inexperienced computational biologists. With this article, we propose nine quick tips to avoid common mistakes and to out a complete, sound, thorough PEA, which can produce relevant and robust results. We describe our nine guidelines in a simple way, so that they can be understood and used by anyone, including students and beginners. Some tips explain what to do before starting a PEA, others are suggestions of how to correctly generate meaningful results, and some final guidelines indicate some useful steps to properly interpret PEA results. Our nine tips can help users perform better pathway enrichment analyses and eventually contribute to a better understanding of current biology.},
number = {8},

}

18 changes: 10 additions & 8 deletions joss/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,23 @@ authors:
affiliation: 1
- name: "Xiaolu Zhang"
orcid: "0000-0001-5595-7270"
affiliation: 2
affiliation: 3
- name: "Rammohan Shukla"
orcid: "0000-0001-5776-2506"
affiliation: 3
affiliation: 4
- name: "Robert McCullumsmith"
orcid: "0000-0001-6921-7150"
affiliation: 1
affiliation: "1, 2"
bibliography: paper.bib
affiliations:
- name: Department of Neurosciences, College of Medicine and Life Sciences, University of Toledo, Toledo, OH, USA
index: 1
- name: Department of Microbiology and Immunology, Louisiana State University Health Sciences Center, Shreveport, LA, USA
- name: Neurosciences Institute, ProMedica, Toledo, OH, USA
index: 2
- name: Department of Zoology & Physiology, College of Agriculture, Life Sciences and Natural Resources, University of Wyoming, Laramie, WY, USA
- name: Department of Microbiology and Immunology, Louisiana State University Health Sciences Center, Shreveport, LA, USA
index: 3
- name: Department of Zoology & Physiology, College of Agriculture, Life Sciences and Natural Resources, University of Wyoming, Laramie, WY, USA
index: 4
---

# Summary
Expand All @@ -48,19 +50,19 @@ Omics is used extensively in biological research today. However, the development

# Overview

PAVER uses vector embeddings to help interpret pathway analyses. Embeddings encode the meaning of pathways into numerical representations which can then be hierarchically clustered and visualized (\autoref{fig:overview}). To identify which pathway is most representative of a cluster, PAVER first takes the average embedding of all pathways in a cluster to capture it's overall meaning into a single numerical representation [@RN49]. It then finds which pathway is most similar to the average embedding and labels the cluster with that pathway. This allows PAVER to automatically curate long lists of pathways into groups and identify which pathway is most representative of each group.
PAVER uses vector embeddings to help interpret pathway analyses. Embeddings encode the meaning of pathways into numerical representations which can then be hierarchically clustered and visualized (\autoref{fig:overview}). To identify which pathway is most representative of a cluster, PAVER first takes the average embedding of all pathways in a cluster to capture it's overall meaning into a single numerical representation [@RN49]. It then finds which pathway is most similar to the average embedding and labels the cluster with that pathway. This allows PAVER to automatically curate long lists of pathways into groups and identify which pathway is most representative of each group. PAVER assumes the pathway analysis was properly performed [@9tips].

![PAVER uses numerical representations of pathways to find functionally related clusters.\label{fig:overview}](figures/overview.png)

PAVER was designed to be easy to use by researchers with minimal coding experience. PAVER has already been used in a number of scientific publications to aid in the interpretation of pathway analyses [@william_ryan_2023_8156248; @RN78]. We have pre-computed vector representations for Gene Ontology [@RN68] using the recent anc2vec model [@RN13], available here: https://github.com/willgryan/PAVER_embeddings. However, embeddings for any pathway database can be used with PAVER.
PAVER was designed to be easy to use by researchers with minimal coding experience. PAVER has already been used in a number of scientific publications to aid in the interpretation of pathway analyses [@william_ryan_2023_8156248; @RN78]. We have pre-computed vector representations for Gene Ontology [@RN68] using the recent anc2vec model [@RN13], available here: https://github.com/willgryan/PAVER_embeddings. However, embeddings for any pathway database or ontology can be used with PAVER.

# Licensing, Availability and Usage

The PAVER R package is licensed under the GNU General Public License v3.0. It can be installed using remotes::install_github("willgryan/PAVER"). All code, including an instructional vignette with example data, is open-source and hosted on GitHub. Report bugs using the issue tracker at https://github.com/willgryan/PAVER/issues/.

# Acknowledgements

This work was supported by NIH T32-G-RISE grant number 1T32GM144873-01.
This work was supported by NIH NIGMS T32-G-RISE grant number 1T32GM144873-01, NIMH grant number R01MH107487, NIMH grant number R01MH121102, and NIH grant number R01AG057598.

# Disclosure

Expand Down
9 changes: 2 additions & 7 deletions renv.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1864,13 +1864,8 @@
},
"renv": {
"Package": "renv",
"Version": "1.0.2",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"utils"
],
"Hash": "4b22ac016fe54028b88d0c68badbd061"
"Version": "1.0.3",
"Source": "Repository"
},
"reticulate": {
"Package": "reticulate",
Expand Down
27 changes: 3 additions & 24 deletions renv/activate.R
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
local({

# the requested version of renv
version <- "1.0.2"
version <- "1.0.3"
attr(version, "sha") <- NULL

# the project directory
Expand Down Expand Up @@ -1034,19 +1034,6 @@ local({

}


renv_bootstrap_in_rstudio <- function() {
commandArgs()[[1]] == "RStudio"
}

# Used to work around buglet in RStudio if hook uses readline
renv_bootstrap_flush_console <- function() {
tryCatch({
tools <- as.environment("tools:rstudio")
tools$.rs.api.sendToConsole("", echo = FALSE, focus = FALSE)
}, error = function(cnd) {})
}

renv_json_read <- function(file = NULL, text = NULL) {

jlerr <- NULL
Expand Down Expand Up @@ -1185,16 +1172,8 @@ local({
# construct full libpath
libpath <- file.path(root, prefix)

if (renv_bootstrap_in_rstudio()) {
# RStudio only updates console once .Rprofile is finished, so
# instead run code on sessionInit
setHook("rstudio.sessionInit", function(...) {
renv_bootstrap_exec(project, libpath, version)
renv_bootstrap_flush_console()
})
} else {
renv_bootstrap_exec(project, libpath, version)
}
# run bootstrap code
renv_bootstrap_exec(project, libpath, version)

invisible()

Expand Down

0 comments on commit b94f0dd

Please sign in to comment.