annotate bubble/bubbleplot.R @ 0:db556c94a101 draft default tip

Uploaded
author elixir-it
date Tue, 27 Oct 2020 14:48:56 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
1 #!/usr/bin/env Rscript
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
2 args = commandArgs(trailingOnly=TRUE)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
3 if (length(args)!=3) {
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
4 st_sentence=paste("This script requires exactly 3 arguments",length(args),"supplied\n")
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
5 stop(sentence, call.=FALSE)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
6 }
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
7
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
8 bubbleplot<-function(MatData,VirData,palette,magn,main,space)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
9 {
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
10 COL=ncol(MatData)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
11 ROW=nrow(MatData)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
12 Mcopy=rep(1:COL,ROW)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
13 Mfactor=rep(1:ROW,rep( COL,ROW ))
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
14
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
15 COLOR=rep(palette,rep(COL,ROW))
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
16 CEX=(log10(t((MatData*100)+1)))*magn
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
17
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
18
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
19 par(mar=c(8,4,4,0),fig=c(0,0.8,0,1))
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
20 plot(Mcopy,Mfactor,cex=0.1,pch=20,xaxt="n",yaxt="n",xlab="",ylab="",main=main,yaxs="r");
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
21 #grid(COL*ROW)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
22 abline(h=1:ROW)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
23 abline(v=1:COL)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
24 lines(Mcopy,Mfactor,cex=CEX,col=COLOR,pch=20,type="p")
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
25
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
26 axis(1,at=1:COL,labels=colnames(MatData),las=2)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
27 axis(2,at=(1:ROW),labels=rownames(MatData),las=2)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
28
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
29 par(fig=c(0.8,1,0,1),new=TRUE,mar=c(8,0,4,1))
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
30 barplot(log10(VirData+1),horiz=T,las=2,space=space,yaxs="i",main="Log(N genomes)")
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
31 }
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
32 MatData=read.table("MatData.csv",header=T,row.names=1,check.names=F);
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
33 VirData=read.table("VirData.csv",header=T,row.names=1);
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
34 VirData=as.vector(VirData[,1])
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
35 add_data=read.table(args[1],header=T,row.names=1,check.names=F);
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
36 VirData=c(VirData,rep(1,nrow(add_data) ))
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
37 MatData=rbind(MatData,add_data);
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
38 pdf(args[2],width=1200,height=1600)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
39 bubbleplot(MatData,VirData,c(colors()[c(90,60,150,120,30)],topo.colors(nrow(add_data))),3,main="",space=1)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
40 dev.off()
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
41 pdf(args[3],width=1600,height=1600)
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
42 heatmap(cor(t(MatData)),col=blues9);
db556c94a101 Uploaded
elixir-it
parents:
diff changeset
43 dev.off()