Mercurial > repos > sblanck > smagexp
annotate Recount.R @ 7:aedbf50acb4a draft
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 49e274c12edfb2144fa962074abe97688dba9ccf
author | sblanck |
---|---|
date | Tue, 26 Jun 2018 10:40:36 -0400 |
parents | 3ce32282f6a4 |
children |
rev | line source |
---|---|
6
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
1 #!/usr/bin/env Rscript |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
2 # setup R error handling to go to stderr |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
3 options( show.error.messages=F, error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } ) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
4 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
5 # we need that to not crash galaxy with an UTF8 error on German LC settings. |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
6 loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
7 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
8 library("optparse") |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
9 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
10 ##### Read options |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
11 option_list=list( |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
12 make_option("--id",type="character",default=NULL,help="GSE ID from GEO databse (required)"), |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
13 make_option("--report",type="character",default=NULL,help="Text file summarizing conditions of the experiment") |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
14 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
15 ); |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
16 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
17 opt_parser = OptionParser(option_list=option_list); |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
18 opt = parse_args(opt_parser); |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
19 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
20 if(is.null(opt$id)){ |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
21 print_help(opt_parser) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
22 stop("Recount id required.", call.=FALSE) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
23 } |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
24 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
25 #loading libraries |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
26 suppressPackageStartupMessages(require(recount)) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
27 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
28 studyID=opt$id |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
29 reportFile=opt$report |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
30 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
31 dir.create("./split", showWarnings = TRUE, recursive = FALSE) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
32 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
33 url <- download_study(studyID) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
34 load(file.path(studyID, 'rse_gene.Rdata')) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
35 rse <- scale_counts(rse_gene) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
36 counts=assay(rse) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
37 conditions=rse$title |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
38 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
39 for (i in 1:ncol(counts)) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
40 { |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
41 currentCount=as.data.frame(counts[,i]) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
42 sampleID=colnames(counts)[i] |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
43 #colnames(currentCount)=sampleID |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
44 write.table(x=currentCount,file=paste0("./split/",sampleID,"_",conditions[i],'.tabular'),sep="\t",row.names = T, col.names = F) |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
45 } |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
46 |
3ce32282f6a4
planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
sblanck
parents:
diff
changeset
|
47 write.table(as.data.frame(cbind(sampleID=colnames(counts),title=conditions)),quote = FALSE,col.names =TRUE, row.names=FALSE,file=reportFile,sep="\t") |