jwdebelius / q2-sidle

A QIIME 2 implementation of SMURF
BSD 3-Clause "New" or "Revised" License
12 stars 6 forks source link

(Bio)conda #34

Open d4straub opened 9 months ago

d4straub commented 9 months ago

Hi, I was wondering whether it was considered putting the software to (bio)conda?

jwdebelius commented 9 months ago

Hi @d4straub,

I hadn't thought about it. There are a few more things that need to be done before I have an updated release.

Is there a major advantage of adding it to conda over having it just be pip-installable? I typically work with pip and haven't had any issues

d4straub commented 9 months ago

Dear Justine,

I agree, pip works fine when installing sidle. However, bioconda offers a few advantages. For example, there isnt any installation needed, because for each conda recipe a docker & singularity container is build automatically. That makes it very convenient to use any software, e.g. I have singularity installed and can use any bioconda software without installation by just pulling the container. This is even better on HPCs or cloud, where no installation is required, only the container must be retrieved.

This is leveraged for example in nf-core pipelines. Specifically, I am attempting to add Sidle to nf-core/ampliseq, and use currently a self-made container, see Dockerfile, environment.yml and container. The draft PR to adding sidle to nf-core/ampliseq is here. Using bioconda instead of a self-made container would be the gold standard.

I have to admit I have no experience with adding software to bioconda, so I am not sure whether that will work with sidle, since it requires QIIME2 and I am not sure that will work with the custom conda channels that QIIME2 is using. But I think its worth to consider. A conda recipe does not require a new release as far as I see. And it should be relatively easy to upgrade.

Let me know if you have any reservations. I considered attempting to add sidle to bioconda myself, but figured I first ask.

Also, thanks for sharing sidle! That makes multi-region-analysis so much easier than SMURF that I couldnt get to run...

jwdebelius commented 9 months ago

Hi @d4straub,

That description seeems philosophically very distant from my understanding fo the QIIME 2 plugin philosophy. Sidle isn't intended to and doesn't exist outside of QIIME 2 and is heavily reliant on that architecture. So, no, that is not something I'd like for this software.

Please do not submit Sidle to bioconda.

If and when it's read for conda, (again, after some needed updates), I'll probably package it via the QIIME 2 channels. Although my experience there has been the plugins behave best when pip installable, so maybe not.

Best, Justine

d4straub commented 9 months ago

Hi @jwdebelius ,

not sure whether there is a misunderstanding. My intention never was and never will be to unhinge Sidle from QIIME2 (and that could not be done via (bio)conda anyway). As I have done with containerization linked above, the idea is rather to have a container with QIIME2 and q2-sidle, because that is what is missing, imho (QIIME2 is available in a docker container, but that container doesnt include q2-sidle). I am also confused about the philosophical dilemma. Anyway, if you prefer to not have sidle in (bio)conda, I wont put it there.

Do you care to share the needed updates? Maybe there is a list of issues available somewhere that I missed? The two issues that are open here in github seem not extremely problematic to me, but I might be mistaken.

Best, Daniel

jwdebelius commented 9 months ago

Ive got a couple issues that haven't been opened. One fo the big ones is integrating with the new releases as QIIME 2 moves into the shotgun/amplicon distro space, given the RESCRIPt requirements.

There's also some code for accounting that needs to be taken care of because its an issue I was getting constant questions about.

Juke34 commented 1 month ago

I would be interested too to have it in bioconda. +1