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

Reply via email to