diff AffyQCnormalization.R @ 8:7f74250a083d draft

planemo upload
author sblanck
date Wed, 10 May 2017 04:12:26 -0400
parents 93451f832736
children ef7d98f9eb51
line wrap: on
line diff
--- a/AffyQCnormalization.R	Wed Apr 12 03:47:05 2017 -0400
+++ b/AffyQCnormalization.R	Wed May 10 04:12:26 2017 -0400
@@ -1,29 +1,60 @@
-library(Biobase)
-library(GEOquery)
-library(GEOmetadb)
-library(limma)
-library(jsonlite)
-library(affy)
-library(affyPLM)
-library(dplyr)
+#!/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")
+
+library("optparse")
+
+##### Read options
+option_list=list(
+		make_option("--input",type="character",default="NULL",help="rdata object containing eset object"),
+		make_option("--normalization",type="character",default=NULL,help="normalization method"),
+		make_option("--nbresult",type="character",default=NULL,help="number of result displayed results"),
+		make_option("--rdataoutput",type="character",default="NULL",help="output rdata object containing eset object"),
+		make_option("--htmloutput",type="character",default=NULL,help="Output html report"),
+		make_option("--htmloutputpath",type="character",default="NULL",help="Path of output html report"),
+		make_option("--htmltemplate",type="character",default=NULL,help="html template)")
+);
 
-cargs<-commandArgs()
-cargs<-cargs[(which(cargs=="--args")+1):length(cargs)]
-nbargs=length(cargs)
+opt_parser = OptionParser(option_list=option_list);
+opt = parse_args(opt_parser);
+
+if(is.null(opt$input)){
+	print_help(opt_parser)
+	stop("input required.", call.=FALSE)
+}
+
+#loading libraries
+
+suppressPackageStartupMessages(require(Biobase))
+suppressPackageStartupMessages(require(GEOquery))
+suppressPackageStartupMessages(require(GEOmetadb))
+suppressPackageStartupMessages(require(limma))
+suppressPackageStartupMessages(require(jsonlite))
+suppressPackageStartupMessages(require(affy))
+suppressPackageStartupMessages(library(affyPLM))
+suppressPackageStartupMessages(require(dplyr))
+
+listInput <- trimws( unlist( strsplit(trimws(opt$input), ",") ) )
+
 celList=vector()
 celFileNameList=vector()
-for (i in seq(1,nbargs-7,2))
+
+for (i in 1:length(listInput))
 {
-	celList=c(celList,cargs[[i]])
-	celFileNameList=c(celFileNameList,cargs[[i+1]])
+	inputFileInfo <- unlist( strsplit( listInput[i], ';' ) )
+	celList=c(celList,inputFileInfo[1])
+	celFileNameList=c(celFileNameList,inputFileInfo[2])
 }
 
 
-normalization=cargs[[nbargs-6]]
-result_export_eset=cargs[[nbargs-5]]
-result=cargs[[nbargs-4]]
-result.path=cargs[[nbargs-3]]
-result.template=cargs[[nbargs-2]]
+normalization=opt$normalization
+result_export_eset=opt$rdataoutput
+result=opt$htmloutput
+result.path=opt$htmloutputpath
+result.template=opt$htmltemplate
 
 dir.create(result.path, showWarnings = TRUE, recursive = TRUE)
 for(i in 1:length(celList))
@@ -92,19 +123,6 @@
 dev.off()
 htmlfile=gsub(x=htmlfile,pattern = "###PLOTMANORM###",replacement = plotMAnorm, fixed = TRUE)
 file.copy(plotMAnorm,result.path)
-#write.table(tolower(c(condition1Name,condition2Name)),quote = FALSE,col.names = FALSE, row.names=FALSE,file=result_export_conditions)
-#saveConditions=c(condition1Name,condition2Name)
 save(eset,file=result_export_eset)
 write(htmlfile,result)
 
-#l=list()
-#for(i in 1:length(esets))
-#{
-#	l[[paste("study",i,sep="")]]<-res[[i]]
-#}
-#l[["Meta"]]=res[[length(res)-1]]
-#showVenn(res,file.path(temp.files.path,"venn.png"))
-#writeLines(c("<h2>Venn diagram</h2>"),file.conn)
-#writeLines(c("<img src='venn.png'><br/><br/>"),file.conn)
-#writeLines(c("</body></html>"),file.conn)
-#close(file.conn)
\ No newline at end of file