diff vennerable/Vennerable.R @ 0:77bbf955e8de default tip

initial commit
author eric
date Thu, 06 Nov 2014 15:07:54 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vennerable/Vennerable.R	Thu Nov 06 15:07:54 2014 +0100
@@ -0,0 +1,67 @@
+#!/usr/bin/R
+
+# R script to call Vennerable package from galaxy
+# info: alex.bossers@wur.nl
+
+# R --slave --vanilla --file=PlotBar.R --args inputFile x_data weighting outputFile plottype resolution imagetype
+# 1     2       3             4           5       6        7       8         9        10        11         12
+
+#get cmd line args
+args <- commandArgs()
+	in.file	<- args[6]
+	xData		<- args[7]   # data labels xData of format "a, b, c" and can include spaces
+	weighting	<- args[8] 
+	out.file	<- args[9]
+	plottype	<- args[10]
+	resolution	<- args[11] # in dpi
+	imagetype	<- args[12] # svg, pdf or png
+
+#open lib
+library(Vennerable)
+options(bitmapType='cairo')
+
+# for labels of bars or bar groups presume column names from data
+if (xData != "default") {
+	# read without header input file (must be tabular)
+	annot_data <- read.table(in.file, header=F, sep="\t")
+	colnames (annot_data) <- strsplit(xData,",")[[1]]
+	Vannot <- Venn(annot_data)
+} else {
+	# read without header input file (must be tabular)
+	annot_data <- read.table(in.file, header=T, sep="\t")
+	Vannot <- Venn(annot_data)
+}
+
+#set output imagetype (svg pdf or png)
+#R 3.0.2 and default cairo libs should handle it all ok
+#it could be that X11 should be loaded for non-pdf
+if (imagetype == "svg") {
+    svg(out.file)
+} else if (imagetype == "png") {
+    png(out.file, width = 1600, height = 1600, res = resolution)
+} else {
+    pdf(out.file)
+}
+
+# plot it
+if (plottype == "ChowRuskey") {
+	plot(Vannot, type = plottype)
+
+} else if (plottype == "AWFE") {
+	plot(Vannot, doWeights = weighting, type = plottype)
+
+} else if (plottype == "circles") {
+	plot(Vannot)
+
+} else if (plottype == "ellipses"){
+	plot(Vannot, type = "ellipses")
+
+} else if (plottype == "squares"){
+	plot(Vannot, type = "squares")
+
+} else if (plottype == "battle"){
+        plot(Vannot, type = "battle")
+}
+
+cat ("Wrapper version 1.2, running Vennerable v3.0-82\n Info/bugs: alex.bossers@wur.nl\n")
+dev.off()