karyoploteR
karyoploteR copied to clipboard
Merge kpPoints and kpPlotBigWig, the r0 r1 of kpPoints cannot be set correctly
I want to use an karyoploteR to cheak the chip seq peak at a specific location, as well as the snp significance at that region. So I use kpPoints and kpPlotBigWig, but the exact figure location of kpPoints cannot be determined by parameters r0,r1. The data and code are as follows:
pp <- getDefaultPlotParams(plot.type=1)
pp$leftmargin <- 0.15
pp$topmargin <- 15
pp$bottommargin <- 15
pp$ideogramheight <- 5
pp$data1inmargin <- 10
pp$data1outmargin <- 0
kp <- plotKaryotype(zoom = gene.region, cex=3, plot.params = pp)
kpAddBaseNumbers(kp, tick.dist = 50000, minor.tick.dist = 5000,
add.units = TRUE, cex=0.8, tick.len = 5)
kpPlotGenes(kp, data=genes.data, r0=0, r1=0.05, gene.name.cex = 0.8)
kpPlotRegions(kp, data=c(enhancer.region), col="#C1FFC1", r0=0.2, r1=1)
kpPlotRegions(kp, data=c(enhancer.region), col="#FFC125", r0=0.18, r1=0.19)
total.tracks <- length(H3K27ac)+3
out.at <- autotrack(1:length(H3K27ac), total.tracks, margin = 0.3, r0=0.2)
kpAddLabels(kp, labels = "H3K27ac", r0 = out.at$r0, r1=out.at$r1, cex=2,
srt=90, pos=1, label.margin = 0.14)
for(i in seq_len(length(H3K27ac))) {
bigwig.file <- paste0("/data/H3K27AC/", H3K27ac[i])
at <- autotrack(i, length(H3K27ac), r0=out.at$r0, r1=out.at$r1, margin = 0.1)
kp <- kpPlotBigWig(kp, data=bigwig.file, ymax="visible.region",
r0=at$r0, r1=at$r1, col = "cadetblue2")
computed.ymax <- ceiling(kp$latest.plot$computed.values$ymax)
kpAxis(kp, ymin=0, ymax=computed.ymax, tick.pos = computed.ymax,
r0=at$r0, r1=at$r1, cex=0.8)
kpAddLabels(kp, labels = names(H3K27ac)[i], r0=at$r0, r1=at$r1,
cex=0.8, label.margin = 0.035)
}
out.at <- autotrack((length(H3K27ac)+1):total.tracks, total.tracks, margin = 0.3, r0=0.2)
kpAddLabels(kp, labels = "SNP_sig", r0 = out.at$r0, r1=out.at$r1,
cex=1, srt=90, pos=1, label.margin = 0.14)
at <- autotrack(1,1, r0=out.at$r0, r1=out.at$r1, margin = 0.1)
kpAxis(kp, r0=at$r0, r1=at$r1, ymax=ceiling(max(file_point$FDR)), ymin=0)
kpPoints(kp, chr = file_point$chr, x=file_point$pos, y=file_point$FDR,
#ymin=0,#ymax=20,
col="red",r0=at$r0, r1=at$r1,cex=0.5)
the results as follows:
When I change the "at" of KpPoints, the kpAxis and graph don't match:
at <- autotrack(1,3, r0=out.at$r0, r1=out.at$r1, margin = 0.1)
kpAxis(kp, r0=at$r0, r1=at$r1, ymax=ceiling(max(file_point$FDR)), ymin=0)
kpPoints(kp, chr = file_point$chr, x=file_point$pos, y=file_point$FDR,
#ymin=0,#ymax=20,
col="red",r0=at$r0, r1=at$r1,cex=0.5)