diff customProDB.R @ 0:8ccfff69dd57 draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/bumbershoot/custom_pro_db commit 4bb5b663989d5f04e8fb74b111456f16d6edaa66
author galaxyp
date Tue, 14 Mar 2017 14:14:38 -0400
parents
children ad130eaa3a05
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/customProDB.R	Tue Mar 14 14:14:38 2017 -0400
@@ -0,0 +1,113 @@
+#!/usr/bin/env Rscript
+
+initial.options <- commandArgs(trailingOnly = FALSE)
+script_parent_dir <- dirname(sub("--file=", "", initial.options[grep("--file=", initial.options)]))
+
+## begin warning handler
+withCallingHandlers({
+
+library(methods) # Because Rscript does not always do this
+
+options('useFancyQuotes' = FALSE)
+
+suppressPackageStartupMessages(library("optparse"))
+suppressPackageStartupMessages(library("RGalaxy"))
+
+
+option_list <- list()
+
+option_list$bam <- make_option('--bam', type='character')
+option_list$bai <- make_option('--bai', type='character')
+option_list$vcf <- make_option('--vcf', type='character')
+option_list$exon_anno <- make_option('--exon_anno', type='character')
+option_list$proteinseq <- make_option('--proteinseq', type='character')
+option_list$procodingseq <- make_option('--procodingseq', type='character')
+option_list$ids <- make_option('--ids', type='character')
+option_list$dbsnpinCoding <- make_option('--dbsnpinCoding', type='character')
+option_list$cosmic <- make_option('--cosmic', type='character')
+option_list$annotationFromHistory <- make_option('--annotationFromHistory', type='logical', action="store_true", default=FALSE)
+option_list$rpkmCutoff <- make_option('--rpkmCutoff', type='character')
+#option_list$outputIndels <- make_option('--outputIndels', type='logical', action="store_true", default=FALSE)
+#option_list$outputNovelJunctions <- make_option('--outputNovelJunctions', type='logical', action="store_true", default=FALSE)
+option_list$outputFile <- make_option('--outputFile', type='character')
+
+
+opt <- parse_args(OptionParser(option_list=option_list))
+
+
+customProDB <- function(
+	bam_file = GalaxyInputFile(required=TRUE), 
+	bai_file = GalaxyInputFile(required=TRUE), 
+	vcf_file = GalaxyInputFile(required=TRUE), 
+	exon_anno_file = GalaxyInputFile(required=TRUE),
+	proteinseq_file = GalaxyInputFile(required=TRUE),
+	procodingseq_file = GalaxyInputFile(required=TRUE),
+	ids_file = GalaxyInputFile(required=TRUE),
+	dbsnpinCoding_file = GalaxyInputFile(required=FALSE),
+	cosmic_file = GalaxyInputFile(required=FALSE),
+	annotationFromHistory = GalaxyLogicalParam(required=FALSE),
+	rpkmCutoff = GalaxyNumericParam(required=TRUE),
+	#outputIndels = GalaxyLogicalParam(required=FALSE),
+	#outputNovelJunctions = GalaxyLogicalParam(required=FALSE),
+	outputFile = GalaxyOutput("FASTA","fasta"))
+{
+    file.symlink(exon_anno_file, paste(getwd(), "exon_anno.RData", sep="/"))
+    file.symlink(proteinseq_file, paste(getwd(), "proseq.RData", sep="/"))
+    file.symlink(procodingseq_file, paste(getwd(), "procodingseq.RData", sep="/"))
+    file.symlink(ids_file, paste(getwd(), "ids.RData", sep="/"))
+
+    if (length(dbsnpinCoding_file) > 0)
+    {
+        file.symlink(dbsnpinCoding_file, paste(getwd(), "dbsnpinCoding.RData", sep="/"))
+        labelrsid = T
+    }
+    else
+    {
+        labelrsid = F
+    }
+
+    if (length(cosmic_file) > 0)
+    {
+        file.symlink(cosmic_file, paste(getwd(), "cosmic.RData", sep="/"))
+        cosmic = T
+    }
+    else
+    {
+        cosmic = F
+    }
+
+    bamLink = "input.bam"
+    file.symlink(bam_file, bamLink)
+    file.symlink(bai_file, paste(bamLink, ".bai", sep=""))
+
+    suppressPackageStartupMessages(library(customProDB))
+
+    easyRun(bamFile=bamLink, vcfFile=vcf_file, annotation_path=getwd(),
+            rpkm_cutoff=rpkmCutoff, outfile_path=".", outfile_name="output",
+            nov_junction=F, INDEL=T, lablersid=labelrsid, COSMIC=cosmic)
+}
+
+
+params <- list()
+for(param in names(opt))
+{
+    if (!param == "help")
+        params[param] <- opt[param]
+}
+
+setClass("GalaxyRemoteError", contains="character")
+wrappedFunction <- function(f)
+{
+    tryCatch(do.call(f, params),
+        error=function(e) new("GalaxyRemoteError", conditionMessage(e)))
+}
+
+
+suppressPackageStartupMessages(library(RGalaxy))
+do.call(customProDB, params)
+
+## end warning handler
+}, warning = function(w) {
+    cat(paste("Warning:", conditionMessage(w), "\n"))
+    invokeRestart("muffleWarning")
+})