Hello,
I have created an interactive volcano plot using the Glimma glXY function which creates a glimma-plots folder locally in my working directory, within which contains the html file for the volcano plot. The volcano plot is quite nice and I would like to share it with collaborators who do not code and/or embed a link to the html file in a publication. What is the best way of doing this?
As per the Glimma package documentation, I have tried emailing the entire glimma-plots folder to collaborators but my email server blocks this.
Could RShiny be used for this purpose? If so, I would be very grateful if you could share some code you have used to create the ui and server for a Shiny App hosting an interactive Glimma plot. I see other users have had difficulty including Glimma plots in an RShiny interface (https://bioinformatics.stackexchange.com/questions/11101/include-a-glimma-interface-in-a-shiny-app).
Code for glXYplot:
glXYPlot(
x = mbsham$log2FoldChange,
y = -log10(mbsham$pvalue),
xlab = "log2FC",
ylab = "-log10pvalue (FDR)",
main = "ZDSD MB vs SHAM",
counts = counts,
groups = groups$V2,
samples = groups$V1,
status = status,
side.main = "SYMBOL",
display.columns = c("ENTREZID", "ENSEMBL","SYMBOL", "NAME"),
anno = anno,
cols = cols,
sample.cols = sample.cols,
html = "ZDSD_MB_VS_SHAM_INTERACTIVE_VP"
)
I tried embedding this in an RShiny app as follows but this continues to open the Glimma interactive html separately to the Shiny app:
UI
ui <- fluidPage(
titlePanel("RNA-Seq"),
# Create a spot for the barplot
mainPanel(
plotOutput("XYplot")
)
)
Server
server <- function(input, output) {
output$XYplot <- renderPlot({
glXYPlot(
x = mbsham$log2FoldChange,
y = -log10(mbsham$pvalue),
xlab = "log2FC",
ylab = "-log10pvalue (FDR)",
main = "ZDSD MB vs SHAM",
counts = counts,
groups = groups$V2,
samples = groups$V1,
status = status,
side.main = "SYMBOL",
display.columns = c("ENTREZID", "ENSEMBL","SYMBOL", "NAME"),
anno = anno,
cols = cols,
sample.cols = sample.cols,
html = "ZDSD_MB_VS_SHAM_INTERACTIVE_VP"
)
})
}
shinyApp(ui, server)
Thank you very much for your help. Any advice greatly appreciated.
1 answer
I Reached this thread looking similarly for a simple way to share with a collaborator a glimma plot. this is how i achieved it , if anyone will reach this page and want to try:
I am unsure about a Shiny solution, however, I found this can be done fast and relatively simple by hosting the plots on your github page. It is probably not the best way to do this, but I found it handy.
the simplest guide for doing this i found: https://devpractical.com/upload-and-host-html-website-on-github/
although pushing the plots to your repository via the console will probably be more efficient, you don't even have to do that and can just upload everything like is described in the guide above.
add each folder (created by glimma) to your repository, then a glimma plot created like so:
glMDSPlot(dgeObj2, labels=labels, groups=group, folder=paste0("mds_genProgSubset"),main = "subgenes" )
will be available at the following address: https://your-username.github.io/repository-name/mdsplot/mds_genProgSubset/MDS-Plot.html
you can similarly create a HTML page with links to several such plots if you wish to share more.
Log in to answer this question.
Did you ever find a way to show Glimma output in a Shiny app? I am trying to simply show HTML output that I already created outside the Shiny app but cannot seem to figure it out. I am new to Shiny so could be something simple...