Contributions icon indicating copy to clipboard operation
Contributions copied to clipboard

EnrichDO

Open liangcheng-hrbmu opened this issue 1 year ago • 16 comments
trafficstars

Update the following URL to point to the GitHub repository of the package you wish to submit to Bioconductor

  • Repository: https://github.com/liangcheng-hrbmu/EnrichDO

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

  • [x] I understand that by submitting my package to Bioconductor, the package source and all review commentary are visible to the general public.

  • [x] I have read the Bioconductor Package Submission instructions. My package is consistent with the Bioconductor Package Guidelines.

  • [x] I understand Bioconductor Package Naming Policy and acknowledge Bioconductor may retain use of package name.

  • [x] I understand that a minimum requirement for package acceptance is to pass R CMD check and R CMD BiocCheck with no ERROR or WARNINGS. Passing these checks does not result in automatic acceptance. The package will then undergo a formal review and recommendations for acceptance regarding other Bioconductor standards will be addressed.

  • [x] My package addresses statistical or bioinformatic issues related to the analysis and comprehension of high throughput genomic data.

  • [x] I am committed to the long-term maintenance of my package. This includes monitoring the support site for issues that users may have, subscribing to the bioc-devel mailing list to stay aware of developments in the Bioconductor community, responding promptly to requests for updates from the Core team in response to changes in R or underlying software.

  • [x] I am familiar with the Bioconductor code of conduct and agree to abide by it.

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

  • [x] The 'devel' branch for new packages and features.
  • [x] The stable 'release' branch, made available every six months, for bug fixes.
  • [x] Bioconductor version control using Git (optionally via GitHub).

For questions/help about the submission process, including questions about the output of the automatic reports generated by the SPB (Single Package Builder), please use the #package-submission channel of our Community Slack. Follow the link on the home page of the Bioconductor website to sign up.

liangcheng-hrbmu avatar Jun 24 '24 11:06 liangcheng-hrbmu

Hi @liangcheng-hrbmu

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: EnrichDO
Type: Package
Title: Disease ontology annotation and enrichment analysis
Version: 0.99.0
Author: c(person(given="Haixiu",family="Yang",email="[email protected]",role=c("aut")),
person(given="Hongyu",family="Fu",email="[email protected]",role=c("cre"))
)
Maintainer: Liang Cheng <[email protected]>
Description: This package combines topological properties of 
    disease ontology structure to implement disease ontology 
    enrichment analysis.Enrichment analyses including a variety 
    of statistical models and visualization schemes for discovering 
    the disease-gene relationship under biological big data.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Imports: BiocGenerics, RColorBrewer, Rgraphviz, clusterProfiler,
    dplyr, ggplot2, graph, magrittr, methods, pheatmap,
    purrr, readr, stringr, tidyr
biocViews: Annotation, Visualization, 
        GeneSetEnrichment, Software
Depends: 
    R (>= 3.5.0)
RoxygenNote: 7.3.1
Suggests: 
    knitr,
    rmarkdown
VignetteBuilder: knitr

bioc-issue-bot avatar Jun 24 '24 11:06 bioc-issue-bot

Can you please expand the abstract/introduction in your vignette that provides motivation for inclusion in Bioconductor and when appropriate a review and comparison to existing Bioconductor packages with similar functionality or scope. Is it possible to show interoperability with any existing Bioconductor infrastructure classes?

The data in Meta should be moved to an official recognized directory, either data or inst/extdata and if in inst/extdata there should be an inst/script that describes the data, how it was created, source information, etc.

lshep avatar Jun 25 '24 13:06 lshep

Can you please expand the abstract/introduction in your vignette that provides motivation for inclusion in Bioconductor and when appropriate a review and comparison to existing Bioconductor packages with similar functionality or scope. Is it possible to show interoperability with any existing Bioconductor infrastructure classes?

The data in Meta should be moved to an official recognized directory, either data or inst/extdata and if in inst/extdata there should be an inst/script that describes the data, how it was created, source information, etc.

We have modified the uploaded package according to your suggestion.

liangcheng-hrbmu avatar Jun 26 '24 12:06 liangcheng-hrbmu

Can you please make sure any default print/save/writes are defaulted to write to a tempdir() rather than a working directory.

When I'm rerunning the vignette I'm getting different results for the plotting functions. Is there some random effect that is not shown or controlled? Or if all sections of the vignettes are run (as some seem to be designated eval=FALSE) , that means the object used in plotting is different?

lshep avatar Jul 01 '24 13:07 lshep

Your package has been added to git.bioconductor.org to continue the pre-review process. A build report will be posted shortly. Please fix any ERROR and WARNING in the build report before a reviewer is assigned or provide a justification on why you feel the ERROR or WARNING should be granted an exception.

IMPORTANT: Please read this documentation for setting up remotes to push to git.bioconductor.org. All changes should be pushed to git.bioconductor.org moving forward. It is required to push a version bump to git.bioconductor.org to trigger a new build report.

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 avatar Jul 01 '24 14:07 bioc-issue-bot

Dear Package contributor,

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

Your package has been built on the Bioconductor Single Package Builder.

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.

The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): EnrichDO_0.99.1.tar.gz macOS 12.7.1 Monterey: EnrichDO_0.99.1.tar.gz

Links above active for 21 days.

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

bioc-issue-bot avatar Jul 01 '24 14:07 bioc-issue-bot

Can you please make sure any default print/save/writes are defaulted to write to a tempdir() rather than a working directory.

When I'm rerunning the vignette I'm getting different results for the plotting functions. Is there some random effect that is not shown or controlled? Or if all sections of the vignettes are run (as some seem to be designated eval=FALSE) , that means the object used in plotting is different?

@lshep We have submitted some new changes.

liangcheng-hrbmu avatar Jul 04 '24 07:07 liangcheng-hrbmu

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

bioc-issue-bot avatar Jul 04 '24 08:07 bioc-issue-bot

Dear Package contributor,

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

Your package has been built on the Bioconductor Single Package Builder.

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.

The following are build products from R CMD build on the Single Package Builder: macOS 12.7.1 Monterey: EnrichDO_0.99.2.tar.gz Linux (Ubuntu 22.04.3 LTS): EnrichDO_0.99.2.tar.gz

Links above active for 21 days.

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

bioc-issue-bot avatar Jul 04 '24 08:07 bioc-issue-bot

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

bioc-issue-bot avatar Jul 06 '24 09:07 bioc-issue-bot

Dear Package contributor,

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

Your package has been built on the Bioconductor Single Package Builder.

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.

The following are build products from R CMD build on the Single Package Builder: macOS 12.7.1 Monterey: EnrichDO_0.99.3.tar.gz Linux (Ubuntu 22.04.3 LTS): EnrichDO_0.99.3.tar.gz

Links above active for 21 days.

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

bioc-issue-bot avatar Jul 06 '24 09:07 bioc-issue-bot

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

bioc-issue-bot avatar Jul 07 '24 07:07 bioc-issue-bot

Dear Package contributor,

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

Your package has been built on the Bioconductor Single Package Builder.

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.

The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): EnrichDO_0.99.4.tar.gz macOS 12.7.1 Monterey: EnrichDO_0.99.4.tar.gz

Links above active for 21 days.

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

bioc-issue-bot avatar Jul 07 '24 07:07 bioc-issue-bot

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

bioc-issue-bot avatar Jul 07 '24 11:07 bioc-issue-bot

Dear Package contributor,

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

Your package has been built on the Bioconductor Single Package Builder.

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

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): EnrichDO_0.99.5.tar.gz macOS 12.7.1 Monterey: EnrichDO_0.99.5.tar.gz

Links above active for 21 days.

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

bioc-issue-bot avatar Jul 07 '24 11:07 bioc-issue-bot

A reviewer has been assigned to your package for an indepth review. Please respond accordingly to any further comments from the reviewer.

bioc-issue-bot avatar Jul 08 '24 13:07 bioc-issue-bot

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

bioc-issue-bot avatar Jul 16 '24 08:07 bioc-issue-bot

Dear Package contributor,

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

Your package has been built on the Bioconductor Single Package Builder.

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

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: macOS 12.7.1 Monterey: EnrichDO_0.99.6.tar.gz Linux (Ubuntu 22.04.3 LTS): EnrichDO_0.99.6.tar.gz

Links above active for 21 days.

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

bioc-issue-bot avatar Jul 16 '24 08:07 bioc-issue-bot

Major changes required to bring it to Bioconductor standard.

  • Vignette needs to have an Installation section. See Installation.

  • The vignette uses eval = FALSE. No code chunks are allowed to use eval = FALSE. Please see Vignettes.

  • Vignette shouldn't repeat content of function Rd files.

    image

  • Function calls explicitly use same values as default. If not different, don't specify the values to avoid redundancy.

doEnrich(interestGenes = demo.data, 
          test         = "hypergeomTest", 
          method       = "BH", 
          m            = 1, 
          maxGsize     = 5000,
          minGsize     = 5,
          traditional  = FALSE,
          delta        = 0.01, 
          result_do    = NULL,
          penalize     = T)    
  • Use spaces around binary operators. For example, weight_result<-doEnrich(interestGenes = demo.data) does not. Please refer to Use of Space in the chapter named R Code.
  • The output is a plain data.frame. Please use Biocoductor's DataFrame class from S4Vectors instead.
> class(enrich)
  "data.frame"
  • No biological interpretation. Please explain what the important biological aspects are, not just a list of definitions.

    image

    Which disease terms were statistically significant? What does this suggest about the disease? Interpret the results.

  • The vignette still writes to the currently working directory: writeDoTerms(doterms,file = "doterms.txt").

  • Inconsistent variable naming style e.g. weight_matrix, fisherTest. Bioconductor requires camelCase for consistency.

  • Too much copying and pasting of code. Please restructure your functions to remove redundancy. image

  • Don't use for loops e.g. for(i in max(enrich$level):m) but vectorise with lapply or vapply. See Vectorize.

  • Unnecessary usage of global variables.

enrich <<- enrich %>% arrange(p)
enrich <<- mutate(enrich, p.adjust=p.adjust(p, method=method))
  • Package submitted for review should not contain EnrichDO.Rproj file. See Undesirable Files.
  • Package lacks unit tests. Please read Chapter 14: Unit Tests and add some meaningful correctness tests.
  • There are many data files in extdata folder such as PAAD_GSE16515.csv. They are not used in examples or the vignette,
  • Function parameters that have a limited set of valid values are not properly implemented. For example,

test: One of "fisherTest","hypergeomTest","binomTest","chisqTest" and "logoddTest". Default is hypergeomTest.

is implemented as test = "hypergeomTest" and inside the function there is no validity check. See match.arg and use it.

  • Don't use cat for user messages. Use message instead. See End-user Messages.
  • doEnrich function's described return type does not match the actual type that is returned.

Value: A enrich instance.

> class(demo_result3)
  "data.frame"
  • Figure 3 of vignette has poor readability due to an unfortunate default colour scheme.

    image

  • Vignette needs a session information section at the end of it. See Session Information.

DarioS avatar Jul 17 '24 02:07 DarioS

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

bioc-issue-bot avatar Jul 25 '24 04:07 bioc-issue-bot

Thank you for your suggestion!We have made corresponding modifications.

for(i in max(enrich$level):m), among them, regarding the use of the for loop, our algorithm needs to be calculated layer by layer and cannot calculate all levels simultaneously. Thus, except for the for loop, we have not come up with a better approach.

liangcheng-hrbmu avatar Jul 25 '24 05:07 liangcheng-hrbmu

Dear Package contributor,

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

Your package has been built on the Bioconductor Single Package Builder.

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.

The following are build products from R CMD build on the Single Package Builder: macOS 12.7.1 Monterey: EnrichDO_0.99.7.tar.gz Linux (Ubuntu 22.04.3 LTS): EnrichDO_0.99.7.tar.gz

Links above active for 21 days.

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

bioc-issue-bot avatar Jul 25 '24 05:07 bioc-issue-bot

hi @DarioS , I am getting this warning on Bioconductor server at macOS, not sure yet what's the reason: WARNING: R CMD check exceeded 10 min requirement

liangcheng-hrbmu avatar Jul 25 '24 07:07 liangcheng-hrbmu

That warning is fine to have. I will re-review your package soon.

DarioS avatar Jul 26 '24 01:07 DarioS

The package has been moderately improved. However, some major issues remain.

image

  • The unit test is not meaningful. It tests whether the p-value is between 0 and 1.
res <- sapply(c("fisherTest","hypergeomTest","binomTest","chisqTest","logoddTest" ), function(test){
  aa<-doEnrich(interestGenes = demo.data, test = test) ;return(aa@enrich$p)})
  expect_true(all(res >= 0) && all(res <= 1))

The p-values are calculated by base R functions and would never produce values outside of 0 and 1. For example,

p<-phyper(wa-1,wa+wb,wc+wd,wa+wc,lower.tail = FALSE)
  • The code does not use whitespace around binary operators. For example,
p<-phyper(wa-1,wa+wb,wc+wd,wa+wc,lower.tail = FALSE)
  • An S4 class was defined. But, it has no accessor functions and the examples ask the user to use @ e.g. demo_result@enrich. @ should only ever be used by a package developer, not by a package user. Please refer to Class Design.

  • Result floods the R console because the S4 class lacks a required show method.

image

From Class Design section,

Implement a show() method to effectively convey information to your users without overwhelming them with detail.

DarioS avatar Aug 16 '24 09:08 DarioS

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

bioc-issue-bot avatar Aug 26 '24 06:08 bioc-issue-bot

@DarioS Thank you for your suggestion!We have made corresponding modifications.

liangcheng-hrbmu avatar Aug 26 '24 06:08 liangcheng-hrbmu

Dear Package contributor,

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

Your package has been built on the Bioconductor Single Package Builder.

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

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): EnrichDO_0.99.8.tar.gz

Links above active for 21 days.

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

bioc-issue-bot avatar Aug 26 '24 06:08 bioc-issue-bot

The package improves but outstanding issues remain.

  • The authors implemented an S4 show method. However, there is still a vast amount of text in console. This is attempted to be hidden by using comments in R chunks and hiding the real output of the variable. show method needs to be used.

image

  • The code still does not use whitespace around binary operators.

DarioS avatar Aug 28 '24 23:08 DarioS

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

bioc-issue-bot avatar Aug 29 '24 13:08 bioc-issue-bot