Mercurial > repos > sblanck > smagexp
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