annotate R/transciptionalStrandBias.r @ 7:eda59b985b1c draft default tip

Uploaded
author iarc
date Mon, 13 Mar 2017 08:21:19 -0400
parents 46a10309dfe2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
1 #!/usr/bin/Rscript
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
2
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
3 #---------------------------------------------#
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
4 # Author: Maude #
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
5 # Script: transcriptionalStrandBias_Galaxy.r #
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
6 # Last update: 03/07/15 #
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
7 #---------------------------------------------#
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
8
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
9 #########################################################################################################################################
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
10 # Transcriptional strand bias #
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
11 #########################################################################################################################################
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
12
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
13 #-------------------------------------------------------------------------------
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
14 # Print a usage message if there is no argument pass to the command line
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
15 #-------------------------------------------------------------------------------
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
16 args <- commandArgs(TRUE)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
17 usage <- function()
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
18 {
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
19 msg <- paste0('Usage:\n',
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
20 ' transcriptionalStrandBias_Galaxy.r input Output_Folder_High_Resolution Output_Folder_Low_Resolution Label_Y_axis\n',
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
21 '\ninput should be tab-separated: MutationTypeContext Strand Value Sample\n',
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
22 '\nOutput_Folder_High_Resolution: Folder for saving the high resolution image (display on the HTML page)\n',
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
23 '\nOutput_Folder_Low_Resolution: Folder for saving the low resolution image (display on the Excel report)\n',
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
24 '\nLabel_Y_axis: can be Count or Percent'
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
25 )
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
26 cat(msg, '\n', file="/dev/stderr")
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
27 quit(status=1)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
28 }
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
29
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
30 input = args[length(args)]
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
31
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
32 if (length(args) == 0) { usage() }
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
33
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
34
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
35
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
36 #-------------------------------------------------------------------------------
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
37 # Load library
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
38 #-------------------------------------------------------------------------------
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
39 suppressMessages(suppressWarnings(library(ggplot2)))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
40 suppressMessages(suppressWarnings(library(gridExtra)))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
41 suppressMessages(suppressWarnings(library(grid)))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
42
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
43
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
44 #-------------------------------------------------------------------------------
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
45 # Recover the argument pass in the command line
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
46 #-------------------------------------------------------------------------------
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
47 input <- args[1]
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
48 output <- args[2]
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
49 output_temp <- args[3] # Temp folder for the plot present in the Excel report
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
50 legend_y_axis <- args[4]
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
51
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
52
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
53 #-------------------------------------------------------------------------------
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
54 # Create the plot
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
55 #-------------------------------------------------------------------------------
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
56 ## Load the data
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
57 txnSB <- read.table(input, header=T)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
58 ## Define the color for the transcribed (blue) and non-transcribed strand(red)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
59 cb_palette_SB <- c("#0072B2", "#CC0000")
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
60 ## Reorder the mutation on the x axis (same order as NMF)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
61 txnSB$MutationTypeContext <- factor(txnSB$MutationTypeContext,
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
62 levels=c(
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
63 "C>A:A_A","C>A:A_C","C>A:A_G","C>A:A_T","C>A:C_A","C>A:C_C","C>A:C_G","C>A:C_T","C>A:G_A","C>A:G_C","C>A:G_G","C>A:G_T","C>A:T_A","C>A:T_C","C>A:T_G","C>A:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
64 "C>G:A_A","C>G:A_C","C>G:A_G","C>G:A_T","C>G:C_A","C>G:C_C","C>G:C_G","C>G:C_T","C>G:G_A","C>G:G_C","C>G:G_G","C>G:G_T","C>G:T_A","C>G:T_C","C>G:T_G","C>G:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
65 "C>T:A_A","C>T:A_C","C>T:A_G","C>T:A_T","C>T:C_A","C>T:C_C","C>T:C_G","C>T:C_T","C>T:G_A","C>T:G_C","C>T:G_G","C>T:G_T","C>T:T_A","C>T:T_C","C>T:T_G","C>T:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
66 "T>A:A_A","T>A:A_C","T>A:A_G","T>A:A_T","T>A:C_A","T>A:C_C","T>A:C_G","T>A:C_T","T>A:G_A","T>A:G_C","T>A:G_G","T>A:G_T","T>A:T_A","T>A:T_C","T>A:T_G","T>A:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
67 "T>C:A_A","T>C:A_C","T>C:A_G","T>C:A_T","T>C:C_A","T>C:C_C","T>C:C_G","T>C:C_T","T>C:G_A","T>C:G_C","T>C:G_G","T>C:G_T","T>C:T_A","T>C:T_C","T>C:T_G","T>C:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
68 "T>G:A_A","T>G:A_C","T>G:A_G","T>G:A_T","T>G:C_A","T>G:C_C","T>G:C_G","T>G:C_T","T>G:G_A","T>G:G_C","T>G:G_G","T>G:G_T","T>G:T_A","T>G:T_C","T>G:T_G","T>G:T_T"
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
69 )
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
70 )
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
71 ## Create a bar plot with custom color and classic theme
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
72 p_txnSB <- ggplot(txnSB, aes(x=MutationTypeContext, y=Value, fill=Strand))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
73 # Add a background for better differentiate the different mutation types
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
74 p_txnSB <- p_txnSB + geom_rect(data=NULL,aes(xmin=0.25,xmax=16.5,ymin=-Inf,ymax=Inf), fill="#E5E5E5") +
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
75 geom_rect(data=NULL,aes(xmin=16.5,xmax=32.5,ymin=-Inf,ymax=Inf), fill="#EDEDED") +
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
76 geom_rect(data=NULL,aes(xmin=32.5,xmax=48.5,ymin=-Inf,ymax=Inf), fill="#E5E5E5") +
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
77 geom_rect(data=NULL,aes(xmin=48.5,xmax=80.5,ymin=-Inf,ymax=Inf), fill="#EDEDED") +
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
78 geom_rect(data=NULL,aes(xmin=64.5,xmax=80.5,ymin=-Inf,ymax=Inf), fill="#E5E5E5") +
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
79 geom_rect(data=NULL,aes(xmin=80.5,xmax=96.5,ymin=-Inf,ymax=Inf), fill="#EDEDED")
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
80 # Add the bar
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
81 p_txnSB <- p_txnSB + geom_bar(stat="identity", width=0.5) + theme_classic() + scale_fill_manual(values=cb_palette_SB)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
82
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
83
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
84 # Rename the y axis
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
85 p_txnSB <- p_txnSB + ylab(legend_y_axis)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
86 ## Set the legend position to the top of plot and remove the legend title
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
87 p_txnSB <- p_txnSB + theme(legend.position="top") + labs(fill="")
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
88 ## Add margins for having place to add the mutation type labels bellow the bar graph
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
89 p_txnSB <- p_txnSB + theme(plot.margin=unit(c(1,1,-.1,1.5), "cm"))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
90 ## Rename the x labels
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
91 p_txnSB <- p_txnSB + scale_x_discrete(name="",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
92 breaks=c(
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
93 "T>G:A_A","T>G:A_C","T>G:A_G","T>G:A_T","T>G:C_A","T>G:C_C","T>G:C_G","T>G:C_T","T>G:G_A","T>G:G_C","T>G:G_G","T>G:G_T","T>G:T_A","T>G:T_C","T>G:T_G","T>G:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
94 "T>C:A_A","T>C:A_C","T>C:A_G","T>C:A_T","T>C:C_A","T>C:C_C","T>C:C_G","T>C:C_T","T>C:G_A","T>C:G_C","T>C:G_G","T>C:G_T","T>C:T_A","T>C:T_C","T>C:T_G","T>C:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
95 "T>A:A_A","T>A:A_C","T>A:A_G","T>A:A_T","T>A:C_A","T>A:C_C","T>A:C_G","T>A:C_T","T>A:G_A","T>A:G_C","T>A:G_G","T>A:G_T","T>A:T_A","T>A:T_C","T>A:T_G","T>A:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
96 "C>A:A_A","C>A:A_C","C>A:A_G","C>A:A_T","C>A:C_A","C>A:C_C","C>A:C_G","C>A:C_T","C>A:G_A","C>A:G_C","C>A:G_G","C>A:G_T","C>A:T_A","C>A:T_C","C>A:T_G","C>A:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
97 "C>G:A_A","C>G:A_C","C>G:A_G","C>G:A_T","C>G:C_A","C>G:C_C","C>G:C_G","C>G:C_T","C>G:G_A","C>G:G_C","C>G:G_G","C>G:G_T","C>G:T_A","C>G:T_C","C>G:T_G","C>G:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
98 "C>T:A_A","C>T:A_C","C>T:A_G","C>T:A_T","C>T:C_A","C>T:C_C","C>T:C_G","C>T:C_T","C>T:G_A","C>T:G_C","C>T:G_G","C>T:G_T","C>T:T_A","C>T:T_C","C>T:T_G","C>T:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
99 "G>A:A_A","G>A:A_C","G>A:A_G","G>A:A_T","G>A:C_A","G>A:C_C","G>A:C_G","G>A:C_T","G>A:G_A","G>A:G_C","G>A:G_G","G>A:G_T","G>A:T_A","G>A:T_C","G>A:T_G","G>A:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
100 "G>C:A_A","G>C:A_C","G>C:A_G","G>C:A_T","G>C:C_A","G>C:C_C","G>C:C_G","G>C:C_T","G>C:G_A","G>C:G_C","G>C:G_G","G>C:G_T","G>C:T_A","G>C:T_C","G>C:T_G","G>C:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
101 "G>T:A_A","G>T:A_C","G>T:A_G","G>T:A_T","G>T:C_A","G>T:C_C","G>T:C_G","G>T:C_T","G>T:G_A","G>T:G_C","G>T:G_G","G>T:G_T","G>T:T_A","G>T:T_C","G>T:T_G","G>T:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
102 "T>A:A_A","T>A:A_C","T>A:A_G","T>A:A_T","T>A:C_A","T>A:C_C","T>A:C_G","T>A:C_T","T>A:G_A","T>A:G_C","T>A:G_G","T>A:G_T","T>A:T_A","T>A:T_C","T>A:T_G","T>A:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
103 "T>C:A_A","T>C:A_C","T>C:A_G","T>C:A_T","T>C:C_A","T>C:C_C","T>C:C_G","T>C:C_T","T>C:G_A","T>C:G_C","T>C:G_G","T>C:G_T","T>C:T_A","T>C:T_C","T>C:T_G","T>C:T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
104 "T>G:A_A","T>G:A_C","T>G:A_G","T>G:A_T","T>G:C_A","T>G:C_C","T>G:C_G","T>G:C_T","T>G:G_A","T>G:G_C","T>G:G_G","T>G:G_T","T>G:T_A","T>G:T_C","T>G:T_G","T>G:T_T"
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
105 ),
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
106 labels=c(
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
107 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
108 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
109 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
110 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
111 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
112 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
113 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
114 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
115 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
116 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
117 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T",
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
118 "A_A","A_C","A_G","A_T","C_A","C_C","C_G","C_T","G_A","G_C","G_G","G_T","T_A","T_C","T_G","T_T"
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
119 )
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
120 )
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
121 ## Changing the appearance of x axis thicks
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
122 p_txnSB <- p_txnSB + theme(axis.text.x = element_text(angle=60, hjust=1, vjust=1))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
123 ## Close graphics windows
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
124 graphics.off()
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
125 ## Save the plot for the HTML page (higher resolution)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
126 options(bitmapType='cairo') # # Use cairo device as isn't possible to install X11 on the server...
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
127 png(paste0(output, ".png"), width=4000, height=1000, res=300)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
128 plot(p_txnSB)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
129 # Add a label bellow the bar graph for indicating the mutation type
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
130 grid.text(paste("C>A", sep=""), x=unit(.14, "npc"), y=unit(.7, "npc"), just=c("left", "bottom"), gp=gpar(fontface="bold",fontsize=10))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
131 grid.text(paste("C>G", sep=""), x=unit(.29, "npc"), y=unit(.7, "npc"), just=c("left", "bottom"), gp=gpar(fontface="bold",fontsize=10))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
132 grid.text(paste("C>T", sep=""), x=unit(.45, "npc"), y=unit(.7, "npc"), just=c("left", "bottom"), gp=gpar(fontface="bold",fontsize=10))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
133 grid.text(paste("T>A", sep=""), x=unit(.58, "npc"), y=unit(.7, "npc"), just=c("left", "bottom"), gp=gpar(fontface="bold",fontsize=10))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
134 grid.text(paste("T>C", sep=""), x=unit(.74, "npc"), y=unit(.7, "npc"), just=c("left", "bottom"), gp=gpar(fontface="bold",fontsize=10))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
135 grid.text(paste("T>G", sep=""), x=unit(.9, "npc"), y=unit(.7, "npc"), just=c("left", "bottom"), gp=gpar(fontface="bold",fontsize=10))
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
136 invisible( dev.off() )
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
137
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
138
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
139
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
140 # Save the plot for the report
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
141 p_txnSB
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
142 ggsave(paste0(output_temp, "-Report.png"), width=18)
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
143
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
144 # Delete the empty plot created by the script
eda59b985b1c Uploaded
iarc
parents: 6
diff changeset
145 if (file.exists("Rplots.pdf")) invisible( file.remove("Rplots.pdf") )