Nothing
#' Format Input Signatures from MSigDB
#'
#' @description
#' Reads a GMT file from MSigDB and converts it into a named list of gene sets
#' suitable for IOBR functions.
#'
#' @param gmt Character string. Path to a GMT file.
#' @param ont Character string. Name of the signature/set column in the parsed
#' GMT table. Default is `"term"`.
#' @param gene Character string. Name of the gene column in the parsed GMT
#' table. Default is `"gene"`.
#'
#' @return Named list of character vectors, where each element contains the
#' genes belonging to one signature.
#'
#' @export
#'
#' @examples
#' tf <- tempfile(fileext = ".gmt")
#' writeLines(
#' c(
#' "HALLMARK_TNFA_SIGNALING_VIA_NFKB\tNA\tTNF\tNFKB1\tNFKB2",
#' "HALLMARK_P53_PATHWAY\tNA\tTP53\tMDM2\tCDKN1A"
#' ),
#' con = tf
#' )
#'
#' sig_list <- format_msigdb(tf, ont = "term", gene = "gene")
#' names(sig_list)
#' sig_list[[1]]
format_msigdb <- function(gmt, ont = "term", gene = "gene") {
if (!file.exists(gmt)) {
cli::cli_abort("File {.file {gmt}} does not exist")
}
rlang::check_installed("clusterProfiler")
sig <- clusterProfiler::read.gmt(gmt)
sig <- as.data.frame(sig)
colnames(sig)[colnames(sig) == ont] <- "ont"
colnames(sig)[colnames(sig) == gene] <- "gene"
sig_list <- split(sig[, c("ont", "gene")], sig$ont)
sig_list <- lapply(sig_list, function(x) x$gene)
sig_list
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.