philarevalo / PopCOGenT

Microbial Populations as Clusters Of Gene Transfer
GNU General Public License v3.0
42 stars 12 forks source link

create a release? #2

Open nick-youngblut opened 5 years ago

nick-youngblut commented 5 years ago

Can you please create a release (and thus a stable url to a tarball) so that I can try to add PopCOGenT to bioconda. See the bioconda docs if you're wondering why I'd need a tagged release. Adding PopCOGenT to bioconda will make it easier to install with all of its dependencies into compute environments with existing bioinfo tools and all of their complex dependency structures.

philarevalo commented 5 years ago

Hi Nick,

Thanks for trying to incorporate it into Bioconda! I would like to resolve a couple of issues that have come up before making a release, but I hope to have those resolved by the end of the weekend. What's the process for updating a bioconda package if I create a new release?

Thanks, Phil

nick-youngblut commented 5 years ago

No problem! I find bioconda (and conda in general) to be incredibly useful for creating reproducible bioinformatics environments.

Once a recipe is created, then updating it to a new version is usually quite easy, especially if none of the dependencies have changed.

vinisalazar commented 5 years ago

I also support this and would be happy to contribute with a Dockerfile

rpetit3 commented 4 years ago

Commenting to keep tabs on the status of this. Happy to help with Bioconda submission as well

vinisalazar commented 4 years ago

Just to also give an update on this, I'm attempting to write a recipe for infomap to submit to conda-forge. This way we can have it as a conda dependency.

nick-youngblut commented 4 years ago

That's great! I'm surprised that infomap isn't already on conda-forge. Often, the biggest challenge with getting a recipe on bioconda is first getting all of the dependencies on bioconda. Sometime this entails dependencies of dependencies of dependencies. Good luck! You could post a link to the conda-forge PR if you need some help.

vinisalazar commented 4 years ago

@nick-youngblut if you want to follow...

https://github.com/conda-forge/staged-recipes/pull/11004

nick-youngblut commented 4 years ago

Thanks @vinisalazar for adding infomap! It would be great if developers put their own software on conda, but often they don't. I find it odd that many bioinformatics software developers rely on conda for installing dependencies, but don't themselves put their software on conda so that others can easily install & manage that software as a dependency for their own code

vinisalazar commented 4 years ago

@nick-youngblut that is true. I just noticed that I created the recipe for the most recent version of Infomap, whereas PopCOGenT uses v0.18.0. I will work on uploading this version (0.18) to conda-forge as well.

@philarevalo I think that with the conda packaging, there might be the need for some restructuring of the three packages within the repository (PopCOGenT, flexible sweep and core sweep). May I send a PR with suggestions or would you have any design guidelines for doing that?

philarevalo commented 4 years ago

@vinisalazar I've restructured the main module to work with snakemake and that has proven to be the most stable so far. The flexible genome module will need some work to get that up-to-speed, but I think it's doable.

The core genome sweep module as-is is not in great shape to be put up into a conda package and needs serious restructuring which is significantly further down the line for us.

I'm welcome to suggestions, but as of right now I think I only feel comfortable getting the main PopCOGenT module and maybe the core genome sweep module up as a conda package, if that makes sense.

vinisalazar commented 4 years ago

@philarevalo makes sense to me!

I'm waiting for Infomap to be added to the conda-forge feedstocks (it's currently in staged recipes). Once that is done, it would be possible to remove the Infomap code from the repository and install it directly from conda. I believe that for a release, it would be the best option.

I'll try and submit a tentative PR for your appreciation with some changes to the structure of the main module, which may also help making it ready for a release.