comparison Analyse.R @ 6:a2b8c2aabeb0 draft

Uploaded
author sblanck
date Wed, 12 Apr 2017 03:45:25 -0400
parents 93451f832736
children f3c021bdc000
comparison
equal deleted inserted replaced
5:5d25fe2fcab2 6:a2b8c2aabeb0
1 library(Biobase) 1 #!/usr/bin/env Rscript
2 library(GEOquery) 2 # setup R error handling to go to stderr
3 library(GEOmetadb) 3 options( show.error.messages=F, error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } )
4 library(limma) 4
5 library(jsonlite) 5 # we need that to not crash galaxy with an UTF8 error on German LC settings.
6 library(affy) 6 loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8")
7 library(dplyr) 7
8 library("optparse")
9
10 ##### Read options
11 option_list=list(
12 make_option("--rdatainput",type="character",default="NULL",help="rdata object containing eset object"),
13 make_option("--conditions",type="character",default=NULL,help="Text file summarizing conditions of the experiment (required)"),
14 make_option("--selectcondition1",type="character",default=NULL,help="log2 transformation"),
15 # make_option("--condition1",type="character",default=NULL,help="A table containing the expression data"),
16 make_option("--selectcondition2",type="character",default="NULL",help="rdata object containing eset object"),
17 # make_option("--condition2",type="character",default=NULL,help="Text file summarizing conditions of the experiment (required)"),
18 make_option("--nbresult",type="character",default=NULL,help="number of result displayed results"),
19 make_option("--rdataoutput",type="character",default="NULL",help="output rdata object containing eset object"),
20 make_option("--htmloutput",type="character",default=NULL,help="Output html report"),
21 make_option("--htmloutputpath",type="character",default="NULL",help="Path of output html report"),
22 make_option("--tabularoutput",type="character",default=NULL,help="Output text file"),
23 make_option("--htmltemplate",type="character",default=NULL,help="html template)")
24
25
26 );
27
28 opt_parser = OptionParser(option_list=option_list);
29 opt = parse_args(opt_parser);
30
31 if(is.null(opt$rdatainput)){
32 print_help(opt_parser)
33 stop("rData input required.", call.=FALSE)
34 }
35
36 if(is.null(opt$conditions)){
37 print_help(opt_parser)
38 stop("conditions input required.", call.=FALSE)
39 }
40
41
42 #loading libraries
43 suppressPackageStartupMessages(require(GEOquery))
44
45 suppressPackageStartupMessages(require(Biobase))
46 suppressPackageStartupMessages(require(GEOquery))
47 suppressPackageStartupMessages(require(GEOmetadb))
48 suppressPackageStartupMessages(require(limma))
49 suppressPackageStartupMessages(require(jsonlite))
50 suppressPackageStartupMessages(require(affy))
51 suppressPackageStartupMessages(require(dplyr))
8 52
9 cargs<-commandArgs() 53 cargs<-commandArgs()
10 cargs<-cargs[(which(cargs=="--args")+1):length(cargs)] 54 cargs<-cargs[(which(cargs=="--args")+1):length(cargs)]
11 nbargs=length(cargs) 55 nbargs=length(cargs)
12 56
13 load(cargs[[nbargs-13]]) 57 load(opt$rdatainput)
14 targetFile=cargs[[nbargs-12]] 58 targetFile=opt$conditions
15 condition1Name=cargs[[nbargs-11]] 59 condition1Name=opt$selectcondition1
16 condition1=cargs[[nbargs-10]] 60 #condition1=opt$condition1
17 condition2Name=cargs[[nbargs-9]] 61 condition2Name=opt$selectcondition2
18 condition2=cargs[[nbargs-8]] 62 #condition2=opt$condition2
19 nbresult=cargs[[nbargs-7]] 63 nbresult=opt$nbresult
20 result_export_eset=cargs[[nbargs-6]] 64 result_export_eset=opt$rdataoutput
21 result=cargs[[nbargs-5]] 65 result=opt$htmloutput
22 result.path=cargs[[nbargs-4]] 66 result.path=opt$htmloutputpath
23 result.tabular=cargs[[nbargs-3]] 67 result.tabular=opt$tabularoutput
24 result.template=cargs[[nbargs-2]] 68 result.template=opt$htmltemplate
25 69
26 #file.copy(targetFile,"./targetFile.txt") 70 #file.copy(targetFile,"./targetFile.txt")
27 71
28 condition1_tmp <- strsplit(condition1,",") 72 targets <- read.table(targetFile,sep="\t",stringsAsFactors=FALSE)
29 condition1 <-unlist(condition1_tmp)
30 73
31 condition2_tmp <- strsplit(condition2,",") 74 #condition1_tmp <- strsplit(condition1,",")
32 condition2<-unlist(condition2_tmp) 75 condition1 <-targets[which(targets$V2==condition1Name),1]
76
77 #condition2_tmp <- strsplit(condition2,",")
78 #condition2<-unlist(condition2_tmp)
79 condition2 <-targets[which(targets$V2==condition2Name),1]
33 80
34 conditions=c(condition1,condition2) 81 conditions=c(condition1,condition2)
35 82
36 #nbresult=1000 83 #nbresult=1000
37 dir.create(result.path, showWarnings = TRUE, recursive = FALSE) 84 dir.create(result.path, showWarnings = TRUE, recursive = FALSE)
38 85
39 targets <- read.table(targetFile,sep="\t") 86 eset=eset[,which(rownames(eset@phenoData@data) %in% conditions)]
40 87
41 eset=eset[,which(rownames(eset@phenoData@data) %in% conditions)] 88 rownames(eset@phenoData@data)
89 which(rownames(eset@phenoData@data) %in% conditions)
42 #condition1Name=make.names(condition1Name) 90 #condition1Name=make.names(condition1Name)
43 #condition2Name=make.names(condition2Name) 91 #condition2Name=make.names(condition2Name)
44 #condition1Name=gsub("_","",condition1Name) 92 #condition1Name=gsub("_","",condition1Name)
45 #condition2Name=gsub("_","",condition2Name) 93 #condition2Name=gsub("_","",condition2Name)
46 #condition1Name 94 #condition1Name
47 #condition2Name 95 #condition2Name
48
49 96
50 eset@phenoData@data$source_name_ch1="" 97 eset@phenoData@data$source_name_ch1=""
51 eset@phenoData@data$source_name_ch1[which(rownames(eset@phenoData@data) %in% condition1)]=condition1Name 98 eset@phenoData@data$source_name_ch1[which(rownames(eset@phenoData@data) %in% condition1)]=condition1Name
52 eset@phenoData@data$source_name_ch1[which(rownames(eset@phenoData@data) %in% condition2)]=condition2Name 99 eset@phenoData@data$source_name_ch1[which(rownames(eset@phenoData@data) %in% condition2)]=condition2Name
53 #condition1Name 100 #condition1Name
54 #condition2Name 101 #condition2Name
55 102
56 condNames=paste0("G",as.numeric(as.character(pData(eset)["source_name_ch1"][,1])!=condition1Name)) 103 condNames=paste0("G",as.numeric(as.character(pData(eset)["source_name_ch1"][,1])!=condition1Name))
57 #condNames=make.names(targets[,2]) 104 #condNames=make.names(targets[,2])
58 #condNames=gsub("_","",condNames) 105 #condNames=gsub("_","",condNames)
59
60 f <- as.factor(condNames) 106 f <- as.factor(condNames)
61 #eset$description <- factors 107 #eset$description <- factors
62 design <- model.matrix(~ 0+f) 108 design <- model.matrix(~ 0+f)
63 design 109 design
64 110