annotate genomeview_notused @ 23:4e646baac551

Uploaded
author xuebing
date Sat, 31 Mar 2012 11:53:40 -0400
parents 16ba480adf96
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
1
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
2 caloffset = function(genome){
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
3 total_len = sum(as.numeric(genome[,2]))
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
4 offset = 0
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
5 for (i in 1:nrow(genome)) {
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
6 offset = c(offset,offset[i]+genome[i,2])
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
7 }
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
8 offset
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
9 }
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
10
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
11 coverage = function(intervals,genome,offset,resolution) {
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
12
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
13 nChr = length(offset) - 1
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
14 total_len = offset[nChr+1]
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
15 nbin = as.integer(total_len / resolution)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
16
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
17 pos = numeric(0)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
18 cov = numeric(0)#coverage
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
19 col = numeric(0)#color
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
20 for (i in 1:nChr) {
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
21 d = x[x[,1]==as.character(genome[i,1]),2:3]
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
22 d = ceiling(((d[,1]+d[,2])/2+offset[i])*nbin/total_len)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
23 t = table(d)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
24 pos = c(pos,as.numeric(row.names(t)))
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
25 cov = c(cov, as.numeric(t))
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
26 col = c(col,numeric(length(t))+i)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
27 }
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
28 list(nbin=nbin,pos=pos,cov=cov,col=col)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
29 }
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
30
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
31 # plot coverage
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
32 # res = genomeView(x,genome,100000)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
33 plotcov = function(res,genome,offset,title,uselog) {
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
34 if (uselog == 'log'){
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
35 res$cov = log10(res$cov+1)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
36 }
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
37 ymax = max(res$cov)
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
38 par(mar=c(5,5,5,1))
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
39 plot(res$pos,res$cov,type='h',cex=0.1,cex.axis=2,cex.lab=2,cex.main=3,col=res$col,xaxt='n',main=title,xlab='chromosome',ylab='coverage',frame.plot=F,xlim=c(0,res$nbin),ylim=c(0,ymax))
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
40 xticks = numeric(nrow(genome))
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
41 for (i in 1:nrow(genome)){
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
42 xticks[i] = (offset[i]+offset[i+1])/2*res$nbin/offset[length(offset)]
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
43 }
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
44 mtext(genome[,1],side=1,at=xticks,adj=1,las=2,col=seq(nrow(genome)))
16ba480adf96 Uploaded
xuebing
parents:
diff changeset
45 }