Nothing
# Obtain path to individual server code parts ----------------------------
server_file <- function(x) {
server_path <- system.file("shinyapp", "server",
package = "UCSCXenaShiny", mustWork = TRUE
)
file.path(server_path, x)
}
# Set utility functions ---------------------------------------------------
QUERY_CACHE <- dplyr::tibble()
xe_query_url <- function(data, use_cache = TRUE) {
if (use_cache) {
if (nrow(QUERY_CACHE) == 0) {
non_exist_idx <- !data$XenaDatasets %in% NULL
} else {
non_exist_idx <- !data$XenaDatasets %in% QUERY_CACHE$datasets
}
if (any(non_exist_idx)) {
non_exist_query <- xe_query_url(data[non_exist_idx, , drop = FALSE], use_cache = FALSE)
QUERY_CACHE <<- dplyr::bind_rows(
QUERY_CACHE,
non_exist_query
)
}
xe_query <- dplyr::filter(QUERY_CACHE, QUERY_CACHE$datasets %in% data$XenaDatasets)
} else {
xe <-
UCSCXenaTools::XenaGenerate(subset = XenaDatasets %in% data$XenaDatasets)
xe_query <- UCSCXenaTools::XenaQuery(xe)
xe_query$browse <- purrr::map2(
xe_query$datasets, xe_query$hosts,
~ utils::URLencode(
paste0(
"https://xenabrowser.net/datapages/?",
"dataset=", .x, "&host=", .y
)
)
) %>% unlist()
}
return(xe_query)
}
get_data_df <- function(dataset, id) {
if (dataset == "custom_phenotype_dataset") {
message("Loading custom phenotype data.")
df <- readRDS(file.path(tempdir(), "custom_phenotype_data.rds"))
} else {
message("Querying data of identifier ", id, " from dataset ", dataset)
id_value <- if (dataset == "custom_feature_dataset") {
UCSCXenaShiny:::query_custom_feature_value(id)
} else {
UCSCXenaShiny::query_molecule_value(dataset, id)
}
df <- dplyr::tibble(
sample = names(id_value),
X = as.numeric(id_value)
)
colnames(df)[2] <- id
}
df
}
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.