# globals.R # ::rtemisseq:: # EDG rtemis.org # rtemis ---- msg2start <- getFromNamespace("msg2start", "rtemis") msg2done <- getFromNamespace("msg2done", "rtemis") # rtemislive ---- rthelp <- function(..., title = NULL, class = "rthelp") { div( div(HTML(paste0(title, " Instructions")), style = "color: #808080; font-weight: 300; padding-bottom:.5em;" ), HTML(paste0("", paste(..., sep = "
")), "
"), class = class ) } # rtemislive::rthelp rthelp_inline <- function(..., title = NULL, class = "rthelp-inline") { rthelp(..., title = title, class = class) } # rtemislive::rthelp_inline #' Create bulleted list #' #' @return div rthelplist <- function(x, bullet = bsicons::bs_icon("arrow-right-short"), class = "rthelplist") { div( htmltools::HTML( paste0( bullet, "", x, "", "
" ) ), class = class ) } # rtemisseq::rthelplist bold <- function(x) { paste0("", x, "") } hilite <- function(x) { paste0("", x, "") } nannot <- function(n) { ngettext(n, "annotation", "annotations") } #' Summarize a3 object in HTML #' #' @param x a3 object #' #' @return HTML string #' @author EDG summarize_a3 <- function(x) { n_site <- length(x$Annotations$Site) n_region <- length(x$Annotations$Region) n_ptm <- length(x$Annotations$PTM) n_cleavage <- length(x$Annotations$Cleavage_site) n_variant <- length(x$Annotations$Variant) htmltools::HTML( paste0( if (!is.null(x$Description)) paste0("Description: ", hilite(x$Description), "
"), if (!is.null(x$UniprotID)) paste0("Uniprot ID: ", hilite(x$UniprotID), "
"), paste0("Sequence length: ", hilite(length(x$Sequence)), "
"), "", if (!is.null(x$Reference)) a("Reference", href = x$Reference, target = "_blank") ) ) } # rtemisseq::summarize_a3 #' Get file names and download URLs from a GitHub repository #' #' @param repo_owner The owner of the GitHub repository #' @param repo_name The name of the GitHub repository #' #' @return A data frame with file names and download URLs #' #' @examples #' files <- get_github_files("rtemis-org", "seq-data") #' @export #' @author EDG get_github_files <- function(repo_owner, repo_name, verbosity = 1) { if (verbosity > 0) { msg2start("Getting file information from", paste0(repo_owner, "/", repo_name)) } # Construct the API URL api_url <- paste0("https://api.github.com/repos/", repo_owner, "/", repo_name, "/contents/data") # Make the API request response <- httr::GET(api_url) # Check if the request was successful if (response[["status_code"]] == 200) { # Extract the file information files_data <- httr::content(response, as = "text", encoding = "UTF-8") |> jsonlite::fromJSON() # Create a data frame with file names and download URLs files_df <- data.frame( file_name = files_data[["name"]], download_url = files_data[["download_url"]] ) if (verbosity > 0) { msg2done() } return(files_df) } else { print("Error: Could not retrieve file information.") return(NULL) } } # rtemis::get_github_files