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 <well...@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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
This email message may contain legally privileged and/or...{{dropped:2}}
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel