parse=FALSE) +
annotate(geom='text',
x=1,
y=2,
hjust=0,
vjust=0,
label=lblCC,
size=7*5/14,
parse=TRUE) +
geom_density_2d(aes_string(x=paste0('str_',s1),
y=paste0('str_',s2)),
lwd=.2,
alpha=1)+
theme(legend.position=c(0,1),
legend.justification=c(0,1),
legend.title=element_blank(),
legend.background=element_blank()) +
annotation_logticks(sides='bl',
long=unit(0.1,'cm'),
mid=unit(0.05,'cm'),
short=unit(0.05,'cm'),
lwd=.5,
size=0.2) +
scale_color_manual(values=c('grey50','firebrick','forestgreen')) +
xlab(paste0(nm1,' ori strength')) +
ylab(paste0(nm2,' ori strength'))
return(g)
}
######### START SELECTION CODE
oriDF <- fread(paste0(outdir,'/origins/mm10_OriSSDS.Origins.tab'),header=TRUE, fill=TRUE)
sampleNames <- gsub("LW_",replacement = "",names(oriDF)[grep("LW",names(oriDF))])
# in case we have non-WT samples
wtNames <- sampleNames[grep("wt",sampleNames)]
# set counters
oriDF$oneOK <- FALSE
oriDF$allOK <- TRUE
oriDF$nOK   <- 0
oriDF$oneWT <- FALSE
oriDF$allWT <- TRUE
oriDF$nWT <- 0
# Check FR and Ori Presence / Absence for all
for (s in sampleNames){
oriDF[[paste0("LW_",s)]] <- oriDF[[paste0("LW_",s)]]+1
oriDF[[paste0("RW_",s)]] <- oriDF[[paste0("RW_",s)]]+1
oriDF[[paste0("LC_",s)]] <- oriDF[[paste0("LC_",s)]]+1
oriDF[[paste0("RC_",s)]] <- oriDF[[paste0("RC_",s)]]+1
oriDF[[paste0("L_",s)]]  <- oriDF[[paste0("LC_",s)]] / (oriDF[[paste0("LW_",s)]] + oriDF[[paste0("LC_",s)]])
oriDF[[paste0("R_",s)]]  <- oriDF[[paste0("RW_",s)]] / (oriDF[[paste0("RW_",s)]] + oriDF[[paste0("RC_",s)]])
oriDF[[paste0("LROK_",s)]]  <- oriDF[[paste0("L_",s)]] < 0.5 & oriDF[[paste0("R_",s)]] < 0.5
oriDF$oneOK              <- oriDF$oneOK | oriDF[[paste0("LROK_",s)]]
oriDF$allOK              <- oriDF$allOK & oriDF[[paste0("LROK_",s)]]
oriDF$nOK                <- oriDF$nOK + oriDF[[paste0("LROK_",s)]]
oriDF$allWT              <- oriDF$allWT & oriDF[[paste0("ori_",s)]]
oriDF$oneWT              <- oriDF$oneWT | oriDF[[paste0("ori_",s)]]
oriDF$nWT                <- oriDF$nWT + (oriDF[[paste0("ori_",s)]]>0)
}
## Define ori clusters as > 7Kb
oriDF$big                                 <- (oriDF$to-oriDF$from)>7000
oriDF$oriType                             <- 'Individual'
oriDF$oriType[(oriDF$to-oriDF$from)>7000] <- 'Cluster'
oriDF$oriType <- factor(oriDF$oriType,levels=c('Individual','Cluster'))
########## OK ... from here, we generate 2 sets of Origins
########## SET 1: ALL ORIS in ANY WT SAMPLE
########## NB: REQUIRE W/C ASYMMETRY OR BE >7Kb
selectDF <- oriDF[(oriDF$oneOK | oriDF$big),]
selectDF$minL <- pmin(selectDF$L_WT_Rep1,selectDF$L_WT_Rep2,selectDF$L_WT_Rep3)
selectDF$minR <- pmin(selectDF$R_WT_Rep1,selectDF$R_WT_Rep2,selectDF$R_WT_Rep3)
oriName <- data.frame(ori=paste(selectDF$cs,
selectDF$from,
selectDF$to,
sep=":"))
mylist <- vector(mode="list", length=length(sampleNames))
names(mylist) <- sampleNames
for (s in sampleNames){
mylist[[s]]          <- oriName$ori[selectDF[[paste0("ori_",s)]]>0]
}
upset(fromList(mylist), order.by = "freq", sets = wtNames)
v <- plotVenn(mylist,
nCycles=5000,
systemShow=TRUE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
cc12all <- plotOriCC(selectDF,'WT_Rep1','WT_Rep2', 'Sample 1', 'Sample 2')
cc12all
cc12all <- plotOriCC(selectDF,'WT_Rep1','WT_Rep2', 'Sample 1', 'Sample 2')
cc13all <- plotOriCC(selectDF,'WT_Rep1','WT_Rep3', 'Sample 1', 'Sample 3')
cc32all <- plotOriCC(selectDF,'WT_Rep3','WT_Rep2', 'Sample 3', 'Sample 2')
originsDFall <- selectDF
originsDFall$strength <- (toTPM(originsDFall$str_WT_Rep1)+
toTPM(originsDFall$str_WT_Rep2)+
toTPM(originsDFall$str_WT_Rep3))/3000000*100
save(originsDFall,file='oriRepAll.Rdata')
oriAll2file <- originsDFall[,c('cs','from','to','strength')]
fwrite(x = oriAll2file, file = 'origins_union.mm10.bedgraph',
quote = FALSE,sep = "\t",col.names = FALSE)
########## SET 2: FINAL "HIGH CONFIDENCE" ORIS; IN >1 SAMPLE
########## NB: REQUIRE W/C ASYMMETRY OR BE >7Kb
selectDF <- oriDF[oriDF$nWT > 1 & (oriDF$oneOK | oriDF$big),]
selectDF$minL <- pmin(selectDF$L_WT_Rep1,selectDF$L_WT_Rep2,selectDF$L_WT_Rep3)
selectDF$minR <- pmin(selectDF$R_WT_Rep1,selectDF$R_WT_Rep2,selectDF$R_WT_Rep3)
oriName <- data.frame(ori=paste(selectDF$cs,
selectDF$from,
selectDF$to,
sep=":"))
mylist <- vector(mode="list", length=length(sampleNames))
names(mylist) <- sampleNames
for (s in sampleNames){
mylist[[s]]          <- oriName$ori[selectDF[[paste0("ori_",s)]]>0]
}
u2 <- upset(fromList(mylist),
order.by = "freq",
sets = wtNames)
v2 <- plotVenn(mylist,
nCycles=5000,
systemShow=TRUE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
cc12 <- plotOriCC(selectDF,'WT_Rep1','WT_Rep2', 'Sample 1', 'Sample 2', chk=FALSE)
cc13 <- plotOriCC(selectDF,'WT_Rep1','WT_Rep3', 'Sample 1', 'Sample 3', chk=FALSE)
cc32 <- plotOriCC(selectDF,'WT_Rep3','WT_Rep2', 'Sample 3', 'Sample 2', chk=FALSE)
##
g1 <- ggarrange(cc12all,cc13all,cc32all,ncol=3,nrow=1)
g2 <- ggarrange(cc13,cc12,cc32,ncol=3,nrow=1)
gScatters <- ggarrange(grid.arrange(g1,top='Origins in ANY sample'),
grid.arrange(g2,top='Origins in >1 sample'),
nrow=2,ncol=1)
ggsave(plot = gScatters,
getIMGname(fname = 'oriRep_Scatters',saveLocation = imgdir, type = 'PNG'),
width=(3*2.5),height=(2*2.5),
dpi = 300, units='in')
originsDF <- selectDF
originsDF$strength <- (toTPM(originsDF$str_WT_Rep1) +
toTPM(originsDF$str_WT_Rep2) +
toTPM(originsDF$str_WT_Rep3))/3000000*100
save(originsDF,file='oriRep.Rdata')
ori2file <- originsDF[,c('cs','from','to','strength')]
fwrite(x = ori2file, file = 'origins_mm10.bedgraph',
quote = FALSE,sep = "\t",col.names = FALSE)
################################# PLOT FR
gMin <- ggplot(selectDF,aes(x=minL,y=minR)) + geom_density_2d(lwd=.2) + geom_hline(color='grey60',lty='dashed',yintercept = 0.5,lwd=.2) + geom_vline(color='grey60',lty='dashed',xintercept = 0.5,lwd=.2) + geom_point(color='grey50',size=.05,alpha=.1)  + facet_grid(.~oriType) + theme(legend.position='none',strip.background=element_blank(),strip.text=element_blank()) + geom_text(aes(label=oriType),x=0.1,y=1,size=7*5/14,check_overlap = TRUE) + coord_cartesian(xlim=c(0,1),ylim=c(0,1)) + xlab('Left of center asymmetry\n(Crick/Watson+Crick)')+ ylab('Right of center asymmetry\n(Watson/Watson+Crick)') + scale_x_continuous(breaks=c(0,.5,1))+ scale_y_continuous(breaks=c(0,.5,1)) + ggtitle('Best value')
gS1  <- ggplot(selectDF,aes(x=L_WT_Rep1,y=R_WT_Rep1)) + geom_density_2d(lwd=.2) + geom_hline(color='grey60',lty='dashed',yintercept = 0.5,lwd=.2) + geom_vline(color='grey60',lty='dashed',xintercept = 0.5,lwd=.2) + geom_point(color='grey50',size=.05,alpha=.1)  + facet_grid(.~oriType) + theme(legend.position='none',strip.background=element_blank(),strip.text=element_blank()) + geom_text(aes(label=oriType),x=0.1,y=1,size=7*5/14,check_overlap = TRUE) + coord_cartesian(xlim=c(0,1),ylim=c(0,1)) + xlab('Left of center asymmetry\n(Crick/Watson+Crick)')+ ylab('Right of center asymmetry\n(Watson/Watson+Crick)') + scale_x_continuous(breaks=c(0,.5,1))+ scale_y_continuous(breaks=c(0,.5,1))+ ggtitle('Sample 1')
gS2  <- ggplot(selectDF,aes(x=L_WT_Rep1,y=R_WT_Rep1)) + geom_density_2d(lwd=.2) + geom_hline(color='grey60',lty='dashed',yintercept = 0.5,lwd=.2) + geom_vline(color='grey60',lty='dashed',xintercept = 0.5,lwd=.2) + geom_point(color='grey50',size=.05,alpha=.1)  + facet_grid(.~oriType) + theme(legend.position='none',strip.background=element_blank(),strip.text=element_blank()) + geom_text(aes(label=oriType),x=0.1,y=1,size=7*5/14,check_overlap = TRUE) + coord_cartesian(xlim=c(0,1),ylim=c(0,1)) + xlab('Left of center asymmetry\n(Crick/Watson+Crick)')+ ylab('Right of center asymmetry\n(Watson/Watson+Crick)') + scale_x_continuous(breaks=c(0,.5,1))+ scale_y_continuous(breaks=c(0,.5,1))+ ggtitle('Sample 2')
gS3  <- ggplot(selectDF,aes(x=L_WT_Rep1,y=R_WT_Rep1)) + geom_density_2d(lwd=.2) + geom_hline(color='grey60',lty='dashed',yintercept = 0.5,lwd=.2) + geom_vline(color='grey60',lty='dashed',xintercept = 0.5,lwd=.2) + geom_point(color='grey50',size=.05,alpha=.1)  + facet_grid(.~oriType) + theme(legend.position='none',strip.background=element_blank(),strip.text=element_blank()) + geom_text(aes(label=oriType),x=0.1,y=1,size=7*5/14,check_overlap = TRUE) + coord_cartesian(xlim=c(0,1),ylim=c(0,1)) + xlab('Left of center asymmetry\n(Crick/Watson+Crick)')+ ylab('Right of center asymmetry\n(Watson/Watson+Crick)') + scale_x_continuous(breaks=c(0,.5,1))+ scale_y_continuous(breaks=c(0,.5,1))+ ggtitle('Sample 3')
gX4 <- ggarrange(gMin,gS1,gS2,gS3,ncol=1,nrow=4)
ggsave(plot = gX4,
getIMGname(fname = 'origin_AsymmetryPlots',saveLocation = imgdir, type = 'PNG'),
width=4,height=8,
dpi = 300, units='in')
ggsave(plot = gX4,
getIMGname(fname = 'origin_AsymmetryPlots',saveLocation = imgdir, type = 'PDF'),
width=4,height=8,
dpi = 300, units='in')
gScatters <- ggarrange(grid.arrange(g1,top=textGrob('Origins in ANY sample', gp=gpar(fontsize=8))),
grid.arrange(g2,top=textGrob('Origins in at least two samples', gp=gpar(fontsize=8))),
nrow=2,ncol=1)
ggsave(plot = gScatters,
getIMGname(fname = 'oriRep_Scatters',saveLocation = imgdir, type = 'PNG'),
width=(3*2.5),height=(2*2.5),
dpi = 300, units='in')
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=3,height=3, dpi = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=3,height=3, res = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=4,height=2, res = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=5,height=3, res = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=6,height=4, res = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=6,height=6, res = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=7,height=6, res = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=4,height=4, res = 300, units='in')
v2 <- plotVenn(mylist,
nCycles=5000,
systemShow=FALSE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=4,height=4, res = 300, units='in')
v2 <- plotVenn(mylist,
nCycles=5000,
systemShow=TRUE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
dev.off()
dev.off()
drawSVG
?nVennR
??nVennR
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=4,height=4, res = 300, units='in')
v2 <- plotVenn(mylist,
nCycles=5000,
showPlot=TRUE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
dev.off()
graphics.off()
png(getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'PNG'),
width=4,height=4, res = 300, units='in')
v2 <- plotVenn(mylist,
nCycles=5000,
showPlot=FALSE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
dev.off()
showSVG(nVennObj = v2)
vennSVG <- getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'SVG')
venn <- plotVenn(mylist,
nCycles=5000,
showPlot=FALSE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
showSVG(nVennObj = venn, outFile = vennSVG)
Sys.setenv(KBPIPEOUTDIR='/data/RDCO/replicationPaper/pipe/run/outX3/')
Sys.setenv(KBPIPEWORKDIR='/data/RDCO/replicationPaper/pipe/')
## Load custom functions & H3 data
workdir <- Sys.getenv('KBPIPEWORKDIR')
outdir  <- Sys.getenv('KBPIPEOUTDIR')
#datadir <- paste0(outdir,'/Rtables/')
if (exists('testingKBGLPIPE')){
imgdir = '/home/kevbrick/testImg/'
}else{
#imgdir  <- paste0(outdir,'/figs/')
imgdir  <- './'
}
## Load custom functions & H3 data
source(paste0(workdir,'accessoryFiles/scripts/R/genericFunctions.R'))
library(png)
library(ggpubr)
library(plyr)
library(ggplot2)
library(data.table)
library(nVennR)
library(UpSetR)
theme7point()
######### PLOT SCATTERPLOT & CC FUNCTION
plotOriCC <- function(df,s1,s2,nm1=NULL,nm2=NULL,chk=TRUE){
if (is.null(nm1)){
nm1<-s1
}
if (is.null(nm2)){
nm2<-s2
}
if (chk){
df <- df[df[[paste0('ori_',s1)]]>0 | df[[paste0('ori_',s2)]]>0,]
}
lblN      <- paste0("N = ",format(dim(df)[1], big.mark=",", scientific=FALSE))
lblCC     <- paste("R^2 == ",round(cor(df[[paste0('str_',s1)]],df[[paste0('str_',s2)]], method='spearman')^2,2),sep='')
df$type <- 'Neither'
df$type[df[[paste0('ori_',s1)]]>0 & df[[paste0('ori_',s2)]]<=0] <- paste0(nm1,' only')
df$type[df[[paste0('ori_',s1)]]<=0 & df[[paste0('ori_',s2)]]>0] <- paste0(nm2,' only')
df$type[df[[paste0('ori_',s1)]]>0 & df[[paste0('ori_',s2)]]>0]  <- 'Both'
g <- ggplot(df,aes(color=factor(type))) +
geom_point(aes_string(x=paste0('str_',s1),
y=paste0('str_',s2)),
size=.1,
shape=21,
alpha=.5) +
scale_x_log10() + scale_y_log10() +
annotate(geom='text',
x=1,
y=1,
hjust=0,
vjust=0,
label=lblN,
size=7*5/14,
parse=FALSE) +
annotate(geom='text',
x=1,
y=2,
hjust=0,
vjust=0,
label=lblCC,
size=7*5/14,
parse=TRUE) +
geom_density_2d(aes_string(x=paste0('str_',s1),
y=paste0('str_',s2)),
lwd=.2,
alpha=1)+
theme(legend.position=c(0,1),
legend.justification=c(0,1),
legend.title=element_blank(),
legend.background=element_blank()) +
annotation_logticks(sides='bl',
long=unit(0.1,'cm'),
mid=unit(0.05,'cm'),
short=unit(0.05,'cm'),
lwd=.5,
size=0.2) +
scale_color_manual(values=c('grey50','firebrick','forestgreen')) +
xlab(paste0(nm1,' ori strength')) +
ylab(paste0(nm2,' ori strength'))
return(g)
}
######### START SELECTION CODE
oriDF <- fread(paste0(outdir,'/origins/mm10_OriSSDS.Origins.tab'),header=TRUE, fill=TRUE)
sampleNames <- gsub("LW_",replacement = "",names(oriDF)[grep("LW",names(oriDF))])
# in case we have non-WT samples
wtNames <- sampleNames[grep("wt",sampleNames)]
# set counters
oriDF$oneOK <- FALSE
oriDF$allOK <- TRUE
oriDF$nOK   <- 0
oriDF$oneWT <- FALSE
oriDF$allWT <- TRUE
oriDF$nWT <- 0
# Check FR and Ori Presence / Absence for all
for (s in sampleNames){
oriDF[[paste0("LW_",s)]] <- oriDF[[paste0("LW_",s)]]+1
oriDF[[paste0("RW_",s)]] <- oriDF[[paste0("RW_",s)]]+1
oriDF[[paste0("LC_",s)]] <- oriDF[[paste0("LC_",s)]]+1
oriDF[[paste0("RC_",s)]] <- oriDF[[paste0("RC_",s)]]+1
oriDF[[paste0("L_",s)]]  <- oriDF[[paste0("LC_",s)]] / (oriDF[[paste0("LW_",s)]] + oriDF[[paste0("LC_",s)]])
oriDF[[paste0("R_",s)]]  <- oriDF[[paste0("RW_",s)]] / (oriDF[[paste0("RW_",s)]] + oriDF[[paste0("RC_",s)]])
oriDF[[paste0("LROK_",s)]]  <- oriDF[[paste0("L_",s)]] < 0.5 & oriDF[[paste0("R_",s)]] < 0.5
oriDF$oneOK              <- oriDF$oneOK | oriDF[[paste0("LROK_",s)]]
oriDF$allOK              <- oriDF$allOK & oriDF[[paste0("LROK_",s)]]
oriDF$nOK                <- oriDF$nOK + oriDF[[paste0("LROK_",s)]]
oriDF$allWT              <- oriDF$allWT & oriDF[[paste0("ori_",s)]]
oriDF$oneWT              <- oriDF$oneWT | oriDF[[paste0("ori_",s)]]
oriDF$nWT                <- oriDF$nWT + (oriDF[[paste0("ori_",s)]]>0)
}
## Define ori clusters as > 7Kb
oriDF$big                                 <- (oriDF$to-oriDF$from)>7000
oriDF$oriType                             <- 'Individual'
oriDF$oriType[(oriDF$to-oriDF$from)>7000] <- 'Cluster'
oriDF$oriType <- factor(oriDF$oriType,levels=c('Individual','Cluster'))
########## OK ... from here, we generate 2 sets of Origins
########## SET 1: ALL ORIS in ANY WT SAMPLE
########## NB: REQUIRE W/C ASYMMETRY OR BE >7Kb
selectDF <- oriDF[(oriDF$oneOK | oriDF$big),]
selectDF$minL <- pmin(selectDF$L_WT_Rep1,selectDF$L_WT_Rep2,selectDF$L_WT_Rep3)
selectDF$minR <- pmin(selectDF$R_WT_Rep1,selectDF$R_WT_Rep2,selectDF$R_WT_Rep3)
oriName <- data.frame(ori=paste(selectDF$cs,
selectDF$from,
selectDF$to,
sep=":"))
mylist <- vector(mode="list", length=length(sampleNames))
names(mylist) <- sampleNames
for (s in sampleNames){
mylist[[s]]          <- oriName$ori[selectDF[[paste0("ori_",s)]]>0]
}
## Show Ori Overlaps
graphics.off()
png(getIMGname(fname = 'originsAll_UpSet',saveLocation = imgdir, type = 'PNG'),
width=7,height=6, res = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
vennSVG <- getIMGname(fname = 'originsAll_Venn',saveLocation = imgdir, type = 'SVG')
venn <- plotVenn(mylist,
nCycles=5000,
systemShow=TRUE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
showSVG(nVennObj = venn, outFile = vennSVG)
## Prep Scatters
cc12all <- plotOriCC(selectDF,'WT_Rep1','WT_Rep2', 'Sample 1', 'Sample 2')
cc13all <- plotOriCC(selectDF,'WT_Rep1','WT_Rep3', 'Sample 1', 'Sample 3')
cc32all <- plotOriCC(selectDF,'WT_Rep3','WT_Rep2', 'Sample 3', 'Sample 2')
## Make output files
originsDFall <- selectDF
originsDFall$strength <- (toTPM(originsDFall$str_WT_Rep1)+
toTPM(originsDFall$str_WT_Rep2)+
toTPM(originsDFall$str_WT_Rep3))/3000000*100
save(originsDFall,file='oriRepAll.Rdata')
oriAll2file <- originsDFall[,c('cs','from','to','strength')]
fwrite(x = oriAll2file, file = 'origins_union.mm10.bedgraph',
quote = FALSE,sep = "\t",col.names = FALSE)
########## SET 2: FINAL "HIGH CONFIDENCE" ORIS; IN >1 SAMPLE
########## NB: REQUIRE W/C ASYMMETRY OR BE >7Kb
selectDF <- oriDF[oriDF$nWT > 1 & (oriDF$oneOK | oriDF$big),]
selectDF$minL <- pmin(selectDF$L_WT_Rep1,selectDF$L_WT_Rep2,selectDF$L_WT_Rep3)
selectDF$minR <- pmin(selectDF$R_WT_Rep1,selectDF$R_WT_Rep2,selectDF$R_WT_Rep3)
oriName <- data.frame(ori=paste(selectDF$cs,
selectDF$from,
selectDF$to,
sep=":"))
mylist <- vector(mode="list", length=length(sampleNames))
names(mylist) <- sampleNames
for (s in sampleNames){
mylist[[s]]          <- oriName$ori[selectDF[[paste0("ori_",s)]]>0]
}
graphics.off()
png(getIMGname(fname = 'origins_UpSet',saveLocation = imgdir, type = 'PNG'),
width=7,height=6, res = 300, units='in')
upset(fromList(mylist), order.by = "freq", sets = wtNames)
dev.off()
vennSVG <- getIMGname(fname = 'origins_Venn',saveLocation = imgdir, type = 'SVG')
venn <- plotVenn(mylist,
nCycles=5000,
showPlot=FALSE,
fontScale=2.25,
setColors=c('orange','grey','firebrick'),
borderWidth=3)
showSVG(nVennObj = venn, outFile = vennSVG)
cc12 <- plotOriCC(selectDF,'WT_Rep1','WT_Rep2', 'Sample 1', 'Sample 2', chk=FALSE)
cc13 <- plotOriCC(selectDF,'WT_Rep1','WT_Rep3', 'Sample 1', 'Sample 3', chk=FALSE)
cc32 <- plotOriCC(selectDF,'WT_Rep3','WT_Rep2', 'Sample 3', 'Sample 2', chk=FALSE)
originsDF <- selectDF
originsDF$strength <- (toTPM(originsDF$str_WT_Rep1) +
toTPM(originsDF$str_WT_Rep2) +
toTPM(originsDF$str_WT_Rep3))/3000000*100
save(originsDF,file='oriRep.Rdata')
ori2file <- originsDF[,c('cs','from','to','strength')]
fwrite(x = ori2file, file = 'origins_mm10.bedgraph',
quote = FALSE,sep = "\t",col.names = FALSE)
################################# SCATTERPLOTS
g1 <- ggarrange(cc12all,cc13all,cc32all,ncol=3,nrow=1)
g2 <- ggarrange(cc13,cc12,cc32,ncol=3,nrow=1)
gScatters <- ggarrange(grid.arrange(g1,top=textGrob('Origins in ANY sample', gp=gpar(fontsize=8))),
grid.arrange(g2,top=textGrob('Origins in at least two samples', gp=gpar(fontsize=8))),
nrow=2,ncol=1)
ggsave(plot = gScatters,
getIMGname(fname = 'oriRep_Scatters',saveLocation = imgdir, type = 'PNG'),
width=(3*2.5),height=(2*2.5),
dpi = 300, units='in')
ggsave(plot = gScatters,
getIMGname(fname = 'oriRep_Scatters',saveLocation = imgdir, type = 'PDF'),
width=(3*2.5),height=(2*2.5),
dpi = 300, units='in')
################################# PLOT FR
gMin <- ggplot(selectDF,aes(x=minL,y=minR)) + geom_density_2d(lwd=.2) + geom_hline(color='grey60',lty='dashed',yintercept = 0.5,lwd=.2) + geom_vline(color='grey60',lty='dashed',xintercept = 0.5,lwd=.2) + geom_point(color='grey50',size=.05,alpha=.1)  + facet_grid(.~oriType) + theme(legend.position='none',strip.background=element_blank(),strip.text=element_blank()) + geom_text(aes(label=oriType),x=0.1,y=1,size=7*5/14,check_overlap = TRUE) + coord_cartesian(xlim=c(0,1),ylim=c(0,1)) + xlab('Left of center asymmetry\n(Crick/Watson+Crick)')+ ylab('Right of center asymmetry\n(Watson/Watson+Crick)') + scale_x_continuous(breaks=c(0,.5,1))+ scale_y_continuous(breaks=c(0,.5,1)) + ggtitle('Best value')
gS1  <- ggplot(selectDF,aes(x=L_WT_Rep1,y=R_WT_Rep1)) + geom_density_2d(lwd=.2) + geom_hline(color='grey60',lty='dashed',yintercept = 0.5,lwd=.2) + geom_vline(color='grey60',lty='dashed',xintercept = 0.5,lwd=.2) + geom_point(color='grey50',size=.05,alpha=.1)  + facet_grid(.~oriType) + theme(legend.position='none',strip.background=element_blank(),strip.text=element_blank()) + geom_text(aes(label=oriType),x=0.1,y=1,size=7*5/14,check_overlap = TRUE) + coord_cartesian(xlim=c(0,1),ylim=c(0,1)) + xlab('Left of center asymmetry\n(Crick/Watson+Crick)')+ ylab('Right of center asymmetry\n(Watson/Watson+Crick)') + scale_x_continuous(breaks=c(0,.5,1))+ scale_y_continuous(breaks=c(0,.5,1))+ ggtitle('Sample 1')
gS2  <- ggplot(selectDF,aes(x=L_WT_Rep1,y=R_WT_Rep1)) + geom_density_2d(lwd=.2) + geom_hline(color='grey60',lty='dashed',yintercept = 0.5,lwd=.2) + geom_vline(color='grey60',lty='dashed',xintercept = 0.5,lwd=.2) + geom_point(color='grey50',size=.05,alpha=.1)  + facet_grid(.~oriType) + theme(legend.position='none',strip.background=element_blank(),strip.text=element_blank()) + geom_text(aes(label=oriType),x=0.1,y=1,size=7*5/14,check_overlap = TRUE) + coord_cartesian(xlim=c(0,1),ylim=c(0,1)) + xlab('Left of center asymmetry\n(Crick/Watson+Crick)')+ ylab('Right of center asymmetry\n(Watson/Watson+Crick)') + scale_x_continuous(breaks=c(0,.5,1))+ scale_y_continuous(breaks=c(0,.5,1))+ ggtitle('Sample 2')
gS3  <- ggplot(selectDF,aes(x=L_WT_Rep1,y=R_WT_Rep1)) + geom_density_2d(lwd=.2) + geom_hline(color='grey60',lty='dashed',yintercept = 0.5,lwd=.2) + geom_vline(color='grey60',lty='dashed',xintercept = 0.5,lwd=.2) + geom_point(color='grey50',size=.05,alpha=.1)  + facet_grid(.~oriType) + theme(legend.position='none',strip.background=element_blank(),strip.text=element_blank()) + geom_text(aes(label=oriType),x=0.1,y=1,size=7*5/14,check_overlap = TRUE) + coord_cartesian(xlim=c(0,1),ylim=c(0,1)) + xlab('Left of center asymmetry\n(Crick/Watson+Crick)')+ ylab('Right of center asymmetry\n(Watson/Watson+Crick)') + scale_x_continuous(breaks=c(0,.5,1))+ scale_y_continuous(breaks=c(0,.5,1))+ ggtitle('Sample 3')
gX4 <- ggarrange(gMin,gS1,gS2,gS3,ncol=1,nrow=4)
ggsave(plot = gX4,
getIMGname(fname = 'origin_AsymmetryPlots',saveLocation = imgdir, type = 'PNG'),
width=4,height=8,
dpi = 300, units='in')
ggsave(plot = gX4,
getIMGname(fname = 'origin_AsymmetryPlots',saveLocation = imgdir, type = 'PDF'),
width=4,height=8,
dpi = 300, units='in')
s <- selectDF
ggplot(s,aes(x=strength,y=CpG)) + geom_point()
s <- originsDF
ggplot(s,aes(x=strength,y=CpG)) + geom_point()
ggplot(s,aes(x=strength,y=GpC)) + geom_point()
ggplot(s,aes(x=strength,y=GpG)) + geom_point()
ggplot(s,aes(x=CpG,y=GpG)) + geom_point()
ggplot(s,aes(x=CpG,y=ApG)) + geom_point()
ggplot(s,aes(x=CpG,y=ApT)) + geom_point()
ggplot(s,aes(x=CpG500,y=ApT500)) + geom_point()
ggplot(s,aes(x=CpG500,y=strength)) + geom_point()
ggplot(s,aes(x=GpG500,y=strength)) + geom_point()
ggplot(s,aes(x=GpC500,y=strength)) + geom_point()
sNT <- s[,c('strength',paste0(c('G','A','T','C'),'p',c('G','A','T','C')))]
head(sNT)
names(s)
names(s)[42:58]
sNT <- s[,c('strength',names(s)[42:57])]
head(sNT)
sNT
sNT <- s[,c(42:57,77)]
sNT
cor(sNT)
ggCorMat(mCC = cor(sNT))
ggCorMat(mCC = cor(sNT),flipIt=TRUE)
ggCorMat(mCC = cor(sNT),flipIt=TRUE,yOnRight = TRUE)
gCC <- ggCorMat(mCC = cor(originsDF[,c(42:57,77)])^2,flipIt=TRUE,yOnRight = TRUE)
ggsave(plot = gCC,
getIMGname(fname = 'origin_diNTCorrMatrix',saveLocation = imgdir, type = 'PNG'),
width=4,height=4,
dpi = 300, units='in')
gCC <- ggCorMat(mCC = cor(originsDF[,c(42:57,77)])^2,flipIt=TRUE,yOnRight = TRUE)
ggsave(plot = gCC,
getIMGname(fname = 'origin_diNTCorrMatrix',saveLocation = imgdir, type = 'PNG'),
width=4,height=4,
dpi = 300, units='in')
ggsave(plot = gCC,
getIMGname(fname = 'origin_diNTCorrMatrix',saveLocation = imgdir, type = 'PDF'),
width=4,height=4,
dpi = 300, units='in')
q()
