annotate mlmm/source_library/plot_MLMM.Ago.r @ 0:6b7107812931 draft

Uploaded
author dereeper
date Thu, 02 Jul 2015 05:42:38 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6b7107812931 Uploaded
dereeper
parents:
diff changeset
1 ## fonction ###########################################################################
6b7107812931 Uploaded
dereeper
parents:
diff changeset
2 plot_MLMM.Ago<-function(x) {
6b7107812931 Uploaded
dereeper
parents:
diff changeset
3 output1 <-x$out[order(x$out$Pos),]
6b7107812931 Uploaded
dereeper
parents:
diff changeset
4 output_ok<-output1[order(output1$Chr),]
6b7107812931 Uploaded
dereeper
parents:
diff changeset
5
6b7107812931 Uploaded
dereeper
parents:
diff changeset
6 maxpos<-c(0,cumsum(as.numeric(aggregate(output_ok$Pos,list(output_ok$Chr),max)$x+max(cumsum(as.numeric(aggregate(output_ok$Pos,list(output_ok$Chr),max)$x)))/200)))
6b7107812931 Uploaded
dereeper
parents:
diff changeset
7 plot_col<-rep(c('gray10','gray60'),ceiling(max(unique(output_ok$Chr))/2))
6b7107812931 Uploaded
dereeper
parents:
diff changeset
8 # plot_col<-c('blue','darkgreen','red','cyan','purple')
6b7107812931 Uploaded
dereeper
parents:
diff changeset
9 size<-aggregate(output_ok$Pos,list(output_ok$Chr),length)$x
6b7107812931 Uploaded
dereeper
parents:
diff changeset
10 a<-rep(maxpos[1],size[1])
6b7107812931 Uploaded
dereeper
parents:
diff changeset
11 b<-rep(plot_col[1],size[1])
6b7107812931 Uploaded
dereeper
parents:
diff changeset
12 for (i in 2:max(unique(output_ok$Chr))){
6b7107812931 Uploaded
dereeper
parents:
diff changeset
13 a<-c(a,rep(maxpos[i],size[i]))
6b7107812931 Uploaded
dereeper
parents:
diff changeset
14 b<-c(b,rep(plot_col[i],size[i]))}
6b7107812931 Uploaded
dereeper
parents:
diff changeset
15
6b7107812931 Uploaded
dereeper
parents:
diff changeset
16 output_ok$xpos<-output_ok$Pos+a
6b7107812931 Uploaded
dereeper
parents:
diff changeset
17 output_ok$col<-b
6b7107812931 Uploaded
dereeper
parents:
diff changeset
18 output_ok$col[output_ok$mk=='qtl']<-'cyan'
6b7107812931 Uploaded
dereeper
parents:
diff changeset
19 output_ok$col[output_ok$SNP %in% x$cof]<-'red'
6b7107812931 Uploaded
dereeper
parents:
diff changeset
20
6b7107812931 Uploaded
dereeper
parents:
diff changeset
21 d<-(aggregate(output_ok$xpos,list(output_ok$Chr),min)$x+aggregate(output_ok$xpos,list(output_ok$Chr),max)$x)/2
6b7107812931 Uploaded
dereeper
parents:
diff changeset
22
6b7107812931 Uploaded
dereeper
parents:
diff changeset
23 plot(output_ok$xpos,-log10(output_ok$pval),col=output_ok$col,pch=20,ylab='-log10(pval)',xaxt='n',xlab='chromosome')
6b7107812931 Uploaded
dereeper
parents:
diff changeset
24 axis(1,tick=FALSE,at=d,labels=c(1:max(unique(output_ok$Chr))))
6b7107812931 Uploaded
dereeper
parents:
diff changeset
25 xline(output_ok$xpos[output_ok$mk=='qtl'], col='cyan', lwd=0.1)
6b7107812931 Uploaded
dereeper
parents:
diff changeset
26 abline(h=x$bonf_thresh,lty=3,col='black')
6b7107812931 Uploaded
dereeper
parents:
diff changeset
27
6b7107812931 Uploaded
dereeper
parents:
diff changeset
28
6b7107812931 Uploaded
dereeper
parents:
diff changeset
29 if (length(output_ok$pval[-log10(output_ok$pval) > x$bonf_thresh]) > 0) {
6b7107812931 Uploaded
dereeper
parents:
diff changeset
30 text(output_ok$xpos[-log10(output_ok$pval) > x$bonf_thresh], -log10(output_ok$pval[-log10(output_ok$pval) > x$bonf_thresh]), output_ok$SNP[-log10(output_ok$pval) > x$bonf_thresh], pos=3, cex=0.7)
6b7107812931 Uploaded
dereeper
parents:
diff changeset
31 legend("topright", lty=3, paste("bonf thresh :", x$bonf_thresh ,sep=" "))
6b7107812931 Uploaded
dereeper
parents:
diff changeset
32 } else {
6b7107812931 Uploaded
dereeper
parents:
diff changeset
33 legend("topright", lty=3, paste("bonf thresh :", x$bonf_thresh ,sep=" "))
6b7107812931 Uploaded
dereeper
parents:
diff changeset
34 }
6b7107812931 Uploaded
dereeper
parents:
diff changeset
35
6b7107812931 Uploaded
dereeper
parents:
diff changeset
36 }