Bonjour Pierre,
Nos réponses se croisent à quelques minutes
Pour répondre à vos premières interrogations et en espérant que mes collègues me corrigeront si je dis des bêtises, nous avons adopté la logique suivante:
-
Nous utilisons "module" pour présenter les logiciels disponibles et les charger.
Avec l'idée de "un logiciel = un module" (et non un environnement complet comme le permets Conda).
Derrière, peu importe ce qui est utilisé (Conda, Singularity ou autre).
Normalement, les outils installés via Conda sont tous disponibles par module. -
Il est tout à fait possible d'utiliser conda, singularity ou autre pour installer les logiciels dans son /home
-
Comme vous le dites, c'est en fonction du besoin ("test d'outil" versus "outil partagé") et des connaissances de chacun (conda, singularity, etc) que l'on privilégiera l'une ou l'autre solution.
Sur les versions d'outils, cela ne nous embête pas de les mettre à jours. Cela bénéficie en effet à toute la communauté.
Si vous êtes à l'aise avec conda, il est tout à fait possible de contribuer (ajout d'un logiciel, ajout d'une version, etc) via le dépôt mis en place: Institut Français de Bioinformatique / Cluster / conda-env · GitLab (c'est expliqué dans le README, vous pouvez aussi consulter les "MergeRequest" précédentes).
En testant l'utilisation d'environnement conda privés sur le cluster j'ai rencontré un problème avec la soumission de jobs via sbatch.
En effet, je constate le même problème. Merci pour la remarque.
Depuis Conda 4.6 (Anaconda | Conda 4.6 Release), il est necessaire d'initialiser son environnement avec conda init
.
Cette commande modifie le .bashrc pour ajouter les variables d'environnement qui vont bien.
Mais lorsqu'un job est soumis et exécuté via Slurm, le fichier .bashrc n'est pas chargé (Slurm Workload Manager -).
D'où l'erreur. Apparemment on est pas seul à tomber dessus: "conda activate" can't activate or switch environments during a job submitted to a queuing system, even though passing full environment_variables. · Issue #8536 · conda/conda · GitHub
En attendant de trouver une meilleur solution, je vous propose d'ajouter les deux lignes suivantes dans votre script (après avoir chargé conda et avant d'activer l’environnement privé cutadapt):
module load conda
# Lignes à ajouter:
CONDA_ROOT=/shared/software/miniconda/
source $CONDA_ROOT/etc/profile.d/conda.sh
conda activate cutadapt
Note: On pourrait également exécuter source ~/.bashrc
après avoir chargé l'environnement. Cela fonctionne mais renvoie quand même le warning (Your shell has not been properly configured to use).
Bon après-midi