Bioconductor / Contributions

Contribute Packages to Bioconductor
134 stars 33 forks source link

easylift #3122

Closed nahid18 closed 1 year ago

nahid18 commented 1 year 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 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.

bioc-issue-bot commented 1 year ago

Hi @nahid18

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: easylift
Title: An R package to perform genomic liftover
Version: 0.99.0
Date: 2023-08-05
Authors@R: 
    c(
    person("Abdullah", "Al Nahid", email= "abdnahid56@gmail.com", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-4390-0768")), 
    person("Michael", "Love", email = "michaelisaiahlove@gmail.com", role = c("aut", "rev"), comment = c(ORCID = "0000-0001-8401-0545"))
    )
Description: The package performs genomic liftover different genome assemblies given GRanges, genome and chain file. If the chain file is cached with BiocFileCache, the chain file argument can be omitted.
License: MIT + file LICENSE
URL: https://github.com/nahid18/easylift, https://nahid18.github.io/easylift
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.3
Imports:
    rtracklayer,
    GenomeInfoDb,
    R.utils,
    tools,
    BiocFileCache
Suggests: 
    testthat (>= 3.0.0),
    GenomicRanges,
    IRanges,
    knitr,
    BiocStyle,
    rmarkdown
Config/testthat/edition: 3
VignetteBuilder: knitr
biocViews: Workflow, BasicWorkflow
bioc-issue-bot commented 1 year 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 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.0.tar.gz macOS 12.6.5 Monterey: easylift_0.99.0.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

hpages commented 1 year ago

Thanks @nahid18 for submitting the easylift package.

Here is some feedback:

  1. About the Description field:

    The package performs genomic liftover different genome assemblies given GRanges, genome and chain file.

    It feels like a word is missing between "liftover" and "different". Also I'd suggest to use "GRanges object" instead of just "GRanges", and "target genome" instead of just "genome".

  2. Move GenomicRanges to the Depends field. Then remove the following lines from the example in the man page:

    library(GenomicRanges)
    library(easylift)

    Also remove library(GenomicRanges) from the vignette.

  3. The man page should reference the liftOver() function from the rtracklayer package which easylift() is based on. This is typically done via a \seealso section.

  4. Code like this is hard to read:

    gr <- GRanges(seqname = Rle(c("chr1", "chr2"), c(100000, 100000)),
    ranges = IRanges(start = 1, end = 200000))

    Please use proper indentation in multiple-line expressions to improve readibility.

  5. About this check at the beginning of the easylift() function:

    if (any(is.na(GenomeInfoDb::genome(x)))) {
        stop("The genome information is missing. Please set genome(x) before using easylift.")
    }
    • Use anyNA(...) instead of any(is.na(...)).
    • But also what happens if genome(x) has more than 1 unique value, that is, if GRanges object x contains genomic ranges on more than 1 genome. This is a rare situation but it can happen. Is this something that easylift() can handle? If not, it might be better to detect this situation early and fail with a clear error message.
  6. README file in inst/extdata/ is not a markdown file. Please restore its original extension which is .txt.

  7. Proper use of system.file() is system.file("extdata", "hg19ToHg38.over.chain.gz", package="easylift"). Doing system.file("extdata/hg19ToHg38.over.chain.gz", package="easylift") is not platform-independent. Also this comment in the vignette is confusing/misleading:

    here, we use the system.file() function because this is a vignette

    The primary reason you use system.file() is because you want to access a file that is included in the package. Note that you do the same in the example provided in the man page.

  8. Proper way to install a Bioconductor package is with BiocManager::install("easylift") (this will work once the package is added to Bioconductor). In particular, Bioconductor packages should never be installed directly from GitHub. Please correct the vignette.

  9. One interesting feature of easylift() is that it can search the files stored locally in BiocFileCache for the appropriate chain file. Unfortunately this feature is poorly documented e.g. the man page doesn't even mention it, only the vignette, and I don't see explained how to actually store a chain file in BiocFileCache. There are no working examples provided either, and this usecase is not covered by the unit tests, so we don't know if that feature works. Finally, maybe the following error message could be improved to display the name of the chain file that was searched for (this would help the user know what file to search for):

    > easylift(gr, "hg38")
    Error in easylift(gr, "hg38") : 
      Chain file not specified and not found in BiocFileCache
  10. Why would you do paste("chr", 1, sep = "") when you can just do "chr1"?

  11. Not need to use paste() inside stop() since the latter will take care of concatenating the supplied string. For example, instead of doing:

    stop(paste("The genome", to, "is not available or recognized."))

    just do:

    stop("The genome ", to, " is not available or recognized.")

Thanks, H.

nahid18 commented 1 year ago

@hpages Thank you so much for such comprehensive review! I will go through each and resolve the issues.

mikelove commented 1 year ago

Thank you @hpages for your time in reviewing the package (and for your initial code and help on Slack)

Re: point 7, I can make the vignette sentence more clear. The point is that, I have had many users see system.file() in a vignette, where it is referring to an example file for importing data, and then they think they need to use system.file() on their end also, when in fact they can point directly to the file. For example, I've even had users think they need to put a file into a package so they can use system.file() to then read in that file! So I just wanted to make the point that, while the vignette uses system.file() they don't need to use that function in their workflow.

hpages commented 1 year ago

So I just wanted to make the point that, while the vignette uses system.file() they don't need to use that function in their workflow.

I understand the concern as I've seen users being confused by the use of system.file() in vignettes or examples too. But that's typically because people don't understand what the purpose of system.file is. So I still think it's better to explain what the real purpose of system.file is (so they don't get the wrong idea). If you are still worried that people might be confused, then you're welcome to provide very explicit guidance e.g. with something like:

# here, we use the `system.file()` function because the chain file is in the
# package (however if you need to point to any other file on your machine,
# just do 'chain <- "path/to/your/file"'):
chain <- system.file("extdata", "hg19ToHg38.over.chain.gz", package="easylift")

Would that work?

mikelove commented 1 year ago

Great suggestion

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: macOS 12.6.5 Monterey: easylift_0.99.1.tar.gz Linux (Ubuntu 22.04.2 LTS): easylift_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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.2.tar.gz macOS 12.6.5 Monterey: easylift_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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: macOS 12.6.5 Monterey: easylift_0.99.4.tar.gz Linux (Ubuntu 22.04.2 LTS): easylift_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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

nahid18 commented 1 year ago

@hpages We have resolved all the issues according to your insightful comments and pushed to bioconductor

bioc-issue-bot commented 1 year ago

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

hpages commented 1 year ago

Thanks @nahid18 for the improvements.

Thanks again, H.

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.5.tar.gz macOS 12.6.5 Monterey: easylift_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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.6.tar.gz macOS 12.6.5 Monterey: easylift_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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.7.tar.gz macOS 12.6.5 Monterey: easylift_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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

nahid18 commented 1 year ago

@hpages

  1. Added \dontrun{}

  2. Moved the BiocFileCache package under the Depends field instead of Imports, therefore no need to explicitly import that package.

  3. Now the error message will be like this:

    Error in easylift(gr, to) : hg19ToMm10.over.chain file not found!
  4. Corrected the usage of system.file() in the remaining places. Changed this:

    chain <- system.file("extdata/hg19ToHg38.over.chain.gz", package = "easylift")

    to this:

    chain <- system.file("extdata", "hg19ToHg38.over.chain.gz", package = "easylift")
hpages commented 1 year ago

Looks good.

But why reduce the error message so much? Now it gives the name of the file, which is good, but it no longer mentions the 2 other things that were originally mentioned: (1) that the user didn't specify the chain file, and (2) that the file was not found in BiocFileCache. This information really helps the user understand what's going on, so it's good to keep it. What about something like:

Chain file not specified and hg19ToMm10.over.chain file not found in BiocFileCache default location.

Additionally, by looking at your code, it seems that it's not strictly looking for a file named hg19ToMm10.over.chain, but for any file that contains the hg19ToMm10.over.chain pattern in its name. The error message should reflect that in order to not mislead the user.

Sorry for the nitpicking but I strongly believe in carefully formulated error messages. They can really make the difference between a friendly user experience and a frustrating one.

Getting the chain file from the BiocFileCache default location is a well defined and contained task, so the code in charge of it would typically be in a helper function e.g.:

### 'from' and 'to' are expected to be single strings containing UCSC genome names.
.get_chain_from_BiocFileCache <- function(from, to) {
    bfc <- BiocFileCache()
    capTo <- paste0(toupper(substr(to, 1, 1)), substr(to, 2, nchar(to)))
    trychainfile <- paste0(from, "To", capTo, ".over.chain")
    q <- bfcquery(bfc, trychainfile)
    if (nrow(q) == 0)
        stop(...)
    bfc[[q$rid[1]]]
}

This is just standard good coding practice (it makes the code easier to read, test, debug, and maintain).

Finally please note that calling bfcadd() always adds the specified resource to the cache, regardless of whether the resource is already there or not. So it would be good to check for the presence/absence of the resource before actually adding it to the cache e.g.:

if (nrow(bfcquery(bfc, basename(chain_file))) == 0)
    bfcadd(bfc, chain_file)

This applies to the various places where you show how to use bfcadd() (e.g. in your README files, vignette, and man page), even if the code is not evaluated, for the sake of encouraging good practices. Note that, because of this, the same resource gets added over and over again to the cache each time the easylift unit tests are run (via R CMD check or directly with testthat::test_check("easylift")). However, for the unit tests, a better alternative is to use a temporary location for the cache. This has 2 benefits: (1) whatever you add to the cache will not persist across sessions, and (2) the unit tests won't alter the real cache.

Thanks again for your work on this.

H.

mikelove commented 1 year ago

Thanks Hervé for these detailed improvements. @nahid18 I will fix the temporary BFC location for testing now, maybe you can take the other todos?

mikelove commented 1 year ago

Here is how I would recommend the temp location for testing (also generalizes the code a bit):

https://github.com/nahid18/easylift/commit/5aaae8d8ca28a36fddd394f0177b33488a9de2bc

nahid18 commented 1 year ago

@hpages Thank you so much for such thorough code review and great insights!

@mikelove Thank you so much! I will handle the other todos and will push as soon as I am done.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.9.tar.gz macOS 12.6.5 Monterey: easylift_0.99.9.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.91.tar.gz macOS 12.6.5 Monterey: easylift_0.99.91.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

nahid18 commented 1 year ago

@hpages

  1. Error message now updated

    "Chain file not specified and filename with ", trychainfile,  " pattern not found in BiocFileCache ", bfc_str, " location."

    Here, trychainfile is the filename and bfc_str is either default or provided due to the fact that we added a new argument bfc primarily for testing.

  2. Three new helper functions added to clean the code a bit

  3. Checking if the file already exists in cache prior to executing bfcadd has been added everywhere in documentation

  4. tempfile() has been utilized for BiocFileCache unit-testing

  5. Increased test coverage

hpages commented 1 year ago

Thanks for the improvements.

It's easy to forget to name the bfc argument when providing a BiocFileCache object, in which case one gets this:

> easylift(gr, "mm10", BiocFileCache())
Error in as.character.default(text) : 
  no method for coercing this S4 class to a vector

Maybe error handling could be a little bit better. Generally speaking it's a good idea to perform some basic sanity checks on the user input.

Note that we should not directly check the class of an object with class(x) == "some class" or class(x) %in% "some class". Instead we should use inherits(x, "some class") for an S3 class and is(x, "some class") for an S4 class.

Finally those 3 lines:

    is_bfc_faulty <- .get_bfc_status(bfc)
    if (is_bfc_faulty) {
      bfc <- BiocFileCache()
    }

should really be part of the .get_chain_from_BiocFileCache() helper.

Almost there. Thanks again!

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: macOS 12.6.5 Monterey: easylift_0.99.92.tar.gz Linux (Ubuntu 22.04.2 LTS): easylift_0.99.92.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.93.tar.gz macOS 12.6.5 Monterey: easylift_0.99.93.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: macOS 12.6.5 Monterey: easylift_0.99.94.tar.gz Linux (Ubuntu 22.04.2 LTS): easylift_0.99.94.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.95.tar.gz macOS 12.6.5 Monterey: easylift_0.99.95.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.96.tar.gz macOS 12.6.5 Monterey: easylift_0.99.96.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

nahid18 commented 1 year ago

@hpages

Thank you so much for your help!

hpages commented 1 year ago

Hi @nahid18 ,

This test is incorrect:

  if (!is(x, "GRanges") && !isS4(x)) {
    stop("Please provide a valid 'GRanges' object 'x'.")
  }

because it's going to evaluate to FALSE if x is an S4 object that is not a GRanges object (e.g. x is an Rle, DataFrame, Biostrings, SummarizedExperiment, BiocFileCache, etc... object).

We know that GRanges is an S4 class, this is not going to change, so you just need to do if (!is(x, "GRanges")) .... If you wanted to check that an object x is a data.frame or derivative, then you should do inherits(x, "data.frame"), because data.frame is an S3 class. Or even better, you'd be using is.data.frame() which is a simple helper function that just does inherits(x, "data.frame").

Same problem with:

  if (!is(bfc, "BiocFileCache") && !isS4(bfc)) {
     stop("Please provide a 'BiocFileCache' object 'bfc'.")
  }

This R CMD check NOTE:

* checking R code for possible problems ... [30s/30s] NOTE
.perform_sanity_check: no visible global function definition for is
Undefined global functions or variables:
  is
Consider adding
  importFrom("methods", "is")
to your NAMESPACE file (and ensure that your DESCRIPTION Imports field
contains 'methods').

should be addressed. is() is defined in the methods package so the package must be listed in Imports, and the is symbol must be imported. Alternatively, in the particular case of the methods package, we often recommend to import the full namespace with import(methods), instead of trying to import individual symbols selectively.

Note that the biocViews term Workflow is for workflow packages, but easylift is a software package, not a workflow package. Also BasicWorkflow can't be used here either because it's an offspring of Workflow. Maybe you meant to use WorkflowStep instead? This term is an offspring of Software i.e. it is part of the Software sub-ontology. There are probably a few other terms from the Software sub-ontology that you'd want to consider adding to the biocViews field.

About this BiocCheck NOTE:

* Checking for recommeded fields in DESCRIPTION...
    * NOTE: Provide 'BugReports' field(s) in DESCRIPTION

Probably a good idea. The BugReports field should preferably be the URL to the issues in the GitHub repo. Some packages set BugReports to the URL of the Bioconductor support site but that site is more for questions about usage of the software.

Thanks, H.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): easylift_0.99.97.tar.gz macOS 12.6.5 Monterey: easylift_0.99.97.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 git@git.bioconductor.org:packages/easylift to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

nahid18 commented 1 year ago

Hi @hpages,

R CMD check now shows 0 NOTE, biocCheck shows 4 NOTES

Thank you so much for your patience.

hpages commented 1 year ago

Package is good to go. Thanks a lot!

bioc-issue-bot commented 1 year ago

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

Thank you for contributing to Bioconductor!

Reviewers for Bioconductor packages are volunteers from the Bioconductor community. If you are interested in becoming a Bioconductor package reviewer, please see Reviewers Expectations.