### R code from vignette source 'vignettes/ENCODEFig4Band4D/inst/doc/ENCODEFig4Band4D.Rnw' ################################################### ### code chunk number 1: loadlibs ################################################### library("ENCODEFig4Band4D") library("randomForest") library("earth") data("TF-Model") ################################################### ### code chunk number 2: setup4B ################################################### data = TF_binding_profile_160bin cnum = nrow(data)/3 dat1 = data[(1:cnum)*3-1,] dat2 = data[(1:cnum)*3,] dim(dat1) dat1 = dat1[21:60,] ## select 40 bins around TSS dat2 = dat2[21:60,] se = c("SYDHTFBS_K562B_YY1", "SYDHTFBS_K562_CJUN", "SYDHTFBS_K562_STAT1.1", "SYDHTFBS_K562_USF2") dat1 = dat1[,se] dat2 = dat2[,se] cnum = ncol(dat1) ################################################### ### code chunk number 3: mynam1 ################################################### mynam = sapply(strsplit(colnames(dat1), split = "_"), "[", 3) mynam ################################################### ### code chunk number 4: mynam2 ################################################### mynam = c("YY1", "JUN", "STAT1", "USF2") ################################################### ### code chunk number 5: Main_Fig4B ################################################### par(mfrow=c(2,2)) par(mar=c(2, 2, 0.5,0.5)) par(mgp=c(1.0, 0.2, 0)) par(tcl=-0.2) par(lend=2) for(k in 1:cnum) { tmp = (-20:19)*100+50 maxy = max(dat1[,k], dat2[,k]) miny = min(dat1[,k], dat2[,k]) plot(tmp, as.numeric(dat1[,k]), log="y", ylim=c(miny, maxy), xlab=mynam[k], ylab="Average Signal", type="l", pch=20, lwd=2, cex.axis=0.7, cex.lab=0.9, col="red") lines(tmp, as.numeric(dat2[,k]), type="l", pch=20, lwd=2, col="green") abline(v=0, lty=2) if(k==1) { mytext = c("HCP", "LCP") legend(500, 1.31, cex=0.6, legend=mytext, lwd=2, col=c("red", "green"), bty="n") } } ################################################### ### code chunk number 6: rawdata ################################################### rawdata = TF_model_data ################################################### ### code chunk number 7: rf ################################################### data = rawdata dat1 = data[data[,1]==0,] dat2 = data[data[,1]>0,] dim(dat1) dim(dat2) dat1[,1] = "No" dat2[,1] = "Yes" se1 = sample(1:nrow(dat1), 1000) se2 = sample(1:nrow(dat2), 1000) tr = rbind(dat1[se1,], dat2[se2,]) te = rbind(dat1[-se1,], dat2[-se2,]) ## class.gen= row.names(tr) tr[,1] = as.factor(tr[,1]) mm1 = randomForest(tr[,-1], tr[,1]) pre= predict(mm1,te[,-1]) res = table(pre, te[,1]) (res[1,2]+res[2,1])/sum(res) pre= predict(mm1,te[,-1], type="prob") res = pre thr = (1:99)*0.01 yy = xx = rep(0, length(thr)) for(i in 1:length(thr)) { aa = sum(res[,1]>=thr[i] & te[,1]=="No") bb = sum(res[,1]=thr[i] & te[,1]=="Yes") dd = sum(res[,1]