Skip to content

Installation logiciel en local avec Conda

Conda

Conda offre un système d'environnement virtuel ainsi qu'un système de gestion des outils dans les domaines scientifiques et biologiques. Si les outils souhaités ne sont pas disponibles sous forme de modules sur HPC2, il est possible de les installer dans son home.

Bonnes Pratiques

Se connecter sur le cluster et ouvrir une session interactive avec srun avant de lancer les installations.

Option 1 : Utilisation du module Conda

module load conda/4.12.0

Note

  • Si la résolution des dépendances est longue, il est possible d'utiliser la commande mamba à la place de conda.
  • Pour la version conda/23.3.1, mamba est disponible en utilisant l'option --libmamba et en retirant l'option channel_priority: strict du fichier de configuration conda (souvent situé dans le home ~/.condarc).

Option 2 : Installation de Conda

Versions de Anaconda/Miniconda

Nous préconisons l'installation minimale de Conda (Miniconda). Une installation complète de Conda est néanmoins possible. Miniconda s'installe soit en version 2 ou en version 3 selon le version de Python souhaité, respectivement Python2 et Python3. A savoir qu'il est tout de même possible de créer un environnement Python2 avec Miniconda3.

$ srun --pty bash
$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ chmod +x Miniconda3-latest-Linux-x86_64.sh
$ sh ./Miniconda3-latest-Linux-x86_64.sh -b -f -p $HOME/apps/conda

Une fois l'installation effectuée, vérifier que Conda est disponible.

$ export PATH="$HOME/apps/conda/condabin:$PATH"
$ which conda
~/apps/conda/condabin/conda
$ conda --help
usage: conda [-h] [-V] command ...
conda is a tool for managing and deploying applications, environments and packages.
Options:
...
Il est recommandé de faire une mise-à-jour après l'installation de Conda.

(base)$ conda update conda

Note

Remplacer $HOME/apps/conda par le répertoire souhaité. Attention, le répertoire $HOME/scratch n'est pas approprié car régulièrement purgé. Accepter la licence, l'installation en local et l'initialisation de Conda. Penser à vous déconnecter du cluster puis à vous reconnecter pour que les modifications prennent effet.

Disponibilité de Conda

Pour rendre Conda disponible à la connexion, modifier le fichier de configuration .bashrc/.bash_profile de la manière suivante :

export PATH="$HOME/apps/conda/condabin:$PATH"

Paramétrages de Conda

Se référer à la documentation officielle ou bien par exemple à celle-ci.

Ajouter les canaux qui contiennent les outils à installer. Les canaux peuvent être ajoutés en ligne de commande ou bien via le fichier environment.yaml (cf ci-dessous). Un canal est la localisation où les paquets Conda sont stockés. Les canaux principaux sont :

  • Main : constuits et maintenus par Anaconda (par défault)
  • Conda-forge : contribution communautaire
  • Bioconda : contribution pour la communauté Biologie
  • R : R et paquets R
(base)$ conda config --add channels defaults
(base)$ conda config --add channels r
(base)$ conda config --add channels bioconda
(base)$ conda config --add channels conda-forge

(base)$ conda config --get channels
--add channels 'defaults'   # lowest priority
--add channels 'r'
--add channels 'bioconda'
--add channels 'conda-forge'   # highest priority

Créer un environnement virtuel Conda

L'environnement de base de Conda doit d'abord être activé, ensuite l'environnement est créé.

Création d'un environnement

$ conda activate base
(base)$ conda create -n <my_env> 
$ source activate <my_env>
(<my_env>)$

Note

Si l'initialisation de Conda ne s'est pas faite à l'installation de Conda, il est possible de le faire à l'étape conda activate avec la commande conda init bash.

Installation de paquets

Pour identifier les outils disponibles, se rendre sur le site Anaconda ou bien utiliser la commande conda search. Si l'outil est présent sur un canal non configuré précédemment, le préciser à cette étape.

(base)$ conda search <my_required_tool> --channel <public/local/private/-channel> --override-channels
(<my_env>)$ conda install --channel <public/local/private/-channel> <my_required_tool>

Note

S'il n'y a pas de résultat, il est possible de contribuer à bioconda pour créer les paquets manquants. Sinon, il est également possible d'utiliser la commande pip.

Création d'environnements Conda et installation d'outils

Création d'un environnement simple

(base)$ conda create --name <myEnvironmentName> 
(base)$ conda activate <myEnvironmentName>
(<myEnvironmentName>)$

Création d'un environnement avec une liste d'outils à installer

(base)$ conda env create --name <myEnvironmentName> --file environment.yaml
(base)$ conda activate <myEnvironmentName>
(<myEnvironmentName>)$

Exemples

Exemple de création d'un environnement en spécifiant la version de Python

$ conda activate base
(base)$ conda create -n python2 python=2
$ conda activate python2
(python2)$

Un nouvel environnement nommé python2 est créé dans le répertoire apps/conda/envs.

Exemple de création d'un environnement R avec R-tidyverse

(base)$ conda create --name tidyverse r r-tidyverse
(base)$ conda activate tidyverse
(tidyverse)$

Création d'un environnement avec un fichier de configuration

Exemple avec l'installation d'un workflow Snakemake

Création du fichier de configuration environment.yaml avec les outils nécessaires à l'exécution d'un workflow.

dependencies:
  - snakemake-minimal >=5.24.1
  - cutadapt = 1.15
  - fontconfig ==2.12.1
  - fastqc ==0.11.5

Utilisation de ce fichier lors de la création de l'environnement virtuel Conda.

(base)$ conda env create --name snakemakeQC --file environment.yaml
(base)$ conda activate snakemakeQC
(snakemakeQC)$ fastqc --version
FastQC v0.11.5

Exemple avec l'installation du pipeline QIIME2

Se rendre sur le site https://docs.qiime2.org pour télécharger la dernière version.

(base)$ wget https://data.qiime2.org/distro/core/qiime2-2021.4-py38-linux-conda.yml
(base)$ conda env create --name qiime2-2021.4 --file qiime2-2021.4-py38-linux-conda.yml
(base)$ conda activate qiime2-2021.4
(qiime2-2021.4)$ qiime info
System versions
Python version: 3.8.8
QIIME 2 release: 2021.4
QIIME 2 version: 2021.4.0
q2cli version: 2021.4.0
...

Note

Pour supprimer un environnement, utiliser conda remove <my_useless_env>. Pour mettre à jour un outil ou un environnement, utiliser respectivement conda update <my_package> ou conda env update -f environment.yaml