annotate ChIPQC.R @ 3:9ebb11795dea draft default tip

Uploaded
author jbrayet
date Fri, 05 Feb 2016 10:08:16 -0500
parents 0c3402cdee70
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
1 #usage $0 minValue maxValue chip.peaks control.peaks outputFile.png output.txt
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
2 args <- commandArgs(TRUE)
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
3 minValue <- type.convert(args[2])
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
4 maxValue <- type.convert(args[3])
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
5 dataTable <-suppressWarnings(read.table(args[4], header=FALSE));
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
6 chip<-data.frame(dataTable)
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
7 dataTable <-suppressWarnings(read.table(args[5], header=FALSE));
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
8 control<-data.frame(dataTable)
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
9 x <-c((minValue-0.5):(maxValue+0.5))
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
10 breaks <- c(0,x,1000)
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
11 controlHist <-hist(control$V6, breaks=breaks, right=FALSE, plot=FALSE )
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
12 chipHist <-hist(chip$V6, breaks=breaks, right=FALSE, plot=FALSE )
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
13
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
14 ifPDF <- 0
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
15 if (length(args)>=8) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
16 ifPDF=args[8]
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
17 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
18 if (ifPDF==1) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
19 pdf(file = args[6], width = 8, height = 7, pointsize = 20, bg = "white")
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
20 } else {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
21 png(filename = args[6], width = 580, height = 580, units = "px", pointsize = 20, bg = "white", res = NA)
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
22 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
23 suppressWarnings(plot(controlHist$mids,controlHist$counts,xlab = "Peak height",xlim=c(minValue-0.5,maxValue+0.5), ylab = "Peak count",pch=17, col = colors()[328], log = "y"))
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
24 suppressWarnings(points(chipHist$mids,chipHist$counts,xlab = "peak height",xlim=c(minValue-0.5,maxValue+0.5),ylab = "peak count",pch=15, col = colors()[131], log = "y"))
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
25 legend(maxValue*0.7,y = max(chipHist$counts)*0.7, bty="n",c("ChIP","Control"), cex=1, col = c(colors()[131],colors()[328]), lty = c(-1, -1), pch = c(15, 17))
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
26
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
27 dev.off()
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
28
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
29 sink(args[7], append=FALSE, split=FALSE)
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
30 cat (paste("peak height","# peaks in ChIP","# peaks in Control","#control/chip","Cumulative #control/chip (FDR)","\n",sep='\t'))
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
31 for (xval in c(minValue:maxValue)) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
32 for (i in (1:length(chipHist$mids))) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
33 if (xval==chipHist$mids[i]) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
34 ychip <- chipHist$counts[i]
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
35 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
36 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
37 for (i in (1:length(controlHist$mids))) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
38 if (xval==controlHist$mids[i]) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
39 ycontrol <- controlHist$counts[i]
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
40 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
41 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
42 ychipCum = 1;
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
43 ycontrolCum = 1 ;
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
44 for (i in (1:length(chipHist$mids))) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
45 if (xval<=chipHist$mids[i]) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
46 ychipCum <- ychipCum+chipHist$counts[i]
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
47 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
48 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
49 for (i in (1:length(controlHist$mids))) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
50 if (xval<=controlHist$mids[i]) {
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
51 ycontrolCum <- ycontrolCum+controlHist$counts[i]
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
52 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
53 }
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
54 cumRatio= ycontrolCum/ychipCum
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
55 if(cumRatio>1){cumRatio = 1}
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
56 cat (paste(xval,ychip,ycontrol,ycontrol/ychip,cumRatio,"\n",sep='\t'))
0c3402cdee70 Uploaded
jbrayet
parents:
diff changeset
57 }