library(cBioPortalData)
## API BUILD
message("API BUILD")
cbioportal <- cBioPortal()
studies <- stats::setNames(nm = getStudies(cbioportal)[["studyId"]])
comp_api <- vector("logical", length(studies))
names(comp_api) <- studies
err_api <- vector("character", length(studies))
names(err_api) <- studies
if (identical(tolower(Sys.getenv("IS_BIOC_BUILD_MACHINE")), "true")) {
for (api_stud in studies) {
message("Working on: ", api_stud)
dats <- tryCatch({
cBioPortalData(
cbioportal, studyId = api_stud, genePanelId = "IMPACT341"
)
}, error = function(e) conditionMessage(e))
success <- is(dats, "MultiAssayExperiment")
if (success)
comp_api[[api_stud]] <- success
else
err_api[[api_stud]] <- dats
## try to free up memory
gc()
## clean up data
removeDataCache(
cbioportal, studyId = api_stud, genePanelId = "IMPACT341",
dry.run = FALSE
)
}
} else if (identical(Sys.getenv("IS_SUPERMICRO_MACHINE"), "TRUE")) {
library(BiocParallel)
params <- MulticoreParam(
workers = 64, stop.on.error = FALSE,
progressbar = TRUE, jobname = "cBioPortal"
)
res_api <- bplapply(
studies,
function(api_stud) {
message("Working on: ", api_stud)
dats <- tryCatch({
cBioPortalData(
cbioportal, studyId = api_stud, genePanelId = "IMPACT341"
)
}, error = function(e) conditionMessage(e))
comp <- is(dats, "MultiAssayExperiment")
if (!comp)
err <- dats
else
err <- ""
removeDataCache(
cbioportal, studyId = api_stud, genePanelId = "IMPACT341",
dry.run = FALSE
)
list(comp_api = comp, err_api = err)
}, BPPARAM = params
)
comp_api <- vapply(res_api, `[[`, logical(1L), "comp_api")
err_api <- vapply(res_api, `[[`, character(1L), "err_api")
}
err_api <- Filter(nzchar, err_api)
err_api_info <- lapply(setNames(nm = unique(err_api)),
function(x) names(err_api)[err_api == x])
# table(err_api)
save(err_api_info, file = "inst/extdata/api/err_api_info.rda")
api_build <- rev(stack(comp_api))
names(api_build) <- c("studyId", "api_build")
denv <- new.env(parent = emptyenv())
api_file <- system.file(
"extdata", "api", "api_build.rda",
package = "cBioPortalData", mustWork = TRUE
)
load(api_file, envir = denv)
prev <- denv[["api_build"]]
if (!identical(prev, api_build)) {
save(api_build, file = "inst/extdata/api/api_build.rda")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.