File size: 3,673 Bytes
977cc7d e55e859 977cc7d 3498741 977cc7d 3498741 977cc7d e55e859 977cc7d e55e859 977cc7d 17e03a6 977cc7d 17e03a6 977cc7d 17e03a6 977cc7d 17e03a6 977cc7d e55e859 3498741 e669e7a 3498741 e669e7a 3498741 e669e7a 3498741 4ffb642 3498741 e669e7a 3498741 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# 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("<i>", paste(..., sep = "<br>")), "</i>"),
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, "<i>", x, "</i>", "<br>"
)
),
class = class
)
} # rtemisseq::rthelplist
bold <- function(x) {
paste0("<b>", x, "</b>")
}
hilite <- function(x) {
paste0("<span style='color: var(--bs-primary);font-weight: bold;'>", x, "</span>")
}
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), "<br>"),
if (!is.null(x$UniprotID)) paste0("Uniprot ID: ", hilite(x$UniprotID), "<br>"),
paste0("Sequence length: ", hilite(length(x$Sequence)), "<br>"),
"<ul>",
if (n_site > 0) paste("<li>", hilite(n_site), "site", nannot(n_site), "<br>"),
if (n_region > 0) paste("<li>", hilite(n_region), "region", nannot(n_region), "<br>"),
if (n_ptm > 0) paste("<li>", hilite(n_ptm), "PTM", nannot(n_ptm), "<br>"),
if (n_cleavage > 0) paste("<li>", hilite(n_cleavage), " cleavage site", nannot(n_cleavage), "<br>"),
if (n_variant > 0) paste("<li>", hilite(n_variant), "variant", nannot(n_variant), "<br>"),
"</ul>",
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
|