changeset 6:a2b8c2aabeb0 draft

Uploaded
author sblanck
date Wed, 12 Apr 2017 03:45:25 -0400
parents 5d25fe2fcab2
children f3c021bdc000
files Analyse.R
diffstat 1 files changed, 73 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/Analyse.R	Wed Apr 12 03:45:10 2017 -0400
+++ b/Analyse.R	Wed Apr 12 03:45:25 2017 -0400
@@ -1,44 +1,92 @@
-library(Biobase)
-library(GEOquery)
-library(GEOmetadb)
-library(limma)
-library(jsonlite)
-library(affy)
-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("--rdatainput",type="character",default="NULL",help="rdata object containing eset object"),
+		make_option("--conditions",type="character",default=NULL,help="Text file summarizing conditions of the experiment (required)"),
+		make_option("--selectcondition1",type="character",default=NULL,help="log2 transformation"),
+#		make_option("--condition1",type="character",default=NULL,help="A table containing the expression data"),
+		make_option("--selectcondition2",type="character",default="NULL",help="rdata object containing eset object"),
+#		make_option("--condition2",type="character",default=NULL,help="Text file summarizing conditions of the experiment (required)"),
+		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("--tabularoutput",type="character",default=NULL,help="Output text file"),
+		make_option("--htmltemplate",type="character",default=NULL,help="html template)")
+
+	
+);
+
+opt_parser = OptionParser(option_list=option_list);
+opt = parse_args(opt_parser);
+
+if(is.null(opt$rdatainput)){
+	print_help(opt_parser)
+	stop("rData input required.", call.=FALSE)
+}
+
+if(is.null(opt$conditions)){
+	print_help(opt_parser)
+	stop("conditions input required.", call.=FALSE)
+}
+
+
+#loading libraries
+suppressPackageStartupMessages(require(GEOquery))
+
+suppressPackageStartupMessages(require(Biobase))
+suppressPackageStartupMessages(require(GEOquery))
+suppressPackageStartupMessages(require(GEOmetadb))
+suppressPackageStartupMessages(require(limma))
+suppressPackageStartupMessages(require(jsonlite))
+suppressPackageStartupMessages(require(affy))
+suppressPackageStartupMessages(require(dplyr))
 
 cargs<-commandArgs()
 cargs<-cargs[(which(cargs=="--args")+1):length(cargs)]
 nbargs=length(cargs)
 
-load(cargs[[nbargs-13]])
-targetFile=cargs[[nbargs-12]]
-condition1Name=cargs[[nbargs-11]]
-condition1=cargs[[nbargs-10]]
-condition2Name=cargs[[nbargs-9]]
-condition2=cargs[[nbargs-8]]
-nbresult=cargs[[nbargs-7]]
-result_export_eset=cargs[[nbargs-6]]
-result=cargs[[nbargs-5]]
-result.path=cargs[[nbargs-4]]
-result.tabular=cargs[[nbargs-3]]
-result.template=cargs[[nbargs-2]]
+load(opt$rdatainput)
+targetFile=opt$conditions
+condition1Name=opt$selectcondition1
+#condition1=opt$condition1
+condition2Name=opt$selectcondition2
+#condition2=opt$condition2
+nbresult=opt$nbresult
+result_export_eset=opt$rdataoutput
+result=opt$htmloutput
+result.path=opt$htmloutputpath
+result.tabular=opt$tabularoutput
+result.template=opt$htmltemplate
 
 #file.copy(targetFile,"./targetFile.txt")
 
-condition1_tmp <- strsplit(condition1,",")
-condition1 <-unlist(condition1_tmp)
+targets <- read.table(targetFile,sep="\t",stringsAsFactors=FALSE)
 
-condition2_tmp <- strsplit(condition2,",")
-condition2<-unlist(condition2_tmp)
+#condition1_tmp <- strsplit(condition1,",")
+condition1 <-targets[which(targets$V2==condition1Name),1]
+
+#condition2_tmp <- strsplit(condition2,",")
+#condition2<-unlist(condition2_tmp)
+condition2 <-targets[which(targets$V2==condition2Name),1]
 
 conditions=c(condition1,condition2)
 
 #nbresult=1000
 dir.create(result.path, showWarnings = TRUE, recursive = FALSE)
 
-targets <- read.table(targetFile,sep="\t")
+eset=eset[,which(rownames(eset@phenoData@data) %in% conditions)]
 
-eset=eset[,which(rownames(eset@phenoData@data) %in% conditions)]
+rownames(eset@phenoData@data)
+which(rownames(eset@phenoData@data) %in% conditions)
 #condition1Name=make.names(condition1Name)
 #condition2Name=make.names(condition2Name)
 #condition1Name=gsub("_","",condition1Name)
@@ -46,7 +94,6 @@
 #condition1Name
 #condition2Name
 
-
 eset@phenoData@data$source_name_ch1=""
 eset@phenoData@data$source_name_ch1[which(rownames(eset@phenoData@data) %in% condition1)]=condition1Name
 eset@phenoData@data$source_name_ch1[which(rownames(eset@phenoData@data) %in% condition2)]=condition2Name
@@ -56,7 +103,6 @@
 condNames=paste0("G",as.numeric(as.character(pData(eset)["source_name_ch1"][,1])!=condition1Name))
 #condNames=make.names(targets[,2])
 #condNames=gsub("_","",condNames)
-
 f <- as.factor(condNames)
 #eset$description <- factors
 design <- model.matrix(~ 0+f)