Bioconductor / Contributions

Contribute Packages to Bioconductor
134 stars 33 forks source link

dStruct #2035

Closed dataMaster-Kris closed 3 years ago

dataMaster-Kris commented 3 years ago

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

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 @dataMaster-Kris

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: dStruct
Type: Package
Title: Identifying differentially reactive regions from RNA structurome profiling data
Version: 0.99.0
Depends: R (>= 4.0)
Authors@R: c(
    person("Krishna", "Choudhary", role=c("aut", "cre"), 
        email="kchoudhary@ucdavis.edu", comment = c(ORCID = "0000-0002-7966-1527")),
    person("Sharon", "Aviran", role=c("aut"), 
        email="saviran@ucdavis.edu", comment = c(ORCID = "0000-0003-1872-9820")))
Description: dStruct identifies differentially reactive regions from RNA structurome profiling data. dStruct is compatible with a broad range of structurome profiling technologies, e.g., SHAPE-MaP, DMS-MaPseq, Structure-Seq, SHAPE-Seq, etc. See Choudhary et al, Genome Biology, 2019 for the underlying method.
Imports:
    zoo,
    ggplot2,
    purrr,
    reshape2,
    parallel
License: GPL (>= 2)
biocViews: StatisticalMethod, StructuralPrediction, Sequencing, Software
URL: https://github.com/dataMaster-Kris/dStruct
BugReports: https://github.com/dataMaster-Kris/dStruct/issues
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.1.1
Suggests: 
    BiocStyle,
    knitr,
    rmarkdown,
    testthat (>= 3.0.0)
VignetteBuilder: knitr
Config/testthat/edition: 3
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, 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/dStruct 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: c35d6cef32449e4a3dcd05b84a8ed8694a470606

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/dStruct to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

hpages commented 3 years ago

Hi @dataMaster-Kris,

Thanks for submitting the dStruct package. Here is some feedback:

  1. The package doesn't reuse Bioconductor core data structures and reinvents the wheel. For example, instead of doing:

    > nucleotide_positions <- c(1, 3, 2, 8, 4:7, 11:20)
    > getContigRegions(nucleotide_positions)
      Start Stop
    1     1    8
    2    11   20

    you should be doing:

    > library(IRanges)
    > as(sort(nucleotide_positions), "IRanges")
    IRanges object with 2 ranges and 0 metadata columns:
              start       end     width
          <integer> <integer> <integer>
      [1]         1         8         8
      [2]        11        20        10

    Note that IRanges and GRanges objects are the standard way to represent ranges (or regions) and genomic regions in Bioconductor. Also the dStruct() function should return an IRanges object with metadata columns instead of the following data.frame:

      Start Stop        pval      del_d          FDR
    1    19  146 0.000145679 0.11071808 0.0007283952
    2   530  553 0.071184091 0.07939060 0.0711840914
    3   583  632 0.021902932 0.01748423 0.0365048862
    4  1122 1177 0.036887884 0.02047984 0.0461098552
    5  1187 1218 0.016484691 0.09202706 0.0365048862

    Please take the time to familiarize yourself with IRanges and GRanges objects and use them where appropriate in your package. IRanges and GRanges objects are implemented in the IRanges and GenomicRanges packages, respectively.

  2. The first dStructome() call in the examples section of dStructome's man page produces many "cannot compute exact p-value with zeroes" warnings (more than 50). Is this expected?

  3. The man pages are too minimalist. The Description section is often a short one-liner that doesn't really provide enough information for the user to get a clue of what the function does. For example: "Calculates d score". But what is a d score? If it's a distance (as suggested by the name of the function calcDis) then the man page should say so. If it's not a distance and if the term "score" is more appropriate to describe what it is, then the name of the function should reflect that (good naming is important).

  4. It's not clear what the purpose of the two.eight.normalize() function is or why it is in the package in the first place. Its description is very minimalist, the example in the man page is not particularly illustrative, and it doesn't seem to be used anywhere. Also why is the naming style of the function (dot-separated words) different from the naming styles of the other functions in the package (most of them follow the camelCaps style)?

  5. More about naming style: all functions in the package follow the camelCaps style except two.eight.normalize, dStruct.guided, and plot_dStructurome. Please use a consistent naming style for all your functions.

  6. Coding style: please use the left arrow (<-) instead of = for assignments. Make sure to leave a space before and after the <-.

  7. The refs.bib file is in the wrong place: it should be in the vignettes/ folder. Then you can remove the inst/extdata/ folder.

Thanks, H.

hpages commented 3 years ago

Hi @dataMaster-Kris,

Are you planning to follow up on this submission?

Best, H.

dataMaster-Kris commented 3 years ago

Hi @hpages Thanks for the review and following up! I am working to address your comments. Will submit it within the next couple of weeks, hopefully sooner. Please keep this review page open.

hpages commented 3 years ago

Ok. Thanks for the update.

bioc-issue-bot commented 3 years ago

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

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/dStruct 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: 003340075d080312f935eaaa647d441262e01b99

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/dStruct to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

dataMaster-Kris commented 3 years ago

Hi @hpages

Thanks again for your time reviewing the code and valuable comments. I have revised the code and other files to address your comments as follows.

1. The package doesn't reuse Bioconductor core data structures and reinvents the wheel. For example, instead of doing:
   ```
   > nucleotide_positions <- c(1, 3, 2, 8, 4:7, 11:20)
   > getContigRegions(nucleotide_positions)
     Start Stop
   1     1    8
   2    11   20
   ```

   you should be doing:
   ```
   > library(IRanges)
   > as(sort(nucleotide_positions), "IRanges")
   IRanges object with 2 ranges and 0 metadata columns:
             start       end     width
         <integer> <integer> <integer>
     [1]         1         8         8
     [2]        11        20        10
   ```

   Note that IRanges and GRanges objects are the standard way to represent ranges (or regions) and genomic regions in Bioconductor.
   Also the `dStruct()` function should return an IRanges object with metadata columns instead of the following data.frame:
   ```
     Start Stop        pval      del_d          FDR
   1    19  146 0.000145679 0.11071808 0.0007283952
   2   530  553 0.071184091 0.07939060 0.0711840914
   3   583  632 0.021902932 0.01748423 0.0365048862
   4  1122 1177 0.036887884 0.02047984 0.0461098552
   5  1187 1218 0.016484691 0.09202706 0.0365048862
   ```

   Please take the time to familiarize yourself with IRanges and GRanges objects and use them where appropriate in your package. IRanges and GRanges objects are implemented in the **IRanges** and **GenomicRanges** packages, respectively.

dStruct now uses IRanges. See getContigRegions and other functions.

2. The first `dStructome()` call in the examples section of `dStructome`'s man page produces many "cannot compute exact p-value with zeroes" warnings (more than 50). Is this expected?

Yes, this is expected.

3. The man pages are too minimalist. The Description section is often a short one-liner that doesn't really provide enough information for the user to get a clue of what the function does. For example: "Calculates d score". But what is a d score? If it's a distance (as suggested by the name of the function `calcDis`) then the man page should say so. If it's not a distance and if the term "score" is more appropriate to describe what it is, then the name of the function should reflect that (good naming is important).

I added more description for all the functions including calcDis.

4. It's not clear what the purpose of the `two.eight.normalize()` function is or why it is in the package in the first place. Its description in very minimalist, the example in the man page is not particularly illustrative, and  it doesn't seem to be used anywhere. Also why is the naming style of the function (dot-separated words) different from the naming styles of the other functions in the package (most of them follow the camelCaps style)?

I described the purpose of two.eight.normalize() in the vignette introduction and the function description, and renamed it as twoEightNormalize.

5. More about naming style: all functions in the package follow the camelCaps style except `two.eight.normalize`, `dStruct.guided`, and `plot_dStructurome`. Please use a consistent naming style for all your functions.

All names follow the camelCaps style now.

6. Coding style: please use the left arrow (`<-`) instead of `=` for assignments. Make sure to leave a space before and after the `<-`.

Done.

7. The `refs.bib` file is in the wrong place: it should be in the `vignettes/` folder. Then you can remove the `inst/extdata/` folder.

I moved refs.bib to the vignettes/ folder and deleted the inst/extdata/ folder.

Thanks, K.

hpages commented 3 years ago

Hi @dataMaster-Kris ,

Sorry for the delay. Your changes look good, thanks!

H.

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!

vjcitn 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/dataMaster-Kris.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("dStruct"). The package 'landing page' will be created at

https://bioconductor.org/packages/dStruct

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.