Hi Bogdan,
In R you can create a plot like the one you decribe with karyoploteR.
Here's a small example with random data (random positions in the genome created with createRandomRegions
from the package regioneR). You can add additional data, use a different genome, change color and sizes and in general customize the plot in many ways using this package. You can find a short tutorial and some more complex examples at karyoploteR's tutorial and examples page.
library(regioneR)
library(karyoploteR)
set.seed(12345)
gains <- createRandomRegions(nregions = 10, length.mean = 10e6, length.sd = 10e6, genome = "hg19", mask=NULL)
losses <- createRandomRegions(nregions = 10, length.mean = 10e6, length.sd = 10e6, genome = "hg19", mask=NULL)
snv <- createRandomRegions(nregions = 200, length.mean = 1, length.sd = 0, genome = "hg19", mask=NULL)
snv.cols <- sample(x = c("red", "blue", "gold", "orchid", "palegreen"), 200, replace = TRUE)
sv.origin <- createRandomRegions(nregions = 10, length.mean = 1, length.sd = 0, genome = "hg19", mask=NULL)
sv.end <- createRandomRegions(nregions = 10, length.mean = 1, length.sd = 0, genome = "hg19", mask=NULL)
png("example.png", width=1500, height=1500)
kp <- plotKaryotype(cex=2)
kpPoints(kp, data=snv, y=0, r0=0.1, r1=0.1, col=snv.cols, cex = 2)
kpPlotRegions(kp, data=gains, r0=0.3, r1=0.8, col="#FF7744", border = NA)
kpPlotRegions(kp, data=losses, r0=0.3, r1=0.8, col="#77FF44", border = NA)
kpPlotLinks(kp, data=sv.origin, data2 = sv.end, col="black")
dev.off()
And that will create this image
Hope this helps
Thanks a lot, Bernat ! It look fabulous ... I will get back to you soon !