#!/usr/local/public/bin/Rscript --vanilla --slave --no-site-file ################################################################################################ # pca_FactoMiner_galaxy_wrapper # # # # Author : Marie Tremblay-Franco / Jean-Francois MARTIN # # User : Galaxy # # Original data : -- # # Starting date : 24-03-2015 # # Version 1 : # # # # # # Input files : dataMatrix.txt # # Output files : graph_output.pdf ; # # # ################################################################################################ ##------------------------------ ## Options ##------------------------------ strAsFacL <- options()$stringsAsFactors options(stringsAsFactors = FALSE) ##------------------------------ ## Libraries laoding ##------------------------------ # For parseCommandArgs function library(batch) library(pcaMethods) library(FactoMineR) # 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="/")) } #Import the different functions used for PCA source_local("pca_FactoMiner_galaxy_functions.R") ##------------------------------ ## Constants ##------------------------------ topEnvC <- environment() flagC <- "\n" ##------------------------------ ## Lecture parametres ##------------------------------ argLs <- parseCommandArgs(evaluate=FALSE) log <- argLs[["logOut"]] # Inputs # Matrice donnees data <- read.table(argLs[["datafile"]],header=TRUE,sep="\t",dec=".",check.names = FALSE) rownames(data) <- data[,1] data <- data[,-1] # Facteur biologique hb=0 if(argLs[["factor"]] != "None") { facteur <- data[,1] if(mode(facteur) != 'character') { stop("\n First column must be a factor (variable qualitative)\n") } facteur <- as.factor(facteur) data[,1] <- as.factor(data[,1]) hb=1 } # Appel de la fonction eigenplot=0 contribplot=0 scoreplot=0 loadingplot=0 if (argLs[["plotev"]]=="yes") { eigenplot=1 } if (argLs[["plotcontrib"]]=="yes") { contribplot=1 } if (argLs[["plotindiv"]]=="yes") { scoreplot=1 } if (argLs[["plotvar"]]=="yes") { loadingplot=1 } # Outputs nomGraphe <- argLs[["outgraphpdf"]] res.pca <- pca.main(ids=data,bioFact=facteur,ncp=argLs[["npc"]],hb=hb,scalingMethod=argLs[["scaleoption"]],minContribution=c(argLs[["contribh"]],argLs[["contribv"]]),mainTitle=argLs[["title"]],textSize=argLs[["tc"]], principalPlane=c(argLs[["pch"]],argLs[["pcv"]]),eigenplot=eigenplot,contribplot=contribplot,scoreplot=scoreplot,loadingplot=loadingplot,nomGraphe=argLs[["outgraphpdf"]]) ################################# fin ##############################################