What is the best way to share an interactive Glimma glXY volcano plot with collaborators who do not work in R?
1
1
Entering edit mode
3.9 years ago

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.

RNA-Seq glimma rshiny volcanoplot R • 2.2k views
ADD COMMENT
0
Entering edit mode

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...

ADD REPLY
0
Entering edit mode
2.5 years ago
Alexander • 0

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.

ADD COMMENT

Login before adding your answer.

Traffic: 2487 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6