Bioconductor / Contributions

Contribute Packages to Bioconductor
134 stars 33 forks source link

ncRNAtools #1575

Closed LaraSellesVidal closed 4 years ago

LaraSellesVidal commented 4 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 4 years ago

Hi @LaraSellesVidal

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: ncRNAtools
Type: Package
Title: An R toolkit for non-coding RNA
Version: 0.99.0
Date: 2020-07-24
Author: Lara Selles Vidal, Rafael Ayala, Guy-Bart Stan, Rodrigo Ledesma-Amaro
Maintainer: Lara Selles Vidal <lara.selles12@imperial.ac.uk>,
  Rafael Ayala <r.ayala14@imperial.ac.uk>
Description: ncRNAtools provides a set of basic tools for handling and 
    analyzing non-coding RNAs. These include tools to access the RNAcentral
    database, to predict and visualize the secondary structure of non-coding
    RNAs and to read and write the file formats most commonly for representing
    such secondary structures.
License: GPL-3
Imports: httr, rvest, utils, grDevices, ggplot2, stringr, stringi, reshape2, 
         IRanges, GenomicRanges, S4Vectors
Suggests: knitr, BiocStyle, rmarkdown, BiocGenerics
VignetteBuilder: knitr
biocViews: FunctionalGenomics, DataImport, ThirdPartyClient, Visualization,
 StructuralPrediction
NeedsCompilation: no
Encoding: UTF-8
LazyData: true
bioc-issue-bot commented 4 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 4 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/ncRNAtools to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 4 years ago

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

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

bioc-issue-bot commented 4 years ago

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

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

bioc-issue-bot commented 4 years ago

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

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

LiNk-NY commented 4 years ago

Hi Lara, @LaraSellesVidal Thank you for your submission. Sorry for the delay in reviewing your package. There are a couple of packages ahead of yours. I hope to get to yours in the next couple of days.

Best regards, Marcel

LiNk-NY commented 4 years ago

Hi Lara, @LaraSellesVidal I'm sorry that I missed your package. I am reviewing it now. Best, Marcel

LaraSellesVidal commented 4 years ago

Hi Marcel, @Link-NY

No worries! We look forward to reading your comments.

Best wishes,

Lara

On 28 Aug 2020, at 21:54, Marcel Ramos notifications@github.com wrote:

 This email from notifications@github.com originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders listhttps://spam.ic.ac.uk/SpamConsole/Senders.aspx to disable email stamping for this address.

Hi Lara, @LaraSellesVidalhttps://github.com/LaraSellesVidal I'm sorry that I missed your package. I am reviewing it now. Best, Marcel

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/Bioconductor/Contributions/issues/1575#issuecomment-683118911, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APCRI6GDU6JMQKE5FFKSCVDSDADQ3ANCNFSM4PNKA7VA.

LiNk-NY commented 4 years ago

Hi Lara, @LaraSellesVidal

Thank you for your submission.

Please see the review below. If you have any questions, feel free to post here.

Best regards, Marcel


ncRNAtools #1575

DESCRIPTION

NAMESPACE

vignettes

R

Minor:

bioc-issue-bot commented 4 years ago

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

bioc-issue-bot commented 4 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: "TIMEOUT, skipped". 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/ncRNAtools to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 4 years ago

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

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

LaraSellesVidal commented 4 years ago

Hi Marcel, @LiNk-NY

Thanks a lot for your comments and sorry for the delay in our reply.

We have now addressed your suggestions. Please find below some comments for each specific points.

ncRNAtools #1575

  • General comments: It would be great if the API had a formal protocol that you could use to feed into a package such as rapiclient.

Thanks for pointing us towards rapiclient. Unfortunately, it seems the API we used do not have formal specifications in the OpenAPI/Swagger format, which from my understanding seems to be required to operate with rapiclient.

  • Is there functionality in Biostrings that you could use?

In its current version, there are no functionalities in ncRNAtools that relate to alignments of sequences or subsetting sequences. However, the package could be easily modified to accept RNAString and DNAString objects, in addition to plain strings. Let us know if you think this would be an useful addition and we will perform the required changes!

  • Overall it looks solid. Object naming is descriptive. It could use a bit more code formatting for readability.

DESCRIPTION

  • Please reconsider the use of reshape2 since the package is in the 'retired' phase. If possible, perform the operations using base R.

Dependency on melt from reshape2 has now been removed and the operation is performed with base R.

  • Include a BugReports: field that points to the GitHub issues link.

Included

  • Re-evaluate the Suggests: package BiocGenerics

We have included Suggests: RUnit, BiocGenerics as instructed at http://bioconductor.org/developers/how-to/unitTesting-guidelines/ in order to perform unit tests. Would there be another preferred way to do this?

  • (optional) Include ORCID IDs as comments in Authors@R.

Included

  • Everything else looks good.

NAMESPACE

  • flattenDotBracket, readDotBracket, and writeDotBracket seem to be helper functions. Should they be exported? Update: This seems to be a useful format that is used an input for the tool.

As you commented in the update, we believe these functions allow to generate files in useful input formats.

  • Based on the number of functions imported, reconsider imports from functions whose operations can be readily preformed using base R (~ stringr, stringi, rvest, reshape2).

Dependencies on stringr,stringi, and reshape2 have been removed. Dependency on rvest was based on its html_text function to parse the HTML content of a query response. After checking in detail, this seems to be just a wrapper for xml_text from xml2. We have now changed our code to use directly xml_text, and included xml2 as a dependency. This leads to importing only xml2, instead of rvest and xml2 as was previously the case. Would this be fine?

vignettes

  • Please stay within the 80 column width limit. It makes it easier for the reviewer to read and even maintain.

We have now changed the vignette to stay within the 80 column width limit.

  • Include an installation section that uses BiocManager to demo how the package would be installed (see Bioconductor landing pages for examples).

Included

  • Avoid direct download of resources (e.g., from the Broad) within the vignette and even package code (if any).

These have been removed and instead small example files are included in the inst/extdata folder as suggested-

  • Place small illustrative data formats in the inst/extdata folder

Included

  • Add a sessionInfo section to the end of the vignette (before References)

Included

R

  • The first two conditions in checkInferenceEngine are the same. Perhaps you meant to add a different method (centroidHomFold)?

This has now been corrected, thanks

  • Use double vertical bars || to ensure that conditions on either side evaluate to length 1 (R/ncRNAtools_checkInputFunction:L#32).

Changed

  • I would recommend that you keep warnings and error messages as brief as possible and within the default R width (getOption("width") == 80).

Messages have now been wrapped with strwrap, which should automatically wrap them to 0.9 * getOption("width"). Please let us know if this would be a better solution.

  • Use globalVariables function to avoid using Var1 <- NULL in every plotting function.

Due to the removal of the melt function from reshape2, these variables can now be explicitly named with more informative names (nucleotide1, nucleotide2 and probability). We have now included globalVariables(c("nucleotide1", "nucleotide2", "probability")) in R/ncRNAtools_variableDefinitions.R

  • Avoid saving plots for the user. Remove filename argument. The user should be able to call ggsave themselves with the return of your function.

This has been removed from plotting functions

  • Use the alpha-numeric regex class to match numbers and letters [[:alnum:]]

We have now introduced [:alnum:] or [:digit:] where possible

  • Good use of GRanges

Thanks!

  • Avoid using sapply. Use either lapply or vapply if the return is predictable.

We have now removed all occurrences of sapply.

  • Format the code so that it fits the 80 character width limit where possible.

We have now tried to format the code to fit into the 80 character width limit as much as possible. We believe splitting the remaining lines into smaller lines could make code readability worse. Would be fine to keep it in this way? Otherwise, we can split the remaining lines as well

  • (optional) Create helper functions for repetitive operations, for example function(x, text) { unlist(strsplit(x, text)) }

Thanks! splitString and removeNewLines have now been defined for such repetitive operations

  • Avoid downloading data in the examples (see vignette section above)

Changed

  • It would be good to have more unit tests in the package.

We have now added unit tests for all exported functions except writeCT and writeDotBracket, which are used to write files. Would these be enough? Otherwise, we would be happy to add additional tests

Minor:

  • To avoid the 'cyclomatic' complexity, use strategies that save you space (e.g., match(method, c("centroidFold", "centroidHomFold", "IPknot")) in R/ncRNAtools_otherSupportFunctions.R:L#4-12)

Thanks! We have implemented this.

  • Avoid using all the letters in the alphabet by doing A-Z inside the regex or using regex classes.

Changed

  • Use 4 space indentation

We have checked how the code would look like with 4 space indentation instead of the current general 2 space indentation, and we believe that, due to the frequent occurrence of multiple nested function calls, this might make code readability worse. However, if you believe it might still be desirable to use 4 space indentation, we can certainly modify the package.

Thanks a lot in advance!

Best wishes,

Lara

LiNk-NY commented 4 years ago

Hi Lara, @LaraSellesVidal

In its current version, there are no functionalities in ncRNAtools that relate to alignments of sequences or subsetting sequences. However, the package could be easily modified to accept RNAString and DNAString objects, in addition to plain strings. Let us know if you think this would be an useful addition and we will perform the required changes!

Yes, if possible integrate with Biostrings. You will be able to implement this feature after it is added to the Bioc-git repository.

We have included Suggests: RUnit, BiocGenerics as instructed at http://bioconductor.org/developers/how-to/unitTesting-guidelines/ in order to perform unit tests. Would there be another preferred way to do this?

Sounds good! Sorry I wasn't aware of this alternative method.

Dependency on rvest was based on its html_text function to parse the HTML content of a query response. After checking in detail, this seems to be just a wrapper for xml_text from xml2. We have now changed our code to use directly xml_text, and included xml2 as a dependency. This leads to importing only xml2, instead of rvest and xml2 as was previously the case. Would this be fine?

Yes, this is perfect.

We have now tried to format the code to fit into the 80 character width limit as much as possible. We believe splitting the remaining lines into smaller lines could make code readability worse. Would be fine to keep it in this way? Otherwise, we can split the remaining lines as well

Yes, this is fine. There are some instances where this is not readily possible, for example, URLs in RMarkdown files.

We have now added unit tests for all exported functions except writeCT and writeDotBracket, which are used to write files. Would these be enough? Otherwise, we would be happy to add additional tests

You are welcome to add more tests. In an ideal scenario, all functions would have accompanying tests.

We have checked how the code would look like with 4 space indentation instead of the current general 2 space indentation, and we believe that, due to the frequent occurrence of multiple nested function calls, this might make code readability worse. However, if you believe it might still be desirable to use 4 space indentation, we can certainly modify the package.

I don't think it would make readability worse. Perhaps you could un-nest function calls by creating intermediate steps, but this is a minor issue.

Thank you for your contribution!

Best regards, Marcel

bioc-issue-bot commented 4 years ago

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

Thank you for contributing to Bioconductor!

mtmorgan commented 4 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/LaraSellesVidal.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("ncRNAtools"). The package 'landing page' will be created at

https://bioconductor.org/packages/ncRNAtools

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.