Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

migrate conda package from bioconda to conda-forge #1004

Closed
luizirber opened this issue May 27, 2020 · 3 comments
Closed

migrate conda package from bioconda to conda-forge #1004

luizirber opened this issue May 27, 2020 · 3 comments

Comments

@luizirber
Copy link
Member

During the 3.3.1 release I discovered that sourmash was blacklisted in bioconda, apparently due to "the migration to R 4.0 (and other pinning changes)".

Bioconda is based on conda-forge, but with different ways to work with recipes. Bioconda keeps all recipes in the same repo. conda-forge has the staged-recipes repo for initial submission, and when it's approved it generates a feedstock, a separate repo under conda-forge just for that recipe. Example adding rclone and the generated feedstock repo.

conda-forge supports more architectures (arm64, ppc) and operating systems (windows).

conda-forge has very good automation and organization-wide migrations. They also seem to have more active members (with bioconda being a subset, since most bioconda devs are also conda-forge devs). Oh, and governance.

Blockers for migration:

  • all dependencies need to be in conda-forge. This is already the case for most our deps, except screed (easy to migrate) and bam2fasta (harder, because it depends on other bioconda recipes, namely pysam, which brings bcftools, htslib and samtools).
    • possible solution: define sourmash-minimal in conda-forge, and sourmash in bioconda. snakemake has a similar solution, where snakemake-minimal has only the minimal dependencies required to run, and snakemake depends on it and brings all the other deps (like AWS and GCP support).
  • conda-forge doesn't have the equivalent of biocontainers.
    • the sourmash-minimal/sourmash split above would keep the sourmash biocontainers working, tho.
@ctb
Copy link
Contributor

ctb commented May 27, 2020

+1 sourmash-minimal.

Very surprised that bioconda blacklisted sourmash without letting us know. You are listed as a maintainer!

@luizirber
Copy link
Member Author

luizirber commented May 29, 2020

Migrated. sourmash-minimal builds in Linux, MacOS, Windows for Python 3.6, 3.7, 3.8 and PyPy (still need to figure out 2.7, which is not supported officially anymore in conda-forge).

screed and sourmash in bioconda are pure Python packages now, and work with any OS/Arch where the other deps are available (any dependency coming from bioconda implies Linux and MacOS only).

The sourmash biocontainers continues to work, using Python 3.7 (the default in bioconda).

PR removing screed and adapting sourmash in bioconda: bioconda/bioconda-recipes#22364

@ctb
Copy link
Contributor

ctb commented May 29, 2020

thanks, Luiz!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants