Bioconductor / Contributions

Contribute Packages to Bioconductor
134 stars 33 forks source link

peco #1248

Closed jhsiao999 closed 4 years ago

jhsiao999 commented 5 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.

jdblischak commented 4 years ago

From the Bioconductor package guidelines:

It is seldom necessary to specify R or specific versions as dependencies, since the Bioconductor release strategy and standard installation instructions guarantee these constraints. Repositories mirrored outside Bioconductor should include branches for each Bioconductor release, and may find it useful to fully specify versions to enforce constraints otherwise guaranteed by Bioconductor installation practices.

If we create the branch RELEASE_3_11 in our GitHub repository, how can we have Bioconductor build that branch instead of master?

Alternatively, can we simply remove the hard dependency on a specific version of R? As the guidelines state, this is handled by Bioconductor anyways.

Also, looking at official Bioconductor GitHub repositories for guidance:

LiNk-NY commented 4 years ago

@jhsiao999 The versioning of packages in the Imports: field is a bit overkill since Bioconductor releases ensure that packages work well with other packages in that particular release. You could leave the package versions in the field, it usually doesn't hurt unless you get a request to use the package with a different R version. It is recommended to use a version pkg >= x.y.z only when necessary features are implemented past a particular version number that your package uses.

On the other hand, if you do leave the versions on there, users may encounter issues when using an older version of R and Bioconductor because they will not be able to download those packages with an older version of Bioconductor because the newer version (pkg >= x.y.z) resides in a newer version of Bioconductor.

Given the request to use your package outside of the R version it was created for, my recommendation is to remove the R version tag from the Depends: field. The package may work with older versions of R but it is less likely to do so with the added version tags in the Imports: field. A package can't be guaranteed to work with older versions because of this.

@jdblischak There is no need to create that branch yet. You will do so when the Bioconductor release is published. Also, some packages include serialized instances of data that require them to have an R version specification (that may be the case for VariantAnnotation though I'm not sure).

bioc-issue-bot commented 4 years ago

Received a valid push; starting a build. Commits are:

8b32a0b Relax minimum versions for dependencies. Close #35 2291b36 Merge pull request #36 from jdblischak/dependencie...

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: "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.

bioc-issue-bot commented 4 years ago

Received a valid push; starting a build. Commits are:

9f1a5ab Update AppVeyor build. [skip travis] Use R rele... 776947f Avoid R CMD check WARNING about minimum R version ... 1bd76cb Avoid NOTE about non-standard files. checking t... 63c3941 Use R release on Travis. [skip appveyor] 785e474 Bump to version 0.99.16. 6546e62 Merge pull request #38 from jdblischak/rcmdcheck ...

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: "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.

jdblischak commented 4 years ago

Given the request to use your package outside of the R version it was created for, my recommendation is to remove the R version tag from the Depends: field.

@LiNk-NY We're stuck at the moment. If we remove Depends entirely, then we get the WARNING:

* checking data for ASCII and uncompressed saves ... WARNING
  Warning: package needs dependence on R (>= 2.10)

If we then add Depends: R (>= 2.10), then we get the WARNING

Checking R Version dependency...
    * WARNING: Update R version dependency from 2.10 to 4.0.

Since Bioconductor itself will handle the minimal R version during the installation process, is it ok if we leave the R depends as R (>= 2.10)?

LiNk-NY commented 4 years ago

Hi John, @jdblischak

I see that you have serialized data in the data folder. This requires that you have an R version specified.

Ideally, your early users should have R (>= 4.0.0) as the Bioconductor release will soon require it. Anyone with an older version of R could have a potentially troublesome installation of Bioconductor.

You could set the Depends: field to R (>= 3.6.0) and make no guarantees and live with the warning. The version restrictions will soon be in place once the Bioconductor release is out anyway. The devel branch (which becomes the release) of Bioconductor has been making use of R (>= 4.0.0) for a while now and using new features of R in the process.

jdblischak commented 4 years ago

I see that you have serialized data in the data folder. This requires that you have an R version specified.

Ah, that makes sense. Thanks for that insight. I was a little confused why R CMD check was requiring a minimum version.

Ideally, your early users should have R (>= 4.0.0) as the Bioconductor release will soon require it. Anyone with an older version of R could have a potentially troublesome installation of Bioconductor.

You could set the Depends: field to R (>= 3.6.0) and make no guarantees and live with the warning. The version restrictions will soon be in place once the Bioconductor release is out anyway.

The warning doesn't bother me because the package works fine with both R 3.x and R 4.0. I just want to make sure that this warning doesn't prevent peco from being included in the upcoming Bioconductor 3.11 release. In other words, are you and the other Bioconductor maintainers ok with the warning?

As we've discussed above, BiocManager can enforce the minimum R version required for whichever Bioconductor release the user has installed. It's not necessary for every R package to require R > 4.0.

The devel branch (which becomes the release) of Bioconductor has been making use of R (>= 4.0.0) for a while now and using new features of R in the process.

The peco package is compatible with R 4.0.0 and its new features, as shown by the Bioconductor build results.

LiNk-NY commented 4 years ago

Yes, the warning is OK.

It's not necessary for every R package to require R > 4.0.

Yes, it's mostly cosmetic until someone with R version 3.2.5 shows up and wants to use the package directly from GitHub :face_with_head_bandage:. That's why we have explicit installation instructions.

The alternative is to create a branch in the repo for your R (>= 3.5.0) users (BiocManager was made only for R 3.5 and above).

The package is almost ready to go. Thanks!

jdblischak commented 4 years ago

Yes, it's mostly cosmetic until someone with R version 3.2.5 shows up and wants to use the package directly from GitHub 🤕. That's why we have explicit installation instructions.

Very true. We'll handle these types of installation issues on our GitHub Issues tracker.

The alternative is to create a branch in the repo for your R (>= 3.5.0) users (BiocManager was made only for R 3.5 and above).

Thanks for the tip. We'll consider this option if it starts to become a big problem.

The package is almost ready to go. Thanks!

Great! Please let us know any remaining issues that you would like to see addressed.

And thanks again for all of your guidance!

bioc-issue-bot commented 4 years ago

Your package has been accepted. It will be added to the Bioconductor Git repository and nightly builds. Additional information will be posed to this issue in the next several days.

Thank you for contributing to Bioconductor!

LiNk-NY commented 4 years ago

Thank you for your submission. Your package has been accepted! :tada:

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/jhsiao999.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("peco"). The package 'landing page' will be created at

https://bioconductor.org/packages/peco

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.