Mercurial > repos > ppericard > viscorvar
view matCorAddVar_wrapper.R @ 1:e93350dc99f1 draft
"planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 1eda261d4fe137d6e8806b0c6af7eaf12d11ac95"
author | ppericard |
---|---|
date | Thu, 15 Oct 2020 12:22:25 +0000 |
parents | d0b77b926863 |
children |
line wrap: on
line source
#!/usr/bin/env Rscript # Setup R error handling to go to stderr options( show.error.messages=F, error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } ) # we need that to not crash galaxy with an UTF8 error on German LC settings. loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") ## Get parameters ## suppressPackageStartupMessages(require(argparse)) parser <- ArgumentParser(description='Compute the matCorEtBlockSelect and addVariablesReponses functions') parser$add_argument('--input_rdata', dest='input_rdata', required=TRUE, help="Input RData file") parser$add_argument('--cutoff_comp', dest='cutoff_comp', type='double', required=TRUE, help="") parser$add_argument('--interest_var_file', dest='interest_var_file', required=FALSE, help="Variables of interest file") parser$add_argument('--block_Y_file', dest='block_Y_file', required=TRUE, help="Block Y filepath") parser$add_argument('--output_rdata', dest='output_rdata', required=TRUE, help="Output RData file") parser$add_argument('--output_response_var', dest='output_response_var', required=TRUE, help="Output response variables file") parser$add_argument('--output_blocks_comb', dest='output_blocks_comb', required=TRUE, help="Output blocks combinations file") args <- parser$parse_args() ## Print parameters print("Input RData:") print(args$input_rdata) print("Cutoff comp:") print(args$cutoff_comp) print("Variables of interest:") print(args$interest_var_file) print("Block Y file:") print(args$block_Y_file) print("Output RData:") print(args$output_rdata) print("Output Response variables:") print(args$output_response_var) print("Output Blocks combinations:") print(args$output_blocks_comb) ## Loading libraries # source_local("mixomics-blocksplsda-integration/integration_block_splsda_func.R") install.packages("https://gitlab.com/bilille/mixomics-blocksplsda-integration/-/raw/master/visCorVar_0.5.tar.gz", repos=NULL) suppressPackageStartupMessages(require(visCorVar)) print("visCorVar has been loaded") # R script call source_local <- function(fname) { argv <- commandArgs(trailingOnly = FALSE) base_dir <- dirname(substring(argv[grep("--file=", argv)], 8)) source(paste(base_dir, fname, sep="/")) } # Loading input Rdata file load(args$input_rdata) ncomp = mixomics_result$ncomp # Reading Block Y matrix print("Reading Block Y") mat_block_Y = read.table(args$block_Y_file, header=TRUE, row.names=1) print(mat_block_Y) response_var = colnames(mat_block_Y) print("response_var:") print(response_var) # Write response variables to output file invisible(lapply(response_var, write, file=args$output_response_var, append=TRUE, ncolumns=1)) # Reading var of intereset file interest_var_vec = NULL if (args$interest_var_file != 'None') { interest_var_vec = as.character(read.table(args$interest_var_file, header=FALSE)[[1]]) } # comp = 1:2 # Running main function res_matCorAddVar = matCorAddVar(res_block_splsda = mixomics_result, block_Y = mat_block_Y, cutoff_comp = args$cutoff_comp, var_interest = interest_var_vec, comp = comp) # mat_cor_comp1 = res_matCorAddVar$mat_cor_comp1 mat_cor_comp2 = res_matCorAddVar$mat_cor_comp2 list_vec_index_block_select = res_matCorAddVar$list_vec_index_block_select list_vec_names_blocks = res_matCorAddVar$list_vec_names_blocks list_cor_comp_selected_var_resp_var = res_matCorAddVar$list_cor_comp_selected_var_resp_var res_compute_cor_var_interest = res_matCorAddVar$res_compute_cor_var_interest # print("mat_cor_comp1:") print(mat_cor_comp1) print("mat_cor_comp2:") print(mat_cor_comp2) print("list_vec_index_block_select:") print(list_vec_index_block_select) print("list_vec_names_blocks:") print(list_vec_names_blocks) print("list_cor_comp_selected_var_resp_var:") print(list_cor_comp_selected_var_resp_var) print("res_compute_cor_var_interest:") print(res_compute_cor_var_interest) # Write all possible blocks combinations to output file invisible(lapply(list_vec_names_blocks, write, file=args$output_blocks_comb, append=TRUE, ncolumns=100, sep=",")) # Save all objects in Rdata output file save(res_matCorAddVar, file = args$output_rdata)