bioconda / bioconda-recipes

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

Updating PacBio FALCON - dealing with package version naming problem #8945

Open peterjc opened 6 years ago

peterjc commented 6 years ago

Currently the recipe https://github.com/bioconda/bioconda-recipes/blob/master/recipes/pacbio_falcon/meta.yaml for https://anaconda.org/bioconda/pacbio_falcon uses:

{% set name = "pacbio_falcon" %}
{% set version = "052016" %}

package:
  name: {{ name }}
  version: {{ version }}

about:
  home: 'https://github.com/PacificBiosciences/FALCON'
  license: "Standard PacBio Open Source License"
  summary: "A set of tools for fast aligning long reads for consensus and assembly"

source:
  fn: funzip_052016.tar.gz
  url: https://github.com/PacificBiosciences/FALCON/archive/funzip_052016.tar.gz
  md5: be4a225262ee4bd9729b6b7e81a83615

...

The https://github.com/PacificBiosciences/FALCON/ repository only currently has tags for v0.1, v0.2 and funzip_052016 which seems to be the latest tag:

https://github.com/PacificBiosciences/FALCON/tree/funzip_052016

That was presumably how things stood when the recipe was first written (@bebatut Jan 2017):

https://github.com/bioconda/bioconda-recipes/commit/fd53551df5042f2d554504c752216fcb0cf390a1#diff-9cd1477e255f1bcb7b1f395abbdf2d30

The README is outdated https://github.com/PacificBiosciences/FALCON/issues/637 but if I understand correctly releases since have been via https://github.com/PacificBiosciences/FALCON-integrate which includes tags for 0.2.2, 0.3.0, ..., 2.1.1, 2.1.2, 2.1.4 which appears to be the latest.

It would appear that the tag funzip_052016 (i.e. May 2016, sadly not year month order for sorting) was never intended to be regarded as a version number, and instead the major.minor.revision pattern is being used.

Unfortunately, we now have a BioConda package with version 052016 - how will this behave if we try to package FALCON v2.1.4 using 2.1.4 as the version?

Can we delete or tag the current package in some way as not to be used? Thus far https://anaconda.org/bioconda/pacbio_falcon reports only 416 downloads.

peterjc commented 6 years ago

As of #9080, all the recent versions of pypeFLOW, one of the PacBio dependencies, will be one BioConda.

rvalieris commented 6 years ago

Unfortunately, we now have a BioConda package with version 052016 - how will this behave if we try to package FALCON v2.1.4 using 2.1.4 as the version?

>> from conda.models.version import VersionOrder
>> VersionOrder('052016') > VersionOrder('2.1.4')
True
>> VersionOrder('052016') == VersionOrder('52016.0.0')
True

we will have to remove/mark as broken the old release otherwise conda will still pick it as the latest version.

peterjc commented 6 years ago

Thanks @rvalieris, that's what I thought. Once I have 2.1.4 working I think we should do that then (mark the old one as broken).

peterjc commented 6 years ago

We could probably do this for the recent FALCON releases which were on GitHub, but after that, things are likely to change...

It's worse than you think. We no longer even push the latest code into GitHub, so tagging would be pointless. Sorry.

There is a plan to release into Bio-conda, using pre-built wheels or something. Someday.

https://github.com/PacificBiosciences/FALCON/issues/637#issuecomment-399282800

peterjc commented 6 years ago

This seems to have been solved with a new package instead, https://github.com/bioconda/bioconda-recipes/tree/master/recipes/pb-falcon CC @pb-cdunn

Should the old pacbio_falcon package be formally retired?

pb-cdunn commented 6 years ago

Yes, if retirement is possible. I don't know how to do that.

peterjc commented 6 years ago

I can't find anything written down about this but am perhaps struggling to recall the terminology used - @bgruening @daler?

At very least we could update the human readable description of pacbio_falcon to recommend pb-falcon instead?

bgruening commented 6 years ago

There are 3 options. I can mark the old packages as broken. I can move the repository into bioconda-legacy or I can simply remove the repo. Whatever fits your needs :)

peterjc commented 6 years ago

I think moving the pacbio_falcon recipe into bioconda-legacy makes sense, and looking at #6844 it might be worth marking the publish package as broken too?

bgruening commented 6 years ago

Just let me know what I should do :)

peterjc commented 6 years ago

@bgruening are there any policy documents on the role of https://anaconda.org/bioconda-legacy/ to guide us here?

bgruening commented 6 years ago

No police. Sorry, just let me know what you prefer.

peterjc commented 6 years ago

@bebatut as the original author of this recipe fd53551df5042f2d554504c752216fcb0cf390a1 what would you like to happen to it?

bgruening commented 5 years ago

ping @bebatut

bebatut commented 5 years ago

Moving the recipe to bioconda-legacy sounds legitimate