[Bioc-devel] Recommendations for Shiny app on Bioconductor

Martin Morgan martin.morgan at roswellpark.org
Wed Mar 29 17:23:50 CEST 2017

On 03/29/2017 09:32 AM, Vladimir Kiselev wrote:
> Hi Wellinton,
> As far as I know if you wrap you shiny stuff into an R function that should
> be enough. Then you can provide both non-interactive and interactive
> functions and the user can choose what to run.
> You can have a look at my SC3 package where I implemented a strategy above:
> https://github.com/hemberg-lab/SC3

Yes, SC3 looks like a good example. The things I like are:

   - The 'shiny' part of the package is well-isolated from the 
functionality being provided. The code in `shinyApp()` seems to contain 
the minimum required to define the interface and the server, with 
anything complicated delegated to other functions in the package.

   - Everything is under the 'R/' directory, so can be checked with R 
CMD check / BiocCheck.

   - The code is modular, so that the computations underlying the shiny 
app can be used independently of shiny. This enables 'power' users to 
script their work. Developers can write unit tests (!). Functionality 
can be documented using R's help system.

It seems like there are other things that an ideal shiny app might do, 
capitalizing on R's strengths in exploratory analysis and reproducible 

   - Allow for interactive use integrated in an R session -- during an R 
session, the app is used for particularly graphically-oriented 
operations, and the end result of app usage is made available to the R 
session for subsequent processing. This kind of workflow, not 
necessarily in shiny, is possible in epivisr and RCyjs; 
interactiveDisplay was developed with this idea in mind


   - Capture the graphical operations performed by a user as R commands, 
for repeatability. I think shiny-phyloseq has this capability.


It would be interesting to hear of other examples and 'best practices'. 
This could be a topic for the Bioconductor annual meeting developer day, 
and / or 'birds-of-a-feather' session



> Cheers,
> Vlad
> On Wed, Mar 29, 2017 at 2:24 PM Welliton Souza <well309 at gmail.com> wrote:
>> I am developing a web application using Shiny to be distributed as
>> Bioconductor package. I would like to know if there are some
>> recommendations for better integration with Bioconductor ecosystem.
>> Best regards,
>> Welliton
>>         [[alternative HTML version deleted]]
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel

This email message may contain legally privileged and/or...{{dropped:2}}

More information about the Bioc-devel mailing list