Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(ggplot2)
- library(reshape2)
- library(stringr)
- rmna=function(x) x[!is.na(x)]
- gpos=function(x) 1000*x+128600000
- load('../CRC.hg19.rda')
- id=15601:17600
- meta$file=paste0(meta$file,'.out')
- meta=meta[order(meta$group, meta$dataset),]
- gr=cov$CRC[id,]
- gr=gr[,grep("H3K4me1|H3K27ac",colnames(gr))]
- gr=gr[,rmna(match(meta$file,colnames(gr)))]
- fills=c("red","blue")[meta[meta$file %in% colnames(gr),'group']]
- uq=quantile(as.matrix(gr),0.99)
- gr[gr>uq]=uq
- gr=cbind(melt(gr),Mark=rep(str_extract(colnames(gr),"H3K\\w+|WGB|frac"),each=2000),Position=rep(1:2000,ncol(gr)))
- g <- ggplot_gtable(ggplot_build(ggplot(gr, aes(Position, value,fill=Mark)) + geom_area(stat="identity", position="identity") + facet_grid(variable~.) + scale_x_continuous(label=gpos) + scale_y_continuous(breaks=uq) + xlab("chr8") + theme(panel.background = element_blank(), axis.title.y=element_blank(), axis.text.y=element_blank(), axis.ticks.y=element_blank())))
- ## change facet strip according to groups
- library(grid)
- stripr <- which(grepl('strip-r', g$layout$name))
- k <- 1
- for (i in stripr) {
- j <- which(grepl('rect', g$grobs[[i]]$grobs[[1]]$childrenOrder))
- g$grobs[[i]]$grobs[[1]]$children[[j]]$gp$fill <- fills[k]
- k <- k+1
- }
- grid.draw(g)
Add Comment
Please, Sign In to add comment