I don't know the exact software used to create that image but you can reproduce it using karyoploteR.
Here's the code. We start creating random regions on the genome with regioneR's createRandomRegions
function. We the create the plot, using plot.type=6 with no ideograms. After that we use kpAbline
to plot the horizontal black lines and kpPlotRegions to plot the DMR regions in two colors. In total, 6 lines of code + 1 for the legend.
In the karyoploteR tutorial page you can find much more information, including how to add many other data types and how to customize the plot style.
library(karyoploteR)
#Create random regione with regioneR's createRandomRegions
up.dmr <- createRandomRegions(nregions = 40, length.mean = 2e6)
down.dmr <- createRandomRegions(nregions = 40, length.mean = 2e6)
#Initialize the plot
kp <- plotKaryotype(plot.type = 6, ideogram.plotter = NULL)
#Create the black lines
kpAbline(kp, h=0.5)
#And plot the up and down DMR regions
kpPlotRegions(kp, data=up.dmr, col = "red")
kpPlotRegions(kp, data=down.dmr, col="green")
#Add a legend
legend(x="bottomright", legend = c("Hypermethylated", "Hipomethylated"), fill=c("red", "green"))
As an option, if you want to have a clearer idea of the position of the regions, you can leave the cytoband plotting active removing ideogram.plotter=NULL
and add a white semi-transparent rectangle covering the cytobands to dim them a bit so our data pops. In addition, setting r0
and r1
so to 0.2 and 0.8, so the data only spans 60% of the vertical space makes the plot a bit more appealing.
#Initialize the plot
kp <- plotKaryotype(plot.type = 6, cex=2)
kpDataBackground(kp, col="#FFFFFFAA")
#And plot the up and down DMR regions
kpPlotRegions(kp, data=up.dmr, col = "red", r0=0.2, r1=0.8)
kpPlotRegions(kp, data=down.dmr, col="green", r0=0.2, r1=0.8)
#Add a legend
legend(x="bottomright", legend = c("Hypermethylated", "Hypomethylated"), fill=c("red", "green"), cex=2)
And this is the result
You should be able to right click the image, copy address and insert it using the image button:
and in text it should show up as: