Installation de snakemake sous conda

Sur Mac OSX, quand j'installe conda "naïvement" avec la commande

conda install -c bioconda snakemake

il m'installe la version 3.3.2.

Quand j'essaie d'installer la dernière version à partir de bioconda, j'ai une erreur parce que des dépendances ne s'y trouvent pas (message ci-dessous).

conda install -c bioconda snakemake=5.3.0

Par contre quand j'ajoute le canal conda-forge l'installation fonctionne.

conda install -c bioconda -c conda-forge snakemake=5.3.0

Questions :

  1. Est-ce que bioconda ne devrait pas gérer lui-même les canaux d'où il tire ses dépendances ? Y a-t-il moyen de régler cela sur bioconda ?

  2. C'est un peu dommage que conda installe par défaut la version 3.3.2 de snakemake,, car elle est vraiment obsolète. Ca provient peut-être des dépendances non trouvées, donc si on règle le point 1 ça règlera peut-être le point 2.

$ conda install -c bioconda snakemake=5.3.0

Collecting package metadata (current_repodata.json): done

Solving environment: failed

Collecting package metadata (repodata.json): done

Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:
- snakemake=5.3.0 -> aioeasywebdav
- snakemake=5.3.0 -> google-cloud-storage
- snakemake=5.3.0 -> snakemake-minimal=5.3.0 -> ratelimiter
- snakemake=5.3.0 -> python-irodsclient

Current channels:

- https://conda.anaconda.org/bioconda/osx-64
- https://conda.anaconda.org/bioconda/noarch
- https://repo.anaconda.com/pkgs/main/osx-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/osx-64
- https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're

looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

Quelque part, en précisant les channels, tu dis à conda, je fais confiance à ces channels (+ default qui est implicite). Tu pourrais vouloir installer tous les packages bioconda sans faire confiance à conda-forge et ainsi n'accéder qu'au package qui n'ont pas le channel conda-forge comme dépendance.

Tu peux par contre liste une bonne fois pour toutes les channels de confiance et dans l'ordre donné.

https://bioconda.github.io/index.html#set-up-channels

conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge

Tu pourras vérifier avec conda info les channels et leurs ordres

Par ailleurs, l'ordre dans lequel on précise les channels dans conda est très important. Dans l'exemple que donne @gildaslecorguille, c'est conda-forge qui est prioritaire, puis bioconda puis defaults. C'est cet ordre qui est recommandé par bioconda.

Bonjour
Est ce qu'un conda update --all ne règlerait pas ton probleme?
Olivier

Ah, effectivement. Merci!

(j'aurais dû y penser)

Jacques