[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
research.
- 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
http://bioconductor.org/packages/epivizr
http://bioconductor.org/packages/RCyjs
http://bioconductor.org/packages/interactiveDisplay
- Capture the graphical operations performed by a user as R commands,
for repeatability. I think shiny-phyloseq has this capability.
https://github.com/joey711/shiny-phyloseq
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
http://bioconductor.org/help/course-materials/2017/BioC2017/#birds-of-a-feather
Martin
>
> 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