#' @include classes.R
NULL
#' Construct a GSEAResult Object
#'
#' @param results tbl_df A tibble with the results from fgsea
#' @param pathways list A list of vectors with gene sets
#' @param lower numeric Lower threshold for down-regulated genes
#' @param upper numeric Upper threshold for up-regulated genes
#' @param alpha numeric Alpha level of significance
#' @param upreg tbl_df A tibble of up-regulated genes
#' @param downreg tbl_df A tibble of down-regulated genes
#' @param useFDR logical Whether to filter by adjusted p-value
#'
#' @return an object of class GSEAResult
#' @export
#'
#' @import dplyr tibble
#' @importFrom rlang .data
#'
#' @examples
#' TRUE
GSEAResult <- function(results, pathways, lower, upper, alpha, upreg, downreg, useFDR) {
alpha <- alpha
threshold_up <- upper
threshold_down <- lower
upregulated_genes <- upreg
downregulated_genes <- downreg
pos_enriched <- results %>%
dplyr::filter(.data$ES > 0) %>%
dplyr::arrange(desc(.data$ES), .data$pval) %>%
tibble::tibble()
neg_enriched <- results %>%
dplyr::filter(.data$ES < 0) %>%
dplyr::arrange(desc(.data$ES), .data$pval) %>%
tibble::tibble()
if(useFDR) {
sig_pos_enriched <- pos_enriched %>%
dplyr::filter(.data$padj <= alpha) %>%
dplyr::arrange(desc(.data$ES), .data$pval) %>%
tibble::tibble()
sig_neg_enriched <- neg_enriched %>%
dplyr::filter(.data$padj <= alpha) %>%
dplyr::arrange(desc(.data$ES), .data$pval) %>%
tibble::tibble()
} else {
sig_pos_enriched <- pos_enriched %>%
dplyr::filter(.data$pval < alpha) %>%
dplyr::arrange(desc(.data$ES), .data$pval) %>%
tibble::tibble()
sig_neg_enriched <- neg_enriched %>%
dplyr::filter(.data$pval < alpha) %>%
dplyr::arrange(desc(.data$ES), .data$pval) %>%
tibble::tibble()
}
num_tested <- nrow(results)
num_upreg <- nrow(upreg)
num_downreg <- nrow(downreg)
num_pos_enriched <- nrow(pos_enriched)
num_neg_enriched <- nrow(neg_enriched)
num_sig_pos_enriched <- nrow(sig_pos_enriched)
num_sig_neg_enriched <- nrow(sig_neg_enriched)
g <- new("GSEAResult",
alpha = alpha,
pathways = pathways,
threshold_up = threshold_up,
threshold_down = threshold_down,
upregulated_genes = upregulated_genes,
downregulated_genes = downregulated_genes,
pos_enriched = pos_enriched,
neg_enriched = neg_enriched,
sig_pos_enriched = sig_pos_enriched,
sig_neg_enriched = sig_neg_enriched,
num_tested = num_tested,
num_upreg = num_upreg,
num_downreg = num_downreg,
num_pos_enriched = num_pos_enriched,
num_neg_enriched = num_neg_enriched,
num_sig_pos_enriched = num_sig_pos_enriched,
num_sig_neg_enriched = num_sig_neg_enriched,
empty = FALSE
)
g
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.