bioconda / bioconda-recipes

Conda recipes for the bioconda channel.
https://bioconda.github.io
MIT License
1.61k stars 3.2k forks source link

Create recipe for unreleased R package? #13186

Closed PertuyF closed 5 years ago

PertuyF commented 5 years ago

Hi @bioconda/r

Is it OK to create a biconda recipe for a R package that is usually installed using devtools?

My project of interest is prestoR. There are commit tags to target a specific prerelease version, but I don't know how to create the build script for the recipe. Would anyone know a similar case that I could use as a template?

jdblischak commented 5 years ago

@PertuyF A few questions:

  1. Have you asked the package author if they intend to submit the package to CRAN or Bioconductor?
  2. Have you considered using a personal channel on Anaconda Cloud to distribute a conda package for prestoR?

See this conda-forge Issue for a recent discussion on packaging unreleased R pacakges: https://github.com/conda-forge/staged-recipes/pull/7603

Would anyone know a similar case that I could use as a template?

Because it has tags, it should be possible to modify a recipe for a GitHub package to instead use Bitbucket. I could assist with this.

PertuyF commented 5 years ago
  1. This project is part of the Immcantation framework for antibody repertoire analysis, supported by the Kleinstein lab and the AIRR community, and it is under active development. Nethertheless, I will get in touch to confirm that it will be released to CRAN.

  2. Haven't considered this option yet, thanks for the suggestion I will have a look. Is there a clear politic, or at least a trend, from conda-forge/Bioconda regarding the use of personal channels for "incubating" a package? I'd like to know more.

jdblischak commented 5 years ago

This project is part of the Immcantation framework for antibody repertoire analysis, supported by the Kleinstein lab and the AIRR community, and it is under active development. Nethertheless, I will get in touch to confirm that it will be released to CRAN.

@PertuyF Thanks for the information. Looking at the setup instructions for the Immcantation framework, the authors appear to regularly release their Python and R packages on PyPI and CRAN, respectively. For example, their R alakazam has had 10 releases since 2016.

And the prestoR package is still labeled as "In Development", which might explain why it has not yet been released on CRAN.

Haven't considered this option yet, thanks for the suggestion I will have a look. Is there a clear politic, or at least a trend, from conda-forge/Bioconda regarding the use of personal channels for "incubating" a package? I'd like to know more.

As far as I know there is no official policy. My opinion is that it is easier to maintain hundreds of R packages if 1) the recipes are as similar as possible, 2) they have a clear release mechanism, and 3) the download URLs are stable. Thus while I think CRAN and Bioconductor packages should be preferred, we can support R packages from other sources if there is a good justification. As a recent example, the suite of R packages to support the various AWS API endpoints are no longer being submitted to CRAN because of how fast the APIs can change. Since the versions on CRAN are purposefully being left as broken, it made sense to create conda packages for the GitHub releases (https://github.com/conda-forge/conda-forge.github.io/issues/668).