annotate cummeRbund.R @ 5:78fcfc04fcfe draft

planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/cummerbund commit f3f0bef4a450aafab3c6b05a27647471f93b22f3
author devteam
date Thu, 23 Feb 2017 20:24:03 -0500
parents 587c425b4e76
children c3b54a4b7741
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
1 ## Feature Selection ##
5
78fcfc04fcfe planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/cummerbund commit f3f0bef4a450aafab3c6b05a27647471f93b22f3
devteam
parents: 0
diff changeset
2 options(echo=TRUE)
0
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
3 get_features <- function(myGenes, f="gene") {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
4 if (f == "isoforms")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
5 return(isoforms(myGenes))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
6 else if (f == "tss")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
7 return(TSS(myGenes))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
8 else if (f == "cds")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
9 return(CDS(myGenes))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
10 else
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
11 return(myGenes)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
12 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
13
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
14 ## Main Function ##
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
15
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
16 library(argparse)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
17
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
18 parser <- ArgumentParser(description='Create a plot with cummeRbund')
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
19
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
20 parser$add_argument('--type', dest='plotType', default='Density', required=TRUE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
21 parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
22 parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
23 parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
24 parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
25 parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
26 parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
27 parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
28 parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
29 parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
30 parser$add_argument('--border', dest='border', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
31 parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
32 parser$add_argument('--count', dest='count', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
33 parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
34 parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
35 parser$add_argument('--features', dest='features', action="store", default="genes")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
36 parser$add_argument('--clustering', dest='clustering', action="store", default="both")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
37 parser$add_argument('--iter_max', dest='iter_max', action="store")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
38 parser$add_argument('--genes', dest='genes', action="append")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
39 parser$add_argument('--k', dest='k', action="store")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
40 parser$add_argument('--x', dest='x', action="store")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
41 parser$add_argument('--y', dest='y', action="store")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
42
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
43 args <- parser$parse_args()
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
44
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
45 ## Load cummeRbund library
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
46 library("cummeRbund")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
47
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
48 ## Initialize cuff object
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
49 cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
50
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
51 ## Print out info
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
52 print(cuff)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
53 sink("cuffdb_info.txt")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
54 print(cuff)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
55 print("SAMPLES:")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
56 samples(cuff)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
57 print("REPLICATES:")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
58 replicates(cuff)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
59 print("FEATURES:")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
60 print(annotation(genes(cuff)))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
61 cat(annotation(genes(cuff))[[1]],sep=",")
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
62 sink()
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
63
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
64 png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png'))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
65 tryCatch({
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
66 if (args$plotType == 'density') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
67 csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
68 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
69 else if (args$plotType == 'boxplot') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
70 csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
71 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
72 else if (args$plotType == 'mds') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
73 MDSplot(genes(cuff), replicates=args$replicates)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
74 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
75 else if (args$plotType == 'pca') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
76 PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
77 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
78 else if (args$plotType == 'dendrogram') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
79 csDendro(genes(cuff), replicates=args$replicates)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
80 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
81 else if (args$plotType == 'scatter') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
82 if (args$gene_selector) {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
83 myGenes <- getGenes(cuff, args$genes)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
84 csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
85 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
86 else {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
87 csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
88 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
89 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
90 else if (args$plotType == 'volcano') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
91 if (args$gene_selector) {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
92 myGenes <- get_features(getGenes(cuff, args$genes), args$features)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
93 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
94 else {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
95 myGenes <- genes(cuff)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
96 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
97 csVolcano(myGenes, args$x, args$y)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
98 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
99 else if (args$plotType == 'heatmap') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
100 if (args$gene_selector) {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
101 myGenes <- getGenes(cuff, args$genes)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
102 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
103 else {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
104 myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]])
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
105 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
106 csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
107 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
108 else if (args$plotType == 'cluster') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
109 myGenes <- getGenes(cuff, args$genes)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
110 csCluster(get_features(myGenes, args$features), k=args$k)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
111 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
112 else if (args$plotType == 'dispersion') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
113 dispersionPlot(genes(cuff))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
114 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
115 else if (args$plotType == 'fpkmSCV') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
116 fpkmSCVPlot(genes(cuff))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
117 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
118 else if (args$plotType == 'scatterMatrix') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
119 csScatterMatrix(genes(cuff))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
120 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
121 else if (args$plotType == 'expressionplot') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
122 myGenes <- getGenes(cuff, args$genes)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
123 expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
124 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
125 else if (args$plotType == 'expressionbarplot') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
126 myGeneId <- args$genes
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
127 myGenes <- getGenes(cuff, myGeneId)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
128 expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
129 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
130 else if (args$plotType == 'mds') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
131 MDSplot(genes(cuff),replicates=args$replicates)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
132 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
133 else if (args$plotType == 'pca') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
134 PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
135 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
136 else if (args$plotType == 'maplot') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
137 MAplot(genes(cuff), args$x, args$y, useCount=args$count)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
138 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
139 else if (args$plotType == 'genetrack') {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
140 myGene <- getGene(cuff, args$genes)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
141 plotTracks(makeGeneRegionTrack(myGene))
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
142 }
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
143 },error = function(e) {
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
144 write(paste("Failed:", e, sep=" "), stderr())
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
145 q("no", 1, TRUE)
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
146 })
587c425b4e76 Initial commit with version 1.0.0 of the cummeRbund wrapper.
devteam
parents:
diff changeset
147 devname = dev.off()