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