bowmanjeffs / paprica

paprica - PAthway PRediction by phylogenetIC plAcement
26 stars 8 forks source link

add a setup.py and upload to pypi #59

Closed nick-youngblut closed 3 years ago

nick-youngblut commented 6 years ago

It seems that paprica is mostly set up like a python package, but it seems to be missing setup.py (and the other needed files). Since it is not a standard software package, installing paprica with a software management tool (eg., pip or conda) is difficult. So, this limits how easily the user can install, manage, and reproduce the software environment used for any analyses involving paprika.

It would be really helpful if you converted paprika into a full-fledged python package that's hosted on pypi (or better yet, bioconda). paprika seems to have a lot of software dependencies, but the installation of these can be handled by conda (the joys of a software manager). An added benefit of this approach is that it is easier to include continuous integration for testing your package :)

bowmanjeffs commented 6 years ago

Nick, Thanks, this is something that I've considered. There would be some advantages, but it would also require quite a bit of time to restructure paprica (the architecture isn't quite package-like). Since paprica is an unfunded project that's a bit of a challenge. However, paprica relies on mainstream software that anyone doing community ecology probably should be familiar with so I don't see it as too onerous. The install script and tutorials should help. Something that we will definitely consider for the future however, particularly if we get some $$ to further develop the pipeline. Of course anyone is welcome to fork the repository and take this task on :)

Jeff

nick-youngblut commented 6 years ago

Thanks for the quick reply! Yeah, it can be hard to convert software into a standard package format after it is already built. It is best to start the project with a package skeleton in place (eg., by using cookiecutter), but "how to develop a software package" is often left out of bioinformatics classes, which mainly just teach you how to write simple scripts and algorithms. It's really too bad, and it hurts the reproducibility of bioinformatics data analyses.

bowmanjeffs commented 6 years ago

If I ever get the opportunity to redesign the whole pipeline I'll definitely consider it. Thanks for the link to cookiecutter, I wan't familiar with that tool!