# HG changeset patch
# User sblanck
# Date 1519306702 18000
# Node ID 1024245abc70ac3444cee3753754d4d200705f5f
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 5974f806f344dbcc384b931492d7f023bfbbe03b
diff -r 000000000000 -r 1024245abc70 AffyQCnormalization.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/AffyQCnormalization.R Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,128 @@
+#!/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)")
+);
+
+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(require(affyPLM))
+suppressPackageStartupMessages(require(dplyr))
+
+listInput <- trimws( unlist( strsplit(trimws(opt$input), ",") ) )
+
+celList=vector()
+celFileNameList=vector()
+
+for (i in 1:length(listInput))
+{
+ inputFileInfo <- unlist( strsplit( listInput[i], ';' ) )
+ celList=c(celList,inputFileInfo[1])
+ celFileNameList=c(celFileNameList,inputFileInfo[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))
+{
+ file.copy(celList[i],paste0("./",celFileNameList[i]))
+}
+
+data <- ReadAffy(filenames=celFileNameList, celfile.path=".")
+htmlfile=readChar(result.template, file.info(result.template)$size)
+
+boxplot="boxplot.png"
+png(boxplot,width=800,height = 400)
+par(mar=c(7,5,1,1))
+boxplot(data,las=2,outline=FALSE)
+dev.off()
+htmlfile=gsub(x=htmlfile,pattern = "###BOXPLOT###",replacement = boxplot, fixed = TRUE)
+file.copy(boxplot,result.path)
+
+images="images.png"
+nblines=length(celList)%/%4 + as.numeric((length(celList)%%4)!=0)
+png(images,width=800,height = 200*nblines)
+par(mfrow=c(nblines,4))
+image(data)
+dev.off()
+htmlfile=gsub(x=htmlfile,pattern = "###IMAGES###",replacement = images, fixed = TRUE)
+file.copy(images,result.path)
+
+
+plotMA="plotMA.png"
+nblines=length(celList)%/%3 + as.numeric((length(celList)%%3)!=0)
+png(plotMA,width=800,height =300*nblines )
+par(mfrow=c(nblines,3))
+MAplot(data)
+dev.off()
+htmlfile=gsub(x=htmlfile,pattern = "###PLOTMA###",replacement = plotMA, fixed = TRUE)
+file.copy(plotMA,result.path)
+
+
+if (normalization == "rma") {
+ eset <- rma(data)
+} else if (normalization == "quantile") {
+ eset = rma(data,background = FALSE,normalize = TRUE)
+} else if (normalization == "background"){
+ eset = rma(data,background = TRUE ,normalize = FALSE)
+} else if (normalization == "log2") {
+ eset = rma(data,background = FALSE ,normalize = FALSE)
+}
+
+
+boxplotnorm="boxplotnorm.png"
+png(boxplotnorm,width=800,height = 400)
+par(mar=c(7,5,1,1))
+boxplot(data.frame(exprs(eset)),las=2,outline=FALSE)
+dev.off()
+htmlfile=gsub(x=htmlfile,pattern = "###BOXPLOTNORM###",replacement = boxplotnorm, fixed = TRUE)
+file.copy(boxplotnorm,result.path)
+
+plotMAnorm="plotMAnorm.png"
+nblines=length(celList)%/%3 + as.numeric((length(celList)%%3)!=0)
+png(plotMAnorm,width=800,height =300*nblines )
+par(mfrow=c(nblines,3))
+#for (i in 1:length(celList)){
+MAplot(eset)
+#}
+
+dev.off()
+htmlfile=gsub(x=htmlfile,pattern = "###PLOTMANORM###",replacement = plotMAnorm, fixed = TRUE)
+file.copy(plotMAnorm,result.path)
+save(eset,file=result_export_eset)
+write(htmlfile,result)
+
diff -r 000000000000 -r 1024245abc70 AffyQCnormalization.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/AffyQCnormalization.xml Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,70 @@
+
+
+ Quality control and normalization of affymetrix expression data
+
+
+ bioconductor-biobase
+ bioconductor-geoquery
+ bioconductor-geometadb
+ bioconductor-limma
+ bioconductor-biobase
+ bioconductor-affy
+ bioconductor-affyPLM
+ r-jsonlite
+ r-dplyr
+ r-optparse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 1024245abc70 AffyQCnormalization_tpl.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/AffyQCnormalization_tpl.html Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Quality Control
+
+
+
+
+
+Raw data
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+
+Normalized data
+
+
+ |
+
+
+
+ |
+
+
+
diff -r 000000000000 -r 1024245abc70 Analyse.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Analyse.R Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,170 @@
+#!/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)"),
+ make_option("--tooldirectory",type="character",default=NULL,help="tool directory)")
+
+
+);
+
+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))
+
+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
+tooldirectory=opt$tooldirectory
+
+targets <- read.table(targetFile,sep="\t",stringsAsFactors=FALSE)
+
+#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)
+
+dir.create(result.path, showWarnings = TRUE, recursive = FALSE)
+
+eset=eset[,which(rownames(eset@phenoData@data) %in% conditions)]
+
+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
+
+condNames=paste0("G",as.numeric(as.character(pData(eset)["source_name_ch1"][,1])!=condition1Name))
+
+f <- as.factor(condNames)
+
+design <- model.matrix(~ 0+f)
+
+colnames(design) <- levels(f)
+
+fit <- lmFit(eset, design)
+
+cont.matrix <- makeContrasts(G0-G1, levels=design)
+
+fit2 <- contrasts.fit(fit, cont.matrix)
+fit2 <- eBayes(fit2)
+
+tT <- topTable(fit2, adjust="fdr", sort.by="B", number=nbresult)
+
+#head(exprs(eset))
+
+gpl <- annotation(eset)
+if (substr(x = gpl,1,3)!="GPL"){
+ #if the annotation info does not start with "GPL" we retrieve the corresponding GPL annotation
+ mapping=read.csv(paste0(tooldirectory,"/gplToBioc.csv"),stringsAsFactors=FALSE)
+ gpl=mapping[which(mapping$bioc_package==annotation(eset)),]$gpl
+ gpl=gpl[1]
+
+ annotation(eset)=gpl
+
+ platf <- getGEO(gpl, AnnotGPL=TRUE)
+ ncbifd <- data.frame(attr(dataTable(platf), "table"))
+
+ fData(eset)["ID"]=row.names(fData(eset))
+ fData(eset)=merge(x=fData(eset),y=ncbifd,all.x = TRUE, by = "ID")
+ colnames(fData(eset))[4]="ENTREZ_GENE_ID"
+ row.names(fData(eset))=fData(eset)[,"ID"]
+
+ tT <- add_rownames(tT, "ID")
+
+} else {
+
+ gpl <- annotation(eset)
+ platf <- getGEO(gpl, AnnotGPL=TRUE)
+ ncbifd <- data.frame(attr(dataTable(platf), "table"))
+
+ if (!("ID" %in% colnames(tT))){
+ tT <- add_rownames(tT, "ID")}
+
+}
+
+tT <- merge(tT, ncbifd, by="ID")
+tT <- tT[order(tT$P.Value), ]
+tT <- subset(tT, select=c("Platform_SPOTID","ID","adj.P.Val","P.Value","t","B","logFC","Gene.symbol","Gene.title","Gene.ID","Chromosome.annotation","GO.Function.ID"))
+tT<-format(tT, digits=2, nsmall=2)
+head(tT)
+colnames(tT)=gsub(pattern = "\\.",replacement = "_",colnames(tT))
+matrixtT=as.matrix(tT)
+datajson=toJSON(matrixtT,pretty = TRUE)
+
+htmlfile=readChar(result.template, file.info(result.template)$size)
+htmlfile=gsub(x=htmlfile,pattern = "###DATAJSON###",replacement = datajson, fixed = TRUE)
+dir.create(result.path, showWarnings = TRUE, recursive = FALSE)
+
+boxplot="boxplot.png"
+png(boxplot,width=800,height = 400)
+par(mar=c(7,5,1,1))
+boxplot(exprs(eset),las=2,outline=FALSE)
+dev.off()
+htmlfile=gsub(x=htmlfile,pattern = "###BOXPLOT###",replacement = boxplot, fixed = TRUE)
+file.copy(boxplot,result.path)
+
+histopvalue="histopvalue.png"
+
+png(histopvalue,width=800,height = 400)
+par(mfrow=c(1,2))
+hist(fit2$F.p.value,nclass=100,main="Histogram of p-values", xlab="p-values",ylab="frequency")
+volcanoplot(fit2,coef=1,highlight=10,main="Volcano plot")
+htmlfile=gsub(x=htmlfile,pattern = "###HIST###",replacement = histopvalue, fixed = TRUE)
+dev.off()
+file.copy(histopvalue,result.path)
+
+saveConditions=c(condition1Name,condition2Name)
+save(eset,saveConditions,file=result_export_eset)
+write.table(x=tT[,-1],file=result.tabular,quote=FALSE,row.names=FALSE,col.names=TRUE,sep="\t")
+write(htmlfile,result)
+
diff -r 000000000000 -r 1024245abc70 Analyse.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Analyse.xml Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,104 @@
+
+
+ Performs gene expression analysis thanks to limma
+
+
+ bioconductor-biobase
+ bioconductor-geoquery
+ bioconductor-geometadb
+ bioconductor-limma
+ bioconductor-affy
+ r-jsonlite
+ r-dplyr
+ r-optparse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 1024245abc70 Analyse_tpl.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Analyse_tpl.html Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,162 @@
+
+
+
+
+
+ Limma analysis results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Boxplots
+
+
+
+P-value histogram and Volcano plot
+
+ |
+
+
+
+
diff -r 000000000000 -r 1024245abc70 GEOQuery.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GEOQuery.R Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,79 @@
+#!/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("--id",type="character",default=NULL,help="GSE ID from GEO databse (required)"),
+ make_option("--transformation",type="character",default=NULL,help="log2 transformation (required)"),
+ make_option("--data",type="character",default=NULL,help="A table containing the expression data"),
+ make_option("--rdata",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")
+
+);
+
+opt_parser = OptionParser(option_list=option_list);
+opt = parse_args(opt_parser);
+
+if(is.null(opt$id)){
+ print_help(opt_parser)
+ stop("GEOdata id required.", call.=FALSE)
+}
+
+#loading libraries
+suppressPackageStartupMessages(require(GEOquery))
+
+GEOQueryID=opt$id
+GEOQueryData=opt$data
+GEOQueryRData=opt$rdata
+conditionFile=opt$conditions
+transformation=opt$transformation
+
+data1=getGEO(GEOQueryID)
+eset=data1[[1]]
+
+#check if datas are in log2 space
+normalization<-function(data){
+ ex <- exprs(data)
+ qx <- as.numeric(quantile(ex, c(0., 0.25, 0.5, 0.75, 0.99, 1.0), na.rm=T))
+ LogC <- (qx[5] > 100) ||
+ (qx[6]-qx[1] > 50 && qx[2] > 0) ||
+ (qx[2] > 0 && qx[2] < 1 && qx[4] > 1 && qx[4] < 2)
+ if (LogC) { ex[which(ex <= 0)] <- NaN
+ return (log2(ex)) } else {
+ return (ex)
+ }
+}
+
+if (transformation=="auto"){
+ exprs(eset)=normalization(eset)
+} else if (transformation=="yes"){
+ exprs(eset)=log2(exprs(eset))
+}
+
+matrixData=exprs(eset)
+write.table(matrixData,col.names=NA,row.names=TRUE,sep="\t",file=GEOQueryData)
+
+#Construcion of condition file
+#if there is data in "source_name_ch1" field, we keep this data as a condition
+#else we keep the "description" field data.
+if (length(unique(tolower(pData(data1[[1]])["source_name_ch1"][,1])))>1)
+{
+ conditions=pData(data1[[1]])["source_name_ch1"]
+ description=paste0(as.vector(pData(data1[[1]])["geo_accession"][,1]), " ",as.vector(pData(data1[[1]])["title"][,1]), " ", as.vector(conditions[,1]))
+} else
+{
+ conditions=pData(data1[[1]])["description"]
+ description=paste0(as.vector(pData(data1[[1]])["geo_accession"][,1]), " ",as.vector(pData(data1[[1]])["title"][,1]), " ", as.vector(conditions[,1]))
+}
+
+conditions[,1]=tolower(conditions[,1])
+pData(eset)["source_name_ch1"]=conditions
+
+write.table(cbind(conditions,description),quote = FALSE,col.names = FALSE, row.names=TRUE,file=conditionFile,sep="\t")
+save(eset,conditions,file=GEOQueryRData)
\ No newline at end of file
diff -r 000000000000 -r 1024245abc70 GEOQuery.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GEOQuery.xml Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,79 @@
+
+
+ GEOQuery wrapper
+
+
+ bioconductor-geoquery
+ r-optparse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 1024245abc70 ImportDataFromMatrix.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ImportDataFromMatrix.R Thu Feb 22 08:38:22 2018 -0500
@@ -0,0 +1,114 @@
+#!/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("--conditions",type="character",default=NULL,help="Text file summarizing conditions of the experiment (required)"),
+ make_option("--normalization",type="character",default=NULL,help="log2 transformation"),
+ make_option("--annotations",type="character",default="NULL",help="rdata object containing eset object"),
+ 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)")
+
+
+);
+
+
+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)
+}
+
+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))
+suppressPackageStartupMessages(require(affyPLM))
+
+dataFile=opt$input
+normalization=opt$normalization
+conditionsFile=opt$conditions
+annotation=opt$annotations
+result_export_eset=opt$rdataoutput
+result=opt$htmloutput
+result.path=opt$htmloutputpath
+result.template=opt$htmltemplate
+
+dir.create(result.path, showWarnings = TRUE, recursive = FALSE)
+
+data=as.matrix(read.table(file = dataFile,row.names=1,header=TRUE))
+conditions=read.table(file=conditionsFile,sep = "\t",row.names=1)
+htmlfile=readChar(result.template, file.info(result.template)$size)
+
+colnames(conditions)=c("source_name_ch1","description")
+phenodata<-new("AnnotatedDataFrame",data=conditions)
+
+head(data)
+conditions
+
+eset=ExpressionSet(assayData=data,phenoData=phenodata,annotation=annotation)
+
+if (normalization == "quantile") {
+ eset <- normalize.ExpressionSet.quantiles(eset, transfn="log2")
+} else if (normalization == "log2") {
+ exprs(eset) = log2(exprs(eset))
+}
+
+boxplotnorm="boxplotnorm.png"
+png(boxplotnorm,width=800,height = 400)
+par(mar=c(7,5,1,1))
+boxplot(data.frame(exprs(eset)),las=2,outline=FALSE)
+dev.off()
+htmlfile=gsub(x=htmlfile,pattern = "###BOXPLOTNORM###",replacement = boxplotnorm, fixed = TRUE)
+file.copy(boxplotnorm,result.path)
+
+plotMAnorm="plotMAnorm.png"
+nblines=length(colnames(data))%/%3 + as.numeric((length(colnames(data))%%3)!=0)
+png(plotMAnorm,width=800,height =300*nblines )
+par(mfrow=c(nblines,3))
+##for (i in 1:length(colnames(data))){
+ MAplot(eset)
+#}
+
+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("Venn diagram"),file.conn)
+#writeLines(c("
"),file.conn)
+#writeLines(c(" |