#' Init GMQL server
#'
#' It initializes and runs GMQL server for executing GMQL query.
#' It also performs a login to GMQL REST services suite, if needed
#'
#' @importFrom rJava J
#'
#' @param output_format string that identifies the output format of all sample
#' files. It can be TAB, GTF or COLLECT:
#' \itemize{
#' \item{TAB: tab-delimited file format}
#' \item{GTF: tab-delimited text standard format based on the General
#' Feature Format}
#' \item{COLLECT: used for storing output in memory (only in the case of local
#' processing, i.e., remote_processing = FALSE)}
#' }
#' @param remote_processing logical value specifying the processing mode.
#' True for processing on cluster (remote), false for local processing.
#'
#' @param url string url of server: It must contain the server address
#' and base url; service name is added automatically.
#' If NULL, no login is performed.
#' You can always perform it by calling the function \code{\link{login_gmql}}
#' explicitly
#'
#' @param username string name used during remote server signup
#' @param password string password used during remote server signup
#'
#' @return None
#'
#' @examples
#'
#' ## This statement initializes GMQL with local processing with sample files
#' ## output format as tab-delimited
#'
#' init_gmql("tab", FALSE)
#'
#' ## This statement initializes GMQL with remote processing
#'
#' remote_url = "http://www.gmql.eu/gmql-rest/"
#' init_gmql(remote_processing = TRUE, url = remote_url)
#'
#' @export
#'
init_gmql <- function(
output_format = "GTF",
remote_processing = FALSE,
url = NULL,
username = NULL,
password = NULL
) {
out_format <- toupper(output_format)
if(!out_format %in% c("TAB", "GTF", "COLLECT"))
stop("output_format: must be TAB, GTF or COLLECT")
.check_logical(remote_processing)
# mettere attesa da input keyboard, controllare se token giĆ esiste
# da sessione precedente
if(!is.null(url) && !exists("GMQL_credentials", envir = .GlobalEnv))
login_gmql(url, username, password)
WrappeR <- J("it/polimi/genomics/r/Wrapper")
WrappeR$initGMQL(out_format,remote_processing)
}
#' Stop GMQL server
#'
#' It stops GMQL server processing
#'
#' @importFrom rJava J
#'
#' @return None
#'
#' @examples
#'
#' ## This statement first initializes GMQL with local processing and with
#' ## sample file output format as tab-delimited, and then stops it
#'
#' init_gmql("tab", FALSE)
#'
#' stop_gmql()
#'
#' @export
#'
stop_gmql <- function() {
WrappeR <- J("it/polimi/genomics/r/Wrapper")
WrappeR$stopGMQL()
}
#' Disable or Enable remote processing
#'
#' It allows to enable or disable remote processing
#'
#' @details
#' The invocation of this function allows to change mode of processing.
#' After invoking collect() function, it is not possbile to switch the
#' processing mode.
#'
#' @importFrom rJava J
#'
#' @param is_remote logical value used in order to set the processing mode.
#' TRUE: you set a remote query processing mode, otherwise it will be local
#'
#' @return None
#'
#' @examples
#'
#' ## This statement initializes GMQL with local processing with sample
#' ## files output format as tab-delimited, and then it changes processing
#' ## mode to remote
#'
#' init_gmql("tab", remote_processing = FALSE)
#'
#' remote_processing(TRUE)
#'
#' @export
#'
remote_processing <- function(is_remote) {
WrappeR <- J("it/polimi/genomics/r/Wrapper")
.check_logical(is_remote)
response <- WrappeR$remote_processing(is_remote)
print(response)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.