view Recount.R @ 6:3ce32282f6a4 draft

planemo upload for repository https://github.com/sblanck/smagexp/tree/master/smagexp_tools commit 228bd64b01f184d5d8ebc9f65fe0add2d45ed4fe
author sblanck
date Tue, 26 Jun 2018 08:54:45 -0400
parents
children
line wrap: on
line source

#!/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("--report",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("Recount id required.", call.=FALSE)
}

#loading libraries
suppressPackageStartupMessages(require(recount))

studyID=opt$id
reportFile=opt$report

dir.create("./split", showWarnings = TRUE, recursive = FALSE)

url <- download_study(studyID)
load(file.path(studyID, 'rse_gene.Rdata'))
rse <- scale_counts(rse_gene)
counts=assay(rse)
conditions=rse$title

for (i in 1:ncol(counts))
{
	currentCount=as.data.frame(counts[,i])
	sampleID=colnames(counts)[i]
	#colnames(currentCount)=sampleID
	write.table(x=currentCount,file=paste0("./split/",sampleID,"_",conditions[i],'.tabular'),sep="\t",row.names = T, col.names = F)
}

write.table(as.data.frame(cbind(sampleID=colnames(counts),title=conditions)),quote = FALSE,col.names =TRUE, row.names=FALSE,file=reportFile,sep="\t")