Bioconductor / Contributions

Contribute Packages to Bioconductor
134 stars 33 forks source link

InteractiveComplexHeatmap #1827

Closed jokergoo closed 3 years ago

jokergoo commented 3 years ago

Confirm the following by editing each check box to '[x]'

I am familiar with the essential aspects of Bioconductor software management, including:

For help with submitting your package, please subscribe and post questions to the bioc-devel mailing list.

bioc-issue-bot commented 3 years ago

Hi @jokergoo

Thanks for submitting your package. We are taking a quick look at it and you will hear back from us soon.

The DESCRIPTION file for this package is:

Package: InteractiveComplexHeatmap
Type: Package
Title: Make Complex Heatmaps Interactive
Version: 0.99.0
Date: 2020-12-19
Author: Zuguang Gu
Maintainer: Zuguang Gu <z.gu@dkfz.de>
Depends: R (>= 4.0.0), ComplexHeatmap (>= 2.7.2)
Imports: grDevices, stats, shiny, grid, GetoptLong, S4Vectors (>= 0.26.1), 
    digest, IRanges
Suggests: knitr, rmarkdown, testthat
VignetteBuilder: knitr
Description: This package can easily make interactive heatmaps produced 
    by the ComplexHeatmap package. It provides two types of interactivities: 
    1. on the interactive graphics device, and 2. on a Shiny app. It also provides 
    functions for integrating the interactive heatmap widgets into other Shiny apps.
biocViews: Software, Visualization, Sequencing
URL: https://github.com/jokergoo/InteractiveComplexHeatmap
License: MIT + file LICENSE
bioc-issue-bot commented 3 years ago

A reviewer has been assigned to your package. Learn what to expect during the review process.

IMPORTANT: Please read this documentation for setting up remotes to push to git.bioconductor.org. It is required to push a version bump to git.bioconductor.org to trigger a new build.

Bioconductor utilized your github ssh-keys for git.bioconductor.org access. To manage keys and future access you may want to active your Bioconductor Git Credentials Account

bioc-issue-bot commented 3 years ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/InteractiveComplexHeatmap to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 3 years ago

Received a valid push on git.bioconductor.org; starting a build for commit id: f8176bc6e9a9b66c2ce7350f38a43b04555f4701

bioc-issue-bot commented 3 years ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "skipped, ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/InteractiveComplexHeatmap to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 3 years ago

Received a valid push on git.bioconductor.org; starting a build for commit id: d775570a67adc11ae0b47d80e70d5c6a33bd0377

bioc-issue-bot commented 3 years ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "WARNINGS". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/InteractiveComplexHeatmap to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 3 years ago

Received a valid push on git.bioconductor.org; starting a build for commit id: 1ebcb7a7ff5ded93a8a97087b73d289c99c7b4cf

bioc-issue-bot commented 3 years ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on Linux, Mac, and Windows.

Congratulations! The package built without errors or warnings on all platforms.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/InteractiveComplexHeatmap to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

LiNk-NY commented 3 years ago

Hi ZuGuang, @jokergoo

Thank you for your submission to Bioconductor. Sorry for the delay in getting back to you over the break. Please see the review below. Remember to respond to the review line by line.

Best regards, Marcel


InteractiveComplexHeatmap #1827

DESCRIPTION

NAMESPACE

vignettes

R

/ base pkg directory

README.md

jokergoo commented 3 years ago

Hi Marcel @LiNk-NY,

Thanks for your time and review on the InteractiveComplexHeatmap package! Following are my point-to-point reply:

DESCRIPTION

  • Add a BugReports field
  • (optional) Add your ORCID ID to the Authors@R field

Both are added.

NAMESPACE

  • Looks good.
  • Consider using all 'camelCase' or all 'snake_case' for your function names instead of a mix of both.

All function names now are written in camelCase style.

vignettes

  • Provide an Installation section in one of the vignettes to show users how to install the package from Bioconductor.

Added.

  • If possible, avoid static code chunks (as in implementation.Rmd and shiny_dev.Rmd) and use actual data

In implementation.Rmd, some static code chunks demonstrate the output from interactive manipulations on the interactive graphics device, e.g. clicks on the graphics device, so they cannot be generated on the fly.

Similarlly, the static code chunks in shiny_dev.Rmd are only used to demonstrate the format of the objects. They cannot be obtained in the Rmarkdown generation and the exact values are not important there.

R

  • We encourage all developers to remove the noisy messages when loading a package. Consider removing the .onAttach messages. A user wishing to report a bug or see the package version would use bug.report() or even packageVersion() for just the package version.

It is removed.

  • There is some value in having sensible defaults. For example, use the defaults that you have defined in the function body in the function's arguments (e.g., title = "ComplexHeatmap Shiny App" in ht_shiny). This way, you don't have to worry about whether the argument is NULL or not since you have a working default. It reduces the overall cyclomatic complexity.

Yes, they are moved to function arguments.

The reason is, the example code will be post-processed so that the source code of the example is also shown in the Shiny app. For example, for the following example:

library(InteractiveComplexHeatmap)
library(ComplexHeatmap)
ht = Heatmap(matrix(rnorm(100), 10))
htShiny(ht)

to put in demo/ and to also print the source code of this example in the shiny app, it needs to be adapted to:

library(InteractiveComplexHeatmap)
library(ComplexHeatmap)
ht = Heatmap(matrix(rnorm(100), 10))
htShiny(ht, html = "
<h3>Description</h3>
<pre>blablabla</p>
<h3>source code</h3>
<pre>
library(InteractiveComplexHeatmap)
library(ComplexHeatmap)
ht = Heatmap(matrix(rnorm(100), 10))
htShiny(ht)
</pre>
")

As you see, the example code is repeated twice, which is very bad for examples with huge block of code, while in htShinyExample(), the value for html can be automatically processed.

  • Avoid any library calls in package code. Your examples can have library calls as long as those packages are added to the Suggests field.

All packages used in examples are now put in Suggests field.

/ base pkg directory

  • Remove build_pkg_site.R or put it in inst/scripts.
  • docs should also be removed

build_pkg_site.R and docs are used for building the package website and they are only available in the Github repo. They are actually excluded in .Rbuildignore.

https://github.com/jokergoo/InteractiveComplexHeatmap/blob/e990c8147d6a8bec3c6190b7d809afb4dad3609c/.Rbuildignore#L12-L14

README.md

  • Add a Bioconductor installation section after acceptance.

Added.

  • Consider using an Rmd file and rendering to md so that code chunks are evaluated.

There is no executable code chunk in README.md, so I think it is fine to only use the .md file.

LiNk-NY commented 3 years ago

Hi ZuGuang, @jokergoo

Thank you for making those changes and addressing the points. I would still argue that the docs folder and the build_pkg_site.R file can be moved to more suitable locations. Usually, the docs folder is a product (of pkgdown::build_site()) and its contents are put on a gh-pages branch on GitHub for hosting. We would like to only host the source of the package rather than all its by-products.

Consider using GitHub Actions via biocthis::use_bioc_github_action() for possibly easier setup.

Best, Marcel

jokergoo commented 3 years ago

Hi Marcel,

Yes, you are right! I haven't considered that. I have moved docs/ and build_pkg_site.R to gh-pages branch. Now it is clean.

Best, Zuguang

LiNk-NY commented 3 years ago

Hi Zuguang, @jokergoo Thanks for making those changes! :pray: I have accepted your package. Thank you for your contribution. Best regards, Marcel

bioc-issue-bot commented 3 years ago

Your package has been accepted. It will be added to the Bioconductor nightly builds.

Thank you for contributing to Bioconductor!

jokergoo commented 3 years ago

Thank you @LiNk-NY Marcel too for your time and valuable suggestions!

mtmorgan commented 3 years ago

The master branch of your GitHub repository has been added to Bioconductor's git repository.

To use the git.bioconductor.org repository, we need an 'ssh' key to associate with your github user name. If your GitHub account already has ssh public keys (https://github.com/jokergoo.keys is not empty), then no further steps are required. Otherwise, do the following:

  1. Add an SSH key to your github account
  2. Submit your SSH key to Bioconductor

See further instructions at

https://bioconductor.org/developers/how-to/git/

for working with this repository. See especially

https://bioconductor.org/developers/how-to/git/new-package-workflow/ https://bioconductor.org/developers/how-to/git/sync-existing-repositories/

to keep your GitHub and Bioconductor repositories in sync.

Your package will be included in the next nigthly 'devel' build (check-out from git at about 6 pm Eastern; build completion around 2pm Eastern the next day) at

https://bioconductor.org/checkResults/

(Builds sometimes fail, so ensure that the date stamps on the main landing page are consistent with the addition of your package). Once the package builds successfully, you package will be available for download in the 'Devel' version of Bioconductor using BiocManager::install("InteractiveComplexHeatmap"). The package 'landing page' will be created at

https://bioconductor.org/packages/InteractiveComplexHeatmap

If you have any questions, please contact the bioc-devel mailing list (https://stat.ethz.ch/mailman/listinfo/bioc-devel); this issue will not be monitored further.