flass / pantagruel

a pipeline for reconciliation of phylogenetic histories within a bacterial pangenome
GNU General Public License v3.0
46 stars 7 forks source link

[suggestion] provide installation formulas #10

Closed sam217pa closed 5 years ago

sam217pa commented 5 years ago

Hi Florent,

Congrats for managing to put up this great pipeline, I can imagine how painful development must have been!

Given the high number of dependencies, maybe it would gain more traction if you could provide installation formula for stuff like bioconda, homebrew, guix and stuff like that? I guess it would be quite painful as well, but most of the dependencies are already on bioconda for example (yup, even ale).

(I read about the docker version in development but I do believe it would still be an entry barrier for some user).

Great job again! sam

flass commented 5 years ago

Hi Sam,

thanks for the appreciation and for the suggestion. Indeed, a brew or conda packaging would help making it go more mainstream. For the moment it's not priority though, as there is the Docker container option on track. Actually, through bistro packaging, there should even be a Singularity container version made available, which (unlike docker) does not require a root user to run the container daemon, thus making it more attractive to non-admin users.

It seems that conda/brew packaging would be a big work overhead for me, which I can't really assume right now. But I encourage anyone wanting to do it is welcome to fork and do something about it!

On a personal opinion level, I'm not too fond of the conda or brew systems, as they are only safe when run on their on (virtual) machine. In my experience they mess up the library and general dependency environment of a session by trying to control it - to the point that loading one package with brew then another that rely on other versions of the same dependencies can cause the first program to crash - a problem when you try and create a pipeline that combines several such tools... For that reason I prefer more self-contained options such as provided by Docker or Singularity.

To finish, I am not sure that ALE (Amalgamated likelihood Estimation, for probabilistic gene tree/species tree reconciliation) is available with conda, as the 'ale' program present in the list you shared above is for "ALE: Assembly Likelihood Estimator", something related to genome assembly QC. The reconciliation ALE has a Docker version though!

All that to say that you are welcome to try the program as it stands right now (the install script works surprisingly well on Debian systems) and to stay tuned about the release of the Docker version.

Cheers, Florent